home · contact · privacy
Add "look" mode to query things on any cell via new THINGS_HERE command.
[plomrogue] / src / client / world.h
index 7d1ccbe79dc8590198f9e7166a461e707518a926..19497d254cddaa13f1a5dc6cb9abc50c7ec0e2ca 100644 (file)
@@ -1,4 +1,8 @@
 /* src/client/world.h
+ *
+ * This file is part of PlomRogue. PlomRogue is licensed under the GPL version 3
+ * or any later version. For details on its copyright, license, and warranties,
+ * see the file NOTICE in the root directory of the PlomRogue source package.
  *
  * Contains the World struct holding all quasi-global game data together.
  */
@@ -7,8 +11,9 @@
 #define WORLD_H
 
 #include <stdint.h> /* uint8_t, uint16_t */
+#include <stdio.h> /* FILE */
 #include <sys/types.h> /* time_t */
-#include "map.h" /* struct Map */
+#include "../common/map.h" /* struct Map */
 #include "../common/yx_uint8.h" /* struct yx_uint8 */
 #include "keybindings.h" /* stuct KeyBindingDB */
 #include "command_db.h" /* struct CommandDB */
 
 struct World
 {
+    FILE * file_server_in; /* server input file to write commands to */
+    FILE * file_server_out; /* server output file to read messages from */
     struct WinDB winDB; /* data for window management and individual windows */
     struct CommandDB commandDB; /* data on commands from commands config file */
     struct KeyBindingDB kb_global; /* globally availabe keybindings */
     struct KeyBindingDB kb_wingeom; /* Win geometry config view keybindings */
     struct KeyBindingDB kb_winkeys; /* Win keybindings config view keybindings*/
-    struct Map map; /* game map geometry and content */
-    time_t last_update; /* used for comparison with server outfile' mtime */
+    struct Map map; /* game map geometry and content of player's map view */
+    time_t last_update; /* used for comparison with worldstate file's mtime */
     char * log; /* log of player's activities */
-    char * path_server_in; /* path of server's input fifo */
+    char * things_here; /* list of things below the player */
     char * path_interface; /* path of interface configuration file */
     char * path_commands; /* path of commands config file */
     char * player_inventory; /* one-item-per-line string list of owned items */
-    char * delim; /* delimiter for multi-line blocks in config files */
+    char * mem_map; /* map cells of player's map memory */
+    char * queue; /* stores un-processed messages read from the input file */
     struct yx_uint8 player_pos; /* coordinates of player on map */
+    struct yx_uint8 look_pos; /* coordinates of look cursor */
     uint16_t turn; /* world/game turn */
-    uint16_t player_score; /* player's score*/
     uint8_t halfdelay; /* how long to wait for getch() input in io_loop() */
     uint8_t player_inventory_select; /* index of selected item in inventory */
     uint8_t player_lifepoints; /* how alive the player is */
     uint8_t winch; /* if set, SIGWINCH was registered; trigger reset_windows()*/
+    uint8_t autofocus; /* if !0, re-focus map each new turn / look focus move */
+    uint8_t look; /* if set, move look cursor over map intead of player */
 };