diff options
author | PikalaxALT <pikalaxalt@gmail.com> | 2021-03-19 09:26:01 -0400 |
---|---|---|
committer | PikalaxALT <pikalaxalt@gmail.com> | 2021-03-19 09:26:01 -0400 |
commit | 45f75213c0599405ccaee8c9a453392a00fa470b (patch) | |
tree | 8dbbd55c3f776f0d7c3c4bca4d3e49f8cfbe692b /src | |
parent | 8ccf95e50293d21ad510adba37d087097e4a5be4 (diff) |
Some more quest log and field player avater documentation
Diffstat (limited to 'src')
-rw-r--r-- | src/data/object_events/object_event_graphics_info.h | 4 | ||||
-rw-r--r-- | src/data/object_events/object_event_graphics_info_pointers.h | 8 | ||||
-rw-r--r-- | src/dynamic_placeholder_text_util.c | 8 | ||||
-rw-r--r-- | src/event_object_movement.c | 2 | ||||
-rw-r--r-- | src/field_effect.c | 14 | ||||
-rw-r--r-- | src/field_player_avatar.c | 78 | ||||
-rw-r--r-- | src/fldeff_rocksmash.c | 2 | ||||
-rw-r--r-- | src/quest_log.c | 43 | ||||
-rw-r--r-- | src/quest_log_player.c | 115 |
9 files changed, 143 insertions, 131 deletions
diff --git a/src/data/object_events/object_event_graphics_info.h b/src/data/object_events/object_event_graphics_info.h index f43e6f628..41a883b40 100644 --- a/src/data/object_events/object_event_graphics_info.h +++ b/src/data/object_events/object_event_graphics_info.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}; diff --git a/src/data/object_events/object_event_graphics_info_pointers.h b/src/data/object_events/object_event_graphics_info_pointers.h index 164199089..82588ba9a 100644 --- a/src/data/object_events/object_event_graphics_info_pointers.h +++ b/src/data/object_events/object_event_graphics_info_pointers.h @@ -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, diff --git a/src/dynamic_placeholder_text_util.c b/src/dynamic_placeholder_text_util.c index eede1ae48..22fcb9259 100644 --- a/src/dynamic_placeholder_text_util.c +++ b/src/dynamic_placeholder_text_util.c @@ -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 diff --git a/src/event_object_movement.c b/src/event_object_movement.c index 271d60bf5..6a50b3541 100644 --- a/src/event_object_movement.c +++ b/src/event_object_movement.c @@ -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); } } diff --git a/src/field_effect.c b/src/field_effect.c index a5533c466..56a99138e 100644 --- a/src/field_effect.c +++ b/src/field_effect.c @@ -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]++; } diff --git a/src/field_player_avatar.c b/src/field_player_avatar.c index d86811ca8..0fde0b223 100644 --- a/src/field_player_avatar.c +++ b/src/field_player_avatar.c @@ -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; } diff --git a/src/fldeff_rocksmash.c b/src/fldeff_rocksmash.c index ef11affd7..c5bc0d072 100644 --- a/src/fldeff_rocksmash.c +++ b/src/fldeff_rocksmash.c @@ -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; } diff --git a/src/quest_log.c b/src/quest_log.c index 3ea558356..b43c368fd 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -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++; } diff --git a/src/quest_log_player.c b/src/quest_log_player.c index da1c2b76e..951273639 100644 --- a/src/quest_log_player.c +++ b/src/quest_log_player.c @@ -7,71 +7,72 @@ #include "field_effect.h" #include "field_effect_helpers.h" #include "quest_log.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 (*const gUnknown_8471EDC[])(void) = { - sub_81504A8, - sub_81504E8, - sub_8150530, - sub_8150708, - sub_81507CC, - sub_81507D8, - sub_81507E4, - sub_81507F0, - sub_815077C +#include "quest_log_player.h" + +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 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); } |