diff --git a/src/game.c b/src/game.c index c942d398cd..e131ddca2f 100644 --- a/src/game.c +++ b/src/game.c @@ -806,13 +806,13 @@ bool game_load_save(const utf8 *path) SDL_RWclose(rw); if (result) { + if (network_get_mode() == NETWORK_MODE_CLIENT) { + network_close(); + } game_load_init(); if (network_get_mode() == NETWORK_MODE_SERVER) { network_send_map(); } - if (network_get_mode() == NETWORK_MODE_CLIENT) { - network_close(); - } return true; } else { // If loading the SV6 or SV4 failed, the current park state will be corrupted @@ -851,6 +851,10 @@ void game_load_init() mainWindow->saved_view_y -= mainWindow->viewport->view_height >> 1; window_invalidate(mainWindow); + if (network_get_mode() != NETWORK_MODE_CLIENT) + { + reset_sprite_spatial_index(); + } reset_all_sprite_quadrant_placements(); scenery_set_default_placement_configuration(); window_new_ride_init_vars(); diff --git a/src/rct2/S6Importer.cpp b/src/rct2/S6Importer.cpp index 1792e73b29..959f4ef7c7 100644 --- a/src/rct2/S6Importer.cpp +++ b/src/rct2/S6Importer.cpp @@ -366,11 +366,6 @@ void S6Importer::Import() throw ObjectLoadException(); } map_update_tile_pointers(); - reset_all_sprite_quadrant_placements(); - if (network_get_mode() != NETWORK_MODE_CLIENT) - { - reset_sprite_spatial_index(); - } game_convert_strings_to_utf8(); if (FixIssues) { diff --git a/src/scenario.c b/src/scenario.c index c45a44bdd9..4c2cba8b37 100644 --- a/src/scenario.c +++ b/src/scenario.c @@ -119,6 +119,9 @@ int scenario_load_and_play_from_path(const char *path) if (!scenario_load(path)) return 0; + reset_sprite_spatial_index(); + reset_all_sprite_quadrant_placements(); + int len = strnlen(path, MAX_PATH) + 1; safe_strcpy(_scenarioPath, path, len); if (len - 1 == MAX_PATH) diff --git a/src/title.c b/src/title.c index 67488463b9..8e813af596 100644 --- a/src/title.c +++ b/src/title.c @@ -209,6 +209,7 @@ static int title_load_park(const char *path) } window_invalidate(w); + reset_sprite_spatial_index(); reset_all_sprite_quadrant_placements(); window_new_ride_init_vars(); if (_strcmpi(path_get_extension(path), ".sv6") != 0)