remove network type from loadsave

Fixes a crash that happened when loading a saved game from the start server window.
This commit is contained in:
IntelOrca 2016-03-31 20:28:00 +01:00
parent 7eeb59b1aa
commit 16527e749a
3 changed files with 12 additions and 7 deletions

View File

@ -487,8 +487,6 @@ enum {
LOADSAVETYPE_LANDSCAPE = 1 << 1, LOADSAVETYPE_LANDSCAPE = 1 << 1,
LOADSAVETYPE_SCENARIO = 2 << 1, LOADSAVETYPE_SCENARIO = 2 << 1,
LOADSAVETYPE_TRACK = 3 << 1, LOADSAVETYPE_TRACK = 3 << 1,
LOADSAVETYPE_NETWORK = 1 << 4,
}; };
enum { enum {

View File

@ -189,6 +189,9 @@ rct_window *window_loadsave_open(int type, char *defaultName)
case (LOADSAVETYPE_LOAD | LOADSAVETYPE_TRACK) : case (LOADSAVETYPE_LOAD | LOADSAVETYPE_TRACK) :
w->widgets[WIDX_TITLE].image = STR_FILE_DIALOG_TITLE_INSTALL_NEW_TRACK_DESIGN; w->widgets[WIDX_TITLE].image = STR_FILE_DIALOG_TITLE_INSTALL_NEW_TRACK_DESIGN;
break; break;
default:
log_error("Unsupported load / save type: %d", type & 0x0F);
return NULL;
} }
w->no_list_items = 0; w->no_list_items = 0;
@ -727,10 +730,6 @@ static void window_loadsave_select(rct_window *w, const char *path)
} }
window_loadsave_invoke_callback(MODAL_RESULT_OK); window_loadsave_invoke_callback(MODAL_RESULT_OK);
} else if (game_load_save(path)) { } else if (game_load_save(path)) {
if (_loadsaveType & LOADSAVETYPE_NETWORK) {
network_begin_server(gConfigNetwork.default_port);
}
safe_strcpy(gScenarioSavePath, path, MAX_PATH); safe_strcpy(gScenarioSavePath, path, MAX_PATH);
gFirstTimeSave = 0; gFirstTimeSave = 0;

View File

@ -160,6 +160,13 @@ static void window_server_start_scenarioselect_callback(const utf8 *path)
} }
} }
static void window_server_start_loadsave_callback(int result)
{
if (result == MODAL_RESULT_OK) {
network_begin_server(gConfigNetwork.default_port);
}
}
static void window_server_start_mouseup(rct_window *w, int widgetIndex) static void window_server_start_mouseup(rct_window *w, int widgetIndex)
{ {
switch (widgetIndex) { switch (widgetIndex) {
@ -199,7 +206,8 @@ static void window_server_start_mouseup(rct_window *w, int widgetIndex)
break; break;
case WIDX_LOAD_SERVER: case WIDX_LOAD_SERVER:
network_set_password(_password); network_set_password(_password);
window_loadsave_open(LOADSAVETYPE_LOAD | LOADSAVETYPE_GAME | LOADSAVETYPE_NETWORK, NULL); window_loadsave_open(LOADSAVETYPE_LOAD | LOADSAVETYPE_GAME, NULL);
gLoadSaveCallback = window_server_start_loadsave_callback;
break; break;
} }
} }