diff options
Diffstat (limited to 'src/renderer/Weather.h')
-rw-r--r-- | src/renderer/Weather.h | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/src/renderer/Weather.h b/src/renderer/Weather.h new file mode 100644 index 00000000..bda57d55 --- /dev/null +++ b/src/renderer/Weather.h @@ -0,0 +1,73 @@ +enum { + WEATHER_RANDOM = -1, + WEATHER_SUNNY = 0, + WEATHER_CLOUDY, + WEATHER_RAINY, + WEATHER_FOGGY, + WEATHER_EXTRA_SUNNY, + WEATHER_HURRICANE, + WEATHER_TOTAL, + + WEATHER_EXTRACOLOURS = 6 +}; + +class CWeather +{ +public: + static int32 SoundHandle; + + static int32 WeatherTypeInList; + static int16 OldWeatherType; + static int16 NewWeatherType; + static int16 ForcedWeatherType; + + static bool LightningFlash; + static bool LightningBurst; + static uint32 LightningStart; + static uint32 LightningFlashLastChange; + static uint32 WhenToPlayLightningSound; + static uint32 LightningDuration; + static int32 StreamAfterRainTimer; + + static float ExtraSunnyness; + static float Foggyness; + static float CloudCoverage; + static float Wind; + static float Rain; + static float InterpolationValue; + static float WetRoads; + static float Rainbow; + static float SunGlare; + static float WindClipped; + static float TrafficLightBrightness; + + static bool bScriptsForceRain; + + static void RenderRainStreaks(void); + static void Update(void); + static void Init(void); + + static void ReleaseWeather(); + static void ForceWeather(int16); + static void ForceWeatherNow(int16); + static void AddSplashesDuringHurricane(); + static void AddStreamAfterRain(); + static void AddRain(); + static void AddHeatHaze(); + static void AddBeastie(); + + static void ForceHurricaneWeather(); +}; + +enum { + NUM_RAIN_STREAKS = 35 +}; + +struct tRainStreak +{ + CVector position; + CVector direction; + uint32 timer; +}; + +extern RwTexture* gpRainDropTex;
\ No newline at end of file |