Continue documenting quest log

This commit is contained in:
GriffinR
2022-11-10 14:59:01 -05:00
parent 9721926b58
commit ae38640a3b
11 changed files with 620 additions and 570 deletions
+2 -2
View File
@@ -1,4 +1,4 @@
gQuestLogPlaybackState
sNumEventsInLogEntry
sMaxActionsInScene
gQuestLogFieldInput
sCurQuestLogEntry
sCurSceneActions
+1
View File
@@ -36,6 +36,7 @@
#include "constants/easy_chat.h"
#include "constants/trainer_card.h"
#include "constants/help_system.h"
#include "constants/trainer_fan_club.h"
.include "asm/macros.inc"
.include "asm/macros/event.inc"
.set FALSE, 0
Binary file not shown.

After

Width:  |  Height:  |  Size: 142 B

-1
View File
@@ -1 +0,0 @@
换换烫烫烫烫换换
+6 -11
View File
@@ -146,16 +146,11 @@
#define QL_INPUT_A 9
#define QL_INPUT_B 10
#define FANCLUB_MEMBER1 0
#define FANCLUB_MEMBER2 1
#define FANCLUB_MEMBER3 2
#define FANCLUB_MEMBER4 3
#define FANCLUB_MEMBER5 4
#define FANCLUB_MEMBER6 5
#define FANCLUB_MEMBER7 6
#define FANCLUB_MEMBER8 7
#define NUM_TRAINER_FAN_CLUB_MEMBERS 8
#define QL_ACTION_MOVEMENT 0
#define QL_ACTION_GFX_CHANGE 1
#define QL_ACTION_INPUT 2
#define QL_ACTION_3 3
#define QL_ACTION_FE 0xFE
#define QL_ACTION_FF 0xFF
#endif //GUARD_CONSTANTS_QUEST_LOG_H
+15
View File
@@ -0,0 +1,15 @@
#ifndef GUARD_CONSTANTS_TRAINER_FAN_CLUB_H
#define GUARD_CONSTANTS_TRAINER_FAN_CLUB_H
#define FANCLUB_MEMBER1 0
#define FANCLUB_MEMBER2 1
#define FANCLUB_MEMBER3 2
#define FANCLUB_MEMBER4 3
#define FANCLUB_MEMBER5 4
#define FANCLUB_MEMBER6 5
#define FANCLUB_MEMBER7 6
#define FANCLUB_MEMBER8 7
#define NUM_TRAINER_FAN_CLUB_MEMBERS 8
#endif //GUARD_CONSTANTS_TRAINER_FAN_CLUB_H
+24 -15
View File
@@ -10,7 +10,16 @@
#define QL_ESCALATOR_OUT 1
#define QL_ESCALATOR_IN 2
struct QuestLogEntry
// This struct represents the basic building blocks of what happens during a Quest Log scene.
// Once a scene has been set up, it will run through the list of actions to animate the scene.
// During a particular scene, there are 3 possible actions:
// - QL_ACTION_MOVEMENT: A character (including the player) moved
// - QL_ACTION_GFX_CHANGE: The player's avatar changed graphics (e.g. they started surfing)
// - QL_ACTION_INPUT: The player made an input (e.g. they pressed A/B/dpad)
// There are additional action types used internally:
// -
//
struct QuestLogAction
{
union {
struct {
@@ -18,18 +27,18 @@ struct QuestLogEntry
u8 mapNum;
u8 mapGroup;
u8 movementActionId;
} a; // Data when command == 0
} a; // Data when type == 0
struct {
u8 localId;
u8 mapNum;
u8 mapGroup;
u8 gfxState;
} b; // Data when command == 1
u8 fieldInput[4]; // Data when command == 2
} b; // Data when type == 1
u8 fieldInput[4]; // Data when type == 2
u8 raw[4];
} data;
u16 duration;
u8 command;
u8 type;
};
struct UnkStruct_203B044
@@ -44,8 +53,8 @@ extern u8 gQuestLogPlaybackState;
extern struct FieldInput gQuestLogFieldInput;
extern struct UnkStruct_203B044 gUnknown_203B044;
extern u16 *gUnknown_203AE04;
extern u16 *sEventRecordingPointer;
extern u16 sQuestLogCursor;
extern u16 *gQuestLogRecordingPointer;
extern u16 gQuestLogCurActionIdx;
void QuestLogRecordPlayerAvatarGfxTransition(u8);
void SetQuestLogEvent(u16, const u16 *);
@@ -58,7 +67,7 @@ void CommitQuestLogWindow1(void);
void QuestLog_DrawPreviouslyOnQuestHeaderIfInPlaybackMode(void);
void ResetQuestLog(void);
void ResetTrainerFanClub(void);
void TrySetUpQuestLogScenes_ElseContinueFromSave(u8 taskId);
void TryStartQuestLogPlayback(u8 taskId);
void SaveQuestLogData(void);
void QuestLog_CutRecording(void);
u8 sub_8112CAC(void);
@@ -93,22 +102,22 @@ void sub_8110FCC(void);
u8 GetQuestLogStartType(void);
void sub_81113E4(void);
void sub_8111438(void);
void StartRecordingQuestLogEntry(u16 eventId);
void StartRecordingQuestLogAction(u16 eventId);
bool8 WillCommandOfSizeFitInSav1Record(u16 *cursor, size_t size);
bool8 sub_8110944(const void *a0, size_t cmdSize);
void sub_8113BD8(void);
void ResetUnk203B044(void);
u16 *TryRecordEvent39_NoParams(u16 *);
u16 *sub_8113C8C(u16 *, struct QuestLogEntry *);
u16 *sub_8113CC8(u16 *, struct QuestLogEntry *);
u16 *sub_8113D08(u16 *, struct QuestLogEntry *);
u16 *sub_8113D48(u16 *, struct QuestLogEntry *);
u16 *sub_8113D94(u16 *, struct QuestLogEntry *);
u16 *sub_8113C8C(u16 *, struct QuestLogAction *);
u16 *sub_8113CC8(u16 *, struct QuestLogAction *);
u16 *sub_8113D08(u16 *, struct QuestLogAction *);
u16 *sub_8113D48(u16 *, struct QuestLogAction *);
u16 *sub_8113D94(u16 *, struct QuestLogAction *);
void QL_EnableRecordingSteps(void);
u16 *QuestLog_SkipCommand(u16 *, u16 **);
void sub_8113ABC(const u16 *);
u16 *sub_8113C20(u16 *, struct QuestLogEntry *);
u16 *sub_8113C20(u16 *, struct QuestLogAction *);
bool8 sub_8113AE8(const u16 *);
bool8 sub_8113B44(const u16 *);
void TryRecordEvent41_IncCursor(u16);
+1 -1
View File
@@ -478,7 +478,7 @@ static void Task_ExecuteMainMenuSelection(u8 taskId)
gPlttBufferFaded[0] = RGB_BLACK;
gExitStairsMovementDisabled = FALSE;
FreeAllWindowBuffers();
TrySetUpQuestLogScenes_ElseContinueFromSave(taskId);
TryStartQuestLogPlayback(taskId);
break;
case MAIN_MENU_MYSTERYGIFT:
SetMainCallback2(c2_mystery_gift);
+358 -319
View File
File diff suppressed because it is too large Load Diff
+212 -210
View File
@@ -213,7 +213,7 @@ void SetQuestLogEvent(u16 eventId, const u16 *eventData)
{
if (ShouldRegisterEvent_HandleDeparted(eventId, eventData) == FALSE)
return;
StartRecordingQuestLogEntry(eventId);
StartRecordingQuestLogAction(eventId);
}
}
else if (eventId == QL_EVENT_OBTAINED_ITEM)
@@ -224,7 +224,7 @@ void SetQuestLogEvent(u16 eventId, const u16 *eventData)
{
if (gUnknown_203AE04 == NULL)
{
gUnknown_203AE04 = sEventRecordingPointer;
gUnknown_203AE04 = gQuestLogRecordingPointer;
r1 = sQuestLogStorageCBs[eventId](gUnknown_203AE04, eventData);
}
else
@@ -236,7 +236,7 @@ void SetQuestLogEvent(u16 eventId, const u16 *eventData)
else
{
gUnknown_203AE04 = NULL;
r1 = sQuestLogStorageCBs[eventId](sEventRecordingPointer, eventData);
r1 = sQuestLogStorageCBs[eventId](gQuestLogRecordingPointer, eventData);
}
if (r1 == NULL)
@@ -247,7 +247,7 @@ void SetQuestLogEvent(u16 eventId, const u16 *eventData)
return;
}
sEventRecordingPointer = r1;
gQuestLogRecordingPointer = r1;
if (sEventShouldNotRecordSteps == 0)
return;
FinishRecordingQuestLogScene();
@@ -362,15 +362,15 @@ static u16 *ShouldRegisterEvent(u16 eventId, const u16 *eventData)
if (ShouldRegisterEvent_HandleDeparted(eventId, eventData) == FALSE)
return NULL;
StartRecordingQuestLogEntry(eventId);
StartRecordingQuestLogAction(eventId);
SetQuestLogEventToActive(eventId);
if (eventId == QL_EVENT_DEFEATED_WILD_MON)
gUnknown_203AE04 = sEventRecordingPointer;
gUnknown_203AE04 = gQuestLogRecordingPointer;
else
gUnknown_203AE04 = NULL;
return sQuestLogStorageCBs[eventId](sEventRecordingPointer, eventData);
return sQuestLogStorageCBs[eventId](gQuestLogRecordingPointer, eventData);
}
static bool8 TrySetLinkQuestLogEvent(u16 eventId, const u16 *eventData)
@@ -402,9 +402,9 @@ void QuestLog_StartRecordingInputsAfterDeferredEvent(void)
{
u16 *resp;
sLastDepartedMap = 0;
StartRecordingQuestLogEntry(sDeferredEvent.id);
resp = sQuestLogStorageCBs[sDeferredEvent.id](sEventRecordingPointer, sDeferredEvent.data);
sEventRecordingPointer = resp;
StartRecordingQuestLogAction(sDeferredEvent.id);
resp = sQuestLogStorageCBs[sDeferredEvent.id](gQuestLogRecordingPointer, sDeferredEvent.data);
gQuestLogRecordingPointer = resp;
ResetDeferredLinkEvent();
}
}
@@ -434,11 +434,11 @@ void QuestLogEvents_HandleEndTrainerBattle(void)
if (gQuestLogPlaybackState == QL_PLAYBACK_STATE_0)
{
sLastDepartedMap = 0;
StartRecordingQuestLogEntry(sDeferredEvent.id);
StartRecordingQuestLogAction(sDeferredEvent.id);
}
SetQuestLogEventToActive(sDeferredEvent.id);
resp = sQuestLogStorageCBs[sDeferredEvent.id](sEventRecordingPointer, sDeferredEvent.data);
sEventRecordingPointer = resp;
resp = sQuestLogStorageCBs[sDeferredEvent.id](gQuestLogRecordingPointer, sDeferredEvent.data);
gQuestLogRecordingPointer = resp;
TryRecordEvent41_IncCursor(1);
ResetDeferredLinkEvent();
FinishRecordingQuestLogScene();
@@ -447,8 +447,8 @@ void QuestLogEvents_HandleEndTrainerBattle(void)
void TryRecordEvent41_IncCursor(u16 a0)
{
sEventRecordingPointer = TryRecordEvent41(sEventRecordingPointer, a0);
sQuestLogCursor++;
gQuestLogRecordingPointer = TryRecordEvent41(gQuestLogRecordingPointer, a0);
gQuestLogCurActionIdx++;
}
static bool8 IsQuestLogEventWithSpecialEncounterSpecies(u16 eventId, const u16 *eventData)
@@ -587,7 +587,7 @@ bool8 sub_8113AE8(const u16 *a0)
if (a0 == NULL) // checks must be separate to match
return FALSE;
if (r0[1] > sQuestLogCursor)
if (r0[1] > gQuestLogCurActionIdx)
return FALSE;
sQuestLogEventTextBufferCBs[(r0[0] & 0xFFF)](a0);
@@ -617,11 +617,11 @@ void ResetUnk203B044(void)
static void SetQuestLogEventToActive(u16 eventId)
{
if (gUnknown_203B044.id != (u8)eventId || gUnknown_203B044.unk_2 != sQuestLogCursor)
if (gUnknown_203B044.id != (u8)eventId || gUnknown_203B044.unk_2 != gQuestLogCurActionIdx)
{
gUnknown_203B044.id = eventId;
gUnknown_203B044.unk_1 = 0;
gUnknown_203B044.unk_2 = sQuestLogCursor;
gUnknown_203B044.unk_2 = gQuestLogCurActionIdx;
}
else if (gUnknown_203B044.unk_1 < 5)
gUnknown_203B044.unk_1++;
@@ -642,11 +642,11 @@ u16 *TryRecordEvent39_NoParams(u16 *a0)
return a0 + 1;
}
u16 *sub_8113C20(u16 *a0, struct QuestLogEntry * a1)
u16 *sub_8113C20(u16 *a0, struct QuestLogAction * a1)
{
if (!WillCommandOfSizeFitInSav1Record(a0, sQuestLogEventCmdSizes[QL_EVENT_39]))
return NULL;
a1->command = 0xFF;
a1->type = QL_ACTION_FF;
a1->duration = 0;
a1->data.raw[0] = 0;
a1->data.raw[1] = 0;
@@ -664,11 +664,11 @@ static u16 *TryRecordEvent41(u16 *a0, u16 a1)
return a0 + 2;
}
u16 *sub_8113C8C(u16 *a0, struct QuestLogEntry * a1)
u16 *sub_8113C8C(u16 *a0, struct QuestLogAction * a1)
{
if (!WillCommandOfSizeFitInSav1Record(a0, sQuestLogEventCmdSizes[QL_EVENT_41]))
return NULL;
a1->command = 0xFE;
a1->type = QL_ACTION_FE;
a1->duration = a0[1];
a1->data.raw[0] = 0;
a1->data.raw[1] = 0;
@@ -677,7 +677,7 @@ u16 *sub_8113C8C(u16 *a0, struct QuestLogEntry * a1)
return a0 + 2;
}
u16 *sub_8113CC8(u16 *a0, struct QuestLogEntry * a1)
u16 *sub_8113CC8(u16 *a0, struct QuestLogAction * a1)
{
u8 *r6 = (u8 *)a0 + 4;
@@ -692,13 +692,13 @@ u16 *sub_8113CC8(u16 *a0, struct QuestLogEntry * a1)
return (u16 *)(r6 + 4);
}
u16 *sub_8113D08(u16 *a0, struct QuestLogEntry * a1)
u16 *sub_8113D08(u16 *a0, struct QuestLogAction * a1)
{
u8 *r6 = (u8 *)a0 + 4;
if (!WillCommandOfSizeFitInSav1Record(a0, sQuestLogEventCmdSizes[QL_EVENT_0]))
return NULL;
a1->command = 2;
a1->type = QL_ACTION_INPUT;
a1->duration = a0[1];
a1->data.raw[0] = r6[0];
a1->data.raw[1] = r6[1];
@@ -707,14 +707,14 @@ u16 *sub_8113D08(u16 *a0, struct QuestLogEntry * a1)
return (u16 *)(r6 + 4);
}
u16 *sub_8113D48(u16 *a0, struct QuestLogEntry * a1)
u16 *sub_8113D48(u16 *a0, struct QuestLogAction * a1)
{
u16 *r4 = a0;
u8 *r6 = (u8 *)a0 + 4;
if (!WillCommandOfSizeFitInSav1Record(r4, sQuestLogEventCmdSizes[QL_EVENT_2]))
return NULL;
if (a1->command == 0)
if (a1->type == QL_ACTION_MOVEMENT)
r4[0] = 2;
else
r4[0] = 1;
@@ -726,7 +726,7 @@ u16 *sub_8113D48(u16 *a0, struct QuestLogEntry * a1)
return (u16 *)(r6 + 4);
}
u16 *sub_8113D94(u16 *a0, struct QuestLogEntry * a1)
u16 *sub_8113D94(u16 *a0, struct QuestLogAction * a1)
{
u16 *r5 = a0;
u8 *r6 = (u8 *)a0 + 4;
@@ -734,9 +734,9 @@ u16 *sub_8113D94(u16 *a0, struct QuestLogEntry * a1)
if (!WillCommandOfSizeFitInSav1Record(r5, sQuestLogEventCmdSizes[QL_EVENT_2]))
return NULL;
if (r5[0] == 2)
a1->command = 0;
a1->type = QL_ACTION_MOVEMENT;
else
a1->command = 1;
a1->type = QL_ACTION_GFX_CHANGE;
a1->duration = r5[1];
a1->data.raw[0] = r6[0];
a1->data.raw[1] = r6[1];
@@ -745,7 +745,7 @@ u16 *sub_8113D94(u16 *a0, struct QuestLogEntry * a1)
return (u16 *)(r6 + 4);
}
u16 *sub_8113DE0(u16 eventId, u16 *a1)
static u16 *RecordEvent(u16 eventId, u16 *dest)
{
u8 cmdSize;
u16 *r5;
@@ -756,10 +756,12 @@ u16 *sub_8113DE0(u16 eventId, u16 *a1)
cmdSize = sQuestLogEventCmdSizes[eventId];
else
cmdSize = sQuestLogEventCmdSizes[eventId] - 4;
if (!sub_8110944(a1, cmdSize))
// Is there room to record this?
if (!sub_8110944(dest, cmdSize))
return NULL;
r5 = (void *)a1;
r5 = (void *)dest;
if (gUnknown_203B044.unk_1 != 0)
r5 = (void *)r5 - (gUnknown_203B044.unk_1 * cmdSize + 4);
@@ -780,7 +782,7 @@ u16 *sub_8113DE0(u16 eventId, u16 *a1)
r1 = gUnknown_203B044.unk_1;
r5[0] = eventId + (r1 << 12);
r5[1] = sQuestLogCursor;
r5[1] = gQuestLogCurActionIdx;
r5 = (void *)r5 + (r1 * cmdSize + 4);
return r5;
}
@@ -809,9 +811,9 @@ static void QuestLog_GetSpeciesName(u16 species, u8 *dest, u8 stringVarId)
}
}
static u16 *BufferQuestLogData_SwitchedPartyOrder(u16 *a0, const u16 *eventData)
static u16 *BufferQuestLogData_SwitchedPartyOrder(u16 *dest, const u16 *eventData)
{
u16 *r2 = sub_8113DE0(QL_EVENT_SWITCHED_PARTY_ORDER, a0);
u16 *r2 = RecordEvent(QL_EVENT_SWITCHED_PARTY_ORDER, dest);
if (r2 == NULL)
return NULL;
@@ -830,9 +832,9 @@ static const u16 *BufferQuestLogText_SwitchedPartyOrder(const u16 *eventData)
return r4;
}
static u16 *BufferQuestLogData_UsedItem(u16 *a0, const u16 *eventData)
static u16 *BufferQuestLogData_UsedItem(u16 *dest, const u16 *eventData)
{
u16 *r2 = sub_8113DE0(QL_EVENT_USED_ITEM, a0);
u16 *r2 = RecordEvent(QL_EVENT_USED_ITEM, dest);
if (r2 == NULL)
return NULL;
@@ -898,9 +900,9 @@ static const u16 *BufferQuestLogText_UsedItem(const u16 *eventData)
return r5 + 3;
}
u16 *BufferQuestLogData_GiveTakeHeldItem(u16 eventId, u16 *a1, const u16 *eventData)
u16 *BufferQuestLogData_GiveTakeHeldItem(u16 eventId, u16 *dest, const u16 *eventData)
{
u16 *r1 = sub_8113DE0(eventId, a1);
u16 *r1 = RecordEvent(eventId, dest);
if (r1 == NULL)
return NULL;
@@ -909,9 +911,9 @@ u16 *BufferQuestLogData_GiveTakeHeldItem(u16 eventId, u16 *a1, const u16 *eventD
return r1 + 2;
}
static u16 *BufferQuestLogData_GaveHeldItemFromPartyMenu(u16 *a0, const u16 *eventData)
static u16 *BufferQuestLogData_GaveHeldItemFromPartyMenu(u16 *dest, const u16 *eventData)
{
return BufferQuestLogData_GiveTakeHeldItem(QL_EVENT_GAVE_HELD_ITEM, a0, eventData);
return BufferQuestLogData_GiveTakeHeldItem(QL_EVENT_GAVE_HELD_ITEM, dest, eventData);
}
static const u16 *BufferQuestLogText_GaveHeldItemFromPartyMenu(const u16 *eventData)
@@ -924,9 +926,9 @@ static const u16 *BufferQuestLogText_GaveHeldItemFromPartyMenu(const u16 *eventD
return r4;
}
static u16 *BufferQuestLogData_GaveHeldItemFromBagMenu(u16 *a0, const u16 *eventData)
static u16 *BufferQuestLogData_GaveHeldItemFromBagMenu(u16 *dest, const u16 *eventData)
{
return BufferQuestLogData_GiveTakeHeldItem(QL_EVENT_GAVE_HELD_ITEM_BAG, a0, eventData);
return BufferQuestLogData_GiveTakeHeldItem(QL_EVENT_GAVE_HELD_ITEM_BAG, dest, eventData);
}
static const u16 *BufferQuestLogText_GaveHeldItemFromBagMenu(const u16 *eventData)
@@ -939,9 +941,9 @@ static const u16 *BufferQuestLogText_GaveHeldItemFromBagMenu(const u16 *eventDat
return r4;
}
static u16 *BufferQuestLogData_GaveHeldItemFromPC(u16 *a0, const u16 *eventData)
static u16 *BufferQuestLogData_GaveHeldItemFromPC(u16 *dest, const u16 *eventData)
{
return BufferQuestLogData_GiveTakeHeldItem(QL_EVENT_GAVE_HELD_ITEM_PC, a0, eventData);
return BufferQuestLogData_GiveTakeHeldItem(QL_EVENT_GAVE_HELD_ITEM_PC, dest, eventData);
}
static const u16 *BufferQuestLogText_GaveHeldItemFromPC(const u16 *eventData)
@@ -955,9 +957,9 @@ static const u16 *BufferQuestLogText_GaveHeldItemFromPC(const u16 *eventData)
return r4;
}
static u16 *BufferQuestLogData_TookHeldItem(u16 *a0, const u16 *eventData)
static u16 *BufferQuestLogData_TookHeldItem(u16 *dest, const u16 *eventData)
{
return BufferQuestLogData_GiveTakeHeldItem(QL_EVENT_TOOK_HELD_ITEM, a0, eventData);
return BufferQuestLogData_GiveTakeHeldItem(QL_EVENT_TOOK_HELD_ITEM, dest, eventData);
}
static const u16 *BufferQuestLogText_TookHeldItem(const u16 *eventData)
@@ -971,9 +973,9 @@ static const u16 *BufferQuestLogText_TookHeldItem(const u16 *eventData)
return r4;
}
u16 *BufferQuestLogData_SwappedHeldItem_(u16 eventId, u16 *a1, const u16 *eventData)
u16 *BufferQuestLogData_SwappedHeldItem_(u16 eventId, u16 *dest, const u16 *eventData)
{
u16 *r1 = sub_8113DE0(eventId, a1);
u16 *r1 = RecordEvent(eventId, dest);
if (r1 == NULL)
return NULL;
@@ -983,9 +985,9 @@ u16 *BufferQuestLogData_SwappedHeldItem_(u16 eventId, u16 *a1, const u16 *eventD
return r1 + 3;
}
static u16 *BufferQuestLogData_SwappedHeldItem(u16 *a0, const u16 *eventData)
static u16 *BufferQuestLogData_SwappedHeldItem(u16 *dest, const u16 *eventData)
{
return BufferQuestLogData_SwappedHeldItem_(QL_EVENT_SWAPPED_HELD_ITEM, a0, eventData);
return BufferQuestLogData_SwappedHeldItem_(QL_EVENT_SWAPPED_HELD_ITEM, dest, eventData);
}
static const u16 *BufferQuestLogText_SwappedHeldItem(const u16 *eventData)
@@ -999,9 +1001,9 @@ static const u16 *BufferQuestLogText_SwappedHeldItem(const u16 *eventData)
return r4;
}
static u16 *BufferQuestLogData_SwappedHeldItemFromPC(u16 *a0, const u16 *eventData)
static u16 *BufferQuestLogData_SwappedHeldItemFromPC(u16 *dest, const u16 *eventData)
{
return BufferQuestLogData_SwappedHeldItem_(QL_EVENT_SWAPPED_HELD_ITEM_PC, a0, eventData);
return BufferQuestLogData_SwappedHeldItem_(QL_EVENT_SWAPPED_HELD_ITEM_PC, dest, eventData);
}
static const u16 *BufferQuestLogText_SwappedHeldItemFromPC(const u16 *eventData)
@@ -1015,17 +1017,17 @@ static const u16 *BufferQuestLogText_SwappedHeldItemFromPC(const u16 *eventData)
return r4;
}
static u16 *BufferQuestLogData_UsedPkmnCenter(u16 *a0, const u16 *eventData)
static u16 *BufferQuestLogData_UsedPkmnCenter(u16 *dest, const u16 *eventData)
{
u16 *r4 = a0;
u16 *r4 = dest;
if (gUnknown_203B044.id == QL_EVENT_USED_PKMN_CENTER && gUnknown_203B044.unk_1 != 0)
return r4;
if (!sub_8110944(a0, sQuestLogEventCmdSizes[QL_EVENT_USED_PKMN_CENTER]))
if (!sub_8110944(dest, sQuestLogEventCmdSizes[QL_EVENT_USED_PKMN_CENTER]))
return NULL;
r4[0] = QL_EVENT_USED_PKMN_CENTER;
r4[1] = sQuestLogCursor;
r4[1] = gQuestLogCurActionIdx;
return r4 + 2;
}
@@ -1036,14 +1038,14 @@ static const u16 *BufferQuestLogText_UsedPkmnCenter(const u16 *a0)
return a0;
}
static u16 *BufferQuestLogData_LinkTraded(u16 *a0, const u16 *eventData)
static u16 *BufferQuestLogData_LinkTraded(u16 *dest, const u16 *eventData)
{
u16 *r4 = a0 + 4;
u16 *r4 = dest + 4;
a0[0] = QL_EVENT_LINK_TRADED;
a0[1] = sQuestLogCursor;
a0[2] = eventData[0];
a0[3] = eventData[1];
dest[0] = QL_EVENT_LINK_TRADED;
dest[1] = gQuestLogCurActionIdx;
dest[2] = eventData[0];
dest[3] = eventData[1];
eventData += 2;
memcpy(r4, eventData, 7);
r4 += 4;
@@ -1083,14 +1085,14 @@ static const u8 *const sBattleOutcomeTexts[] = {
gText_QuestLog_Draw
};
static u16 *BufferQuestLogData_LinkBattledSingle(u16 *a0, const u16 *eventData)
static u16 *BufferQuestLogData_LinkBattledSingle(u16 *dest, const u16 *eventData)
{
a0[0] = QL_EVENT_LINK_BATTLED_SINGLE;
a0[1] = sQuestLogCursor;
*((u8 *)a0 + 4) = *((const u8 *)eventData + 0);
memcpy((u8 *)a0 + 5, (const u8 *)eventData + 1, PLAYER_NAME_LENGTH);
a0 += 6;
return a0;
dest[0] = QL_EVENT_LINK_BATTLED_SINGLE;
dest[1] = gQuestLogCurActionIdx;
*((u8 *)dest + 4) = *((const u8 *)eventData + 0);
memcpy((u8 *)dest + 5, (const u8 *)eventData + 1, PLAYER_NAME_LENGTH);
dest += 6;
return dest;
}
static const u16 *BufferQuestLogText_LinkBattledSingle(const u16 *a0)
@@ -1107,14 +1109,14 @@ static const u16 *BufferQuestLogText_LinkBattledSingle(const u16 *a0)
return a0;
}
static u16 *BufferQuestLogData_LinkBattledDouble(u16 *a0, const u16 *eventData)
static u16 *BufferQuestLogData_LinkBattledDouble(u16 *dest, const u16 *eventData)
{
a0[0] = QL_EVENT_LINK_BATTLED_DOUBLE;
a0[1] = sQuestLogCursor;
*((u8 *)a0 + 4) = *((const u8 *)eventData + 0);
memcpy((u8 *)a0 + 5, (const u8 *)eventData + 1, PLAYER_NAME_LENGTH);
a0 += 6;
return a0;
dest[0] = QL_EVENT_LINK_BATTLED_DOUBLE;
dest[1] = gQuestLogCurActionIdx;
*((u8 *)dest + 4) = *((const u8 *)eventData + 0);
memcpy((u8 *)dest + 5, (const u8 *)eventData + 1, PLAYER_NAME_LENGTH);
dest += 6;
return dest;
}
static const u16 *BufferQuestLogText_LinkBattledDouble(const u16 *a0)
@@ -1131,16 +1133,16 @@ static const u16 *BufferQuestLogText_LinkBattledDouble(const u16 *a0)
return a0;
}
static u16 *BufferQuestLogData_LinkBattledMulti(u16 *a0, const u16 *eventData)
static u16 *BufferQuestLogData_LinkBattledMulti(u16 *dest, const u16 *eventData)
{
a0[0] = QL_EVENT_LINK_BATTLED_MULTI;
a0[1] = sQuestLogCursor;
*((u8 *)a0 + 4) = *((const u8 *)eventData + 0);
memcpy((u8 *)a0 + 5, (const u8 *)eventData + 1, PLAYER_NAME_LENGTH);
memcpy((u8 *)a0 + 12, (const u8 *)eventData + 8, PLAYER_NAME_LENGTH);
memcpy((u8 *)a0 + 19, (const u8 *)eventData + 15, PLAYER_NAME_LENGTH);
a0 += 13;
return a0;
dest[0] = QL_EVENT_LINK_BATTLED_MULTI;
dest[1] = gQuestLogCurActionIdx;
*((u8 *)dest + 4) = *((const u8 *)eventData + 0);
memcpy((u8 *)dest + 5, (const u8 *)eventData + 1, PLAYER_NAME_LENGTH);
memcpy((u8 *)dest + 12, (const u8 *)eventData + 8, PLAYER_NAME_LENGTH);
memcpy((u8 *)dest + 19, (const u8 *)eventData + 15, PLAYER_NAME_LENGTH);
dest += 13;
return dest;
}
static const u16 *BufferQuestLogText_LinkBattledMulti(const u16 *a0)
@@ -1166,11 +1168,11 @@ static const u16 *BufferQuestLogText_LinkBattledMulti(const u16 *a0)
return a0;
}
static u16 *BufferQuestLogData_UsedUnionRoom(u16 *a0, const u16 *eventData)
static u16 *BufferQuestLogData_UsedUnionRoom(u16 *dest, const u16 *eventData)
{
a0[0] = QL_EVENT_USED_UNION_ROOM;
a0[1] = sQuestLogCursor;
return a0 + 2;
dest[0] = QL_EVENT_USED_UNION_ROOM;
dest[1] = gQuestLogCurActionIdx;
return dest + 2;
}
static const u16 *BufferQuestLogText_UsedUnionRoom(const u16 *a0)
@@ -1180,11 +1182,11 @@ static const u16 *BufferQuestLogText_UsedUnionRoom(const u16 *a0)
return a0;
}
static u16 *BufferQuestLogData_UsedUnionRoomChat(u16 *a0, const u16 *eventData)
static u16 *BufferQuestLogData_UsedUnionRoomChat(u16 *dest, const u16 *eventData)
{
a0[0] = QL_EVENT_USED_UNION_ROOM_CHAT;
a0[1] = sQuestLogCursor;
return a0 + 2;
dest[0] = QL_EVENT_USED_UNION_ROOM_CHAT;
dest[1] = gQuestLogCurActionIdx;
return dest + 2;
}
static const u16 *BufferQuestLogText_UsedUnionRoomChat(const u16 *a0)
@@ -1194,13 +1196,13 @@ static const u16 *BufferQuestLogText_UsedUnionRoomChat(const u16 *a0)
return a0;
}
static u16 *BufferQuestLogData_LinkTradedUnionRoom(u16 *a0, const u16 *eventData)
static u16 *BufferQuestLogData_LinkTradedUnionRoom(u16 *dest, const u16 *eventData)
{
u8 *r4 = (u8 *)(a0 + 4);
a0[0] = QL_EVENT_LINK_TRADED_UNION;
a0[1] = sQuestLogCursor;
a0[2] = eventData[0];
a0[3] = eventData[1];
u8 *r4 = (u8 *)(dest + 4);
dest[0] = QL_EVENT_LINK_TRADED_UNION;
dest[1] = gQuestLogCurActionIdx;
dest[2] = eventData[0];
dest[3] = eventData[1];
memcpy(r4, eventData + 2, PLAYER_NAME_LENGTH);
r4 += 8;
return (u16 *)r4;
@@ -1219,14 +1221,14 @@ static const u16 *BufferQuestLogText_LinkTradedUnionRoom(const u16 *a0)
return (const u16 *)r6;
}
static u16 *BufferQuestLogData_LinkBattledUnionRoom(u16 *a0, const u16 *eventData)
static u16 *BufferQuestLogData_LinkBattledUnionRoom(u16 *dest, const u16 *eventData)
{
a0[0] = QL_EVENT_LINK_BATTLED_UNION;
a0[1] = sQuestLogCursor;
*(u8 *)&a0[2] = *(const u8 *)&eventData[0];
memcpy((u8 *)a0 + 5, (const u8 *)eventData + 1, PLAYER_NAME_LENGTH);
a0 += 6;
return a0;
dest[0] = QL_EVENT_LINK_BATTLED_UNION;
dest[1] = gQuestLogCurActionIdx;
*(u8 *)&dest[2] = *(const u8 *)&eventData[0];
memcpy((u8 *)dest + 5, (const u8 *)eventData + 1, PLAYER_NAME_LENGTH);
dest += 6;
return dest;
}
static const u16 *BufferQuestLogText_LinkBattledUnionRoom(const u16 *a0)
@@ -1240,16 +1242,16 @@ static const u16 *BufferQuestLogText_LinkBattledUnionRoom(const u16 *a0)
return a0;
}
static u16 *BufferQuestLogData_SwitchedMonsBetweenBoxes(u16 *a0, const u16 *eventData)
static u16 *BufferQuestLogData_SwitchedMonsBetweenBoxes(u16 *dest, const u16 *eventData)
{
a0 = sub_8113DE0(QL_EVENT_SWITCHED_MONS_BETWEEN_BOXES, a0);
if (a0 == NULL)
dest = RecordEvent(QL_EVENT_SWITCHED_MONS_BETWEEN_BOXES, dest);
if (dest == NULL)
return NULL;
a0[0] = eventData[0];
a0[1] = eventData[1];
*((u8 *)a0 + 4) = *((const u8 *)eventData + 4);
*((u8 *)a0 + 5) = *((const u8 *)eventData + 5);
return a0 + 3;
dest[0] = eventData[0];
dest[1] = eventData[1];
*((u8 *)dest + 4) = *((const u8 *)eventData + 4);
*((u8 *)dest + 5) = *((const u8 *)eventData + 5);
return dest + 3;
}
static const u16 *BufferQuestLogText_SwitchedMonsBetweenBoxes(const u16 *eventData)
@@ -1266,15 +1268,15 @@ static const u16 *BufferQuestLogText_SwitchedMonsBetweenBoxes(const u16 *eventDa
return eventData + 3;
}
static u16 *BufferQuestLogData_SwitchedMonsWithinBox(u16 *a0, const u16 *eventData)
static u16 *BufferQuestLogData_SwitchedMonsWithinBox(u16 *dest, const u16 *eventData)
{
a0 = sub_8113DE0(QL_EVENT_SWITCHED_MONS_WITHIN_BOX, a0);
if (a0 == NULL)
dest = RecordEvent(QL_EVENT_SWITCHED_MONS_WITHIN_BOX, dest);
if (dest == NULL)
return NULL;
a0[0] = eventData[0];
a0[1] = eventData[1];
*((u8 *)a0 + 4) = *((const u8 *)eventData + 4);
return a0 + 3;
dest[0] = eventData[0];
dest[1] = eventData[1];
*((u8 *)dest + 4) = *((const u8 *)eventData + 4);
return dest + 3;
}
static const u16 *BufferQuestLogText_SwitchedMonsWithinBox(const u16 *eventData)
@@ -1290,11 +1292,11 @@ static const u16 *BufferQuestLogText_SwitchedMonsWithinBox(const u16 *eventData)
return eventData + 3;
}
static u16 *BufferQuestLogData_SwitchedPartyMonForPCMon(u16 *a0, const u16 *eventData)
static u16 *BufferQuestLogData_SwitchedPartyMonForPCMon(u16 *dest, const u16 *eventData)
{
u16 *r2;
u16 *ret;
r2 = sub_8113DE0(QL_EVENT_SWITCHED_PARTY_MON_FOR_PC_MON, a0);
r2 = RecordEvent(QL_EVENT_SWITCHED_PARTY_MON_FOR_PC_MON, dest);
if (r2 == NULL)
return NULL;
ret = r2 + 2;
@@ -1326,11 +1328,11 @@ static const u16 *BufferQuestLogText_SwitchedPartyMonForPCMon(const u16 *eventDa
return eventData + 3;
}
static u16 *BufferQuestLogData_MovedMonBetweenBoxes(u16 *a0, const u16 *eventData)
static u16 *BufferQuestLogData_MovedMonBetweenBoxes(u16 *dest, const u16 *eventData)
{
u16 *r2;
u16 *ret;
r2 = sub_8113DE0(QL_EVENT_MOVED_MON_BETWEEN_BOXES, a0);
r2 = RecordEvent(QL_EVENT_MOVED_MON_BETWEEN_BOXES, dest);
if (r2 == NULL)
return NULL;
r2[0] = eventData[0];
@@ -1353,10 +1355,10 @@ static const u16 *BufferQuestLogText_MovedMonBetweenBoxes(const u16 *eventData)
return (const u16 *)boxIdxs + 1;
}
static u16 *BufferQuestLogData_MovedMonWithinBox(u16 *a0, const u16 *eventData)
static u16 *BufferQuestLogData_MovedMonWithinBox(u16 *dest, const u16 *eventData)
{
u16 *r2;
r2 = sub_8113DE0(QL_EVENT_MOVED_MON_WITHIN_BOX, a0);
r2 = RecordEvent(QL_EVENT_MOVED_MON_WITHIN_BOX, dest);
if (r2 == NULL)
return NULL;
r2[0] = eventData[0];
@@ -1376,10 +1378,10 @@ static const u16 *BufferQuestLogText_MovedMonWithinBox(const u16 *eventData)
return (const u16 *)boxIdxs + 1;
}
static u16 *BufferQuestLogData_WithdrewMonFromPC(u16 *a0, const u16 *eventData)
static u16 *BufferQuestLogData_WithdrewMonFromPC(u16 *dest, const u16 *eventData)
{
u16 *r2;
r2 = sub_8113DE0(QL_EVENT_WITHDREW_MON_PC, a0);
r2 = RecordEvent(QL_EVENT_WITHDREW_MON_PC, dest);
if (r2 == NULL)
return NULL;
r2[0] = eventData[0];
@@ -1399,10 +1401,10 @@ static const u16 *BufferQuestLogText_WithdrewMonFromPC(const u16 *eventData)
return (const u16 *)boxIdxs + 1;
}
static u16 *BufferQuestLogData_DepositedMonInPC(u16 *a0, const u16 *eventData)
static u16 *BufferQuestLogData_DepositedMonInPC(u16 *dest, const u16 *eventData)
{
u16 *r2;
r2 = sub_8113DE0(QL_EVENT_DEPOSITED_MON_PC, a0);
r2 = RecordEvent(QL_EVENT_DEPOSITED_MON_PC, dest);
if (r2 == NULL)
return NULL;
r2[0] = eventData[0];
@@ -1422,10 +1424,10 @@ static const u16 *BufferQuestLogText_DepositedMonInPC(const u16 *eventData)
return (const u16 *)boxIdxs + 1;
}
static u16 *BufferQuestLogData_SwitchedMultipleMons(u16 *a0, const u16 *eventData)
static u16 *BufferQuestLogData_SwitchedMultipleMons(u16 *dest, const u16 *eventData)
{
u16 *r2;
r2 = sub_8113DE0(QL_EVENT_SWITCHED_MULTIPLE_MONS, a0);
r2 = RecordEvent(QL_EVENT_SWITCHED_MULTIPLE_MONS, dest);
if (r2 == NULL)
return NULL;
*((u8 *)r2 + 0) = *((const u8 *)eventData + 4);
@@ -1446,13 +1448,13 @@ static const u16 *BufferQuestLogText_SwitchedMultipleMons(const u16 *eventData)
return r4 + 1;
}
static u16 *BufferQuestLogData_DepositedItemInPC(u16 *a0, const u16 *eventData)
static u16 *BufferQuestLogData_DepositedItemInPC(u16 *dest, const u16 *eventData)
{
a0 = sub_8113DE0(QL_EVENT_DEPOSITED_ITEM_PC, a0);
if (a0 == NULL)
dest = RecordEvent(QL_EVENT_DEPOSITED_ITEM_PC, dest);
if (dest == NULL)
return NULL;
a0[0] = eventData[0];
return a0 + 1;
dest[0] = eventData[0];
return dest + 1;
}
static const u16 *BufferQuestLogText_DepositedItemInPC(const u16 *eventData)
@@ -1463,13 +1465,13 @@ static const u16 *BufferQuestLogText_DepositedItemInPC(const u16 *eventData)
return r4 + 1;
}
static u16 *BufferQuestLogData_WithdrewItemFromPC(u16 *a0, const u16 *eventData)
static u16 *BufferQuestLogData_WithdrewItemFromPC(u16 *dest, const u16 *eventData)
{
a0 = sub_8113DE0(QL_EVENT_WITHDREW_ITEM_PC, a0);
if (a0 == NULL)
dest = RecordEvent(QL_EVENT_WITHDREW_ITEM_PC, dest);
if (dest == NULL)
return NULL;
a0[0] = eventData[0];
return a0 + 1;
dest[0] = eventData[0];
return dest + 1;
}
static const u16 *BufferQuestLogText_WithdrewItemFromPC(const u16 *eventData)
@@ -1480,23 +1482,23 @@ static const u16 *BufferQuestLogText_WithdrewItemFromPC(const u16 *eventData)
return r4 + 1;
}
u16 *BufferQuestLogData_DefeatedTrainer_(u16 eventId, u16 *a1, const u16 *a2)
u16 *BufferQuestLogData_DefeatedTrainer_(u16 eventId, u16 *dest, const u16 *eventData)
{
a1 = sub_8113DE0(eventId, a1);
if (a1 == NULL)
dest = RecordEvent(eventId, dest);
if (dest == NULL)
return NULL;
a1[0] = a2[1];
a1[1] = a2[2];
a1[2] = a2[0];
*((u8 *)a1 + 6) = *((const u8 *)a2 + 7);
*((u8 *)a1 + 7) = *((const u8 *)a2 + 6);
return a1 + 4;
dest[0] = eventData[1];
dest[1] = eventData[2];
dest[2] = eventData[0];
*((u8 *)dest + 6) = *((const u8 *)eventData + 7);
*((u8 *)dest + 7) = *((const u8 *)eventData + 6);
return dest + 4;
}
static u16 *BufferQuestLogData_DefeatedGymLeader(u16 *a0, const u16 *eventData)
static u16 *BufferQuestLogData_DefeatedGymLeader(u16 *dest, const u16 *eventData)
{
sEventShouldNotRecordSteps = 1;
return BufferQuestLogData_DefeatedTrainer_(QL_EVENT_DEFEATED_GYM_LEADER, a0, eventData);
return BufferQuestLogData_DefeatedTrainer_(QL_EVENT_DEFEATED_GYM_LEADER, dest, eventData);
}
static const u16 *BufferQuestLogText_DefeatedGymLeader(const u16 *eventData)
@@ -1515,16 +1517,16 @@ static const u16 *BufferQuestLogText_DefeatedGymLeader(const u16 *eventData)
return eventData + 4;
}
static u16 *BufferQuestLogData_DefeatedWildMon(u16 *a0, const u16 *eventData)
static u16 *BufferQuestLogData_DefeatedWildMon(u16 *dest, const u16 *eventData)
{
u16 *r4 = a0;
u8 *r5 = (u8 *)a0 + 8;
u16 *r4 = dest;
u8 *r5 = (u8 *)dest + 8;
if (!sub_8110944(r4, sQuestLogEventCmdSizes[QL_EVENT_DEFEATED_WILD_MON]))
return NULL;
if (r5[0] == 0 && r5[1] == 0)
{
r4[0] = QL_EVENT_DEFEATED_WILD_MON;
r4[1] = sQuestLogCursor;
r4[1] = gQuestLogCurActionIdx;
}
if (eventData[0])
r4[2] = eventData[0];
@@ -1603,10 +1605,10 @@ static bool8 IsSpeciesFromSpecialEncounter(u16 species)
return FALSE;
}
static u16 *BufferQuestLogData_DefeatedEliteFourMember(u16 *a0, const u16 *eventData)
static u16 *BufferQuestLogData_DefeatedEliteFourMember(u16 *dest, const u16 *eventData)
{
sEventShouldNotRecordSteps = 1;
return BufferQuestLogData_DefeatedTrainer_(QL_EVENT_DEFEATED_E4_MEMBER, a0, eventData);
return BufferQuestLogData_DefeatedTrainer_(QL_EVENT_DEFEATED_E4_MEMBER, dest, eventData);
}
static const u16 *BufferQuestLogText_DefeatedEliteFourMember(const u16 *eventData)
@@ -1623,17 +1625,17 @@ static const u16 *BufferQuestLogText_DefeatedEliteFourMember(const u16 *eventDat
return eventData + 4;
}
static u16 *BufferQuestLogData_DefeatedChampion(u16 *a0, const u16 *eventData)
static u16 *BufferQuestLogData_DefeatedChampion(u16 *dest, const u16 *eventData)
{
if (!sub_8110944(a0, sQuestLogEventCmdSizes[QL_EVENT_DEFEATED_CHAMPION]))
if (!sub_8110944(dest, sQuestLogEventCmdSizes[QL_EVENT_DEFEATED_CHAMPION]))
return NULL;
a0[0] = QL_EVENT_DEFEATED_CHAMPION | (2 << 12);
a0[1] = sQuestLogCursor;
a0[2] = eventData[1];
a0[3] = eventData[2];
*((u8 *)a0 + 8) = *((const u8 *)eventData + 6);
dest[0] = QL_EVENT_DEFEATED_CHAMPION | (2 << 12);
dest[1] = gQuestLogCurActionIdx;
dest[2] = eventData[1];
dest[3] = eventData[2];
*((u8 *)dest + 8) = *((const u8 *)eventData + 6);
sEventShouldNotRecordSteps = 1;
return a0 + 5;
return dest + 5;
}
static const u16 *BufferQuestLogText_DefeatedChampion(const u16 *a0)
@@ -1667,10 +1669,10 @@ static const u16 *BufferQuestLogText_DefeatedChampion(const u16 *a0)
return (const u16 *)(r5 + 2);
}
static u16 *BufferQuestLogData_DefeatedTrainer(u16 *a0, const u16 *eventData)
static u16 *BufferQuestLogData_DefeatedTrainer(u16 *dest, const u16 *eventData)
{
sEventShouldNotRecordSteps = 1;
return BufferQuestLogData_DefeatedTrainer_(QL_EVENT_DEFEATED_TRAINER, a0, eventData);
return BufferQuestLogData_DefeatedTrainer_(QL_EVENT_DEFEATED_TRAINER, dest, eventData);
}
static const u16 *BufferQuestLogText_DefeatedTrainer(const u16 *eventData)
@@ -1846,9 +1848,9 @@ static const u8 *const sUsedFieldMoveTexts[] =
[FIELD_MOVE_SWEET_SCENT] = gText_QuestLog_UsedSweetScent
};
static u16 *BufferQuestLogData_DepartedLocation(u16 *a0, const u16 *eventData)
static u16 *BufferQuestLogData_DepartedLocation(u16 *dest, const u16 *eventData)
{
u16 *r2 = sub_8113DE0(QL_EVENT_DEPARTED, a0);
u16 *r2 = RecordEvent(QL_EVENT_DEPARTED, dest);
if (r2 == NULL)
return NULL;
*((u8 *)r2 + 0) = *((const u8 *)eventData + 0);
@@ -1917,14 +1919,14 @@ static bool8 ShouldRegisterEvent_HandleGameCorner(u16 eventId, const u16 *eventD
return TRUE;
}
static u16 *BufferQuestLogData_UsedFieldMove(u16 *a0, const u16 *eventData)
static u16 *BufferQuestLogData_UsedFieldMove(u16 *dest, const u16 *eventData)
{
u8 *r3;
a0 = sub_8113DE0(QL_EVENT_USED_FIELD_MOVE, a0);
if (a0 == NULL)
dest = RecordEvent(QL_EVENT_USED_FIELD_MOVE, dest);
if (dest == NULL)
return NULL;
a0[0] = eventData[0];
r3 = (u8 *)a0 + 2;
dest[0] = eventData[0];
r3 = (u8 *)dest + 2;
r3[0] = *((const u8 *)eventData + 2);
r3[1] = *((const u8 *)eventData + 3);
if (r3[0] == FIELD_MOVE_TELEPORT || r3[0] == FIELD_MOVE_DIG)
@@ -1955,18 +1957,18 @@ static const u16 *BufferQuestLogText_UsedFieldMove(const u16 *eventData)
return (const u16 *)(r5 + 2);
}
static u16 *BufferQuestLogData_BoughtItem(u16 *a0, const u16 *eventData)
static u16 *BufferQuestLogData_BoughtItem(u16 *dest, const u16 *eventData)
{
a0 = sub_8113DE0(QL_EVENT_BOUGHT_ITEM, a0);
if (a0 == NULL)
dest = RecordEvent(QL_EVENT_BOUGHT_ITEM, dest);
if (dest == NULL)
return NULL;
a0[0] = eventData[2];
a0[1] = eventData[3];
a0[2] = *((const u32 *)eventData) >> 16;
a0[3] = *((const u32 *)eventData);
*((u8 *)a0 + 8) = *((const u8 *)eventData + 8);
*((u8 *)a0 + 9) = 1;
return a0 + 5;
dest[0] = eventData[2];
dest[1] = eventData[3];
dest[2] = *((const u32 *)eventData) >> 16;
dest[3] = *((const u32 *)eventData);
*((u8 *)dest + 8) = *((const u8 *)eventData + 8);
*((u8 *)dest + 9) = 1;
return dest + 5;
}
static const u16 *BufferQuestLogText_BoughtItem(const u16 *eventData)
@@ -1989,18 +1991,18 @@ static const u16 *BufferQuestLogText_BoughtItem(const u16 *eventData)
return (const u16 *)(r7 + 2);
}
static u16 *BufferQuestLogData_SoldItem(u16 *a0, const u16 *eventData)
static u16 *BufferQuestLogData_SoldItem(u16 *dest, const u16 *eventData)
{
a0 = sub_8113DE0(QL_EVENT_SOLD_ITEM, a0);
if (a0 == NULL)
dest = RecordEvent(QL_EVENT_SOLD_ITEM, dest);
if (dest == NULL)
return NULL;
a0[0] = eventData[2];
a0[1] = eventData[3];
a0[2] = *((const u32 *)eventData) >> 16;
a0[3] = *((const u32 *)eventData);
*((u8 *)a0 + 8) = *((const u8 *)eventData + 8);
*((u8 *)a0 + 9) = *((const u8 *)eventData + 9);
return a0 + 5;
dest[0] = eventData[2];
dest[1] = eventData[3];
dest[2] = *((const u32 *)eventData) >> 16;
dest[3] = *((const u32 *)eventData);
*((u8 *)dest + 8) = *((const u8 *)eventData + 8);
*((u8 *)dest + 9) = *((const u8 *)eventData + 9);
return dest + 5;
}
static const u16 *BufferQuestLogText_SoldItem(const u16 *eventData)
@@ -2036,14 +2038,14 @@ static const u16 *BufferQuestLogText_SoldItem(const u16 *eventData)
return (const u16 *)(r7 + 2);
}
static u16 *BufferQuestLogData_ObtainedItem(u16 *a0, const u16 *eventData)
static u16 *BufferQuestLogData_ObtainedItem(u16 *dest, const u16 *eventData)
{
a0 = sub_8113DE0(QL_EVENT_OBTAINED_ITEM, a0);
if (a0 == NULL)
dest = RecordEvent(QL_EVENT_OBTAINED_ITEM, dest);
if (dest == NULL)
return NULL;
a0[0] = eventData[0];
*((u8 *)a0 + 2) = *((const u8 *)eventData + 2);
return a0 + 2;
dest[0] = eventData[0];
*((u8 *)dest + 2) = *((const u8 *)eventData + 2);
return dest + 2;
}
static const u16 *BufferQuestLogText_ObtainedItem(const u16 *eventData)
@@ -2117,13 +2119,13 @@ void sub_8115798(void)
}
}
static u16 *BufferQuestLogData_ArrivedInLocation(u16 *a0, const u16 *eventData)
static u16 *BufferQuestLogData_ArrivedInLocation(u16 *dest, const u16 *eventData)
{
a0 = sub_8113DE0(QL_EVENT_ARRIVED, a0);
if (a0 == NULL)
dest = RecordEvent(QL_EVENT_ARRIVED, dest);
if (dest == NULL)
return NULL;
a0[0] = eventData[0];
return a0 + 1;
dest[0] = eventData[0];
return dest + 1;
}
static const u16 *BufferQuestLogText_ArrivedInLocation(const u16 *eventData)
+1 -11
View File
@@ -4,6 +4,7 @@
#include "event_data.h"
#include "event_scripts.h"
#include "random.h"
#include "constants/trainer_fan_club.h"
struct TrainerFanClub
{
@@ -18,17 +19,6 @@ struct TrainerFanClub
#define SET_TRAINER_FAN_CLUB_FLAG(flag) (fanClub->fanFlags |= 1 << (flag))
#define FLIP_TRAINER_FAN_CLUB_FLAG(flag)(fanClub->fanFlags ^= 1 << (flag))
#define FANCLUB_MEMBER1 0
#define FANCLUB_MEMBER2 1
#define FANCLUB_MEMBER3 2
#define FANCLUB_MEMBER4 3
#define FANCLUB_MEMBER5 4
#define FANCLUB_MEMBER6 5
#define FANCLUB_MEMBER7 6
#define FANCLUB_MEMBER8 7
#define NUM_TRAINER_FAN_CLUB_MEMBERS 8
static void TryLoseFansFromPlayTimeAfterLinkBattle(struct TrainerFanClub *);
static void UpdateTrainerFanClubGameClear(struct TrainerFanClub *);
static u8 PlayerGainRandomTrainerFan(struct TrainerFanClub *);