summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/constants/weather.h1
-rw-r--r--include/field_screen.h6
-rw-r--r--include/field_weather.h142
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