Name the possible return values of palette fading functions

Also replace implicit conversion from gPalette.active into a status with
if statements, to make the return value clear.

I've also added comments when the check is redundant.
This commit is contained in:
Phlosioneer 2019-02-09 21:50:12 -05:00
parent 6f1d2b870c
commit 37bea25b01
2 changed files with 26 additions and 12 deletions

View File

@ -9,6 +9,11 @@
#define PLTT_BUFFER_SIZE 0x200
#define PLTT_DECOMP_BUFFER_SIZE (PLTT_BUFFER_SIZE * 2)
#define PALETTE_FADE_STATUS_DELAY 2
#define PALETTE_FADE_STATUS_ACTIVE 1
#define PALETTE_FADE_STATUS_DONE 0
#define PALETTE_FADE_STATUS_LOADING -1
enum
{
FAST_FADE_IN_FROM_WHITE,

View File

@ -115,7 +115,7 @@ u8 UpdatePaletteFade(void)
u8 dummy = 0;
if (sPlttBufferTransferPending)
return -1;
return PALETTE_FADE_STATUS_LOADING;
if (gPaletteFade.mode == NORMAL_FADE)
result = UpdateNormalPaletteFade();
@ -409,11 +409,11 @@ static u8 UpdateNormalPaletteFade(void)
u16 selectedPalettes;
if (!gPaletteFade.active)
return 0;
return PALETTE_FADE_STATUS_DONE;
if (IsSoftwarePaletteFadeFinishing())
{
return gPaletteFade.active;
return gPaletteFade.active ? PALETTE_FADE_STATUS_ACTIVE : PALETTE_FADE_STATUS_DONE;
}
else
{
@ -483,7 +483,9 @@ static u8 UpdateNormalPaletteFade(void)
}
}
return gPaletteFade.active;
// gPaletteFade.active cannot change since the last time it was checked. So this
// is equivalent to `return PALETTE_FADE_STATUS_ACTIVE;`
return gPaletteFade.active ? PALETTE_FADE_STATUS_ACTIVE : PALETTE_FADE_STATUS_DONE;
}
}
@ -578,10 +580,11 @@ static u8 UpdateFastPaletteFade(void)
s8 b;
if (!gPaletteFade.active)
return 0;
return PALETTE_FADE_STATUS_DONE;
if (IsSoftwarePaletteFadeFinishing())
return gPaletteFade.active;
return gPaletteFade.active ? PALETTE_FADE_STATUS_ACTIVE : PALETTE_FADE_STATUS_DONE;
if (gPaletteFade.objPaletteToggle)
{
@ -688,7 +691,9 @@ static u8 UpdateFastPaletteFade(void)
gPaletteFade.objPaletteToggle ^= 1;
if (gPaletteFade.objPaletteToggle)
return gPaletteFade.active;
// gPaletteFade.active cannot change since the last time it was checked. So this
// is equivalent to `return PALETTE_FADE_STATUS_ACTIVE;`
return gPaletteFade.active ? PALETTE_FADE_STATUS_ACTIVE : PALETTE_FADE_STATUS_DONE;
if (gPaletteFade.y - gPaletteFade.deltaY < 0)
gPaletteFade.y = 0;
@ -714,8 +719,10 @@ static u8 UpdateFastPaletteFade(void)
gPaletteFade.mode = NORMAL_FADE;
gPaletteFade.softwareFadeFinishing = 1;
}
return gPaletteFade.active;
// gPaletteFade.active cannot change since the last time it was checked. So this
// is equivalent to `return PALETTE_FADE_STATUS_ACTIVE;`
return gPaletteFade.active ? PALETTE_FADE_STATUS_ACTIVE : PALETTE_FADE_STATUS_DONE;
}
void BeginHardwarePaletteFade(u8 blendCnt, u8 delay, u8 y, u8 targetY, u8 shouldResetBlendRegisters)
@ -739,12 +746,12 @@ void BeginHardwarePaletteFade(u8 blendCnt, u8 delay, u8 y, u8 targetY, u8 should
static u8 UpdateHardwarePaletteFade(void)
{
if (!gPaletteFade.active)
return 0;
return PALETTE_FADE_STATUS_DONE;
if (gPaletteFade.delayCounter < gPaletteFade_delay)
{
gPaletteFade.delayCounter++;
return 2;
return PALETTE_FADE_STATUS_DELAY;
}
gPaletteFade.delayCounter = 0;
@ -778,7 +785,9 @@ static u8 UpdateHardwarePaletteFade(void)
gPaletteFade.shouldResetBlendRegisters = 0;
}
return gPaletteFade.active;
// gPaletteFade.active cannot change since the last time it was checked. So this
// is equivalent to `return PALETTE_FADE_STATUS_ACTIVE;`
return gPaletteFade.active ? PALETTE_FADE_STATUS_ACTIVE : PALETTE_FADE_STATUS_DONE;
}
static void UpdateBlendRegisters(void)