diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/constants/weather.h | 1 | ||||
-rw-r--r-- | include/field_fadetransition.h | 12 | ||||
-rw-r--r-- | include/field_screen.h | 24 | ||||
-rw-r--r-- | include/field_screen_effect.h | 38 | ||||
-rw-r--r-- | include/field_weather.h | 156 | ||||
-rw-r--r-- | include/global.h | 2 | ||||
-rw-r--r-- | include/menu.h | 1 | ||||
-rw-r--r-- | include/overworld.h | 2 |
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); |