#ifndef T2DLL_T2WEATHERFILTER_H #define T2DLL_T2WEATHERFILTER_H #include "../common.h" enum WeatherCode { WeatherCode_0, WeatherCode_1, WeatherCode_2, WeatherCode_3 }; class AFX_CLASS_EXPORT T2WeatherFilter { public: T2WeatherFilter(); ~T2WeatherFilter(); void SetWeather(WeatherCode weather); void ColorFilter(RGBQUAD*); void SkyColorFilter(RGBQUAD*); void Tick(); protected: void ClearFilter(unsigned long, RGBQUAD*); void RainyFilter(unsigned long, RGBQUAD*); void SnowyFilter(unsigned long, RGBQUAD*); void ColorFade(unsigned long, RGBQUAD*, RGBQUAD*); void ClearSkyFilter(unsigned long, RGBQUAD*); void RainySkyFilter(unsigned long, RGBQUAD*); void SnowySkyFilter(unsigned long, RGBQUAD*); void ColorBlend(int, RGBQUAD*, RGBQUAD*); WeatherCode mCurrentWeather; WeatherCode mNextWeather; int mPhase; int mLightningTime; DWORD mLastChange; DWORD mTimeSinceLastChange; }; #endif