1
0
mirror of https://github.com/OpenRCT2/OpenRCT2 synced 2026-01-18 12:33:17 +01:00

Fix lightning error caused by buffer overflow in scenery

This commit is contained in:
Duncan Frost
2014-12-14 15:00:22 +00:00
parent 02b497f9c6
commit 83a7dd5095
2 changed files with 7 additions and 2 deletions

View File

@@ -174,7 +174,7 @@ static rct_widget window_scenery_widgets[] = {
{ WIDGETS_END },
};
static sint16 window_scenery_tab_entries[0x13][SCENERY_ENTRIES_BY_TAB + 1];
static sint16 window_scenery_tab_entries[0x14][SCENERY_ENTRIES_BY_TAB + 1];
/*
* Was part of 0x006DFA00

View File

@@ -100,6 +100,9 @@ void climate_reset(int climate)
RCT2_GLOBAL(RCT2_ADDRESS_CURRENT_WEATHER_EFFECT, sint8) = climate_weather_data[weather].effect_level;
RCT2_GLOBAL(RCT2_ADDRESS_CURRENT_WEATHER_GLOOM, sint8) = climate_weather_data[weather].gloom_level;
RCT2_GLOBAL(RCT2_ADDRESS_CURRENT_RAIN_LEVEL, sint8) = climate_weather_data[weather].rain_level;
_lightningTimer = 0;
_thunderTimer = 0;
climate_determine_future_weather();
}
@@ -153,6 +156,8 @@ void climate_update()
if (temperature == target_temperature) {
if (cur_gloom == next_gloom) {
_climateCurrentWeatherEffect = _climateNextWeatherEffect;
_thunderTimer = 0;
_lightningTimer = 0;
if (cur_rain == next_rain) {
RCT2_GLOBAL(RCT2_ADDRESS_CURRENT_WEATHER, sint8) = gClimateNextWeather;
@@ -224,7 +229,7 @@ void climate_update_sound()
return;
if (!(RCT2_GLOBAL(0x009AF59D, uint8) & 1))
return;
if (RCT2_GLOBAL(RCT2_ADDRESS_SCREEN_FLAGS, uint8) & 1)
if (RCT2_GLOBAL(RCT2_ADDRESS_SCREEN_FLAGS, uint8) & (1<<SCREEN_FLAGS_PLAYING))
return;
climate_update_rain_sound();