Bring all movement function names up-to-date with pokeruby

This commit is contained in:
Marcus Huderle
2018-06-13 17:51:26 -05:00
parent aa9a45c16f
commit 4d13e3394a
35 changed files with 5867 additions and 4059 deletions

View File

@@ -1203,7 +1203,7 @@ void sub_80B16D8(void)
{
struct EventObject *eventObject = &gEventObjects[gSelectedEventObject];
npc_set_running_behaviour_etc(eventObject, npc_running_behaviour_by_direction(eventObject->facingDirection));
SetTrainerMovementType(eventObject, GetTrainerFacingDirectionMovementType(eventObject->facingDirection));
}
u8 GetTrainerBattleMode(void)

View File

@@ -12,7 +12,7 @@ extern u8 EventObjectGetBerryTreeId(u8 eventObjectId);
extern void sub_8092EF0(u8 mapId, u8 mapNumber, u8 mapGroup);
extern void CB2_ChooseBerry(void);
extern const u8* GetEventObjectScriptPointerForComparison(void);
extern bool8 sub_8092E9C(u8, u8, u8);
extern bool8 IsBerryTreeSparkling(u8, u8, u8);
extern u16 gSpecialVar_ItemId;
@@ -1166,7 +1166,7 @@ void EventObjectInteractionGetBerryTreeData(void)
unk = gSpecialVar_LastTalked;
num = gSaveBlock1Ptr->location.mapNum;
group = gSaveBlock1Ptr->location.mapGroup;
if (sub_8092E9C(unk, num, group))
if (IsBerryTreeSparkling(unk, num, group))
gSpecialVar_0x8004 = 0xFF;
else
gSpecialVar_0x8004 = GetStageByBerryTreeId(id);

View File

@@ -152,7 +152,7 @@ static void MovePlayerOnMachBike(u8 direction, u16 newKeys, u16 heldKeys)
static u8 GetMachBikeTransition(u8 *dirTraveling)
{
// if the dir updated before this function, get the relevent new direction to check later.
u8 direction = player_get_direction_upper_nybble();
u8 direction = GetPlayerMovementDirection();
// is the player standing still?
if (*dirTraveling == 0)
@@ -296,7 +296,7 @@ static u8 CheckMovementInputAcroBike(u8 *newDirection, u16 newKeys, u16 heldKeys
static u8 AcroBikeHandleInputNormal(u8 *newDirection, u16 newKeys, u16 heldKeys)
{
u8 direction = player_get_direction_upper_nybble();
u8 direction = GetPlayerMovementDirection();
gPlayerAvatar.bikeFrameCounter = 0;
if (*newDirection == DIR_NONE)
@@ -349,7 +349,7 @@ static u8 AcroBikeHandleInputTurning(u8 *newDirection, u16 newKeys, u16 heldKeys
Bike_SetBikeStill();
return ACRO_TRANS_TURN_DIRECTION;
}
direction = player_get_direction_upper_nybble();
direction = GetPlayerMovementDirection();
if (*newDirection == AcroBike_GetJumpDirection())
{
Bike_SetBikeStill(); // Bike_SetBikeStill sets speed to standing, but the next line immediately overrides it. could have just reset acroBikeState to 0 here instead of wasting a jump.
@@ -378,7 +378,7 @@ static u8 AcroBikeHandleInputWheelieStanding(u8 *newDirection, u16 newKeys, u16
u8 direction;
struct EventObject *playerEventObj;
direction = player_get_direction_upper_nybble();
direction = GetPlayerMovementDirection();
playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId];
gPlayerAvatar.runningState = NOT_MOVING;
@@ -425,7 +425,7 @@ static u8 AcroBikeHandleInputBunnyHop(u8 *newDirection, u16 newKeys, u16 heldKey
u8 direction;
struct EventObject *playerEventObj;
direction = player_get_direction_upper_nybble();
direction = GetPlayerMovementDirection();
playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId];
if (!(heldKeys & B_BUTTON))
{
@@ -472,7 +472,7 @@ static u8 AcroBikeHandleInputWheelieMoving(u8 *newDirection, u16 newKeys, u16 he
u8 direction;
struct EventObject *playerEventObj;
direction = player_get_direction_lower_nybble();
direction = GetPlayerFacingDirection();
playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId];
if (!(heldKeys & B_BUTTON))
{
@@ -527,7 +527,7 @@ static u8 AcroBikeHandleInputSidewaysJump(u8 *ptr, u16 newKeys, u16 heldKeys)
struct EventObject *playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId];
playerEventObj->facingDirectionLocked = 0;
EventObjectSetDirection(playerEventObj, playerEventObj->facingDirection);
SetEventObjectDirection(playerEventObj, playerEventObj->facingDirection);
gPlayerAvatar.acroBikeState = ACRO_STATE_NORMAL;
return CheckMovementInputAcroBike(ptr, newKeys, heldKeys);
}
@@ -672,7 +672,7 @@ static void AcroBikeTransition_SideJump(u8 direction)
playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId];
PlaySE(SE_JITE_PYOKO);
playerEventObj->facingDirectionLocked = 1;
PlayerSetAnimId(sub_8093514(direction), 2);
PlayerSetAnimId(GetJumpMovementAction(direction), 2);
}
static void AcroBikeTransition_TurnJump(u8 direction)
@@ -1062,7 +1062,7 @@ void Bike_HandleBumpySlopeJump(void)
if (MetatileBehavior_IsBumpySlope(tileBehavior))
{
gPlayerAvatar.acroBikeState = ACRO_STATE_WHEELIE_STANDING;
sub_808C1B4(player_get_direction_upper_nybble());
sub_808C1B4(GetPlayerMovementDirection());
}
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -1,443 +1,443 @@
#ifndef GUARD_MOVEMENT_TYPE_FUNC_TABLES_H
#define GUARD_MOVEMENT_TYPE_FUNC_TABLES_H
u8 (*const gUnknown_0850D6F4[])(struct EventObject *, struct Sprite *) = {
sub_808F44C,
sub_808F460,
sub_808F48C,
sub_808F4C8,
sub_808F4E8,
sub_808F534,
sub_808F564,
u8 (*const gMovementTypeFuncs_WanderAround[])(struct EventObject *, struct Sprite *) = {
MovementType_WanderAround_Step0,
MovementType_WanderAround_Step1,
MovementType_WanderAround_Step2,
MovementType_WanderAround_Step3,
MovementType_WanderAround_Step4,
MovementType_WanderAround_Step5,
MovementType_WanderAround_Step6,
};
const u8 gUnknown_0850D710[] = {DIR_SOUTH, DIR_NORTH, DIR_WEST, DIR_EAST};
const u8 gStandardDirections[] = {DIR_SOUTH, DIR_NORTH, DIR_WEST, DIR_EAST};
u8 (*const gUnknown_0850D714[])(s16, s16, s16, s16) = {
GetRegularRunningPastFacingDirection,
GetNorthSouthRunningPastFacingDirection,
GetEastWestRunningPastFacingDirection,
GetNorthEastRunningPastFacingDirection,
GetNorthWestRunningPastFacingDirection,
GetSouthEastRunningPastFacingDirection,
GetSouthWestRunningPastFacingDirection,
GetNonEastRunningPastFacingDirection,
GetNonWestRunningPastFacingDirection,
GetNonSouthRunningPastFacingDirection,
GetNonNorthRunningPastFacingDirection,
u8 (*const gGetVectorDirectionFuncs[])(s16, s16, s16, s16) = {
GetVectorDirection,
GetLimitedVectorDirection_SouthNorth,
GetLimitedVectorDirection_WestEast,
GetLimitedVectorDirection_WestNorth,
GetLimitedVectorDirection_EastNorth,
GetLimitedVectorDirection_WestSouth,
GetLimitedVectorDirection_EastSouth,
GetLimitedVectorDirection_SouthNorthWest,
GetLimitedVectorDirection_SouthNorthEast,
GetLimitedVectorDirection_NorthWestEast,
GetLimitedVectorDirection_SouthWestEast,
};
u8 (*const gUnknown_0850D740[])(struct EventObject *, struct Sprite *) = {
sub_808F988,
sub_808F99C,
sub_808F9C8,
sub_808FA0C,
sub_808FA3C,
u8 (*const gMovementTypeFuncs_LookAround[])(struct EventObject *, struct Sprite *) = {
MovementType_LookAround_Step0,
MovementType_LookAround_Step1,
MovementType_LookAround_Step2,
MovementType_LookAround_Step3,
MovementType_LookAround_Step4,
};
u8 (*const gUnknown_0850D754[])(struct EventObject *, struct Sprite *) = {
sub_808FAC8,
sub_808FADC,
sub_808FB08,
sub_808FB44,
sub_808FB64,
sub_808FBB0,
sub_808FBE0,
u8 (*const gMovementTypeFuncs_WanderUpAndDown[])(struct EventObject *, struct Sprite *) = {
MovementType_WanderUpAndDown_Step0,
MovementType_WanderUpAndDown_Step1,
MovementType_WanderUpAndDown_Step2,
MovementType_WanderUpAndDown_Step3,
MovementType_WanderUpAndDown_Step4,
MovementType_WanderUpAndDown_Step5,
MovementType_WanderUpAndDown_Step6,
};
const u8 gUnknown_0850D770[] = {DIR_SOUTH, DIR_NORTH};
const u8 gUpAndDownDirections[] = {DIR_SOUTH, DIR_NORTH};
u8 (*const gUnknown_0850D774[])(struct EventObject *, struct Sprite *) = {
sub_808FC4C,
sub_808FC60,
sub_808FC8C,
sub_808FCC8,
sub_808FCE8,
sub_808FD34,
sub_808FD64,
u8 (*const gMovementTypeFuncs_WanderLeftAndRight[])(struct EventObject *, struct Sprite *) = {
MovementType_WanderLeftAndRight_Step0,
MovementType_WanderLeftAndRight_Step1,
MovementType_WanderLeftAndRight_Step2,
MovementType_WanderLeftAndRight_Step3,
MovementType_WanderLeftAndRight_Step4,
MovementType_WanderLeftAndRight_Step5,
MovementType_WanderLeftAndRight_Step6,
};
const u8 gUnknown_0850D790[] = {DIR_WEST, DIR_EAST};
const u8 gLeftAndRightDirections[] = {DIR_WEST, DIR_EAST};
u8 (*const gUnknown_0850D794[])(struct EventObject *, struct Sprite *) = {
sub_808FDD0,
sub_808FDFC,
sub_808FE1C,
u8 (*const gMovementTypeFuncs_FaceDirection[])(struct EventObject *, struct Sprite *) = {
MovementType_FaceDirection_Step0,
MovementType_FaceDirection_Step1,
MovementType_FaceDirection_Step2,
};
u8 (*const gUnknown_0850D7A0[])(struct EventObject *, struct Sprite *) = {
do_berry_tree_growth_sparkle_1,
sub_808FF48,
do_berry_tree_growth_sparkle_2,
sub_808FFB4,
sub_8090004,
u8 (*const gMovementTypeFuncs_BerryTreeGrowth[])(struct EventObject *, struct Sprite *) = {
MovementType_BerryTreeGrowth_Step0,
MovementType_BerryTreeGrowth_Step1,
MovementType_BerryTreeGrowth_Step2,
MovementType_BerryTreeGrowth_Step3,
MovementType_BerryTreeGrowth_Step4,
};
u8 (*const gUnknown_0850D7B4[])(struct EventObject *, struct Sprite *) = {
sub_8090094,
sub_80900A8,
sub_80900D4,
sub_8090118,
sub_8090148,
u8 (*const gMovementTypeFuncs_FaceDownAndUp[])(struct EventObject *, struct Sprite *) = {
MovementType_FaceDownAndUp_Step0,
MovementType_FaceDownAndUp_Step1,
MovementType_FaceDownAndUp_Step2,
MovementType_FaceDownAndUp_Step3,
MovementType_FaceDownAndUp_Step4,
};
u8 (*const gUnknown_0850D7C8[])(struct EventObject *, struct Sprite *) = {
sub_80901D4,
sub_80901E8,
sub_8090214,
sub_8090258,
sub_8090288,
u8 (*const gMovementTypeFuncs_FaceLeftAndRight[])(struct EventObject *, struct Sprite *) = {
MovementType_FaceLeftAndRight_Step0,
MovementType_FaceLeftAndRight_Step1,
MovementType_FaceLeftAndRight_Step2,
MovementType_FaceLeftAndRight_Step3,
MovementType_FaceLeftAndRight_Step4,
};
u8 (*const gUnknown_0850D7DC[])(struct EventObject *, struct Sprite *) = {
sub_8090314,
sub_8090328,
sub_8090354,
sub_8090398,
sub_80903C8,
u8 (*const gMovementTypeFuncs_FaceUpAndLeft[])(struct EventObject *, struct Sprite *) = {
MovementType_FaceUpAndLeft_Step0,
MovementType_FaceUpAndLeft_Step1,
MovementType_FaceUpAndLeft_Step2,
MovementType_FaceUpAndLeft_Step3,
MovementType_FaceUpAndLeft_Step4,
};
const u8 gUnknown_0850D7F0[] = {DIR_NORTH, DIR_WEST};
const u8 gUpAndLeftDirections[] = {DIR_NORTH, DIR_WEST};
u8 (*const gUnknown_0850D7F4[])(struct EventObject *, struct Sprite *) = {
sub_8090454,
sub_8090468,
sub_8090494,
sub_80904D8,
sub_8090508,
u8 (*const gMovementTypeFuncs_FaceUpAndRight[])(struct EventObject *, struct Sprite *) = {
MovementType_FaceUpAndRight_Step0,
MovementType_FaceUpAndRight_Step1,
MovementType_FaceUpAndRight_Step2,
MovementType_FaceUpAndRight_Step3,
MovementType_FaceUpAndRight_Step4,
};
const u8 gUnknown_0850D808[] = {DIR_NORTH, DIR_EAST};
const u8 gUpAndRightDirections[] = {DIR_NORTH, DIR_EAST};
u8 (*const gUnknown_0850D80C[])(struct EventObject *, struct Sprite *) = {
sub_8090594,
sub_80905A8,
sub_80905D4,
sub_8090618,
sub_8090648,
u8 (*const gMovementTypeFuncs_FaceDownAndLeft[])(struct EventObject *, struct Sprite *) = {
MovementType_FaceDownAndLeft_Step0,
MovementType_FaceDownAndLeft_Step1,
MovementType_FaceDownAndLeft_Step2,
MovementType_FaceDownAndLeft_Step3,
MovementType_FaceDownAndLeft_Step4,
};
const u8 gUnknown_0850D820[] = {DIR_SOUTH, DIR_WEST};
const u8 gDownAndLeftDirections[] = {DIR_SOUTH, DIR_WEST};
u8 (*const gUnknown_0850D824[])(struct EventObject *, struct Sprite *) = {
sub_80906D4,
sub_80906E8,
sub_8090714,
sub_8090758,
sub_8090788,
u8 (*const gMovementTypeFuncs_FaceDownAndRight[])(struct EventObject *, struct Sprite *) = {
MovementType_FaceDownAndRight_Step0,
MovementType_FaceDownAndRight_Step1,
MovementType_FaceDownAndRight_Step2,
MovementType_FaceDownAndRight_Step3,
MovementType_FaceDownAndRight_Step4,
};
const u8 gUnknown_0850D838[] = {DIR_SOUTH, DIR_EAST};
const u8 gDownAndRightDirections[] = {DIR_SOUTH, DIR_EAST};
u8 (*const gUnknown_0850D83C[])(struct EventObject *, struct Sprite *) = {
sub_8090814,
sub_8090828,
sub_8090854,
sub_8090898,
sub_80908C8,
u8 (*const gMovementTypeFuncs_FaceDownUpAndLeft[])(struct EventObject *, struct Sprite *) = {
MovementType_FaceDownUpAndLeft_Step0,
MovementType_FaceDownUpAndLeft_Step1,
MovementType_FaceDownUpAndLeft_Step2,
MovementType_FaceDownUpAndLeft_Step3,
MovementType_FaceDownUpAndLeft_Step4,
};
const u8 gUnknown_0850D850[] = {DIR_NORTH, DIR_SOUTH, DIR_WEST, DIR_SOUTH};
const u8 gDownUpAndLeftDirections[] = {DIR_NORTH, DIR_SOUTH, DIR_WEST, DIR_SOUTH};
u8 (*const gUnknown_0850D854[])(struct EventObject *, struct Sprite *) = {
sub_8090954,
sub_8090968,
sub_8090994,
sub_80909D8,
sub_8090A08,
u8 (*const gMovementTypeFuncs_FaceDownUpAndRight[])(struct EventObject *, struct Sprite *) = {
MovementType_FaceDownUpAndRight_Step0,
MovementType_FaceDownUpAndRight_Step1,
MovementType_FaceDownUpAndRight_Step2,
MovementType_FaceDownUpAndRight_Step3,
MovementType_FaceDownUpAndRight_Step4,
};
const u8 gUnknown_0850D868[] = {DIR_SOUTH, DIR_NORTH, DIR_EAST, DIR_SOUTH};
const u8 gDownUpAndRightDirections[] = {DIR_SOUTH, DIR_NORTH, DIR_EAST, DIR_SOUTH};
u8 (*const gUnknown_0850D86C[])(struct EventObject *, struct Sprite *) = {
sub_8090A94,
sub_8090AA8,
sub_8090AD4,
sub_8090B18,
sub_8090B48,
u8 (*const gMovementTypeFuncs_FaceUpLeftAndRight[])(struct EventObject *, struct Sprite *) = {
MovementType_FaceUpLeftAndRight_Step0,
MovementType_FaceUpLeftAndRight_Step1,
MovementType_FaceUpLeftAndRight_Step2,
MovementType_FaceUpLeftAndRight_Step3,
MovementType_FaceUpLeftAndRight_Step4,
};
const u8 gUnknown_0850D880[] = {DIR_NORTH, DIR_WEST, DIR_EAST, DIR_NORTH};
const u8 gUpLeftAndRightDirections[] = {DIR_NORTH, DIR_WEST, DIR_EAST, DIR_NORTH};
u8 (*const gUnknown_0850D884[])(struct EventObject *, struct Sprite *) = {
sub_8090BD4,
sub_8090BE8,
sub_8090C14,
sub_8090C58,
sub_8090C88,
u8 (*const gMovementTypeFuncs_FaceDownLeftAndRight[])(struct EventObject *, struct Sprite *) = {
MovementType_FaceDownLeftAndRight_Step0,
MovementType_FaceDownLeftAndRight_Step1,
MovementType_FaceDownLeftAndRight_Step2,
MovementType_FaceDownLeftAndRight_Step3,
MovementType_FaceDownLeftAndRight_Step4,
};
const u8 gUnknown_0850D898[] = {DIR_WEST, DIR_EAST, DIR_SOUTH, DIR_SOUTH};
const u8 gDownLeftAndRightDirections[] = {DIR_WEST, DIR_EAST, DIR_SOUTH, DIR_SOUTH};
u8 (*const gUnknown_0850D89C[])(struct EventObject *, struct Sprite *) = {
sub_8090D14,
sub_8090D40,
sub_8090D64,
sub_8090D90,
u8 (*const gMovementTypeFuncs_RotateCounterclockwise[])(struct EventObject *, struct Sprite *) = {
MovementType_RotateCounterclockwise_Step0,
MovementType_RotateCounterclockwise_Step1,
MovementType_RotateCounterclockwise_Step2,
MovementType_RotateCounterclockwise_Step3,
};
const u8 gUnknown_0850D8AC[] = {DIR_SOUTH, DIR_EAST, DIR_WEST, DIR_SOUTH, DIR_NORTH};
const u8 gCounterclockwiseDirections[] = {DIR_SOUTH, DIR_EAST, DIR_WEST, DIR_SOUTH, DIR_NORTH};
u8 (*const gUnknown_0850D8B4[])(struct EventObject *, struct Sprite *) = {
sub_8090E18,
sub_8090E44,
sub_8090E68,
sub_8090E94,
u8 (*const gMovementTypeFuncs_RotateClockwise[])(struct EventObject *, struct Sprite *) = {
MovementType_RotateClockwise_Step0,
MovementType_RotateClockwise_Step1,
MovementType_RotateClockwise_Step2,
MovementType_RotateClockwise_Step3,
};
const u8 gUnknown_0850D8C4[] = {DIR_SOUTH, DIR_WEST, DIR_EAST, DIR_NORTH, DIR_SOUTH};
const u8 gClockwiseDirections[] = {DIR_SOUTH, DIR_WEST, DIR_EAST, DIR_NORTH, DIR_SOUTH};
u8 (*const gUnknown_0850D8CC[])(struct EventObject *, struct Sprite *) = {
sub_8090F1C,
sub_8090F30,
sub_8090F68,
sub_8091020,
u8 (*const gMovementTypeFuncs_WalkBackAndForth[])(struct EventObject *, struct Sprite *) = {
MovementType_WalkBackAndForth_Step0,
MovementType_WalkBackAndForth_Step1,
MovementType_WalkBackAndForth_Step2,
MovementType_WalkBackAndForth_Step3,
};
u8 (*const gUnknown_0850D8DC[])(struct EventObject *, struct Sprite *) = {
sub_8091048,
sub_809117C,
sub_8091110,
u8 (*const gMovementTypeFuncs_WalkSequenceUpRightLeftDown[])(struct EventObject *, struct Sprite *) = {
MovementType_WalkSequence_Step0,
MovementType_WalkSequenceUpRightLeftDown_Step1,
MovementType_WalkSequence_Step2,
};
const u8 gUnknown_0850D8E8[] = {DIR_NORTH, DIR_EAST, DIR_WEST, DIR_SOUTH};
const u8 gUpRightLeftDownDirections[] = {DIR_NORTH, DIR_EAST, DIR_WEST, DIR_SOUTH};
u8 (*const gUnknown_0850D8EC[])(struct EventObject *, struct Sprite *) = {
sub_8091048,
sub_8091208,
sub_8091110,
u8 (*const gMovementTypeFuncs_WalkSequenceRightLeftDownUp[])(struct EventObject *, struct Sprite *) = {
MovementType_WalkSequence_Step0,
MovementType_WalkSequenceRightLeftDownUp_Step1,
MovementType_WalkSequence_Step2,
};
const u8 gUnknown_0850D8F8[] = {DIR_EAST, DIR_WEST, DIR_SOUTH, DIR_NORTH};
const u8 gRightLeftDownUpDirections[] = {DIR_EAST, DIR_WEST, DIR_SOUTH, DIR_NORTH};
u8 (*const gUnknown_0850D8FC[])(struct EventObject *, struct Sprite *) = {
sub_8091048,
sub_8091294,
sub_8091110,
u8 (*const gMovementTypeFuncs_WalkSequenceDownUpRightLeft[])(struct EventObject *, struct Sprite *) = {
MovementType_WalkSequence_Step0,
MovementType_WalkSequenceDownUpRightLeft_Step1,
MovementType_WalkSequence_Step2,
};
const u8 gUnknown_0850D908[] = {DIR_SOUTH, DIR_NORTH, DIR_EAST, DIR_WEST};
const u8 gDownUpRightLeftDirections[] = {DIR_SOUTH, DIR_NORTH, DIR_EAST, DIR_WEST};
u8 (*const gUnknown_0850D90C[])(struct EventObject *, struct Sprite *) = {
sub_8091048,
sub_8091320,
sub_8091110,
u8 (*const gMovementTypeFuncs_WalkSequenceLeftDownUpRight[])(struct EventObject *, struct Sprite *) = {
MovementType_WalkSequence_Step0,
MovementType_WalkSequenceLeftDownUpRight_Step1,
MovementType_WalkSequence_Step2,
};
const u8 gUnknown_0850D918[] = {DIR_WEST, DIR_SOUTH, DIR_NORTH, DIR_EAST};
const u8 gLeftDownUpRightDirections[] = {DIR_WEST, DIR_SOUTH, DIR_NORTH, DIR_EAST};
u8 (*const gUnknown_0850D91C[])(struct EventObject *, struct Sprite *) = {
sub_8091048,
sub_80913AC,
sub_8091110,
u8 (*const gMovementTypeFuncs_WalkSequenceUpLeftRightDown[])(struct EventObject *, struct Sprite *) = {
MovementType_WalkSequence_Step0,
MovementType_WalkSequenceUpLeftRightDown_Step1,
MovementType_WalkSequence_Step2,
};
const u8 gUnknown_0850D928[] = {DIR_NORTH, DIR_WEST, DIR_EAST, DIR_SOUTH};
const u8 gUpLeftRightDownDirections[] = {DIR_NORTH, DIR_WEST, DIR_EAST, DIR_SOUTH};
u8 (*const gUnknown_0850D92C[])(struct EventObject *, struct Sprite *) = {
sub_8091048,
sub_8091438,
sub_8091110,
u8 (*const gMovementTypeFuncs_WalkSequenceLeftRightDownUp[])(struct EventObject *, struct Sprite *) = {
MovementType_WalkSequence_Step0,
MovementType_WalkSequenceLeftRightDownUp_Step1,
MovementType_WalkSequence_Step2,
};
const u8 gUnknown_0850D938[] = {DIR_WEST, DIR_EAST, DIR_SOUTH, DIR_NORTH};
const u8 gLeftRightDownUpDirections[] = {DIR_WEST, DIR_EAST, DIR_SOUTH, DIR_NORTH};
u8 (*const gUnknown_0850D93C[])(struct EventObject *, struct Sprite *) = {
sub_8091048,
sub_80914C4,
sub_8091110,
u8 (*const gMovementTypeFuncs_WalkSequenceDownUpLeftRight[])(struct EventObject *, struct Sprite *) = {
MovementType_WalkSequence_Step0,
MovementType_WalkSequenceDownUpLeftRight_Step1,
MovementType_WalkSequence_Step2,
};
u8 (*const gUnknown_0850D948[])(struct EventObject *, struct Sprite *) = {
sub_8091048,
sub_8091550,
sub_8091110,
u8 (*const gMovementTypeFuncs_WalkSequenceRightDownUpLeft[])(struct EventObject *, struct Sprite *) = {
MovementType_WalkSequence_Step0,
MovementType_WalkSequenceRightDownUpLeft_Step1,
MovementType_WalkSequence_Step2,
};
const u8 gUnknown_0850D954[] = {DIR_EAST, DIR_SOUTH, DIR_NORTH, DIR_WEST};
const u8 gRightDownUpLeftDirections[] = {DIR_EAST, DIR_SOUTH, DIR_NORTH, DIR_WEST};
u8 (*const gUnknown_0850D958[])(struct EventObject *, struct Sprite *) = {
sub_8091048,
sub_80915DC,
sub_8091110,
u8 (*const gMovementTypeFuncs_WalkSequenceLeftUpDownRight[])(struct EventObject *, struct Sprite *) = {
MovementType_WalkSequence_Step0,
MovementType_WalkSequenceLeftUpDownRight_Step1,
MovementType_WalkSequence_Step2,
};
const u8 gUnknown_0850D964[] = {DIR_WEST, DIR_NORTH, DIR_SOUTH, DIR_EAST};
const u8 gLeftUpDownRightDirections[] = {DIR_WEST, DIR_NORTH, DIR_SOUTH, DIR_EAST};
u8 (*const gUnknown_0850D968[])(struct EventObject *, struct Sprite *) = {
sub_8091048,
sub_8091668,
sub_8091110,
u8 (*const gMovementTypeFuncs_WalkSequenceUpDownRightLeft[])(struct EventObject *, struct Sprite *) = {
MovementType_WalkSequence_Step0,
MovementType_WalkSequenceUpDownRightLeft_Step1,
MovementType_WalkSequence_Step2,
};
const u8 gUnknown_0850D974[] = {DIR_NORTH, DIR_SOUTH, DIR_EAST, DIR_WEST};
const u8 gUpDownRightLeftDirections[] = {DIR_NORTH, DIR_SOUTH, DIR_EAST, DIR_WEST};
u8 (*const gUnknown_0850D978[])(struct EventObject *, struct Sprite *) = {
sub_8091048,
sub_80916F4,
sub_8091110,
u8 (*const gMovementTypeFuncs_WalkSequenceRightLeftUpDown[])(struct EventObject *, struct Sprite *) = {
MovementType_WalkSequence_Step0,
MovementType_WalkSequenceRightLeftUpDown_Step1,
MovementType_WalkSequence_Step2,
};
const u8 gUnknown_0850D984[] = {DIR_EAST, DIR_WEST, DIR_NORTH, DIR_SOUTH};
const u8 gRightLeftUpDownDirections[] = {DIR_EAST, DIR_WEST, DIR_NORTH, DIR_SOUTH};
u8 (*const gUnknown_0850D988[])(struct EventObject *, struct Sprite *) = {
sub_8091048,
sub_8091780,
sub_8091110,
u8 (*const gMovementTypeFuncs_WalkSequenceDownRightLeftUp[])(struct EventObject *, struct Sprite *) = {
MovementType_WalkSequence_Step0,
MovementType_WalkSequenceDownRightLeftUp_Step1,
MovementType_WalkSequence_Step2,
};
const u8 gUnknown_0850D994[] = {DIR_SOUTH, DIR_EAST, DIR_WEST, DIR_NORTH};
const u8 gDownRightLeftUpDirections[] = {DIR_SOUTH, DIR_EAST, DIR_WEST, DIR_NORTH};
u8 (*const gUnknown_0850D998[])(struct EventObject *, struct Sprite *) = {
sub_8091048,
sub_809180C,
sub_8091110,
u8 (*const gMovementTypeFuncs_WalkSequenceRightUpDownLeft[])(struct EventObject *, struct Sprite *) = {
MovementType_WalkSequence_Step0,
MovementType_WalkSequenceRightUpDownLeft_Step1,
MovementType_WalkSequence_Step2,
};
const u8 gUnknown_0850D9A4[] = {DIR_EAST, DIR_NORTH, DIR_SOUTH, DIR_WEST};
const u8 gRightUpDownLeftDirections[] = {DIR_EAST, DIR_NORTH, DIR_SOUTH, DIR_WEST};
u8 (*const gUnknown_0850D9A8[])(struct EventObject *, struct Sprite *) = {
sub_8091048,
sub_8091898,
sub_8091110,
u8 (*const gMovementTypeFuncs_WalkSequenceUpDownLeftRight[])(struct EventObject *, struct Sprite *) = {
MovementType_WalkSequence_Step0,
MovementType_WalkSequenceUpDownLeftRight_Step1,
MovementType_WalkSequence_Step2,
};
const u8 gUnknown_0850D9B4[] = {DIR_NORTH, DIR_SOUTH, DIR_WEST, DIR_EAST};
const u8 gUpDownLeftRightDirections[] = {DIR_NORTH, DIR_SOUTH, DIR_WEST, DIR_EAST};
u8 (*const gUnknown_0850D9B8[])(struct EventObject *, struct Sprite *) = {
sub_8091048,
sub_8091924,
sub_8091110,
u8 (*const gMovementTypeFuncs_WalkSequenceLeftRightUpDown[])(struct EventObject *, struct Sprite *) = {
MovementType_WalkSequence_Step0,
MovementType_WalkSequenceLeftRightUpDown_Step1,
MovementType_WalkSequence_Step2,
};
const u8 gUnknown_0850D9C4[] = {DIR_WEST, DIR_EAST, DIR_NORTH, DIR_SOUTH};
const u8 gLeftRightUpDownDirections[] = {DIR_WEST, DIR_EAST, DIR_NORTH, DIR_SOUTH};
u8 (*const gUnknown_0850D9C8[])(struct EventObject *, struct Sprite *) = {
sub_8091048,
sub_80919B0,
sub_8091110,
u8 (*const gMovementTypeFuncs_WalkSequenceDownLeftRightUp[])(struct EventObject *, struct Sprite *) = {
MovementType_WalkSequence_Step0,
MovementType_WalkSequenceDownLeftRightUp_Step1,
MovementType_WalkSequence_Step2,
};
const u8 gUnknown_0850D9D4[] = {DIR_SOUTH, DIR_WEST, DIR_EAST, DIR_NORTH};
const u8 gDownLeftRightUpDirections[] = {DIR_SOUTH, DIR_WEST, DIR_EAST, DIR_NORTH};
u8 (*const gUnknown_0850D9D8[])(struct EventObject *, struct Sprite *) = {
sub_8091048,
sub_8091A3C,
sub_8091110,
u8 (*const gMovementTypeFuncs_WalkSequenceUpLeftDownRight[])(struct EventObject *, struct Sprite *) = {
MovementType_WalkSequence_Step0,
MovementType_WalkSequenceUpLeftDownRight_Step1,
MovementType_WalkSequence_Step2,
};
const u8 gUnknown_0850D9E4[] = {DIR_NORTH, DIR_WEST, DIR_SOUTH, DIR_EAST};
const u8 gUpLeftDownRightDirections[] = {DIR_NORTH, DIR_WEST, DIR_SOUTH, DIR_EAST};
u8 (*const gUnknown_0850D9E8[])(struct EventObject *, struct Sprite *) = {
sub_8091048,
sub_8091AC8,
sub_8091110,
u8 (*const gMovementTypeFuncs_WalkSequenceDownRightUpLeft[])(struct EventObject *, struct Sprite *) = {
MovementType_WalkSequence_Step0,
MovementType_WalkSequenceDownRightUpLeft_Step1,
MovementType_WalkSequence_Step2,
};
const u8 gUnknown_0850D9F4[] = {DIR_SOUTH, DIR_EAST, DIR_NORTH, DIR_WEST};
const u8 gDownRightUpLeftDirections[] = {DIR_SOUTH, DIR_EAST, DIR_NORTH, DIR_WEST};
u8 (*const gUnknown_0850D9F8[])(struct EventObject *, struct Sprite *) = {
sub_8091048,
sub_8091B54,
sub_8091110,
u8 (*const gMovementTypeFuncs_WalkSequenceLeftDownRightUp[])(struct EventObject *, struct Sprite *) = {
MovementType_WalkSequence_Step0,
MovementType_WalkSequenceLeftDownRightUp_Step1,
MovementType_WalkSequence_Step2,
};
const u8 gUnknown_0850DA04[] = {DIR_WEST, DIR_SOUTH, DIR_EAST, DIR_NORTH};
const u8 gLeftDownRightUpDirections[] = {DIR_WEST, DIR_SOUTH, DIR_EAST, DIR_NORTH};
u8 (*const gUnknown_0850DA08[])(struct EventObject *, struct Sprite *) = {
sub_8091048,
sub_8091BE0,
sub_8091110,
u8 (*const gMovementTypeFuncs_WalkSequenceRightUpLeftDown[])(struct EventObject *, struct Sprite *) = {
MovementType_WalkSequence_Step0,
MovementType_WalkSequenceRightUpLeftDown_Step1,
MovementType_WalkSequence_Step2,
};
const u8 gUnknown_0850DA14[] = {DIR_EAST, DIR_NORTH, DIR_WEST, DIR_SOUTH};
const u8 gRightUpLeftDownDirections[] = {DIR_EAST, DIR_NORTH, DIR_WEST, DIR_SOUTH};
u8 (*const gUnknown_0850DA18[])(struct EventObject *, struct Sprite *) = {
sub_8091048,
sub_8091C6C,
sub_8091110,
u8 (*const gMovementTypeFuncs_WalkSequenceUpRightDownLeft[])(struct EventObject *, struct Sprite *) = {
MovementType_WalkSequence_Step0,
MovementType_WalkSequenceUpRightDownLeft_Step1,
MovementType_WalkSequence_Step2,
};
const u8 gUnknown_0850DA24[] = {DIR_NORTH, DIR_EAST, DIR_SOUTH, DIR_WEST};
const u8 gUpRightDownLeftDirections[] = {DIR_NORTH, DIR_EAST, DIR_SOUTH, DIR_WEST};
u8 (*const gUnknown_0850DA28[])(struct EventObject *, struct Sprite *) = {
sub_8091048,
sub_8091CF8,
sub_8091110,
u8 (*const gMovementTypeFuncs_WalkSequenceDownLeftUpRight[])(struct EventObject *, struct Sprite *) = {
MovementType_WalkSequence_Step0,
MovementType_WalkSequenceDownLeftUpRight_Step1,
MovementType_WalkSequence_Step2,
};
const u8 gUnknown_0850DA34[] = {DIR_SOUTH, DIR_WEST, DIR_NORTH, DIR_EAST};
const u8 gDownLeftUpRightDirections[] = {DIR_SOUTH, DIR_WEST, DIR_NORTH, DIR_EAST};
u8 (*const gUnknown_0850DA38[])(struct EventObject *, struct Sprite *) = {
sub_8091048,
sub_8091D84,
sub_8091110,
u8 (*const gMovementTypeFuncs_WalkSequenceLeftUpRightDown[])(struct EventObject *, struct Sprite *) = {
MovementType_WalkSequence_Step0,
MovementType_WalkSequenceLeftUpRightDown_Step1,
MovementType_WalkSequence_Step2,
};
const u8 gUnknown_0850DA44[] = {DIR_WEST, DIR_NORTH, DIR_EAST, DIR_SOUTH};
const u8 gLeftUpRightDownDirections[] = {DIR_WEST, DIR_NORTH, DIR_EAST, DIR_SOUTH};
u8 (*const gUnknown_0850DA48[])(struct EventObject *, struct Sprite *) = {
sub_8091048,
sub_8091E10,
sub_8091110,
u8 (*const gMovementTypeFuncs_WalkSequenceRightDownLeftUp[])(struct EventObject *, struct Sprite *) = {
MovementType_WalkSequence_Step0,
MovementType_WalkSequenceRightDownLeftUp_Step1,
MovementType_WalkSequence_Step2,
};
const u8 gUnknown_0850DA54[] = {DIR_EAST, DIR_SOUTH, DIR_WEST, DIR_NORTH};
const u8 gRightDownLeftUpDirections[] = {DIR_EAST, DIR_SOUTH, DIR_WEST, DIR_NORTH};
u8 (*const gUnknown_0850DA58[])(struct EventObject *, struct Sprite *) = {
mss_npc_reset_oampriv3_1_unk2_unk3,
sub_8091EC0,
sub_8091F20,
u8 (*const gMovementTypeFuncs_CopyPlayer[])(struct EventObject *, struct Sprite *) = {
MovementType_CopyPlayer_Step0,
MovementType_CopyPlayer_Step1,
MovementType_CopyPlayer_Step2,
};
bool8 (*const gUnknown_0850DA64[])(struct EventObject *, struct Sprite *, u8, bool8(u8)) = {
sub_8091F48,
sub_8091F4C,
sub_8091F94,
sub_80920A4,
sub_809215C,
sub_8092214,
bool8 (*const gCopyPlayerMovementFuncs[])(struct EventObject *, struct Sprite *, u8, bool8(u8)) = {
CopyablePlayerMovement_None,
CopyablePlayerMovement_FaceDirection,
CopyablePlayerMovement_GoSpeed0,
CopyablePlayerMovement_GoSpeed1,
CopyablePlayerMovement_GoSpeed2,
CopyablePlayerMovement_Slide,
cph_IM_DIFFERENT,
sub_8092314,
oac_hopping,
sub_8091F48,
sub_8091F48,
CopyablePlayerMovement_GoSpeed4,
CopyablePlayerMovement_Jump,
CopyablePlayerMovement_None,
CopyablePlayerMovement_None,
};
u8 (*const gUnknown_0850DA90[])(struct EventObject *, struct Sprite *) = {
mss_npc_reset_oampriv3_1_unk2_unk3,
mss_08062EA4,
sub_8091F20,
u8 (*const gMovementTypeFuncs_CopyPlayerInGrass[])(struct EventObject *, struct Sprite *) = {
MovementType_CopyPlayer_Step0,
MovementType_CopyPlayerInGrass_Step1,
MovementType_CopyPlayer_Step2,
};
u8 (*const gUnknown_0850DA9C[])(struct EventObject *, struct Sprite *) = {
sub_80926AC,
u8 (*const gMovementTypeFuncs_Hidden[])(struct EventObject *, struct Sprite *) = {
MovementType_Hidden_Step0,
};
u8 (*const gUnknown_0850DAA0[])(struct EventObject *, struct Sprite *) = {
sub_8092718,
sub_80926B8,
u8 (*const gMovementTypeFuncs_WalkInPlace[])(struct EventObject *, struct Sprite *) = {
MovementType_WalkInPlace_Step0,
MovementType_MoveInPlace_Step1,
};
u8 (*const gUnknown_0850DAA8[])(struct EventObject *, struct Sprite *) = {
sub_8092788,
sub_80926B8,
u8 (*const gMovementTypeFuncs_WalkSlowlyInPlace[])(struct EventObject *, struct Sprite *) = {
MovementType_WalkSlowlyInPlace_Step0,
MovementType_MoveInPlace_Step1,
};
u8 (*const gUnknown_0850DAB0[])(struct EventObject *, struct Sprite *) = {
sub_80927F8,
sub_80926B8,
u8 (*const gMovementTypeFuncs_JogInPlace[])(struct EventObject *, struct Sprite *) = {
MovementType_JogInPlace_Step0,
MovementType_MoveInPlace_Step1,
};
u8 (*const gUnknown_0850DAB8[])(struct EventObject *, struct Sprite *) = {
sub_8092868,
sub_80926B8,
u8 (*const gMovementTypeFuncs_RunInPlace[])(struct EventObject *, struct Sprite *) = {
MovementType_RunInPlace_Step0,
MovementType_MoveInPlace_Step1,
};
u8 (*const gUnknown_0850DAC0[])(struct EventObject *, struct Sprite *) = {
sub_80928D8,
sub_809290C,
sub_809292C,
u8 (*const gMovementTypeFuncs_Invisible[])(struct EventObject *, struct Sprite *) = {
MovementType_Invisible_Step0,
MovementType_Invisible_Step1,
MovementType_Invisible_Step2,
};
#endif //GUARD_MOVEMENT_TYPE_FUNC_TABLES_H

View File

@@ -2247,7 +2247,7 @@ bool8 sub_81299AC(u8 taskId)
void SetUpPuttingAwayDecorationPlayerAvatar(void)
{
player_get_direction_lower_nybble();
GetPlayerFacingDirection();
sDecor_CameraSpriteObjectIdx1 = gSprites[gUnknown_03005DD0.spriteId].data[0];
sub_812A39C();
gUnknown_03005DD0.spriteId = CreateSprite(&gUnknown_085A7404, 0x78, 0x50, 0);

View File

@@ -90,7 +90,7 @@ void LockSelectedEventObject(void)
void sub_80984F4(void)
{
u8 objectId = GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0);
EventObjectClearAnimIfSpecialAnimFinished(&gEventObjects[objectId]);
EventObjectClearHeldMovementIfFinished(&gEventObjects[objectId]);
sub_80D338C();
UnfreezeEventObjects();
}
@@ -100,9 +100,9 @@ void sub_8098524(void)
u8 objectId;
if (gEventObjects[gSelectedEventObject].active)
EventObjectClearAnimIfSpecialAnimFinished(&gEventObjects[gSelectedEventObject]);
EventObjectClearHeldMovementIfFinished(&gEventObjects[gSelectedEventObject]);
objectId = GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0);
EventObjectClearAnimIfSpecialAnimFinished(&gEventObjects[objectId]);
EventObjectClearHeldMovementIfFinished(&gEventObjects[objectId]);
sub_80D338C();
UnfreezeEventObjects();
}
@@ -114,7 +114,7 @@ void sub_8098574(void)
void sub_809859C(void)
{
EventObjectClearAnimIfSpecialAnimActive(&gEventObjects[gSelectedEventObject]);
EventObjectClearHeldMovementIfActive(&gEventObjects[gSelectedEventObject]);
}
static void sub_80985BC(u8 taskId)

File diff suppressed because it is too large Load Diff

View File

@@ -477,7 +477,7 @@ static void CameraPanningCB_PanAhead(void)
gUnknown_03000E2C = 0;
}
var = player_get_direction_upper_nybble();
var = GetPlayerMovementDirection();
if (var == 2)
{
if (gUnknown_03000E2A > -8)

View File

@@ -1246,7 +1246,7 @@ bool8 sub_80B6BCC(struct Task *task) // gUnknown_0855C3C8[0]
CameraObjectReset2();
gEventObjects[gPlayerAvatar.eventObjectId].invisible = 1;
gPlayerAvatar.preventStep = TRUE;
EventObjectSetSpecialAnim(playerObject, GetFaceDirectionAnimId(player_get_direction_lower_nybble()));
EventObjectSetHeldMovement(playerObject, GetFaceDirectionMovementAction(GetPlayerFacingDirection()));
task->data[4] = playerSprite->subspriteMode;
playerObject->fixedPriority = 1;
playerSprite->oam.priority = 1;
@@ -1393,9 +1393,9 @@ bool8 sub_80B6EE0(struct Task *task)
{
struct EventObject *eventObject;
eventObject = &gEventObjects[gPlayerAvatar.eventObjectId];
if (!EventObjectIsSpecialAnimOrDirectionSequenceAnimActive(eventObject) || EventObjectClearAnimIfSpecialAnimFinished(eventObject))
if (!EventObjectIsMovementOverridden(eventObject) || EventObjectClearHeldMovementIfFinished(eventObject))
{
EventObjectSetSpecialAnim(eventObject, GetFaceDirectionAnimId(player_get_direction_lower_nybble()));
EventObjectSetHeldMovement(eventObject, GetFaceDirectionMovementAction(GetPlayerFacingDirection()));
task->data[0]++;
task->data[2] = 0;
task->data[3] = 0;
@@ -1512,7 +1512,7 @@ bool8 sub_80B7114(struct Task *task)
u8 behavior;
CameraObjectReset2();
eventObject = &gEventObjects[gPlayerAvatar.eventObjectId];
EventObjectSetSpecialAnim(eventObject, GetFaceDirectionAnimId(DIR_EAST));
EventObjectSetHeldMovement(eventObject, GetFaceDirectionMovementAction(DIR_EAST));
PlayerGetDestCoords(&x, &y);
behavior = MapGridGetMetatileBehaviorAt(x, y);
task->data[0]++;
@@ -1606,11 +1606,11 @@ bool8 sub_80B72F4(struct Task *task)
{
struct EventObject *eventObject;
eventObject = &gEventObjects[gPlayerAvatar.eventObjectId];
if (EventObjectClearAnimIfSpecialAnimFinished(eventObject))
if (EventObjectClearHeldMovementIfFinished(eventObject))
{
CameraObjectReset1();
ScriptContext2_Disable();
EventObjectSetSpecialAnim(eventObject, GetGoSpeed0AnimId(DIR_EAST));
EventObjectSetHeldMovement(eventObject, GetWalkNormalMovementAction(DIR_EAST));
DestroyTask(FindTaskIdByFunc(sub_80B70DC));
}
return FALSE;
@@ -1643,9 +1643,9 @@ bool8 sub_80B73D0(struct Task *task, struct EventObject *eventObject)
bool8 waterfall_1_do_anim_probably(struct Task *task, struct EventObject *eventObject)
{
ScriptContext2_Enable();
if (!EventObjectIsSpecialAnimOrDirectionSequenceAnimActive(eventObject))
if (!EventObjectIsMovementOverridden(eventObject))
{
EventObjectClearAnimIfSpecialAnimFinished(eventObject);
EventObjectClearHeldMovementIfFinished(eventObject);
gFieldEffectArguments[0] = task->data[1];
FieldEffectStart(FLDEFF_FIELD_MOVE_SHOW_MON_INIT);
task->data[0]++;
@@ -1665,14 +1665,14 @@ bool8 waterfall_2_wait_anim_finish_probably(struct Task *task, struct EventObjec
bool8 sub_80B7450(struct Task *task, struct EventObject *eventObject)
{
EventObjectSetSpecialAnim(eventObject, GetSimpleGoAnimId(DIR_NORTH));
EventObjectSetHeldMovement(eventObject, GetWalkSlowMovementAction(DIR_NORTH));
task->data[0]++;
return FALSE;
}
bool8 sub_80B7478(struct Task *task, struct EventObject *eventObject)
{
if (!EventObjectClearAnimIfSpecialAnimFinished(eventObject))
if (!EventObjectClearHeldMovementIfFinished(eventObject))
{
return FALSE;
}
@@ -1899,14 +1899,14 @@ bool8 sub_80B7968(struct Task *task, struct EventObject *eventObject, struct Spr
eventObject->invisible = 0;
CameraObjectReset1();
PlaySE(SE_W091);
EventObjectSetSpecialAnim(eventObject, sub_8093514(DIR_EAST));
EventObjectSetHeldMovement(eventObject, GetJumpMovementAction(DIR_EAST));
}
return FALSE;
}
bool8 sub_80B79BC(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite)
{
if (EventObjectClearAnimIfSpecialAnimFinished(eventObject))
if (EventObjectClearHeldMovementIfFinished(eventObject))
{
gPlayerAvatar.preventStep = FALSE;
ScriptContext2_Disable();
@@ -1960,7 +1960,7 @@ bool8 sub_80B7AE8(struct Task *task, struct EventObject *eventObject, struct Spr
bool8 sub_80B7B18(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite)
{
if (EventObjectClearAnimIfSpecialAnimFinished(eventObject))
if (EventObjectClearHeldMovementIfFinished(eventObject))
{
if (task->data[1] > 3)
{
@@ -1973,7 +1973,7 @@ bool8 sub_80B7B18(struct Task *task, struct EventObject *eventObject, struct Spr
} else
{
task->data[1]++;
EventObjectSetSpecialAnim(eventObject, GetStepInPlaceDelay4AnimId(eventObject->facingDirection));
EventObjectSetHeldMovement(eventObject, GetWalkInPlaceFastestMovementAction(eventObject->facingDirection));
PlaySE(SE_FU_ZUZUZU);
}
}
@@ -2050,7 +2050,7 @@ void sub_80B7D14(struct Task *task)
{
task->data[0]++;
task->data[14] = 64;
task->data[15] = player_get_direction_lower_nybble();
task->data[15] = GetPlayerFacingDirection();
}
void sub_80B7D34(struct Task *task)
@@ -2063,11 +2063,11 @@ void sub_80B7D34(struct Task *task)
sub_80AF0B4();
}
eventObject = &gEventObjects[gPlayerAvatar.eventObjectId];
if (!EventObjectIsSpecialAnimOrDirectionSequenceAnimActive(eventObject) || EventObjectClearAnimIfSpecialAnimFinished(eventObject))
if (!EventObjectIsMovementOverridden(eventObject) || EventObjectClearHeldMovementIfFinished(eventObject))
{
if (task->data[14] == 0 && !gPaletteFade.active && sub_80859A0() == TRUE)
{
EventObjectSetDirection(eventObject, task->data[15]);
SetEventObjectDirection(eventObject, task->data[15]);
sub_8084E14();
warp_in();
gFieldCallback = mapldr_080859D4;
@@ -2075,7 +2075,7 @@ void sub_80B7D34(struct Task *task)
DestroyTask(FindTaskIdByFunc(sub_80B7CE4));
} else if (task->data[1] == 0 || (--task->data[1]) == 0)
{
EventObjectSetSpecialAnim(eventObject, GetFaceDirectionAnimId(spinDirections[eventObject->facingDirection]));
EventObjectSetHeldMovement(eventObject, GetFaceDirectionMovementAction(spinDirections[eventObject->facingDirection]));
if (task->data[2] < 12)
{
task->data[2]++;
@@ -2113,7 +2113,7 @@ void sub_80B7EC4(struct Task *task)
if (IsWeatherNotFadingIn())
{
task->data[0]++;
task->data[15] = player_get_direction_lower_nybble();
task->data[15] = GetPlayerFacingDirection();
}
}
@@ -2123,11 +2123,11 @@ void sub_80B7EE8(struct Task *task)
struct EventObject *eventObject = &gEventObjects[gPlayerAvatar.eventObjectId];
if (task->data[1] == 0 || (--task->data[1]) == 0)
{
if (EventObjectIsSpecialAnimOrDirectionSequenceAnimActive(eventObject) && !EventObjectClearAnimIfSpecialAnimFinished(eventObject))
if (EventObjectIsMovementOverridden(eventObject) && !EventObjectClearHeldMovementIfFinished(eventObject))
{
return;
}
if (task->data[2] >= 32 && task->data[15] == player_get_direction_lower_nybble())
if (task->data[2] >= 32 && task->data[15] == GetPlayerFacingDirection())
{
eventObject->invisible = 0;
ScriptContext2_Disable();
@@ -2135,7 +2135,7 @@ void sub_80B7EE8(struct Task *task)
DestroyTask(FindTaskIdByFunc(sub_80B7E94));
return;
}
EventObjectSetSpecialAnim(eventObject, GetFaceDirectionAnimId(spinDirections[eventObject->facingDirection]));
EventObjectSetHeldMovement(eventObject, GetFaceDirectionMovementAction(spinDirections[eventObject->facingDirection]));
if (task->data[2] < 32)
{
task->data[2]++;
@@ -2174,7 +2174,7 @@ static void TeleportFieldEffectTask1(struct Task *task)
ScriptContext2_Enable();
FreezeEventObjects();
CameraObjectReset2();
task->data[15] = player_get_direction_lower_nybble();
task->data[15] = GetPlayerFacingDirection();
task->data[0]++;
}
@@ -2286,7 +2286,7 @@ void sub_80B8280(struct Task *task)
task->data[1] = 8;
task->data[2] = 1;
task->data[14] = sprite->subspriteMode;
task->data[15] = player_get_direction_lower_nybble();
task->data[15] = GetPlayerFacingDirection();
PlaySE(SE_TK_WARPIN);
}
}
@@ -2904,10 +2904,10 @@ void sub_80B8E14(struct Task *task)
{
struct EventObject *eventObject;
eventObject = &gEventObjects[gPlayerAvatar.eventObjectId];
if (!EventObjectIsSpecialAnimOrDirectionSequenceAnimActive(eventObject) || EventObjectClearAnimIfSpecialAnimFinished(eventObject))
if (!EventObjectIsMovementOverridden(eventObject) || EventObjectClearHeldMovementIfFinished(eventObject))
{
sub_808C114();
EventObjectSetSpecialAnim(eventObject, 0x39);
EventObjectSetHeldMovement(eventObject, 0x39);
task->data[0]++;
}
}
@@ -2916,7 +2916,7 @@ void sub_80B8E60(struct Task *task)
{
struct EventObject *eventObject;
eventObject = &gEventObjects[gPlayerAvatar.eventObjectId];
if (EventObjectCheckIfSpecialAnimFinishedOrInactive(eventObject))
if (EventObjectCheckHeldMovementStatus(eventObject))
{
gFieldEffectArguments[0] = task->data[15] | 0x80000000;
FieldEffectStart(FLDEFF_FIELD_MOVE_SHOW_MON_INIT);
@@ -2931,8 +2931,8 @@ void sub_80B8EA8(struct Task *task)
{
eventObject = &gEventObjects[gPlayerAvatar.eventObjectId];
EventObjectSetGraphicsId(eventObject, GetPlayerAvatarGraphicsIdByStateId(3));
EventObjectClearAnimIfSpecialAnimFinished(eventObject);
EventObjectSetSpecialAnim(eventObject, sub_8093540(eventObject->movementDirection));
EventObjectClearHeldMovementIfFinished(eventObject);
EventObjectSetHeldMovement(eventObject, GetJumpSpecialMovementAction(eventObject->movementDirection));
gFieldEffectArguments[0] = task->data[1];
gFieldEffectArguments[1] = task->data[2];
gFieldEffectArguments[2] = gPlayerAvatar.eventObjectId;
@@ -2945,11 +2945,11 @@ void sub_80B8F24(struct Task *task)
{
struct EventObject *eventObject;
eventObject = &gEventObjects[gPlayerAvatar.eventObjectId];
if (EventObjectClearAnimIfSpecialAnimFinished(eventObject))
if (EventObjectClearHeldMovementIfFinished(eventObject))
{
gPlayerAvatar.preventStep = FALSE;
gPlayerAvatar.flags &= 0xdf;
EventObjectSetSpecialAnim(eventObject, GetFaceDirectionAnimId(eventObject->movementDirection));
EventObjectSetHeldMovement(eventObject, GetFaceDirectionMovementAction(eventObject->movementDirection));
sub_81555AC(eventObject->fieldEffectSpriteId, 1);
UnfreezeEventObjects();
ScriptContext2_Disable();
@@ -3206,13 +3206,13 @@ void sub_80B9204(struct Task *task)
{
struct EventObject *eventObject;
eventObject = &gEventObjects[gPlayerAvatar.eventObjectId];
if (!EventObjectIsSpecialAnimOrDirectionSequenceAnimActive(eventObject) || EventObjectClearAnimIfSpecialAnimFinished(eventObject))
if (!EventObjectIsMovementOverridden(eventObject) || EventObjectClearHeldMovementIfFinished(eventObject))
{
task->data[15] = gPlayerAvatar.flags;
gPlayerAvatar.preventStep = TRUE;
SetPlayerAvatarStateMask(1);
sub_808C114();
EventObjectSetSpecialAnim(eventObject, 0x39);
EventObjectSetHeldMovement(eventObject, 0x39);
task->data[0]++;
}
}
@@ -3221,7 +3221,7 @@ void sub_80B925C(struct Task *task)
{
struct EventObject *eventObject;
eventObject = &gEventObjects[gPlayerAvatar.eventObjectId];
if (EventObjectClearAnimIfSpecialAnimFinished(eventObject))
if (EventObjectClearHeldMovementIfFinished(eventObject))
{
task->data[0]++;
gFieldEffectArguments[0] = task->data[1];
@@ -3252,7 +3252,7 @@ void sub_80B92F8(struct Task *task)
task->data[0]++;
task->data[2] = 16;
SetPlayerAvatarTransitionFlags(PLAYER_AVATAR_FLAG_ON_FOOT);
EventObjectSetSpecialAnim(&gEventObjects[gPlayerAvatar.eventObjectId], 0x02);
EventObjectSetHeldMovement(&gEventObjects[gPlayerAvatar.eventObjectId], 0x02);
}
}
@@ -3260,7 +3260,7 @@ void sub_80B933C(struct Task *task)
{
struct EventObject *eventObject;
eventObject = &gEventObjects[gPlayerAvatar.eventObjectId];
if ((task->data[2] == 0 || (--task->data[2]) == 0) && EventObjectClearAnimIfSpecialAnimFinished(eventObject))
if ((task->data[2] == 0 || (--task->data[2]) == 0) && EventObjectClearHeldMovementIfFinished(eventObject))
{
task->data[0]++;
PlaySE(SE_W019);
@@ -3277,7 +3277,7 @@ void sub_80B9390(struct Task *task)
EventObjectSetGraphicsId(eventObject, GetPlayerAvatarGraphicsIdByStateId(0x03));
StartSpriteAnim(&gSprites[eventObject->spriteId], 0x16);
eventObject->inanimate = 1;
EventObjectSetSpecialAnim(eventObject, 0x48);
EventObjectSetHeldMovement(eventObject, 0x48);
if (task->data[15] & 0x08)
{
DestroySprite(&gSprites[eventObject->fieldEffectSpriteId]);
@@ -3293,7 +3293,7 @@ void sub_80B9418(struct Task *task)
if ((++task->data[2]) >= 10)
{
eventObject = &gEventObjects[gPlayerAvatar.eventObjectId];
EventObjectClearAnimIfSpecialAnimActive(eventObject);
EventObjectClearHeldMovementIfActive(eventObject);
eventObject->inanimate = 0;
eventObject->hasShadow = 0;
sub_80B9560(task->data[1], eventObject->spriteId);
@@ -3503,7 +3503,7 @@ void sub_80B9804(struct Task *task)
{
struct EventObject *eventObject;
eventObject = &gEventObjects[gPlayerAvatar.eventObjectId];
if (!EventObjectIsSpecialAnimOrDirectionSequenceAnimActive(eventObject) || EventObjectClearAnimIfSpecialAnimFinished(eventObject))
if (!EventObjectIsMovementOverridden(eventObject) || EventObjectClearHeldMovementIfFinished(eventObject))
{
task->data[0]++;
task->data[2] = 17;
@@ -3587,14 +3587,14 @@ void sub_80B9978(struct Task *task)
sprite->pos2.y = 0;
sprite->coordOffsetEnabled = 1;
sub_808C114();
EventObjectSetSpecialAnim(eventObject, 0x39);
EventObjectSetHeldMovement(eventObject, 0x39);
task->data[0]++;
}
}
void sub_80B99F0(struct Task *task)
{
if (EventObjectClearAnimIfSpecialAnimFinished(&gEventObjects[gPlayerAvatar.eventObjectId]))
if (EventObjectClearHeldMovementIfFinished(&gEventObjects[gPlayerAvatar.eventObjectId]))
{
task->data[0]++;
sub_80B9794(task->data[1]);
@@ -3848,7 +3848,7 @@ bool8 sub_80B9E28(struct Sprite* sprite)
yPos = object->currentCoords.y - 7;
xPos = (gFieldEffectArguments[3] - xPos) * 16;
yPos = (gFieldEffectArguments[4] - yPos) * 16;
npc_coords_shift(object, gFieldEffectArguments[3] + 7, gFieldEffectArguments[4] + 7);
ShiftEventObjectCoords(object, gFieldEffectArguments[3] + 7, gFieldEffectArguments[4] + 7);
taskId = CreateTask(sub_80B9EDC, 0x50);
gTasks[taskId].data[1] = object->spriteId;
gTasks[taskId].data[2] = gSprites[object->spriteId].pos1.x + xPos;
@@ -3886,7 +3886,7 @@ void sub_80B9EDC(u8 taskId)
struct EventObject *object = &gEventObjects[data[9]];
sprite->pos1.x = data[2];
sprite->pos1.y = data[3];
npc_coords_shift_still(object);
ShiftStillEventObjectCoords(object);
object->triggerGroundEffectsOnStop = TRUE;
FieldEffectActiveListRemove(0x42);
DestroyTask(taskId);

View File

@@ -335,11 +335,11 @@ void sub_80FB6EC(void)
if (VarGet(0x40B4) == 2)
{
StartSpriteAnim(&gSprites[spriteId], EventObjectDirectionToImageAnimId(4));
StartSpriteAnim(&gSprites[spriteId], GetFaceDirectionAnimNum(4));
}
else
{
StartSpriteAnim(&gSprites[spriteId], EventObjectDirectionToImageAnimId(3));
StartSpriteAnim(&gSprites[spriteId], GetFaceDirectionAnimNum(3));
}
}

View File

@@ -337,7 +337,7 @@ void sub_80FD504(u8 taskId)
}
else
{
playerDir = player_get_direction_lower_nybble();
playerDir = GetPlayerFacingDirection();
for (i = 0; i < 4; i++)
{
if (playerDir == gUnknown_085920E4[i])
@@ -579,15 +579,15 @@ u8 sub_80FD9B0(s16 itemX, s16 itemY)
void sub_80FDA24(u8 direction)
{
EventObjectClearAnimIfSpecialAnimFinished(&gEventObjects[GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0)]);
EventObjectClearAnim(&gEventObjects[GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0)]);
npc_sync_anim_pause_bits(&gEventObjects[GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0)]);
EventObjectClearHeldMovementIfFinished(&gEventObjects[GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0)]);
EventObjectClearHeldMovement(&gEventObjects[GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0)]);
UnfreezeEventObject(&gEventObjects[GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0)]);
PlayerTurnInPlace(direction);
}
void sub_80FDA94(u8 taskId)
{
if (EventObjectCheckIfSpecialAnimFinishedOrInactive(&gEventObjects[GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0)]) == TRUE)
if (EventObjectCheckHeldMovementStatus(&gEventObjects[GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0)]) == TRUE)
DisplayItemMessageOnField(taskId, gText_ItemFinderNearby, sub_80FD5CC);
}
@@ -595,7 +595,7 @@ void sub_80FDADC(u8 taskId)
{
s16 *data = gTasks[taskId].data;
if (EventObjectCheckIfSpecialAnimFinishedOrInactive(&gEventObjects[GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0)]) == TRUE
if (EventObjectCheckHeldMovementStatus(&gEventObjects[GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0)]) == TRUE
|| data[2] == FALSE)
{
sub_80FDA24(gUnknown_085920E4[data[5]]);

View File

@@ -169,7 +169,7 @@ extern const u8* sub_809C2C8(struct MapPosition *a1, u8, u8);
extern u8 *sub_809D0F4(void*);
extern u8 sub_808BD6C(u8);
extern u8 sub_808BD7C(u8);
extern void sub_80979D4(struct Sprite*, u8);
extern void UpdateEventObjectSpriteVisibility(struct Sprite*, u8);
// this file's functions
static void Overworld_ResetStateAfterWhiteOut(void);
@@ -912,7 +912,7 @@ void player_avatar_init_params_reset(void)
void walkrun_find_lowest_active_bit_in_bitfield(void)
{
sUnknown_02032300.player_field_1 = player_get_direction_lower_nybble();
sUnknown_02032300.player_field_1 = GetPlayerFacingDirection();
if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_MACH_BIKE))
sUnknown_02032300.player_field_0 = 2;
@@ -2170,7 +2170,7 @@ static void sub_80869DC(void)
gUnknown_03005DEC = 0;
gUnknown_03005DE8 = 0;
sub_808D438();
SpawnEventObjectsInView(0, 0);
TrySpawnEventObjects(0, 0);
mapheader_run_first_tag4_script_list_match();
}
@@ -2187,7 +2187,7 @@ static void mli4_mapscripts_and_other(void)
InitPlayerAvatar(x, y, player->player_field_1, gSaveBlock2Ptr->playerGender);
SetPlayerAvatarTransitionFlags(player->player_field_0);
player_avatar_init_params_reset();
SpawnEventObjectsInView(0, 0);
TrySpawnEventObjects(0, 0);
mapheader_run_first_tag4_script_list_match();
}
@@ -2894,7 +2894,7 @@ static void ZeroLinkPlayerEventObject(struct LinkPlayerEventObject *linkPlayerEv
memset(linkPlayerEventObj, 0, sizeof(struct LinkPlayerEventObject));
}
void ZeroAllLinkPlayerEventObjects(void)
void ClearLinkPlayerEventObjects(void)
{
memset(gLinkPlayerEventObjects, 0, sizeof(gLinkPlayerEventObjects));
}
@@ -2906,7 +2906,7 @@ static void ZeroEventObject(struct EventObject *eventObj)
static void SpawnLinkPlayerEventObject(u8 linkPlayerId, s16 x, s16 y, u8 a4)
{
u8 eventObjId = sub_808D4F4();
u8 eventObjId = GetFirstInactiveEventObjectId();
struct LinkPlayerEventObject *linkPlayerEventObj = &gLinkPlayerEventObjects[linkPlayerId];
struct EventObject *eventObj = &gEventObjects[eventObjId];
@@ -3059,7 +3059,7 @@ static u8 sub_8087A20(struct LinkPlayerEventObject *linkPlayerEventObj, struct E
else
{
eventObj->directionSequenceIndex = 16;
npc_coords_shift(eventObj, x, y);
ShiftEventObjectCoords(eventObj, x, y);
EventObjectUpdateZCoord(eventObj);
return 1;
}
@@ -3083,7 +3083,7 @@ static void sub_8087AA8(struct LinkPlayerEventObject *linkPlayerEventObj, struct
MoveCoords(eventObj->range.as_byte, &eventObj->initialCoords.x, &eventObj->initialCoords.y);
if (!eventObj->directionSequenceIndex)
{
npc_coords_shift_still(eventObj);
ShiftStillEventObjectCoords(eventObj);
linkPlayerEventObj->mode = 2;
}
}
@@ -3166,11 +3166,11 @@ static void SpriteCB_LinkPlayer(struct Sprite *sprite)
sprite->oam.priority = ZCoordToPriority(eventObj->previousElevation);
if (!linkPlayerEventObj->mode)
StartSpriteAnim(sprite, EventObjectDirectionToImageAnimId(eventObj->range.as_byte));
StartSpriteAnim(sprite, GetFaceDirectionAnimNum(eventObj->range.as_byte));
else
StartSpriteAnimIfDifferent(sprite, get_go_image_anim_num(eventObj->range.as_byte));
StartSpriteAnimIfDifferent(sprite, GetMoveDirectionAnimNum(eventObj->range.as_byte));
sub_80979D4(sprite, 0);
UpdateEventObjectSpriteVisibility(sprite, 0);
if (eventObj->triggerGroundEffectsOnMove)
{
sprite->invisible = ((sprite->data[7] & 4) >> 2);

View File

@@ -61,8 +61,8 @@ static void task08_080C9820(u8 taskId)
ScriptContext2_Enable();
gPlayerAvatar.preventStep = TRUE;
eventObjId = gPlayerAvatar.eventObjectId;
if (!EventObjectIsSpecialAnimOrDirectionSequenceAnimActive(&gEventObjects[eventObjId])
|| EventObjectClearAnimIfSpecialAnimFinished(&gEventObjects[eventObjId]))
if (!EventObjectIsMovementOverridden(&gEventObjects[eventObjId])
|| EventObjectClearHeldMovementIfFinished(&gEventObjects[eventObjId]))
{
if (gMapHeader.mapType == MAP_TYPE_UNDERWATER)
{
@@ -72,7 +72,7 @@ static void task08_080C9820(u8 taskId)
else
{
sub_808C114();
EventObjectSetSpecialAnim(&gEventObjects[eventObjId], 0x39);
EventObjectSetHeldMovement(&gEventObjects[eventObjId], 0x39);
gTasks[taskId].func = sub_813552C;
}
}
@@ -80,7 +80,7 @@ static void task08_080C9820(u8 taskId)
static void sub_813552C(u8 taskId)
{
if (EventObjectCheckIfSpecialAnimFinishedOrInactive(&gEventObjects[gPlayerAvatar.eventObjectId]) == TRUE)
if (EventObjectCheckHeldMovementStatus(&gEventObjects[gPlayerAvatar.eventObjectId]) == TRUE)
{
FieldEffectStart(FLDEFF_FIELD_MOVE_SHOW_MON_INIT);
gTasks[taskId].func = sub_8135578;
@@ -91,7 +91,7 @@ static void sub_8135578(u8 taskId)
{
if (!FieldEffectActiveListContains(6))
{
gFieldEffectArguments[1] = player_get_direction_lower_nybble();
gFieldEffectArguments[1] = GetPlayerFacingDirection();
if (gFieldEffectArguments[1] == 1)
gFieldEffectArguments[2] = 0;
if (gFieldEffectArguments[1] == 2)

View File

@@ -1157,7 +1157,7 @@ bool8 ScrCmd_faceplayer(struct ScriptContext *ctx)
if (gEventObjects[gSelectedEventObject].active)
{
EventObjectFaceOppositeDirection(&gEventObjects[gSelectedEventObject],
player_get_direction_lower_nybble());
GetPlayerFacingDirection());
}
return FALSE;
}
@@ -1244,7 +1244,7 @@ bool8 ScrCmd_releaseall(struct ScriptContext *ctx)
HideFieldMessageBox();
objectId = GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0);
EventObjectClearAnimIfSpecialAnimFinished(&gEventObjects[objectId]);
EventObjectClearHeldMovementIfFinished(&gEventObjects[objectId]);
sub_80D338C();
UnfreezeEventObjects();
return FALSE;
@@ -1256,9 +1256,9 @@ bool8 ScrCmd_release(struct ScriptContext *ctx)
HideFieldMessageBox();
if (gEventObjects[gSelectedEventObject].active)
EventObjectClearAnimIfSpecialAnimFinished(&gEventObjects[gSelectedEventObject]);
EventObjectClearHeldMovementIfFinished(&gEventObjects[gSelectedEventObject]);
objectId = GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0);
EventObjectClearAnimIfSpecialAnimFinished(&gEventObjects[objectId]);
EventObjectClearHeldMovementIfFinished(&gEventObjects[objectId]);
sub_80D338C();
UnfreezeEventObjects();
return FALSE;
@@ -2238,7 +2238,7 @@ bool8 ScrCmd_warpD1(struct ScriptContext *ctx)
u16 y = VarGet(ScriptReadHalfword(ctx));
Overworld_SetWarpDestination(mapGroup, mapNum, warpId, x, y);
sub_808D074(player_get_direction_lower_nybble());
sub_808D074(GetPlayerFacingDirection());
sub_80B0244();
player_avatar_init_params_reset();
return TRUE;

View File

@@ -189,7 +189,7 @@ static void UnfreezeObjects(u8 taskId)
for (i = 0; i < 16; i++, pEventObjId++)
{
if (*pEventObjId != 0xFF)
npc_sync_anim_pause_bits(&gEventObjects[*pEventObjId]);
UnfreezeEventObject(&gEventObjects[*pEventObjId]);
}
}
@@ -210,8 +210,8 @@ static void sub_80A2490(u8 taskId, u8 b, u8 eventObjId, const u8 *d)
{
u8 var;
if (EventObjectIsSpecialAnimActive(&gEventObjects[eventObjId])
&& !EventObjectClearAnimIfSpecialAnimFinished(&gEventObjects[eventObjId]))
if (EventObjectIsHeldMovementActive(&gEventObjects[eventObjId])
&& !EventObjectClearHeldMovementIfFinished(&gEventObjects[eventObjId]))
return;
var = *d;
@@ -222,7 +222,7 @@ static void sub_80A2490(u8 taskId, u8 b, u8 eventObjId, const u8 *d)
}
else
{
if (!EventObjectSetSpecialAnim(&gEventObjects[eventObjId], var))
if (!EventObjectSetHeldMovement(&gEventObjects[eventObjId], var))
{
d++;
npc_obj_offscreen_culling_and_flag_update(b, d);

View File

@@ -362,7 +362,7 @@ static u8 CheckPathBetweenTrainerAndPlayer(struct EventObject *trainerObj, u8 ap
MoveCoords(direction, &x, &y);
for (i = 0; i < approachDistance - 1; i++, MoveCoords(direction, &x, &y))
{
collision = sub_8092C8C(trainerObj, x, y, direction);
collision = GetCollisionFlagsAtCoords(trainerObj, x, y, direction);
if (collision != 0 && (collision & COLLISION_MASK))
return 0;
}
@@ -373,7 +373,7 @@ static u8 CheckPathBetweenTrainerAndPlayer(struct EventObject *trainerObj, u8 ap
trainerObj->range.as_nybbles.x = 0;
trainerObj->range.as_nybbles.y = 0;
collision = npc_block_way(trainerObj, x, y, direction);
collision = GetCollisionAtCoords(trainerObj, x, y, direction);
trainerObj->range.as_nybbles.x = unk19_temp;
trainerObj->range.as_nybbles.y = unk19b_temp;
@@ -439,16 +439,16 @@ static bool8 sub_80B417C(u8 taskId, struct Task *task, struct EventObject *train
u8 direction;
EventObjectGetLocalIdAndMap(trainerObj, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]);
FieldEffectStart(FLDEFF_EXCLAMATION_MARK_ICON_1);
direction = GetFaceDirectionAnimId(trainerObj->facingDirection);
EventObjectSetSpecialAnim(trainerObj, direction);
FieldEffectStart(FLDEFF_EXCLAMATION_MARK_ICON);
direction = GetFaceDirectionMovementAction(trainerObj->facingDirection);
EventObjectSetHeldMovement(trainerObj, direction);
task->tFuncId++;
return TRUE;
}
static bool8 sub_80B41C0(u8 taskId, struct Task *task, struct EventObject *trainerObj)
{
if (FieldEffectActiveListContains(FLDEFF_EXCLAMATION_MARK_ICON_1))
if (FieldEffectActiveListContains(FLDEFF_EXCLAMATION_MARK_ICON))
{
return FALSE;
}
@@ -465,16 +465,16 @@ static bool8 sub_80B41C0(u8 taskId, struct Task *task, struct EventObject *train
static bool8 sub_80B4200(u8 taskId, struct Task *task, struct EventObject *trainerObj)
{
if (!(EventObjectIsSpecialAnimOrDirectionSequenceAnimActive(trainerObj)) || EventObjectClearAnimIfSpecialAnimFinished(trainerObj))
if (!(EventObjectIsMovementOverridden(trainerObj)) || EventObjectClearHeldMovementIfFinished(trainerObj))
{
if (task->tTrainerRange)
{
EventObjectSetSpecialAnim(trainerObj, GetGoSpeed0AnimId(trainerObj->facingDirection));
EventObjectSetHeldMovement(trainerObj, GetWalkNormalMovementAction(trainerObj->facingDirection));
task->tTrainerRange--;
}
else
{
EventObjectSetSpecialAnim(trainerObj, 0x3E);
EventObjectSetHeldMovement(trainerObj, 0x3E);
task->tFuncId++;
}
}
@@ -485,19 +485,19 @@ static bool8 sub_80B425C(u8 taskId, struct Task *task, struct EventObject *train
{
struct EventObject *playerObj;
if (EventObjectIsSpecialAnimOrDirectionSequenceAnimActive(trainerObj) && !EventObjectClearAnimIfSpecialAnimFinished(trainerObj))
if (EventObjectIsMovementOverridden(trainerObj) && !EventObjectClearHeldMovementIfFinished(trainerObj))
return FALSE;
npc_set_running_behaviour_etc(trainerObj, npc_running_behaviour_by_direction(trainerObj->facingDirection));
sub_808F23C(trainerObj, npc_running_behaviour_by_direction(trainerObj->facingDirection));
sub_808F208(trainerObj);
SetTrainerMovementType(trainerObj, GetTrainerFacingDirectionMovementType(trainerObj->facingDirection));
TryOverrideTemplateCoordsForEventObject(trainerObj, GetTrainerFacingDirectionMovementType(trainerObj->facingDirection));
OverrideTemplateCoordsForEventObject(trainerObj);
playerObj = &gEventObjects[gPlayerAvatar.eventObjectId];
if (EventObjectIsSpecialAnimOrDirectionSequenceAnimActive(playerObj) && !EventObjectClearAnimIfSpecialAnimFinished(playerObj))
if (EventObjectIsMovementOverridden(playerObj) && !EventObjectClearHeldMovementIfFinished(playerObj))
return FALSE;
sub_808BCE8();
EventObjectSetSpecialAnim(&gEventObjects[gPlayerAvatar.eventObjectId], GetFaceDirectionAnimId(GetOppositeDirection(trainerObj->facingDirection)));
EventObjectSetHeldMovement(&gEventObjects[gPlayerAvatar.eventObjectId], GetFaceDirectionMovementAction(GetOppositeDirection(trainerObj->facingDirection)));
task->tFuncId++;
return FALSE;
}
@@ -506,18 +506,18 @@ static bool8 sub_80B4318(u8 taskId, struct Task *task, struct EventObject *train
{
struct EventObject *playerObj = &gEventObjects[gPlayerAvatar.eventObjectId];
if (!EventObjectIsSpecialAnimOrDirectionSequenceAnimActive(playerObj)
|| EventObjectClearAnimIfSpecialAnimFinished(playerObj))
if (!EventObjectIsMovementOverridden(playerObj)
|| EventObjectClearHeldMovementIfFinished(playerObj))
SwitchTaskToFollowupFunc(taskId);
return FALSE;
}
static bool8 sub_80B435C(u8 taskId, struct Task *task, struct EventObject *trainerObj)
{
if (!EventObjectIsSpecialAnimOrDirectionSequenceAnimActive(trainerObj)
|| EventObjectClearAnimIfSpecialAnimFinished(trainerObj))
if (!EventObjectIsMovementOverridden(trainerObj)
|| EventObjectClearHeldMovementIfFinished(trainerObj))
{
EventObjectSetSpecialAnim(trainerObj, 0x59);
EventObjectSetHeldMovement(trainerObj, 0x59);
task->tFuncId++;
}
return FALSE;
@@ -525,7 +525,7 @@ static bool8 sub_80B435C(u8 taskId, struct Task *task, struct EventObject *train
static bool8 sub_80B4390(u8 taskId, struct Task *task, struct EventObject *trainerObj)
{
if (EventObjectClearAnimIfSpecialAnimFinished(trainerObj))
if (EventObjectClearHeldMovementIfFinished(trainerObj))
task->tFuncId = 3;
return FALSE;
@@ -533,10 +533,10 @@ static bool8 sub_80B4390(u8 taskId, struct Task *task, struct EventObject *train
static bool8 sub_80B43AC(u8 taskId, struct Task *task, struct EventObject *trainerObj)
{
if (!EventObjectIsSpecialAnimOrDirectionSequenceAnimActive(trainerObj)
|| EventObjectClearAnimIfSpecialAnimFinished(trainerObj))
if (!EventObjectIsMovementOverridden(trainerObj)
|| EventObjectClearHeldMovementIfFinished(trainerObj))
{
EventObjectSetSpecialAnim(trainerObj, 0x3E);
EventObjectSetHeldMovement(trainerObj, 0x3E);
task->tFuncId++;
}
return FALSE;
@@ -544,7 +544,7 @@ static bool8 sub_80B43AC(u8 taskId, struct Task *task, struct EventObject *train
static bool8 sub_80B43E0(u8 taskId, struct Task *task, struct EventObject *trainerObj)
{
if (EventObjectCheckIfSpecialAnimFinishedOrInactive(trainerObj))
if (EventObjectCheckHeldMovementStatus(trainerObj))
{
gFieldEffectArguments[0] = trainerObj->currentCoords.x;
gFieldEffectArguments[1] = trainerObj->currentCoords.y;
@@ -567,8 +567,8 @@ static bool8 sub_80B4438(u8 taskId, struct Task *task, struct EventObject *train
sprite = &gSprites[trainerObj->spriteId];
sprite->oam.priority = 2;
EventObjectClearAnimIfSpecialAnimFinished(trainerObj);
EventObjectSetSpecialAnim(trainerObj, sub_80934BC(trainerObj->facingDirection));
EventObjectClearHeldMovementIfFinished(trainerObj);
EventObjectSetHeldMovement(trainerObj, GetJumpInPlaceMovementAction(trainerObj->facingDirection));
task->tFuncId++;
}
@@ -597,14 +597,14 @@ static void sub_80B44C8(u8 taskId)
LoadWordFromTwoHalfwords(&task->data[1], (u32 *)&eventObj);
if (!task->data[7])
{
EventObjectClearAnim(eventObj);
EventObjectClearHeldMovement(eventObj);
task->data[7]++;
}
sTrainerSeeFuncList2[task->data[0]](taskId, task, eventObj);
if (task->data[0] == 3 && !FieldEffectActiveListContains(FLDEFF_POP_OUT_OF_ASH))
{
npc_set_running_behaviour_etc(eventObj, npc_running_behaviour_by_direction(eventObj->facingDirection));
sub_808F23C(eventObj, npc_running_behaviour_by_direction(eventObj->facingDirection));
SetTrainerMovementType(eventObj, GetTrainerFacingDirectionMovementType(eventObj->facingDirection));
TryOverrideTemplateCoordsForEventObject(eventObj, GetTrainerFacingDirectionMovementType(eventObj->facingDirection));
DestroyTask(taskId);
}
else
@@ -659,22 +659,22 @@ void sub_80B45D0(void)
#define sData4 data[4]
#define sFldEffId data[7]
u8 FldEff_ExclamationMarkIcon1(void)
u8 FldEff_ExclamationMarkIcon(void)
{
u8 spriteId = CreateSpriteAtEnd(&sSpriteTemplate_ExclamationQuestionMark, 0, 0, 0x53);
if (spriteId != MAX_SPRITES)
SetIconSpriteData(&gSprites[spriteId], FLDEFF_EXCLAMATION_MARK_ICON_1, 0);
SetIconSpriteData(&gSprites[spriteId], FLDEFF_EXCLAMATION_MARK_ICON, 0);
return 0;
}
u8 FldEff_ExclamationMarkIcon2(void)
u8 FldEff_QuestionMarkIcon(void)
{
u8 spriteId = CreateSpriteAtEnd(&sSpriteTemplate_ExclamationQuestionMark, 0, 0, 0x52);
if (spriteId != MAX_SPRITES)
SetIconSpriteData(&gSprites[spriteId], FLDEFF_EXCLAMATION_MARK_ICON_2, 1);
SetIconSpriteData(&gSprites[spriteId], FLDEFF_QUESTION_MARK_ICON, 1);
return 0;
}
@@ -764,14 +764,14 @@ void sub_80B4808(void)
if (gUnknown_030060AC == 1)
{
trainerObj = &gEventObjects[gApproachingTrainers[gUnknown_03006080].eventObjectId];
gUnknown_03006084[0] = GetFaceDirectionAnimId(GetOppositeDirection(trainerObj->facingDirection));
gUnknown_03006084[0] = GetFaceDirectionMovementAction(GetOppositeDirection(trainerObj->facingDirection));
gUnknown_03006084[1] = 0xFE;
ScriptMovement_StartObjectMovementScript(0xFF, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, gUnknown_03006084);
}
else
{
trainerObj = &gEventObjects[gPlayerAvatar.eventObjectId];
gUnknown_03006084[0] = GetFaceDirectionAnimId(trainerObj->facingDirection);
gUnknown_03006084[0] = GetFaceDirectionMovementAction(trainerObj->facingDirection);
gUnknown_03006084[1] = 0xFE;
ScriptMovement_StartObjectMovementScript(0xFF, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, gUnknown_03006084);
}