X-Git-Url: https://plomlompom.com/repos/foo.html?a=blobdiff_plain;ds=sidebyside;f=src%2Fmain.h;h=5ef6a0e963d550cb9dcc3b22d3031d20316db4c4;hb=00a7727e37e2d80ff115f03e7971a92c66edcd96;hp=0bd2cd8d860fbadb30c5483515748dfdc172949d;hpb=58f0067336c9239750009b3f35d18031bec8f7b5;p=plomrogue
diff --git a/src/main.h b/src/main.h
index 0bd2cd8..5ef6a0e 100644
--- a/src/main.h
+++ b/src/main.h
@@ -6,48 +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 Wins
-{
- struct WinMeta * meta;
- struct Win * keys;
- struct Win * info;
- struct Win * log;
- struct Win * map;
-};
+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 Wins wins; /* Pointers to WinMeta, individual Wins.*/
-};
+ 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;