static void load_game(const gchar * file, gboolean is_reload) { const gchar *gamefile; GameParams *new_params; gchar *new_filename; gint i; if (file == NULL) gamefile = default_game; else gamefile = file; new_params = params_load_file(gamefile); if (new_params == NULL) { error_dialog(_("Failed to load '%s'"), file); return; } if (file == NULL) { g_free(new_params->title); new_params->title = g_strdup("Untitled"); map_free(new_params->map); new_params->map = map_new(); for (i = 0; i < 6; i++) { map_modify_row_count(new_params->map, MAP_MODIFY_INSERT, MAP_MODIFY_ROW_BOTTOM); } for (i = 0; i < 11; i++) { map_modify_column_count(new_params->map, MAP_MODIFY_INSERT, MAP_MODIFY_COLUMN_RIGHT); } new_params->map->chits = g_array_new(FALSE, FALSE, sizeof(gint)); new_filename = NULL; } else { new_filename = g_strdup(file); config_set_string("editor/last-game", new_filename); } guimap_reset(gmap); if (params != NULL) params_free(params); params = new_params; apply_params(params); if (open_filename != NULL) g_free(open_filename); open_filename = new_filename; map_move_robber(gmap->map, -1, -1); fill_map(gmap->map); if (is_reload) { scale_map(gmap); guimap_display(gmap); } update_resize_buttons(); }
void gui_reset(void) { guimap_reset(gmap); }