diff options
author | cbt6 <91667135+cbt6@users.noreply.github.com> | 2022-02-10 00:20:22 +0800 |
---|---|---|
committer | cbt6 <91667135+cbt6@users.noreply.github.com> | 2022-02-10 00:20:22 +0800 |
commit | ac3de6d02c5beda704570d6ada4ad2195770f819 (patch) | |
tree | dd0127a98744613cc76444d7354379692993e661 | |
parent | bef2668d8bf92f8d42e2d56b06260380d7175d93 (diff) |
Rename some movement actions and functions
-rw-r--r-- | asm/macros/movement.inc | 16 | ||||
-rw-r--r-- | data/maps/BirthIsland_Exterior/scripts.inc | 14 | ||||
-rw-r--r-- | data/maps/CinnabarIsland/scripts.inc | 4 | ||||
-rw-r--r-- | data/maps/FourIsland_PokemonDayCare/scripts.inc | 4 | ||||
-rw-r--r-- | data/maps/FuchsiaCity/map.json | 2 | ||||
-rw-r--r-- | include/constants/event_object_movement.h | 50 | ||||
-rw-r--r-- | include/event_object_movement.h | 22 | ||||
-rw-r--r-- | include/field_player_avatar.h | 2 | ||||
-rw-r--r-- | src/data/object_events/movement_action_func_tables.h | 42 | ||||
-rw-r--r-- | src/data/object_events/movement_type_func_tables.h | 6 | ||||
-rw-r--r-- | src/event_object_movement.c | 805 | ||||
-rw-r--r-- | src/field_effect.c | 2 | ||||
-rw-r--r-- | src/field_player_avatar.c | 12 |
13 files changed, 481 insertions, 500 deletions
diff --git a/asm/macros/movement.inc b/asm/macros/movement.inc index 9f11f4460..8e2ac8038 100644 --- a/asm/macros/movement.inc +++ b/asm/macros/movement.inc @@ -14,10 +14,10 @@ create_movement face_up_fast create_movement face_left_fast create_movement face_right_fast - create_movement walk_slowest_down - create_movement walk_slowest_up - create_movement walk_slowest_left - create_movement walk_slowest_right + create_movement walk_slower_down + create_movement walk_slower_up + create_movement walk_slower_left + create_movement walk_slower_right create_movement walk_slow_down create_movement walk_slow_up create_movement walk_slow_left @@ -55,10 +55,10 @@ create_movement walk_in_place_fastest_up create_movement walk_in_place_fastest_left create_movement walk_in_place_fastest_right - create_movement face_down_slow - create_movement face_up_slow - create_movement face_left_slow - create_movement face_right_slow + create_movement ride_water_current_down + create_movement ride_water_current_up + create_movement ride_water_current_lefft + create_movement ride_water_current_right create_movement walk_fastest_down create_movement walk_fastest_up create_movement walk_fastest_left diff --git a/data/maps/BirthIsland_Exterior/scripts.inc b/data/maps/BirthIsland_Exterior/scripts.inc index 81419e08a..452a32aa9 100644 --- a/data/maps/BirthIsland_Exterior/scripts.inc +++ b/data/maps/BirthIsland_Exterior/scripts.inc @@ -115,11 +115,11 @@ BirthIsland_Exterior_EventScript_RanFromDeoxys:: @ 8165348 end Movement_DeoxysApproach: @ 8165353 - walk_slowest_down - walk_slowest_down - walk_slowest_down - walk_slowest_down - walk_slowest_down - walk_slowest_down - walk_slowest_down + walk_slower_down + walk_slower_down + walk_slower_down + walk_slower_down + walk_slower_down + walk_slower_down + walk_slower_down step_end diff --git a/data/maps/CinnabarIsland/scripts.inc b/data/maps/CinnabarIsland/scripts.inc index 179c06a51..073fc6c94 100644 --- a/data/maps/CinnabarIsland/scripts.inc +++ b/data/maps/CinnabarIsland/scripts.inc @@ -251,8 +251,8 @@ CinnabarIsland_Movement_BoatArrive:: @ 8167195 walk_fast_left walk_fast_left walk_left - walk_slowest_left - walk_slowest_left + walk_slower_left + walk_slower_left step_end CinnabarIsland_Movement_BillBoardBoat:: @ 816719D diff --git a/data/maps/FourIsland_PokemonDayCare/scripts.inc b/data/maps/FourIsland_PokemonDayCare/scripts.inc index 9a2d609b9..0beeafb08 100644 --- a/data/maps/FourIsland_PokemonDayCare/scripts.inc +++ b/data/maps/FourIsland_PokemonDayCare/scripts.inc @@ -170,7 +170,7 @@ FourIsland_PokemonDayCare_Movement_RetrieveMon:: @ 8171B71 delay_16 delay_16 face_up - walk_slowest_up + walk_slower_up set_invisible delay_16 delay_16 @@ -179,7 +179,7 @@ FourIsland_PokemonDayCare_Movement_RetrieveMon:: @ 8171B71 delay_16 face_down set_visible - walk_slowest_down + walk_slower_down step_end @ Unused. Possibly a commented script, or a typo end added to the above Movement script diff --git a/data/maps/FuchsiaCity/map.json b/data/maps/FuchsiaCity/map.json index 7363a4b82..9a1f3f504 100644 --- a/data/maps/FuchsiaCity/map.json +++ b/data/maps/FuchsiaCity/map.json @@ -49,7 +49,7 @@ "x": 36, "y": 15, "elevation": 3, - "movement_type": "MOVEMENT_TYPE_WANDER_AROUND_SLOWEST", + "movement_type": "MOVEMENT_TYPE_WANDER_AROUND_SLOWER", "movement_range_x": 4, "movement_range_y": 1, "trainer_type": "TRAINER_TYPE_NONE", diff --git a/include/constants/event_object_movement.h b/include/constants/event_object_movement.h index 62c5a2ef2..d7901481e 100644 --- a/include/constants/event_object_movement.h +++ b/include/constants/event_object_movement.h @@ -82,7 +82,7 @@ #define MOVEMENT_TYPE_VS_SEEKER_4D 0x4D #define MOVEMENT_TYPE_VS_SEEKER_4E 0x4E #define MOVEMENT_TYPE_VS_SEEKER_4F 0x4F -#define MOVEMENT_TYPE_WANDER_AROUND_SLOWEST 0x50 +#define MOVEMENT_TYPE_WANDER_AROUND_SLOWER 0x50 #define MOVEMENT_TYPES_COUNT 0x51 #define MOVEMENT_ACTION_FACE_DOWN 0x0 @@ -93,10 +93,10 @@ #define MOVEMENT_ACTION_FACE_UP_FAST 0x5 #define MOVEMENT_ACTION_FACE_LEFT_FAST 0x6 #define MOVEMENT_ACTION_FACE_RIGHT_FAST 0x7 -#define MOVEMENT_ACTION_WALK_SLOWEST_DOWN 0x8 -#define MOVEMENT_ACTION_WALK_SLOWEST_UP 0x9 -#define MOVEMENT_ACTION_WALK_SLOWEST_LEFT 0xA -#define MOVEMENT_ACTION_WALK_SLOWEST_RIGHT 0xB +#define MOVEMENT_ACTION_WALK_SLOWER_DOWN 0x8 +#define MOVEMENT_ACTION_WALK_SLOWER_UP 0x9 +#define MOVEMENT_ACTION_WALK_SLOWER_LEFT 0xA +#define MOVEMENT_ACTION_WALK_SLOWER_RIGHT 0xB #define MOVEMENT_ACTION_WALK_SLOW_DOWN 0xC #define MOVEMENT_ACTION_WALK_SLOW_UP 0xD #define MOVEMENT_ACTION_WALK_SLOW_LEFT 0xE @@ -134,10 +134,10 @@ #define MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_UP 0x2E #define MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_LEFT 0x2F #define MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_RIGHT 0x30 -#define MOVEMENT_ACTION_FACE_DOWN_SLOW 0x31 -#define MOVEMENT_ACTION_FACE_UP_SLOW 0x32 -#define MOVEMENT_ACTION_FACE_LEFT_SLOW 0x33 -#define MOVEMENT_ACTION_FACE_RIGHT_SLOW 0x34 +#define MOVEMENT_ACTION_RIDE_WATER_CURRENT_DOWN 0x31 +#define MOVEMENT_ACTION_RIDE_WATER_CURRENT_UP 0x32 +#define MOVEMENT_ACTION_RIDE_WATER_CURRENT_LEFT 0x33 +#define MOVEMENT_ACTION_RIDE_WATER_CURRENT_RIGHT 0x34 #define MOVEMENT_ACTION_WALK_FASTEST_DOWN 0x35 #define MOVEMENT_ACTION_WALK_FASTEST_UP 0x36 #define MOVEMENT_ACTION_WALK_FASTEST_LEFT 0x37 @@ -235,20 +235,22 @@ #define MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_UP 0x91 #define MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_LEFT 0x92 #define MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_RIGHT 0x93 -#define MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_DOWN 0x94 -#define MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_UP 0x95 -#define MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_LEFT 0x96 -#define MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_RIGHT 0x97 -// 98-A3 are unknown +#define MOVEMENT_ACTION_SPIN_DOWN 0x94 +#define MOVEMENT_ACTION_SPIN_UP 0x95 +#define MOVEMENT_ACTION_SPIN_LEFT 0x96 +#define MOVEMENT_ACTION_SPIN_RIGHT 0x97 + #define MOVEMENT_ACTION_0x98 0x98 #define MOVEMENT_ACTION_0x99 0x99 #define MOVEMENT_ACTION_0x9A 0x9A -#define MOVEMENT_ACTION_0x9B 0x9B -#define MOVEMENT_ACTION_0x9C 0x9C -#define MOVEMENT_ACTION_0x9D 0x9D -#define MOVEMENT_ACTION_0x9E 0x9E -#define MOVEMENT_ACTION_0x9F 0x9F + +#define MOVEMENT_ACTION_WALK_SLOWEST_DOWN 0x9B +#define MOVEMENT_ACTION_WALK_SLOWEST_UP 0x9C +#define MOVEMENT_ACTION_WALK_SLOWEST_LEFT 0x9D +#define MOVEMENT_ACTION_WALK_SLOWEST_RIGHT 0x9E +#define MOVEMENT_ACTION_SHAKE_HEAD 0x9F + #define MOVEMENT_ACTION_0xA0 0xA0 #define MOVEMENT_ACTION_0xA1 0xA1 #define MOVEMENT_ACTION_0xA2 0xA2 @@ -256,12 +258,10 @@ #define MOVEMENT_ACTION_FLY_UP 0xA4 #define MOVEMENT_ACTION_FLY_DOWN 0xA5 - -// Duplicates of JUMP_SPECIAL? -#define MOVEMENT_ACTION_0xA6 0xA6 -#define MOVEMENT_ACTION_0xA7 0xA7 -#define MOVEMENT_ACTION_0xA8 0xA8 -#define MOVEMENT_ACTION_0xA9 0xA9 +#define MOVEMENT_ACTION_JUMP_SPECIAL_WITH_EFFECT_DOWN 0xA6 +#define MOVEMENT_ACTION_JUMP_SPECIAL_WITH_EFFECT_UP 0xA7 +#define MOVEMENT_ACTION_JUMP_SPECIAL_WITH_EFFECT_LEFT 0xA8 +#define MOVEMENT_ACTION_JUMP_SPECIAL_WITH_EFFECT_RIGHT 0xA9 #define MOVEMENT_ACTION_STEP_END 0xFE diff --git a/include/event_object_movement.h b/include/event_object_movement.h index 852af21df..46529bdfe 100644 --- a/include/event_object_movement.h +++ b/include/event_object_movement.h @@ -124,7 +124,7 @@ u8 ObjectEventCheckHeldMovementStatus(struct ObjectEvent *objectEvent); u8 GetWalkNormalMovementAction(u32); u8 GetWalkFastMovementAction(u32); u8 GetWalkFastestMovementAction(u32); -u8 GetWalkSlowestMovementAction(u32 direction); +u8 GetWalkSlowerMovementAction(u32 direction); u8 GetTrainerFacingDirectionMovementType(u8 direction); u8 GetFaceDirectionMovementAction(u32); u8 GetFaceDirectionFastMovementAction(u32); @@ -134,7 +134,7 @@ u8 GetSlideMovementAction(u32); u8 GetJumpInPlaceMovementAction(u32); u8 GetJumpMovementAction(u32); u8 GetJump2MovementAction(u32); -bool8 NpcTakeStep(struct Sprite *sprite); +bool8 UpdateWalkSlowerAnim(struct Sprite *sprite); void SetJumpSpriteData(struct Sprite *, u8, u8, u8); u8 DoJumpSpriteMovement(struct Sprite *); u8 DoJumpSpecialSpriteMovement(struct Sprite *); @@ -171,16 +171,16 @@ void UpdateObjectEventsForCameraUpdate(s16 x, s16 y); void UpdateObjectEventSpriteSubpriorityAndVisibility(struct Sprite *); void SetMovementDelay(struct Sprite *, s16); bool8 WaitForMovementDelay(struct Sprite *); -void oamt_npc_ministep_reset(struct Sprite *, u8, u8); -bool8 obj_npc_ministep(struct Sprite *sprite); -void SetSpriteDataForNormalStep(struct Sprite *, u8); -void SetSpriteDataForNormalStep2(struct Sprite *, u8); +void SetSpriteDataForNormalStep(struct Sprite *, u8, u8); +bool8 NpcTakeStep(struct Sprite *sprite); +void SetWalkSlowerSpriteData(struct Sprite *, u8); +void SetWalkSlowestSpriteData(struct Sprite *, u8); +bool8 UpdateWalkSlowestAnim(struct Sprite *sprite); +void SetWalkSlowSpriteData(struct Sprite *, u8); bool8 UpdateWalkSlowAnim(struct Sprite *sprite); -void SetSpriteDataForNormalStep3(struct Sprite *, u8); -bool8 sub_8068C18(struct Sprite *sprite); void DoShadowFieldEffect(struct ObjectEvent *); -void SetSpriteDataForNormalStep4(struct Sprite *, u8); -bool8 sub_8068CB4(struct Sprite *sprite); +void SetRunSlowSpriteData(struct Sprite *, u8); +bool8 UpdateRunSlowAnim(struct Sprite *sprite); void SetAndStartSpriteAnim(struct Sprite *, u8, u8); bool8 SpriteAnimEnded(struct Sprite *); u8 ObjectEventGetHeldMovementActionId(struct ObjectEvent *objectEvent); @@ -212,7 +212,7 @@ u8 GetJumpInPlaceTurnAroundMovementAction(u32 direction); u8 GetAcroWheelieInPlaceDirectionMovementAction(u32 direction); u8 GetAcroPopWheelieMoveDirectionMovementAction(u32 direction); u8 GetAcroWheelieMoveDirectionMovementAction(u32 direction); -u8 sub_80641EC(u32 direction); +u8 GetJumpSpecialWithEffectMovementAction(u32 direction); u8 GetFishingBiteDirectionAnimNum(u8 direction); void TrySpawnObjectEvents(s16 cameraX, s16 cameraY); void ResetObjectEvents(void); diff --git a/include/field_player_avatar.h b/include/field_player_avatar.h index c7d2d6012..7e051f0dd 100644 --- a/include/field_player_avatar.h +++ b/include/field_player_avatar.h @@ -56,7 +56,7 @@ void PlayerFaceDirection(u8 direction); void PlayerFaceDirectionFast(u8 direction); void PlayerTurnInPlace(u8 direction); void PlayerJumpLedge(u8 direction); -void sub_805C260(void); +void PlayerShakeHead(void); void player_step(u8 direction, u16 newKeys, u16 heldKeys); bool32 PlayerIsMovingOnRockStairs(u8 direction); void UpdatePlayerAvatarTransitionState(void); diff --git a/src/data/object_events/movement_action_func_tables.h b/src/data/object_events/movement_action_func_tables.h index b91cd8284..e55687c03 100644 --- a/src/data/object_events/movement_action_func_tables.h +++ b/src/data/object_events/movement_action_func_tables.h @@ -471,10 +471,10 @@ bool8 (*const *const gMovementActionFuncs[])(struct ObjectEvent *, struct Sprite [MOVEMENT_ACTION_FACE_UP_FAST] = sMovementActionFuncs_x05, [MOVEMENT_ACTION_FACE_LEFT_FAST] = sMovementActionFuncs_x06, [MOVEMENT_ACTION_FACE_RIGHT_FAST] = sMovementActionFuncs_x07, - [MOVEMENT_ACTION_WALK_SLOWEST_DOWN] = sMovementActionFuncs_x08, - [MOVEMENT_ACTION_WALK_SLOWEST_UP] = sMovementActionFuncs_x09, - [MOVEMENT_ACTION_WALK_SLOWEST_LEFT] = sMovementActionFuncs_x0A, - [MOVEMENT_ACTION_WALK_SLOWEST_RIGHT] = sMovementActionFuncs_x0B, + [MOVEMENT_ACTION_WALK_SLOWER_DOWN] = sMovementActionFuncs_x08, + [MOVEMENT_ACTION_WALK_SLOWER_UP] = sMovementActionFuncs_x09, + [MOVEMENT_ACTION_WALK_SLOWER_LEFT] = sMovementActionFuncs_x0A, + [MOVEMENT_ACTION_WALK_SLOWER_RIGHT] = sMovementActionFuncs_x0B, [MOVEMENT_ACTION_WALK_SLOW_DOWN] = sMovementActionFuncs_x0C, [MOVEMENT_ACTION_WALK_SLOW_UP] = sMovementActionFuncs_x0D, [MOVEMENT_ACTION_WALK_SLOW_LEFT] = sMovementActionFuncs_x0E, @@ -512,10 +512,10 @@ bool8 (*const *const gMovementActionFuncs[])(struct ObjectEvent *, struct Sprite [MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_UP] = sMovementActionFuncs_x2E, [MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_LEFT] = sMovementActionFuncs_x2F, [MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_RIGHT] = sMovementActionFuncs_x30, - [MOVEMENT_ACTION_FACE_DOWN_SLOW] = sMovementActionFuncs_x31, - [MOVEMENT_ACTION_FACE_UP_SLOW] = sMovementActionFuncs_x32, - [MOVEMENT_ACTION_FACE_LEFT_SLOW] = sMovementActionFuncs_x33, - [MOVEMENT_ACTION_FACE_RIGHT_SLOW] = sMovementActionFuncs_x34, + [MOVEMENT_ACTION_RIDE_WATER_CURRENT_DOWN] = sMovementActionFuncs_x31, + [MOVEMENT_ACTION_RIDE_WATER_CURRENT_UP] = sMovementActionFuncs_x32, + [MOVEMENT_ACTION_RIDE_WATER_CURRENT_LEFT] = sMovementActionFuncs_x33, + [MOVEMENT_ACTION_RIDE_WATER_CURRENT_RIGHT] = sMovementActionFuncs_x34, [MOVEMENT_ACTION_WALK_FASTEST_DOWN] = sMovementActionFuncs_x35, [MOVEMENT_ACTION_WALK_FASTEST_UP] = sMovementActionFuncs_x36, [MOVEMENT_ACTION_WALK_FASTEST_LEFT] = sMovementActionFuncs_x37, @@ -611,28 +611,28 @@ bool8 (*const *const gMovementActionFuncs[])(struct ObjectEvent *, struct Sprite [MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_UP] = sMovementActionFuncs_x91, [MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_LEFT] = sMovementActionFuncs_x92, [MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_RIGHT] = sMovementActionFuncs_x93, - [MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_DOWN] = sMovementActionFuncs_x94, - [MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_UP] = sMovementActionFuncs_x95, - [MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_LEFT] = sMovementActionFuncs_x96, - [MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_RIGHT] = sMovementActionFuncs_x97, + [MOVEMENT_ACTION_SPIN_DOWN] = sMovementActionFuncs_x94, + [MOVEMENT_ACTION_SPIN_UP] = sMovementActionFuncs_x95, + [MOVEMENT_ACTION_SPIN_LEFT] = sMovementActionFuncs_x96, + [MOVEMENT_ACTION_SPIN_RIGHT] = sMovementActionFuncs_x97, [MOVEMENT_ACTION_0x98] = sMovementActionFuncs_x98, [MOVEMENT_ACTION_0x99] = sMovementActionFuncs_x99, [MOVEMENT_ACTION_0x9A] = sMovementActionFuncs_x9A, - [MOVEMENT_ACTION_0x9B] = sMovementActionFuncs_x9B, - [MOVEMENT_ACTION_0x9C] = sMovementActionFuncs_x9C, - [MOVEMENT_ACTION_0x9D] = sMovementActionFuncs_x9D, - [MOVEMENT_ACTION_0x9E] = sMovementActionFuncs_x9E, - [MOVEMENT_ACTION_0x9F] = sMovementActionFuncs_x9F, + [MOVEMENT_ACTION_WALK_SLOWEST_DOWN] = sMovementActionFuncs_x9B, + [MOVEMENT_ACTION_WALK_SLOWEST_UP] = sMovementActionFuncs_x9C, + [MOVEMENT_ACTION_WALK_SLOWEST_LEFT] = sMovementActionFuncs_x9D, + [MOVEMENT_ACTION_WALK_SLOWEST_RIGHT] = sMovementActionFuncs_x9E, + [MOVEMENT_ACTION_SHAKE_HEAD] = sMovementActionFuncs_x9F, [MOVEMENT_ACTION_0xA0] = sMovementActionFuncs_xA0, [MOVEMENT_ACTION_0xA1] = sMovementActionFuncs_xA1, [MOVEMENT_ACTION_0xA2] = sMovementActionFuncs_xA2, [MOVEMENT_ACTION_0xA3] = sMovementActionFuncs_xA3, [MOVEMENT_ACTION_FLY_UP] = sMovementActionFuncs_xA4, [MOVEMENT_ACTION_FLY_DOWN] = sMovementActionFuncs_xA5, - [MOVEMENT_ACTION_0xA6] = sMovementActionFuncs_xA6, - [MOVEMENT_ACTION_0xA7] = sMovementActionFuncs_xA7, - [MOVEMENT_ACTION_0xA8] = sMovementActionFuncs_xA8, - [MOVEMENT_ACTION_0xA9] = sMovementActionFuncs_xA9, + [MOVEMENT_ACTION_JUMP_SPECIAL_WITH_EFFECT_DOWN] = sMovementActionFuncs_xA6, + [MOVEMENT_ACTION_JUMP_SPECIAL_WITH_EFFECT_UP] = sMovementActionFuncs_xA7, + [MOVEMENT_ACTION_JUMP_SPECIAL_WITH_EFFECT_LEFT] = sMovementActionFuncs_xA8, + [MOVEMENT_ACTION_JUMP_SPECIAL_WITH_EFFECT_RIGHT] = sMovementActionFuncs_xA9, }; static bool8 (*const sMovementActionFuncs_x00[])(struct ObjectEvent *, struct Sprite *) = { diff --git a/src/data/object_events/movement_type_func_tables.h b/src/data/object_events/movement_type_func_tables.h index 572a9b390..627d1bc51 100644 --- a/src/data/object_events/movement_type_func_tables.h +++ b/src/data/object_events/movement_type_func_tables.h @@ -4,7 +4,7 @@ static bool8 MovementType_WanderAround_Step2(struct ObjectEvent *objectEvent, st static bool8 MovementType_WanderAround_Step3(struct ObjectEvent *objectEvent, struct Sprite *sprite); static bool8 MovementType_WanderAround_Step4(struct ObjectEvent *objectEvent, struct Sprite *sprite); static bool8 MovementType_WanderAround_Step5(struct ObjectEvent *objectEvent, struct Sprite *sprite); -static bool8 MovementType_WanderAround_Step5Slowest(struct ObjectEvent *objectEvent, struct Sprite *sprite); +static bool8 MovementType_WanderAround_Step5Slower(struct ObjectEvent *objectEvent, struct Sprite *sprite); static bool8 MovementType_WanderAround_Step6(struct ObjectEvent *objectEvent, struct Sprite *sprite); static bool8 MovementType_LookAround_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite); static bool8 MovementType_LookAround_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite); @@ -170,13 +170,13 @@ u8 (*const gMovementTypeFuncs_WanderAround[])(struct ObjectEvent *, struct Sprit MovementType_WanderAround_Step6, }; -u8 (*const gMovementTypeFuncs_WanderAroundSlowest[])(struct ObjectEvent *, struct Sprite *) = { +u8 (*const gMovementTypeFuncs_WanderAroundSlower[])(struct ObjectEvent *, struct Sprite *) = { MovementType_WanderAround_Step0, MovementType_WanderAround_Step1, MovementType_WanderAround_Step2, MovementType_WanderAround_Step3, MovementType_WanderAround_Step4, - MovementType_WanderAround_Step5Slowest, + MovementType_WanderAround_Step5Slower, MovementType_WanderAround_Step6, }; diff --git a/src/event_object_movement.c b/src/event_object_movement.c index 52fb0c078..bd66b32a4 100644 --- a/src/event_object_movement.c +++ b/src/event_object_movement.c @@ -21,7 +21,7 @@ static void MoveCoordsInDirection(u32, s16 *, s16 *, s16, s16); static bool8 ObjectEventExecSingleMovementAction(struct ObjectEvent *, struct Sprite *); static u8 GetCollisionInDirection(struct ObjectEvent *, u8); -static u32 state_to_direction(u8, u32, u32); +static u32 GetCopyDirection(u8, u32, u32); static void TryEnableObjectEventAnim(struct ObjectEvent *, struct Sprite *); static void ObjectEventExecHeldMovementAction(struct ObjectEvent *, struct Sprite *); static void UpdateObjectEventSpriteAnimPause(struct ObjectEvent *, struct Sprite *); @@ -71,7 +71,7 @@ static void LoadObjectEventPalette(u16); static void RemoveObjectEventIfOutsideView(struct ObjectEvent *); static void ReloadMapObjectWithOffset(u8 objectEventId, s16 x, s16 y); static void SetPlayerAvatarObjectEventIdAndObjectId(u8, u8); -static void sub_805EFF4(struct ObjectEvent *); +static void ResetObjectEventFldEffData(struct ObjectEvent *); static u8 TryLoadObjectPalette(const struct SpritePalette *spritePalette); static u8 FindObjectEventPaletteIndexByTag(u16); static bool8 ObjectEventDoesZCoordMatch(struct ObjectEvent *, u8); @@ -148,7 +148,7 @@ static void MovementType_Invisible(struct Sprite *); static void MovementType_VsSeeker4D(struct Sprite *); static void MovementType_VsSeeker4E(struct Sprite *); static void MovementType_VsSeeker4F(struct Sprite *); -static void MovementType_WanderAroundSlowest(struct Sprite *); +static void MovementType_WanderAroundSlower(struct Sprite *); #define movement_type_def(setup, table) \ static u8 setup##_callback(struct ObjectEvent *, struct Sprite *); \ @@ -276,7 +276,7 @@ static void (*const sMovementTypeCallbacks[MOVEMENT_TYPES_COUNT])(struct Sprite [MOVEMENT_TYPE_VS_SEEKER_4D] = MovementType_VsSeeker4D, [MOVEMENT_TYPE_VS_SEEKER_4E] = MovementType_VsSeeker4E, [MOVEMENT_TYPE_VS_SEEKER_4F] = MovementType_VsSeeker4F, - [MOVEMENT_TYPE_WANDER_AROUND_SLOWEST] = MovementType_WanderAroundSlowest, + [MOVEMENT_TYPE_WANDER_AROUND_SLOWER] = MovementType_WanderAroundSlower, }; static const bool8 gRangedMovementTypes[MOVEMENT_TYPES_COUNT] = { @@ -360,7 +360,7 @@ static const bool8 gRangedMovementTypes[MOVEMENT_TYPES_COUNT] = { [MOVEMENT_TYPE_VS_SEEKER_4D] = FALSE, [MOVEMENT_TYPE_VS_SEEKER_4E] = FALSE, [MOVEMENT_TYPE_VS_SEEKER_4F] = FALSE, - [MOVEMENT_TYPE_WANDER_AROUND_SLOWEST] = TRUE, + [MOVEMENT_TYPE_WANDER_AROUND_SLOWER] = TRUE, }; static const u8 gInitialMovementTypeFacingDirections[MOVEMENT_TYPES_COUNT] = { @@ -444,7 +444,7 @@ static const u8 gInitialMovementTypeFacingDirections[MOVEMENT_TYPES_COUNT] = { [MOVEMENT_TYPE_VS_SEEKER_4D] = DIR_SOUTH, [MOVEMENT_TYPE_VS_SEEKER_4E] = DIR_SOUTH, [MOVEMENT_TYPE_VS_SEEKER_4F] = DIR_SOUTH, - [MOVEMENT_TYPE_WANDER_AROUND_SLOWEST] = DIR_SOUTH, + [MOVEMENT_TYPE_WANDER_AROUND_SLOWER] = DIR_SOUTH, }; #define OBJ_EVENT_PAL_TAG_PLAYER_RED 0x1100 @@ -935,15 +935,7 @@ static const u8 gFaceDirectionFastMovementActions[] = { [DIR_EAST] = MOVEMENT_ACTION_FACE_RIGHT_FAST, }; -static const u8 gUnknown_83A64F6[] = { - [DIR_NONE] = MOVEMENT_ACTION_0x9B, - [DIR_SOUTH] = MOVEMENT_ACTION_0x9B, - [DIR_NORTH] = MOVEMENT_ACTION_0x9C, - [DIR_WEST] = MOVEMENT_ACTION_0x9D, - [DIR_EAST] = MOVEMENT_ACTION_0x9E, -}; - -static const u8 gUnknown_83A64FB[] = { +static const u8 gWalkSlowestMovementActions[] = { [DIR_NONE] = MOVEMENT_ACTION_WALK_SLOWEST_DOWN, [DIR_SOUTH] = MOVEMENT_ACTION_WALK_SLOWEST_DOWN, [DIR_NORTH] = MOVEMENT_ACTION_WALK_SLOWEST_UP, @@ -951,6 +943,14 @@ static const u8 gUnknown_83A64FB[] = { [DIR_EAST] = MOVEMENT_ACTION_WALK_SLOWEST_RIGHT, }; +static const u8 gUnknown_83A64FB[] = { + [DIR_NONE] = MOVEMENT_ACTION_WALK_SLOWER_DOWN, + [DIR_SOUTH] = MOVEMENT_ACTION_WALK_SLOWER_DOWN, + [DIR_NORTH] = MOVEMENT_ACTION_WALK_SLOWER_UP, + [DIR_WEST] = MOVEMENT_ACTION_WALK_SLOWER_LEFT, + [DIR_EAST] = MOVEMENT_ACTION_WALK_SLOWER_RIGHT, +}; + static const u8 gUnknown_83A6500[] = { [DIR_NONE] = MOVEMENT_ACTION_WALK_SLOW_DOWN, [DIR_SOUTH] = MOVEMENT_ACTION_WALK_SLOW_DOWN, @@ -984,11 +984,11 @@ static const u8 gUnknown_83A650F[] = { }; static const u8 gUnknown_83A6514[] = { - [DIR_NONE] = MOVEMENT_ACTION_FACE_DOWN_SLOW, - [DIR_SOUTH] = MOVEMENT_ACTION_FACE_DOWN_SLOW, - [DIR_NORTH] = MOVEMENT_ACTION_FACE_UP_SLOW, - [DIR_WEST] = MOVEMENT_ACTION_FACE_LEFT_SLOW, - [DIR_EAST] = MOVEMENT_ACTION_FACE_RIGHT_SLOW, + [DIR_NONE] = MOVEMENT_ACTION_RIDE_WATER_CURRENT_DOWN, + [DIR_SOUTH] = MOVEMENT_ACTION_RIDE_WATER_CURRENT_DOWN, + [DIR_NORTH] = MOVEMENT_ACTION_RIDE_WATER_CURRENT_UP, + [DIR_WEST] = MOVEMENT_ACTION_RIDE_WATER_CURRENT_LEFT, + [DIR_EAST] = MOVEMENT_ACTION_RIDE_WATER_CURRENT_RIGHT, }; static const u8 gUnknown_83A6519[] = { @@ -1024,11 +1024,11 @@ static const u8 gUnknown_83A6528[] = { }; static const u8 gUnknown_83A652D[] = { - [DIR_NONE] = MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_DOWN, - [DIR_SOUTH] = MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_DOWN, - [DIR_NORTH] = MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_UP, - [DIR_WEST] = MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_LEFT, - [DIR_EAST] = MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_RIGHT, + [DIR_NONE] = MOVEMENT_ACTION_SPIN_DOWN, + [DIR_SOUTH] = MOVEMENT_ACTION_SPIN_DOWN, + [DIR_NORTH] = MOVEMENT_ACTION_SPIN_UP, + [DIR_WEST] = MOVEMENT_ACTION_SPIN_LEFT, + [DIR_EAST] = MOVEMENT_ACTION_SPIN_RIGHT, }; static const u8 gUnknown_83A6532[] = { @@ -1072,11 +1072,11 @@ static const u8 gUnknown_83A6546[] = { }; static const u8 gUnknown_83A654B[] = { - [DIR_NONE] = MOVEMENT_ACTION_0xA6, - [DIR_SOUTH] = MOVEMENT_ACTION_0xA6, - [DIR_NORTH] = MOVEMENT_ACTION_0xA7, - [DIR_WEST] = MOVEMENT_ACTION_0xA8, - [DIR_EAST] = MOVEMENT_ACTION_0xA9, + [DIR_NONE] = MOVEMENT_ACTION_JUMP_SPECIAL_WITH_EFFECT_DOWN, + [DIR_SOUTH] = MOVEMENT_ACTION_JUMP_SPECIAL_WITH_EFFECT_DOWN, + [DIR_NORTH] = MOVEMENT_ACTION_JUMP_SPECIAL_WITH_EFFECT_UP, + [DIR_WEST] = MOVEMENT_ACTION_JUMP_SPECIAL_WITH_EFFECT_LEFT, + [DIR_EAST] = MOVEMENT_ACTION_JUMP_SPECIAL_WITH_EFFECT_RIGHT, }; static const u8 gUnknown_83A6550[] = { @@ -1194,14 +1194,14 @@ static const u8 gOppositeDirections[] = { DIR_SOUTHWEST, }; -static const u8 gUnknown_83A6599[][4] = { +static const u8 sPlayerDirectionsForCopy[][4] = { {2, 1, 4, 3}, {1, 2, 3, 4}, {3, 4, 2, 1}, {4, 3, 1, 2} }; -static const u8 gUnknown_83A65A9[][4] = { +static const u8 sPlayerDirectionToCopyDirection[][4] = { {2, 1, 4, 3}, {1, 2, 3, 4}, {4, 3, 1, 2}, @@ -1973,12 +1973,12 @@ static void ReloadMapObjectWithOffset(u8 objectEventId, s16 x, s16 y) { StartSpriteAnim(sprite, GetFaceDirectionAnimNum(objectEvent->facingDirection)); } - sub_805EFF4(objectEvent); + ResetObjectEventFldEffData(objectEvent); SetObjectSubpriorityByZCoord(objectEvent->previousElevation, sprite, 1); } } -static void sub_805EFF4(struct ObjectEvent *objectEvent) +static void ResetObjectEventFldEffData(struct ObjectEvent *objectEvent) { objectEvent->singleMovementActive = FALSE; objectEvent->triggerGroundEffectsOnMove = TRUE; @@ -2285,7 +2285,7 @@ u8 sub_805F6D0(u8 var) return gReflectionEffectPaletteMap[var]; } -void unref_sub_805F6E0(struct ObjectEvent *objectEvent, s16 x, s16 y) +void Unused_IncrementObjectEventCoords(struct ObjectEvent *objectEvent, s16 x, s16 y) { objectEvent->previousCoords.x = objectEvent->currentCoords.x; objectEvent->previousCoords.y = objectEvent->currentCoords.y; @@ -2322,7 +2322,7 @@ void MoveObjectEventToMapCoords(struct ObjectEvent *objectEvent, s16 x, s16 y) sprite->centerToCornerVecY = -(graphicsInfo->height >> 1); sprite->x += 8; sprite->y += 16 + sprite->centerToCornerVecY; - sub_805EFF4(objectEvent); + ResetObjectEventFldEffData(objectEvent); if (objectEvent->trackedByCamera) CameraObjectReset1(); } @@ -2575,14 +2575,13 @@ static u16 GetObjectEventFlagIdByObjectEventId(u8 objectEventId) return GetObjectEventFlagIdByLocalIdAndMap(gObjectEvents[objectEventId].localId, gObjectEvents[objectEventId].mapNum, gObjectEvents[objectEventId].mapGroup); } -u8 sub_805FC9C(u8 localId, u8 mapNum, u8 mapGroup) +u8 Unused_GetObjectTrainerTypeByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup) { u8 objectEventId; if (TryGetObjectEventIdByLocalIdAndMap(localId, mapNum, mapGroup, &objectEventId)) - { return 0xFF; - } + return gObjectEvents[objectEventId].trainerType; } @@ -2591,23 +2590,22 @@ u16 GetObjectEventFlagByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup) return GetObjectEventTemplateByLocalIdAndMap(localId, mapNum, mapGroup)->trainerType; } -u8 sub_808F0BC(u8 objectEventId) +u8 Unused_GetObjectTrainerTypeByObjectEventId(u8 objectEventId) { return gObjectEvents[objectEventId].trainerType; } -u8 sub_805FD08(u8 localId, u8 mapNum, u8 mapGroup) +u8 Unused_GetObjectEventBerryTreeIdByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup) { u8 objectEventId; if (TryGetObjectEventIdByLocalIdAndMap(localId, mapNum, mapGroup, &objectEventId)) - { return 0xFF; - } + return gObjectEvents[objectEventId].trainerRange_berryTreeId; } -u8 ObjectEventGetBerryTreeId(u8 objectEventId) +u8 Unused_GetObjectEventBerryTreeId(u8 objectEventId) { return gObjectEvents[objectEventId].trainerRange_berryTreeId; } @@ -2730,7 +2728,7 @@ u16 GetObjectPaletteTag(u8 palSlot) movement_type_empty_callback(MovementType_None) movement_type_def(MovementType_WanderAround, gMovementTypeFuncs_WanderAround) -movement_type_def(MovementType_WanderAroundSlowest, gMovementTypeFuncs_WanderAroundSlowest) +movement_type_def(MovementType_WanderAroundSlower, gMovementTypeFuncs_WanderAroundSlower) static bool8 MovementType_WanderAround_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { @@ -2790,9 +2788,9 @@ static bool8 MovementType_WanderAround_Step5(struct ObjectEvent *objectEvent, st return TRUE; } -static bool8 MovementType_WanderAround_Step5Slowest(struct ObjectEvent *objectEvent, struct Sprite *sprite) +static bool8 MovementType_WanderAround_Step5Slower(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - ObjectEventSetSingleMovement(objectEvent, sprite, GetWalkSlowestMovementAction(objectEvent->movementDirection)); + ObjectEventSetSingleMovement(objectEvent, sprite, GetWalkSlowerMovementAction(objectEvent->movementDirection)); objectEvent->singleMovementActive = TRUE; sprite->data[1] = 6; return TRUE; @@ -4338,7 +4336,7 @@ static bool8 CopyablePlayerMovement_None(struct ObjectEvent *objectEvent, struct static bool8 CopyablePlayerMovement_FaceDirection(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 playerDirection, bool8 tileCallback(u8)) { - ObjectEventSetSingleMovement(objectEvent, sprite, GetFaceDirectionMovementAction(state_to_direction(gInitialMovementTypeFacingDirections[objectEvent->movementType], objectEvent->directionSequenceIndex, playerDirection))); + ObjectEventSetSingleMovement(objectEvent, sprite, GetFaceDirectionMovementAction(GetCopyDirection(gInitialMovementTypeFacingDirections[objectEvent->movementType], objectEvent->directionSequenceIndex, playerDirection))); objectEvent->singleMovementActive = TRUE; sprite->data[1] = 2; return TRUE; @@ -4351,7 +4349,7 @@ static bool8 CopyablePlayerMovement_GoSpeed0(struct ObjectEvent *objectEvent, st s16 y; direction = playerDirection; - direction = state_to_direction(gInitialMovementTypeFacingDirections[objectEvent->movementType], objectEvent->directionSequenceIndex, direction); + direction = GetCopyDirection(gInitialMovementTypeFacingDirections[objectEvent->movementType], objectEvent->directionSequenceIndex, direction); ObjectEventMoveDestCoords(objectEvent, direction, &x, &y); ObjectEventSetSingleMovement(objectEvent, sprite, GetWalkNormalMovementAction(direction)); if (GetCollisionAtCoords(objectEvent, x, y, direction) || (tileCallback != NULL && !tileCallback(MapGridGetMetatileBehaviorAt(x, y)))) @@ -4370,7 +4368,7 @@ static bool8 CopyablePlayerMovement_GoSpeed1(struct ObjectEvent *objectEvent, st s16 y; direction = playerDirection; - direction = state_to_direction(gInitialMovementTypeFacingDirections[objectEvent->movementType], objectEvent->directionSequenceIndex, direction); + direction = GetCopyDirection(gInitialMovementTypeFacingDirections[objectEvent->movementType], objectEvent->directionSequenceIndex, direction); ObjectEventMoveDestCoords(objectEvent, direction, &x, &y); ObjectEventSetSingleMovement(objectEvent, sprite, GetWalkFastMovementAction(direction)); if (GetCollisionAtCoords(objectEvent, x, y, direction) || (tileCallback != NULL && !tileCallback(MapGridGetMetatileBehaviorAt(x, y)))) @@ -4389,7 +4387,7 @@ static bool8 CopyablePlayerMovement_GoSpeed2(struct ObjectEvent *objectEvent, st s16 y; direction = playerDirection; - direction = state_to_direction(gInitialMovementTypeFacingDirections[objectEvent->movementType], objectEvent->directionSequenceIndex, direction); + direction = GetCopyDirection(gInitialMovementTypeFacingDirections[objectEvent->movementType], objectEvent->directionSequenceIndex, direction); ObjectEventMoveDestCoords(objectEvent, direction, &x, &y); ObjectEventSetSingleMovement(objectEvent, sprite, GetWalkFastestMovementAction(direction)); if (GetCollisionAtCoords(objectEvent, x, y, direction) || (tileCallback != NULL && !tileCallback(MapGridGetMetatileBehaviorAt(x, y)))) @@ -4408,7 +4406,7 @@ static bool8 CopyablePlayerMovement_Slide(struct ObjectEvent *objectEvent, struc s16 y; direction = playerDirection; - direction = state_to_direction(gInitialMovementTypeFacingDirections[objectEvent->movementType], objectEvent->directionSequenceIndex, direction); + direction = GetCopyDirection(gInitialMovementTypeFacingDirections[objectEvent->movementType], objectEvent->directionSequenceIndex, direction); ObjectEventMoveDestCoords(objectEvent, direction, &x, &y); ObjectEventSetSingleMovement(objectEvent, sprite, GetSlideMovementAction(direction)); if (GetCollisionAtCoords(objectEvent, x, y, direction) || (tileCallback != NULL && !tileCallback(MapGridGetMetatileBehaviorAt(x, y)))) @@ -4425,7 +4423,7 @@ static bool8 cph_IM_DIFFERENT(struct ObjectEvent *objectEvent, struct Sprite *sp u32 direction; direction = playerDirection; - direction = state_to_direction(gInitialMovementTypeFacingDirections[objectEvent->movementType], objectEvent->directionSequenceIndex, direction); + direction = GetCopyDirection(gInitialMovementTypeFacingDirections[objectEvent->movementType], objectEvent->directionSequenceIndex, direction); ObjectEventSetSingleMovement(objectEvent, sprite, GetJumpInPlaceMovementAction(direction)); objectEvent->singleMovementActive = TRUE; sprite->data[1] = 2; @@ -4439,7 +4437,7 @@ static bool8 CopyablePlayerMovement_GoSpeed4(struct ObjectEvent *objectEvent, st s16 y; direction = playerDirection; - direction = state_to_direction(gInitialMovementTypeFacingDirections[objectEvent->movementType], objectEvent->directionSequenceIndex, direction); + direction = GetCopyDirection(gInitialMovementTypeFacingDirections[objectEvent->movementType], objectEvent->directionSequenceIndex, direction); ObjectEventMoveDestCoords(objectEvent, direction, &x, &y); ObjectEventSetSingleMovement(objectEvent, sprite, GetJumpMovementAction(direction)); if (GetCollisionAtCoords(objectEvent, x, y, direction) || (tileCallback != NULL && !tileCallback(MapGridGetMetatileBehaviorAt(x, y)))) @@ -4458,7 +4456,7 @@ static bool8 CopyablePlayerMovement_Jump(struct ObjectEvent *objectEvent, struct s16 y; direction = playerDirection; - direction = state_to_direction(gInitialMovementTypeFacingDirections[objectEvent->movementType], objectEvent->directionSequenceIndex, direction); + direction = GetCopyDirection(gInitialMovementTypeFacingDirections[objectEvent->movementType], objectEvent->directionSequenceIndex, direction); x = objectEvent->currentCoords.x; y = objectEvent->currentCoords.y; MoveCoordsInDirection(direction, &x, &y, 2, 2); @@ -4741,7 +4739,7 @@ u8 GetAcroEndWheelieDirectionAnimNum(u8 direction) return gAcroEndWheelieDirectionAnimNums[direction]; } -u8 sub_80634C0(u8 direction) +u8 GetSpinDirectionAnimNum(u8 direction) { return gUnknown_83A6465[direction]; } @@ -4776,60 +4774,52 @@ u8 GetRunningDirectionAnimNum(u8 direction) return gRunningDirectionAnimNums[direction]; } -static const struct UnkStruct_083A3698 *sub_8063530(const union AnimCmd *const *anims) +static const struct UnkStruct_083A3698 *GetStepAnimTable(const union AnimCmd *const *anims) { - const struct UnkStruct_083A3698 *retval; + const struct UnkStruct_083A3698 *stepTable; + + for (stepTable = gUnknown_83A3698; stepTable->anims != NULL; stepTable++) + if (stepTable->anims == anims) + return stepTable; - for (retval = gUnknown_83A3698; retval->anims != NULL; retval++) - { - if (retval->anims == anims) - { - return retval; - } - } return NULL; } -void npc_apply_anim_looping(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 animNum) +void SetStepAnimHandleAlternation(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 animNum) { - const struct UnkStruct_083A3698 *unk83A3698; + const struct UnkStruct_083A3698 *stepTable; if (!objectEvent->inanimate) { sprite->animNum = animNum; - unk83A3698 = sub_8063530(sprite->anims); - if (unk83A3698 != NULL) + stepTable = GetStepAnimTable(sprite->anims); + if (stepTable != NULL) { - if (sprite->animCmdIndex == unk83A3698->animPos[0]) - { - sprite->animCmdIndex = unk83A3698->animPos[3]; - } - else if (sprite->animCmdIndex == unk83A3698->animPos[1]) - { - sprite->animCmdIndex = unk83A3698->animPos[2]; - } + if (sprite->animCmdIndex == stepTable->animPos[0]) + sprite->animCmdIndex = stepTable->animPos[3]; + else if (sprite->animCmdIndex == stepTable->animPos[1]) + sprite->animCmdIndex = stepTable->animPos[2]; } SeekSpriteAnim(sprite, sprite->animCmdIndex); } } -void obj_npc_animation_step(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 animNum) +void SetStepAnim(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 animNum) { - const struct UnkStruct_083A3698 *unk83A3698; + const struct UnkStruct_083A3698 *stepTable; if (!objectEvent->inanimate) { u8 animPos; sprite->animNum = animNum; - unk83A3698 = sub_8063530(sprite->anims); - if (unk83A3698 != NULL) + stepTable = GetStepAnimTable(sprite->anims); + if (stepTable != NULL) { - animPos = unk83A3698->animPos[1]; - if (sprite->animCmdIndex <= unk83A3698->animPos[0]) - { - animPos = unk83A3698->animPos[0]; - } + animPos = stepTable->animPos[1]; + if (sprite->animCmdIndex <= stepTable->animPos[0]) + animPos = stepTable->animPos[0]; + SeekSpriteAnim(sprite, animPos); } } @@ -5216,18 +5206,16 @@ u8 name(u32 idx) \ dirn_to_anim(GetFaceDirectionMovementAction, gFaceDirectionMovementActions); dirn_to_anim(GetFaceDirectionFastMovementAction, gFaceDirectionFastMovementActions); -u8 sub_8063F10(u32 idx) +u8 GetWalkSlowestMovementAction(u32 idx) { - u8 direction; - - direction = idx; - + u8 direction = idx; if (direction > DIR_EAST) direction = DIR_NONE; - return gUnknown_83A64F6[direction]; + + return gWalkSlowestMovementActions[direction]; } -dirn_to_anim(GetWalkSlowestMovementAction, gUnknown_83A64FB); +dirn_to_anim(GetWalkSlowerMovementAction, gUnknown_83A64FB); dirn_to_anim(GetWalkSlowMovementAction, gUnknown_83A6500); dirn_to_anim(GetWalkNormalMovementAction, gUnknown_83A6505); dirn_to_anim(GetWalkFastMovementAction, gUnknown_83A650A); @@ -5243,7 +5231,7 @@ dirn_to_anim(GetJumpInPlaceMovementAction, gUnknown_83A6537); dirn_to_anim(GetJumpInPlaceTurnAroundMovementAction, gUnknown_83A653C); dirn_to_anim(GetJumpMovementAction, gUnknown_83A6541); dirn_to_anim(GetJumpSpecialMovementAction, gUnknown_83A6546); -dirn_to_anim(sub_80641EC, gUnknown_83A654B); +dirn_to_anim(GetJumpSpecialWithEffectMovementAction, gUnknown_83A654B); dirn_to_anim(GetStepInPlaceDelay32AnimId, gUnknown_83A6550); dirn_to_anim(GetWalkInPlaceNormalMovementAction, gUnknown_83A6555); dirn_to_anim(GetWalkInPlaceSlowMovementAction, gUnknown_83A655A); @@ -5276,25 +5264,22 @@ u8 GetOppositeDirection(u8 direction) return directions[direction - 1]; } -static u32 zffu_offset_calc(u8 a0, u8 a1) +static u32 GetPlayerDirectionForCopy(u8 initDir, u8 moveDir) { - return gUnknown_83A6599[a0 - 1][a1 - 1]; + return sPlayerDirectionsForCopy[initDir - 1][moveDir - 1]; } -static u32 state_to_direction(u8 a0, u32 a1, u32 a2) +static u32 GetCopyDirection(u8 copyInitDir, u32 playerInitDir, u32 playerMoveDir) { - u32 zffuOffset; - u8 a1_2; - u8 a2_2; + u32 dir; + u8 _playerInitDir = playerInitDir; + u8 _playerMoveDir = playerMoveDir; + if (_playerInitDir == DIR_NONE || _playerMoveDir == DIR_NONE + || _playerInitDir > DIR_EAST || _playerMoveDir > DIR_EAST) + return DIR_NONE; - a1_2 = a1; - a2_2 = a2; - if (a1_2 == 0 || a2_2 == 0 || a1_2 > DIR_EAST || a2_2 > DIR_EAST) - { - return 0; - } - zffuOffset = zffu_offset_calc(a1_2, a2); - return gUnknown_83A65A9[a0 - 1][zffuOffset - 1]; + dir = GetPlayerDirectionForCopy(_playerInitDir, playerMoveDir); + return sPlayerDirectionToCopyDirection[copyInitDir - 1][dir - 1]; } static void ObjectEventExecHeldMovementAction(struct ObjectEvent *objectEvent, struct Sprite *sprite) @@ -5341,7 +5326,7 @@ static void FaceDirection(struct ObjectEvent *objectEvent, struct Sprite *sprite { SetObjectEventDirection(objectEvent, direction); ShiftStillObjectEventCoords(objectEvent); - obj_npc_animation_step(objectEvent, sprite, GetMoveDirectionAnimNum(objectEvent->facingDirection)); + SetStepAnim(objectEvent, sprite, GetMoveDirectionAnimNum(objectEvent->facingDirection)); sprite->animPaused = TRUE; sprite->data[2] = 1; } @@ -5370,7 +5355,7 @@ static bool8 MovementAction_FaceRight_Step0(struct ObjectEvent *objectEvent, str return TRUE; } -void npc_apply_direction(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 direction, u8 speed) +void InitNpcForMovement(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 direction, u8 speed) { s16 x; s16 y; @@ -5380,30 +5365,30 @@ void npc_apply_direction(struct ObjectEvent *objectEvent, struct Sprite *sprite, SetObjectEventDirection(objectEvent, direction); MoveCoords(direction, &x, &y); ShiftObjectEventCoords(objectEvent, x, y); - oamt_npc_ministep_reset(sprite, direction, speed); + SetSpriteDataForNormalStep(sprite, direction, speed); sprite->animPaused = FALSE; objectEvent->triggerGroundEffectsOnMove = TRUE; sprite->data[2] = 1; } -void do_go_anim(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 direction, u8 speed) +void InitMovementNormal(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 direction, u8 speed) { u8 (*functions[NELEMS(gUnknown_83A6884)])(u8); memcpy(functions, gUnknown_83A6884, sizeof gUnknown_83A6884); - npc_apply_direction(objectEvent, sprite, direction, speed); - npc_apply_anim_looping(objectEvent, sprite, functions[speed](objectEvent->facingDirection)); + InitNpcForMovement(objectEvent, sprite, direction, speed); + SetStepAnimHandleAlternation(objectEvent, sprite, functions[speed](objectEvent->facingDirection)); } void StartRunningAnim(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 direction) { - npc_apply_direction(objectEvent, sprite, direction, 1); - npc_apply_anim_looping(objectEvent, sprite, GetRunningDirectionAnimNum(objectEvent->facingDirection)); + InitNpcForMovement(objectEvent, sprite, direction, 1); + SetStepAnimHandleAlternation(objectEvent, sprite, GetRunningDirectionAnimNum(objectEvent->facingDirection)); } -bool8 npc_obj_ministep_stop_on_arrival(struct ObjectEvent *objectEvent, struct Sprite *sprite) +bool8 UpdateMovementNormal(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (obj_npc_ministep(sprite)) + if (NpcTakeStep(sprite)) { ShiftStillObjectEventCoords(objectEvent); objectEvent->triggerGroundEffectsOnStop = TRUE; @@ -5413,7 +5398,7 @@ bool8 npc_obj_ministep_stop_on_arrival(struct ObjectEvent *objectEvent, struct S return FALSE; } -void InitNpcForWalkSlow(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 direction) +void InitNpcForWalkSlower(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 direction) { s16 x; s16 y; @@ -5423,21 +5408,21 @@ void InitNpcForWalkSlow(struct ObjectEvent *objectEvent, struct Sprite *sprite, SetObjectEventDirection(objectEvent, direction); MoveCoords(direction, &x, &y); ShiftObjectEventCoords(objectEvent, x, y); - SetSpriteDataForNormalStep(sprite, direction); + SetWalkSlowerSpriteData(sprite, direction); sprite->animPaused = FALSE; objectEvent->triggerGroundEffectsOnMove = TRUE; sprite->data[2] = 1; } -void InitWalkSlow(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 direction) +void InitWalkSlower(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 direction) { - InitNpcForWalkSlow(objectEvent, sprite, direction); - npc_apply_anim_looping(objectEvent, sprite, GetMoveDirectionAnimNum(objectEvent->facingDirection)); + InitNpcForWalkSlower(objectEvent, sprite, direction); + SetStepAnimHandleAlternation(objectEvent, sprite, GetMoveDirectionAnimNum(objectEvent->facingDirection)); } -bool8 an_walk_any_2(struct ObjectEvent *objectEvent, struct Sprite *sprite) +bool8 UpdateWalkSlower(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (NpcTakeStep(sprite)) + if (UpdateWalkSlowerAnim(sprite)) { ShiftStillObjectEventCoords(objectEvent); objectEvent->triggerGroundEffectsOnStop = TRUE; @@ -5447,7 +5432,7 @@ bool8 an_walk_any_2(struct ObjectEvent *objectEvent, struct Sprite *sprite) return FALSE; } -void InitNpcForWalkSlow2(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 direction) +void InitNpcForWalkSlowest(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 direction) { s16 x; s16 y; @@ -5457,21 +5442,21 @@ void InitNpcForWalkSlow2(struct ObjectEvent *objectEvent, struct Sprite *sprite, SetObjectEventDirection(objectEvent, direction); MoveCoords(direction, &x, &y); ShiftObjectEventCoords(objectEvent, x, y); - SetSpriteDataForNormalStep2(sprite, direction); + SetWalkSlowestSpriteData(sprite, direction); sprite->animPaused = FALSE; objectEvent->triggerGroundEffectsOnMove = TRUE; sprite->data[2] = 1; } -void InitWalkSlow2(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 direction) +void InitWalkSlowest(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 direction) { - InitNpcForWalkSlow2(objectEvent, sprite, direction); - npc_apply_anim_looping(objectEvent, sprite, GetMoveDirectionAnimNum(objectEvent->facingDirection)); + InitNpcForWalkSlowest(objectEvent, sprite, direction); + SetStepAnimHandleAlternation(objectEvent, sprite, GetMoveDirectionAnimNum(objectEvent->facingDirection)); } -bool8 UpdateWalkSlow(struct ObjectEvent *objectEvent, struct Sprite *sprite) +bool8 UpdateWalkSlowest(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (UpdateWalkSlowAnim(sprite)) + if (UpdateWalkSlowestAnim(sprite)) { ShiftStillObjectEventCoords(objectEvent); objectEvent->triggerGroundEffectsOnStop = TRUE; @@ -5483,13 +5468,13 @@ bool8 UpdateWalkSlow(struct ObjectEvent *objectEvent, struct Sprite *sprite) static bool8 MovementActionFunc_x9B_0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - InitWalkSlow2(objectEvent, sprite, DIR_SOUTH); + InitWalkSlowest(objectEvent, sprite, DIR_SOUTH); return MovementActionFunc_x9B_1(objectEvent, sprite); } static bool8 MovementActionFunc_x9B_1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (UpdateWalkSlow(objectEvent, sprite)) + if (UpdateWalkSlowest(objectEvent, sprite)) { sprite->data[2] = 2; return TRUE; @@ -5499,13 +5484,13 @@ static bool8 MovementActionFunc_x9B_1(struct ObjectEvent *objectEvent, struct Sp static bool8 MovementActionFunc_x9C_0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - InitWalkSlow2(objectEvent, sprite, DIR_NORTH); + InitWalkSlowest(objectEvent, sprite, DIR_NORTH); return MovementActionFunc_x9C_1(objectEvent, sprite); } static bool8 MovementActionFunc_x9C_1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (UpdateWalkSlow(objectEvent, sprite)) + if (UpdateWalkSlowest(objectEvent, sprite)) { sprite->data[2] = 2; return TRUE; @@ -5515,13 +5500,13 @@ static bool8 MovementActionFunc_x9C_1(struct ObjectEvent *objectEvent, struct Sp static bool8 MovementActionFunc_x9D_0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - InitWalkSlow2(objectEvent, sprite, DIR_WEST); + InitWalkSlowest(objectEvent, sprite, DIR_WEST); return MovementActionFunc_x9D_1(objectEvent, sprite); } static bool8 MovementActionFunc_x9D_1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (UpdateWalkSlow(objectEvent, sprite)) + if (UpdateWalkSlowest(objectEvent, sprite)) { sprite->data[2] = 2; return TRUE; @@ -5531,13 +5516,13 @@ static bool8 MovementActionFunc_x9D_1(struct ObjectEvent *objectEvent, struct Sp static bool8 MovementActionFunc_x9E_0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - InitWalkSlow2(objectEvent, sprite, DIR_EAST); + InitWalkSlowest(objectEvent, sprite, DIR_EAST); return MovementActionFunc_x9E_1(objectEvent, sprite); } static bool8 MovementActionFunc_x9E_1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (UpdateWalkSlow(objectEvent, sprite)) + if (UpdateWalkSlowest(objectEvent, sprite)) { sprite->data[2] = 2; return TRUE; @@ -5547,13 +5532,13 @@ static bool8 MovementActionFunc_x9E_1(struct ObjectEvent *objectEvent, struct Sp static bool8 MovementActionFunc_x08_0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - InitWalkSlow(objectEvent, sprite, DIR_SOUTH); + InitWalkSlower(objectEvent, sprite, DIR_SOUTH); return MovementActionFunc_x08_1(objectEvent, sprite); } static bool8 MovementActionFunc_x08_1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (an_walk_any_2(objectEvent, sprite)) + if (UpdateWalkSlower(objectEvent, sprite)) { sprite->data[2] = 2; return TRUE; @@ -5563,13 +5548,13 @@ static bool8 MovementActionFunc_x08_1(struct ObjectEvent *objectEvent, struct Sp static bool8 MovementActionFunc_x09_0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - InitWalkSlow(objectEvent, sprite, DIR_NORTH); + InitWalkSlower(objectEvent, sprite, DIR_NORTH); return MovementActionFunc_x09_1(objectEvent, sprite); } static bool8 MovementActionFunc_x09_1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (an_walk_any_2(objectEvent, sprite)) + if (UpdateWalkSlower(objectEvent, sprite)) { sprite->data[2] = 2; return TRUE; @@ -5579,13 +5564,13 @@ static bool8 MovementActionFunc_x09_1(struct ObjectEvent *objectEvent, struct Sp static bool8 MovementActionFunc_x0A_0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - InitWalkSlow(objectEvent, sprite, DIR_WEST); + InitWalkSlower(objectEvent, sprite, DIR_WEST); return MovementActionFunc_x0A_1(objectEvent, sprite); } static bool8 MovementActionFunc_x0A_1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (an_walk_any_2(objectEvent, sprite)) + if (UpdateWalkSlower(objectEvent, sprite)) { sprite->data[2] = 2; return TRUE; @@ -5595,13 +5580,13 @@ static bool8 MovementActionFunc_x0A_1(struct ObjectEvent *objectEvent, struct Sp static bool8 MovementActionFunc_x0B_0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - InitWalkSlow(objectEvent, sprite, DIR_EAST); + InitWalkSlower(objectEvent, sprite, DIR_EAST); return MovementActionFunc_x0B_1(objectEvent, sprite); } static bool8 MovementActionFunc_x0B_1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (an_walk_any_2(objectEvent, sprite)) + if (UpdateWalkSlower(objectEvent, sprite)) { sprite->data[2] = 2; return TRUE; @@ -5609,7 +5594,9 @@ static bool8 MovementActionFunc_x0B_1(struct ObjectEvent *objectEvent, struct Sp return FALSE; } -void sub_8064B68(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 direction) +// InitNpcForWalkSlow, InitNpcForWalkSlower, InitNpcForWalkSlowest, and +// InitNpcForRunSlow are functionally equivalent +void InitNpcForWalkSlow(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 direction) { s16 x; s16 y; @@ -5619,21 +5606,23 @@ void sub_8064B68(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 dire SetObjectEventDirection(objectEvent, direction); MoveCoords(direction, &x, &y); ShiftObjectEventCoords(objectEvent, x, y); - SetSpriteDataForNormalStep3(sprite, direction); + SetWalkSlowSpriteData(sprite, direction); sprite->animPaused = FALSE; objectEvent->triggerGroundEffectsOnMove = TRUE; sprite->data[2] = 1; } -void sub_8064BD8(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 direction) +// InitWalkSlow, InitWalkSlower, InitWalkSlowest, and InitRunSlow are +// functionally equivalent +void InitWalkSlow(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 direction) { - sub_8064B68(objectEvent, sprite, direction); - npc_apply_anim_looping(objectEvent, sprite, GetMoveDirectionAnimNum(objectEvent->facingDirection)); + InitNpcForWalkSlow(objectEvent, sprite, direction); + SetStepAnimHandleAlternation(objectEvent, sprite, GetMoveDirectionAnimNum(objectEvent->facingDirection)); } -bool8 sub_8064C04(struct ObjectEvent *objectEvent, struct Sprite *sprite) +bool8 UpdateWalkSlow(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (sub_8068C18(sprite)) + if (UpdateWalkSlowAnim(sprite)) { ShiftStillObjectEventCoords(objectEvent); objectEvent->triggerGroundEffectsOnStop = TRUE; @@ -5645,13 +5634,13 @@ bool8 sub_8064C04(struct ObjectEvent *objectEvent, struct Sprite *sprite) static bool8 MovementActionFunc_x0D_0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_8064BD8(objectEvent, sprite, DIR_NORTH); + InitWalkSlow(objectEvent, sprite, DIR_NORTH); return MovementActionFunc_x0D_1(objectEvent, sprite); } static bool8 MovementActionFunc_x0D_1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (sub_8064C04(objectEvent, sprite)) + if (UpdateWalkSlow(objectEvent, sprite)) { sprite->data[2] = 2; return TRUE; @@ -5661,13 +5650,13 @@ static bool8 MovementActionFunc_x0D_1(struct ObjectEvent *objectEvent, struct Sp static bool8 MovementActionFunc_x0C_0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_8064BD8(objectEvent, sprite, DIR_SOUTH); + InitWalkSlow(objectEvent, sprite, DIR_SOUTH); return MovementActionFunc_x0C_1(objectEvent, sprite); } static bool8 MovementActionFunc_x0C_1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (sub_8064C04(objectEvent, sprite)) + if (UpdateWalkSlow(objectEvent, sprite)) { sprite->data[2] = 2; return TRUE; @@ -5677,13 +5666,13 @@ static bool8 MovementActionFunc_x0C_1(struct ObjectEvent *objectEvent, struct Sp static bool8 MovementActionFunc_x0E_0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_8064BD8(objectEvent, sprite, DIR_WEST); + InitWalkSlow(objectEvent, sprite, DIR_WEST); return MovementActionFunc_x0E_1(objectEvent, sprite); } static bool8 MovementActionFunc_x0E_1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (sub_8064C04(objectEvent, sprite)) + if (UpdateWalkSlow(objectEvent, sprite)) { sprite->data[2] = 2; return TRUE; @@ -5693,13 +5682,13 @@ static bool8 MovementActionFunc_x0E_1(struct ObjectEvent *objectEvent, struct Sp static bool8 MovementActionFunc_x0F_0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_8064BD8(objectEvent, sprite, DIR_EAST); + InitWalkSlow(objectEvent, sprite, DIR_EAST); return MovementActionFunc_x0F_1(objectEvent, sprite); } static bool8 MovementActionFunc_x0F_1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (sub_8064C04(objectEvent, sprite)) + if (UpdateWalkSlow(objectEvent, sprite)) { sprite->data[2] = 2; return TRUE; @@ -5709,13 +5698,13 @@ static bool8 MovementActionFunc_x0F_1(struct ObjectEvent *objectEvent, struct Sp static bool8 MovementAction_WalkNormalDown_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - do_go_anim(objectEvent, sprite, DIR_SOUTH, 0); + InitMovementNormal(objectEvent, sprite, DIR_SOUTH, 0); return MovementAction_WalkNormalDown_Step1(objectEvent, sprite); } static bool8 MovementAction_WalkNormalDown_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(objectEvent, sprite)) + if (UpdateMovementNormal(objectEvent, sprite)) { sprite->data[2] = 2; return TRUE; @@ -5725,13 +5714,13 @@ static bool8 MovementAction_WalkNormalDown_Step1(struct ObjectEvent *objectEvent static bool8 MovementAction_WalkNormalUp_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - do_go_anim(objectEvent, sprite, DIR_NORTH, 0); + InitMovementNormal(objectEvent, sprite, DIR_NORTH, 0); return MovementAction_WalkNormalUp_Step1(objectEvent, sprite); } static bool8 MovementAction_WalkNormalUp_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(objectEvent, sprite)) + if (UpdateMovementNormal(objectEvent, sprite)) { sprite->data[2] = 2; return TRUE; @@ -5741,13 +5730,13 @@ static bool8 MovementAction_WalkNormalUp_Step1(struct ObjectEvent *objectEvent, static bool8 MovementAction_WalkNormalLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - do_go_anim(objectEvent, sprite, DIR_WEST, 0); + InitMovementNormal(objectEvent, sprite, DIR_WEST, 0); return MovementAction_WalkNormalLeft_Step1(objectEvent, sprite); } static bool8 MovementAction_WalkNormalLeft_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(objectEvent, sprite)) + if (UpdateMovementNormal(objectEvent, sprite)) { sprite->data[2] = 2; return TRUE; @@ -5757,13 +5746,13 @@ static bool8 MovementAction_WalkNormalLeft_Step1(struct ObjectEvent *objectEvent static bool8 MovementAction_WalkNormalRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - do_go_anim(objectEvent, sprite, DIR_EAST, 0); + InitMovementNormal(objectEvent, sprite, DIR_EAST, 0); return MovementAction_WalkNormalRight_Step1(objectEvent, sprite); } static bool8 MovementAction_WalkNormalRight_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(objectEvent, sprite)) + if (UpdateMovementNormal(objectEvent, sprite)) { sprite->data[2] = 2; return TRUE; @@ -5771,7 +5760,7 @@ static bool8 MovementAction_WalkNormalRight_Step1(struct ObjectEvent *objectEven return FALSE; } -void sub_8064E3C(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 direction, u8 speed, u8 a5) +void InitJump(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 direction, u8 speed, u8 a5) { s16 displacements[NELEMS(gUnknown_83A6958)]; s16 x; @@ -5790,14 +5779,14 @@ void sub_8064E3C(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 dire objectEvent->disableCoveringGroundEffects = 1; } -void maybe_shadow_1(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 direction, u8 speed, u8 a4) +void InitJumpRegular(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 direction, u8 speed, u8 a4) { - sub_8064E3C(objectEvent, sprite, direction, speed, a4); - npc_apply_anim_looping(objectEvent, sprite, GetMoveDirectionAnimNum(objectEvent->facingDirection)); + InitJump(objectEvent, sprite, direction, speed, a4); + SetStepAnimHandleAlternation(objectEvent, sprite, GetMoveDirectionAnimNum(objectEvent->facingDirection)); DoShadowFieldEffect(objectEvent); } -u8 sub_8064F3C(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 callback(struct Sprite *)) +u8 UpdateJumpAnim(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 callback(struct Sprite *)) { s16 displacements[NELEMS(gUnknown_83A695E)]; s16 x; @@ -5825,43 +5814,41 @@ u8 sub_8064F3C(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 callba return result; } -u8 sub_8065000(struct ObjectEvent *objectEvent, struct Sprite *sprite) +u8 DoJumpAnimStep(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - return sub_8064F3C(objectEvent, sprite, DoJumpSpriteMovement); + return UpdateJumpAnim(objectEvent, sprite, DoJumpSpriteMovement); } -u8 sub_8065014(struct ObjectEvent *objectEvent, struct Sprite *sprite) +u8 DoJumpSpecialAnimStep(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - return sub_8064F3C(objectEvent, sprite, DoJumpSpecialSpriteMovement); + return UpdateJumpAnim(objectEvent, sprite, DoJumpSpecialSpriteMovement); } -bool8 sub_8065028(struct ObjectEvent *objectEvent, struct Sprite *sprite) +bool8 DoJumpAnim(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (sub_8065000(objectEvent, sprite) == 0xFF) - { + if (DoJumpAnimStep(objectEvent, sprite) == 0xFF) return TRUE; - } + return FALSE; } -bool8 sub_8065040(struct ObjectEvent *objectEvent, struct Sprite *sprite) +bool8 DoJumpSpecialAnim(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (sub_8065014(objectEvent, sprite) == 0xFF) - { + if (DoJumpSpecialAnimStep(objectEvent, sprite) == 0xFF) return TRUE; - } + return FALSE; } -bool8 sub_8065058(struct ObjectEvent *objectEvent, struct Sprite *sprite) +bool8 DoJumpInPlaceAnim(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - switch (sub_8065000(objectEvent, sprite)) + switch (DoJumpAnimStep(objectEvent, sprite)) { case 0xFF: return TRUE; case 1: SetObjectEventDirection(objectEvent, GetOppositeDirection(objectEvent->movementDirection)); - obj_npc_animation_step(objectEvent, sprite, GetMoveDirectionAnimNum(objectEvent->facingDirection)); + SetStepAnim(objectEvent, sprite, GetMoveDirectionAnimNum(objectEvent->facingDirection)); default: return FALSE; } @@ -5869,13 +5856,13 @@ bool8 sub_8065058(struct ObjectEvent *objectEvent, struct Sprite *sprite) static bool8 MovementAction_Jump2Down_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - maybe_shadow_1(objectEvent, sprite, DIR_SOUTH, 2, 0); + InitJumpRegular(objectEvent, sprite, DIR_SOUTH, 2, 0); return MovementAction_Jump2Down_Step1(objectEvent, sprite); } static bool8 MovementAction_Jump2Down_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (sub_8065028(objectEvent, sprite)) + if (DoJumpAnim(objectEvent, sprite)) { objectEvent->hasShadow = FALSE; sprite->data[2] = 2; @@ -5886,13 +5873,13 @@ static bool8 MovementAction_Jump2Down_Step1(struct ObjectEvent *objectEvent, str static bool8 MovementAction_Jump2Up_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - maybe_shadow_1(objectEvent, sprite, DIR_NORTH, 2, 0); + InitJumpRegular(objectEvent, sprite, DIR_NORTH, 2, 0); return MovementAction_Jump2Up_Step1(objectEvent, sprite); } static bool8 MovementAction_Jump2Up_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (sub_8065028(objectEvent, sprite)) + if (DoJumpAnim(objectEvent, sprite)) { objectEvent->hasShadow = FALSE; sprite->data[2] = 2; @@ -5903,13 +5890,13 @@ static bool8 MovementAction_Jump2Up_Step1(struct ObjectEvent *objectEvent, struc static bool8 MovementAction_Jump2Left_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - maybe_shadow_1(objectEvent, sprite, DIR_WEST, 2, 0); + InitJumpRegular(objectEvent, sprite, DIR_WEST, 2, 0); return MovementAction_Jump2Left_Step1(objectEvent, sprite); } static bool8 MovementAction_Jump2Left_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (sub_8065028(objectEvent, sprite)) + if (DoJumpAnim(objectEvent, sprite)) { objectEvent->hasShadow = FALSE; sprite->data[2] = 2; @@ -5920,13 +5907,13 @@ static bool8 MovementAction_Jump2Left_Step1(struct ObjectEvent *objectEvent, str static bool8 MovementAction_Jump2Right_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - maybe_shadow_1(objectEvent, sprite, DIR_EAST, 2, 0); + InitJumpRegular(objectEvent, sprite, DIR_EAST, 2, 0); return MovementAction_Jump2Right_Step1(objectEvent, sprite); } static bool8 MovementAction_Jump2Right_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (sub_8065028(objectEvent, sprite)) + if (DoJumpAnim(objectEvent, sprite)) { objectEvent->hasShadow = FALSE; sprite->data[2] = 2; @@ -5935,7 +5922,7 @@ static bool8 MovementAction_Jump2Right_Step1(struct ObjectEvent *objectEvent, st return FALSE; } -void sub_8065208(struct Sprite *sprite, u16 duration) +void InitMovementDelay(struct Sprite *sprite, u16 duration) { sprite->data[2] = 1; sprite->data[3] = duration; @@ -5953,43 +5940,43 @@ static bool8 MovementAction_Delay_Step1(struct ObjectEvent *objectEvent, struct static bool8 MovementAction_Delay1_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_8065208(sprite, 1); + InitMovementDelay(sprite, 1); return MovementAction_Delay_Step1(objectEvent, sprite); } static bool8 MovementAction_Delay2_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_8065208(sprite, 2); + InitMovementDelay(sprite, 2); return MovementAction_Delay_Step1(objectEvent, sprite); } static bool8 MovementAction_Delay4_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_8065208(sprite, 4); + InitMovementDelay(sprite, 4); return MovementAction_Delay_Step1(objectEvent, sprite); } static bool8 MovementAction_Delay8_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_8065208(sprite, 8); + InitMovementDelay(sprite, 8); return MovementAction_Delay_Step1(objectEvent, sprite); } static bool8 MovementAction_Delay16_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_8065208(sprite, 16); + InitMovementDelay(sprite, 16); return MovementAction_Delay_Step1(objectEvent, sprite); } static bool8 MovementAction_WalkFastDown_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - do_go_anim(objectEvent, sprite, DIR_SOUTH, 1); + InitMovementNormal(objectEvent, sprite, DIR_SOUTH, 1); return MovementAction_WalkFastDown_Step1(objectEvent, sprite); } static bool8 MovementAction_WalkFastDown_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(objectEvent, sprite)) + if (UpdateMovementNormal(objectEvent, sprite)) { sprite->data[2] = 2; return TRUE; @@ -5999,13 +5986,13 @@ static bool8 MovementAction_WalkFastDown_Step1(struct ObjectEvent *objectEvent, static bool8 MovementAction_WalkFastUp_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - do_go_anim(objectEvent, sprite, DIR_NORTH, 1); + InitMovementNormal(objectEvent, sprite, DIR_NORTH, 1); return MovementAction_WalkFastUp_Step1(objectEvent, sprite); } static bool8 MovementAction_WalkFastUp_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(objectEvent, sprite)) + if (UpdateMovementNormal(objectEvent, sprite)) { sprite->data[2] = 2; return TRUE; @@ -6015,13 +6002,13 @@ static bool8 MovementAction_WalkFastUp_Step1(struct ObjectEvent *objectEvent, st static bool8 MovementAction_WalkFastLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - do_go_anim(objectEvent, sprite, DIR_WEST, 1); + InitMovementNormal(objectEvent, sprite, DIR_WEST, 1); return MovementAction_WalkFastLeft_Step1(objectEvent, sprite); } static bool8 MovementAction_WalkFastLeft_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(objectEvent, sprite)) + if (UpdateMovementNormal(objectEvent, sprite)) { sprite->data[2] = 2; return TRUE; @@ -6031,13 +6018,13 @@ static bool8 MovementAction_WalkFastLeft_Step1(struct ObjectEvent *objectEvent, static bool8 MovementAction_WalkFastRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - do_go_anim(objectEvent, sprite, DIR_EAST, 1); + InitMovementNormal(objectEvent, sprite, DIR_EAST, 1); return MovementAction_WalkFastRight_Step1(objectEvent, sprite); } static bool8 MovementAction_WalkFastRight_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(objectEvent, sprite)) + if (UpdateMovementNormal(objectEvent, sprite)) { sprite->data[2] = 2; return TRUE; @@ -6047,7 +6034,7 @@ static bool8 MovementAction_WalkFastRight_Step1(struct ObjectEvent *objectEvent, bool8 sub_80653CC(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (obj_npc_ministep(sprite)) + if (NpcTakeStep(sprite)) { ShiftStillObjectEventCoords(objectEvent); objectEvent->triggerGroundEffectsOnStop = TRUE; @@ -6061,7 +6048,7 @@ u8 MovementActionFunc_xA0_0(struct ObjectEvent *objectEvent, struct Sprite *spri if(objectEvent->facingDirection != DIR_SOUTH) StartSpriteAnim(sprite, GetFaceDirectionAnimNum(DIR_SOUTH)); - npc_apply_direction(objectEvent, sprite, DIR_SOUTH, 1); + InitNpcForMovement(objectEvent, sprite, DIR_SOUTH, 1); return MovementActionFunc_xA0_1(objectEvent, sprite); } @@ -6081,7 +6068,7 @@ u8 MovementActionFunc_xA1_0(struct ObjectEvent *objectEvent, struct Sprite *spri if(objectEvent->facingDirection != DIR_NORTH) StartSpriteAnim(sprite, GetFaceDirectionAnimNum(DIR_NORTH)); - npc_apply_direction(objectEvent, sprite, DIR_NORTH, 1); + InitNpcForMovement(objectEvent, sprite, DIR_NORTH, 1); return MovementActionFunc_xA1_1(objectEvent, sprite); } @@ -6101,7 +6088,7 @@ u8 MovementActionFunc_xA2_0(struct ObjectEvent *objectEvent, struct Sprite *spri if(objectEvent->facingDirection != DIR_WEST) StartSpriteAnim(sprite, GetFaceDirectionAnimNum(DIR_WEST)); - npc_apply_direction(objectEvent, sprite, DIR_WEST, 1); + InitNpcForMovement(objectEvent, sprite, DIR_WEST, 1); return MovementActionFunc_xA2_1(objectEvent, sprite); } @@ -6121,7 +6108,7 @@ u8 MovementActionFunc_xA3_0(struct ObjectEvent *objectEvent, struct Sprite *spri if(objectEvent->facingDirection != DIR_EAST) StartSpriteAnim(sprite, GetFaceDirectionAnimNum(DIR_EAST)); - npc_apply_direction(objectEvent, sprite, DIR_EAST, 1); + InitNpcForMovement(objectEvent, sprite, DIR_EAST, 1); return MovementActionFunc_xA3_1(objectEvent, sprite); } @@ -6184,10 +6171,10 @@ u8 MovementActionFunc_x07_0(struct ObjectEvent *objectEvent, struct Sprite *spri return TRUE; } -void sub_80656C4(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 direction, u8 animNum, u16 duration) +void InitMoveInPlace(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 direction, u8 animNum, u16 duration) { SetObjectEventDirection(objectEvent, direction); - npc_apply_anim_looping(objectEvent, sprite, animNum); + SetStepAnimHandleAlternation(objectEvent, sprite, animNum); sprite->animPaused = FALSE; sprite->data[2] = 1; sprite->data[3] = duration; @@ -6207,117 +6194,116 @@ static bool8 MovementAction_WalkInPlace_Step1(struct ObjectEvent *objectEvent, s static bool8 MovementAction_WalkInPlaceSlow_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { if (sprite->data[3] & 1) - { sprite->animDelayCounter++; - } + return MovementAction_WalkInPlace_Step1(objectEvent, sprite); } static bool8 MovementAction_WalkInPlaceSlowDown_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_80656C4(objectEvent, sprite, DIR_SOUTH, GetMoveDirectionAnimNum(DIR_SOUTH), 32); + InitMoveInPlace(objectEvent, sprite, DIR_SOUTH, GetMoveDirectionAnimNum(DIR_SOUTH), 32); return MovementAction_WalkInPlaceSlow_Step1(objectEvent, sprite); } static bool8 MovementAction_WalkInPlaceSlowUp_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_80656C4(objectEvent, sprite, DIR_NORTH, GetMoveDirectionAnimNum(DIR_NORTH), 32); + InitMoveInPlace(objectEvent, sprite, DIR_NORTH, GetMoveDirectionAnimNum(DIR_NORTH), 32); return MovementAction_WalkInPlaceSlow_Step1(objectEvent, sprite); } static bool8 MovementAction_WalkInPlaceSlowLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_80656C4(objectEvent, sprite, DIR_WEST, GetMoveDirectionAnimNum(DIR_WEST), 32); + InitMoveInPlace(objectEvent, sprite, DIR_WEST, GetMoveDirectionAnimNum(DIR_WEST), 32); return MovementAction_WalkInPlaceSlow_Step1(objectEvent, sprite); } static bool8 MovementAction_WalkInPlaceSlowRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_80656C4(objectEvent, sprite, DIR_EAST, GetMoveDirectionAnimNum(DIR_EAST), 32); + InitMoveInPlace(objectEvent, sprite, DIR_EAST, GetMoveDirectionAnimNum(DIR_EAST), 32); return MovementAction_WalkInPlaceSlow_Step1(objectEvent, sprite); } static bool8 MovementAction_WalkInPlaceNormalDown_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_80656C4(objectEvent, sprite, DIR_SOUTH, GetMoveDirectionAnimNum(DIR_SOUTH), 16); + InitMoveInPlace(objectEvent, sprite, DIR_SOUTH, GetMoveDirectionAnimNum(DIR_SOUTH), 16); return MovementAction_WalkInPlace_Step1(objectEvent, sprite); } static bool8 MovementAction_WalkInPlaceNormalUp_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_80656C4(objectEvent, sprite, DIR_NORTH, GetMoveDirectionAnimNum(DIR_NORTH), 16); + InitMoveInPlace(objectEvent, sprite, DIR_NORTH, GetMoveDirectionAnimNum(DIR_NORTH), 16); return MovementAction_WalkInPlace_Step1(objectEvent, sprite); } static bool8 MovementAction_WalkInPlaceNormalLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_80656C4(objectEvent, sprite, DIR_WEST, GetMoveDirectionAnimNum(DIR_WEST), 16); + InitMoveInPlace(objectEvent, sprite, DIR_WEST, GetMoveDirectionAnimNum(DIR_WEST), 16); return MovementAction_WalkInPlace_Step1(objectEvent, sprite); } static bool8 MovementAction_WalkInPlaceNormalRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_80656C4(objectEvent, sprite, DIR_EAST, GetMoveDirectionAnimNum(DIR_EAST), 16); + InitMoveInPlace(objectEvent, sprite, DIR_EAST, GetMoveDirectionAnimNum(DIR_EAST), 16); return MovementAction_WalkInPlace_Step1(objectEvent, sprite); } static bool8 MovementAction_WalkInPlaceFastDown_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_80656C4(objectEvent, sprite, DIR_SOUTH, GetMoveDirectionFastAnimNum(DIR_SOUTH), 8); + InitMoveInPlace(objectEvent, sprite, DIR_SOUTH, GetMoveDirectionFastAnimNum(DIR_SOUTH), 8); return MovementAction_WalkInPlace_Step1(objectEvent, sprite); } static bool8 MovementAction_WalkInPlaceFastUp_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_80656C4(objectEvent, sprite, DIR_NORTH, GetMoveDirectionFastAnimNum(DIR_NORTH), 8); + InitMoveInPlace(objectEvent, sprite, DIR_NORTH, GetMoveDirectionFastAnimNum(DIR_NORTH), 8); return MovementAction_WalkInPlace_Step1(objectEvent, sprite); } static bool8 MovementAction_WalkInPlaceFastLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_80656C4(objectEvent, sprite, DIR_WEST, GetMoveDirectionFastAnimNum(DIR_WEST), 8); + InitMoveInPlace(objectEvent, sprite, DIR_WEST, GetMoveDirectionFastAnimNum(DIR_WEST), 8); return MovementAction_WalkInPlace_Step1(objectEvent, sprite); } static bool8 MovementAction_WalkInPlaceFastRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_80656C4(objectEvent, sprite, DIR_EAST, GetMoveDirectionFastAnimNum(DIR_EAST), 8); + InitMoveInPlace(objectEvent, sprite, DIR_EAST, GetMoveDirectionFastAnimNum(DIR_EAST), 8); return MovementAction_WalkInPlace_Step1(objectEvent, sprite); } static bool8 MovementAction_WalkInPlaceFastestDown_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_80656C4(objectEvent, sprite, DIR_SOUTH, GetMoveDirectionFasterAnimNum(DIR_SOUTH), 4); + InitMoveInPlace(objectEvent, sprite, DIR_SOUTH, GetMoveDirectionFasterAnimNum(DIR_SOUTH), 4); return MovementAction_WalkInPlace_Step1(objectEvent, sprite); } static bool8 MovementAction_WalkInPlaceFastestUp_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_80656C4(objectEvent, sprite, DIR_NORTH, GetMoveDirectionFasterAnimNum(DIR_NORTH), 4); + InitMoveInPlace(objectEvent, sprite, DIR_NORTH, GetMoveDirectionFasterAnimNum(DIR_NORTH), 4); return MovementAction_WalkInPlace_Step1(objectEvent, sprite); } static bool8 MovementAction_WalkInPlaceFastestLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_80656C4(objectEvent, sprite, DIR_WEST, GetMoveDirectionFasterAnimNum(DIR_WEST), 4); + InitMoveInPlace(objectEvent, sprite, DIR_WEST, GetMoveDirectionFasterAnimNum(DIR_WEST), 4); return MovementAction_WalkInPlace_Step1(objectEvent, sprite); } static bool8 MovementAction_WalkInPlaceFastestRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_80656C4(objectEvent, sprite, DIR_EAST, GetMoveDirectionFasterAnimNum(DIR_EAST), 4); + InitMoveInPlace(objectEvent, sprite, DIR_EAST, GetMoveDirectionFasterAnimNum(DIR_EAST), 4); return MovementAction_WalkInPlace_Step1(objectEvent, sprite); } static bool8 MovementAction_RideWaterCurrentDown_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - do_go_anim(objectEvent, sprite, DIR_SOUTH, 2); + InitMovementNormal(objectEvent, sprite, DIR_SOUTH, 2); return MovementAction_RideWaterCurrentDown_Step1(objectEvent, sprite); } static bool8 MovementAction_RideWaterCurrentDown_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(objectEvent, sprite)) + if (UpdateMovementNormal(objectEvent, sprite)) { sprite->data[2] = 2; return TRUE; @@ -6327,13 +6313,13 @@ static bool8 MovementAction_RideWaterCurrentDown_Step1(struct ObjectEvent *objec static bool8 MovementAction_RideWaterCurrentUp_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - do_go_anim(objectEvent, sprite, DIR_NORTH, 2); + InitMovementNormal(objectEvent, sprite, DIR_NORTH, 2); return MovementAction_RideWaterCurrentUp_Step1(objectEvent, sprite); } static bool8 MovementAction_RideWaterCurrentUp_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(objectEvent, sprite)) + if (UpdateMovementNormal(objectEvent, sprite)) { sprite->data[2] = 2; return TRUE; @@ -6343,13 +6329,13 @@ static bool8 MovementAction_RideWaterCurrentUp_Step1(struct ObjectEvent *objectE static bool8 MovementAction_RideWaterCurrentLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - do_go_anim(objectEvent, sprite, DIR_WEST, 2); + InitMovementNormal(objectEvent, sprite, DIR_WEST, 2); return MovementAction_RideWaterCurrentLeft_Step1(objectEvent, sprite); } static bool8 MovementAction_RideWaterCurrentLeft_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(objectEvent, sprite)) + if (UpdateMovementNormal(objectEvent, sprite)) { sprite->data[2] = 2; return TRUE; @@ -6359,13 +6345,13 @@ static bool8 MovementAction_RideWaterCurrentLeft_Step1(struct ObjectEvent *objec static bool8 MovementAction_RideWaterCurrentRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - do_go_anim(objectEvent, sprite, DIR_EAST, 2); + InitMovementNormal(objectEvent, sprite, DIR_EAST, 2); return MovementAction_RideWaterCurrentRight_Step1(objectEvent, sprite); } static bool8 MovementAction_RideWaterCurrentRight_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(objectEvent, sprite)) + if (UpdateMovementNormal(objectEvent, sprite)) { sprite->data[2] = 2; return TRUE; @@ -6375,13 +6361,13 @@ static bool8 MovementAction_RideWaterCurrentRight_Step1(struct ObjectEvent *obje static bool8 MovementAction_WalkFastestDown_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - do_go_anim(objectEvent, sprite, DIR_SOUTH, 3); + InitMovementNormal(objectEvent, sprite, DIR_SOUTH, 3); return MovementAction_WalkFastestDown_Step1(objectEvent, sprite); } static bool8 MovementAction_WalkFastestDown_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(objectEvent, sprite)) + if (UpdateMovementNormal(objectEvent, sprite)) { sprite->data[2] = 2; return TRUE; @@ -6391,13 +6377,13 @@ static bool8 MovementAction_WalkFastestDown_Step1(struct ObjectEvent *objectEven static bool8 MovementAction_WalkFastestUp_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - do_go_anim(objectEvent, sprite, DIR_NORTH, 3); + InitMovementNormal(objectEvent, sprite, DIR_NORTH, 3); return MovementAction_WalkFastestUp_Step1(objectEvent, sprite); } static bool8 MovementAction_WalkFastestUp_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(objectEvent, sprite)) + if (UpdateMovementNormal(objectEvent, sprite)) { sprite->data[2] = 2; return TRUE; @@ -6407,13 +6393,13 @@ static bool8 MovementAction_WalkFastestUp_Step1(struct ObjectEvent *objectEvent, static bool8 MovementAction_WalkFastestLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - do_go_anim(objectEvent, sprite, DIR_WEST, 3); + InitMovementNormal(objectEvent, sprite, DIR_WEST, 3); return MovementAction_WalkFastestLeft_Step1(objectEvent, sprite); } static bool8 MovementAction_WalkFastestLeft_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(objectEvent, sprite)) + if (UpdateMovementNormal(objectEvent, sprite)) { sprite->data[2] = 2; return TRUE; @@ -6423,13 +6409,13 @@ static bool8 MovementAction_WalkFastestLeft_Step1(struct ObjectEvent *objectEven static bool8 MovementAction_WalkFastestRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - do_go_anim(objectEvent, sprite, DIR_EAST, 3); + InitMovementNormal(objectEvent, sprite, DIR_EAST, 3); return MovementAction_WalkFastestRight_Step1(objectEvent, sprite); } static bool8 MovementAction_WalkFastestRight_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(objectEvent, sprite)) + if (UpdateMovementNormal(objectEvent, sprite)) { sprite->data[2] = 2; return TRUE; @@ -6439,13 +6425,13 @@ static bool8 MovementAction_WalkFastestRight_Step1(struct ObjectEvent *objectEve static bool8 MovementAction_SlideDown_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - do_go_anim(objectEvent, sprite, DIR_SOUTH, 4); + InitMovementNormal(objectEvent, sprite, DIR_SOUTH, 4); return MovementAction_SlideDown_Step1(objectEvent, sprite); } static bool8 MovementAction_SlideDown_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(objectEvent, sprite)) + if (UpdateMovementNormal(objectEvent, sprite)) { sprite->data[2] = 2; return TRUE; @@ -6455,13 +6441,13 @@ static bool8 MovementAction_SlideDown_Step1(struct ObjectEvent *objectEvent, str static bool8 MovementAction_SlideUp_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - do_go_anim(objectEvent, sprite, DIR_NORTH, 4); + InitMovementNormal(objectEvent, sprite, DIR_NORTH, 4); return MovementAction_SlideUp_Step1(objectEvent, sprite); } static bool8 MovementAction_SlideUp_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(objectEvent, sprite)) + if (UpdateMovementNormal(objectEvent, sprite)) { sprite->data[2] = 2; return TRUE; @@ -6471,13 +6457,13 @@ static bool8 MovementAction_SlideUp_Step1(struct ObjectEvent *objectEvent, struc static bool8 MovementAction_SlideLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - do_go_anim(objectEvent, sprite, DIR_WEST, 4); + InitMovementNormal(objectEvent, sprite, DIR_WEST, 4); return MovementAction_SlideLeft_Step1(objectEvent, sprite); } static bool8 MovementAction_SlideLeft_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(objectEvent, sprite)) + if (UpdateMovementNormal(objectEvent, sprite)) { sprite->data[2] = 2; return TRUE; @@ -6487,13 +6473,13 @@ static bool8 MovementAction_SlideLeft_Step1(struct ObjectEvent *objectEvent, str static bool8 MovementAction_SlideRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - do_go_anim(objectEvent, sprite, DIR_EAST, 4); + InitMovementNormal(objectEvent, sprite, DIR_EAST, 4); return MovementAction_SlideRight_Step1(objectEvent, sprite); } static bool8 MovementAction_SlideRight_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(objectEvent, sprite)) + if (UpdateMovementNormal(objectEvent, sprite)) { sprite->data[2] = 2; return TRUE; @@ -6509,7 +6495,7 @@ static bool8 MovementAction_PlayerRunDown_Step0(struct ObjectEvent *objectEvent, static bool8 MovementAction_PlayerRunDown_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(objectEvent, sprite)) + if (UpdateMovementNormal(objectEvent, sprite)) { sprite->data[2] = 2; return TRUE; @@ -6525,7 +6511,7 @@ static bool8 MovementAction_PlayerRunUp_Step0(struct ObjectEvent *objectEvent, s static bool8 MovementAction_PlayerRunUp_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(objectEvent, sprite)) + if (UpdateMovementNormal(objectEvent, sprite)) { sprite->data[2] = 2; return TRUE; @@ -6541,7 +6527,7 @@ static bool8 MovementAction_PlayerRunLeft_Step0(struct ObjectEvent *objectEvent, static bool8 MovementAction_PlayerRunLeft_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(objectEvent, sprite)) + if (UpdateMovementNormal(objectEvent, sprite)) { sprite->data[2] = 2; return TRUE; @@ -6557,7 +6543,7 @@ static bool8 MovementAction_PlayerRunRight_Step0(struct ObjectEvent *objectEvent static bool8 MovementAction_PlayerRunRight_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(objectEvent, sprite)) + if (UpdateMovementNormal(objectEvent, sprite)) { sprite->data[2] = 2; return TRUE; @@ -6565,7 +6551,7 @@ static bool8 MovementAction_PlayerRunRight_Step1(struct ObjectEvent *objectEvent return FALSE; } -void InitNpcForWalkSlow3(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 direction) +void InitNpcForRunSlow(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 direction) { s16 x; s16 y; @@ -6575,21 +6561,21 @@ void InitNpcForWalkSlow3(struct ObjectEvent *objectEvent, struct Sprite *sprite, SetObjectEventDirection(objectEvent, direction); MoveCoords(direction, &x, &y); ShiftObjectEventCoords(objectEvent, x, y); - SetSpriteDataForNormalStep4(sprite, direction); + SetRunSlowSpriteData(sprite, direction); sprite->animPaused = FALSE; objectEvent->triggerGroundEffectsOnMove = TRUE; sprite->data[2] = 1; } -void sub_8065F60(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 direction) +void InitRunSlow(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 direction) { - InitNpcForWalkSlow3(objectEvent, sprite, direction); - npc_apply_anim_looping(objectEvent, sprite, GetRunningDirectionAnimNum(objectEvent->facingDirection)); + InitNpcForRunSlow(objectEvent, sprite, direction); + SetStepAnimHandleAlternation(objectEvent, sprite, GetRunningDirectionAnimNum(objectEvent->facingDirection)); } -bool8 sub_8065F8C(struct ObjectEvent *objectEvent, struct Sprite *sprite) +bool8 UpdateRunSlow(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (sub_8068CB4(sprite)) + if (UpdateRunSlowAnim(sprite)) { ShiftStillObjectEventCoords(objectEvent); objectEvent->triggerGroundEffectsOnStop = TRUE; @@ -6601,13 +6587,13 @@ bool8 sub_8065F8C(struct ObjectEvent *objectEvent, struct Sprite *sprite) static bool8 MovementActionFunc_x41_0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_8065F60(objectEvent, sprite, DIR_SOUTH); + InitRunSlow(objectEvent, sprite, DIR_SOUTH); return MovementActionFunc_x41_1(objectEvent, sprite); } static bool8 MovementActionFunc_x41_1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (sub_8065F8C(objectEvent, sprite)) + if (UpdateRunSlow(objectEvent, sprite)) { sprite->data[2] = 2; return TRUE; @@ -6617,13 +6603,13 @@ static bool8 MovementActionFunc_x41_1(struct ObjectEvent *objectEvent, struct Sp static bool8 MovementActionFunc_x42_0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_8065F60(objectEvent, sprite, DIR_NORTH); + InitRunSlow(objectEvent, sprite, DIR_NORTH); return MovementActionFunc_x42_1(objectEvent, sprite); } static bool8 MovementActionFunc_x42_1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (sub_8065F8C(objectEvent, sprite)) + if (UpdateRunSlow(objectEvent, sprite)) { sprite->data[2] = 2; return TRUE; @@ -6633,13 +6619,13 @@ static bool8 MovementActionFunc_x42_1(struct ObjectEvent *objectEvent, struct Sp static bool8 MovementActionFunc_x43_0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_8065F60(objectEvent, sprite, DIR_WEST); + InitRunSlow(objectEvent, sprite, DIR_WEST); return MovementActionFunc_x43_1(objectEvent, sprite); } static bool8 MovementActionFunc_x43_1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (sub_8065F8C(objectEvent, sprite)) + if (UpdateRunSlow(objectEvent, sprite)) { sprite->data[2] = 2; return TRUE; @@ -6649,13 +6635,13 @@ static bool8 MovementActionFunc_x43_1(struct ObjectEvent *objectEvent, struct Sp static bool8 MovementActionFunc_x44_0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_8065F60(objectEvent, sprite, DIR_SOUTH); + InitRunSlow(objectEvent, sprite, DIR_SOUTH); return MovementActionFunc_x44_1(objectEvent, sprite); } static bool8 MovementActionFunc_x44_1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (sub_8065F8C(objectEvent, sprite)) + if (UpdateRunSlow(objectEvent, sprite)) { sprite->data[2] = 2; return TRUE; @@ -6686,21 +6672,21 @@ static bool8 MovementAction_WaitSpriteAnim(struct ObjectEvent *objectEvent, stru return FALSE; } -void sub_8066128(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 direction) +void InitJumpSpecial(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 direction) { - sub_8064E3C(objectEvent, sprite, direction, 1, 0); + InitJump(objectEvent, sprite, direction, 1, 0); StartSpriteAnim(sprite, GetJumpSpecialDirectionAnimNum(direction)); } static bool8 MovementAction_JumpSpecialDown_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_8066128(objectEvent, sprite, DIR_SOUTH); + InitJumpSpecial(objectEvent, sprite, DIR_SOUTH); return MovementAction_JumpSpecialDown_Step1(objectEvent, sprite); } static bool8 MovementAction_JumpSpecialDown_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (sub_8065040(objectEvent, sprite)) + if (DoJumpSpecialAnim(objectEvent, sprite)) { sprite->data[2] = 2; objectEvent->landingJump = FALSE; @@ -6711,13 +6697,13 @@ static bool8 MovementAction_JumpSpecialDown_Step1(struct ObjectEvent *objectEven static bool8 MovementAction_JumpSpecialUp_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_8066128(objectEvent, sprite, DIR_NORTH); + InitJumpSpecial(objectEvent, sprite, DIR_NORTH); return MovementAction_JumpSpecialUp_Step1(objectEvent, sprite); } static bool8 MovementAction_JumpSpecialUp_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (sub_8065040(objectEvent, sprite)) + if (DoJumpSpecialAnim(objectEvent, sprite)) { sprite->data[2] = 2; objectEvent->landingJump = FALSE; @@ -6728,13 +6714,13 @@ static bool8 MovementAction_JumpSpecialUp_Step1(struct ObjectEvent *objectEvent, static bool8 MovementAction_JumpSpecialLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_8066128(objectEvent, sprite, DIR_WEST); + InitJumpSpecial(objectEvent, sprite, DIR_WEST); return MovementAction_JumpSpecialLeft_Step1(objectEvent, sprite); } static bool8 MovementAction_JumpSpecialLeft_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (sub_8065040(objectEvent, sprite)) + if (DoJumpSpecialAnim(objectEvent, sprite)) { sprite->data[2] = 2; objectEvent->landingJump = FALSE; @@ -6745,13 +6731,13 @@ static bool8 MovementAction_JumpSpecialLeft_Step1(struct ObjectEvent *objectEven static bool8 MovementAction_JumpSpecialRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_8066128(objectEvent, sprite, DIR_EAST); + InitJumpSpecial(objectEvent, sprite, DIR_EAST); return MovementAction_JumpSpecialRight_Step1(objectEvent, sprite); } static bool8 MovementAction_JumpSpecialRight_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (sub_8065040(objectEvent, sprite)) + if (DoJumpSpecialAnim(objectEvent, sprite)) { sprite->data[2] = 2; objectEvent->landingJump = FALSE; @@ -6762,13 +6748,13 @@ static bool8 MovementAction_JumpSpecialRight_Step1(struct ObjectEvent *objectEve static bool8 MovementActionFunc_xA6_0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_8066128(objectEvent, sprite, DIR_SOUTH); + InitJumpSpecial(objectEvent, sprite, DIR_SOUTH); return MovementActionFunc_xA6_1(objectEvent, sprite); } static bool8 MovementActionFunc_xA6_1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (sub_8065040(objectEvent, sprite)) + if (DoJumpSpecialAnim(objectEvent, sprite)) { sprite->data[2] = 2; return TRUE; @@ -6778,13 +6764,13 @@ static bool8 MovementActionFunc_xA6_1(struct ObjectEvent *objectEvent, struct Sp static bool8 MovementActionFunc_xA7_0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_8066128(objectEvent, sprite, DIR_NORTH); + InitJumpSpecial(objectEvent, sprite, DIR_NORTH); return MovementActionFunc_xA7_1(objectEvent, sprite); } static bool8 MovementActionFunc_xA7_1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (sub_8065040(objectEvent, sprite)) + if (DoJumpSpecialAnim(objectEvent, sprite)) { sprite->data[2] = 2; return TRUE; @@ -6794,13 +6780,13 @@ static bool8 MovementActionFunc_xA7_1(struct ObjectEvent *objectEvent, struct Sp static bool8 MovementActionFunc_xA8_0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_8066128(objectEvent, sprite, DIR_WEST); + InitJumpSpecial(objectEvent, sprite, DIR_WEST); return MovementActionFunc_xA8_1(objectEvent, sprite); } static bool8 MovementActionFunc_xA8_1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (sub_8065040(objectEvent, sprite)) + if (DoJumpSpecialAnim(objectEvent, sprite)) { sprite->data[2] = 2; return TRUE; @@ -6810,13 +6796,13 @@ static bool8 MovementActionFunc_xA8_1(struct ObjectEvent *objectEvent, struct Sp static bool8 MovementActionFunc_xA9_0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_8066128(objectEvent, sprite, DIR_EAST); + InitJumpSpecial(objectEvent, sprite, DIR_EAST); return MovementActionFunc_xA9_1(objectEvent, sprite); } static bool8 MovementActionFunc_xA9_1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (sub_8065040(objectEvent, sprite)) + if (DoJumpSpecialAnim(objectEvent, sprite)) { sprite->data[2] = 2; return TRUE; @@ -6864,13 +6850,13 @@ static bool8 MovementAction_UnlockFacingDirection_Step0(struct ObjectEvent *obje static bool8 MovementAction_JumpDown_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - maybe_shadow_1(objectEvent, sprite, DIR_SOUTH, 1, 2); + InitJumpRegular(objectEvent, sprite, DIR_SOUTH, 1, 2); return MovementAction_JumpDown_Step1(objectEvent, sprite); } static bool8 MovementAction_JumpDown_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (sub_8065028(objectEvent, sprite)) + if (DoJumpAnim(objectEvent, sprite)) { objectEvent->hasShadow = FALSE; sprite->data[2] = 2; @@ -6881,13 +6867,13 @@ static bool8 MovementAction_JumpDown_Step1(struct ObjectEvent *objectEvent, stru static bool8 MovementAction_JumpUp_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - maybe_shadow_1(objectEvent, sprite, DIR_NORTH, 1, 2); + InitJumpRegular(objectEvent, sprite, DIR_NORTH, 1, 2); return MovementAction_JumpUp_Step1(objectEvent, sprite); } static bool8 MovementAction_JumpUp_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (sub_8065028(objectEvent, sprite)) + if (DoJumpAnim(objectEvent, sprite)) { objectEvent->hasShadow = FALSE; sprite->data[2] = 2; @@ -6898,13 +6884,13 @@ static bool8 MovementAction_JumpUp_Step1(struct ObjectEvent *objectEvent, struct static bool8 MovementAction_JumpLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - maybe_shadow_1(objectEvent, sprite, DIR_WEST, 1, 2); + InitJumpRegular(objectEvent, sprite, DIR_WEST, 1, 2); return MovementAction_JumpLeft_Step1(objectEvent, sprite); } static bool8 MovementAction_JumpLeft_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (sub_8065028(objectEvent, sprite)) + if (DoJumpAnim(objectEvent, sprite)) { objectEvent->hasShadow = FALSE; sprite->data[2] = 2; @@ -6915,13 +6901,13 @@ static bool8 MovementAction_JumpLeft_Step1(struct ObjectEvent *objectEvent, stru static bool8 MovementAction_JumpRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - maybe_shadow_1(objectEvent, sprite, DIR_EAST, 1, 2); + InitJumpRegular(objectEvent, sprite, DIR_EAST, 1, 2); return MovementAction_JumpRight_Step1(objectEvent, sprite); } static bool8 MovementAction_JumpRight_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (sub_8065028(objectEvent, sprite)) + if (DoJumpAnim(objectEvent, sprite)) { objectEvent->hasShadow = FALSE; sprite->data[2] = 2; @@ -6932,13 +6918,13 @@ static bool8 MovementAction_JumpRight_Step1(struct ObjectEvent *objectEvent, str static bool8 MovementAction_JumpInPlaceDown_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - maybe_shadow_1(objectEvent, sprite, DIR_SOUTH, 0, 0); + InitJumpRegular(objectEvent, sprite, DIR_SOUTH, 0, 0); return MovementAction_JumpInPlaceDown_Step1(objectEvent, sprite); } static bool8 MovementAction_JumpInPlaceDown_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (sub_8065028(objectEvent, sprite)) + if (DoJumpAnim(objectEvent, sprite)) { objectEvent->hasShadow = FALSE; sprite->data[2] = 2; @@ -6949,13 +6935,13 @@ static bool8 MovementAction_JumpInPlaceDown_Step1(struct ObjectEvent *objectEven static bool8 MovementAction_JumpInPlaceUp_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - maybe_shadow_1(objectEvent, sprite, DIR_NORTH, 0, 0); + InitJumpRegular(objectEvent, sprite, DIR_NORTH, 0, 0); return MovementAction_JumpInPlaceUp_Step1(objectEvent, sprite); } static bool8 MovementAction_JumpInPlaceUp_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (sub_8065028(objectEvent, sprite)) + if (DoJumpAnim(objectEvent, sprite)) { objectEvent->hasShadow = FALSE; sprite->data[2] = 2; @@ -6966,13 +6952,13 @@ static bool8 MovementAction_JumpInPlaceUp_Step1(struct ObjectEvent *objectEvent, static bool8 MovementAction_JumpInPlaceLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - maybe_shadow_1(objectEvent, sprite, DIR_WEST, 0, 0); + InitJumpRegular(objectEvent, sprite, DIR_WEST, 0, 0); return MovementAction_JumpInPlaceLeft_Step1(objectEvent, sprite); } static bool8 MovementAction_JumpInPlaceLeft_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (sub_8065028(objectEvent, sprite)) + if (DoJumpAnim(objectEvent, sprite)) { objectEvent->hasShadow = FALSE; sprite->data[2] = 2; @@ -6983,13 +6969,13 @@ static bool8 MovementAction_JumpInPlaceLeft_Step1(struct ObjectEvent *objectEven static bool8 MovementAction_JumpInPlaceRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - maybe_shadow_1(objectEvent, sprite, DIR_EAST, 0, 0); + InitJumpRegular(objectEvent, sprite, DIR_EAST, 0, 0); return MovementAction_JumpInPlaceRight_Step1(objectEvent, sprite); } static bool8 MovementAction_JumpInPlaceRight_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (sub_8065028(objectEvent, sprite)) + if (DoJumpAnim(objectEvent, sprite)) { objectEvent->hasShadow = FALSE; sprite->data[2] = 2; @@ -7000,13 +6986,13 @@ static bool8 MovementAction_JumpInPlaceRight_Step1(struct ObjectEvent *objectEve static bool8 MovementAction_JumpInPlaceDownUp_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - maybe_shadow_1(objectEvent, sprite, DIR_SOUTH, 0, 2); + InitJumpRegular(objectEvent, sprite, DIR_SOUTH, 0, 2); return MovementAction_JumpInPlaceDownUp_Step1(objectEvent, sprite); } static bool8 MovementAction_JumpInPlaceDownUp_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (sub_8065058(objectEvent, sprite)) + if (DoJumpInPlaceAnim(objectEvent, sprite)) { objectEvent->hasShadow = FALSE; sprite->data[2] = 2; @@ -7017,13 +7003,13 @@ static bool8 MovementAction_JumpInPlaceDownUp_Step1(struct ObjectEvent *objectEv static bool8 MovementAction_JumpInPlaceUpDown_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - maybe_shadow_1(objectEvent, sprite, DIR_NORTH, 0, 2); + InitJumpRegular(objectEvent, sprite, DIR_NORTH, 0, 2); return MovementAction_JumpInPlaceUpDown_Step1(objectEvent, sprite); } static bool8 MovementAction_JumpInPlaceUpDown_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (sub_8065058(objectEvent, sprite)) + if (DoJumpInPlaceAnim(objectEvent, sprite)) { objectEvent->hasShadow = FALSE; sprite->data[2] = 2; @@ -7034,13 +7020,13 @@ static bool8 MovementAction_JumpInPlaceUpDown_Step1(struct ObjectEvent *objectEv static bool8 MovementAction_JumpInPlaceLeftRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - maybe_shadow_1(objectEvent, sprite, DIR_WEST, 0, 2); + InitJumpRegular(objectEvent, sprite, DIR_WEST, 0, 2); return MovementAction_JumpInPlaceLeftRight_Step1(objectEvent, sprite); } static bool8 MovementAction_JumpInPlaceLeftRight_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (sub_8065058(objectEvent, sprite)) + if (DoJumpInPlaceAnim(objectEvent, sprite)) { objectEvent->hasShadow = FALSE; sprite->data[2] = 2; @@ -7051,13 +7037,13 @@ static bool8 MovementAction_JumpInPlaceLeftRight_Step1(struct ObjectEvent *objec static bool8 MovementAction_JumpInPlaceRightLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - maybe_shadow_1(objectEvent, sprite, DIR_EAST, 0, 2); + InitJumpRegular(objectEvent, sprite, DIR_EAST, 0, 2); return MovementAction_JumpInPlaceRightLeft_Step1(objectEvent, sprite); } static bool8 MovementAction_JumpInPlaceRightLeft_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (sub_8065058(objectEvent, sprite)) + if (DoJumpInPlaceAnim(objectEvent, sprite)) { objectEvent->hasShadow = FALSE; sprite->data[2] = 2; @@ -7276,7 +7262,7 @@ static bool8 MovementAction_ClearAffineAnim_Step0(struct ObjectEvent *objectEven static bool8 MovementAction_WalkDownStartAffine_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - InitWalkSlow(objectEvent, sprite, DIR_SOUTH); + InitWalkSlower(objectEvent, sprite, DIR_SOUTH); sprite->affineAnimPaused = FALSE; StartSpriteAffineAnimIfDifferent(sprite, 0); return MovementAction_WalkDownStartAffine_Step1(objectEvent, sprite); @@ -7284,7 +7270,7 @@ static bool8 MovementAction_WalkDownStartAffine_Step0(struct ObjectEvent *object static bool8 MovementAction_WalkDownStartAffine_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (an_walk_any_2(objectEvent, sprite)) + if (UpdateWalkSlower(objectEvent, sprite)) { sprite->affineAnimPaused = TRUE; sprite->data[2] = 2; @@ -7295,7 +7281,7 @@ static bool8 MovementAction_WalkDownStartAffine_Step1(struct ObjectEvent *object static bool8 MovementAction_WalkDownAffine_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - InitWalkSlow(objectEvent, sprite, DIR_SOUTH); + InitWalkSlower(objectEvent, sprite, DIR_SOUTH); sprite->affineAnimPaused = FALSE; ChangeSpriteAffineAnimIfDifferent(sprite, 1); return MovementAction_WalkDownAffine_Step1(objectEvent, sprite); @@ -7303,7 +7289,7 @@ static bool8 MovementAction_WalkDownAffine_Step0(struct ObjectEvent *objectEvent static bool8 MovementAction_WalkDownAffine_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (an_walk_any_2(objectEvent, sprite)) + if (UpdateWalkSlower(objectEvent, sprite)) { sprite->affineAnimPaused = TRUE; sprite->data[2] = 2; @@ -7312,36 +7298,36 @@ static bool8 MovementAction_WalkDownAffine_Step1(struct ObjectEvent *objectEvent return FALSE; } -void sub_8066C70(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 direction) +void AcroWheelieFaceDirection(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 direction) { SetObjectEventDirection(objectEvent, direction); ShiftStillObjectEventCoords(objectEvent); - obj_npc_animation_step(objectEvent, sprite, GetAcroWheeliePedalDirectionAnimNum(direction)); + SetStepAnim(objectEvent, sprite, GetAcroWheeliePedalDirectionAnimNum(direction)); sprite->animPaused = TRUE; sprite->data[2] = 1; } static bool8 MovementActionFunc_x70_0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_8066C70(objectEvent, sprite, DIR_SOUTH); + AcroWheelieFaceDirection(objectEvent, sprite, DIR_SOUTH); return TRUE; } static bool8 MovementActionFunc_x71_0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_8066C70(objectEvent, sprite, DIR_NORTH); + AcroWheelieFaceDirection(objectEvent, sprite, DIR_NORTH); return TRUE; } static bool8 MovementActionFunc_x72_0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_8066C70(objectEvent, sprite, DIR_WEST); + AcroWheelieFaceDirection(objectEvent, sprite, DIR_WEST); return TRUE; } static bool8 MovementActionFunc_x73_0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_8066C70(objectEvent, sprite, DIR_EAST); + AcroWheelieFaceDirection(objectEvent, sprite, DIR_EAST); return TRUE; } @@ -7417,22 +7403,22 @@ static bool8 MovementAction_UnusedAcroActionRight_Step0(struct ObjectEvent *obje return FALSE; } -void sub_8066EA0(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 direction, u8 speed, u8 a4) +void InitAcroWheelieJump(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 direction, u8 speed, u8 a4) { - sub_8064E3C(objectEvent, sprite, direction, speed, a4); + InitJump(objectEvent, sprite, direction, speed, a4); StartSpriteAnimIfDifferent(sprite, GetAcroWheelieDirectionAnimNum(direction)); DoShadowFieldEffect(objectEvent); } static bool8 MovementAction_AcroWheelieHopFaceDown_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_8066EA0(objectEvent, sprite, DIR_SOUTH, 0, 1); + InitAcroWheelieJump(objectEvent, sprite, DIR_SOUTH, 0, 1); return MovementAction_AcroWheelieHopFaceDown_Step1(objectEvent, sprite); } static bool8 MovementAction_AcroWheelieHopFaceDown_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (sub_8065028(objectEvent, sprite)) + if (DoJumpAnim(objectEvent, sprite)) { objectEvent->hasShadow = FALSE; sprite->data[2] = 2; @@ -7443,13 +7429,13 @@ static bool8 MovementAction_AcroWheelieHopFaceDown_Step1(struct ObjectEvent *obj static bool8 MovementAction_AcroWheelieHopFaceUp_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_8066EA0(objectEvent, sprite, DIR_NORTH, 0, 1); + InitAcroWheelieJump(objectEvent, sprite, DIR_NORTH, 0, 1); return MovementAction_AcroWheelieHopFaceUp_Step1(objectEvent, sprite); } static bool8 MovementAction_AcroWheelieHopFaceUp_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (sub_8065028(objectEvent, sprite)) + if (DoJumpAnim(objectEvent, sprite)) { objectEvent->hasShadow = FALSE; sprite->data[2] = 2; @@ -7460,13 +7446,13 @@ static bool8 MovementAction_AcroWheelieHopFaceUp_Step1(struct ObjectEvent *objec static bool8 MovementAction_AcroWheelieHopFaceLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_8066EA0(objectEvent, sprite, DIR_WEST, 0, 1); + InitAcroWheelieJump(objectEvent, sprite, DIR_WEST, 0, 1); return MovementAction_AcroWheelieHopFaceLeft_Step1(objectEvent, sprite); } static bool8 MovementAction_AcroWheelieHopFaceLeft_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (sub_8065028(objectEvent, sprite)) + if (DoJumpAnim(objectEvent, sprite)) { objectEvent->hasShadow = FALSE; sprite->data[2] = 2; @@ -7477,13 +7463,13 @@ static bool8 MovementAction_AcroWheelieHopFaceLeft_Step1(struct ObjectEvent *obj static bool8 MovementAction_AcroWheelieHopFaceRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_8066EA0(objectEvent, sprite, DIR_EAST, 0, 1); + InitAcroWheelieJump(objectEvent, sprite, DIR_EAST, 0, 1); return MovementAction_AcroWheelieHopFaceRight_Step1(objectEvent, sprite); } static bool8 MovementAction_AcroWheelieHopFaceRight_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (sub_8065028(objectEvent, sprite)) + if (DoJumpAnim(objectEvent, sprite)) { objectEvent->hasShadow = FALSE; sprite->data[2] = 2; @@ -7494,13 +7480,13 @@ static bool8 MovementAction_AcroWheelieHopFaceRight_Step1(struct ObjectEvent *ob static bool8 MovementAction_AcroWheelieHopDown_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_8066EA0(objectEvent, sprite, DIR_SOUTH, 1, 1); + InitAcroWheelieJump(objectEvent, sprite, DIR_SOUTH, 1, 1); return MovementAction_AcroWheelieHopDown_Step1(objectEvent, sprite); } static bool8 MovementAction_AcroWheelieHopDown_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (sub_8065028(objectEvent, sprite)) + if (DoJumpAnim(objectEvent, sprite)) { objectEvent->hasShadow = FALSE; sprite->data[2] = 2; @@ -7511,13 +7497,13 @@ static bool8 MovementAction_AcroWheelieHopDown_Step1(struct ObjectEvent *objectE static bool8 MovementAction_AcroWheelieHopUp_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_8066EA0(objectEvent, sprite, DIR_NORTH, 1, 1); + InitAcroWheelieJump(objectEvent, sprite, DIR_NORTH, 1, 1); return MovementAction_AcroWheelieHopUp_Step1(objectEvent, sprite); } static bool8 MovementAction_AcroWheelieHopUp_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (sub_8065028(objectEvent, sprite)) + if (DoJumpAnim(objectEvent, sprite)) { objectEvent->hasShadow = FALSE; sprite->data[2] = 2; @@ -7528,13 +7514,13 @@ static bool8 MovementAction_AcroWheelieHopUp_Step1(struct ObjectEvent *objectEve static bool8 MovementAction_AcroWheelieHopLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_8066EA0(objectEvent, sprite, DIR_WEST, 1, 1); + InitAcroWheelieJump(objectEvent, sprite, DIR_WEST, 1, 1); return MovementAction_AcroWheelieHopLeft_Step1(objectEvent, sprite); } static bool8 MovementAction_AcroWheelieHopLeft_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (sub_8065028(objectEvent, sprite)) + if (DoJumpAnim(objectEvent, sprite)) { objectEvent->hasShadow = FALSE; sprite->data[2] = 2; @@ -7545,13 +7531,13 @@ static bool8 MovementAction_AcroWheelieHopLeft_Step1(struct ObjectEvent *objectE static bool8 MovementAction_AcroWheelieHopRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_8066EA0(objectEvent, sprite, DIR_EAST, 1, 1); + InitAcroWheelieJump(objectEvent, sprite, DIR_EAST, 1, 1); return MovementAction_AcroWheelieHopRight_Step1(objectEvent, sprite); } static bool8 MovementAction_AcroWheelieHopRight_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (sub_8065028(objectEvent, sprite)) + if (DoJumpAnim(objectEvent, sprite)) { objectEvent->hasShadow = FALSE; sprite->data[2] = 2; @@ -7562,13 +7548,13 @@ static bool8 MovementAction_AcroWheelieHopRight_Step1(struct ObjectEvent *object static bool8 MovementAction_AcroWheelieJumpDown_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_8066EA0(objectEvent, sprite, DIR_SOUTH, 2, 0); + InitAcroWheelieJump(objectEvent, sprite, DIR_SOUTH, 2, 0); return MovementAction_AcroWheelieJumpDown_Step1(objectEvent, sprite); } static bool8 MovementAction_AcroWheelieJumpDown_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (sub_8065028(objectEvent, sprite)) + if (DoJumpAnim(objectEvent, sprite)) { objectEvent->hasShadow = FALSE; sprite->data[2] = 2; @@ -7579,13 +7565,13 @@ static bool8 MovementAction_AcroWheelieJumpDown_Step1(struct ObjectEvent *object static bool8 MovementAction_AcroWheelieJumpUp_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_8066EA0(objectEvent, sprite, DIR_NORTH, 2, 0); + InitAcroWheelieJump(objectEvent, sprite, DIR_NORTH, 2, 0); return MovementAction_AcroWheelieJumpUp_Step1(objectEvent, sprite); } static bool8 MovementAction_AcroWheelieJumpUp_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (sub_8065028(objectEvent, sprite)) + if (DoJumpAnim(objectEvent, sprite)) { objectEvent->hasShadow = FALSE; sprite->data[2] = 2; @@ -7596,13 +7582,13 @@ static bool8 MovementAction_AcroWheelieJumpUp_Step1(struct ObjectEvent *objectEv static bool8 MovementAction_AcroWheelieJumpLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_8066EA0(objectEvent, sprite, DIR_WEST, 2, 0); + InitAcroWheelieJump(objectEvent, sprite, DIR_WEST, 2, 0); return MovementAction_AcroWheelieJumpLeft_Step1(objectEvent, sprite); } static bool8 MovementAction_AcroWheelieJumpLeft_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (sub_8065028(objectEvent, sprite)) + if (DoJumpAnim(objectEvent, sprite)) { objectEvent->hasShadow = FALSE; sprite->data[2] = 2; @@ -7613,13 +7599,13 @@ static bool8 MovementAction_AcroWheelieJumpLeft_Step1(struct ObjectEvent *object static bool8 MovementAction_AcroWheelieJumpRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_8066EA0(objectEvent, sprite, DIR_EAST, 2, 0); + InitAcroWheelieJump(objectEvent, sprite, DIR_EAST, 2, 0); return MovementAction_AcroWheelieJumpRight_Step1(objectEvent, sprite); } static bool8 MovementAction_AcroWheelieJumpRight_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (sub_8065028(objectEvent, sprite)) + if (DoJumpAnim(objectEvent, sprite)) { objectEvent->hasShadow = FALSE; sprite->data[2] = 2; @@ -7630,44 +7616,44 @@ static bool8 MovementAction_AcroWheelieJumpRight_Step1(struct ObjectEvent *objec static bool8 MovementActionFunc_x88_0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_80656C4(objectEvent, sprite, DIR_SOUTH, GetAcroWheeliePedalDirectionAnimNum(DIR_SOUTH), 8); + InitMoveInPlace(objectEvent, sprite, DIR_SOUTH, GetAcroWheeliePedalDirectionAnimNum(DIR_SOUTH), 8); return MovementAction_WalkInPlace_Step1(objectEvent, sprite); } static bool8 MovementActionFunc_x89_0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_80656C4(objectEvent, sprite, DIR_NORTH, GetAcroWheeliePedalDirectionAnimNum(DIR_NORTH), 8); + InitMoveInPlace(objectEvent, sprite, DIR_NORTH, GetAcroWheeliePedalDirectionAnimNum(DIR_NORTH), 8); return MovementAction_WalkInPlace_Step1(objectEvent, sprite); } static bool8 MovementActionFunc_x8A_0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_80656C4(objectEvent, sprite, DIR_WEST, GetAcroWheeliePedalDirectionAnimNum(DIR_WEST), 8); + InitMoveInPlace(objectEvent, sprite, DIR_WEST, GetAcroWheeliePedalDirectionAnimNum(DIR_WEST), 8); return MovementAction_WalkInPlace_Step1(objectEvent, sprite); } static bool8 MovementActionFunc_x8B_0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_80656C4(objectEvent, sprite, DIR_EAST, GetAcroWheeliePedalDirectionAnimNum(DIR_EAST), 8); + InitMoveInPlace(objectEvent, sprite, DIR_EAST, GetAcroWheeliePedalDirectionAnimNum(DIR_EAST), 8); return MovementAction_WalkInPlace_Step1(objectEvent, sprite); } -void sub_80673E4(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 direction, u8 speed) +void InitAcroPopWheelie(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 direction, u8 speed) { - npc_apply_direction(objectEvent, sprite, direction, speed); + InitNpcForMovement(objectEvent, sprite, direction, speed); StartSpriteAnim(sprite, GetAcroWheelieDirectionAnimNum(objectEvent->facingDirection)); SeekSpriteAnim(sprite, 0); } static bool8 MovementAction_AcroPopWheelieMoveDown_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_80673E4(objectEvent, sprite, DIR_SOUTH, 1); + InitAcroPopWheelie(objectEvent, sprite, DIR_SOUTH, 1); return MovementAction_AcroPopWheelieMoveDown_Step1(objectEvent, sprite); } static bool8 MovementAction_AcroPopWheelieMoveDown_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(objectEvent, sprite)) + if (UpdateMovementNormal(objectEvent, sprite)) { sprite->data[2] = 2; return TRUE; @@ -7677,13 +7663,13 @@ static bool8 MovementAction_AcroPopWheelieMoveDown_Step1(struct ObjectEvent *obj static bool8 MovementAction_AcroPopWheelieMoveUp_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_80673E4(objectEvent, sprite, DIR_NORTH, 1); + InitAcroPopWheelie(objectEvent, sprite, DIR_NORTH, 1); return MovementAction_AcroPopWheelieMoveUp_Step1(objectEvent, sprite); } static bool8 MovementAction_AcroPopWheelieMoveUp_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(objectEvent, sprite)) + if (UpdateMovementNormal(objectEvent, sprite)) { sprite->data[2] = 2; return TRUE; @@ -7693,13 +7679,13 @@ static bool8 MovementAction_AcroPopWheelieMoveUp_Step1(struct ObjectEvent *objec static bool8 MovementAction_AcroPopWheelieMoveLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_80673E4(objectEvent, sprite, DIR_WEST, 1); + InitAcroPopWheelie(objectEvent, sprite, DIR_WEST, 1); return MovementAction_AcroPopWheelieMoveLeft_Step1(objectEvent, sprite); } static bool8 MovementAction_AcroPopWheelieMoveLeft_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(objectEvent, sprite)) + if (UpdateMovementNormal(objectEvent, sprite)) { sprite->data[2] = 2; return TRUE; @@ -7709,13 +7695,13 @@ static bool8 MovementAction_AcroPopWheelieMoveLeft_Step1(struct ObjectEvent *obj static bool8 MovementAction_AcroPopWheelieMoveRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_80673E4(objectEvent, sprite, DIR_EAST, 1); + InitAcroPopWheelie(objectEvent, sprite, DIR_EAST, 1); return MovementAction_AcroPopWheelieMoveRight_Step1(objectEvent, sprite); } static bool8 MovementAction_AcroPopWheelieMoveRight_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(objectEvent, sprite)) + if (UpdateMovementNormal(objectEvent, sprite)) { sprite->data[2] = 2; return TRUE; @@ -7723,21 +7709,21 @@ static bool8 MovementAction_AcroPopWheelieMoveRight_Step1(struct ObjectEvent *ob return FALSE; } -void sub_806751C(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 direction, u8 speed) +void InitAcroWheelieMove(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 direction, u8 speed) { - npc_apply_direction(objectEvent, sprite, direction, speed); - npc_apply_anim_looping(objectEvent, sprite, GetAcroWheeliePedalDirectionAnimNum(objectEvent->facingDirection)); + InitNpcForMovement(objectEvent, sprite, direction, speed); + SetStepAnimHandleAlternation(objectEvent, sprite, GetAcroWheeliePedalDirectionAnimNum(objectEvent->facingDirection)); } static bool8 MovementAction_AcroWheelieMoveDown_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_806751C(objectEvent, sprite, DIR_SOUTH, 1); + InitAcroWheelieMove(objectEvent, sprite, DIR_SOUTH, 1); return MovementAction_AcroWheelieMoveDown_Step1(objectEvent, sprite); } static bool8 MovementAction_AcroWheelieMoveDown_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(objectEvent, sprite)) + if (UpdateMovementNormal(objectEvent, sprite)) { sprite->data[2] = 2; return TRUE; @@ -7747,13 +7733,13 @@ static bool8 MovementAction_AcroWheelieMoveDown_Step1(struct ObjectEvent *object static bool8 MovementAction_AcroWheelieMoveUp_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_806751C(objectEvent, sprite, DIR_NORTH, 1); + InitAcroWheelieMove(objectEvent, sprite, DIR_NORTH, 1); return MovementAction_AcroWheelieMoveUp_Step1(objectEvent, sprite); } static bool8 MovementAction_AcroWheelieMoveUp_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(objectEvent, sprite)) + if (UpdateMovementNormal(objectEvent, sprite)) { sprite->data[2] = 2; return TRUE; @@ -7763,13 +7749,13 @@ static bool8 MovementAction_AcroWheelieMoveUp_Step1(struct ObjectEvent *objectEv static bool8 MovementAction_AcroWheelieMoveLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_806751C(objectEvent, sprite, DIR_WEST, 1); + InitAcroWheelieMove(objectEvent, sprite, DIR_WEST, 1); return MovementAction_AcroWheelieMoveLeft_Step1(objectEvent, sprite); } static bool8 MovementAction_AcroWheelieMoveLeft_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(objectEvent, sprite)) + if (UpdateMovementNormal(objectEvent, sprite)) { sprite->data[2] = 2; return TRUE; @@ -7779,13 +7765,13 @@ static bool8 MovementAction_AcroWheelieMoveLeft_Step1(struct ObjectEvent *object static bool8 MovementAction_AcroWheelieMoveRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_806751C(objectEvent, sprite, DIR_EAST, 1); + InitAcroWheelieMove(objectEvent, sprite, DIR_EAST, 1); return MovementAction_AcroWheelieMoveRight_Step1(objectEvent, sprite); } static bool8 MovementAction_AcroWheelieMoveRight_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(objectEvent, sprite)) + if (UpdateMovementNormal(objectEvent, sprite)) { sprite->data[2] = 2; return TRUE; @@ -7793,22 +7779,22 @@ static bool8 MovementAction_AcroWheelieMoveRight_Step1(struct ObjectEvent *objec return FALSE; } -void sub_806764C(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 direction, u8 speed) +void InitSpin(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 direction, u8 speed) { - npc_apply_direction(objectEvent, sprite, direction, speed); - npc_apply_anim_looping(objectEvent, sprite, sub_80634C0(objectEvent->facingDirection)); + InitNpcForMovement(objectEvent, sprite, direction, speed); + SetStepAnimHandleAlternation(objectEvent, sprite, GetSpinDirectionAnimNum(objectEvent->facingDirection)); SeekSpriteAnim(sprite, 0); } static bool8 MovementActionFunc_x94_0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_806764C(objectEvent, sprite, DIR_SOUTH, 1); + InitSpin(objectEvent, sprite, DIR_SOUTH, 1); return MovementActionFunc_x94_1(objectEvent, sprite); } static bool8 MovementActionFunc_x94_1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(objectEvent, sprite)) + if (UpdateMovementNormal(objectEvent, sprite)) { sprite->data[2] = 2; return TRUE; @@ -7818,13 +7804,13 @@ static bool8 MovementActionFunc_x94_1(struct ObjectEvent *objectEvent, struct Sp static bool8 MovementActionFunc_x95_0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_806764C(objectEvent, sprite, DIR_NORTH, 1); + InitSpin(objectEvent, sprite, DIR_NORTH, 1); return MovementActionFunc_x95_1(objectEvent, sprite); } static bool8 MovementActionFunc_x95_1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(objectEvent, sprite)) + if (UpdateMovementNormal(objectEvent, sprite)) { sprite->data[2] = 2; return TRUE; @@ -7834,13 +7820,13 @@ static bool8 MovementActionFunc_x95_1(struct ObjectEvent *objectEvent, struct Sp static bool8 MovementActionFunc_x96_0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_806764C(objectEvent, sprite, DIR_WEST, 1); + InitSpin(objectEvent, sprite, DIR_WEST, 1); return MovementActionFunc_x96_1(objectEvent, sprite); } static bool8 MovementActionFunc_x96_1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(objectEvent, sprite)) + if (UpdateMovementNormal(objectEvent, sprite)) { sprite->data[2] = 2; return TRUE; @@ -7850,13 +7836,13 @@ static bool8 MovementActionFunc_x96_1(struct ObjectEvent *objectEvent, struct Sp static bool8 MovementActionFunc_x97_0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - sub_806764C(objectEvent, sprite, DIR_EAST, 1); + InitSpin(objectEvent, sprite, DIR_EAST, 1); return MovementActionFunc_x97_1(objectEvent, sprite); } static bool8 MovementActionFunc_x97_1(struct ObjectEvent *objectEvent, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(objectEvent, sprite)) + if (UpdateMovementNormal(objectEvent, sprite)) { sprite->data[2] = 2; return TRUE; @@ -8915,7 +8901,7 @@ static void oct_little_steps(struct Sprite * sprite, u8 direction) sprite->y += 8 * (u16)sDirectionToVectors[direction].y; } -void oamt_npc_ministep_reset(struct Sprite * sprite, u8 direction, u8 speed) +void SetSpriteDataForNormalStep(struct Sprite * sprite, u8 direction, u8 speed) { sprite->tDirection = direction; sprite->tSpeed = speed; @@ -8991,7 +8977,7 @@ static const s16 sSpriteStepCountsBySpeed[] = { NELEMS(sSpeed4) }; -bool8 obj_npc_ministep(struct Sprite *sprite) +bool8 NpcTakeStep(struct Sprite *sprite) { if (sprite->tStepNo >= sSpriteStepCountsBySpeed[sprite->tSpeed]) return FALSE; @@ -9006,23 +8992,18 @@ bool8 obj_npc_ministep(struct Sprite *sprite) return TRUE; } -#undef tStepNo #undef tSpeed -#undef tDirection -#define tDirection data[3] #define tDelay data[4] -#define tStepNo data[5] -void SetSpriteDataForNormalStep(struct Sprite *sprite, u8 direction) +void SetWalkSlowerSpriteData(struct Sprite *sprite, u8 direction) { sprite->tDirection = direction; sprite->tDelay = 0; sprite->tStepNo = 0; } -// used by an_walk_any_2 -bool8 NpcTakeStep(struct Sprite *sprite) +bool8 UpdateWalkSlowerAnim(struct Sprite *sprite) { if (!(sprite->tDelay & 1)) { @@ -9038,14 +9019,16 @@ bool8 NpcTakeStep(struct Sprite *sprite) return FALSE; } -void SetSpriteDataForNormalStep3(struct Sprite *sprite, u8 direction) +// SetWalkSlowSpriteData, SetWalkSlowerSpriteData, SetWalkSlowestSpriteData, +// and SetRunSlowSpriteData are functionally equivalent +void SetWalkSlowSpriteData(struct Sprite *sprite, u8 direction) { sprite->tDirection = direction; sprite->tDelay = 0; sprite->tStepNo = 0; } -bool8 sub_8068C18(struct Sprite *sprite) +bool8 UpdateWalkSlowAnim(struct Sprite *sprite) { if (++sprite->tDelay < 3) { @@ -9061,14 +9044,14 @@ bool8 sub_8068C18(struct Sprite *sprite) return FALSE; } -void SetSpriteDataForNormalStep2(struct Sprite *sprite, u8 direction) +void SetWalkSlowestSpriteData(struct Sprite *sprite, u8 direction) { sprite->tDirection = direction; sprite->tDelay = 0; sprite->tStepNo = 0; } -bool8 UpdateWalkSlowAnim(struct Sprite *sprite) +bool8 UpdateWalkSlowestAnim(struct Sprite *sprite) { if (++sprite->tDelay > 9) { @@ -9083,14 +9066,14 @@ bool8 UpdateWalkSlowAnim(struct Sprite *sprite) return FALSE; } -void SetSpriteDataForNormalStep4(struct Sprite *sprite, u8 direction) +void SetRunSlowSpriteData(struct Sprite *sprite, u8 direction) { sprite->tDirection = direction; sprite->tDelay = 0; sprite->tStepNo = 0; } -bool8 sub_8068CB4(struct Sprite *sprite) +bool8 UpdateRunSlowAnim(struct Sprite *sprite) { if ((++sprite->tDelay) & 1) { @@ -9111,9 +9094,7 @@ bool8 sub_8068CB4(struct Sprite *sprite) #undef tStepNo #undef tDelay -#undef tDirection -#define tDirection data[3] #define tJumpSpeed data[4] #define tJumpHeight data[5] #define tStepNo data[6] diff --git a/src/field_effect.c b/src/field_effect.c index 1c6c0f632..b44218dd5 100644 --- a/src/field_effect.c +++ b/src/field_effect.c @@ -1600,7 +1600,7 @@ static bool8 waterfall_2_wait_anim_finish_probably(struct Task * task, struct Ob static bool8 waterfall_3_move_player_probably(struct Task * task, struct ObjectEvent * playerObj) { - ObjectEventSetHeldMovement(playerObj, GetWalkSlowestMovementAction(DIR_NORTH)); + ObjectEventSetHeldMovement(playerObj, GetWalkSlowerMovementAction(DIR_NORTH)); task->data[0]++; return FALSE; } diff --git a/src/field_player_avatar.c b/src/field_player_avatar.c index 16426cdc4..b242796d4 100644 --- a/src/field_player_avatar.c +++ b/src/field_player_avatar.c @@ -831,7 +831,7 @@ static void QL_TryRecordNPCStepWithDuration32(struct ObjectEvent * objectEvent, void PlayerGoSlowest(u8 direction) { - PlayerSetAnimId(GetWalkSlowestMovementAction(direction), 2); + PlayerSetAnimId(GetWalkSlowerMovementAction(direction), 2); } void PlayerGoSlow(u8 direction) @@ -908,9 +908,9 @@ void PlayerJumpLedge(u8 direction) PlayerSetAnimId(GetJump2MovementAction(direction), 8); } -void sub_805C260(void) +void PlayerShakeHead(void) { - PlayerSetAnimId(MOVEMENT_ACTION_0x9F, 0); + PlayerSetAnimId(MOVEMENT_ACTION_SHAKE_HEAD, 0); } void HandleEnforcedLookDirectionOnPlayerStopMoving(void) @@ -1428,7 +1428,7 @@ static bool8 DoBoulderDust(struct Task *task, struct ObjectEvent *playerObject, ObjectEventClearHeldMovementIfFinished(playerObject); ObjectEventClearHeldMovementIfFinished(strengthObject); QL_TryRecordPlayerStepWithDuration0(playerObject, GetWalkInPlaceNormalMovementAction((u8)task->data[2])); - QL_TryRecordNPCStepWithDuration32(strengthObject, GetWalkSlowestMovementAction((u8)task->data[2])); + QL_TryRecordNPCStepWithDuration32(strengthObject, GetWalkSlowerMovementAction((u8)task->data[2])); gFieldEffectArguments[0] = strengthObject->currentCoords.x; gFieldEffectArguments[1] = strengthObject->currentCoords.y; gFieldEffectArguments[2] = strengthObject->previousElevation; @@ -1560,7 +1560,7 @@ static bool8 PlayerAvatar_SecretBaseMatSpinStep3(struct Task *task, struct Objec { if (ObjectEventClearHeldMovementIfFinished(objectEvent)) { - QL_TryRecordPlayerStepWithDuration0(objectEvent, GetWalkSlowestMovementAction(GetOppositeDirection(task->data[1]))); + QL_TryRecordPlayerStepWithDuration0(objectEvent, GetWalkSlowerMovementAction(GetOppositeDirection(task->data[1]))); ScriptContext2_Disable(); gPlayerAvatar.preventStep = FALSE; DestroyTask(FindTaskIdByFunc(PlayerAvatar_DoSecretBaseMatSpin)); @@ -1617,7 +1617,7 @@ static void Task_StopSurfingInit(u8 taskId) return; } SetSurfBlob_BobState(playerObjEvent->fieldEffectSpriteId, 2); - QL_TryRecordPlayerStepWithDuration0(playerObjEvent, sub_80641EC((u8)gTasks[taskId].data[0])); + QL_TryRecordPlayerStepWithDuration0(playerObjEvent, GetJumpSpecialWithEffectMovementAction((u8)gTasks[taskId].data[0])); gTasks[taskId].func = Task_WaitStopSurfing; } |