A little quest log cleanup

This commit is contained in:
GriffinR
2023-01-31 11:44:32 -05:00
parent ef12c2a7f9
commit b11f22885e
2 changed files with 21 additions and 23 deletions
+18 -20
View File
@@ -104,11 +104,11 @@ static u16 sNumFlagsOrVars;
static EWRAM_DATA u8 sCurrentSceneNum = 0; static EWRAM_DATA u8 sCurrentSceneNum = 0;
static EWRAM_DATA u8 sNumScenes = 0; static EWRAM_DATA u8 sNumScenes = 0;
EWRAM_DATA u8 gQuestLogState = 0; EWRAM_DATA u8 gQuestLogState = 0;
static EWRAM_DATA u16 gUnknown_203ADFC = 0; static EWRAM_DATA u16 sRecordSequenceStartIdx = 0;
static EWRAM_DATA u8 sWindowIds[WIN_COUNT] = {0}; static EWRAM_DATA u8 sWindowIds[WIN_COUNT] = {0};
EWRAM_DATA u16 *gUnknown_203AE04 = NULL; EWRAM_DATA u16 *gUnknown_203AE04 = NULL;
EWRAM_DATA u16 *gQuestLogRecordingPointer = NULL; EWRAM_DATA u16 *gQuestLogRecordingPointer = NULL;
static EWRAM_DATA u16 *gUnknown_203AE0C[32] = {NULL}; static EWRAM_DATA u16 *sUnknown_203AE0C[32] = {NULL};
static EWRAM_DATA void (* sQuestLogCB)(void) = NULL; static EWRAM_DATA void (* sQuestLogCB)(void) = NULL;
static EWRAM_DATA u16 *sPalettesBackup = NULL; static EWRAM_DATA u16 *sPalettesBackup = NULL;
static EWRAM_DATA struct PlaybackControl sPlaybackControl = {0}; static EWRAM_DATA struct PlaybackControl sPlaybackControl = {0};
@@ -210,10 +210,10 @@ void SetQuestLogRecordAndPlaybackPointers(void *oldPointer)
gQuestLogRecordingPointer = (void *)gQuestLogRecordingPointer + offset; gQuestLogRecordingPointer = (void *)gQuestLogRecordingPointer + offset;
if (gQuestLogState == QL_STATE_PLAYBACK) if (gQuestLogState == QL_STATE_PLAYBACK)
{ {
int r3; int i;
for (r3 = 0; r3 < (int)ARRAY_COUNT(gUnknown_203AE0C); r3++) for (i = 0; i < (int)ARRAY_COUNT(sUnknown_203AE0C); i++)
if (gUnknown_203AE0C[r3]) if (sUnknown_203AE0C[i])
gUnknown_203AE0C[r3] = (void *)gUnknown_203AE0C[r3] + offset; sUnknown_203AE0C[i] = (void *)sUnknown_203AE0C[i] + offset;
} }
} }
} }
@@ -297,8 +297,8 @@ static void QLogCB_Playback(void)
{ {
if (gQuestLogPlaybackState != QL_PLAYBACK_STATE_0 if (gQuestLogPlaybackState != QL_PLAYBACK_STATE_0
|| sPlaybackControl.state == 1 || sPlaybackControl.state == 1
|| (sPlaybackControl.cursor < ARRAY_COUNT(gUnknown_203AE0C) || (sPlaybackControl.cursor < ARRAY_COUNT(sUnknown_203AE0C)
&& gUnknown_203AE0C[sPlaybackControl.cursor] != NULL)) && sUnknown_203AE0C[sPlaybackControl.cursor] != NULL))
QuestLog_PlayCurrentEvent(); QuestLog_PlayCurrentEvent();
else else
{ {
@@ -337,7 +337,7 @@ void StartRecordingQuestLogAction(u16 eventId)
BackUpTrainerRematches(); BackUpTrainerRematches();
BackUpMapLayout(); BackUpMapLayout();
SetGameStateAtScene(sCurrentSceneNum); SetGameStateAtScene(sCurrentSceneNum);
gUnknown_203ADFC = 0; sRecordSequenceStartIdx = 0;
SetUpQuestLogAction(2, sQuestLogActionRecordBuffer, sizeof(sQuestLogActionRecordBuffer)); SetUpQuestLogAction(2, sQuestLogActionRecordBuffer, sizeof(sQuestLogActionRecordBuffer));
TryRecordActionSequence(sQuestLogActionRecordBuffer); TryRecordActionSequence(sQuestLogActionRecordBuffer);
SetQuestLogState(QL_STATE_RECORDING); SetQuestLogState(QL_STATE_RECORDING);
@@ -436,7 +436,7 @@ static bool8 TryRecordActionSequence(struct QuestLogAction * actions)
{ {
u16 i; u16 i;
for (i = gUnknown_203ADFC; i < gQuestLogCurActionIdx; i++) for (i = sRecordSequenceStartIdx; i < gQuestLogCurActionIdx; i++)
{ {
if (gQuestLogRecordingPointer == NULL) if (gQuestLogRecordingPointer == NULL)
return FALSE; return FALSE;
@@ -462,7 +462,7 @@ static bool8 TryRecordActionSequence(struct QuestLogAction * actions)
gQuestLogRecordingPointer = QL_RecordAction_SceneEnd(gQuestLogRecordingPointer); gQuestLogRecordingPointer = QL_RecordAction_SceneEnd(gQuestLogRecordingPointer);
return FALSE; return FALSE;
} }
gUnknown_203ADFC = gQuestLogCurActionIdx; sRecordSequenceStartIdx = gQuestLogCurActionIdx;
return TRUE; return TRUE;
} }
@@ -788,10 +788,8 @@ static void ReadQuestLogScriptFromSav1(u8 sceneNum, struct QuestLogAction * a1)
u16 r9 = 0; u16 r9 = 0;
memset(a1, 0, 32 * sizeof(struct QuestLogAction)); memset(a1, 0, 32 * sizeof(struct QuestLogAction));
for (i = 0; i < ARRAY_COUNT(gUnknown_203AE0C); i++) for (i = 0; i < ARRAY_COUNT(sUnknown_203AE0C); i++)
{ sUnknown_203AE0C[i] = NULL;
gUnknown_203AE0C[i] = NULL;
}
script = gSaveBlock1Ptr->questLog[sceneNum].script; script = gSaveBlock1Ptr->questLog[sceneNum].script;
for (i = 0; i < 32; i++) for (i = 0; i < 32; i++)
@@ -816,9 +814,9 @@ static void ReadQuestLogScriptFromSav1(u8 sceneNum, struct QuestLogAction * a1)
r6++; r6++;
break; break;
default: // Normal event default: // Normal event
script = QuestLog_SkipCommand(script, &gUnknown_203AE0C[r9]); script = QuestLog_SkipCommand(script, &sUnknown_203AE0C[r9]);
if (r9 == 0) if (r9 == 0)
sub_8113ABC(gUnknown_203AE0C[0]); sub_8113ABC(sUnknown_203AE0C[0]);
r9++; r9++;
break; break;
} }
@@ -954,11 +952,11 @@ static void QuestLog_PlayCurrentEvent(void)
sPlaybackControl.overlapTimer = 0; sPlaybackControl.overlapTimer = 0;
} }
} }
if (sPlaybackControl.cursor < ARRAY_COUNT(gUnknown_203AE0C)) if (sPlaybackControl.cursor < ARRAY_COUNT(sUnknown_203AE0C))
{ {
if (sub_8113B44(gUnknown_203AE0C[sPlaybackControl.cursor]) == 1) if (sub_8113B44(sUnknown_203AE0C[sPlaybackControl.cursor]) == 1)
HandleShowQuestLogMessage(); HandleShowQuestLogMessage();
else if (sub_8113AE8(gUnknown_203AE0C[sPlaybackControl.cursor]) == 1) else if (sub_8113AE8(sUnknown_203AE0C[sPlaybackControl.cursor]) == 1)
HandleShowQuestLogMessage(); HandleShowQuestLogMessage();
} }
} }
+3 -3
View File
@@ -793,7 +793,7 @@ bool8 sub_8113AE8(const u16 *a0)
{ {
const u16 *r0 = a0; const u16 *r0 = a0;
if (a0 == NULL) // checks must be separate to match if (a0 == NULL)
return FALSE; return FALSE;
if (r0[1] > gQuestLogCurActionIdx) if (r0[1] > gQuestLogCurActionIdx)
return FALSE; return FALSE;
@@ -1093,14 +1093,14 @@ static const u16 *LoadEvent_UsedItem(const u16 *eventData)
if (rItemParam != 0xFFFF) if (rItemParam != 0xFFFF)
{ {
StringCopy(gStringVar3, gMoveNames[rItemParam]); StringCopy(gStringVar3, gMoveNames[rItemParam]);
if (rItemId > ITEM_TM50) if (rItemId >= ITEM_HM01)
StringExpandPlaceholders(gStringVar4, gText_QuestLog_MonReplacedMoveWithHM); StringExpandPlaceholders(gStringVar4, gText_QuestLog_MonReplacedMoveWithHM);
else else
StringExpandPlaceholders(gStringVar4, gText_QuestLog_MonReplacedMoveWithTM); StringExpandPlaceholders(gStringVar4, gText_QuestLog_MonReplacedMoveWithTM);
} }
else else
{ {
if (rItemId > ITEM_TM50) if (rItemId >= ITEM_HM01)
StringExpandPlaceholders(gStringVar4, gText_QuestLog_MonLearnedMoveFromHM); StringExpandPlaceholders(gStringVar4, gText_QuestLog_MonLearnedMoveFromHM);
else else
StringExpandPlaceholders(gStringVar4, gText_QuestLog_MonLearnedMoveFromTM); StringExpandPlaceholders(gStringVar4, gText_QuestLog_MonLearnedMoveFromTM);