re3/src/render/Weather.h

71 lines
1.4 KiB
C
Raw Normal View History

2019-05-15 14:52:37 +00:00
enum {
WEATHER_SUNNY,
WEATHER_CLOUDY,
WEATHER_RAINY,
WEATHER_FOGGY
};
class CWeather
{
public:
2020-04-07 20:43:19 +00:00
enum {
WEATHER_RANDOM = -1,
WEATHER_SUNNY = 0,
WEATHER_CLOUDY = 1,
WEATHER_RAINY = 2,
WEATHER_FOGGY = 3,
WEATHER_TOTAL = 4
};
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;
2019-05-15 14:52:37 +00:00
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;
2019-05-15 14:52:37 +00:00
2020-04-17 05:54:14 +00:00
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);
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);
2019-10-21 21:39:59 +00:00
static void StoreWeatherState();
static void RestoreWeatherState();
2020-04-07 20:43:19 +00:00
static void AddRain();
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-04-17 05:54:14 +00:00
extern RwTexture* gpRainDropTex[4];