3 * This file is part of PlomRogue. PlomRogue is licensed under the GPL version 3
4 * or any later version. For details on its copyright, license, and warranties,
5 * see the file NOTICE in the root directory of the PlomRogue source package.
7 * Server, world and game state initialization.
13 #include <stdint.h> /* uint8_t */
17 /* Parses command line arguments -v and -s into server configuration. */
18 extern void obey_argv(int argc, char * argv[]);
20 /* Start server in file and out file, latter with server process test string. */
21 extern void setup_server_io();
23 /* Dissolves old game world if it exists, generates a new one from world.seed.
24 * The map is populated according to world.thing_types start numbers. world.turn
25 * is set to 1, as is .exists and .do_update, so that io_round() is told to
26 * update the worldstate file. Returns 0 on success, and if the world cannot be
27 * generated 1 since there is no player type or it has .n_start of 0, 2 if no
28 * "wait" thing action is defined.
30 extern uint8_t remake_world();
32 /* Create a game world state, then enter play or replay mode.
34 * If replay mode is called for, try for the record file and follow its commands
35 + up to the turn specified by the user, then enter manual replay. Otherwise,
36 * start into play mode after having either recreated a game world state from
37 * the savefile, or, if none exists, having created a new world with first
38 * following the commands from the world config file, then running the
39 * MAKE_WORLD command. Manual replay as well as manual play mode take place
42 extern void run_game();