More quest log documentation

This commit is contained in:
PikalaxALT
2020-04-07 19:37:53 -04:00
parent a538befd55
commit 54559c2e08
3 changed files with 120 additions and 120 deletions
+6 -6
View File
@@ -8,12 +8,12 @@
struct QuestLogEntry struct QuestLogEntry
{ {
u8 unk_0; u8 localId;
u8 unk_1; u8 mapNum;
u8 unk_2; u8 mapGroup;
u8 unk_3; u8 animId;
u16 unk_4; u16 duration;
u8 unk_6; u8 command;
}; };
struct UnkStruct_203B044 struct UnkStruct_203B044
+78 -78
View File
@@ -69,7 +69,7 @@ struct UnkStruct_203AE94
u8 overlapTimer; u8 overlapTimer;
}; };
struct UnkStruct_300201C struct FlagOrVarRecord
{ {
u16 idx:15; u16 idx:15;
u16 isFlag:1; u16 isFlag:1;
@@ -81,7 +81,7 @@ u16 sNumEventsInLogEntry;
struct FieldInput gQuestLogFieldInput; struct FieldInput gQuestLogFieldInput;
struct QuestLogEntry * sCurQuestLogEntry; struct QuestLogEntry * sCurQuestLogEntry;
static struct UnkStruct_300201C * sFlagOrVarRecords; static struct FlagOrVarRecord * sFlagOrVarRecords;
static u16 sNumFlagsOrVars; static u16 sNumFlagsOrVars;
static EWRAM_DATA u8 sCurrentSceneNum = 0; static EWRAM_DATA u8 sCurrentSceneNum = 0;
@@ -99,7 +99,7 @@ static EWRAM_DATA struct QuestLogEntry sQuestLogSceneRecordBuffer[32] = {0};
EWRAM_DATA u16 sQuestLogCursor = 0; EWRAM_DATA u16 sQuestLogCursor = 0;
static EWRAM_DATA u8 sMovementScripts[64][2] = {{0}}; static EWRAM_DATA u8 sMovementScripts[64][2] = {{0}};
static EWRAM_DATA u16 sNextStepDelay = 0; static EWRAM_DATA u16 sNextStepDelay = 0;
static EWRAM_DATA u16 gUnknown_203B01C = 0; static EWRAM_DATA u16 sLastQuestLogCursor = 0;
static EWRAM_DATA u16 sFlagOrVarPlayhead = 0; static EWRAM_DATA u16 sFlagOrVarPlayhead = 0;
static void QLogCB_Recording(void); static void QLogCB_Recording(void);
@@ -140,7 +140,7 @@ static bool8 sub_81121D8(u8);
static void sub_811229C(void); static void sub_811229C(void);
static void TogglePlaybackStateForOverworldLock(u8); static void TogglePlaybackStateForOverworldLock(u8);
static void SetUpQuestLogEntry(u8, struct QuestLogEntry *, u16); static void SetUpQuestLogEntry(u8, struct QuestLogEntry *, u16);
static bool8 sub_8112CEC(void); static bool8 RecordHeadAtEndOfEntryOrScriptContext2Enabled(void);
static bool8 RecordHeadAtEndOfEntry(void); static bool8 RecordHeadAtEndOfEntry(void);
static void TryLoseFansFromPlayTimeAfterLinkBattle(struct TrainerFanClub *); static void TryLoseFansFromPlayTimeAfterLinkBattle(struct TrainerFanClub *);
static void UpdateTrainerFanClubGameClear(struct TrainerFanClub *); static void UpdateTrainerFanClubGameClear(struct TrainerFanClub *);
@@ -406,7 +406,7 @@ static bool8 TryRecordQuestLogEntrySequence(struct QuestLogEntry * entry)
{ {
if (sEventRecordingPointer == NULL) if (sEventRecordingPointer == NULL)
return FALSE; return FALSE;
switch (entry[i].unk_6) switch (entry[i].command)
{ {
case 0: case 0:
case 1: case 1:
@@ -1329,16 +1329,16 @@ void sub_811246C(struct Sprite *sprite)
} }
} }
void sub_81124EC(u8 a0, u8 a1, u8 a2, u8 movementActionId) void sub_81124EC(u8 localId, u8 mapNum, u8 mapGroup, u8 movementActionId)
{ {
if (!sub_8112CEC()) if (!RecordHeadAtEndOfEntryOrScriptContext2Enabled())
{ {
sCurQuestLogEntry[sQuestLogCursor].unk_4 = sNextStepDelay; sCurQuestLogEntry[sQuestLogCursor].duration = sNextStepDelay;
sCurQuestLogEntry[sQuestLogCursor].unk_6 = 0; sCurQuestLogEntry[sQuestLogCursor].command = 0;
sCurQuestLogEntry[sQuestLogCursor].unk_0 = a0; sCurQuestLogEntry[sQuestLogCursor].localId = localId;
sCurQuestLogEntry[sQuestLogCursor].unk_1 = a1; sCurQuestLogEntry[sQuestLogCursor].mapNum = mapNum;
sCurQuestLogEntry[sQuestLogCursor].unk_2 = a2; sCurQuestLogEntry[sQuestLogCursor].mapGroup = mapGroup;
sCurQuestLogEntry[sQuestLogCursor].unk_3 = movementActionId; sCurQuestLogEntry[sQuestLogCursor].animId = movementActionId;
sQuestLogCursor++; sQuestLogCursor++;
sNextStepDelay = 0; sNextStepDelay = 0;
} }
@@ -1348,12 +1348,12 @@ void sub_8112588(u8 localId, u8 mapNum, u8 mapGroup, u8 movementActionId, u8 dur
{ {
if (!RecordHeadAtEndOfEntry()) if (!RecordHeadAtEndOfEntry())
{ {
sCurQuestLogEntry[sQuestLogCursor].unk_4 = sNextStepDelay; sCurQuestLogEntry[sQuestLogCursor].duration = sNextStepDelay;
sCurQuestLogEntry[sQuestLogCursor].unk_6 = 0; sCurQuestLogEntry[sQuestLogCursor].command = 0;
sCurQuestLogEntry[sQuestLogCursor].unk_0 = localId; sCurQuestLogEntry[sQuestLogCursor].localId = localId;
sCurQuestLogEntry[sQuestLogCursor].unk_1 = mapNum; sCurQuestLogEntry[sQuestLogCursor].mapNum = mapNum;
sCurQuestLogEntry[sQuestLogCursor].unk_2 = mapGroup; sCurQuestLogEntry[sQuestLogCursor].mapGroup = mapGroup;
sCurQuestLogEntry[sQuestLogCursor].unk_3 = movementActionId; sCurQuestLogEntry[sQuestLogCursor].animId = movementActionId;
sQuestLogCursor++; sQuestLogCursor++;
sNextStepDelay = duration; sNextStepDelay = duration;
} }
@@ -1361,15 +1361,15 @@ void sub_8112588(u8 localId, u8 mapNum, u8 mapGroup, u8 movementActionId, u8 dur
void sub_8112628(u8 movementActionId) void sub_8112628(u8 movementActionId)
{ {
if (!sub_8112CEC()) if (!RecordHeadAtEndOfEntryOrScriptContext2Enabled())
{ {
if (movementActionId != sCurQuestLogEntry[gUnknown_203B01C].unk_3 || movementActionId > MOVEMENT_ACTION_FACE_RIGHT) if (movementActionId != sCurQuestLogEntry[sLastQuestLogCursor].animId || movementActionId > MOVEMENT_ACTION_FACE_RIGHT)
{ {
sCurQuestLogEntry[sQuestLogCursor].unk_4 = sNextStepDelay; sCurQuestLogEntry[sQuestLogCursor].duration = sNextStepDelay;
sCurQuestLogEntry[sQuestLogCursor].unk_6 = 0; sCurQuestLogEntry[sQuestLogCursor].command = 0;
sCurQuestLogEntry[sQuestLogCursor].unk_0 = 0; sCurQuestLogEntry[sQuestLogCursor].localId = 0;
sCurQuestLogEntry[sQuestLogCursor].unk_3 = movementActionId; sCurQuestLogEntry[sQuestLogCursor].animId = movementActionId;
gUnknown_203B01C = sQuestLogCursor; sLastQuestLogCursor = sQuestLogCursor;
sQuestLogCursor++; sQuestLogCursor++;
sNextStepDelay = 0; sNextStepDelay = 0;
} }
@@ -1380,11 +1380,11 @@ void sub_81126AC(u8 movementActionId, u8 duration)
{ {
if (!RecordHeadAtEndOfEntry()) if (!RecordHeadAtEndOfEntry())
{ {
sCurQuestLogEntry[sQuestLogCursor].unk_4 = sNextStepDelay; sCurQuestLogEntry[sQuestLogCursor].duration = sNextStepDelay;
sCurQuestLogEntry[sQuestLogCursor].unk_6 = 0; sCurQuestLogEntry[sQuestLogCursor].command = 0;
sCurQuestLogEntry[sQuestLogCursor].unk_0 = 0; sCurQuestLogEntry[sQuestLogCursor].localId = 0;
sCurQuestLogEntry[sQuestLogCursor].unk_3 = movementActionId; sCurQuestLogEntry[sQuestLogCursor].animId = movementActionId;
gUnknown_203B01C = sQuestLogCursor; sLastQuestLogCursor = sQuestLogCursor;
sQuestLogCursor++; sQuestLogCursor++;
sNextStepDelay = duration; sNextStepDelay = duration;
} }
@@ -1394,10 +1394,10 @@ void sub_8112720(u8 movementActionId)
{ {
if (!RecordHeadAtEndOfEntry()) if (!RecordHeadAtEndOfEntry())
{ {
sCurQuestLogEntry[sQuestLogCursor].unk_4 = sNextStepDelay; sCurQuestLogEntry[sQuestLogCursor].duration = sNextStepDelay;
sCurQuestLogEntry[sQuestLogCursor].unk_6 = 1; sCurQuestLogEntry[sQuestLogCursor].command = 1;
sCurQuestLogEntry[sQuestLogCursor].unk_0 = 0; sCurQuestLogEntry[sQuestLogCursor].localId = 0;
sCurQuestLogEntry[sQuestLogCursor].unk_3 = movementActionId; sCurQuestLogEntry[sQuestLogCursor].animId = movementActionId;
sQuestLogCursor++; sQuestLogCursor++;
sNextStepDelay = 0; sNextStepDelay = 0;
} }
@@ -1407,10 +1407,10 @@ void sub_811278C(u8 movementActionId, u8 duration)
{ {
if (!RecordHeadAtEndOfEntry()) if (!RecordHeadAtEndOfEntry())
{ {
sCurQuestLogEntry[sQuestLogCursor].unk_4 = sNextStepDelay; sCurQuestLogEntry[sQuestLogCursor].duration = sNextStepDelay;
sCurQuestLogEntry[sQuestLogCursor].unk_6 = 1; sCurQuestLogEntry[sQuestLogCursor].command = 1;
sCurQuestLogEntry[sQuestLogCursor].unk_0 = 0; sCurQuestLogEntry[sQuestLogCursor].localId = 0;
sCurQuestLogEntry[sQuestLogCursor].unk_3 = movementActionId; sCurQuestLogEntry[sQuestLogCursor].animId = movementActionId;
sQuestLogCursor++; sQuestLogCursor++;
sNextStepDelay = duration; sNextStepDelay = duration;
} }
@@ -1421,12 +1421,12 @@ void sub_81127F8(struct FieldInput * a0)
if (sQuestLogCursor < sNumEventsInLogEntry) if (sQuestLogCursor < sNumEventsInLogEntry)
{ {
u32 r2 = *(u32 *)a0 & 0x00FF00F3; u32 r2 = *(u32 *)a0 & 0x00FF00F3;
sCurQuestLogEntry[sQuestLogCursor].unk_4 = sNextStepDelay; sCurQuestLogEntry[sQuestLogCursor].duration = sNextStepDelay;
sCurQuestLogEntry[sQuestLogCursor].unk_6 = 2; sCurQuestLogEntry[sQuestLogCursor].command = 2;
sCurQuestLogEntry[sQuestLogCursor].unk_0 = r2; sCurQuestLogEntry[sQuestLogCursor].localId = r2;
sCurQuestLogEntry[sQuestLogCursor].unk_1 = r2 >> 8; sCurQuestLogEntry[sQuestLogCursor].mapNum = r2 >> 8;
sCurQuestLogEntry[sQuestLogCursor].unk_2 = r2 >> 16; sCurQuestLogEntry[sQuestLogCursor].mapGroup = r2 >> 16;
sCurQuestLogEntry[sQuestLogCursor].unk_3 = r2 >> 24; sCurQuestLogEntry[sQuestLogCursor].animId = r2 >> 24;
sQuestLogCursor++; sQuestLogCursor++;
if (ScriptContext2_IsEnabled()) if (ScriptContext2_IsEnabled())
sNextStepDelay = TRUE; sNextStepDelay = TRUE;
@@ -1461,8 +1461,8 @@ void sub_81128BC(u8 a0)
gQuestLogPlaybackState = 3; gQuestLogPlaybackState = 3;
else if (r1 == 2) else if (r1 == 2)
{ {
sCurQuestLogEntry[sQuestLogCursor].unk_4 = sNextStepDelay; sCurQuestLogEntry[sQuestLogCursor].duration = sNextStepDelay;
sCurQuestLogEntry[sQuestLogCursor].unk_6 = 3; sCurQuestLogEntry[sQuestLogCursor].command = 3;
sQuestLogCursor++; sQuestLogCursor++;
sNextStepDelay = 0; sNextStepDelay = 0;
gQuestLogPlaybackState = 4; gQuestLogPlaybackState = 4;
@@ -1495,10 +1495,10 @@ static void SetUpQuestLogEntry(u8 kind, struct QuestLogEntry *entry, u16 size)
sMovementScripts[i][1] |= 0xFF; sMovementScripts[i][1] |= 0xFF;
} }
sQuestLogCursor = 0; sQuestLogCursor = 0;
gUnknown_203B01C = 0; sLastQuestLogCursor = 0;
gQuestLogFieldInput = (struct FieldInput){}; gQuestLogFieldInput = (struct FieldInput){};
sNextStepDelay = sCurQuestLogEntry[sQuestLogCursor].unk_4; sNextStepDelay = sCurQuestLogEntry[sQuestLogCursor].duration;
sMovementScripts[0][0] = sCurQuestLogEntry[sQuestLogCursor].unk_3; sMovementScripts[0][0] = sCurQuestLogEntry[sQuestLogCursor].animId;
sMovementScripts[0][1] = 0xFF; sMovementScripts[0][1] = 0xFF;
gQuestLogPlaybackState = 1; gQuestLogPlaybackState = 1;
break; break;
@@ -1511,33 +1511,33 @@ static void SetUpQuestLogEntry(u8 kind, struct QuestLogEntry *entry, u16 size)
} }
sQuestLogCursor = 0; sQuestLogCursor = 0;
sNextStepDelay = 0; sNextStepDelay = 0;
sCurQuestLogEntry[sQuestLogCursor].unk_4 = 0; sCurQuestLogEntry[sQuestLogCursor].duration = 0;
sCurQuestLogEntry[sQuestLogCursor].unk_6 = 0; sCurQuestLogEntry[sQuestLogCursor].command = 0;
sCurQuestLogEntry[sQuestLogCursor].unk_0 = 0; sCurQuestLogEntry[sQuestLogCursor].localId = 0;
switch (GetPlayerFacingDirection()) switch (GetPlayerFacingDirection())
{ {
case DIR_NONE: case DIR_NONE:
case DIR_SOUTH: case DIR_SOUTH:
sCurQuestLogEntry[sQuestLogCursor].unk_3 = MOVEMENT_ACTION_FACE_DOWN; sCurQuestLogEntry[sQuestLogCursor].animId = MOVEMENT_ACTION_FACE_DOWN;
break; break;
case DIR_EAST: case DIR_EAST:
sCurQuestLogEntry[sQuestLogCursor].unk_3 = MOVEMENT_ACTION_FACE_RIGHT; sCurQuestLogEntry[sQuestLogCursor].animId = MOVEMENT_ACTION_FACE_RIGHT;
break; break;
case DIR_NORTH: case DIR_NORTH:
sCurQuestLogEntry[sQuestLogCursor].unk_3 = MOVEMENT_ACTION_FACE_UP; sCurQuestLogEntry[sQuestLogCursor].animId = MOVEMENT_ACTION_FACE_UP;
break; break;
case DIR_WEST: case DIR_WEST:
sCurQuestLogEntry[sQuestLogCursor].unk_3 = MOVEMENT_ACTION_FACE_LEFT; sCurQuestLogEntry[sQuestLogCursor].animId = MOVEMENT_ACTION_FACE_LEFT;
break; break;
} }
gUnknown_203B01C = 0; sLastQuestLogCursor = 0;
sQuestLogCursor++; sQuestLogCursor++;
sCurQuestLogEntry[sQuestLogCursor].unk_4 = 0; sCurQuestLogEntry[sQuestLogCursor].duration = 0;
sCurQuestLogEntry[sQuestLogCursor].unk_6 = 2; sCurQuestLogEntry[sQuestLogCursor].command = 2;
sCurQuestLogEntry[sQuestLogCursor].unk_0 = 0; sCurQuestLogEntry[sQuestLogCursor].localId = 0;
sCurQuestLogEntry[sQuestLogCursor].unk_1 = 0; sCurQuestLogEntry[sQuestLogCursor].mapNum = 0;
sCurQuestLogEntry[sQuestLogCursor].unk_2 = 0; sCurQuestLogEntry[sQuestLogCursor].mapGroup = 0;
sCurQuestLogEntry[sQuestLogCursor].unk_3 = 0; sCurQuestLogEntry[sQuestLogCursor].animId = 0;
sQuestLogCursor++; sQuestLogCursor++;
gQuestLogPlaybackState = 2; gQuestLogPlaybackState = 2;
break; break;
@@ -1551,7 +1551,7 @@ void sub_8112B3C(void)
case 0: case 0:
break; break;
case 1: case 1:
if (!sub_8112CEC()) if (!RecordHeadAtEndOfEntryOrScriptContext2Enabled())
{ {
if (sNextStepDelay != 0) if (sNextStepDelay != 0)
sNextStepDelay--; sNextStepDelay--;
@@ -1559,17 +1559,17 @@ void sub_8112B3C(void)
{ {
do do
{ {
switch (sCurQuestLogEntry[sQuestLogCursor].unk_6) switch (sCurQuestLogEntry[sQuestLogCursor].command)
{ {
case 0: case 0:
sMovementScripts[sCurQuestLogEntry[sQuestLogCursor].unk_0][0] = sCurQuestLogEntry[sQuestLogCursor].unk_3; sMovementScripts[sCurQuestLogEntry[sQuestLogCursor].localId][0] = sCurQuestLogEntry[sQuestLogCursor].animId;
break; break;
case 1: case 1:
sMovementScripts[sCurQuestLogEntry[sQuestLogCursor].unk_0][1] = sCurQuestLogEntry[sQuestLogCursor].unk_3; sMovementScripts[sCurQuestLogEntry[sQuestLogCursor].localId][1] = sCurQuestLogEntry[sQuestLogCursor].animId;
break; break;
case 2: case 2:
// Player input command // Player input command
*(u32 *)&gQuestLogFieldInput = ((sCurQuestLogEntry[sQuestLogCursor].unk_3 << 24) | (sCurQuestLogEntry[sQuestLogCursor].unk_2 << 16) | (sCurQuestLogEntry[sQuestLogCursor].unk_1 << 8) | (sCurQuestLogEntry[sQuestLogCursor].unk_0 << 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:
gQuestLogPlaybackState = 3; gQuestLogPlaybackState = 3;
@@ -1587,7 +1587,7 @@ void sub_8112B3C(void)
gQuestLogPlaybackState = 0; gQuestLogPlaybackState = 0;
break; break;
} }
sNextStepDelay = sCurQuestLogEntry[sQuestLogCursor].unk_4; sNextStepDelay = sCurQuestLogEntry[sQuestLogCursor].duration;
} while (gQuestLogPlaybackState != 3 } while (gQuestLogPlaybackState != 3
&& (sNextStepDelay == 0 || sNextStepDelay == 0xFFFF)); && (sNextStepDelay == 0 || sNextStepDelay == 0xFFFF));
} }
@@ -1633,7 +1633,7 @@ u8 sub_8112CAC(void)
} }
} }
static bool8 sub_8112CEC(void) static bool8 RecordHeadAtEndOfEntryOrScriptContext2Enabled(void)
{ {
if (sQuestLogCursor >= sNumEventsInLogEntry || ScriptContext2_IsEnabled() == TRUE) if (sQuestLogCursor >= sNumEventsInLogEntry || ScriptContext2_IsEnabled() == TRUE)
return TRUE; return TRUE;
@@ -1647,7 +1647,7 @@ static bool8 RecordHeadAtEndOfEntry(void)
return FALSE; return FALSE;
} }
static const struct UnkStruct_300201C gUnknown_84566A4 = { static const struct FlagOrVarRecord sDummyFlagOrVarRecord = {
0, 0,
FALSE, FALSE,
0x7FFF 0x7FFF
@@ -1686,22 +1686,22 @@ void QuestLogSetFlagOrVar(bool8 isFlag, u16 idx, u16 value)
sFlagOrVarPlayhead++; sFlagOrVarPlayhead++;
} }
void sub_8112E3C(u8 a0, struct UnkStruct_300201C * a1, u16 a2) void sub_8112E3C(u8 state, struct FlagOrVarRecord * records, u16 size)
{ {
s32 i; s32 i;
if (a0 == 0 || a0 > 2) if (state == 0 || state > QL_STATE_PLAYBACK)
gQuestLogPlaybackState = 0; gQuestLogPlaybackState = 0;
else else
{ {
sFlagOrVarRecords = a1; sFlagOrVarRecords = records;
sNumFlagsOrVars = a2 >> 2; sNumFlagsOrVars = size >> 2;
sFlagOrVarPlayhead = 0; sFlagOrVarPlayhead = 0;
if (a0 == 2) if (state == QL_STATE_PLAYBACK)
{ {
for (i = 0; i < sNumEventsInLogEntry; i++) for (i = 0; i < sNumEventsInLogEntry; i++)
{ {
sFlagOrVarRecords[i] = gUnknown_84566A4; sFlagOrVarRecords[i] = sDummyFlagOrVarRecord;
} }
} }
} }
+36 -36
View File
@@ -649,12 +649,12 @@ u16 *sub_8113C20(u16 *a0, struct QuestLogEntry * a1)
{ {
if (!WillCommandOfSizeFitInSav1Record(a0, sQuestLogEventCmdSizes[QL_EVENT_39])) if (!WillCommandOfSizeFitInSav1Record(a0, sQuestLogEventCmdSizes[QL_EVENT_39]))
return NULL; return NULL;
a1->unk_6 = 0xFF; a1->command = 0xFF;
a1->unk_4 = 0; a1->duration = 0;
a1->unk_0 = 0; a1->localId = 0;
a1->unk_1 = 0; a1->mapNum = 0;
a1->unk_2 = 0; a1->mapGroup = 0;
a1->unk_3 = 0; a1->animId = 0;
return a0 + 1; return a0 + 1;
} }
@@ -671,12 +671,12 @@ u16 *sub_8113C8C(u16 *a0, struct QuestLogEntry * a1)
{ {
if (!WillCommandOfSizeFitInSav1Record(a0, sQuestLogEventCmdSizes[QL_EVENT_41])) if (!WillCommandOfSizeFitInSav1Record(a0, sQuestLogEventCmdSizes[QL_EVENT_41]))
return NULL; return NULL;
a1->unk_6 = 0xFE; a1->command = 0xFE;
a1->unk_4 = a0[1]; a1->duration = a0[1];
a1->unk_0 = 0; a1->localId = 0;
a1->unk_1 = 0; a1->mapNum = 0;
a1->unk_2 = 0; a1->mapGroup = 0;
a1->unk_3 = 0; a1->animId = 0;
return a0 + 2; return a0 + 2;
} }
@@ -687,11 +687,11 @@ u16 *sub_8113CC8(u16 *a0, struct QuestLogEntry * a1)
if (!WillCommandOfSizeFitInSav1Record(a0, sQuestLogEventCmdSizes[QL_EVENT_0])) if (!WillCommandOfSizeFitInSav1Record(a0, sQuestLogEventCmdSizes[QL_EVENT_0]))
return NULL; return NULL;
a0[0] = 0; a0[0] = 0;
a0[1] = a1->unk_4; a0[1] = a1->duration;
r6[0] = a1->unk_0; r6[0] = a1->localId;
r6[1] = a1->unk_1; r6[1] = a1->mapNum;
r6[2] = a1->unk_2; r6[2] = a1->mapGroup;
r6[3] = a1->unk_3; r6[3] = a1->animId;
return (u16 *)(r6 + 4); return (u16 *)(r6 + 4);
} }
@@ -701,12 +701,12 @@ u16 *sub_8113D08(u16 *a0, struct QuestLogEntry * a1)
if (!WillCommandOfSizeFitInSav1Record(a0, sQuestLogEventCmdSizes[QL_EVENT_0])) if (!WillCommandOfSizeFitInSav1Record(a0, sQuestLogEventCmdSizes[QL_EVENT_0]))
return NULL; return NULL;
a1->unk_6 = 2; a1->command = 2;
a1->unk_4 = a0[1]; a1->duration = a0[1];
a1->unk_0 = r6[0]; a1->localId = r6[0];
a1->unk_1 = r6[1]; a1->mapNum = r6[1];
a1->unk_2 = r6[2]; a1->mapGroup = r6[2];
a1->unk_3 = r6[3]; a1->animId = r6[3];
return (u16 *)(r6 + 4); return (u16 *)(r6 + 4);
} }
@@ -717,15 +717,15 @@ u16 *sub_8113D48(u16 *a0, struct QuestLogEntry * a1)
if (!WillCommandOfSizeFitInSav1Record(r4, sQuestLogEventCmdSizes[QL_EVENT_2])) if (!WillCommandOfSizeFitInSav1Record(r4, sQuestLogEventCmdSizes[QL_EVENT_2]))
return NULL; return NULL;
if (a1->unk_6 == 0) if (a1->command == 0)
r4[0] = 2; r4[0] = 2;
else else
r4[0] = 1; r4[0] = 1;
r4[1] = a1->unk_4; r4[1] = a1->duration;
r6[0] = a1->unk_0; r6[0] = a1->localId;
r6[1] = a1->unk_1; r6[1] = a1->mapNum;
r6[2] = a1->unk_2; r6[2] = a1->mapGroup;
r6[3] = a1->unk_3; r6[3] = a1->animId;
return (u16 *)(r6 + 4); return (u16 *)(r6 + 4);
} }
@@ -737,14 +737,14 @@ u16 *sub_8113D94(u16 *a0, struct QuestLogEntry * a1)
if (!WillCommandOfSizeFitInSav1Record(r5, sQuestLogEventCmdSizes[QL_EVENT_2])) if (!WillCommandOfSizeFitInSav1Record(r5, sQuestLogEventCmdSizes[QL_EVENT_2]))
return NULL; return NULL;
if (r5[0] == 2) if (r5[0] == 2)
a1->unk_6 = 0; a1->command = 0;
else else
a1->unk_6 = 1; a1->command = 1;
a1->unk_4 = r5[1]; a1->duration = r5[1];
a1->unk_0 = r6[0]; a1->localId = r6[0];
a1->unk_1 = r6[1]; a1->mapNum = r6[1];
a1->unk_2 = r6[2]; a1->mapGroup = r6[2];
a1->unk_3 = r6[3]; a1->animId = r6[3];
return (u16 *)(r6 + 4); return (u16 *)(r6 + 4);
} }