home · contact · privacy
Windows are no longer hardcoded. Winconf files now contain a draw function identifier.
[plomrogue] / src / main.h
1 /* main.h
2  *
3  * Contains the World struct holding all game data together.
4  */
5
6 #ifndef MAIN_H
7 #define MAIN_H
8
9
10
11 #include <stdint.h> /* for uint32_t*/
12 struct WinMeta;
13 struct WinConf;
14 struct Win;
15 struct KeyBinding;
16 struct KeysWinData;
17 struct Map;
18 struct ItemDef;
19 struct MonsterDef;
20
21
22
23 struct World
24 {
25     char interactive;                 /* 1: playing; 0: record playback. */
26     struct KeyBinding * keybindings;  /* Pointer to the keybindings. */
27     struct KeysWinData * keyswindata; /* Pointer to key edit window metadata. */
28     uint32_t seed;                    /* Randomness seed. */
29     uint32_t turn;                    /* Current game turn. */
30     uint16_t score;                   /* Player's score. */
31     char * log;                       /* Pointer to the game log string. */
32     struct Map * map;                 /* Pointer to the game map cells. */
33     struct ItemDef * item_def;        /* Pointer to the item definitions. */
34     struct Item * item;               /* Pointer to the items' data. */
35     struct MonsterDef * monster_def;  /* Pointer to the monster definitions. */
36     struct Monster * monster;         /* Pointer to the monsters' data. */
37     struct Player * player;           /* Pointer to the player data. */
38     struct CommandDB * cmd_db;        /* Pointer to the command database. */
39     struct WinMeta * wmeta;           /* Pointer to window manager's WinMeta. */
40     struct WinConf * winconfs;        /* Pointer to windows' configurations. */
41     char * winconf_ids;               /* Pointer to string of Winconfs' ids. */
42 };
43
44
45
46 #endif