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(); } /**