X-Git-Url: https://plomlompom.com/repos/foo.html?a=blobdiff_plain;ds=sidebyside;f=src%2Fserver%2Finit.h;h=6161200c0f019340369648372dc941b5d21dbb3c;hb=0bc5f963f66050ed0018bf1228f5b17c686457c0;hp=595f69733f9cee9a9feffc0ee8fee4eae815bfb4;hpb=dd9d65ee727ac7e95801da0f8b5bae7009811802;p=plomrogue
diff --git a/src/server/init.h b/src/server/init.h
index 595f697..6161200 100644
--- a/src/server/init.h
+++ b/src/server/init.h
@@ -1,4 +1,8 @@
/* src/server/init.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.
*
* Server, world and game state initialization.
*/
@@ -6,30 +10,34 @@
#ifndef INIT_H
#define INIT_H
-#include /* uint32_t */
+#include /* uint8_t */
/* Parses command line arguments -v and -s into server configuration. */
extern void obey_argv(int argc, char * argv[]);
-/* Dissolves old game world if it exists, and generates a new one from "seed".
- *
- * Map object (action) definitions read in from server config directory are not
- * affected. world.last_update_turn is set to 0 and world.turn to 1, so that
- * io_round()'s criteria for updating the output file are triggered even when
- * this function is called during a round 1. How many map objects of what type
- * id are generated on the map is currently hard-coded.
+/* Start server in file and out file, latter with server process test string. */
+extern void setup_server_io();
+
+/* Dissolves old game world if it exists, generates a new one from world.seed.
+ * The map is populated according to world.thing_types start numbers. world.turn
+ * is set to 1, as is .exists and .do_update, so that io_round() is told to
+ * update the worldstate file. Returns 0 on success, and if the world cannot be
+ * generated 1 since there is no player type or it has .n_start of 0, 2 if no
+ * "wait" thing action is defined.
*/
-extern void remake_world(uint32_t seed);
+extern uint8_t remake_world();
-/* Create a game state from which to play or replay, then enter io_loop().
+/* Create a game world state, then enter play or replay mode.
*
- * If no record file exists at world.path_record, generate new world (by a
- * "seed" command calling remake_world()) in play mode, or error-exit in replay
- * mode. If a record file exists, in play mode auto-replay it up to the last
- * game state before turning over to the player; in replay mode, auto-replay it
- * up to the turn named in world.replay and then turn over to manual replay.
+ * If replay mode is called for, try for the record file and follow its commands
+ + up to the turn specified by the user, then enter manual replay. Otherwise,
+ * start into play mode after having either recreated a game world state from
+ * the savefile, or, if none exists, having created a new world with first
+ * following the commands from the world config file, then running the
+ * MAKE_WORLD command. Manual replay as well as manual play mode take place
+ * inside io_loop().
*/
extern void run_game();