+/* main.h
+ *
+ * Contains the World struct holding all game data together.
+ */
+
#ifndef MAIN_H
#define MAIN_H
-#include <stdint.h>
+
+#include <stdint.h> /* for uint32_t*/
struct WinMeta;
struct Win;
struct KeyBinding;
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 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 CommandDB * cmd_db; /* Pointer to the command database. */
+ struct Wins wins; /* Pointers to WinMeta, individual Wins.*/
+};
+
+
#endif