A little quest log cleanup
This commit is contained in:
+18
-20
@@ -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();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
Reference in New Issue
Block a user