home · contact · privacy
Fixed bug that led to endless loop in nearest_enemy_dir().
[plomrogue] / src / main.h
index 2ae8133b20537c4ee84ed639b6907c14bbc3ab9e..1ade736826d9ce196a5be682403996ddf94351cc 100644 (file)
@@ -6,47 +6,39 @@
 #ifndef MAIN_H
 #define MAIN_H
 
-
-
 #include <stdint.h> /* for uint32_t*/
+#include "keybindings.h" /* for KeyBiData struct */
 struct WinMeta;
-struct Win;
-struct KeyBinding;
-struct KeysWinData;
+struct WinConf;
 struct Map;
-struct ItemDef;
-struct MonsterDef;
-
-
-
-struct Wins
-{
-    struct WinMeta * meta;
-    struct Win * keys;
-    struct Win * info;
-    struct Win * log;
-    struct Win * map;
-};
+struct MapObjDef;
+struct MapObj;
+struct MapObjAct;
 
 
 
 struct World
 {
     char interactive;                 /* 1: playing; 0: record playback. */
-    struct KeyBinding * keybindings;  /* Pointer to the keybindings. */
-    struct KeysWinData * keyswindata; /* Pointer to key edit window metadata. */
+    struct KeyBiData kb_global;       /* Global keybindings. */
+    struct KeyBiData kb_wingeom;      /* Window geometry config keybindings. */
+    struct KeyBiData kb_winkeys;      /* Window keybinding config keybindings.*/
     uint32_t seed;                    /* Randomness seed. */
+    uint32_t mapseed;                 /* Initial randomness seed used for map.*/
     uint32_t turn;                    /* Current game turn. */
     uint16_t score;                   /* Player's score. */
     char * log;                       /* Pointer to the game log string. */
     struct Map * map;                 /* Pointer to the game map cells. */
-    struct ItemDef * item_def;        /* Pointer to the item definitions. */
-    struct Item * item;               /* Pointer to the items' data. */
-    struct MonsterDef * monster_def;  /* Pointer to the monster definitions. */
-    struct Monster * monster;         /* Pointer to the monsters' data. */
-    struct Player * player;           /* Pointer to the player data. */
-    struct Wins wins;                 /* Pointers to WinMeta, individual Wins.*/
-};
+    struct CommandDB * cmd_db;        /* Pointer to the command database. */
+    struct WinMeta * wmeta;           /* Pointer to window manager's WinMeta. */
+    struct WinConf * winconfs;        /* Pointer to windows' configurations. */
+    char * winconf_ids;               /* Pointer to string of Winconfs' ids. */
+    uint8_t map_obj_count;            /* Counts map objects generated so far. */
+    struct MapObjDef * map_obj_defs;  /* Map object type definitions chain. */
+    struct MapObj * map_objs;         /* Pointer to map objects chain start. */
+    uint8_t inventory_sel;            /* Player's inventory selection index. */
+    struct MapObjAct * map_obj_acts;  /* Pointer to map object actions chain. */
+} world;