summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMarcus Huderle <huderlem@gmail.com>2018-05-25 09:30:24 -0500
committerMarcus Huderle <huderlem@gmail.com>2018-05-29 17:43:11 -0500
commitbc97185452e4dd38a808afeac7b6c774d4ab1163 (patch)
treecce8625b11a840a19219b5af051c6ebe83c3d95f /src
parent4d92810ad64d6b01701de7f4796467c402542420 (diff)
Label all movement type functions and their callbacks
Diffstat (limited to 'src')
-rw-r--r--src/bike.c14
-rw-r--r--src/data/field_map_obj/callback_subroutine_pointers.h563
-rw-r--r--src/decoration.c2
-rw-r--r--src/event_object_movement.c1122
-rw-r--r--src/field_camera.c2
-rw-r--r--src/field_control_avatar.c6
-rw-r--r--src/field_effect.c24
-rw-r--r--src/field_fadetransition.c2
-rw-r--r--src/field_player_avatar.c54
-rw-r--r--src/field_specials.c6
-rw-r--r--src/fldeff_berrytree.c6
-rw-r--r--src/fldeff_decoration.c4
-rw-r--r--src/fldeff_secretpower.c4
-rw-r--r--src/item_use.c2
-rw-r--r--src/overworld.c2
-rw-r--r--src/rom6.c2
-rw-r--r--src/scrcmd.c2
-rw-r--r--src/trainer_see.c8
18 files changed, 989 insertions, 836 deletions
diff --git a/src/bike.c b/src/bike.c
index 25419c6cf..66227e029 100644
--- a/src/bike.c
+++ b/src/bike.c
@@ -153,7 +153,7 @@ static void MovePlayerOnMachBike(u8 direction, u16 newKeys, u16 heldKeys)
static u8 GetMachBikeTransition(u8 *dirTraveling)
{
// if the dir updated before this function, get the relevent new direction to check later.
- u8 direction = player_get_direction_upper_nybble();
+ u8 direction = GetPlayerMovementDirection();
// is the player standing still?
if (*dirTraveling == 0)
@@ -301,7 +301,7 @@ static u8 CheckMovementInputAcroBike(u8 *newDirection, u16 newKeys, u16 heldKeys
static u8 AcroBikeHandleInputNormal(u8 *newDirection, u16 newKeys, u16 heldKeys)
{
- u8 direction = player_get_direction_upper_nybble();
+ u8 direction = GetPlayerMovementDirection();
gPlayerAvatar.bikeFrameCounter = 0;
if (*newDirection == DIR_NONE)
@@ -354,7 +354,7 @@ static u8 AcroBikeHandleInputTurning(u8 *newDirection, u16 newKeys, u16 heldKeys
Bike_SetBikeStill();
return ACRO_TRANS_TURN_DIRECTION;
}
- direction = player_get_direction_upper_nybble();
+ direction = GetPlayerMovementDirection();
if (*newDirection == AcroBike_GetJumpDirection())
{
Bike_SetBikeStill(); // Bike_SetBikeStill sets speed to standing, but the next line immediately overrides it. could have just reset acroBikeState to 0 here instead of wasting a jump.
@@ -383,7 +383,7 @@ static u8 AcroBikeHandleInputWheelieStanding(u8 *newDirection, u16 newKeys, u16
u8 direction;
struct MapObject *playerMapObj;
- direction = player_get_direction_upper_nybble();
+ direction = GetPlayerMovementDirection();
playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId];
gPlayerAvatar.runningState = NOT_MOVING;
@@ -430,7 +430,7 @@ static u8 AcroBikeHandleInputBunnyHop(u8 *newDirection, u16 newKeys, u16 heldKey
u8 direction;
struct MapObject *playerMapObj;
- direction = player_get_direction_upper_nybble();
+ direction = GetPlayerMovementDirection();
playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId];
if (!(heldKeys & B_BUTTON))
{
@@ -477,7 +477,7 @@ static u8 AcroBikeHandleInputWheelieMoving(u8 *newDirection, u16 newKeys, u16 he
u8 direction;
struct MapObject *playerMapObj;
- direction = player_get_direction_lower_nybble();
+ direction = GetPlayerFacingDirection();
playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId];
if (!(heldKeys & B_BUTTON))
{
@@ -1065,7 +1065,7 @@ void Bike_HandleBumpySlopeJump(void)
if (MetatileBehavior_IsBumpySlope(tileBehavior))
{
gPlayerAvatar.acroBikeState = ACRO_STATE_WHEELIE_STANDING;
- sub_8059C94(player_get_direction_upper_nybble());
+ sub_8059C94(GetPlayerMovementDirection());
}
}
}
diff --git a/src/data/field_map_obj/callback_subroutine_pointers.h b/src/data/field_map_obj/callback_subroutine_pointers.h
index a324066b7..e9b648b88 100644
--- a/src/data/field_map_obj/callback_subroutine_pointers.h
+++ b/src/data/field_map_obj/callback_subroutine_pointers.h
@@ -6,17 +6,17 @@
#define POKERUBY_CALLBACK_SUBROUTINE_POINTERS_H
-u8 (*const gUnknown_08375224[])(struct MapObject *, struct Sprite *) = {
- sub_805C8F0,
- sub_805C904,
- sub_805C930,
- sub_805C96C,
- sub_805C98C,
- sub_805C9D8,
- sub_805CA08
+u8 (*const gMovementTypeFuncs_WanderAround[])(struct MapObject *, struct Sprite *) = {
+ MovementType_WanderAround_Step0,
+ MovementType_WanderAround_Step1,
+ MovementType_WanderAround_Step2,
+ MovementType_WanderAround_Step3,
+ MovementType_WanderAround_Step4,
+ MovementType_WanderAround_Step5,
+ MovementType_WanderAround_Step6
};
-const u8 gUnknown_08375240[] = {DIR_SOUTH, DIR_NORTH, DIR_WEST, DIR_EAST};
+const u8 gStandardDirections[] = {DIR_SOUTH, DIR_NORTH, DIR_WEST, DIR_EAST};
u8 (*const gUnknown_08375244[])(s16, s16, s16, s16) = {
sub_805CAAC,
@@ -32,411 +32,412 @@ u8 (*const gUnknown_08375244[])(s16, s16, s16, s16) = {
sub_805CD24
};
-u8 (*const gUnknown_08375270[])(struct MapObject *, struct Sprite *) = {
- sub_805CE2C,
- sub_805CE40,
- sub_805CE6C,
- sub_805CEB0,
- sub_805CEE0
+u8 (*const gMovementTypeFuncs_LookAround[])(struct MapObject *, struct Sprite *) = {
+ MovementType_LookAround_Step0,
+ MovementType_LookAround_Step1,
+ MovementType_LookAround_Step2,
+ MovementType_LookAround_Step3,
+ MovementType_LookAround_Step4,
};
-u8 (*const gUnknown_08375284[])(struct MapObject *, struct Sprite *) = {
- sub_805CF6C,
- sub_805CF80,
- sub_805CFAC,
- sub_805CFE8,
- sub_805D008,
- sub_805D054,
- sub_805D084
+u8 (*const gMovementTypeFuncs_WanderUpAndDown[])(struct MapObject *, struct Sprite *) = {
+ MovementType_WanderUpAndDown_Step0,
+ MovementType_WanderUpAndDown_Step1,
+ MovementType_WanderUpAndDown_Step2,
+ MovementType_WanderUpAndDown_Step3,
+ MovementType_WanderUpAndDown_Step4,
+ MovementType_WanderUpAndDown_Step5,
+ MovementType_WanderUpAndDown_Step6,
};
-const u8 gUnknown_083752A0[] = {DIR_SOUTH, DIR_NORTH};
+const u8 gUpAndDownDirections[] = {DIR_SOUTH, DIR_NORTH};
-u8 (*const gUnknown_083752A4[])(struct MapObject *, struct Sprite *) = {
- sub_805D0F0,
- sub_805D104,
- sub_805D130,
- sub_805D16C,
- sub_805D18C,
- sub_805D1D8,
- sub_805D208
+u8 (*const gMovementTypeFuncs_WanderLeftAndRight[])(struct MapObject *, struct Sprite *) = {
+ MovementType_WanderLeftAndRight_Step0,
+ MovementType_WanderLeftAndRight_Step1,
+ MovementType_WanderLeftAndRight_Step2,
+ MovementType_WanderLeftAndRight_Step3,
+ MovementType_WanderLeftAndRight_Step4,
+ MovementType_WanderLeftAndRight_Step5,
+ MovementType_WanderLeftAndRight_Step6,
};
-const u8 gUnknown_083752C0[] = {DIR_WEST, DIR_EAST};
+const u8 gLeftAndRightDirections[] = {DIR_WEST, DIR_EAST};
-u8 (*const gUnknown_083752C4[])(struct MapObject *, struct Sprite *) = {
- sub_805D274,
- sub_805D2A0,
- sub_805D2C0
+u8 (*const gMovementTypeFuncs_FaceDirection[])(struct MapObject *, struct Sprite *) = {
+ MovementType_FaceDirection_Step0,
+ MovementType_FaceDirection_Step1,
+ MovementType_FaceDirection_Step2,
};
-u8 (*const gUnknown_083752D0[])(struct MapObject *, struct Sprite *) = {
- do_berry_tree_growth_sparkle_1,
- sub_805D3EC,
- do_berry_tree_growth_sparkle_2,
- sub_805D458,
- sub_805D4A8
+u8 (*const gMovementTypeFuncs_BerryTreeGrowth[])(struct MapObject *, struct Sprite *) = {
+ MovementType_BerryTreeGrowth_Step0,
+ MovementType_BerryTreeGrowth_Step1,
+ MovementType_BerryTreeGrowth_Step2,
+ MovementType_BerryTreeGrowth_Step3,
+ MovementType_BerryTreeGrowth_Step4,
};
-u8 (*const gUnknown_083752E4[])(struct MapObject *, struct Sprite *) = {
- sub_805D538,
- sub_805D54C,
- sub_805D578,
- sub_805D5BC,
- sub_805D5EC
+u8 (*const gMovementTypeFuncs_FaceDownAndUp[])(struct MapObject *, struct Sprite *) = {
+ MovementType_FaceDownAndUp_Step0,
+ MovementType_FaceDownAndUp_Step1,
+ MovementType_FaceDownAndUp_Step2,
+ MovementType_FaceDownAndUp_Step3,
+ MovementType_FaceDownAndUp_Step4,
};
-u8 (*const gUnknown_083752F8[])(struct MapObject *, struct Sprite *) = {
- sub_805D678,
- sub_805D68C,
- sub_805D6B8,
- sub_805D6FC,
- sub_805D72C
+u8 (*const gMovementTypeFuncs_FaceLeftAndRight[])(struct MapObject *, struct Sprite *) = {
+ MovementType_FaceLeftAndRight_Step0,
+ MovementType_FaceLeftAndRight_Step1,
+ MovementType_FaceLeftAndRight_Step2,
+ MovementType_FaceLeftAndRight_Step3,
+ MovementType_FaceLeftAndRight_Step4,
};
-u8 (*const gUnknown_0837530C[])(struct MapObject *, struct Sprite *) = {
- sub_805D7B8,
- sub_805D7CC,
- sub_805D7F8,
- sub_805D83C,
- sub_805D86C
+u8 (*const gMovementTypeFuncs_FaceUpAndLeft[])(struct MapObject *, struct Sprite *) = {
+ MovementType_FaceUpAndLeft_Step0,
+ MovementType_FaceUpAndLeft_Step1,
+ MovementType_FaceUpAndLeft_Step2,
+ MovementType_FaceUpAndLeft_Step3,
+ MovementType_FaceUpAndLeft_Step4,
};
-const u8 gUnknown_08375320[] = {DIR_NORTH, DIR_WEST};
+const u8 gUpAndLeftDirections[] = {DIR_NORTH, DIR_WEST};
-u8 (*const gUnknown_08375324[])(struct MapObject *, struct Sprite *) = {
- sub_805D8F8,
- sub_805D90C,
- sub_805D938,
- sub_805D97C,
- sub_805D9AC
+u8 (*const gMovementTypeFuncs_FaceUpAndRight[])(struct MapObject *, struct Sprite *) = {
+ MovementType_FaceUpAndRight_Step0,
+ MovementType_FaceUpAndRight_Step1,
+ MovementType_FaceUpAndRight_Step2,
+ MovementType_FaceUpAndRight_Step3,
+ MovementType_FaceUpAndRight_Step4,
};
-const u8 gUnknown_08375338[] = {DIR_NORTH, DIR_EAST};
+const u8 gUpAndRightDirections[] = {DIR_NORTH, DIR_EAST};
-u8 (*const gUnknown_0837533C[])(struct MapObject *, struct Sprite *) = {
- sub_805DA38,
- sub_805DA4C,
- sub_805DA78,
- sub_805DABC,
- sub_805DAEC
+u8 (*const gMovementTypeFuncs_FaceDownAndLeft[])(struct MapObject *, struct Sprite *) = {
+ MovementType_FaceDownAndLeft_Step0,
+ MovementType_FaceDownAndLeft_Step1,
+ MovementType_FaceDownAndLeft_Step2,
+ MovementType_FaceDownAndLeft_Step3,
+ MovementType_FaceDownAndLeft_Step4,
};
-const u8 gUnknown_08375350[] = {DIR_SOUTH, DIR_WEST};
+const u8 gDownAndLeftDirections[] = {DIR_SOUTH, DIR_WEST};
-u8 (*const gUnknown_08375354[])(struct MapObject *, struct Sprite *) = {
- sub_805DB78,
- sub_805DB8C,
- sub_805DBB8,
- sub_805DBFC,
- sub_805DC2C
+u8 (*const gMovementTypeFuncs_FaceDownAndRight[])(struct MapObject *, struct Sprite *) = {
+ MovementType_FaceDownAndRight_Step0,
+ MovementType_FaceDownAndRight_Step1,
+ MovementType_FaceDownAndRight_Step2,
+ MovementType_FaceDownAndRight_Step3,
+ MovementType_FaceDownAndRight_Step4,
};
-const u8 gUnknown_08375368[] = {DIR_SOUTH, DIR_EAST};
+const u8 gDownAndRightDirections[] = {DIR_SOUTH, DIR_EAST};
-u8 (*const gUnknown_0837536C[])(struct MapObject *, struct Sprite *) = {
- sub_805DCB8,
- sub_805DCCC,
- sub_805DCF8,
- sub_805DD3C,
- sub_805DD6C
+u8 (*const gMovementTypeFuncs_FaceDownUpAndLeft[])(struct MapObject *, struct Sprite *) = {
+ MovementType_FaceDownUpAndLeft_Step0,
+ MovementType_FaceDownUpAndLeft_Step1,
+ MovementType_FaceDownUpAndLeft_Step2,
+ MovementType_FaceDownUpAndLeft_Step3,
+ MovementType_FaceDownUpAndLeft_Step4,
};
-const u8 gUnknown_08375380[] = {DIR_NORTH, DIR_SOUTH, DIR_WEST, DIR_SOUTH};
+const u8 gDownUpAndLeftDirections[] = {DIR_NORTH, DIR_SOUTH, DIR_WEST, DIR_SOUTH};
-u8 (*const gUnknown_08375384[])(struct MapObject *, struct Sprite *) = {
- sub_805DDF8,
- sub_805DE0C,
- sub_805DE38,
- sub_805DE7C,
- sub_805DEAC
+u8 (*const gMovementTypeFuncs_FaceDownUpAndRight[])(struct MapObject *, struct Sprite *) = {
+ MovementType_FaceDownUpAndRight_Step0,
+ MovementType_FaceDownUpAndRight_Step1,
+ MovementType_FaceDownUpAndRight_Step2,
+ MovementType_FaceDownUpAndRight_Step3,
+ MovementType_FaceDownUpAndRight_Step4,
};
-const u8 gUnknown_08375398[] = {DIR_SOUTH, DIR_NORTH, DIR_EAST, DIR_SOUTH};
+const u8 gDownUpAndRightDirections[] = {DIR_SOUTH, DIR_NORTH, DIR_EAST, DIR_SOUTH};
-u8 (*const gUnknown_0837539C[])(struct MapObject *, struct Sprite *) = {
- sub_805DF38,
- sub_805DF4C,
- sub_805DF78,
- sub_805DFBC,
- sub_805DFEC
+u8 (*const gMovementTypeFuncs_FaceUpLeftAndRight[])(struct MapObject *, struct Sprite *) = {
+ MovementType_FaceUpLeftAndRight_Step0,
+ MovementType_FaceUpLeftAndRight_Step1,
+ MovementType_FaceUpLeftAndRight_Step2,
+ MovementType_FaceUpLeftAndRight_Step3,
+ MovementType_FaceUpLeftAndRight_Step4,
};
-const u8 gUnknown_083753B0[] = {DIR_NORTH, DIR_WEST, DIR_EAST, DIR_NORTH};
+const u8 gUpLeftAndRightDirections[] = {DIR_NORTH, DIR_WEST, DIR_EAST, DIR_NORTH};
-u8 (*const gUnknown_083753B4[])(struct MapObject *, struct Sprite *) = {
- sub_805E078,
- sub_805E08C,
- sub_805E0B8,
- sub_805E0FC,
- sub_805E12C
+u8 (*const gMovementTypeFuncs_FaceDownLeftAndRight[])(struct MapObject *, struct Sprite *) = {
+ MovementType_FaceDownLeftAndRight_Step0,
+ MovementType_FaceDownLeftAndRight_Step1,
+ MovementType_FaceDownLeftAndRight_Step2,
+ MovementType_FaceDownLeftAndRight_Step3,
+ MovementType_FaceDownLeftAndRight_Step4,
};
-const u8 gUnknown_083753C8[] = {DIR_WEST, DIR_EAST, DIR_SOUTH, DIR_SOUTH};
+const u8 gDownLeftAndRightDirections[] = {DIR_WEST, DIR_EAST, DIR_SOUTH, DIR_SOUTH};
-u8 (*const gUnknown_083753CC[])(struct MapObject *, struct Sprite *) = {
- sub_805E1B8,
- sub_805E1E4,
- sub_805E208,
- sub_805E234
+u8 (*const gMovementTypeFuncs_RotateCounterclockwise[])(struct MapObject *, struct Sprite *) = {
+ MovementType_RotateCounterclockwise_Step0,
+ MovementType_RotateCounterclockwise_Step1,
+ MovementType_RotateCounterclockwise_Step2,
+ MovementType_RotateCounterclockwise_Step3,
};
-const u8 gUnknown_083753DC[] = {DIR_SOUTH, DIR_EAST, DIR_WEST, DIR_SOUTH, DIR_NORTH};
+const u8 gCounterclockwiseDirections[] = {DIR_SOUTH, DIR_EAST, DIR_WEST, DIR_SOUTH, DIR_NORTH};
-u8 (*const gUnknown_083753E4[])(struct MapObject *, struct Sprite *) = {
- sub_805E2BC,
- sub_805E2E8,
- sub_805E30C,
- sub_805E338
+u8 (*const gMovementTypeFuncs_RotateClockwise[])(struct MapObject *, struct Sprite *) = {
+ MovementType_RotateClockwise_Step0,
+ MovementType_RotateClockwise_Step1,
+ MovementType_RotateClockwise_Step2,
+ MovementType_RotateClockwise_Step3,
};
-const u8 gUnknown_083753F4[] = {DIR_SOUTH, DIR_WEST, DIR_EAST, DIR_NORTH, DIR_SOUTH};
+const u8 gClockwiseDirections[] = {DIR_SOUTH, DIR_WEST, DIR_EAST, DIR_NORTH, DIR_SOUTH};
-u8 (*const gUnknown_083753FC[])(struct MapObject *, struct Sprite *) = {
- sub_805E3C0,
- sub_805E3D4,
- sub_805E40C,
- sub_805E4C4
+u8 (*const gMovementTypeFuncs_WalkBackAndForth[])(struct MapObject *, struct Sprite *) = {
+ MovementType_WalkBackAndForth_Step0,
+ MovementType_WalkBackAndForth_Step1,
+ MovementType_WalkBackAndForth_Step2,
+ MovementType_WalkBackAndForth_Step3,
};
-u8 (*const gUnknown_0837540C[])(struct MapObject *, struct Sprite *) = {
- sub_805E4EC,
- sub_805E620,
- sub_805E5B4
+u8 (*const gMovementTypeFuncs_WalkSequenceUpRightLeftDown[])(struct MapObject *, struct Sprite *) = {
+ MovementType_WalkSequence_Step0,
+ MovementType_WalkSequenceUpRightLeftDown_Step1,
+ MovementType_WalkSequence_Step2
};
-const u8 gUnknown_08375418[] = {DIR_NORTH, DIR_EAST, DIR_WEST, DIR_SOUTH};
+const u8 gUpRightLeftDownDirections[] = {DIR_NORTH, DIR_EAST, DIR_WEST, DIR_SOUTH};
-u8 (*const gUnknown_0837541C[])(struct MapObject *, struct Sprite *) = {
- sub_805E4EC,
- sub_805E6AC,
- sub_805E5B4
+u8 (*const gMovementTypeFuncs_WalkSequenceRightLeftDownUp[])(struct MapObject *, struct Sprite *) = {
+ MovementType_WalkSequence_Step0,
+ MovementType_WalkSequenceRightLeftDownUp_Step1,
+ MovementType_WalkSequence_Step2
};
-const u8 gUnknown_08375428[] = {DIR_EAST, DIR_WEST, DIR_SOUTH, DIR_NORTH};
-u8 (*const gUnknown_0837542C[])(struct MapObject *, struct Sprite *) = {
- sub_805E4EC,
- sub_805E738,
- sub_805E5B4
+const u8 gRightLeftDownUpDirections[] = {DIR_EAST, DIR_WEST, DIR_SOUTH, DIR_NORTH};
+
+u8 (*const gMovementTypeFuncs_WalkSequenceDownUpRightLeft[])(struct MapObject *, struct Sprite *) = {
+ MovementType_WalkSequence_Step0,
+ MovementType_WalkSequenceDownUpRightLeft_Step1,
+ MovementType_WalkSequence_Step2
};
-const u8 gUnknown_08375438[] = {DIR_SOUTH, DIR_NORTH, DIR_EAST, DIR_WEST};
+const u8 gDownUpRightLeftDirections[] = {DIR_SOUTH, DIR_NORTH, DIR_EAST, DIR_WEST};
-u8 (*const gUnknown_0837543C[])(struct MapObject *, struct Sprite *) = {
- sub_805E4EC,
- sub_805E7C4,
- sub_805E5B4
+u8 (*const gMovementTypeFuncs_WalkSequenceLeftDownUpRight[])(struct MapObject *, struct Sprite *) = {
+ MovementType_WalkSequence_Step0,
+ MovementType_WalkSequenceLeftDownUpRight_Step1,
+ MovementType_WalkSequence_Step2
};
-const u8 gUnknown_08375448[] = {DIR_WEST, DIR_SOUTH, DIR_NORTH, DIR_EAST};
+const u8 gLeftDownUpRightDirections[] = {DIR_WEST, DIR_SOUTH, DIR_NORTH, DIR_EAST};
-u8 (*const gUnknown_0837544C[])(struct MapObject *, struct Sprite *) = {
- sub_805E4EC,
- sub_805E850,
- sub_805E5B4
+u8 (*const gMovementTypeFuncs_WalkSequenceUpLeftRightDown[])(struct MapObject *, struct Sprite *) = {
+ MovementType_WalkSequence_Step0,
+ MovementType_WalkSequenceUpLeftRightDown_Step1,
+ MovementType_WalkSequence_Step2
};
-const u8 gUnknown_08375458[] = {DIR_NORTH, DIR_WEST, DIR_EAST, DIR_SOUTH};
+const u8 gUpLeftRightDownDirections[] = {DIR_NORTH, DIR_WEST, DIR_EAST, DIR_SOUTH};
-u8 (*const gUnknown_0837545C[])(struct MapObject *, struct Sprite *) = {
- sub_805E4EC,
- sub_805E8DC,
- sub_805E5B4
+u8 (*const gMovementTypeFuncs_WalkSequenceLeftRightDownUp[])(struct MapObject *, struct Sprite *) = {
+ MovementType_WalkSequence_Step0,
+ MovementType_WalkSequenceLeftRightDownUp_Step1,
+ MovementType_WalkSequence_Step2
};
-const u8 gUnknown_08375468[] = {DIR_WEST, DIR_EAST, DIR_SOUTH, DIR_NORTH};
+const u8 gLeftRightDownUpDirections[] = {DIR_WEST, DIR_EAST, DIR_SOUTH, DIR_NORTH};
-u8 (*const gUnknown_0837546C[])(struct MapObject *, struct Sprite *) = {
- sub_805E4EC,
- sub_805E968,
- sub_805E5B4
+u8 (*const gMovementTypeFuncs_WalkSequenceDownUpLeftRight[])(struct MapObject *, struct Sprite *) = {
+ MovementType_WalkSequence_Step0,
+ MovementType_WalkSequenceDownUpLeftRight_Step1,
+ MovementType_WalkSequence_Step2
};
-u8 (*const gUnknown_08375478[])(struct MapObject *, struct Sprite *) = {
- sub_805E4EC,
- sub_805E9F4,
- sub_805E5B4
+u8 (*const gMovementTypeFuncs_WalkSequenceRightDownUpLeft[])(struct MapObject *, struct Sprite *) = {
+ MovementType_WalkSequence_Step0,
+ MovementType_WalkSequenceRightDownUpLeft_Step1,
+ MovementType_WalkSequence_Step2
};
-const u8 gUnknown_08375484[] = {DIR_EAST, DIR_SOUTH, DIR_NORTH, DIR_WEST};
+const u8 gRightDownUpLeftDirections[] = {DIR_EAST, DIR_SOUTH, DIR_NORTH, DIR_WEST};
-u8 (*const gUnknown_08375488[])(struct MapObject *, struct Sprite *) = {
- sub_805E4EC,
- sub_805EA80,
- sub_805E5B4
+u8 (*const gMovementTypeFuncs_WalkSequenceLeftUpDownRight[])(struct MapObject *, struct Sprite *) = {
+ MovementType_WalkSequence_Step0,
+ MovementType_WalkSequenceLeftUpDownRight_Step1,
+ MovementType_WalkSequence_Step2
};
-const u8 gUnknown_08375494[] = {DIR_WEST, DIR_NORTH, DIR_SOUTH, DIR_EAST};
+const u8 gLeftUpDownRightDirections[] = {DIR_WEST, DIR_NORTH, DIR_SOUTH, DIR_EAST};
-u8 (*const gUnknown_08375498[])(struct MapObject *, struct Sprite *) = {
- sub_805E4EC,
- sub_805EB0C,
- sub_805E5B4
+u8 (*const gMovementTypeFuncs_WalkSequenceUpDownRightLeft[])(struct MapObject *, struct Sprite *) = {
+ MovementType_WalkSequence_Step0,
+ MovementType_WalkSequenceUpDownRightLeft_Step1,
+ MovementType_WalkSequence_Step2
};
-const u8 gUnknown_083754A4[] = {DIR_NORTH, DIR_SOUTH, DIR_EAST, DIR_WEST};
+const u8 gUpDownRightLeftDirections[] = {DIR_NORTH, DIR_SOUTH, DIR_EAST, DIR_WEST};
-u8 (*const gUnknown_083754A8[])(struct MapObject *, struct Sprite *) = {
- sub_805E4EC,
- sub_805EB98,
- sub_805E5B4
+u8 (*const gMovementTypeFuncs_WalkSequenceRightLeftUpDown[])(struct MapObject *, struct Sprite *) = {
+ MovementType_WalkSequence_Step0,
+ MovementType_WalkSequenceRightLeftUpDown_Step1,
+ MovementType_WalkSequence_Step2
};
-const u8 gUnknown_083754B4[] = {DIR_EAST, DIR_WEST, DIR_NORTH, DIR_SOUTH};
+const u8 gRightLeftUpDownDirections[] = {DIR_EAST, DIR_WEST, DIR_NORTH, DIR_SOUTH};
-u8 (*const gUnknown_083754B8[])(struct MapObject *, struct Sprite *) = {
- sub_805E4EC,
- sub_805EC24,
- sub_805E5B4
+u8 (*const gMovementTypeFuncs_WalkSequenceDownRightLeftUp[])(struct MapObject *, struct Sprite *) = {
+ MovementType_WalkSequence_Step0,
+ MovementType_WalkSequenceDownRightLeftUp_Step1,
+ MovementType_WalkSequence_Step2
};
-const u8 gUnknown_083754C4[] = {DIR_SOUTH, DIR_EAST, DIR_WEST, DIR_NORTH};
+const u8 gDownRightLeftUpDirections[] = {DIR_SOUTH, DIR_EAST, DIR_WEST, DIR_NORTH};
-u8 (*const gUnknown_083754C8[])(struct MapObject *, struct Sprite *) = {
- sub_805E4EC,
- sub_805ECB0,
- sub_805E5B4
+u8 (*const gMovementTypeFuncs_WalkSequenceRightUpDownLeft[])(struct MapObject *, struct Sprite *) = {
+ MovementType_WalkSequence_Step0,
+ MovementType_WalkSequenceRightUpDownLeft_Step1,
+ MovementType_WalkSequence_Step2
};
-const u8 gUnknown_083754D4[] = {DIR_EAST, DIR_NORTH, DIR_SOUTH, DIR_WEST};
+const u8 gRightUpDownLeftDirections[] = {DIR_EAST, DIR_NORTH, DIR_SOUTH, DIR_WEST};
-u8 (*const gUnknown_083754D8[])(struct MapObject *, struct Sprite *) = {
- sub_805E4EC,
- sub_805ED3C,
- sub_805E5B4
+u8 (*const gMovementTypeFuncs_WalkSequenceUpDownLeftRight[])(struct MapObject *, struct Sprite *) = {
+ MovementType_WalkSequence_Step0,
+ MovementType_WalkSequenceUpDownLeftRight_Step1,
+ MovementType_WalkSequence_Step2
};
-const u8 gUnknown_083754E4[] = {DIR_NORTH, DIR_SOUTH, DIR_WEST, DIR_EAST};
+const u8 gUpDownLeftRightDirections[] = {DIR_NORTH, DIR_SOUTH, DIR_WEST, DIR_EAST};
-u8 (*const gUnknown_083754E8[])(struct MapObject *, struct Sprite *) = {
- sub_805E4EC,
- sub_805EDC8,
- sub_805E5B4
+u8 (*const gMovementTypeFuncs_WalkSequenceLeftRightUpDown[])(struct MapObject *, struct Sprite *) = {
+ MovementType_WalkSequence_Step0,
+ MovementType_WalkSequenceLeftRightUpDown_Step1,
+ MovementType_WalkSequence_Step2
};
-const u8 gUnknown_083754F4[] = {DIR_WEST, DIR_EAST, DIR_NORTH, DIR_SOUTH};
+const u8 gLeftRightUpDownDirections[] = {DIR_WEST, DIR_EAST, DIR_NORTH, DIR_SOUTH};
-u8 (*const gUnknown_083754F8[])(struct MapObject *, struct Sprite *) = {
- sub_805E4EC,
- sub_805EE54,
- sub_805E5B4
+u8 (*const gMovementTypeFuncs_WalkSequenceDownLeftRightUp[])(struct MapObject *, struct Sprite *) = {
+ MovementType_WalkSequence_Step0,
+ MovementType_WalkSequenceDownLeftRightUp_Step1,
+ MovementType_WalkSequence_Step2
};
-const u8 gUnknown_08375504[] = {DIR_SOUTH, DIR_WEST, DIR_EAST, DIR_NORTH};
+const u8 gDownLeftRightUpDirections[] = {DIR_SOUTH, DIR_WEST, DIR_EAST, DIR_NORTH};
-u8 (*const gUnknown_08375508[])(struct MapObject *, struct Sprite *) = {
- sub_805E4EC,
- sub_805EEE0,
- sub_805E5B4
+u8 (*const gMovementTypeFuncs_WalkSequenceUpLeftDownRight[])(struct MapObject *, struct Sprite *) = {
+ MovementType_WalkSequence_Step0,
+ MovementType_WalkSequenceUpLeftDownRight_Step1,
+ MovementType_WalkSequence_Step2
};
-const u8 gUnknown_08375514[] = {DIR_NORTH, DIR_WEST, DIR_SOUTH, DIR_EAST};
+const u8 gUpLeftDownRightDirections[] = {DIR_NORTH, DIR_WEST, DIR_SOUTH, DIR_EAST};
-u8 (*const gUnknown_08375518[])(struct MapObject *, struct Sprite *) = {
- sub_805E4EC,
- sub_805EF6C,
- sub_805E5B4
+u8 (*const gMovementTypeFuncs_WalkSequenceDownRightUpLeft[])(struct MapObject *, struct Sprite *) = {
+ MovementType_WalkSequence_Step0,
+ MovementType_WalkSequenceDownRightUpLeft_Step1,
+ MovementType_WalkSequence_Step2
};
-const u8 gUnknown_08375524[] = {DIR_SOUTH, DIR_EAST, DIR_NORTH, DIR_WEST};
+const u8 gDownRightUpLeftDirections[] = {DIR_SOUTH, DIR_EAST, DIR_NORTH, DIR_WEST};
-u8 (*const gUnknown_08375528[])(struct MapObject *, struct Sprite *) = {
- sub_805E4EC,
- sub_805EFF8,
- sub_805E5B4
+u8 (*const gMovementTypeFuncs_WalkSequenceLeftDownRightUp[])(struct MapObject *, struct Sprite *) = {
+ MovementType_WalkSequence_Step0,
+ MovementType_WalkSequenceLeftDownRightUp_Step1,
+ MovementType_WalkSequence_Step2
};
-const u8 gUnknown_08375534[] = {DIR_WEST, DIR_SOUTH, DIR_EAST, DIR_NORTH};
+const u8 gLeftDownRightUpDirections[] = {DIR_WEST, DIR_SOUTH, DIR_EAST, DIR_NORTH};
-u8 (*const gUnknown_08375538[])(struct MapObject *, struct Sprite *) = {
- sub_805E4EC,
- sub_805F084,
- sub_805E5B4
+u8 (*const gMovementTypeFuncs_WalkSequenceRightUpLeftDown[])(struct MapObject *, struct Sprite *) = {
+ MovementType_WalkSequence_Step0,
+ MovementType_WalkSequenceRightUpLeftDown_Step1,
+ MovementType_WalkSequence_Step2
};
-const u8 gUnknown_08375544[] = {DIR_EAST, DIR_NORTH, DIR_WEST, DIR_SOUTH};
+const u8 gRightUpLeftDownDirections[] = {DIR_EAST, DIR_NORTH, DIR_WEST, DIR_SOUTH};
-u8 (*const gUnknown_08375548[])(struct MapObject *, struct Sprite *) = {
- sub_805E4EC,
- sub_805F110,
- sub_805E5B4
+u8 (*const gMovementTypeFuncs_WalkSequenceUpRightDownLeft[])(struct MapObject *, struct Sprite *) = {
+ MovementType_WalkSequence_Step0,
+ MovementType_WalkSequenceUpRightDownLeft_Step1,
+ MovementType_WalkSequence_Step2
};
-const u8 gUnknown_08375554[] = {DIR_NORTH, DIR_EAST, DIR_SOUTH, DIR_WEST};
+const u8 gUpRightDownLeftDirections[] = {DIR_NORTH, DIR_EAST, DIR_SOUTH, DIR_WEST};
-u8 (*const gUnknown_08375558[])(struct MapObject *, struct Sprite *) = {
- sub_805E4EC,
- sub_805F19C,
- sub_805E5B4
+u8 (*const gMovementTypeFuncs_WalkSequenceDownLeftUpRight[])(struct MapObject *, struct Sprite *) = {
+ MovementType_WalkSequence_Step0,
+ MovementType_WalkSequenceDownLeftUpRight_Step1,
+ MovementType_WalkSequence_Step2
};
-const u8 gUnknown_08375564[] = {DIR_SOUTH, DIR_WEST, DIR_NORTH, DIR_EAST};
+const u8 gDownLeftUpRightDirections[] = {DIR_SOUTH, DIR_WEST, DIR_NORTH, DIR_EAST};
-u8 (*const gUnknown_08375568[])(struct MapObject *, struct Sprite *) = {
- sub_805E4EC,
- sub_805F228,
- sub_805E5B4
+u8 (*const gMovementTypeFuncs_WalkSequenceLeftUpRightDown[])(struct MapObject *, struct Sprite *) = {
+ MovementType_WalkSequence_Step0,
+ MovementType_WalkSequenceLeftUpRightDown_Step1,
+ MovementType_WalkSequence_Step2
};
-const u8 gUnknown_08375574[] = {DIR_WEST, DIR_NORTH, DIR_EAST, DIR_SOUTH};
+const u8 gLeftUpRightDownDirections[] = {DIR_WEST, DIR_NORTH, DIR_EAST, DIR_SOUTH};
-u8 (*const gUnknown_08375578[])(struct MapObject *, struct Sprite *) = {
- sub_805E4EC,
- sub_805F2B4,
- sub_805E5B4
+u8 (*const gMovementTypeFuncs_WalkSequenceRightDownLeftUp[])(struct MapObject *, struct Sprite *) = {
+ MovementType_WalkSequence_Step0,
+ MovementType_WalkSequenceRightDownLeftUp_Step1,
+ MovementType_WalkSequence_Step2
};
-const u8 gUnknown_08375584[] = {DIR_EAST, DIR_SOUTH, DIR_WEST, DIR_NORTH};
+const u8 gRightDownLeftUpDirections[] = {DIR_EAST, DIR_SOUTH, DIR_WEST, DIR_NORTH};
-u8 (*const gUnknown_08375588[])(struct MapObject *, struct Sprite *) = {
- mss_npc_reset_oampriv3_1_unk2_unk3,
- sub_805F364,
- sub_805F3C4
+u8 (*const gMovementTypeFuncs_CopyPlayer[])(struct MapObject *, struct Sprite *) = {
+ MovementType_CopyPlayer_Step0,
+ MovementType_CopyPlayer_Step1,
+ MovementType_CopyPlayer_Step2
};
-u8 (*const gUnknown_08375594[])(struct MapObject *, struct Sprite *, u8, bool8(u8)) = {
- sub_805F3EC,
- sub_805F3F0,
- sub_805F438,
- sub_805F4F0,
- sub_805F5A8,
- sub_805F660,
+u8 (*const gCopyPlayerMovementFuncs[])(struct MapObject *, struct Sprite *, u8, bool8(u8)) = {
+ CopyablePlayerMovement_None,
+ CopyablePlayerMovement_FaceDirection,
+ CopyablePlayerMovement_GoSpeed0,
+ CopyablePlayerMovement_GoSpeed1,
+ CopyablePlayerMovement_GoSpeed2,
+ CopyablePlayerMovement_GoSpeed3,
cph_IM_DIFFERENT,
- sub_805F760,
- oac_hopping,
- sub_805F3EC,
- sub_805F3EC
+ CopyablePlayerMovement_GoSpeed4,
+ CopyablePlayerMovement_Jump,
+ CopyablePlayerMovement_None,
+ CopyablePlayerMovement_None
};
-u8 (*const gUnknown_083755C0[])(struct MapObject *, struct Sprite *) = {
- mss_npc_reset_oampriv3_1_unk2_unk3,
- mss_08062EA4,
- sub_805F3C4
+u8 (*const gMovementTypeFuncs_CopyPlayerInGrass[])(struct MapObject *, struct Sprite *) = {
+ MovementType_CopyPlayer_Step0,
+ MovementType_CopyPlayerInGrass_Step1,
+ MovementType_CopyPlayer_Step2
};
-u8 (*const gUnknown_083755CC[])(struct MapObject *, struct Sprite *) = {
- sub_805FAF8
+u8 (*const gMovementTypeFuncs_Hidden[])(struct MapObject *, struct Sprite *) = {
+ MovementType_Hidden_Step0
};
-u8 (*const gUnknown_083755D0[])(struct MapObject *, struct Sprite *) = {
- sub_805FB64,
- sub_805FB04
+u8 (*const gMovementTypeFuncs_WalkInPlace[])(struct MapObject *, struct Sprite *) = {
+ MovementType_WalkInPlace_Step0,
+ MovementType_WalkInPlace_Step1
};
-u8 (*const gUnknown_083755D8[])(struct MapObject *, struct Sprite *) = {
- sub_805FBD4,
- sub_805FB04
+u8 (*const gMovementTypeFuncs_JogInPlace[])(struct MapObject *, struct Sprite *) = {
+ MovementType_JogInPlace_Step0,
+ MovementType_WalkInPlace_Step1
};
-u8 (*const gUnknown_083755E0[])(struct MapObject *, struct Sprite *) = {
- sub_805FC44,
- sub_805FB04
+u8 (*const gMovementTypeFuncs_RunInPlace[])(struct MapObject *, struct Sprite *) = {
+ MovementType_RunInPlace_Step0,
+ MovementType_WalkInPlace_Step1
};
-u8 (*const gUnknown_083755E8[])(struct MapObject *, struct Sprite *) = {
- sub_805FCB4,
- sub_805FCE8,
- sub_805FD08
+u8 (*const gMovementTypeFuncs_Invisible[])(struct MapObject *, struct Sprite *) = {
+ MovementType_Invisible_Step0,
+ MovementType_Invisible_Step1,
+ MovementType_Invisible_Step2
};
#endif //POKERUBY_CALLBACK_SUBROUTINE_POINTERS_H
diff --git a/src/decoration.c b/src/decoration.c
index b00a51ef0..c3e651a0c 100644
--- a/src/decoration.c
+++ b/src/decoration.c
@@ -3760,7 +3760,7 @@ bool8 sub_8100D38(u8 taskId)
void SetUpPuttingAwayDecorationPlayerAvatar(void)
{
- player_get_direction_lower_nybble();
+ GetPlayerFacingDirection();
Menu_EraseWindowRect(0, 0, 29, 19);
gUnknown_020391A8 = gSprites[gUnknown_03004880.unk4].data[0];
sub_81016C8();
diff --git a/src/event_object_movement.c b/src/event_object_movement.c
index 168db72c5..3d80bb9f3 100644
--- a/src/event_object_movement.c
+++ b/src/event_object_movement.c
@@ -1498,87 +1498,244 @@ const u32 gFieldEffectPic_Bird[] = INCBIN_U32("graphics/field_effect_objects/pic
// movement type callbacks
static void (*const sMovementTypeCallbacks[])(struct Sprite *) =
{
- MovementType_None, // MOVEMENT_TYPE_NONE
- sub_805CDE8, // MOVEMENT_TYPE_LOOK_AROUND
- sub_805C8AC,
- sub_805CF28,
- sub_805CF28,
- sub_805D0AC,
- sub_805D0AC,
- sub_805D230,
- sub_805D230,
- sub_805D230,
- sub_805D230,
- sub_80587B4,
- FieldObjectCB_BerryTree,
- sub_805D4F4,
- sub_805D634,
- sub_805D774,
- sub_805D8B4,
- sub_805D9F4,
- sub_805DB34,
- sub_805DC74,
- sub_805DDB4,
- sub_805DEF4,
- sub_805E034,
- sub_805E174,
- sub_805E278,
- sub_805E37C,
- sub_805E37C,
- sub_805E37C,
- sub_805E37C,
- sub_805E5DC,
- sub_805E668,
- sub_805E6F4,
- sub_805E780,
- sub_805E80C,
- sub_805E898,
- sub_805E924,
- sub_805E9B0,
- sub_805EA3C,
- sub_805EAC8,
- sub_805EB54,
- sub_805EBE0,
- sub_805EC6C,
- sub_805ECF8,
- sub_805ED84,
- sub_805EE10,
- sub_805EE9C,
- sub_805EF28,
- sub_805EFB4,
- sub_805F040,
- sub_805F0CC,
- sub_805F158,
- sub_805F1E4,
- sub_805F270,
- sub_805F2FC,
- sub_805F2FC,
- sub_805F2FC,
- sub_805F2FC,
- FieldObjectCB_TreeDisguise,
- FieldObjectCB_MountainDisguise,
- sub_805F8E0,
- sub_805F8E0,
- sub_805F8E0,
- sub_805F8E0,
- FieldObjectCB_Hidden1,
- sub_805FB20,
- sub_805FB20,
- sub_805FB20,
- sub_805FB20,
- sub_805FB90,
- sub_805FB90,
- sub_805FB90,
- sub_805FB90,
- sub_805FC00,
- sub_805FC00,
- sub_805FC00,
- sub_805FC00,
- sub_805FC70,
+ MovementType_None, // MOVEMENT_TYPE_NONE
+ MovementType_LookAround, // MOVEMENT_TYPE_LOOK_AROUND
+ MovementType_WanderAround, // MOVEMENT_TYPE_WANDER_AROUND
+ MovementType_WanderUpAndDown, // MOVEMENT_TYPE_WANDER_UP_AND_DOWN
+ MovementType_WanderUpAndDown, // MOVEMENT_TYPE_WANDER_DOWN_AND_UP
+ MovementType_WanderLeftAndRight, // MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT
+ MovementType_WanderLeftAndRight, // MOVEMENT_TYPE_WANDER_RIGHT_AND_LEFT
+ MovementType_FaceDirection, // MOVEMENT_TYPE_FACE_UP
+ MovementType_FaceDirection, // MOVEMENT_TYPE_FACE_DOWN
+ MovementType_FaceDirection, // MOVEMENT_TYPE_FACE_LEFT
+ MovementType_FaceDirection, // MOVEMENT_TYPE_FACE_RIGHT
+ MovementType_None2, // MOVEMENT_TYPE_NONE_2
+ MovementType_BerryTreeGrowth, // MOVEMENT_TYPE_BERRY_TREE_GROWTH
+ MovementType_FaceDownAndUp, // MOVEMENT_TYPE_FACE_DOWN_AND_UP
+ MovementType_FaceLeftAndRight, // MOVEMENT_TYPE_FACE_LEFT_AND_RIGHT
+ MovementType_FaceUpAndLeft, // MOVEMENT_TYPE_FACE_UP_AND_LEFT
+ MovementType_FaceUpAndRight, // MOVEMENT_TYPE_FACE_UP_AND_RIGHT
+ MovementType_FaceDownAndLeft, // MOVEMENT_TYPE_FACE_DOWN_AND_LEFT
+ MovementType_FaceDownAndRight, // MOVEMENT_TYPE_FACE_DOWN_AND_RIGHT
+ MovementType_FaceDownUpAndLeft, // MOVEMENT_TYPE_FACE_DOWN_UP_AND_LEFT
+ MovementType_FaceDownUpAndRight, // MOVEMENT_TYPE_FACE_DOWN_UP_AND_RIGHT
+ MovementType_FaceUpLeftAndRight, // MOVEMENT_TYPE_FACE_UP_LEFT_AND_RIGHT
+ MovementType_FaceDownLeftAndRight, // MOVEMENT_TYPE_FACE_DOWN_LEFT_AND_RIGHT
+ MovementType_RotateCounterclockwise, // MOVEMENT_TYPE_ROTATE_COUNTERCLOCKWISE
+ MovementType_RotateClockwise, // MOVEMENT_TYPE_ROTATE_CLOCKWISE
+ MovementType_WalkBackAndForth, // MOVEMENT_TYPE_WALK_UP_AND_DOWN
+ MovementType_WalkBackAndForth, // MOVEMENT_TYPE_WALK_DOWN_AND_UP
+ MovementType_WalkBackAndForth, // MOVEMENT_TYPE_WALK_LEFT_AND_RIGHT
+ MovementType_WalkBackAndForth, // MOVEMENT_TYPE_WALK_RIGHT_AND_LEFT
+ MovementType_WalkSequenceUpRightLeftDown, // MOVEMENT_TYPE_WALK_SEQUENCE_UP_RIGHT_LEFT_DOWN
+ MovementType_WalkSequenceRightLeftDownUp, // MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_LEFT_DOWN_UP
+ MovementType_WalkSequenceDownUpRightLeft, // MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_UP_RIGHT_LEFT
+ MovementType_WalkSequenceLeftDownUpRight, // MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_DOWN_UP_RIGHT
+ MovementType_WalkSequenceUpLeftRightDown, // MOVEMENT_TYPE_WALK_SEQUENCE_UP_LEFT_RIGHT_DOWN
+ MovementType_WalkSequenceLeftRightDownUp, // MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_RIGHT_DOWN_UP
+ MovementType_WalkSequenceDownUpLeftRight, // MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_UP_LEFT_RIGHT
+ MovementType_WalkSequenceRightDownUpLeft, // MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_DOWN_UP_LEFT
+ MovementType_WalkSequenceLeftUpDownRight, // MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_UP_DOWN_RIGHT
+ MovementType_WalkSequenceUpDownRightLeft, // MOVEMENT_TYPE_WALK_SEQUENCE_UP_DOWN_RIGHT_LEFT
+ MovementType_WalkSequenceRightLeftUpDown, // MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_LEFT_UP_DOWN
+ MovementType_WalkSequenceDownRightLeftUp, // MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_RIGHT_LEFT_UP
+ MovementType_WalkSequenceRightUpDownLeft, // MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_UP_DOWN_LEFT
+ MovementType_WalkSequenceUpDownLeftRight, // MOVEMENT_TYPE_WALK_SEQUENCE_UP_DOWN_LEFT_RIGHT
+ MovementType_WalkSequenceLeftRightUpDown, // MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_RIGHT_UP_DOWN
+ MovementType_WalkSequenceDownLeftRightUp, // MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_LEFT_RIGHT_UP
+ MovementType_WalkSequenceUpLeftDownRight, // MOVEMENT_TYPE_WALK_SEQUENCE_UP_LEFT_DOWN_RIGHT
+ MovementType_WalkSequenceDownRightUpLeft, // MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_RIGHT_UP_LEFT
+ MovementType_WalkSequenceLeftDownRightUp, // MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_DOWN_RIGHT_UP
+ MovementType_WalkSequenceRightUpLeftDown, // MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_UP_LEFT_DOWN
+ MovementType_WalkSequenceUpRightDownLeft, // MOVEMENT_TYPE_WALK_SEQUENCE_UP_RIGHT_DOWN_LEFT
+ MovementType_WalkSequenceDownLeftUpRight, // MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_LEFT_UP_RIGHT
+ MovementType_WalkSequenceLeftUpRightDown, // MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_UP_RIGHT_DOWN
+ MovementType_WalkSequenceRightDownLeftUp, // MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_DOWN_LEFT_UP
+ MovementType_CopyPlayer, // MOVEMENT_TYPE_COPY_PLAYER
+ MovementType_CopyPlayer, // MOVEMENT_TYPE_COPY_PLAYER_OPPOSITE
+ MovementType_CopyPlayer, // MOVEMENT_TYPE_COPY_PLAYER_COUNTERCLOCKWISE
+ MovementType_CopyPlayer, // MOVEMENT_TYPE_COPY_PLAYER_CLOCKWISE
+ MovementType_TreeDisguise, // MOVEMENT_TYPE_TREE_DISGUISE
+ MovementType_MountainDisguise, // MOVEMENT_TYPE_MOUNTAIN_DISGUISE
+ MovementType_CopyPlayerInGrass, // MOVEMENT_TYPE_COPY_PLAYER_IN_GRASS
+ MovementType_CopyPlayerInGrass, // MOVEMENT_TYPE_COPY_PLAYER_OPPOSITE_IN_GRASS
+ MovementType_CopyPlayerInGrass, // MOVEMENT_TYPE_COPY_PLAYER_COUNTERCLOCKWISE_IN_GRASS
+ MovementType_CopyPlayerInGrass, // MOVEMENT_TYPE_COPY_PLAYER_CLOCKWISE_IN_GRASS
+ MovementType_Hidden, // MOVEMENT_TYPE_HIDDEN
+ MovementType_WalkInPlace, // MOVEMENT_TYPE_WALK_IN_PLACE_DOWN
+ MovementType_WalkInPlace, // MOVEMENT_TYPE_WALK_IN_PLACE_UP
+ MovementType_WalkInPlace, // MOVEMENT_TYPE_WALK_IN_PLACE_LEFT
+ MovementType_WalkInPlace, // MOVEMENT_TYPE_WALK_IN_PLACE_RIGHT
+ MovementType_JogInPlace, // MOVEMENT_TYPE_JOG_IN_PLACE_DOWN
+ MovementType_JogInPlace, // MOVEMENT_TYPE_JOG_IN_PLACE_UP
+ MovementType_JogInPlace, // MOVEMENT_TYPE_JOG_IN_PLACE_LEFT
+ MovementType_JogInPlace, // MOVEMENT_TYPE_JOG_IN_PLACE_RIGHT
+ MovementType_RunInPlace, // MOVEMENT_TYPE_RUN_IN_PLACE_DOWN
+ MovementType_RunInPlace, // MOVEMENT_TYPE_RUN_IN_PLACE_UP
+ MovementType_RunInPlace, // MOVEMENT_TYPE_RUN_IN_PLACE_LEFT
+ MovementType_RunInPlace, // MOVEMENT_TYPE_RUN_IN_PLACE_RIGHT
+ MovementType_Invisible, // MOVEMENT_TYPE_INVISIBLE
};
-const u8 gUnknown_0836DBBC[] = {0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
-const u8 gUnknown_0836DC09[] = {DIR_SOUTH, DIR_SOUTH, DIR_SOUTH, DIR_NORTH, DIR_SOUTH, DIR_WEST, DIR_EAST, DIR_NORTH, DIR_SOUTH, DIR_WEST, DIR_EAST, DIR_SOUTH, DIR_SOUTH, DIR_SOUTH, DIR_WEST, DIR_NORTH, DIR_NORTH, DIR_SOUTH, DIR_SOUTH, DIR_SOUTH, DIR_SOUTH, DIR_NORTH, DIR_SOUTH, DIR_SOUTH, DIR_SOUTH, DIR_NORTH, DIR_SOUTH, DIR_WEST, DIR_EAST, DIR_NORTH, DIR_EAST, DIR_SOUTH, DIR_WEST, DIR_NORTH, DIR_WEST, DIR_SOUTH, DIR_EAST, DIR_WEST, DIR_NORTH, DIR_EAST, DIR_SOUTH, DIR_EAST, DIR_NORTH, DIR_WEST, DIR_SOUTH, DIR_NORTH, DIR_SOUTH, DIR_WEST, DIR_EAST, DIR_NORTH, DIR_SOUTH, DIR_WEST, DIR_EAST, DIR_NORTH, DIR_SOUTH, DIR_WEST, DIR_EAST, DIR_SOUTH, DIR_SOUTH, DIR_NORTH, DIR_SOUTH, DIR_WEST, DIR_EAST, DIR_SOUTH, DIR_SOUTH, DIR_NORTH, DIR_WEST, DIR_EAST, DIR_SOUTH, DIR_NORTH, DIR_WEST, DIR_EAST, DIR_SOUTH, DIR_NORTH, DIR_WEST, DIR_EAST, DIR_SOUTH};
+const u8 gRangedMovementTypes[] = {
+ 0, // MOVEMENT_TYPE_NONE
+ 0, // MOVEMENT_TYPE_LOOK_AROUND
+ 1, // MOVEMENT_TYPE_WANDER_AROUND
+ 1, // MOVEMENT_TYPE_WANDER_UP_AND_DOWN
+ 1, // MOVEMENT_TYPE_WANDER_DOWN_AND_UP
+ 1, // MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT
+ 1, // MOVEMENT_TYPE_WANDER_RIGHT_AND_LEFT
+ 0, // MOVEMENT_TYPE_FACE_UP
+ 0, // MOVEMENT_TYPE_FACE_DOWN
+ 0, // MOVEMENT_TYPE_FACE_LEFT
+ 0, // MOVEMENT_TYPE_FACE_RIGHT
+ 0, // MOVEMENT_TYPE_NONE_2
+ 0, // MOVEMENT_TYPE_BERRY_TREE_GROWTH
+ 0, // MOVEMENT_TYPE_FACE_DOWN_AND_UP
+ 0, // MOVEMENT_TYPE_FACE_LEFT_AND_RIGHT
+ 0, // MOVEMENT_TYPE_FACE_UP_AND_LEFT
+ 0, // MOVEMENT_TYPE_FACE_UP_AND_RIGHT
+ 0, // MOVEMENT_TYPE_FACE_DOWN_AND_LEFT
+ 0, // MOVEMENT_TYPE_FACE_DOWN_AND_RIGHT
+ 0, // MOVEMENT_TYPE_FACE_DOWN_UP_AND_LEFT
+ 0, // MOVEMENT_TYPE_FACE_DOWN_UP_AND_RIGHT
+ 0, // MOVEMENT_TYPE_FACE_UP_LEFT_AND_RIGHT
+ 0, // MOVEMENT_TYPE_FACE_DOWN_LEFT_AND_RIGHT
+ 0, // MOVEMENT_TYPE_ROTATE_COUNTERCLOCKWISE
+ 0, // MOVEMENT_TYPE_ROTATE_CLOCKWISE
+ 1, // MOVEMENT_TYPE_WALK_UP_AND_DOWN
+ 1, // MOVEMENT_TYPE_WALK_DOWN_AND_UP
+ 1, // MOVEMENT_TYPE_WALK_LEFT_AND_RIGHT
+ 1, // MOVEMENT_TYPE_WALK_RIGHT_AND_LEFT
+ 1, // MOVEMENT_TYPE_WALK_SEQUENCE_UP_RIGHT_LEFT_DOWN
+ 1, // MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_LEFT_DOWN_UP
+ 1, // MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_UP_RIGHT_LEFT
+ 1, // MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_DOWN_UP_RIGHT
+ 1, // MOVEMENT_TYPE_WALK_SEQUENCE_UP_LEFT_RIGHT_DOWN
+ 1, // MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_RIGHT_DOWN_UP
+ 1, // MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_UP_LEFT_RIGHT
+ 1, // MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_DOWN_UP_LEFT
+ 1, // MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_UP_DOWN_RIGHT
+ 1, // MOVEMENT_TYPE_WALK_SEQUENCE_UP_DOWN_RIGHT_LEFT
+ 1, // MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_LEFT_UP_DOWN
+ 1, // MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_RIGHT_LEFT_UP
+ 1, // MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_UP_DOWN_LEFT
+ 1, // MOVEMENT_TYPE_WALK_SEQUENCE_UP_DOWN_LEFT_RIGHT
+ 1, // MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_RIGHT_UP_DOWN
+ 1, // MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_LEFT_RIGHT_UP
+ 1, // MOVEMENT_TYPE_WALK_SEQUENCE_UP_LEFT_DOWN_RIGHT
+ 1, // MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_RIGHT_UP_LEFT
+ 1, // MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_DOWN_RIGHT_UP
+ 1, // MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_UP_LEFT_DOWN
+ 1, // MOVEMENT_TYPE_WALK_SEQUENCE_UP_RIGHT_DOWN_LEFT
+ 1, // MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_LEFT_UP_RIGHT
+ 1, // MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_UP_RIGHT_DOWN
+ 1, // MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_DOWN_LEFT_UP
+ 1, // MOVEMENT_TYPE_COPY_PLAYER
+ 1, // MOVEMENT_TYPE_COPY_PLAYER_OPPOSITE
+ 1, // MOVEMENT_TYPE_COPY_PLAYER_COUNTERCLOCKWISE
+ 1, // MOVEMENT_TYPE_COPY_PLAYER_CLOCKWISE
+ 0, // MOVEMENT_TYPE_TREE_DISGUISE
+ 0, // MOVEMENT_TYPE_MOUNTAIN_DISGUISE
+ 1, // MOVEMENT_TYPE_COPY_PLAYER_IN_GRASS
+ 1, // MOVEMENT_TYPE_COPY_PLAYER_OPPOSITE_IN_GRASS
+ 1, // MOVEMENT_TYPE_COPY_PLAYER_COUNTERCLOCKWISE_IN_GRASS
+ 1, // MOVEMENT_TYPE_COPY_PLAYER_CLOCKWISE_IN_GRASS
+ 0, // MOVEMENT_TYPE_HIDDEN
+ 0, // MOVEMENT_TYPE_WALK_IN_PLACE_DOWN
+ 0, // MOVEMENT_TYPE_WALK_IN_PLACE_UP
+ 0, // MOVEMENT_TYPE_WALK_IN_PLACE_LEFT
+ 0, // MOVEMENT_TYPE_WALK_IN_PLACE_RIGHT
+ 0, // MOVEMENT_TYPE_JOG_IN_PLACE_DOWN
+ 0, // MOVEMENT_TYPE_JOG_IN_PLACE_UP
+ 0, // MOVEMENT_TYPE_JOG_IN_PLACE_LEFT
+ 0, // MOVEMENT_TYPE_JOG_IN_PLACE_RIGHT
+ 0, // MOVEMENT_TYPE_RUN_IN_PLACE_DOWN
+ 0, // MOVEMENT_TYPE_RUN_IN_PLACE_UP
+ 0, // MOVEMENT_TYPE_RUN_IN_PLACE_LEFT
+ 0, // MOVEMENT_TYPE_RUN_IN_PLACE_RIGHT
+ 0, // MOVEMENT_TYPE_INVISIBLE
+};
+
+const u8 gInitialMovementTypeFacingDirections[] = {
+ DIR_SOUTH, // MOVEMENT_TYPE_NONE
+ DIR_SOUTH, // MOVEMENT_TYPE_LOOK_AROUND
+ DIR_SOUTH, // MOVEMENT_TYPE_WANDER_AROUND
+ DIR_NORTH, // MOVEMENT_TYPE_WANDER_UP_AND_DOWN
+ DIR_SOUTH, // MOVEMENT_TYPE_WANDER_DOWN_AND_UP
+ DIR_WEST, // MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT
+ DIR_EAST, // MOVEMENT_TYPE_WANDER_RIGHT_AND_LEFT
+ DIR_NORTH, // MOVEMENT_TYPE_FACE_UP
+ DIR_SOUTH, // MOVEMENT_TYPE_FACE_DOWN
+ DIR_WEST, // MOVEMENT_TYPE_FACE_LEFT
+ DIR_EAST, // MOVEMENT_TYPE_FACE_RIGHT
+ DIR_SOUTH, // MOVEMENT_TYPE_NONE_2
+ DIR_SOUTH, // MOVEMENT_TYPE_BERRY_TREE_GROWTH
+ DIR_SOUTH, // MOVEMENT_TYPE_FACE_DOWN_AND_UP
+ DIR_WEST, // MOVEMENT_TYPE_FACE_LEFT_AND_RIGHT
+ DIR_NORTH, // MOVEMENT_TYPE_FACE_UP_AND_LEFT
+ DIR_NORTH, // MOVEMENT_TYPE_FACE_UP_AND_RIGHT
+ DIR_SOUTH, // MOVEMENT_TYPE_FACE_DOWN_AND_LEFT
+ DIR_SOUTH, // MOVEMENT_TYPE_FACE_DOWN_AND_RIGHT
+ DIR_SOUTH, // MOVEMENT_TYPE_FACE_DOWN_UP_AND_LEFT
+ DIR_SOUTH, // MOVEMENT_TYPE_FACE_DOWN_UP_AND_RIGHT
+ DIR_NORTH, // MOVEMENT_TYPE_FACE_UP_LEFT_AND_RIGHT
+ DIR_SOUTH, // MOVEMENT_TYPE_FACE_DOWN_LEFT_AND_RIGHT
+ DIR_SOUTH, // MOVEMENT_TYPE_ROTATE_COUNTERCLOCKWISE
+ DIR_SOUTH, // MOVEMENT_TYPE_ROTATE_CLOCKWISE
+ DIR_NORTH, // MOVEMENT_TYPE_WALK_UP_AND_DOWN
+ DIR_SOUTH, // MOVEMENT_TYPE_WALK_DOWN_AND_UP
+ DIR_WEST, // MOVEMENT_TYPE_WALK_LEFT_AND_RIGHT
+ DIR_EAST, // MOVEMENT_TYPE_WALK_RIGHT_AND_LEFT
+ DIR_NORTH, // MOVEMENT_TYPE_WALK_SEQUENCE_UP_RIGHT_LEFT_DOWN
+ DIR_EAST, // MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_LEFT_DOWN_UP
+ DIR_SOUTH, // MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_UP_RIGHT_LEFT
+ DIR_WEST, // MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_DOWN_UP_RIGHT
+ DIR_NORTH, // MOVEMENT_TYPE_WALK_SEQUENCE_UP_LEFT_RIGHT_DOWN
+ DIR_WEST, // MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_RIGHT_DOWN_UP
+ DIR_SOUTH, // MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_UP_LEFT_RIGHT
+ DIR_EAST, // MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_DOWN_UP_LEFT
+ DIR_WEST, // MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_UP_DOWN_RIGHT
+ DIR_NORTH, // MOVEMENT_TYPE_WALK_SEQUENCE_UP_DOWN_RIGHT_LEFT
+ DIR_EAST, // MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_LEFT_UP_DOWN
+ DIR_SOUTH, // MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_RIGHT_LEFT_UP
+ DIR_EAST, // MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_UP_DOWN_LEFT
+ DIR_NORTH, // MOVEMENT_TYPE_WALK_SEQUENCE_UP_DOWN_LEFT_RIGHT
+ DIR_WEST, // MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_RIGHT_UP_DOWN
+ DIR_SOUTH, // MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_LEFT_RIGHT_UP
+ DIR_NORTH, // MOVEMENT_TYPE_WALK_SEQUENCE_UP_LEFT_DOWN_RIGHT
+ DIR_SOUTH, // MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_RIGHT_UP_LEFT
+ DIR_WEST, // MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_DOWN_RIGHT_UP
+ DIR_EAST, // MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_UP_LEFT_DOWN
+ DIR_NORTH, // MOVEMENT_TYPE_WALK_SEQUENCE_UP_RIGHT_DOWN_LEFT
+ DIR_SOUTH, // MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_LEFT_UP_RIGHT
+ DIR_WEST, // MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_UP_RIGHT_DOWN
+ DIR_EAST, // MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_DOWN_LEFT_UP
+ DIR_NORTH, // MOVEMENT_TYPE_COPY_PLAYER
+ DIR_SOUTH, // MOVEMENT_TYPE_COPY_PLAYER_OPPOSITE
+ DIR_WEST, // MOVEMENT_TYPE_COPY_PLAYER_COUNTERCLOCKWISE
+ DIR_EAST, // MOVEMENT_TYPE_COPY_PLAYER_CLOCKWISE
+ DIR_SOUTH, // MOVEMENT_TYPE_TREE_DISGUISE
+ DIR_SOUTH, // MOVEMENT_TYPE_MOUNTAIN_DISGUISE
+ DIR_NORTH, // MOVEMENT_TYPE_COPY_PLAYER_IN_GRASS
+ DIR_SOUTH, // MOVEMENT_TYPE_COPY_PLAYER_OPPOSITE_IN_GRASS
+ DIR_WEST, // MOVEMENT_TYPE_COPY_PLAYER_COUNTERCLOCKWISE_IN_GRASS
+ DIR_EAST, // MOVEMENT_TYPE_COPY_PLAYER_CLOCKWISE_IN_GRASS
+ DIR_SOUTH, // MOVEMENT_TYPE_HIDDEN
+ DIR_SOUTH, // MOVEMENT_TYPE_WALK_IN_PLACE_DOWN
+ DIR_NORTH, // MOVEMENT_TYPE_WALK_IN_PLACE_UP
+ DIR_WEST, // MOVEMENT_TYPE_WALK_IN_PLACE_LEFT
+ DIR_EAST, // MOVEMENT_TYPE_WALK_IN_PLACE_RIGHT
+ DIR_SOUTH, // MOVEMENT_TYPE_JOG_IN_PLACE_DOWN
+ DIR_NORTH, // MOVEMENT_TYPE_JOG_IN_PLACE_UP
+ DIR_WEST, // MOVEMENT_TYPE_JOG_IN_PLACE_LEFT
+ DIR_EAST, // MOVEMENT_TYPE_JOG_IN_PLACE_RIGHT
+ DIR_SOUTH, // MOVEMENT_TYPE_RUN_IN_PLACE_DOWN
+ DIR_NORTH, // MOVEMENT_TYPE_RUN_IN_PLACE_UP
+ DIR_WEST, // MOVEMENT_TYPE_RUN_IN_PLACE_LEFT
+ DIR_EAST, // MOVEMENT_TYPE_RUN_IN_PLACE_RIGHT
+ DIR_SOUTH, // MOVEMENT_TYPE_INVISIBLE
+};
#include "data/field_map_obj/map_object_graphics_info_pointers.h"
#include "data/field_map_obj/field_effect_object_template_pointers.h"
@@ -1795,9 +1952,9 @@ const u16 *const gUnknown_0837399C[] = {
#include "data/field_map_obj/berry_tree_graphics_tables.h"
#include "data/field_map_obj/field_effect_objects.h"
-const s16 gUnknown_0837520C[] = {0x20, 0x40, 0x60, 0x80};
-const s16 gUnknown_08375204[] = {0x20, 0x40, 0x80, 0xc0};
-const s16 gUnknown_0837521C[] = {0x20, 0x30, 0x40, 0x50};
+const s16 gMovementDelaysMedium[] = {32, 64, 96, 128};
+const s16 gMovementDelaysLong[] = {32, 64, 128, 192};
+const s16 gMovementDelaysShort[] = {32, 48, 64, 80};
#include "data/field_map_obj/callback_subroutine_pointers.h"
@@ -2059,11 +2216,11 @@ u8 TryInitFieldObjectStateFromTemplate(struct MapObjectTemplate *template, u8 ma
mapObj->range.as_nybbles.y = template->unkA_4;
mapObj->trainerType = template->unkC;
mapObj->trainerRange_berryTreeId = template->unkE;
- mapObj->previousMovementDirection = gUnknown_0836DC09[template->movementType];
+ mapObj->previousMovementDirection = gInitialMovementTypeFacingDirections[template->movementType];
FieldObjectSetDirection((struct MapObject *)mapObj, mapObj->previousMovementDirection);
asm("":::"r5","r6");
FieldObjectHandleDynamicGraphicsId((struct MapObject *)mapObj);
- if (gUnknown_0836DBBC[mapObj->movementType] != 0)
+ if (gRangedMovementTypes[mapObj->movementType] != 0)
{
if (mapObj->range.as_nybbles.x == 0)
mapObj->range.as_nybbles.x++;
@@ -3190,9 +3347,9 @@ u16 npc_paltag_by_palslot(u8 a)
}
fieldmap_object_empty_callback(MovementType_None, MovementType_None_Callback);
-fieldmap_object_cb(sub_805C8AC, sub_805C8D0, gUnknown_08375224);
+fieldmap_object_cb(MovementType_WanderAround, MovementType_WanderAround_Callback, gMovementTypeFuncs_WanderAround);
-u8 sub_805C8F0(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_WanderAround_Step0(struct MapObject *mapObject, struct Sprite *sprite)
{
npc_reset(mapObject, sprite);
sprite->data[1] = 1;
@@ -3201,32 +3358,32 @@ u8 sub_805C8F0(struct MapObject *mapObject, struct Sprite *sprite)
extern void FieldObjectSetSingleMovement(struct MapObject *, struct Sprite *, u8);
-u8 sub_805C904(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_WanderAround_Step1(struct MapObject *mapObject, struct Sprite *sprite)
{
- FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection));
+ FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementActionId(mapObject->facingDirection));
sprite->data[1] = 2;
return 1;
}
extern u8 FieldObjectExecSingleMovementAction(struct MapObject *, struct Sprite *);
-void sub_8064820(struct Sprite *, s16);
+static void SetMovementDelay(struct Sprite *, s16);
-u8 sub_805C930(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_WanderAround_Step2(struct MapObject *mapObject, struct Sprite *sprite)
{
if (FieldObjectExecSingleMovementAction(mapObject, sprite) == 0)
{
return 0;
}
- sub_8064820(sprite, gUnknown_0837520C[Random() & 3]);
+ SetMovementDelay(sprite, gMovementDelaysMedium[Random() & 3]);
sprite->data[1] = 3;
return 1;
}
-extern u8 sub_8064824(struct Sprite *);
+static u8 WaitForMovementDelay(struct Sprite *);
-u8 sub_805C96C(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_WanderAround_Step3(struct MapObject *mapObject, struct Sprite *sprite)
{
- if (sub_8064824(sprite) != 0)
+ if (WaitForMovementDelay(sprite))
{
sprite->data[1] = 4;
return 1;
@@ -3234,32 +3391,32 @@ u8 sub_805C96C(struct MapObject *mapObject, struct Sprite *sprite)
return 0;
}
-extern u8 sub_805FF20(struct MapObject *, u8);
+extern u8 GetCollisionInDirection(struct MapObject *, u8);
-u8 sub_805C98C(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_WanderAround_Step4(struct MapObject *mapObject, struct Sprite *sprite)
{
u8 direction;
u8 directions[4];
- memcpy(directions, gUnknown_08375240, 4);
+ memcpy(directions, gStandardDirections, 4);
direction = directions[Random() & 3];
FieldObjectSetDirection(mapObject, direction);
sprite->data[1] = 5;
- if (sub_805FF20(mapObject, direction) != 0)
+ if (GetCollisionInDirection(mapObject, direction) != 0)
{
sprite->data[1] = 1;
}
return 1;
}
-u8 sub_805C9D8(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_WanderAround_Step5(struct MapObject *mapObject, struct Sprite *sprite)
{
- FieldObjectSetSingleMovement(mapObject, sprite, GetGoSpeed0AnimId(mapObject->movementDirection));
+ FieldObjectSetSingleMovement(mapObject, sprite, GetGoSpeed0MovementActionId(mapObject->movementDirection));
mapObject->singleMovementActive = 1;
sprite->data[1] = 6;
return 1;
}
-u8 sub_805CA08(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_WanderAround_Step6(struct MapObject *mapObject, struct Sprite *sprite)
{
if (FieldObjectExecSingleMovementAction(mapObject, sprite) != 0)
{
@@ -3506,36 +3663,36 @@ u8 sub_805CD60(struct MapObject *mapObject, u8 a1)
return gUnknown_08375244[a1](x, y, x2, y2);
}
-fieldmap_object_cb(sub_805CDE8, sub_805CE0c, gUnknown_08375270);
+fieldmap_object_cb(MovementType_LookAround, MovementType_LookAround_Callback, gMovementTypeFuncs_LookAround);
-u8 sub_805CE2C(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_LookAround_Step0(struct MapObject *mapObject, struct Sprite *sprite)
{
npc_reset(mapObject, sprite);
sprite->data[1] = 1;
return 1;
}
-u8 sub_805CE40(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_LookAround_Step1(struct MapObject *mapObject, struct Sprite *sprite)
{
- FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection));
+ FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementActionId(mapObject->facingDirection));
sprite->data[1] = 2;
return 1;
}
-u8 sub_805CE6C(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_LookAround_Step2(struct MapObject *mapObject, struct Sprite *sprite)
{
- if (FieldObjectExecSingleMovementAction(mapObject, sprite) != 0)
+ if (FieldObjectExecSingleMovementAction(mapObject, sprite))
{
- sub_8064820(sprite, gUnknown_0837520C[Random() & 3]);
+ SetMovementDelay(sprite, gMovementDelaysMedium[Random() & 3]);
mapObject->singleMovementActive = 0;
sprite->data[1] = 3;
}
return 0;
}
-u8 sub_805CEB0(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_LookAround_Step3(struct MapObject *mapObject, struct Sprite *sprite)
{
- if (sub_8064824(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject))
+ if (WaitForMovementDelay(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject))
{
sprite->data[1] = 4;
return 1;
@@ -3543,51 +3700,50 @@ u8 sub_805CEB0(struct MapObject *mapObject, struct Sprite *sprite)
return 0;
}
-u8 sub_805CEE0(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_LookAround_Step4(struct MapObject *mapObject, struct Sprite *sprite)
{
u8 direction;
u8 directions[4];
- memcpy(directions, gUnknown_08375240, 4);
+ memcpy(directions, gStandardDirections, 4);
direction = sub_805CD60(mapObject, 0);
if (direction == 0)
- {
direction = directions[Random() & 3];
- }
+
FieldObjectSetDirection(mapObject, direction);
sprite->data[1] = 1;
return 1;
}
-fieldmap_object_cb(sub_805CF28, sub_805CF4C, gUnknown_08375284);
+fieldmap_object_cb(MovementType_WanderUpAndDown, MovementType_WanderUpAndDown_Callback, gMovementTypeFuncs_WanderUpAndDown);
-u8 sub_805CF6C(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_WanderUpAndDown_Step0(struct MapObject *mapObject, struct Sprite *sprite)
{
npc_reset(mapObject, sprite);
sprite->data[1] = 1;
return 1;
}
-u8 sub_805CF80(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_WanderUpAndDown_Step1(struct MapObject *mapObject, struct Sprite *sprite)
{
- FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection));
+ FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementActionId(mapObject->facingDirection));
sprite->data[1] = 2;
return 1;
}
-u8 sub_805CFAC(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_WanderUpAndDown_Step2(struct MapObject *mapObject, struct Sprite *sprite)
{
if (FieldObjectExecSingleMovementAction(mapObject, sprite) == 0)
{
return 0;
}
- sub_8064820(sprite, gUnknown_0837520C[Random() & 3]);
+ SetMovementDelay(sprite, gMovementDelaysMedium[Random() & 3]);
sprite->data[1] = 3;
return 1;
}
-u8 sub_805CFE8(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_WanderUpAndDown_Step3(struct MapObject *mapObject, struct Sprite *sprite)
{
- if (sub_8064824(sprite) != 0)
+ if (WaitForMovementDelay(sprite))
{
sprite->data[1] = 4;
return 1;
@@ -3595,30 +3751,30 @@ u8 sub_805CFE8(struct MapObject *mapObject, struct Sprite *sprite)
return 0;
}
-u8 sub_805D008(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_WanderUpAndDown_Step4(struct MapObject *mapObject, struct Sprite *sprite)
{
u8 direction;
u8 directions[2];
- memcpy(directions, gUnknown_083752A0, 2);
+ memcpy(directions, gUpAndDownDirections, 2);
direction = directions[Random() & 1];
FieldObjectSetDirection(mapObject, direction);
sprite->data[1] = 5;
- if (sub_805FF20(mapObject, direction) != 0)
+ if (GetCollisionInDirection(mapObject, direction) != 0)
{
sprite->data[1] = 1;
}
return 1;
}
-u8 sub_805D054(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_WanderUpAndDown_Step5(struct MapObject *mapObject, struct Sprite *sprite)
{
- FieldObjectSetSingleMovement(mapObject, sprite, GetGoSpeed0AnimId(mapObject->movementDirection));
+ FieldObjectSetSingleMovement(mapObject, sprite, GetGoSpeed0MovementActionId(mapObject->movementDirection));
mapObject->singleMovementActive = 1;
sprite->data[1] = 6;
return 1;
}
-u8 sub_805D084(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_WanderUpAndDown_Step6(struct MapObject *mapObject, struct Sprite *sprite)
{
if (FieldObjectExecSingleMovementAction(mapObject, sprite) != 0)
{
@@ -3628,36 +3784,36 @@ u8 sub_805D084(struct MapObject *mapObject, struct Sprite *sprite)
return 0;
}
-fieldmap_object_cb(sub_805D0AC, sub_805D0D0, gUnknown_083752A4);
+fieldmap_object_cb(MovementType_WanderLeftAndRight, MovementType_WanderLeftAndRight_Callback, gMovementTypeFuncs_WanderLeftAndRight);
-u8 sub_805D0F0(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_WanderLeftAndRight_Step0(struct MapObject *mapObject, struct Sprite *sprite)
{
npc_reset(mapObject, sprite);
sprite->data[1] = 1;
return 1;
}
-u8 sub_805D104(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_WanderLeftAndRight_Step1(struct MapObject *mapObject, struct Sprite *sprite)
{
- FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection));
+ FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementActionId(mapObject->facingDirection));
sprite->data[1] = 2;
return 1;
}
-u8 sub_805D130(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_WanderLeftAndRight_Step2(struct MapObject *mapObject, struct Sprite *sprite)
{
if (FieldObjectExecSingleMovementAction(mapObject, sprite) == 0)
{
return 0;
}
- sub_8064820(sprite, gUnknown_0837520C[Random() & 3]);
+ SetMovementDelay(sprite, gMovementDelaysMedium[Random() & 3]);
sprite->data[1] = 3;
return 1;
}
-u8 sub_805D16C(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_WanderLeftAndRight_Step3(struct MapObject *mapObject, struct Sprite *sprite)
{
- if (sub_8064824(sprite) != 0)
+ if (WaitForMovementDelay(sprite))
{
sprite->data[1] = 4;
return 1;
@@ -3665,30 +3821,30 @@ u8 sub_805D16C(struct MapObject *mapObject, struct Sprite *sprite)
return 0;
}
-u8 sub_805D18C(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_WanderLeftAndRight_Step4(struct MapObject *mapObject, struct Sprite *sprite)
{
u8 direction;
u8 directions[2];
- memcpy(directions, gUnknown_083752C0, 2);
+ memcpy(directions, gLeftAndRightDirections, 2);
direction = directions[Random() & 1];
FieldObjectSetDirection(mapObject, direction);
sprite->data[1] = 5;
- if (sub_805FF20(mapObject, direction) != 0)
+ if (GetCollisionInDirection(mapObject, direction) != 0)
{
sprite->data[1] = 1;
}
return 1;
}
-u8 sub_805D1D8(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_WanderLeftAndRight_Step5(struct MapObject *mapObject, struct Sprite *sprite)
{
- FieldObjectSetSingleMovement(mapObject, sprite, GetGoSpeed0AnimId(mapObject->movementDirection));
+ FieldObjectSetSingleMovement(mapObject, sprite, GetGoSpeed0MovementActionId(mapObject->movementDirection));
mapObject->singleMovementActive = 1;
sprite->data[1] = 6;
return 1;
}
-u8 sub_805D208(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_WanderLeftAndRight_Step6(struct MapObject *mapObject, struct Sprite *sprite)
{
if (FieldObjectExecSingleMovementAction(mapObject, sprite) != 0)
{
@@ -3698,17 +3854,17 @@ u8 sub_805D208(struct MapObject *mapObject, struct Sprite *sprite)
return 0;
}
-fieldmap_object_cb(sub_805D230, sub_805D254, gUnknown_083752C4);
+fieldmap_object_cb(MovementType_FaceDirection, MovementType_FaceDirection_Callback, gMovementTypeFuncs_FaceDirection);
-u8 sub_805D274(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_FaceDirection_Step0(struct MapObject *mapObject, struct Sprite *sprite)
{
npc_reset(mapObject, sprite);
- FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection));
+ FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementActionId(mapObject->facingDirection));
sprite->data[1] = 1;
return 1;
}
-u8 sub_805D2A0(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_FaceDirection_Step1(struct MapObject *mapObject, struct Sprite *sprite)
{
if (FieldObjectExecSingleMovementAction(mapObject, sprite) != 0)
{
@@ -3718,15 +3874,15 @@ u8 sub_805D2A0(struct MapObject *mapObject, struct Sprite *sprite)
return 0;
}
-u8 sub_805D2C0(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_FaceDirection_Step2(struct MapObject *mapObject, struct Sprite *sprite)
{
mapObject->singleMovementActive = 0;
return 0;
}
-u8 sub_805D314(struct MapObject *mapObject, struct Sprite *sprite);
+u8 MovementType_BerryTreeGrowth_Callback(struct MapObject *mapObject, struct Sprite *sprite);
-void FieldObjectCB_BerryTree(struct Sprite *sprite)
+void MovementType_BerryTreeGrowth(struct Sprite *sprite)
{
struct MapObject *mapObject;
mapObject = &gMapObjects[sprite->data[0]];
@@ -3735,15 +3891,15 @@ void FieldObjectCB_BerryTree(struct Sprite *sprite)
get_berry_tree_graphics(mapObject, sprite);
sprite->data[7] |= 1;
}
- meta_step(mapObject, sprite, sub_805D314);
+ meta_step(mapObject, sprite, MovementType_BerryTreeGrowth_Callback);
}
-u8 sub_805D314(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_BerryTreeGrowth_Callback(struct MapObject *mapObject, struct Sprite *sprite)
{
- return gUnknown_083752D0[sprite->data[1]](mapObject, sprite);
+ return gMovementTypeFuncs_BerryTreeGrowth[sprite->data[1]](mapObject, sprite);
}
-u8 do_berry_tree_growth_sparkle_1(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_BerryTreeGrowth_Step0(struct MapObject *mapObject, struct Sprite *sprite)
{
u8 berryTreeStage;
npc_reset(mapObject, sprite);
@@ -3777,7 +3933,7 @@ u8 do_berry_tree_growth_sparkle_1(struct MapObject *mapObject, struct Sprite *sp
return 1;
}
-u8 sub_805D3EC(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_BerryTreeGrowth_Step1(struct MapObject *mapObject, struct Sprite *sprite)
{
if (FieldObjectExecSingleMovementAction(mapObject, sprite))
{
@@ -3787,7 +3943,7 @@ u8 sub_805D3EC(struct MapObject *mapObject, struct Sprite *sprite)
return 0;
}
-u8 do_berry_tree_growth_sparkle_2(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_BerryTreeGrowth_Step2(struct MapObject *mapObject, struct Sprite *sprite)
{
mapObject->singleMovementActive = 1;
sprite->data[1] = 3;
@@ -3801,7 +3957,7 @@ u8 do_berry_tree_growth_sparkle_2(struct MapObject *mapObject, struct Sprite *sp
return 1;
}
-u8 sub_805D458(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_BerryTreeGrowth_Step3(struct MapObject *mapObject, struct Sprite *sprite)
{
sprite->data[2]++;
mapObject->invisible = ((sprite->data[2] & 0x2) >> 1);
@@ -3816,7 +3972,7 @@ u8 sub_805D458(struct MapObject *mapObject, struct Sprite *sprite)
return 0;
}
-u8 sub_805D4A8(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_BerryTreeGrowth_Step4(struct MapObject *mapObject, struct Sprite *sprite)
{
sprite->data[2]++;
mapObject->invisible = ((sprite->data[2] & 0x2) >> 1);
@@ -3830,36 +3986,36 @@ u8 sub_805D4A8(struct MapObject *mapObject, struct Sprite *sprite)
return 0;
}
-fieldmap_object_cb(sub_805D4F4, sub_805D518, gUnknown_083752E4);
+fieldmap_object_cb(MovementType_FaceDownAndUp, MovementType_FaceDownAndUp_Callback, gMovementTypeFuncs_FaceDownAndUp);
-u8 sub_805D538(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_FaceDownAndUp_Step0(struct MapObject *mapObject, struct Sprite *sprite)
{
npc_reset(mapObject, sprite);
sprite->data[1] = 1;
return 1;
}
-u8 sub_805D54C(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_FaceDownAndUp_Step1(struct MapObject *mapObject, struct Sprite *sprite)
{
- FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection));
+ FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementActionId(mapObject->facingDirection));
sprite->data[1] = 2;
return 1;
}
-u8 sub_805D578(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_FaceDownAndUp_Step2(struct MapObject *mapObject, struct Sprite *sprite)
{
if (FieldObjectExecSingleMovementAction(mapObject, sprite))
{
- sub_8064820(sprite, gUnknown_0837520C[Random() & 3]);
+ SetMovementDelay(sprite, gMovementDelaysMedium[Random() & 3]);
mapObject->singleMovementActive = 0;
sprite->data[1] = 3;
}
return 0;
}
-u8 sub_805D5BC(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_FaceDownAndUp_Step3(struct MapObject *mapObject, struct Sprite *sprite)
{
- if (sub_8064824(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject))
+ if (WaitForMovementDelay(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject))
{
sprite->data[1] = 4;
return 1;
@@ -3867,11 +4023,11 @@ u8 sub_805D5BC(struct MapObject *mapObject, struct Sprite *sprite)
return 0;
}
-u8 sub_805D5EC(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_FaceDownAndUp_Step4(struct MapObject *mapObject, struct Sprite *sprite)
{
u8 direction;
u8 directions[2];
- memcpy(directions, gUnknown_083752A0, 2);
+ memcpy(directions, gUpAndDownDirections, 2);
direction = sub_805CD60(mapObject, 1);
if (direction == 0)
{
@@ -3882,36 +4038,36 @@ u8 sub_805D5EC(struct MapObject *mapObject, struct Sprite *sprite)
return 1;
}
-fieldmap_object_cb(sub_805D634, sub_805D658, gUnknown_083752F8);
+fieldmap_object_cb(MovementType_FaceLeftAndRight, MovementType_FaceLeftAndRight_Callback, gMovementTypeFuncs_FaceLeftAndRight);
-u8 sub_805D678(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_FaceLeftAndRight_Step0(struct MapObject *mapObject, struct Sprite *sprite)
{
npc_reset(mapObject, sprite);
sprite->data[1] = 1;
return 1;
}
-u8 sub_805D68C(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_FaceLeftAndRight_Step1(struct MapObject *mapObject, struct Sprite *sprite)
{
- FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection));
+ FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementActionId(mapObject->facingDirection));
sprite->data[1] = 2;
return 1;
}
-u8 sub_805D6B8(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_FaceLeftAndRight_Step2(struct MapObject *mapObject, struct Sprite *sprite)
{
if (FieldObjectExecSingleMovementAction(mapObject, sprite))
{
- sub_8064820(sprite, gUnknown_0837520C[Random() & 3]);
+ SetMovementDelay(sprite, gMovementDelaysMedium[Random() & 3]);
mapObject->singleMovementActive = 0;
sprite->data[1] = 3;
}
return 0;
}
-u8 sub_805D6FC(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_FaceLeftAndRight_Step3(struct MapObject *mapObject, struct Sprite *sprite)
{
- if (sub_8064824(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject))
+ if (WaitForMovementDelay(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject))
{
sprite->data[1] = 4;
return 1;
@@ -3919,11 +4075,11 @@ u8 sub_805D6FC(struct MapObject *mapObject, struct Sprite *sprite)
return 0;
}
-u8 sub_805D72C(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_FaceLeftAndRight_Step4(struct MapObject *mapObject, struct Sprite *sprite)
{
u8 direction;
u8 directions[2];
- memcpy(directions, gUnknown_083752C0, 2);
+ memcpy(directions, gLeftAndRightDirections, 2);
direction = sub_805CD60(mapObject, 2);
if (direction == 0)
{
@@ -3934,36 +4090,36 @@ u8 sub_805D72C(struct MapObject *mapObject, struct Sprite *sprite)
return 1;
}
-fieldmap_object_cb(sub_805D774, sub_805D798, gUnknown_0837530C);
+fieldmap_object_cb(MovementType_FaceUpAndLeft, MovementType_FaceUpAndLeft_Callback, gMovementTypeFuncs_FaceUpAndLeft);
-u8 sub_805D7B8(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_FaceUpAndLeft_Step0(struct MapObject *mapObject, struct Sprite *sprite)
{
npc_reset(mapObject, sprite);
sprite->data[1] = 1;
return 1;
}
-u8 sub_805D7CC(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_FaceUpAndLeft_Step1(struct MapObject *mapObject, struct Sprite *sprite)
{
- FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection));
+ FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementActionId(mapObject->facingDirection));
sprite->data[1] = 2;
return 1;
}
-u8 sub_805D7F8(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_FaceUpAndLeft_Step2(struct MapObject *mapObject, struct Sprite *sprite)
{
if (FieldObjectExecSingleMovementAction(mapObject, sprite))
{
- sub_8064820(sprite, gUnknown_0837521C[Random() & 3]);
+ SetMovementDelay(sprite, gMovementDelaysShort[Random() & 3]);
mapObject->singleMovementActive = 0;
sprite->data[1] = 3;
}
return 0;
}
-u8 sub_805D83C(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_FaceUpAndLeft_Step3(struct MapObject *mapObject, struct Sprite *sprite)
{
- if (sub_8064824(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject))
+ if (WaitForMovementDelay(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject))
{
sprite->data[1] = 4;
return 1;
@@ -3971,11 +4127,11 @@ u8 sub_805D83C(struct MapObject *mapObject, struct Sprite *sprite)
return 0;
}
-u8 sub_805D86C(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_FaceUpAndLeft_Step4(struct MapObject *mapObject, struct Sprite *sprite)
{
u8 direction;
u8 directions[2];
- memcpy(directions, gUnknown_08375320, 2);
+ memcpy(directions, gUpAndLeftDirections, 2);
direction = sub_805CD60(mapObject, 3);
if (direction == 0)
{
@@ -3986,36 +4142,36 @@ u8 sub_805D86C(struct MapObject *mapObject, struct Sprite *sprite)
return 1;
}
-fieldmap_object_cb(sub_805D8B4, sub_805D8D8, gUnknown_08375324);
+fieldmap_object_cb(MovementType_FaceUpAndRight, MovementType_FaceUpAndRight_Callback, gMovementTypeFuncs_FaceUpAndRight);
-u8 sub_805D8F8(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_FaceUpAndRight_Step0(struct MapObject *mapObject, struct Sprite *sprite)
{
npc_reset(mapObject, sprite);
sprite->data[1] = 1;
return 1;
}
-u8 sub_805D90C(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_FaceUpAndRight_Step1(struct MapObject *mapObject, struct Sprite *sprite)
{
- FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection));
+ FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementActionId(mapObject->facingDirection));
sprite->data[1] = 2;
return 1;
}
-u8 sub_805D938(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_FaceUpAndRight_Step2(struct MapObject *mapObject, struct Sprite *sprite)
{
if (FieldObjectExecSingleMovementAction(mapObject, sprite))
{
- sub_8064820(sprite, gUnknown_0837521C[Random() & 3]);
+ SetMovementDelay(sprite, gMovementDelaysShort[Random() & 3]);
mapObject->singleMovementActive = 0;
sprite->data[1] = 3;
}
return 0;
}
-u8 sub_805D97C(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_FaceUpAndRight_Step3(struct MapObject *mapObject, struct Sprite *sprite)
{
- if (sub_8064824(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject))
+ if (WaitForMovementDelay(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject))
{
sprite->data[1] = 4;
return 1;
@@ -4023,11 +4179,11 @@ u8 sub_805D97C(struct MapObject *mapObject, struct Sprite *sprite)
return 0;
}
-u8 sub_805D9AC(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_FaceUpAndRight_Step4(struct MapObject *mapObject, struct Sprite *sprite)
{
u8 direction;
u8 directions[2];
- memcpy(directions, gUnknown_08375338, 2);
+ memcpy(directions, gUpAndRightDirections, 2);
direction = sub_805CD60(mapObject, 4);
if (direction == 0)
{
@@ -4038,36 +4194,36 @@ u8 sub_805D9AC(struct MapObject *mapObject, struct Sprite *sprite)
return 1;
}
-fieldmap_object_cb(sub_805D9F4, sub_805DA18, gUnknown_0837533C);
+fieldmap_object_cb(MovementType_FaceDownAndLeft, MovementType_FaceDownAndLeft_Callback, gMovementTypeFuncs_FaceDownAndLeft);
-u8 sub_805DA38(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_FaceDownAndLeft_Step0(struct MapObject *mapObject, struct Sprite *sprite)
{
npc_reset(mapObject, sprite);
sprite->data[1] = 1;
return 1;
}
-u8 sub_805DA4C(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_FaceDownAndLeft_Step1(struct MapObject *mapObject, struct Sprite *sprite)
{
- FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection));
+ FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementActionId(mapObject->facingDirection));
sprite->data[1] = 2;
return 1;
}
-u8 sub_805DA78(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_FaceDownAndLeft_Step2(struct MapObject *mapObject, struct Sprite *sprite)
{
if (FieldObjectExecSingleMovementAction(mapObject, sprite))
{
- sub_8064820(sprite, gUnknown_0837521C[Random() & 3]);
+ SetMovementDelay(sprite, gMovementDelaysShort[Random() & 3]);
mapObject->singleMovementActive = 0;
sprite->data[1] = 3;
}
return 0;
}
-u8 sub_805DABC(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_FaceDownAndLeft_Step3(struct MapObject *mapObject, struct Sprite *sprite)
{
- if (sub_8064824(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject))
+ if (WaitForMovementDelay(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject))
{
sprite->data[1] = 4;
return 1;
@@ -4075,11 +4231,11 @@ u8 sub_805DABC(struct MapObject *mapObject, struct Sprite *sprite)
return 0;
}
-u8 sub_805DAEC(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_FaceDownAndLeft_Step4(struct MapObject *mapObject, struct Sprite *sprite)
{
u8 direction;
u8 directions[2];
- memcpy(directions, gUnknown_08375350, 2);
+ memcpy(directions, gDownAndLeftDirections, 2);
direction = sub_805CD60(mapObject, 5);
if (direction == 0)
{
@@ -4090,36 +4246,36 @@ u8 sub_805DAEC(struct MapObject *mapObject, struct Sprite *sprite)
return 1;
}
-fieldmap_object_cb(sub_805DB34, sub_805DB58, gUnknown_08375354);
+fieldmap_object_cb(MovementType_FaceDownAndRight, MovementType_FaceDownAndRight_Callback, gMovementTypeFuncs_FaceDownAndRight);
-u8 sub_805DB78(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_FaceDownAndRight_Step0(struct MapObject *mapObject, struct Sprite *sprite)
{
npc_reset(mapObject, sprite);
sprite->data[1] = 1;
return 1;
}
-u8 sub_805DB8C(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_FaceDownAndRight_Step1(struct MapObject *mapObject, struct Sprite *sprite)
{
- FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection));
+ FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementActionId(mapObject->facingDirection));
sprite->data[1] = 2;
return 1;
}
-u8 sub_805DBB8(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_FaceDownAndRight_Step2(struct MapObject *mapObject, struct Sprite *sprite)
{
if (FieldObjectExecSingleMovementAction(mapObject, sprite))
{
- sub_8064820(sprite, gUnknown_0837521C[Random() & 3]);
+ SetMovementDelay(sprite, gMovementDelaysShort[Random() & 3]);
mapObject->singleMovementActive = 0;
sprite->data[1] = 3;
}
return 0;
}
-u8 sub_805DBFC(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_FaceDownAndRight_Step3(struct MapObject *mapObject, struct Sprite *sprite)
{
- if (sub_8064824(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject))
+ if (WaitForMovementDelay(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject))
{
sprite->data[1] = 4;
return 1;
@@ -4127,11 +4283,11 @@ u8 sub_805DBFC(struct MapObject *mapObject, struct Sprite *sprite)
return 0;
}
-u8 sub_805DC2C(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_FaceDownAndRight_Step4(struct MapObject *mapObject, struct Sprite *sprite)
{
u8 direction;
u8 directions[2];
- memcpy(directions, gUnknown_08375368, 2);
+ memcpy(directions, gDownAndRightDirections, 2);
direction = sub_805CD60(mapObject, 6);
if (direction == 0)
{
@@ -4142,36 +4298,36 @@ u8 sub_805DC2C(struct MapObject *mapObject, struct Sprite *sprite)
return 1;
}
-fieldmap_object_cb(sub_805DC74, sub_805DC98, gUnknown_0837536C);
+fieldmap_object_cb(MovementType_FaceDownUpAndLeft, MovementType_FaceDownUpAndLeft_Callback, gMovementTypeFuncs_FaceDownUpAndLeft);
-u8 sub_805DCB8(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_FaceDownUpAndLeft_Step0(struct MapObject *mapObject, struct Sprite *sprite)
{
npc_reset(mapObject, sprite);
sprite->data[1] = 1;
return 1;
}
-u8 sub_805DCCC(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_FaceDownUpAndLeft_Step1(struct MapObject *mapObject, struct Sprite *sprite)
{
- FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection));
+ FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementActionId(mapObject->facingDirection));
sprite->data[1] = 2;
return 1;
}
-u8 sub_805DCF8(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_FaceDownUpAndLeft_Step2(struct MapObject *mapObject, struct Sprite *sprite)
{
if (FieldObjectExecSingleMovementAction(mapObject, sprite))
{
- sub_8064820(sprite, gUnknown_0837521C[Random() & 3]);
+ SetMovementDelay(sprite, gMovementDelaysShort[Random() & 3]);
mapObject->singleMovementActive = 0;
sprite->data[1] = 3;
}
return 0;
}
-u8 sub_805DD3C(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_FaceDownUpAndLeft_Step3(struct MapObject *mapObject, struct Sprite *sprite)
{
- if (sub_8064824(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject))
+ if (WaitForMovementDelay(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject))
{
sprite->data[1] = 4;
return 1;
@@ -4179,11 +4335,11 @@ u8 sub_805DD3C(struct MapObject *mapObject, struct Sprite *sprite)
return 0;
}
-u8 sub_805DD6C(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_FaceDownUpAndLeft_Step4(struct MapObject *mapObject, struct Sprite *sprite)
{
u8 direction;
u8 directions[4];
- memcpy(directions, gUnknown_08375380, 4);
+ memcpy(directions, gDownUpAndLeftDirections, 4);
direction = sub_805CD60(mapObject, 7);
if (direction == 0)
{
@@ -4194,36 +4350,36 @@ u8 sub_805DD6C(struct MapObject *mapObject, struct Sprite *sprite)
return 1;
}
-fieldmap_object_cb(sub_805DDB4, sub_805DDD8, gUnknown_08375384);
+fieldmap_object_cb(MovementType_FaceDownUpAndRight, MovementType_FaceDownUpAndRight_Callback, gMovementTypeFuncs_FaceDownUpAndRight);
-u8 sub_805DDF8(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_FaceDownUpAndRight_Step0(struct MapObject *mapObject, struct Sprite *sprite)
{
npc_reset(mapObject, sprite);
sprite->data[1] = 1;
return 1;
}
-u8 sub_805DE0C(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_FaceDownUpAndRight_Step1(struct MapObject *mapObject, struct Sprite *sprite)
{
- FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection));
+ FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementActionId(mapObject->facingDirection));
sprite->data[1] = 2;
return 1;
}
-u8 sub_805DE38(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_FaceDownUpAndRight_Step2(struct MapObject *mapObject, struct Sprite *sprite)
{
if (FieldObjectExecSingleMovementAction(mapObject, sprite))
{
- sub_8064820(sprite, gUnknown_0837521C[Random() & 3]);
+ SetMovementDelay(sprite, gMovementDelaysShort[Random() & 3]);
mapObject->singleMovementActive = 0;
sprite->data[1] = 3;
}
return 0;
}
-u8 sub_805DE7C(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_FaceDownUpAndRight_Step3(struct MapObject *mapObject, struct Sprite *sprite)
{
- if (sub_8064824(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject))
+ if (WaitForMovementDelay(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject))
{
sprite->data[1] = 4;
return 1;
@@ -4231,11 +4387,11 @@ u8 sub_805DE7C(struct MapObject *mapObject, struct Sprite *sprite)
return 0;
}
-u8 sub_805DEAC(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_FaceDownUpAndRight_Step4(struct MapObject *mapObject, struct Sprite *sprite)
{
u8 direction;
u8 directions[4];
- memcpy(directions, gUnknown_08375398, 4);
+ memcpy(directions, gDownUpAndRightDirections, 4);
direction = sub_805CD60(mapObject, 8);
if (direction == 0)
{
@@ -4246,36 +4402,36 @@ u8 sub_805DEAC(struct MapObject *mapObject, struct Sprite *sprite)
return 1;
}
-fieldmap_object_cb(sub_805DEF4, sub_805DF18, gUnknown_0837539C);
+fieldmap_object_cb(MovementType_FaceUpLeftAndRight, MovementType_FaceUpLeftAndRight_Callback, gMovementTypeFuncs_FaceUpLeftAndRight);
-u8 sub_805DF38(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_FaceUpLeftAndRight_Step0(struct MapObject *mapObject, struct Sprite *sprite)
{
npc_reset(mapObject, sprite);
sprite->data[1] = 1;
return 1;
}
-u8 sub_805DF4C(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_FaceUpLeftAndRight_Step1(struct MapObject *mapObject, struct Sprite *sprite)
{
- FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection));
+ FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementActionId(mapObject->facingDirection));
sprite->data[1] = 2;
return 1;
}
-u8 sub_805DF78(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_FaceUpLeftAndRight_Step2(struct MapObject *mapObject, struct Sprite *sprite)
{
if (FieldObjectExecSingleMovementAction(mapObject, sprite))
{
- sub_8064820(sprite, gUnknown_0837521C[Random() & 3]);
+ SetMovementDelay(sprite, gMovementDelaysShort[Random() & 3]);
mapObject->singleMovementActive = 0;
sprite->data[1] = 3;
}
return 0;
}
-u8 sub_805DFBC(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_FaceUpLeftAndRight_Step3(struct MapObject *mapObject, struct Sprite *sprite)
{
- if (sub_8064824(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject))
+ if (WaitForMovementDelay(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject))
{
sprite->data[1] = 4;
return 1;
@@ -4283,11 +4439,11 @@ u8 sub_805DFBC(struct MapObject *mapObject, struct Sprite *sprite)
return 0;
}
-u8 sub_805DFEC(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_FaceUpLeftAndRight_Step4(struct MapObject *mapObject, struct Sprite *sprite)
{
u8 direction;
u8 directions[4];
- memcpy(directions, gUnknown_083753B0, 4);
+ memcpy(directions, gUpLeftAndRightDirections, 4);
direction = sub_805CD60(mapObject, 9);
if (direction == 0)
{
@@ -4298,36 +4454,36 @@ u8 sub_805DFEC(struct MapObject *mapObject, struct Sprite *sprite)
return 1;
}
-fieldmap_object_cb(sub_805E034, sub_805E058, gUnknown_083753B4);
+fieldmap_object_cb(MovementType_FaceDownLeftAndRight, MovementType_FaceDownLeftAndRight_Callback, gMovementTypeFuncs_FaceDownLeftAndRight);
-u8 sub_805E078(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_FaceDownLeftAndRight_Step0(struct MapObject *mapObject, struct Sprite *sprite)
{
npc_reset(mapObject, sprite);
sprite->data[1] = 1;
return 1;
}
-u8 sub_805E08C(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_FaceDownLeftAndRight_Step1(struct MapObject *mapObject, struct Sprite *sprite)
{
- FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection));
+ FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementActionId(mapObject->facingDirection));
sprite->data[1] = 2;
return 1;
}
-u8 sub_805E0B8(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_FaceDownLeftAndRight_Step2(struct MapObject *mapObject, struct Sprite *sprite)
{
if (FieldObjectExecSingleMovementAction(mapObject, sprite))
{
- sub_8064820(sprite, gUnknown_0837521C[Random() & 3]);
+ SetMovementDelay(sprite, gMovementDelaysShort[Random() & 3]);
mapObject->singleMovementActive = 0;
sprite->data[1] = 3;
}
return 0;
}
-u8 sub_805E0FC(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_FaceDownLeftAndRight_Step3(struct MapObject *mapObject, struct Sprite *sprite)
{
- if (sub_8064824(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject))
+ if (WaitForMovementDelay(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject))
{
sprite->data[1] = 4;
return 1;
@@ -4335,11 +4491,11 @@ u8 sub_805E0FC(struct MapObject *mapObject, struct Sprite *sprite)
return 0;
}
-u8 sub_805E12C(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_FaceDownLeftAndRight_Step4(struct MapObject *mapObject, struct Sprite *sprite)
{
u8 direction;
u8 directions[4];
- memcpy(directions, gUnknown_083753C8, 4);
+ memcpy(directions, gDownLeftAndRightDirections, 4);
direction = sub_805CD60(mapObject, 10);
if (direction == 0)
{
@@ -4350,40 +4506,40 @@ u8 sub_805E12C(struct MapObject *mapObject, struct Sprite *sprite)
return 1;
}
-fieldmap_object_cb(sub_805E174, sub_805E198, gUnknown_083753CC);
+fieldmap_object_cb(MovementType_RotateCounterclockwise, MovementType_RotateCounterclockwise_Callback, gMovementTypeFuncs_RotateCounterclockwise);
-u8 sub_805E1B8(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_RotateCounterclockwise_Step0(struct MapObject *mapObject, struct Sprite *sprite)
{
npc_reset(mapObject, sprite);
- FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection));
+ FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementActionId(mapObject->facingDirection));
sprite->data[1] = 1;
return 1;
}
-u8 sub_805E1E4(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_RotateCounterclockwise_Step1(struct MapObject *mapObject, struct Sprite *sprite)
{
if (FieldObjectExecSingleMovementAction(mapObject, sprite))
{
- sub_8064820(sprite, 0x30);
+ SetMovementDelay(sprite, 48);
sprite->data[1] = 2;
}
return 0;
}
-u8 sub_805E208(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_RotateCounterclockwise_Step2(struct MapObject *mapObject, struct Sprite *sprite)
{
- if (sub_8064824(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject))
+ if (WaitForMovementDelay(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject))
{
sprite->data[1] = 3;
}
return 0;
}
-u8 sub_805E234(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_RotateCounterclockwise_Step3(struct MapObject *mapObject, struct Sprite *sprite)
{
u8 direction;
u8 directions[5];
- memcpy(directions, gUnknown_083753DC, 5);
+ memcpy(directions, gCounterclockwiseDirections, 5);
direction = sub_805CD60(mapObject, 0);
if (direction == 0)
{
@@ -4394,40 +4550,40 @@ u8 sub_805E234(struct MapObject *mapObject, struct Sprite *sprite)
return 1;
}
-fieldmap_object_cb(sub_805E278, sub_803E29C, gUnknown_083753E4);
+fieldmap_object_cb(MovementType_RotateClockwise, MovementType_RotateClockwise_Callback, gMovementTypeFuncs_RotateClockwise);
-u8 sub_805E2BC(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_RotateClockwise_Step0(struct MapObject *mapObject, struct Sprite *sprite)
{
npc_reset(mapObject, sprite);
- FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection));
+ FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementActionId(mapObject->facingDirection));
sprite->data[1] = 1;
return 1;
}
-u8 sub_805E2E8(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_RotateClockwise_Step1(struct MapObject *mapObject, struct Sprite *sprite)
{
if (FieldObjectExecSingleMovementAction(mapObject, sprite))
{
- sub_8064820(sprite, 0x30);
+ SetMovementDelay(sprite, 0x30);
sprite->data[1] = 2;
}
return 0;
}
-u8 sub_805E30C(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_RotateClockwise_Step2(struct MapObject *mapObject, struct Sprite *sprite)
{
- if (sub_8064824(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject))
+ if (WaitForMovementDelay(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject))
{
sprite->data[1] = 3;
}
return 0;
}
-u8 sub_805E338(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_RotateClockwise_Step3(struct MapObject *mapObject, struct Sprite *sprite)
{
u8 direction;
u8 directions[5];
- memcpy(directions, gUnknown_083753F4, 5);
+ memcpy(directions, gClockwiseDirections, 5);
direction = sub_805CD60(mapObject, 0);
if (direction == 0)
{
@@ -4438,19 +4594,19 @@ u8 sub_805E338(struct MapObject *mapObject, struct Sprite *sprite)
return 1;
}
-fieldmap_object_cb(sub_805E37C, sub_805E3A0, gUnknown_083753FC);
+fieldmap_object_cb(MovementType_WalkBackAndForth, MovementType_WalkBackAndForth_Callback, gMovementTypeFuncs_WalkBackAndForth);
-u8 sub_805E3C0(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_WalkBackAndForth_Step0(struct MapObject *mapObject, struct Sprite *sprite)
{
npc_reset(mapObject, sprite);
sprite->data[1] = 1;
return 1;
}
-u8 sub_805E3D4(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_WalkBackAndForth_Step1(struct MapObject *mapObject, struct Sprite *sprite)
{
u8 direction;
- direction = gUnknown_0836DC09[mapObject->movementType];
+ direction = gInitialMovementTypeFacingDirections[mapObject->movementType];
if (mapObject->directionSequenceIndex != 0)
{
direction = GetOppositeDirection(direction);
@@ -4460,35 +4616,35 @@ u8 sub_805E3D4(struct MapObject *mapObject, struct Sprite *sprite)
return 1;
}
-u8 sub_805E40C(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_WalkBackAndForth_Step2(struct MapObject *mapObject, struct Sprite *sprite)
{
- u8 v0;
- u8 goSpeed0AnimId;
+ u8 collisionState;
+ u8 movementActionId;
if (mapObject->directionSequenceIndex && mapObject->initialCoords.x == mapObject->currentCoords.x && mapObject->initialCoords.y == mapObject->currentCoords.y)
{
mapObject->directionSequenceIndex = 0;
FieldObjectSetDirection(mapObject, GetOppositeDirection(mapObject->movementDirection));
}
- v0 = sub_805FF20(mapObject, mapObject->movementDirection);
- goSpeed0AnimId = GetGoSpeed0AnimId(mapObject->movementDirection);
- if (v0 == 1)
+ collisionState = GetCollisionInDirection(mapObject, mapObject->movementDirection);
+ movementActionId = GetGoSpeed0MovementActionId(mapObject->movementDirection);
+ if (collisionState == 1)
{
- mapObject->directionSequenceIndex ++;
+ mapObject->directionSequenceIndex++;
FieldObjectSetDirection(mapObject, GetOppositeDirection(mapObject->movementDirection));
- goSpeed0AnimId = GetGoSpeed0AnimId(mapObject->movementDirection);
- v0 = sub_805FF20(mapObject, mapObject->movementDirection);
+ movementActionId = GetGoSpeed0MovementActionId(mapObject->movementDirection);
+ collisionState = GetCollisionInDirection(mapObject, mapObject->movementDirection);
}
- if (v0 != 0)
+ if (collisionState != 0)
{
- goSpeed0AnimId = GetStepInPlaceDelay16AnimId(mapObject->facingDirection);
+ movementActionId = GetStepInPlaceDelay16MovementActionId(mapObject->facingDirection);
}
- FieldObjectSetSingleMovement(mapObject, sprite, goSpeed0AnimId);
+ FieldObjectSetSingleMovement(mapObject, sprite, movementActionId);
mapObject->singleMovementActive = 1;
sprite->data[1] = 3;
return 1;
}
-u8 sub_805E4C4(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_WalkBackAndForth_Step3(struct MapObject *mapObject, struct Sprite *sprite)
{
if (FieldObjectExecSingleMovementAction(mapObject, sprite))
{
@@ -4498,42 +4654,42 @@ u8 sub_805E4C4(struct MapObject *mapObject, struct Sprite *sprite)
return 0;
}
-u8 sub_805E4EC(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_WalkSequence_Step0(struct MapObject *mapObject, struct Sprite *sprite)
{
npc_reset(mapObject, sprite);
sprite->data[1] = 1;
return 1;
}
-u8 MoveFieldObjectInNextDirectionInSequence(struct MapObject *mapObject, struct Sprite *sprite, u8 *directionSequence)
+u8 MoveNextDirectionInSequence(struct MapObject *mapObject, struct Sprite *sprite, u8 *directionSequence)
{
- u8 v0;
- u8 goSpeed0AnimId;
+ u8 collisionState;
+ u8 movementActionId;
if (mapObject->directionSequenceIndex == 3 && mapObject->initialCoords.x == mapObject->currentCoords.x && mapObject->initialCoords.y == mapObject->currentCoords.y)
{
mapObject->directionSequenceIndex = 0;
}
FieldObjectSetDirection(mapObject, directionSequence[mapObject->directionSequenceIndex]);
- goSpeed0AnimId = GetGoSpeed0AnimId(mapObject->movementDirection);
- v0 = sub_805FF20(mapObject, mapObject->movementDirection);
- if (v0 == 1)
+ movementActionId = GetGoSpeed0MovementActionId(mapObject->movementDirection);
+ collisionState = GetCollisionInDirection(mapObject, mapObject->movementDirection);
+ if (collisionState == 1)
{
mapObject->directionSequenceIndex++;
FieldObjectSetDirection(mapObject, directionSequence[mapObject->directionSequenceIndex]);
- goSpeed0AnimId = GetGoSpeed0AnimId(mapObject->movementDirection);
- v0 = sub_805FF20(mapObject, mapObject->movementDirection);
+ movementActionId = GetGoSpeed0MovementActionId(mapObject->movementDirection);
+ collisionState = GetCollisionInDirection(mapObject, mapObject->movementDirection);
}
- if (v0 != 0)
+ if (collisionState != 0)
{
- goSpeed0AnimId = GetStepInPlaceDelay16AnimId(mapObject->facingDirection);
+ movementActionId = GetStepInPlaceDelay16MovementActionId(mapObject->facingDirection);
}
- FieldObjectSetSingleMovement(mapObject, sprite, goSpeed0AnimId);
+ FieldObjectSetSingleMovement(mapObject, sprite, movementActionId);
mapObject->singleMovementActive = 1;
sprite->data[1] = 2;
return 1;
}
-u8 sub_805E5B4(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_WalkSequence_Step2(struct MapObject *mapObject, struct Sprite *sprite)
{
if (FieldObjectExecSingleMovementAction(mapObject, sprite))
{
@@ -4543,343 +4699,341 @@ u8 sub_805E5B4(struct MapObject *mapObject, struct Sprite *sprite)
return 0;
}
-fieldmap_object_cb(sub_805E5DC, sub_805E600, gUnknown_0837540C);
+fieldmap_object_cb(MovementType_WalkSequenceUpRightLeftDown, MovementType_WalkSequenceUpRightLeftDown_Callback, gMovementTypeFuncs_WalkSequenceUpRightLeftDown);
-u8 sub_805E620(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_WalkSequenceUpRightLeftDown_Step1(struct MapObject *mapObject, struct Sprite *sprite)
{
u8 directions[4];
- memcpy(directions, gUnknown_08375418, 4);
+ memcpy(directions, gUpRightLeftDownDirections, 4);
if (mapObject->directionSequenceIndex == 2 && mapObject->initialCoords.x == mapObject->currentCoords.x)
{
mapObject->directionSequenceIndex = 3;
}
- return MoveFieldObjectInNextDirectionInSequence(mapObject, sprite, directions);
+ return MoveNextDirectionInSequence(mapObject, sprite, directions);
}
-fieldmap_object_cb(sub_805E668, sub_805E68C, gUnknown_0837541C);
+fieldmap_object_cb(MovementType_WalkSequenceRightLeftDownUp, MovementType_WalkSequenceRightLeftDownUp_Callback, gMovementTypeFuncs_WalkSequenceRightLeftDownUp);
-u8 sub_805E6AC(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_WalkSequenceRightLeftDownUp_Step1(struct MapObject *mapObject, struct Sprite *sprite)
{
u8 directions[4];
- memcpy(directions, gUnknown_08375428, 4);
+ memcpy(directions, gRightLeftDownUpDirections, 4);
if (mapObject->directionSequenceIndex == 1 && mapObject->initialCoords.x == mapObject->currentCoords.x)
{
mapObject->directionSequenceIndex = 2;
}
- return MoveFieldObjectInNextDirectionInSequence(mapObject, sprite, directions);
+ return MoveNextDirectionInSequence(mapObject, sprite, directions);
}
-fieldmap_object_cb(sub_805E6F4, sub_805E718, gUnknown_0837542C);
+fieldmap_object_cb(MovementType_WalkSequenceDownUpRightLeft, MovementType_WalkSequenceDownUpRightLeft_Callback, gMovementTypeFuncs_WalkSequenceDownUpRightLeft);
-u8 sub_805E738(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_WalkSequenceDownUpRightLeft_Step1(struct MapObject *mapObject, struct Sprite *sprite)
{
u8 directions[4];
- memcpy(directions, gUnknown_08375438, 4);
+ memcpy(directions, gDownUpRightLeftDirections, 4);
if (mapObject->directionSequenceIndex == 1 && mapObject->initialCoords.y == mapObject->currentCoords.y)
{
mapObject->directionSequenceIndex = 2;
}
- return MoveFieldObjectInNextDirectionInSequence(mapObject, sprite, directions);
+ return MoveNextDirectionInSequence(mapObject, sprite, directions);
}
-fieldmap_object_cb(sub_805E780, sub_805E7A4, gUnknown_0837543C);
+fieldmap_object_cb(MovementType_WalkSequenceLeftDownUpRight, MovementType_WalkSequenceLeftDownUpRight_Callback, gMovementTypeFuncs_WalkSequenceLeftDownUpRight);
-u8 sub_805E7C4(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_WalkSequenceLeftDownUpRight_Step1(struct MapObject *mapObject, struct Sprite *sprite)
{
u8 directions[4];
- memcpy(directions, gUnknown_08375448, 4);
+ memcpy(directions, gLeftDownUpRightDirections, 4);
if (mapObject->directionSequenceIndex == 2 && mapObject->initialCoords.y == mapObject->currentCoords.y)
{
mapObject->directionSequenceIndex = 3;
}
- return MoveFieldObjectInNextDirectionInSequence(mapObject, sprite, directions);
+ return MoveNextDirectionInSequence(mapObject, sprite, directions);
}
+fieldmap_object_cb(MovementType_WalkSequenceUpLeftRightDown, MovementType_WalkSequenceUpLeftRightDown_Callback, gMovementTypeFuncs_WalkSequenceUpLeftRightDown);
-
-fieldmap_object_cb(sub_805E80C, sub_805E830, gUnknown_0837544C);
-
-u8 sub_805E850(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_WalkSequenceUpLeftRightDown_Step1(struct MapObject *mapObject, struct Sprite *sprite)
{
u8 directions[4];
- memcpy(directions, gUnknown_08375458, 4);
+ memcpy(directions, gUpLeftRightDownDirections, 4);
if (mapObject->directionSequenceIndex == 2 && mapObject->initialCoords.x == mapObject->currentCoords.x)
{
mapObject->directionSequenceIndex = 3;
}
- return MoveFieldObjectInNextDirectionInSequence(mapObject, sprite, directions);
+ return MoveNextDirectionInSequence(mapObject, sprite, directions);
}
-fieldmap_object_cb(sub_805E898, sub_805E8BC, gUnknown_0837545C);
+fieldmap_object_cb(MovementType_WalkSequenceLeftRightDownUp, MovementType_WalkSequenceLeftRightDownUp_Callback, gMovementTypeFuncs_WalkSequenceLeftRightDownUp);
-u8 sub_805E8DC(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_WalkSequenceLeftRightDownUp_Step1(struct MapObject *mapObject, struct Sprite *sprite)
{
u8 directions[4];
- memcpy(directions, gUnknown_08375468, 4);
+ memcpy(directions, gLeftRightDownUpDirections, 4);
if (mapObject->directionSequenceIndex == 1 && mapObject->initialCoords.x == mapObject->currentCoords.x)
{
mapObject->directionSequenceIndex = 2;
}
- return MoveFieldObjectInNextDirectionInSequence(mapObject, sprite, directions);
+ return MoveNextDirectionInSequence(mapObject, sprite, directions);
}
-fieldmap_object_cb(sub_805E924, sub_805E948, gUnknown_0837546C);
+fieldmap_object_cb(MovementType_WalkSequenceDownUpLeftRight, MovementType_WalkSequenceDownUpLeftRight_Callback, gMovementTypeFuncs_WalkSequenceDownUpLeftRight);
-u8 sub_805E968(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_WalkSequenceDownUpLeftRight_Step1(struct MapObject *mapObject, struct Sprite *sprite)
{
u8 directions[4];
- memcpy(directions, gUnknown_08375240, 4);
+ memcpy(directions, gStandardDirections, 4);
if (mapObject->directionSequenceIndex == 1 && mapObject->initialCoords.y == mapObject->currentCoords.y)
{
mapObject->directionSequenceIndex = 2;
}
- return MoveFieldObjectInNextDirectionInSequence(mapObject, sprite, directions);
+ return MoveNextDirectionInSequence(mapObject, sprite, directions);
}
-fieldmap_object_cb(sub_805E9B0, sub_805E9D4, gUnknown_08375478);
+fieldmap_object_cb(MovementType_WalkSequenceRightDownUpLeft, MovementType_WalkSequenceRightDownUpLeft_Callback, gMovementTypeFuncs_WalkSequenceRightDownUpLeft);
-u8 sub_805E9F4(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_WalkSequenceRightDownUpLeft_Step1(struct MapObject *mapObject, struct Sprite *sprite)
{
u8 directions[4];
- memcpy(directions, gUnknown_08375484, 4);
+ memcpy(directions, gRightDownUpLeftDirections, 4);
if (mapObject->directionSequenceIndex == 2 && mapObject->initialCoords.y == mapObject->currentCoords.y)
{
mapObject->directionSequenceIndex = 3;
}
- return MoveFieldObjectInNextDirectionInSequence(mapObject, sprite, directions);
+ return MoveNextDirectionInSequence(mapObject, sprite, directions);
}
-fieldmap_object_cb(sub_805EA3C, sub_805EA60, gUnknown_08375488);
+fieldmap_object_cb(MovementType_WalkSequenceLeftUpDownRight, MovementType_WalkSequenceLeftUpDownRight_Callback, gMovementTypeFuncs_WalkSequenceLeftUpDownRight);
-u8 sub_805EA80(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_WalkSequenceLeftUpDownRight_Step1(struct MapObject *mapObject, struct Sprite *sprite)
{
u8 directions[4];
- memcpy(directions, gUnknown_08375494, 4);
+ memcpy(directions, gLeftUpDownRightDirections, 4);
if (mapObject->directionSequenceIndex == 2 && mapObject->initialCoords.y == mapObject->currentCoords.y)
{
mapObject->directionSequenceIndex = 3;
}
- return MoveFieldObjectInNextDirectionInSequence(mapObject, sprite, directions);
+ return MoveNextDirectionInSequence(mapObject, sprite, directions);
}
-fieldmap_object_cb(sub_805EAC8, sub_805EAEC, gUnknown_08375498);
+fieldmap_object_cb(MovementType_WalkSequenceUpDownRightLeft, MovementType_WalkSequenceUpDownRightLeft_Callback, gMovementTypeFuncs_WalkSequenceUpDownRightLeft);
-u8 sub_805EB0C(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_WalkSequenceUpDownRightLeft_Step1(struct MapObject *mapObject, struct Sprite *sprite)
{
u8 directions[4];
- memcpy(directions, gUnknown_083754A4, 4);
+ memcpy(directions, gUpDownRightLeftDirections, 4);
if (mapObject->directionSequenceIndex == 1 && mapObject->initialCoords.y == mapObject->currentCoords.y)
{
mapObject->directionSequenceIndex = 2;
}
- return MoveFieldObjectInNextDirectionInSequence(mapObject, sprite, directions);
+ return MoveNextDirectionInSequence(mapObject, sprite, directions);
}
-fieldmap_object_cb(sub_805EB54, sub_805EB78, gUnknown_083754A8);
+fieldmap_object_cb(MovementType_WalkSequenceRightLeftUpDown, MovementType_WalkSequenceRightLeftUpDown_Callback, gMovementTypeFuncs_WalkSequenceRightLeftUpDown);
-u8 sub_805EB98(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_WalkSequenceRightLeftUpDown_Step1(struct MapObject *mapObject, struct Sprite *sprite)
{
u8 directions[4];
- memcpy(directions, gUnknown_083754B4, 4);
+ memcpy(directions, gRightLeftUpDownDirections, 4);
if (mapObject->directionSequenceIndex == 1 && mapObject->initialCoords.x == mapObject->currentCoords.x)
{
mapObject->directionSequenceIndex = 2;
}
- return MoveFieldObjectInNextDirectionInSequence(mapObject, sprite, directions);
+ return MoveNextDirectionInSequence(mapObject, sprite, directions);
}
-fieldmap_object_cb(sub_805EBE0, sub_805EC04, gUnknown_083754B8);
+fieldmap_object_cb(MovementType_WalkSequenceDownRightLeftUp, MovementType_WalkSequenceDownRightLeftUp_Callback, gMovementTypeFuncs_WalkSequenceDownRightLeftUp);
-u8 sub_805EC24(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_WalkSequenceDownRightLeftUp_Step1(struct MapObject *mapObject, struct Sprite *sprite)
{
u8 directions[4];
- memcpy(directions, gUnknown_083754C4, 4);
+ memcpy(directions, gDownRightLeftUpDirections, 4);
if (mapObject->directionSequenceIndex == 2 && mapObject->initialCoords.x == mapObject->currentCoords.x)
{
mapObject->directionSequenceIndex = 3;
}
- return MoveFieldObjectInNextDirectionInSequence(mapObject, sprite, directions);
+ return MoveNextDirectionInSequence(mapObject, sprite, directions);
}
-fieldmap_object_cb(sub_805EC6C, sub_805EC90, gUnknown_083754C8);
+fieldmap_object_cb(MovementType_WalkSequenceRightUpDownLeft, MovementType_WalkSequenceRightUpDownLeft_Callback, gMovementTypeFuncs_WalkSequenceRightUpDownLeft);
-u8 sub_805ECB0(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_WalkSequenceRightUpDownLeft_Step1(struct MapObject *mapObject, struct Sprite *sprite)
{
u8 directions[4];
- memcpy(directions, gUnknown_083754D4, 4);
+ memcpy(directions, gRightUpDownLeftDirections, 4);
if (mapObject->directionSequenceIndex == 2 && mapObject->initialCoords.y == mapObject->currentCoords.y)
{
mapObject->directionSequenceIndex = 3;
}
- return MoveFieldObjectInNextDirectionInSequence(mapObject, sprite, directions);
+ return MoveNextDirectionInSequence(mapObject, sprite, directions);
}
-fieldmap_object_cb(sub_805ECF8, sub_805ED1C, gUnknown_083754D8);
+fieldmap_object_cb(MovementType_WalkSequenceUpDownLeftRight, MovementType_WalkSequenceUpDownLeftRight_Callback, gMovementTypeFuncs_WalkSequenceUpDownLeftRight);
-u8 sub_805ED3C(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_WalkSequenceUpDownLeftRight_Step1(struct MapObject *mapObject, struct Sprite *sprite)
{
u8 directions[4];
- memcpy(directions, gUnknown_083754E4, 4);
+ memcpy(directions, gUpDownLeftRightDirections, 4);
if (mapObject->directionSequenceIndex == 1 && mapObject->initialCoords.y == mapObject->currentCoords.y)
{
mapObject->directionSequenceIndex = 2;
}
- return MoveFieldObjectInNextDirectionInSequence(mapObject, sprite, directions);
+ return MoveNextDirectionInSequence(mapObject, sprite, directions);
}
-fieldmap_object_cb(sub_805ED84, sub_805EDA8, gUnknown_083754E8);
+fieldmap_object_cb(MovementType_WalkSequenceLeftRightUpDown, MovementType_WalkSequenceLeftRightUpDown_Callback, gMovementTypeFuncs_WalkSequenceLeftRightUpDown);
-u8 sub_805EDC8(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_WalkSequenceLeftRightUpDown_Step1(struct MapObject *mapObject, struct Sprite *sprite)
{
u8 directions[4];
- memcpy(directions, gUnknown_083754F4, 4);
+ memcpy(directions, gLeftRightUpDownDirections, 4);
if (mapObject->directionSequenceIndex == 1 && mapObject->initialCoords.x == mapObject->currentCoords.x)
{
mapObject->directionSequenceIndex = 2;
}
- return MoveFieldObjectInNextDirectionInSequence(mapObject, sprite, directions);
+ return MoveNextDirectionInSequence(mapObject, sprite, directions);
}
-fieldmap_object_cb(sub_805EE10, sub_805EE34, gUnknown_083754F8);
+fieldmap_object_cb(MovementType_WalkSequenceDownLeftRightUp, MovementType_WalkSequenceDownLeftRightUp_Callback, gMovementTypeFuncs_WalkSequenceDownLeftRightUp);
-u8 sub_805EE54(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_WalkSequenceDownLeftRightUp_Step1(struct MapObject *mapObject, struct Sprite *sprite)
{
u8 directions[4];
- memcpy(directions, gUnknown_08375504, 4);
+ memcpy(directions, gDownLeftRightUpDirections, 4);
if (mapObject->directionSequenceIndex == 2 && mapObject->initialCoords.x == mapObject->currentCoords.x)
{
mapObject->directionSequenceIndex = 3;
}
- return MoveFieldObjectInNextDirectionInSequence(mapObject, sprite, directions);
+ return MoveNextDirectionInSequence(mapObject, sprite, directions);
}
-fieldmap_object_cb(sub_805EE9C, sub_805EEC0, gUnknown_08375508);
+fieldmap_object_cb(MovementType_WalkSequenceUpLeftDownRight, MovementType_WalkSequenceUpLeftDownRight_Callback, gMovementTypeFuncs_WalkSequenceUpLeftDownRight);
-u8 sub_805EEE0(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_WalkSequenceUpLeftDownRight_Step1(struct MapObject *mapObject, struct Sprite *sprite)
{
u8 directions[4];
- memcpy(directions, gUnknown_08375514, 4);
+ memcpy(directions, gUpLeftDownRightDirections, 4);
if (mapObject->directionSequenceIndex == 2 && mapObject->initialCoords.y == mapObject->currentCoords.y)
{
mapObject->directionSequenceIndex = 3;
}
- return MoveFieldObjectInNextDirectionInSequence(mapObject, sprite, directions);
+ return MoveNextDirectionInSequence(mapObject, sprite, directions);
}
-fieldmap_object_cb(sub_805EF28, sub_805EF4C, gUnknown_08375518);
+fieldmap_object_cb(MovementType_WalkSequenceDownRightUpLeft, MovementType_WalkSequenceDownRightUpLeft_Callback, gMovementTypeFuncs_WalkSequenceDownRightUpLeft);
-u8 sub_805EF6C(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_WalkSequenceDownRightUpLeft_Step1(struct MapObject *mapObject, struct Sprite *sprite)
{
u8 directions[4];
- memcpy(directions, gUnknown_08375524, 4);
+ memcpy(directions, gDownRightUpLeftDirections, 4);
if (mapObject->directionSequenceIndex == 2 && mapObject->initialCoords.y == mapObject->currentCoords.y)
{
mapObject->directionSequenceIndex = 3;
}
- return MoveFieldObjectInNextDirectionInSequence(mapObject, sprite, directions);
+ return MoveNextDirectionInSequence(mapObject, sprite, directions);
}
-fieldmap_object_cb(sub_805EFB4, sub_805EFD8, gUnknown_08375528);
+fieldmap_object_cb(MovementType_WalkSequenceLeftDownRightUp, MovementType_WalkSequenceLeftDownRightUp_Callback, gMovementTypeFuncs_WalkSequenceLeftDownRightUp);
-u8 sub_805EFF8(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_WalkSequenceLeftDownRightUp_Step1(struct MapObject *mapObject, struct Sprite *sprite)
{
u8 directions[4];
- memcpy(directions, gUnknown_08375534, 4);
+ memcpy(directions, gLeftDownRightUpDirections, 4);
if (mapObject->directionSequenceIndex == 2 && mapObject->initialCoords.x == mapObject->currentCoords.x)
{
mapObject->directionSequenceIndex = 3;
}
- return MoveFieldObjectInNextDirectionInSequence(mapObject, sprite, directions);
+ return MoveNextDirectionInSequence(mapObject, sprite, directions);
}
-fieldmap_object_cb(sub_805F040, sub_805F064, gUnknown_08375538);
+fieldmap_object_cb(MovementType_WalkSequenceRightUpLeftDown, MovementType_WalkSequenceRightUpLeftDown_Callback, gMovementTypeFuncs_WalkSequenceRightUpLeftDown);
-u8 sub_805F084(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_WalkSequenceRightUpLeftDown_Step1(struct MapObject *mapObject, struct Sprite *sprite)
{
u8 directions[4];
- memcpy(directions, gUnknown_08375544, 4);
+ memcpy(directions, gRightUpLeftDownDirections, 4);
if (mapObject->directionSequenceIndex == 2 && mapObject->initialCoords.x == mapObject->currentCoords.x)
{
mapObject->directionSequenceIndex = 3;
}
- return MoveFieldObjectInNextDirectionInSequence(mapObject, sprite, directions);
+ return MoveNextDirectionInSequence(mapObject, sprite, directions);
}
-fieldmap_object_cb(sub_805F0CC, sub_805F0F0, gUnknown_08375548);
+fieldmap_object_cb(MovementType_WalkSequenceUpRightDownLeft, MovementType_WalkSequenceUpRightDownLeft_Callback, gMovementTypeFuncs_WalkSequenceUpRightDownLeft);
-u8 sub_805F110(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_WalkSequenceUpRightDownLeft_Step1(struct MapObject *mapObject, struct Sprite *sprite)
{
u8 directions[4];
- memcpy(directions, gUnknown_08375554, 4);
+ memcpy(directions, gUpRightDownLeftDirections, 4);
if (mapObject->directionSequenceIndex == 2 && mapObject->initialCoords.y == mapObject->currentCoords.y)
{
mapObject->directionSequenceIndex = 3;
}
- return MoveFieldObjectInNextDirectionInSequence(mapObject, sprite, directions);
+ return MoveNextDirectionInSequence(mapObject, sprite, directions);
}
-fieldmap_object_cb(sub_805F158, sub_805F17C, gUnknown_08375558);
+fieldmap_object_cb(MovementType_WalkSequenceDownLeftUpRight, MovementType_WalkSequenceDownLeftUpRight_Callback, gMovementTypeFuncs_WalkSequenceDownLeftUpRight);
-u8 sub_805F19C(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_WalkSequenceDownLeftUpRight_Step1(struct MapObject *mapObject, struct Sprite *sprite)
{
u8 directions[4];
- memcpy(directions, gUnknown_08375564, 4);
+ memcpy(directions, gDownLeftUpRightDirections, 4);
if (mapObject->directionSequenceIndex == 2 && mapObject->initialCoords.y == mapObject->currentCoords.y)
{
mapObject->directionSequenceIndex = 3;
}
- return MoveFieldObjectInNextDirectionInSequence(mapObject, sprite, directions);
+ return MoveNextDirectionInSequence(mapObject, sprite, directions);
}
-fieldmap_object_cb(sub_805F1E4, sub_805F208, gUnknown_08375568);
+fieldmap_object_cb(MovementType_WalkSequenceLeftUpRightDown, MovementType_WalkSequenceLeftUpRightDown_Callback, gMovementTypeFuncs_WalkSequenceLeftUpRightDown);
-u8 sub_805F228(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_WalkSequenceLeftUpRightDown_Step1(struct MapObject *mapObject, struct Sprite *sprite)
{
u8 directions[4];
- memcpy(directions, gUnknown_08375574, 4);
+ memcpy(directions, gLeftUpRightDownDirections, 4);
if (mapObject->directionSequenceIndex == 2 && mapObject->initialCoords.x == mapObject->currentCoords.x)
{
mapObject->directionSequenceIndex = 3;
}
- return MoveFieldObjectInNextDirectionInSequence(mapObject, sprite, directions);
+ return MoveNextDirectionInSequence(mapObject, sprite, directions);
}
-fieldmap_object_cb(sub_805F270, sub_805F294, gUnknown_08375578);
+fieldmap_object_cb(MovementType_WalkSequenceRightDownLeftUp, MovementType_WalkSequenceRightDownLeftUp_Callback, gMovementTypeFuncs_WalkSequenceRightDownLeftUp);
-u8 sub_805F2B4(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_WalkSequenceRightDownLeftUp_Step1(struct MapObject *mapObject, struct Sprite *sprite)
{
u8 directions[4];
- memcpy(directions, gUnknown_08375584, 4);
+ memcpy(directions, gRightDownLeftUpDirections, 4);
if (mapObject->directionSequenceIndex == 2 && mapObject->initialCoords.x == mapObject->currentCoords.x)
{
mapObject->directionSequenceIndex = 3;
}
- return MoveFieldObjectInNextDirectionInSequence(mapObject, sprite, directions);
+ return MoveNextDirectionInSequence(mapObject, sprite, directions);
};
-fieldmap_object_cb(sub_805F2FC, sub_805F320, gUnknown_08375588);
+fieldmap_object_cb(MovementType_CopyPlayer, MovementType_CopyPlayer_Callback, gMovementTypeFuncs_CopyPlayer);
-u8 mss_npc_reset_oampriv3_1_unk2_unk3(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_CopyPlayer_Step0(struct MapObject *mapObject, struct Sprite *sprite)
{
npc_reset(mapObject, sprite);
if (mapObject->directionSequenceIndex == 0)
{
- mapObject->directionSequenceIndex = player_get_direction_lower_nybble();
+ mapObject->directionSequenceIndex = GetPlayerFacingDirection();
}
sprite->data[1] = 1;
return 1;
}
-u8 sub_805F364(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_CopyPlayer_Step1(struct MapObject *mapObject, struct Sprite *sprite)
{
if (gMapObjects[gPlayerAvatar.mapObjectId].movementActionId == 0xFF || gPlayerAvatar.tileTransitionState == T_TILE_CENTER)
{
return 0;
}
- return gUnknown_08375594[player_get_x22()](mapObject, sprite, player_get_direction_upper_nybble(), NULL);
+ return gCopyPlayerMovementFuncs[PlayerGetCopyableMovement()](mapObject, sprite, GetPlayerMovementDirection(), NULL);
}
-u8 sub_805F3C4(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_CopyPlayer_Step2(struct MapObject *mapObject, struct Sprite *sprite)
{
if (FieldObjectExecSingleMovementAction(mapObject, sprite))
{
@@ -4889,161 +5043,161 @@ u8 sub_805F3C4(struct MapObject *mapObject, struct Sprite *sprite)
return 0;
}
-bool8 sub_805F3EC(struct MapObject *mapObject, struct Sprite *sprite, u8 a2, bool8 a3(u8))
+bool8 CopyablePlayerMovement_None(struct MapObject *mapObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCallback(u8))
{
return 0;
}
-bool8 sub_805F3F0(struct MapObject *mapObject, struct Sprite *sprite, u8 a2, bool8 a3(u8))
+bool8 CopyablePlayerMovement_FaceDirection(struct MapObject *mapObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCallback(u8))
{
- FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionAnimId(state_to_direction(gUnknown_0836DC09[mapObject->movementType], mapObject->directionSequenceIndex, a2)));
+ FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementActionId(state_to_direction(gInitialMovementTypeFacingDirections[mapObject->movementType], mapObject->directionSequenceIndex, playerDirection)));
mapObject->singleMovementActive = 1;
sprite->data[1] = 2;
return 1;
}
-bool8 sub_805F438(struct MapObject *mapObject, struct Sprite *sprite, u8 a2, bool8 a3(u8))
+bool8 CopyablePlayerMovement_GoSpeed0(struct MapObject *mapObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCallback(u8))
{
u32 direction;
s16 x;
s16 y;
- direction = a2;
- direction = state_to_direction(gUnknown_0836DC09[mapObject->movementType], mapObject->directionSequenceIndex, direction);
+ direction = playerDirection;
+ direction = state_to_direction(gInitialMovementTypeFacingDirections[mapObject->movementType], mapObject->directionSequenceIndex, direction);
FieldObjectMoveDestCoords(mapObject, direction, &x, &y);
- FieldObjectSetSingleMovement(mapObject, sprite, GetGoSpeed0AnimId(direction));
- if (npc_block_way(mapObject, x, y, direction) || (a3 != NULL && !a3(MapGridGetMetatileBehaviorAt(x, y))))
+ FieldObjectSetSingleMovement(mapObject, sprite, GetGoSpeed0MovementActionId(direction));
+ if (GetCollisionAtCoords(mapObject, x, y, direction) || (tileCallback != NULL && !tileCallback(MapGridGetMetatileBehaviorAt(x, y))))
{
- FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionAnimId(direction));
+ FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementActionId(direction));
}
mapObject->singleMovementActive = 1;
sprite->data[1] = 2;
return 1;
}
-bool8 sub_805F4F0(struct MapObject *mapObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCB(u8))
+bool8 CopyablePlayerMovement_GoSpeed1(struct MapObject *mapObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCallback(u8))
{
u32 direction;
s16 x;
s16 y;
direction = playerDirection;
- direction = state_to_direction(gUnknown_0836DC09[mapObject->movementType], mapObject->directionSequenceIndex, direction);
+ direction = state_to_direction(gInitialMovementTypeFacingDirections[mapObject->movementType], mapObject->directionSequenceIndex, direction);
FieldObjectMoveDestCoords(mapObject, direction, &x, &y);
FieldObjectSetSingleMovement(mapObject, sprite, sub_8060744(direction));
- if (npc_block_way(mapObject, x, y, direction) || (tileCB != NULL && !tileCB(MapGridGetMetatileBehaviorAt(x, y))))
+ if (GetCollisionAtCoords(mapObject, x, y, direction) || (tileCallback != NULL && !tileCallback(MapGridGetMetatileBehaviorAt(x, y))))
{
- FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionAnimId(direction));
+ FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementActionId(direction));
}
mapObject->singleMovementActive = TRUE;
sprite->data[1] = 2;
return TRUE;
}
-bool8 sub_805F5A8(struct MapObject *mapObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCB(u8))
+bool8 CopyablePlayerMovement_GoSpeed2(struct MapObject *mapObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCallback(u8))
{
u32 direction;
s16 x;
s16 y;
direction = playerDirection;
- direction = state_to_direction(gUnknown_0836DC09[mapObject->movementType], mapObject->directionSequenceIndex, direction);
+ direction = state_to_direction(gInitialMovementTypeFacingDirections[mapObject->movementType], mapObject->directionSequenceIndex, direction);
FieldObjectMoveDestCoords(mapObject, direction, &x, &y);
FieldObjectSetSingleMovement(mapObject, sprite, sub_806079C(direction));
- if (npc_block_way(mapObject, x, y, direction) || (tileCB != NULL && !tileCB(MapGridGetMetatileBehaviorAt(x, y))))
+ if (GetCollisionAtCoords(mapObject, x, y, direction) || (tileCallback != NULL && !tileCallback(MapGridGetMetatileBehaviorAt(x, y))))
{
- FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionAnimId(direction));
+ FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementActionId(direction));
}
mapObject->singleMovementActive = TRUE;
sprite->data[1] = 2;
return TRUE;
}
-bool8 sub_805F660(struct MapObject *mapObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCB(u8))
+bool8 CopyablePlayerMovement_GoSpeed3(struct MapObject *mapObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCallback(u8))
{
u32 direction;
s16 x;
s16 y;
direction = playerDirection;
- direction = state_to_direction(gUnknown_0836DC09[mapObject->movementType], mapObject->directionSequenceIndex, direction);
+ direction = state_to_direction(gInitialMovementTypeFacingDirections[mapObject->movementType], mapObject->directionSequenceIndex, direction);
FieldObjectMoveDestCoords(mapObject, direction, &x, &y);
FieldObjectSetSingleMovement(mapObject, sprite, sub_80607C8(direction));
- if (npc_block_way(mapObject, x, y, direction) || (tileCB != NULL && !tileCB(MapGridGetMetatileBehaviorAt(x, y))))
+ if (GetCollisionAtCoords(mapObject, x, y, direction) || (tileCallback != NULL && !tileCallback(MapGridGetMetatileBehaviorAt(x, y))))
{
- FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionAnimId(direction));
+ FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementActionId(direction));
}
mapObject->singleMovementActive = TRUE;
sprite->data[1] = 2;
return TRUE;
}
-bool8 cph_IM_DIFFERENT(struct MapObject *mapObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCB(u8))
+bool8 cph_IM_DIFFERENT(struct MapObject *mapObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCallback(u8))
{
u32 direction;
direction = playerDirection;
- direction = state_to_direction(gUnknown_0836DC09[mapObject->movementType], mapObject->directionSequenceIndex, direction);
+ direction = state_to_direction(gInitialMovementTypeFacingDirections[mapObject->movementType], mapObject->directionSequenceIndex, direction);
FieldObjectSetSingleMovement(mapObject, sprite, sub_806084C(direction));
mapObject->singleMovementActive = TRUE;
sprite->data[1] = 2;
return TRUE;
}
-bool8 sub_805F760(struct MapObject *mapObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCB(u8))
+bool8 CopyablePlayerMovement_GoSpeed4(struct MapObject *mapObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCallback(u8))
{
u32 direction;
s16 x;
s16 y;
direction = playerDirection;
- direction = state_to_direction(gUnknown_0836DC09[mapObject->movementType], mapObject->directionSequenceIndex, direction);
+ direction = state_to_direction(gInitialMovementTypeFacingDirections[mapObject->movementType], mapObject->directionSequenceIndex, direction);
FieldObjectMoveDestCoords(mapObject, direction, &x, &y);
FieldObjectSetSingleMovement(mapObject, sprite, sub_80608A4(direction));
- if (npc_block_way(mapObject, x, y, direction) || (tileCB != NULL && !tileCB(MapGridGetMetatileBehaviorAt(x, y))))
+ if (GetCollisionAtCoords(mapObject, x, y, direction) || (tileCallback != NULL && !tileCallback(MapGridGetMetatileBehaviorAt(x, y))))
{
- FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionAnimId(direction));
+ FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementActionId(direction));
}
mapObject->singleMovementActive = TRUE;
sprite->data[1] = 2;
return TRUE;
}
-bool8 oac_hopping(struct MapObject *mapObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCB(u8))
+bool8 CopyablePlayerMovement_Jump(struct MapObject *mapObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCallback(u8))
{
u32 direction;
s16 x;
s16 y;
direction = playerDirection;
- direction = state_to_direction(gUnknown_0836DC09[mapObject->movementType], mapObject->directionSequenceIndex, direction);
+ direction = state_to_direction(gInitialMovementTypeFacingDirections[mapObject->movementType], mapObject->directionSequenceIndex, direction);
x = mapObject->currentCoords.x;
y = mapObject->currentCoords.y;
sub_8060320(direction, &x, &y, 2, 2);
FieldObjectSetSingleMovement(mapObject, sprite, GetJumpLedgeAnimId(direction));
- if (npc_block_way(mapObject, x, y, direction) || (tileCB != NULL && !tileCB(MapGridGetMetatileBehaviorAt(x, y))))
+ if (GetCollisionAtCoords(mapObject, x, y, direction) || (tileCallback != NULL && !tileCallback(MapGridGetMetatileBehaviorAt(x, y))))
{
- FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionAnimId(direction));
+ FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementActionId(direction));
}
mapObject->singleMovementActive = TRUE;
sprite->data[1] = 2;
return TRUE;
}
-fieldmap_object_cb(sub_805F8E0, sub_805F904, gUnknown_083755C0);
+fieldmap_object_cb(MovementType_CopyPlayerInGrass, sub_805F904, gMovementTypeFuncs_CopyPlayerInGrass);
-u8 mss_08062EA4(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_CopyPlayerInGrass_Step1(struct MapObject *mapObject, struct Sprite *sprite)
{
if (gMapObjects[gPlayerAvatar.mapObjectId].movementActionId == 0xFF || gPlayerAvatar.tileTransitionState == T_TILE_CENTER)
{
return 0;
}
- return gUnknown_08375594[player_get_x22()](mapObject, sprite, player_get_direction_upper_nybble(), MetatileBehavior_IsPokeGrass);
+ return gCopyPlayerMovementFuncs[PlayerGetCopyableMovement()](mapObject, sprite, GetPlayerMovementDirection(), MetatileBehavior_IsPokeGrass);
}
-u8 sub_805F9F8(struct MapObject *, struct Sprite *);
+static u8 MovementType_Disguise_Callback(struct MapObject *, struct Sprite *);
-void FieldObjectCB_TreeDisguise(struct Sprite *sprite)
+void MovementType_TreeDisguise(struct Sprite *sprite)
{
struct MapObject *mapObject;
mapObject = &gMapObjects[sprite->data[0]];
@@ -5054,16 +5208,16 @@ void FieldObjectCB_TreeDisguise(struct Sprite *sprite)
mapObject->directionSequenceIndex = 1;
sprite->data[7] ++;
}
- meta_step(&gMapObjects[sprite->data[0]], sprite, sub_805F9F8);
+ meta_step(&gMapObjects[sprite->data[0]], sprite, MovementType_Disguise_Callback);
}
-u8 sub_805F9F8(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_Disguise_Callback(struct MapObject *mapObject, struct Sprite *sprite)
{
npc_reset(mapObject, sprite);
return 0;
}
-void FieldObjectCB_MountainDisguise(struct Sprite *sprite)
+void MovementType_MountainDisguise(struct Sprite *sprite)
{
struct MapObject *mapObject;
mapObject = &gMapObjects[sprite->data[0]];
@@ -5074,12 +5228,12 @@ void FieldObjectCB_MountainDisguise(struct Sprite *sprite)
mapObject->directionSequenceIndex = 1;
sprite->data[7] ++;
}
- meta_step(&gMapObjects[sprite->data[0]], sprite, sub_805F9F8);
+ meta_step(&gMapObjects[sprite->data[0]], sprite, MovementType_Disguise_Callback);
}
-u8 sub_805FAD8(struct MapObject *mapObject, struct Sprite *sprite);
+u8 MovementType_Hidden_Callback(struct MapObject *mapObject, struct Sprite *sprite);
-void FieldObjectCB_Hidden1(struct Sprite *sprite)
+void MovementType_Hidden(struct Sprite *sprite)
{
if (sprite->data[7] == 0)
{
@@ -5088,21 +5242,21 @@ void FieldObjectCB_Hidden1(struct Sprite *sprite)
sprite->oam.priority = 3;
sprite->data[7] ++;
}
- meta_step(&gMapObjects[sprite->data[0]], sprite, sub_805FAD8);
+ meta_step(&gMapObjects[sprite->data[0]], sprite, MovementType_Hidden_Callback);
}
-u8 sub_805FAD8(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_Hidden_Callback(struct MapObject *mapObject, struct Sprite *sprite)
{
- return gUnknown_083755CC[sprite->data[1]](mapObject, sprite);
+ return gMovementTypeFuncs_Hidden[sprite->data[1]](mapObject, sprite);
}
-u8 sub_805FAF8(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_Hidden_Step0(struct MapObject *mapObject, struct Sprite *sprite)
{
npc_reset(mapObject, sprite);
return 0;
}
-u8 sub_805FB04(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_WalkInPlace_Step1(struct MapObject *mapObject, struct Sprite *sprite)
{
if (FieldObjectExecSingleMovementAction(mapObject, sprite))
{
@@ -5111,19 +5265,19 @@ u8 sub_805FB04(struct MapObject *mapObject, struct Sprite *sprite)
return 0;
}
-fieldmap_object_cb(sub_805FB20, sub_805FB44, gUnknown_083755D0);
+fieldmap_object_cb(MovementType_WalkInPlace, MovementType_WalkInPlace_Callback, gMovementTypeFuncs_WalkInPlace);
-u8 sub_805FB64(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_WalkInPlace_Step0(struct MapObject *mapObject, struct Sprite *sprite)
{
npc_reset(mapObject, sprite);
- FieldObjectSetSingleMovement(mapObject, sprite, GetStepInPlaceDelay16AnimId(mapObject->facingDirection));
+ FieldObjectSetSingleMovement(mapObject, sprite, GetStepInPlaceDelay16MovementActionId(mapObject->facingDirection));
sprite->data[1] = 1;
return 1;
}
-fieldmap_object_cb(sub_805FB90, sub_805FBB4, gUnknown_083755D8);
+fieldmap_object_cb(MovementType_JogInPlace, MovementType_JogInPlace_Callback, gMovementTypeFuncs_JogInPlace);
-u8 sub_805FBD4(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_JogInPlace_Step0(struct MapObject *mapObject, struct Sprite *sprite)
{
npc_reset(mapObject, sprite);
FieldObjectSetSingleMovement(mapObject, sprite, GetStepInPlaceDelay8AnimId(mapObject->facingDirection));
@@ -5131,9 +5285,9 @@ u8 sub_805FBD4(struct MapObject *mapObject, struct Sprite *sprite)
return 1;
}
-fieldmap_object_cb(sub_805FC00, sub_805FC24, gUnknown_083755E0);
+fieldmap_object_cb(MovementType_RunInPlace, MovementType_RunInPlace_Callback, gMovementTypeFuncs_RunInPlace);
-u8 sub_805FC44(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_RunInPlace_Step0(struct MapObject *mapObject, struct Sprite *sprite)
{
npc_reset(mapObject, sprite);
FieldObjectSetSingleMovement(mapObject, sprite, GetStepInPlaceDelay4AnimId(mapObject->facingDirection));
@@ -5141,18 +5295,18 @@ u8 sub_805FC44(struct MapObject *mapObject, struct Sprite *sprite)
return 1;
}
-fieldmap_object_cb(sub_805FC70, sub_805FC94, gUnknown_083755E8);
+fieldmap_object_cb(MovementType_Invisible, MovementType_Invisible_Callback, gMovementTypeFuncs_Invisible);
-u8 sub_805FCB4(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_Invisible_Step0(struct MapObject *mapObject, struct Sprite *sprite)
{
npc_reset(mapObject, sprite);
- FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection));
+ FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementActionId(mapObject->facingDirection));
mapObject->invisible = 1;
sprite->data[1] = 1;
return 1;
}
-u8 sub_805FCE8(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_Invisible_Step1(struct MapObject *mapObject, struct Sprite *sprite)
{
if (FieldObjectExecSingleMovementAction(mapObject, sprite))
{
@@ -5162,14 +5316,12 @@ u8 sub_805FCE8(struct MapObject *mapObject, struct Sprite *sprite)
return 0;
}
-u8 sub_805FD08(struct MapObject *mapObject, struct Sprite *sprite)
+u8 MovementType_Invisible_Step2(struct MapObject *mapObject, struct Sprite *sprite)
{
mapObject->singleMovementActive = 0;
return 0;
}
-void sub_805FC70(struct Sprite *sprite);
-
void npc_reset(struct MapObject *mapObject, struct Sprite *sprite)
{
mapObject->singleMovementActive = 0;
@@ -5306,7 +5458,7 @@ void npc_set_running_behaviour_etc(struct MapObject *mapObject, u8 movementType)
{
mapObject->movementType = movementType;
mapObject->directionSequenceIndex = 0;
- mapObject->playerMovementActionId = 0;
+ mapObject->playerCopyableMovement = 0;
gSprites[mapObject->spriteId].callback = sMovementTypeCallbacks[movementType];
gSprites[mapObject->spriteId].data[1] = 0;
}
@@ -5316,21 +5468,21 @@ u8 npc_running_behaviour_by_direction(u8 direction)
return gUnknown_0837567B[direction];
}
-u8 sub_805FF20(struct MapObject *mapObject, u8 direction)
+u8 GetCollisionInDirection(struct MapObject *mapObject, u8 direction)
{
s16 x;
s16 y;
x = mapObject->currentCoords.x;
y = mapObject->currentCoords.y;
MoveCoords(direction, &x, &y);
- return npc_block_way(mapObject, x, y, direction);
+ return GetCollisionAtCoords(mapObject, x, y, direction);
}
bool8 IsCoordOutsideFieldObjectMovementRect(struct MapObject *mapObject, s16 x, s16 y);
static bool8 DoesObjectCollideWithObjectAt(struct MapObject *mapObject, s16 x, s16 y);
bool8 IsMetatileDirectionallyImpassable(struct MapObject *mapObject, s16 x, s16 y, u8 direction);
-u8 npc_block_way(struct MapObject *mapObject, s16 x, s16 y, u32 dirn)
+u8 GetCollisionAtCoords(struct MapObject *mapObject, s16 x, s16 y, u32 dirn)
{
u8 direction;
direction = dirn;
@@ -5656,9 +5808,9 @@ u8 name(u32 idx)\
return animIds[direction];\
}
-dirn_to_anim(GetFaceDirectionAnimId, gUnknown_083756C8)
+dirn_to_anim(GetFaceDirectionMovementActionId, gUnknown_083756C8)
dirn_to_anim(GetSimpleGoAnimId, gUnknown_083756CD)
-dirn_to_anim(GetGoSpeed0AnimId, gUnknown_083756D2)
+dirn_to_anim(GetGoSpeed0MovementActionId, gUnknown_083756D2)
dirn_to_anim(sub_8060744, gUnknown_083756D7)
dirn_to_anim(d2s_08064034, gUnknown_083756DC)
dirn_to_anim(sub_806079C, gUnknown_083756E1)
@@ -5670,13 +5822,13 @@ dirn_to_anim(sub_8060878, gUnknown_083756FA)
dirn_to_anim(sub_80608A4, gUnknown_083756FF)
dirn_to_anim(sub_80608D0, gUnknown_08375704)
dirn_to_anim(GetStepInPlaceDelay32AnimId, gUnknown_08375709)
-dirn_to_anim(GetStepInPlaceDelay16AnimId, gUnknown_0837570E)
+dirn_to_anim(GetStepInPlaceDelay16MovementActionId, gUnknown_0837570E)
dirn_to_anim(GetStepInPlaceDelay8AnimId, gUnknown_08375713)
dirn_to_anim(GetStepInPlaceDelay4AnimId, gUnknown_08375718)
u8 FieldObjectFaceOppositeDirection(struct MapObject *mapObject, u8 direction)
{
- return FieldObjectSetHeldMovement(mapObject, GetFaceDirectionAnimId(GetOppositeDirection(direction)));
+ return FieldObjectSetHeldMovement(mapObject, GetFaceDirectionMovementActionId(GetOppositeDirection(direction)));
}
u8 sub_80609D8(u8 index)
@@ -7176,7 +7328,7 @@ bool8 sub_8062584(struct MapObject *mapObject, struct Sprite *sprite)
bool8 sub_80625B0(struct MapObject *mapObject, struct Sprite *sprite)
{
- an_look_any(mapObject, sprite, gUnknown_0836DC09[mapObject->movementType]);
+ an_look_any(mapObject, sprite, gInitialMovementTypeFacingDirections[mapObject->movementType]);
return TRUE;
}
@@ -7295,7 +7447,7 @@ bool8 sub_8062740(struct MapObject *mapObject, struct Sprite *sprite)
{
if (sub_8064864(sprite))
{
- sub_8064820(sprite, 0x20);
+ SetMovementDelay(sprite, 0x20);
sprite->data[2] = 2;
}
return FALSE;
@@ -7304,7 +7456,7 @@ bool8 sub_8062740(struct MapObject *mapObject, struct Sprite *sprite)
bool8 sub_8062764(struct MapObject *mapObject, struct Sprite *sprite)
{
mapObject->invisible ^= 1;
- if (sub_8064824(sprite))
+ if (WaitForMovementDelay(sprite))
{
mapObject->invisible = 1;
sprite->data[2] = 3;
@@ -7323,7 +7475,7 @@ bool8 sub_80627BC(struct MapObject *mapObject, struct Sprite *sprite)
{
if (sub_8064864(sprite))
{
- sub_8064820(sprite, 0x20);
+ SetMovementDelay(sprite, 0x20);
sprite->data[2] = 2;
}
return FALSE;
@@ -7332,7 +7484,7 @@ bool8 sub_80627BC(struct MapObject *mapObject, struct Sprite *sprite)
bool8 sub_80627E0(struct MapObject *mapObject, struct Sprite *sprite)
{
mapObject->invisible ^= 1;
- if (sub_8064824(sprite))
+ if (WaitForMovementDelay(sprite))
{
mapObject->invisible = 1;
sprite->data[2] = 3;
@@ -9260,12 +9412,12 @@ u8 sub_806478C(struct Sprite *sprite)
return v2;
}
-void sub_8064820(struct Sprite *sprite, s16 a2)
+static void SetMovementDelay(struct Sprite *sprite, s16 a2)
{
sprite->data[3] = a2;
}
-bool8 sub_8064824(struct Sprite *sprite)
+static bool8 WaitForMovementDelay(struct Sprite *sprite)
{
sprite->data[3]--;
diff --git a/src/field_camera.c b/src/field_camera.c
index 8384ad8d1..e360a4ad6 100644
--- a/src/field_camera.c
+++ b/src/field_camera.c
@@ -473,7 +473,7 @@ static void CameraPanningCB_PanAhead(void)
gUnknown_0300059C = 0;
}
- var = player_get_direction_upper_nybble();
+ var = GetPlayerMovementDirection();
if (var == 2)
{
if (gUnknown_0300059A > -8)
diff --git a/src/field_control_avatar.c b/src/field_control_avatar.c
index 918ab0e21..f090cf5ca 100644
--- a/src/field_control_avatar.c
+++ b/src/field_control_avatar.c
@@ -197,7 +197,7 @@ int sub_8068024(struct FieldInput *input)
u8 r6;
u16 r4;
- r6 = player_get_direction_lower_nybble();
+ r6 = GetPlayerFacingDirection();
player_get_pos_to_and_height(&position);
r4 = MapGridGetMetatileBehaviorAt(position.x, position.y);
#if DEBUG
@@ -916,7 +916,7 @@ u8 *GetFieldObjectScriptPointerPlayerFacing(void)
u8 r4;
struct MapPosition position;
- r4 = player_get_direction_upper_nybble();
+ r4 = GetPlayerMovementDirection();
player_get_next_pos_and_height(&position);
return sub_8068364(&position, MapGridGetMetatileBehaviorAt(position.x, position.y), r4);
}
@@ -925,7 +925,7 @@ int SetCableClubWarp(void)
{
struct MapPosition position;
- player_get_direction_upper_nybble(); //unnecessary
+ GetPlayerMovementDirection(); //unnecessary
player_get_pos_to_and_height(&position);
MapGridGetMetatileBehaviorAt(position.x, position.y); //unnecessary
sub_8068C30(&gMapHeader, map_warp_check_packed(&gMapHeader, &position), &position);
diff --git a/src/field_effect.c b/src/field_effect.c
index bb18c870f..6eb425389 100644
--- a/src/field_effect.c
+++ b/src/field_effect.c
@@ -1180,7 +1180,7 @@ bool8 sub_80867AC(struct Task *task) // gUnknown_0839F2CC[0]
CameraObjectReset2();
gMapObjects[gPlayerAvatar.mapObjectId].invisible = 1;
gPlayerAvatar.preventStep = TRUE;
- FieldObjectSetHeldMovement(playerObject, GetFaceDirectionAnimId(player_get_direction_lower_nybble()));
+ FieldObjectSetHeldMovement(playerObject, GetFaceDirectionMovementActionId(GetPlayerFacingDirection()));
task->data[4] = playerSprite->subspriteMode;
playerObject->fixedPriority = 1;
playerSprite->oam.priority = 1;
@@ -1330,7 +1330,7 @@ bool8 sub_8086AC0(struct Task *task)
mapObject = &gMapObjects[gPlayerAvatar.mapObjectId];
if (!FieldObjectIsMovementOverridden(mapObject) || FieldObjectClearHeldMovementIfFinished(mapObject))
{
- FieldObjectSetHeldMovement(mapObject, GetFaceDirectionAnimId(player_get_direction_lower_nybble()));
+ FieldObjectSetHeldMovement(mapObject, GetFaceDirectionMovementActionId(GetPlayerFacingDirection()));
task->data[0]++;
task->data[2] = 0;
task->data[3] = 0;
@@ -1447,7 +1447,7 @@ bool8 sub_8086CF4(struct Task *task)
u8 behavior;
CameraObjectReset2();
mapObject = &gMapObjects[gPlayerAvatar.mapObjectId];
- FieldObjectSetHeldMovement(mapObject, GetFaceDirectionAnimId(DIR_EAST));
+ FieldObjectSetHeldMovement(mapObject, GetFaceDirectionMovementActionId(DIR_EAST));
PlayerGetDestCoords(&x, &y);
behavior = MapGridGetMetatileBehaviorAt(x, y);
task->data[0]++;
@@ -1545,7 +1545,7 @@ bool8 sub_8086ED4(struct Task *task)
{
CameraObjectReset1();
ScriptContext2_Disable();
- FieldObjectSetHeldMovement(mapObject, GetGoSpeed0AnimId(DIR_EAST));
+ FieldObjectSetHeldMovement(mapObject, GetGoSpeed0MovementActionId(DIR_EAST));
DestroyTask(FindTaskIdByFunc(sub_8086CBC));
}
return FALSE;
@@ -1986,7 +1986,7 @@ void sub_80878F4(struct Task *task)
{
task->data[0]++;
task->data[14] = 64;
- task->data[15] = player_get_direction_lower_nybble();
+ task->data[15] = GetPlayerFacingDirection();
}
void sub_8087914(struct Task *task)
@@ -2011,7 +2011,7 @@ void sub_8087914(struct Task *task)
DestroyTask(FindTaskIdByFunc(sub_80878C4));
} else if (task->data[1] == 0 || (--task->data[1]) == 0)
{
- FieldObjectSetHeldMovement(mapObject, GetFaceDirectionAnimId(unknown_0839F380[mapObject->facingDirection]));
+ FieldObjectSetHeldMovement(mapObject, GetFaceDirectionMovementActionId(unknown_0839F380[mapObject->facingDirection]));
if (task->data[2] < 12)
{
task->data[2]++;
@@ -2049,7 +2049,7 @@ void sub_8087AA4(struct Task *task)
if (IsWeatherNotFadingIn())
{
task->data[0]++;
- task->data[15] = player_get_direction_lower_nybble();
+ task->data[15] = GetPlayerFacingDirection();
}
}
@@ -2063,7 +2063,7 @@ void sub_8087AC8(struct Task *task)
{
return;
}
- if (task->data[2] >= 32 && task->data[15] == player_get_direction_lower_nybble())
+ if (task->data[2] >= 32 && task->data[15] == GetPlayerFacingDirection())
{
mapObject->invisible = 0;
ScriptContext2_Disable();
@@ -2071,7 +2071,7 @@ void sub_8087AC8(struct Task *task)
DestroyTask(FindTaskIdByFunc(sub_8087A74));
return;
}
- FieldObjectSetHeldMovement(mapObject, GetFaceDirectionAnimId(unknown_0839F380[mapObject->facingDirection]));
+ FieldObjectSetHeldMovement(mapObject, GetFaceDirectionMovementActionId(unknown_0839F380[mapObject->facingDirection]));
if (task->data[2] < 32)
{
task->data[2]++;
@@ -2110,7 +2110,7 @@ static void TeleportFieldEffectTask1(struct Task *task)
ScriptContext2_Enable();
FreezeMapObjects();
CameraObjectReset2();
- task->data[15] = player_get_direction_lower_nybble();
+ task->data[15] = GetPlayerFacingDirection();
task->data[0]++;
}
@@ -2213,7 +2213,7 @@ void sub_8087E4C(struct Task *task)
task->data[1] = 8;
task->data[2] = 1;
task->data[14] = sprite->subspriteMode;
- task->data[15] = player_get_direction_lower_nybble();
+ task->data[15] = GetPlayerFacingDirection();
PlaySE(SE_TK_WARPIN);
}
}
@@ -2878,7 +2878,7 @@ void sub_8088AF4(struct Task *task)
{
gPlayerAvatar.preventStep = FALSE;
gPlayerAvatar.flags &= 0xdf;
- FieldObjectSetHeldMovement(mapObject, GetFaceDirectionAnimId(mapObject->movementDirection));
+ FieldObjectSetHeldMovement(mapObject, GetFaceDirectionMovementActionId(mapObject->movementDirection));
sub_8127ED0(mapObject->fieldEffectSpriteId, 1);
UnfreezeMapObjects();
ScriptContext2_Disable();
diff --git a/src/field_fadetransition.c b/src/field_fadetransition.c
index 669b6b531..a6c399756 100644
--- a/src/field_fadetransition.c
+++ b/src/field_fadetransition.c
@@ -279,7 +279,7 @@ void task_map_chg_seq_0807E20C(u8 taskId)
u8 mapObjId;
sub_8080958(1);
mapObjId = GetFieldObjectIdByLocalIdAndMap(0xFF, 0, 0);
- FieldObjectSetHeldMovement(&gMapObjects[mapObjId], GetGoSpeed0AnimId(player_get_direction_lower_nybble()));
+ FieldObjectSetHeldMovement(&gMapObjects[mapObjId], GetGoSpeed0MovementActionId(GetPlayerFacingDirection()));
task->data[0] = 2;
}
break;
diff --git a/src/field_player_avatar.c b/src/field_player_avatar.c
index f4f53c0a9..2e13347f6 100644
--- a/src/field_player_avatar.c
+++ b/src/field_player_avatar.c
@@ -196,7 +196,7 @@ static u8 (*const gUnknown_0830FC98[])(struct Task *, struct MapObject *) =
sub_805A1B8,
};
-fieldmap_object_empty_callback(sub_80587B4, sub_80587D8);
+fieldmap_object_empty_callback(MovementType_None2, MovementType_None2_Callback);
void player_step(u8 direction, u16 newKeys, u16 heldKeys)
{
@@ -457,7 +457,7 @@ static u8 CheckMovementInputNotOnBike(u8 direction)
gPlayerAvatar.runningState = NOT_MOVING;
return 0;
}
- else if (direction != player_get_direction_upper_nybble() && gPlayerAvatar.runningState != MOVING)
+ else if (direction != GetPlayerMovementDirection() && gPlayerAvatar.runningState != MOVING)
{
gPlayerAvatar.runningState = TURN_DIRECTION;
return 1;
@@ -471,7 +471,7 @@ static u8 CheckMovementInputNotOnBike(u8 direction)
void PlayerNotOnBikeNotMoving(u8 direction, u16 heldKeys)
{
- PlayerFaceDirection(player_get_direction_lower_nybble());
+ PlayerFaceDirection(GetPlayerFacingDirection());
}
void PlayerNotOnBikeTurningInPlace(u8 direction, u16 heldKeys)
@@ -527,7 +527,7 @@ u8 CheckForFieldObjectCollision(struct MapObject *a, s16 x, s16 y, u8 direction,
{
u8 collision;
- collision = npc_block_way(a, x, y, direction);
+ collision = GetCollisionAtCoords(a, x, y, direction);
if (collision == 3 && sub_8058EF0(x, y, direction))
return 5;
if (ShouldJumpLedge(x, y, direction))
@@ -583,7 +583,7 @@ static u8 sub_8058F6C(s16 a, s16 b, u8 c)
a = gMapObjects[mapObjectId].currentCoords.x;
b = gMapObjects[mapObjectId].currentCoords.y;
MoveCoords(c, &a, &b);
- if (npc_block_way(&gMapObjects[mapObjectId], a, b, c) == 0
+ if (GetCollisionAtCoords(&gMapObjects[mapObjectId], a, b, c) == 0
&& MetatileBehavior_IsNonAnimDoor(MapGridGetMetatileBehaviorAt(a, b)) == 0)
{
StartStrengthAnim(mapObjectId, c);
@@ -747,14 +747,14 @@ static bool8 PlayerCheckIfAnimFinishedOrInactive(void)
return FieldObjectCheckHeldMovementStatus(&gMapObjects[gPlayerAvatar.mapObjectId]);
}
-static void player_set_x22(u8 a)
+static void PlayerSetCopyableMovement(u8 a)
{
- gMapObjects[gPlayerAvatar.mapObjectId].playerMovementActionId = a;
+ gMapObjects[gPlayerAvatar.mapObjectId].playerCopyableMovement = a;
}
-u8 player_get_x22(void)
+u8 PlayerGetCopyableMovement(void)
{
- return gMapObjects[gPlayerAvatar.mapObjectId].playerMovementActionId;
+ return gMapObjects[gPlayerAvatar.mapObjectId].playerCopyableMovement;
}
static void sub_8059348(u8 a)
@@ -762,11 +762,11 @@ static void sub_8059348(u8 a)
FieldObjectForceSetHeldMovement(&gMapObjects[gPlayerAvatar.mapObjectId], a);
}
-void PlayerSetAnimId(u8 movementActionId, u8 b)
+void PlayerSetAnimId(u8 movementActionId, u8 copyableMovement)
{
if (!PlayerIsAnimActive())
{
- player_set_x22(b);
+ PlayerSetCopyableMovement(copyableMovement);
FieldObjectSetHeldMovement(&gMapObjects[gPlayerAvatar.mapObjectId], movementActionId);
}
}
@@ -774,7 +774,7 @@ void PlayerSetAnimId(u8 movementActionId, u8 b)
// normal speed (1 speed)
void PlayerGoSpeed1(u8 a)
{
- PlayerSetAnimId(GetGoSpeed0AnimId(a), 2);
+ PlayerSetAnimId(GetGoSpeed0MovementActionId(a), 2);
}
// fast speed (2 speed)
@@ -802,7 +802,7 @@ void sub_805940C(u8 a)
void PlayerOnBikeCollide(u8 a)
{
PlayCollisionSoundIfNotFacingWarp(a);
- PlayerSetAnimId(GetStepInPlaceDelay16AnimId(a), 2);
+ PlayerSetAnimId(GetStepInPlaceDelay16MovementActionId(a), 2);
}
static void PlayerNotOnBikeCollide(u8 a)
@@ -813,7 +813,7 @@ static void PlayerNotOnBikeCollide(u8 a)
void PlayerFaceDirection(u8 direction)
{
- PlayerSetAnimId(GetFaceDirectionAnimId(direction), 1);
+ PlayerSetAnimId(GetFaceDirectionMovementActionId(direction), 1);
}
void PlayerTurnInPlace(u8 direction)
@@ -832,7 +832,7 @@ void sub_80594C0(void)
if (gPlayerAvatar.tileTransitionState == T_TILE_CENTER || gPlayerAvatar.tileTransitionState == T_NOT_MOVING)
{
if (player_should_look_direction_be_enforced_upon_movement())
- sub_8059348(GetFaceDirectionAnimId(gMapObjects[gPlayerAvatar.mapObjectId].facingDirection));
+ sub_8059348(GetFaceDirectionMovementActionId(gMapObjects[gPlayerAvatar.mapObjectId].facingDirection));
}
}
@@ -925,7 +925,7 @@ void GetXYCoordsOneStepInFrontOfPlayer(s16 *x, s16 *y)
{
*x = gMapObjects[gPlayerAvatar.mapObjectId].currentCoords.x;
*y = gMapObjects[gPlayerAvatar.mapObjectId].currentCoords.y;
- MoveCoords(player_get_direction_lower_nybble(), x, y);
+ MoveCoords(GetPlayerFacingDirection(), x, y);
}
void PlayerGetDestCoords(s16 *x, s16 *y)
@@ -934,12 +934,12 @@ void PlayerGetDestCoords(s16 *x, s16 *y)
*y = gMapObjects[gPlayerAvatar.mapObjectId].currentCoords.y;
}
-u8 player_get_direction_lower_nybble(void)
+u8 GetPlayerFacingDirection(void)
{
return gMapObjects[gPlayerAvatar.mapObjectId].facingDirection;
}
-u8 player_get_direction_upper_nybble(void)
+u8 GetPlayerMovementDirection(void)
{
return gMapObjects[gPlayerAvatar.mapObjectId].movementDirection;
}
@@ -1057,7 +1057,7 @@ bool8 PartyHasMonWithSurf(void)
bool8 IsPlayerSurfingNorth(void)
{
- if (player_get_direction_upper_nybble() == DIR_NORTH && TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_SURFING))
+ if (GetPlayerMovementDirection() == DIR_NORTH && TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_SURFING))
return TRUE;
else
return FALSE;
@@ -1070,7 +1070,7 @@ bool8 IsPlayerFacingSurfableFishableWater(void)
s16 y = playerMapObj->currentCoords.y;
MoveCoords(playerMapObj->facingDirection, &x, &y);
- if (npc_block_way(playerMapObj, x, y, playerMapObj->facingDirection) == 3 && PlayerGetZCoord() == 3
+ if (GetCollisionAtCoords(playerMapObj, x, y, playerMapObj->facingDirection) == 3 && PlayerGetZCoord() == 3
&& MetatileBehavior_IsSurfableFishableWater(MapGridGetMetatileBehaviorAt(x, y)))
return TRUE;
else
@@ -1242,7 +1242,7 @@ u8 sub_8059EA4(struct Task *task, struct MapObject *playerObject, struct MapObje
{
FieldObjectClearHeldMovementIfFinished(playerObject);
FieldObjectClearHeldMovementIfFinished(strengthObject);
- FieldObjectSetHeldMovement(playerObject, GetStepInPlaceDelay16AnimId((u8)task->data[2]));
+ FieldObjectSetHeldMovement(playerObject, GetStepInPlaceDelay16MovementActionId((u8)task->data[2]));
FieldObjectSetHeldMovement(strengthObject, GetSimpleGoAnimId((u8)task->data[2]));
gFieldEffectArguments[0] = strengthObject->currentCoords.x;
gFieldEffectArguments[1] = strengthObject->currentCoords.y;
@@ -1338,7 +1338,7 @@ u8 sub_805A100(struct Task *task, struct MapObject *mapObject)
{
u8 direction;
- FieldObjectSetHeldMovement(mapObject, GetFaceDirectionAnimId(direction = directions[mapObject->movementDirection - 1]));
+ FieldObjectSetHeldMovement(mapObject, GetFaceDirectionMovementActionId(direction = directions[mapObject->movementDirection - 1]));
if (direction == (u8)task->data[1])
task->data[2]++;
task->data[0]++;
@@ -1413,7 +1413,7 @@ static void sub_805A2D0(u8 taskId)
if (FieldObjectClearHeldMovementIfFinished(playerMapObj))
{
sub_805B980(playerMapObj, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_NORMAL));
- FieldObjectSetHeldMovement(playerMapObj, GetFaceDirectionAnimId(playerMapObj->facingDirection));
+ FieldObjectSetHeldMovement(playerMapObj, GetFaceDirectionMovementActionId(playerMapObj->facingDirection));
gPlayerAvatar.preventStep = FALSE;
ScriptContext2_Disable();
DestroySprite(&gSprites[playerMapObj->fieldEffectSpriteId]);
@@ -1574,7 +1574,7 @@ u8 Fishing6(struct Task *task)
if (!DoesCurrentMapHaveFishingMons() || (Random() & 1))
task->tStep = FISHING_NO_BITE;
else
- StartSpriteAnim(&gSprites[gPlayerAvatar.spriteId], sub_805FE08(player_get_direction_lower_nybble()));
+ StartSpriteAnim(&gSprites[gPlayerAvatar.spriteId], sub_805FE08(GetPlayerFacingDirection()));
return 1;
}
@@ -1677,7 +1677,7 @@ u8 Fishing11(struct Task *task)
u8 Fishing12(struct Task *task)
{
sub_805A954();
- StartSpriteAnim(&gSprites[gPlayerAvatar.spriteId], sub_805FDF8(player_get_direction_lower_nybble()));
+ StartSpriteAnim(&gSprites[gPlayerAvatar.spriteId], sub_805FDF8(GetPlayerFacingDirection()));
MenuPrintMessageDefaultCoords(gOtherText_NotEvenANibble);
task->tStep = FISHING_SHOW_RESULT;
return 1;
@@ -1687,7 +1687,7 @@ u8 Fishing12(struct Task *task)
u8 Fishing13(struct Task *task)
{
sub_805A954();
- StartSpriteAnim(&gSprites[gPlayerAvatar.spriteId], sub_805FDF8(player_get_direction_lower_nybble()));
+ StartSpriteAnim(&gSprites[gPlayerAvatar.spriteId], sub_805FDF8(GetPlayerFacingDirection()));
MenuPrintMessageDefaultCoords(gOtherText_ItGotAway);
task->tStep++;
return 1;
@@ -1762,7 +1762,7 @@ static void sub_805A954(void)
if (animType == 1 || animType == 2 || animType == 3)
{
playerSprite->pos2.x = 8;
- if (player_get_direction_lower_nybble() == 3)
+ if (GetPlayerFacingDirection() == 3)
playerSprite->pos2.x = -8;
}
if (animType == 5)
diff --git a/src/field_specials.c b/src/field_specials.c
index 4bb9ad801..63b3b3e05 100644
--- a/src/field_specials.c
+++ b/src/field_specials.c
@@ -330,7 +330,7 @@ void SpawnBerryBlenderLinkPlayerSprites(void)
u8 i;
myLinkPlayerNumber = sub_8008218();
- playerDirectionLowerNybble = player_get_direction_lower_nybble();
+ playerDirectionLowerNybble = GetPlayerFacingDirection();
switch (playerDirectionLowerNybble)
{
case DIR_WEST:
@@ -795,7 +795,7 @@ static void PCTurnOffEffect_0(struct Task *task)
if (task->data[3] == 6)
{
task->data[3] = 0;
- playerDirectionLowerNybble = player_get_direction_lower_nybble();
+ playerDirectionLowerNybble = GetPlayerFacingDirection();
switch (playerDirectionLowerNybble)
{
case DIR_NORTH:
@@ -868,7 +868,7 @@ static void PCTurnOffEffect(void)
s8 dx = 0;
s8 dy = 0;
u16 tileId = 0;
- u8 playerDirectionLowerNybble = player_get_direction_lower_nybble();
+ u8 playerDirectionLowerNybble = GetPlayerFacingDirection();
switch (playerDirectionLowerNybble)
{
case DIR_NORTH:
diff --git a/src/fldeff_berrytree.c b/src/fldeff_berrytree.c
index 1f0990a5e..4571cc4c4 100644
--- a/src/fldeff_berrytree.c
+++ b/src/fldeff_berrytree.c
@@ -19,8 +19,8 @@ static void Task_WateringBerryTreeAnim_1(u8 taskId)
if (!FieldObjectIsMovementOverridden(playerMapObj)
|| FieldObjectClearHeldMovementIfFinished(playerMapObj))
{
- sub_8059D08(player_get_direction_lower_nybble());
- FieldObjectSetHeldMovement(playerMapObj, GetStepInPlaceDelay16AnimId(player_get_direction_lower_nybble()));
+ sub_8059D08(GetPlayerFacingDirection());
+ FieldObjectSetHeldMovement(playerMapObj, GetStepInPlaceDelay16MovementActionId(GetPlayerFacingDirection()));
gTasks[taskId].func = Task_WateringBerryTreeAnim_2;
}
}
@@ -34,7 +34,7 @@ static void Task_WateringBerryTreeAnim_2(u8 taskId)
if (value < 10)
{
- FieldObjectSetHeldMovement(playerMapObj, GetStepInPlaceDelay16AnimId(player_get_direction_lower_nybble()));
+ FieldObjectSetHeldMovement(playerMapObj, GetStepInPlaceDelay16MovementActionId(GetPlayerFacingDirection()));
}
else
{
diff --git a/src/fldeff_decoration.c b/src/fldeff_decoration.c
index 8295a2fe0..18178d07c 100644
--- a/src/fldeff_decoration.c
+++ b/src/fldeff_decoration.c
@@ -164,7 +164,7 @@ static void sub_80C6A14(u8 taskId)
void sub_80C6A54(s16 x, s16 y)
{
- u8 dir = player_get_direction_lower_nybble();
+ u8 dir = GetPlayerFacingDirection();
if (dir == DIR_SOUTH)
{
sub_80C69C4(x, y);
@@ -261,7 +261,7 @@ bool8 FldEff_SandPillar(void)
gFieldEffectArguments[5] = x;
gFieldEffectArguments[6] = y;
- switch (player_get_direction_lower_nybble())
+ switch (GetPlayerFacingDirection())
{
case DIR_SOUTH:
CreateSprite(
diff --git a/src/fldeff_secretpower.c b/src/fldeff_secretpower.c
index e58a1e82f..fd8791cb8 100644
--- a/src/fldeff_secretpower.c
+++ b/src/fldeff_secretpower.c
@@ -252,7 +252,7 @@ void Debug_SetUpFieldMove_SecretPower(void)
CheckPlayerHasSecretBase();
- if (gSpecialVar_Result == 1 || player_get_direction_lower_nybble() != DIR_NORTH)
+ if (gSpecialVar_Result == 1 || GetPlayerFacingDirection() != DIR_NORTH)
{
ScriptContext2_Disable();
return;
@@ -291,7 +291,7 @@ bool8 SetUpFieldMove_SecretPower(void)
u8 behavior;
CheckPlayerHasSecretBase();
- if (gSpecialVar_Result == 1 || player_get_direction_lower_nybble() != DIR_NORTH)
+ if (gSpecialVar_Result == 1 || GetPlayerFacingDirection() != DIR_NORTH)
return FALSE;
GetXYCoordsOneStepInFrontOfPlayer(&gPlayerFacingPosition.x, &gPlayerFacingPosition.y);
diff --git a/src/item_use.c b/src/item_use.c
index 5ec703bd2..d62a7ae10 100644
--- a/src/item_use.c
+++ b/src/item_use.c
@@ -290,7 +290,7 @@ void RunItemfinderResults(u8 taskId)
}
else // player is above hidden item.
{
- playerDir = player_get_direction_lower_nybble();
+ playerDir = GetPlayerFacingDirection();
// rotate player clockwise depending on current direction.
for (i = 0; i < 4; i++)
diff --git a/src/overworld.c b/src/overworld.c
index f5624cd70..806a3a4d2 100644
--- a/src/overworld.c
+++ b/src/overworld.c
@@ -663,7 +663,7 @@ void player_avatar_init_params_reset(void)
void walkrun_find_lowest_active_bit_in_bitfield(void)
{
- gUnknown_02029810.player_field_1 = player_get_direction_lower_nybble();
+ gUnknown_02029810.player_field_1 = GetPlayerFacingDirection();
if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_MACH_BIKE))
gUnknown_02029810.player_field_0 = 2;
diff --git a/src/rom6.c b/src/rom6.c
index ca1e4b250..c5c77fd39 100644
--- a/src/rom6.c
+++ b/src/rom6.c
@@ -93,7 +93,7 @@ static void sub_810B428(u8 taskId)
{
if (!FieldEffectActiveListContains(6))
{
- gFieldEffectArguments[1] = player_get_direction_lower_nybble();
+ gFieldEffectArguments[1] = GetPlayerFacingDirection();
if (gFieldEffectArguments[1] == 1)
gFieldEffectArguments[2] = 0;
if (gFieldEffectArguments[1] == 2)
diff --git a/src/scrcmd.c b/src/scrcmd.c
index 674912c16..9422f8cb6 100644
--- a/src/scrcmd.c
+++ b/src/scrcmd.c
@@ -1118,7 +1118,7 @@ bool8 ScrCmd_faceplayer(struct ScriptContext *ctx)
if (gMapObjects[gSelectedMapObject].active)
{
FieldObjectFaceOppositeDirection(&gMapObjects[gSelectedMapObject],
- player_get_direction_lower_nybble());
+ GetPlayerFacingDirection());
}
return FALSE;
}
diff --git a/src/trainer_see.c b/src/trainer_see.c
index a4811ecd5..e4d24347f 100644
--- a/src/trainer_see.c
+++ b/src/trainer_see.c
@@ -176,7 +176,7 @@ static bool8 CheckPathBetweenTrainerAndPlayer(struct MapObject *trainerObj, u8 a
trainerObj->range.as_nybbles.x = 0;
trainerObj->range.as_nybbles.y = 0;
- collision = npc_block_way((struct MapObject *)trainerObj, x, y, direction);
+ collision = GetCollisionAtCoords((struct MapObject *)trainerObj, x, y, direction);
trainerObj->range.as_nybbles.x = unk19_temp;
trainerObj->range.as_nybbles.y = unk19b_temp;
@@ -265,7 +265,7 @@ static bool8 sub_8084398(u8 taskId, struct Task *task, struct MapObject *trainer
FieldObjectGetLocalIdAndMap(trainerObj, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]);
FieldEffectStart(FLDEFF_EXCLAMATION_MARK_ICON_1);
- direction = GetFaceDirectionAnimId(trainerObj->facingDirection);
+ direction = GetFaceDirectionMovementActionId(trainerObj->facingDirection);
FieldObjectSetHeldMovement(trainerObj, direction);
task->data[0]++;
return TRUE;
@@ -294,7 +294,7 @@ static bool8 sub_808441C(u8 taskId, struct Task *task, struct MapObject *trainer
{
if (task->data[3])
{
- FieldObjectSetHeldMovement(trainerObj, GetGoSpeed0AnimId(trainerObj->facingDirection));
+ FieldObjectSetHeldMovement(trainerObj, GetGoSpeed0MovementActionId(trainerObj->facingDirection));
task->data[3]--;
}
else
@@ -322,7 +322,7 @@ static bool8 sub_8084478(u8 taskId, struct Task *task, struct MapObject *trainer
return FALSE;
sub_80597E8();
- FieldObjectSetHeldMovement(&gMapObjects[gPlayerAvatar.mapObjectId], GetFaceDirectionAnimId(GetOppositeDirection(trainerObj->facingDirection)));
+ FieldObjectSetHeldMovement(&gMapObjects[gPlayerAvatar.mapObjectId], GetFaceDirectionMovementActionId(GetOppositeDirection(trainerObj->facingDirection)));
task->data[0]++;
return FALSE;
}