X-Git-Url: https://plomlompom.com/repos/?a=blobdiff_plain;f=src%2Fmain.h;h=2ae8133b20537c4ee84ed639b6907c14bbc3ab9e;hb=24a8edd8a9f5393cf67c1d9a86923f388e43e104;hp=9c04273959e8c5e197058494b3bd6c438d6e29f0;hpb=610d7fa2782fe894981427a1e917e7b7905fff17;p=plomrogue diff --git a/src/main.h b/src/main.h index 9c04273..2ae8133 100644 --- a/src/main.h +++ b/src/main.h @@ -1,24 +1,53 @@ +/* main.h + * + * Contains the World struct holding all game data together. + */ + #ifndef MAIN_H #define MAIN_H -#include + +#include /* for uint32_t*/ struct WinMeta; struct Win; struct KeyBinding; struct KeysWinData; struct Map; +struct ItemDef; +struct MonsterDef; + + + +struct Wins +{ + struct WinMeta * meta; + struct Win * keys; + struct Win * info; + struct Win * log; + struct Win * map; +}; + + + +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. */ + 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 Wins wins; /* Pointers to WinMeta, individual Wins.*/ +}; + -struct World { - char interactive; - struct KeyBinding * keybindings; - struct KeysWinData * keyswindata; - uint32_t seed; - uint32_t turn; - char * log; - struct Map * map; - struct Item * item; - struct Monster * monster; - struct Player * player; }; #endif