home · contact · privacy
Server's remake_world() unlinks any pre-existing record file.
[plomrogue] / src / server / init.h
1 /* src/server/init.h
2  *
3  * Server, world and game state initialization.
4  */
5
6 #ifndef INIT_H
7 #define INIT_H
8
9 #include <stdint.h> /* uint32_t */
10
11
12
13 /* Parses command line arguments -v and -s into server configuration. */
14 extern void obey_argv(int argc, char * argv[]);
15
16 /* Dissolves old game world if it exists, and generates a new one from "seed".
17  * Unlinks any pre-existing file at world.path_record to re-start record.
18  *
19  * Map object (action) definitions read in from server config directory are not
20  * affected. world.last_update_turn is set to 0 and world.turn to 1, so that
21  * io_round()'s criteria for updating the output file are triggered even when
22  * this function is called during a round 1. How many map objects of what type
23  * id are generated on the map is currently hard-coded.
24  */
25 extern void remake_world(uint32_t seed);
26
27 /* Create a game state from which to play or replay, then enter io_loop().
28  *
29  * If no record file exists at world.path_record, generate new world (by a
30  * "seed" command calling remake_world()) in play mode, or error-exit in replay
31  * mode. If a record file exists, in play mode auto-replay it up to the last
32  * game state before turning over to the player; in replay mode, auto-replay it
33  * up to the turn named in world.replay and then turn over to manual replay.
34  */
35 extern void run_game();
36
37
38
39 #endif