diff options
author | PikalaxALT <PikalaxALT@gmail.com> | 2020-03-25 19:40:34 -0400 |
---|---|---|
committer | PikalaxALT <PikalaxALT@gmail.com> | 2020-03-25 19:40:34 -0400 |
commit | adc7a0b65a16f8fcbbadd527980950dec351b9cd (patch) | |
tree | b5f9c1f67572c4c2d59468b7430d39ef9b684e4d | |
parent | 3a29f9be954b8846f32865be146aefaf1b9f5fda (diff) |
Document field teleport anim
-rw-r--r-- | asm/overworld.s | 2 | ||||
-rw-r--r-- | include/field_fadetransition.h | 4 | ||||
-rw-r--r-- | include/field_player_avatar.h | 10 | ||||
-rw-r--r-- | src/field_fadetransition.c | 76 | ||||
-rw-r--r-- | src/field_player_avatar.c | 146 | ||||
-rw-r--r-- | src/field_screen_effect.c | 4 | ||||
-rw-r--r-- | src/option_menu.c | 2 | ||||
-rw-r--r-- | src/quest_log.c | 2 | ||||
-rw-r--r-- | src/scrcmd.c | 2 | ||||
-rw-r--r-- | src/seagallop.c | 2 |
10 files changed, 137 insertions, 113 deletions
diff --git a/asm/overworld.s b/asm/overworld.s index 5335cfc21..f840e590a 100644 --- a/asm/overworld.s +++ b/asm/overworld.s @@ -3472,7 +3472,7 @@ _08056618: .align 2, 0 _08056628: .4byte gFieldCallback _0805662C: - bl sub_807DF64 + bl FieldCB_UnionRoomWarp _08056630: ldr r1, _08056640 @ =gFieldCallback movs r0, 0 diff --git a/include/field_fadetransition.h b/include/field_fadetransition.h index d649fc02f..240353f5e 100644 --- a/include/field_fadetransition.h +++ b/include/field_fadetransition.h @@ -11,7 +11,7 @@ void DoDoorWarp(void); void DoFallWarp(void); void DoTeleportWarp(void); void sub_807E500(void); -void sub_807DF64(void); +void FieldCB_UnionRoomWarp(void); void WarpFadeOutScreen(void); void FieldCallback_ReturnToEventScript2(void); void FadeInFromBlack(void); @@ -20,7 +20,7 @@ void WarpFadeInScreen(void); void sub_807DCE4(void); -bool32 sub_807E418(void); +bool32 FieldFadeTransitionBackgroundEffectIsFinished(void); void palette_bg_faded_fill_black(void); void sub_807E4A0(u16 metatileBehavior, u16 delay); void DoEscalatorWarp(u8 a0); diff --git a/include/field_player_avatar.h b/include/field_player_avatar.h index d6c02d8ab..90e2baaaf 100644 --- a/include/field_player_avatar.h +++ b/include/field_player_avatar.h @@ -20,7 +20,7 @@ u8 GetPlayerAvatarGraphicsIdByStateId(u8); void SetPlayerAvatarStateMask(u8 mask); void AlignFishingAnimationFrames(struct Sprite *sprite); void CreateStopSurfingTask_NoMusicChange(u8 direction); -void sub_805DAE4(u8 direction); +void SavePlayerFacingDirectionForTeleport(u8 direction); void SetPlayerAvatarTransitionFlags(u16 a); bool8 IsPlayerFacingSurfableFishableWater(void); void StartFishing(u8 secondaryId); @@ -29,10 +29,10 @@ u8 PlayerGetZCoord(void); u8 GetPlayerAvatarGraphicsIdByCurrentState(void); void sub_805CB70(void); void SetPlayerInvisibility(bool8); -void sub_805DC04(void); -void sub_805DAB0(void); -bool32 sub_805DAD0(void); -bool32 sub_805DC24(void); +void StartTeleportInPlayerAnim(void); +void StartTeleportWarpOutPlayerAnim(void); +bool32 WaitTeleportWarpOutPlayerAnim(void); +bool32 WaitTeleportInPlayerAnim(void); bool8 PartyHasMonWithSurf(void); bool8 IsPlayerSurfingNorth(void); u8 player_get_pos_including_state_based_drift(s16 *x, s16 *y); diff --git a/src/field_fadetransition.c b/src/field_fadetransition.c index cde5f0e84..03190c095 100644 --- a/src/field_fadetransition.c +++ b/src/field_fadetransition.c @@ -29,9 +29,9 @@ static void sub_807DF4C(u8 a0); static void sub_807DFBC(u8 taskId); static void task_map_chg_seq_0807E20C(u8 taskId); static void task_map_chg_seq_0807E2CC(u8 taskId); -static void sub_807E31C(u8 taskId); +static void Task_TeleportWarpIn(u8 taskId); static void sub_807E718(u8 taskId); -static void sub_807E784(u8 taskId); +static void Task_TeleportWarp(u8 taskId); static void sub_807E80C(u8 taskId); static void sub_807E980(u8 taskId); static void sub_807EB64(u16, s16*, s16*); @@ -131,7 +131,7 @@ static void sub_807DCB0(bool8 arg) static void task0A_nop_for_a_while(u8 taskId) { - if (sub_807E418() == TRUE) + if (FieldFadeTransitionBackgroundEffectIsFinished() == TRUE) DestroyTask(taskId); } @@ -145,7 +145,7 @@ void sub_807DCE4(void) static void task0A_asap_script_env_2_enable_and_set_ctx_running(u8 taskId) { - if (sub_807E418() == TRUE) + if (FieldFadeTransitionBackgroundEffectIsFinished() == TRUE) { DestroyTask(taskId); EnableBothScriptContexts(); @@ -184,7 +184,7 @@ static void task_mpl_807DD60(u8 taskId) } break; case 2: - if (sub_807E418() == TRUE) + if (FieldFadeTransitionBackgroundEffectIsFinished() == TRUE) { ScriptContext2_Disable(); DestroyTask(taskId); @@ -218,7 +218,7 @@ static void sub_807DDF0(u8 taskId) } break; case 2: - if (sub_807E418() == TRUE) + if (FieldFadeTransitionBackgroundEffectIsFinished() == TRUE) { sub_8009FE8(); ScriptContext2_Disable(); @@ -284,7 +284,7 @@ static void sub_807DF4C(bool8 a0) FadeInFromBlack(); } -void sub_807DF64(void) +void FieldCB_UnionRoomWarp(void) { Overworld_PlaySpecialMapMusic(); sub_8111CF0(); @@ -300,13 +300,13 @@ void sub_807DF7C(void) ScriptContext2_Enable(); } -static void sub_807DF94(void) +static void FieldCB_TeleportWarpIn(void) { Overworld_PlaySpecialMapMusic(); WarpFadeInScreen(); sub_8111CF0(); PlaySE(SE_TK_WARPOUT); - CreateTask(sub_807E31C, 10); + CreateTask(Task_TeleportWarpIn, 10); ScriptContext2_Enable(); } @@ -363,7 +363,7 @@ static void sub_807DFBC(u8 taskId) } break; case 9: - if (sub_807E418() && walkrun_is_standing_still() && !FieldIsDoorAnimationRunning() && !FuncIsActiveTask(Task_BarnDoorWipe)) + if (FieldFadeTransitionBackgroundEffectIsFinished() && walkrun_is_standing_still() && !FieldIsDoorAnimationRunning() && !FuncIsActiveTask(Task_BarnDoorWipe)) { ObjectEventClearHeldMovementIfFinished(&gObjectEvents[GetObjectEventIdByLocalIdAndMap(0xFF, 0, 0)]); task->data[0] = 4; @@ -371,7 +371,7 @@ static void sub_807DFBC(u8 taskId) break; // Legacy RS case 1: - if (sub_807E418()) + if (FieldFadeTransitionBackgroundEffectIsFinished()) { sub_807DCB0(TRUE); ObjectEventSetHeldMovement(&gObjectEvents[GetObjectEventIdByLocalIdAndMap(0xFF, 0, 0)], MOVEMENT_ACTION_WALK_NORMAL_DOWN); @@ -413,7 +413,7 @@ static void task_map_chg_seq_0807E20C(u8 taskId) task->data[0] = 1; break; case 1: - if (sub_807E418()) + if (FieldFadeTransitionBackgroundEffectIsFinished()) { sub_807DCB0(TRUE); ObjectEventSetHeldMovement(&gObjectEvents[GetObjectEventIdByLocalIdAndMap(0xFF, 0, 0)], GetWalkNormalMovementAction(GetPlayerFacingDirection())); @@ -444,7 +444,7 @@ static void task_map_chg_seq_0807E2CC(u8 taskId) gTasks[taskId].data[0]++; break; case 1: - if (sub_807E418()) + if (FieldFadeTransitionBackgroundEffectIsFinished()) { UnfreezeObjectEvents(); ScriptContext2_Disable(); @@ -454,18 +454,18 @@ static void task_map_chg_seq_0807E2CC(u8 taskId) } } -static void sub_807E31C(u8 taskId) +static void Task_TeleportWarpIn(u8 taskId) { switch (gTasks[taskId].data[0]) { case 0: FreezeObjectEvents(); ScriptContext2_Enable(); - sub_805DC04(); + StartTeleportInPlayerAnim(); gTasks[taskId].data[0]++; break; case 1: - if (sub_807E418() && sub_805DC24() != TRUE) + if (FieldFadeTransitionBackgroundEffectIsFinished() && WaitTeleportInPlayerAnim() != TRUE) { UnfreezeObjectEvents(); ScriptContext2_Disable(); @@ -477,7 +477,7 @@ static void sub_807E31C(u8 taskId) static void Task_WaitFadeAndCreateStartMenuTask(u8 taskId) { - if (sub_807E418() == TRUE) + if (FieldFadeTransitionBackgroundEffectIsFinished() == TRUE) { DestroyTask(taskId); CreateTask(Task_StartMenuHandleInput, 80); @@ -499,7 +499,7 @@ bool8 FieldCB2_ReturnToStartMenuInit(void) static void task_mpl_807E3C8(u8 taskId) { - if (sub_807E418() == TRUE) + if (FieldFadeTransitionBackgroundEffectIsFinished() == TRUE) { ScriptContext2_Disable(); DestroyTask(taskId); @@ -515,12 +515,12 @@ void sub_807E3EC(void) CreateTask(task_mpl_807E3C8, 10); } -static bool32 sub_807E40C(void) +static bool32 WaitWarpFadeOutScreen(void) { return gPaletteFade.active; } -bool32 sub_807E418(void) +bool32 FieldFadeTransitionBackgroundEffectIsFinished(void) { if (IsWeatherNotFadingIn() == TRUE && ForestMapPreviewScreenIsRunning()) return TRUE; @@ -535,7 +535,7 @@ void DoWarp(void) WarpFadeOutScreen(); PlayRainStoppingSoundEffect(); PlaySE(SE_KAIDAN); - gFieldCallback = sub_807DF64; + gFieldCallback = FieldCB_UnionRoomWarp; CreateTask(sub_807E718, 10); } @@ -545,7 +545,7 @@ void DoDiveWarp(void) TryFadeOutOldMapMusic(); WarpFadeOutScreen(); PlayRainStoppingSoundEffect(); - gFieldCallback = sub_807DF64; + gFieldCallback = FieldCB_UnionRoomWarp; CreateTask(sub_807E718, 10); } @@ -560,7 +560,7 @@ void sub_807E4A0(u16 metatileBehavior, u16 delay) void DoDoorWarp(void) { ScriptContext2_Enable(); - gFieldCallback = sub_807DF64; + gFieldCallback = FieldCB_UnionRoomWarp; CreateTask(sub_807E80C, 10); } @@ -568,14 +568,14 @@ void sub_807E500(void) { ScriptContext2_Enable(); CreateTask(sub_807E718, 10); - gFieldCallback = sub_807DF94; + gFieldCallback = FieldCB_TeleportWarpIn; } void DoUnionRoomWarp(void) { ScriptContext2_Enable(); - gFieldCallback = sub_807DF64; - CreateTask(sub_807E784, 10); + gFieldCallback = FieldCB_UnionRoomWarp; + CreateTask(Task_TeleportWarp, 10); } void DoFallWarp(void) @@ -606,8 +606,8 @@ void DoTeleportWarp(void) { ScriptContext2_Enable(); TryFadeOutOldMapMusic(); - CreateTask(sub_807E784, 10); - gFieldCallback = sub_807DF94; + CreateTask(Task_TeleportWarp, 10); + gFieldCallback = FieldCB_TeleportWarpIn; } void sub_807E5C4(void) @@ -628,7 +628,7 @@ static void sub_807E5EC(u8 taskId) task->data[0]++; break; case 1: - if (!sub_807E40C() && BGMusicStopped()) + if (!WaitWarpFadeOutScreen() && BGMusicStopped()) task->data[0]++; break; case 2: @@ -661,7 +661,7 @@ static void sub_807E678(u8 taskId) data[0]++; break; case 1: - if (!sub_807E40C() && BGMusicStopped()) + if (!WaitWarpFadeOutScreen() && BGMusicStopped()) { Link_TryStartSend5FFF(); data[0]++; @@ -694,7 +694,7 @@ static void sub_807E718(u8 taskId) task->data[0]++; break; case 1: - if (!sub_807E40C() && BGMusicStopped()) + if (!WaitWarpFadeOutScreen() && BGMusicStopped()) task->data[0]++; break; case 2: @@ -705,7 +705,7 @@ static void sub_807E718(u8 taskId) } } -static void sub_807E784(u8 taskId) +static void Task_TeleportWarp(u8 taskId) { struct Task *task = &gTasks[taskId]; switch (task->data[0]) @@ -714,18 +714,18 @@ static void sub_807E784(u8 taskId) FreezeObjectEvents(); ScriptContext2_Enable(); PlaySE(SE_TK_WARPIN); - sub_805DAB0(); + StartTeleportWarpOutPlayerAnim(); task->data[0]++; break; case 1: - if (!sub_805DAD0()) + if (!WaitTeleportWarpOutPlayerAnim()) { WarpFadeOutScreen(); task->data[0]++; } break; case 2: - if (!sub_807E40C() && BGMusicStopped()) + if (!WaitWarpFadeOutScreen() && BGMusicStopped()) task->data[0]++; break; case 3: @@ -829,11 +829,11 @@ static void sub_807E980(u8 taskId) break; case 3: sub_807EAC4(data[2], data[3], &data[4], &data[5], &data[6]); - if (!sub_807E40C() && BGMusicStopped()) + if (!WaitWarpFadeOutScreen() && BGMusicStopped()) data[0]++; break; default: - gFieldCallback = sub_807DF64; + gFieldCallback = FieldCB_UnionRoomWarp; WarpIntoMap(); SetMainCallback2(CB2_LoadMap); DestroyTask(taskId); @@ -898,7 +898,7 @@ static void sub_807EC34(u8 taskId) switch (data[0]) { default: - if (sub_807E418() == TRUE) + if (FieldFadeTransitionBackgroundEffectIsFinished() == TRUE) { CameraObjectReset1(); ScriptContext2_Disable(); diff --git a/src/field_player_avatar.c b/src/field_player_avatar.c index cced50f4b..4d474db2f 100644 --- a/src/field_player_avatar.c +++ b/src/field_player_avatar.c @@ -29,7 +29,7 @@ #include "constants/moves.h" static EWRAM_DATA struct ObjectEvent * gUnknown_2036E30 = NULL; -static EWRAM_DATA u8 gUnknown_2036E34 = DIR_NONE; +static EWRAM_DATA u8 sTeleportSavedFacingDirection = DIR_NONE; EWRAM_DATA struct ObjectEvent gObjectEvents[OBJECT_EVENTS_COUNT] = {}; EWRAM_DATA struct PlayerAvatar gPlayerAvatar = {}; @@ -121,9 +121,9 @@ static bool8 Fishing13(struct Task * task); static bool8 Fishing14(struct Task * task); static bool8 Fishing15(struct Task * task); static bool8 Fishing16(struct Task * task); -static void sub_805DB04(u8 taskId); -static void sub_805DC38(u8 taskId); -static u8 sub_805DDC8(struct ObjectEvent * object, s16 *timer); +static void Task_TeleportWarpOutPlayerAnim(u8 taskId); +static void Task_TeleportWarpInPlayerAnim(u8 taskId); +static u8 TeleportAnim_RotatePlayer(struct ObjectEvent * object, s16 *timer); void MovementType_Player(struct Sprite *sprite) { @@ -1982,37 +1982,54 @@ void AlignFishingAnimationFrames(struct Sprite * playerSprite) sub_80DC4A4(gObjectEvents[gPlayerAvatar.objectEventId].fieldEffectSpriteId, 1, playerSprite->pos2.y); } -void sub_805DAB0(void) +#define tState data[0] +#define tRotationTimer data[1] +#define tDeltaY data[2] +#define tYdeflection data[3] +#define tYpos data[4] +#define tFinalFacingDirection data[5] +#define tPriority data[6] +#define tSubpriority data[7] + +static const u8 sTeleportFacingDirectionSequence[] = { + [DIR_SOUTH] = DIR_WEST, + [DIR_WEST] = DIR_NORTH, + [DIR_NORTH] = DIR_EAST, + [DIR_EAST] = DIR_SOUTH, + [DIR_NONE] = DIR_SOUTH, +}; + +void StartTeleportWarpOutPlayerAnim(void) { - u8 taskId = CreateTask(sub_805DB04, 0); - sub_805DB04(taskId); + u8 taskId = CreateTask(Task_TeleportWarpOutPlayerAnim, 0); + Task_TeleportWarpOutPlayerAnim(taskId); } -bool32 sub_805DAD0(void) +bool32 WaitTeleportWarpOutPlayerAnim(void) { - return FuncIsActiveTask(sub_805DB04); + return FuncIsActiveTask(Task_TeleportWarpOutPlayerAnim); } -void sub_805DAE4(u8 direction) +void SavePlayerFacingDirectionForTeleport(u8 direction) { - gUnknown_2036E34 = direction; + sTeleportSavedFacingDirection = direction; } -static u8 sub_805DAF0(void) +static u8 GetTeleportSavedFacingDirection(void) { - if (gUnknown_2036E34 == DIR_NONE) + if (sTeleportSavedFacingDirection == DIR_NONE) return DIR_SOUTH; else - return gUnknown_2036E34; + return sTeleportSavedFacingDirection; } -static void sub_805DB04(u8 taskId) +static void Task_TeleportWarpOutPlayerAnim(u8 taskId) { struct ObjectEvent *object = &gObjectEvents[gPlayerAvatar.objectEventId]; struct Sprite *sprite = &gSprites[object->spriteId]; s16 *data = gTasks[taskId].data; - switch (data[0]) + switch (tState) { case 0: if (!ObjectEventClearHeldMovementIfFinished(object)) @@ -2020,25 +2037,25 @@ static void sub_805DB04(u8 taskId) return; } - sub_805DAE4(object->facingDirection); - data[1] = 0; - data[2] = 1; - data[3] = (u16)(sprite->pos1.y + sprite->pos2.y) * 16; + SavePlayerFacingDirectionForTeleport(object->facingDirection); + tRotationTimer = 0; + tDeltaY = 1; + tYdeflection = (u16)(sprite->pos1.y + sprite->pos2.y) * 16; sprite->pos2.y = 0; CameraObjectReset2(); object->fixedPriority = TRUE; sprite->oam.priority = 0; sprite->subpriority = 0; sprite->subspriteMode = SUBSPRITES_OFF; - data[0]++; + tState++; case 1: - sub_805DDC8(object, &data[1]); - data[3] -= data[2]; - data[2] += 3; - sprite->pos1.y = data[3] >> 4; + TeleportAnim_RotatePlayer(object, &tRotationTimer); + tYdeflection -= tDeltaY; + tDeltaY += 3; + sprite->pos1.y = tYdeflection >> 4; if (sprite->pos1.y + (s16)gTotalCameraPixelOffsetY < -32) { - data[0]++; + tState++; } break; case 2: @@ -2047,73 +2064,71 @@ static void sub_805DB04(u8 taskId) } } -void sub_805DC04(void) +void StartTeleportInPlayerAnim(void) { - u8 taskId = CreateTask(sub_805DC38, 0); - sub_805DC38(taskId); + u8 taskId = CreateTask(Task_TeleportWarpInPlayerAnim, 0); + Task_TeleportWarpInPlayerAnim(taskId); } -bool32 sub_805DC24(void) +bool32 WaitTeleportInPlayerAnim(void) { - return FuncIsActiveTask(sub_805DC38); + return FuncIsActiveTask(Task_TeleportWarpInPlayerAnim); } -static const u8 gUnknown_835B92C[] = {DIR_SOUTH, DIR_WEST, DIR_EAST, DIR_NORTH, DIR_SOUTH}; - -static void sub_805DC38(u8 taskId) +static void Task_TeleportWarpInPlayerAnim(u8 taskId) { struct ObjectEvent *object = &gObjectEvents[gPlayerAvatar.objectEventId]; struct Sprite *sprite = &gSprites[object->spriteId]; s16 *data = gTasks[taskId].data; - switch (data[0]) + switch (tState) { case 0: - data[5] = sub_805DAF0(); - ObjectEventForceSetHeldMovement(object, GetFaceDirectionMovementAction(gUnknown_835B92C[data[5]])); - data[1] = 0; - data[2] = 116; - data[4] = sprite->pos1.y; - data[6] = sprite->oam.priority; - data[7] = sprite->subpriority; - data[3] = -((u16)sprite->pos2.y + 32) * 16; + tFinalFacingDirection = GetTeleportSavedFacingDirection(); + ObjectEventForceSetHeldMovement(object, GetFaceDirectionMovementAction(sTeleportFacingDirectionSequence[tFinalFacingDirection])); + tRotationTimer = 0; + tDeltaY = 116; + tYpos = sprite->pos1.y; + tPriority = sprite->oam.priority; + tSubpriority = sprite->subpriority; + tYdeflection = -((u16)sprite->pos2.y + 32) * 16; sprite->pos2.y = 0; CameraObjectReset2(); object->fixedPriority = TRUE; sprite->oam.priority = 1; sprite->subpriority = 0; sprite->subspriteMode = SUBSPRITES_OFF; - data[0]++; + tState++; case 1: - sub_805DDC8(object, &data[1]); - data[3] += data[2]; - data[2] -= 3; - if (data[2] < 4) + TeleportAnim_RotatePlayer(object, &tRotationTimer); + tYdeflection += tDeltaY; + tDeltaY -= 3; + if (tDeltaY < 4) { - data[2] = 4; + tDeltaY = 4; } - sprite->pos1.y = data[3] >> 4; - if (sprite->pos1.y >= data[4]) + sprite->pos1.y = tYdeflection >> 4; + if (sprite->pos1.y >= tYpos) { - sprite->pos1.y = data[4]; + sprite->pos1.y = tYpos; data[8] = 0; - data[0]++; + tState++; } break; case 2: - sub_805DDC8(object, &data[1]); + TeleportAnim_RotatePlayer(object, &tRotationTimer); data[8]++; if (data[8] > 8) { - data[0]++; + tState++; } break; case 3: - if (data[5] == sub_805DDC8(object, &data[1])) + if (tFinalFacingDirection == TeleportAnim_RotatePlayer(object, &tRotationTimer)) { object->fixedPriority = 0; - sprite->oam.priority = data[6]; - sprite->subpriority = data[7]; + sprite->oam.priority = tPriority; + sprite->subpriority = tSubpriority; CameraObjectReset1(); DestroyTask(taskId); } @@ -2121,7 +2136,7 @@ static void sub_805DC38(u8 taskId) } } -static u8 sub_805DDC8(struct ObjectEvent *object, s16 *a1) +static u8 TeleportAnim_RotatePlayer(struct ObjectEvent *object, s16 *a1) { if (*a1 < 8 && ++(*a1) < 8) { @@ -2133,7 +2148,16 @@ static u8 sub_805DDC8(struct ObjectEvent *object, s16 *a1) return object->facingDirection; } - ObjectEventForceSetHeldMovement(object, GetFaceDirectionMovementAction(gUnknown_835B92C[object->facingDirection])); + ObjectEventForceSetHeldMovement(object, GetFaceDirectionMovementAction(sTeleportFacingDirectionSequence[object->facingDirection])); *a1 = 0; - return gUnknown_835B92C[object->facingDirection]; + return sTeleportFacingDirectionSequence[object->facingDirection]; } + +#undef tSubpriority +#undef tPriority +#undef tFinalFacingDirection +#undef tYpos +#undef tYdeflection +#undef tDeltaY +#undef tRotationTimer +#undef tState diff --git a/src/field_screen_effect.c b/src/field_screen_effect.c index 85739ad24..a12b57b24 100644 --- a/src/field_screen_effect.c +++ b/src/field_screen_effect.c @@ -434,14 +434,14 @@ static void sub_807F45C(u8 taskId) ++gTasks[taskId].data[0]; break; case 3: - if (sub_807E418() == TRUE) + if (FieldFadeTransitionBackgroundEffectIsFinished() == TRUE) { DestroyTask(taskId); ScriptContext1_SetupScript(EventScript_AfterWhiteOutHeal); } break; case 6: - if (sub_807E418() == TRUE) + if (FieldFadeTransitionBackgroundEffectIsFinished() == TRUE) { DestroyTask(taskId); ScriptContext1_SetupScript(EventScript_AfterWhiteOutMomHeal); diff --git a/src/option_menu.c b/src/option_menu.c index 56a4ec877..62e90c33b 100644 --- a/src/option_menu.c +++ b/src/option_menu.c @@ -509,7 +509,7 @@ static void BufferOptionMenuString(u8 selection) static void CloseAndSaveOptionMenu(u8 taskId) { - gFieldCallback = sub_807DF64; + gFieldCallback = FieldCB_UnionRoomWarp; SetMainCallback2(gMain.savedCallback); FreeAllWindowBuffers(); gSaveBlock2Ptr->optionsTextSpeed = sOptionMenuPtr->option[MENUITEM_TEXTSPEED]; diff --git a/src/quest_log.c b/src/quest_log.c index b2dbb5721..21a05f407 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -600,7 +600,7 @@ bool8 sub_8111000(void) { LoadPalette(stdpal_get(4), 0xF0, 0x20); SetQuestLogState(QL_STATE_2); - sub_807DF64(); + FieldCB_UnionRoomWarp(); gUnknown_203AE94 = (struct UnkStruct_203AE94){}; gUnknown_203AE94.unk_0_0 = 2; return 1; diff --git a/src/scrcmd.c b/src/scrcmd.c index 2b5137f9a..af977fbc7 100644 --- a/src/scrcmd.c +++ b/src/scrcmd.c @@ -802,7 +802,7 @@ bool8 ScrCmd_warpteleport2(struct ScriptContext * ctx) u16 y = VarGet(ScriptReadHalfword(ctx)); SetWarpDestination(mapGroup, mapNum, warpId, x, y); - sub_805DAE4(GetPlayerFacingDirection()); + SavePlayerFacingDirectionForTeleport(GetPlayerFacingDirection()); sub_807E500(); ResetInitialPlayerAvatarState(); return TRUE; diff --git a/src/seagallop.c b/src/seagallop.c index 1e2234b9c..fb55e6bd2 100644 --- a/src/seagallop.c +++ b/src/seagallop.c @@ -322,7 +322,7 @@ static void Task_Seagallop_3(void) SetWarpDestination(warpInfo[0], warpInfo[1], -1, warpInfo[2], warpInfo[3]); PlayRainStoppingSoundEffect(); PlaySE(SE_KAIDAN); - gFieldCallback = sub_807DF64; + gFieldCallback = FieldCB_UnionRoomWarp; WarpIntoMap(); SetMainCallback2(CB2_LoadMap); ResetInitialPlayerAvatarState(); |