summaryrefslogtreecommitdiff
path: root/include/field_weather.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/field_weather.h')
-rw-r--r--include/field_weather.h156
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