finish conditional slow stairs movement, clean up code a bit

This commit is contained in:
Evan 2020-06-04 22:56:25 -06:00 committed by ghoulslash
parent e4674ccd03
commit 228b76e136
7 changed files with 251 additions and 284 deletions

View File

@ -437,7 +437,6 @@ u8 GetDiagonalRightStairsMovement(u32);
u8 GetDiagonalLeftStairsMovement(u32); u8 GetDiagonalLeftStairsMovement(u32);
u8 GetDiagonalRightStairsRunningMovement(u32); u8 GetDiagonalRightStairsRunningMovement(u32);
u8 GetDiagonalLeftStairsRunningMovement(u32); u8 GetDiagonalLeftStairsRunningMovement(u32);
u8 GetDiagonalLeftAcroBikeMovement(u32); extern u8 gSidewaysStairsDirection;
u8 GetDiagonalRightAcroBikeMovement(u32);
#endif //GUARD_EVENT_OBJECT_MOVEMENT_H #endif //GUARD_EVENT_OBJECT_MOVEMENT_H

View File

@ -72,7 +72,5 @@ void PlayerSidewaysStairsRightSide(u8 direction);
void PlayerSidewaysStairsLeftSide(u8 direction); void PlayerSidewaysStairsLeftSide(u8 direction);
void PlayerSidewaysStairsRightSideRunning(u8 direction); void PlayerSidewaysStairsRightSideRunning(u8 direction);
void PlayerSidewaysStairsLeftSideRunning(u8 direction); void PlayerSidewaysStairsLeftSideRunning(u8 direction);
void PlayerSidewaysStairsToAcroBikeLeft(u8 direction);
void PlayerSidewaysStairsToAcroBikeRight(u8 direction);
#endif // GUARD_FIELD_PLAYER_AVATAR_H #endif // GUARD_FIELD_PLAYER_AVATAR_H

View File

@ -178,10 +178,7 @@ static u8 GetMachBikeTransition(u8 *dirTraveling)
// the difference between face direction and turn direction is that one changes direction while the other does the animation of turning as well as changing direction. // the difference between face direction and turn direction is that one changes direction while the other does the animation of turning as well as changing direction.
static void MachBikeTransition_FaceDirection(u8 direction) static void MachBikeTransition_FaceDirection(u8 direction)
{ {
//if (direction > DIR_EAST)
// direction -= DIR_EAST;
PlayerFaceDirection(direction); PlayerFaceDirection(direction);
Bike_SetBikeStill(); Bike_SetBikeStill();
} }
@ -190,19 +187,13 @@ static void MachBikeTransition_TurnDirection(u8 direction)
{ {
struct ObjectEvent *playerObjEvent = &gObjectEvents[gPlayerAvatar.objectEventId]; struct ObjectEvent *playerObjEvent = &gObjectEvents[gPlayerAvatar.objectEventId];
//if (direction > DIR_EAST)
// direction -= DIR_EAST;
if (CanBikeFaceDirOnMetatile(direction, playerObjEvent->currentMetatileBehavior)) if (CanBikeFaceDirOnMetatile(direction, playerObjEvent->currentMetatileBehavior))
{ {
PlayerTurnInPlace(direction); PlayerTurnInPlace(direction);
Bike_SetBikeStill(); Bike_SetBikeStill();
} }
else else
{ {
//if (playerObjEvent->facingDirection > DIR_EAST)
// playerObjEvent->facingDirection -= DIR_EAST;
MachBikeTransition_FaceDirection(playerObjEvent->facingDirection); MachBikeTransition_FaceDirection(playerObjEvent->facingDirection);
} }
} }
@ -242,19 +233,33 @@ static void MachBikeTransition_TrySpeedUp(u8 direction)
} }
else if (collision == COLLISION_SIDEWAYS_STAIRS_TO_LEFT) else if (collision == COLLISION_SIDEWAYS_STAIRS_TO_LEFT)
{ {
gPlayerAvatar.bikeFrameCounter = 0; #if SLOW_MOVEMENT_ON_STAIRS == TRUE
gPlayerAvatar.bikeSpeed = SPEED_STANDING; gPlayerAvatar.bikeFrameCounter = 0;
PlayerGoSpeed2(GetLeftSideStairsDirection(direction)); gPlayerAvatar.bikeSpeed = SPEED_STANDING;
//PlayerSidewaysStairsToAcroBikeLeft(direction); PlayerGoSpeed2(GetLeftSideStairsDirection(direction));
return; return;
#else
gPlayerAvatar.bikeFrameCounter = 2;
gPlayerAvatar.bikeSpeed = SPEED_STANDING;
PlayerGoSpeed2(GetLeftSideStairsDirection(direction));
return;
#endif
} }
else if (collision == COLLISION_SIDEWAYS_STAIRS_TO_RIGHT) else if (collision == COLLISION_SIDEWAYS_STAIRS_TO_RIGHT)
{ {
gPlayerAvatar.bikeFrameCounter = 0; #if SLOW_MOVEMENT_ON_STAIRS == TRUE
gPlayerAvatar.bikeSpeed = SPEED_STANDING; gPlayerAvatar.bikeFrameCounter = 0;
//PlayerSidewaysStairsToAcroBikeRight(direction); gPlayerAvatar.bikeSpeed = SPEED_STANDING;
PlayerGoSpeed2(GetRightSideStairsDirection(direction)); PlayerGoSpeed2(GetRightSideStairsDirection(direction));
return; return;
#else
gPlayerAvatar.bikeFrameCounter = 2;
gPlayerAvatar.bikeSpeed = SPEED_STANDING;
PlayerGoSpeed2(GetRightSideStairsDirection(direction));
return;
#endif
} }
else else
{ {
@ -295,16 +300,12 @@ static void MachBikeTransition_TrySlowDown(u8 direction)
} }
else else
{ {
/*if (collision == COLLISION_SIDEWAYS_STAIRS_TO_LEFT) #if SLOW_MOVEMENT_ON_STAIRS == TRUE
{ if (collision == COLLISION_SIDEWAYS_STAIRS_TO_LEFT)
return PlayerGoSpeed2(GetLeftSideStairsDirection(direction)); return PlayerGoSpeed2(GetLeftSideStairsDirection(direction));
//return PlayerSidewaysStairsToLeftMachBike(direction); else if (collision == COLLISION_SIDEWAYS_STAIRS_TO_RIGHT)
} return PlayerGoSpeed2(GetRightSideStairsDirection(direction));
else if (collision == COLLISION_SIDEWAYS_STAIRS_TO_RIGHT) #endif
{
return PlayerGoSpeed2(GetRightSideStairsDirection(direction));
//return PlayerSidewaysStairsToRightMachBike(direction);
}*/
sMachBikeSpeedCallbacks[gPlayerAvatar.bikeFrameCounter](direction); sMachBikeSpeedCallbacks[gPlayerAvatar.bikeFrameCounter](direction);
} }
@ -313,12 +314,13 @@ static void MachBikeTransition_TrySlowDown(u8 direction)
// the acro bike requires the input handler to be executed before the transition can. // the acro bike requires the input handler to be executed before the transition can.
static void MovePlayerOnAcroBike(u8 newDirection, u16 newKeys, u16 heldKeys) static void MovePlayerOnAcroBike(u8 newDirection, u16 newKeys, u16 heldKeys)
{ {
gSidewaysStairsDirection = newDirection;
sAcroBikeTransitions[CheckMovementInputAcroBike(&newDirection, newKeys, heldKeys)](newDirection); sAcroBikeTransitions[CheckMovementInputAcroBike(&newDirection, newKeys, heldKeys)](newDirection);
} }
static u8 CheckMovementInputAcroBike(u8 *newDirection, u16 newKeys, u16 heldKeys) static u8 CheckMovementInputAcroBike(u8 *newDirection, u16 newKeys, u16 heldKeys)
{ {
gSidewaysStairsDirection = *newDirection;
return sAcroBikeInputHandlers[gPlayerAvatar.acroBikeState](newDirection, newKeys, heldKeys); return sAcroBikeInputHandlers[gPlayerAvatar.acroBikeState](newDirection, newKeys, heldKeys);
} }
@ -407,6 +409,8 @@ static u8 AcroBikeHandleInputWheelieStanding(u8 *newDirection, u16 newKeys, u16
struct ObjectEvent *playerObjEvent; struct ObjectEvent *playerObjEvent;
direction = GetPlayerMovementDirection(); direction = GetPlayerMovementDirection();
gSidewaysStairsDirection = direction;
playerObjEvent = &gObjectEvents[gPlayerAvatar.objectEventId]; playerObjEvent = &gObjectEvents[gPlayerAvatar.objectEventId];
gPlayerAvatar.runningState = NOT_MOVING; gPlayerAvatar.runningState = NOT_MOVING;
@ -611,18 +615,6 @@ static void AcroBikeTransition_Moving(u8 direction)
PlayerGoSpeed2(direction); PlayerGoSpeed2(direction);
else else
PlayerRideWaterCurrent(direction); PlayerRideWaterCurrent(direction);
/* works, but might be better to keep rock stairs to up/down for mach bike
if (collision == COLLISION_SIDEWAYS_STAIRS_TO_RIGHT)
direction = GetRightSideStairsDirection(direction);
else if (collision == COLLISION_SIDEWAYS_STAIRS_TO_LEFT)
direction = GetLeftSideStairsDirection(direction);
if (PlayerIsMovingOnRockStairs(direction))
PlayerGoSpeed2(direction);
else
PlayerRideWaterCurrent(direction);
*/
} }
} }
@ -691,11 +683,11 @@ static void AcroBikeTransition_WheelieHoppingMoving(u8 direction)
else else
{ {
derp: derp:
/*if (collision == COLLISION_SIDEWAYS_STAIRS_TO_LEFT) if (collision == COLLISION_SIDEWAYS_STAIRS_TO_LEFT)
direction = GetLeftSideStairsDirection(direction); gSidewaysStairsDirection = GetLeftSideStairsDirection(direction);
else if (collision == COLLISION_SIDEWAYS_STAIRS_TO_RIGHT) else if (collision == COLLISION_SIDEWAYS_STAIRS_TO_RIGHT)
direction = GetRightSideStairsDirection(direction); gSidewaysStairsDirection = GetRightSideStairsDirection(direction);
*/
PlayerMovingHoppingWheelie(direction); PlayerMovingHoppingWheelie(direction);
} }
} }
@ -764,10 +756,10 @@ static void AcroBikeTransition_WheelieMoving(u8 direction)
return; return;
} }
/*if (collision == COLLISION_SIDEWAYS_STAIRS_TO_LEFT) if (collision == COLLISION_SIDEWAYS_STAIRS_TO_LEFT)
direction = GetLeftSideStairsDirection(direction); gSidewaysStairsDirection = GetLeftSideStairsDirection(direction);
else if (collision == COLLISION_SIDEWAYS_STAIRS_TO_RIGHT) else if (collision == COLLISION_SIDEWAYS_STAIRS_TO_RIGHT)
direction = GetRightSideStairsDirection(direction);*/ gSidewaysStairsDirection = GetRightSideStairsDirection(direction);
PlayerWheelieMove(direction); PlayerWheelieMove(direction);
gPlayerAvatar.runningState = MOVING; gPlayerAvatar.runningState = MOVING;
@ -803,6 +795,12 @@ static void AcroBikeTransition_WheelieRisingMoving(u8 direction)
} }
return; return;
} }
if (collision == COLLISION_SIDEWAYS_STAIRS_TO_LEFT)
gSidewaysStairsDirection = GetLeftSideStairsDirection(direction);
else if (collision == COLLISION_SIDEWAYS_STAIRS_TO_RIGHT)
gSidewaysStairsDirection = GetRightSideStairsDirection(direction);
PlayerPopWheelieWhileMoving(direction); PlayerPopWheelieWhileMoving(direction);
gPlayerAvatar.runningState = MOVING; gPlayerAvatar.runningState = MOVING;
} }
@ -826,6 +824,12 @@ static void AcroBikeTransition_WheelieLoweringMoving(u8 direction)
PlayerEndWheelie(direction); PlayerEndWheelie(direction);
return; return;
} }
if (collision == COLLISION_SIDEWAYS_STAIRS_TO_LEFT)
gSidewaysStairsDirection = GetLeftSideStairsDirection(direction);
else if (collision == COLLISION_SIDEWAYS_STAIRS_TO_RIGHT)
gSidewaysStairsDirection = GetRightSideStairsDirection(direction);
PlayerEndWheelieWhileMoving(direction); PlayerEndWheelieWhileMoving(direction);
} }
@ -1086,6 +1090,7 @@ void Bike_UpdateBikeCounterSpeed(u8 counter)
static void Bike_SetBikeStill(void) static void Bike_SetBikeStill(void)
{ {
gSidewaysStairsDirection = gObjectEvents[gPlayerAvatar.objectEventId].facingDirection;
gPlayerAvatar.bikeFrameCounter = 0; gPlayerAvatar.bikeFrameCounter = 0;
gPlayerAvatar.bikeSpeed = SPEED_STANDING; gPlayerAvatar.bikeSpeed = SPEED_STANDING;
} }

View File

@ -1596,25 +1596,41 @@ u8 (*const gMovementActionFuncs_RunRightSlow[])(struct ObjectEvent *, struct Spr
//sideways stairs //sideways stairs
u8 (*const gMovementActionFuncs_WalkStairDiagonalUpLeft[])(struct ObjectEvent *, struct Sprite *) = { u8 (*const gMovementActionFuncs_WalkStairDiagonalUpLeft[])(struct ObjectEvent *, struct Sprite *) = {
MovementAction_WalkStairDiagonalUpLeft_Step0, MovementAction_WalkStairDiagonalUpLeft_Step0,
MovementAction_WalkSlowDiagonalUpLeft_Step1, #if SLOW_MOVEMENT_ON_STAIRS == TRUE
MovementAction_WalkSlowDiagonalUpLeft_Step1,
#else
MovementAction_WalkNormalDiagonalUpLeft_Step1,
#endif
MovementAction_PauseSpriteAnim, MovementAction_PauseSpriteAnim,
}; };
u8 (*const gMovementActionFuncs_WalkStairDiagonalUpRight[])(struct ObjectEvent *, struct Sprite *) = { u8 (*const gMovementActionFuncs_WalkStairDiagonalUpRight[])(struct ObjectEvent *, struct Sprite *) = {
MovementAction_WalkStairDiagonalUpRight_Step0, MovementAction_WalkStairDiagonalUpRight_Step0,
MovementAction_WalkSlowDiagonalUpRight_Step1, #if SLOW_MOVEMENT_ON_STAIRS == TRUE
MovementAction_WalkSlowDiagonalUpRight_Step1,
#else
MovementAction_WalkNormalDiagonalUpRight_Step1,
#endif
MovementAction_PauseSpriteAnim, MovementAction_PauseSpriteAnim,
}; };
u8 (*const gMovementActionFuncs_WalkStairDiagonalDownLeft[])(struct ObjectEvent *, struct Sprite *) = { u8 (*const gMovementActionFuncs_WalkStairDiagonalDownLeft[])(struct ObjectEvent *, struct Sprite *) = {
MovementAction_WalkStairDiagonalDownLeft_Step0, MovementAction_WalkStairDiagonalDownLeft_Step0,
MovementAction_WalkSlowDiagonalDownLeft_Step1, #if SLOW_MOVEMENT_ON_STAIRS == TRUE
MovementAction_WalkSlowDiagonalDownLeft_Step1,
#else
MovementAction_WalkNormalDiagonalDownLeft_Step1,
#endif
MovementAction_PauseSpriteAnim, MovementAction_PauseSpriteAnim,
}; };
u8 (*const gMovementActionFuncs_WalkStairDiagonalDownRight[])(struct ObjectEvent *, struct Sprite *) = { u8 (*const gMovementActionFuncs_WalkStairDiagonalDownRight[])(struct ObjectEvent *, struct Sprite *) = {
MovementAction_WalkStairDiagonalDownRight_Step0, MovementAction_WalkStairDiagonalDownRight_Step0,
MovementAction_WalkSlowDiagonalDownRight_Step1, #if SLOW_MOVEMENT_ON_STAIRS == TRUE
MovementAction_WalkSlowDiagonalDownRight_Step1,
#else
MovementAction_WalkNormalDiagonalDownRight_Step1,
#endif
MovementAction_PauseSpriteAnim, MovementAction_PauseSpriteAnim,
}; };

View File

@ -57,6 +57,7 @@ static u8 setup##_callback(struct ObjectEvent *objectEvent, struct Sprite *sprit
EWRAM_DATA u8 sCurrentReflectionType = 0; EWRAM_DATA u8 sCurrentReflectionType = 0;
EWRAM_DATA u16 sCurrentSpecialObjectPaletteTag = 0; EWRAM_DATA u16 sCurrentSpecialObjectPaletteTag = 0;
EWRAM_DATA struct LockedAnimObjectEvents *gLockedAnimObjectEvents = {0}; EWRAM_DATA struct LockedAnimObjectEvents *gLockedAnimObjectEvents = {0};
EWRAM_DATA u8 gSidewaysStairsDirection = 0;
static void MoveCoordsInDirection(u32, s16 *, s16 *, s16, s16); static void MoveCoordsInDirection(u32, s16 *, s16 *, s16, s16);
static bool8 ObjectEventExecSingleMovementAction(struct ObjectEvent *, struct Sprite *); static bool8 ObjectEventExecSingleMovementAction(struct ObjectEvent *, struct Sprite *);
@ -681,10 +682,10 @@ const u8 gFaceDirectionAnimNums[] = {
[DIR_NORTH] = 1, [DIR_NORTH] = 1,
[DIR_WEST] = 2, [DIR_WEST] = 2,
[DIR_EAST] = 3, [DIR_EAST] = 3,
[DIR_SOUTHWEST] = 0, [DIR_SOUTHWEST] = 2, //0,
[DIR_SOUTHEAST] = 0, [DIR_SOUTHEAST] = 3, //0,
[DIR_NORTHWEST] = 1, [DIR_NORTHWEST] = 2, //1,
[DIR_NORTHEAST] = 1, [DIR_NORTHEAST] = 3, //1,
}; };
const u8 gMoveDirectionAnimNums[] = { const u8 gMoveDirectionAnimNums[] = {
[DIR_NONE] = 4, [DIR_NONE] = 4,
@ -747,10 +748,10 @@ const u8 gAcroWheelieDirectionAnimNums[] = {
[DIR_NORTH] = 21, [DIR_NORTH] = 21,
[DIR_WEST] = 22, [DIR_WEST] = 22,
[DIR_EAST] = 23, [DIR_EAST] = 23,
[DIR_SOUTHWEST] = 20, [DIR_SOUTHWEST] = 22, //20,
[DIR_SOUTHEAST] = 20, [DIR_SOUTHEAST] = 23, //20,
[DIR_NORTHWEST] = 21, [DIR_NORTHWEST] = 22, //21,
[DIR_NORTHEAST] = 21, [DIR_NORTHEAST] = 23, //21,
}; };
const u8 gUnrefAnimNums_08375633[] = { const u8 gUnrefAnimNums_08375633[] = {
[DIR_NONE] = 24, [DIR_NONE] = 24,
@ -769,10 +770,10 @@ const u8 gAcroEndWheelieDirectionAnimNums[] = {
[DIR_NORTH] = 29, [DIR_NORTH] = 29,
[DIR_WEST] = 30, [DIR_WEST] = 30,
[DIR_EAST] = 31, [DIR_EAST] = 31,
[DIR_SOUTHWEST] = 28, [DIR_SOUTHWEST] = 30, //28,
[DIR_SOUTHEAST] = 28, [DIR_SOUTHEAST] = 31, //28,
[DIR_NORTHWEST] = 29, [DIR_NORTHWEST] = 30, //29,
[DIR_NORTHEAST] = 29, [DIR_NORTHEAST] = 31, //29,
}; };
const u8 gAcroUnusedActionDirectionAnimNums[] = { const u8 gAcroUnusedActionDirectionAnimNums[] = {
[DIR_NONE] = 32, [DIR_NONE] = 32,
@ -791,10 +792,10 @@ const u8 gAcroWheeliePedalDirectionAnimNums[] = {
[DIR_NORTH] = 37, [DIR_NORTH] = 37,
[DIR_WEST] = 38, [DIR_WEST] = 38,
[DIR_EAST] = 39, [DIR_EAST] = 39,
[DIR_SOUTHWEST] = 36, [DIR_SOUTHWEST] = 38, //36,
[DIR_SOUTHEAST] = 36, [DIR_SOUTHEAST] = 39, //36,
[DIR_NORTHWEST] = 37, [DIR_NORTHWEST] = 38, //37,
[DIR_NORTHEAST] = 37, [DIR_NORTHEAST] = 39, //37,
}; };
const u8 gFishingDirectionAnimNums[] = { const u8 gFishingDirectionAnimNums[] = {
[DIR_NONE] = 0, [DIR_NONE] = 0,
@ -1044,27 +1045,43 @@ const u8 gAcroWheelieFaceDirectionMovementActions[] = {
[DIR_NORTH] = MOVEMENT_ACTION_ACRO_WHEELIE_FACE_UP, [DIR_NORTH] = MOVEMENT_ACTION_ACRO_WHEELIE_FACE_UP,
[DIR_WEST] = MOVEMENT_ACTION_ACRO_WHEELIE_FACE_LEFT, [DIR_WEST] = MOVEMENT_ACTION_ACRO_WHEELIE_FACE_LEFT,
[DIR_EAST] = MOVEMENT_ACTION_ACRO_WHEELIE_FACE_RIGHT, [DIR_EAST] = MOVEMENT_ACTION_ACRO_WHEELIE_FACE_RIGHT,
[DIR_SOUTHWEST] = MOVEMENT_ACTION_ACRO_WHEELIE_FACE_LEFT,
[DIR_NORTHWEST] = MOVEMENT_ACTION_ACRO_WHEELIE_FACE_LEFT,
[DIR_NORTHEAST] = MOVEMENT_ACTION_ACRO_WHEELIE_FACE_RIGHT,
[DIR_SOUTHEAST] = MOVEMENT_ACTION_ACRO_WHEELIE_FACE_RIGHT
}; };
const u8 gAcroPopWheelieFaceDirectionMovementActions[] = { const u8 gAcroPopWheelieFaceDirectionMovementActions[] = {
MOVEMENT_ACTION_ACRO_POP_WHEELIE_DOWN, [DIR_NONE] = MOVEMENT_ACTION_ACRO_POP_WHEELIE_DOWN,
MOVEMENT_ACTION_ACRO_POP_WHEELIE_DOWN, [DIR_SOUTH] = MOVEMENT_ACTION_ACRO_POP_WHEELIE_DOWN,
MOVEMENT_ACTION_ACRO_POP_WHEELIE_UP, [DIR_NORTH] = MOVEMENT_ACTION_ACRO_POP_WHEELIE_UP,
MOVEMENT_ACTION_ACRO_POP_WHEELIE_LEFT, [DIR_WEST] = MOVEMENT_ACTION_ACRO_POP_WHEELIE_LEFT,
MOVEMENT_ACTION_ACRO_POP_WHEELIE_RIGHT, [DIR_EAST] = MOVEMENT_ACTION_ACRO_POP_WHEELIE_RIGHT,
[DIR_SOUTHWEST] = MOVEMENT_ACTION_ACRO_POP_WHEELIE_LEFT,
[DIR_NORTHWEST] = MOVEMENT_ACTION_ACRO_POP_WHEELIE_LEFT,
[DIR_SOUTHEAST] = MOVEMENT_ACTION_ACRO_POP_WHEELIE_RIGHT,
[DIR_NORTHEAST] = MOVEMENT_ACTION_ACRO_POP_WHEELIE_RIGHT,
}; };
const u8 gAcroEndWheelieFaceDirectionMovementActions[] = { const u8 gAcroEndWheelieFaceDirectionMovementActions[] = {
MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_DOWN, [DIR_NONE] = MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_DOWN,
MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_DOWN, [DIR_SOUTH] = MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_DOWN,
MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_UP, [DIR_NORTH] = MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_UP,
MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_LEFT, [DIR_WEST] = MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_LEFT,
MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_RIGHT, [DIR_EAST] = MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_RIGHT,
[DIR_SOUTHWEST] = MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_LEFT,
[DIR_NORTHWEST] = MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_LEFT,
[DIR_SOUTHEAST] = MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_RIGHT,
[DIR_NORTHEAST] = MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_RIGHT,
}; };
const u8 gAcroWheelieHopFaceDirectionMovementActions[] = { const u8 gAcroWheelieHopFaceDirectionMovementActions[] = {
MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_DOWN, [DIR_NONE] = MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_DOWN,
MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_DOWN, [DIR_SOUTH] = MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_DOWN,
MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_UP, [DIR_NORTH] = MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_UP,
MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_LEFT, [DIR_WEST] = MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_LEFT,
MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_RIGHT, [DIR_EAST] = MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_RIGHT,
[DIR_SOUTHWEST] = MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_LEFT,
[DIR_NORTHWEST] = MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_LEFT,
[DIR_SOUTHEAST] = MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_RIGHT,
[DIR_NORTHEAST] = MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_RIGHT,
}; };
const u8 gAcroWheelieHopDirectionMovementActions[] = { const u8 gAcroWheelieHopDirectionMovementActions[] = {
[DIR_NONE] = MOVEMENT_ACTION_ACRO_WHEELIE_HOP_DOWN, [DIR_NONE] = MOVEMENT_ACTION_ACRO_WHEELIE_HOP_DOWN,
@ -1072,45 +1089,65 @@ const u8 gAcroWheelieHopDirectionMovementActions[] = {
[DIR_NORTH] = MOVEMENT_ACTION_ACRO_WHEELIE_HOP_UP, [DIR_NORTH] = MOVEMENT_ACTION_ACRO_WHEELIE_HOP_UP,
[DIR_WEST] = MOVEMENT_ACTION_ACRO_WHEELIE_HOP_LEFT, [DIR_WEST] = MOVEMENT_ACTION_ACRO_WHEELIE_HOP_LEFT,
[DIR_EAST] = MOVEMENT_ACTION_ACRO_WHEELIE_HOP_RIGHT, [DIR_EAST] = MOVEMENT_ACTION_ACRO_WHEELIE_HOP_RIGHT,
/*[DIR_SOUTHWEST] = MOVEMENT_ACTION_ACRO_WHEELIE_HOP_LEFT, [DIR_SOUTHWEST] = MOVEMENT_ACTION_ACRO_WHEELIE_HOP_LEFT,
[DIR_SOUTHEAST] = MOVEMENT_ACTION_ACRO_WHEELIE_HOP_RIGHT,
[DIR_NORTHWEST] = MOVEMENT_ACTION_ACRO_WHEELIE_HOP_LEFT, [DIR_NORTHWEST] = MOVEMENT_ACTION_ACRO_WHEELIE_HOP_LEFT,
[DIR_NORTHEAST] = MOVEMENT_ACTION_ACRO_WHEELIE_HOP_RIGHT*/ [DIR_SOUTHEAST] = MOVEMENT_ACTION_ACRO_WHEELIE_HOP_RIGHT,
[DIR_NORTHEAST] = MOVEMENT_ACTION_ACRO_WHEELIE_HOP_RIGHT,
}; };
const u8 gAcroWheelieJumpDirectionMovementActions[] = { const u8 gAcroWheelieJumpDirectionMovementActions[] = {
MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_DOWN, [DIR_NONE] = MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_DOWN,
MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_DOWN, [DIR_SOUTH] = MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_DOWN,
MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_UP, [DIR_NORTH] = MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_UP,
MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_LEFT, [DIR_WEST] = MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_LEFT,
MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_RIGHT, [DIR_EAST] = MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_RIGHT,
[DIR_SOUTHWEST] = MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_LEFT,
[DIR_NORTHWEST] = MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_LEFT,
[DIR_SOUTHEAST] = MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_RIGHT,
[DIR_NORTHEAST] = MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_RIGHT,
}; };
const u8 gAcroWheelieInPlaceDirectionMovementActions[] = { const u8 gAcroWheelieInPlaceDirectionMovementActions[] = {
MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_DOWN, [DIR_NONE] = MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_DOWN,
MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_DOWN, [DIR_SOUTH] = MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_DOWN,
MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_UP, [DIR_NORTH] = MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_UP,
MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_LEFT, [DIR_WEST] = MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_LEFT,
MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_RIGHT, [DIR_EAST] = MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_RIGHT,
[DIR_SOUTHWEST] = MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_LEFT,
[DIR_NORTHWEST] = MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_LEFT,
[DIR_SOUTHEAST] = MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_RIGHT,
[DIR_NORTHEAST] = MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_RIGHT,
}; };
const u8 gAcroPopWheelieMoveDirectionMovementActions[] = { const u8 gAcroPopWheelieMoveDirectionMovementActions[] = {
MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_DOWN, [DIR_NONE] = MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_DOWN,
MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_DOWN, [DIR_SOUTH] = MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_DOWN,
MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_UP, [DIR_NORTH] = MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_UP,
MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_LEFT, [DIR_WEST] = MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_LEFT,
MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_RIGHT, [DIR_EAST] = MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_RIGHT,
[DIR_SOUTHWEST] = MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_LEFT,
[DIR_NORTHWEST] = MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_LEFT,
[DIR_SOUTHEAST] = MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_RIGHT,
[DIR_NORTHEAST] = MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_RIGHT,
}; };
const u8 gAcroWheelieMoveDirectionMovementActions[] = { const u8 gAcroWheelieMoveDirectionMovementActions[] = {
MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_DOWN, [DIR_NONE] = MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_DOWN,
MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_DOWN, [DIR_SOUTH] = MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_DOWN,
MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_UP, [DIR_NORTH] = MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_UP,
MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_LEFT, [DIR_WEST] = MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_LEFT,
MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_RIGHT, [DIR_EAST] = MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_RIGHT,
[DIR_SOUTHWEST] = MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_LEFT,
[DIR_NORTHWEST] = MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_LEFT,
[DIR_SOUTHEAST] = MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_RIGHT,
[DIR_NORTHEAST] = MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_RIGHT,
}; };
const u8 gAcroEndWheelieMoveDirectionMovementActions[] = { const u8 gAcroEndWheelieMoveDirectionMovementActions[] = {
MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_DOWN, [DIR_NONE] = MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_DOWN,
MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_DOWN, [DIR_SOUTH] = MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_DOWN,
MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_UP, [DIR_NORTH] = MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_UP,
MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_LEFT, [DIR_WEST] = MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_LEFT,
MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_RIGHT, [DIR_EAST] = MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_RIGHT,
[DIR_SOUTHWEST] = MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_LEFT,
[DIR_NORTHWEST] = MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_LEFT,
[DIR_SOUTHEAST] = MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_RIGHT,
[DIR_NORTHEAST] = MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_RIGHT,
}; };
// run slow // run slow
const u8 gRunSlowMovementActions[] = { const u8 gRunSlowMovementActions[] = {
@ -1150,21 +1187,6 @@ const u8 gDiagonalStairLeftSideRunningMovementActions[] = {
[DIR_WEST] = MOVEMENT_ACTION_WALK_STAIRS_DIAGONAL_DOWN_LEFT_RUNNING, [DIR_WEST] = MOVEMENT_ACTION_WALK_STAIRS_DIAGONAL_DOWN_LEFT_RUNNING,
[DIR_EAST] = MOVEMENT_ACTION_WALK_STAIRS_DIAGONAL_UP_RIGHT_RUNNING, [DIR_EAST] = MOVEMENT_ACTION_WALK_STAIRS_DIAGONAL_UP_RIGHT_RUNNING,
}; };
const u8 gDiagonalStairLeftAcroBikeMovementActions[] = {
[DIR_NONE] = MOVEMENT_ACTION_RIDE_WATER_CURRENT_LEFT,
[DIR_SOUTH] = MOVEMENT_ACTION_RIDE_WATER_CURRENT_LEFT,
[DIR_NORTH] = MOVEMENT_ACTION_RIDE_WATER_CURRENT_LEFT,
[DIR_WEST] = MOVEMENT_ACTION_RIDE_WATER_CURRENT_UP_LEFT,
[DIR_EAST] = MOVEMENT_ACTION_RIDE_WATER_CURRENT_DOWN_RIGHT,
};
const u8 gDiagonalStairRightAcroBikeMovementActions[] = {
[DIR_NONE] = MOVEMENT_ACTION_RIDE_WATER_CURRENT_RIGHT,
[DIR_SOUTH] = MOVEMENT_ACTION_RIDE_WATER_CURRENT_RIGHT,
[DIR_NORTH] = MOVEMENT_ACTION_RIDE_WATER_CURRENT_RIGHT,
[DIR_WEST] = MOVEMENT_ACTION_RIDE_WATER_CURRENT_DOWN_LEFT,
[DIR_EAST] = MOVEMENT_ACTION_RIDE_WATER_CURRENT_UP_RIGHT,
};
const u8 gOppositeDirections[] = { const u8 gOppositeDirections[] = {
DIR_NORTH, DIR_NORTH,
@ -5164,8 +5186,6 @@ dirn_to_anim(GetDiagonalRightStairsMovement, gDiagonalStairRightSideMovementActi
dirn_to_anim(GetDiagonalLeftStairsMovement, gDiagonalStairLeftSideMovementActions); dirn_to_anim(GetDiagonalLeftStairsMovement, gDiagonalStairLeftSideMovementActions);
dirn_to_anim(GetDiagonalRightStairsRunningMovement, gDiagonalStairRightSideRunningMovementActions); dirn_to_anim(GetDiagonalRightStairsRunningMovement, gDiagonalStairRightSideRunningMovementActions);
dirn_to_anim(GetDiagonalLeftStairsRunningMovement, gDiagonalStairLeftSideRunningMovementActions); dirn_to_anim(GetDiagonalLeftStairsRunningMovement, gDiagonalStairLeftSideRunningMovementActions);
dirn_to_anim(GetDiagonalLeftAcroBikeMovement, gDiagonalStairLeftAcroBikeMovementActions);
dirn_to_anim(GetDiagonalRightAcroBikeMovement, gDiagonalStairRightAcroBikeMovementActions);
dirn_to_anim(GetFaceDirectionMovementAction, gFaceDirectionMovementActions); dirn_to_anim(GetFaceDirectionMovementAction, gFaceDirectionMovementActions);
dirn_to_anim(GetWalkSlowMovementAction, gWalkSlowMovementActions); dirn_to_anim(GetWalkSlowMovementAction, gWalkSlowMovementActions);
@ -7123,7 +7143,7 @@ bool8 MovementAction_AcroWheelieHopFaceRight_Step1(struct ObjectEvent *objectEve
bool8 MovementAction_AcroWheelieHopDown_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) bool8 MovementAction_AcroWheelieHopDown_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite)
{ {
sub_8095B84(objectEvent, sprite, DIR_SOUTH, 1, 1); sub_8095B84(objectEvent, sprite, gSidewaysStairsDirection, 1, 1);
return MovementAction_AcroWheelieHopDown_Step1(objectEvent, sprite); return MovementAction_AcroWheelieHopDown_Step1(objectEvent, sprite);
} }
@ -7140,7 +7160,7 @@ bool8 MovementAction_AcroWheelieHopDown_Step1(struct ObjectEvent *objectEvent, s
bool8 MovementAction_AcroWheelieHopUp_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) bool8 MovementAction_AcroWheelieHopUp_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite)
{ {
sub_8095B84(objectEvent, sprite, DIR_NORTH, 1, 1); sub_8095B84(objectEvent, sprite, gSidewaysStairsDirection, 1, 1);
return MovementAction_AcroWheelieHopUp_Step1(objectEvent, sprite); return MovementAction_AcroWheelieHopUp_Step1(objectEvent, sprite);
} }
@ -7157,7 +7177,7 @@ bool8 MovementAction_AcroWheelieHopUp_Step1(struct ObjectEvent *objectEvent, str
bool8 MovementAction_AcroWheelieHopLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) bool8 MovementAction_AcroWheelieHopLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite)
{ {
sub_8095B84(objectEvent, sprite, DIR_WEST, 1, 1); sub_8095B84(objectEvent, sprite, gSidewaysStairsDirection, 1, 1);
return MovementAction_AcroWheelieHopLeft_Step1(objectEvent, sprite); return MovementAction_AcroWheelieHopLeft_Step1(objectEvent, sprite);
} }
@ -7174,7 +7194,7 @@ bool8 MovementAction_AcroWheelieHopLeft_Step1(struct ObjectEvent *objectEvent, s
bool8 MovementAction_AcroWheelieHopRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) bool8 MovementAction_AcroWheelieHopRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite)
{ {
sub_8095B84(objectEvent, sprite, DIR_EAST, 1, 1); sub_8095B84(objectEvent, sprite, gSidewaysStairsDirection, 1, 1);
return MovementAction_AcroWheelieHopRight_Step1(objectEvent, sprite); return MovementAction_AcroWheelieHopRight_Step1(objectEvent, sprite);
} }
@ -7191,7 +7211,7 @@ bool8 MovementAction_AcroWheelieHopRight_Step1(struct ObjectEvent *objectEvent,
bool8 MovementAction_AcroWheelieJumpDown_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) bool8 MovementAction_AcroWheelieJumpDown_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite)
{ {
sub_8095B84(objectEvent, sprite, DIR_SOUTH, 2, 0); sub_8095B84(objectEvent, sprite, gSidewaysStairsDirection, 2, 0);
return MovementAction_AcroWheelieJumpDown_Step1(objectEvent, sprite); return MovementAction_AcroWheelieJumpDown_Step1(objectEvent, sprite);
} }
@ -7208,7 +7228,7 @@ bool8 MovementAction_AcroWheelieJumpDown_Step1(struct ObjectEvent *objectEvent,
bool8 MovementAction_AcroWheelieJumpUp_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) bool8 MovementAction_AcroWheelieJumpUp_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite)
{ {
sub_8095B84(objectEvent, sprite, DIR_NORTH, 2, 0); sub_8095B84(objectEvent, sprite, gSidewaysStairsDirection, 2, 0);
return MovementAction_AcroWheelieJumpUp_Step1(objectEvent, sprite); return MovementAction_AcroWheelieJumpUp_Step1(objectEvent, sprite);
} }
@ -7225,7 +7245,7 @@ bool8 MovementAction_AcroWheelieJumpUp_Step1(struct ObjectEvent *objectEvent, st
bool8 MovementAction_AcroWheelieJumpLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) bool8 MovementAction_AcroWheelieJumpLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite)
{ {
sub_8095B84(objectEvent, sprite, DIR_WEST, 2, 0); sub_8095B84(objectEvent, sprite, gSidewaysStairsDirection, 2, 0);
return MovementAction_AcroWheelieJumpLeft_Step1(objectEvent, sprite); return MovementAction_AcroWheelieJumpLeft_Step1(objectEvent, sprite);
} }
@ -7242,7 +7262,7 @@ bool8 MovementAction_AcroWheelieJumpLeft_Step1(struct ObjectEvent *objectEvent,
bool8 MovementAction_AcroWheelieJumpRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) bool8 MovementAction_AcroWheelieJumpRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite)
{ {
sub_8095B84(objectEvent, sprite, DIR_EAST, 2, 0); sub_8095B84(objectEvent, sprite, gSidewaysStairsDirection, 2, 0);
return MovementAction_AcroWheelieJumpRight_Step1(objectEvent, sprite); return MovementAction_AcroWheelieJumpRight_Step1(objectEvent, sprite);
} }
@ -7259,25 +7279,25 @@ bool8 MovementAction_AcroWheelieJumpRight_Step1(struct ObjectEvent *objectEvent,
bool8 MovementAction_AcroWheelieInPlaceDown_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) bool8 MovementAction_AcroWheelieInPlaceDown_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite)
{ {
sub_8094554(objectEvent, sprite, DIR_SOUTH, GetAcroWheeliePedalDirectionAnimNum(DIR_SOUTH), 8); sub_8094554(objectEvent, sprite, gSidewaysStairsDirection, GetAcroWheeliePedalDirectionAnimNum(gSidewaysStairsDirection), 8);
return MovementAction_WalkInPlace_Step1(objectEvent, sprite); return MovementAction_WalkInPlace_Step1(objectEvent, sprite);
} }
bool8 MovementAction_AcroWheelieInPlaceUp_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) bool8 MovementAction_AcroWheelieInPlaceUp_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite)
{ {
sub_8094554(objectEvent, sprite, DIR_NORTH, GetAcroWheeliePedalDirectionAnimNum(DIR_NORTH), 8); sub_8094554(objectEvent, sprite, gSidewaysStairsDirection, GetAcroWheeliePedalDirectionAnimNum(gSidewaysStairsDirection), 8);
return MovementAction_WalkInPlace_Step1(objectEvent, sprite); return MovementAction_WalkInPlace_Step1(objectEvent, sprite);
} }
bool8 MovementAction_AcroWheelieInPlaceLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) bool8 MovementAction_AcroWheelieInPlaceLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite)
{ {
sub_8094554(objectEvent, sprite, DIR_WEST, GetAcroWheeliePedalDirectionAnimNum(DIR_WEST), 8); sub_8094554(objectEvent, sprite, gSidewaysStairsDirection, GetAcroWheeliePedalDirectionAnimNum(gSidewaysStairsDirection), 8);
return MovementAction_WalkInPlace_Step1(objectEvent, sprite); return MovementAction_WalkInPlace_Step1(objectEvent, sprite);
} }
bool8 MovementAction_AcroWheelieInPlaceRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) bool8 MovementAction_AcroWheelieInPlaceRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite)
{ {
sub_8094554(objectEvent, sprite, DIR_EAST, GetAcroWheeliePedalDirectionAnimNum(DIR_EAST), 8); sub_8094554(objectEvent, sprite, gSidewaysStairsDirection, GetAcroWheeliePedalDirectionAnimNum(gSidewaysStairsDirection), 8);
return MovementAction_WalkInPlace_Step1(objectEvent, sprite); return MovementAction_WalkInPlace_Step1(objectEvent, sprite);
} }
@ -7290,7 +7310,7 @@ void sub_80960C8(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 dire
bool8 MovementAction_AcroPopWheelieMoveDown_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) bool8 MovementAction_AcroPopWheelieMoveDown_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite)
{ {
sub_80960C8(objectEvent, sprite, DIR_SOUTH, 1); sub_80960C8(objectEvent, sprite, gSidewaysStairsDirection, 1);
return MovementAction_AcroPopWheelieMoveDown_Step1(objectEvent, sprite); return MovementAction_AcroPopWheelieMoveDown_Step1(objectEvent, sprite);
} }
@ -7306,7 +7326,7 @@ bool8 MovementAction_AcroPopWheelieMoveDown_Step1(struct ObjectEvent *objectEven
bool8 MovementAction_AcroPopWheelieMoveUp_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) bool8 MovementAction_AcroPopWheelieMoveUp_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite)
{ {
sub_80960C8(objectEvent, sprite, DIR_NORTH, 1); sub_80960C8(objectEvent, sprite, gSidewaysStairsDirection, 1);
return MovementAction_AcroPopWheelieMoveUp_Step1(objectEvent, sprite); return MovementAction_AcroPopWheelieMoveUp_Step1(objectEvent, sprite);
} }
@ -7322,7 +7342,7 @@ bool8 MovementAction_AcroPopWheelieMoveUp_Step1(struct ObjectEvent *objectEvent,
bool8 MovementAction_AcroPopWheelieMoveLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) bool8 MovementAction_AcroPopWheelieMoveLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite)
{ {
sub_80960C8(objectEvent, sprite, DIR_WEST, 1); sub_80960C8(objectEvent, sprite, gSidewaysStairsDirection, 1);
return MovementAction_AcroPopWheelieMoveLeft_Step1(objectEvent, sprite); return MovementAction_AcroPopWheelieMoveLeft_Step1(objectEvent, sprite);
} }
@ -7338,7 +7358,7 @@ bool8 MovementAction_AcroPopWheelieMoveLeft_Step1(struct ObjectEvent *objectEven
bool8 MovementAction_AcroPopWheelieMoveRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) bool8 MovementAction_AcroPopWheelieMoveRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite)
{ {
sub_80960C8(objectEvent, sprite, DIR_EAST, 1); sub_80960C8(objectEvent, sprite, gSidewaysStairsDirection, 1);
return MovementAction_AcroPopWheelieMoveRight_Step1(objectEvent, sprite); return MovementAction_AcroPopWheelieMoveRight_Step1(objectEvent, sprite);
} }
@ -7360,7 +7380,7 @@ void sub_8096200(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 dire
bool8 MovementAction_AcroWheelieMoveDown_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) bool8 MovementAction_AcroWheelieMoveDown_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite)
{ {
sub_8096200(objectEvent, sprite, DIR_SOUTH, 1); sub_8096200(objectEvent, sprite, gSidewaysStairsDirection, 1);
return MovementAction_AcroWheelieMoveDown_Step1(objectEvent, sprite); return MovementAction_AcroWheelieMoveDown_Step1(objectEvent, sprite);
} }
@ -7376,7 +7396,7 @@ bool8 MovementAction_AcroWheelieMoveDown_Step1(struct ObjectEvent *objectEvent,
bool8 MovementAction_AcroWheelieMoveUp_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) bool8 MovementAction_AcroWheelieMoveUp_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite)
{ {
sub_8096200(objectEvent, sprite, DIR_NORTH, 1); sub_8096200(objectEvent, sprite, gSidewaysStairsDirection, 1);
return MovementAction_AcroWheelieMoveUp_Step1(objectEvent, sprite); return MovementAction_AcroWheelieMoveUp_Step1(objectEvent, sprite);
} }
@ -7392,7 +7412,7 @@ bool8 MovementAction_AcroWheelieMoveUp_Step1(struct ObjectEvent *objectEvent, st
bool8 MovementAction_AcroWheelieMoveLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) bool8 MovementAction_AcroWheelieMoveLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite)
{ {
sub_8096200(objectEvent, sprite, DIR_WEST, 1); sub_8096200(objectEvent, sprite, gSidewaysStairsDirection, 1);
return MovementAction_AcroWheelieMoveLeft_Step1(objectEvent, sprite); return MovementAction_AcroWheelieMoveLeft_Step1(objectEvent, sprite);
} }
@ -7408,7 +7428,7 @@ bool8 MovementAction_AcroWheelieMoveLeft_Step1(struct ObjectEvent *objectEvent,
bool8 MovementAction_AcroWheelieMoveRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) bool8 MovementAction_AcroWheelieMoveRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite)
{ {
sub_8096200(objectEvent, sprite, DIR_EAST, 1); sub_8096200(objectEvent, sprite, gSidewaysStairsDirection, 1);
return MovementAction_AcroWheelieMoveRight_Step1(objectEvent, sprite); return MovementAction_AcroWheelieMoveRight_Step1(objectEvent, sprite);
} }
@ -7431,7 +7451,7 @@ void sub_8096330(struct ObjectEvent *objectEvent, struct Sprite *sprite, u8 dire
bool8 MovementAction_AcroEndWheelieMoveDown_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) bool8 MovementAction_AcroEndWheelieMoveDown_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite)
{ {
sub_8096330(objectEvent, sprite, DIR_SOUTH, 1); sub_8096330(objectEvent, sprite, gSidewaysStairsDirection, 1);
return MovementAction_AcroEndWheelieMoveDown_Step1(objectEvent, sprite); return MovementAction_AcroEndWheelieMoveDown_Step1(objectEvent, sprite);
} }
@ -7447,7 +7467,7 @@ bool8 MovementAction_AcroEndWheelieMoveDown_Step1(struct ObjectEvent *objectEven
bool8 MovementAction_AcroEndWheelieMoveUp_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) bool8 MovementAction_AcroEndWheelieMoveUp_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite)
{ {
sub_8096330(objectEvent, sprite, DIR_NORTH, 1); sub_8096330(objectEvent, sprite, gSidewaysStairsDirection, 1);
return MovementAction_AcroEndWheelieMoveUp_Step1(objectEvent, sprite); return MovementAction_AcroEndWheelieMoveUp_Step1(objectEvent, sprite);
} }
@ -7463,7 +7483,7 @@ bool8 MovementAction_AcroEndWheelieMoveUp_Step1(struct ObjectEvent *objectEvent,
bool8 MovementAction_AcroEndWheelieMoveLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) bool8 MovementAction_AcroEndWheelieMoveLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite)
{ {
sub_8096330(objectEvent, sprite, DIR_WEST, 1); sub_8096330(objectEvent, sprite, gSidewaysStairsDirection, 1);
return MovementAction_AcroEndWheelieMoveLeft_Step1(objectEvent, sprite); return MovementAction_AcroEndWheelieMoveLeft_Step1(objectEvent, sprite);
} }
@ -7479,7 +7499,7 @@ bool8 MovementAction_AcroEndWheelieMoveLeft_Step1(struct ObjectEvent *objectEven
bool8 MovementAction_AcroEndWheelieMoveRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) bool8 MovementAction_AcroEndWheelieMoveRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite)
{ {
sub_8096330(objectEvent, sprite, DIR_EAST, 1); sub_8096330(objectEvent, sprite, gSidewaysStairsDirection, 1);
return MovementAction_AcroEndWheelieMoveRight_Step1(objectEvent, sprite); return MovementAction_AcroEndWheelieMoveRight_Step1(objectEvent, sprite);
} }
@ -9227,101 +9247,67 @@ bool8 MovementActionFunc_RunSlow_Step1(struct ObjectEvent *objectEvent, struct S
} }
//sideways stairs //sideways stairs
/*
u8 GetSidewaysStairsToRightDirection(s16 x, s16 y, u8 z)
{
static bool8 (*const sRightStairsBehaviors[])(u8) = {
MetatileBehavior_IsWalkSouth,
MetatileBehavior_IsWalkNorth,
MetatileBehavior_IsSidewaysStairsRight,
MetatileBehavior_IsSidewaysStairsRight,
};
u8 metatileBehavior;
u8 index = z;
if (index == DIR_NONE)
return DIR_NONE;
else if (index > DIR_EAST)
index -= DIR_EAST;
index--;
metatileBehavior = MapGridGetMetatileBehaviorAt(x, y);
if (MetatileBehavior_IsEastBlocked(metatileBehavior))
return DIR_NONE;
if (sRightStairsBehaviors[index](metatileBehavior))
return index + 1;
return DIR_NONE;
}
u8 GetSidewaysStairsToLeftDirection(s16 x, s16 y, u8 z)
{
static bool8 (*const sLeftStairsBehaviors[])(u8) = {
MetatileBehavior_IsWalkSouth,
MetatileBehavior_IsWalkNorth,
MetatileBehavior_IsSidewaysStairsLeft,
MetatileBehavior_IsSidewaysStairsLeft,
};
u8 metatileBehavior;
u8 index = z;
if (index == DIR_NONE)
return DIR_NONE;
else if (index > 4)
index -= 4;
index--;
metatileBehavior = MapGridGetMetatileBehaviorAt(x, y);
if (MetatileBehavior_IsWestBlocked(metatileBehavior))
return DIR_NONE;
if (sLeftStairsBehaviors[index](metatileBehavior) == 1)
return index + 1;
return DIR_NONE;
}
*/
bool8 MovementAction_WalkStairDiagonalUpLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) bool8 MovementAction_WalkStairDiagonalUpLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite)
{ {
objectEvent->facingDirection = DIR_WEST; objectEvent->facingDirection = DIR_WEST;
objectEvent->facingDirectionLocked = TRUE; objectEvent->facingDirectionLocked = TRUE;
sub_8093B60(objectEvent, sprite, DIR_NORTHWEST); #if SLOW_MOVEMENT_ON_STAIRS == TRUE
return MovementAction_WalkSlowDiagonalUpLeft_Step1(objectEvent, sprite); sub_8093B60(objectEvent, sprite, DIR_NORTHWEST);
return MovementAction_WalkSlowDiagonalUpLeft_Step1(objectEvent, sprite);
#else
do_go_anim(objectEvent, sprite, DIR_NORTHWEST, 0);
return MovementAction_WalkNormalDiagonalUpLeft_Step1(objectEvent, sprite);
#endif
} }
bool8 MovementAction_WalkStairDiagonalUpRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) bool8 MovementAction_WalkStairDiagonalUpRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite)
{ {
objectEvent->facingDirection = DIR_EAST; objectEvent->facingDirection = DIR_EAST;
objectEvent->facingDirectionLocked = TRUE; objectEvent->facingDirectionLocked = TRUE;
sub_8093B60(objectEvent, sprite, DIR_NORTHEAST); #if SLOW_MOVEMENT_ON_STAIRS == TRUE
return MovementAction_WalkSlowDiagonalUpRight_Step1(objectEvent, sprite); sub_8093B60(objectEvent, sprite, DIR_NORTHEAST);
return MovementAction_WalkSlowDiagonalUpRight_Step1(objectEvent, sprite);
#else
do_go_anim(objectEvent, sprite, DIR_NORTHEAST, 0);
return MovementAction_WalkNormalDiagonalUpLeft_Step1(objectEvent, sprite);
#endif
} }
bool8 MovementAction_WalkStairDiagonalDownLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) bool8 MovementAction_WalkStairDiagonalDownLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite)
{ {
objectEvent->facingDirection = DIR_WEST; objectEvent->facingDirection = DIR_WEST;
objectEvent->facingDirectionLocked = TRUE; objectEvent->facingDirectionLocked = TRUE;
sub_8093B60(objectEvent, sprite, DIR_SOUTHWEST); #if SLOW_MOVEMENT_ON_STAIRS == TRUE
return MovementAction_WalkSlowDiagonalDownLeft_Step1(objectEvent, sprite); sub_8093B60(objectEvent, sprite, DIR_SOUTHWEST);
return MovementAction_WalkSlowDiagonalDownLeft_Step1(objectEvent, sprite);
#else
do_go_anim(objectEvent, sprite, DIR_SOUTHWEST, 0);
return MovementAction_WalkNormalDiagonalUpLeft_Step1(objectEvent, sprite);
#endif
} }
bool8 MovementAction_WalkStairDiagonalDownRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) bool8 MovementAction_WalkStairDiagonalDownRight_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite)
{ {
objectEvent->facingDirection = DIR_EAST; objectEvent->facingDirection = DIR_EAST;
objectEvent->facingDirectionLocked = TRUE; objectEvent->facingDirectionLocked = TRUE;
sub_8093B60(objectEvent, sprite, DIR_SOUTHEAST); #if SLOW_MOVEMENT_ON_STAIRS == TRUE
return MovementAction_WalkSlowDiagonalDownRight_Step1(objectEvent, sprite); sub_8093B60(objectEvent, sprite, DIR_SOUTHEAST);
return MovementAction_WalkSlowDiagonalDownRight_Step1(objectEvent, sprite);
#else
do_go_anim(objectEvent, sprite, DIR_SOUTHEAST, 0);
return MovementAction_WalkNormalDiagonalUpLeft_Step1(objectEvent, sprite);
#endif
} }
bool8 MovementAction_RunStairDiagonalUpLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite) bool8 MovementAction_RunStairDiagonalUpLeft_Step0(struct ObjectEvent *objectEvent, struct Sprite *sprite)
{ {
objectEvent->facingDirection = DIR_WEST; objectEvent->facingDirection = DIR_WEST;
objectEvent->facingDirectionLocked = TRUE; objectEvent->facingDirectionLocked = TRUE;
StartSlowRunningAnim(objectEvent, sprite, DIR_NORTHWEST); #if SLOW_MOVEMENT_ON_STAIRS == TRUE
StartSlowRunningAnim(objectEvent, sprite, DIR_NORTHWEST);
#else
StartRunningAnim(objectEvent, sprite, DIR_NORTHWEST);
#endif
return MovementAction_RunStairDiagonal_Step1(objectEvent, sprite); return MovementAction_RunStairDiagonal_Step1(objectEvent, sprite);
} }
@ -9329,7 +9315,11 @@ bool8 MovementAction_RunStairDiagonalUpRight_Step0(struct ObjectEvent *objectEve
{ {
objectEvent->facingDirection = DIR_EAST; objectEvent->facingDirection = DIR_EAST;
objectEvent->facingDirectionLocked = TRUE; objectEvent->facingDirectionLocked = TRUE;
StartSlowRunningAnim(objectEvent, sprite, DIR_NORTHEAST); #if SLOW_MOVEMENT_ON_STAIRS == TRUE
StartSlowRunningAnim(objectEvent, sprite, DIR_NORTHEAST);
#else
StartRunningAnim(objectEvent, sprite, DIR_NORTHEAST);
#endif
return MovementAction_RunStairDiagonal_Step1(objectEvent, sprite); return MovementAction_RunStairDiagonal_Step1(objectEvent, sprite);
} }
@ -9337,7 +9327,11 @@ bool8 MovementAction_RunStairDiagonalDownLeft_Step0(struct ObjectEvent *objectEv
{ {
objectEvent->facingDirection = DIR_WEST; objectEvent->facingDirection = DIR_WEST;
objectEvent->facingDirectionLocked = TRUE; objectEvent->facingDirectionLocked = TRUE;
StartSlowRunningAnim(objectEvent, sprite, DIR_SOUTHWEST); #if SLOW_MOVEMENT_ON_STAIRS == TRUE
StartSlowRunningAnim(objectEvent, sprite, DIR_SOUTHWEST);
#else
StartRunningAnim(objectEvent, sprite, DIR_SOUTHWEST);
#endif
return MovementAction_RunStairDiagonal_Step1(objectEvent, sprite); return MovementAction_RunStairDiagonal_Step1(objectEvent, sprite);
} }
@ -9345,7 +9339,11 @@ bool8 MovementAction_RunStairDiagonalDownRight_Step0(struct ObjectEvent *objectE
{ {
objectEvent->facingDirection = DIR_EAST; objectEvent->facingDirection = DIR_EAST;
objectEvent->facingDirectionLocked = TRUE; objectEvent->facingDirectionLocked = TRUE;
StartSlowRunningAnim(objectEvent, sprite, DIR_SOUTHEAST); #if SLOW_MOVEMENT_ON_STAIRS == TRUE
StartSlowRunningAnim(objectEvent, sprite, DIR_SOUTHEAST);
#else
StartRunningAnim(objectEvent, sprite, DIR_SOUTHEAST);
#endif
return MovementAction_RunStairDiagonal_Step1(objectEvent, sprite); return MovementAction_RunStairDiagonal_Step1(objectEvent, sprite);
} }
@ -9363,7 +9361,7 @@ bool8 MovementAction_AcroBikeDiagonalUpLeft_Step0(struct ObjectEvent *objectEven
{ {
objectEvent->facingDirection = DIR_WEST; objectEvent->facingDirection = DIR_WEST;
objectEvent->facingDirectionLocked = TRUE; objectEvent->facingDirectionLocked = TRUE;
#if SLOW_MOVEMENT_ON_STAIRS #if SLOW_MOVEMENT_ON_STAIRS == TRUE
do_go_anim(objectEvent, sprite, DIR_NORTHWEST, 0); do_go_anim(objectEvent, sprite, DIR_NORTHWEST, 0);
#else #else
do_go_anim(objectEvent, sprite, DIR_NORTHWEST, 2); do_go_anim(objectEvent, sprite, DIR_NORTHWEST, 2);
@ -9375,7 +9373,7 @@ bool8 MovementAction_AcroBikeDiagonalDownLeft_Step0(struct ObjectEvent *objectEv
{ {
objectEvent->facingDirection = DIR_WEST; objectEvent->facingDirection = DIR_WEST;
objectEvent->facingDirectionLocked = TRUE; objectEvent->facingDirectionLocked = TRUE;
#if SLOW_MOVEMENT_ON_STAIRS #if SLOW_MOVEMENT_ON_STAIRS == TRUE
do_go_anim(objectEvent, sprite, DIR_SOUTHWEST, 0); do_go_anim(objectEvent, sprite, DIR_SOUTHWEST, 0);
#else #else
do_go_anim(objectEvent, sprite, DIR_SOUTHWEST, 2); do_go_anim(objectEvent, sprite, DIR_SOUTHWEST, 2);
@ -9387,7 +9385,7 @@ bool8 MovementAction_AcroBikeDiagonalUpRight_Step0(struct ObjectEvent *objectEve
{ {
objectEvent->facingDirection = DIR_EAST; objectEvent->facingDirection = DIR_EAST;
objectEvent->facingDirectionLocked = TRUE; objectEvent->facingDirectionLocked = TRUE;
#if SLOW_MOVEMENT_ON_STAIRS #if SLOW_MOVEMENT_ON_STAIRS == TRUE
do_go_anim(objectEvent, sprite, DIR_NORTHEAST, 0); do_go_anim(objectEvent, sprite, DIR_NORTHEAST, 0);
#else #else
do_go_anim(objectEvent, sprite, DIR_NORTHEAST, 2); do_go_anim(objectEvent, sprite, DIR_NORTHEAST, 2);
@ -9399,7 +9397,7 @@ bool8 MovementAction_AcroBikeDiagonalDownRight_Step0(struct ObjectEvent *objectE
{ {
objectEvent->facingDirection = DIR_EAST; objectEvent->facingDirection = DIR_EAST;
objectEvent->facingDirectionLocked = TRUE; objectEvent->facingDirectionLocked = TRUE;
#if SLOW_MOVEMENT_ON_STAIRS #if SLOW_MOVEMENT_ON_STAIRS == TRUE
do_go_anim(objectEvent, sprite, DIR_SOUTHEAST, 0); do_go_anim(objectEvent, sprite, DIR_SOUTHEAST, 0);
#else #else
do_go_anim(objectEvent, sprite, DIR_SOUTHEAST, 2); do_go_anim(objectEvent, sprite, DIR_SOUTHEAST, 2);

View File

@ -690,31 +690,11 @@ bool32 PlayerIsMovingOnRockStairs(u8 direction)
case DIR_SOUTH: case DIR_SOUTH:
MoveCoords(DIR_SOUTH, &x, &y); MoveCoords(DIR_SOUTH, &x, &y);
return MetatileBehavior_IsRockStairs(MapGridGetMetatileBehaviorAt(x, y)); return MetatileBehavior_IsRockStairs(MapGridGetMetatileBehaviorAt(x, y));
/*
case DIR_WEST:
MoveCoords(DIR_WEST, &x, &y);
return MetatileBehavior_IsRockStairs(MapGridGetMetatileBehaviorAt(x, y));
case DIR_EAST:
MoveCoords(DIR_EAST, &x, &y);
return MetatileBehavior_IsRockStairs(MapGridGetMetatileBehaviorAt(x, y));
case DIR_SOUTHWEST:
MoveCoords(DIR_SOUTHWEST, &x, &y);
return MetatileBehavior_IsRockStairs(MapGridGetMetatileBehaviorAt(x, y));
case DIR_SOUTHEAST:
MoveCoords(DIR_SOUTHEAST, &x, &y);
return MetatileBehavior_IsRockStairs(MapGridGetMetatileBehaviorAt(x, y));
case DIR_NORTHWEST:
MoveCoords(DIR_NORTHWEST, &x, &y);
return MetatileBehavior_IsRockStairs(MapGridGetMetatileBehaviorAt(x, y));
case DIR_NORTHEAST:
MoveCoords(DIR_NORTHEAST, &x, &y);
return MetatileBehavior_IsRockStairs(MapGridGetMetatileBehaviorAt(x, y));
*/
default: default:
return FALSE; return FALSE;
} }
#else #else
return FALSE return FALSE;
#endif #endif
} }
@ -2344,24 +2324,6 @@ static u8 TrySpinPlayerForWarp(struct ObjectEvent *object, s16 *delayTimer)
} }
//sideways stairs //sideways stairs
/*
static bool8 IsSidewaysStairToRight(s16 x, s16 y, u8 z)
{
if (GetSidewaysStairsToRightDirection(x, y, z) != 0)
return TRUE;
else
return FALSE;
}
static bool8 IsSidewaysStairToLeft(s16 x, s16 y, u8 z)
{
if (GetSidewaysStairsToLeftDirection(x, y, z) != 0)
return TRUE;
else
return FALSE;
}
*/
u8 GetRightSideStairsDirection(u8 direction) u8 GetRightSideStairsDirection(u8 direction)
{ {
switch (direction) switch (direction)
@ -2413,14 +2375,3 @@ void PlayerSidewaysStairsLeftSideRunning(u8 direction)
{ {
PlayerSetAnimId(GetDiagonalLeftStairsRunningMovement(direction), 8); PlayerSetAnimId(GetDiagonalLeftStairsRunningMovement(direction), 8);
} }
void PlayerSidewaysStairsToAcroBikeLeft(u8 direction)
{
PlayerSetAnimId(GetDiagonalLeftAcroBikeMovement(direction), 8);
}
void PlayerSidewaysStairsToAcroBikeRight(u8 direction)
{
PlayerSetAnimId(GetDiagonalRightAcroBikeMovement(direction), 8);
}

View File

@ -1566,7 +1566,7 @@ bool8 MetatileBehavior_IsSidewaysStairsLeftSideAny(u8 metatileBehavior)
bool8 MetatileBehavior_IsRockStairs(u8 metatileBehavior) bool8 MetatileBehavior_IsRockStairs(u8 metatileBehavior)
{ {
if (metatileBehavior == MB_ROCK_STAIRS) // || metatileBehavior == MB_SIDEWAYS_STAIRS_LEFT || metatileBehavior == MB_SIDEWAYS_STAIRS_RIGHT) if (metatileBehavior == MB_ROCK_STAIRS)
return TRUE; return TRUE;
else else
return FALSE; return FALSE;