Some more quest log and field player avater documentation
This commit is contained in:
@@ -4,14 +4,14 @@
|
|||||||
#define OBJ_EVENT_GFX_RED_NORMAL 0
|
#define OBJ_EVENT_GFX_RED_NORMAL 0
|
||||||
#define OBJ_EVENT_GFX_RED_BIKE 1
|
#define OBJ_EVENT_GFX_RED_BIKE 1
|
||||||
#define OBJ_EVENT_GFX_RED_SURF 2
|
#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_FISH 4
|
||||||
#define OBJ_EVENT_GFX_RED_VS_SEEKER 5
|
#define OBJ_EVENT_GFX_RED_VS_SEEKER 5
|
||||||
#define OBJ_EVENT_GFX_RED_VS_SEEKER_BIKE 6
|
#define OBJ_EVENT_GFX_RED_VS_SEEKER_BIKE 6
|
||||||
#define OBJ_EVENT_GFX_GREEN_NORMAL 7
|
#define OBJ_EVENT_GFX_GREEN_NORMAL 7
|
||||||
#define OBJ_EVENT_GFX_GREEN_BIKE 8
|
#define OBJ_EVENT_GFX_GREEN_BIKE 8
|
||||||
#define OBJ_EVENT_GFX_GREEN_SURF 9
|
#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_FISH 11
|
||||||
#define OBJ_EVENT_GFX_GREEN_VS_SEEKER 12
|
#define OBJ_EVENT_GFX_GREEN_VS_SEEKER 12
|
||||||
#define OBJ_EVENT_GFX_GREEN_VS_SEEKER_BIKE 13
|
#define OBJ_EVENT_GFX_GREEN_VS_SEEKER_BIKE 13
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ void StartFishing(u8 secondaryId);
|
|||||||
u8 GetPlayerAvatarObjectId(void);
|
u8 GetPlayerAvatarObjectId(void);
|
||||||
u8 PlayerGetZCoord(void);
|
u8 PlayerGetZCoord(void);
|
||||||
u8 GetPlayerAvatarGraphicsIdByCurrentState(void);
|
u8 GetPlayerAvatarGraphicsIdByCurrentState(void);
|
||||||
void sub_805CB70(void);
|
void StartPlayerAvatarSummonMonForFieldMoveAnim(void);
|
||||||
void SetPlayerInvisibility(bool8);
|
void SetPlayerInvisibility(bool8);
|
||||||
void StartTeleportInPlayerAnim(void);
|
void StartTeleportInPlayerAnim(void);
|
||||||
void StartTeleportWarpOutPlayerAnim(void);
|
void StartTeleportWarpOutPlayerAnim(void);
|
||||||
@@ -37,7 +37,7 @@ bool32 WaitTeleportInPlayerAnim(void);
|
|||||||
bool8 PartyHasMonWithSurf(void);
|
bool8 PartyHasMonWithSurf(void);
|
||||||
bool8 IsPlayerSurfingNorth(void);
|
bool8 IsPlayerSurfingNorth(void);
|
||||||
u8 player_get_pos_including_state_based_drift(s16 *x, s16 *y);
|
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 GetRivalAvatarGraphicsIdByStateIdAndGender(u8 state, u8 gender);
|
||||||
u8 GetPlayerAvatarGraphicsIdByStateIdAndGender(u8 state, u8 gender);
|
u8 GetPlayerAvatarGraphicsIdByStateIdAndGender(u8 state, u8 gender);
|
||||||
u8 CheckForObjectEventCollision(struct ObjectEvent *objectEvent, s16 x, s16 y, u8 direction, u8 metatileBehavior);
|
u8 CheckForObjectEventCollision(struct ObjectEvent *objectEvent, s16 x, s16 y, u8 direction, u8 metatileBehavior);
|
||||||
|
|||||||
@@ -293,6 +293,15 @@ enum {
|
|||||||
#define PLAYER_AVATAR_FLAG_FISHING (1 << PLAYER_AVATAR_STATE_FISHING)
|
#define PLAYER_AVATAR_FLAG_FISHING (1 << PLAYER_AVATAR_STATE_FISHING)
|
||||||
#define PLAYER_AVATAR_FLAG_DASH (1 << PLAYER_AVATAR_STATE_WATERING)
|
#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
|
enum
|
||||||
{
|
{
|
||||||
ACRO_BIKE_NORMAL,
|
ACRO_BIKE_NORMAL,
|
||||||
|
|||||||
+16
-12
@@ -8,10 +8,11 @@
|
|||||||
|
|
||||||
struct QuestLogEntry
|
struct QuestLogEntry
|
||||||
{
|
{
|
||||||
u8 localId;
|
// When command == 2, these fields have different meanings
|
||||||
u8 mapNum;
|
u8 localId; // cmd == 2: Pressed A/B, checked wild, held direction, took step
|
||||||
u8 mapGroup;
|
u8 mapNum; // cmd == 2: Always set to 0
|
||||||
u8 animId;
|
u8 mapGroup; // cmd == 2: Dpad direction
|
||||||
|
u8 animId; // cmd == 2: Always set to 0
|
||||||
u16 duration;
|
u16 duration;
|
||||||
u8 command;
|
u8 command;
|
||||||
};
|
};
|
||||||
@@ -32,7 +33,7 @@ extern u16 *gUnknown_203AE04;
|
|||||||
extern u16 *sEventRecordingPointer;
|
extern u16 *sEventRecordingPointer;
|
||||||
extern u16 sQuestLogCursor;
|
extern u16 sQuestLogCursor;
|
||||||
|
|
||||||
void sub_8112720(u8);
|
void QuestLogRecordPlayerAvatarGfxTransition(u8);
|
||||||
void SetQuestLogEvent(u16, const u16 *);
|
void SetQuestLogEvent(u16, const u16 *);
|
||||||
void SetQLPlayedTheSlots(void);
|
void SetQLPlayedTheSlots(void);
|
||||||
void QuestLog_RecordEnteredMap(u16);
|
void QuestLog_RecordEnteredMap(u16);
|
||||||
@@ -54,15 +55,18 @@ void *QuestLogGetFlagOrVarPtr(bool8 isFlag, u16 idx);
|
|||||||
void QuestLogSetFlagOrVar(bool8 isFlag, u16 idx, u16 value);
|
void QuestLogSetFlagOrVar(bool8 isFlag, u16 idx, u16 value);
|
||||||
void SetQuestLogRecordAndPlaybackPointers(void *oldSave);
|
void SetQuestLogRecordAndPlaybackPointers(void *oldSave);
|
||||||
void sub_811246C(struct Sprite *sprite);
|
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);
|
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 Special_UpdateTrainerFansAfterLinkBattle(void);
|
||||||
void sub_8112628(u8 movementActionId);
|
void QuestLogRecordPlayerStep(u8 movementActionId);
|
||||||
void sub_81126AC(u8 movementActionId, u8 duration);
|
void QuestLogRecordPlayerStepWithDuration(u8 movementActionId, u8 duration);
|
||||||
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);
|
||||||
void sub_8112C9C(void);
|
void QL_AfterRecordFishActionSuccessful(void);
|
||||||
void sub_8110920(void);
|
void sub_8110920(void);
|
||||||
void sub_8111708(void);
|
void sub_8111708(void);
|
||||||
void sub_81127F8(struct FieldInput * a0);
|
void sub_81127F8(struct FieldInput * a0);
|
||||||
|
|||||||
@@ -3,8 +3,18 @@
|
|||||||
|
|
||||||
#include "global.h"
|
#include "global.h"
|
||||||
|
|
||||||
void sub_8150454(void);
|
#define QL_PLAYER_GFX_NORMAL 0
|
||||||
bool32 sub_8150474(u8 a0);
|
#define QL_PLAYER_GFX_BIKE 1
|
||||||
void sub_8150498(u8 a0);
|
#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
|
#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_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_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_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_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_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};
|
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_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_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_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_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_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};
|
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_RedNormal;
|
||||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RedBike;
|
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RedBike;
|
||||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RedSurf;
|
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RedSurf;
|
||||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RedItem;
|
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RedFieldMove;
|
||||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RedFish;
|
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RedFish;
|
||||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RedVSSeeker;
|
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RedVSSeeker;
|
||||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RedVSSeekerBike;
|
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RedVSSeekerBike;
|
||||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GreenNormal;
|
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GreenNormal;
|
||||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GreenBike;
|
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GreenBike;
|
||||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GreenSurf;
|
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GreenSurf;
|
||||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GreenItem;
|
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GreenFieldMove;
|
||||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GreenFish;
|
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GreenFish;
|
||||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GreenVSSeeker;
|
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GreenVSSeeker;
|
||||||
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_GreenVSSeekerBike;
|
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_NORMAL] = &gObjectEventGraphicsInfo_RedNormal,
|
||||||
[OBJ_EVENT_GFX_RED_BIKE] = &gObjectEventGraphicsInfo_RedBike,
|
[OBJ_EVENT_GFX_RED_BIKE] = &gObjectEventGraphicsInfo_RedBike,
|
||||||
[OBJ_EVENT_GFX_RED_SURF] = &gObjectEventGraphicsInfo_RedSurf,
|
[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_FISH] = &gObjectEventGraphicsInfo_RedFish,
|
||||||
[OBJ_EVENT_GFX_RED_VS_SEEKER] = &gObjectEventGraphicsInfo_RedVSSeeker,
|
[OBJ_EVENT_GFX_RED_VS_SEEKER] = &gObjectEventGraphicsInfo_RedVSSeeker,
|
||||||
[OBJ_EVENT_GFX_RED_VS_SEEKER_BIKE] = &gObjectEventGraphicsInfo_RedVSSeekerBike,
|
[OBJ_EVENT_GFX_RED_VS_SEEKER_BIKE] = &gObjectEventGraphicsInfo_RedVSSeekerBike,
|
||||||
[OBJ_EVENT_GFX_GREEN_NORMAL] = &gObjectEventGraphicsInfo_GreenNormal,
|
[OBJ_EVENT_GFX_GREEN_NORMAL] = &gObjectEventGraphicsInfo_GreenNormal,
|
||||||
[OBJ_EVENT_GFX_GREEN_BIKE] = &gObjectEventGraphicsInfo_GreenBike,
|
[OBJ_EVENT_GFX_GREEN_BIKE] = &gObjectEventGraphicsInfo_GreenBike,
|
||||||
[OBJ_EVENT_GFX_GREEN_SURF] = &gObjectEventGraphicsInfo_GreenSurf,
|
[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_FISH] = &gObjectEventGraphicsInfo_GreenFish,
|
||||||
[OBJ_EVENT_GFX_GREEN_VS_SEEKER] = &gObjectEventGraphicsInfo_GreenVSSeeker,
|
[OBJ_EVENT_GFX_GREEN_VS_SEEKER] = &gObjectEventGraphicsInfo_GreenVSSeeker,
|
||||||
[OBJ_EVENT_GFX_GREEN_VS_SEEKER_BIKE] = &gObjectEventGraphicsInfo_GreenVSSeekerBike,
|
[OBJ_EVENT_GFX_GREEN_VS_SEEKER_BIKE] = &gObjectEventGraphicsInfo_GreenVSSeekerBike,
|
||||||
|
|||||||
@@ -6,13 +6,13 @@ static EWRAM_DATA const u8 *sStringPointers[8] = {0};
|
|||||||
|
|
||||||
static const u8 sTextColorTable[] =
|
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_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_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_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_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_RS_BRENDAN / 2] = 0x10, // OBJ_EVENT_GFX_RS_MAY
|
||||||
[OBJ_EVENT_GFX_LITTLE_BOY / 2] = 0x10, // OBJ_EVENT_GFX_LITTLE_GIRL
|
[OBJ_EVENT_GFX_LITTLE_BOY / 2] = 0x10, // OBJ_EVENT_GFX_LITTLE_GIRL
|
||||||
|
|||||||
@@ -5557,7 +5557,7 @@ static void ObjectEventSetSingleMovement(struct ObjectEvent *objectEvent, struct
|
|||||||
|
|
||||||
if (gQuestLogPlaybackState == 2)
|
if (gQuestLogPlaybackState == 2)
|
||||||
{
|
{
|
||||||
sub_81124EC(objectEvent->localId, objectEvent->mapNum, objectEvent->mapGroup, animId);
|
QuestLogRecordNPCStep(objectEvent->localId, objectEvent->mapNum, objectEvent->mapGroup, animId);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+7
-7
@@ -1293,7 +1293,7 @@ static bool8 EscalatorWarpEffect_1(struct Task * task)
|
|||||||
FreezeObjectEvents();
|
FreezeObjectEvents();
|
||||||
CameraObjectReset2();
|
CameraObjectReset2();
|
||||||
StartEscalator(task->data[1]);
|
StartEscalator(task->data[1]);
|
||||||
sub_81128BC(1);
|
QuestLog_OnEscalatorWarp(QL_ESCALATOR_OUT);
|
||||||
task->data[0]++;
|
task->data[0]++;
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
@@ -1534,7 +1534,7 @@ static bool8 EscalatorWarpInEffect_7(struct Task * task)
|
|||||||
UnfreezeObjectEvents();
|
UnfreezeObjectEvents();
|
||||||
ObjectEventSetHeldMovement(objectEvent, GetWalkNormalMovementAction(DIR_EAST));
|
ObjectEventSetHeldMovement(objectEvent, GetWalkNormalMovementAction(DIR_EAST));
|
||||||
DestroyTask(FindTaskIdByFunc(Task_EscalatorWarpInFieldEffect));
|
DestroyTask(FindTaskIdByFunc(Task_EscalatorWarpInFieldEffect));
|
||||||
sub_81128BC(2);
|
QuestLog_OnEscalatorWarp(QL_ESCALATOR_IN);
|
||||||
}
|
}
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
@@ -2919,7 +2919,7 @@ static void UseSurfEffect_2(struct Task * task)
|
|||||||
objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId];
|
objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId];
|
||||||
if (!ObjectEventIsMovementOverridden(objectEvent) || ObjectEventClearHeldMovementIfFinished(objectEvent))
|
if (!ObjectEventIsMovementOverridden(objectEvent) || ObjectEventClearHeldMovementIfFinished(objectEvent))
|
||||||
{
|
{
|
||||||
sub_805CB70();
|
StartPlayerAvatarSummonMonForFieldMoveAnim();
|
||||||
ObjectEventSetHeldMovement(objectEvent, MOVEMENT_ACTION_START_ANIM_IN_DIRECTION);
|
ObjectEventSetHeldMovement(objectEvent, MOVEMENT_ACTION_START_ANIM_IN_DIRECTION);
|
||||||
task->data[0]++;
|
task->data[0]++;
|
||||||
}
|
}
|
||||||
@@ -2988,7 +2988,7 @@ static void (*const sUseVsSeekerEffectFuncs[])(struct Task * task) = {
|
|||||||
u32 FldEff_UseVsSeeker(void)
|
u32 FldEff_UseVsSeeker(void)
|
||||||
{
|
{
|
||||||
if (gQuestLogState == QL_STATE_RECORDING)
|
if (gQuestLogState == QL_STATE_RECORDING)
|
||||||
sub_811278C(8, 89);
|
QuestLogRecordPlayerAvatarGfxTransitionWithDuration(8, 89);
|
||||||
CreateTask(Task_FldEffUseVsSeeker, 0xFF);
|
CreateTask(Task_FldEffUseVsSeeker, 0xFF);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@@ -3011,7 +3011,7 @@ static void UseVsSeekerEffect_2(struct Task * task)
|
|||||||
struct ObjectEvent * playerObj = &gObjectEvents[gPlayerAvatar.objectEventId];
|
struct ObjectEvent * playerObj = &gObjectEvents[gPlayerAvatar.objectEventId];
|
||||||
if (!ObjectEventIsMovementOverridden(playerObj) || ObjectEventClearHeldMovementIfFinished(playerObj))
|
if (!ObjectEventIsMovementOverridden(playerObj) || ObjectEventClearHeldMovementIfFinished(playerObj))
|
||||||
{
|
{
|
||||||
sub_805CBE8();
|
StartPlayerAvatarVsSeekerAnim();
|
||||||
ObjectEventSetHeldMovement(playerObj, MOVEMENT_ACTION_START_ANIM_IN_DIRECTION);
|
ObjectEventSetHeldMovement(playerObj, MOVEMENT_ACTION_START_ANIM_IN_DIRECTION);
|
||||||
task->data[0]++;
|
task->data[0]++;
|
||||||
}
|
}
|
||||||
@@ -3132,7 +3132,7 @@ static void UseFlyEffect_1(struct Task * task)
|
|||||||
task->data[15] = gPlayerAvatar.flags;
|
task->data[15] = gPlayerAvatar.flags;
|
||||||
gPlayerAvatar.preventStep = TRUE;
|
gPlayerAvatar.preventStep = TRUE;
|
||||||
SetPlayerAvatarStateMask(1);
|
SetPlayerAvatarStateMask(1);
|
||||||
sub_805CB70();
|
StartPlayerAvatarSummonMonForFieldMoveAnim();
|
||||||
ObjectEventSetHeldMovement(objectEvent, MOVEMENT_ACTION_START_ANIM_IN_DIRECTION);
|
ObjectEventSetHeldMovement(objectEvent, MOVEMENT_ACTION_START_ANIM_IN_DIRECTION);
|
||||||
task->data[0]++;
|
task->data[0]++;
|
||||||
}
|
}
|
||||||
@@ -3518,7 +3518,7 @@ static void FlyInEffect_4(struct Task * task)
|
|||||||
sprite->pos2.x = 0;
|
sprite->pos2.x = 0;
|
||||||
sprite->pos2.y = 0;
|
sprite->pos2.y = 0;
|
||||||
sprite->coordOffsetEnabled = TRUE;
|
sprite->coordOffsetEnabled = TRUE;
|
||||||
sub_805CB70();
|
StartPlayerAvatarSummonMonForFieldMoveAnim();
|
||||||
ObjectEventSetHeldMovement(objectEvent, MOVEMENT_ACTION_START_ANIM_IN_DIRECTION);
|
ObjectEventSetHeldMovement(objectEvent, MOVEMENT_ACTION_START_ANIM_IN_DIRECTION);
|
||||||
task->data[0]++;
|
task->data[0]++;
|
||||||
}
|
}
|
||||||
|
|||||||
+39
-39
@@ -581,12 +581,12 @@ u8 CheckForObjectEventCollision(struct ObjectEvent *objectEvent, s16 x, s16 y, u
|
|||||||
return collision;
|
return collision;
|
||||||
}
|
}
|
||||||
|
|
||||||
static const u8 gUnknown_835B820[] = {
|
static const u8 sQuestLogSurfDismountActionIds[] = {
|
||||||
MOVEMENT_ACTION_FACE_DOWN_FAST,
|
QL_PLAYER_GFX_STOP_SURF_S,
|
||||||
MOVEMENT_ACTION_FACE_DOWN_FAST,
|
QL_PLAYER_GFX_STOP_SURF_S,
|
||||||
MOVEMENT_ACTION_FACE_UP_FAST,
|
QL_PLAYER_GFX_STOP_SURF_N,
|
||||||
MOVEMENT_ACTION_FACE_LEFT_FAST,
|
QL_PLAYER_GFX_STOP_SURF_W,
|
||||||
MOVEMENT_ACTION_FACE_RIGHT_FAST
|
QL_PLAYER_GFX_STOP_SURF_E
|
||||||
};
|
};
|
||||||
|
|
||||||
static bool8 CanStopSurfing(s16 x, s16 y, u8 direction)
|
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
|
&& MapGridGetZCoordAt(x, y) == 3
|
||||||
&& GetObjectEventIdByXYZ(x, y, 3) == OBJECT_EVENTS_COUNT)
|
&& GetObjectEventIdByXYZ(x, y, 3) == OBJECT_EVENTS_COUNT)
|
||||||
{
|
{
|
||||||
sub_811278C(gUnknown_835B820[direction], 16);
|
QuestLogRecordPlayerAvatarGfxTransitionWithDuration(sQuestLogSurfDismountActionIds[direction], 16);
|
||||||
CreateStopSurfingTask(direction);
|
CreateStopSurfingTask(direction);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
@@ -711,21 +711,21 @@ static void PlayerAvatarTransition_Dummy(struct ObjectEvent * playerObjEvent)
|
|||||||
|
|
||||||
static void PlayerAvatarTransition_Normal(struct ObjectEvent * playerObjEvent)
|
static void PlayerAvatarTransition_Normal(struct ObjectEvent * playerObjEvent)
|
||||||
{
|
{
|
||||||
sub_8150474(0);
|
QuestLogTryRecordPlayerAvatarGfxTransition(QL_PLAYER_GFX_NORMAL);
|
||||||
sub_8150498(0);
|
QuestLogCallUpdatePlayerSprite(QL_PLAYER_GFX_NORMAL);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void PlayerAvatarTransition_Bike(struct ObjectEvent * playerObjEvent)
|
static void PlayerAvatarTransition_Bike(struct ObjectEvent * playerObjEvent)
|
||||||
{
|
{
|
||||||
sub_8150474(1);
|
QuestLogTryRecordPlayerAvatarGfxTransition(QL_PLAYER_GFX_BIKE);
|
||||||
sub_8150498(1);
|
QuestLogCallUpdatePlayerSprite(QL_PLAYER_GFX_BIKE);
|
||||||
InitPlayerAvatarBikeState(0, 0);
|
InitPlayerAvatarBikeState(0, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void PlayerAvatarTransition_Surfing(struct ObjectEvent * playerObjEvent)
|
static void PlayerAvatarTransition_Surfing(struct ObjectEvent * playerObjEvent)
|
||||||
{
|
{
|
||||||
sub_8150474(3);
|
QuestLogTryRecordPlayerAvatarGfxTransition(QL_PLAYER_GFX_SURF);
|
||||||
sub_8150498(3);
|
QuestLogCallUpdatePlayerSprite(QL_PLAYER_GFX_SURF);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void PlayerAvatarTransition_Underwater(struct ObjectEvent * playerObjEvent)
|
static void PlayerAvatarTransition_Underwater(struct ObjectEvent * playerObjEvent)
|
||||||
@@ -809,20 +809,20 @@ static void PlayerSetAnimId(u8 movementActionId, u8 copyableMovement)
|
|||||||
{
|
{
|
||||||
PlayerSetCopyableMovement(copyableMovement);
|
PlayerSetCopyableMovement(copyableMovement);
|
||||||
if (!ObjectEventSetHeldMovement(&gObjectEvents[gPlayerAvatar.objectEventId], movementActionId))
|
if (!ObjectEventSetHeldMovement(&gObjectEvents[gPlayerAvatar.objectEventId], movementActionId))
|
||||||
sub_8112628(movementActionId);
|
QuestLogRecordPlayerStep(movementActionId);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void sub_805C06C(struct ObjectEvent * objectEvent, u8 movementAction)
|
static void sub_805C06C(struct ObjectEvent * objectEvent, u8 movementAction)
|
||||||
{
|
{
|
||||||
if (!ObjectEventSetHeldMovement(&gObjectEvents[gPlayerAvatar.objectEventId], movementAction))
|
if (!ObjectEventSetHeldMovement(&gObjectEvents[gPlayerAvatar.objectEventId], movementAction))
|
||||||
sub_81126AC(movementAction, 0);
|
QuestLogRecordPlayerStepWithDuration(movementAction, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void sub_805C0A4(struct ObjectEvent * objectEvent, u8 movementAction)
|
static void sub_805C0A4(struct ObjectEvent * objectEvent, u8 movementAction)
|
||||||
{
|
{
|
||||||
if (!ObjectEventSetHeldMovement(objectEvent, 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)
|
void sub_805C0D4(u8 direction)
|
||||||
@@ -1126,12 +1126,12 @@ void StopPlayerAvatar(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static const u8 sPlayerAvatarGfxIds[][GENDER_COUNT] = {
|
static const u8 sPlayerAvatarGfxIds[][GENDER_COUNT] = {
|
||||||
{OBJ_EVENT_GFX_RED_NORMAL, OBJ_EVENT_GFX_GREEN_NORMAL},
|
[PLAYER_AVATAR_GFX_NORMAL] = {OBJ_EVENT_GFX_RED_NORMAL, OBJ_EVENT_GFX_GREEN_NORMAL},
|
||||||
{OBJ_EVENT_GFX_RED_BIKE, OBJ_EVENT_GFX_GREEN_BIKE},
|
[PLAYER_AVATAR_GFX_BIKE] = {OBJ_EVENT_GFX_RED_BIKE, OBJ_EVENT_GFX_GREEN_BIKE},
|
||||||
{OBJ_EVENT_GFX_RED_SURF, OBJ_EVENT_GFX_GREEN_SURF},
|
[PLAYER_AVATAR_GFX_SURF] = {OBJ_EVENT_GFX_RED_SURF, OBJ_EVENT_GFX_GREEN_SURF},
|
||||||
{OBJ_EVENT_GFX_RED_ITEM, OBJ_EVENT_GFX_GREEN_ITEM},
|
[PLAYER_AVATAR_GFX_FIELD_MOVE] = {OBJ_EVENT_GFX_RED_FIELD_MOVE, OBJ_EVENT_GFX_GREEN_FIELD_MOVE},
|
||||||
{OBJ_EVENT_GFX_RED_FISH, OBJ_EVENT_GFX_GREEN_FISH},
|
[PLAYER_AVATAR_GFX_FISH] = {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_VSSEEKER] = {OBJ_EVENT_GFX_RED_VS_SEEKER, OBJ_EVENT_GFX_GREEN_VS_SEEKER},
|
||||||
};
|
};
|
||||||
|
|
||||||
static const u8 sHoennLinkPartnerGfxIds[] = {
|
static const u8 sHoennLinkPartnerGfxIds[] = {
|
||||||
@@ -1166,7 +1166,7 @@ u8 GetPlayerAvatarGenderByGraphicsId(u8 gfxId)
|
|||||||
case OBJ_EVENT_GFX_GREEN_NORMAL:
|
case OBJ_EVENT_GFX_GREEN_NORMAL:
|
||||||
case OBJ_EVENT_GFX_GREEN_BIKE:
|
case OBJ_EVENT_GFX_GREEN_BIKE:
|
||||||
case OBJ_EVENT_GFX_GREEN_SURF:
|
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:
|
case OBJ_EVENT_GFX_GREEN_FISH:
|
||||||
return FEMALE;
|
return FEMALE;
|
||||||
default:
|
default:
|
||||||
@@ -1283,7 +1283,7 @@ void InitPlayerAvatar(s16 x, s16 y, u8 direction, u8 gender)
|
|||||||
struct ObjectEvent *objectEvent;
|
struct ObjectEvent *objectEvent;
|
||||||
|
|
||||||
playerObjEventTemplate.localId = OBJ_EVENT_ID_PLAYER;
|
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.x = x - 7;
|
||||||
playerObjEventTemplate.y = y - 7;
|
playerObjEventTemplate.y = y - 7;
|
||||||
playerObjEventTemplate.elevation = 0;
|
playerObjEventTemplate.elevation = 0;
|
||||||
@@ -1315,34 +1315,34 @@ void SetPlayerInvisibility(bool8 invisible)
|
|||||||
gSprites[gObjectEvents[gPlayerAvatar.objectEventId].fieldEffectSpriteId].invisible = 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);
|
StartSpriteAnim(&gSprites[gPlayerAvatar.spriteId], 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
static const u8 gUnknown_835B88E[] = {
|
static const u8 sPlayerAvatarVsSeekerBikeGfxIds[] = {
|
||||||
OBJ_EVENT_GFX_RED_VS_SEEKER_BIKE,
|
OBJ_EVENT_GFX_RED_VS_SEEKER_BIKE,
|
||||||
OBJ_EVENT_GFX_GREEN_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))
|
if (gPlayerAvatar.flags & (PLAYER_AVATAR_FLAG_MACH_BIKE | PLAYER_AVATAR_FLAG_ACRO_BIKE))
|
||||||
return gUnknown_835B88E[gPlayerAvatar.gender];
|
return sPlayerAvatarVsSeekerBikeGfxIds[gPlayerAvatar.gender];
|
||||||
else
|
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);
|
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)
|
void nullsub_24(u8 direction)
|
||||||
@@ -1596,7 +1596,7 @@ void SeafoamIslandsB4F_CurrentDumpsPlayerOnLand(void)
|
|||||||
{
|
{
|
||||||
if (gQuestLogPlaybackState != 1 && gQuestLogPlaybackState != 3)
|
if (gQuestLogPlaybackState != 1 && gQuestLogPlaybackState != 3)
|
||||||
{
|
{
|
||||||
sub_811278C(gUnknown_835B820[DIR_NORTH], 16);
|
QuestLogRecordPlayerAvatarGfxTransitionWithDuration(sQuestLogSurfDismountActionIds[DIR_NORTH], 16);
|
||||||
CreateStopSurfingTask(DIR_NORTH);
|
CreateStopSurfingTask(DIR_NORTH);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1621,7 +1621,7 @@ static void Task_WaitStopSurfing(u8 taskId)
|
|||||||
|
|
||||||
if (ObjectEventClearHeldMovementIfFinished(playerObjEvent))
|
if (ObjectEventClearHeldMovementIfFinished(playerObjEvent))
|
||||||
{
|
{
|
||||||
ObjectEventSetGraphicsId(playerObjEvent, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_NORMAL));
|
ObjectEventSetGraphicsId(playerObjEvent, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_GFX_NORMAL));
|
||||||
sub_805C06C(playerObjEvent, GetFaceDirectionMovementAction(playerObjEvent->facingDirection));
|
sub_805C06C(playerObjEvent, GetFaceDirectionMovementAction(playerObjEvent->facingDirection));
|
||||||
gPlayerAvatar.preventStep = FALSE;
|
gPlayerAvatar.preventStep = FALSE;
|
||||||
ScriptContext2_Disable();
|
ScriptContext2_Disable();
|
||||||
@@ -1674,8 +1674,8 @@ void StartFishing(u8 rod)
|
|||||||
|
|
||||||
gTasks[taskId].tFishingRod = rod;
|
gTasks[taskId].tFishingRod = rod;
|
||||||
Task_Fishing(taskId);
|
Task_Fishing(taskId);
|
||||||
if (sub_8150474(2) == TRUE)
|
if (QuestLogTryRecordPlayerAvatarGfxTransition(QL_PLAYER_GFX_FISH) == TRUE)
|
||||||
sub_8112C9C();
|
QL_AfterRecordFishActionSuccessful();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -1705,7 +1705,7 @@ static bool8 Fishing2(struct Task *task)
|
|||||||
playerObjEvent = &gObjectEvents[gPlayerAvatar.objectEventId];
|
playerObjEvent = &gObjectEvents[gPlayerAvatar.objectEventId];
|
||||||
ObjectEventClearHeldMovementIfActive(playerObjEvent);
|
ObjectEventClearHeldMovementIfActive(playerObjEvent);
|
||||||
playerObjEvent->enableAnim = 1;
|
playerObjEvent->enableAnim = 1;
|
||||||
sub_805CC2C(playerObjEvent->facingDirection);
|
StartPlayerAvatarFishAnim(playerObjEvent->facingDirection);
|
||||||
task->tStep++;
|
task->tStep++;
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -60,7 +60,7 @@ static void Task_FieldEffectShowMon_Init(u8 taskId)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
sub_805CB70();
|
StartPlayerAvatarSummonMonForFieldMoveAnim();
|
||||||
ObjectEventSetHeldMovement(&gObjectEvents[mapObjId], MOVEMENT_ACTION_START_ANIM_IN_DIRECTION);
|
ObjectEventSetHeldMovement(&gObjectEvents[mapObjId], MOVEMENT_ACTION_START_ANIM_IN_DIRECTION);
|
||||||
gTasks[taskId].func = Task_FieldEffectShowMon_WaitPlayerAnim;
|
gTasks[taskId].func = Task_FieldEffectShowMon_WaitPlayerAnim;
|
||||||
}
|
}
|
||||||
|
|||||||
+27
-16
@@ -1295,10 +1295,10 @@ void sub_811246C(struct Sprite *sprite)
|
|||||||
ObjectEventSetHeldMovement(objectEvent, sMovementScripts[0][0]);
|
ObjectEventSetHeldMovement(objectEvent, sMovementScripts[0][0]);
|
||||||
sMovementScripts[0][0] = 0xFF;
|
sMovementScripts[0][0] = 0xFF;
|
||||||
}
|
}
|
||||||
if (sMovementScripts[0][1] != OBJ_EVENT_ID_PLAYER)
|
if (sMovementScripts[0][1] != 0xFF)
|
||||||
{
|
{
|
||||||
sub_8150454();
|
QuestLogUpdatePlayerSprite(sMovementScripts[0][1]);
|
||||||
sMovementScripts[0][1] = OBJ_EVENT_ID_PLAYER;
|
sMovementScripts[0][1] = 0xFF;
|
||||||
}
|
}
|
||||||
sub_8063E28(objectEvent, sprite);
|
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())
|
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())
|
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())
|
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())
|
if (!RecordHeadAtEndOfEntry())
|
||||||
{
|
{
|
||||||
@@ -1374,7 +1374,7 @@ void sub_81126AC(u8 movementActionId, u8 duration)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void sub_8112720(u8 movementActionId)
|
void QuestLogRecordPlayerAvatarGfxTransition(u8 movementActionId)
|
||||||
{
|
{
|
||||||
if (!RecordHeadAtEndOfEntry())
|
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())
|
if (!RecordHeadAtEndOfEntry())
|
||||||
{
|
{
|
||||||
@@ -1404,13 +1404,21 @@ void sub_81127F8(struct FieldInput * a0)
|
|||||||
{
|
{
|
||||||
if (sQuestLogCursor < sNumEventsInLogEntry)
|
if (sQuestLogCursor < sNumEventsInLogEntry)
|
||||||
{
|
{
|
||||||
|
// Retain only the following fields:
|
||||||
|
// - pressedAButton
|
||||||
|
// - checkStandardWildEncounter
|
||||||
|
// - heldDirection
|
||||||
|
// - heldDirection2
|
||||||
|
// - tookStep
|
||||||
|
// - pressedBButton
|
||||||
|
// - dpadDirection
|
||||||
u32 r2 = *(u32 *)a0 & 0x00FF00F3;
|
u32 r2 = *(u32 *)a0 & 0x00FF00F3;
|
||||||
sCurQuestLogEntry[sQuestLogCursor].duration = sNextStepDelay;
|
sCurQuestLogEntry[sQuestLogCursor].duration = sNextStepDelay;
|
||||||
sCurQuestLogEntry[sQuestLogCursor].command = 2;
|
sCurQuestLogEntry[sQuestLogCursor].command = 2;
|
||||||
sCurQuestLogEntry[sQuestLogCursor].localId = r2;
|
sCurQuestLogEntry[sQuestLogCursor].localId = r2;
|
||||||
sCurQuestLogEntry[sQuestLogCursor].mapNum = r2 >> 8;
|
sCurQuestLogEntry[sQuestLogCursor].mapNum = r2 >> 8; // always 0
|
||||||
sCurQuestLogEntry[sQuestLogCursor].mapGroup = r2 >> 16;
|
sCurQuestLogEntry[sQuestLogCursor].mapGroup = r2 >> 16;
|
||||||
sCurQuestLogEntry[sQuestLogCursor].animId = r2 >> 24;
|
sCurQuestLogEntry[sQuestLogCursor].animId = r2 >> 24; // always 0
|
||||||
sQuestLogCursor++;
|
sQuestLogCursor++;
|
||||||
if (ScriptContext2_IsEnabled())
|
if (ScriptContext2_IsEnabled())
|
||||||
sNextStepDelay = TRUE;
|
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();
|
u8 r1 = sub_8112CAC();
|
||||||
|
|
||||||
switch (a0)
|
switch (direction)
|
||||||
{
|
{
|
||||||
case 1:
|
case QL_ESCALATOR_OUT: // warp out
|
||||||
if (r1 == 1)
|
if (r1 == 1)
|
||||||
gQuestLogPlaybackState = 3;
|
gQuestLogPlaybackState = 3;
|
||||||
else if (r1 == 2)
|
else if (r1 == 2)
|
||||||
@@ -1452,7 +1460,7 @@ void sub_81128BC(u8 a0)
|
|||||||
gQuestLogPlaybackState = 4;
|
gQuestLogPlaybackState = 4;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 2:
|
case QL_ESCALATOR_IN: // warp in
|
||||||
if (r1 == 1)
|
if (r1 == 1)
|
||||||
gQuestLogPlaybackState = 1;
|
gQuestLogPlaybackState = 1;
|
||||||
else if (r1 == 2)
|
else if (r1 == 2)
|
||||||
@@ -1546,9 +1554,11 @@ void sub_8112B3C(void)
|
|||||||
switch (sCurQuestLogEntry[sQuestLogCursor].command)
|
switch (sCurQuestLogEntry[sQuestLogCursor].command)
|
||||||
{
|
{
|
||||||
case 0:
|
case 0:
|
||||||
|
// NPC movement action
|
||||||
sMovementScripts[sCurQuestLogEntry[sQuestLogCursor].localId][0] = sCurQuestLogEntry[sQuestLogCursor].animId;
|
sMovementScripts[sCurQuestLogEntry[sQuestLogCursor].localId][0] = sCurQuestLogEntry[sQuestLogCursor].animId;
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
|
// State transition
|
||||||
sMovementScripts[sCurQuestLogEntry[sQuestLogCursor].localId][1] = sCurQuestLogEntry[sQuestLogCursor].animId;
|
sMovementScripts[sCurQuestLogEntry[sQuestLogCursor].localId][1] = sCurQuestLogEntry[sQuestLogCursor].animId;
|
||||||
break;
|
break;
|
||||||
case 2:
|
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));
|
*(u32 *)&gQuestLogFieldInput = ((sCurQuestLogEntry[sQuestLogCursor].animId << 24) | (sCurQuestLogEntry[sQuestLogCursor].mapGroup << 16) | (sCurQuestLogEntry[sQuestLogCursor].mapNum << 8) | (sCurQuestLogEntry[sQuestLogCursor].localId << 0));
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
|
// End
|
||||||
gQuestLogPlaybackState = 3;
|
gQuestLogPlaybackState = 3;
|
||||||
break;
|
break;
|
||||||
case 0xFE:
|
case 0xFE:
|
||||||
@@ -1596,7 +1607,7 @@ void sub_8112B3C(void)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void sub_8112C9C(void)
|
void QL_AfterRecordFishActionSuccessful(void)
|
||||||
{
|
{
|
||||||
sNextStepDelay++;
|
sNextStepDelay++;
|
||||||
}
|
}
|
||||||
|
|||||||
+56
-55
@@ -7,71 +7,72 @@
|
|||||||
#include "field_effect.h"
|
#include "field_effect.h"
|
||||||
#include "field_effect_helpers.h"
|
#include "field_effect_helpers.h"
|
||||||
#include "quest_log.h"
|
#include "quest_log.h"
|
||||||
|
#include "quest_log_player.h"
|
||||||
|
|
||||||
static void sub_81504A8(void);
|
static void QL_GfxTransition_Normal(void);
|
||||||
static void sub_81504E8(void);
|
static void QL_GfxTransition_Bike(void);
|
||||||
static void sub_8150530(void);
|
static void QL_GfxTransition_Fish(void);
|
||||||
static void sub_81505C4(u8 taskId);
|
static void Task_QLFishMovement(u8 taskId);
|
||||||
static void sub_8150708(void);
|
static void QL_GfxTransition_StartSurf(void);
|
||||||
static void sub_815077C(void);
|
static void QL_GfxTransition_VSSeeker(void);
|
||||||
static void sub_8150794(u8 taskId);
|
static void Task_QLVSSeekerMovement(u8 taskId);
|
||||||
static void sub_81507CC(void);
|
static void QL_GfxTransition_StopSurfSouth(void);
|
||||||
static void sub_81507D8(void);
|
static void QL_GfxTransition_StopSurfNorth(void);
|
||||||
static void sub_81507E4(void);
|
static void QL_GfxTransition_StopSurfWest(void);
|
||||||
static void sub_81507F0(void);
|
static void QL_GfxTransition_StopSurfEast(void);
|
||||||
static void sub_81507BC(struct ObjectEvent *a0, u8 a1);
|
static void QL_SetObjectGraphicsId(struct ObjectEvent *object, u8 graphicsId);
|
||||||
|
|
||||||
static void (*const gUnknown_8471EDC[])(void) = {
|
static void (*const sQLGfxTransitions[])(void) = {
|
||||||
sub_81504A8,
|
[QL_PLAYER_GFX_NORMAL] = QL_GfxTransition_Normal,
|
||||||
sub_81504E8,
|
[QL_PLAYER_GFX_BIKE] = QL_GfxTransition_Bike,
|
||||||
sub_8150530,
|
[QL_PLAYER_GFX_FISH] = QL_GfxTransition_Fish,
|
||||||
sub_8150708,
|
[QL_PLAYER_GFX_SURF] = QL_GfxTransition_StartSurf,
|
||||||
sub_81507CC,
|
[QL_PLAYER_GFX_STOP_SURF_S] = QL_GfxTransition_StopSurfSouth,
|
||||||
sub_81507D8,
|
[QL_PLAYER_GFX_STOP_SURF_N] = QL_GfxTransition_StopSurfNorth,
|
||||||
sub_81507E4,
|
[QL_PLAYER_GFX_STOP_SURF_W] = QL_GfxTransition_StopSurfWest,
|
||||||
sub_81507F0,
|
[QL_PLAYER_GFX_STOP_SURF_E] = QL_GfxTransition_StopSurfEast,
|
||||||
sub_815077C
|
[QL_PLAYER_GFX_VSSEEKER] = QL_GfxTransition_VSSeeker
|
||||||
};
|
};
|
||||||
|
|
||||||
void sub_8150454(u8 a0)
|
void QuestLogUpdatePlayerSprite(u8 state)
|
||||||
{
|
{
|
||||||
if (a0 < NELEMS(gUnknown_8471EDC))
|
if (state < NELEMS(sQLGfxTransitions))
|
||||||
gUnknown_8471EDC[a0]();
|
sQLGfxTransitions[state]();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool32 sub_8150474(u8 a0)
|
bool32 QuestLogTryRecordPlayerAvatarGfxTransition(u8 state)
|
||||||
{
|
{
|
||||||
if (gQuestLogPlaybackState == 2)
|
if (gQuestLogPlaybackState == 2)
|
||||||
{
|
{
|
||||||
sub_8112720(a0);
|
QuestLogRecordPlayerAvatarGfxTransition(state);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
return FALSE;
|
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];
|
struct ObjectEvent *objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId];
|
||||||
sub_81507BC(objectEvent, GetPlayerAvatarGraphicsIdByStateId(0));
|
QL_SetObjectGraphicsId(objectEvent, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_GFX_NORMAL));
|
||||||
ObjectEventTurn(objectEvent, objectEvent->movementDirection);
|
ObjectEventTurn(objectEvent, objectEvent->movementDirection);
|
||||||
SetPlayerAvatarStateMask(PLAYER_AVATAR_FLAG_ON_FOOT);
|
SetPlayerAvatarStateMask(PLAYER_AVATAR_FLAG_ON_FOOT);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void sub_81504E8(void)
|
static void QL_GfxTransition_Bike(void)
|
||||||
{
|
{
|
||||||
struct ObjectEvent *objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId];
|
struct ObjectEvent *objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId];
|
||||||
sub_81507BC(objectEvent, GetPlayerAvatarGraphicsIdByStateId(1));
|
QL_SetObjectGraphicsId(objectEvent, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_GFX_BIKE));
|
||||||
ObjectEventTurn(objectEvent, objectEvent->movementDirection);
|
ObjectEventTurn(objectEvent, objectEvent->movementDirection);
|
||||||
SetPlayerAvatarStateMask(PLAYER_AVATAR_FLAG_MACH_BIKE);
|
SetPlayerAvatarStateMask(PLAYER_AVATAR_FLAG_MACH_BIKE);
|
||||||
InitPlayerAvatarBikeState(0, 0);
|
InitPlayerAvatarBikeState(0, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void sub_8150530(void)
|
static void QL_GfxTransition_Fish(void)
|
||||||
{
|
{
|
||||||
struct ObjectEvent *objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId];
|
struct ObjectEvent *objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId];
|
||||||
struct Sprite *sprite = &gSprites[objectEvent->spriteId];
|
struct Sprite *sprite = &gSprites[objectEvent->spriteId];
|
||||||
@@ -81,17 +82,17 @@ static void sub_8150530(void)
|
|||||||
u8 taskId;
|
u8 taskId;
|
||||||
ScriptContext2_Enable();
|
ScriptContext2_Enable();
|
||||||
gPlayerAvatar.preventStep = TRUE;
|
gPlayerAvatar.preventStep = TRUE;
|
||||||
taskId = CreateTask(sub_81505C4, 0xFF);
|
taskId = CreateTask(Task_QLFishMovement, 0xFF);
|
||||||
gTasks[taskId].data[0] = 0;
|
gTasks[taskId].data[0] = 0;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
sub_81507BC(objectEvent, GetPlayerAvatarGraphicsIdByStateId(4));
|
QL_SetObjectGraphicsId(objectEvent, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_GFX_FISH));
|
||||||
StartSpriteAnim(sprite, GetFishingDirectionAnimNum(objectEvent->facingDirection));
|
StartSpriteAnim(sprite, GetFishingDirectionAnimNum(objectEvent->facingDirection));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void sub_81505C4(u8 taskId)
|
static void Task_QLFishMovement(u8 taskId)
|
||||||
{
|
{
|
||||||
struct ObjectEvent *objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId];
|
struct ObjectEvent *objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId];
|
||||||
struct Sprite *sprite = &gSprites[objectEvent->spriteId];
|
struct Sprite *sprite = &gSprites[objectEvent->spriteId];
|
||||||
@@ -101,7 +102,7 @@ static void sub_81505C4(u8 taskId)
|
|||||||
case 0:
|
case 0:
|
||||||
ObjectEventClearHeldMovementIfActive(objectEvent);
|
ObjectEventClearHeldMovementIfActive(objectEvent);
|
||||||
objectEvent->enableAnim = TRUE;
|
objectEvent->enableAnim = TRUE;
|
||||||
sub_81507BC(objectEvent, GetPlayerAvatarGraphicsIdByStateId(4));
|
QL_SetObjectGraphicsId(objectEvent, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_GFX_FISH));
|
||||||
StartSpriteAnim(sprite, GetFishingDirectionAnimNum(objectEvent->facingDirection));
|
StartSpriteAnim(sprite, GetFishingDirectionAnimNum(objectEvent->facingDirection));
|
||||||
gTasks[taskId].data[0]++;
|
gTasks[taskId].data[0]++;
|
||||||
gTasks[taskId].data[1] = 0;
|
gTasks[taskId].data[1] = 0;
|
||||||
@@ -122,9 +123,9 @@ static void sub_81505C4(u8 taskId)
|
|||||||
if (sprite->animEnded)
|
if (sprite->animEnded)
|
||||||
{
|
{
|
||||||
if (!(gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_SURFING))
|
if (!(gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_SURFING))
|
||||||
sub_81507BC(objectEvent, GetPlayerAvatarGraphicsIdByStateId(0));
|
QL_SetObjectGraphicsId(objectEvent, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_GFX_NORMAL));
|
||||||
else
|
else
|
||||||
sub_81507BC(objectEvent, GetPlayerAvatarGraphicsIdByStateId(2));
|
QL_SetObjectGraphicsId(objectEvent, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_GFX_SURF));
|
||||||
ObjectEventTurn(objectEvent, objectEvent->movementDirection);
|
ObjectEventTurn(objectEvent, objectEvent->movementDirection);
|
||||||
sprite->pos2.x = 0;
|
sprite->pos2.x = 0;
|
||||||
sprite->pos2.y = 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];
|
struct ObjectEvent *objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId];
|
||||||
u8 fieldEffectId;
|
u8 fieldEffectId;
|
||||||
|
|
||||||
if (!(gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_SURFING))
|
if (!(gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_SURFING))
|
||||||
{
|
{
|
||||||
sub_81507BC(objectEvent, GetPlayerAvatarGraphicsIdByStateId(2));
|
QL_SetObjectGraphicsId(objectEvent, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_GFX_SURF));
|
||||||
ObjectEventTurn(objectEvent, objectEvent->movementDirection);
|
ObjectEventTurn(objectEvent, objectEvent->movementDirection);
|
||||||
SetPlayerAvatarStateMask(PLAYER_AVATAR_FLAG_SURFING);
|
SetPlayerAvatarStateMask(PLAYER_AVATAR_FLAG_SURFING);
|
||||||
gFieldEffectArguments[0] = objectEvent->currentCoords.x;
|
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);
|
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))
|
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);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user