Some more quest log and field player avater documentation

This commit is contained in:
PikalaxALT
2021-03-19 09:26:01 -04:00
parent 8ccf95e502
commit 45f75213c0
14 changed files with 183 additions and 148 deletions
+2 -2
View File
@@ -4,14 +4,14 @@
#define OBJ_EVENT_GFX_RED_NORMAL 0
#define OBJ_EVENT_GFX_RED_BIKE 1
#define OBJ_EVENT_GFX_RED_SURF 2
#define OBJ_EVENT_GFX_RED_ITEM 3
#define OBJ_EVENT_GFX_RED_FIELD_MOVE 3
#define OBJ_EVENT_GFX_RED_FISH 4
#define OBJ_EVENT_GFX_RED_VS_SEEKER 5
#define OBJ_EVENT_GFX_RED_VS_SEEKER_BIKE 6
#define OBJ_EVENT_GFX_GREEN_NORMAL 7
#define OBJ_EVENT_GFX_GREEN_BIKE 8
#define OBJ_EVENT_GFX_GREEN_SURF 9
#define OBJ_EVENT_GFX_GREEN_ITEM 10
#define OBJ_EVENT_GFX_GREEN_FIELD_MOVE 10
#define OBJ_EVENT_GFX_GREEN_FISH 11
#define OBJ_EVENT_GFX_GREEN_VS_SEEKER 12
#define OBJ_EVENT_GFX_GREEN_VS_SEEKER_BIKE 13
+2 -2
View File
@@ -28,7 +28,7 @@ void StartFishing(u8 secondaryId);
u8 GetPlayerAvatarObjectId(void);
u8 PlayerGetZCoord(void);
u8 GetPlayerAvatarGraphicsIdByCurrentState(void);
void sub_805CB70(void);
void StartPlayerAvatarSummonMonForFieldMoveAnim(void);
void SetPlayerInvisibility(bool8);
void StartTeleportInPlayerAnim(void);
void StartTeleportWarpOutPlayerAnim(void);
@@ -37,7 +37,7 @@ bool32 WaitTeleportInPlayerAnim(void);
bool8 PartyHasMonWithSurf(void);
bool8 IsPlayerSurfingNorth(void);
u8 player_get_pos_including_state_based_drift(s16 *x, s16 *y);
void sub_805CBE8(void);
void StartPlayerAvatarVsSeekerAnim(void);
u8 GetRivalAvatarGraphicsIdByStateIdAndGender(u8 state, u8 gender);
u8 GetPlayerAvatarGraphicsIdByStateIdAndGender(u8 state, u8 gender);
u8 CheckForObjectEventCollision(struct ObjectEvent *objectEvent, s16 x, s16 y, u8 direction, u8 metatileBehavior);
+9
View File
@@ -293,6 +293,15 @@ enum {
#define PLAYER_AVATAR_FLAG_FISHING (1 << PLAYER_AVATAR_STATE_FISHING)
#define PLAYER_AVATAR_FLAG_DASH (1 << PLAYER_AVATAR_STATE_WATERING)
enum {
PLAYER_AVATAR_GFX_NORMAL,
PLAYER_AVATAR_GFX_BIKE,
PLAYER_AVATAR_GFX_SURF,
PLAYER_AVATAR_GFX_FIELD_MOVE,
PLAYER_AVATAR_GFX_FISH,
PLAYER_AVATAR_GFX_VSSEEKER,
};
enum
{
ACRO_BIKE_NORMAL,
+16 -12
View File
@@ -8,10 +8,11 @@
struct QuestLogEntry
{
u8 localId;
u8 mapNum;
u8 mapGroup;
u8 animId;
// When command == 2, these fields have different meanings
u8 localId; // cmd == 2: Pressed A/B, checked wild, held direction, took step
u8 mapNum; // cmd == 2: Always set to 0
u8 mapGroup; // cmd == 2: Dpad direction
u8 animId; // cmd == 2: Always set to 0
u16 duration;
u8 command;
};
@@ -32,7 +33,7 @@ extern u16 *gUnknown_203AE04;
extern u16 *sEventRecordingPointer;
extern u16 sQuestLogCursor;
void sub_8112720(u8);
void QuestLogRecordPlayerAvatarGfxTransition(u8);
void SetQuestLogEvent(u16, const u16 *);
void SetQLPlayedTheSlots(void);
void QuestLog_RecordEnteredMap(u16);
@@ -54,15 +55,18 @@ void *QuestLogGetFlagOrVarPtr(bool8 isFlag, u16 idx);
void QuestLogSetFlagOrVar(bool8 isFlag, u16 idx, u16 value);
void SetQuestLogRecordAndPlaybackPointers(void *oldSave);
void sub_811246C(struct Sprite *sprite);
void sub_81124EC(u8 a0, u8 a1, u8 a2, u8 a3);
void QuestLogRecordNPCStep(u8 a0, u8 a1, u8 a2, u8 a3);
bool8 sub_8111C2C(void);
void sub_81128BC(u8 a0);
void sub_811278C(u8 movementActionId, u8 duration);
#define QL_ESCALATOR_OUT 1
#define QL_ESCALATOR_IN 2
void QuestLog_OnEscalatorWarp(u8 direction);
void QuestLogRecordPlayerAvatarGfxTransitionWithDuration(u8 movementActionId, u8 duration);
void Special_UpdateTrainerFansAfterLinkBattle(void);
void sub_8112628(u8 movementActionId);
void sub_81126AC(u8 movementActionId, u8 duration);
void sub_8112588(u8 localId, u8 mapNum, u8 mapGroup, u8 movementActionId, u8 duration);
void sub_8112C9C(void);
void QuestLogRecordPlayerStep(u8 movementActionId);
void QuestLogRecordPlayerStepWithDuration(u8 movementActionId, u8 duration);
void QuestLogRecordNPCStepWithDuration(u8 localId, u8 mapNum, u8 mapGroup, u8 movementActionId, u8 duration);
void QL_AfterRecordFishActionSuccessful(void);
void sub_8110920(void);
void sub_8111708(void);
void sub_81127F8(struct FieldInput * a0);
+13 -3
View File
@@ -3,8 +3,18 @@
#include "global.h"
void sub_8150454(void);
bool32 sub_8150474(u8 a0);
void sub_8150498(u8 a0);
#define QL_PLAYER_GFX_NORMAL 0
#define QL_PLAYER_GFX_BIKE 1
#define QL_PLAYER_GFX_FISH 2
#define QL_PLAYER_GFX_SURF 3
#define QL_PLAYER_GFX_STOP_SURF_S 4
#define QL_PLAYER_GFX_STOP_SURF_N 5
#define QL_PLAYER_GFX_STOP_SURF_W 6
#define QL_PLAYER_GFX_STOP_SURF_E 7
#define QL_PLAYER_GFX_VSSEEKER 8
void QuestLogUpdatePlayerSprite(u8 state);
bool32 QuestLogTryRecordPlayerAvatarGfxTransition(u8 state);
void QuestLogCallUpdatePlayerSprite(u8 state);
#endif //GUARD_QUEST_LOG_PLAYER_H
@@ -1,7 +1,7 @@
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RedNormal = {SPRITE_INVALID_TAG, OBJ_EVENT_PAL_TAG_8, OBJ_EVENT_PAL_TAG_10, 512, 16, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_RedGreenNormal, gObjectEventPicTable_RedNormal, gDummySpriteAffineAnimTable};
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RedBike = {SPRITE_INVALID_TAG, OBJ_EVENT_PAL_TAG_8, OBJ_EVENT_PAL_TAG_10, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_RedBike, gDummySpriteAffineAnimTable};
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RedSurf = {SPRITE_INVALID_TAG, OBJ_EVENT_PAL_TAG_8, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 0, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_RedGreenSurf, gObjectEventPicTable_RedSurf, gDummySpriteAffineAnimTable};
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RedItem = {SPRITE_INVALID_TAG, OBJ_EVENT_PAL_TAG_8, OBJ_EVENT_PAL_TAG_10, 256, 16, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_RedGreenItem, gObjectEventPicTable_RedItem, gDummySpriteAffineAnimTable};
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RedFieldMove = {SPRITE_INVALID_TAG, OBJ_EVENT_PAL_TAG_8, OBJ_EVENT_PAL_TAG_10, 256, 16, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_RedGreenItem, gObjectEventPicTable_RedItem, gDummySpriteAffineAnimTable};
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Policeman = {SPRITE_INVALID_TAG, OBJ_EVENT_PAL_TAG_0, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Policeman, gDummySpriteAffineAnimTable};
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RSBrendan = {SPRITE_INVALID_TAG, OBJ_EVENT_PAL_TAG_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_RSBrendan, gDummySpriteAffineAnimTable};
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RSMay = {SPRITE_INVALID_TAG, OBJ_EVENT_PAL_TAG_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_RSMay, gDummySpriteAffineAnimTable};
@@ -70,7 +70,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_StrengthBoulder =
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GreenNormal = {SPRITE_INVALID_TAG, OBJ_EVENT_PAL_TAG_17, OBJ_EVENT_PAL_TAG_10, 512, 16, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_RedGreenNormal, gObjectEventPicTable_GreenNormal, gDummySpriteAffineAnimTable};
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GreenBike = {SPRITE_INVALID_TAG, OBJ_EVENT_PAL_TAG_17, OBJ_EVENT_PAL_TAG_10, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_GreenBike, gDummySpriteAffineAnimTable};
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GreenSurf = {SPRITE_INVALID_TAG, OBJ_EVENT_PAL_TAG_17, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 0, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_RedGreenSurf, gObjectEventPicTable_GreenSurf, gDummySpriteAffineAnimTable};
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GreenItem = {SPRITE_INVALID_TAG, OBJ_EVENT_PAL_TAG_17, OBJ_EVENT_PAL_TAG_10, 256, 16, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_RedGreenItem, gObjectEventPicTable_GreenItem, gDummySpriteAffineAnimTable};
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GreenFieldMove = {SPRITE_INVALID_TAG, OBJ_EVENT_PAL_TAG_17, OBJ_EVENT_PAL_TAG_10, 256, 16, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_RedGreenItem, gObjectEventPicTable_GreenItem, gDummySpriteAffineAnimTable};
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_83A45F4 = {SPRITE_INVALID_TAG, OBJ_EVENT_PAL_TAG_8, OBJ_EVENT_PAL_TAG_10, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gObjectEventBaseOam_32x32, gObjectEventSpriteOamTables_32x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_RedBike, gDummySpriteAffineAnimTable};
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RocketM = {SPRITE_INVALID_TAG, OBJ_EVENT_PAL_TAG_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_RocketM, gDummySpriteAffineAnimTable};
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_Celio = {SPRITE_INVALID_TAG, OBJ_EVENT_PAL_TAG_3, OBJ_EVENT_PAL_TAG_NONE, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_16x32, gObjectEventSpriteOamTables_16x32, gObjectEventImageAnimTable_Standard, gObjectEventPicTable_Celio, gDummySpriteAffineAnimTable};
@@ -1,14 +1,14 @@
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RedNormal;
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RedBike;
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RedSurf;
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RedItem;
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RedFieldMove;
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RedFish;
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RedVSSeeker;
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RedVSSeekerBike;
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GreenNormal;
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GreenBike;
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GreenSurf;
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GreenItem;
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GreenFieldMove;
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GreenFish;
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GreenVSSeeker;
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GreenVSSeekerBike;
@@ -156,14 +156,14 @@ const struct ObjectEventGraphicsInfo *const gObjectEventGraphicsInfoPointers[NUM
[OBJ_EVENT_GFX_RED_NORMAL] = &gObjectEventGraphicsInfo_RedNormal,
[OBJ_EVENT_GFX_RED_BIKE] = &gObjectEventGraphicsInfo_RedBike,
[OBJ_EVENT_GFX_RED_SURF] = &gObjectEventGraphicsInfo_RedSurf,
[OBJ_EVENT_GFX_RED_ITEM] = &gObjectEventGraphicsInfo_RedItem,
[OBJ_EVENT_GFX_RED_FIELD_MOVE] = &gObjectEventGraphicsInfo_RedFieldMove,
[OBJ_EVENT_GFX_RED_FISH] = &gObjectEventGraphicsInfo_RedFish,
[OBJ_EVENT_GFX_RED_VS_SEEKER] = &gObjectEventGraphicsInfo_RedVSSeeker,
[OBJ_EVENT_GFX_RED_VS_SEEKER_BIKE] = &gObjectEventGraphicsInfo_RedVSSeekerBike,
[OBJ_EVENT_GFX_GREEN_NORMAL] = &gObjectEventGraphicsInfo_GreenNormal,
[OBJ_EVENT_GFX_GREEN_BIKE] = &gObjectEventGraphicsInfo_GreenBike,
[OBJ_EVENT_GFX_GREEN_SURF] = &gObjectEventGraphicsInfo_GreenSurf,
[OBJ_EVENT_GFX_GREEN_ITEM] = &gObjectEventGraphicsInfo_GreenItem,
[OBJ_EVENT_GFX_GREEN_FIELD_MOVE] = &gObjectEventGraphicsInfo_GreenFieldMove,
[OBJ_EVENT_GFX_GREEN_FISH] = &gObjectEventGraphicsInfo_GreenFish,
[OBJ_EVENT_GFX_GREEN_VS_SEEKER] = &gObjectEventGraphicsInfo_GreenVSSeeker,
[OBJ_EVENT_GFX_GREEN_VS_SEEKER_BIKE] = &gObjectEventGraphicsInfo_GreenVSSeekerBike,
+4 -4
View File
@@ -6,13 +6,13 @@ static EWRAM_DATA const u8 *sStringPointers[8] = {0};
static const u8 sTextColorTable[] =
{
// [LOW_NYBBLE / 2] = 0xXY, // HIGH_NYBBLE
// [LOW_NYBBLE / 2] = 0xXY, // HIGH_NYBBLE
[OBJ_EVENT_GFX_RED_NORMAL / 2] = 0x00, // OBJ_EVENT_GFX_RED_BIKE
[OBJ_EVENT_GFX_RED_SURF / 2] = 0x00, // OBJ_EVENT_GFX_RED_ITEM
[OBJ_EVENT_GFX_RED_SURF / 2] = 0x00, // OBJ_EVENT_GFX_RED_FIELD_MOVE
[OBJ_EVENT_GFX_RED_FISH / 2] = 0x00, // OBJ_EVENT_GFX_RED_VS_SEEKER
[OBJ_EVENT_GFX_RED_VS_SEEKER_BIKE / 2] = 0x10, // OBJ_EVENT_GFX_GREEN_NORMAL
[OBJ_EVENT_GFX_RED_VS_SEEKER_BIKE / 2] = 0x10, // OBJ_EVENT_GFX_GREEN_NORMAL
[OBJ_EVENT_GFX_GREEN_BIKE / 2] = 0x11, // OBJ_EVENT_GFX_GREEN_SURF
[OBJ_EVENT_GFX_GREEN_ITEM / 2] = 0x11, // OBJ_EVENT_GFX_GREEN_FISH
[OBJ_EVENT_GFX_GREEN_FIELD_MOVE / 2] = 0x11, // OBJ_EVENT_GFX_GREEN_FISH
[OBJ_EVENT_GFX_GREEN_VS_SEEKER / 2] = 0x11, // OBJ_EVENT_GFX_GREEN_VS_SEEKER_BIKE
[OBJ_EVENT_GFX_RS_BRENDAN / 2] = 0x10, // OBJ_EVENT_GFX_RS_MAY
[OBJ_EVENT_GFX_LITTLE_BOY / 2] = 0x10, // OBJ_EVENT_GFX_LITTLE_GIRL
+1 -1
View File
@@ -5557,7 +5557,7 @@ static void ObjectEventSetSingleMovement(struct ObjectEvent *objectEvent, struct
if (gQuestLogPlaybackState == 2)
{
sub_81124EC(objectEvent->localId, objectEvent->mapNum, objectEvent->mapGroup, animId);
QuestLogRecordNPCStep(objectEvent->localId, objectEvent->mapNum, objectEvent->mapGroup, animId);
}
}
+7 -7
View File
@@ -1293,7 +1293,7 @@ static bool8 EscalatorWarpEffect_1(struct Task * task)
FreezeObjectEvents();
CameraObjectReset2();
StartEscalator(task->data[1]);
sub_81128BC(1);
QuestLog_OnEscalatorWarp(QL_ESCALATOR_OUT);
task->data[0]++;
return FALSE;
}
@@ -1534,7 +1534,7 @@ static bool8 EscalatorWarpInEffect_7(struct Task * task)
UnfreezeObjectEvents();
ObjectEventSetHeldMovement(objectEvent, GetWalkNormalMovementAction(DIR_EAST));
DestroyTask(FindTaskIdByFunc(Task_EscalatorWarpInFieldEffect));
sub_81128BC(2);
QuestLog_OnEscalatorWarp(QL_ESCALATOR_IN);
}
return FALSE;
}
@@ -2919,7 +2919,7 @@ static void UseSurfEffect_2(struct Task * task)
objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId];
if (!ObjectEventIsMovementOverridden(objectEvent) || ObjectEventClearHeldMovementIfFinished(objectEvent))
{
sub_805CB70();
StartPlayerAvatarSummonMonForFieldMoveAnim();
ObjectEventSetHeldMovement(objectEvent, MOVEMENT_ACTION_START_ANIM_IN_DIRECTION);
task->data[0]++;
}
@@ -2988,7 +2988,7 @@ static void (*const sUseVsSeekerEffectFuncs[])(struct Task * task) = {
u32 FldEff_UseVsSeeker(void)
{
if (gQuestLogState == QL_STATE_RECORDING)
sub_811278C(8, 89);
QuestLogRecordPlayerAvatarGfxTransitionWithDuration(8, 89);
CreateTask(Task_FldEffUseVsSeeker, 0xFF);
return 0;
}
@@ -3011,7 +3011,7 @@ static void UseVsSeekerEffect_2(struct Task * task)
struct ObjectEvent * playerObj = &gObjectEvents[gPlayerAvatar.objectEventId];
if (!ObjectEventIsMovementOverridden(playerObj) || ObjectEventClearHeldMovementIfFinished(playerObj))
{
sub_805CBE8();
StartPlayerAvatarVsSeekerAnim();
ObjectEventSetHeldMovement(playerObj, MOVEMENT_ACTION_START_ANIM_IN_DIRECTION);
task->data[0]++;
}
@@ -3132,7 +3132,7 @@ static void UseFlyEffect_1(struct Task * task)
task->data[15] = gPlayerAvatar.flags;
gPlayerAvatar.preventStep = TRUE;
SetPlayerAvatarStateMask(1);
sub_805CB70();
StartPlayerAvatarSummonMonForFieldMoveAnim();
ObjectEventSetHeldMovement(objectEvent, MOVEMENT_ACTION_START_ANIM_IN_DIRECTION);
task->data[0]++;
}
@@ -3518,7 +3518,7 @@ static void FlyInEffect_4(struct Task * task)
sprite->pos2.x = 0;
sprite->pos2.y = 0;
sprite->coordOffsetEnabled = TRUE;
sub_805CB70();
StartPlayerAvatarSummonMonForFieldMoveAnim();
ObjectEventSetHeldMovement(objectEvent, MOVEMENT_ACTION_START_ANIM_IN_DIRECTION);
task->data[0]++;
}
+39 -39
View File
@@ -581,12 +581,12 @@ u8 CheckForObjectEventCollision(struct ObjectEvent *objectEvent, s16 x, s16 y, u
return collision;
}
static const u8 gUnknown_835B820[] = {
MOVEMENT_ACTION_FACE_DOWN_FAST,
MOVEMENT_ACTION_FACE_DOWN_FAST,
MOVEMENT_ACTION_FACE_UP_FAST,
MOVEMENT_ACTION_FACE_LEFT_FAST,
MOVEMENT_ACTION_FACE_RIGHT_FAST
static const u8 sQuestLogSurfDismountActionIds[] = {
QL_PLAYER_GFX_STOP_SURF_S,
QL_PLAYER_GFX_STOP_SURF_S,
QL_PLAYER_GFX_STOP_SURF_N,
QL_PLAYER_GFX_STOP_SURF_W,
QL_PLAYER_GFX_STOP_SURF_E
};
static bool8 CanStopSurfing(s16 x, s16 y, u8 direction)
@@ -595,7 +595,7 @@ static bool8 CanStopSurfing(s16 x, s16 y, u8 direction)
&& MapGridGetZCoordAt(x, y) == 3
&& GetObjectEventIdByXYZ(x, y, 3) == OBJECT_EVENTS_COUNT)
{
sub_811278C(gUnknown_835B820[direction], 16);
QuestLogRecordPlayerAvatarGfxTransitionWithDuration(sQuestLogSurfDismountActionIds[direction], 16);
CreateStopSurfingTask(direction);
return TRUE;
}
@@ -711,21 +711,21 @@ static void PlayerAvatarTransition_Dummy(struct ObjectEvent * playerObjEvent)
static void PlayerAvatarTransition_Normal(struct ObjectEvent * playerObjEvent)
{
sub_8150474(0);
sub_8150498(0);
QuestLogTryRecordPlayerAvatarGfxTransition(QL_PLAYER_GFX_NORMAL);
QuestLogCallUpdatePlayerSprite(QL_PLAYER_GFX_NORMAL);
}
static void PlayerAvatarTransition_Bike(struct ObjectEvent * playerObjEvent)
{
sub_8150474(1);
sub_8150498(1);
QuestLogTryRecordPlayerAvatarGfxTransition(QL_PLAYER_GFX_BIKE);
QuestLogCallUpdatePlayerSprite(QL_PLAYER_GFX_BIKE);
InitPlayerAvatarBikeState(0, 0);
}
static void PlayerAvatarTransition_Surfing(struct ObjectEvent * playerObjEvent)
{
sub_8150474(3);
sub_8150498(3);
QuestLogTryRecordPlayerAvatarGfxTransition(QL_PLAYER_GFX_SURF);
QuestLogCallUpdatePlayerSprite(QL_PLAYER_GFX_SURF);
}
static void PlayerAvatarTransition_Underwater(struct ObjectEvent * playerObjEvent)
@@ -809,20 +809,20 @@ static void PlayerSetAnimId(u8 movementActionId, u8 copyableMovement)
{
PlayerSetCopyableMovement(copyableMovement);
if (!ObjectEventSetHeldMovement(&gObjectEvents[gPlayerAvatar.objectEventId], movementActionId))
sub_8112628(movementActionId);
QuestLogRecordPlayerStep(movementActionId);
}
}
static void sub_805C06C(struct ObjectEvent * objectEvent, u8 movementAction)
{
if (!ObjectEventSetHeldMovement(&gObjectEvents[gPlayerAvatar.objectEventId], movementAction))
sub_81126AC(movementAction, 0);
QuestLogRecordPlayerStepWithDuration(movementAction, 0);
}
static void sub_805C0A4(struct ObjectEvent * objectEvent, u8 movementAction)
{
if (!ObjectEventSetHeldMovement(objectEvent, movementAction))
sub_8112588(objectEvent->localId, objectEvent->mapNum, objectEvent->mapGroup, movementAction, 32);
QuestLogRecordNPCStepWithDuration(objectEvent->localId, objectEvent->mapNum, objectEvent->mapGroup, movementAction, 32);
}
void sub_805C0D4(u8 direction)
@@ -1126,12 +1126,12 @@ void StopPlayerAvatar(void)
}
static const u8 sPlayerAvatarGfxIds[][GENDER_COUNT] = {
{OBJ_EVENT_GFX_RED_NORMAL, OBJ_EVENT_GFX_GREEN_NORMAL},
{OBJ_EVENT_GFX_RED_BIKE, OBJ_EVENT_GFX_GREEN_BIKE},
{OBJ_EVENT_GFX_RED_SURF, OBJ_EVENT_GFX_GREEN_SURF},
{OBJ_EVENT_GFX_RED_ITEM, OBJ_EVENT_GFX_GREEN_ITEM},
{OBJ_EVENT_GFX_RED_FISH, OBJ_EVENT_GFX_GREEN_FISH},
{OBJ_EVENT_GFX_RED_VS_SEEKER, OBJ_EVENT_GFX_GREEN_VS_SEEKER},
[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_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},
};
static const u8 sHoennLinkPartnerGfxIds[] = {
@@ -1166,7 +1166,7 @@ u8 GetPlayerAvatarGenderByGraphicsId(u8 gfxId)
case OBJ_EVENT_GFX_GREEN_NORMAL:
case OBJ_EVENT_GFX_GREEN_BIKE:
case OBJ_EVENT_GFX_GREEN_SURF:
case OBJ_EVENT_GFX_GREEN_ITEM:
case OBJ_EVENT_GFX_GREEN_FIELD_MOVE:
case OBJ_EVENT_GFX_GREEN_FISH:
return FEMALE;
default:
@@ -1283,7 +1283,7 @@ void InitPlayerAvatar(s16 x, s16 y, u8 direction, u8 gender)
struct ObjectEvent *objectEvent;
playerObjEventTemplate.localId = OBJ_EVENT_ID_PLAYER;
playerObjEventTemplate.graphicsId = GetPlayerAvatarGraphicsIdByStateIdAndGender(PLAYER_AVATAR_STATE_NORMAL, gender);
playerObjEventTemplate.graphicsId = GetPlayerAvatarGraphicsIdByStateIdAndGender(PLAYER_AVATAR_GFX_NORMAL, gender);
playerObjEventTemplate.x = x - 7;
playerObjEventTemplate.y = y - 7;
playerObjEventTemplate.elevation = 0;
@@ -1315,34 +1315,34 @@ void SetPlayerInvisibility(bool8 invisible)
gSprites[gObjectEvents[gPlayerAvatar.objectEventId].fieldEffectSpriteId].invisible = invisible;
}
void sub_805CB70(void)
void StartPlayerAvatarSummonMonForFieldMoveAnim(void)
{
ObjectEventSetGraphicsId(&gObjectEvents[gPlayerAvatar.objectEventId], GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_SURFING));
ObjectEventSetGraphicsId(&gObjectEvents[gPlayerAvatar.objectEventId], GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_GFX_FIELD_MOVE));
StartSpriteAnim(&gSprites[gPlayerAvatar.spriteId], 0);
}
static const u8 gUnknown_835B88E[] = {
static const u8 sPlayerAvatarVsSeekerBikeGfxIds[] = {
OBJ_EVENT_GFX_RED_VS_SEEKER_BIKE,
OBJ_EVENT_GFX_GREEN_VS_SEEKER_BIKE
};
u8 sub_805CBB8(void)
u8 GetPlayerAvatarVsSeekerGfxId(void)
{
if (gPlayerAvatar.flags & (PLAYER_AVATAR_FLAG_MACH_BIKE | PLAYER_AVATAR_FLAG_ACRO_BIKE))
return gUnknown_835B88E[gPlayerAvatar.gender];
return sPlayerAvatarVsSeekerBikeGfxIds[gPlayerAvatar.gender];
else
return GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_FIELD_MOVE);
return GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_GFX_VSSEEKER);
}
void sub_805CBE8(void)
void StartPlayerAvatarVsSeekerAnim(void)
{
ObjectEventSetGraphicsId(&gObjectEvents[gPlayerAvatar.objectEventId], sub_805CBB8());
ObjectEventSetGraphicsId(&gObjectEvents[gPlayerAvatar.objectEventId], GetPlayerAvatarVsSeekerGfxId());
StartSpriteAnim(&gSprites[gPlayerAvatar.spriteId], 0);
}
void sub_805CC2C(u8 direction)
void StartPlayerAvatarFishAnim(u8 direction)
{
sub_8150498(2);
QuestLogCallUpdatePlayerSprite(QL_PLAYER_GFX_FISH);
}
void nullsub_24(u8 direction)
@@ -1596,7 +1596,7 @@ void SeafoamIslandsB4F_CurrentDumpsPlayerOnLand(void)
{
if (gQuestLogPlaybackState != 1 && gQuestLogPlaybackState != 3)
{
sub_811278C(gUnknown_835B820[DIR_NORTH], 16);
QuestLogRecordPlayerAvatarGfxTransitionWithDuration(sQuestLogSurfDismountActionIds[DIR_NORTH], 16);
CreateStopSurfingTask(DIR_NORTH);
}
}
@@ -1621,7 +1621,7 @@ static void Task_WaitStopSurfing(u8 taskId)
if (ObjectEventClearHeldMovementIfFinished(playerObjEvent))
{
ObjectEventSetGraphicsId(playerObjEvent, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_NORMAL));
ObjectEventSetGraphicsId(playerObjEvent, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_GFX_NORMAL));
sub_805C06C(playerObjEvent, GetFaceDirectionMovementAction(playerObjEvent->facingDirection));
gPlayerAvatar.preventStep = FALSE;
ScriptContext2_Disable();
@@ -1674,8 +1674,8 @@ void StartFishing(u8 rod)
gTasks[taskId].tFishingRod = rod;
Task_Fishing(taskId);
if (sub_8150474(2) == TRUE)
sub_8112C9C();
if (QuestLogTryRecordPlayerAvatarGfxTransition(QL_PLAYER_GFX_FISH) == TRUE)
QL_AfterRecordFishActionSuccessful();
}
@@ -1705,7 +1705,7 @@ static bool8 Fishing2(struct Task *task)
playerObjEvent = &gObjectEvents[gPlayerAvatar.objectEventId];
ObjectEventClearHeldMovementIfActive(playerObjEvent);
playerObjEvent->enableAnim = 1;
sub_805CC2C(playerObjEvent->facingDirection);
StartPlayerAvatarFishAnim(playerObjEvent->facingDirection);
task->tStep++;
return FALSE;
}
+1 -1
View File
@@ -60,7 +60,7 @@ static void Task_FieldEffectShowMon_Init(u8 taskId)
}
else
{
sub_805CB70();
StartPlayerAvatarSummonMonForFieldMoveAnim();
ObjectEventSetHeldMovement(&gObjectEvents[mapObjId], MOVEMENT_ACTION_START_ANIM_IN_DIRECTION);
gTasks[taskId].func = Task_FieldEffectShowMon_WaitPlayerAnim;
}
+27 -16
View File
@@ -1295,10 +1295,10 @@ void sub_811246C(struct Sprite *sprite)
ObjectEventSetHeldMovement(objectEvent, sMovementScripts[0][0]);
sMovementScripts[0][0] = 0xFF;
}
if (sMovementScripts[0][1] != OBJ_EVENT_ID_PLAYER)
if (sMovementScripts[0][1] != 0xFF)
{
sub_8150454();
sMovementScripts[0][1] = OBJ_EVENT_ID_PLAYER;
QuestLogUpdatePlayerSprite(sMovementScripts[0][1]);
sMovementScripts[0][1] = 0xFF;
}
sub_8063E28(objectEvent, sprite);
}
@@ -1313,7 +1313,7 @@ void sub_811246C(struct Sprite *sprite)
}
}
void sub_81124EC(u8 localId, u8 mapNum, u8 mapGroup, u8 movementActionId)
void QuestLogRecordNPCStep(u8 localId, u8 mapNum, u8 mapGroup, u8 movementActionId)
{
if (!RecordHeadAtEndOfEntryOrScriptContext2Enabled())
{
@@ -1328,7 +1328,7 @@ void sub_81124EC(u8 localId, u8 mapNum, u8 mapGroup, u8 movementActionId)
}
}
void sub_8112588(u8 localId, u8 mapNum, u8 mapGroup, u8 movementActionId, u8 duration)
void QuestLogRecordNPCStepWithDuration(u8 localId, u8 mapNum, u8 mapGroup, u8 movementActionId, u8 duration)
{
if (!RecordHeadAtEndOfEntry())
{
@@ -1343,7 +1343,7 @@ void sub_8112588(u8 localId, u8 mapNum, u8 mapGroup, u8 movementActionId, u8 dur
}
}
void sub_8112628(u8 movementActionId)
void QuestLogRecordPlayerStep(u8 movementActionId)
{
if (!RecordHeadAtEndOfEntryOrScriptContext2Enabled())
{
@@ -1360,7 +1360,7 @@ void sub_8112628(u8 movementActionId)
}
}
void sub_81126AC(u8 movementActionId, u8 duration)
void QuestLogRecordPlayerStepWithDuration(u8 movementActionId, u8 duration)
{
if (!RecordHeadAtEndOfEntry())
{
@@ -1374,7 +1374,7 @@ void sub_81126AC(u8 movementActionId, u8 duration)
}
}
void sub_8112720(u8 movementActionId)
void QuestLogRecordPlayerAvatarGfxTransition(u8 movementActionId)
{
if (!RecordHeadAtEndOfEntry())
{
@@ -1387,7 +1387,7 @@ void sub_8112720(u8 movementActionId)
}
}
void sub_811278C(u8 movementActionId, u8 duration)
void QuestLogRecordPlayerAvatarGfxTransitionWithDuration(u8 movementActionId, u8 duration)
{
if (!RecordHeadAtEndOfEntry())
{
@@ -1404,13 +1404,21 @@ void sub_81127F8(struct FieldInput * a0)
{
if (sQuestLogCursor < sNumEventsInLogEntry)
{
// Retain only the following fields:
// - pressedAButton
// - checkStandardWildEncounter
// - heldDirection
// - heldDirection2
// - tookStep
// - pressedBButton
// - dpadDirection
u32 r2 = *(u32 *)a0 & 0x00FF00F3;
sCurQuestLogEntry[sQuestLogCursor].duration = sNextStepDelay;
sCurQuestLogEntry[sQuestLogCursor].command = 2;
sCurQuestLogEntry[sQuestLogCursor].localId = r2;
sCurQuestLogEntry[sQuestLogCursor].mapNum = r2 >> 8;
sCurQuestLogEntry[sQuestLogCursor].mapNum = r2 >> 8; // always 0
sCurQuestLogEntry[sQuestLogCursor].mapGroup = r2 >> 16;
sCurQuestLogEntry[sQuestLogCursor].animId = r2 >> 24;
sCurQuestLogEntry[sQuestLogCursor].animId = r2 >> 24; // always 0
sQuestLogCursor++;
if (ScriptContext2_IsEnabled())
sNextStepDelay = TRUE;
@@ -1434,13 +1442,13 @@ static void TogglePlaybackStateForOverworldLock(u8 a0)
}
}
void sub_81128BC(u8 a0)
void QuestLog_OnEscalatorWarp(u8 direction)
{
u8 r1 = sub_8112CAC();
switch (a0)
switch (direction)
{
case 1:
case QL_ESCALATOR_OUT: // warp out
if (r1 == 1)
gQuestLogPlaybackState = 3;
else if (r1 == 2)
@@ -1452,7 +1460,7 @@ void sub_81128BC(u8 a0)
gQuestLogPlaybackState = 4;
}
break;
case 2:
case QL_ESCALATOR_IN: // warp in
if (r1 == 1)
gQuestLogPlaybackState = 1;
else if (r1 == 2)
@@ -1546,9 +1554,11 @@ void sub_8112B3C(void)
switch (sCurQuestLogEntry[sQuestLogCursor].command)
{
case 0:
// NPC movement action
sMovementScripts[sCurQuestLogEntry[sQuestLogCursor].localId][0] = sCurQuestLogEntry[sQuestLogCursor].animId;
break;
case 1:
// State transition
sMovementScripts[sCurQuestLogEntry[sQuestLogCursor].localId][1] = sCurQuestLogEntry[sQuestLogCursor].animId;
break;
case 2:
@@ -1556,6 +1566,7 @@ void sub_8112B3C(void)
*(u32 *)&gQuestLogFieldInput = ((sCurQuestLogEntry[sQuestLogCursor].animId << 24) | (sCurQuestLogEntry[sQuestLogCursor].mapGroup << 16) | (sCurQuestLogEntry[sQuestLogCursor].mapNum << 8) | (sCurQuestLogEntry[sQuestLogCursor].localId << 0));
break;
case 3:
// End
gQuestLogPlaybackState = 3;
break;
case 0xFE:
@@ -1596,7 +1607,7 @@ void sub_8112B3C(void)
}
}
void sub_8112C9C(void)
void QL_AfterRecordFishActionSuccessful(void)
{
sNextStepDelay++;
}
+56 -55
View File
@@ -7,71 +7,72 @@
#include "field_effect.h"
#include "field_effect_helpers.h"
#include "quest_log.h"
#include "quest_log_player.h"
static void sub_81504A8(void);
static void sub_81504E8(void);
static void sub_8150530(void);
static void sub_81505C4(u8 taskId);
static void sub_8150708(void);
static void sub_815077C(void);
static void sub_8150794(u8 taskId);
static void sub_81507CC(void);
static void sub_81507D8(void);
static void sub_81507E4(void);
static void sub_81507F0(void);
static void sub_81507BC(struct ObjectEvent *a0, u8 a1);
static void QL_GfxTransition_Normal(void);
static void QL_GfxTransition_Bike(void);
static void QL_GfxTransition_Fish(void);
static void Task_QLFishMovement(u8 taskId);
static void QL_GfxTransition_StartSurf(void);
static void QL_GfxTransition_VSSeeker(void);
static void Task_QLVSSeekerMovement(u8 taskId);
static void QL_GfxTransition_StopSurfSouth(void);
static void QL_GfxTransition_StopSurfNorth(void);
static void QL_GfxTransition_StopSurfWest(void);
static void QL_GfxTransition_StopSurfEast(void);
static void QL_SetObjectGraphicsId(struct ObjectEvent *object, u8 graphicsId);
static void (*const gUnknown_8471EDC[])(void) = {
sub_81504A8,
sub_81504E8,
sub_8150530,
sub_8150708,
sub_81507CC,
sub_81507D8,
sub_81507E4,
sub_81507F0,
sub_815077C
static void (*const sQLGfxTransitions[])(void) = {
[QL_PLAYER_GFX_NORMAL] = QL_GfxTransition_Normal,
[QL_PLAYER_GFX_BIKE] = QL_GfxTransition_Bike,
[QL_PLAYER_GFX_FISH] = QL_GfxTransition_Fish,
[QL_PLAYER_GFX_SURF] = QL_GfxTransition_StartSurf,
[QL_PLAYER_GFX_STOP_SURF_S] = QL_GfxTransition_StopSurfSouth,
[QL_PLAYER_GFX_STOP_SURF_N] = QL_GfxTransition_StopSurfNorth,
[QL_PLAYER_GFX_STOP_SURF_W] = QL_GfxTransition_StopSurfWest,
[QL_PLAYER_GFX_STOP_SURF_E] = QL_GfxTransition_StopSurfEast,
[QL_PLAYER_GFX_VSSEEKER] = QL_GfxTransition_VSSeeker
};
void sub_8150454(u8 a0)
void QuestLogUpdatePlayerSprite(u8 state)
{
if (a0 < NELEMS(gUnknown_8471EDC))
gUnknown_8471EDC[a0]();
if (state < NELEMS(sQLGfxTransitions))
sQLGfxTransitions[state]();
}
bool32 sub_8150474(u8 a0)
bool32 QuestLogTryRecordPlayerAvatarGfxTransition(u8 state)
{
if (gQuestLogPlaybackState == 2)
{
sub_8112720(a0);
QuestLogRecordPlayerAvatarGfxTransition(state);
return TRUE;
}
return FALSE;
}
void sub_8150498(u8 a0)
void QuestLogCallUpdatePlayerSprite(u8 state)
{
return sub_8150454(a0);
return QuestLogUpdatePlayerSprite(state);
}
static void sub_81504A8(void)
static void QL_GfxTransition_Normal(void)
{
struct ObjectEvent *objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId];
sub_81507BC(objectEvent, GetPlayerAvatarGraphicsIdByStateId(0));
QL_SetObjectGraphicsId(objectEvent, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_GFX_NORMAL));
ObjectEventTurn(objectEvent, objectEvent->movementDirection);
SetPlayerAvatarStateMask(PLAYER_AVATAR_FLAG_ON_FOOT);
}
static void sub_81504E8(void)
static void QL_GfxTransition_Bike(void)
{
struct ObjectEvent *objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId];
sub_81507BC(objectEvent, GetPlayerAvatarGraphicsIdByStateId(1));
QL_SetObjectGraphicsId(objectEvent, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_GFX_BIKE));
ObjectEventTurn(objectEvent, objectEvent->movementDirection);
SetPlayerAvatarStateMask(PLAYER_AVATAR_FLAG_MACH_BIKE);
InitPlayerAvatarBikeState(0, 0);
}
static void sub_8150530(void)
static void QL_GfxTransition_Fish(void)
{
struct ObjectEvent *objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId];
struct Sprite *sprite = &gSprites[objectEvent->spriteId];
@@ -81,17 +82,17 @@ static void sub_8150530(void)
u8 taskId;
ScriptContext2_Enable();
gPlayerAvatar.preventStep = TRUE;
taskId = CreateTask(sub_81505C4, 0xFF);
taskId = CreateTask(Task_QLFishMovement, 0xFF);
gTasks[taskId].data[0] = 0;
}
else
{
sub_81507BC(objectEvent, GetPlayerAvatarGraphicsIdByStateId(4));
QL_SetObjectGraphicsId(objectEvent, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_GFX_FISH));
StartSpriteAnim(sprite, GetFishingDirectionAnimNum(objectEvent->facingDirection));
}
}
static void sub_81505C4(u8 taskId)
static void Task_QLFishMovement(u8 taskId)
{
struct ObjectEvent *objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId];
struct Sprite *sprite = &gSprites[objectEvent->spriteId];
@@ -101,7 +102,7 @@ static void sub_81505C4(u8 taskId)
case 0:
ObjectEventClearHeldMovementIfActive(objectEvent);
objectEvent->enableAnim = TRUE;
sub_81507BC(objectEvent, GetPlayerAvatarGraphicsIdByStateId(4));
QL_SetObjectGraphicsId(objectEvent, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_GFX_FISH));
StartSpriteAnim(sprite, GetFishingDirectionAnimNum(objectEvent->facingDirection));
gTasks[taskId].data[0]++;
gTasks[taskId].data[1] = 0;
@@ -122,9 +123,9 @@ static void sub_81505C4(u8 taskId)
if (sprite->animEnded)
{
if (!(gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_SURFING))
sub_81507BC(objectEvent, GetPlayerAvatarGraphicsIdByStateId(0));
QL_SetObjectGraphicsId(objectEvent, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_GFX_NORMAL));
else
sub_81507BC(objectEvent, GetPlayerAvatarGraphicsIdByStateId(2));
QL_SetObjectGraphicsId(objectEvent, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_GFX_SURF));
ObjectEventTurn(objectEvent, objectEvent->movementDirection);
sprite->pos2.x = 0;
sprite->pos2.y = 0;
@@ -135,14 +136,14 @@ static void sub_81505C4(u8 taskId)
}
}
static void sub_8150708(void)
static void QL_GfxTransition_StartSurf(void)
{
struct ObjectEvent *objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId];
u8 fieldEffectId;
if (!(gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_SURFING))
{
sub_81507BC(objectEvent, GetPlayerAvatarGraphicsIdByStateId(2));
QL_SetObjectGraphicsId(objectEvent, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_GFX_SURF));
ObjectEventTurn(objectEvent, objectEvent->movementDirection);
SetPlayerAvatarStateMask(PLAYER_AVATAR_FLAG_SURFING);
gFieldEffectArguments[0] = objectEvent->currentCoords.x;
@@ -154,13 +155,13 @@ static void sub_8150708(void)
}
}
static void sub_815077C(void)
static void QL_GfxTransition_VSSeeker(void)
{
FieldEffectStart(FLDEFF_USE_VS_SEEKER);
CreateTask(sub_8150794, 0x00);
CreateTask(Task_QLVSSeekerMovement, 0x00);
}
static void sub_8150794(u8 taskId)
static void Task_QLVSSeekerMovement(u8 taskId)
{
if (!FieldEffectActiveListContains(FLDEFF_USE_VS_SEEKER))
{
@@ -170,27 +171,27 @@ static void sub_8150794(u8 taskId)
}
}
static void sub_81507BC(struct ObjectEvent * a0, u8 a1)
static void QL_SetObjectGraphicsId(struct ObjectEvent * object, u8 graphicsId)
{
ObjectEventSetGraphicsId(a0, a1);
ObjectEventSetGraphicsId(object, graphicsId);
}
static void sub_81507CC(void)
static void QL_GfxTransition_StopSurfSouth(void)
{
CreateStopSurfingTask_NoMusicChange(1);
CreateStopSurfingTask_NoMusicChange(DIR_SOUTH);
}
static void sub_81507D8(void)
static void QL_GfxTransition_StopSurfNorth(void)
{
CreateStopSurfingTask_NoMusicChange(2);
CreateStopSurfingTask_NoMusicChange(DIR_NORTH);
}
static void sub_81507E4(void)
static void QL_GfxTransition_StopSurfWest(void)
{
CreateStopSurfingTask_NoMusicChange(3);
CreateStopSurfingTask_NoMusicChange(DIR_WEST);
}
static void sub_81507F0(void)
static void QL_GfxTransition_StopSurfEast(void)
{
CreateStopSurfingTask_NoMusicChange(4);
CreateStopSurfingTask_NoMusicChange(DIR_EAST);
}