decompile field screen

This commit is contained in:
DizzyEggg 2018-12-08 21:42:36 +01:00
parent 5caca7a4d6
commit 58c4cec946
9 changed files with 1279 additions and 2735 deletions

File diff suppressed because it is too large Load Diff

View File

@ -1,17 +0,0 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.section .rodata
.align 1
gUnknown_0854FE64:: @ 854FE64
.2byte 0x00c8, 0x0048, 0x0040, 0x0038, 0x0030, 0x0028, 0x0020, 0x0018, 0x0000, 0x0000
.align 2
gMaxFlashLevel:: @ 854FE78
.4byte 0x00000008
.align 2
gUnknown_0854FE7C:: @ 854FE7C
.4byte 0x04000040, 0xa2600001, 0x00000001

View File

@ -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);

View File

@ -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);

View File

@ -115,6 +115,7 @@ SECTIONS {
src/title_screen.o(.text);
src/field_weather.o(.text);
src/field_weather_effect.o(.text);
src/field_fadetransition.o(.text);
asm/field_screen.o(.text);
src/battle_setup.o(.text);
src/cable_club.o(.text);
@ -449,7 +450,7 @@ SECTIONS {
data/field_weather.o(.rodata);
src/field_weather.o(.rodata);
src/field_weather_effect.o(.rodata);
data/field_screen_2.o(.rodata);
src/field_fadetransition.o(.rodata);
src/battle_setup.o(.rodata);
src/cable_club.o(.rodata);
src/trainer_see.o(.rodata);

View File

@ -244,7 +244,7 @@ extern void pal_fill_for_maplights(void);
extern void sub_80E1558(u8);
extern void sub_80E1570(void);
extern bool8 sub_80E1584(void);
extern void sub_80AF0B4(void);
extern void WarpFadeScreen(void);
// .rodata
const u32 gNewGameBirchPic[] = INCBIN_U32("graphics/birch_speech/birch.4bpp");
@ -1593,8 +1593,8 @@ static void sub_80B7004(struct Task *task)
static void sub_80B7050(void)
{
music_something();
sub_80AF0B4();
TryFadeOutOldMapMusic();
WarpFadeScreen();
}
static void sub_80B7060(void)
@ -1943,8 +1943,8 @@ static bool8 sub_80B7704(struct Task *task, struct EventObject *eventObject, str
static bool8 sub_80B77F8(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite)
{
music_something();
sub_80AF0B4();
TryFadeOutOldMapMusic();
WarpFadeScreen();
task->data[0]++;
return FALSE;
}
@ -2099,8 +2099,8 @@ static bool8 sub_80B7BCC(struct Task *task, struct EventObject *eventObject, str
{
if (!FieldEffectActiveListContains(FLDEFF_POP_OUT_OF_ASH))
{
music_something();
sub_80AF0B4();
TryFadeOutOldMapMusic();
WarpFadeScreen();
task->data[0]++;
}
return FALSE;
@ -2161,8 +2161,8 @@ static void EscapeRopeFieldEffect_Step1(struct Task *task)
u8 spinDirections[5] = {DIR_SOUTH, DIR_WEST, DIR_EAST, DIR_NORTH, DIR_SOUTH};
if (task->data[14] != 0 && (--task->data[14]) == 0)
{
music_something();
sub_80AF0B4();
TryFadeOutOldMapMusic();
WarpFadeScreen();
}
eventObject = &gEventObjects[gPlayerAvatar.eventObjectId];
if (!EventObjectIsMovementOverridden(eventObject) || EventObjectClearHeldMovementIfFinished(eventObject))
@ -2314,8 +2314,8 @@ static void TeleportFieldEffectTask3(struct Task *task)
if (task->data[4] >= 0xa8)
{
task->data[0]++;
music_something();
sub_80AF0B4();
TryFadeOutOldMapMusic();
WarpFadeScreen();
}
}
@ -3123,7 +3123,7 @@ static void sub_80B9474(struct Task *task)
{
if (sub_80B9508(task->data[1]))
{
sub_80AF0B4();
WarpFadeScreen();
task->data[0]++;
}
}

1258
src/field_fadetransition.c Normal file

File diff suppressed because it is too large Load Diff

View File

@ -170,7 +170,7 @@ static bool8 sub_8137304(void)
return FALSE;
}
bool8 sub_8137360(u8 a1, u8 a2)
bool8 GetMapPairFadeToType(u8 a1, u8 a2)
{
u8 i;
u8 v0 = a1;
@ -187,7 +187,7 @@ bool8 sub_8137360(u8 a1, u8 a2)
return FALSE;
}
bool8 fade_type_for_given_maplight_pair(u8 a1, u8 a2)
bool8 GetMapPairFadeFromType(u8 a1, u8 a2)
{
u8 i;
u8 v0 = a1;

View File

@ -129,7 +129,7 @@ extern void sub_80A0A38(void);
extern void trainer_hill_map_load_related(void);
extern void sub_8087D74(void);
extern void battle_pyramid_map_load_related(u8);
extern void sub_80B00E8(u8);
extern void WriteFlashScanlineEffectBuffer(u8);
extern void sub_80E9238(u8);
extern void sub_81AA2F8(void);
extern void sub_8195E10(void);
@ -1241,7 +1241,7 @@ u8 GetMapMusicFadeoutSpeed(void)
return 4;
}
void music_something(void)
void TryFadeOutOldMapMusic(void)
{
u16 currentMusic = GetCurrentMapMusic();
u16 warpMusic = GetWarpDestinationMusic();
@ -1819,7 +1819,7 @@ static void InitCurrentFlashLevelScanlineEffect(void)
}
else if ((flashLevel = Overworld_GetFlashLevel()))
{
sub_80B00E8(flashLevel);
WriteFlashScanlineEffectBuffer(flashLevel);
ScanlineEffect_SetParams(sFlashEffectParams);
}
}