From 9d5a86d0ae86fb11f721ec079bcc5c385866a87f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Janiszewski?= Date: Wed, 14 Jun 2017 08:44:23 +0200 Subject: [PATCH] Fix condition checks for being in logic update code (#5610) --- src/openrct2/game.c | 11 ++++++----- src/openrct2/network/network.cpp | 1 + 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/openrct2/game.c b/src/openrct2/game.c index 9ea1334d3d..78b37030bb 100644 --- a/src/openrct2/game.c +++ b/src/openrct2/game.c @@ -345,11 +345,6 @@ void game_update() void game_logic_update() { - - /////////////////////////// - gInUpdateCode = true; - /////////////////////////// - network_update(); if (network_get_mode() == NETWORK_MODE_CLIENT && network_get_status() == NETWORK_STATUS_CONNECTED && network_get_authstatus() == NETWORK_AUTH_OK) { @@ -360,6 +355,12 @@ void game_logic_update() } } + /////////////////////////// + // network_update() when downloaded a map will call game_init_all(), which + // leaves gInUpdateCode false. Don't call network_update() when in update code. + gInUpdateCode = true; + /////////////////////////// + gScreenAge++; if (gScreenAge == 0) gScreenAge--; diff --git a/src/openrct2/network/network.cpp b/src/openrct2/network/network.cpp index 2f9b9dd1f1..08b4f1bcdf 100644 --- a/src/openrct2/network/network.cpp +++ b/src/openrct2/network/network.cpp @@ -388,6 +388,7 @@ uint8 Network::GetPlayerID() void Network::Update() { _closeLock = true; + assert(gInUpdateCode == false); switch (GetMode()) { case NETWORK_MODE_SERVER: