Move movement type func tables to src

This commit is contained in:
GriffinR
2020-03-23 22:42:36 -04:00
parent b607821bf6
commit 68e942065a
3 changed files with 616 additions and 549 deletions
-549
View File
@@ -7117,552 +7117,3 @@ gMovementDelaysShort:: @ 83A6010
.2byte 0x0030
.2byte 0x0040
.2byte 0x0050
gMovementTypeFuncs_WanderAround:: @ 83A6018
.4byte MovementType_WanderAround_Step0
.4byte MovementType_WanderAround_Step1
.4byte MovementType_WanderAround_Step2
.4byte MovementType_WanderAround_Step3
.4byte MovementType_WanderAround_Step4
.4byte MovementType_WanderAround_Step5
.4byte MovementType_WanderAround_Step6
gMovementTypeFuncs_WanderAroundDuplicate:: @ 83A6034
.4byte MovementType_WanderAround_Step0
.4byte MovementType_WanderAround_Step1
.4byte MovementType_WanderAround_Step2
.4byte MovementType_WanderAround_Step3
.4byte MovementType_WanderAround_Step4
.4byte MovementType_WanderAround_Step5Duplicate
.4byte MovementType_WanderAround_Step6
gStandardDirections:: @ 83A6050
.byte 1 @ DIR_SOUTH
.byte 2 @ DIR_NORTH
.byte 3 @ DIR_WEST
.byte 4 @ DIR_EAST
gGetVectorDirectionFuncs:: @ 83A6054
.4byte GetVectorDirection
.4byte GetLimitedVectorDirection_SouthNorth
.4byte GetLimitedVectorDirection_WestEast
.4byte GetLimitedVectorDirection_WestNorth
.4byte GetLimitedVectorDirection_EastNorth
.4byte GetLimitedVectorDirection_WestSouth
.4byte GetLimitedVectorDirection_EastSouth
.4byte GetLimitedVectorDirection_SouthNorthWest
.4byte GetLimitedVectorDirection_SouthNorthEast
.4byte GetLimitedVectorDirection_NorthWestEast
.4byte GetLimitedVectorDirection_SouthWestEast
gMovementTypeFuncs_LookAround:: @ 83A6080
.4byte MovementType_LookAround_Step0
.4byte MovementType_LookAround_Step1
.4byte MovementType_LookAround_Step2
.4byte MovementType_LookAround_Step3
.4byte MovementType_LookAround_Step4
gMovementTypeFuncs_WanderUpAndDown:: @ 83A6094
.4byte MovementType_WanderUpAndDown_Step0
.4byte MovementType_WanderUpAndDown_Step1
.4byte MovementType_WanderUpAndDown_Step2
.4byte MovementType_WanderUpAndDown_Step3
.4byte MovementType_WanderUpAndDown_Step4
.4byte MovementType_WanderUpAndDown_Step5
.4byte MovementType_WanderUpAndDown_Step6
gUpAndDownDirections:: @ 83A60B0
.byte 1 @ DIR_SOUTH
.byte 2 @ DIR_NORTH
.byte 0 @ DIR_NONE
.byte 0 @ DIR_NONE
gMovementTypeFuncs_WanderLeftAndRight:: @ 83A60B4
.4byte MovementType_WanderLeftAndRight_Step0
.4byte MovementType_WanderLeftAndRight_Step1
.4byte MovementType_WanderLeftAndRight_Step2
.4byte MovementType_WanderLeftAndRight_Step3
.4byte MovementType_WanderLeftAndRight_Step4
.4byte MovementType_WanderLeftAndRight_Step5
.4byte MovementType_WanderLeftAndRight_Step6
gLeftAndRightDirections:: @ 83A60D0
.byte 3 @ DIR_WEST
.byte 4 @ DIR_EAST
.byte 0 @ DIR_NONE
.byte 0 @ DIR_NONE
gMovementTypeFuncs_FaceDirection:: @ 83A60D4
.4byte MovementType_FaceDirection_Step0
.4byte MovementType_FaceDirection_Step1
.4byte MovementType_FaceDirection_Step2
gMovementTypeFuncs_FaceDownAndUp:: @ 83A60E0
.4byte MovementType_FaceDownAndUp_Step0
.4byte MovementType_FaceDownAndUp_Step1
.4byte MovementType_FaceDownAndUp_Step2
.4byte MovementType_FaceDownAndUp_Step3
.4byte MovementType_FaceDownAndUp_Step4
gMovementTypeFuncs_FaceLeftAndRight:: @ 83A60F4
.4byte MovementType_FaceLeftAndRight_Step0
.4byte MovementType_FaceLeftAndRight_Step1
.4byte MovementType_FaceLeftAndRight_Step2
.4byte MovementType_FaceLeftAndRight_Step3
.4byte MovementType_FaceLeftAndRight_Step4
gMovementTypeFuncs_FaceUpAndLeft:: @ 83A6108
.4byte MovementType_FaceUpAndLeft_Step0
.4byte MovementType_FaceUpAndLeft_Step1
.4byte MovementType_FaceUpAndLeft_Step2
.4byte MovementType_FaceUpAndLeft_Step3
.4byte MovementType_FaceUpAndLeft_Step4
gUpAndLeftDirections:: @ 83A611C
.byte 2 @ DIR_NORTH
.byte 3 @ DIR_WEST
.byte 0 @ DIR_NONE
.byte 0 @ DIR_NONE
gMovementTypeFuncs_FaceUpAndRight:: @ 83A6120
.4byte MovementType_FaceUpAndRight_Step0
.4byte MovementType_FaceUpAndRight_Step1
.4byte MovementType_FaceUpAndRight_Step2
.4byte MovementType_FaceUpAndRight_Step3
.4byte MovementType_FaceUpAndRight_Step4
gUpAndRightDirections:: @ 83A6134
.byte 2 @ DIR_NORTH
.byte 4 @ DIR_EAST
.byte 0 @ DIR_NONE
.byte 0 @ DIR_NONE
gMovementTypeFuncs_FaceDownAndLeft:: @ 83A6138
.4byte MovementType_FaceDownAndLeft_Step0
.4byte MovementType_FaceDownAndLeft_Step1
.4byte MovementType_FaceDownAndLeft_Step2
.4byte MovementType_FaceDownAndLeft_Step3
.4byte MovementType_FaceDownAndLeft_Step4
gDownAndLeftDirections:: @ 83A614C
.byte 1 @ DIR_SOUTH
.byte 3 @ DIR_WEST
.byte 0 @ DIR_NONE
.byte 0 @ DIR_NONE
gMovementTypeFuncs_FaceDownAndRight:: @ 83A6150
.4byte MovementType_FaceDownAndRight_Step0
.4byte MovementType_FaceDownAndRight_Step1
.4byte MovementType_FaceDownAndRight_Step2
.4byte MovementType_FaceDownAndRight_Step3
.4byte MovementType_FaceDownAndRight_Step4
gDownAndRightDirections:: @ 83A6164
.byte 1 @ DIR_SOUTH
.byte 4 @ DIR_EAST
.byte 0 @ DIR_NONE
.byte 0 @ DIR_NONE
gMovementTypeFuncs_FaceDownUpAndLeft:: @ 83A6168
.4byte MovementType_FaceDownUpAndLeft_Step0
.4byte MovementType_FaceDownUpAndLeft_Step1
.4byte MovementType_FaceDownUpAndLeft_Step2
.4byte MovementType_FaceDownUpAndLeft_Step3
.4byte MovementType_FaceDownUpAndLeft_Step4
gDownUpAndLeftDirections:: @ 83A617C
.byte 2 @ DIR_NORTH
.byte 1 @ DIR_SOUTH
.byte 3 @ DIR_WEST
.byte 1 @ DIR_SOUTH
gMovementTypeFuncs_FaceDownUpAndRight:: @ 83A6180
.4byte MovementType_FaceDownUpAndRight_Step0
.4byte MovementType_FaceDownUpAndRight_Step1
.4byte MovementType_FaceDownUpAndRight_Step2
.4byte MovementType_FaceDownUpAndRight_Step3
.4byte MovementType_FaceDownUpAndRight_Step4
gDownUpAndRightDirections:: @ 83A6194
.byte 1 @ DIR_SOUTH
.byte 2 @ DIR_NORTH
.byte 4 @ DIR_EAST
.byte 1 @ DIR_SOUTH
gMovementTypeFuncs_FaceUpLeftAndRight:: @ 83A6198
.4byte MovementType_FaceUpLeftAndRight_Step0
.4byte MovementType_FaceUpLeftAndRight_Step1
.4byte MovementType_FaceUpLeftAndRight_Step2
.4byte MovementType_FaceUpLeftAndRight_Step3
.4byte MovementType_FaceUpLeftAndRight_Step4
gUpLeftAndRightDirections:: @ 83A61AC
.byte 2 @ DIR_NORTH
.byte 3 @ DIR_WEST
.byte 4 @ DIR_EAST
.byte 2 @ DIR_NORTH
gMovementTypeFuncs_FaceDownLeftAndRight:: @ 83A61B0
.4byte MovementType_FaceDownLeftAndRight_Step0
.4byte MovementType_FaceDownLeftAndRight_Step1
.4byte MovementType_FaceDownLeftAndRight_Step2
.4byte MovementType_FaceDownLeftAndRight_Step3
.4byte MovementType_FaceDownLeftAndRight_Step4
gDownLeftAndRightDirections:: @ 83A61C4
.byte 3 @ DIR_WEST
.byte 4 @ DIR_EAST
.byte 1 @ DIR_SOUTH
.byte 1 @ DIR_SOUTH
gMovementTypeFuncs_RotateCounterclockwise:: @ 83A61C8
.4byte MovementType_RotateCounterclockwise_Step0
.4byte MovementType_RotateCounterclockwise_Step1
.4byte MovementType_RotateCounterclockwise_Step2
.4byte MovementType_RotateCounterclockwise_Step3
gCounterclockwiseDirections:: @ 83A61D8
.byte 0x01
.byte 0x04
.byte 0x03
.byte 0x01
.byte 0x02
.byte 0x00
.byte 0x00
.byte 0x00
gMovementTypeFuncs_RotateClockwise:: @ 83A61E0
.4byte MovementType_RotateClockwise_Step0
.4byte MovementType_RotateClockwise_Step1
.4byte MovementType_RotateClockwise_Step2
.4byte MovementType_RotateClockwise_Step3
gClockwiseDirections:: @ 83A61F0
.byte 0x01
.byte 0x03
.byte 0x04
.byte 0x02
.byte 0x01
.byte 0x00
.byte 0x00
.byte 0x00
gMovementTypeFuncs_WalkBackAndForth:: @ 83A61F8
.4byte MovementType_WalkBackAndForth_Step0
.4byte MovementType_WalkBackAndForth_Step1
.4byte MovementType_WalkBackAndForth_Step2
.4byte MovementType_WalkBackAndForth_Step3
gMovementTypeFuncs_WalkSequenceUpRightLeftDown:: @ 83A6208
.4byte MovementType_WalkSequence_Step0
.4byte MovementType_WalkSequenceUpRightLeftDown_Step1
.4byte MovementType_WalkSequence_Step2
gUpRightLeftDownDirections:: @ 83A6214
.byte 2
.byte 4
.byte 3
.byte 1
gMovementTypeFuncs_WalkSequenceRightLeftDownUp:: @ 83A6218
.4byte MovementType_WalkSequence_Step0
.4byte MovementType_WalkSequenceRightLeftDownUp_Step1
.4byte MovementType_WalkSequence_Step2
gRightLeftDownUpDirections:: @ 83A6224
.byte 4
.byte 3
.byte 1
.byte 2
gMovementTypeFuncs_WalkSequenceDownUpRightLeft:: @ 83A6228
.4byte MovementType_WalkSequence_Step0
.4byte MovementType_WalkSequenceDownUpRightLeft_Step1
.4byte MovementType_WalkSequence_Step2
gDownUpRightLeftDirections:: @ 83A6234
.byte 1
.byte 2
.byte 4
.byte 3
gMovementTypeFuncs_WalkSequenceLeftDownUpRight:: @ 83A6238
.4byte MovementType_WalkSequence_Step0
.4byte MovementType_WalkSequenceLeftDownUpRight_Step1
.4byte MovementType_WalkSequence_Step2
gLeftDownUpRightDirections:: @ 83A6244
.byte 3
.byte 1
.byte 2
.byte 4
gMovementTypeFuncs_WalkSequenceUpLeftRightDown:: @ 83A6248
.4byte MovementType_WalkSequence_Step0
.4byte MovementType_WalkSequenceUpLeftRightDown_Step1
.4byte MovementType_WalkSequence_Step2
gUpLeftRightDownDirections:: @ 83A6254
.byte 2
.byte 3
.byte 4
.byte 1
gMovementTypeFuncs_WalkSequenceLeftRightDownUp:: @ 83A6258
.4byte MovementType_WalkSequence_Step0
.4byte MovementType_WalkSequenceLeftRightDownUp_Step1
.4byte MovementType_WalkSequence_Step2
gLeftRightDownUpDirections:: @ 83A6264
.byte 3
.byte 4
.byte 1
.byte 2
gMovementTypeFuncs_WalkSequenceDownUpLeftRight:: @ 83A6268
.4byte MovementType_WalkSequence_Step0
.4byte MovementType_WalkSequenceDownUpLeftRight_Step1
.4byte MovementType_WalkSequence_Step2
gMovementTypeFuncs_WalkSequenceRightDownUpLeft:: @ 83A6274
.4byte MovementType_WalkSequence_Step0
.4byte MovementType_WalkSequenceRightDownUpLeft_Step1
.4byte MovementType_WalkSequence_Step2
gRightDownUpLeftDirections:: @ 83A6280
.byte 4
.byte 1
.byte 2
.byte 3
gMovementTypeFuncs_WalkSequenceLeftUpDownRight:: @ 83A6284
.4byte MovementType_WalkSequence_Step0
.4byte MovementType_WalkSequenceLeftUpDownRight_Step1
.4byte MovementType_WalkSequence_Step2
gLeftUpDownRightDirections:: @ 83A6290
.byte 3
.byte 2
.byte 1
.byte 4
gMovementTypeFuncs_WalkSequenceUpDownRightLeft:: @ 83A6294
.4byte MovementType_WalkSequence_Step0
.4byte MovementType_WalkSequenceUpDownRightLeft_Step1
.4byte MovementType_WalkSequence_Step2
gUpDownRightLeftDirections:: @ 83A62A0
.byte 2
.byte 1
.byte 4
.byte 3
gMovementTypeFuncs_WalkSequenceRightLeftUpDown:: @ 83A62A4
.4byte MovementType_WalkSequence_Step0
.4byte MovementType_WalkSequenceRightLeftUpDown_Step1
.4byte MovementType_WalkSequence_Step2
gRightLeftUpDownDirections:: @ 83A62B0
.byte 4
.byte 3
.byte 2
.byte 1
gMovementTypeFuncs_WalkSequenceDownRightLeftUp:: @ 83A62B4
.4byte MovementType_WalkSequence_Step0
.4byte MovementType_WalkSequenceDownRightLeftUp_Step1
.4byte MovementType_WalkSequence_Step2
gDownRightLeftUpDirections:: @ 83A62C0
.byte 1
.byte 4
.byte 3
.byte 2
gMovementTypeFuncs_WalkSequenceRightUpDownLeft:: @ 83A62C4
.4byte MovementType_WalkSequence_Step0
.4byte MovementType_WalkSequenceRightUpDownLeft_Step1
.4byte MovementType_WalkSequence_Step2
gRightUpDownLeftDirections:: @ 83A62D0
.byte 4
.byte 2
.byte 1
.byte 3
gMovementTypeFuncs_WalkSequenceUpDownLeftRight:: @ 83A62D4
.4byte MovementType_WalkSequence_Step0
.4byte MovementType_WalkSequenceUpDownLeftRight_Step1
.4byte MovementType_WalkSequence_Step2
gUpDownLeftRightDirections:: @ 83A62E0
.byte 2
.byte 1
.byte 3
.byte 4
gMovementTypeFuncs_WalkSequenceLeftRightUpDown:: @ 83A62E4
.4byte MovementType_WalkSequence_Step0
.4byte MovementType_WalkSequenceLeftRightUpDown_Step1
.4byte MovementType_WalkSequence_Step2
gLeftRightUpDownDirections:: @ 83A62F0
.byte 3
.byte 4
.byte 2
.byte 1
gMovementTypeFuncs_WalkSequenceDownLeftRightUp:: @ 83A62F4
.4byte MovementType_WalkSequence_Step0
.4byte MovementType_WalkSequenceDownLeftRightUp_Step1
.4byte MovementType_WalkSequence_Step2
gDownLeftRightUpDirections:: @ 83A6300
.byte 1
.byte 3
.byte 4
.byte 2
gMovementTypeFuncs_WalkSequenceUpLeftDownRight:: @ 83A6304
.4byte MovementType_WalkSequence_Step0
.4byte MovementType_WalkSequenceUpLeftDownRight_Step1
.4byte MovementType_WalkSequence_Step2
gUpLeftDownRightDirections:: @ 83A6310
.byte 2
.byte 3
.byte 1
.byte 4
gMovementTypeFuncs_WalkSequenceDownRightUpLeft:: @ 83A6314
.4byte MovementType_WalkSequence_Step0
.4byte MovementType_WalkSequenceDownRightUpLeft_Step1
.4byte MovementType_WalkSequence_Step2
gDownRightUpLeftDirections:: @ 83A6320
.byte 1
.byte 4
.byte 2
.byte 3
gMovementTypeFuncs_WalkSequenceLeftDownRightUp:: @ 83A6324
.4byte MovementType_WalkSequence_Step0
.4byte MovementType_WalkSequenceLeftDownRightUp_Step1
.4byte MovementType_WalkSequence_Step2
gLeftDownRightUpDirections:: @ 83A6330
.byte 3
.byte 1
.byte 4
.byte 2
gMovementTypeFuncs_WalkSequenceRightUpLeftDown:: @ 83A6334
.4byte MovementType_WalkSequence_Step0
.4byte MovementType_WalkSequenceRightUpLeftDown_Step1
.4byte MovementType_WalkSequence_Step2
gRightUpLeftDownDirections:: @ 83A6340
.byte 4
.byte 2
.byte 3
.byte 1
gMovementTypeFuncs_WalkSequenceUpRightDownLeft:: @ 83A6344
.4byte MovementType_WalkSequence_Step0
.4byte MovementType_WalkSequenceUpRightDownLeft_Step1
.4byte MovementType_WalkSequence_Step2
gUpRightDownLeftDirections:: @ 83A6350
.byte 2
.byte 4
.byte 1
.byte 3
gMovementTypeFuncs_WalkSequenceDownLeftUpRight:: @ 83A6354
.4byte MovementType_WalkSequence_Step0
.4byte MovementType_WalkSequenceDownLeftUpRight_Step1
.4byte MovementType_WalkSequence_Step2
gDownLeftUpRightDirections:: @ 83A6360
.byte 1
.byte 3
.byte 2
.byte 4
gMovementTypeFuncs_WalkSequenceLeftUpRightDown:: @ 83A6364
.4byte MovementType_WalkSequence_Step0
.4byte MovementType_WalkSequenceLeftUpRightDown_Step1
.4byte MovementType_WalkSequence_Step2
gLeftUpRightDownDirections:: @ 83A6370
.byte 3
.byte 2
.byte 4
.byte 1
gMovementTypeFuncs_WalkSequenceRightDownLeftUp:: @ 83A6374
.4byte MovementType_WalkSequence_Step0
.4byte MovementType_WalkSequenceRightDownLeftUp_Step1
.4byte MovementType_WalkSequence_Step2
gRightDownLeftUpDirections:: @ 83A6380
.byte 4
.byte 1
.byte 3
.byte 2
gMovementTypeFuncs_CopyPlayer:: @ 83A6384
.4byte MovementType_CopyPlayer_Step0
.4byte MovementType_CopyPlayer_Step1
.4byte MovementType_CopyPlayer_Step2
gCopyPlayerMovementFuncs:: @ 83A6390
.4byte CopyablePlayerMovement_None
.4byte CopyablePlayerMovement_FaceDirection
.4byte CopyablePlayerMovement_GoSpeed0
.4byte CopyablePlayerMovement_GoSpeed1
.4byte CopyablePlayerMovement_GoSpeed2
.4byte CopyablePlayerMovement_Slide
.4byte cph_IM_DIFFERENT
.4byte CopyablePlayerMovement_GoSpeed4
.4byte CopyablePlayerMovement_Jump
.4byte CopyablePlayerMovement_None
.4byte CopyablePlayerMovement_None
gMovementTypeFuncs_CopyPlayerInGrass:: @ 83A63BC
.4byte MovementType_CopyPlayer_Step0
.4byte MovementType_CopyPlayerInGrass_Step1
.4byte MovementType_CopyPlayer_Step2
gMovementTypeFuncs_Hidden:: @ 83A63C8
.4byte MovementType_Hidden_Step0
gMovementTypeFuncs_WalkInPlace:: @ 83A63CC
.4byte MovementType_WalkInPlace_Step0
.4byte MovementType_MoveInPlace_Step1
gMovementTypeFuncs_WalkSlowlyInPlace:: @ 83A63D4
.4byte MovementType_WalkSlowlyInPlace_Step0
.4byte MovementType_MoveInPlace_Step1
gMovementTypeFuncs_JogInPlace:: @ 83A63DC
.4byte MovementType_JogInPlace_Step0
.4byte MovementType_MoveInPlace_Step1
gMovementTypeFuncs_Invisible:: @ 83A63E4
.4byte MovementType_Invisible_Step0
.4byte MovementType_Invisible_Step1
.4byte MovementType_Invisible_Step2
gUnknown_83A63F0:: @ 83A63F0
.4byte sub_8063364
.4byte sub_8063384
.4byte sub_80633A4
gUnknown_83A63FC:: @ 83A63FC
.4byte sub_80633B4
.4byte sub_80633F4
gUnknown_83A6404:: @ 83A6404
.4byte sub_80633D4
.4byte sub_80633F4
@@ -0,0 +1,614 @@
bool8 MovementType_WanderAround_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_WanderAround_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_WanderAround_Step2(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_WanderAround_Step3(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_WanderAround_Step4(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_WanderAround_Step5(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_WanderAround_Step5Duplicate(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_WanderAround_Step6(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_LookAround_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_LookAround_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_LookAround_Step2(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_LookAround_Step3(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_LookAround_Step4(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_WanderUpAndDown_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_WanderUpAndDown_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_WanderUpAndDown_Step2(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_WanderUpAndDown_Step3(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_WanderUpAndDown_Step4(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_WanderUpAndDown_Step5(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_WanderUpAndDown_Step6(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_WanderLeftAndRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_WanderLeftAndRight_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_WanderLeftAndRight_Step2(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_WanderLeftAndRight_Step3(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_WanderLeftAndRight_Step4(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_WanderLeftAndRight_Step5(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_WanderLeftAndRight_Step6(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_FaceDirection_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_FaceDirection_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_FaceDirection_Step2(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_FaceDownAndUp_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_FaceDownAndUp_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_FaceDownAndUp_Step2(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_FaceDownAndUp_Step3(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_FaceDownAndUp_Step4(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_FaceLeftAndRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_FaceLeftAndRight_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_FaceLeftAndRight_Step2(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_FaceLeftAndRight_Step3(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_FaceLeftAndRight_Step4(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_FaceUpAndLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_FaceUpAndLeft_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_FaceUpAndLeft_Step2(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_FaceUpAndLeft_Step3(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_FaceUpAndLeft_Step4(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_FaceUpAndRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_FaceUpAndRight_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_FaceUpAndRight_Step2(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_FaceUpAndRight_Step3(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_FaceUpAndRight_Step4(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_FaceDownAndLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_FaceDownAndLeft_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_FaceDownAndLeft_Step2(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_FaceDownAndLeft_Step3(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_FaceDownAndLeft_Step4(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_FaceDownAndRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_FaceDownAndRight_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_FaceDownAndRight_Step2(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_FaceDownAndRight_Step3(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_FaceDownAndRight_Step4(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_FaceDownUpAndLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_FaceDownUpAndLeft_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_FaceDownUpAndLeft_Step2(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_FaceDownUpAndLeft_Step3(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_FaceDownUpAndLeft_Step4(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_FaceDownUpAndRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_FaceDownUpAndRight_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_FaceDownUpAndRight_Step2(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_FaceDownUpAndRight_Step3(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_FaceDownUpAndRight_Step4(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_FaceUpLeftAndRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_FaceUpLeftAndRight_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_FaceUpLeftAndRight_Step2(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_FaceUpLeftAndRight_Step3(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_FaceUpLeftAndRight_Step4(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_FaceDownLeftAndRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_FaceDownLeftAndRight_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_FaceDownLeftAndRight_Step2(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_FaceDownLeftAndRight_Step3(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_FaceDownLeftAndRight_Step4(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_RotateCounterclockwise_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_RotateCounterclockwise_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_RotateCounterclockwise_Step2(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_RotateCounterclockwise_Step3(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_RotateClockwise_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_RotateClockwise_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_RotateClockwise_Step2(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_RotateClockwise_Step3(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_WalkBackAndForth_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_WalkBackAndForth_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_WalkBackAndForth_Step2(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_WalkBackAndForth_Step3(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_WalkSequence_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_WalkSequence_Step2(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_WalkSequenceUpRightLeftDown_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_WalkSequenceRightLeftDownUp_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_WalkSequenceDownUpRightLeft_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_WalkSequenceLeftDownUpRight_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_WalkSequenceUpLeftRightDown_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_WalkSequenceLeftRightDownUp_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_WalkSequenceDownUpLeftRight_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_WalkSequenceRightDownUpLeft_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_WalkSequenceLeftUpDownRight_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_WalkSequenceUpDownRightLeft_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_WalkSequenceRightLeftUpDown_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_WalkSequenceDownRightLeftUp_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_WalkSequenceRightUpDownLeft_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_WalkSequenceUpDownLeftRight_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_WalkSequenceLeftRightUpDown_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_WalkSequenceDownLeftRightUp_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_WalkSequenceUpLeftDownRight_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_WalkSequenceDownRightUpLeft_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_WalkSequenceLeftDownRightUp_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_WalkSequenceRightUpLeftDown_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_WalkSequenceUpRightDownLeft_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_WalkSequenceDownLeftUpRight_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_WalkSequenceLeftUpRightDown_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_WalkSequenceRightDownLeftUp_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_CopyPlayer_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_CopyPlayer_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_CopyPlayer_Step2(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 CopyablePlayerMovement_None(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 playerDirection, bool8 tileCallback(u8));
bool8 CopyablePlayerMovement_FaceDirection(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 playerDirection, bool8 tileCallback(u8));
bool8 CopyablePlayerMovement_GoSpeed0(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 playerDirection, bool8 tileCallback(u8));
bool8 CopyablePlayerMovement_GoSpeed1(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 playerDirection, bool8 tileCallback(u8));
bool8 CopyablePlayerMovement_GoSpeed2(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 playerDirection, bool8 tileCallback(u8));
bool8 CopyablePlayerMovement_Slide(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 playerDirection, bool8 tileCallback(u8));
bool8 cph_IM_DIFFERENT(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 playerDirection, bool8 tileCallback(u8));
bool8 CopyablePlayerMovement_GoSpeed4(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 playerDirection, bool8 tileCallback(u8));
bool8 CopyablePlayerMovement_Jump(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 playerDirection, bool8 tileCallback(u8));
bool8 MovementType_CopyPlayer_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_CopyPlayerInGrass_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_CopyPlayer_Step2(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_Hidden_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_WalkInPlace_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_MoveInPlace_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_WalkSlowlyInPlace_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_MoveInPlace_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_JogInPlace_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_MoveInPlace_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_Invisible_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_Invisible_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 MovementType_Invisible_Step2(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 sub_8063364(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 sub_8063384(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 sub_80633A4(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 sub_80633B4(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 sub_80633F4(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 sub_80633D4(struct ObjectEvent *objectEvent, struct Sprite *sprite);
bool8 sub_80633F4(struct ObjectEvent *objectEvent, struct Sprite *sprite);
u8 GetVectorDirection(s16 dx, s16 dy, s16 absdx, s16 absdy);
u8 GetLimitedVectorDirection_SouthNorth(s16 dx, s16 dy, s16 absdx, s16 absdy);
u8 GetLimitedVectorDirection_WestEast(s16 dx, s16 dy, s16 absdx, s16 absdy);
u8 GetLimitedVectorDirection_WestNorth(s16 dx, s16 dy, s16 absdx, s16 absdy);
u8 GetLimitedVectorDirection_EastNorth(s16 dx, s16 dy, s16 absdx, s16 absdy);
u8 GetLimitedVectorDirection_WestSouth(s16 dx, s16 dy, s16 absdx, s16 absdy);
u8 GetLimitedVectorDirection_EastSouth(s16 dx, s16 dy, s16 absdx, s16 absdy);
u8 GetLimitedVectorDirection_SouthNorthWest(s16 dx, s16 dy, s16 absdx, s16 absdy);
u8 GetLimitedVectorDirection_SouthNorthEast(s16 dx, s16 dy, s16 absdx, s16 absdy);
u8 GetLimitedVectorDirection_NorthWestEast(s16 dx, s16 dy, s16 absdx, s16 absdy);
u8 GetLimitedVectorDirection_SouthWestEast(s16 dx, s16 dy, s16 absdx, s16 absdy);
u8 (*const gMovementTypeFuncs_WanderAround[])(struct ObjectEvent *, struct Sprite *) = {
MovementType_WanderAround_Step0,
MovementType_WanderAround_Step1,
MovementType_WanderAround_Step2,
MovementType_WanderAround_Step3,
MovementType_WanderAround_Step4,
MovementType_WanderAround_Step5,
MovementType_WanderAround_Step6,
};
u8 (*const gMovementTypeFuncs_WanderAroundDuplicate[])(struct ObjectEvent *, struct Sprite *) = {
MovementType_WanderAround_Step0,
MovementType_WanderAround_Step1,
MovementType_WanderAround_Step2,
MovementType_WanderAround_Step3,
MovementType_WanderAround_Step4,
MovementType_WanderAround_Step5Duplicate,
MovementType_WanderAround_Step6,
};
const u8 gStandardDirections[] = {DIR_SOUTH, DIR_NORTH, DIR_WEST, DIR_EAST};
u8 (*const gGetVectorDirectionFuncs[])(s16, s16, s16, s16) = {
GetVectorDirection,
GetLimitedVectorDirection_SouthNorth,
GetLimitedVectorDirection_WestEast,
GetLimitedVectorDirection_WestNorth,
GetLimitedVectorDirection_EastNorth,
GetLimitedVectorDirection_WestSouth,
GetLimitedVectorDirection_EastSouth,
GetLimitedVectorDirection_SouthNorthWest,
GetLimitedVectorDirection_SouthNorthEast,
GetLimitedVectorDirection_NorthWestEast,
GetLimitedVectorDirection_SouthWestEast,
};
u8 (*const gMovementTypeFuncs_LookAround[])(struct ObjectEvent *, struct Sprite *) = {
MovementType_LookAround_Step0,
MovementType_LookAround_Step1,
MovementType_LookAround_Step2,
MovementType_LookAround_Step3,
MovementType_LookAround_Step4,
};
u8 (*const gMovementTypeFuncs_WanderUpAndDown[])(struct ObjectEvent *, 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 ObjectEvent *, 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 ObjectEvent *, struct Sprite *) = {
MovementType_FaceDirection_Step0,
MovementType_FaceDirection_Step1,
MovementType_FaceDirection_Step2,
};
u8 (*const gMovementTypeFuncs_FaceDownAndUp[])(struct ObjectEvent *, struct Sprite *) = {
MovementType_FaceDownAndUp_Step0,
MovementType_FaceDownAndUp_Step1,
MovementType_FaceDownAndUp_Step2,
MovementType_FaceDownAndUp_Step3,
MovementType_FaceDownAndUp_Step4,
};
u8 (*const gMovementTypeFuncs_FaceLeftAndRight[])(struct ObjectEvent *, struct Sprite *) = {
MovementType_FaceLeftAndRight_Step0,
MovementType_FaceLeftAndRight_Step1,
MovementType_FaceLeftAndRight_Step2,
MovementType_FaceLeftAndRight_Step3,
MovementType_FaceLeftAndRight_Step4,
};
u8 (*const gMovementTypeFuncs_FaceUpAndLeft[])(struct ObjectEvent *, 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 ObjectEvent *, 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 ObjectEvent *, 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 ObjectEvent *, 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 ObjectEvent *, 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 ObjectEvent *, 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 ObjectEvent *, 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 ObjectEvent *, 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 ObjectEvent *, 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 ObjectEvent *, 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 ObjectEvent *, struct Sprite *) = {
MovementType_WalkBackAndForth_Step0,
MovementType_WalkBackAndForth_Step1,
MovementType_WalkBackAndForth_Step2,
MovementType_WalkBackAndForth_Step3,
};
u8 (*const gMovementTypeFuncs_WalkSequenceUpRightLeftDown[])(struct ObjectEvent *, 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 ObjectEvent *, 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 ObjectEvent *, 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 ObjectEvent *, 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 ObjectEvent *, 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 ObjectEvent *, 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 ObjectEvent *, struct Sprite *) = {
MovementType_WalkSequence_Step0,
MovementType_WalkSequenceDownUpLeftRight_Step1,
MovementType_WalkSequence_Step2,
};
u8 (*const gMovementTypeFuncs_WalkSequenceRightDownUpLeft[])(struct ObjectEvent *, 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 ObjectEvent *, 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 ObjectEvent *, 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 ObjectEvent *, 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 ObjectEvent *, 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 ObjectEvent *, 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 ObjectEvent *, 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 ObjectEvent *, 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 ObjectEvent *, 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 ObjectEvent *, 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 ObjectEvent *, 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 ObjectEvent *, 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 ObjectEvent *, 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 ObjectEvent *, 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 ObjectEvent *, 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 ObjectEvent *, 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 ObjectEvent *, 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 ObjectEvent *, struct Sprite *) = {
MovementType_CopyPlayer_Step0,
MovementType_CopyPlayer_Step1,
MovementType_CopyPlayer_Step2,
};
bool8 (*const gCopyPlayerMovementFuncs[])(struct ObjectEvent *, 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 ObjectEvent *, struct Sprite *) = {
MovementType_CopyPlayer_Step0,
MovementType_CopyPlayerInGrass_Step1,
MovementType_CopyPlayer_Step2,
};
u8 (*const gMovementTypeFuncs_Hidden[])(struct ObjectEvent *, struct Sprite *) = {
MovementType_Hidden_Step0,
};
u8 (*const gMovementTypeFuncs_WalkInPlace[])(struct ObjectEvent *, struct Sprite *) = {
MovementType_WalkInPlace_Step0,
MovementType_MoveInPlace_Step1,
};
u8 (*const gMovementTypeFuncs_WalkSlowlyInPlace[])(struct ObjectEvent *, struct Sprite *) = {
MovementType_WalkSlowlyInPlace_Step0,
MovementType_MoveInPlace_Step1,
};
u8 (*const gMovementTypeFuncs_JogInPlace[])(struct ObjectEvent *, struct Sprite *) = {
MovementType_JogInPlace_Step0,
MovementType_MoveInPlace_Step1,
};
u8 (*const gMovementTypeFuncs_Invisible[])(struct ObjectEvent *, struct Sprite *) = {
MovementType_Invisible_Step0,
MovementType_Invisible_Step1,
MovementType_Invisible_Step2,
};
u8 (*const gUnknown_83A63F0[])(struct ObjectEvent *, struct Sprite *) = {
sub_8063364,
sub_8063384,
sub_80633A4,
};
u8 (*const gUnknown_83A63FC[])(struct ObjectEvent *, struct Sprite *) = {
sub_80633B4,
sub_80633F4,
};
u8 (*const gUnknown_83A6404[])(struct ObjectEvent *, struct Sprite *) = {
sub_80633D4,
sub_80633F4,
};
+2
View File
@@ -291,6 +291,8 @@ extern const s16 gUnknown_83A695E[3];
#define OBJ_EVENT_PAL_TAG_NONE 0x11FF
#include "data/object_events/movement_type_func_tables.h"
const u8 gFaceDirectionAnimNums[] = {
[DIR_NONE] = 0x00,
[DIR_SOUTH] = 0x00,