--- deliantra/server/common/region.C 2010/04/25 11:23:31 1.51 +++ deliantra/server/common/region.C 2010/04/29 12:24:04 1.52 @@ -47,18 +47,21 @@ return default_region (); } -region * -region::find (object_thawer &f) +void +object_thawer::get (region_ptr &r) const { - shstr_cmp name = f.get_str (); + shstr_cmp name = get_str (); for_all_regions (rgn) if (rgn->name == name) - return rgn; + { + r = rgn; + return; + } - f.parse_error (format ("region called %s requested, but not found, using fallback.\n", f.get_str ())); + parse_error (format ("region called %s requested, but not found, using fallback.\n", get_str ())); - return default_region (); + r = region::default_region (); } void @@ -150,7 +153,7 @@ switch (f.kw) { case KW_parent: - rgn->parent = region::find (f); + f.get (rgn->parent); break; case KW_msg: f.get_ml (KW_endmsg, rgn->msg); break;