X-Git-Url: https://plomlompom.com/repos/?a=blobdiff_plain;f=src%2Fserver%2Fworld.h;h=f6deb103370982693ffae738b54dbc26a0482f88;hb=0ba357885daeeaf15ce8c63a1f6ae2abe5d68a0d;hp=3bea1f1cf4ce7a9e7084c2f3662515c7df6fbd95;hpb=6052be616897d692fc57ab15b56266b4b3f4668b;p=plomrogue diff --git a/src/server/world.h b/src/server/world.h index 3bea1f1..f6deb10 100644 --- a/src/server/world.h +++ b/src/server/world.h @@ -1,4 +1,8 @@ /* src/server/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 game data together. */ @@ -7,35 +11,32 @@ #define MAIN_H #include /* uint8_t, uint16_t, uint32_t */ +#include /* define FILE */ #include "../common/map.h" /* struct Map */ -struct MapObjDef; -struct MapObjAct; -struct MapObj; +struct ThingType; +struct ThingAction; +struct Thing; struct World { - struct Map map; - struct MapObjDef * map_obj_defs; /* Map object definitions. */ - struct MapObjAct * map_obj_acts; /* Map object action definitions. */ - struct MapObj * map_objs; /* Map objects. */ - char * log; /* Logs the game events from the player's view. */ - char * path_in; /* Fifo to receive command messages. */ - char * path_out; /* File to write the game state as visible to clients.*/ - char * path_record; /* Record file from which to read the game history. */ - char * path_map_obj_defs; /* path for map object definitions config file */ - char * path_map_obj_acts; /* path for map object actions config file */ - char * tmp_suffix; /* Appended to paths of files for their tmp versions. */ - char * queue; /* Stores un-processed messages received via input fifo. */ - uint32_t queue_size;/* Length of .queue sequence of \0-terminated strings.*/ + FILE * file_in; /* Input stream on file at .path_in. */ + FILE * file_out; /* Output stream on file at .path_out. */ + struct Map map; /* Game map. */ + struct ThingType * thing_types; /* Thing type definitions. */ + struct ThingAction * thing_actions; /* Thing action definitions. */ + struct Thing * things; /* All physical things of the game world. */ + char * server_test; /* String uniquely identifying server process. */ + char * queue; /* Stores un-processed messages read from the input file. */ uint32_t seed; /* Randomness seed. */ + uint32_t seed_map; /* Map seed. */ uint16_t replay; /* Turn up to which to replay game. No replay if zero. */ uint16_t turn; /* Current game turn. */ - uint16_t last_update_turn; /* Last turn the .path_out file was updated. */ - uint16_t score; /* Player's score. */ + uint8_t do_update; /* Update worldstate file if !0. */ + uint8_t exists; /* If !0, remake_world() has been run successfully. */ + uint8_t player_type; /* Thing type that player will start as. */ uint8_t is_verbose; /* Should server send debugging info to stdout? */ - uint8_t map_obj_count; /* Counts map objects generated so far. */ }; extern struct World world;