From b921b268c1962eb139a73608437c1c7501ca5ae6 Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Tue, 29 May 2018 17:52:57 -0500 Subject: Rename movement_type and movement_action func table filenames --- src/data/field_map_obj/anim_func_ptrs.h | 1356 -------------------- .../field_map_obj/callback_subroutine_pointers.h | 443 ------- .../field_map_obj/movement_action_func_tables.h | 1356 ++++++++++++++++++++ src/data/field_map_obj/movement_type_func_tables.h | 438 +++++++ src/event_object_movement.c | 4 +- 5 files changed, 1796 insertions(+), 1801 deletions(-) delete mode 100644 src/data/field_map_obj/anim_func_ptrs.h delete mode 100644 src/data/field_map_obj/callback_subroutine_pointers.h create mode 100644 src/data/field_map_obj/movement_action_func_tables.h create mode 100644 src/data/field_map_obj/movement_type_func_tables.h (limited to 'src') diff --git a/src/data/field_map_obj/anim_func_ptrs.h b/src/data/field_map_obj/anim_func_ptrs.h deleted file mode 100644 index e1c295bb8..000000000 --- a/src/data/field_map_obj/anim_func_ptrs.h +++ /dev/null @@ -1,1356 +0,0 @@ -#ifndef POKERUBY_ANIM_FUNC_PTRS_H -#define POKERUBY_ANIM_FUNC_PTRS_H - -u8 MovementAction_FaceDown_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_PauseSpriteAnim(struct MapObject *, struct Sprite *); -u8 MovementAction_FaceUp_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_FaceLeft_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_FaceRight_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkSlowDown_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkSlowDown_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkSlowUp_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkSlowUp_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkSlowLeft_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkSlowLeft_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkSlowRight_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkSlowRight_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkNormalDown_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkNormalDown_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkNormalUp_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkNormalUp_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkNormalLeft_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkNormalLeft_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkNormalRight_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkNormalRight_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_Jump2Down_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_Jump2Down_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_Jump2Up_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_Jump2Up_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_Jump2Left_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_Jump2Left_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_Jump2Right_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_Jump2Right_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_Delay1_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_Delay_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_Finish(struct MapObject *, struct Sprite *); -u8 MovementAction_Delay2_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_Delay4_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_Delay8_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_Delay16_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkFastDown_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkFastDown_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkFastUp_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkFastUp_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkFastLeft_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkFastLeft_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkFastRight_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkFastRight_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkInPlaceSlowDown_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkInPlaceSlow_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkInPlaceSlowUp_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkInPlaceSlowLeft_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkInPlaceSlowRight_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkInPlaceNormalDown_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkInPlace_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkInPlaceNormalUp_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkInPlaceNormalLeft_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkInPlaceNormalRight_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkInPlaceFastDown_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkInPlaceFastUp_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkInPlaceFastLeft_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkInPlaceFastRight_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkInPlaceFastestDown_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkInPlaceFastestUp_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkInPlaceFastestLeft_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkInPlaceFastestRight_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_RideWaterCurrentDown_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_RideWaterCurrentDown_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_RideWaterCurrentUp_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_RideWaterCurrentUp_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_RideWaterCurrentLeft_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_RideWaterCurrentLeft_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_RideWaterCurrentRight_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_RideWaterCurrentRight_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkFastestDown_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkFastestDown_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkFastestUp_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkFastestUp_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkFastestLeft_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkFastestLeft_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkFastestRight_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkFastestRight_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_SlideDown_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_SlideDown_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_SlideUp_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_SlideUp_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_SlideLeft_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_SlideLeft_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_SlideRight_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_SlideRight_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_PlayerRunDown_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_PlayerRunDown_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_PlayerRunUp_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_PlayerRunUp_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_PlayerRunLeft_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_PlayerRunLeft_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_PlayerRunRight_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_PlayerRunRight_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_StartAnimInDirection_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WaitSpriteAnim(struct MapObject *, struct Sprite *); -u8 MovementAction_JumpSpecialDown_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_JumpSpecialDown_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_JumpSpecialUp_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_JumpSpecialUp_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_JumpSpecialLeft_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_JumpSpecialLeft_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_JumpSpecialRight_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_JumpSpecialRight_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_FacePlayer_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_FaceAwayPlayer_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_LockFacingDirection_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_UnlockFacingDirection_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_JumpDown_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_JumpDown_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_JumpUp_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_JumpUp_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_JumpLeft_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_JumpLeft_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_JumpRight_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_JumpRight_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_JumpInPlaceDown_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_JumpInPlaceDown_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_JumpInPlaceUp_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_JumpInPlaceUp_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_JumpInPlaceLeft_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_JumpInPlaceLeft_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_JumpInPlaceRight_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_JumpInPlaceRight_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_JumpInPlaceDownUp_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_JumpInPlaceDownUp_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_JumpInPlaceUpDown_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_JumpInPlaceUpDown_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_JumpInPlaceLeftRight_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_JumpInPlaceLeftRight_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_JumpInPlaceRightLeft_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_JumpInPlaceRightLeft_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_FaceOriginalDirection_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_NurseJoyBowDown_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_EnableJumpLandingGroundEffect_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_DisableJumpLandingGroundEffect_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_DisableAnimation_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_RestoreAnimation_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_SetInvisible_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_SetVisible_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_EmoteExclamationMark_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_EmoteQuestionMark_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_EmoteHeart_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_RevealTrainer_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_RevealTrainer_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_RockSmashBreak_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_RockSmashBreak_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_RockSmashBreak_Step2(struct MapObject *, struct Sprite *); -u8 MovementAction_CutTree_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_CutTree_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_CutTree_Step2(struct MapObject *, struct Sprite *); -u8 MovementAction_SetFixedPriority_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_ClearFixedPriority_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_InitAffineAnim_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_ClearAffineAnim_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkDownAffine0_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkDownAffine0_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkDownAffine1_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkDownAffine1_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieFaceDown_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieFaceUp_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieFaceLeft_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieFaceRight_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroPopWheelieDown_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroPopWheelieUp_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroPopWheelieLeft_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroPopWheelieRight_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroEndWheelieFaceDown_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroEndWheelieFaceUp_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroEndWheelieFaceLeft_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroEndWheelieFaceRight_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_UnusedAcroActionDown_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_UnusedAcroActionUp_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_UnusedAcroActionLeft_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_UnusedAcroActionRight_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieHopFaceDown_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieHopFaceDown_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieHopFaceUp_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieHopFaceUp_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieHopFaceLeft_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieHopFaceLeft_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieHopFaceRight_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieHopFaceRight_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieHopDown_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieHopDown_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieHopUp_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieHopUp_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieHopLeft_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieHopLeft_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieHopRight_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieHopRight_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieJumpDown_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieJumpDown_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieJumpUp_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieJumpUp_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieJumpLeft_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieJumpLeft_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieJumpRight_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieJumpRight_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieInPlaceDown_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkInPlace_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieInPlaceUp_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkInPlace_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieInPlaceLeft_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkInPlace_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieInPlaceRight_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkInPlace_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroPopWheelieMoveDown_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroPopWheelieMoveDown_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroPopWheelieMoveUp_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroPopWheelieMoveUp_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroPopWheelieMoveLeft_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroPopWheelieMoveLeft_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroPopWheelieMoveRight_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroPopWheelieMoveRight_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieMoveDown_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieMoveDown_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieMoveUp_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieMoveUp_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieMoveLeft_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieMoveLeft_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieMoveRight_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieMoveRight_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroEndWheelieMoveDown_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroEndWheelieMoveDown_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroEndWheelieMoveUp_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroEndWheelieMoveUp_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroEndWheelieMoveLeft_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroEndWheelieMoveLeft_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroEndWheelieMoveRight_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroEndWheelieMoveRight_Step1(struct MapObject *, struct Sprite *); - -u8 (*const gMovementActionFuncs_FaceDown[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_FaceUp[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_FaceLeft[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_FaceRight[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkSlowDown[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkSlowUp[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkSlowLeft[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkSlowRight[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkNormalDown[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkNormalUp[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkNormalLeft[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkNormalRight[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_Jump2Down[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_Jump2Up[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_Jump2Left[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_Jump2Right[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_Delay1[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_Delay2[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_Delay4[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_Delay8[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_Delay16[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkFastDown[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkFastUp[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkFastLeft[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkFastRight[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkInPlaceSlowDown[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkInPlaceSlowUp[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkInPlaceSlowLeft[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkInPlaceSlowRight[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkInPlaceNormalDown[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkInPlaceNormalLeft[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkInPlaceNormalUp[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkInPlaceNormalRight[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkInPlaceFastDown[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkInPlaceFastUp[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkInPlaceFastLeft[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkInPlaceFastRight[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkInPlaceFastestDown[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkInPlaceFastestUp[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkInPlaceFastestLeft[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkInPlaceFastestRight[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_RideWaterCurrentDown[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_RideWaterCurrentUp[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_RideWaterCurrentLeft[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_RideWaterCurrentRight[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkFastestDown[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkFastestUp[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkFastestLeft[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkFastestRight[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_SlideDown[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_SlideUp[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_SlideLeft[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_SlideRight[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_PlayerRunDown[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_PlayerRunUp[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_PlayerRunLeft[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_PlayerRunRight[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_StartAnimInDirection[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_JumpSpecialDown[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_JumpSpecialUp[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_JumpSpecialLeft[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_JumpSpecialRight[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_FacePlayer[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_FaceAwayPlayer[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_LockFacingDirection[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_UnlockFacingDirection[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_JumpDown[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_JumpUp[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_JumpLeft[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_JumpRight[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_JumpInPlaceDown[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_JumpInPlaceUp[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_JumpInPlaceLeft[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_JumpInPlaceRight[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_JumpInPlaceDownUp[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_JumpInPlaceUpDown[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_JumpInPlaceLeftRight[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_JumpInPlaceRightLeft[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_FaceOriginalDirection[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_NurseJoyBowDown[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_EnableJumpLandingGroundEffect[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_DisableJumpLandingGroundEffect[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_DisableAnimation[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_RestoreAnimation[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_SetInvisible[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_SetVisible[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_EmoteExclamationMark[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_EmoteQuestionMark[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_EmoteHeart[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_RevealTrainer[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_RockSmashBreak[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_CutTree[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_SetFixedPriority[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_ClearFixedPriority[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_InitAffineAnim[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_ClearAffineAnim[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkDownAffine0[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkDownAffine1[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroWheelieFaceDown[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroWheelieFaceUp[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroWheelieFaceLeft[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroWheelieFaceRight[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroPopWheelieDown[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroPopWheelieUp[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroPopWheelieLeft[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroPopWheelieRight[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroEndWheelieFaceDown[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroEndWheelieFaceUp[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroEndWheelieFaceLeft[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroEndWheelieFaceRight[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroWheelieHopFaceDown[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroWheelieHopFaceUp[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroWheelieHopFaceLeft[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroWheelieHopFaceRight[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroWheelieHopDown[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroWheelieHopUp[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroWheelieHopLeft[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroWheelieHopRight[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroWheelieJumpDown[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroWheelieJumpUp[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroWheelieJumpLeft[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroWheelieJumpRight[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroWheelieInPlaceDown[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroWheelieInPlaceUp[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroWheelieInPlaceLeft[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroWheelieInPlaceRight[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroPopWheelieMoveDown[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroPopWheelieMoveUp[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroPopWheelieMoveLeft[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroPopWheelieMoveRight[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroWheelieMoveDown[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroWheelieMoveUp[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroWheelieMoveLeft[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroWheelieMoveRight[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroEndWheelieMoveDown[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroEndWheelieMoveUp[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroEndWheelieMoveLeft[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroEndWheelieMoveRight[])(struct MapObject *, struct Sprite *); - -u8 (*const *const gMovementActionFuncs[])(struct MapObject *, struct Sprite *) = { - gMovementActionFuncs_FaceDown, // MOVEMENT_ACTION_FACE_DOWN - gMovementActionFuncs_FaceUp, // MOVEMENT_ACTION_FACE_UP - gMovementActionFuncs_FaceLeft, // MOVEMENT_ACTION_FACE_LEFT - gMovementActionFuncs_FaceRight, // MOVEMENT_ACTION_FACE_RIGHT - gMovementActionFuncs_WalkSlowDown, // MOVEMENT_ACTION_WALK_DOWN_SLOW - gMovementActionFuncs_WalkSlowUp, // MOVEMENT_ACTION_WALK_UP_SLOW - gMovementActionFuncs_WalkSlowLeft, // MOVEMENT_ACTION_WALK_LEFT_SLOW - gMovementActionFuncs_WalkSlowRight, // MOVEMENT_ACTION_WALK_RIGHT_SLOW - gMovementActionFuncs_WalkNormalDown, // MOVEMENT_ACTION_WALK_DOWN_NORMAL - gMovementActionFuncs_WalkNormalUp, // MOVEMENT_ACTION_WALK_UP_NORMAL - gMovementActionFuncs_WalkNormalLeft, // MOVEMENT_ACTION_WALK_LEFT_NORMAL - gMovementActionFuncs_WalkNormalRight, // MOVEMENT_ACTION_WALK_RIGHT_NORMAL - gMovementActionFuncs_Jump2Down, // MOVEMENT_ACTION_JUMP_2_DOWN - gMovementActionFuncs_Jump2Up, // MOVEMENT_ACTION_JUMP_2_UP - gMovementActionFuncs_Jump2Left, // MOVEMENT_ACTION_JUMP_2_LEFT - gMovementActionFuncs_Jump2Right, // MOVEMENT_ACTION_JUMP_2_RIGHT - gMovementActionFuncs_Delay1, // MOVEMENT_ACTION_DELAY_1 - gMovementActionFuncs_Delay2, // MOVEMENT_ACTION_DELAY_2 - gMovementActionFuncs_Delay4, // MOVEMENT_ACTION_DELAY_4 - gMovementActionFuncs_Delay8, // MOVEMENT_ACTION_DELAY_8 - gMovementActionFuncs_Delay16, // MOVEMENT_ACTION_DELAY_16 - gMovementActionFuncs_WalkFastDown, // MOVEMENT_ACTION_WALK_FAST_DOWN - gMovementActionFuncs_WalkFastUp, // MOVEMENT_ACTION_WALK_FAST_UP - gMovementActionFuncs_WalkFastLeft, // MOVEMENT_ACTION_WALK_FAST_LEFT - gMovementActionFuncs_WalkFastRight, // MOVEMENT_ACTION_WALK_FAST_RIGHT - gMovementActionFuncs_WalkInPlaceSlowDown, // MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_DOWN - gMovementActionFuncs_WalkInPlaceSlowUp, // MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_UP - gMovementActionFuncs_WalkInPlaceSlowLeft, // MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_LEFT - gMovementActionFuncs_WalkInPlaceSlowRight, // MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_RIGHT - gMovementActionFuncs_WalkInPlaceNormalDown, // MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_DOWN - gMovementActionFuncs_WalkInPlaceNormalUp, // MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_UP - gMovementActionFuncs_WalkInPlaceNormalLeft, // MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_LEFT - gMovementActionFuncs_WalkInPlaceNormalRight, // MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_RIGHT - gMovementActionFuncs_WalkInPlaceFastDown, // MOVEMENT_ACTION_WALK_IN_PLACE_FAST_DOWN - gMovementActionFuncs_WalkInPlaceFastUp, // MOVEMENT_ACTION_WALK_IN_PLACE_FAST_UP - gMovementActionFuncs_WalkInPlaceFastLeft, // MOVEMENT_ACTION_WALK_IN_PLACE_FAST_LEFT - gMovementActionFuncs_WalkInPlaceFastRight, // MOVEMENT_ACTION_WALK_IN_PLACE_FAST_RIGHT - gMovementActionFuncs_WalkInPlaceFastestDown, // MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_DOWN - gMovementActionFuncs_WalkInPlaceFastestUp, // MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_UP - gMovementActionFuncs_WalkInPlaceFastestLeft, // MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_LEFT - gMovementActionFuncs_WalkInPlaceFastestRight, // MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_RIGHT - gMovementActionFuncs_RideWaterCurrentDown, // MOVEMENT_ACTION_RIDE_WATER_CURRENT_DOWN - gMovementActionFuncs_RideWaterCurrentUp, // MOVEMENT_ACTION_RIDE_WATER_CURRENT_UP - gMovementActionFuncs_RideWaterCurrentLeft, // MOVEMENT_ACTION_RIDE_WATER_CURRENT_LEFT - gMovementActionFuncs_RideWaterCurrentRight, // MOVEMENT_ACTION_RIDE_WATER_CURRENT_RIGHT - gMovementActionFuncs_WalkFastestDown, // MOVEMENT_ACTION_WALK_FASTEST_DOWN - gMovementActionFuncs_WalkFastestUp, // MOVEMENT_ACTION_WALK_FASTEST_UP - gMovementActionFuncs_WalkFastestLeft, // MOVEMENT_ACTION_WALK_FASTEST_LEFT - gMovementActionFuncs_WalkFastestRight, // MOVEMENT_ACTION_WALK_FASTEST_RIGHT - gMovementActionFuncs_SlideDown, // MOVEMENT_ACITON_SLIDE_DOWN - gMovementActionFuncs_SlideUp, // MOVEMENT_ACITON_SLIDE_UP - gMovementActionFuncs_SlideLeft, // MOVEMENT_ACITON_SLIDE_LEFT - gMovementActionFuncs_SlideRight, // MOVEMENT_ACITON_SLIDE_RIGHT - gMovementActionFuncs_PlayerRunDown, // MOVEMENT_ACTION_PLAYER_RUN_DOWN - gMovementActionFuncs_PlayerRunUp, // MOVEMENT_ACTION_PLAYER_RUN_UP - gMovementActionFuncs_PlayerRunLeft, // MOVEMENT_ACTION_PLAYER_RUN_LEFT - gMovementActionFuncs_PlayerRunRight, // MOVEMENT_ACTION_PLAYER_RUN_RIGHT - gMovementActionFuncs_StartAnimInDirection, // MOVEMENT_ACTION_START_ANIM_IN_DIRECTION - gMovementActionFuncs_JumpSpecialDown, // MOVEMENT_ACTION_JUMP_SPECIAL_DOWN - gMovementActionFuncs_JumpSpecialUp, // MOVEMENT_ACTION_JUMP_SPECIAL_UP - gMovementActionFuncs_JumpSpecialLeft, // MOVEMENT_ACTION_JUMP_SPECIAL_LEFT - gMovementActionFuncs_JumpSpecialRight, // MOVEMENT_ACTION_JUMP_SPECIAL_RIGHT - gMovementActionFuncs_FacePlayer, // MOVEMENT_ACTION_FACE_PLAYER - gMovementActionFuncs_FaceAwayPlayer, // MOVEMENT_ACTION_FACE_AWAY_PLAYER - gMovementActionFuncs_LockFacingDirection, // MOVEMENT_ACTION_LOCK_FACING_DIRECTION - gMovementActionFuncs_UnlockFacingDirection, // MOVEMENT_ACTION_UNLOCK_FACING_DIRECTION - gMovementActionFuncs_JumpDown, // MOVEMENT_ACITON_JUMP_DOWN - gMovementActionFuncs_JumpUp, // MOVEMENT_ACITON_JUMP_UP - gMovementActionFuncs_JumpLeft, // MOVEMENT_ACITON_JUMP_LEFT - gMovementActionFuncs_JumpRight, // MOVEMENT_ACITON_JUMP_RIGHT - gMovementActionFuncs_JumpInPlaceDown, // MOVEMENT_ACTION_JUMP_IN_PLACE_DOWN - gMovementActionFuncs_JumpInPlaceUp, // MOVEMENT_ACTION_JUMP_IN_PLACE_UP - gMovementActionFuncs_JumpInPlaceLeft, // MOVEMENT_ACTION_JUMP_IN_PLACE_LEFT - gMovementActionFuncs_JumpInPlaceRight, // MOVEMENT_ACTION_JUMP_IN_PLACE_RIGHT - gMovementActionFuncs_JumpInPlaceDownUp, // MOVEMENT_ACTION_JUMP_IN_PLACE_DOWN_UP - gMovementActionFuncs_JumpInPlaceUpDown, // MOVEMENT_ACTION_JUMP_IN_PLACE_UP_DOWN - gMovementActionFuncs_JumpInPlaceLeftRight, // MOVEMENT_ACTION_JUMP_IN_PLACE_LEFT_RIGHT - gMovementActionFuncs_JumpInPlaceRightLeft, // MOVEMENT_ACTION_JUMP_IN_PLACE_RIGHT_LEFT - gMovementActionFuncs_FaceOriginalDirection, // MOVEMENT_ACTION_FACE_ORIGINAL_DIRECTION - gMovementActionFuncs_NurseJoyBowDown, // MOVEMENT_ACTION_NURSE_JOY_BOW_DOWN - gMovementActionFuncs_EnableJumpLandingGroundEffect, // MOVEMENT_ACTION_ENABLE_JUMP_LANDING_GROUND_EFFECT - gMovementActionFuncs_DisableJumpLandingGroundEffect, // MOVEMENT_ACTION_DISABLE_JUMP_LANDING_GROUND_EFFECT - gMovementActionFuncs_DisableAnimation, // MOVEMENT_ACTION_DISABLE_ANIMATION - gMovementActionFuncs_RestoreAnimation, // MOVEMENT_ACTION_RESTORE_ANIMATION - gMovementActionFuncs_SetInvisible, // MOVEMENT_ACTION_SET_INVISIBLE - gMovementActionFuncs_SetVisible, // MOVEMENT_ACTION_SET_VISIBLE - gMovementActionFuncs_EmoteExclamationMark, // MOVEMENT_ACTION_EMOTE_EXCLAMATION_MARK - gMovementActionFuncs_EmoteQuestionMark, // MOVEMENT_ACTION_EMOTE_QUESTION_MARK - gMovementActionFuncs_EmoteHeart, // MOVEMENT_ACTION_EMOTE_HEART - gMovementActionFuncs_RevealTrainer, // MOVEMENT_ACTION_REVEAL_TRAINER - gMovementActionFuncs_RockSmashBreak, // MOVEMENT_ACTION_ROCK_SMASH_BREAK - gMovementActionFuncs_CutTree, // MOVEMENT_ACTION_CUT_TREE - gMovementActionFuncs_SetFixedPriority, // MOVEMENT_ACTION_SET_FIXED_PRIORITY - gMovementActionFuncs_ClearFixedPriority, // MOVEMENT_ACTION_CLEAR_FIXED_PRIORITY - gMovementActionFuncs_InitAffineAnim, // MOVEMENT_ACTION_INIT_AFFINE_ANIM - gMovementActionFuncs_ClearAffineAnim, // MOVEMENT_ACTION_CLEAR_AFFINE_ANIM - gMovementActionFuncs_WalkDownAffine0, // MOVEMENT_ACTION_WALK_DOWN_AFFINE_0 - gMovementActionFuncs_WalkDownAffine1, // MOVEMENT_ACTION_WALK_DOWN_AFFINE_1 - gMovementActionFuncs_AcroWheelieFaceDown, // MOVEMENT_ACTION_ACRO_WHEELIE_FACE_DOWN - gMovementActionFuncs_AcroWheelieFaceUp, // MOVEMENT_ACTION_ACRO_WHEELIE_FACE_UP - gMovementActionFuncs_AcroWheelieFaceLeft, // MOVEMENT_ACTION_ACRO_WHEELIE_FACE_LEFT - gMovementActionFuncs_AcroWheelieFaceRight, // MOVEMENT_ACTION_ACRO_WHEELIE_FACE_RIGHT - gMovementActionFuncs_AcroPopWheelieDown, // MOVEMENT_ACTION_ACRO_POP_WHEELIE_DOWN - gMovementActionFuncs_AcroPopWheelieUp, // MOVEMENT_ACTION_ACRO_POP_WHEELIE_UP - gMovementActionFuncs_AcroPopWheelieLeft, // MOVEMENT_ACTION_ACRO_POP_WHEELIE_LEFT - gMovementActionFuncs_AcroPopWheelieRight, // MOVEMENT_ACTION_ACRO_POP_WHEELIE_RIGHT - gMovementActionFuncs_AcroEndWheelieFaceDown, // MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_DOWN - gMovementActionFuncs_AcroEndWheelieFaceUp, // MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_UP - gMovementActionFuncs_AcroEndWheelieFaceLeft, // MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_LEFT - gMovementActionFuncs_AcroEndWheelieFaceRight, // MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_RIGHT - gMovementActionFuncs_AcroWheelieHopFaceDown, // MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_DOWN - gMovementActionFuncs_AcroWheelieHopFaceUp, // MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_UP - gMovementActionFuncs_AcroWheelieHopFaceLeft, // MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_LEFT - gMovementActionFuncs_AcroWheelieHopFaceRight, // MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_RIGHT - gMovementActionFuncs_AcroWheelieHopDown, // MOVEMENT_ACTION_ACRO_WHEELIE_HOP_DOWN - gMovementActionFuncs_AcroWheelieHopUp, // MOVEMENT_ACTION_ACRO_WHEELIE_HOP_UP - gMovementActionFuncs_AcroWheelieHopLeft, // MOVEMENT_ACTION_ACRO_WHEELIE_HOP_LEFT - gMovementActionFuncs_AcroWheelieHopRight, // MOVEMENT_ACTION_ACRO_WHEELIE_HOP_RIGHT - gMovementActionFuncs_AcroWheelieJumpDown, // MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_DOWN - gMovementActionFuncs_AcroWheelieJumpUp, // MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_UP - gMovementActionFuncs_AcroWheelieJumpLeft, // MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_LEFT - gMovementActionFuncs_AcroWheelieJumpRight, // MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_RIGHT - gMovementActionFuncs_AcroWheelieInPlaceDown, // MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_DOWN - gMovementActionFuncs_AcroWheelieInPlaceUp, // MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_UP - gMovementActionFuncs_AcroWheelieInPlaceLeft, // MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_LEFT - gMovementActionFuncs_AcroWheelieInPlaceRight, // MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_RIGHT - gMovementActionFuncs_AcroPopWheelieMoveDown, // MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_DOWN - gMovementActionFuncs_AcroPopWheelieMoveUp, // MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_UP - gMovementActionFuncs_AcroPopWheelieMoveLeft, // MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_LEFT - gMovementActionFuncs_AcroPopWheelieMoveRight, // MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_RIGHT - gMovementActionFuncs_AcroWheelieMoveDown, // MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_DOWN - gMovementActionFuncs_AcroWheelieMoveUp, // MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_UP - gMovementActionFuncs_AcroWheelieMoveLeft, // MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_LEFT - gMovementActionFuncs_AcroWheelieMoveRight, // MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_RIGHT - gMovementActionFuncs_AcroEndWheelieMoveDown, // MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_DOWN - gMovementActionFuncs_AcroEndWheelieMoveUp, // MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_UP - gMovementActionFuncs_AcroEndWheelieMoveLeft, // MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_LEFT - gMovementActionFuncs_AcroEndWheelieMoveRight, // MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_RIGHT -}; - - -u8 (*const gMovementActionFuncs_FaceDown[])(struct MapObject *, struct Sprite *) = { - MovementAction_FaceDown_Step0, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_FaceUp[])(struct MapObject *, struct Sprite *) = { - MovementAction_FaceUp_Step0, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_FaceLeft[])(struct MapObject *, struct Sprite *) = { - MovementAction_FaceLeft_Step0, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_FaceRight[])(struct MapObject *, struct Sprite *) = { - MovementAction_FaceRight_Step0, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gUnknown_083759C0[])(u8) = { - GetMoveDirectionAnimNum, - GetMoveDirectionFastAnimNum, - GetMoveDirectionFastAnimNum, - GetMoveDirectionFasterAnimNum, - GetMoveDirectionFastestAnimNum -}; - -u8 (*const gMovementActionFuncs_WalkSlowDown[])(struct MapObject *, struct Sprite *) = { - MovementAction_WalkSlowDown_Step0, - MovementAction_WalkSlowDown_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_WalkSlowUp[])(struct MapObject *, struct Sprite *) = { - MovementAction_WalkSlowUp_Step0, - MovementAction_WalkSlowUp_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_WalkSlowLeft[])(struct MapObject *, struct Sprite *) = { - MovementAction_WalkSlowLeft_Step0, - MovementAction_WalkSlowLeft_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_WalkSlowRight[])(struct MapObject *, struct Sprite *) = { - MovementAction_WalkSlowRight_Step0, - MovementAction_WalkSlowRight_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_WalkNormalDown[])(struct MapObject *, struct Sprite *) = { - MovementAction_WalkNormalDown_Step0, - MovementAction_WalkNormalDown_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_WalkNormalUp[])(struct MapObject *, struct Sprite *) = { - MovementAction_WalkNormalUp_Step0, - MovementAction_WalkNormalUp_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_WalkNormalLeft[])(struct MapObject *, struct Sprite *) = { - MovementAction_WalkNormalLeft_Step0, - MovementAction_WalkNormalLeft_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_WalkNormalRight[])(struct MapObject *, struct Sprite *) = { - MovementAction_WalkNormalRight_Step0, - MovementAction_WalkNormalRight_Step1, - MovementAction_PauseSpriteAnim -}; - -const s16 gUnknown_08375A34[] = {0, 1, 1}; -const s16 gUnknown_08375A3A[] = {0, 0, 1}; - -u8 (*const gMovementActionFuncs_Jump2Down[])(struct MapObject *, struct Sprite *) = { - MovementAction_Jump2Down_Step0, - MovementAction_Jump2Down_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_Jump2Up[])(struct MapObject *, struct Sprite *) = { - MovementAction_Jump2Up_Step0, - MovementAction_Jump2Up_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_Jump2Left[])(struct MapObject *, struct Sprite *) = { - MovementAction_Jump2Left_Step0, - MovementAction_Jump2Left_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_Jump2Right[])(struct MapObject *, struct Sprite *) = { - MovementAction_Jump2Right_Step0, - MovementAction_Jump2Right_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_Delay1[])(struct MapObject *, struct Sprite *) = { - MovementAction_Delay1_Step0, - MovementAction_Delay_Step1, - MovementAction_Finish -}; - -u8 (*const gMovementActionFuncs_Delay2[])(struct MapObject *, struct Sprite *) = { - MovementAction_Delay2_Step0, - MovementAction_Delay_Step1, - MovementAction_Finish -}; - -u8 (*const gMovementActionFuncs_Delay4[])(struct MapObject *, struct Sprite *) = { - MovementAction_Delay4_Step0, - MovementAction_Delay_Step1, - MovementAction_Finish -}; - -u8 (*const gMovementActionFuncs_Delay8[])(struct MapObject *, struct Sprite *) = { - MovementAction_Delay8_Step0, - MovementAction_Delay_Step1, - MovementAction_Finish -}; - -u8 (*const gMovementActionFuncs_Delay16[])(struct MapObject *, struct Sprite *) = { - MovementAction_Delay16_Step0, - MovementAction_Delay_Step1, - MovementAction_Finish -}; - -u8 (*const gMovementActionFuncs_WalkFastDown[])(struct MapObject *, struct Sprite *) = { - MovementAction_WalkFastDown_Step0, - MovementAction_WalkFastDown_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_WalkFastUp[])(struct MapObject *, struct Sprite *) = { - MovementAction_WalkFastUp_Step0, - MovementAction_WalkFastUp_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_WalkFastLeft[])(struct MapObject *, struct Sprite *) = { - MovementAction_WalkFastLeft_Step0, - MovementAction_WalkFastLeft_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_WalkFastRight[])(struct MapObject *, struct Sprite *) = { - MovementAction_WalkFastRight_Step0, - MovementAction_WalkFastRight_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_WalkInPlaceSlowDown[])(struct MapObject *, struct Sprite *) = { - MovementAction_WalkInPlaceSlowDown_Step0, - MovementAction_WalkInPlaceSlow_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_WalkInPlaceSlowUp[])(struct MapObject *, struct Sprite *) = { - MovementAction_WalkInPlaceSlowUp_Step0, - MovementAction_WalkInPlaceSlow_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_WalkInPlaceSlowLeft[])(struct MapObject *, struct Sprite *) = { - MovementAction_WalkInPlaceSlowLeft_Step0, - MovementAction_WalkInPlaceSlow_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_WalkInPlaceSlowRight[])(struct MapObject *, struct Sprite *) = { - MovementAction_WalkInPlaceSlowRight_Step0, - MovementAction_WalkInPlaceSlow_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_WalkInPlaceNormalDown[])(struct MapObject *, struct Sprite *) = { - MovementAction_WalkInPlaceNormalDown_Step0, - MovementAction_WalkInPlace_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_WalkInPlaceNormalUp[])(struct MapObject *, struct Sprite *) = { - MovementAction_WalkInPlaceNormalUp_Step0, - MovementAction_WalkInPlace_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_WalkInPlaceNormalLeft[])(struct MapObject *, struct Sprite *) = { - MovementAction_WalkInPlaceNormalLeft_Step0, - MovementAction_WalkInPlace_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_WalkInPlaceNormalRight[])(struct MapObject *, struct Sprite *) = { - MovementAction_WalkInPlaceNormalRight_Step0, - MovementAction_WalkInPlace_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_WalkInPlaceFastDown[])(struct MapObject *, struct Sprite *) = { - MovementAction_WalkInPlaceFastDown_Step0, - MovementAction_WalkInPlace_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_WalkInPlaceFastUp[])(struct MapObject *, struct Sprite *) = { - MovementAction_WalkInPlaceFastUp_Step0, - MovementAction_WalkInPlace_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_WalkInPlaceFastLeft[])(struct MapObject *, struct Sprite *) = { - MovementAction_WalkInPlaceFastLeft_Step0, - MovementAction_WalkInPlace_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_WalkInPlaceFastRight[])(struct MapObject *, struct Sprite *) = { - MovementAction_WalkInPlaceFastRight_Step0, - MovementAction_WalkInPlace_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_WalkInPlaceFastestDown[])(struct MapObject *, struct Sprite *) = { - MovementAction_WalkInPlaceFastestDown_Step0, - MovementAction_WalkInPlace_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_WalkInPlaceFastestUp[])(struct MapObject *, struct Sprite *) = { - MovementAction_WalkInPlaceFastestUp_Step0, - MovementAction_WalkInPlace_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_WalkInPlaceFastestLeft[])(struct MapObject *, struct Sprite *) = { - MovementAction_WalkInPlaceFastestLeft_Step0, - MovementAction_WalkInPlace_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_WalkInPlaceFastestRight[])(struct MapObject *, struct Sprite *) = { - MovementAction_WalkInPlaceFastestRight_Step0, - MovementAction_WalkInPlace_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_RideWaterCurrentDown[])(struct MapObject *, struct Sprite *) = { - MovementAction_RideWaterCurrentDown_Step0, - MovementAction_RideWaterCurrentDown_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_RideWaterCurrentUp[])(struct MapObject *, struct Sprite *) = { - MovementAction_RideWaterCurrentUp_Step0, - MovementAction_RideWaterCurrentUp_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_RideWaterCurrentLeft[])(struct MapObject *, struct Sprite *) = { - MovementAction_RideWaterCurrentLeft_Step0, - MovementAction_RideWaterCurrentLeft_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_RideWaterCurrentRight[])(struct MapObject *, struct Sprite *) = { - MovementAction_RideWaterCurrentRight_Step0, - MovementAction_RideWaterCurrentRight_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_WalkFastestDown[])(struct MapObject *, struct Sprite *) = { - MovementAction_WalkFastestDown_Step0, - MovementAction_WalkFastestDown_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_WalkFastestUp[])(struct MapObject *, struct Sprite *) = { - MovementAction_WalkFastestUp_Step0, - MovementAction_WalkFastestUp_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_WalkFastestLeft[])(struct MapObject *, struct Sprite *) = { - MovementAction_WalkFastestLeft_Step0, - MovementAction_WalkFastestLeft_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_WalkFastestRight[])(struct MapObject *, struct Sprite *) = { - MovementAction_WalkFastestRight_Step0, - MovementAction_WalkFastestRight_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_SlideDown[])(struct MapObject *, struct Sprite *) = { - MovementAction_SlideDown_Step0, - MovementAction_SlideDown_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_SlideUp[])(struct MapObject *, struct Sprite *) = { - MovementAction_SlideUp_Step0, - MovementAction_SlideUp_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_SlideLeft[])(struct MapObject *, struct Sprite *) = { - MovementAction_SlideLeft_Step0, - MovementAction_SlideLeft_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_SlideRight[])(struct MapObject *, struct Sprite *) = { - MovementAction_SlideRight_Step0, - MovementAction_SlideRight_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_PlayerRunDown[])(struct MapObject *, struct Sprite *) = { - MovementAction_PlayerRunDown_Step0, - MovementAction_PlayerRunDown_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_PlayerRunUp[])(struct MapObject *, struct Sprite *) = { - MovementAction_PlayerRunUp_Step0, - MovementAction_PlayerRunUp_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_PlayerRunLeft[])(struct MapObject *, struct Sprite *) = { - MovementAction_PlayerRunLeft_Step0, - MovementAction_PlayerRunLeft_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_PlayerRunRight[])(struct MapObject *, struct Sprite *) = { - MovementAction_PlayerRunRight_Step0, - MovementAction_PlayerRunRight_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_StartAnimInDirection[])(struct MapObject *, struct Sprite *) = { - MovementAction_StartAnimInDirection_Step0, - MovementAction_WaitSpriteAnim, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_JumpSpecialDown[])(struct MapObject *, struct Sprite *) = { - MovementAction_JumpSpecialDown_Step0, - MovementAction_JumpSpecialDown_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_JumpSpecialUp[])(struct MapObject *, struct Sprite *) = { - MovementAction_JumpSpecialUp_Step0, - MovementAction_JumpSpecialUp_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_JumpSpecialLeft[])(struct MapObject *, struct Sprite *) = { - MovementAction_JumpSpecialLeft_Step0, - MovementAction_JumpSpecialLeft_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_JumpSpecialRight[])(struct MapObject *, struct Sprite *) = { - MovementAction_JumpSpecialRight_Step0, - MovementAction_JumpSpecialRight_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_FacePlayer[])(struct MapObject *, struct Sprite *) = { - MovementAction_FacePlayer_Step0, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_FaceAwayPlayer[])(struct MapObject *, struct Sprite *) = { - MovementAction_FaceAwayPlayer_Step0, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_LockFacingDirection[])(struct MapObject *, struct Sprite *) = { - MovementAction_LockFacingDirection_Step0, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_UnlockFacingDirection[])(struct MapObject *, struct Sprite *) = { - MovementAction_UnlockFacingDirection_Step0, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_JumpDown[])(struct MapObject *, struct Sprite *) = { - MovementAction_JumpDown_Step0, - MovementAction_JumpDown_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_JumpUp[])(struct MapObject *, struct Sprite *) = { - MovementAction_JumpUp_Step0, - MovementAction_JumpUp_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_JumpLeft[])(struct MapObject *, struct Sprite *) = { - MovementAction_JumpLeft_Step0, - MovementAction_JumpLeft_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_JumpRight[])(struct MapObject *, struct Sprite *) = { - MovementAction_JumpRight_Step0, - MovementAction_JumpRight_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_JumpInPlaceDown[])(struct MapObject *, struct Sprite *) = { - MovementAction_JumpInPlaceDown_Step0, - MovementAction_JumpInPlaceDown_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_JumpInPlaceUp[])(struct MapObject *, struct Sprite *) = { - MovementAction_JumpInPlaceUp_Step0, - MovementAction_JumpInPlaceUp_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_JumpInPlaceLeft[])(struct MapObject *, struct Sprite *) = { - MovementAction_JumpInPlaceLeft_Step0, - MovementAction_JumpInPlaceLeft_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_JumpInPlaceRight[])(struct MapObject *, struct Sprite *) = { - MovementAction_JumpInPlaceRight_Step0, - MovementAction_JumpInPlaceRight_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_JumpInPlaceDownUp[])(struct MapObject *, struct Sprite *) = { - MovementAction_JumpInPlaceDownUp_Step0, - MovementAction_JumpInPlaceDownUp_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_JumpInPlaceUpDown[])(struct MapObject *, struct Sprite *) = { - MovementAction_JumpInPlaceUpDown_Step0, - MovementAction_JumpInPlaceUpDown_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_JumpInPlaceLeftRight[])(struct MapObject *, struct Sprite *) = { - MovementAction_JumpInPlaceLeftRight_Step0, - MovementAction_JumpInPlaceLeftRight_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_JumpInPlaceRightLeft[])(struct MapObject *, struct Sprite *) = { - MovementAction_JumpInPlaceRightLeft_Step0, - MovementAction_JumpInPlaceRightLeft_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_FaceOriginalDirection[])(struct MapObject *, struct Sprite *) = { - MovementAction_FaceOriginalDirection_Step0, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_NurseJoyBowDown[])(struct MapObject *, struct Sprite *) = { - MovementAction_NurseJoyBowDown_Step0, - MovementAction_WaitSpriteAnim, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_EnableJumpLandingGroundEffect[])(struct MapObject *, struct Sprite *) = { - MovementAction_EnableJumpLandingGroundEffect_Step0, - MovementAction_Finish -}; - -u8 (*const gMovementActionFuncs_DisableJumpLandingGroundEffect[])(struct MapObject *, struct Sprite *) = { - MovementAction_DisableJumpLandingGroundEffect_Step0, - MovementAction_Finish -}; - -u8 (*const gMovementActionFuncs_DisableAnimation[])(struct MapObject *, struct Sprite *) = { - MovementAction_DisableAnimation_Step0, - MovementAction_Finish -}; - -u8 (*const gMovementActionFuncs_RestoreAnimation[])(struct MapObject *, struct Sprite *) = { - MovementAction_RestoreAnimation_Step0, - MovementAction_Finish -}; - -u8 (*const gMovementActionFuncs_SetInvisible[])(struct MapObject *, struct Sprite *) = { - MovementAction_SetInvisible_Step0, - MovementAction_Finish -}; - -u8 (*const gMovementActionFuncs_SetVisible[])(struct MapObject *, struct Sprite *) = { - MovementAction_SetVisible_Step0, - MovementAction_Finish -}; - -u8 (*const gMovementActionFuncs_EmoteExclamationMark[])(struct MapObject *, struct Sprite *) = { - MovementAction_EmoteExclamationMark_Step0, - MovementAction_Finish -}; - -u8 (*const gMovementActionFuncs_EmoteQuestionMark[])(struct MapObject *, struct Sprite *) = { - MovementAction_EmoteQuestionMark_Step0, - MovementAction_Finish -}; - -u8 (*const gMovementActionFuncs_EmoteHeart[])(struct MapObject *, struct Sprite *) = { - MovementAction_EmoteHeart_Step0, - MovementAction_Finish -}; - -u8 (*const gMovementActionFuncs_RevealTrainer[])(struct MapObject *, struct Sprite *) = { - MovementAction_RevealTrainer_Step0, - MovementAction_RevealTrainer_Step1, - MovementAction_Finish -}; - -u8 (*const gMovementActionFuncs_RockSmashBreak[])(struct MapObject *, struct Sprite *) = { - MovementAction_RockSmashBreak_Step0, - MovementAction_RockSmashBreak_Step1, - MovementAction_RockSmashBreak_Step2, - MovementAction_Finish -}; - -u8 (*const gMovementActionFuncs_CutTree[])(struct MapObject *, struct Sprite *) = { - MovementAction_CutTree_Step0, - MovementAction_CutTree_Step1, - MovementAction_CutTree_Step2, - MovementAction_Finish -}; - -u8 (*const gMovementActionFuncs_SetFixedPriority[])(struct MapObject *, struct Sprite *) = { - MovementAction_SetFixedPriority_Step0, - MovementAction_Finish -}; - -u8 (*const gMovementActionFuncs_ClearFixedPriority[])(struct MapObject *, struct Sprite *) = { - MovementAction_ClearFixedPriority_Step0, - MovementAction_Finish -}; - -u8 (*const gMovementActionFuncs_InitAffineAnim[])(struct MapObject *, struct Sprite *) = { - MovementAction_InitAffineAnim_Step0, - MovementAction_Finish -}; - -u8 (*const gMovementActionFuncs_ClearAffineAnim[])(struct MapObject *, struct Sprite *) = { - MovementAction_ClearAffineAnim_Step0, - MovementAction_Finish -}; - -u8 (*const gMovementActionFuncs_WalkDownAffine0[])(struct MapObject *, struct Sprite *) = { - MovementAction_WalkDownAffine0_Step0, - MovementAction_WalkDownAffine0_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_WalkDownAffine1[])(struct MapObject *, struct Sprite *) = { - MovementAction_WalkDownAffine1_Step0, - MovementAction_WalkDownAffine1_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroWheelieFaceDown[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroWheelieFaceDown_Step0, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroWheelieFaceUp[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroWheelieFaceUp_Step0, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroWheelieFaceLeft[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroWheelieFaceLeft_Step0, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroWheelieFaceRight[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroWheelieFaceRight_Step0, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroPopWheelieDown[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroPopWheelieDown_Step0, - MovementAction_WaitSpriteAnim, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroPopWheelieUp[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroPopWheelieUp_Step0, - MovementAction_WaitSpriteAnim, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroPopWheelieLeft[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroPopWheelieLeft_Step0, - MovementAction_WaitSpriteAnim, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroPopWheelieRight[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroPopWheelieRight_Step0, - MovementAction_WaitSpriteAnim, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroEndWheelieFaceDown[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroEndWheelieFaceDown_Step0, - MovementAction_WaitSpriteAnim, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroEndWheelieFaceUp[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroEndWheelieFaceUp_Step0, - MovementAction_WaitSpriteAnim, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroEndWheelieFaceLeft[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroEndWheelieFaceLeft_Step0, - MovementAction_WaitSpriteAnim, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroEndWheelieFaceRight[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroEndWheelieFaceRight_Step0, - MovementAction_WaitSpriteAnim, - MovementAction_PauseSpriteAnim, -}; - -u8 (*const gMovementActionFuncs_UnusedAcroActionDown[])(struct MapObject *, struct Sprite *) = { - MovementAction_UnusedAcroActionDown_Step0, - MovementAction_WaitSpriteAnim, - MovementAction_PauseSpriteAnim, -}; - -u8 (*const gMovementActionFuncs_UnusedAcroActionUp[])(struct MapObject *, struct Sprite *) = { - MovementAction_UnusedAcroActionUp_Step0, - MovementAction_WaitSpriteAnim, - MovementAction_PauseSpriteAnim, -}; - -u8 (*const gMovementActionFuncs_UnusedAcroActionLeft[])(struct MapObject *, struct Sprite *) = { - MovementAction_UnusedAcroActionLeft_Step0, - MovementAction_WaitSpriteAnim, - MovementAction_PauseSpriteAnim, -}; - -u8 (*const gMovementActionFuncs_UnusedAcroActionRight[])(struct MapObject *, struct Sprite *) = { - MovementAction_UnusedAcroActionRight_Step0, - MovementAction_WaitSpriteAnim, - MovementAction_PauseSpriteAnim, -}; - -u8 (*const gMovementActionFuncs_AcroWheelieHopFaceDown[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroWheelieHopFaceDown_Step0, - MovementAction_AcroWheelieHopFaceDown_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroWheelieHopFaceUp[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroWheelieHopFaceUp_Step0, - MovementAction_AcroWheelieHopFaceUp_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroWheelieHopFaceLeft[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroWheelieHopFaceLeft_Step0, - MovementAction_AcroWheelieHopFaceLeft_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroWheelieHopFaceRight[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroWheelieHopFaceRight_Step0, - MovementAction_AcroWheelieHopFaceRight_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroWheelieHopDown[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroWheelieHopDown_Step0, - MovementAction_AcroWheelieHopDown_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroWheelieHopUp[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroWheelieHopUp_Step0, - MovementAction_AcroWheelieHopUp_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroWheelieHopLeft[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroWheelieHopLeft_Step0, - MovementAction_AcroWheelieHopLeft_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroWheelieHopRight[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroWheelieHopRight_Step0, - MovementAction_AcroWheelieHopRight_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroWheelieJumpDown[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroWheelieJumpDown_Step0, - MovementAction_AcroWheelieJumpDown_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroWheelieJumpUp[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroWheelieJumpUp_Step0, - MovementAction_AcroWheelieJumpUp_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroWheelieJumpLeft[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroWheelieJumpLeft_Step0, - MovementAction_AcroWheelieJumpLeft_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroWheelieJumpRight[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroWheelieJumpRight_Step0, - MovementAction_AcroWheelieJumpRight_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroWheelieInPlaceDown[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroWheelieInPlaceDown_Step0, - MovementAction_WalkInPlace_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroWheelieInPlaceUp[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroWheelieInPlaceUp_Step0, - MovementAction_WalkInPlace_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroWheelieInPlaceLeft[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroWheelieInPlaceLeft_Step0, - MovementAction_WalkInPlace_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroWheelieInPlaceRight[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroWheelieInPlaceRight_Step0, - MovementAction_WalkInPlace_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroPopWheelieMoveDown[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroPopWheelieMoveDown_Step0, - MovementAction_AcroPopWheelieMoveDown_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroPopWheelieMoveUp[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroPopWheelieMoveUp_Step0, - MovementAction_AcroPopWheelieMoveUp_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroPopWheelieMoveLeft[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroPopWheelieMoveLeft_Step0, - MovementAction_AcroPopWheelieMoveLeft_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroPopWheelieMoveRight[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroPopWheelieMoveRight_Step0, - MovementAction_AcroPopWheelieMoveRight_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroWheelieMoveDown[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroWheelieMoveDown_Step0, - MovementAction_AcroWheelieMoveDown_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroWheelieMoveUp[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroWheelieMoveUp_Step0, - MovementAction_AcroWheelieMoveUp_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroWheelieMoveLeft[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroWheelieMoveLeft_Step0, - MovementAction_AcroWheelieMoveLeft_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroWheelieMoveRight[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroWheelieMoveRight_Step0, - MovementAction_AcroWheelieMoveRight_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroEndWheelieMoveDown[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroEndWheelieMoveDown_Step0, - MovementAction_AcroEndWheelieMoveDown_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroEndWheelieMoveUp[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroEndWheelieMoveUp_Step0, - MovementAction_AcroEndWheelieMoveUp_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroEndWheelieMoveLeft[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroEndWheelieMoveLeft_Step0, - MovementAction_AcroEndWheelieMoveLeft_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroEndWheelieMoveRight[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroEndWheelieMoveRight_Step0, - MovementAction_AcroEndWheelieMoveRight_Step1, - MovementAction_PauseSpriteAnim -}; - -#endif //POKERUBY_ANIM_FUNC_PTRS_H diff --git a/src/data/field_map_obj/callback_subroutine_pointers.h b/src/data/field_map_obj/callback_subroutine_pointers.h deleted file mode 100644 index 04bbb2479..000000000 --- a/src/data/field_map_obj/callback_subroutine_pointers.h +++ /dev/null @@ -1,443 +0,0 @@ -// - -// - -#ifndef POKERUBY_CALLBACK_SUBROUTINE_POINTERS_H -#define POKERUBY_CALLBACK_SUBROUTINE_POINTERS_H - - -u8 (*const gMovementTypeFuncs_WanderAround[])(struct MapObject *, struct Sprite *) = { - MovementType_WanderAround_Step0, - MovementType_WanderAround_Step1, - MovementType_WanderAround_Step2, - MovementType_WanderAround_Step3, - MovementType_WanderAround_Step4, - MovementType_WanderAround_Step5, - MovementType_WanderAround_Step6 -}; - -const u8 gStandardDirections[] = {DIR_SOUTH, DIR_NORTH, DIR_WEST, DIR_EAST}; - -u8 (*const gUnknown_08375244[])(s16, s16, s16, s16) = { - sub_805CAAC, - sub_805CADC, - sub_805CAEC, - sub_805CB00, - sub_805CB5C, - sub_805CBB8, - sub_805CC14, - sub_805CC70, - sub_805CCAC, - sub_805CCE8, - sub_805CD24 -}; - -u8 (*const gMovementTypeFuncs_LookAround[])(struct MapObject *, struct Sprite *) = { - MovementType_LookAround_Step0, - MovementType_LookAround_Step1, - MovementType_LookAround_Step2, - MovementType_LookAround_Step3, - MovementType_LookAround_Step4, -}; - -u8 (*const gMovementTypeFuncs_WanderUpAndDown[])(struct MapObject *, struct Sprite *) = { - MovementType_WanderUpAndDown_Step0, - MovementType_WanderUpAndDown_Step1, - MovementType_WanderUpAndDown_Step2, - MovementType_WanderUpAndDown_Step3, - MovementType_WanderUpAndDown_Step4, - MovementType_WanderUpAndDown_Step5, - MovementType_WanderUpAndDown_Step6, -}; - -const u8 gUpAndDownDirections[] = {DIR_SOUTH, DIR_NORTH}; - -u8 (*const gMovementTypeFuncs_WanderLeftAndRight[])(struct MapObject *, struct Sprite *) = { - MovementType_WanderLeftAndRight_Step0, - MovementType_WanderLeftAndRight_Step1, - MovementType_WanderLeftAndRight_Step2, - MovementType_WanderLeftAndRight_Step3, - MovementType_WanderLeftAndRight_Step4, - MovementType_WanderLeftAndRight_Step5, - MovementType_WanderLeftAndRight_Step6, -}; - -const u8 gLeftAndRightDirections[] = {DIR_WEST, DIR_EAST}; - -u8 (*const gMovementTypeFuncs_FaceDirection[])(struct MapObject *, struct Sprite *) = { - MovementType_FaceDirection_Step0, - MovementType_FaceDirection_Step1, - MovementType_FaceDirection_Step2, -}; - -u8 (*const gMovementTypeFuncs_BerryTreeGrowth[])(struct MapObject *, struct Sprite *) = { - MovementType_BerryTreeGrowth_Step0, - MovementType_BerryTreeGrowth_Step1, - MovementType_BerryTreeGrowth_Step2, - MovementType_BerryTreeGrowth_Step3, - MovementType_BerryTreeGrowth_Step4, -}; - -u8 (*const gMovementTypeFuncs_FaceDownAndUp[])(struct MapObject *, struct Sprite *) = { - MovementType_FaceDownAndUp_Step0, - MovementType_FaceDownAndUp_Step1, - MovementType_FaceDownAndUp_Step2, - MovementType_FaceDownAndUp_Step3, - MovementType_FaceDownAndUp_Step4, -}; - -u8 (*const gMovementTypeFuncs_FaceLeftAndRight[])(struct MapObject *, struct Sprite *) = { - MovementType_FaceLeftAndRight_Step0, - MovementType_FaceLeftAndRight_Step1, - MovementType_FaceLeftAndRight_Step2, - MovementType_FaceLeftAndRight_Step3, - MovementType_FaceLeftAndRight_Step4, -}; - -u8 (*const gMovementTypeFuncs_FaceUpAndLeft[])(struct MapObject *, struct Sprite *) = { - MovementType_FaceUpAndLeft_Step0, - MovementType_FaceUpAndLeft_Step1, - MovementType_FaceUpAndLeft_Step2, - MovementType_FaceUpAndLeft_Step3, - MovementType_FaceUpAndLeft_Step4, -}; - -const u8 gUpAndLeftDirections[] = {DIR_NORTH, DIR_WEST}; - -u8 (*const gMovementTypeFuncs_FaceUpAndRight[])(struct MapObject *, struct Sprite *) = { - MovementType_FaceUpAndRight_Step0, - MovementType_FaceUpAndRight_Step1, - MovementType_FaceUpAndRight_Step2, - MovementType_FaceUpAndRight_Step3, - MovementType_FaceUpAndRight_Step4, -}; - -const u8 gUpAndRightDirections[] = {DIR_NORTH, DIR_EAST}; - -u8 (*const gMovementTypeFuncs_FaceDownAndLeft[])(struct MapObject *, struct Sprite *) = { - MovementType_FaceDownAndLeft_Step0, - MovementType_FaceDownAndLeft_Step1, - MovementType_FaceDownAndLeft_Step2, - MovementType_FaceDownAndLeft_Step3, - MovementType_FaceDownAndLeft_Step4, -}; - -const u8 gDownAndLeftDirections[] = {DIR_SOUTH, DIR_WEST}; - -u8 (*const gMovementTypeFuncs_FaceDownAndRight[])(struct MapObject *, struct Sprite *) = { - MovementType_FaceDownAndRight_Step0, - MovementType_FaceDownAndRight_Step1, - MovementType_FaceDownAndRight_Step2, - MovementType_FaceDownAndRight_Step3, - MovementType_FaceDownAndRight_Step4, -}; - -const u8 gDownAndRightDirections[] = {DIR_SOUTH, DIR_EAST}; - -u8 (*const gMovementTypeFuncs_FaceDownUpAndLeft[])(struct MapObject *, struct Sprite *) = { - MovementType_FaceDownUpAndLeft_Step0, - MovementType_FaceDownUpAndLeft_Step1, - MovementType_FaceDownUpAndLeft_Step2, - MovementType_FaceDownUpAndLeft_Step3, - MovementType_FaceDownUpAndLeft_Step4, -}; - -const u8 gDownUpAndLeftDirections[] = {DIR_NORTH, DIR_SOUTH, DIR_WEST, DIR_SOUTH}; - -u8 (*const gMovementTypeFuncs_FaceDownUpAndRight[])(struct MapObject *, struct Sprite *) = { - MovementType_FaceDownUpAndRight_Step0, - MovementType_FaceDownUpAndRight_Step1, - MovementType_FaceDownUpAndRight_Step2, - MovementType_FaceDownUpAndRight_Step3, - MovementType_FaceDownUpAndRight_Step4, -}; - -const u8 gDownUpAndRightDirections[] = {DIR_SOUTH, DIR_NORTH, DIR_EAST, DIR_SOUTH}; - -u8 (*const gMovementTypeFuncs_FaceUpLeftAndRight[])(struct MapObject *, struct Sprite *) = { - MovementType_FaceUpLeftAndRight_Step0, - MovementType_FaceUpLeftAndRight_Step1, - MovementType_FaceUpLeftAndRight_Step2, - MovementType_FaceUpLeftAndRight_Step3, - MovementType_FaceUpLeftAndRight_Step4, -}; - -const u8 gUpLeftAndRightDirections[] = {DIR_NORTH, DIR_WEST, DIR_EAST, DIR_NORTH}; - -u8 (*const gMovementTypeFuncs_FaceDownLeftAndRight[])(struct MapObject *, struct Sprite *) = { - MovementType_FaceDownLeftAndRight_Step0, - MovementType_FaceDownLeftAndRight_Step1, - MovementType_FaceDownLeftAndRight_Step2, - MovementType_FaceDownLeftAndRight_Step3, - MovementType_FaceDownLeftAndRight_Step4, -}; - -const u8 gDownLeftAndRightDirections[] = {DIR_WEST, DIR_EAST, DIR_SOUTH, DIR_SOUTH}; - -u8 (*const gMovementTypeFuncs_RotateCounterclockwise[])(struct MapObject *, struct Sprite *) = { - MovementType_RotateCounterclockwise_Step0, - MovementType_RotateCounterclockwise_Step1, - MovementType_RotateCounterclockwise_Step2, - MovementType_RotateCounterclockwise_Step3, -}; - -const u8 gCounterclockwiseDirections[] = {DIR_SOUTH, DIR_EAST, DIR_WEST, DIR_SOUTH, DIR_NORTH}; - -u8 (*const gMovementTypeFuncs_RotateClockwise[])(struct MapObject *, struct Sprite *) = { - MovementType_RotateClockwise_Step0, - MovementType_RotateClockwise_Step1, - MovementType_RotateClockwise_Step2, - MovementType_RotateClockwise_Step3, -}; - -const u8 gClockwiseDirections[] = {DIR_SOUTH, DIR_WEST, DIR_EAST, DIR_NORTH, DIR_SOUTH}; - -u8 (*const gMovementTypeFuncs_WalkBackAndForth[])(struct MapObject *, struct Sprite *) = { - MovementType_WalkBackAndForth_Step0, - MovementType_WalkBackAndForth_Step1, - MovementType_WalkBackAndForth_Step2, - MovementType_WalkBackAndForth_Step3, -}; - -u8 (*const gMovementTypeFuncs_WalkSequenceUpRightLeftDown[])(struct MapObject *, struct Sprite *) = { - MovementType_WalkSequence_Step0, - MovementType_WalkSequenceUpRightLeftDown_Step1, - MovementType_WalkSequence_Step2 -}; - -const u8 gUpRightLeftDownDirections[] = {DIR_NORTH, DIR_EAST, DIR_WEST, DIR_SOUTH}; - -u8 (*const gMovementTypeFuncs_WalkSequenceRightLeftDownUp[])(struct MapObject *, struct Sprite *) = { - MovementType_WalkSequence_Step0, - MovementType_WalkSequenceRightLeftDownUp_Step1, - MovementType_WalkSequence_Step2 -}; - -const u8 gRightLeftDownUpDirections[] = {DIR_EAST, DIR_WEST, DIR_SOUTH, DIR_NORTH}; - -u8 (*const gMovementTypeFuncs_WalkSequenceDownUpRightLeft[])(struct MapObject *, struct Sprite *) = { - MovementType_WalkSequence_Step0, - MovementType_WalkSequenceDownUpRightLeft_Step1, - MovementType_WalkSequence_Step2 -}; - -const u8 gDownUpRightLeftDirections[] = {DIR_SOUTH, DIR_NORTH, DIR_EAST, DIR_WEST}; - -u8 (*const gMovementTypeFuncs_WalkSequenceLeftDownUpRight[])(struct MapObject *, struct Sprite *) = { - MovementType_WalkSequence_Step0, - MovementType_WalkSequenceLeftDownUpRight_Step1, - MovementType_WalkSequence_Step2 -}; - -const u8 gLeftDownUpRightDirections[] = {DIR_WEST, DIR_SOUTH, DIR_NORTH, DIR_EAST}; - -u8 (*const gMovementTypeFuncs_WalkSequenceUpLeftRightDown[])(struct MapObject *, struct Sprite *) = { - MovementType_WalkSequence_Step0, - MovementType_WalkSequenceUpLeftRightDown_Step1, - MovementType_WalkSequence_Step2 -}; - -const u8 gUpLeftRightDownDirections[] = {DIR_NORTH, DIR_WEST, DIR_EAST, DIR_SOUTH}; - -u8 (*const gMovementTypeFuncs_WalkSequenceLeftRightDownUp[])(struct MapObject *, struct Sprite *) = { - MovementType_WalkSequence_Step0, - MovementType_WalkSequenceLeftRightDownUp_Step1, - MovementType_WalkSequence_Step2 -}; - -const u8 gLeftRightDownUpDirections[] = {DIR_WEST, DIR_EAST, DIR_SOUTH, DIR_NORTH}; - -u8 (*const gMovementTypeFuncs_WalkSequenceDownUpLeftRight[])(struct MapObject *, struct Sprite *) = { - MovementType_WalkSequence_Step0, - MovementType_WalkSequenceDownUpLeftRight_Step1, - MovementType_WalkSequence_Step2 -}; - -u8 (*const gMovementTypeFuncs_WalkSequenceRightDownUpLeft[])(struct MapObject *, struct Sprite *) = { - MovementType_WalkSequence_Step0, - MovementType_WalkSequenceRightDownUpLeft_Step1, - MovementType_WalkSequence_Step2 -}; - -const u8 gRightDownUpLeftDirections[] = {DIR_EAST, DIR_SOUTH, DIR_NORTH, DIR_WEST}; - -u8 (*const gMovementTypeFuncs_WalkSequenceLeftUpDownRight[])(struct MapObject *, struct Sprite *) = { - MovementType_WalkSequence_Step0, - MovementType_WalkSequenceLeftUpDownRight_Step1, - MovementType_WalkSequence_Step2 -}; - -const u8 gLeftUpDownRightDirections[] = {DIR_WEST, DIR_NORTH, DIR_SOUTH, DIR_EAST}; - -u8 (*const gMovementTypeFuncs_WalkSequenceUpDownRightLeft[])(struct MapObject *, struct Sprite *) = { - MovementType_WalkSequence_Step0, - MovementType_WalkSequenceUpDownRightLeft_Step1, - MovementType_WalkSequence_Step2 -}; - -const u8 gUpDownRightLeftDirections[] = {DIR_NORTH, DIR_SOUTH, DIR_EAST, DIR_WEST}; - -u8 (*const gMovementTypeFuncs_WalkSequenceRightLeftUpDown[])(struct MapObject *, struct Sprite *) = { - MovementType_WalkSequence_Step0, - MovementType_WalkSequenceRightLeftUpDown_Step1, - MovementType_WalkSequence_Step2 -}; - -const u8 gRightLeftUpDownDirections[] = {DIR_EAST, DIR_WEST, DIR_NORTH, DIR_SOUTH}; - -u8 (*const gMovementTypeFuncs_WalkSequenceDownRightLeftUp[])(struct MapObject *, struct Sprite *) = { - MovementType_WalkSequence_Step0, - MovementType_WalkSequenceDownRightLeftUp_Step1, - MovementType_WalkSequence_Step2 -}; - -const u8 gDownRightLeftUpDirections[] = {DIR_SOUTH, DIR_EAST, DIR_WEST, DIR_NORTH}; - -u8 (*const gMovementTypeFuncs_WalkSequenceRightUpDownLeft[])(struct MapObject *, struct Sprite *) = { - MovementType_WalkSequence_Step0, - MovementType_WalkSequenceRightUpDownLeft_Step1, - MovementType_WalkSequence_Step2 -}; - -const u8 gRightUpDownLeftDirections[] = {DIR_EAST, DIR_NORTH, DIR_SOUTH, DIR_WEST}; - -u8 (*const gMovementTypeFuncs_WalkSequenceUpDownLeftRight[])(struct MapObject *, struct Sprite *) = { - MovementType_WalkSequence_Step0, - MovementType_WalkSequenceUpDownLeftRight_Step1, - MovementType_WalkSequence_Step2 -}; - -const u8 gUpDownLeftRightDirections[] = {DIR_NORTH, DIR_SOUTH, DIR_WEST, DIR_EAST}; - -u8 (*const gMovementTypeFuncs_WalkSequenceLeftRightUpDown[])(struct MapObject *, struct Sprite *) = { - MovementType_WalkSequence_Step0, - MovementType_WalkSequenceLeftRightUpDown_Step1, - MovementType_WalkSequence_Step2 -}; - -const u8 gLeftRightUpDownDirections[] = {DIR_WEST, DIR_EAST, DIR_NORTH, DIR_SOUTH}; - -u8 (*const gMovementTypeFuncs_WalkSequenceDownLeftRightUp[])(struct MapObject *, struct Sprite *) = { - MovementType_WalkSequence_Step0, - MovementType_WalkSequenceDownLeftRightUp_Step1, - MovementType_WalkSequence_Step2 -}; - -const u8 gDownLeftRightUpDirections[] = {DIR_SOUTH, DIR_WEST, DIR_EAST, DIR_NORTH}; - -u8 (*const gMovementTypeFuncs_WalkSequenceUpLeftDownRight[])(struct MapObject *, struct Sprite *) = { - MovementType_WalkSequence_Step0, - MovementType_WalkSequenceUpLeftDownRight_Step1, - MovementType_WalkSequence_Step2 -}; - -const u8 gUpLeftDownRightDirections[] = {DIR_NORTH, DIR_WEST, DIR_SOUTH, DIR_EAST}; - -u8 (*const gMovementTypeFuncs_WalkSequenceDownRightUpLeft[])(struct MapObject *, struct Sprite *) = { - MovementType_WalkSequence_Step0, - MovementType_WalkSequenceDownRightUpLeft_Step1, - MovementType_WalkSequence_Step2 -}; - -const u8 gDownRightUpLeftDirections[] = {DIR_SOUTH, DIR_EAST, DIR_NORTH, DIR_WEST}; - -u8 (*const gMovementTypeFuncs_WalkSequenceLeftDownRightUp[])(struct MapObject *, struct Sprite *) = { - MovementType_WalkSequence_Step0, - MovementType_WalkSequenceLeftDownRightUp_Step1, - MovementType_WalkSequence_Step2 -}; - -const u8 gLeftDownRightUpDirections[] = {DIR_WEST, DIR_SOUTH, DIR_EAST, DIR_NORTH}; - -u8 (*const gMovementTypeFuncs_WalkSequenceRightUpLeftDown[])(struct MapObject *, struct Sprite *) = { - MovementType_WalkSequence_Step0, - MovementType_WalkSequenceRightUpLeftDown_Step1, - MovementType_WalkSequence_Step2 -}; - -const u8 gRightUpLeftDownDirections[] = {DIR_EAST, DIR_NORTH, DIR_WEST, DIR_SOUTH}; - -u8 (*const gMovementTypeFuncs_WalkSequenceUpRightDownLeft[])(struct MapObject *, struct Sprite *) = { - MovementType_WalkSequence_Step0, - MovementType_WalkSequenceUpRightDownLeft_Step1, - MovementType_WalkSequence_Step2 -}; - -const u8 gUpRightDownLeftDirections[] = {DIR_NORTH, DIR_EAST, DIR_SOUTH, DIR_WEST}; - -u8 (*const gMovementTypeFuncs_WalkSequenceDownLeftUpRight[])(struct MapObject *, struct Sprite *) = { - MovementType_WalkSequence_Step0, - MovementType_WalkSequenceDownLeftUpRight_Step1, - MovementType_WalkSequence_Step2 -}; - -const u8 gDownLeftUpRightDirections[] = {DIR_SOUTH, DIR_WEST, DIR_NORTH, DIR_EAST}; - -u8 (*const gMovementTypeFuncs_WalkSequenceLeftUpRightDown[])(struct MapObject *, struct Sprite *) = { - MovementType_WalkSequence_Step0, - MovementType_WalkSequenceLeftUpRightDown_Step1, - MovementType_WalkSequence_Step2 -}; - -const u8 gLeftUpRightDownDirections[] = {DIR_WEST, DIR_NORTH, DIR_EAST, DIR_SOUTH}; - -u8 (*const gMovementTypeFuncs_WalkSequenceRightDownLeftUp[])(struct MapObject *, struct Sprite *) = { - MovementType_WalkSequence_Step0, - MovementType_WalkSequenceRightDownLeftUp_Step1, - MovementType_WalkSequence_Step2 -}; - -const u8 gRightDownLeftUpDirections[] = {DIR_EAST, DIR_SOUTH, DIR_WEST, DIR_NORTH}; - -u8 (*const gMovementTypeFuncs_CopyPlayer[])(struct MapObject *, struct Sprite *) = { - MovementType_CopyPlayer_Step0, - MovementType_CopyPlayer_Step1, - MovementType_CopyPlayer_Step2 -}; - -u8 (*const gCopyPlayerMovementFuncs[])(struct MapObject *, struct Sprite *, u8, bool8(u8)) = { - CopyablePlayerMovement_None, - CopyablePlayerMovement_FaceDirection, - CopyablePlayerMovement_GoSpeed0, - CopyablePlayerMovement_GoSpeed1, - CopyablePlayerMovement_GoSpeed2, - CopyablePlayerMovement_Slide, - cph_IM_DIFFERENT, - CopyablePlayerMovement_GoSpeed4, - CopyablePlayerMovement_Jump, - CopyablePlayerMovement_None, - CopyablePlayerMovement_None -}; - -u8 (*const gMovementTypeFuncs_CopyPlayerInGrass[])(struct MapObject *, struct Sprite *) = { - MovementType_CopyPlayer_Step0, - MovementType_CopyPlayerInGrass_Step1, - MovementType_CopyPlayer_Step2 -}; - -u8 (*const gMovementTypeFuncs_Hidden[])(struct MapObject *, struct Sprite *) = { - MovementType_Hidden_Step0 -}; - -u8 (*const gMovementTypeFuncs_WalkInPlace[])(struct MapObject *, struct Sprite *) = { - MovementType_WalkInPlace_Step0, - MovementType_WalkInPlace_Step1 -}; - -u8 (*const gMovementTypeFuncs_JogInPlace[])(struct MapObject *, struct Sprite *) = { - MovementType_JogInPlace_Step0, - MovementType_WalkInPlace_Step1 -}; - -u8 (*const gMovementTypeFuncs_RunInPlace[])(struct MapObject *, struct Sprite *) = { - MovementType_RunInPlace_Step0, - MovementType_WalkInPlace_Step1 -}; - -u8 (*const gMovementTypeFuncs_Invisible[])(struct MapObject *, struct Sprite *) = { - MovementType_Invisible_Step0, - MovementType_Invisible_Step1, - MovementType_Invisible_Step2 -}; - -#endif //POKERUBY_CALLBACK_SUBROUTINE_POINTERS_H diff --git a/src/data/field_map_obj/movement_action_func_tables.h b/src/data/field_map_obj/movement_action_func_tables.h new file mode 100644 index 000000000..ea10e0b6d --- /dev/null +++ b/src/data/field_map_obj/movement_action_func_tables.h @@ -0,0 +1,1356 @@ +#ifndef POKERUBY_MOVEMENT_ACTION_FUNC_TABLES_H +#define POKERUBY_MOVEMENT_ACTION_FUNC_TABLES_H + +u8 MovementAction_FaceDown_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_PauseSpriteAnim(struct MapObject *, struct Sprite *); +u8 MovementAction_FaceUp_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_FaceLeft_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_FaceRight_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkSlowDown_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkSlowDown_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkSlowUp_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkSlowUp_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkSlowLeft_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkSlowLeft_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkSlowRight_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkSlowRight_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkNormalDown_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkNormalDown_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkNormalUp_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkNormalUp_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkNormalLeft_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkNormalLeft_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkNormalRight_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkNormalRight_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_Jump2Down_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_Jump2Down_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_Jump2Up_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_Jump2Up_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_Jump2Left_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_Jump2Left_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_Jump2Right_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_Jump2Right_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_Delay1_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_Delay_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_Finish(struct MapObject *, struct Sprite *); +u8 MovementAction_Delay2_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_Delay4_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_Delay8_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_Delay16_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkFastDown_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkFastDown_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkFastUp_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkFastUp_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkFastLeft_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkFastLeft_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkFastRight_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkFastRight_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkInPlaceSlowDown_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkInPlaceSlow_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkInPlaceSlowUp_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkInPlaceSlowLeft_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkInPlaceSlowRight_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkInPlaceNormalDown_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkInPlace_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkInPlaceNormalUp_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkInPlaceNormalLeft_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkInPlaceNormalRight_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkInPlaceFastDown_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkInPlaceFastUp_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkInPlaceFastLeft_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkInPlaceFastRight_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkInPlaceFastestDown_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkInPlaceFastestUp_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkInPlaceFastestLeft_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkInPlaceFastestRight_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_RideWaterCurrentDown_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_RideWaterCurrentDown_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_RideWaterCurrentUp_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_RideWaterCurrentUp_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_RideWaterCurrentLeft_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_RideWaterCurrentLeft_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_RideWaterCurrentRight_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_RideWaterCurrentRight_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkFastestDown_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkFastestDown_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkFastestUp_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkFastestUp_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkFastestLeft_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkFastestLeft_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkFastestRight_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkFastestRight_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_SlideDown_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_SlideDown_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_SlideUp_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_SlideUp_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_SlideLeft_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_SlideLeft_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_SlideRight_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_SlideRight_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_PlayerRunDown_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_PlayerRunDown_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_PlayerRunUp_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_PlayerRunUp_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_PlayerRunLeft_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_PlayerRunLeft_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_PlayerRunRight_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_PlayerRunRight_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_StartAnimInDirection_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WaitSpriteAnim(struct MapObject *, struct Sprite *); +u8 MovementAction_JumpSpecialDown_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_JumpSpecialDown_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_JumpSpecialUp_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_JumpSpecialUp_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_JumpSpecialLeft_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_JumpSpecialLeft_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_JumpSpecialRight_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_JumpSpecialRight_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_FacePlayer_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_FaceAwayPlayer_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_LockFacingDirection_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_UnlockFacingDirection_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_JumpDown_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_JumpDown_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_JumpUp_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_JumpUp_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_JumpLeft_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_JumpLeft_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_JumpRight_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_JumpRight_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_JumpInPlaceDown_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_JumpInPlaceDown_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_JumpInPlaceUp_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_JumpInPlaceUp_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_JumpInPlaceLeft_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_JumpInPlaceLeft_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_JumpInPlaceRight_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_JumpInPlaceRight_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_JumpInPlaceDownUp_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_JumpInPlaceDownUp_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_JumpInPlaceUpDown_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_JumpInPlaceUpDown_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_JumpInPlaceLeftRight_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_JumpInPlaceLeftRight_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_JumpInPlaceRightLeft_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_JumpInPlaceRightLeft_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_FaceOriginalDirection_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_NurseJoyBowDown_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_EnableJumpLandingGroundEffect_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_DisableJumpLandingGroundEffect_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_DisableAnimation_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_RestoreAnimation_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_SetInvisible_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_SetVisible_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_EmoteExclamationMark_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_EmoteQuestionMark_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_EmoteHeart_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_RevealTrainer_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_RevealTrainer_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_RockSmashBreak_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_RockSmashBreak_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_RockSmashBreak_Step2(struct MapObject *, struct Sprite *); +u8 MovementAction_CutTree_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_CutTree_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_CutTree_Step2(struct MapObject *, struct Sprite *); +u8 MovementAction_SetFixedPriority_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_ClearFixedPriority_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_InitAffineAnim_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_ClearAffineAnim_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkDownAffine0_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkDownAffine0_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkDownAffine1_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkDownAffine1_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieFaceDown_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieFaceUp_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieFaceLeft_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieFaceRight_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroPopWheelieDown_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroPopWheelieUp_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroPopWheelieLeft_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroPopWheelieRight_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroEndWheelieFaceDown_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroEndWheelieFaceUp_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroEndWheelieFaceLeft_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroEndWheelieFaceRight_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_UnusedAcroActionDown_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_UnusedAcroActionUp_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_UnusedAcroActionLeft_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_UnusedAcroActionRight_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieHopFaceDown_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieHopFaceDown_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieHopFaceUp_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieHopFaceUp_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieHopFaceLeft_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieHopFaceLeft_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieHopFaceRight_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieHopFaceRight_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieHopDown_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieHopDown_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieHopUp_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieHopUp_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieHopLeft_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieHopLeft_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieHopRight_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieHopRight_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieJumpDown_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieJumpDown_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieJumpUp_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieJumpUp_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieJumpLeft_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieJumpLeft_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieJumpRight_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieJumpRight_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieInPlaceDown_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkInPlace_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieInPlaceUp_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkInPlace_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieInPlaceLeft_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkInPlace_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieInPlaceRight_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkInPlace_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroPopWheelieMoveDown_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroPopWheelieMoveDown_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroPopWheelieMoveUp_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroPopWheelieMoveUp_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroPopWheelieMoveLeft_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroPopWheelieMoveLeft_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroPopWheelieMoveRight_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroPopWheelieMoveRight_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieMoveDown_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieMoveDown_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieMoveUp_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieMoveUp_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieMoveLeft_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieMoveLeft_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieMoveRight_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieMoveRight_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroEndWheelieMoveDown_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroEndWheelieMoveDown_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroEndWheelieMoveUp_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroEndWheelieMoveUp_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroEndWheelieMoveLeft_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroEndWheelieMoveLeft_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroEndWheelieMoveRight_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroEndWheelieMoveRight_Step1(struct MapObject *, struct Sprite *); + +u8 (*const gMovementActionFuncs_FaceDown[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_FaceUp[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_FaceLeft[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_FaceRight[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkSlowDown[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkSlowUp[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkSlowLeft[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkSlowRight[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkNormalDown[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkNormalUp[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkNormalLeft[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkNormalRight[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_Jump2Down[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_Jump2Up[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_Jump2Left[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_Jump2Right[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_Delay1[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_Delay2[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_Delay4[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_Delay8[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_Delay16[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkFastDown[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkFastUp[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkFastLeft[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkFastRight[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkInPlaceSlowDown[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkInPlaceSlowUp[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkInPlaceSlowLeft[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkInPlaceSlowRight[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkInPlaceNormalDown[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkInPlaceNormalLeft[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkInPlaceNormalUp[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkInPlaceNormalRight[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkInPlaceFastDown[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkInPlaceFastUp[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkInPlaceFastLeft[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkInPlaceFastRight[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkInPlaceFastestDown[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkInPlaceFastestUp[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkInPlaceFastestLeft[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkInPlaceFastestRight[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_RideWaterCurrentDown[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_RideWaterCurrentUp[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_RideWaterCurrentLeft[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_RideWaterCurrentRight[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkFastestDown[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkFastestUp[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkFastestLeft[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkFastestRight[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_SlideDown[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_SlideUp[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_SlideLeft[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_SlideRight[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_PlayerRunDown[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_PlayerRunUp[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_PlayerRunLeft[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_PlayerRunRight[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_StartAnimInDirection[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_JumpSpecialDown[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_JumpSpecialUp[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_JumpSpecialLeft[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_JumpSpecialRight[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_FacePlayer[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_FaceAwayPlayer[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_LockFacingDirection[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_UnlockFacingDirection[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_JumpDown[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_JumpUp[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_JumpLeft[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_JumpRight[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_JumpInPlaceDown[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_JumpInPlaceUp[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_JumpInPlaceLeft[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_JumpInPlaceRight[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_JumpInPlaceDownUp[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_JumpInPlaceUpDown[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_JumpInPlaceLeftRight[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_JumpInPlaceRightLeft[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_FaceOriginalDirection[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_NurseJoyBowDown[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_EnableJumpLandingGroundEffect[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_DisableJumpLandingGroundEffect[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_DisableAnimation[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_RestoreAnimation[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_SetInvisible[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_SetVisible[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_EmoteExclamationMark[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_EmoteQuestionMark[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_EmoteHeart[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_RevealTrainer[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_RockSmashBreak[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_CutTree[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_SetFixedPriority[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_ClearFixedPriority[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_InitAffineAnim[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_ClearAffineAnim[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkDownAffine0[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkDownAffine1[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieFaceDown[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieFaceUp[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieFaceLeft[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieFaceRight[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroPopWheelieDown[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroPopWheelieUp[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroPopWheelieLeft[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroPopWheelieRight[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroEndWheelieFaceDown[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroEndWheelieFaceUp[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroEndWheelieFaceLeft[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroEndWheelieFaceRight[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieHopFaceDown[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieHopFaceUp[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieHopFaceLeft[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieHopFaceRight[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieHopDown[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieHopUp[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieHopLeft[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieHopRight[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieJumpDown[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieJumpUp[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieJumpLeft[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieJumpRight[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieInPlaceDown[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieInPlaceUp[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieInPlaceLeft[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieInPlaceRight[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroPopWheelieMoveDown[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroPopWheelieMoveUp[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroPopWheelieMoveLeft[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroPopWheelieMoveRight[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieMoveDown[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieMoveUp[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieMoveLeft[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieMoveRight[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroEndWheelieMoveDown[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroEndWheelieMoveUp[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroEndWheelieMoveLeft[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroEndWheelieMoveRight[])(struct MapObject *, struct Sprite *); + +u8 (*const *const gMovementActionFuncs[])(struct MapObject *, struct Sprite *) = { + gMovementActionFuncs_FaceDown, // MOVEMENT_ACTION_FACE_DOWN + gMovementActionFuncs_FaceUp, // MOVEMENT_ACTION_FACE_UP + gMovementActionFuncs_FaceLeft, // MOVEMENT_ACTION_FACE_LEFT + gMovementActionFuncs_FaceRight, // MOVEMENT_ACTION_FACE_RIGHT + gMovementActionFuncs_WalkSlowDown, // MOVEMENT_ACTION_WALK_DOWN_SLOW + gMovementActionFuncs_WalkSlowUp, // MOVEMENT_ACTION_WALK_UP_SLOW + gMovementActionFuncs_WalkSlowLeft, // MOVEMENT_ACTION_WALK_LEFT_SLOW + gMovementActionFuncs_WalkSlowRight, // MOVEMENT_ACTION_WALK_RIGHT_SLOW + gMovementActionFuncs_WalkNormalDown, // MOVEMENT_ACTION_WALK_DOWN_NORMAL + gMovementActionFuncs_WalkNormalUp, // MOVEMENT_ACTION_WALK_UP_NORMAL + gMovementActionFuncs_WalkNormalLeft, // MOVEMENT_ACTION_WALK_LEFT_NORMAL + gMovementActionFuncs_WalkNormalRight, // MOVEMENT_ACTION_WALK_RIGHT_NORMAL + gMovementActionFuncs_Jump2Down, // MOVEMENT_ACTION_JUMP_2_DOWN + gMovementActionFuncs_Jump2Up, // MOVEMENT_ACTION_JUMP_2_UP + gMovementActionFuncs_Jump2Left, // MOVEMENT_ACTION_JUMP_2_LEFT + gMovementActionFuncs_Jump2Right, // MOVEMENT_ACTION_JUMP_2_RIGHT + gMovementActionFuncs_Delay1, // MOVEMENT_ACTION_DELAY_1 + gMovementActionFuncs_Delay2, // MOVEMENT_ACTION_DELAY_2 + gMovementActionFuncs_Delay4, // MOVEMENT_ACTION_DELAY_4 + gMovementActionFuncs_Delay8, // MOVEMENT_ACTION_DELAY_8 + gMovementActionFuncs_Delay16, // MOVEMENT_ACTION_DELAY_16 + gMovementActionFuncs_WalkFastDown, // MOVEMENT_ACTION_WALK_FAST_DOWN + gMovementActionFuncs_WalkFastUp, // MOVEMENT_ACTION_WALK_FAST_UP + gMovementActionFuncs_WalkFastLeft, // MOVEMENT_ACTION_WALK_FAST_LEFT + gMovementActionFuncs_WalkFastRight, // MOVEMENT_ACTION_WALK_FAST_RIGHT + gMovementActionFuncs_WalkInPlaceSlowDown, // MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_DOWN + gMovementActionFuncs_WalkInPlaceSlowUp, // MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_UP + gMovementActionFuncs_WalkInPlaceSlowLeft, // MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_LEFT + gMovementActionFuncs_WalkInPlaceSlowRight, // MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_RIGHT + gMovementActionFuncs_WalkInPlaceNormalDown, // MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_DOWN + gMovementActionFuncs_WalkInPlaceNormalUp, // MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_UP + gMovementActionFuncs_WalkInPlaceNormalLeft, // MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_LEFT + gMovementActionFuncs_WalkInPlaceNormalRight, // MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_RIGHT + gMovementActionFuncs_WalkInPlaceFastDown, // MOVEMENT_ACTION_WALK_IN_PLACE_FAST_DOWN + gMovementActionFuncs_WalkInPlaceFastUp, // MOVEMENT_ACTION_WALK_IN_PLACE_FAST_UP + gMovementActionFuncs_WalkInPlaceFastLeft, // MOVEMENT_ACTION_WALK_IN_PLACE_FAST_LEFT + gMovementActionFuncs_WalkInPlaceFastRight, // MOVEMENT_ACTION_WALK_IN_PLACE_FAST_RIGHT + gMovementActionFuncs_WalkInPlaceFastestDown, // MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_DOWN + gMovementActionFuncs_WalkInPlaceFastestUp, // MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_UP + gMovementActionFuncs_WalkInPlaceFastestLeft, // MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_LEFT + gMovementActionFuncs_WalkInPlaceFastestRight, // MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_RIGHT + gMovementActionFuncs_RideWaterCurrentDown, // MOVEMENT_ACTION_RIDE_WATER_CURRENT_DOWN + gMovementActionFuncs_RideWaterCurrentUp, // MOVEMENT_ACTION_RIDE_WATER_CURRENT_UP + gMovementActionFuncs_RideWaterCurrentLeft, // MOVEMENT_ACTION_RIDE_WATER_CURRENT_LEFT + gMovementActionFuncs_RideWaterCurrentRight, // MOVEMENT_ACTION_RIDE_WATER_CURRENT_RIGHT + gMovementActionFuncs_WalkFastestDown, // MOVEMENT_ACTION_WALK_FASTEST_DOWN + gMovementActionFuncs_WalkFastestUp, // MOVEMENT_ACTION_WALK_FASTEST_UP + gMovementActionFuncs_WalkFastestLeft, // MOVEMENT_ACTION_WALK_FASTEST_LEFT + gMovementActionFuncs_WalkFastestRight, // MOVEMENT_ACTION_WALK_FASTEST_RIGHT + gMovementActionFuncs_SlideDown, // MOVEMENT_ACITON_SLIDE_DOWN + gMovementActionFuncs_SlideUp, // MOVEMENT_ACITON_SLIDE_UP + gMovementActionFuncs_SlideLeft, // MOVEMENT_ACITON_SLIDE_LEFT + gMovementActionFuncs_SlideRight, // MOVEMENT_ACITON_SLIDE_RIGHT + gMovementActionFuncs_PlayerRunDown, // MOVEMENT_ACTION_PLAYER_RUN_DOWN + gMovementActionFuncs_PlayerRunUp, // MOVEMENT_ACTION_PLAYER_RUN_UP + gMovementActionFuncs_PlayerRunLeft, // MOVEMENT_ACTION_PLAYER_RUN_LEFT + gMovementActionFuncs_PlayerRunRight, // MOVEMENT_ACTION_PLAYER_RUN_RIGHT + gMovementActionFuncs_StartAnimInDirection, // MOVEMENT_ACTION_START_ANIM_IN_DIRECTION + gMovementActionFuncs_JumpSpecialDown, // MOVEMENT_ACTION_JUMP_SPECIAL_DOWN + gMovementActionFuncs_JumpSpecialUp, // MOVEMENT_ACTION_JUMP_SPECIAL_UP + gMovementActionFuncs_JumpSpecialLeft, // MOVEMENT_ACTION_JUMP_SPECIAL_LEFT + gMovementActionFuncs_JumpSpecialRight, // MOVEMENT_ACTION_JUMP_SPECIAL_RIGHT + gMovementActionFuncs_FacePlayer, // MOVEMENT_ACTION_FACE_PLAYER + gMovementActionFuncs_FaceAwayPlayer, // MOVEMENT_ACTION_FACE_AWAY_PLAYER + gMovementActionFuncs_LockFacingDirection, // MOVEMENT_ACTION_LOCK_FACING_DIRECTION + gMovementActionFuncs_UnlockFacingDirection, // MOVEMENT_ACTION_UNLOCK_FACING_DIRECTION + gMovementActionFuncs_JumpDown, // MOVEMENT_ACITON_JUMP_DOWN + gMovementActionFuncs_JumpUp, // MOVEMENT_ACITON_JUMP_UP + gMovementActionFuncs_JumpLeft, // MOVEMENT_ACITON_JUMP_LEFT + gMovementActionFuncs_JumpRight, // MOVEMENT_ACITON_JUMP_RIGHT + gMovementActionFuncs_JumpInPlaceDown, // MOVEMENT_ACTION_JUMP_IN_PLACE_DOWN + gMovementActionFuncs_JumpInPlaceUp, // MOVEMENT_ACTION_JUMP_IN_PLACE_UP + gMovementActionFuncs_JumpInPlaceLeft, // MOVEMENT_ACTION_JUMP_IN_PLACE_LEFT + gMovementActionFuncs_JumpInPlaceRight, // MOVEMENT_ACTION_JUMP_IN_PLACE_RIGHT + gMovementActionFuncs_JumpInPlaceDownUp, // MOVEMENT_ACTION_JUMP_IN_PLACE_DOWN_UP + gMovementActionFuncs_JumpInPlaceUpDown, // MOVEMENT_ACTION_JUMP_IN_PLACE_UP_DOWN + gMovementActionFuncs_JumpInPlaceLeftRight, // MOVEMENT_ACTION_JUMP_IN_PLACE_LEFT_RIGHT + gMovementActionFuncs_JumpInPlaceRightLeft, // MOVEMENT_ACTION_JUMP_IN_PLACE_RIGHT_LEFT + gMovementActionFuncs_FaceOriginalDirection, // MOVEMENT_ACTION_FACE_ORIGINAL_DIRECTION + gMovementActionFuncs_NurseJoyBowDown, // MOVEMENT_ACTION_NURSE_JOY_BOW_DOWN + gMovementActionFuncs_EnableJumpLandingGroundEffect, // MOVEMENT_ACTION_ENABLE_JUMP_LANDING_GROUND_EFFECT + gMovementActionFuncs_DisableJumpLandingGroundEffect, // MOVEMENT_ACTION_DISABLE_JUMP_LANDING_GROUND_EFFECT + gMovementActionFuncs_DisableAnimation, // MOVEMENT_ACTION_DISABLE_ANIMATION + gMovementActionFuncs_RestoreAnimation, // MOVEMENT_ACTION_RESTORE_ANIMATION + gMovementActionFuncs_SetInvisible, // MOVEMENT_ACTION_SET_INVISIBLE + gMovementActionFuncs_SetVisible, // MOVEMENT_ACTION_SET_VISIBLE + gMovementActionFuncs_EmoteExclamationMark, // MOVEMENT_ACTION_EMOTE_EXCLAMATION_MARK + gMovementActionFuncs_EmoteQuestionMark, // MOVEMENT_ACTION_EMOTE_QUESTION_MARK + gMovementActionFuncs_EmoteHeart, // MOVEMENT_ACTION_EMOTE_HEART + gMovementActionFuncs_RevealTrainer, // MOVEMENT_ACTION_REVEAL_TRAINER + gMovementActionFuncs_RockSmashBreak, // MOVEMENT_ACTION_ROCK_SMASH_BREAK + gMovementActionFuncs_CutTree, // MOVEMENT_ACTION_CUT_TREE + gMovementActionFuncs_SetFixedPriority, // MOVEMENT_ACTION_SET_FIXED_PRIORITY + gMovementActionFuncs_ClearFixedPriority, // MOVEMENT_ACTION_CLEAR_FIXED_PRIORITY + gMovementActionFuncs_InitAffineAnim, // MOVEMENT_ACTION_INIT_AFFINE_ANIM + gMovementActionFuncs_ClearAffineAnim, // MOVEMENT_ACTION_CLEAR_AFFINE_ANIM + gMovementActionFuncs_WalkDownAffine0, // MOVEMENT_ACTION_WALK_DOWN_AFFINE_0 + gMovementActionFuncs_WalkDownAffine1, // MOVEMENT_ACTION_WALK_DOWN_AFFINE_1 + gMovementActionFuncs_AcroWheelieFaceDown, // MOVEMENT_ACTION_ACRO_WHEELIE_FACE_DOWN + gMovementActionFuncs_AcroWheelieFaceUp, // MOVEMENT_ACTION_ACRO_WHEELIE_FACE_UP + gMovementActionFuncs_AcroWheelieFaceLeft, // MOVEMENT_ACTION_ACRO_WHEELIE_FACE_LEFT + gMovementActionFuncs_AcroWheelieFaceRight, // MOVEMENT_ACTION_ACRO_WHEELIE_FACE_RIGHT + gMovementActionFuncs_AcroPopWheelieDown, // MOVEMENT_ACTION_ACRO_POP_WHEELIE_DOWN + gMovementActionFuncs_AcroPopWheelieUp, // MOVEMENT_ACTION_ACRO_POP_WHEELIE_UP + gMovementActionFuncs_AcroPopWheelieLeft, // MOVEMENT_ACTION_ACRO_POP_WHEELIE_LEFT + gMovementActionFuncs_AcroPopWheelieRight, // MOVEMENT_ACTION_ACRO_POP_WHEELIE_RIGHT + gMovementActionFuncs_AcroEndWheelieFaceDown, // MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_DOWN + gMovementActionFuncs_AcroEndWheelieFaceUp, // MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_UP + gMovementActionFuncs_AcroEndWheelieFaceLeft, // MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_LEFT + gMovementActionFuncs_AcroEndWheelieFaceRight, // MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_RIGHT + gMovementActionFuncs_AcroWheelieHopFaceDown, // MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_DOWN + gMovementActionFuncs_AcroWheelieHopFaceUp, // MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_UP + gMovementActionFuncs_AcroWheelieHopFaceLeft, // MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_LEFT + gMovementActionFuncs_AcroWheelieHopFaceRight, // MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_RIGHT + gMovementActionFuncs_AcroWheelieHopDown, // MOVEMENT_ACTION_ACRO_WHEELIE_HOP_DOWN + gMovementActionFuncs_AcroWheelieHopUp, // MOVEMENT_ACTION_ACRO_WHEELIE_HOP_UP + gMovementActionFuncs_AcroWheelieHopLeft, // MOVEMENT_ACTION_ACRO_WHEELIE_HOP_LEFT + gMovementActionFuncs_AcroWheelieHopRight, // MOVEMENT_ACTION_ACRO_WHEELIE_HOP_RIGHT + gMovementActionFuncs_AcroWheelieJumpDown, // MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_DOWN + gMovementActionFuncs_AcroWheelieJumpUp, // MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_UP + gMovementActionFuncs_AcroWheelieJumpLeft, // MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_LEFT + gMovementActionFuncs_AcroWheelieJumpRight, // MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_RIGHT + gMovementActionFuncs_AcroWheelieInPlaceDown, // MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_DOWN + gMovementActionFuncs_AcroWheelieInPlaceUp, // MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_UP + gMovementActionFuncs_AcroWheelieInPlaceLeft, // MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_LEFT + gMovementActionFuncs_AcroWheelieInPlaceRight, // MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_RIGHT + gMovementActionFuncs_AcroPopWheelieMoveDown, // MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_DOWN + gMovementActionFuncs_AcroPopWheelieMoveUp, // MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_UP + gMovementActionFuncs_AcroPopWheelieMoveLeft, // MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_LEFT + gMovementActionFuncs_AcroPopWheelieMoveRight, // MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_RIGHT + gMovementActionFuncs_AcroWheelieMoveDown, // MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_DOWN + gMovementActionFuncs_AcroWheelieMoveUp, // MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_UP + gMovementActionFuncs_AcroWheelieMoveLeft, // MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_LEFT + gMovementActionFuncs_AcroWheelieMoveRight, // MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_RIGHT + gMovementActionFuncs_AcroEndWheelieMoveDown, // MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_DOWN + gMovementActionFuncs_AcroEndWheelieMoveUp, // MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_UP + gMovementActionFuncs_AcroEndWheelieMoveLeft, // MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_LEFT + gMovementActionFuncs_AcroEndWheelieMoveRight, // MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_RIGHT +}; + + +u8 (*const gMovementActionFuncs_FaceDown[])(struct MapObject *, struct Sprite *) = { + MovementAction_FaceDown_Step0, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_FaceUp[])(struct MapObject *, struct Sprite *) = { + MovementAction_FaceUp_Step0, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_FaceLeft[])(struct MapObject *, struct Sprite *) = { + MovementAction_FaceLeft_Step0, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_FaceRight[])(struct MapObject *, struct Sprite *) = { + MovementAction_FaceRight_Step0, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gUnknown_083759C0[])(u8) = { + GetMoveDirectionAnimNum, + GetMoveDirectionFastAnimNum, + GetMoveDirectionFastAnimNum, + GetMoveDirectionFasterAnimNum, + GetMoveDirectionFastestAnimNum +}; + +u8 (*const gMovementActionFuncs_WalkSlowDown[])(struct MapObject *, struct Sprite *) = { + MovementAction_WalkSlowDown_Step0, + MovementAction_WalkSlowDown_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_WalkSlowUp[])(struct MapObject *, struct Sprite *) = { + MovementAction_WalkSlowUp_Step0, + MovementAction_WalkSlowUp_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_WalkSlowLeft[])(struct MapObject *, struct Sprite *) = { + MovementAction_WalkSlowLeft_Step0, + MovementAction_WalkSlowLeft_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_WalkSlowRight[])(struct MapObject *, struct Sprite *) = { + MovementAction_WalkSlowRight_Step0, + MovementAction_WalkSlowRight_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_WalkNormalDown[])(struct MapObject *, struct Sprite *) = { + MovementAction_WalkNormalDown_Step0, + MovementAction_WalkNormalDown_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_WalkNormalUp[])(struct MapObject *, struct Sprite *) = { + MovementAction_WalkNormalUp_Step0, + MovementAction_WalkNormalUp_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_WalkNormalLeft[])(struct MapObject *, struct Sprite *) = { + MovementAction_WalkNormalLeft_Step0, + MovementAction_WalkNormalLeft_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_WalkNormalRight[])(struct MapObject *, struct Sprite *) = { + MovementAction_WalkNormalRight_Step0, + MovementAction_WalkNormalRight_Step1, + MovementAction_PauseSpriteAnim +}; + +const s16 gUnknown_08375A34[] = {0, 1, 1}; +const s16 gUnknown_08375A3A[] = {0, 0, 1}; + +u8 (*const gMovementActionFuncs_Jump2Down[])(struct MapObject *, struct Sprite *) = { + MovementAction_Jump2Down_Step0, + MovementAction_Jump2Down_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_Jump2Up[])(struct MapObject *, struct Sprite *) = { + MovementAction_Jump2Up_Step0, + MovementAction_Jump2Up_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_Jump2Left[])(struct MapObject *, struct Sprite *) = { + MovementAction_Jump2Left_Step0, + MovementAction_Jump2Left_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_Jump2Right[])(struct MapObject *, struct Sprite *) = { + MovementAction_Jump2Right_Step0, + MovementAction_Jump2Right_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_Delay1[])(struct MapObject *, struct Sprite *) = { + MovementAction_Delay1_Step0, + MovementAction_Delay_Step1, + MovementAction_Finish +}; + +u8 (*const gMovementActionFuncs_Delay2[])(struct MapObject *, struct Sprite *) = { + MovementAction_Delay2_Step0, + MovementAction_Delay_Step1, + MovementAction_Finish +}; + +u8 (*const gMovementActionFuncs_Delay4[])(struct MapObject *, struct Sprite *) = { + MovementAction_Delay4_Step0, + MovementAction_Delay_Step1, + MovementAction_Finish +}; + +u8 (*const gMovementActionFuncs_Delay8[])(struct MapObject *, struct Sprite *) = { + MovementAction_Delay8_Step0, + MovementAction_Delay_Step1, + MovementAction_Finish +}; + +u8 (*const gMovementActionFuncs_Delay16[])(struct MapObject *, struct Sprite *) = { + MovementAction_Delay16_Step0, + MovementAction_Delay_Step1, + MovementAction_Finish +}; + +u8 (*const gMovementActionFuncs_WalkFastDown[])(struct MapObject *, struct Sprite *) = { + MovementAction_WalkFastDown_Step0, + MovementAction_WalkFastDown_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_WalkFastUp[])(struct MapObject *, struct Sprite *) = { + MovementAction_WalkFastUp_Step0, + MovementAction_WalkFastUp_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_WalkFastLeft[])(struct MapObject *, struct Sprite *) = { + MovementAction_WalkFastLeft_Step0, + MovementAction_WalkFastLeft_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_WalkFastRight[])(struct MapObject *, struct Sprite *) = { + MovementAction_WalkFastRight_Step0, + MovementAction_WalkFastRight_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_WalkInPlaceSlowDown[])(struct MapObject *, struct Sprite *) = { + MovementAction_WalkInPlaceSlowDown_Step0, + MovementAction_WalkInPlaceSlow_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_WalkInPlaceSlowUp[])(struct MapObject *, struct Sprite *) = { + MovementAction_WalkInPlaceSlowUp_Step0, + MovementAction_WalkInPlaceSlow_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_WalkInPlaceSlowLeft[])(struct MapObject *, struct Sprite *) = { + MovementAction_WalkInPlaceSlowLeft_Step0, + MovementAction_WalkInPlaceSlow_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_WalkInPlaceSlowRight[])(struct MapObject *, struct Sprite *) = { + MovementAction_WalkInPlaceSlowRight_Step0, + MovementAction_WalkInPlaceSlow_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_WalkInPlaceNormalDown[])(struct MapObject *, struct Sprite *) = { + MovementAction_WalkInPlaceNormalDown_Step0, + MovementAction_WalkInPlace_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_WalkInPlaceNormalUp[])(struct MapObject *, struct Sprite *) = { + MovementAction_WalkInPlaceNormalUp_Step0, + MovementAction_WalkInPlace_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_WalkInPlaceNormalLeft[])(struct MapObject *, struct Sprite *) = { + MovementAction_WalkInPlaceNormalLeft_Step0, + MovementAction_WalkInPlace_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_WalkInPlaceNormalRight[])(struct MapObject *, struct Sprite *) = { + MovementAction_WalkInPlaceNormalRight_Step0, + MovementAction_WalkInPlace_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_WalkInPlaceFastDown[])(struct MapObject *, struct Sprite *) = { + MovementAction_WalkInPlaceFastDown_Step0, + MovementAction_WalkInPlace_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_WalkInPlaceFastUp[])(struct MapObject *, struct Sprite *) = { + MovementAction_WalkInPlaceFastUp_Step0, + MovementAction_WalkInPlace_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_WalkInPlaceFastLeft[])(struct MapObject *, struct Sprite *) = { + MovementAction_WalkInPlaceFastLeft_Step0, + MovementAction_WalkInPlace_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_WalkInPlaceFastRight[])(struct MapObject *, struct Sprite *) = { + MovementAction_WalkInPlaceFastRight_Step0, + MovementAction_WalkInPlace_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_WalkInPlaceFastestDown[])(struct MapObject *, struct Sprite *) = { + MovementAction_WalkInPlaceFastestDown_Step0, + MovementAction_WalkInPlace_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_WalkInPlaceFastestUp[])(struct MapObject *, struct Sprite *) = { + MovementAction_WalkInPlaceFastestUp_Step0, + MovementAction_WalkInPlace_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_WalkInPlaceFastestLeft[])(struct MapObject *, struct Sprite *) = { + MovementAction_WalkInPlaceFastestLeft_Step0, + MovementAction_WalkInPlace_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_WalkInPlaceFastestRight[])(struct MapObject *, struct Sprite *) = { + MovementAction_WalkInPlaceFastestRight_Step0, + MovementAction_WalkInPlace_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_RideWaterCurrentDown[])(struct MapObject *, struct Sprite *) = { + MovementAction_RideWaterCurrentDown_Step0, + MovementAction_RideWaterCurrentDown_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_RideWaterCurrentUp[])(struct MapObject *, struct Sprite *) = { + MovementAction_RideWaterCurrentUp_Step0, + MovementAction_RideWaterCurrentUp_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_RideWaterCurrentLeft[])(struct MapObject *, struct Sprite *) = { + MovementAction_RideWaterCurrentLeft_Step0, + MovementAction_RideWaterCurrentLeft_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_RideWaterCurrentRight[])(struct MapObject *, struct Sprite *) = { + MovementAction_RideWaterCurrentRight_Step0, + MovementAction_RideWaterCurrentRight_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_WalkFastestDown[])(struct MapObject *, struct Sprite *) = { + MovementAction_WalkFastestDown_Step0, + MovementAction_WalkFastestDown_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_WalkFastestUp[])(struct MapObject *, struct Sprite *) = { + MovementAction_WalkFastestUp_Step0, + MovementAction_WalkFastestUp_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_WalkFastestLeft[])(struct MapObject *, struct Sprite *) = { + MovementAction_WalkFastestLeft_Step0, + MovementAction_WalkFastestLeft_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_WalkFastestRight[])(struct MapObject *, struct Sprite *) = { + MovementAction_WalkFastestRight_Step0, + MovementAction_WalkFastestRight_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_SlideDown[])(struct MapObject *, struct Sprite *) = { + MovementAction_SlideDown_Step0, + MovementAction_SlideDown_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_SlideUp[])(struct MapObject *, struct Sprite *) = { + MovementAction_SlideUp_Step0, + MovementAction_SlideUp_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_SlideLeft[])(struct MapObject *, struct Sprite *) = { + MovementAction_SlideLeft_Step0, + MovementAction_SlideLeft_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_SlideRight[])(struct MapObject *, struct Sprite *) = { + MovementAction_SlideRight_Step0, + MovementAction_SlideRight_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_PlayerRunDown[])(struct MapObject *, struct Sprite *) = { + MovementAction_PlayerRunDown_Step0, + MovementAction_PlayerRunDown_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_PlayerRunUp[])(struct MapObject *, struct Sprite *) = { + MovementAction_PlayerRunUp_Step0, + MovementAction_PlayerRunUp_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_PlayerRunLeft[])(struct MapObject *, struct Sprite *) = { + MovementAction_PlayerRunLeft_Step0, + MovementAction_PlayerRunLeft_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_PlayerRunRight[])(struct MapObject *, struct Sprite *) = { + MovementAction_PlayerRunRight_Step0, + MovementAction_PlayerRunRight_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_StartAnimInDirection[])(struct MapObject *, struct Sprite *) = { + MovementAction_StartAnimInDirection_Step0, + MovementAction_WaitSpriteAnim, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_JumpSpecialDown[])(struct MapObject *, struct Sprite *) = { + MovementAction_JumpSpecialDown_Step0, + MovementAction_JumpSpecialDown_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_JumpSpecialUp[])(struct MapObject *, struct Sprite *) = { + MovementAction_JumpSpecialUp_Step0, + MovementAction_JumpSpecialUp_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_JumpSpecialLeft[])(struct MapObject *, struct Sprite *) = { + MovementAction_JumpSpecialLeft_Step0, + MovementAction_JumpSpecialLeft_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_JumpSpecialRight[])(struct MapObject *, struct Sprite *) = { + MovementAction_JumpSpecialRight_Step0, + MovementAction_JumpSpecialRight_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_FacePlayer[])(struct MapObject *, struct Sprite *) = { + MovementAction_FacePlayer_Step0, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_FaceAwayPlayer[])(struct MapObject *, struct Sprite *) = { + MovementAction_FaceAwayPlayer_Step0, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_LockFacingDirection[])(struct MapObject *, struct Sprite *) = { + MovementAction_LockFacingDirection_Step0, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_UnlockFacingDirection[])(struct MapObject *, struct Sprite *) = { + MovementAction_UnlockFacingDirection_Step0, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_JumpDown[])(struct MapObject *, struct Sprite *) = { + MovementAction_JumpDown_Step0, + MovementAction_JumpDown_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_JumpUp[])(struct MapObject *, struct Sprite *) = { + MovementAction_JumpUp_Step0, + MovementAction_JumpUp_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_JumpLeft[])(struct MapObject *, struct Sprite *) = { + MovementAction_JumpLeft_Step0, + MovementAction_JumpLeft_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_JumpRight[])(struct MapObject *, struct Sprite *) = { + MovementAction_JumpRight_Step0, + MovementAction_JumpRight_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_JumpInPlaceDown[])(struct MapObject *, struct Sprite *) = { + MovementAction_JumpInPlaceDown_Step0, + MovementAction_JumpInPlaceDown_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_JumpInPlaceUp[])(struct MapObject *, struct Sprite *) = { + MovementAction_JumpInPlaceUp_Step0, + MovementAction_JumpInPlaceUp_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_JumpInPlaceLeft[])(struct MapObject *, struct Sprite *) = { + MovementAction_JumpInPlaceLeft_Step0, + MovementAction_JumpInPlaceLeft_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_JumpInPlaceRight[])(struct MapObject *, struct Sprite *) = { + MovementAction_JumpInPlaceRight_Step0, + MovementAction_JumpInPlaceRight_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_JumpInPlaceDownUp[])(struct MapObject *, struct Sprite *) = { + MovementAction_JumpInPlaceDownUp_Step0, + MovementAction_JumpInPlaceDownUp_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_JumpInPlaceUpDown[])(struct MapObject *, struct Sprite *) = { + MovementAction_JumpInPlaceUpDown_Step0, + MovementAction_JumpInPlaceUpDown_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_JumpInPlaceLeftRight[])(struct MapObject *, struct Sprite *) = { + MovementAction_JumpInPlaceLeftRight_Step0, + MovementAction_JumpInPlaceLeftRight_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_JumpInPlaceRightLeft[])(struct MapObject *, struct Sprite *) = { + MovementAction_JumpInPlaceRightLeft_Step0, + MovementAction_JumpInPlaceRightLeft_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_FaceOriginalDirection[])(struct MapObject *, struct Sprite *) = { + MovementAction_FaceOriginalDirection_Step0, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_NurseJoyBowDown[])(struct MapObject *, struct Sprite *) = { + MovementAction_NurseJoyBowDown_Step0, + MovementAction_WaitSpriteAnim, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_EnableJumpLandingGroundEffect[])(struct MapObject *, struct Sprite *) = { + MovementAction_EnableJumpLandingGroundEffect_Step0, + MovementAction_Finish +}; + +u8 (*const gMovementActionFuncs_DisableJumpLandingGroundEffect[])(struct MapObject *, struct Sprite *) = { + MovementAction_DisableJumpLandingGroundEffect_Step0, + MovementAction_Finish +}; + +u8 (*const gMovementActionFuncs_DisableAnimation[])(struct MapObject *, struct Sprite *) = { + MovementAction_DisableAnimation_Step0, + MovementAction_Finish +}; + +u8 (*const gMovementActionFuncs_RestoreAnimation[])(struct MapObject *, struct Sprite *) = { + MovementAction_RestoreAnimation_Step0, + MovementAction_Finish +}; + +u8 (*const gMovementActionFuncs_SetInvisible[])(struct MapObject *, struct Sprite *) = { + MovementAction_SetInvisible_Step0, + MovementAction_Finish +}; + +u8 (*const gMovementActionFuncs_SetVisible[])(struct MapObject *, struct Sprite *) = { + MovementAction_SetVisible_Step0, + MovementAction_Finish +}; + +u8 (*const gMovementActionFuncs_EmoteExclamationMark[])(struct MapObject *, struct Sprite *) = { + MovementAction_EmoteExclamationMark_Step0, + MovementAction_Finish +}; + +u8 (*const gMovementActionFuncs_EmoteQuestionMark[])(struct MapObject *, struct Sprite *) = { + MovementAction_EmoteQuestionMark_Step0, + MovementAction_Finish +}; + +u8 (*const gMovementActionFuncs_EmoteHeart[])(struct MapObject *, struct Sprite *) = { + MovementAction_EmoteHeart_Step0, + MovementAction_Finish +}; + +u8 (*const gMovementActionFuncs_RevealTrainer[])(struct MapObject *, struct Sprite *) = { + MovementAction_RevealTrainer_Step0, + MovementAction_RevealTrainer_Step1, + MovementAction_Finish +}; + +u8 (*const gMovementActionFuncs_RockSmashBreak[])(struct MapObject *, struct Sprite *) = { + MovementAction_RockSmashBreak_Step0, + MovementAction_RockSmashBreak_Step1, + MovementAction_RockSmashBreak_Step2, + MovementAction_Finish +}; + +u8 (*const gMovementActionFuncs_CutTree[])(struct MapObject *, struct Sprite *) = { + MovementAction_CutTree_Step0, + MovementAction_CutTree_Step1, + MovementAction_CutTree_Step2, + MovementAction_Finish +}; + +u8 (*const gMovementActionFuncs_SetFixedPriority[])(struct MapObject *, struct Sprite *) = { + MovementAction_SetFixedPriority_Step0, + MovementAction_Finish +}; + +u8 (*const gMovementActionFuncs_ClearFixedPriority[])(struct MapObject *, struct Sprite *) = { + MovementAction_ClearFixedPriority_Step0, + MovementAction_Finish +}; + +u8 (*const gMovementActionFuncs_InitAffineAnim[])(struct MapObject *, struct Sprite *) = { + MovementAction_InitAffineAnim_Step0, + MovementAction_Finish +}; + +u8 (*const gMovementActionFuncs_ClearAffineAnim[])(struct MapObject *, struct Sprite *) = { + MovementAction_ClearAffineAnim_Step0, + MovementAction_Finish +}; + +u8 (*const gMovementActionFuncs_WalkDownAffine0[])(struct MapObject *, struct Sprite *) = { + MovementAction_WalkDownAffine0_Step0, + MovementAction_WalkDownAffine0_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_WalkDownAffine1[])(struct MapObject *, struct Sprite *) = { + MovementAction_WalkDownAffine1_Step0, + MovementAction_WalkDownAffine1_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroWheelieFaceDown[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroWheelieFaceDown_Step0, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroWheelieFaceUp[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroWheelieFaceUp_Step0, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroWheelieFaceLeft[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroWheelieFaceLeft_Step0, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroWheelieFaceRight[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroWheelieFaceRight_Step0, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroPopWheelieDown[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroPopWheelieDown_Step0, + MovementAction_WaitSpriteAnim, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroPopWheelieUp[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroPopWheelieUp_Step0, + MovementAction_WaitSpriteAnim, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroPopWheelieLeft[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroPopWheelieLeft_Step0, + MovementAction_WaitSpriteAnim, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroPopWheelieRight[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroPopWheelieRight_Step0, + MovementAction_WaitSpriteAnim, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroEndWheelieFaceDown[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroEndWheelieFaceDown_Step0, + MovementAction_WaitSpriteAnim, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroEndWheelieFaceUp[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroEndWheelieFaceUp_Step0, + MovementAction_WaitSpriteAnim, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroEndWheelieFaceLeft[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroEndWheelieFaceLeft_Step0, + MovementAction_WaitSpriteAnim, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroEndWheelieFaceRight[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroEndWheelieFaceRight_Step0, + MovementAction_WaitSpriteAnim, + MovementAction_PauseSpriteAnim, +}; + +u8 (*const gMovementActionFuncs_UnusedAcroActionDown[])(struct MapObject *, struct Sprite *) = { + MovementAction_UnusedAcroActionDown_Step0, + MovementAction_WaitSpriteAnim, + MovementAction_PauseSpriteAnim, +}; + +u8 (*const gMovementActionFuncs_UnusedAcroActionUp[])(struct MapObject *, struct Sprite *) = { + MovementAction_UnusedAcroActionUp_Step0, + MovementAction_WaitSpriteAnim, + MovementAction_PauseSpriteAnim, +}; + +u8 (*const gMovementActionFuncs_UnusedAcroActionLeft[])(struct MapObject *, struct Sprite *) = { + MovementAction_UnusedAcroActionLeft_Step0, + MovementAction_WaitSpriteAnim, + MovementAction_PauseSpriteAnim, +}; + +u8 (*const gMovementActionFuncs_UnusedAcroActionRight[])(struct MapObject *, struct Sprite *) = { + MovementAction_UnusedAcroActionRight_Step0, + MovementAction_WaitSpriteAnim, + MovementAction_PauseSpriteAnim, +}; + +u8 (*const gMovementActionFuncs_AcroWheelieHopFaceDown[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroWheelieHopFaceDown_Step0, + MovementAction_AcroWheelieHopFaceDown_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroWheelieHopFaceUp[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroWheelieHopFaceUp_Step0, + MovementAction_AcroWheelieHopFaceUp_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroWheelieHopFaceLeft[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroWheelieHopFaceLeft_Step0, + MovementAction_AcroWheelieHopFaceLeft_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroWheelieHopFaceRight[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroWheelieHopFaceRight_Step0, + MovementAction_AcroWheelieHopFaceRight_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroWheelieHopDown[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroWheelieHopDown_Step0, + MovementAction_AcroWheelieHopDown_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroWheelieHopUp[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroWheelieHopUp_Step0, + MovementAction_AcroWheelieHopUp_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroWheelieHopLeft[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroWheelieHopLeft_Step0, + MovementAction_AcroWheelieHopLeft_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroWheelieHopRight[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroWheelieHopRight_Step0, + MovementAction_AcroWheelieHopRight_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroWheelieJumpDown[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroWheelieJumpDown_Step0, + MovementAction_AcroWheelieJumpDown_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroWheelieJumpUp[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroWheelieJumpUp_Step0, + MovementAction_AcroWheelieJumpUp_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroWheelieJumpLeft[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroWheelieJumpLeft_Step0, + MovementAction_AcroWheelieJumpLeft_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroWheelieJumpRight[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroWheelieJumpRight_Step0, + MovementAction_AcroWheelieJumpRight_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroWheelieInPlaceDown[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroWheelieInPlaceDown_Step0, + MovementAction_WalkInPlace_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroWheelieInPlaceUp[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroWheelieInPlaceUp_Step0, + MovementAction_WalkInPlace_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroWheelieInPlaceLeft[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroWheelieInPlaceLeft_Step0, + MovementAction_WalkInPlace_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroWheelieInPlaceRight[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroWheelieInPlaceRight_Step0, + MovementAction_WalkInPlace_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroPopWheelieMoveDown[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroPopWheelieMoveDown_Step0, + MovementAction_AcroPopWheelieMoveDown_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroPopWheelieMoveUp[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroPopWheelieMoveUp_Step0, + MovementAction_AcroPopWheelieMoveUp_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroPopWheelieMoveLeft[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroPopWheelieMoveLeft_Step0, + MovementAction_AcroPopWheelieMoveLeft_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroPopWheelieMoveRight[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroPopWheelieMoveRight_Step0, + MovementAction_AcroPopWheelieMoveRight_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroWheelieMoveDown[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroWheelieMoveDown_Step0, + MovementAction_AcroWheelieMoveDown_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroWheelieMoveUp[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroWheelieMoveUp_Step0, + MovementAction_AcroWheelieMoveUp_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroWheelieMoveLeft[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroWheelieMoveLeft_Step0, + MovementAction_AcroWheelieMoveLeft_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroWheelieMoveRight[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroWheelieMoveRight_Step0, + MovementAction_AcroWheelieMoveRight_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroEndWheelieMoveDown[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroEndWheelieMoveDown_Step0, + MovementAction_AcroEndWheelieMoveDown_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroEndWheelieMoveUp[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroEndWheelieMoveUp_Step0, + MovementAction_AcroEndWheelieMoveUp_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroEndWheelieMoveLeft[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroEndWheelieMoveLeft_Step0, + MovementAction_AcroEndWheelieMoveLeft_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroEndWheelieMoveRight[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroEndWheelieMoveRight_Step0, + MovementAction_AcroEndWheelieMoveRight_Step1, + MovementAction_PauseSpriteAnim +}; + +#endif //POKERUBY_MOVEMENT_ACTION_FUNC_TABLES_H diff --git a/src/data/field_map_obj/movement_type_func_tables.h b/src/data/field_map_obj/movement_type_func_tables.h new file mode 100644 index 000000000..00b05c8f6 --- /dev/null +++ b/src/data/field_map_obj/movement_type_func_tables.h @@ -0,0 +1,438 @@ +#ifndef POKERUBY_MOVEMENT_TYPE_FUNC_TABLES_H +#define POKERUBY_MOVEMENT_TYPE_FUNC_TABLES_H + +u8 (*const gMovementTypeFuncs_WanderAround[])(struct MapObject *, struct Sprite *) = { + MovementType_WanderAround_Step0, + MovementType_WanderAround_Step1, + MovementType_WanderAround_Step2, + MovementType_WanderAround_Step3, + MovementType_WanderAround_Step4, + MovementType_WanderAround_Step5, + MovementType_WanderAround_Step6 +}; + +const u8 gStandardDirections[] = {DIR_SOUTH, DIR_NORTH, DIR_WEST, DIR_EAST}; + +u8 (*const gUnknown_08375244[])(s16, s16, s16, s16) = { + sub_805CAAC, + sub_805CADC, + sub_805CAEC, + sub_805CB00, + sub_805CB5C, + sub_805CBB8, + sub_805CC14, + sub_805CC70, + sub_805CCAC, + sub_805CCE8, + sub_805CD24 +}; + +u8 (*const gMovementTypeFuncs_LookAround[])(struct MapObject *, struct Sprite *) = { + MovementType_LookAround_Step0, + MovementType_LookAround_Step1, + MovementType_LookAround_Step2, + MovementType_LookAround_Step3, + MovementType_LookAround_Step4, +}; + +u8 (*const gMovementTypeFuncs_WanderUpAndDown[])(struct MapObject *, struct Sprite *) = { + MovementType_WanderUpAndDown_Step0, + MovementType_WanderUpAndDown_Step1, + MovementType_WanderUpAndDown_Step2, + MovementType_WanderUpAndDown_Step3, + MovementType_WanderUpAndDown_Step4, + MovementType_WanderUpAndDown_Step5, + MovementType_WanderUpAndDown_Step6, +}; + +const u8 gUpAndDownDirections[] = {DIR_SOUTH, DIR_NORTH}; + +u8 (*const gMovementTypeFuncs_WanderLeftAndRight[])(struct MapObject *, struct Sprite *) = { + MovementType_WanderLeftAndRight_Step0, + MovementType_WanderLeftAndRight_Step1, + MovementType_WanderLeftAndRight_Step2, + MovementType_WanderLeftAndRight_Step3, + MovementType_WanderLeftAndRight_Step4, + MovementType_WanderLeftAndRight_Step5, + MovementType_WanderLeftAndRight_Step6, +}; + +const u8 gLeftAndRightDirections[] = {DIR_WEST, DIR_EAST}; + +u8 (*const gMovementTypeFuncs_FaceDirection[])(struct MapObject *, struct Sprite *) = { + MovementType_FaceDirection_Step0, + MovementType_FaceDirection_Step1, + MovementType_FaceDirection_Step2, +}; + +u8 (*const gMovementTypeFuncs_BerryTreeGrowth[])(struct MapObject *, struct Sprite *) = { + MovementType_BerryTreeGrowth_Step0, + MovementType_BerryTreeGrowth_Step1, + MovementType_BerryTreeGrowth_Step2, + MovementType_BerryTreeGrowth_Step3, + MovementType_BerryTreeGrowth_Step4, +}; + +u8 (*const gMovementTypeFuncs_FaceDownAndUp[])(struct MapObject *, struct Sprite *) = { + MovementType_FaceDownAndUp_Step0, + MovementType_FaceDownAndUp_Step1, + MovementType_FaceDownAndUp_Step2, + MovementType_FaceDownAndUp_Step3, + MovementType_FaceDownAndUp_Step4, +}; + +u8 (*const gMovementTypeFuncs_FaceLeftAndRight[])(struct MapObject *, struct Sprite *) = { + MovementType_FaceLeftAndRight_Step0, + MovementType_FaceLeftAndRight_Step1, + MovementType_FaceLeftAndRight_Step2, + MovementType_FaceLeftAndRight_Step3, + MovementType_FaceLeftAndRight_Step4, +}; + +u8 (*const gMovementTypeFuncs_FaceUpAndLeft[])(struct MapObject *, struct Sprite *) = { + MovementType_FaceUpAndLeft_Step0, + MovementType_FaceUpAndLeft_Step1, + MovementType_FaceUpAndLeft_Step2, + MovementType_FaceUpAndLeft_Step3, + MovementType_FaceUpAndLeft_Step4, +}; + +const u8 gUpAndLeftDirections[] = {DIR_NORTH, DIR_WEST}; + +u8 (*const gMovementTypeFuncs_FaceUpAndRight[])(struct MapObject *, struct Sprite *) = { + MovementType_FaceUpAndRight_Step0, + MovementType_FaceUpAndRight_Step1, + MovementType_FaceUpAndRight_Step2, + MovementType_FaceUpAndRight_Step3, + MovementType_FaceUpAndRight_Step4, +}; + +const u8 gUpAndRightDirections[] = {DIR_NORTH, DIR_EAST}; + +u8 (*const gMovementTypeFuncs_FaceDownAndLeft[])(struct MapObject *, struct Sprite *) = { + MovementType_FaceDownAndLeft_Step0, + MovementType_FaceDownAndLeft_Step1, + MovementType_FaceDownAndLeft_Step2, + MovementType_FaceDownAndLeft_Step3, + MovementType_FaceDownAndLeft_Step4, +}; + +const u8 gDownAndLeftDirections[] = {DIR_SOUTH, DIR_WEST}; + +u8 (*const gMovementTypeFuncs_FaceDownAndRight[])(struct MapObject *, struct Sprite *) = { + MovementType_FaceDownAndRight_Step0, + MovementType_FaceDownAndRight_Step1, + MovementType_FaceDownAndRight_Step2, + MovementType_FaceDownAndRight_Step3, + MovementType_FaceDownAndRight_Step4, +}; + +const u8 gDownAndRightDirections[] = {DIR_SOUTH, DIR_EAST}; + +u8 (*const gMovementTypeFuncs_FaceDownUpAndLeft[])(struct MapObject *, struct Sprite *) = { + MovementType_FaceDownUpAndLeft_Step0, + MovementType_FaceDownUpAndLeft_Step1, + MovementType_FaceDownUpAndLeft_Step2, + MovementType_FaceDownUpAndLeft_Step3, + MovementType_FaceDownUpAndLeft_Step4, +}; + +const u8 gDownUpAndLeftDirections[] = {DIR_NORTH, DIR_SOUTH, DIR_WEST, DIR_SOUTH}; + +u8 (*const gMovementTypeFuncs_FaceDownUpAndRight[])(struct MapObject *, struct Sprite *) = { + MovementType_FaceDownUpAndRight_Step0, + MovementType_FaceDownUpAndRight_Step1, + MovementType_FaceDownUpAndRight_Step2, + MovementType_FaceDownUpAndRight_Step3, + MovementType_FaceDownUpAndRight_Step4, +}; + +const u8 gDownUpAndRightDirections[] = {DIR_SOUTH, DIR_NORTH, DIR_EAST, DIR_SOUTH}; + +u8 (*const gMovementTypeFuncs_FaceUpLeftAndRight[])(struct MapObject *, struct Sprite *) = { + MovementType_FaceUpLeftAndRight_Step0, + MovementType_FaceUpLeftAndRight_Step1, + MovementType_FaceUpLeftAndRight_Step2, + MovementType_FaceUpLeftAndRight_Step3, + MovementType_FaceUpLeftAndRight_Step4, +}; + +const u8 gUpLeftAndRightDirections[] = {DIR_NORTH, DIR_WEST, DIR_EAST, DIR_NORTH}; + +u8 (*const gMovementTypeFuncs_FaceDownLeftAndRight[])(struct MapObject *, struct Sprite *) = { + MovementType_FaceDownLeftAndRight_Step0, + MovementType_FaceDownLeftAndRight_Step1, + MovementType_FaceDownLeftAndRight_Step2, + MovementType_FaceDownLeftAndRight_Step3, + MovementType_FaceDownLeftAndRight_Step4, +}; + +const u8 gDownLeftAndRightDirections[] = {DIR_WEST, DIR_EAST, DIR_SOUTH, DIR_SOUTH}; + +u8 (*const gMovementTypeFuncs_RotateCounterclockwise[])(struct MapObject *, struct Sprite *) = { + MovementType_RotateCounterclockwise_Step0, + MovementType_RotateCounterclockwise_Step1, + MovementType_RotateCounterclockwise_Step2, + MovementType_RotateCounterclockwise_Step3, +}; + +const u8 gCounterclockwiseDirections[] = {DIR_SOUTH, DIR_EAST, DIR_WEST, DIR_SOUTH, DIR_NORTH}; + +u8 (*const gMovementTypeFuncs_RotateClockwise[])(struct MapObject *, struct Sprite *) = { + MovementType_RotateClockwise_Step0, + MovementType_RotateClockwise_Step1, + MovementType_RotateClockwise_Step2, + MovementType_RotateClockwise_Step3, +}; + +const u8 gClockwiseDirections[] = {DIR_SOUTH, DIR_WEST, DIR_EAST, DIR_NORTH, DIR_SOUTH}; + +u8 (*const gMovementTypeFuncs_WalkBackAndForth[])(struct MapObject *, struct Sprite *) = { + MovementType_WalkBackAndForth_Step0, + MovementType_WalkBackAndForth_Step1, + MovementType_WalkBackAndForth_Step2, + MovementType_WalkBackAndForth_Step3, +}; + +u8 (*const gMovementTypeFuncs_WalkSequenceUpRightLeftDown[])(struct MapObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceUpRightLeftDown_Step1, + MovementType_WalkSequence_Step2 +}; + +const u8 gUpRightLeftDownDirections[] = {DIR_NORTH, DIR_EAST, DIR_WEST, DIR_SOUTH}; + +u8 (*const gMovementTypeFuncs_WalkSequenceRightLeftDownUp[])(struct MapObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceRightLeftDownUp_Step1, + MovementType_WalkSequence_Step2 +}; + +const u8 gRightLeftDownUpDirections[] = {DIR_EAST, DIR_WEST, DIR_SOUTH, DIR_NORTH}; + +u8 (*const gMovementTypeFuncs_WalkSequenceDownUpRightLeft[])(struct MapObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceDownUpRightLeft_Step1, + MovementType_WalkSequence_Step2 +}; + +const u8 gDownUpRightLeftDirections[] = {DIR_SOUTH, DIR_NORTH, DIR_EAST, DIR_WEST}; + +u8 (*const gMovementTypeFuncs_WalkSequenceLeftDownUpRight[])(struct MapObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceLeftDownUpRight_Step1, + MovementType_WalkSequence_Step2 +}; + +const u8 gLeftDownUpRightDirections[] = {DIR_WEST, DIR_SOUTH, DIR_NORTH, DIR_EAST}; + +u8 (*const gMovementTypeFuncs_WalkSequenceUpLeftRightDown[])(struct MapObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceUpLeftRightDown_Step1, + MovementType_WalkSequence_Step2 +}; + +const u8 gUpLeftRightDownDirections[] = {DIR_NORTH, DIR_WEST, DIR_EAST, DIR_SOUTH}; + +u8 (*const gMovementTypeFuncs_WalkSequenceLeftRightDownUp[])(struct MapObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceLeftRightDownUp_Step1, + MovementType_WalkSequence_Step2 +}; + +const u8 gLeftRightDownUpDirections[] = {DIR_WEST, DIR_EAST, DIR_SOUTH, DIR_NORTH}; + +u8 (*const gMovementTypeFuncs_WalkSequenceDownUpLeftRight[])(struct MapObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceDownUpLeftRight_Step1, + MovementType_WalkSequence_Step2 +}; + +u8 (*const gMovementTypeFuncs_WalkSequenceRightDownUpLeft[])(struct MapObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceRightDownUpLeft_Step1, + MovementType_WalkSequence_Step2 +}; + +const u8 gRightDownUpLeftDirections[] = {DIR_EAST, DIR_SOUTH, DIR_NORTH, DIR_WEST}; + +u8 (*const gMovementTypeFuncs_WalkSequenceLeftUpDownRight[])(struct MapObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceLeftUpDownRight_Step1, + MovementType_WalkSequence_Step2 +}; + +const u8 gLeftUpDownRightDirections[] = {DIR_WEST, DIR_NORTH, DIR_SOUTH, DIR_EAST}; + +u8 (*const gMovementTypeFuncs_WalkSequenceUpDownRightLeft[])(struct MapObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceUpDownRightLeft_Step1, + MovementType_WalkSequence_Step2 +}; + +const u8 gUpDownRightLeftDirections[] = {DIR_NORTH, DIR_SOUTH, DIR_EAST, DIR_WEST}; + +u8 (*const gMovementTypeFuncs_WalkSequenceRightLeftUpDown[])(struct MapObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceRightLeftUpDown_Step1, + MovementType_WalkSequence_Step2 +}; + +const u8 gRightLeftUpDownDirections[] = {DIR_EAST, DIR_WEST, DIR_NORTH, DIR_SOUTH}; + +u8 (*const gMovementTypeFuncs_WalkSequenceDownRightLeftUp[])(struct MapObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceDownRightLeftUp_Step1, + MovementType_WalkSequence_Step2 +}; + +const u8 gDownRightLeftUpDirections[] = {DIR_SOUTH, DIR_EAST, DIR_WEST, DIR_NORTH}; + +u8 (*const gMovementTypeFuncs_WalkSequenceRightUpDownLeft[])(struct MapObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceRightUpDownLeft_Step1, + MovementType_WalkSequence_Step2 +}; + +const u8 gRightUpDownLeftDirections[] = {DIR_EAST, DIR_NORTH, DIR_SOUTH, DIR_WEST}; + +u8 (*const gMovementTypeFuncs_WalkSequenceUpDownLeftRight[])(struct MapObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceUpDownLeftRight_Step1, + MovementType_WalkSequence_Step2 +}; + +const u8 gUpDownLeftRightDirections[] = {DIR_NORTH, DIR_SOUTH, DIR_WEST, DIR_EAST}; + +u8 (*const gMovementTypeFuncs_WalkSequenceLeftRightUpDown[])(struct MapObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceLeftRightUpDown_Step1, + MovementType_WalkSequence_Step2 +}; + +const u8 gLeftRightUpDownDirections[] = {DIR_WEST, DIR_EAST, DIR_NORTH, DIR_SOUTH}; + +u8 (*const gMovementTypeFuncs_WalkSequenceDownLeftRightUp[])(struct MapObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceDownLeftRightUp_Step1, + MovementType_WalkSequence_Step2 +}; + +const u8 gDownLeftRightUpDirections[] = {DIR_SOUTH, DIR_WEST, DIR_EAST, DIR_NORTH}; + +u8 (*const gMovementTypeFuncs_WalkSequenceUpLeftDownRight[])(struct MapObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceUpLeftDownRight_Step1, + MovementType_WalkSequence_Step2 +}; + +const u8 gUpLeftDownRightDirections[] = {DIR_NORTH, DIR_WEST, DIR_SOUTH, DIR_EAST}; + +u8 (*const gMovementTypeFuncs_WalkSequenceDownRightUpLeft[])(struct MapObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceDownRightUpLeft_Step1, + MovementType_WalkSequence_Step2 +}; + +const u8 gDownRightUpLeftDirections[] = {DIR_SOUTH, DIR_EAST, DIR_NORTH, DIR_WEST}; + +u8 (*const gMovementTypeFuncs_WalkSequenceLeftDownRightUp[])(struct MapObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceLeftDownRightUp_Step1, + MovementType_WalkSequence_Step2 +}; + +const u8 gLeftDownRightUpDirections[] = {DIR_WEST, DIR_SOUTH, DIR_EAST, DIR_NORTH}; + +u8 (*const gMovementTypeFuncs_WalkSequenceRightUpLeftDown[])(struct MapObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceRightUpLeftDown_Step1, + MovementType_WalkSequence_Step2 +}; + +const u8 gRightUpLeftDownDirections[] = {DIR_EAST, DIR_NORTH, DIR_WEST, DIR_SOUTH}; + +u8 (*const gMovementTypeFuncs_WalkSequenceUpRightDownLeft[])(struct MapObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceUpRightDownLeft_Step1, + MovementType_WalkSequence_Step2 +}; + +const u8 gUpRightDownLeftDirections[] = {DIR_NORTH, DIR_EAST, DIR_SOUTH, DIR_WEST}; + +u8 (*const gMovementTypeFuncs_WalkSequenceDownLeftUpRight[])(struct MapObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceDownLeftUpRight_Step1, + MovementType_WalkSequence_Step2 +}; + +const u8 gDownLeftUpRightDirections[] = {DIR_SOUTH, DIR_WEST, DIR_NORTH, DIR_EAST}; + +u8 (*const gMovementTypeFuncs_WalkSequenceLeftUpRightDown[])(struct MapObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceLeftUpRightDown_Step1, + MovementType_WalkSequence_Step2 +}; + +const u8 gLeftUpRightDownDirections[] = {DIR_WEST, DIR_NORTH, DIR_EAST, DIR_SOUTH}; + +u8 (*const gMovementTypeFuncs_WalkSequenceRightDownLeftUp[])(struct MapObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceRightDownLeftUp_Step1, + MovementType_WalkSequence_Step2 +}; + +const u8 gRightDownLeftUpDirections[] = {DIR_EAST, DIR_SOUTH, DIR_WEST, DIR_NORTH}; + +u8 (*const gMovementTypeFuncs_CopyPlayer[])(struct MapObject *, struct Sprite *) = { + MovementType_CopyPlayer_Step0, + MovementType_CopyPlayer_Step1, + MovementType_CopyPlayer_Step2 +}; + +u8 (*const gCopyPlayerMovementFuncs[])(struct MapObject *, struct Sprite *, u8, bool8(u8)) = { + CopyablePlayerMovement_None, + CopyablePlayerMovement_FaceDirection, + CopyablePlayerMovement_GoSpeed0, + CopyablePlayerMovement_GoSpeed1, + CopyablePlayerMovement_GoSpeed2, + CopyablePlayerMovement_Slide, + cph_IM_DIFFERENT, + CopyablePlayerMovement_GoSpeed4, + CopyablePlayerMovement_Jump, + CopyablePlayerMovement_None, + CopyablePlayerMovement_None +}; + +u8 (*const gMovementTypeFuncs_CopyPlayerInGrass[])(struct MapObject *, struct Sprite *) = { + MovementType_CopyPlayer_Step0, + MovementType_CopyPlayerInGrass_Step1, + MovementType_CopyPlayer_Step2 +}; + +u8 (*const gMovementTypeFuncs_Hidden[])(struct MapObject *, struct Sprite *) = { + MovementType_Hidden_Step0 +}; + +u8 (*const gMovementTypeFuncs_WalkInPlace[])(struct MapObject *, struct Sprite *) = { + MovementType_WalkInPlace_Step0, + MovementType_WalkInPlace_Step1 +}; + +u8 (*const gMovementTypeFuncs_JogInPlace[])(struct MapObject *, struct Sprite *) = { + MovementType_JogInPlace_Step0, + MovementType_WalkInPlace_Step1 +}; + +u8 (*const gMovementTypeFuncs_RunInPlace[])(struct MapObject *, struct Sprite *) = { + MovementType_RunInPlace_Step0, + MovementType_WalkInPlace_Step1 +}; + +u8 (*const gMovementTypeFuncs_Invisible[])(struct MapObject *, struct Sprite *) = { + MovementType_Invisible_Step0, + MovementType_Invisible_Step1, + MovementType_Invisible_Step2 +}; + +#endif //POKERUBY_MOVEMENT_TYPE_FUNC_TABLES_H diff --git a/src/event_object_movement.c b/src/event_object_movement.c index 93f6248e6..17329e792 100644 --- a/src/event_object_movement.c +++ b/src/event_object_movement.c @@ -1956,7 +1956,7 @@ const s16 gMovementDelaysMedium[] = {32, 64, 96, 128}; const s16 gMovementDelaysLong[] = {32, 64, 128, 192}; const s16 gMovementDelaysShort[] = {32, 48, 64, 80}; -#include "data/field_map_obj/callback_subroutine_pointers.h" +#include "data/field_map_obj/movement_type_func_tables.h" const u8 gFaceDirectionAnimNums[] = { 0, // DIR_NONE @@ -2377,7 +2377,7 @@ const u8 gUnknown_08375767[][4] = { {3, 4, 2, 1} }; -#include "data/field_map_obj/anim_func_ptrs.h" +#include "data/field_map_obj/movement_action_func_tables.h" // text -- cgit v1.2.3