Unnest if statements

Overall, it is generally considered bad style to continually nest loops. However, if this is what the decompiler outputted, then why bother touching it?

However, this can be rewritten as returning early if the playtime is less than 60.

The reason for this is not because of the original code, but because it looks better, has the same output, and is easier to understand.
This commit is contained in:
PokeCF 2020-06-08 17:09:54 -04:00 committed by GitHub
parent 675f5ac03e
commit 760baec098
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -35,31 +35,31 @@ void PlayTimeCounter_Stop(void)
void PlayTimeCounter_Update(void) void PlayTimeCounter_Update(void)
{ {
if (sPlayTimeCounterState == RUNNING) if (sPlayTimeCounterState != RUNNING)
{ return;
gSaveBlock2Ptr->playTimeVBlanks++;
if (gSaveBlock2Ptr->playTimeVBlanks > 59) gSaveBlock2Ptr->playTimeVBlanks++;
{
gSaveBlock2Ptr->playTimeVBlanks = 0;
gSaveBlock2Ptr->playTimeSeconds++;
if (gSaveBlock2Ptr->playTimeSeconds > 59) if (gSaveBlock2Ptr->playTimeVBlanks < 60)
{ return;
gSaveBlock2Ptr->playTimeSeconds = 0;
gSaveBlock2Ptr->playTimeMinutes++;
if (gSaveBlock2Ptr->playTimeMinutes > 59) gSaveBlock2Ptr->playTimeVBlanks = 0;
{ gSaveBlock2Ptr->playTimeSeconds++;
gSaveBlock2Ptr->playTimeMinutes = 0;
gSaveBlock2Ptr->playTimeHours++;
if (gSaveBlock2Ptr->playTimeHours > 999) if (gSaveBlock2Ptr->playTimeSeconds < 60)
PlayTimeCounter_SetToMax(); return;
}
} gSaveBlock2Ptr->playTimeSeconds = 0;
} gSaveBlock2Ptr->playTimeMinutes++;
}
if (gSaveBlock2Ptr->playTimeMinutes < 60)
return;
gSaveBlock2Ptr->playTimeMinutes = 0;
gSaveBlock2Ptr->playTimeHours++;
if (gSaveBlock2Ptr->playTimeHours > 999)
PlayTimeCounter_SetToMax();
} }
void PlayTimeCounter_SetToMax(void) void PlayTimeCounter_SetToMax(void)