Bring all movement function names up-to-date with pokeruby
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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);
|
||||
|
||||
18
src/bike.c
18
src/bike.c
@@ -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
@@ -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
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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
@@ -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)
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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]]);
|
||||
|
||||
@@ -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);
|
||||
|
||||
10
src/rom6.c
10
src/rom6.c
@@ -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)
|
||||
|
||||
10
src/scrcmd.c
10
src/scrcmd.c
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user