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_fadetransition.h12
-rw-r--r--include/field_screen.h24
-rw-r--r--include/field_screen_effect.h38
-rw-r--r--include/field_weather.h156
-rw-r--r--include/global.h2
-rw-r--r--include/menu.h1
-rw-r--r--include/overworld.h2
8 files changed, 147 insertions, 89 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_fadetransition.h b/include/field_fadetransition.h
deleted file mode 100644
index 7c2d16a24..000000000
--- a/include/field_fadetransition.h
+++ /dev/null
@@ -1,12 +0,0 @@
-#ifndef GUARD_FIELD_FADETRANSITION_H
-#define GUARD_FIELD_FADETRANSITION_H
-
-void sub_80AF734(void);
-void sp13E_warp_to_last_warp(void);
-void sub_80AF7D0(void);
-void sp13F_fall_to_last_warp(void);
-
-void sub_80AF848(void);
-void sub_80AF87C(void);
-
-#endif // GUARD_FIELD_FADETRANSITION_H
diff --git a/include/field_screen.h b/include/field_screen.h
deleted file mode 100644
index 021d2b9e9..000000000
--- a/include/field_screen.h
+++ /dev/null
@@ -1,24 +0,0 @@
-#ifndef GUARD_FIELD_SCREEN_H
-#define GUARD_FIELD_SCREEN_H
-
-// Exported type declarations
-
-// Exported RAM declarations
-
-// 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);
-void sub_80B0268(void);
-
-#endif //GUARD_FIELD_SCREEN_H
diff --git a/include/field_screen_effect.h b/include/field_screen_effect.h
index ef81c2f9e..f3ac2e866 100644
--- a/include/field_screen_effect.h
+++ b/include/field_screen_effect.h
@@ -1,8 +1,44 @@
#ifndef GUARD_FIELD_SCREEN_EFFECT_H
#define GUARD_FIELD_SCREEN_EFFECT_H
+void pal_fill_for_maplights(void);
+void pal_fill_black(void);
+void WarpFadeScreen(void);
+void sub_80AF128(void);
+void sub_80AF168(void);
+void sub_80AF188(void);
+void sub_80AF214(void);
+void sub_80AF2B4(u8 taskId);
+void sub_80AF314(void);
+void mapldr_default(void);
+void sub_80AF3B0(void);
+void sub_80AF3C8(void);
+void sub_80AF3E8(void);
+void sub_80AF40C(void);
+void sub_80AF688(void);
+bool8 sub_80AF6A4(void);
+void sub_80AF6D4(void);
+void sub_80AF6F0(void);
+void sub_80AF734(void);
+void sp13E_warp_to_last_warp(void);
void sub_80AF79C(void);
-void sub_80B009C(u8);
+void sub_80AF7D0(void);
+void sp13F_fall_to_last_warp(void);
+void sub_80AF80C(u8 metatileBehavior);
+void sub_80AF828(void);
+void sub_80AF838(void);
+void sub_80AF848(void);
+void sub_80AF87C(void);
+void sub_80AF8B8(void);
+void sub_80AF948(void);
+void sub_80AF9F8(void);
+void sub_80AFC60(void);
+void sub_80B009C(u8 flashLevel);
+void door_upload_tiles(void);
void sub_80B0244(void);
+void sub_80B0268(void);
+void sub_80B0534(void);
+void sub_80B058C(void);
+void sub_80B05B4(void);
#endif // GUARD_FIELD_SCREEN_EFFECT_H
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
diff --git a/include/global.h b/include/global.h
index cc8df049f..83eb93eec 100644
--- a/include/global.h
+++ b/include/global.h
@@ -881,7 +881,7 @@ struct SaveBlock1
/*0x24*/ struct WarpData warp4;
/*0x2C*/ u16 savedMusic;
/*0x2E*/ u8 weather;
- /*0x2F*/ u8 filler_2F;
+ /*0x2F*/ u8 weatherCycleStage;
/*0x30*/ u8 flashLevel;
/*0x32*/ u16 mapLayoutId;
/*0x34*/ u16 mapView[0x100];
diff --git a/include/menu.h b/include/menu.h
index eb525efe9..894dfd78e 100644
--- a/include/menu.h
+++ b/include/menu.h
@@ -36,6 +36,7 @@ u32 GetPlayerTextSpeed(void);
u8 GetPlayerTextSpeedDelay(void);
void sub_81978B0(u16 arg0);
void AddTextPrinterWithCallbackForMessage(bool8 a1, void (*callback)(struct TextPrinterTemplate *, u16));
+void sub_8199DF0(u32 bg, u8 a1, int a2, int a3);
void AddTextPrinterParameterized3(u8 windowId, u8 fontId, u8 left, u8 top, const u8 *color, s8 speed, const u8 *str);
void sub_8198070(u8 windowId, bool8 copyToVram);
void SetWindowTemplateFields(struct WindowTemplate* template, u8 priority, u8 tilemapLeft, u8 tilemapTop, u8 width, u8 height, u8 palNum, u16 baseBlock);
diff --git a/include/overworld.h b/include/overworld.h
index 60d9d5133..1f53662b3 100644
--- a/include/overworld.h
+++ b/include/overworld.h
@@ -91,7 +91,7 @@ void Overworld_ClearSavedMusic(void);
void Overworld_ChangeMusicToDefault(void);
void Overworld_ChangeMusicTo(u16 newMusic);
u8 GetMapMusicFadeoutSpeed(void);
-void music_something(void);
+void TryFadeOutOldMapMusic(void);
bool8 BGMusicStopped(void);
void Overworld_FadeOutMapMusic(void);
void UpdateAmbientCry(s16 *state, u16 *delayCounter);