diff --git a/src/game.c b/src/game.c index 6cb4bc931b..f791bce993 100644 --- a/src/game.c +++ b/src/game.c @@ -777,9 +777,6 @@ int game_load_sv6(SDL_RWops* rw) reset_0x69EBE4(); openrct2_reset_object_tween_locations(); game_convert_strings_to_utf8(); - if (network_get_mode() == NETWORK_MODE_SERVER) { - network_send_map(); - } return 1; } @@ -814,6 +811,9 @@ int game_load_save(const char *path) SDL_RWclose(rw); game_load_init(); + if (network_get_mode() == NETWORK_MODE_SERVER) { + network_send_map(); + } return 1; } @@ -855,6 +855,7 @@ void game_load_init() load_palette(); gfx_invalidate_screen(); + window_update_all(); gGameSpeed = 1; diff --git a/src/network/network.cpp b/src/network/network.cpp index 940989e74a..9770721cba 100644 --- a/src/network/network.cpp +++ b/src/network/network.cpp @@ -768,6 +768,7 @@ int Network::Client_Handle_MAP(NetworkConnection& connection, NetworkPacket& pac if (RCT2_GLOBAL(RCT2_ADDRESS_GAME_PAUSED, uint8) & 1) pause_toggle(); game_command_queue.clear(); + server_tick = RCT2_GLOBAL(RCT2_ADDRESS_CURRENT_TICKS, uint32); window_network_status_open("Loaded new map from network"); } SDL_RWclose(rw); diff --git a/src/openrct2.c b/src/openrct2.c index 373416d349..02d96a5f1e 100644 --- a/src/openrct2.c +++ b/src/openrct2.c @@ -356,7 +356,6 @@ static void openrct2_loop() } platform_process_messages(); - network_update(); rct2_draw(); platform_draw(); fps++; @@ -373,6 +372,7 @@ static void openrct2_loop() invalidate_sprite(&g_sprite_list[i]); sprite_move(_spritelocations2[i].x, _spritelocations2[i].y, _spritelocations2[i].z, &g_sprite_list[i]); } + network_update(); } else { uncapTick = 0; currentTick = SDL_GetTicks();