ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/server/common/region.C
(Generate patch)

Comparing deliantra/server/common/region.C (file contents):
Revision 1.49 by root, Sun Apr 11 00:34:05 2010 UTC vs.
Revision 1.50 by root, Sun Apr 25 10:45:38 2010 UTC

35 return rgn; 35 return rgn;
36 36
37 return regions [0]; 37 return regions [0];
38} 38}
39 39
40/*
41 * Pass a char array, returns a pointer to the region of the same name.
42 * if it can't find a region of the same name it returns the first region
43 * with the 'fallback' property set.
44 * if it can't find a matching name /or/ a fallback region it logs an info message
45 * message and returns NULL
46 * used by the map parsing code.
47 */
48region * 40region *
49region::find (shstr_cmp name) 41region::find (shstr_cmp name)
50{ 42{
51 for_all_regions (rgn) 43 for_all_regions (rgn)
52 if (rgn->name == name) 44 if (rgn->name == name)
53 return rgn; 45 return rgn;
54 46
47 return default_region ();
48}
49
50region *
51region::find (object_thawer &f)
52{
53 shstr_cmp name = f.get_str ();
54
55 for_all_regions (rgn)
56 if (rgn->name == name)
57 return rgn;
58
55 LOG (llevError, "region called %s requested, but not found, using fallback.\n", &name); 59 f.parse_error (format ("region called %s requested, but not found, using fallback.\n", f.get_str ()));
56 60
57 return default_region (); 61 return default_region ();
58} 62}
59 63
60void 64void
144 for (;;) 148 for (;;)
145 { 149 {
146 switch (f.kw) 150 switch (f.kw)
147 { 151 {
148 case KW_parent: 152 case KW_parent:
149 rgn->parent = region::find (f.get_str ()); 153 rgn->parent = region::find (f);
150 break; 154 break;
151 155
152 case KW_msg: f.get_ml (KW_endmsg, rgn->msg); break; 156 case KW_msg: f.get_ml (KW_endmsg, rgn->msg); break;
153 case KW_longname: f.get (rgn->longname); break; 157 case KW_longname: f.get (rgn->longname); break;
154 case KW_jail_map: f.get (rgn->jailmap); break; 158 case KW_jail_map: f.get (rgn->jailmap); break;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines