From 76a65ee4ddeaf6f96e2a45a8cefed649bf5a09c4 Mon Sep 17 00:00:00 2001 From: Alexander Overvoorde Date: Mon, 7 Mar 2016 20:38:22 +0100 Subject: [PATCH] Fix thunderstorm visuals being tied to sound update function (fixes #3088) --- src/world/climate.c | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/src/world/climate.c b/src/world/climate.c index 5f0353da73..c180645c58 100644 --- a/src/world/climate.c +++ b/src/world/climate.c @@ -175,6 +175,19 @@ void climate_update() RCT2_GLOBAL(RCT2_ADDRESS_BTM_TOOLBAR_DIRTY_FLAGS, uint32) |= BTM_TB_DIRTY_FLAG_CLIMATE; } } + + if (_thunderTimer != 0) { + climate_update_lightning(); + climate_update_thunder(); + } else if (_climateCurrentWeatherEffect == 2) { + // Create new thunder and lightning + unsigned int randomNumber = util_rand(); + if ((randomNumber & 0xFFFF) <= 0x1B4) { + randomNumber >>= 16; + _thunderTimer = 43 + (randomNumber % 64); + _lightningTimer = randomNumber % 32; + } + } } void climate_force_weather(uint8 weather){ @@ -272,17 +285,6 @@ static void climate_update_thunder_sound() // Play thunder on right side _thunderStereoEcho = 0; climate_play_thunder(1, _thunderSoundId, _thunderVolume, 10000); - } else if (_thunderTimer != 0) { - climate_update_lightning(); - climate_update_thunder(); - } else if (_climateCurrentWeatherEffect == 2) { - // Create new thunder and lightning - unsigned int randomNumber = util_rand(); - if ((randomNumber & 0xFFFF) <= 0x1B4) { - randomNumber >>= 16; - _thunderTimer = 43 + (randomNumber % 64); - _lightningTimer = randomNumber % 32; - } } // Stop thunder sounds if they have finished