#ifndef POKERUBY_MOVEMENT_ACTION_FUNC_TABLES_H
#define POKERUBY_MOVEMENT_ACTION_FUNC_TABLES_H

u8 MovementAction_FaceDown_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_PauseSpriteAnim(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_FaceUp_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_FaceLeft_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_FaceRight_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_WalkSlowDown_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_WalkSlowDown_Step1(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_WalkSlowUp_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_WalkSlowUp_Step1(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_WalkSlowLeft_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_WalkSlowLeft_Step1(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_WalkSlowRight_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_WalkSlowRight_Step1(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_WalkNormalDown_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_WalkNormalDown_Step1(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_WalkNormalUp_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_WalkNormalUp_Step1(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_WalkNormalLeft_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_WalkNormalLeft_Step1(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_WalkNormalRight_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_WalkNormalRight_Step1(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_Jump2Down_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_Jump2Down_Step1(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_Jump2Up_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_Jump2Up_Step1(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_Jump2Left_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_Jump2Left_Step1(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_Jump2Right_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_Jump2Right_Step1(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_Delay1_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_Delay_Step1(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_Finish(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_Delay2_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_Delay4_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_Delay8_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_Delay16_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_WalkFastDown_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_WalkFastDown_Step1(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_WalkFastUp_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_WalkFastUp_Step1(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_WalkFastLeft_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_WalkFastLeft_Step1(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_WalkFastRight_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_WalkFastRight_Step1(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_WalkInPlaceSlowDown_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_WalkInPlaceSlow_Step1(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_WalkInPlaceSlowUp_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_WalkInPlaceSlowLeft_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_WalkInPlaceSlowRight_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_WalkInPlaceNormalDown_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_WalkInPlace_Step1(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_WalkInPlaceNormalUp_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_WalkInPlaceNormalLeft_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_WalkInPlaceNormalRight_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_WalkInPlaceFastDown_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_WalkInPlaceFastUp_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_WalkInPlaceFastLeft_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_WalkInPlaceFastRight_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_WalkInPlaceFastestDown_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_WalkInPlaceFastestUp_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_WalkInPlaceFastestLeft_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_WalkInPlaceFastestRight_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_RideWaterCurrentDown_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_RideWaterCurrentDown_Step1(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_RideWaterCurrentUp_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_RideWaterCurrentUp_Step1(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_RideWaterCurrentLeft_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_RideWaterCurrentLeft_Step1(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_RideWaterCurrentRight_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_RideWaterCurrentRight_Step1(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_WalkFastestDown_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_WalkFastestDown_Step1(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_WalkFastestUp_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_WalkFastestUp_Step1(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_WalkFastestLeft_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_WalkFastestLeft_Step1(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_WalkFastestRight_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_WalkFastestRight_Step1(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_SlideDown_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_SlideDown_Step1(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_SlideUp_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_SlideUp_Step1(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_SlideLeft_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_SlideLeft_Step1(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_SlideRight_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_SlideRight_Step1(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_PlayerRunDown_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_PlayerRunDown_Step1(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_PlayerRunUp_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_PlayerRunUp_Step1(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_PlayerRunLeft_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_PlayerRunLeft_Step1(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_PlayerRunRight_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_PlayerRunRight_Step1(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_StartAnimInDirection_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_WaitSpriteAnim(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_JumpSpecialDown_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_JumpSpecialDown_Step1(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_JumpSpecialUp_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_JumpSpecialUp_Step1(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_JumpSpecialLeft_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_JumpSpecialLeft_Step1(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_JumpSpecialRight_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_JumpSpecialRight_Step1(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_FacePlayer_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_FaceAwayPlayer_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_LockFacingDirection_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_UnlockFacingDirection_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_JumpDown_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_JumpDown_Step1(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_JumpUp_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_JumpUp_Step1(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_JumpLeft_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_JumpLeft_Step1(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_JumpRight_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_JumpRight_Step1(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_JumpInPlaceDown_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_JumpInPlaceDown_Step1(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_JumpInPlaceUp_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_JumpInPlaceUp_Step1(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_JumpInPlaceLeft_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_JumpInPlaceLeft_Step1(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_JumpInPlaceRight_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_JumpInPlaceRight_Step1(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_JumpInPlaceDownUp_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_JumpInPlaceDownUp_Step1(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_JumpInPlaceUpDown_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_JumpInPlaceUpDown_Step1(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_JumpInPlaceLeftRight_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_JumpInPlaceLeftRight_Step1(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_JumpInPlaceRightLeft_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_JumpInPlaceRightLeft_Step1(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_FaceOriginalDirection_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_NurseJoyBowDown_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_EnableJumpLandingGroundEffect_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_DisableJumpLandingGroundEffect_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_DisableAnimation_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_RestoreAnimation_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_SetInvisible_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_SetVisible_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_EmoteExclamationMark_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_EmoteQuestionMark_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_EmoteHeart_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_RevealTrainer_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_RevealTrainer_Step1(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_RockSmashBreak_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_RockSmashBreak_Step1(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_RockSmashBreak_Step2(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_CutTree_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_CutTree_Step1(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_CutTree_Step2(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_SetFixedPriority_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_ClearFixedPriority_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_InitAffineAnim_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_ClearAffineAnim_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_WalkDownStartAffine_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_WalkDownStartAffine_Step1(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_WalkDownAffine_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_WalkDownAffine_Step1(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_AcroWheelieFaceDown_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_AcroWheelieFaceUp_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_AcroWheelieFaceLeft_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_AcroWheelieFaceRight_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_AcroPopWheelieDown_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_AcroPopWheelieUp_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_AcroPopWheelieLeft_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_AcroPopWheelieRight_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_AcroEndWheelieFaceDown_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_AcroEndWheelieFaceUp_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_AcroEndWheelieFaceLeft_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_AcroEndWheelieFaceRight_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_UnusedAcroActionDown_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_UnusedAcroActionUp_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_UnusedAcroActionLeft_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_UnusedAcroActionRight_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_AcroWheelieHopFaceDown_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_AcroWheelieHopFaceDown_Step1(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_AcroWheelieHopFaceUp_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_AcroWheelieHopFaceUp_Step1(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_AcroWheelieHopFaceLeft_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_AcroWheelieHopFaceLeft_Step1(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_AcroWheelieHopFaceRight_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_AcroWheelieHopFaceRight_Step1(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_AcroWheelieHopDown_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_AcroWheelieHopDown_Step1(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_AcroWheelieHopUp_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_AcroWheelieHopUp_Step1(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_AcroWheelieHopLeft_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_AcroWheelieHopLeft_Step1(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_AcroWheelieHopRight_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_AcroWheelieHopRight_Step1(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_AcroWheelieJumpDown_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_AcroWheelieJumpDown_Step1(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_AcroWheelieJumpUp_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_AcroWheelieJumpUp_Step1(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_AcroWheelieJumpLeft_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_AcroWheelieJumpLeft_Step1(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_AcroWheelieJumpRight_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_AcroWheelieJumpRight_Step1(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_AcroWheelieInPlaceDown_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_WalkInPlace_Step1(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_AcroWheelieInPlaceUp_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_WalkInPlace_Step1(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_AcroWheelieInPlaceLeft_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_WalkInPlace_Step1(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_AcroWheelieInPlaceRight_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_WalkInPlace_Step1(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_AcroPopWheelieMoveDown_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_AcroPopWheelieMoveDown_Step1(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_AcroPopWheelieMoveUp_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_AcroPopWheelieMoveUp_Step1(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_AcroPopWheelieMoveLeft_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_AcroPopWheelieMoveLeft_Step1(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_AcroPopWheelieMoveRight_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_AcroPopWheelieMoveRight_Step1(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_AcroWheelieMoveDown_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_AcroWheelieMoveDown_Step1(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_AcroWheelieMoveUp_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_AcroWheelieMoveUp_Step1(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_AcroWheelieMoveLeft_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_AcroWheelieMoveLeft_Step1(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_AcroWheelieMoveRight_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_AcroWheelieMoveRight_Step1(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_AcroEndWheelieMoveDown_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_AcroEndWheelieMoveDown_Step1(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_AcroEndWheelieMoveUp_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_AcroEndWheelieMoveUp_Step1(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_AcroEndWheelieMoveLeft_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_AcroEndWheelieMoveLeft_Step1(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_AcroEndWheelieMoveRight_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementAction_AcroEndWheelieMoveRight_Step1(struct ObjectEvent *, struct Sprite *);

u8 (*const gMovementActionFuncs_FaceDown[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_FaceUp[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_FaceLeft[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_FaceRight[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_WalkSlowDown[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_WalkSlowUp[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_WalkSlowLeft[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_WalkSlowRight[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_WalkNormalDown[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_WalkNormalUp[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_WalkNormalLeft[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_WalkNormalRight[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_Jump2Down[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_Jump2Up[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_Jump2Left[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_Jump2Right[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_Delay1[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_Delay2[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_Delay4[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_Delay8[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_Delay16[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_WalkFastDown[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_WalkFastUp[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_WalkFastLeft[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_WalkFastRight[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_WalkInPlaceSlowDown[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_WalkInPlaceSlowUp[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_WalkInPlaceSlowLeft[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_WalkInPlaceSlowRight[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_WalkInPlaceNormalDown[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_WalkInPlaceNormalLeft[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_WalkInPlaceNormalUp[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_WalkInPlaceNormalRight[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_WalkInPlaceFastDown[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_WalkInPlaceFastUp[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_WalkInPlaceFastLeft[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_WalkInPlaceFastRight[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_WalkInPlaceFastestDown[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_WalkInPlaceFastestUp[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_WalkInPlaceFastestLeft[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_WalkInPlaceFastestRight[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_RideWaterCurrentDown[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_RideWaterCurrentUp[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_RideWaterCurrentLeft[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_RideWaterCurrentRight[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_WalkFastestDown[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_WalkFastestUp[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_WalkFastestLeft[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_WalkFastestRight[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_SlideDown[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_SlideUp[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_SlideLeft[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_SlideRight[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_PlayerRunDown[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_PlayerRunUp[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_PlayerRunLeft[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_PlayerRunRight[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_StartAnimInDirection[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_JumpSpecialDown[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_JumpSpecialUp[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_JumpSpecialLeft[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_JumpSpecialRight[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_FacePlayer[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_FaceAwayPlayer[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_LockFacingDirection[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_UnlockFacingDirection[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_JumpDown[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_JumpUp[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_JumpLeft[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_JumpRight[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_JumpInPlaceDown[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_JumpInPlaceUp[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_JumpInPlaceLeft[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_JumpInPlaceRight[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_JumpInPlaceDownUp[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_JumpInPlaceUpDown[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_JumpInPlaceLeftRight[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_JumpInPlaceRightLeft[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_FaceOriginalDirection[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_NurseJoyBowDown[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_EnableJumpLandingGroundEffect[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_DisableJumpLandingGroundEffect[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_DisableAnimation[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_RestoreAnimation[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_SetInvisible[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_SetVisible[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_EmoteExclamationMark[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_EmoteQuestionMark[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_EmoteHeart[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_RevealTrainer[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_RockSmashBreak[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_CutTree[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_SetFixedPriority[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_ClearFixedPriority[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_InitAffineAnim[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_ClearAffineAnim[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_WalkDownStartAffine[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_WalkDownAffine[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_AcroWheelieFaceDown[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_AcroWheelieFaceUp[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_AcroWheelieFaceLeft[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_AcroWheelieFaceRight[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_AcroPopWheelieDown[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_AcroPopWheelieUp[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_AcroPopWheelieLeft[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_AcroPopWheelieRight[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_AcroEndWheelieFaceDown[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_AcroEndWheelieFaceUp[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_AcroEndWheelieFaceLeft[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_AcroEndWheelieFaceRight[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_AcroWheelieHopFaceDown[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_AcroWheelieHopFaceUp[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_AcroWheelieHopFaceLeft[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_AcroWheelieHopFaceRight[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_AcroWheelieHopDown[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_AcroWheelieHopUp[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_AcroWheelieHopLeft[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_AcroWheelieHopRight[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_AcroWheelieJumpDown[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_AcroWheelieJumpUp[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_AcroWheelieJumpLeft[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_AcroWheelieJumpRight[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_AcroWheelieInPlaceDown[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_AcroWheelieInPlaceUp[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_AcroWheelieInPlaceLeft[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_AcroWheelieInPlaceRight[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_AcroPopWheelieMoveDown[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_AcroPopWheelieMoveUp[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_AcroPopWheelieMoveLeft[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_AcroPopWheelieMoveRight[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_AcroWheelieMoveDown[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_AcroWheelieMoveUp[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_AcroWheelieMoveLeft[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_AcroWheelieMoveRight[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_AcroEndWheelieMoveDown[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_AcroEndWheelieMoveUp[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_AcroEndWheelieMoveLeft[])(struct ObjectEvent *, struct Sprite *);
u8 (*const gMovementActionFuncs_AcroEndWheelieMoveRight[])(struct ObjectEvent *, struct Sprite *);

u8 (*const *const gMovementActionFuncs[])(struct ObjectEvent *, 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_ACTION_SLIDE_DOWN
    gMovementActionFuncs_SlideUp,                 // MOVEMENT_ACTION_SLIDE_UP
    gMovementActionFuncs_SlideLeft,               // MOVEMENT_ACTION_SLIDE_LEFT
    gMovementActionFuncs_SlideRight,              // MOVEMENT_ACTION_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_ACTION_JUMP_DOWN
    gMovementActionFuncs_JumpUp,                  // MOVEMENT_ACTION_JUMP_UP
    gMovementActionFuncs_JumpLeft,                // MOVEMENT_ACTION_JUMP_LEFT
    gMovementActionFuncs_JumpRight,               // MOVEMENT_ACTION_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_WalkDownStartAffine,         // MOVEMENT_ACTION_WALK_DOWN_START_AFFINE
    gMovementActionFuncs_WalkDownAffine,         // 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 ObjectEvent *, struct Sprite *) = {
    MovementAction_FaceDown_Step0,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_FaceUp[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_FaceUp_Step0,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_FaceLeft[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_FaceLeft_Step0,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_FaceRight[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_FaceRight_Step0,
    MovementAction_PauseSpriteAnim
};

u8 (*const gUnknown_083759C0[])(u8) = {
    GetMoveDirectionAnimNum,
    GetMoveDirectionFastAnimNum,
    GetMoveDirectionFastAnimNum,
    GetMoveDirectionFasterAnimNum,
    GetMoveDirectionFastestAnimNum
};

u8 (*const gMovementActionFuncs_WalkSlowDown[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_WalkSlowDown_Step0,
    MovementAction_WalkSlowDown_Step1,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_WalkSlowUp[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_WalkSlowUp_Step0,
    MovementAction_WalkSlowUp_Step1,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_WalkSlowLeft[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_WalkSlowLeft_Step0,
    MovementAction_WalkSlowLeft_Step1,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_WalkSlowRight[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_WalkSlowRight_Step0,
    MovementAction_WalkSlowRight_Step1,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_WalkNormalDown[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_WalkNormalDown_Step0,
    MovementAction_WalkNormalDown_Step1,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_WalkNormalUp[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_WalkNormalUp_Step0,
    MovementAction_WalkNormalUp_Step1,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_WalkNormalLeft[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_WalkNormalLeft_Step0,
    MovementAction_WalkNormalLeft_Step1,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_WalkNormalRight[])(struct ObjectEvent *, 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 ObjectEvent *, struct Sprite *) = {
    MovementAction_Jump2Down_Step0,
    MovementAction_Jump2Down_Step1,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_Jump2Up[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_Jump2Up_Step0,
    MovementAction_Jump2Up_Step1,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_Jump2Left[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_Jump2Left_Step0,
    MovementAction_Jump2Left_Step1,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_Jump2Right[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_Jump2Right_Step0,
    MovementAction_Jump2Right_Step1,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_Delay1[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_Delay1_Step0,
    MovementAction_Delay_Step1,
    MovementAction_Finish
};

u8 (*const gMovementActionFuncs_Delay2[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_Delay2_Step0,
    MovementAction_Delay_Step1,
    MovementAction_Finish
};

u8 (*const gMovementActionFuncs_Delay4[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_Delay4_Step0,
    MovementAction_Delay_Step1,
    MovementAction_Finish
};

u8 (*const gMovementActionFuncs_Delay8[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_Delay8_Step0,
    MovementAction_Delay_Step1,
    MovementAction_Finish
};

u8 (*const gMovementActionFuncs_Delay16[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_Delay16_Step0,
    MovementAction_Delay_Step1,
    MovementAction_Finish
};

u8 (*const gMovementActionFuncs_WalkFastDown[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_WalkFastDown_Step0,
    MovementAction_WalkFastDown_Step1,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_WalkFastUp[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_WalkFastUp_Step0,
    MovementAction_WalkFastUp_Step1,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_WalkFastLeft[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_WalkFastLeft_Step0,
    MovementAction_WalkFastLeft_Step1,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_WalkFastRight[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_WalkFastRight_Step0,
    MovementAction_WalkFastRight_Step1,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_WalkInPlaceSlowDown[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_WalkInPlaceSlowDown_Step0,
    MovementAction_WalkInPlaceSlow_Step1,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_WalkInPlaceSlowUp[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_WalkInPlaceSlowUp_Step0,
    MovementAction_WalkInPlaceSlow_Step1,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_WalkInPlaceSlowLeft[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_WalkInPlaceSlowLeft_Step0,
    MovementAction_WalkInPlaceSlow_Step1,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_WalkInPlaceSlowRight[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_WalkInPlaceSlowRight_Step0,
    MovementAction_WalkInPlaceSlow_Step1,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_WalkInPlaceNormalDown[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_WalkInPlaceNormalDown_Step0,
    MovementAction_WalkInPlace_Step1,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_WalkInPlaceNormalUp[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_WalkInPlaceNormalUp_Step0,
    MovementAction_WalkInPlace_Step1,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_WalkInPlaceNormalLeft[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_WalkInPlaceNormalLeft_Step0,
    MovementAction_WalkInPlace_Step1,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_WalkInPlaceNormalRight[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_WalkInPlaceNormalRight_Step0,
    MovementAction_WalkInPlace_Step1,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_WalkInPlaceFastDown[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_WalkInPlaceFastDown_Step0,
    MovementAction_WalkInPlace_Step1,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_WalkInPlaceFastUp[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_WalkInPlaceFastUp_Step0,
    MovementAction_WalkInPlace_Step1,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_WalkInPlaceFastLeft[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_WalkInPlaceFastLeft_Step0,
    MovementAction_WalkInPlace_Step1,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_WalkInPlaceFastRight[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_WalkInPlaceFastRight_Step0,
    MovementAction_WalkInPlace_Step1,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_WalkInPlaceFastestDown[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_WalkInPlaceFastestDown_Step0,
    MovementAction_WalkInPlace_Step1,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_WalkInPlaceFastestUp[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_WalkInPlaceFastestUp_Step0,
    MovementAction_WalkInPlace_Step1,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_WalkInPlaceFastestLeft[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_WalkInPlaceFastestLeft_Step0,
    MovementAction_WalkInPlace_Step1,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_WalkInPlaceFastestRight[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_WalkInPlaceFastestRight_Step0,
    MovementAction_WalkInPlace_Step1,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_RideWaterCurrentDown[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_RideWaterCurrentDown_Step0,
    MovementAction_RideWaterCurrentDown_Step1,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_RideWaterCurrentUp[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_RideWaterCurrentUp_Step0,
    MovementAction_RideWaterCurrentUp_Step1,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_RideWaterCurrentLeft[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_RideWaterCurrentLeft_Step0,
    MovementAction_RideWaterCurrentLeft_Step1,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_RideWaterCurrentRight[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_RideWaterCurrentRight_Step0,
    MovementAction_RideWaterCurrentRight_Step1,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_WalkFastestDown[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_WalkFastestDown_Step0,
    MovementAction_WalkFastestDown_Step1,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_WalkFastestUp[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_WalkFastestUp_Step0,
    MovementAction_WalkFastestUp_Step1,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_WalkFastestLeft[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_WalkFastestLeft_Step0,
    MovementAction_WalkFastestLeft_Step1,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_WalkFastestRight[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_WalkFastestRight_Step0,
    MovementAction_WalkFastestRight_Step1,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_SlideDown[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_SlideDown_Step0,
    MovementAction_SlideDown_Step1,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_SlideUp[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_SlideUp_Step0,
    MovementAction_SlideUp_Step1,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_SlideLeft[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_SlideLeft_Step0,
    MovementAction_SlideLeft_Step1,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_SlideRight[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_SlideRight_Step0,
    MovementAction_SlideRight_Step1,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_PlayerRunDown[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_PlayerRunDown_Step0,
    MovementAction_PlayerRunDown_Step1,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_PlayerRunUp[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_PlayerRunUp_Step0,
    MovementAction_PlayerRunUp_Step1,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_PlayerRunLeft[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_PlayerRunLeft_Step0,
    MovementAction_PlayerRunLeft_Step1,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_PlayerRunRight[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_PlayerRunRight_Step0,
    MovementAction_PlayerRunRight_Step1,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_StartAnimInDirection[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_StartAnimInDirection_Step0,
    MovementAction_WaitSpriteAnim,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_JumpSpecialDown[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_JumpSpecialDown_Step0,
    MovementAction_JumpSpecialDown_Step1,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_JumpSpecialUp[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_JumpSpecialUp_Step0,
    MovementAction_JumpSpecialUp_Step1,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_JumpSpecialLeft[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_JumpSpecialLeft_Step0,
    MovementAction_JumpSpecialLeft_Step1,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_JumpSpecialRight[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_JumpSpecialRight_Step0,
    MovementAction_JumpSpecialRight_Step1,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_FacePlayer[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_FacePlayer_Step0,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_FaceAwayPlayer[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_FaceAwayPlayer_Step0,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_LockFacingDirection[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_LockFacingDirection_Step0,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_UnlockFacingDirection[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_UnlockFacingDirection_Step0,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_JumpDown[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_JumpDown_Step0,
    MovementAction_JumpDown_Step1,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_JumpUp[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_JumpUp_Step0,
    MovementAction_JumpUp_Step1,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_JumpLeft[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_JumpLeft_Step0,
    MovementAction_JumpLeft_Step1,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_JumpRight[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_JumpRight_Step0,
    MovementAction_JumpRight_Step1,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_JumpInPlaceDown[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_JumpInPlaceDown_Step0,
    MovementAction_JumpInPlaceDown_Step1,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_JumpInPlaceUp[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_JumpInPlaceUp_Step0,
    MovementAction_JumpInPlaceUp_Step1,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_JumpInPlaceLeft[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_JumpInPlaceLeft_Step0,
    MovementAction_JumpInPlaceLeft_Step1,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_JumpInPlaceRight[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_JumpInPlaceRight_Step0,
    MovementAction_JumpInPlaceRight_Step1,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_JumpInPlaceDownUp[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_JumpInPlaceDownUp_Step0,
    MovementAction_JumpInPlaceDownUp_Step1,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_JumpInPlaceUpDown[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_JumpInPlaceUpDown_Step0,
    MovementAction_JumpInPlaceUpDown_Step1,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_JumpInPlaceLeftRight[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_JumpInPlaceLeftRight_Step0,
    MovementAction_JumpInPlaceLeftRight_Step1,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_JumpInPlaceRightLeft[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_JumpInPlaceRightLeft_Step0,
    MovementAction_JumpInPlaceRightLeft_Step1,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_FaceOriginalDirection[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_FaceOriginalDirection_Step0,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_NurseJoyBowDown[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_NurseJoyBowDown_Step0,
    MovementAction_WaitSpriteAnim,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_EnableJumpLandingGroundEffect[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_EnableJumpLandingGroundEffect_Step0,
    MovementAction_Finish
};

u8 (*const gMovementActionFuncs_DisableJumpLandingGroundEffect[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_DisableJumpLandingGroundEffect_Step0,
    MovementAction_Finish
};

u8 (*const gMovementActionFuncs_DisableAnimation[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_DisableAnimation_Step0,
    MovementAction_Finish
};

u8 (*const gMovementActionFuncs_RestoreAnimation[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_RestoreAnimation_Step0,
    MovementAction_Finish
};

u8 (*const gMovementActionFuncs_SetInvisible[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_SetInvisible_Step0,
    MovementAction_Finish
};

u8 (*const gMovementActionFuncs_SetVisible[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_SetVisible_Step0,
    MovementAction_Finish
};

u8 (*const gMovementActionFuncs_EmoteExclamationMark[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_EmoteExclamationMark_Step0,
    MovementAction_Finish
};

u8 (*const gMovementActionFuncs_EmoteQuestionMark[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_EmoteQuestionMark_Step0,
    MovementAction_Finish
};

u8 (*const gMovementActionFuncs_EmoteHeart[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_EmoteHeart_Step0,
    MovementAction_Finish
};

u8 (*const gMovementActionFuncs_RevealTrainer[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_RevealTrainer_Step0,
    MovementAction_RevealTrainer_Step1,
    MovementAction_Finish
};

u8 (*const gMovementActionFuncs_RockSmashBreak[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_RockSmashBreak_Step0,
    MovementAction_RockSmashBreak_Step1,
    MovementAction_RockSmashBreak_Step2,
    MovementAction_Finish
};

u8 (*const gMovementActionFuncs_CutTree[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_CutTree_Step0,
    MovementAction_CutTree_Step1,
    MovementAction_CutTree_Step2,
    MovementAction_Finish
};

u8 (*const gMovementActionFuncs_SetFixedPriority[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_SetFixedPriority_Step0,
    MovementAction_Finish
};

u8 (*const gMovementActionFuncs_ClearFixedPriority[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_ClearFixedPriority_Step0,
    MovementAction_Finish
};

u8 (*const gMovementActionFuncs_InitAffineAnim[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_InitAffineAnim_Step0,
    MovementAction_Finish
};

u8 (*const gMovementActionFuncs_ClearAffineAnim[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_ClearAffineAnim_Step0,
    MovementAction_Finish
};

u8 (*const gMovementActionFuncs_WalkDownStartAffine[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_WalkDownStartAffine_Step0,
    MovementAction_WalkDownStartAffine_Step1,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_WalkDownAffine[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_WalkDownAffine_Step0,
    MovementAction_WalkDownAffine_Step1,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_AcroWheelieFaceDown[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_AcroWheelieFaceDown_Step0,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_AcroWheelieFaceUp[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_AcroWheelieFaceUp_Step0,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_AcroWheelieFaceLeft[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_AcroWheelieFaceLeft_Step0,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_AcroWheelieFaceRight[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_AcroWheelieFaceRight_Step0,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_AcroPopWheelieDown[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_AcroPopWheelieDown_Step0,
    MovementAction_WaitSpriteAnim,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_AcroPopWheelieUp[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_AcroPopWheelieUp_Step0,
    MovementAction_WaitSpriteAnim,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_AcroPopWheelieLeft[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_AcroPopWheelieLeft_Step0,
    MovementAction_WaitSpriteAnim,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_AcroPopWheelieRight[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_AcroPopWheelieRight_Step0,
    MovementAction_WaitSpriteAnim,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_AcroEndWheelieFaceDown[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_AcroEndWheelieFaceDown_Step0,
    MovementAction_WaitSpriteAnim,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_AcroEndWheelieFaceUp[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_AcroEndWheelieFaceUp_Step0,
    MovementAction_WaitSpriteAnim,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_AcroEndWheelieFaceLeft[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_AcroEndWheelieFaceLeft_Step0,
    MovementAction_WaitSpriteAnim,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_AcroEndWheelieFaceRight[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_AcroEndWheelieFaceRight_Step0,
    MovementAction_WaitSpriteAnim,
    MovementAction_PauseSpriteAnim,
};

u8 (*const gMovementActionFuncs_UnusedAcroActionDown[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_UnusedAcroActionDown_Step0,
    MovementAction_WaitSpriteAnim,
    MovementAction_PauseSpriteAnim,
};

u8 (*const gMovementActionFuncs_UnusedAcroActionUp[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_UnusedAcroActionUp_Step0,
    MovementAction_WaitSpriteAnim,
    MovementAction_PauseSpriteAnim,
};

u8 (*const gMovementActionFuncs_UnusedAcroActionLeft[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_UnusedAcroActionLeft_Step0,
    MovementAction_WaitSpriteAnim,
    MovementAction_PauseSpriteAnim,
};

u8 (*const gMovementActionFuncs_UnusedAcroActionRight[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_UnusedAcroActionRight_Step0,
    MovementAction_WaitSpriteAnim,
    MovementAction_PauseSpriteAnim,
};

u8 (*const gMovementActionFuncs_AcroWheelieHopFaceDown[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_AcroWheelieHopFaceDown_Step0,
    MovementAction_AcroWheelieHopFaceDown_Step1,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_AcroWheelieHopFaceUp[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_AcroWheelieHopFaceUp_Step0,
    MovementAction_AcroWheelieHopFaceUp_Step1,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_AcroWheelieHopFaceLeft[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_AcroWheelieHopFaceLeft_Step0,
    MovementAction_AcroWheelieHopFaceLeft_Step1,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_AcroWheelieHopFaceRight[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_AcroWheelieHopFaceRight_Step0,
    MovementAction_AcroWheelieHopFaceRight_Step1,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_AcroWheelieHopDown[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_AcroWheelieHopDown_Step0,
    MovementAction_AcroWheelieHopDown_Step1,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_AcroWheelieHopUp[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_AcroWheelieHopUp_Step0,
    MovementAction_AcroWheelieHopUp_Step1,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_AcroWheelieHopLeft[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_AcroWheelieHopLeft_Step0,
    MovementAction_AcroWheelieHopLeft_Step1,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_AcroWheelieHopRight[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_AcroWheelieHopRight_Step0,
    MovementAction_AcroWheelieHopRight_Step1,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_AcroWheelieJumpDown[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_AcroWheelieJumpDown_Step0,
    MovementAction_AcroWheelieJumpDown_Step1,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_AcroWheelieJumpUp[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_AcroWheelieJumpUp_Step0,
    MovementAction_AcroWheelieJumpUp_Step1,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_AcroWheelieJumpLeft[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_AcroWheelieJumpLeft_Step0,
    MovementAction_AcroWheelieJumpLeft_Step1,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_AcroWheelieJumpRight[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_AcroWheelieJumpRight_Step0,
    MovementAction_AcroWheelieJumpRight_Step1,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_AcroWheelieInPlaceDown[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_AcroWheelieInPlaceDown_Step0,
    MovementAction_WalkInPlace_Step1,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_AcroWheelieInPlaceUp[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_AcroWheelieInPlaceUp_Step0,
    MovementAction_WalkInPlace_Step1,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_AcroWheelieInPlaceLeft[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_AcroWheelieInPlaceLeft_Step0,
    MovementAction_WalkInPlace_Step1,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_AcroWheelieInPlaceRight[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_AcroWheelieInPlaceRight_Step0,
    MovementAction_WalkInPlace_Step1,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_AcroPopWheelieMoveDown[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_AcroPopWheelieMoveDown_Step0,
    MovementAction_AcroPopWheelieMoveDown_Step1,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_AcroPopWheelieMoveUp[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_AcroPopWheelieMoveUp_Step0,
    MovementAction_AcroPopWheelieMoveUp_Step1,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_AcroPopWheelieMoveLeft[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_AcroPopWheelieMoveLeft_Step0,
    MovementAction_AcroPopWheelieMoveLeft_Step1,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_AcroPopWheelieMoveRight[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_AcroPopWheelieMoveRight_Step0,
    MovementAction_AcroPopWheelieMoveRight_Step1,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_AcroWheelieMoveDown[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_AcroWheelieMoveDown_Step0,
    MovementAction_AcroWheelieMoveDown_Step1,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_AcroWheelieMoveUp[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_AcroWheelieMoveUp_Step0,
    MovementAction_AcroWheelieMoveUp_Step1,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_AcroWheelieMoveLeft[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_AcroWheelieMoveLeft_Step0,
    MovementAction_AcroWheelieMoveLeft_Step1,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_AcroWheelieMoveRight[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_AcroWheelieMoveRight_Step0,
    MovementAction_AcroWheelieMoveRight_Step1,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_AcroEndWheelieMoveDown[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_AcroEndWheelieMoveDown_Step0,
    MovementAction_AcroEndWheelieMoveDown_Step1,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_AcroEndWheelieMoveUp[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_AcroEndWheelieMoveUp_Step0,
    MovementAction_AcroEndWheelieMoveUp_Step1,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_AcroEndWheelieMoveLeft[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_AcroEndWheelieMoveLeft_Step0,
    MovementAction_AcroEndWheelieMoveLeft_Step1,
    MovementAction_PauseSpriteAnim
};

u8 (*const gMovementActionFuncs_AcroEndWheelieMoveRight[])(struct ObjectEvent *, struct Sprite *) = {
    MovementAction_AcroEndWheelieMoveRight_Step0,
    MovementAction_AcroEndWheelieMoveRight_Step1,
    MovementAction_PauseSpriteAnim
};

#endif //POKERUBY_MOVEMENT_ACTION_FUNC_TABLES_H
