aboutsummaryrefslogtreecommitdiffstats
path: root/src/renderer/Weather.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/renderer/Weather.h')
-rw-r--r--src/renderer/Weather.h73
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