Update player avatar state enums
This commit is contained in:
+1
-1
@@ -743,7 +743,7 @@ static void BerryCrush_UpdateGameState(struct BerryCrushGame * game)
|
||||
u8 i;
|
||||
|
||||
for (i = 0; i < game->playerCount; ++i)
|
||||
game->unk68.as_four_players.others[i].unk4.as_2d_bytes[1][5] = 0;
|
||||
game->unk68.as_four_players.others[i].apply.as_2d_bytes[1][5] = 0;
|
||||
#endif
|
||||
if ((gRecvCmds[0][0] & 0xFF00) != 0x2F00
|
||||
|| gRecvCmds[0][1] != 2)
|
||||
|
||||
@@ -2231,7 +2231,7 @@ static void SetPlayerAvatarObjectEventIdAndObjectId(u8 objectEventId, u8 spriteI
|
||||
gPlayerAvatar.objectEventId = objectEventId;
|
||||
gPlayerAvatar.spriteId = spriteId;
|
||||
gPlayerAvatar.gender = GetPlayerAvatarGenderByGraphicsId(gObjectEvents[objectEventId].graphicsId);
|
||||
SetPlayerAvatarExtraStateTransition(gObjectEvents[objectEventId].graphicsId, 0x20);
|
||||
SetPlayerAvatarExtraStateTransition(gObjectEvents[objectEventId].graphicsId, PLAYER_AVATAR_FLAG_CONTROLLABLE);
|
||||
}
|
||||
|
||||
void ObjectEventSetGraphicsId(struct ObjectEvent *objectEvent, u8 graphicsId)
|
||||
@@ -3016,7 +3016,7 @@ static bool8 MovementType_WanderAround_Step5(struct ObjectEvent *objectEvent, st
|
||||
|
||||
static bool8 MovementType_WanderAround_Step5Duplicate(struct ObjectEvent *objectEvent, struct Sprite *sprite)
|
||||
{
|
||||
ObjectEventSetSingleMovement(objectEvent, sprite, sub_8063F2C(objectEvent->movementDirection));
|
||||
ObjectEventSetSingleMovement(objectEvent, sprite, GetWalkSlowestMovementAction(objectEvent->movementDirection));
|
||||
objectEvent->singleMovementActive = TRUE;
|
||||
sprite->data[1] = 6;
|
||||
return TRUE;
|
||||
@@ -5451,7 +5451,7 @@ u8 sub_8063F10(u32 idx)
|
||||
return gUnknown_83A64F6[direction];
|
||||
}
|
||||
|
||||
dirn_to_anim(sub_8063F2C, gUnknown_83A64FB);
|
||||
dirn_to_anim(GetWalkSlowestMovementAction, gUnknown_83A64FB);
|
||||
dirn_to_anim(GetWalkSlowMovementAction, gUnknown_83A6500);
|
||||
dirn_to_anim(GetWalkNormalMovementAction, gUnknown_83A6505);
|
||||
dirn_to_anim(GetWalkFastMovementAction, gUnknown_83A650A);
|
||||
@@ -5461,7 +5461,7 @@ dirn_to_anim(GetWalkFastestMovementAction, gUnknown_83A6519);
|
||||
dirn_to_anim(GetSlideMovementAction, gUnknown_83A651E);
|
||||
dirn_to_anim(GetPlayerRunMovementAction, gUnknown_83A6523);
|
||||
dirn_to_anim(GetPlayerRunSlowMovementAction, gUnknown_83A6528);
|
||||
dirn_to_anim(sub_80640E4, gUnknown_83A652D);
|
||||
dirn_to_anim(GetSpinMovementAction, gUnknown_83A652D);
|
||||
dirn_to_anim(GetJump2MovementAction, gUnknown_83A6532);
|
||||
dirn_to_anim(GetJumpInPlaceMovementAction, gUnknown_83A6537);
|
||||
dirn_to_anim(GetJumpInPlaceTurnAroundMovementAction, gUnknown_83A653C);
|
||||
|
||||
@@ -105,11 +105,11 @@ void FieldGetPlayerInput(struct FieldInput *input, u16 newKeys, u16 heldKeys)
|
||||
{
|
||||
if (GetPlayerSpeed() != 4)
|
||||
{
|
||||
if ((newKeys & START_BUTTON) && !(gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_FISHING))
|
||||
if ((newKeys & START_BUTTON) && !(gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_FORCED))
|
||||
input->pressedStartButton = TRUE;
|
||||
if (!QL_IS_PLAYBACK_STATE)
|
||||
{
|
||||
if (!(gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_FISHING))
|
||||
if (!(gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_FORCED))
|
||||
{
|
||||
if (newKeys & SELECT_BUTTON)
|
||||
input->pressedSelectButton = TRUE;
|
||||
@@ -625,7 +625,7 @@ static bool8 TryStartStepBasedScript(struct MapPosition *position, u16 metatileB
|
||||
return TRUE;
|
||||
if (TryStartStepCountScript(metatileBehavior) == TRUE)
|
||||
return TRUE;
|
||||
if (!(gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_FISHING) && !MetatileBehavior_IsForcedMovementTile(metatileBehavior) && UpdateRepelCounter() == TRUE)
|
||||
if (!(gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_FORCED) && !MetatileBehavior_IsForcedMovementTile(metatileBehavior) && UpdateRepelCounter() == TRUE)
|
||||
return TRUE;
|
||||
return FALSE;
|
||||
}
|
||||
@@ -655,7 +655,7 @@ static bool8 TryStartStepCountScript(u16 metatileBehavior)
|
||||
|
||||
UpdateHappinessStepCounter();
|
||||
|
||||
if (!(gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_FISHING) && !MetatileBehavior_IsForcedMovementTile(metatileBehavior))
|
||||
if (!(gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_FORCED) && !MetatileBehavior_IsForcedMovementTile(metatileBehavior))
|
||||
{
|
||||
if (UpdateVsSeekerStepCounter() == TRUE)
|
||||
{
|
||||
|
||||
+15
-15
@@ -1600,7 +1600,7 @@ static bool8 waterfall_2_wait_anim_finish_probably(struct Task * task, struct Ob
|
||||
|
||||
static bool8 waterfall_3_move_player_probably(struct Task * task, struct ObjectEvent * playerObj)
|
||||
{
|
||||
ObjectEventSetHeldMovement(playerObj, sub_8063F2C(DIR_NORTH));
|
||||
ObjectEventSetHeldMovement(playerObj, GetWalkSlowestMovementAction(DIR_NORTH));
|
||||
task->data[0]++;
|
||||
return FALSE;
|
||||
}
|
||||
@@ -2907,7 +2907,7 @@ static void UseSurfEffect_1(struct Task * task)
|
||||
ScriptContext2_Enable();
|
||||
FreezeObjectEvents();
|
||||
gPlayerAvatar.preventStep = TRUE;
|
||||
SetPlayerAvatarStateMask(8);
|
||||
SetPlayerAvatarStateMask(PLAYER_AVATAR_FLAG_SURFING);
|
||||
PlayerGetDestCoords(&task->data[1], &task->data[2]);
|
||||
MoveCoords(gObjectEvents[gPlayerAvatar.objectEventId].movementDirection, &task->data[1], &task->data[2]);
|
||||
task->data[0]++;
|
||||
@@ -2943,7 +2943,7 @@ static void UseSurfEffect_4(struct Task * task)
|
||||
if (!FieldEffectActiveListContains(FLDEFF_FIELD_MOVE_SHOW_MON))
|
||||
{
|
||||
objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId];
|
||||
ObjectEventSetGraphicsId(objectEvent, GetPlayerAvatarGraphicsIdByStateId(2));
|
||||
ObjectEventSetGraphicsId(objectEvent, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_GFX_RIDE));
|
||||
ObjectEventClearHeldMovementIfFinished(objectEvent);
|
||||
ObjectEventSetHeldMovement(objectEvent, sub_80641C0(objectEvent->movementDirection));
|
||||
gFieldEffectArguments[0] = task->data[1];
|
||||
@@ -2961,7 +2961,7 @@ static void UseSurfEffect_5(struct Task * task)
|
||||
if (ObjectEventClearHeldMovementIfFinished(objectEvent))
|
||||
{
|
||||
gPlayerAvatar.preventStep = FALSE;
|
||||
gPlayerAvatar.flags &= 0xdf;
|
||||
gPlayerAvatar.flags &= ~PLAYER_AVATAR_FLAG_CONTROLLABLE;
|
||||
ObjectEventSetHeldMovement(objectEvent, GetFaceDirectionMovementAction(objectEvent->movementDirection));
|
||||
sub_80DC44C(objectEvent->fieldEffectSpriteId, 1);
|
||||
UnfreezeObjectEvents();
|
||||
@@ -3023,11 +3023,11 @@ static void UseVsSeekerEffect_3(struct Task * task)
|
||||
if (ObjectEventClearHeldMovementIfFinished(playerObj))
|
||||
{
|
||||
if (gPlayerAvatar.flags & (PLAYER_AVATAR_FLAG_ACRO_BIKE | PLAYER_AVATAR_FLAG_MACH_BIKE))
|
||||
ObjectEventSetGraphicsId(playerObj, GetPlayerAvatarGraphicsIdByStateId(1));
|
||||
ObjectEventSetGraphicsId(playerObj, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_GFX_BIKE));
|
||||
else if (gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_SURFING)
|
||||
ObjectEventSetGraphicsId(playerObj, GetPlayerAvatarGraphicsIdByStateId(2));
|
||||
ObjectEventSetGraphicsId(playerObj, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_GFX_RIDE));
|
||||
else
|
||||
ObjectEventSetGraphicsId(playerObj, GetPlayerAvatarGraphicsIdByStateId(0));
|
||||
ObjectEventSetGraphicsId(playerObj, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_GFX_NORMAL));
|
||||
ObjectEventForceSetHeldMovement(playerObj, GetFaceDirectionMovementAction(playerObj->facingDirection));
|
||||
task->data[0]++;
|
||||
}
|
||||
@@ -3131,7 +3131,7 @@ static void UseFlyEffect_1(struct Task * task)
|
||||
{
|
||||
task->data[15] = gPlayerAvatar.flags;
|
||||
gPlayerAvatar.preventStep = TRUE;
|
||||
SetPlayerAvatarStateMask(1);
|
||||
SetPlayerAvatarStateMask(PLAYER_AVATAR_FLAG_ON_FOOT);
|
||||
StartPlayerAvatarSummonMonForFieldMoveAnim();
|
||||
ObjectEventSetHeldMovement(objectEvent, MOVEMENT_ACTION_START_ANIM_IN_DIRECTION);
|
||||
task->data[0]++;
|
||||
@@ -3191,7 +3191,7 @@ static void UseFlyEffect_6(struct Task * task)
|
||||
if ((++task->data[2]) >= 8)
|
||||
{
|
||||
struct ObjectEvent * objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId];
|
||||
ObjectEventSetGraphicsId(objectEvent, GetPlayerAvatarGraphicsIdByStateId(2));
|
||||
ObjectEventSetGraphicsId(objectEvent, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_GFX_RIDE));
|
||||
StartSpriteAnim(&gSprites[objectEvent->spriteId], 0x16);
|
||||
objectEvent->inanimate = TRUE;
|
||||
ObjectEventSetHeldMovement(objectEvent, MOVEMENT_ACTION_JUMP_IN_PLACE_LEFT);
|
||||
@@ -3437,12 +3437,12 @@ static void FlyInEffect_1(struct Task * task)
|
||||
task->data[2] = 33;
|
||||
task->data[15] = gPlayerAvatar.flags;
|
||||
gPlayerAvatar.preventStep = TRUE;
|
||||
SetPlayerAvatarStateMask(0x01);
|
||||
if (task->data[15] & 0x08)
|
||||
SetPlayerAvatarStateMask(PLAYER_AVATAR_FLAG_ON_FOOT);
|
||||
if (task->data[15] & PLAYER_AVATAR_FLAG_SURFING)
|
||||
{
|
||||
sub_80DC44C(objectEvent->fieldEffectSpriteId, 0);
|
||||
}
|
||||
ObjectEventSetGraphicsId(objectEvent, GetPlayerAvatarGraphicsIdByStateId(2));
|
||||
ObjectEventSetGraphicsId(objectEvent, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_GFX_RIDE));
|
||||
CameraObjectReset2();
|
||||
ObjectEventTurn(objectEvent, DIR_WEST);
|
||||
StartSpriteAnim(&gSprites[objectEvent->spriteId], 0x16);
|
||||
@@ -3550,10 +3550,10 @@ static void FlyInEffect_7(struct Task * task)
|
||||
if ((--task->data[1]) == 0)
|
||||
{
|
||||
objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId];
|
||||
state = 0;
|
||||
if (task->data[15] & 0x08)
|
||||
state = PLAYER_AVATAR_GFX_NORMAL;
|
||||
if (task->data[15] & PLAYER_AVATAR_FLAG_SURFING)
|
||||
{
|
||||
state = 2;
|
||||
state = PLAYER_AVATAR_GFX_RIDE;
|
||||
sub_80DC44C(objectEvent->fieldEffectSpriteId, 1);
|
||||
}
|
||||
ObjectEventSetGraphicsId(objectEvent, GetPlayerAvatarGraphicsIdByStateId(state));
|
||||
|
||||
+83
-82
@@ -26,13 +26,13 @@
|
||||
#include "constants/metatile_behaviors.h"
|
||||
#include "constants/moves.h"
|
||||
|
||||
static EWRAM_DATA struct ObjectEvent * gUnknown_2036E30 = NULL;
|
||||
static EWRAM_DATA struct ObjectEvent * sPlayerObjectPtr = NULL;
|
||||
static EWRAM_DATA u8 sTeleportSavedFacingDirection = DIR_NONE;
|
||||
EWRAM_DATA struct ObjectEvent gObjectEvents[OBJECT_EVENTS_COUNT] = {};
|
||||
EWRAM_DATA struct PlayerAvatar gPlayerAvatar = {};
|
||||
|
||||
static u8 ObjectEventCB2_NoMovement2(struct ObjectEvent * object, struct Sprite * sprite);
|
||||
static bool8 sub_805B528(void);
|
||||
static bool8 TryUpdatePlayerSpinDirection(void);
|
||||
static bool8 TryInterruptObjectEventSpecialAnim(struct ObjectEvent * playerObjEvent, u8 direction);
|
||||
static void npc_clear_strange_bits(struct ObjectEvent * playerObjEvent);
|
||||
static bool8 TryDoMetatileBehaviorForcedMovement(void);
|
||||
@@ -78,17 +78,17 @@ static void PlayerAvatarTransition_ReturnToField(struct ObjectEvent * playerObje
|
||||
static bool8 PlayerIsAnimActive(void);
|
||||
static bool8 PlayerCheckIfAnimFinishedOrInactive(void);
|
||||
static bool8 player_is_anim_in_certain_ranges(void);
|
||||
static bool8 sub_805BF58(void);
|
||||
static bool8 player_is_anim_in_certain_ranges__running_state_not_turn(void);
|
||||
static void PlayCollisionSoundIfNotFacingWarp(u8 direction);
|
||||
static void PlayerGoSpin(u8 direction);
|
||||
static void sub_805C2CC(u8 metatileBehavior);
|
||||
static void PlayerApplyTileForcedMovement(u8 metatileBehavior);
|
||||
static bool8 MetatileAtCoordsIsWaterTile(s16 x, s16 y);
|
||||
static void sub_805CC40(struct ObjectEvent * playerObjEvent);
|
||||
static void HandleWarpArrowSpriteHideShow(struct ObjectEvent * playerObjEvent);
|
||||
static void StartStrengthAnim(u8 objectEventId, u8 direction);
|
||||
static void Task_BumpBoulder(u8 taskId);
|
||||
static bool8 sub_805CD64(struct Task * task, struct ObjectEvent * playerObj, struct ObjectEvent * boulderObj);
|
||||
static bool8 do_boulder_init(struct Task * task, struct ObjectEvent * playerObj, struct ObjectEvent * boulderObj);
|
||||
static bool8 do_boulder_dust(struct Task * task, struct ObjectEvent * playerObj, struct ObjectEvent * boulderObj);
|
||||
static bool8 sub_805CE20(struct Task * task, struct ObjectEvent * playerObj, struct ObjectEvent * boulderObj);
|
||||
static bool8 do_boulder_finish(struct Task * task, struct ObjectEvent * playerObj, struct ObjectEvent * boulderObj);
|
||||
static void DoPlayerMatJump(void);
|
||||
static void DoPlayerAvatarSecretBaseMatJump(u8 taskId);
|
||||
static bool8 PlayerAvatar_DoSecretBaseMatJump(struct Task * task, struct ObjectEvent * playerObj);
|
||||
@@ -136,8 +136,8 @@ void player_step(u8 direction, u16 newKeys, u16 heldKeys)
|
||||
{
|
||||
struct ObjectEvent *playerObjEvent = &gObjectEvents[gPlayerAvatar.objectEventId];
|
||||
|
||||
sub_805CC40(playerObjEvent);
|
||||
if (!gPlayerAvatar.preventStep && !sub_805B528())
|
||||
HandleWarpArrowSpriteHideShow(playerObjEvent);
|
||||
if (!gPlayerAvatar.preventStep && !TryUpdatePlayerSpinDirection())
|
||||
{
|
||||
if (!TryInterruptObjectEventSpecialAnim(playerObjEvent, direction))
|
||||
{
|
||||
@@ -194,26 +194,26 @@ static void MovePlayerAvatarUsingKeypadInput(u8 direction, u16 newKeys, u16 held
|
||||
static void PlayerAllowForcedMovementIfMovingSameDirection(void)
|
||||
{
|
||||
if (gPlayerAvatar.runningState == MOVING)
|
||||
gPlayerAvatar.flags &= ~PLAYER_AVATAR_FLAG_FIELD_MOVE;
|
||||
gPlayerAvatar.flags &= ~PLAYER_AVATAR_FLAG_CONTROLLABLE;
|
||||
}
|
||||
|
||||
static bool8 sub_805B528(void)
|
||||
static bool8 TryUpdatePlayerSpinDirection(void)
|
||||
{
|
||||
if ((gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_FISHING) && MetatileBehavior_IsSpinTile(gPlayerAvatar.lastSpinTile))
|
||||
if ((gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_FORCED) && MetatileBehavior_IsSpinTile(gPlayerAvatar.lastSpinTile))
|
||||
{
|
||||
gUnknown_2036E30 = &gObjectEvents[gPlayerAvatar.objectEventId];
|
||||
if (gUnknown_2036E30->heldMovementFinished)
|
||||
sPlayerObjectPtr = &gObjectEvents[gPlayerAvatar.objectEventId];
|
||||
if (sPlayerObjectPtr->heldMovementFinished)
|
||||
{
|
||||
if (MetatileBehavior_IsStopSpinning(gUnknown_2036E30->currentMetatileBehavior))
|
||||
if (MetatileBehavior_IsStopSpinning(sPlayerObjectPtr->currentMetatileBehavior))
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
if (MetatileBehavior_IsSpinTile(gUnknown_2036E30->currentMetatileBehavior))
|
||||
if (MetatileBehavior_IsSpinTile(sPlayerObjectPtr->currentMetatileBehavior))
|
||||
{
|
||||
gPlayerAvatar.lastSpinTile = gUnknown_2036E30->currentMetatileBehavior;
|
||||
gPlayerAvatar.lastSpinTile = sPlayerObjectPtr->currentMetatileBehavior;
|
||||
}
|
||||
ObjectEventClearHeldMovement(gUnknown_2036E30);
|
||||
sub_805C2CC(gPlayerAvatar.lastSpinTile);
|
||||
ObjectEventClearHeldMovement(sPlayerObjectPtr);
|
||||
PlayerApplyTileForcedMovement(gPlayerAvatar.lastSpinTile);
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
@@ -221,8 +221,8 @@ static bool8 sub_805B528(void)
|
||||
}
|
||||
|
||||
static const struct {
|
||||
bool8 (*unk0)(u8 metatileBehavior);
|
||||
bool8 (*unk4)(void);
|
||||
bool8 (*check)(u8 metatileBehavior);
|
||||
bool8 (*apply)(void);
|
||||
} sForcedMovementFuncs[] = {
|
||||
{MetatileBehavior_IsUnknownMovement48, ForcedMovement_Slip},
|
||||
{MetatileBehavior_IsIce_2, ForcedMovement_Slip},
|
||||
@@ -252,37 +252,38 @@ static bool8 TryDoMetatileBehaviorForcedMovement(void)
|
||||
{
|
||||
int i;
|
||||
u8 behavior;
|
||||
if (!(gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_FIELD_MOVE))
|
||||
if (!(gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_CONTROLLABLE))
|
||||
{
|
||||
behavior = gObjectEvents[gPlayerAvatar.objectEventId].currentMetatileBehavior;
|
||||
for (i = 0; sForcedMovementFuncs[i].unk0 != NULL; i++)
|
||||
for (i = 0; sForcedMovementFuncs[i].check != NULL; i++)
|
||||
{
|
||||
if (sForcedMovementFuncs[i].unk0(behavior))
|
||||
if (sForcedMovementFuncs[i].check(behavior))
|
||||
{
|
||||
gPlayerAvatar.lastSpinTile = behavior;
|
||||
return sForcedMovementFuncs[i].unk4();
|
||||
return sForcedMovementFuncs[i].apply();
|
||||
}
|
||||
}
|
||||
return sForcedMovementFuncs[i].unk4();
|
||||
return sForcedMovementFuncs[i].apply();
|
||||
}
|
||||
else
|
||||
{
|
||||
for (i = 0; sForcedMovementFuncs[i].unk0 != NULL; i++)
|
||||
// Calls ForcedMovement_None but with extra steps
|
||||
for (i = 0; sForcedMovementFuncs[i].check != NULL; i++)
|
||||
;
|
||||
return sForcedMovementFuncs[i].unk4();
|
||||
return sForcedMovementFuncs[i].apply();
|
||||
}
|
||||
}
|
||||
|
||||
static bool8 ForcedMovement_None(void)
|
||||
{
|
||||
if (gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_FISHING)
|
||||
if (gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_FORCED)
|
||||
{
|
||||
struct ObjectEvent *playerObjEvent = &gObjectEvents[gPlayerAvatar.objectEventId];
|
||||
|
||||
playerObjEvent->facingDirectionLocked = FALSE;
|
||||
playerObjEvent->enableAnim = TRUE;
|
||||
SetObjectEventDirection(playerObjEvent, playerObjEvent->facingDirection);
|
||||
gPlayerAvatar.flags &= ~PLAYER_AVATAR_FLAG_FISHING;
|
||||
gPlayerAvatar.flags &= ~PLAYER_AVATAR_FLAG_FORCED;
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
@@ -292,7 +293,7 @@ static u8 DoForcedMovement(u8 direction, MovementAction movementAction)
|
||||
struct PlayerAvatar *playerAvatar = &gPlayerAvatar;
|
||||
u8 collision = CheckForPlayerAvatarCollision(direction);
|
||||
|
||||
playerAvatar->flags |= PLAYER_AVATAR_FLAG_FISHING;
|
||||
playerAvatar->flags |= PLAYER_AVATAR_FLAG_FORCED;
|
||||
if (collision)
|
||||
{
|
||||
ForcedMovement_None();
|
||||
@@ -304,7 +305,7 @@ static u8 DoForcedMovement(u8 direction, MovementAction movementAction)
|
||||
{
|
||||
if (collision == COLLISION_LEDGE_JUMP)
|
||||
PlayerJumpLedge(direction);
|
||||
playerAvatar->flags |= PLAYER_AVATAR_FLAG_FISHING;
|
||||
playerAvatar->flags |= PLAYER_AVATAR_FLAG_FORCED;
|
||||
playerAvatar->runningState = MOVING;
|
||||
return 1;
|
||||
}
|
||||
@@ -641,7 +642,7 @@ static bool8 TryPushBoulder(s16 x, s16 y, u8 direction)
|
||||
}
|
||||
}
|
||||
|
||||
static bool8 (*const gUnknown_835B828[])(u8) = {
|
||||
static bool8 (*const sAcroBikeTrickMetatiles[])(u8) = {
|
||||
MetatileBehavior_IsBumpySlope,
|
||||
MetatileBehavior_IsIsolatedVerticalRail,
|
||||
MetatileBehavior_IsIsolatedHorizontalRail,
|
||||
@@ -649,7 +650,7 @@ static bool8 (*const gUnknown_835B828[])(u8) = {
|
||||
MetatileBehavior_IsHorizontalRail
|
||||
};
|
||||
|
||||
static const u8 gUnknown_835B83C[] = {
|
||||
static const u8 sAcroBikeTrickCollisionTypes[] = {
|
||||
COLLISION_WHEELIE_HOP,
|
||||
COLLISION_ISOLATED_VERTICAL_RAIL,
|
||||
COLLISION_ISOLATED_HORIZONTAL_RAIL,
|
||||
@@ -661,11 +662,11 @@ static void CheckAcroBikeCollision(s16 x, s16 y, u8 metatileBehavior, u8 *collis
|
||||
{
|
||||
u8 i;
|
||||
|
||||
for (i = 0; i < NELEMS(gUnknown_835B828); i++)
|
||||
for (i = 0; i < NELEMS(sAcroBikeTrickMetatiles); i++)
|
||||
{
|
||||
if (gUnknown_835B828[i](metatileBehavior))
|
||||
if (sAcroBikeTrickMetatiles[i](metatileBehavior))
|
||||
{
|
||||
*collision = gUnknown_835B83C[i];
|
||||
*collision = sAcroBikeTrickCollisionTypes[i];
|
||||
return;
|
||||
}
|
||||
}
|
||||
@@ -677,15 +678,15 @@ void SetPlayerAvatarTransitionFlags(u16 flags)
|
||||
DoPlayerAvatarTransition();
|
||||
}
|
||||
|
||||
static void (*const gUnknown_835B844[])(struct ObjectEvent *) = {
|
||||
static void (*const sPlayerAvatarTransitionFuncs[])(struct ObjectEvent *) = {
|
||||
[PLAYER_AVATAR_STATE_NORMAL] = PlayerAvatarTransition_Normal,
|
||||
[PLAYER_AVATAR_STATE_MACH_BIKE] = PlayerAvatarTransition_Bike,
|
||||
[PLAYER_AVATAR_STATE_ACRO_BIKE] = PlayerAvatarTransition_Bike,
|
||||
[PLAYER_AVATAR_STATE_SURFING] = PlayerAvatarTransition_Surfing,
|
||||
[PLAYER_AVATAR_STATE_UNDERWATER] = PlayerAvatarTransition_Underwater,
|
||||
[PLAYER_AVATAR_STATE_FIELD_MOVE] = PlayerAvatarTransition_ReturnToField,
|
||||
[PLAYER_AVATAR_STATE_FISHING] = PlayerAvatarTransition_Dummy,
|
||||
[PLAYER_AVATAR_STATE_WATERING] = PlayerAvatarTransition_Dummy
|
||||
[PLAYER_AVATAR_STATE_CONTROLLABLE] = PlayerAvatarTransition_ReturnToField,
|
||||
[PLAYER_AVATAR_STATE_FORCED] = PlayerAvatarTransition_Dummy,
|
||||
[PLAYER_AVATAR_STATE_DASH] = PlayerAvatarTransition_Dummy
|
||||
};
|
||||
|
||||
static void DoPlayerAvatarTransition(void)
|
||||
@@ -695,10 +696,10 @@ static void DoPlayerAvatarTransition(void)
|
||||
|
||||
if (flags != 0)
|
||||
{
|
||||
for (i = 0; i < NELEMS(gUnknown_835B844); i++, flags >>= 1)
|
||||
for (i = 0; i < NELEMS(sPlayerAvatarTransitionFuncs); i++, flags >>= 1)
|
||||
{
|
||||
if (flags & 1)
|
||||
gUnknown_835B844[i](&gObjectEvents[gPlayerAvatar.objectEventId]);
|
||||
sPlayerAvatarTransitionFuncs[i](&gObjectEvents[gPlayerAvatar.objectEventId]);
|
||||
}
|
||||
gPlayerAvatar.transitionFlags = 0;
|
||||
}
|
||||
@@ -735,10 +736,10 @@ static void PlayerAvatarTransition_Underwater(struct ObjectEvent * playerObjEven
|
||||
|
||||
static void PlayerAvatarTransition_ReturnToField(struct ObjectEvent * playerObjEvent)
|
||||
{
|
||||
gPlayerAvatar.flags |= PLAYER_AVATAR_FLAG_FIELD_MOVE;
|
||||
gPlayerAvatar.flags |= PLAYER_AVATAR_FLAG_CONTROLLABLE;
|
||||
}
|
||||
|
||||
void sub_805BEB8(void)
|
||||
void UpdatePlayerAvatarTransitionState(void)
|
||||
{
|
||||
gPlayerAvatar.tileTransitionState = T_NOT_MOVING;
|
||||
if (PlayerIsAnimActive())
|
||||
@@ -750,7 +751,7 @@ void sub_805BEB8(void)
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!sub_805BF58())
|
||||
if (!player_is_anim_in_certain_ranges__running_state_not_turn())
|
||||
gPlayerAvatar.tileTransitionState = T_TILE_CENTER;
|
||||
}
|
||||
}
|
||||
@@ -770,7 +771,7 @@ static bool8 player_is_anim_in_certain_ranges(void)
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static bool8 sub_805BF58(void)
|
||||
static bool8 player_is_anim_in_certain_ranges__running_state_not_turn(void)
|
||||
{
|
||||
if (player_is_anim_in_certain_ranges() && gPlayerAvatar.runningState != TURN_DIRECTION)
|
||||
return TRUE;
|
||||
@@ -813,21 +814,21 @@ static void PlayerSetAnimId(u8 movementActionId, u8 copyableMovement)
|
||||
}
|
||||
}
|
||||
|
||||
static void sub_805C06C(struct ObjectEvent * objectEvent, u8 movementAction)
|
||||
static void QL_TryRecordPlayerStepWithDuration0(struct ObjectEvent * objectEvent, u8 movementAction)
|
||||
{
|
||||
if (!ObjectEventSetHeldMovement(&gObjectEvents[gPlayerAvatar.objectEventId], movementAction))
|
||||
QuestLogRecordPlayerStepWithDuration(movementAction, 0);
|
||||
}
|
||||
|
||||
static void sub_805C0A4(struct ObjectEvent * objectEvent, u8 movementAction)
|
||||
static void QL_TryRecordNPCStepWithDuration32(struct ObjectEvent * objectEvent, u8 movementAction)
|
||||
{
|
||||
if (!ObjectEventSetHeldMovement(objectEvent, movementAction))
|
||||
QuestLogRecordNPCStepWithDuration(objectEvent->localId, objectEvent->mapNum, objectEvent->mapGroup, movementAction, 32);
|
||||
}
|
||||
|
||||
void sub_805C0D4(u8 direction)
|
||||
void PlayerGoSlowest(u8 direction)
|
||||
{
|
||||
PlayerSetAnimId(sub_8063F2C(direction), 2);
|
||||
PlayerSetAnimId(GetWalkSlowestMovementAction(direction), 2);
|
||||
}
|
||||
|
||||
void PlayerGoSlow(u8 direction)
|
||||
@@ -919,17 +920,17 @@ void HandleEnforcedLookDirectionOnPlayerStopMoving(void)
|
||||
|
||||
static void PlayerGoSpin(u8 direction)
|
||||
{
|
||||
PlayerSetAnimId(sub_80640E4(direction), 3);
|
||||
PlayerSetAnimId(GetSpinMovementAction(direction), 3);
|
||||
}
|
||||
|
||||
static void sub_805C2CC(u8 metatileBehavior)
|
||||
static void PlayerApplyTileForcedMovement(u8 metatileBehavior)
|
||||
{
|
||||
int i;
|
||||
|
||||
for (i = 0; sForcedMovementFuncs[i].unk0 != NULL; i++)
|
||||
for (i = 0; sForcedMovementFuncs[i].check != NULL; i++)
|
||||
{
|
||||
if (sForcedMovementFuncs[i].unk0(metatileBehavior))
|
||||
sForcedMovementFuncs[i].unk4();
|
||||
if (sForcedMovementFuncs[i].check(metatileBehavior))
|
||||
sForcedMovementFuncs[i].apply();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -978,12 +979,12 @@ static void PlayerAcroWheelieCollide(u8 direction)
|
||||
PlayerSetAnimId(GetAcroWheelieInPlaceDirectionMovementAction(direction), 2);
|
||||
}
|
||||
|
||||
static void sub_805C408(u8 direction)
|
||||
static void PlayerAcroPopWheelie(u8 direction)
|
||||
{
|
||||
PlayerSetAnimId(GetAcroPopWheelieMoveDirectionMovementAction(direction), 2);
|
||||
}
|
||||
|
||||
static void sub_805C420(u8 direction)
|
||||
static void PlayerAcroWheelieMove(u8 direction)
|
||||
{
|
||||
PlayerSetAnimId(GetAcroWheelieMoveDirectionMovementAction(direction), 2);
|
||||
}
|
||||
@@ -1107,7 +1108,7 @@ u8 GetPlayerAvatarObjectId(void)
|
||||
return gPlayerAvatar.spriteId;
|
||||
}
|
||||
|
||||
void sub_805C774(void)
|
||||
void CancelPlayerForcedMovement(void)
|
||||
{
|
||||
ForcedMovement_None();
|
||||
}
|
||||
@@ -1128,7 +1129,7 @@ void StopPlayerAvatar(void)
|
||||
static const u8 sPlayerAvatarGfxIds[][GENDER_COUNT] = {
|
||||
[PLAYER_AVATAR_GFX_NORMAL] = {OBJ_EVENT_GFX_RED_NORMAL, OBJ_EVENT_GFX_GREEN_NORMAL},
|
||||
[PLAYER_AVATAR_GFX_BIKE] = {OBJ_EVENT_GFX_RED_BIKE, OBJ_EVENT_GFX_GREEN_BIKE},
|
||||
[PLAYER_AVATAR_GFX_SURF] = {OBJ_EVENT_GFX_RED_SURF, OBJ_EVENT_GFX_GREEN_SURF},
|
||||
[PLAYER_AVATAR_GFX_RIDE] = {OBJ_EVENT_GFX_RED_SURF, OBJ_EVENT_GFX_GREEN_SURF},
|
||||
[PLAYER_AVATAR_GFX_FIELD_MOVE] = {OBJ_EVENT_GFX_RED_FIELD_MOVE, OBJ_EVENT_GFX_GREEN_FIELD_MOVE},
|
||||
[PLAYER_AVATAR_GFX_FISH] = {OBJ_EVENT_GFX_RED_FISH, OBJ_EVENT_GFX_GREEN_FISH},
|
||||
[PLAYER_AVATAR_GFX_VSSEEKER] = {OBJ_EVENT_GFX_RED_VS_SEEKER, OBJ_EVENT_GFX_GREEN_VS_SEEKER},
|
||||
@@ -1226,7 +1227,7 @@ void ClearPlayerAvatarInfo(void)
|
||||
|
||||
void SetPlayerAvatarStateMask(u8 flags)
|
||||
{
|
||||
gPlayerAvatar.flags &= (PLAYER_AVATAR_FLAG_DASH | PLAYER_AVATAR_FLAG_FISHING | PLAYER_AVATAR_FLAG_FIELD_MOVE);
|
||||
gPlayerAvatar.flags &= (PLAYER_AVATAR_FLAG_DASH | PLAYER_AVATAR_FLAG_FORCED | PLAYER_AVATAR_FLAG_CONTROLLABLE);
|
||||
gPlayerAvatar.flags |= flags;
|
||||
}
|
||||
|
||||
@@ -1258,21 +1259,21 @@ u8 GetPlayerAvatarStateTransitionByGraphicsId(u8 graphicsId, u8 gender)
|
||||
u8 GetPlayerAvatarGraphicsIdByCurrentState(void)
|
||||
{
|
||||
u8 i;
|
||||
u8 r5 = gPlayerAvatar.flags;
|
||||
u8 flags = gPlayerAvatar.flags;
|
||||
|
||||
for (i = 0; i < NELEMS(*sPlayerAvatarGfxToStateFlag); i++)
|
||||
{
|
||||
if (sPlayerAvatarGfxToStateFlag[gPlayerAvatar.gender][i][1] & r5)
|
||||
if (sPlayerAvatarGfxToStateFlag[gPlayerAvatar.gender][i][1] & flags)
|
||||
return sPlayerAvatarGfxToStateFlag[gPlayerAvatar.gender][i][0];
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
void SetPlayerAvatarExtraStateTransition(u8 graphicsId, u8 b)
|
||||
void SetPlayerAvatarExtraStateTransition(u8 graphicsId, u8 extras)
|
||||
{
|
||||
u8 unk = GetPlayerAvatarStateTransitionByGraphicsId(graphicsId, gPlayerAvatar.gender);
|
||||
|
||||
gPlayerAvatar.transitionFlags |= unk | b;
|
||||
gPlayerAvatar.transitionFlags |= unk | extras;
|
||||
DoPlayerAvatarTransition();
|
||||
}
|
||||
|
||||
@@ -1305,7 +1306,7 @@ void InitPlayerAvatar(s16 x, s16 y, u8 direction, u8 gender)
|
||||
gPlayerAvatar.objectEventId = objectEventId;
|
||||
gPlayerAvatar.spriteId = objectEvent->spriteId;
|
||||
gPlayerAvatar.gender = gender;
|
||||
SetPlayerAvatarStateMask(PLAYER_AVATAR_FLAG_FIELD_MOVE | PLAYER_AVATAR_FLAG_ON_FOOT);
|
||||
SetPlayerAvatarStateMask(PLAYER_AVATAR_FLAG_CONTROLLABLE | PLAYER_AVATAR_FLAG_ON_FOOT);
|
||||
}
|
||||
|
||||
void SetPlayerInvisibility(bool8 invisible)
|
||||
@@ -1362,7 +1363,7 @@ static bool8 (*const sArrowWarpMetatileBehaviorChecks2[])(u8) = {
|
||||
MetatileBehavior_IsEastArrowWarp
|
||||
};
|
||||
|
||||
static void sub_805CC40(struct ObjectEvent *objectEvent)
|
||||
static void HandleWarpArrowSpriteHideShow(struct ObjectEvent *objectEvent)
|
||||
{
|
||||
s16 x;
|
||||
s16 y;
|
||||
@@ -1383,10 +1384,10 @@ static void sub_805CC40(struct ObjectEvent *objectEvent)
|
||||
SetSpriteInvisible(objectEvent->warpArrowSpriteId);
|
||||
}
|
||||
|
||||
static bool8 (*const gUnknown_835B8A0[])(struct Task * task, struct ObjectEvent * playerObj, struct ObjectEvent * boulderObj) = {
|
||||
sub_805CD64,
|
||||
static bool8 (*const sBoulderTaskSteps[])(struct Task * task, struct ObjectEvent * playerObj, struct ObjectEvent * boulderObj) = {
|
||||
do_boulder_init,
|
||||
do_boulder_dust,
|
||||
sub_805CE20
|
||||
do_boulder_finish
|
||||
};
|
||||
|
||||
static void StartStrengthAnim(u8 a, u8 b)
|
||||
@@ -1400,13 +1401,13 @@ static void StartStrengthAnim(u8 a, u8 b)
|
||||
|
||||
static void Task_BumpBoulder(u8 taskId)
|
||||
{
|
||||
while (gUnknown_835B8A0[gTasks[taskId].data[0]](&gTasks[taskId],
|
||||
while (sBoulderTaskSteps[gTasks[taskId].data[0]](&gTasks[taskId],
|
||||
&gObjectEvents[gPlayerAvatar.objectEventId],
|
||||
&gObjectEvents[gTasks[taskId].data[1]]))
|
||||
;
|
||||
}
|
||||
|
||||
static bool8 sub_805CD64(struct Task *task, struct ObjectEvent *playerObject, struct ObjectEvent *strengthObject)
|
||||
static bool8 do_boulder_init(struct Task *task, struct ObjectEvent *playerObject, struct ObjectEvent *strengthObject)
|
||||
{
|
||||
ScriptContext2_Enable();
|
||||
gPlayerAvatar.preventStep = TRUE;
|
||||
@@ -1421,8 +1422,8 @@ static bool8 do_boulder_dust(struct Task *task, struct ObjectEvent *playerObject
|
||||
{
|
||||
ObjectEventClearHeldMovementIfFinished(playerObject);
|
||||
ObjectEventClearHeldMovementIfFinished(strengthObject);
|
||||
sub_805C06C(playerObject, GetWalkInPlaceNormalMovementAction((u8)task->data[2]));
|
||||
sub_805C0A4(strengthObject, sub_8063F2C((u8)task->data[2]));
|
||||
QL_TryRecordPlayerStepWithDuration0(playerObject, GetWalkInPlaceNormalMovementAction((u8)task->data[2]));
|
||||
QL_TryRecordNPCStepWithDuration32(strengthObject, GetWalkSlowestMovementAction((u8)task->data[2]));
|
||||
gFieldEffectArguments[0] = strengthObject->currentCoords.x;
|
||||
gFieldEffectArguments[1] = strengthObject->currentCoords.y;
|
||||
gFieldEffectArguments[2] = strengthObject->previousElevation;
|
||||
@@ -1434,7 +1435,7 @@ static bool8 do_boulder_dust(struct Task *task, struct ObjectEvent *playerObject
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static bool8 sub_805CE20(struct Task *task, struct ObjectEvent *playerObject, struct ObjectEvent *strengthObject)
|
||||
static bool8 do_boulder_finish(struct Task *task, struct ObjectEvent *playerObject, struct ObjectEvent *strengthObject)
|
||||
{
|
||||
if (ObjectEventCheckHeldMovementStatus(playerObject)
|
||||
&& ObjectEventCheckHeldMovementStatus(strengthObject))
|
||||
@@ -1472,12 +1473,12 @@ static bool8 PlayerAvatar_DoSecretBaseMatJump(struct Task *task, struct ObjectEv
|
||||
if (ObjectEventClearHeldMovementIfFinished(objectEvent))
|
||||
{
|
||||
PlaySE(SE_LEDGE);
|
||||
sub_805C06C(objectEvent, GetJumpInPlaceMovementAction(objectEvent->facingDirection));
|
||||
QL_TryRecordPlayerStepWithDuration0(objectEvent, GetJumpInPlaceMovementAction(objectEvent->facingDirection));
|
||||
task->data[1]++;
|
||||
if (task->data[1] > 1)
|
||||
{
|
||||
gPlayerAvatar.preventStep = FALSE;
|
||||
gPlayerAvatar.transitionFlags |= PLAYER_AVATAR_FLAG_FIELD_MOVE;
|
||||
gPlayerAvatar.transitionFlags |= PLAYER_AVATAR_FLAG_CONTROLLABLE;
|
||||
DestroyTask(FindTaskIdByFunc(DoPlayerAvatarSecretBaseMatJump));
|
||||
}
|
||||
}
|
||||
@@ -1522,7 +1523,7 @@ static bool8 PlayerAvatar_SecretBaseMatSpinStep1(struct Task *task, struct Objec
|
||||
{
|
||||
u8 direction;
|
||||
|
||||
sub_805C06C(objectEvent, GetFaceDirectionMovementAction(direction = directions[objectEvent->movementDirection - 1]));
|
||||
QL_TryRecordPlayerStepWithDuration0(objectEvent, GetFaceDirectionMovementAction(direction = directions[objectEvent->movementDirection - 1]));
|
||||
if (direction == (u8)task->data[1])
|
||||
task->data[2]++;
|
||||
task->data[0]++;
|
||||
@@ -1544,7 +1545,7 @@ static bool8 PlayerAvatar_SecretBaseMatSpinStep2(struct Task *task, struct Objec
|
||||
|
||||
if (ObjectEventClearHeldMovementIfFinished(objectEvent))
|
||||
{
|
||||
sub_805C06C(objectEvent, actions[task->data[2]]);
|
||||
QL_TryRecordPlayerStepWithDuration0(objectEvent, actions[task->data[2]]);
|
||||
task->data[0] = 1;
|
||||
}
|
||||
return FALSE;
|
||||
@@ -1554,7 +1555,7 @@ static bool8 PlayerAvatar_SecretBaseMatSpinStep3(struct Task *task, struct Objec
|
||||
{
|
||||
if (ObjectEventClearHeldMovementIfFinished(objectEvent))
|
||||
{
|
||||
sub_805C06C(objectEvent, sub_8063F2C(GetOppositeDirection(task->data[1])));
|
||||
QL_TryRecordPlayerStepWithDuration0(objectEvent, GetWalkSlowestMovementAction(GetOppositeDirection(task->data[1])));
|
||||
ScriptContext2_Disable();
|
||||
gPlayerAvatar.preventStep = FALSE;
|
||||
DestroyTask(FindTaskIdByFunc(PlayerAvatar_DoSecretBaseMatSpin));
|
||||
@@ -1611,7 +1612,7 @@ static void Task_StopSurfingInit(u8 taskId)
|
||||
return;
|
||||
}
|
||||
sub_80DC44C(playerObjEvent->fieldEffectSpriteId, 2);
|
||||
sub_805C06C(playerObjEvent, sub_80641EC((u8)gTasks[taskId].data[0]));
|
||||
QL_TryRecordPlayerStepWithDuration0(playerObjEvent, sub_80641EC((u8)gTasks[taskId].data[0]));
|
||||
gTasks[taskId].func = Task_WaitStopSurfing;
|
||||
}
|
||||
|
||||
@@ -1622,7 +1623,7 @@ static void Task_WaitStopSurfing(u8 taskId)
|
||||
if (ObjectEventClearHeldMovementIfFinished(playerObjEvent))
|
||||
{
|
||||
ObjectEventSetGraphicsId(playerObjEvent, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_GFX_NORMAL));
|
||||
sub_805C06C(playerObjEvent, GetFaceDirectionMovementAction(playerObjEvent->facingDirection));
|
||||
QL_TryRecordPlayerStepWithDuration0(playerObjEvent, GetFaceDirectionMovementAction(playerObjEvent->facingDirection));
|
||||
gPlayerAvatar.preventStep = FALSE;
|
||||
ScriptContext2_Disable();
|
||||
UnfreezeObjectEvents();
|
||||
|
||||
@@ -109,9 +109,9 @@ void ResetCyclingRoadChallengeData(void)
|
||||
|
||||
u8 GetPlayerAvatarBike(void)
|
||||
{
|
||||
if (TestPlayerAvatarFlags(4))
|
||||
if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_ACRO_BIKE))
|
||||
return 1;
|
||||
else if (TestPlayerAvatarFlags(2))
|
||||
else if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_MACH_BIKE))
|
||||
return 2;
|
||||
else
|
||||
return 0;
|
||||
|
||||
+2
-2
@@ -1393,7 +1393,7 @@ static void DoCB1_Overworld(u16 newKeys, u16 heldKeys)
|
||||
struct FieldInput fieldInput;
|
||||
|
||||
sub_8112B3C();
|
||||
sub_805BEB8();
|
||||
UpdatePlayerAvatarTransitionState();
|
||||
FieldClearPlayerInput(&fieldInput);
|
||||
FieldGetPlayerInput(&fieldInput, newKeys, heldKeys);
|
||||
FieldInput_HandleCancelSignpost(&fieldInput);
|
||||
@@ -1419,7 +1419,7 @@ static void DoCB1_Overworld_QuestLogPlayback(void)
|
||||
struct FieldInput fieldInput;
|
||||
|
||||
sub_8112B3C();
|
||||
sub_805BEB8();
|
||||
UpdatePlayerAvatarTransitionState();
|
||||
sub_8111C68();
|
||||
FieldClearPlayerInput(&fieldInput);
|
||||
fieldInput = gQuestLogFieldInput;
|
||||
|
||||
@@ -125,7 +125,7 @@ static void Task_QLFishMovement(u8 taskId)
|
||||
if (!(gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_SURFING))
|
||||
QL_SetObjectGraphicsId(objectEvent, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_GFX_NORMAL));
|
||||
else
|
||||
QL_SetObjectGraphicsId(objectEvent, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_GFX_SURF));
|
||||
QL_SetObjectGraphicsId(objectEvent, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_GFX_RIDE));
|
||||
ObjectEventTurn(objectEvent, objectEvent->movementDirection);
|
||||
sprite->pos2.x = 0;
|
||||
sprite->pos2.y = 0;
|
||||
@@ -143,7 +143,7 @@ static void QL_GfxTransition_StartSurf(void)
|
||||
|
||||
if (!(gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_SURFING))
|
||||
{
|
||||
QL_SetObjectGraphicsId(objectEvent, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_GFX_SURF));
|
||||
QL_SetObjectGraphicsId(objectEvent, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_GFX_RIDE));
|
||||
ObjectEventTurn(objectEvent, objectEvent->movementDirection);
|
||||
SetPlayerAvatarStateMask(PLAYER_AVATAR_FLAG_SURFING);
|
||||
gFieldEffectArguments[0] = objectEvent->currentCoords.x;
|
||||
|
||||
+1
-1
@@ -356,7 +356,7 @@ static bool8 TrainerSeeFunc_PrepareToEngage(u8 taskId, struct Task * task, struc
|
||||
if (ObjectEventIsMovementOverridden(playerObj) && !ObjectEventClearHeldMovementIfFinished(playerObj))
|
||||
return FALSE;
|
||||
|
||||
sub_805C774();
|
||||
CancelPlayerForcedMovement();
|
||||
// Uncomment to have player turn to face their opponent
|
||||
// ObjectEventSetHeldMovement(&gObjectEvents[gPlayerAvatar.objectEventId], GetFaceDirectionMovementAction(GetOppositeDirection(trainerObj->facingDirection)));
|
||||
task->tFuncId++;
|
||||
|
||||
Reference in New Issue
Block a user