static GameParams *get_params(void) { GameParams *params = params_new(); gint i; params->title = g_strdup(window_title); params->random_terrain = game_rules_get_random_terrain(game_rules); params->sevens_rule = game_rules_get_sevens_rule(game_rules); params->use_pirate = game_rules_get_use_pirate(game_rules); params->strict_trade = game_rules_get_strict_trade(game_rules); params->domestic_trade = game_rules_get_domestic_trade(game_rules); params->num_players = game_settings_get_players(game_settings); params->victory_points = game_settings_get_victory_points(game_settings); params->resource_count = game_resources_get_num_resources(game_resources); for (i = 0; i < NUM_DEVEL_TYPES; i++) params->num_develop_type[i] = game_devcards_get_num_cards(game_devcards, i); for (i = 1; i < NUM_BUILD_TYPES; i++) params->num_build_type[i] = game_buildings_get_num_buildings(game_buildings, i); params->map = gmap->map; return params; }
static void do_init(int argc, char *argv[]) { params = params_new(); char opt; while ((opt = getopt(argc, argv, "ha:")) != -1) { switch (opt) { case 'a': { params->bind_address = strdup(optarg); break; } case 'h': { print_usage(); params_free(params); exit(EXIT_SUCCESS); } } } }