X-Git-Url: https://plomlompom.com/repos/?a=blobdiff_plain;f=src%2Fmain.h;h=5ef6a0e963d550cb9dcc3b22d3031d20316db4c4;hb=93e3207a51c7ba4a31e3fb192e41b4421a906506;hp=5eec3901a9398610a61234749e62851d7da06e44;hpb=435c55c675cad9355a4e82c4d4379267f0c9a9b0;p=plomrogue diff --git a/src/main.h b/src/main.h index 5eec390..5ef6a0e 100644 --- a/src/main.h +++ b/src/main.h @@ -6,35 +6,39 @@ #ifndef MAIN_H #define MAIN_H - - #include /* 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;