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
|
|
|
|
};
|
2019-05-15 16:52:37 +02: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 23:39:59 +02:00
|
|
|
static float &Stored_InterpolationValue;
|
|
|
|
static int16 &Stored_OldWeatherType;
|
|
|
|
static int16 &Stored_NewWeatherType;
|
|
|
|
static float &Stored_Rain;
|
2019-05-30 21:24:47 +02:00
|
|
|
|
|
|
|
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;
|
|
|
|
};
|
|
|
|
|
|
|
|
extern RwTexture* (&gpRainDropTex)[4];
|