--- deliantra/server/common/map.C 2006/12/31 10:28:35 1.60 +++ deliantra/server/common/map.C 2006/12/31 22:23:11 1.62 @@ -38,78 +38,9 @@ const char * create_pathname (const char *name) { - static char buf[MAX_BUF]; - - /* Why? having extra / doesn't confuse unix anyplace? Dependancies - * someplace else in the code? msw 2-17-97 - */ - if (*name == '/') - sprintf (buf, "%s/%s%s", settings.datadir, settings.mapdir, name); - else - sprintf (buf, "%s/%s/%s", settings.datadir, settings.mapdir, name); - return (buf); -} - -/* - * same as create_pathname, but for the overlay maps. - */ -const char * -create_overlay_pathname (const char *name) -{ - static char buf[MAX_BUF]; - - /* Why? having extra / doesn't confuse unix anyplace? Dependancies - * someplace else in the code? msw 2-17-97 - */ - if (*name == '/') - sprintf (buf, "%s/%s%s", settings.localdir, settings.mapdir, name); - else - sprintf (buf, "%s/%s/%s", settings.localdir, settings.mapdir, name); - return (buf); -} - -/* - * same as create_pathname, but for the template maps. - */ -const char * -create_template_pathname (const char *name) -{ - static char buf[MAX_BUF]; - - /* Why? having extra / doesn't confuse unix anyplace? Dependancies - * someplace else in the code? msw 2-17-97 - */ - if (*name == '/') - sprintf (buf, "%s/%s%s", settings.localdir, settings.templatedir, name); - else - sprintf (buf, "%s/%s/%s", settings.localdir, settings.templatedir, name); - return (buf); -} - -/* - * This makes absolute path to the itemfile where unique objects - * will be saved. Converts '/' to '@'. I think it's essier maintain - * files than full directory structure, but if this is problem it can - * be changed. - */ -static const char * -create_items_path (const char *s) -{ - static char buf[MAX_BUF]; - char *t; - - if (*s == '/') - s++; - - sprintf (buf, "%s/%s/", settings.localdir, settings.uniquedir); - - for (t = buf + strlen (buf); *s; s++, t++) - if (*s == '/') - *t = '@'; - else - *t = *s; - *t = 0; - return (buf); + static char buf[8192]; + snprintf (buf, sizeof (buf), "%s/%s/%s", settings.datadir, settings.mapdir, name); + return buf; } /* @@ -530,7 +461,7 @@ for (mapspace *ms = spaces + size (); ms-- > spaces; ) for (object *op = ms->bot; op; op = op->above) - op->activate (1); + op->activate_recursive (); } void @@ -541,7 +472,7 @@ for (mapspace *ms = spaces + size (); ms-- > spaces; ) for (object *op = ms->bot; op; op = op->above) - op->deactivate (1); + op->deactivate_recursive (); } bool @@ -791,7 +722,7 @@ switch (kw) { case KW_EOF: - LOG (llevError, "%s: end of file while reading map header, aborting header load.", &path); + LOG (llevError, "%s: end of file while reading map header, aborting header load.\n", &path); return false; case KW_end: @@ -959,7 +890,7 @@ if (tile_path [2]) MAP_OUT2 (tile_path_3, tile_path [2]); if (tile_path [3]) MAP_OUT2 (tile_path_4, tile_path [3]); - MAP_OUT2 (end, 0); + freezer.put (KW_end); return true; }