X-Git-Url: https://plomlompom.com/repos/?a=blobdiff_plain;f=src%2Fmain.h;h=83bdb83d2aa12717e3c857bacaca8e4c15b1da6f;hb=1ae2dac3529b3ead75c5bef1d02d958adcbcc581;hp=14287d044561705b2d625f2fb978bcdfcb783b6c;hpb=d165f8ae619c78fd1ef98a9ba2abdaeeceff853e;p=plomrogue diff --git a/src/main.h b/src/main.h index 14287d0..83bdb83 100644 --- a/src/main.h +++ b/src/main.h @@ -1,9 +1,17 @@ +/* main.h + * + * Contains the World struct holding all game data together. + */ + #ifndef MAIN_H #define MAIN_H -#include + +#include /* for uint32_t*/ +#include "keybindings.h" struct WinMeta; +struct WinConf; struct Win; struct KeyBinding; struct KeysWinData; @@ -11,18 +19,31 @@ struct Map; struct ItemDef; struct MonsterDef; -struct World { - char interactive; - struct KeyBinding * keybindings; - struct KeysWinData * keyswindata; - uint32_t seed; - uint32_t turn; - char * log; - struct Map * map; - struct ItemDef * item_def; - struct Item * item; - struct MonsterDef * monster_def; - struct Monster * monster; - struct Player * player; }; + + +struct World +{ + char interactive; /* 1: playing; 0: record playback. */ + 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 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_object_count; /* Counts loaded/generated map objects. */ +}; + + #endif