home · contact · privacy
New animate map objects are never placed on a square with other animated map objects...
[plomrogue] / src / rexit.c
index e35e8a187d150dcad717c87e74825a5ae4b65d1c..5fa660ea2175e925855bf6c6323ab18312a9335c 100644 (file)
 #include "keybindings.h" /* for free_keybindings() */
 #include "command_db.h" /* for free_command_db() */
 #include "windows.h" /* for Win struct, free_win(), free_winmeta() */
-#include "map_objects.h" /* for free_item_defs(), free_monster_defs() */
+#include "map_objects.h" /* for free_map_objects, free_map_object_defs() */
 #include "wincontrol.h" /* for free_winconfs() */
+#include "misc.h" /* for unload_interface_conf() */
+
 
 
 /* The clean-up routine and the flag resource by which it decides what to do. */
@@ -29,13 +31,11 @@ static void cleanup(struct World * world)
     }
     if (cleanup_flags & CLEANUP_MAP_OBJECTS)
     {
-        free_items(world->item);
-        free_monsters(world->monster);
+        free_map_objects(world->map_objs);
     }
     if (cleanup_flags & CLEANUP_MAP_OBJECT_DEFS)
     {
-        free_item_defs(world->item_def);
-        free_monster_defs(world->monster_def);
+        free_map_object_defs(world->map_obj_defs);
     }
     if (cleanup_flags & CLEANUP_LOG)
     {
@@ -49,20 +49,14 @@ static void cleanup(struct World * world)
     {
         free(world->map->cells);
     }
-    if (cleanup_flags & CLEANUP_KEYBINDINGS)
+    if (cleanup_flags & CLEANUP_INTERFACE_CONF)
     {
-        free_keybindings(world->kb_global.kbs);
-        free_keybindings(world->kb_wingeom.kbs);
-        free_keybindings(world->kb_winkeys.kbs);
+        unload_interface_conf(world);
     }
     if (cleanup_flags & CLEANUP_WIN_META)
     {
         free_winmeta(world->wmeta);
     }
-    if (cleanup_flags & CLEANUP_WINCONFS)
-    {
-        free_winconfs(world);
-    }
 }