home · contact · privacy
Server: Internally, rename "map object" stuff to "thing" stuff.
[plomrogue] / src / server / init.c
index 89eea4f8844d1ee64f9ee243a2002ce67b8f1728..a3c1589b6992c1af654e327f9b193e464329d62e 100644 (file)
 #include "../common/rexit.h" /* exit_err() */
 #include "../common/try_malloc.h" /* try_malloc() */
 #include "cleanup.h" /* set_cleanup_flag() */
+#include "field_of_view.h" /* build_fov_map() */
 #include "map.h" /* init_map() */
-#include "map_objects.h" /* MapObjDef, free_map_objects(), add_map_objects() */
+#include "things.h" /* Thing, ThingType, free_things(), add_things(),
+                     * get_player()
+                     */
 #include "run.h" /* obey_msg(), io_loop() */
 #include "world.h" /* global world */
 
@@ -79,30 +82,35 @@ extern void remake_world(uint32_t seed)
 {
     char * f_name = "remake_world()";
     free(world.log);
-    world.log = NULL;  /* map_object_action.c's update_log() checks for this. */
+    world.log = NULL;  /* thing_actions.c's update_log() checks for this. */
     world.seed = seed;
-    world.map_obj_count = 0;
+    world.thing_count = 0;
     free(world.map.cells);
-    free_map_objects(world.map_objs);
+    free_things(world.things);
     world.last_update_turn = 0;
     init_map();
-    struct MapObjDef * mod;
-    for (mod = world.map_obj_defs; NULL != mod; mod = mod->next)
+    struct ThingType * tt;
+    for (tt = world.thing_types; NULL != tt; tt = tt->next)
     {
-        if (world.player_type == mod->id)
+        if (world.player_type == tt->id)
         {
-            add_map_objects(mod->id, mod->start_n);
+            add_things(tt->id, tt->start_n);
             break;
         }
     }
-    for (mod = world.map_obj_defs; NULL != mod; mod = mod->next)
+    for (tt = world.thing_types; NULL != tt; tt = tt->next)
     {
-        if (world.player_type != mod->id)
+        if (world.player_type != tt->id)
         {
-            add_map_objects(mod->id, mod->start_n);
+            add_things(tt->id, tt->start_n);
         }
     }
-    set_cleanup_flag(CLEANUP_MAP_OBJECTS);
+    set_cleanup_flag(CLEANUP_THINGS);
+    struct Thing * t;
+    for (t = world.things; NULL != t; t = t->next)
+    {
+        t->fov_map = t->lifepoints ? build_fov_map(t) : NULL;
+    }
     if (world.turn)
     {
         exit_trouble(unlink(world.path_record), f_name, "unlink()");