re3/src/renderer/Weather.h

71 lines
1.4 KiB
C
Raw Normal View History

2019-05-15 16:52:37 +02:00
enum {
WEATHER_SUNNY,
WEATHER_CLOUDY,
WEATHER_RAINY,
WEATHER_FOGGY
};
class CWeather
{
public:
2020-04-07 22:43:19 +02:00
enum {
WEATHER_RANDOM = -1,
WEATHER_SUNNY = 0,
WEATHER_CLOUDY = 1,
WEATHER_RAINY = 2,
WEATHER_FOGGY = 3,
WEATHER_TOTAL = 4
};
2020-04-17 07:54:14 +02:00
static int32 SoundHandle;
2019-05-15 16:52:37 +02:00
2020-04-17 07:54:14 +02:00
static int32 WeatherTypeInList;
static int16 OldWeatherType;
static int16 NewWeatherType;
static int16 ForcedWeatherType;
2019-05-15 16:52:37 +02:00
2020-04-17 07:54:14 +02:00
static bool LightningFlash;
static bool LightningBurst;
static uint32 LightningStart;
static uint32 LightningFlashLastChange;
static uint32 WhenToPlayLightningSound;
static uint32 LightningDuration;
2019-05-15 16:52:37 +02:00
2020-04-17 07:54:14 +02: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 16:52:37 +02:00
2020-04-17 07:54:14 +02: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-19 00:23:40 +02:00
static void Update(void);
2020-03-22 15:23:40 +01:00
static void Init(void);
2019-06-13 02:35:26 +02:00
static void ReleaseWeather();
2019-10-12 21:00:31 +02:00
static void ForceWeather(int16);
static void ForceWeatherNow(int16);
2019-10-21 23:39:59 +02:00
static void StoreWeatherState();
static void RestoreWeatherState();
2020-04-07 22:43:19 +02:00
static void AddRain();
2019-05-15 16:52:37 +02:00
};
2020-04-07 22:43:19 +02:00
enum {
NUM_RAIN_STREAKS = 35
};
struct tRainStreak
{
CVector position;
CVector direction;
uint32 timer;
};
2020-04-17 07:54:14 +02:00
extern RwTexture* gpRainDropTex[4];