2019-05-15 14:52:37 +00:00
|
|
|
enum {
|
2020-05-16 10:31:23 +00:00
|
|
|
WEATHER_RANDOM = -1,
|
|
|
|
WEATHER_SUNNY = 0,
|
2019-05-15 14:52:37 +00:00
|
|
|
WEATHER_CLOUDY,
|
|
|
|
WEATHER_RAINY,
|
2020-05-16 10:31:23 +00:00
|
|
|
WEATHER_FOGGY,
|
|
|
|
WEATHER_EXTRA_SUNNY,
|
|
|
|
WEATHER_HURRICANE,
|
2020-08-09 17:11:44 +00:00
|
|
|
WEATHER_TOTAL,
|
|
|
|
|
|
|
|
WEATHER_EXTRACOLOURS = 6
|
2019-05-15 14:52:37 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
class CWeather
|
|
|
|
{
|
|
|
|
public:
|
2020-04-17 05:54:14 +00:00
|
|
|
static int32 SoundHandle;
|
2019-05-15 14:52:37 +00:00
|
|
|
|
2020-04-17 05:54:14 +00:00
|
|
|
static int32 WeatherTypeInList;
|
|
|
|
static int16 OldWeatherType;
|
|
|
|
static int16 NewWeatherType;
|
|
|
|
static int16 ForcedWeatherType;
|
2019-05-15 14:52:37 +00:00
|
|
|
|
2020-04-17 05:54:14 +00:00
|
|
|
static bool LightningFlash;
|
|
|
|
static bool LightningBurst;
|
|
|
|
static uint32 LightningStart;
|
|
|
|
static uint32 LightningFlashLastChange;
|
|
|
|
static uint32 WhenToPlayLightningSound;
|
|
|
|
static uint32 LightningDuration;
|
2020-08-23 11:27:37 +00:00
|
|
|
static int32 StreamAfterRainTimer;
|
2019-05-15 14:52:37 +00:00
|
|
|
|
2020-05-12 14:27:26 +00:00
|
|
|
static float ExtraSunnyness;
|
2020-04-17 05:54:14 +00:00
|
|
|
static float Foggyness;
|
|
|
|
static float CloudCoverage;
|
|
|
|
static float Wind;
|
|
|
|
static float Rain;
|
|
|
|
static float InterpolationValue;
|
|
|
|
static float WetRoads;
|
|
|
|
static float Rainbow;
|
2020-05-16 10:31:23 +00:00
|
|
|
static float SunGlare;
|
|
|
|
static float WindClipped;
|
|
|
|
static float TrafficLightBrightness;
|
2019-05-15 14:52:37 +00:00
|
|
|
|
2020-04-17 05:54:14 +00:00
|
|
|
static bool bScriptsForceRain;
|
2021-01-11 14:14:56 +00:00
|
|
|
static bool Stored_StateStored;
|
|
|
|
static float Stored_InterpolationValue;
|
|
|
|
static int16 Stored_OldWeatherType;
|
|
|
|
static int16 Stored_NewWeatherType;
|
|
|
|
static float Stored_Rain;
|
2019-05-30 19:24:47 +00:00
|
|
|
|
|
|
|
static void RenderRainStreaks(void);
|
2019-10-18 22:23:40 +00:00
|
|
|
static void Update(void);
|
2020-03-22 14:23:40 +00:00
|
|
|
static void Init(void);
|
2019-06-13 00:35:26 +00:00
|
|
|
|
|
|
|
static void ReleaseWeather();
|
2019-10-12 19:00:31 +00:00
|
|
|
static void ForceWeather(int16);
|
|
|
|
static void ForceWeatherNow(int16);
|
2020-08-23 11:27:37 +00:00
|
|
|
static void AddSplashesDuringHurricane();
|
|
|
|
static void AddStreamAfterRain();
|
2020-04-07 20:43:19 +00:00
|
|
|
static void AddRain();
|
2020-05-16 10:31:23 +00:00
|
|
|
static void AddHeatHaze();
|
|
|
|
static void AddBeastie();
|
2021-01-11 14:14:56 +00:00
|
|
|
|
2021-01-14 22:16:42 +00:00
|
|
|
static void ForceHurricaneWeather();
|
2021-01-11 14:14:56 +00:00
|
|
|
static void StoreWeatherState();
|
|
|
|
static void RestoreWeatherState();
|
2019-05-15 14:52:37 +00:00
|
|
|
};
|
2020-04-07 20:43:19 +00:00
|
|
|
|
|
|
|
enum {
|
|
|
|
NUM_RAIN_STREAKS = 35
|
|
|
|
};
|
|
|
|
|
|
|
|
struct tRainStreak
|
|
|
|
{
|
|
|
|
CVector position;
|
|
|
|
CVector direction;
|
|
|
|
uint32 timer;
|
|
|
|
};
|
|
|
|
|
2020-05-26 23:16:31 +00:00
|
|
|
extern RwTexture* gpRainDropTex;
|