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
};
2019-05-15 14:52:37 +00:00
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 float &Foggyness;
static float &CloudCoverage;
static float &Wind;
static float &Rain;
static float &InterpolationValue;
static float &WetRoads;
static float &Rainbow;
static bool &bScriptsForceRain;
static bool &Stored_StateStored;
2019-10-21 21:39:59 +00:00
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;
};
extern RwTexture* (&gpRainDropTex)[4];