diff options
Diffstat (limited to 'include/field_weather.h')
-rw-r--r-- | include/field_weather.h | 156 |
1 files changed, 106 insertions, 50 deletions
diff --git a/include/field_weather.h b/include/field_weather.h index a48361b8a..c032183e1 100644 --- a/include/field_weather.h +++ b/include/field_weather.h @@ -4,13 +4,23 @@ #include "sprite.h" // Controls how the weather should be changing the screen palettes. -enum { +enum +{ WEATHER_PAL_STATE_CHANGING_WEATHER, WEATHER_PAL_STATE_SCREEN_FADING_IN, WEATHER_PAL_STATE_SCREEN_FADING_OUT, WEATHER_PAL_STATE_IDLE, }; +// For the FadeScreen function. +enum +{ + FADE_FROM_BLACK, + FADE_TO_BLACK, + FADE_FROM_WHITE, + FADE_TO_WHITE, +}; + struct Weather { union @@ -38,11 +48,11 @@ struct Weather u8 gammaStepDelay; u8 gammaStepFrameCounter; u16 fadeDestColor; - u8 palProcessingState; - u8 fadeScreenCounter; - bool8 readyForInit; - u8 taskId; - u8 unknown_6CA; + /*0x6C6*/ u8 palProcessingState; + /*0x6C7*/ u8 fadeScreenCounter; + /*0x6C8*/ bool8 readyForInit; + /*0x6C9*/ u8 taskId; + /*0x6CA*/ u8 unknown_6CA; u8 unknown_6CB; u16 initStep; u16 finishStep; @@ -121,57 +131,103 @@ struct Weather u8 loadDroughtPalsOffset; }; +// field_weather.c +extern struct Weather gWeather; +extern struct Weather *const gWeatherPtr; + void StartWeather(void); void ChangeWeather(u8 weather); -void sub_807C988(u8 effect); -void sub_807C9B4(u8 effect); -void Task_WeatherInit(u8); -void Task_WeatherMain(u8); -void sub_807CAE8(void); -void nullsub_38(void); -void SetWeatherScreenFadeOut(void); - -enum -{ - FADE_FROM_BLACK, - FADE_TO_BLACK, - FADE_FROM_WHITE, - FADE_TO_WHITE, -}; - -void FadeScreen(u8, s8); -// ... -void UpdateSpritePaletteWithWeather(u8 tag); -void ApplyWeatherGammaShiftToPal(u8); -// ... -void Weather_SetBlendCoeffs(u8, u8); -// ... -void PlayRainSoundEffect(void); -// ... -void SetSav1Weather(u32); -u8 GetSav1Weather(void); -void sub_80AEDBC(void); - -void SetSav1WeatherFromCurrMapHeader(void); -// ... -void DoCurrentWeather(void); -void sub_8080750(void); - +void sub_80AB104(u8 weather); +void sub_80AB130(u8 weather); +void sub_80ABC48(s8 gammaIndex); +void sub_80ABC7C(u8 gammaIndex, u8 gammaTargetIndex, u8 gammaStepDelay); +void FadeScreen(u8 mode, s8 delay); bool8 IsWeatherNotFadingIn(void); -bool8 IsWeatherChangeComplete(void); -void SetWeather(u32); -void UpdateWeatherPerDay(u16); -void PreservePaletteInWeather(u8 index); -void ResetPreservedPalettesInWeather(void); -extern void ResetDroughtWeatherPaletteLoading(void); +void UpdateSpritePaletteWithWeather(u8 spritePaletteIndex); +void ApplyWeatherGammaShiftToPal(u8 paletteIndex); +u8 sub_80ABF20(void); +void LoadCustomWeatherSpritePalette(const u16 *palette); void ResetDroughtWeatherPaletteLoading(void); bool8 LoadDroughtWeatherPalettes(void); +void sub_80ABFE0(s8 gammaIndex); +void sub_80ABFF0(void); +void sub_80AC01C(void); +void Weather_SetBlendCoeffs(u8 eva, u8 evb); +void Weather_SetTargetBlendCoeffs(u8 eva, u8 evb, int delay); +bool8 Weather_UpdateBlend(void); +void sub_80AC274(u8 a); u8 GetCurrentWeather(void); -void LoadCustomWeatherSpritePalette(const u16 *palette); - +void SetRainStrengthFromSoundEffect(u16 soundEffect); +void PlayRainSoundEffect(void); +u8 IsWeatherChangeComplete(void); +void SetWeatherScreenFadeOut(void); +void sub_80AC3E4(void); +void PreservePaletteInWeather(u8 preservedPalIndex); +void ResetPreservedPalettesInWeather(void); -extern struct Weather gWeather; +// field_weather_effect.c +void Clouds_InitVars(void); +void Clouds_Main(void); +void Clouds_InitAll(void); +bool8 Clouds_Finish(void); +void Weather2_InitVars(void); +void Weather2_Main(void); +void Weather2_InitAll(void); +bool8 Weather2_Finish(void); +void LightRain_InitVars(void); +void LightRain_Main(void); +void LightRain_InitAll(void); +bool8 LightRain_Finish(void); +void Snow_InitVars(void); +void Snow_Main(void); +void Snow_InitAll(void); +bool8 Snow_Finish(void); +void MedRain_InitVars(void); +void Rain_Main(void); +void MedRain_InitAll(void); +bool8 Rain_Finish(void); +void Fog1_InitVars(void); +void Fog1_Main(void); +void Fog1_InitAll(void); +bool8 Fog1_Finish(void); +void Ash_InitVars(void); +void Ash_Main(void); +void Ash_InitAll(void); +bool8 Ash_Finish(void); +void Sandstorm_InitVars(void); +void Sandstorm_Main(void); +void Sandstorm_InitAll(void); +bool8 Sandstorm_Finish(void); +void Fog2_InitVars(void); +void Fog2_Main(void); +void Fog2_InitAll(void); +bool8 Fog2_Finish(void); +void Fog1_InitVars(void); +void Fog1_Main(void); +void Fog1_InitAll(void); +bool8 Fog1_Finish(void); +void Shade_InitVars(void); +void Shade_Main(void); +void Shade_InitAll(void); +bool8 Shade_Finish(void); +void Drought_InitVars(void); +void Drought_Main(void); +void Drought_InitAll(void); +bool8 Drought_Finish(void); +void HeavyRain_InitVars(void); +void Rain_Main(void); +void HeavyRain_InitAll(void); +bool8 Rain_Finish(void); +void Bubbles_InitVars(void); +void Bubbles_Main(void); +void Bubbles_InitAll(void); +bool8 Bubbles_Finish(void); -extern struct Weather *const gWeatherPtr; +u8 GetSav1Weather(void); +void SetSav1Weather(u32 weather); +void SetSav1WeatherFromCurrMapHeader(void); +void SetWeather(u32 weather); +void DoCurrentWeather(void); +void UpdateWeatherPerDay(u16 increment); #endif // GUARD_WEATHER_H |