Merge pull request #538 from cbt6/movement

Document remaining movement types and actions
This commit is contained in:
GriffinR
2022-08-16 00:51:01 -04:00
committed by GitHub
6 changed files with 148 additions and 146 deletions
+7 -7
View File
@@ -156,18 +156,18 @@
create_movement_action spin_up, MOVEMENT_ACTION_SPIN_UP
create_movement_action spin_left, MOVEMENT_ACTION_SPIN_LEFT
create_movement_action spin_right, MOVEMENT_ACTION_SPIN_RIGHT
create_movement_action movement_action_x98, MOVEMENT_ACTION_0x98
create_movement_action movement_action_x99, MOVEMENT_ACTION_0x99
create_movement_action movement_action_x9a, MOVEMENT_ACTION_0x9A
create_movement_action raise_hand_and_stop, MOVEMENT_ACTION_RAISE_HAND_AND_STOP
create_movement_action raise_hand_and_jump, MOVEMENT_ACTION_RAISE_HAND_AND_JUMP
create_movement_action raise_hand_and_swim, MOVEMENT_ACTION_RAISE_HAND_AND_SWIM
create_movement_action walk_slowest_down, MOVEMENT_ACTION_WALK_SLOWEST_DOWN
create_movement_action walk_slowest_up, MOVEMENT_ACTION_WALK_SLOWEST_UP
create_movement_action walk_slowest_left, MOVEMENT_ACTION_WALK_SLOWEST_LEFT
create_movement_action walk_slowest_right, MOVEMENT_ACTION_WALK_SLOWEST_RIGHT
create_movement_action shake_head_or_walk_in_place, MOVEMENT_ACTION_SHAKE_HEAD_OR_WALK_IN_PLACE
create_movement_action movement_action_xa0, MOVEMENT_ACTION_0xA0
create_movement_action movement_action_xa1, MOVEMENT_ACTION_0xA1
create_movement_action movement_action_xa2, MOVEMENT_ACTION_0xA2
create_movement_action movement_action_xa3, MOVEMENT_ACTION_0xA3
create_movement_action glide_down, MOVEMENT_ACTION_GLIDE_DOWN
create_movement_action glide_up, MOVEMENT_ACTION_GLIDE_UP
create_movement_action glide_left, MOVEMENT_ACTION_GLIDE_LEFT
create_movement_action glide_right, MOVEMENT_ACTION_GLIDE_RIGHT
create_movement_action fly_up, MOVEMENT_ACTION_FLY_UP
create_movement_action fly_down, MOVEMENT_ACTION_FLY_DOWN
create_movement_action jump_special_with_effect_down, MOVEMENT_ACTION_JUMP_SPECIAL_WITH_EFFECT_DOWN
+10 -10
View File
@@ -79,9 +79,9 @@
#define MOVEMENT_TYPE_JOG_IN_PLACE_LEFT 0x4A
#define MOVEMENT_TYPE_JOG_IN_PLACE_RIGHT 0x4B
#define MOVEMENT_TYPE_INVISIBLE 0x4C
#define MOVEMENT_TYPE_VS_SEEKER_4D 0x4D
#define MOVEMENT_TYPE_VS_SEEKER_4E 0x4E
#define MOVEMENT_TYPE_VS_SEEKER_4F 0x4F
#define MOVEMENT_TYPE_RAISE_HAND_AND_STOP 0x4D
#define MOVEMENT_TYPE_RAISE_HAND_AND_JUMP 0x4E
#define MOVEMENT_TYPE_RAISE_HAND_AND_SWIM 0x4F
#define MOVEMENT_TYPE_WANDER_AROUND_SLOWER 0x50
#define MOVEMENT_TYPES_COUNT 0x51
@@ -240,18 +240,18 @@
#define MOVEMENT_ACTION_SPIN_UP 0x95
#define MOVEMENT_ACTION_SPIN_LEFT 0x96
#define MOVEMENT_ACTION_SPIN_RIGHT 0x97
#define MOVEMENT_ACTION_0x98 0x98
#define MOVEMENT_ACTION_0x99 0x99
#define MOVEMENT_ACTION_0x9A 0x9A
#define MOVEMENT_ACTION_RAISE_HAND_AND_STOP 0x98
#define MOVEMENT_ACTION_RAISE_HAND_AND_JUMP 0x99
#define MOVEMENT_ACTION_RAISE_HAND_AND_SWIM 0x9A
#define MOVEMENT_ACTION_WALK_SLOWEST_DOWN 0x9B
#define MOVEMENT_ACTION_WALK_SLOWEST_UP 0x9C
#define MOVEMENT_ACTION_WALK_SLOWEST_LEFT 0x9D
#define MOVEMENT_ACTION_WALK_SLOWEST_RIGHT 0x9E
#define MOVEMENT_ACTION_SHAKE_HEAD_OR_WALK_IN_PLACE 0x9F
#define MOVEMENT_ACTION_0xA0 0xA0
#define MOVEMENT_ACTION_0xA1 0xA1
#define MOVEMENT_ACTION_0xA2 0xA2
#define MOVEMENT_ACTION_0xA3 0xA3
#define MOVEMENT_ACTION_GLIDE_DOWN 0xA0
#define MOVEMENT_ACTION_GLIDE_UP 0xA1
#define MOVEMENT_ACTION_GLIDE_LEFT 0xA2
#define MOVEMENT_ACTION_GLIDE_RIGHT 0xA3
#define MOVEMENT_ACTION_FLY_UP 0xA4
#define MOVEMENT_ACTION_FLY_DOWN 0xA5
#define MOVEMENT_ACTION_JUMP_SPECIAL_WITH_EFFECT_DOWN 0xA6
@@ -249,10 +249,10 @@ static bool8 MovementAction_SpinLeft_Step0(struct ObjectEvent *, struct Sprite *
static bool8 MovementAction_SpinLeft_Step1(struct ObjectEvent *, struct Sprite *);
static bool8 MovementAction_SpinRight_Step0(struct ObjectEvent *, struct Sprite *);
static bool8 MovementAction_SpinRight_Step1(struct ObjectEvent *, struct Sprite *);
static bool8 MovementAction_x98_Step0(struct ObjectEvent *, struct Sprite *);
static bool8 MovementAction_x98_Step1(struct ObjectEvent *, struct Sprite *);
static bool8 MovementAction_x99_Step1(struct ObjectEvent *, struct Sprite *);
static bool8 MovementAction_x9A_Step1(struct ObjectEvent *, struct Sprite *);
static bool8 MovementAction_RaiseHand_Step0(struct ObjectEvent *, struct Sprite *);
static bool8 MovementAction_RaiseHandAndStop_Step1(struct ObjectEvent *, struct Sprite *);
static bool8 MovementAction_RaiseHandAndJump_Step1(struct ObjectEvent *, struct Sprite *);
static bool8 MovementAction_RaiseHandAndSwim_Step1(struct ObjectEvent *, struct Sprite *);
static bool8 MovementAction_WalkSlowestDown_Step0(struct ObjectEvent *, struct Sprite *);
static bool8 MovementAction_WalkSlowestDown_Step1(struct ObjectEvent *, struct Sprite *);
static bool8 MovementAction_WalkSlowestUp_Step0(struct ObjectEvent *, struct Sprite *);
@@ -263,14 +263,14 @@ static bool8 MovementAction_WalkSlowestRight_Step0(struct ObjectEvent *, struct
static bool8 MovementAction_WalkSlowestRight_Step1(struct ObjectEvent *, struct Sprite *);
static bool8 MovementAction_ShakeHeadOrWalkInPlace_Step0(struct ObjectEvent *, struct Sprite *);
static bool8 MovementAction_ShakeHeadOrWalkInPlace_Step1(struct ObjectEvent *, struct Sprite *);
static bool8 MovementAction_xA0_Step0(struct ObjectEvent *, struct Sprite *);
static bool8 MovementAction_xA0_Step1(struct ObjectEvent *, struct Sprite *);
static bool8 MovementAction_xA1_Step0(struct ObjectEvent *, struct Sprite *);
static bool8 MovementAction_xA1_Step1(struct ObjectEvent *, struct Sprite *);
static bool8 MovementAction_xA2_Step0(struct ObjectEvent *, struct Sprite *);
static bool8 MovementAction_xA2_Step1(struct ObjectEvent *, struct Sprite *);
static bool8 MovementAction_xA3_Step0(struct ObjectEvent *, struct Sprite *);
static bool8 MovementAction_xA3_Step1(struct ObjectEvent *, struct Sprite *);
static bool8 MovementAction_GlideDown_Step0(struct ObjectEvent *, struct Sprite *);
static bool8 MovementAction_GlideDown_Step1(struct ObjectEvent *, struct Sprite *);
static bool8 MovementAction_GlideUp_Step0(struct ObjectEvent *, struct Sprite *);
static bool8 MovementAction_GlideUp_Step1(struct ObjectEvent *, struct Sprite *);
static bool8 MovementAction_GlideLeft_Step0(struct ObjectEvent *, struct Sprite *);
static bool8 MovementAction_GlideLeft_Step1(struct ObjectEvent *, struct Sprite *);
static bool8 MovementAction_GlideRight_Step0(struct ObjectEvent *, struct Sprite *);
static bool8 MovementAction_GlideRight_Step1(struct ObjectEvent *, struct Sprite *);
static bool8 MovementAction_FlyUp_Step0(struct ObjectEvent *, struct Sprite *);
static bool8 MovementAction_FlyUp_Step1(struct ObjectEvent *, struct Sprite *);
static bool8 MovementAction_FlyUp_Step2(struct ObjectEvent *, struct Sprite *);
@@ -439,18 +439,18 @@ static bool8 (*const sMovementActionFuncs_SpinDown[])(struct ObjectEvent *, stru
static bool8 (*const sMovementActionFuncs_SpinUp[])(struct ObjectEvent *, struct Sprite *);
static bool8 (*const sMovementActionFuncs_SpinLeft[])(struct ObjectEvent *, struct Sprite *);
static bool8 (*const sMovementActionFuncs_SpinRight[])(struct ObjectEvent *, struct Sprite *);
static bool8 (*const sMovementActionFuncs_x98[])(struct ObjectEvent *, struct Sprite *);
static bool8 (*const sMovementActionFuncs_x99[])(struct ObjectEvent *, struct Sprite *);
static bool8 (*const sMovementActionFuncs_x9A[])(struct ObjectEvent *, struct Sprite *);
static bool8 (*const sMovementActionFuncs_RaiseHandAndStop[])(struct ObjectEvent *, struct Sprite *);
static bool8 (*const sMovementActionFuncs_RaiseHandAndJump[])(struct ObjectEvent *, struct Sprite *);
static bool8 (*const sMovementActionFuncs_RaiseHandAndSwim[])(struct ObjectEvent *, struct Sprite *);
static bool8 (*const sMovementActionFuncs_WalkSlowestDown[])(struct ObjectEvent *, struct Sprite *);
static bool8 (*const sMovementActionFuncs_WalkSlowestUp[])(struct ObjectEvent *, struct Sprite *);
static bool8 (*const sMovementActionFuncs_WalkSlowestLeft[])(struct ObjectEvent *, struct Sprite *);
static bool8 (*const sMovementActionFuncs_WalkSlowestRight[])(struct ObjectEvent *, struct Sprite *);
static bool8 (*const sMovementActionFuncs_ShakeHeadOrWalkInPlace[])(struct ObjectEvent *, struct Sprite *);
static bool8 (*const sMovementActionFuncs_xA0[])(struct ObjectEvent *, struct Sprite *);
static bool8 (*const sMovementActionFuncs_xA1[])(struct ObjectEvent *, struct Sprite *);
static bool8 (*const sMovementActionFuncs_xA2[])(struct ObjectEvent *, struct Sprite *);
static bool8 (*const sMovementActionFuncs_xA3[])(struct ObjectEvent *, struct Sprite *);
static bool8 (*const sMovementActionFuncs_GlideDown[])(struct ObjectEvent *, struct Sprite *);
static bool8 (*const sMovementActionFuncs_GlideUp[])(struct ObjectEvent *, struct Sprite *);
static bool8 (*const sMovementActionFuncs_GlideLeft[])(struct ObjectEvent *, struct Sprite *);
static bool8 (*const sMovementActionFuncs_GlideRight[])(struct ObjectEvent *, struct Sprite *);
static bool8 (*const sMovementActionFuncs_FlyUp[])(struct ObjectEvent *, struct Sprite *);
static bool8 (*const sMovementActionFuncs_FlyDown[])(struct ObjectEvent *, struct Sprite *);
static bool8 (*const sMovementActionFuncs_JumpSpecialWithEffectDown[])(struct ObjectEvent *, struct Sprite *);
@@ -615,18 +615,18 @@ static bool8 (*const *const sMovementActionFuncs[])(struct ObjectEvent *, struct
[MOVEMENT_ACTION_SPIN_UP] = sMovementActionFuncs_SpinUp,
[MOVEMENT_ACTION_SPIN_LEFT] = sMovementActionFuncs_SpinLeft,
[MOVEMENT_ACTION_SPIN_RIGHT] = sMovementActionFuncs_SpinRight,
[MOVEMENT_ACTION_0x98] = sMovementActionFuncs_x98,
[MOVEMENT_ACTION_0x99] = sMovementActionFuncs_x99,
[MOVEMENT_ACTION_0x9A] = sMovementActionFuncs_x9A,
[MOVEMENT_ACTION_RAISE_HAND_AND_STOP] = sMovementActionFuncs_RaiseHandAndStop,
[MOVEMENT_ACTION_RAISE_HAND_AND_JUMP] = sMovementActionFuncs_RaiseHandAndJump,
[MOVEMENT_ACTION_RAISE_HAND_AND_SWIM] = sMovementActionFuncs_RaiseHandAndSwim,
[MOVEMENT_ACTION_WALK_SLOWEST_DOWN] = sMovementActionFuncs_WalkSlowestDown,
[MOVEMENT_ACTION_WALK_SLOWEST_UP] = sMovementActionFuncs_WalkSlowestUp,
[MOVEMENT_ACTION_WALK_SLOWEST_LEFT] = sMovementActionFuncs_WalkSlowestLeft,
[MOVEMENT_ACTION_WALK_SLOWEST_RIGHT] = sMovementActionFuncs_WalkSlowestRight,
[MOVEMENT_ACTION_SHAKE_HEAD_OR_WALK_IN_PLACE] = sMovementActionFuncs_ShakeHeadOrWalkInPlace,
[MOVEMENT_ACTION_0xA0] = sMovementActionFuncs_xA0,
[MOVEMENT_ACTION_0xA1] = sMovementActionFuncs_xA1,
[MOVEMENT_ACTION_0xA2] = sMovementActionFuncs_xA2,
[MOVEMENT_ACTION_0xA3] = sMovementActionFuncs_xA3,
[MOVEMENT_ACTION_GLIDE_DOWN] = sMovementActionFuncs_GlideDown,
[MOVEMENT_ACTION_GLIDE_UP] = sMovementActionFuncs_GlideUp,
[MOVEMENT_ACTION_GLIDE_LEFT] = sMovementActionFuncs_GlideLeft,
[MOVEMENT_ACTION_GLIDE_RIGHT] = sMovementActionFuncs_GlideRight,
[MOVEMENT_ACTION_FLY_UP] = sMovementActionFuncs_FlyUp,
[MOVEMENT_ACTION_FLY_DOWN] = sMovementActionFuncs_FlyDown,
[MOVEMENT_ACTION_JUMP_SPECIAL_WITH_EFFECT_DOWN] = sMovementActionFuncs_JumpSpecialWithEffectDown,
@@ -849,27 +849,27 @@ static bool8 (*const sMovementActionFuncs_WalkFastRight[])(struct ObjectEvent *,
MovementAction_PauseSpriteAnim,
};
static bool8 (*const sMovementActionFuncs_xA0[])(struct ObjectEvent *, struct Sprite *) = {
MovementAction_xA0_Step0,
MovementAction_xA0_Step1,
static bool8 (*const sMovementActionFuncs_GlideDown[])(struct ObjectEvent *, struct Sprite *) = {
MovementAction_GlideDown_Step0,
MovementAction_GlideDown_Step1,
MovementAction_Finish,
};
static bool8 (*const sMovementActionFuncs_xA1[])(struct ObjectEvent *, struct Sprite *) = {
MovementAction_xA1_Step0,
MovementAction_xA1_Step1,
static bool8 (*const sMovementActionFuncs_GlideUp[])(struct ObjectEvent *, struct Sprite *) = {
MovementAction_GlideUp_Step0,
MovementAction_GlideUp_Step1,
MovementAction_Finish,
};
static bool8 (*const sMovementActionFuncs_xA2[])(struct ObjectEvent *, struct Sprite *) = {
MovementAction_xA2_Step0,
MovementAction_xA2_Step1,
static bool8 (*const sMovementActionFuncs_GlideLeft[])(struct ObjectEvent *, struct Sprite *) = {
MovementAction_GlideLeft_Step0,
MovementAction_GlideLeft_Step1,
MovementAction_Finish,
};
static bool8 (*const sMovementActionFuncs_xA3[])(struct ObjectEvent *, struct Sprite *) = {
MovementAction_xA3_Step0,
MovementAction_xA3_Step1,
static bool8 (*const sMovementActionFuncs_GlideRight[])(struct ObjectEvent *, struct Sprite *) = {
MovementAction_GlideRight_Step0,
MovementAction_GlideRight_Step1,
MovementAction_Finish,
};
@@ -1633,19 +1633,19 @@ static bool8 (*const sMovementActionFuncs_SpinRight[])(struct ObjectEvent *, str
MovementAction_PauseSpriteAnim,
};
static bool8 (*const sMovementActionFuncs_x98[])(struct ObjectEvent *, struct Sprite *) = {
MovementAction_x98_Step0,
MovementAction_x98_Step1,
static bool8 (*const sMovementActionFuncs_RaiseHandAndStop[])(struct ObjectEvent *, struct Sprite *) = {
MovementAction_RaiseHand_Step0,
MovementAction_RaiseHandAndStop_Step1,
};
static bool8 (*const sMovementActionFuncs_x99[])(struct ObjectEvent *, struct Sprite *) = {
MovementAction_x98_Step0,
MovementAction_x99_Step1,
static bool8 (*const sMovementActionFuncs_RaiseHandAndJump[])(struct ObjectEvent *, struct Sprite *) = {
MovementAction_RaiseHand_Step0,
MovementAction_RaiseHandAndJump_Step1,
};
static bool8 (*const sMovementActionFuncs_x9A[])(struct ObjectEvent *, struct Sprite *) = {
MovementAction_x98_Step0,
MovementAction_x9A_Step1,
static bool8 (*const sMovementActionFuncs_RaiseHandAndSwim[])(struct ObjectEvent *, struct Sprite *) = {
MovementAction_RaiseHand_Step0,
MovementAction_RaiseHandAndSwim_Step1,
};
static bool8 (*const sMovementActionFuncs_ShakeHeadOrWalkInPlace[])(struct ObjectEvent *, struct Sprite *) = {
@@ -141,12 +141,12 @@ static bool8 MovementType_MoveInPlace_Step1(struct ObjectEvent *objectEvent, str
static bool8 MovementType_Invisible_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite);
static bool8 MovementType_Invisible_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite);
static bool8 MovementType_Invisible_Step2(struct ObjectEvent *objectEvent, struct Sprite *sprite);
static bool8 MovementType_VsSeeker4D_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite);
static bool8 MovementType_VsSeeker4D_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite);
static bool8 MovementType_VsSeeker4D_Step2(struct ObjectEvent *objectEvent, struct Sprite *sprite);
static bool8 MovementType_VsSeeker4E_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite);
static bool8 MovementType_VsSeeker4F_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite);
static bool8 MovementType_VsSeeker4E_VsSeeker4F_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite);
static bool8 MovementType_RaiseHandAndStop_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite);
static bool8 MovementType_RaiseHandAndStop_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite);
static bool8 MovementType_RaiseHandAndStop_Step2(struct ObjectEvent *objectEvent, struct Sprite *sprite);
static bool8 MovementType_RaiseHandAndJump_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite);
static bool8 MovementType_RaiseHandAndSwim_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite);
static bool8 MovementType_RaiseHandAndMove_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite);
static u8 GetVectorDirection(s16 dx, s16 dy, s16 absdx, s16 absdy);
static u8 GetLimitedVectorDirection_SouthNorth(s16 dx, s16 dy, s16 absdx, s16 absdy);
@@ -596,18 +596,18 @@ u8 (*const gMovementTypeFuncs_Invisible[])(struct ObjectEvent *, struct Sprite *
MovementType_Invisible_Step2,
};
u8 (*const gMovementTypeFuncs_VsSeeker4D[])(struct ObjectEvent *, struct Sprite *) = {
MovementType_VsSeeker4D_Step0,
MovementType_VsSeeker4D_Step1,
MovementType_VsSeeker4D_Step2,
u8 (*const gMovementTypeFuncs_RaiseHandAndStop[])(struct ObjectEvent *, struct Sprite *) = {
MovementType_RaiseHandAndStop_Step0,
MovementType_RaiseHandAndStop_Step1,
MovementType_RaiseHandAndStop_Step2,
};
u8 (*const gMovementTypeFuncs_VsSeeker4E[])(struct ObjectEvent *, struct Sprite *) = {
MovementType_VsSeeker4E_Step0,
MovementType_VsSeeker4E_VsSeeker4F_Step1,
u8 (*const gMovementTypeFuncs_RaiseHandAndJump[])(struct ObjectEvent *, struct Sprite *) = {
MovementType_RaiseHandAndJump_Step0,
MovementType_RaiseHandAndMove_Step1,
};
u8 (*const gMovementTypeFuncs_VsSeeker4F[])(struct ObjectEvent *, struct Sprite *) = {
MovementType_VsSeeker4F_Step0,
MovementType_VsSeeker4E_VsSeeker4F_Step1,
u8 (*const gMovementTypeFuncs_RaiseHandAndSwim[])(struct ObjectEvent *, struct Sprite *) = {
MovementType_RaiseHandAndSwim_Step0,
MovementType_RaiseHandAndMove_Step1,
};
+59 -59
View File
@@ -90,9 +90,9 @@ static bool8 sub_805E2E8(struct ObjectEventTemplate *, s16, s16);
static void sub_805E384(struct ObjectEventTemplate *);
static bool8 MovementType_Disguise_Callback(struct ObjectEvent *, struct Sprite *);
static bool8 MovementType_Buried_Callback(struct ObjectEvent *, struct Sprite *);
static u8 MovementType_VsSeeker4D_Callback(struct ObjectEvent *, struct Sprite *);
static u8 MovementType_VsSeeker4E_Callback(struct ObjectEvent *, struct Sprite *);
static u8 MovementType_VsSeeker4F_Callback(struct ObjectEvent *, struct Sprite *);
static u8 MovementType_RaiseHandAndStop_Callback(struct ObjectEvent *, struct Sprite *);
static u8 MovementType_RaiseHandAndJump_Callback(struct ObjectEvent *, struct Sprite *);
static u8 MovementType_RaiseHandAndSwim_Callback(struct ObjectEvent *, struct Sprite *);
static void sub_8064544(struct ObjectEvent *, struct Sprite *);
static void DoObjectUnionRoomWarpYDisplacement(struct Sprite *sprite);
static void MovementType_None(struct Sprite *);
@@ -147,9 +147,9 @@ static void MovementType_WalkInPlace(struct Sprite *);
static void MovementType_WalkSlowlyInPlace(struct Sprite *);
static void MovementType_JogInPlace(struct Sprite *);
static void MovementType_Invisible(struct Sprite *);
static void MovementType_VsSeeker4D(struct Sprite *);
static void MovementType_VsSeeker4E(struct Sprite *);
static void MovementType_VsSeeker4F(struct Sprite *);
static void MovementType_RaiseHandAndStop(struct Sprite *);
static void MovementType_RaiseHandAndJump(struct Sprite *);
static void MovementType_RaiseHandAndSwim(struct Sprite *);
static void MovementType_WanderAroundSlower(struct Sprite *);
enum {
@@ -289,9 +289,9 @@ static void (*const sMovementTypeCallbacks[MOVEMENT_TYPES_COUNT])(struct Sprite
[MOVEMENT_TYPE_JOG_IN_PLACE_LEFT] = MovementType_JogInPlace,
[MOVEMENT_TYPE_JOG_IN_PLACE_RIGHT] = MovementType_JogInPlace,
[MOVEMENT_TYPE_INVISIBLE] = MovementType_Invisible,
[MOVEMENT_TYPE_VS_SEEKER_4D] = MovementType_VsSeeker4D,
[MOVEMENT_TYPE_VS_SEEKER_4E] = MovementType_VsSeeker4E,
[MOVEMENT_TYPE_VS_SEEKER_4F] = MovementType_VsSeeker4F,
[MOVEMENT_TYPE_RAISE_HAND_AND_STOP] = MovementType_RaiseHandAndStop,
[MOVEMENT_TYPE_RAISE_HAND_AND_JUMP] = MovementType_RaiseHandAndJump,
[MOVEMENT_TYPE_RAISE_HAND_AND_SWIM] = MovementType_RaiseHandAndSwim,
[MOVEMENT_TYPE_WANDER_AROUND_SLOWER] = MovementType_WanderAroundSlower,
};
@@ -418,9 +418,9 @@ static const u8 gInitialMovementTypeFacingDirections[MOVEMENT_TYPES_COUNT] = {
[MOVEMENT_TYPE_JOG_IN_PLACE_LEFT] = DIR_WEST,
[MOVEMENT_TYPE_JOG_IN_PLACE_RIGHT] = DIR_EAST,
[MOVEMENT_TYPE_INVISIBLE] = DIR_SOUTH,
[MOVEMENT_TYPE_VS_SEEKER_4D] = DIR_SOUTH,
[MOVEMENT_TYPE_VS_SEEKER_4E] = DIR_SOUTH,
[MOVEMENT_TYPE_VS_SEEKER_4F] = DIR_SOUTH,
[MOVEMENT_TYPE_RAISE_HAND_AND_STOP] = DIR_SOUTH,
[MOVEMENT_TYPE_RAISE_HAND_AND_JUMP] = DIR_SOUTH,
[MOVEMENT_TYPE_RAISE_HAND_AND_SWIM] = DIR_SOUTH,
[MOVEMENT_TYPE_WANDER_AROUND_SLOWER] = DIR_SOUTH,
};
@@ -953,11 +953,11 @@ static const u8 gUnknown_83A650A[] = {
};
static const u8 gUnknown_83A650F[] = {
[DIR_NONE] = MOVEMENT_ACTION_0xA0,
[DIR_SOUTH] = MOVEMENT_ACTION_0xA0,
[DIR_NORTH] = MOVEMENT_ACTION_0xA1,
[DIR_WEST] = MOVEMENT_ACTION_0xA2,
[DIR_EAST] = MOVEMENT_ACTION_0xA3,
[DIR_NONE] = MOVEMENT_ACTION_GLIDE_DOWN,
[DIR_SOUTH] = MOVEMENT_ACTION_GLIDE_DOWN,
[DIR_NORTH] = MOVEMENT_ACTION_GLIDE_UP,
[DIR_WEST] = MOVEMENT_ACTION_GLIDE_LEFT,
[DIR_EAST] = MOVEMENT_ACTION_GLIDE_RIGHT,
};
static const u8 gUnknown_83A6514[] = {
@@ -4587,45 +4587,45 @@ static bool8 MovementType_Invisible_Step2(struct ObjectEvent *objectEvent, struc
return FALSE;
}
void MovementType_VsSeeker4D(struct Sprite *sprite)
void MovementType_RaiseHandAndStop(struct Sprite *sprite)
{
UpdateObjectEventCurrentMovement(&gObjectEvents[sprite->data[0]], sprite, MovementType_VsSeeker4D_Callback);
UpdateObjectEventCurrentMovement(&gObjectEvents[sprite->data[0]], sprite, MovementType_RaiseHandAndStop_Callback);
}
void MovementType_VsSeeker4E(struct Sprite *sprite)
void MovementType_RaiseHandAndJump(struct Sprite *sprite)
{
UpdateObjectEventCurrentMovement(&gObjectEvents[sprite->data[0]], sprite, MovementType_VsSeeker4E_Callback);
UpdateObjectEventCurrentMovement(&gObjectEvents[sprite->data[0]], sprite, MovementType_RaiseHandAndJump_Callback);
}
void MovementType_VsSeeker4F(struct Sprite *sprite)
void MovementType_RaiseHandAndSwim(struct Sprite *sprite)
{
UpdateObjectEventCurrentMovement(&gObjectEvents[sprite->data[0]], sprite, MovementType_VsSeeker4F_Callback);
UpdateObjectEventCurrentMovement(&gObjectEvents[sprite->data[0]], sprite, MovementType_RaiseHandAndSwim_Callback);
}
static u8 MovementType_VsSeeker4D_Callback(struct ObjectEvent *objectEvent, struct Sprite *sprite)
static u8 MovementType_RaiseHandAndStop_Callback(struct ObjectEvent *objectEvent, struct Sprite *sprite)
{
return gMovementTypeFuncs_VsSeeker4D[sprite->data[1]](objectEvent, sprite);
return gMovementTypeFuncs_RaiseHandAndStop[sprite->data[1]](objectEvent, sprite);
}
static u8 MovementType_VsSeeker4E_Callback(struct ObjectEvent *objectEvent, struct Sprite *sprite)
static u8 MovementType_RaiseHandAndJump_Callback(struct ObjectEvent *objectEvent, struct Sprite *sprite)
{
return gMovementTypeFuncs_VsSeeker4E[sprite->data[1]](objectEvent, sprite);
return gMovementTypeFuncs_RaiseHandAndJump[sprite->data[1]](objectEvent, sprite);
}
static u8 MovementType_VsSeeker4F_Callback(struct ObjectEvent *objectEvent, struct Sprite *sprite)
static u8 MovementType_RaiseHandAndSwim_Callback(struct ObjectEvent *objectEvent, struct Sprite *sprite)
{
return gMovementTypeFuncs_VsSeeker4F[sprite->data[1]](objectEvent, sprite);
return gMovementTypeFuncs_RaiseHandAndSwim[sprite->data[1]](objectEvent, sprite);
}
static bool8 MovementType_VsSeeker4D_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite)
static bool8 MovementType_RaiseHandAndStop_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite)
{
ClearObjectEventMovement(objectEvent, sprite);
ObjectEventSetSingleMovement(objectEvent, sprite, MOVEMENT_ACTION_0x98);
ObjectEventSetSingleMovement(objectEvent, sprite, MOVEMENT_ACTION_RAISE_HAND_AND_STOP);
sprite->data[1] = 1;
return TRUE;
}
static bool8 MovementType_VsSeeker4D_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite)
static bool8 MovementType_RaiseHandAndStop_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite)
{
if (ObjectEventExecSingleMovementAction(objectEvent, sprite))
{
@@ -4635,29 +4635,29 @@ static bool8 MovementType_VsSeeker4D_Step1(struct ObjectEvent *objectEvent, stru
return FALSE;
}
static bool8 MovementType_VsSeeker4D_Step2(struct ObjectEvent *objectEvent, struct Sprite *sprite)
static bool8 MovementType_RaiseHandAndStop_Step2(struct ObjectEvent *objectEvent, struct Sprite *sprite)
{
objectEvent->singleMovementActive = FALSE;
return FALSE;
}
static bool8 MovementType_VsSeeker4E_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite)
static bool8 MovementType_RaiseHandAndJump_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite)
{
ClearObjectEventMovement(objectEvent, sprite);
ObjectEventSetSingleMovement(objectEvent, sprite, MOVEMENT_ACTION_0x99);
ObjectEventSetSingleMovement(objectEvent, sprite, MOVEMENT_ACTION_RAISE_HAND_AND_JUMP);
sprite->data[1] = 1;
return FALSE;
}
static bool8 MovementType_VsSeeker4F_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite)
static bool8 MovementType_RaiseHandAndSwim_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite)
{
ClearObjectEventMovement(objectEvent, sprite);
ObjectEventSetSingleMovement(objectEvent, sprite, MOVEMENT_ACTION_0x9A);
ObjectEventSetSingleMovement(objectEvent, sprite, MOVEMENT_ACTION_RAISE_HAND_AND_SWIM);
sprite->data[1] = 1;
return FALSE;
}
static bool8 MovementType_VsSeeker4E_VsSeeker4F_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite)
static bool8 MovementType_RaiseHandAndMove_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite)
{
if (ObjectEventExecSingleMovementAction(objectEvent, sprite))
{
@@ -6021,7 +6021,7 @@ static bool8 MovementAction_WalkFastRight_Step1(struct ObjectEvent *objectEvent,
return FALSE;
}
bool8 sub_80653CC(struct ObjectEvent *objectEvent, struct Sprite *sprite)
bool8 UpdateMovementGlide(struct ObjectEvent *objectEvent, struct Sprite *sprite)
{
if (NpcTakeStep(sprite))
{
@@ -6032,19 +6032,19 @@ bool8 sub_80653CC(struct ObjectEvent *objectEvent, struct Sprite *sprite)
return FALSE;
}
u8 MovementAction_xA0_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite)
u8 MovementAction_GlideDown_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite)
{
if(objectEvent->facingDirection != DIR_SOUTH)
StartSpriteAnim(sprite, GetFaceDirectionAnimNum(DIR_SOUTH));
InitNpcForMovement(objectEvent, sprite, DIR_SOUTH, MOVE_SPEED_FAST_1);
return MovementAction_xA0_Step1(objectEvent, sprite);
return MovementAction_GlideDown_Step1(objectEvent, sprite);
}
static bool8 MovementAction_xA0_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite)
static bool8 MovementAction_GlideDown_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite)
{
AnimateSprite(sprite);
if (sub_80653CC(objectEvent, sprite))
if (UpdateMovementGlide(objectEvent, sprite))
{
sprite->data[2] = 2;
return TRUE;
@@ -6052,19 +6052,19 @@ static bool8 MovementAction_xA0_Step1(struct ObjectEvent *objectEvent, struct Sp
return FALSE;
}
u8 MovementAction_xA1_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite)
u8 MovementAction_GlideUp_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite)
{
if(objectEvent->facingDirection != DIR_NORTH)
StartSpriteAnim(sprite, GetFaceDirectionAnimNum(DIR_NORTH));
InitNpcForMovement(objectEvent, sprite, DIR_NORTH, MOVE_SPEED_FAST_1);
return MovementAction_xA1_Step1(objectEvent, sprite);
return MovementAction_GlideUp_Step1(objectEvent, sprite);
}
static bool8 MovementAction_xA1_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite)
static bool8 MovementAction_GlideUp_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite)
{
AnimateSprite(sprite);
if (sub_80653CC(objectEvent, sprite))
if (UpdateMovementGlide(objectEvent, sprite))
{
sprite->data[2] = 2;
return TRUE;
@@ -6072,19 +6072,19 @@ static bool8 MovementAction_xA1_Step1(struct ObjectEvent *objectEvent, struct Sp
return FALSE;
}
u8 MovementAction_xA2_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite)
u8 MovementAction_GlideLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite)
{
if(objectEvent->facingDirection != DIR_WEST)
StartSpriteAnim(sprite, GetFaceDirectionAnimNum(DIR_WEST));
InitNpcForMovement(objectEvent, sprite, DIR_WEST, MOVE_SPEED_FAST_1);
return MovementAction_xA2_Step1(objectEvent, sprite);
return MovementAction_GlideLeft_Step1(objectEvent, sprite);
}
static bool8 MovementAction_xA2_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite)
static bool8 MovementAction_GlideLeft_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite)
{
AnimateSprite(sprite);
if (sub_80653CC(objectEvent, sprite))
if (UpdateMovementGlide(objectEvent, sprite))
{
sprite->data[2] = 2;
return TRUE;
@@ -6092,19 +6092,19 @@ static bool8 MovementAction_xA2_Step1(struct ObjectEvent *objectEvent, struct Sp
return FALSE;
}
u8 MovementAction_xA3_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite)
u8 MovementAction_GlideRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite)
{
if(objectEvent->facingDirection != DIR_EAST)
StartSpriteAnim(sprite, GetFaceDirectionAnimNum(DIR_EAST));
InitNpcForMovement(objectEvent, sprite, DIR_EAST, MOVE_SPEED_FAST_1);
return MovementAction_xA3_Step1(objectEvent, sprite);
return MovementAction_GlideRight_Step1(objectEvent, sprite);
}
static bool8 MovementAction_xA3_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite)
static bool8 MovementAction_GlideRight_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite)
{
AnimateSprite(sprite);
if (sub_80653CC(objectEvent, sprite))
if (UpdateMovementGlide(objectEvent, sprite))
{
sprite->data[2] = 2;
return TRUE;
@@ -7839,7 +7839,7 @@ static bool8 MovementAction_SpinRight_Step1(struct ObjectEvent *objectEvent, str
return FALSE;
}
static bool8 MovementAction_x98_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite)
static bool8 MovementAction_RaiseHand_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite)
{
StartSpriteAnim(sprite, ANIM_RAISE_HAND);
sprite->animPaused = FALSE;
@@ -7852,12 +7852,12 @@ static bool8 MovementAction_x98_Step0(struct ObjectEvent *objectEvent, struct Sp
return FALSE;
}
static bool8 MovementAction_x98_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite)
static bool8 MovementAction_RaiseHandAndStop_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite)
{
return sprite->animEnded;
}
static bool8 MovementAction_x99_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite)
static bool8 MovementAction_RaiseHandAndJump_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite)
{
switch (sprite->data[7])
{
@@ -7903,7 +7903,7 @@ static bool8 MovementAction_x99_Step1(struct ObjectEvent *objectEvent, struct Sp
return FALSE;
}
static bool8 MovementAction_x9A_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite)
static bool8 MovementAction_RaiseHandAndSwim_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite)
{
bool8 ret;
sprite->data[7] = (sprite->data[7] + 4) & 0xFF;
+9 -7
View File
@@ -640,9 +640,9 @@ void VsSeekerResetObjectMovementAfterChargeComplete(void)
{
if ((templates[i].trainerType == TRAINER_TYPE_NORMAL
|| templates[i].trainerType == TRAINER_TYPE_BURIED)
&& (templates[i].movementType == MOVEMENT_TYPE_VS_SEEKER_4D
|| templates[i].movementType == MOVEMENT_TYPE_VS_SEEKER_4E
|| templates[i].movementType == MOVEMENT_TYPE_VS_SEEKER_4F))
&& (templates[i].movementType == MOVEMENT_TYPE_RAISE_HAND_AND_STOP
|| templates[i].movementType == MOVEMENT_TYPE_RAISE_HAND_AND_JUMP
|| templates[i].movementType == MOVEMENT_TYPE_RAISE_HAND_AND_SWIM))
{
movementType = GetRandomFaceDirectionMovementType();
TryGetObjectEventIdByLocalIdAndMap(templates[i].localId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, &objEventId);
@@ -700,7 +700,9 @@ static void ResetMovementOfRematchableTrainers(void)
for (i = 0; i < OBJECT_EVENTS_COUNT; i++)
{
struct ObjectEvent * objectEvent = &gObjectEvents[i];
if (objectEvent->movementType == MOVEMENT_TYPE_VS_SEEKER_4D || objectEvent->movementType == MOVEMENT_TYPE_VS_SEEKER_4E || objectEvent->movementType == MOVEMENT_TYPE_VS_SEEKER_4F)
if (objectEvent->movementType == MOVEMENT_TYPE_RAISE_HAND_AND_STOP
|| objectEvent->movementType == MOVEMENT_TYPE_RAISE_HAND_AND_JUMP
|| objectEvent->movementType == MOVEMENT_TYPE_RAISE_HAND_AND_SWIM)
{
u8 movementType = GetRandomFaceDirectionMovementType();
if (objectEvent->active && gSprites[objectEvent->spriteId].data[0] == i)
@@ -1142,13 +1144,13 @@ static u8 GetRunningBehaviorFromGraphicsId(u8 graphicsId)
case OBJ_EVENT_GFX_BLACKBELT:
case OBJ_EVENT_GFX_HIKER:
case OBJ_EVENT_GFX_SAILOR:
return MOVEMENT_TYPE_VS_SEEKER_4E;
return MOVEMENT_TYPE_RAISE_HAND_AND_JUMP;
case OBJ_EVENT_GFX_TUBER_M_WATER:
case OBJ_EVENT_GFX_SWIMMER_M_WATER:
case OBJ_EVENT_GFX_SWIMMER_F_WATER:
return MOVEMENT_TYPE_VS_SEEKER_4F;
return MOVEMENT_TYPE_RAISE_HAND_AND_SWIM;
default:
return MOVEMENT_TYPE_VS_SEEKER_4D;
return MOVEMENT_TYPE_RAISE_HAND_AND_STOP;
}
}