From cfd83eca1dd59e378aa00d4afe0db12300eb55e7 Mon Sep 17 00:00:00 2001 From: Duncan Frost Date: Wed, 31 Dec 2014 18:13:58 +0000 Subject: [PATCH] Fix rain gloom. Mistake in viewport_paint caused no change in gloom --- src/interface/viewport.c | 2 +- src/world/climate.c | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/interface/viewport.c b/src/interface/viewport.c index 20d19debc7..c48e796b27 100644 --- a/src/interface/viewport.c +++ b/src/interface/viewport.c @@ -1055,7 +1055,7 @@ void viewport_paint(rct_viewport* viewport, rct_drawpixelinfo* dpi, int left, in //RCT2_CALLPROC_EBPSAFE(0x688485); //Big function call int weather_colour = RCT2_ADDRESS(0x98195C, uint32)[RCT2_GLOBAL(RCT2_ADDRESS_CURRENT_WEATHER_GLOOM, uint8)]; - if ((weather_colour != -1) && (RCT2_GLOBAL(RCT2_ADDRESS_CURRENT_VIEWPORT_FLAGS, uint16) & 0x4000) && (RCT2_GLOBAL(0x9DEA6F, uint8) & 1)){ + if ((weather_colour != -1) && (!(RCT2_GLOBAL(RCT2_ADDRESS_CURRENT_VIEWPORT_FLAGS, uint16) & 0x4000)) && (!(RCT2_GLOBAL(0x9DEA6F, uint8) & 1))){ dpi2 = RCT2_GLOBAL(0x140E9A8, rct_drawpixelinfo*); gfx_fill_rect(dpi2, dpi2->x, dpi2->y, dpi2->width + dpi2->x - 1, dpi2->height + dpi2->y - 1, weather_colour); } diff --git a/src/world/climate.c b/src/world/climate.c index 54e3a295a1..b6a66723ee 100644 --- a/src/world/climate.c +++ b/src/world/climate.c @@ -199,6 +199,9 @@ void climate_force_weather(uint8 weather){ RCT2_GLOBAL(RCT2_ADDRESS_CLIMATE_UPDATE_TIMER, sint16) = 1920; climate_update(); + + // Incase of change in gloom level force a complete redraw + gfx_invalidate_screen(); } /**