X-Git-Url: https://plomlompom.com/repos/foo.html?a=blobdiff_plain;f=src%2Frexit.c;h=6f14663cb8bbac5caac205177430c1b8ff20a11e;hb=7290dec4219eaa2325aa00ef6139f715743dba3a;hp=1bc639f3a64ca147c6025f4943dddfb6d073a625;hpb=e49cd07e79574ba404a0a8fc867344cc630d7794;p=plomrogue
diff --git a/src/rexit.c b/src/rexit.c
index 1bc639f..6f14663 100644
--- a/src/rexit.c
+++ b/src/rexit.c
@@ -6,24 +6,23 @@
#include /* for uint8_t */
#include /* for endwin() */
#include /* for errno */
-#include "main.h" /* for World struct */
+#include "main.h" /* for world global */
#include "map.h" /* for Map struct */
#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 "wincontrol.h" /* for free_winconfs() */
+#include "map_objects.h" /* for free_map_objects, free_map_object_defs() */
#include "misc.h" /* for unload_interface_conf() */
/* The clean-up routine and the flag resource by which it decides what to do. */
static uint32_t cleanup_flags = 0x0000;
-static void cleanup(struct World * world);
+static void cleanup();
-static void cleanup(struct World * world)
+static void cleanup()
{
if (cleanup_flags & CLEANUP_NCURSES)
{
@@ -31,46 +30,32 @@ 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)
{
- free(world->log);
+ free(world.log);
}
if (cleanup_flags & CLEANUP_COMMAND_DB)
{
- free_command_db(world);
+ free_command_db();
}
if (cleanup_flags & CLEANUP_MAP)
{
- free(world->map->cells);
+ free(world.map->cells);
}
if (cleanup_flags & CLEANUP_INTERFACE_CONF)
{
- unload_interface_conf(world);
+ unload_interface_conf(/*&world*/);
}
if (cleanup_flags & CLEANUP_WIN_META)
{
- free_winmeta(world->wmeta);
+ free_winmeta(world.wmeta);
}
-/*
- if (cleanup_flags & CLEANUP_KEYBINDINGS)
- {
- free_keybindings(world->kb_global.kbs);
- free_keybindings(world->kb_wingeom.kbs);
- free_keybindings(world->kb_winkeys.kbs);
- }
- if (cleanup_flags & CLEANUP_WINCONFS)
- {
- free_winconfs(world);
- }
-*/
}
@@ -82,21 +67,21 @@ extern void set_cleanup_flag(enum cleanup_flag flag)
-extern void exit_game(struct World * world)
+extern void exit_game()
{
- cleanup(world);
+ cleanup();
exit(EXIT_SUCCESS);
}
-extern void exit_err(uint8_t err, struct World * world, char * msg)
+extern void exit_err(uint8_t err, char * msg)
{
if (0 == err)
{
return;
}
- cleanup(world);
+ cleanup();
if (NULL == msg)
{
msg = "Details unknown.";