--- deliantra/server/common/loader.C 2006/09/04 13:55:54 1.3 +++ deliantra/server/common/loader.C 2006/09/04 16:46:32 1.5 @@ -511,6 +511,7 @@ switch (kw) { + case KW_Object: // uppercase alias case KW_object: thawer.get (op->name); @@ -556,7 +557,20 @@ parse_object (tmp, thawer, map_flags); if (tmp->arch) - insert_ob_in_ob (tmp, op); + { + // was: insert_ob_in_ob (tmp, op); + // but manually addint it can improve map loading times a lot + tmp->env = op; + + if (!op->inv) + op->inv = tmp; + else + { + tmp->below = op->inv; + tmp->below->above = tmp; + op->inv = tmp; + } + } else { LOG (llevDebug, "Discarding object without arch: %s\n", @@ -634,12 +648,19 @@ case KW_x: thawer.get (op->x); break; case KW_y: thawer.get (op->y); break; + case KW_Str: // uppercase alias case KW_str: thawer.get (op->stats.Str); break; + case KW_Dex: // uppercase alias case KW_dex: thawer.get (op->stats.Dex); break; + case KW_Con: // uppercase alias case KW_con: thawer.get (op->stats.Con); break; + case KW_Wis: // uppercase alias case KW_wis: thawer.get (op->stats.Wis); break; + case KW_Cha: // uppercase alias case KW_cha: thawer.get (op->stats.Cha); break; + case KW_Int: // uppercase alias case KW_int: thawer.get (op->stats.Int); break; + case KW_Pow: // uppercase alias case KW_pow: thawer.get (op->stats.Pow); break; case KW_hp: thawer.get (op->stats.hp); break; case KW_maxhp: thawer.get (op->stats.maxhp); break; @@ -970,6 +991,7 @@ case KW_editor_folder: break; + case KW_More: // uppercase alias case KW_more: /* We need to record that this is a multipart object, * so the calling function can glue things back together