home · contact · privacy
Simplified textfile_sizes() and replaced all get_linemax() calls with it.
[plomrogue] / src / main.h
index fc9bbc377dbec6f3f8cd41e76a4cee0d444006d2..5ef6a0e963d550cb9dcc3b22d3031d20316db4c4 100644 (file)
@@ -6,34 +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 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 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_select;         /* Player's inventory selection index. */
+    struct MapObjAct * map_obj_acts;  /* Pointer to map object actions chain. */
+} world;