aboutsummaryrefslogtreecommitdiffstats
path: root/src/renderer/Weather.h
diff options
context:
space:
mode:
authorSergeanur <s.anureev@yandex.ua>2021-07-18 00:05:51 +0300
committerSergeanur <s.anureev@yandex.ua>2021-07-18 00:05:51 +0300
commit7a034142c99e577b0339aefd9599cb7f373c495e (patch)
tree722b1946daf2b24374c7fcfab0face06af5eefba /src/renderer/Weather.h
parentec5a07b049ac8ca05c051aa22a16186a298adadf (diff)
parentc937bdbfea8f522d14d7a41f24372bddf5bdafcc (diff)
Merge branch 'miami' into lcs
# Conflicts: # premake5.lua
Diffstat (limited to 'src/renderer/Weather.h')
-rw-r--r--src/renderer/Weather.h80
1 files changed, 80 insertions, 0 deletions
diff --git a/src/renderer/Weather.h b/src/renderer/Weather.h
new file mode 100644
index 00000000..0e7cf9bd
--- /dev/null
+++ b/src/renderer/Weather.h
@@ -0,0 +1,80 @@
+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 bool Stored_StateStored;
+ static float Stored_InterpolationValue;
+ static int16 Stored_OldWeatherType;
+ static int16 Stored_NewWeatherType;
+ static float Stored_Rain;
+
+ 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();
+ static void StoreWeatherState();
+ static void RestoreWeatherState();
+};
+
+enum {
+ NUM_RAIN_STREAKS = 35
+};
+
+struct tRainStreak
+{
+ CVector position;
+ CVector direction;
+ uint32 timer;
+};
+
+extern RwTexture* gpRainDropTex; \ No newline at end of file