Integrate climate globals

This commit is contained in:
Ted John 2016-08-14 15:07:32 +01:00
parent cb3a023755
commit 81fb5f9545
3 changed files with 41 additions and 28 deletions

View File

@ -318,19 +318,6 @@
#define RCT2_ADDRESS_GRASS_SCENERY_TILEPOS 0x013B0E70
#define RCT2_ADDRESS_STAFF_PATROL_AREAS 0x013B0E72
#define RCT2_ADDRESS_CLIMATE 0x013CA746
#define RCT2_ADDRESS_CURRENT_WEATHER 0x013CA74A
#define RCT2_ADDRESS_NEXT_WEATHER 0x013CA74B
#define RCT2_ADDRESS_CURRENT_TEMPERATURE 0x013CA74C
#define RCT2_ADDRESS_NEXT_TEMPERATURE 0x013CA74D
#define RCT2_ADDRESS_CLIMATE_UPDATE_TIMER 0x013CA748
#define RCT2_ADDRESS_CURRENT_WEATHER_EFFECT 0x013CA74E
#define RCT2_ADDRESS_NEXT_WEATHER_EFFECT 0x013CA74F
#define RCT2_ADDRESS_CURRENT_WEATHER_GLOOM 0x013CA750
#define RCT2_ADDRESS_NEXT_WEATHER_GLOOM 0x013CA751
#define RCT2_ADDRESS_CURRENT_RAIN_LEVEL 0x013CA752
#define RCT2_ADDRESS_NEXT_RAIN_LEVEL 0x013CA753
#define RCT2_ADDRESS_NEWS_ITEM_LIST 0x013CA754
#define RCT2_ADDRESS_CURRENT_FONT_SPRITE_BASE 0x013CE950
@ -603,6 +590,19 @@
#define RCT2_ADDRESS_SCENERY_TOOL_CTRL_PRESSED 0x00F64F12
#define RCT2_ADDRESS_SCENERY_TOOL_SHIFT_PRESSED 0x00F64F13
#define RCT2_ADDRESS_CLIMATE 0x013CA746
#define RCT2_ADDRESS_CURRENT_WEATHER 0x013CA74A
#define RCT2_ADDRESS_NEXT_WEATHER 0x013CA74B
#define RCT2_ADDRESS_CURRENT_TEMPERATURE 0x013CA74C
#define RCT2_ADDRESS_NEXT_TEMPERATURE 0x013CA74D
#define RCT2_ADDRESS_CLIMATE_UPDATE_TIMER 0x013CA748
#define RCT2_ADDRESS_CURRENT_WEATHER_EFFECT 0x013CA74E
#define RCT2_ADDRESS_NEXT_WEATHER_EFFECT 0x013CA74F
#define RCT2_ADDRESS_CURRENT_WEATHER_GLOOM 0x013CA750
#define RCT2_ADDRESS_NEXT_WEATHER_GLOOM 0x013CA751
#define RCT2_ADDRESS_CURRENT_RAIN_LEVEL 0x013CA752
#define RCT2_ADDRESS_NEXT_RAIN_LEVEL 0x013CA753
#define RCT2_ADDRESS_COMMON_FORMAT_ARGS 0x013CE952
#define RCT2_ADDRESS_NEXT_FREE_MAP_ELEMENT 0x0140E9A4

View File

@ -43,10 +43,23 @@ typedef struct rct_weather_transition {
assert_struct_size(rct_weather_transition, 26);
#pragma pack(pop)
static const rct_weather_transition* climate_transitions[4];
uint8 gClimate;
uint8 gClimateCurrentWeather;
sint8 gClimateCurrentTemperature;
uint8 gClimateCurrentWeatherEffect;
uint8 gClimateCurrentWeatherGloom;
uint8 gClimateCurrentRainLevel;
uint8 gClimateNextWeather;
sint8 gClimateNextTemperature;
uint8 gClimateNextWeatherEffect;
uint8 gClimateNextWeatherGloom;
uint8 gClimateNextRainLevel;
uint16 gClimateUpdateTimer;
uint16 gClimateLightningFlash;
static const rct_weather_transition* climate_transitions[4];
// Sound data
static int _rainVolume = 1;
static unsigned int _lightningTimer, _thunderTimer;

View File

@ -46,23 +46,23 @@ typedef struct rct_weather {
assert_struct_size(rct_weather, 8);
#pragma pack(pop)
#define gClimate RCT2_GLOBAL(RCT2_ADDRESS_CLIMATE, uint8)
#define gClimateCurrentWeather RCT2_GLOBAL(RCT2_ADDRESS_CURRENT_WEATHER, uint8)
#define gClimateCurrentTemperature RCT2_GLOBAL(RCT2_ADDRESS_CURRENT_TEMPERATURE, sint8)
#define gClimateCurrentWeatherEffect RCT2_GLOBAL(RCT2_ADDRESS_CURRENT_WEATHER_EFFECT, uint8)
#define gClimateCurrentWeatherGloom RCT2_GLOBAL(RCT2_ADDRESS_CURRENT_WEATHER_GLOOM, uint8)
#define gClimateCurrentRainLevel RCT2_GLOBAL(RCT2_ADDRESS_CURRENT_RAIN_LEVEL, uint8)
#define gClimateNextWeather RCT2_GLOBAL(RCT2_ADDRESS_NEXT_WEATHER, uint8)
#define gClimateNextTemperature RCT2_GLOBAL(RCT2_ADDRESS_NEXT_TEMPERATURE, sint8)
#define gClimateNextWeatherEffect RCT2_GLOBAL(RCT2_ADDRESS_NEXT_WEATHER_EFFECT, uint8)
#define gClimateNextWeatherGloom RCT2_GLOBAL(RCT2_ADDRESS_NEXT_WEATHER_GLOOM, uint8)
#define gClimateNextRainLevel RCT2_GLOBAL(RCT2_ADDRESS_NEXT_RAIN_LEVEL, uint8)
#define gClimateUpdateTimer RCT2_GLOBAL(RCT2_ADDRESS_CLIMATE_UPDATE_TIMER, uint16)
extern const rct_weather climate_weather_data[6];
extern uint8 gClimate;
extern uint8 gClimateCurrentWeather;
extern sint8 gClimateCurrentTemperature;
extern uint8 gClimateCurrentWeatherEffect;
extern uint8 gClimateCurrentWeatherGloom;
extern uint8 gClimateCurrentRainLevel;
extern uint8 gClimateNextWeather;
extern sint8 gClimateNextTemperature;
extern uint8 gClimateNextWeatherEffect;
extern uint8 gClimateNextWeatherGloom;
extern uint8 gClimateNextRainLevel;
extern uint16 gClimateUpdateTimer;
extern uint16 gClimateLightningFlash;
extern const rct_weather climate_weather_data[6];
int climate_celsius_to_fahrenheit(int celsius);
void climate_reset(int climate);
void climate_update();