X-Git-Url: https://plomlompom.com/repos/berlin_corona.txt?a=blobdiff_plain;f=src%2Fserver%2Finit.c;h=2f6428e99c283e7fe192aa3e7399224bf63fd561;hb=2a60941d0815c19c11a01943faed931e0b364d4f;hp=df3db81b09cd8439fdd56947dfb74aa42bcd6207;hpb=784a54c9ef27aa2bf0754b2761aee06cbbde270e;p=plomrogue diff --git a/src/server/init.c b/src/server/init.c index df3db81..2f6428e 100644 --- a/src/server/init.c +++ b/src/server/init.c @@ -1,12 +1,13 @@ /* src/server/init.c */ +#define _POSIX_C_SOURCE 2 /* getopt(), optarg */ #include "init.h" #include /* global errno, EEXIST */ #include /* NULL */ #include /* uint32_t */ -#include /* sprintf(), fflush() */ -#include /* exit(), free() */ -#include /* atoi(), strlen() */ +#include /* FILE, sprintf(), fflush() */ +#include /* exit(), free(), atoi() */ +#include /* strlen() */ #include /* mkdir() */ #include /* defines pid_t, time_t */ #include /* time() */ @@ -16,16 +17,9 @@ */ #include "../common/rexit.h" /* exit_err() */ #include "../common/try_malloc.h" /* try_malloc() */ -#include "cleanup.h" /* set_cleanup_flag(), CLEANUP_MAP_OBJ_DEFS, - * CLEANUP_MAP_OBJ_ACTS - */ -#include "io.h" /* read_config_file(), struct EntrySkeleton */ +#include "cleanup.h" /* set_cleanup_flag() */ #include "map.h" /* init_map() */ -#include "map_object_actions.h" /* struct MapObjAct, read_map_object_action() */ -#include "map_objects.h" /* struct MapObjDef, free_map_objects(), - * add_map_objects(), read_map_object_def() - */ -#include "rrand.h" /* rrand() */ +#include "map_objects.h" /* MapObjDef, free_map_objects(), add_map_objects() */ #include "run.h" /* obey_msg(), io_loop() */ #include "world.h" /* global world */ @@ -57,28 +51,6 @@ extern void obey_argv(int argc, char * argv[]) -extern void init_map_and_map_objects_configs() -{ - world.map.size.x = 64; - world.map.size.y = 64; - world.map.dist_orthogonal = 5; - world.map.dist_diagonal = 7; - char * err_mod = "No map object definitions file."; - char * err_moa = "No map object actions file."; - exit_err(access(world.path_map_obj_defs, F_OK), err_mod); - exit_err(access(world.path_map_obj_acts, F_OK), err_moa); - read_config_file(world.path_map_obj_defs, CLEANUP_MAP_OBJECT_DEFS, - sizeof(struct MapObjDef), - (struct EntrySkeleton **) &world.map_obj_defs, - read_map_object_def); - read_config_file(world.path_map_obj_acts, CLEANUP_MAP_OBJECT_ACTS, - sizeof(struct MapObjAct), - (struct EntrySkeleton **) &world.map_obj_acts, - read_map_object_action); -} - - - extern void setup_server_io() { char * f_name = "setup_server_io()"; @@ -114,12 +86,11 @@ extern void remake_world(uint32_t seed) free_map_objects(world.map_objs); world.last_update_turn = 0; init_map(); - add_map_objects(0, 1); - add_map_objects(1, 1 + rrand() % 27); - add_map_objects(2, 1 + rrand() % 9); - add_map_objects(3, 1 + rrand() % 3); - add_map_objects(4, 1 + rrand() % 3); - add_map_objects(5, 1 + rrand() % 3); + struct MapObjDef * mod; + for (mod = world.map_obj_defs; NULL != mod; mod = mod->next) + { + add_map_objects(mod->id, mod->start_n); + } set_cleanup_flag(CLEANUP_MAP_OBJECTS); if (world.turn) {