From 57e82c9264ba33d33f887e07257e1690f07fef24 Mon Sep 17 00:00:00 2001 From: GriffinR Date: Wed, 5 Oct 2022 17:16:40 -0400 Subject: [PATCH] Label movement action arrays, z coord -> elevation --- include/constants/event_object_movement.h | 8 +- include/event_object_movement.h | 31 +- include/field_player_avatar.h | 14 +- include/global.h | 2 +- src/bike.c | 10 +- .../object_events/movement_type_func_tables.h | 6 +- src/event_object_movement.c | 320 +++++++++--------- src/field_control_avatar.c | 34 +- src/field_effect.c | 2 +- src/field_effect_helpers.c | 6 +- src/field_fadetransition.c | 2 +- src/field_player_avatar.c | 67 ++-- src/fldeff_cut.c | 4 +- src/fldeff_rocksmash.c | 4 +- src/overworld.c | 12 +- src/shop.c | 6 +- 16 files changed, 260 insertions(+), 268 deletions(-) diff --git a/include/constants/event_object_movement.h b/include/constants/event_object_movement.h index 9ab0c7801..200c99086 100644 --- a/include/constants/event_object_movement.h +++ b/include/constants/event_object_movement.h @@ -70,10 +70,10 @@ #define MOVEMENT_TYPE_WALK_IN_PLACE_UP 0x41 #define MOVEMENT_TYPE_WALK_IN_PLACE_LEFT 0x42 #define MOVEMENT_TYPE_WALK_IN_PLACE_RIGHT 0x43 -#define MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_DOWN 0x44 -#define MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_UP 0x45 -#define MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_LEFT 0x46 -#define MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_RIGHT 0x47 +#define MOVEMENT_TYPE_WALK_IN_PLACE_FAST_DOWN 0x44 +#define MOVEMENT_TYPE_WALK_IN_PLACE_FAST_UP 0x45 +#define MOVEMENT_TYPE_WALK_IN_PLACE_FAST_LEFT 0x46 +#define MOVEMENT_TYPE_WALK_IN_PLACE_FAST_RIGHT 0x47 #define MOVEMENT_TYPE_JOG_IN_PLACE_DOWN 0x48 #define MOVEMENT_TYPE_JOG_IN_PLACE_UP 0x49 #define MOVEMENT_TYPE_JOG_IN_PLACE_LEFT 0x4A diff --git a/include/event_object_movement.h b/include/event_object_movement.h index 21bac2013..c9c1fe152 100644 --- a/include/event_object_movement.h +++ b/include/event_object_movement.h @@ -99,16 +99,16 @@ void TryOverrideObjectEventTemplateCoords(u8, u8, u8); void UpdateObjectEventCurrentMovement(struct ObjectEvent *, struct Sprite *, bool8(struct ObjectEvent *, struct Sprite *)); u8 ObjectEventFaceOppositeDirection(struct ObjectEvent *, u8); u8 GetOppositeDirection(u8); -u8 GetWalkInPlaceFastMovementAction(u32); +u8 GetWalkInPlaceFasterMovementAction(u32); u8 GetStepInPlaceDelay8AnimId(u32); u8 GetWalkInPlaceNormalMovementAction(u32); u8 GetWalkInPlaceSlowMovementAction(u32); -u8 GetStepInPlaceDelay32AnimId(u32); +u8 GetWalkInPlaceFastMovementAction(u32); u8 GetCollisionAtCoords(struct ObjectEvent *, s16, s16, u32); void MoveCoords(u8, s16 *, s16 *); bool8 ObjectEventIsHeldMovementActive(struct ObjectEvent *); u8 ObjectEventClearHeldMovementIfFinished(struct ObjectEvent *); -u8 GetObjectEventIdByXYZ(u16 x, u16 y, u8 z); +u8 GetObjectEventIdByPosition(u16 x, u16 y, u8 elevation); void sub_8063E28(struct ObjectEvent *, struct Sprite *); bool8 ObjectEventSetHeldMovement(struct ObjectEvent *, u8); void ShiftStillObjectEventCoords(struct ObjectEvent *); @@ -123,7 +123,7 @@ bool8 ObjectEventIsMovementOverridden(struct ObjectEvent *objectEvent); u8 ObjectEventCheckHeldMovementStatus(struct ObjectEvent *objectEvent); u8 GetWalkNormalMovementAction(u32); u8 GetWalkFastMovementAction(u32); -u8 GetWalkFastestMovementAction(u32); +u8 GetWalkFasterMovementAction(u32); u8 GetWalkSlowerMovementAction(u32 direction); u8 GetTrainerFacingDirectionMovementType(u8 direction); u8 GetFaceDirectionMovementAction(u32); @@ -160,11 +160,9 @@ u8 CreateCopySpriteAt(struct Sprite *sprite, s16 x, s16 y, u8 subpriority); u16 GetObjectPaletteTag(u8 paletteIndex); void SetSpritePosToMapCoords(s16 x, s16 y, s16 *x2, s16 *y2); void UpdateObjectEventSpriteVisibility(struct Sprite *sprite, bool8 invisible); -bool8 AreZCoordsCompatible(u8, u8); -u8 ZCoordToPriority(u8 z); -void ObjectEventUpdateZCoord(struct ObjectEvent *pObject); -void SetObjectSubpriorityByZCoord(u8 z, struct Sprite *sprite, u8 offset); -bool8 IsZCoordMismatchAt(u8, s16, s16); +u8 ElevationToPriority(u8 elevation); +void ObjectEventUpdateElevation(struct ObjectEvent *pObject); +void SetObjectSubpriorityByElevation(u8 elevation, struct Sprite *sprite, u8 offset); void MakeObjectTemplateFromObjectEventGraphicsInfo(u16 graphicsId, void (*callback)(struct Sprite *), struct SpriteTemplate *spriteTemplate, const struct SubspriteTable **subspriteTables); u8 AddCameraObject(u8 trackedSpriteId); void UpdateObjectEventsForCameraUpdate(s16 x, s16 y); @@ -195,8 +193,8 @@ extern const struct OamData gObjectEventBaseOam_32x32; extern const u16 gFieldEffectObjectPic_CutGrass[]; extern const u16 gFieldEffectPal_CutGrass[]; extern const u8 gReflectionEffectPaletteMap[]; -u8 GetLedgeJumpDirection(s16 x, s16 y, u8 z); -u8 sub_8063FDC(u32 direction); +u8 GetLedgeJumpDirection(s16 x, s16 y, u8 direction); +u8 GetGlideMovementAction(u32 direction); u8 GetRideWaterCurrentMovementAction(u32 direction); u8 GetPlayerRunMovementAction(u32 direction); u8 GetPlayerRunSlowMovementAction(u32 direction); @@ -206,12 +204,13 @@ u8 GetAcroWheelieFaceDirectionMovementAction(u32 direction); u8 GetAcroPopWheelieFaceDirectionMovementAction(u32 direction); u8 GetAcroEndWheelieFaceDirectionMovementAction(u32 direction); u8 GetAcroWheelieHopFaceDirectionMovementAction(u32 direction); -u8 GetAcroWheelieHopDirectionMovementAction(u32 direction); -u8 GetAcroWheelieJumpDirectionMovementAction(u32 direction); +u8 GetAcroWheelieHopMovementAction(u32 direction); +u8 GetAcroPopWheelieMoveMovementAction(u32 direction); +u8 GetAcroWheelieJumpMovementAction(u32 direction); u8 GetJumpInPlaceTurnAroundMovementAction(u32 direction); -u8 GetAcroWheelieInPlaceDirectionMovementAction(u32 direction); -u8 GetAcroPopWheelieMoveDirectionMovementAction(u32 direction); -u8 GetAcroWheelieMoveDirectionMovementAction(u32 direction); +u8 GetAcroWheelieInPlaceMovementAction(u32 direction); +u8 GetAcroPopWheelieMoveMovementAction(u32 direction); +u8 GetAcroWheelieMoveMovementAction(u32 direction); u8 GetJumpSpecialWithEffectMovementAction(u32 direction); u8 GetFishingBiteDirectionAnimNum(u8 direction); void TrySpawnObjectEvents(s16 cameraX, s16 cameraY); diff --git a/include/field_player_avatar.h b/include/field_player_avatar.h index 9f726cf99..0c078fc6e 100644 --- a/include/field_player_avatar.h +++ b/include/field_player_avatar.h @@ -26,7 +26,7 @@ void SetPlayerAvatarTransitionFlags(u16 flags); bool8 IsPlayerFacingSurfableFishableWater(void); void StartFishing(u8 secondaryId); u8 GetPlayerAvatarObjectId(void); -u8 PlayerGetZCoord(void); +u8 PlayerGetElevation(void); u8 GetPlayerAvatarGraphicsIdByCurrentState(void); void StartPlayerAvatarSummonMonForFieldMoveAnim(void); void SetPlayerInvisibility(bool8); @@ -41,13 +41,13 @@ void StartPlayerAvatarVsSeekerAnim(void); u8 GetRivalAvatarGraphicsIdByStateIdAndGender(u8 state, u8 gender); u8 GetPlayerAvatarGraphicsIdByStateIdAndGender(u8 state, u8 gender); u8 CheckForObjectEventCollision(struct ObjectEvent *objectEvent, s16 x, s16 y, u8 direction, u8 metatileBehavior); -void PlayerGoSlowest(u8 direction); -void PlayerGoSlow(u8 direction); -void PlayerGoSpeed1(u8 direction); -void PlayerGoSpeed2(u8 direction); -void sub_805C134(u8 direction); +void PlayerWalkSlower(u8 direction); +void PlayerWalkSlow(u8 direction); +void PlayerWalkNormal(u8 direction); +void PlayerWalkFast(u8 direction); +void PlayerGlide(u8 direction); void PlayerRideWaterCurrent(u8 direction); -void PlayerGoSpeed4(u8 direction); +void PlayerWalkFaster(u8 direction); void PlayerRun(u8 direction); void PlayerRunSlow(u8 direction); void PlayerOnBikeCollide(u8 direction); diff --git a/include/global.h b/include/global.h index 27fb57830..7bcf61911 100644 --- a/include/global.h +++ b/include/global.h @@ -814,7 +814,7 @@ struct MapPosition { s16 x; s16 y; - s8 height; + s8 elevation; }; extern struct SaveBlock1* gSaveBlock1Ptr; diff --git a/src/bike.c b/src/bike.c index 941a9773a..ddaae0fa6 100644 --- a/src/bike.c +++ b/src/bike.c @@ -187,9 +187,9 @@ static void BikeTransition_MoveDirection(u8 direction) { if (collision == COLLISION_COUNT) - PlayerGoSpeed2(direction); + PlayerWalkFast(direction); else if (PlayerIsMovingOnRockStairs(direction)) - PlayerGoSpeed2(direction); + PlayerWalkFast(direction); else PlayerRideWaterCurrent(direction); } @@ -201,7 +201,7 @@ static void BikeTransition_Downhill(u8 v) u8 collision = GetBikeCollision(DIR_SOUTH); if (collision == COLLISION_NONE) - PlayerGoSpeed4(DIR_SOUTH); + PlayerWalkFaster(DIR_SOUTH); else if (collision == COLLISION_LEDGE_JUMP) PlayerJumpLedge(DIR_SOUTH); } @@ -209,7 +209,7 @@ static void BikeTransition_Downhill(u8 v) static void BikeTransition_Uphill(u8 direction) { if (GetBikeCollision(direction) == COLLISION_NONE) - PlayerGoSpeed1(direction); + PlayerWalkNormal(direction); } static u8 GetBikeCollision(u8 direction) @@ -266,7 +266,7 @@ static bool8 MetatileBehaviorForbidsBiking(u8 metatileBehavior) return TRUE; if (!MetatileBehavior_IsFortreeBridge(metatileBehavior)) return FALSE; - if (PlayerGetZCoord() & 1) + if (PlayerGetElevation() & 1) return FALSE; return TRUE; } diff --git a/src/data/object_events/movement_type_func_tables.h b/src/data/object_events/movement_type_func_tables.h index 4799a7edd..b14421986 100644 --- a/src/data/object_events/movement_type_func_tables.h +++ b/src/data/object_events/movement_type_func_tables.h @@ -134,7 +134,7 @@ static bool8 MovementType_CopyPlayer_Step2(struct ObjectEvent *objectEvent, stru static bool8 MovementType_Buried_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite); static bool8 MovementType_WalkInPlace_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite); static bool8 MovementType_MoveInPlace_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite); -static bool8 MovementType_WalkSlowlyInPlace_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite); +static bool8 MovementType_WalkInPlaceFast_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite); static bool8 MovementType_MoveInPlace_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite); static bool8 MovementType_JogInPlace_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite); static bool8 MovementType_MoveInPlace_Step1(struct ObjectEvent *objectEvent, struct Sprite *sprite); @@ -580,8 +580,8 @@ u8 (*const gMovementTypeFuncs_WalkInPlace[])(struct ObjectEvent *, struct Sprite MovementType_MoveInPlace_Step1, }; -u8 (*const gMovementTypeFuncs_WalkSlowlyInPlace[])(struct ObjectEvent *, struct Sprite *) = { - MovementType_WalkSlowlyInPlace_Step0, +u8 (*const gMovementTypeFuncs_WalkInPlaceFast[])(struct ObjectEvent *, struct Sprite *) = { + MovementType_WalkInPlaceFast_Step0, MovementType_MoveInPlace_Step1, }; diff --git a/src/event_object_movement.c b/src/event_object_movement.c index f03121f3e..4f2574ae2 100644 --- a/src/event_object_movement.c +++ b/src/event_object_movement.c @@ -49,7 +49,7 @@ static void GetGroundEffectFlags_Seaweed(struct ObjectEvent *, u32 *); static void GetGroundEffectFlags_JumpLanding(struct ObjectEvent *, u32 *); static u8 ObjectEventCheckForReflectiveSurface(struct ObjectEvent *); static u8 GetReflectionTypeByMetatileBehavior(u32); -static void InitObjectPriorityByZCoord(struct Sprite *sprite, u8 z); +static void InitObjectPriorityByElevation(struct Sprite *sprite, u8 elevation); static void ObjectEventUpdateSubpriority(struct ObjectEvent *, struct Sprite *); static void DoTracksGroundEffect_None(struct ObjectEvent *, struct Sprite *, u8); static void DoTracksGroundEffect_Footprints(struct ObjectEvent *, struct Sprite *, u8); @@ -76,7 +76,9 @@ static void SetPlayerAvatarObjectEventIdAndObjectId(u8, u8); static void ResetObjectEventFldEffData(struct ObjectEvent *); static u8 TryLoadObjectPalette(const struct SpritePalette *spritePalette); static u8 FindObjectEventPaletteIndexByTag(u16); -static bool8 ObjectEventDoesZCoordMatch(struct ObjectEvent *, u8); +static bool8 ObjectEventDoesElevationMatch(struct ObjectEvent *, u8); +static bool8 IsElevationMismatchAt(u8 elevation, s16 x, s16 y); +static bool8 AreElevationsCompatible(u8 a, u8 b); static void ObjectCB_CameraObject(struct Sprite *); static void CameraObject_0(struct Sprite *); static void CameraObject_1(struct Sprite *); @@ -144,7 +146,7 @@ static void MovementType_MountainDisguise(struct Sprite *); static void MovementType_CopyPlayerInGrass(struct Sprite *); static void MovementType_Buried(struct Sprite *); static void MovementType_WalkInPlace(struct Sprite *); -static void MovementType_WalkSlowlyInPlace(struct Sprite *); +static void MovementType_WalkInPlaceFast(struct Sprite *); static void MovementType_JogInPlace(struct Sprite *); static void MovementType_Invisible(struct Sprite *); static void MovementType_RaiseHandAndStop(struct Sprite *); @@ -280,10 +282,10 @@ static void (*const sMovementTypeCallbacks[MOVEMENT_TYPES_COUNT])(struct Sprite [MOVEMENT_TYPE_WALK_IN_PLACE_UP] = MovementType_WalkInPlace, [MOVEMENT_TYPE_WALK_IN_PLACE_LEFT] = MovementType_WalkInPlace, [MOVEMENT_TYPE_WALK_IN_PLACE_RIGHT] = MovementType_WalkInPlace, - [MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_DOWN] = MovementType_WalkSlowlyInPlace, - [MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_UP] = MovementType_WalkSlowlyInPlace, - [MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_LEFT] = MovementType_WalkSlowlyInPlace, - [MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_RIGHT] = MovementType_WalkSlowlyInPlace, + [MOVEMENT_TYPE_WALK_IN_PLACE_FAST_DOWN] = MovementType_WalkInPlaceFast, + [MOVEMENT_TYPE_WALK_IN_PLACE_FAST_UP] = MovementType_WalkInPlaceFast, + [MOVEMENT_TYPE_WALK_IN_PLACE_FAST_LEFT] = MovementType_WalkInPlaceFast, + [MOVEMENT_TYPE_WALK_IN_PLACE_FAST_RIGHT] = MovementType_WalkInPlaceFast, [MOVEMENT_TYPE_JOG_IN_PLACE_DOWN] = MovementType_JogInPlace, [MOVEMENT_TYPE_JOG_IN_PLACE_UP] = MovementType_JogInPlace, [MOVEMENT_TYPE_JOG_IN_PLACE_LEFT] = MovementType_JogInPlace, @@ -409,10 +411,10 @@ static const u8 gInitialMovementTypeFacingDirections[MOVEMENT_TYPES_COUNT] = { [MOVEMENT_TYPE_WALK_IN_PLACE_UP] = DIR_NORTH, [MOVEMENT_TYPE_WALK_IN_PLACE_LEFT] = DIR_WEST, [MOVEMENT_TYPE_WALK_IN_PLACE_RIGHT] = DIR_EAST, - [MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_DOWN] = DIR_SOUTH, - [MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_UP] = DIR_NORTH, - [MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_LEFT] = DIR_WEST, - [MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_RIGHT] = DIR_EAST, + [MOVEMENT_TYPE_WALK_IN_PLACE_FAST_DOWN] = DIR_SOUTH, + [MOVEMENT_TYPE_WALK_IN_PLACE_FAST_UP] = DIR_NORTH, + [MOVEMENT_TYPE_WALK_IN_PLACE_FAST_LEFT] = DIR_WEST, + [MOVEMENT_TYPE_WALK_IN_PLACE_FAST_RIGHT] = DIR_EAST, [MOVEMENT_TYPE_JOG_IN_PLACE_DOWN] = DIR_SOUTH, [MOVEMENT_TYPE_JOG_IN_PLACE_UP] = DIR_NORTH, [MOVEMENT_TYPE_JOG_IN_PLACE_LEFT] = DIR_WEST, @@ -896,7 +898,7 @@ static const struct Coords16 sDirectionToVectors[] = { [DIR_NORTHEAST] = { 1, -1}, }; -static const u8 gFaceDirectionMovementActions[] = { +static const u8 sFaceDirectionMovementActions[] = { [DIR_NONE] = MOVEMENT_ACTION_FACE_DOWN, [DIR_SOUTH] = MOVEMENT_ACTION_FACE_DOWN, [DIR_NORTH] = MOVEMENT_ACTION_FACE_UP, @@ -904,7 +906,7 @@ static const u8 gFaceDirectionMovementActions[] = { [DIR_EAST] = MOVEMENT_ACTION_FACE_RIGHT, }; -static const u8 gFaceDirectionFastMovementActions[] = { +static const u8 sFaceDirectionFastMovementActions[] = { [DIR_NONE] = MOVEMENT_ACTION_FACE_DOWN_FAST, [DIR_SOUTH] = MOVEMENT_ACTION_FACE_DOWN_FAST, [DIR_NORTH] = MOVEMENT_ACTION_FACE_UP_FAST, @@ -912,7 +914,7 @@ static const u8 gFaceDirectionFastMovementActions[] = { [DIR_EAST] = MOVEMENT_ACTION_FACE_RIGHT_FAST, }; -static const u8 gWalkSlowestMovementActions[] = { +static const u8 sWalkSlowestMovementActions[] = { [DIR_NONE] = MOVEMENT_ACTION_WALK_SLOWEST_DOWN, [DIR_SOUTH] = MOVEMENT_ACTION_WALK_SLOWEST_DOWN, [DIR_NORTH] = MOVEMENT_ACTION_WALK_SLOWEST_UP, @@ -920,7 +922,7 @@ static const u8 gWalkSlowestMovementActions[] = { [DIR_EAST] = MOVEMENT_ACTION_WALK_SLOWEST_RIGHT, }; -static const u8 gUnknown_83A64FB[] = { +static const u8 sWalkSlowerMovementActions[] = { [DIR_NONE] = MOVEMENT_ACTION_WALK_SLOWER_DOWN, [DIR_SOUTH] = MOVEMENT_ACTION_WALK_SLOWER_DOWN, [DIR_NORTH] = MOVEMENT_ACTION_WALK_SLOWER_UP, @@ -928,7 +930,7 @@ static const u8 gUnknown_83A64FB[] = { [DIR_EAST] = MOVEMENT_ACTION_WALK_SLOWER_RIGHT, }; -static const u8 gUnknown_83A6500[] = { +static const u8 sWalkSlowMovementActions[] = { [DIR_NONE] = MOVEMENT_ACTION_WALK_SLOW_DOWN, [DIR_SOUTH] = MOVEMENT_ACTION_WALK_SLOW_DOWN, [DIR_NORTH] = MOVEMENT_ACTION_WALK_SLOW_UP, @@ -936,7 +938,7 @@ static const u8 gUnknown_83A6500[] = { [DIR_EAST] = MOVEMENT_ACTION_WALK_SLOW_RIGHT, }; -static const u8 gUnknown_83A6505[] = { +static const u8 sWalkNormalMovementActions[] = { [DIR_NONE] = MOVEMENT_ACTION_WALK_NORMAL_DOWN, [DIR_SOUTH] = MOVEMENT_ACTION_WALK_NORMAL_DOWN, [DIR_NORTH] = MOVEMENT_ACTION_WALK_NORMAL_UP, @@ -944,7 +946,7 @@ static const u8 gUnknown_83A6505[] = { [DIR_EAST] = MOVEMENT_ACTION_WALK_NORMAL_RIGHT, }; -static const u8 gUnknown_83A650A[] = { +static const u8 sWalkFastMovementActions[] = { [DIR_NONE] = MOVEMENT_ACTION_WALK_FAST_DOWN, [DIR_SOUTH] = MOVEMENT_ACTION_WALK_FAST_DOWN, [DIR_NORTH] = MOVEMENT_ACTION_WALK_FAST_UP, @@ -952,7 +954,7 @@ static const u8 gUnknown_83A650A[] = { [DIR_EAST] = MOVEMENT_ACTION_WALK_FAST_RIGHT, }; -static const u8 gUnknown_83A650F[] = { +static const u8 sGlideMovementActions[] = { [DIR_NONE] = MOVEMENT_ACTION_GLIDE_DOWN, [DIR_SOUTH] = MOVEMENT_ACTION_GLIDE_DOWN, [DIR_NORTH] = MOVEMENT_ACTION_GLIDE_UP, @@ -960,7 +962,7 @@ static const u8 gUnknown_83A650F[] = { [DIR_EAST] = MOVEMENT_ACTION_GLIDE_RIGHT, }; -static const u8 gUnknown_83A6514[] = { +static const u8 sRideWaterCurrentMovementActions[] = { [DIR_NONE] = MOVEMENT_ACTION_RIDE_WATER_CURRENT_DOWN, [DIR_SOUTH] = MOVEMENT_ACTION_RIDE_WATER_CURRENT_DOWN, [DIR_NORTH] = MOVEMENT_ACTION_RIDE_WATER_CURRENT_UP, @@ -968,7 +970,7 @@ static const u8 gUnknown_83A6514[] = { [DIR_EAST] = MOVEMENT_ACTION_RIDE_WATER_CURRENT_RIGHT, }; -static const u8 gUnknown_83A6519[] = { +static const u8 sWalkFasterMovementActions[] = { [DIR_NONE] = MOVEMENT_ACTION_WALK_FASTER_DOWN, [DIR_SOUTH] = MOVEMENT_ACTION_WALK_FASTER_DOWN, [DIR_NORTH] = MOVEMENT_ACTION_WALK_FASTER_UP, @@ -976,7 +978,7 @@ static const u8 gUnknown_83A6519[] = { [DIR_EAST] = MOVEMENT_ACTION_WALK_FASTER_RIGHT, }; -static const u8 gUnknown_83A651E[] = { +static const u8 sSlideMovementActions[] = { [DIR_NONE] = MOVEMENT_ACTION_SLIDE_DOWN, [DIR_SOUTH] = MOVEMENT_ACTION_SLIDE_DOWN, [DIR_NORTH] = MOVEMENT_ACTION_SLIDE_UP, @@ -984,7 +986,7 @@ static const u8 gUnknown_83A651E[] = { [DIR_EAST] = MOVEMENT_ACTION_SLIDE_RIGHT, }; -static const u8 gUnknown_83A6523[] = { +static const u8 sPlayerRunMovementActions[] = { [DIR_NONE] = MOVEMENT_ACTION_PLAYER_RUN_DOWN, [DIR_SOUTH] = MOVEMENT_ACTION_PLAYER_RUN_DOWN, [DIR_NORTH] = MOVEMENT_ACTION_PLAYER_RUN_UP, @@ -992,7 +994,7 @@ static const u8 gUnknown_83A6523[] = { [DIR_EAST] = MOVEMENT_ACTION_PLAYER_RUN_RIGHT, }; -static const u8 gUnknown_83A6528[] = { +static const u8 sPlayerRunSlowMovementActions[] = { [DIR_NONE] = MOVEMENT_ACTION_PLAYER_RUN_DOWN_SLOW, [DIR_SOUTH] = MOVEMENT_ACTION_PLAYER_RUN_DOWN_SLOW, [DIR_NORTH] = MOVEMENT_ACTION_PLAYER_RUN_UP_SLOW, @@ -1000,7 +1002,7 @@ static const u8 gUnknown_83A6528[] = { [DIR_EAST] = MOVEMENT_ACTION_PLAYER_RUN_RIGHT_SLOW, }; -static const u8 gUnknown_83A652D[] = { +static const u8 sSpinMovementActions[] = { [DIR_NONE] = MOVEMENT_ACTION_SPIN_DOWN, [DIR_SOUTH] = MOVEMENT_ACTION_SPIN_DOWN, [DIR_NORTH] = MOVEMENT_ACTION_SPIN_UP, @@ -1008,7 +1010,7 @@ static const u8 gUnknown_83A652D[] = { [DIR_EAST] = MOVEMENT_ACTION_SPIN_RIGHT, }; -static const u8 gUnknown_83A6532[] = { +static const u8 sJump2MovementActions[] = { [DIR_NONE] = MOVEMENT_ACTION_JUMP_2_DOWN, [DIR_SOUTH] = MOVEMENT_ACTION_JUMP_2_DOWN, [DIR_NORTH] = MOVEMENT_ACTION_JUMP_2_UP, @@ -1016,7 +1018,7 @@ static const u8 gUnknown_83A6532[] = { [DIR_EAST] = MOVEMENT_ACTION_JUMP_2_RIGHT, }; -static const u8 gUnknown_83A6537[] = { +static const u8 sJumpInPlaceMovementActions[] = { [DIR_NONE] = MOVEMENT_ACTION_JUMP_IN_PLACE_DOWN, [DIR_SOUTH] = MOVEMENT_ACTION_JUMP_IN_PLACE_DOWN, [DIR_NORTH] = MOVEMENT_ACTION_JUMP_IN_PLACE_UP, @@ -1024,7 +1026,7 @@ static const u8 gUnknown_83A6537[] = { [DIR_EAST] = MOVEMENT_ACTION_JUMP_IN_PLACE_RIGHT, }; -static const u8 gUnknown_83A653C[] = { +static const u8 sJumpInPlaceTurnAroundMovementActions[] = { [DIR_NONE] = MOVEMENT_ACTION_JUMP_IN_PLACE_UP_DOWN, [DIR_SOUTH] = MOVEMENT_ACTION_JUMP_IN_PLACE_UP_DOWN, [DIR_NORTH] = MOVEMENT_ACTION_JUMP_IN_PLACE_DOWN_UP, @@ -1032,7 +1034,7 @@ static const u8 gUnknown_83A653C[] = { [DIR_EAST] = MOVEMENT_ACTION_JUMP_IN_PLACE_LEFT_RIGHT, }; -static const u8 gUnknown_83A6541[] = { +static const u8 sJumpMovementActions[] = { [DIR_NONE] = MOVEMENT_ACTION_JUMP_DOWN, [DIR_SOUTH] = MOVEMENT_ACTION_JUMP_DOWN, [DIR_NORTH] = MOVEMENT_ACTION_JUMP_UP, @@ -1040,7 +1042,7 @@ static const u8 gUnknown_83A6541[] = { [DIR_EAST] = MOVEMENT_ACTION_JUMP_RIGHT, }; -static const u8 gUnknown_83A6546[] = { +static const u8 sJumpSpecialMovementActions[] = { [DIR_NONE] = MOVEMENT_ACTION_JUMP_SPECIAL_DOWN, [DIR_SOUTH] = MOVEMENT_ACTION_JUMP_SPECIAL_DOWN, [DIR_NORTH] = MOVEMENT_ACTION_JUMP_SPECIAL_UP, @@ -1048,7 +1050,7 @@ static const u8 gUnknown_83A6546[] = { [DIR_EAST] = MOVEMENT_ACTION_JUMP_SPECIAL_RIGHT, }; -static const u8 gUnknown_83A654B[] = { +static const u8 sJumpSpecialWithEffectMovementActions[] = { [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, @@ -1056,7 +1058,7 @@ static const u8 gUnknown_83A654B[] = { [DIR_EAST] = MOVEMENT_ACTION_JUMP_SPECIAL_WITH_EFFECT_RIGHT, }; -static const u8 gUnknown_83A6550[] = { +static const u8 sWalkInPlaceSlowMovementActions[] = { [DIR_NONE] = MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_DOWN, [DIR_SOUTH] = MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_DOWN, [DIR_NORTH] = MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_UP, @@ -1064,7 +1066,7 @@ static const u8 gUnknown_83A6550[] = { [DIR_EAST] = MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_RIGHT, }; -static const u8 gUnknown_83A6555[] = { +static const u8 sWalkInPlaceNormalMovementActions[] = { [DIR_NONE] = MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_DOWN, [DIR_SOUTH] = MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_DOWN, [DIR_NORTH] = MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_UP, @@ -1072,7 +1074,7 @@ static const u8 gUnknown_83A6555[] = { [DIR_EAST] = MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_RIGHT, }; -static const u8 gUnknown_83A655A[] = { +static const u8 sWalkInPlaceFastMovementActions[] = { [DIR_NONE] = MOVEMENT_ACTION_WALK_IN_PLACE_FAST_DOWN, [DIR_SOUTH] = MOVEMENT_ACTION_WALK_IN_PLACE_FAST_DOWN, [DIR_NORTH] = MOVEMENT_ACTION_WALK_IN_PLACE_FAST_UP, @@ -1080,7 +1082,7 @@ static const u8 gUnknown_83A655A[] = { [DIR_EAST] = MOVEMENT_ACTION_WALK_IN_PLACE_FAST_RIGHT, }; -static const u8 gUnknown_83A655F[] = { +static const u8 sWalkInPlaceFasterMovementActions[] = { [DIR_NONE] = MOVEMENT_ACTION_WALK_IN_PLACE_FASTER_DOWN, [DIR_SOUTH] = MOVEMENT_ACTION_WALK_IN_PLACE_FASTER_DOWN, [DIR_NORTH] = MOVEMENT_ACTION_WALK_IN_PLACE_FASTER_UP, @@ -1088,7 +1090,7 @@ static const u8 gUnknown_83A655F[] = { [DIR_EAST] = MOVEMENT_ACTION_WALK_IN_PLACE_FASTER_RIGHT, }; -static const u8 gUnknown_83A6564[] = { +static const u8 sAcroWheelieFaceDirectionMovementActions[] = { [DIR_NONE] = MOVEMENT_ACTION_ACRO_WHEELIE_FACE_DOWN, [DIR_SOUTH] = MOVEMENT_ACTION_ACRO_WHEELIE_FACE_DOWN, [DIR_NORTH] = MOVEMENT_ACTION_ACRO_WHEELIE_FACE_UP, @@ -1096,7 +1098,7 @@ static const u8 gUnknown_83A6564[] = { [DIR_EAST] = MOVEMENT_ACTION_ACRO_WHEELIE_FACE_RIGHT, }; -static const u8 gUnknown_83A6569[] = { +static const u8 sAcroPopWheelieFaceDirectionMovementActions[] = { [DIR_NONE] = MOVEMENT_ACTION_ACRO_POP_WHEELIE_DOWN, [DIR_SOUTH] = MOVEMENT_ACTION_ACRO_POP_WHEELIE_DOWN, [DIR_NORTH] = MOVEMENT_ACTION_ACRO_POP_WHEELIE_UP, @@ -1104,7 +1106,7 @@ static const u8 gUnknown_83A6569[] = { [DIR_EAST] = MOVEMENT_ACTION_ACRO_POP_WHEELIE_RIGHT, }; -static const u8 gUnknown_83A656E[] = { +static const u8 sAcroEndWheelieFaceDirectionMovementActions[] = { [DIR_NONE] = MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_DOWN, [DIR_SOUTH] = MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_DOWN, [DIR_NORTH] = MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_UP, @@ -1112,7 +1114,7 @@ static const u8 gUnknown_83A656E[] = { [DIR_EAST] = MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_RIGHT, }; -static const u8 gUnknown_83A6573[] = { +static const u8 sAcroWheelieHopFaceDirectionMovementActions[] = { [DIR_NONE] = MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_DOWN, [DIR_SOUTH] = MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_DOWN, [DIR_NORTH] = MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_UP, @@ -1120,7 +1122,7 @@ static const u8 gUnknown_83A6573[] = { [DIR_EAST] = MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_RIGHT, }; -static const u8 gUnknown_83A6578[] = { +static const u8 sAcroWheelieHopMovementActions[] = { [DIR_NONE] = MOVEMENT_ACTION_ACRO_WHEELIE_HOP_DOWN, [DIR_SOUTH] = MOVEMENT_ACTION_ACRO_WHEELIE_HOP_DOWN, [DIR_NORTH] = MOVEMENT_ACTION_ACRO_WHEELIE_HOP_UP, @@ -1128,7 +1130,7 @@ static const u8 gUnknown_83A6578[] = { [DIR_EAST] = MOVEMENT_ACTION_ACRO_WHEELIE_HOP_RIGHT, }; -static const u8 gUnknown_83A657D[] = { +static const u8 sAcroWheelieJumpMovementActions[] = { [DIR_NONE] = MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_DOWN, [DIR_SOUTH] = MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_DOWN, [DIR_NORTH] = MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_UP, @@ -1136,7 +1138,7 @@ static const u8 gUnknown_83A657D[] = { [DIR_EAST] = MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_RIGHT, }; -static const u8 gUnknown_83A6582[] = { +static const u8 sAcroWheelieInPlaceMovementActions[] = { [DIR_NONE] = MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_DOWN, [DIR_SOUTH] = MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_DOWN, [DIR_NORTH] = MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_UP, @@ -1144,7 +1146,7 @@ static const u8 gUnknown_83A6582[] = { [DIR_EAST] = MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_RIGHT, }; -static const u8 gUnknown_83A6587[] = { +static const u8 sAcroPopWheelieMoveMovementActions[] = { [DIR_NONE] = MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_DOWN, [DIR_SOUTH] = MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_DOWN, [DIR_NORTH] = MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_UP, @@ -1152,7 +1154,7 @@ static const u8 gUnknown_83A6587[] = { [DIR_EAST] = MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_RIGHT, }; -static const u8 gUnknown_83A658C[] = { +static const u8 sAcroWheelieMoveMovementActions[] = { [DIR_NONE] = MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_DOWN, [DIR_SOUTH] = MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_DOWN, [DIR_NORTH] = MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_UP, @@ -1607,7 +1609,7 @@ static u8 TrySetupObjectEventSprite(struct ObjectEventTemplate *objectEventTempl if (!objectEvent->inanimate) StartSpriteAnim(sprite, GetFaceDirectionAnimNum(objectEvent->facingDirection)); - SetObjectSubpriorityByZCoord(objectEvent->previousElevation, sprite, 1); + SetObjectSubpriorityByElevation(objectEvent->previousElevation, sprite, 1); UpdateObjectEventVisibility(objectEvent, sprite); return objectEventId; } @@ -1644,7 +1646,7 @@ u8 SpawnSpecialObjectEvent(struct ObjectEventTemplate *objectEventTemplate) return TrySpawnObjectEventTemplate(objectEventTemplate, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, cameraX, cameraY); } -int SpawnSpecialObjectEventParameterized(u8 graphicsId, u8 movementBehavior, u8 localId, s16 x, s16 y, u8 z) +int SpawnSpecialObjectEventParameterized(u8 graphicsId, u8 movementBehavior, u8 localId, s16 x, s16 y, u8 elevation) { struct ObjectEventTemplate objectEventTemplate; @@ -1655,7 +1657,7 @@ int SpawnSpecialObjectEventParameterized(u8 graphicsId, u8 movementBehavior, u8 objectEventTemplate.inConnection = 0; objectEventTemplate.x = x; objectEventTemplate.y = y; - objectEventTemplate.elevation = z; + objectEventTemplate.elevation = elevation; objectEventTemplate.movementType = movementBehavior; objectEventTemplate.movementRangeX = 0; objectEventTemplate.movementRangeY = 0; @@ -1729,7 +1731,7 @@ u8 AddPseudoObjectEvent(u16 graphicsId, SpriteCallback callback, s16 x, s16 y, u return spriteId; } -u8 CreateVirtualObject(u8 graphicsId, u8 a1, s16 x, s16 y, u8 z, u8 direction) +u8 CreateVirtualObject(u8 graphicsId, u8 a1, s16 x, s16 y, u8 elevation, u8 direction) { u8 spriteId; struct Sprite *sprite; @@ -1753,7 +1755,7 @@ u8 CreateVirtualObject(u8 graphicsId, u8 a1, s16 x, s16 y, u8 z, u8 direction) sprite->oam.paletteNum = graphicsInfo->paletteSlot; sprite->coordOffsetEnabled = TRUE; sprite->data[0] = a1; - sprite->data[1] = z; + sprite->data[1] = elevation; if (graphicsInfo->paletteSlot == 10) { LoadSpecialObjectReflectionPalette(graphicsInfo->paletteTag, graphicsInfo->paletteSlot); @@ -1764,8 +1766,8 @@ u8 CreateVirtualObject(u8 graphicsId, u8 a1, s16 x, s16 y, u8 z, u8 direction) SetSubspriteTables(sprite, subspriteTables); sprite->subspriteMode = SUBSPRITES_IGNORE_PRIORITY; } - InitObjectPriorityByZCoord(sprite, z); - SetObjectSubpriorityByZCoord(z, sprite, 1); + InitObjectPriorityByElevation(sprite, elevation); + SetObjectSubpriorityByElevation(elevation, sprite, 1); StartSpriteAnim(sprite, GetFaceDirectionAnimNum(direction)); } return spriteId; @@ -1951,7 +1953,7 @@ static void ReloadMapObjectWithOffset(u8 objectEventId, s16 x, s16 y) StartSpriteAnim(sprite, GetFaceDirectionAnimNum(objectEvent->facingDirection)); } ResetObjectEventFldEffData(objectEvent); - SetObjectSubpriorityByZCoord(objectEvent->previousElevation, sprite, 1); + SetObjectSubpriorityByElevation(objectEvent->previousElevation, sprite, 1); } } @@ -2347,7 +2349,7 @@ void UpdateObjectEventCoordsForCameraUpdate(void) } } -u8 GetObjectEventIdByXYZ(u16 x, u16 y, u8 z) +u8 GetObjectEventIdByPosition(u16 x, u16 y, u8 elevation) { u8 i; @@ -2355,21 +2357,20 @@ u8 GetObjectEventIdByXYZ(u16 x, u16 y, u8 z) { if (gObjectEvents[i].active) { - if (gObjectEvents[i].currentCoords.x == x && gObjectEvents[i].currentCoords.y == y && ObjectEventDoesZCoordMatch(&gObjectEvents[i], z)) - { + if (gObjectEvents[i].currentCoords.x == x + && gObjectEvents[i].currentCoords.y == y + && ObjectEventDoesElevationMatch(&gObjectEvents[i], elevation)) return i; - } } } return OBJECT_EVENTS_COUNT; } -static bool8 ObjectEventDoesZCoordMatch(struct ObjectEvent *objectEvent, u8 z) +static bool8 ObjectEventDoesElevationMatch(struct ObjectEvent *objectEvent, u8 elevation) { - if (objectEvent->currentElevation != 0 && z != 0 && objectEvent->currentElevation != z) - { + if (objectEvent->currentElevation != 0 && elevation != 0 && objectEvent->currentElevation != elevation) return FALSE; - } + return TRUE; } @@ -4370,7 +4371,7 @@ static bool8 CopyablePlayerMovement_GoSpeed2(struct ObjectEvent *objectEvent, st direction = playerDirection; direction = GetCopyDirection(gInitialMovementTypeFacingDirections[objectEvent->movementType], objectEvent->directionSequenceIndex, direction); ObjectEventMoveDestCoords(objectEvent, direction, &x, &y); - ObjectEventSetSingleMovement(objectEvent, sprite, GetWalkFastestMovementAction(direction)); + ObjectEventSetSingleMovement(objectEvent, sprite, GetWalkFasterMovementAction(direction)); if (GetCollisionAtCoords(objectEvent, x, y, direction) || (tileCallback != NULL && !tileCallback(MapGridGetMetatileBehaviorAt(x, y)))) { ObjectEventSetSingleMovement(objectEvent, sprite, GetFaceDirectionMovementAction(direction)); @@ -4540,12 +4541,12 @@ static bool8 MovementType_WalkInPlace_Step0(struct ObjectEvent *objectEvent, str return TRUE; } -movement_type_def(MovementType_WalkSlowlyInPlace, gMovementTypeFuncs_WalkSlowlyInPlace) +movement_type_def(MovementType_WalkInPlaceFast, gMovementTypeFuncs_WalkInPlaceFast) -static bool8 MovementType_WalkSlowlyInPlace_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) +static bool8 MovementType_WalkInPlaceFast_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { ClearObjectEventMovement(objectEvent, sprite); - ObjectEventSetSingleMovement(objectEvent, sprite, GetWalkInPlaceSlowMovementAction(objectEvent->facingDirection)); + ObjectEventSetSingleMovement(objectEvent, sprite, GetWalkInPlaceFastMovementAction(objectEvent->facingDirection)); sprite->data[1] = 1; return TRUE; } @@ -4555,7 +4556,7 @@ movement_type_def(MovementType_JogInPlace, gMovementTypeFuncs_JogInPlace) static bool8 MovementType_JogInPlace_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) { ClearObjectEventMovement(objectEvent, sprite); - ObjectEventSetSingleMovement(objectEvent, sprite, GetWalkInPlaceFastMovementAction(objectEvent->facingDirection)); + ObjectEventSetSingleMovement(objectEvent, sprite, GetWalkInPlaceFasterMovementAction(objectEvent->facingDirection)); sprite->data[1] = 1; return TRUE; } @@ -4858,7 +4859,7 @@ u8 GetCollisionAtCoords(struct ObjectEvent *objectEvent, s16 x, s16 y, u32 dir) return COLLISION_IMPASSABLE; else if (objectEvent->trackedByCamera && !CanCameraMoveInDirection(direction)) return COLLISION_IMPASSABLE; - else if (IsZCoordMismatchAt(objectEvent->currentElevation, x, y)) + else if (IsElevationMismatchAt(objectEvent->currentElevation, x, y)) return COLLISION_ELEVATION_MISMATCH; else if (DoesObjectCollideWithObjectAt(objectEvent, x, y)) return COLLISION_OBJECT_EVENT; @@ -4873,7 +4874,7 @@ u8 GetCollisionFlagsAtCoords(struct ObjectEvent *objectEvent, s16 x, s16 y, u8 d flags |= 1; if (MapGridGetCollisionAt(x, y) || GetMapBorderIdAt(x, y) == CONNECTION_INVALID || IsMetatileDirectionallyImpassable(objectEvent, x, y, direction) || (objectEvent->trackedByCamera && !CanCameraMoveInDirection(direction))) flags |= 2; - if (IsZCoordMismatchAt(objectEvent->currentElevation, x, y)) + if (IsElevationMismatchAt(objectEvent->currentElevation, x, y)) flags |= 4; if (DoesObjectCollideWithObjectAt(objectEvent, x, y)) flags |= 8; @@ -4930,10 +4931,8 @@ static bool8 DoesObjectCollideWithObjectAt(struct ObjectEvent *objectEvent, s16 { if ((curObject->currentCoords.x == x && curObject->currentCoords.y == y) || (curObject->previousCoords.x == x && curObject->previousCoords.y == y)) { - if (AreZCoordsCompatible(objectEvent->currentElevation, curObject->currentElevation)) - { + if (AreElevationsCompatible(objectEvent->currentElevation, curObject->currentElevation)) return TRUE; - } } } } @@ -4953,14 +4952,12 @@ bool8 IsBerryTreeSparkling(u8 localId, u8 mapNum, u8 mapGroup) return FALSE; } -void sub_80639D4(u8 localId, u8 mapNum, u8 mapGroup) +static void SetBerryTreeJustPicked(u8 localId, u8 mapNum, u8 mapGroup) { u8 objectEventId; if (!TryGetObjectEventIdByLocalIdAndMap(localId, mapNum, mapGroup, &objectEventId)) - { gSprites[gObjectEvents[objectEventId].spriteId].data[7] |= 0x04; - } } void MoveCoords(u8 direction, s16 *x, s16 *y) @@ -4969,7 +4966,8 @@ void MoveCoords(u8 direction, s16 *x, s16 *y) *y += sDirectionToVectors[direction].y; } -void sub_8063A44(u8 direction, s16 *x, s16 *y) +// Unused +static void MoveCoordsInMapCoordIncrement(u8 direction, s16 *x, s16 *y) { *x += sDirectionToVectors[direction].x << 4; *y += sDirectionToVectors[direction].y << 4; @@ -5184,8 +5182,8 @@ u8 name(u32 idx) \ return animIds[direction]; \ } -dirn_to_anim(GetFaceDirectionMovementAction, gFaceDirectionMovementActions); -dirn_to_anim(GetFaceDirectionFastMovementAction, gFaceDirectionFastMovementActions); +dirn_to_anim(GetFaceDirectionMovementAction, sFaceDirectionMovementActions); +dirn_to_anim(GetFaceDirectionFastMovementAction, sFaceDirectionFastMovementActions); u8 GetWalkSlowestMovementAction(u32 idx) { @@ -5193,45 +5191,45 @@ u8 GetWalkSlowestMovementAction(u32 idx) if (direction > DIR_EAST) direction = DIR_NONE; - return gWalkSlowestMovementActions[direction]; + return sWalkSlowestMovementActions[direction]; } -dirn_to_anim(GetWalkSlowerMovementAction, gUnknown_83A64FB); -dirn_to_anim(GetWalkSlowMovementAction, gUnknown_83A6500); -dirn_to_anim(GetWalkNormalMovementAction, gUnknown_83A6505); -dirn_to_anim(GetWalkFastMovementAction, gUnknown_83A650A); -dirn_to_anim(sub_8063FDC, gUnknown_83A650F); -dirn_to_anim(GetRideWaterCurrentMovementAction, gUnknown_83A6514); -dirn_to_anim(GetWalkFastestMovementAction, gUnknown_83A6519); -dirn_to_anim(GetSlideMovementAction, gUnknown_83A651E); -dirn_to_anim(GetPlayerRunMovementAction, gUnknown_83A6523); -dirn_to_anim(GetPlayerRunSlowMovementAction, gUnknown_83A6528); -dirn_to_anim(GetSpinMovementAction, gUnknown_83A652D); -dirn_to_anim(GetJump2MovementAction, gUnknown_83A6532); -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(GetJumpSpecialWithEffectMovementAction, gUnknown_83A654B); -dirn_to_anim(GetStepInPlaceDelay32AnimId, gUnknown_83A6550); -dirn_to_anim(GetWalkInPlaceNormalMovementAction, gUnknown_83A6555); -dirn_to_anim(GetWalkInPlaceSlowMovementAction, gUnknown_83A655A); -dirn_to_anim(GetWalkInPlaceFastMovementAction, gUnknown_83A655F); +dirn_to_anim(GetWalkSlowerMovementAction, sWalkSlowerMovementActions); +dirn_to_anim(GetWalkSlowMovementAction, sWalkSlowMovementActions); +dirn_to_anim(GetWalkNormalMovementAction, sWalkNormalMovementActions); +dirn_to_anim(GetWalkFastMovementAction, sWalkFastMovementActions); +dirn_to_anim(GetGlideMovementAction, sGlideMovementActions); +dirn_to_anim(GetRideWaterCurrentMovementAction, sRideWaterCurrentMovementActions); +dirn_to_anim(GetWalkFasterMovementAction, sWalkFasterMovementActions); +dirn_to_anim(GetSlideMovementAction, sSlideMovementActions); +dirn_to_anim(GetPlayerRunMovementAction, sPlayerRunMovementActions); +dirn_to_anim(GetPlayerRunSlowMovementAction, sPlayerRunSlowMovementActions); +dirn_to_anim(GetSpinMovementAction, sSpinMovementActions); +dirn_to_anim(GetJump2MovementAction, sJump2MovementActions); +dirn_to_anim(GetJumpInPlaceMovementAction, sJumpInPlaceMovementActions); +dirn_to_anim(GetJumpInPlaceTurnAroundMovementAction, sJumpInPlaceTurnAroundMovementActions); +dirn_to_anim(GetJumpMovementAction, sJumpMovementActions); +dirn_to_anim(GetJumpSpecialMovementAction, sJumpSpecialMovementActions); +dirn_to_anim(GetJumpSpecialWithEffectMovementAction, sJumpSpecialWithEffectMovementActions); +dirn_to_anim(GetWalkInPlaceSlowMovementAction, sWalkInPlaceSlowMovementActions); +dirn_to_anim(GetWalkInPlaceNormalMovementAction, sWalkInPlaceNormalMovementActions); +dirn_to_anim(GetWalkInPlaceFastMovementAction, sWalkInPlaceFastMovementActions); +dirn_to_anim(GetWalkInPlaceFasterMovementAction, sWalkInPlaceFasterMovementActions); bool8 ObjectEventFaceOppositeDirection(struct ObjectEvent *objectEvent, u8 direction) { return ObjectEventSetHeldMovement(objectEvent, GetFaceDirectionMovementAction(GetOppositeDirection(direction))); } -dirn_to_anim(GetAcroWheelieFaceDirectionMovementAction, gUnknown_83A6564); -dirn_to_anim(GetAcroPopWheelieFaceDirectionMovementAction, gUnknown_83A6569); -dirn_to_anim(GetAcroEndWheelieFaceDirectionMovementAction, gUnknown_83A656E); -dirn_to_anim(GetAcroWheelieHopFaceDirectionMovementAction, gUnknown_83A6573); -dirn_to_anim(GetAcroWheelieHopDirectionMovementAction, gUnknown_83A6578); -dirn_to_anim(GetAcroWheelieJumpDirectionMovementAction, gUnknown_83A657D); -dirn_to_anim(GetAcroWheelieInPlaceDirectionMovementAction, gUnknown_83A6582); -dirn_to_anim(GetAcroPopWheelieMoveDirectionMovementAction, gUnknown_83A6587); -dirn_to_anim(GetAcroWheelieMoveDirectionMovementAction, gUnknown_83A658C); +dirn_to_anim(GetAcroWheelieFaceDirectionMovementAction, sAcroWheelieFaceDirectionMovementActions); +dirn_to_anim(GetAcroPopWheelieFaceDirectionMovementAction, sAcroPopWheelieFaceDirectionMovementActions); +dirn_to_anim(GetAcroEndWheelieFaceDirectionMovementAction, sAcroEndWheelieFaceDirectionMovementActions); +dirn_to_anim(GetAcroWheelieHopFaceDirectionMovementAction, sAcroWheelieHopFaceDirectionMovementActions); +dirn_to_anim(GetAcroWheelieHopMovementAction, sAcroWheelieHopMovementActions); +dirn_to_anim(GetAcroWheelieJumpMovementAction, sAcroWheelieJumpMovementActions); +dirn_to_anim(GetAcroWheelieInPlaceMovementAction, sAcroWheelieInPlaceMovementActions); +dirn_to_anim(GetAcroPopWheelieMoveMovementAction, sAcroPopWheelieMoveMovementActions); +dirn_to_anim(GetAcroWheelieMoveMovementAction, sAcroWheelieMoveMovementActions); u8 GetOppositeDirection(u8 direction) { @@ -8330,30 +8328,30 @@ static u8 GetReflectionTypeByMetatileBehavior(u32 behavior) return 0; } -u8 GetLedgeJumpDirection(s16 x, s16 y, u8 z) +u8 GetLedgeJumpDirection(s16 x, s16 y, u8 direction) { - static bool8 (*const gUnknown_83A705C[])(u8) = { - MetatileBehavior_IsJumpSouth, - MetatileBehavior_IsJumpNorth, - MetatileBehavior_IsJumpWest, - MetatileBehavior_IsJumpEast, + static bool8 (*const ledgeBehaviorFuncs[])(u8) = { + [DIR_SOUTH - 1] = MetatileBehavior_IsJumpSouth, + [DIR_NORTH - 1] = MetatileBehavior_IsJumpNorth, + [DIR_WEST - 1] = MetatileBehavior_IsJumpWest, + [DIR_EAST - 1] = MetatileBehavior_IsJumpEast, }; - u8 b; - u8 index = z; + u8 behavior; + u8 index = direction; - if (index == 0) - return 0; - else if (index > 4) - index -= 4; + if (index == DIR_NONE) + return DIR_NONE; + else if (index > DIR_EAST) + index -= DIR_EAST; index--; - b = MapGridGetMetatileBehaviorAt(x, y); + behavior = MapGridGetMetatileBehaviorAt(x, y); - if (gUnknown_83A705C[index](b) == 1) + if (ledgeBehaviorFuncs[index](behavior) == TRUE) return index + 1; - return 0; + return DIR_NONE; } static void SetObjectEventSpriteOamTableForLongGrass(struct ObjectEvent *objEvent, struct Sprite *sprite) @@ -8369,90 +8367,86 @@ static void SetObjectEventSpriteOamTableForLongGrass(struct ObjectEvent *objEven sprite->subspriteTableNum = 4; - if (ZCoordToPriority(objEvent->previousElevation) == 1) + if (ElevationToPriority(objEvent->previousElevation) == 1) sprite->subspriteTableNum = 5; } -bool8 IsZCoordMismatchAt(u8 z, s16 x, s16 y) +static bool8 IsElevationMismatchAt(u8 elevation, s16 x, s16 y) { - u8 mapZ; + u8 mapElevation; - if (z == 0) + if (elevation == 0) return FALSE; - mapZ = MapGridGetElevationAt(x, y); + mapElevation = MapGridGetElevationAt(x, y); - if (mapZ == 0 || mapZ == 0xF) + if (mapElevation == 0 || mapElevation == 15) return FALSE; - if (mapZ != z) + if (mapElevation != elevation) return TRUE; return FALSE; } -static const u8 sUnknown_083A706C[] = { - 0x73, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x00, 0x00, 0x73 +static const u8 sElevationToSubpriority[] = { + 115, 115, 83, 115, 83, 115, 83, 115, 83, 115, 83, 115, 83, 0, 0, 115 }; -// Each byte corresponds to a sprite priority for an object event. -// This is directly the inverse of sObjectEventPriorities_083A708C. -static const u8 sObjectEventPriorities_083A707C[] = { +static const u8 sElevationToPriority[] = { 2, 2, 2, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 0, 0, 2 }; -// Each byte corresponds to a sprite priority for an object event. -// This is the inverse of sObjectEventPriorities_083A707C. // 1 = Above player sprite // 2 = Below player sprite -static const u8 sObjectEventPriorities_083A708C[] = { +static const u8 sElevationToSubspriteTableNum[] = { 1, 1, 1, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 0, 0, 1, }; -void UpdateObjectEventZCoordAndPriority(struct ObjectEvent *objEvent, struct Sprite *sprite) +static void UpdateObjectEventElevationAndPriority(struct ObjectEvent *objEvent, struct Sprite *sprite) { if (objEvent->fixedPriority) return; - ObjectEventUpdateZCoord(objEvent); + ObjectEventUpdateElevation(objEvent); - sprite->subspriteTableNum = sObjectEventPriorities_083A708C[objEvent->previousElevation]; - sprite->oam.priority = sObjectEventPriorities_083A707C[objEvent->previousElevation]; + sprite->subspriteTableNum = sElevationToSubspriteTableNum[objEvent->previousElevation]; + sprite->oam.priority = sElevationToPriority[objEvent->previousElevation]; } -static void InitObjectPriorityByZCoord(struct Sprite *sprite, u8 z) +static void InitObjectPriorityByElevation(struct Sprite *sprite, u8 elevation) { - sprite->subspriteTableNum = sObjectEventPriorities_083A708C[z]; - sprite->oam.priority = sObjectEventPriorities_083A707C[z]; + sprite->subspriteTableNum = sElevationToSubspriteTableNum[elevation]; + sprite->oam.priority = sElevationToPriority[elevation]; } -u8 ZCoordToPriority(u8 z) +u8 ElevationToPriority(u8 elevation) { - return sObjectEventPriorities_083A707C[z]; + return sElevationToPriority[elevation]; } -void ObjectEventUpdateZCoord(struct ObjectEvent *objEvent) +void ObjectEventUpdateElevation(struct ObjectEvent *objEvent) { - u8 z = MapGridGetElevationAt(objEvent->currentCoords.x, objEvent->currentCoords.y); - u8 z2 = MapGridGetElevationAt(objEvent->previousCoords.x, objEvent->previousCoords.y); + u8 curElevation = MapGridGetElevationAt(objEvent->currentCoords.x, objEvent->currentCoords.y); + u8 prevElevation = MapGridGetElevationAt(objEvent->previousCoords.x, objEvent->previousCoords.y); - if (z == 0xF || z2 == 0xF) + if (curElevation == 15 || prevElevation == 15) return; - objEvent->currentElevation = z; + objEvent->currentElevation = curElevation; - if (z != 0 && z != 0xF) - objEvent->previousElevation = z; + if (curElevation != 0 && curElevation != 15) + objEvent->previousElevation = curElevation; } -void SetObjectSubpriorityByZCoord(u8 a, struct Sprite *sprite, u8 b) +void SetObjectSubpriorityByElevation(u8 elevation, struct Sprite *sprite, u8 subpriority) { s32 tmp = sprite->centerToCornerVecY; u32 tmpa = *(u16 *)&sprite->y; u32 tmpb = *(u16 *)&gSpriteCoordOffsetY; s32 tmp2 = (tmpa - tmp) + tmpb; u16 tmp3 = (0x10 - ((((u32)tmp2 + 8) & 0xFF) >> 4)) * 2; - sprite->subpriority = tmp3 + sUnknown_083A706C[a] + b; + sprite->subpriority = tmp3 + sElevationToSubpriority[elevation] + subpriority; } static void ObjectEventUpdateSubpriority(struct ObjectEvent *objEvent, struct Sprite *sprite) @@ -8460,10 +8454,10 @@ static void ObjectEventUpdateSubpriority(struct ObjectEvent *objEvent, struct Sp if (objEvent->fixedPriority) return; - SetObjectSubpriorityByZCoord(objEvent->previousElevation, sprite, 1); + SetObjectSubpriorityByElevation(objEvent->previousElevation, sprite, 1); } -bool8 AreZCoordsCompatible(u8 a, u8 b) +static bool8 AreElevationsCompatible(u8 a, u8 b) { if (a == 0 || b == 0) return TRUE; @@ -8759,7 +8753,7 @@ static void DoGroundEffects_OnSpawn(struct ObjectEvent *objEvent, struct Sprite if (objEvent->triggerGroundEffectsOnMove) { flags = 0; - UpdateObjectEventZCoordAndPriority(objEvent, sprite); + UpdateObjectEventElevationAndPriority(objEvent, sprite); GetAllGroundEffectFlags_OnSpawn(objEvent, &flags); SetObjectEventSpriteOamTableForLongGrass(objEvent, sprite); DoFlaggedGroundEffects(objEvent, sprite, flags); @@ -8775,7 +8769,7 @@ static void DoGroundEffects_OnBeginStep(struct ObjectEvent *objEvent, struct Spr if (objEvent->triggerGroundEffectsOnMove) { flags = 0; - UpdateObjectEventZCoordAndPriority(objEvent, sprite); + UpdateObjectEventElevationAndPriority(objEvent, sprite); GetAllGroundEffectFlags_OnBeginStep(objEvent, &flags); SetObjectEventSpriteOamTableForLongGrass(objEvent, sprite); filters_out_some_ground_effects(objEvent, &flags); @@ -8792,7 +8786,7 @@ static void DoGroundEffects_OnFinishStep(struct ObjectEvent *objEvent, struct Sp if (objEvent->triggerGroundEffectsOnStop) { flags = 0; - UpdateObjectEventZCoordAndPriority(objEvent, sprite); + UpdateObjectEventElevationAndPriority(objEvent, sprite); GetAllGroundEffectFlags_OnFinishStep(objEvent, &flags); SetObjectEventSpriteOamTableForLongGrass(objEvent, sprite); FilterOutStepOnPuddleGroundEffectIfJumping(objEvent, &flags); @@ -8855,7 +8849,7 @@ void UnfreezeObjectEvents(void) } #define tObjectEventId data[0] -#define tZCoord data[1] +#define tElevation data[1] #define tInvisible data[2] #define tDirection data[3] @@ -9251,7 +9245,7 @@ void UpdateObjectEventSpriteVisibility(struct Sprite *sprite, bool8 invisible) void UpdateObjectEventSpriteSubpriorityAndVisibility(struct Sprite *sprite) { DoObjectUnionRoomWarpYDisplacement(sprite); - SetObjectSubpriorityByZCoord(sprite->tZCoord, sprite, 1); + SetObjectSubpriorityByElevation(sprite->tElevation, sprite, 1); UpdateObjectEventSpriteVisibility(sprite, sprite->tInvisible); } @@ -9425,7 +9419,7 @@ bool32 RfuUnionObjectIsWarping(u8 objectEventId) #undef tUnionRoomWarpAnimState #undef tUnionRoomWarpAnimNo #undef tInvisible -#undef tZCoord +#undef tElevation #undef tObjectEventId u32 StartFieldEffectForObjectEvent(u8 fieldEffectId, struct ObjectEvent * objectEvent) diff --git a/src/field_control_avatar.c b/src/field_control_avatar.c index 7e00cc778..b3d2bcf63 100644 --- a/src/field_control_avatar.c +++ b/src/field_control_avatar.c @@ -345,7 +345,7 @@ static void Task_QuestLogPlayback_OpenStartMenu(u8 taskId) static void GetPlayerPosition(struct MapPosition *position) { PlayerGetDestCoords(&position->x, &position->y); - position->height = PlayerGetZCoord(); + position->elevation = PlayerGetElevation(); } static void GetInFrontOfPlayerPosition(struct MapPosition *position) @@ -355,9 +355,9 @@ static void GetInFrontOfPlayerPosition(struct MapPosition *position) GetXYCoordsOneStepInFrontOfPlayer(&position->x, &position->y); PlayerGetDestCoords(&x, &y); if (MapGridGetElevationAt(x, y) != 0) - position->height = PlayerGetZCoord(); + position->elevation = PlayerGetElevation(); else - position->height = 0; + position->elevation = 0; } static u16 GetPlayerCurMetatileBehavior(void) @@ -410,9 +410,9 @@ const u8 *GetInteractedLinkPlayerScript(struct MapPosition *position, u8 metatil s32 i; if (!MetatileBehavior_IsCounter(MapGridGetMetatileBehaviorAt(position->x, position->y))) - objectEventId = GetObjectEventIdByXYZ(position->x, position->y, position->height); + objectEventId = GetObjectEventIdByPosition(position->x, position->y, position->elevation); else - objectEventId = GetObjectEventIdByXYZ(position->x + gDirectionToVectors[direction].x, position->y + gDirectionToVectors[direction].y, position->height); + objectEventId = GetObjectEventIdByPosition(position->x + gDirectionToVectors[direction].x, position->y + gDirectionToVectors[direction].y, position->elevation); if (objectEventId == OBJECT_EVENTS_COUNT || gObjectEvents[objectEventId].localId == OBJ_EVENT_ID_PLAYER) return NULL; @@ -434,14 +434,14 @@ static const u8 *GetInteractedObjectEventScript(struct MapPosition *position, u8 u8 objectEventId; const u8 *script; - objectEventId = GetObjectEventIdByXYZ(position->x, position->y, position->height); + objectEventId = GetObjectEventIdByPosition(position->x, position->y, position->elevation); if (objectEventId == OBJECT_EVENTS_COUNT || gObjectEvents[objectEventId].localId == OBJ_EVENT_ID_PLAYER) { if (MetatileBehavior_IsCounter(metatileBehavior) != TRUE) return NULL; // Look for an object event on the other side of the counter. - objectEventId = GetObjectEventIdByXYZ(position->x + gDirectionToVectors[direction].x, position->y + gDirectionToVectors[direction].y, position->height); + objectEventId = GetObjectEventIdByPosition(position->x + gDirectionToVectors[direction].x, position->y + gDirectionToVectors[direction].y, position->elevation); if (objectEventId == OBJECT_EVENTS_COUNT || gObjectEvents[objectEventId].localId == OBJ_EVENT_ID_PLAYER) return NULL; } @@ -462,7 +462,7 @@ static const u8 *GetInteractedObjectEventScript(struct MapPosition *position, u8 static const u8 *GetInteractedBackgroundEventScript(struct MapPosition *position, u8 metatileBehavior, u8 direction) { u8 signpostType; - const struct BgEvent *bgEvent = GetBackgroundEventAtPosition(&gMapHeader, position->x - 7, position->y - 7, position->height); + const struct BgEvent *bgEvent = GetBackgroundEventAtPosition(&gMapHeader, position->x - MAP_OFFSET, position->y - MAP_OFFSET, position->elevation); if (bgEvent == NULL) return NULL; @@ -632,7 +632,7 @@ static bool8 TryStartStepBasedScript(struct MapPosition *position, u16 metatileB static bool8 TryStartCoordEventScript(struct MapPosition *position) { - const u8 *script = GetCoordEventScriptAtPosition(&gMapHeader, position->x - 7, position->y - 7, position->height); + const u8 *script = GetCoordEventScriptAtPosition(&gMapHeader, position->x - MAP_OFFSET, position->y - MAP_OFFSET, position->elevation); if (script == NULL) return FALSE; @@ -814,7 +814,7 @@ static void SetUpWalkIntoSignScript(const u8 *script, u8 playerDirection) static const u8 *GetSignpostScriptAtMapPosition(struct MapPosition * position) { - const struct BgEvent * event = GetBackgroundEventAtPosition(&gMapHeader, position->x - 7, position->y - 7, position->height); + const struct BgEvent * event = GetBackgroundEventAtPosition(&gMapHeader, position->x - MAP_OFFSET, position->y - MAP_OFFSET, position->elevation); if (event == NULL) return NULL; if (event->bgUnion.script != NULL) @@ -959,7 +959,7 @@ static bool8 IsArrowWarpMetatileBehavior(u16 metatileBehavior, u8 direction) static s8 GetWarpEventAtMapPosition(struct MapHeader *mapHeader, struct MapPosition *position) { - return GetWarpEventAtPosition(mapHeader, position->x - 7, position->y - 7, position->height); + return GetWarpEventAtPosition(mapHeader, position->x - MAP_OFFSET, position->y - MAP_OFFSET, position->elevation); } static void SetupWarp(struct MapHeader *unused, s8 warpEventId, struct MapPosition *position) @@ -1083,7 +1083,7 @@ void HandleBoulderActivateVictoryRoadSwitch(u16 x, u16 y) { for (i = 0; i < n; i++) { - if (events[i].x + 7 == x && events[i].y + 7 == y) + if (events[i].x + MAP_OFFSET == x && events[i].y + MAP_OFFSET == y) { QuestLog_CutRecording(); ScriptContext_SetupScript(events[i].script); @@ -1095,7 +1095,7 @@ void HandleBoulderActivateVictoryRoadSwitch(u16 x, u16 y) const u8 *GetCoordEventScriptAtMapPosition(struct MapPosition *position) { - return GetCoordEventScriptAtPosition(&gMapHeader, position->x - 7, position->y - 7, position->height); + return GetCoordEventScriptAtPosition(&gMapHeader, position->x - MAP_OFFSET, position->y - MAP_OFFSET, position->elevation); } static const struct BgEvent *GetBackgroundEventAtPosition(struct MapHeader *mapHeader, u16 x, u16 y, u8 elevation) @@ -1119,7 +1119,7 @@ bool8 dive_warp(struct MapPosition *position, u16 metatileBehavior) { if (gMapHeader.mapType == MAP_TYPE_UNDERWATER && !MetatileBehavior_IsUnableToEmerge(metatileBehavior)) { - if (SetDiveWarpEmerge(position->x - 7, position->y - 7)) + if (SetDiveWarpEmerge(position->x - MAP_OFFSET, position->y - MAP_OFFSET)) { StoreInitialPlayerAvatarState(); DoDiveWarp(); @@ -1129,7 +1129,7 @@ bool8 dive_warp(struct MapPosition *position, u16 metatileBehavior) } else if (MetatileBehavior_IsDiveable(metatileBehavior) == TRUE) { - if (SetDiveWarpDive(position->x - 7, position->y - 7)) + if (SetDiveWarpDive(position->x - MAP_OFFSET, position->y - MAP_OFFSET)) { StoreInitialPlayerAvatarState(); DoDiveWarp(); @@ -1149,12 +1149,12 @@ static u8 TrySetDiveWarp(void) metatileBehavior = MapGridGetMetatileBehaviorAt(x, y); if (gMapHeader.mapType == MAP_TYPE_UNDERWATER && !MetatileBehavior_IsUnableToEmerge(metatileBehavior)) { - if (SetDiveWarpEmerge(x - 7, y - 7) == TRUE) + if (SetDiveWarpEmerge(x - MAP_OFFSET, y - MAP_OFFSET) == TRUE) return 1; } else if (MetatileBehavior_IsDiveable(metatileBehavior) == TRUE) { - if (SetDiveWarpDive(x - 7, y - 7) == TRUE) + if (SetDiveWarpDive(x - MAP_OFFSET, y - MAP_OFFSET) == TRUE) return 2; } return 0; diff --git a/src/field_effect.c b/src/field_effect.c index 0639b2b2c..2fdeeead1 100644 --- a/src/field_effect.c +++ b/src/field_effect.c @@ -1998,7 +1998,7 @@ static bool8 LavaridgeGym1FWarpEffect_2(struct Task *task, struct ObjectEvent * } else { task->data[1]++; - ObjectEventSetHeldMovement(objectEvent, GetWalkInPlaceFastMovementAction(objectEvent->facingDirection)); + ObjectEventSetHeldMovement(objectEvent, GetWalkInPlaceFasterMovementAction(objectEvent->facingDirection)); PlaySE(SE_LAVARIDGE_FALL_WARP); } } diff --git a/src/field_effect_helpers.c b/src/field_effect_helpers.c index 6fafac439..5b791af40 100644 --- a/src/field_effect_helpers.c +++ b/src/field_effect_helpers.c @@ -387,7 +387,7 @@ u32 FldEff_LongGrass(void) { sprite = &gSprites[spriteId]; sprite->coordOffsetEnabled = TRUE; - sprite->oam.priority = ZCoordToPriority(gFieldEffectArguments[2]); + sprite->oam.priority = ElevationToPriority(gFieldEffectArguments[2]); sprite->data[0] = gFieldEffectArguments[2]; sprite->data[1] = gFieldEffectArguments[0]; sprite->data[2] = gFieldEffectArguments[1]; @@ -1381,7 +1381,7 @@ void UpdateJumpImpactEffect(struct Sprite *sprite) else { UpdateObjectEventSpriteVisibility(sprite, FALSE); - SetObjectSubpriorityByZCoord(sprite->data[0], sprite, 0); + SetObjectSubpriorityByElevation(sprite->data[0], sprite, 0); } } @@ -1400,7 +1400,7 @@ static void UpdateGrassFieldEffectSubpriority(struct Sprite *sprite, u8 z, u8 of const struct ObjectEventGraphicsInfo * graphicsInfo; // Unused Variable struct Sprite *linkedSprite; - SetObjectSubpriorityByZCoord(z, sprite, offset); + SetObjectSubpriorityByElevation(z, sprite, offset); for (i = 0; i < OBJECT_EVENTS_COUNT; i++) { struct ObjectEvent * objectEvent = &gObjectEvents[i]; diff --git a/src/field_fadetransition.c b/src/field_fadetransition.c index 696caf845..04978adda 100644 --- a/src/field_fadetransition.c +++ b/src/field_fadetransition.c @@ -928,7 +928,7 @@ static void ExitStairsMovement(s16 *speedX, s16 *speedY, s16 *offsetX, s16 *offs direction = DIR_WEST; else direction = DIR_EAST; - ObjectEventForceSetHeldMovement(&gObjectEvents[gPlayerAvatar.objectEventId], GetWalkInPlaceSlowMovementAction(direction)); + ObjectEventForceSetHeldMovement(&gObjectEvents[gPlayerAvatar.objectEventId], GetWalkInPlaceFastMovementAction(direction)); GetStairsMovementDirection(metatileBehavior, speedX, speedY); *offsetX = *speedX * 16; *offsetY = *speedY * 16; diff --git a/src/field_player_avatar.c b/src/field_player_avatar.c index 512d82153..f729ec7b7 100644 --- a/src/field_player_avatar.c +++ b/src/field_player_avatar.c @@ -329,27 +329,27 @@ static u8 DoForcedMovementInCurrentDirection(MovementAction movementAction) static bool8 ForcedMovement_Slip(void) { - return DoForcedMovementInCurrentDirection(PlayerGoSpeed2); + return DoForcedMovementInCurrentDirection(PlayerWalkFast); } static bool8 ForcedMovement_WalkSouth(void) { - return DoForcedMovement(DIR_SOUTH, PlayerGoSpeed1); + return DoForcedMovement(DIR_SOUTH, PlayerWalkNormal); } static bool8 ForcedMovement_WalkNorth(void) { - return DoForcedMovement(DIR_NORTH, PlayerGoSpeed1); + return DoForcedMovement(DIR_NORTH, PlayerWalkNormal); } static bool8 ForcedMovement_WalkWest(void) { - return DoForcedMovement(DIR_WEST, PlayerGoSpeed1); + return DoForcedMovement(DIR_WEST, PlayerWalkNormal); } static bool8 ForcedMovement_WalkEast(void) { - return DoForcedMovement(DIR_EAST, PlayerGoSpeed1); + return DoForcedMovement(DIR_EAST, PlayerWalkNormal); } static bool8 ForcedMovement_SpinRight(void) @@ -412,22 +412,22 @@ static u8 ForcedMovement_Slide(u8 direction, MovementAction movementAction) static bool8 ForcedMovement_SlideSouth(void) { - return ForcedMovement_Slide(DIR_SOUTH, PlayerGoSpeed2); + return ForcedMovement_Slide(DIR_SOUTH, PlayerWalkFast); } static bool8 ForcedMovement_SlideNorth(void) { - return ForcedMovement_Slide(DIR_NORTH, PlayerGoSpeed2); + return ForcedMovement_Slide(DIR_NORTH, PlayerWalkFast); } static bool8 ForcedMovement_SlideWest(void) { - return ForcedMovement_Slide(DIR_WEST, PlayerGoSpeed2); + return ForcedMovement_Slide(DIR_WEST, PlayerWalkFast); } static bool8 ForcedMovement_SlideEast(void) { - return ForcedMovement_Slide(DIR_EAST, PlayerGoSpeed2); + return ForcedMovement_Slide(DIR_EAST, PlayerWalkFast); } static bool8 ForcedMovement_MatJump(void) @@ -508,8 +508,8 @@ static void PlayerNotOnBikeMoving(u8 direction, u16 heldKeys) if (gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_SURFING) { - // speed 2 is fast, same speed as running - PlayerGoSpeed2(direction); + // Same speed as running + PlayerWalkFast(direction); return; } @@ -526,9 +526,9 @@ static void PlayerNotOnBikeMoving(u8 direction, u16 heldKeys) else { if (PlayerIsMovingOnRockStairs(direction)) - PlayerGoSlow(direction); + PlayerWalkSlow(direction); else - PlayerGoSpeed1(direction); + PlayerWalkNormal(direction); } } @@ -598,7 +598,7 @@ static bool8 CanStopSurfing(s16 x, s16 y, u8 direction) { if ((gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_SURFING) && MapGridGetElevationAt(x, y) == 3 - && GetObjectEventIdByXYZ(x, y, 3) == OBJECT_EVENTS_COUNT) + && GetObjectEventIdByPosition(x, y, 3) == OBJECT_EVENTS_COUNT) { QuestLogRecordPlayerAvatarGfxTransitionWithDuration(sQuestLogSurfDismountActionIds[direction], 16); CreateStopSurfingTask(direction); @@ -610,9 +610,9 @@ static bool8 CanStopSurfing(s16 x, s16 y, u8 direction) } } -static bool8 ShouldJumpLedge(s16 x, s16 y, u8 z) +static bool8 ShouldJumpLedge(s16 x, s16 y, u8 direction) { - if (GetLedgeJumpDirection(x, y, z) != 0) + if (GetLedgeJumpDirection(x, y, direction) != DIR_NONE) return TRUE; else return FALSE; @@ -830,29 +830,29 @@ static void QL_TryRecordNPCStepWithDuration32(struct ObjectEvent * objectEvent, QuestLogRecordNPCStepWithDuration(objectEvent->localId, objectEvent->mapNum, objectEvent->mapGroup, movementAction, 32); } -void PlayerGoSlowest(u8 direction) +void PlayerWalkSlower(u8 direction) { PlayerSetAnimId(GetWalkSlowerMovementAction(direction), 2); } -void PlayerGoSlow(u8 direction) +void PlayerWalkSlow(u8 direction) { PlayerSetAnimId(GetWalkSlowMovementAction(direction), 2); } -void PlayerGoSpeed1(u8 direction) +void PlayerWalkNormal(u8 direction) { PlayerSetAnimId(GetWalkNormalMovementAction(direction), 2); } -void PlayerGoSpeed2(u8 direction) +void PlayerWalkFast(u8 direction) { PlayerSetAnimId(GetWalkFastMovementAction(direction), 2); } -void sub_805C134(u8 direction) +void PlayerGlide(u8 direction) { - PlayerSetAnimId(sub_8063FDC(direction), 2); + PlayerSetAnimId(GetGlideMovementAction(direction), 2); } void PlayerRideWaterCurrent(u8 direction) @@ -860,10 +860,9 @@ void PlayerRideWaterCurrent(u8 direction) PlayerSetAnimId(GetRideWaterCurrentMovementAction(direction), 2); } -// fastest speed (4 speed) -void PlayerGoSpeed4(u8 direction) +void PlayerWalkFaster(u8 direction) { - PlayerSetAnimId(GetWalkFastestMovementAction(direction), 2); + PlayerSetAnimId(GetWalkFasterMovementAction(direction), 2); } void PlayerRun(u8 direction) @@ -885,7 +884,7 @@ void PlayerOnBikeCollide(u8 direction) void PlayerNotOnBikeCollide(u8 direction) { PlayCollisionSoundIfNotFacingWarp(direction); - PlayerSetAnimId(GetStepInPlaceDelay32AnimId(direction), 2); + PlayerSetAnimId(GetWalkInPlaceSlowMovementAction(direction), 2); } void PlayerFaceDirection(u8 direction) @@ -900,7 +899,7 @@ void PlayerFaceDirectionFast(u8 direction) void PlayerTurnInPlace(u8 direction) { - PlayerSetAnimId(GetWalkInPlaceSlowMovementAction(direction), 1); + PlayerSetAnimId(GetWalkInPlaceFastMovementAction(direction), 1); } void PlayerJumpLedge(u8 direction) @@ -965,13 +964,13 @@ static void PlayerStandingHoppingWheelie(u8 direction) static void PlayerMovingHoppingWheelie(u8 direction) { PlaySE(SE_BIKE_HOP); - PlayerSetAnimId(GetAcroWheelieHopDirectionMovementAction(direction), 2); + PlayerSetAnimId(GetAcroWheelieHopMovementAction(direction), 2); } static void PlayerLedgeHoppingWheelie(u8 direction) { PlaySE(SE_BIKE_HOP); - PlayerSetAnimId(GetAcroWheelieJumpDirectionMovementAction(direction), 8); + PlayerSetAnimId(GetAcroWheelieJumpMovementAction(direction), 8); } static void PlayerAcroTurnJump(u8 direction) @@ -983,17 +982,17 @@ static void PlayerAcroTurnJump(u8 direction) static void PlayerAcroWheelieCollide(u8 direction) { PlaySE(SE_WALL_HIT); - PlayerSetAnimId(GetAcroWheelieInPlaceDirectionMovementAction(direction), 2); + PlayerSetAnimId(GetAcroWheelieInPlaceMovementAction(direction), 2); } static void PlayerAcroPopWheelie(u8 direction) { - PlayerSetAnimId(GetAcroPopWheelieMoveDirectionMovementAction(direction), 2); + PlayerSetAnimId(GetAcroPopWheelieMoveMovementAction(direction), 2); } static void PlayerAcroWheelieMove(u8 direction) { - PlayerSetAnimId(GetAcroWheelieMoveDirectionMovementAction(direction), 2); + PlayerSetAnimId(GetAcroWheelieMoveMovementAction(direction), 2); } static bool8 (*const sArrowWarpMetatileBehaviorChecks[])(u8) = { @@ -1090,7 +1089,7 @@ u8 GetPlayerMovementDirection(void) return gObjectEvents[gPlayerAvatar.objectEventId].movementDirection; } -u8 PlayerGetZCoord(void) +u8 PlayerGetElevation(void) { return gObjectEvents[gPlayerAvatar.objectEventId].previousElevation; } @@ -1215,7 +1214,7 @@ bool8 IsPlayerFacingSurfableFishableWater(void) MoveCoords(playerObjEvent->facingDirection, &x, &y); if (GetCollisionAtCoords(playerObjEvent, x, y, playerObjEvent->facingDirection) == COLLISION_ELEVATION_MISMATCH - && PlayerGetZCoord() == 3 + && PlayerGetElevation() == 3 && MetatileAtCoordsIsWaterTile(x, y) == TRUE) return TRUE; else diff --git a/src/fldeff_cut.c b/src/fldeff_cut.c index 0450864dc..96c5c1db5 100644 --- a/src/fldeff_cut.c +++ b/src/fldeff_cut.c @@ -145,7 +145,7 @@ bool8 SetUpFieldMove_Cut(void) for (j = 0; j < CUT_SIDE; j++) { x = gPlayerFacingPosition.x - 1 + j; - if (MapGridGetElevationAt(x, y) == gPlayerFacingPosition.height) + if (MapGridGetElevationAt(x, y) == gPlayerFacingPosition.elevation) { if (MetatileAtCoordsIsGrassTile(x, y) == TRUE) { @@ -214,7 +214,7 @@ bool8 FldEff_CutGrass(void) for (j = 0; j < CUT_SIDE; j++) { x = gPlayerFacingPosition.x - 1 + j; - if (MapGridGetElevationAt(x, y) == gPlayerFacingPosition.height) + if (MapGridGetElevationAt(x, y) == gPlayerFacingPosition.elevation) { if (MetatileAtCoordsIsGrassTile(x, y) == TRUE) { diff --git a/src/fldeff_rocksmash.c b/src/fldeff_rocksmash.c index b416e1fce..a3be0956c 100644 --- a/src/fldeff_rocksmash.c +++ b/src/fldeff_rocksmash.c @@ -28,8 +28,8 @@ bool8 CheckObjectGraphicsInFrontOfPlayer(u8 graphicsId) u8 mapObjId; GetXYCoordsOneStepInFrontOfPlayer(&gPlayerFacingPosition.x, &gPlayerFacingPosition.y); - gPlayerFacingPosition.height = PlayerGetZCoord(); - mapObjId = GetObjectEventIdByXYZ(gPlayerFacingPosition.x, gPlayerFacingPosition.y, gPlayerFacingPosition.height); + gPlayerFacingPosition.elevation = PlayerGetElevation(); + mapObjId = GetObjectEventIdByPosition(gPlayerFacingPosition.x, gPlayerFacingPosition.y, gPlayerFacingPosition.elevation); if (gObjectEvents[mapObjId].graphicsId != graphicsId) return FALSE; gSpecialVar_LastTalked = gObjectEvents[mapObjId].localId; diff --git a/src/overworld.c b/src/overworld.c index c6fddd611..42564e2cd 100644 --- a/src/overworld.c +++ b/src/overworld.c @@ -3032,7 +3032,7 @@ static void LoadCableClubPlayer(s32 linkPlayerId, s32 myPlayerId, struct CableCl GetLinkPlayerCoords(linkPlayerId, &x, &y); player->pos.x = x; player->pos.y = y; - player->pos.height = GetLinkPlayerElevation(linkPlayerId); + player->pos.elevation = GetLinkPlayerElevation(linkPlayerId); player->metatileBehavior = MapGridGetMetatileBehaviorAt(x, y); } @@ -3085,7 +3085,7 @@ static const u8 *TryInteractWithPlayer(struct CableClubPlayer *player) otherPlayerPos = player->pos; otherPlayerPos.x += gDirectionToVectors[player->facing].x; otherPlayerPos.y += gDirectionToVectors[player->facing].y; - otherPlayerPos.height = 0; + otherPlayerPos.elevation = 0; linkPlayerId = GetLinkPlayerIdAt(otherPlayerPos.x, otherPlayerPos.y); if (linkPlayerId != 4) @@ -3295,7 +3295,7 @@ static void InitLinkPlayerObjectEventPos(struct ObjectEvent *objEvent, s16 x, s1 objEvent->previousCoords.y = y; SetSpritePosToMapCoords(x, y, &objEvent->initialCoords.x, &objEvent->initialCoords.y); objEvent->initialCoords.x += 8; - ObjectEventUpdateZCoord(objEvent); + ObjectEventUpdateElevation(objEvent); } static void SetLinkPlayerObjectRange(u8 linkPlayerId, u8 dir) @@ -3434,7 +3434,7 @@ static bool8 FacingHandler_DpadMovement(struct LinkPlayerObjectEvent *linkPlayer { objEvent->directionSequenceIndex = 16; ShiftObjectEventCoords(objEvent, x, y); - ObjectEventUpdateZCoord(objEvent); + ObjectEventUpdateElevation(objEvent); return TRUE; } } @@ -3536,8 +3536,8 @@ static void SpriteCB_LinkPlayer(struct Sprite *sprite) struct ObjectEvent *objEvent = &gObjectEvents[linkPlayerObjEvent->objEventId]; sprite->x = objEvent->initialCoords.x; sprite->y = objEvent->initialCoords.y; - SetObjectSubpriorityByZCoord(objEvent->previousElevation, sprite, 1); - sprite->oam.priority = ZCoordToPriority(objEvent->previousElevation); + SetObjectSubpriorityByElevation(objEvent->previousElevation, sprite, 1); + sprite->oam.priority = ElevationToPriority(objEvent->previousElevation); if (!linkPlayerObjEvent->movementMode != MOVEMENT_MODE_FREE) StartSpriteAnim(sprite, GetFaceDirectionAnimNum(linkDirection(objEvent))); diff --git a/src/shop.c b/src/shop.c index 7327874ca..35a070519 100644 --- a/src/shop.c +++ b/src/shop.c @@ -791,11 +791,11 @@ static void BuyMenuDrawMapMetatileLayer(u16 *dest, s16 offset1, s16 offset2, con static void BuyMenuCollectObjectEventData(void) { s16 facingX, facingY; - u8 x, y, z; + u8 x, y, elevation; u8 num = 0; GetXYCoordsOneStepInFrontOfPlayer(&facingX, &facingY); - z = PlayerGetZCoord(); + elevation = PlayerGetElevation(); for (y = 0; y < OBJECT_EVENTS_COUNT; y++) sViewportObjectEvents[y][OBJECT_EVENT_ID] = OBJECT_EVENTS_COUNT; @@ -804,7 +804,7 @@ static void BuyMenuCollectObjectEventData(void) { for (x = 0; x < 7; x++) { - u8 eventObjId = GetObjectEventIdByXYZ(facingX - 3 + x, facingY - 2 + y, z); + u8 eventObjId = GetObjectEventIdByPosition(facingX - 3 + x, facingY - 2 + y, elevation); if (eventObjId != OBJECT_EVENTS_COUNT) { sViewportObjectEvents[num][OBJECT_EVENT_ID] = eventObjId;