diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/constants/weather.h | 1 | ||||
-rw-r--r-- | include/field_screen.h | 6 | ||||
-rw-r--r-- | include/field_weather.h | 142 |
3 files changed, 99 insertions, 50 deletions
diff --git a/include/constants/weather.h b/include/constants/weather.h index 953cc2753..d0a81c34c 100644 --- a/include/constants/weather.h +++ b/include/constants/weather.h @@ -16,6 +16,7 @@ #define WEATHER_DROUGHT 12 #define WEATHER_RAIN_HEAVY 13 #define WEATHER_BUBBLES 14 +#define WEATHER_15 15 #define WEATHER_ROUTE119_CYCLE 20 #define WEATHER_ROUTE123_CYCLE 21 diff --git a/include/field_screen.h b/include/field_screen.h index 021d2b9e9..f8598bea6 100644 --- a/include/field_screen.h +++ b/include/field_screen.h @@ -7,15 +7,9 @@ // Exported ROM declarations void pal_fill_black(void); -bool8 IsWeatherNotFadingIn(void); void sub_80AF168(void); void sub_80AF2B4(u8 taskId); -void UpdateWeatherPerDay(u16 days); -void sub_80AC3D0(void); -void sub_80AC3E4(void); -void PreservePaletteInWeather(u8); void sub_80AF128(void); -void sub_80AB104(u8); void sub_80AF80C(u8); void sub_80AF828(void); void sub_80AF838(void); diff --git a/include/field_weather.h b/include/field_weather.h index d4bc85afd..c032183e1 100644 --- a/include/field_weather.h +++ b/include/field_weather.h @@ -12,6 +12,15 @@ enum WEATHER_PAL_STATE_IDLE, }; +// For the FadeScreen function. +enum +{ + FADE_FROM_BLACK, + FADE_TO_BLACK, + FADE_FROM_WHITE, + FADE_TO_WHITE, +}; + struct Weather { union @@ -122,58 +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); +// 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 gWeather; - -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 |