Label unknown palette functions

This commit is contained in:
GriffinR
2021-11-01 12:01:51 -04:00
parent 684f599a44
commit ab1074e629
3 changed files with 127 additions and 130 deletions
+1 -7
View File
@@ -58,15 +58,9 @@ void FillPalette(u16, u16, u16);
void TransferPlttBuffer(void); void TransferPlttBuffer(void);
u8 UpdatePaletteFade(void); u8 UpdatePaletteFade(void);
void ResetPaletteFade(void); void ResetPaletteFade(void);
void ReadPlttIntoBuffers(void);
bool8 BeginNormalPaletteFade(u32, s8, u8, u8, u16); bool8 BeginNormalPaletteFade(u32, s8, u8, u8, u16);
bool8 unref_sub_8073D3C(u32, u8, u8, u8, u16); void PaletteStruct_ResetById(u16);
void unref_sub_8073D84(u8, u32 *);
void ResetPaletteStructByUid(u16);
void ResetPaletteStruct(u8);
void ResetPaletteFadeControl(void); void ResetPaletteFadeControl(void);
void unref_sub_8074168(u16);
void unref_sub_8074194(u16);
void InvertPlttBuffer(u32); void InvertPlttBuffer(u32);
void TintPlttBuffer(u32, s8, s8, s8); void TintPlttBuffer(u32, s8, s8, s8);
void UnfadePlttBuffer(u32); void UnfadePlttBuffer(u32);
+3 -2
View File
@@ -665,9 +665,10 @@ void sub_80A6760(struct Sprite *sprite)
sprite->callback = sub_80A64D0; sprite->callback = sub_80A64D0;
} }
void sub_80A67A4(struct Sprite *sprite) // Unused
static void EndUnkPaletteAnim(struct Sprite *sprite)
{ {
ResetPaletteStructByUid(sprite->data[5]); PaletteStruct_ResetById(sprite->data[5]);
DestroySpriteAndMatrix(sprite); DestroySpriteAndMatrix(sprite);
} }
+123 -121
View File
@@ -16,36 +16,38 @@ enum
// These are structs for some unused palette system. // These are structs for some unused palette system.
// The full functionality of this system is unknown. // The full functionality of this system is unknown.
#define NUM_PALETTE_STRUCTS 16
struct PaletteStructTemplate struct PaletteStructTemplate
{ {
u16 uid; u16 id;
u16 *src; u16 *src;
u16 pst_field_8_0:1; bool16 pst_field_8_0:1;
u16 pst_field_8_1:9; u16 unused:9;
u16 size:5; u16 size:5;
u16 pst_field_9_7:1; u8 time1;
u8 pst_field_A;
u8 srcCount:5; u8 srcCount:5;
u8 pst_field_B_5:3; u8 state:3;
u8 pst_field_C; u8 time2;
}; };
struct PaletteStruct struct PaletteStruct
{ {
const struct PaletteStructTemplate *base; const struct PaletteStructTemplate *template;
u32 ps_field_4_0:1; bool32 active:1;
u16 ps_field_4_1:1; bool32 flag:1;
u32 baseDestOffset:9; u32 baseDestOffset:9;
u16 destOffset:10; u32 destOffset:10;
u16 srcIndex:7; u32 srcIndex:7;
u8 ps_field_8; u8 countdown1;
u8 ps_field_9; u8 countdown2;
}; };
static void unused_sub_80A1CDC(struct PaletteStruct *, u32 *); static void PaletteStruct_Copy(struct PaletteStruct *, u32 *);
static void unused_sub_80A1E40(struct PaletteStruct *, u32 *); static void PaletteStruct_Blend(struct PaletteStruct *, u32 *);
static void unused_sub_80A1F00(struct PaletteStruct *); static void PaletteStruct_TryEnd(struct PaletteStruct *);
static u8 GetPaletteNumByUid(u16); static void PaletteStruct_Reset(u8);
static u8 PaletteStruct_GetPalNum(u16);
static u8 UpdateNormalPaletteFade(void); static u8 UpdateNormalPaletteFade(void);
static void BeginFastPaletteFadeInternal(u8); static void BeginFastPaletteFadeInternal(u8);
static u8 UpdateFastPaletteFade(void); static u8 UpdateFastPaletteFade(void);
@@ -58,15 +60,15 @@ static void Task_BlendPalettesGradually(u8 taskId);
// unaligned word reads are issued in BlendPalette otherwise // unaligned word reads are issued in BlendPalette otherwise
ALIGNED(4) EWRAM_DATA u16 gPlttBufferUnfaded[PLTT_BUFFER_SIZE] = {0}; ALIGNED(4) EWRAM_DATA u16 gPlttBufferUnfaded[PLTT_BUFFER_SIZE] = {0};
ALIGNED(4) EWRAM_DATA u16 gPlttBufferFaded[PLTT_BUFFER_SIZE] = {0}; ALIGNED(4) EWRAM_DATA u16 gPlttBufferFaded[PLTT_BUFFER_SIZE] = {0};
EWRAM_DATA struct PaletteStruct sPaletteStructs[0x10] = {0}; EWRAM_DATA struct PaletteStruct sPaletteStructs[NUM_PALETTE_STRUCTS] = {0};
EWRAM_DATA struct PaletteFadeControl gPaletteFade = {0}; EWRAM_DATA struct PaletteFadeControl gPaletteFade = {0};
static EWRAM_DATA u32 sFiller = 0; static EWRAM_DATA u32 sFiller = 0;
static EWRAM_DATA u32 sPlttBufferTransferPending = 0; static EWRAM_DATA u32 sPlttBufferTransferPending = 0;
EWRAM_DATA u8 gPaletteDecompressionBuffer[PLTT_DECOMP_BUFFER_SIZE] = {0}; EWRAM_DATA u8 gPaletteDecompressionBuffer[PLTT_DECOMP_BUFFER_SIZE] = {0};
static const struct PaletteStructTemplate gDummyPaletteStructTemplate = { static const struct PaletteStructTemplate gDummyPaletteStructTemplate = {
.uid = 0xFFFF, .id = 0xFFFF,
.pst_field_B_5 = 1 .state = 1
}; };
static const u8 sRoundedDownGrayscaleMap[] = { static const u8 sRoundedDownGrayscaleMap[] = {
@@ -82,20 +84,20 @@ static const u8 sRoundedDownGrayscaleMap[] = {
void LoadCompressedPalette(const u32 *src, u16 offset, u16 size) void LoadCompressedPalette(const u32 *src, u16 offset, u16 size)
{ {
LZDecompressWram(src, gPaletteDecompressionBuffer); LZDecompressWram(src, gPaletteDecompressionBuffer);
CpuCopy16(gPaletteDecompressionBuffer, gPlttBufferUnfaded + offset, size); CpuCopy16(gPaletteDecompressionBuffer, &gPlttBufferUnfaded[offset], size);
CpuCopy16(gPaletteDecompressionBuffer, gPlttBufferFaded + offset, size); CpuCopy16(gPaletteDecompressionBuffer, &gPlttBufferFaded[offset], size);
} }
void LoadPalette(const void *src, u16 offset, u16 size) void LoadPalette(const void *src, u16 offset, u16 size)
{ {
CpuCopy16(src, gPlttBufferUnfaded + offset, size); CpuCopy16(src, &gPlttBufferUnfaded[offset], size);
CpuCopy16(src, gPlttBufferFaded + offset, size); CpuCopy16(src, &gPlttBufferFaded[offset], size);
} }
void FillPalette(u16 value, u16 offset, u16 size) void FillPalette(u16 value, u16 offset, u16 size)
{ {
CpuFill16(value, gPlttBufferUnfaded + offset, size); CpuFill16(value, &gPlttBufferUnfaded[offset], size);
CpuFill16(value, gPlttBufferFaded + offset, size); CpuFill16(value, &gPlttBufferFaded[offset], size);
} }
void TransferPlttBuffer(void) void TransferPlttBuffer(void)
@@ -105,7 +107,7 @@ void TransferPlttBuffer(void)
void *src = gPlttBufferFaded; void *src = gPlttBufferFaded;
void *dest = (void *)PLTT; void *dest = (void *)PLTT;
DmaCopy16(3, src, dest, PLTT_SIZE); DmaCopy16(3, src, dest, PLTT_SIZE);
sPlttBufferTransferPending = 0; sPlttBufferTransferPending = FALSE;
if (gPaletteFade.mode == HARDWARE_FADE && gPaletteFade.active) if (gPaletteFade.mode == HARDWARE_FADE && gPaletteFade.active)
UpdateBlendRegisters(); UpdateBlendRegisters();
} }
@@ -135,13 +137,13 @@ void ResetPaletteFade(void)
{ {
u8 i; u8 i;
for (i = 0; i < 16; i++) for (i = 0; i < NUM_PALETTE_STRUCTS; i++)
ResetPaletteStruct(i); PaletteStruct_Reset(i);
ResetPaletteFadeControl(); ResetPaletteFadeControl();
} }
void ReadPlttIntoBuffers(void) static void ReadPlttIntoBuffers(void)
{ {
u16 i; u16 i;
u16 *pltt = (u16 *)PLTT; u16 *pltt = (u16 *)PLTT;
@@ -178,7 +180,7 @@ bool8 BeginNormalPaletteFade(u32 selectedPalettes, s8 delay, u8 startY, u8 targe
gPaletteFade.y = startY; gPaletteFade.y = startY;
gPaletteFade.targetY = targetY; gPaletteFade.targetY = targetY;
gPaletteFade.blendColor = color; gPaletteFade.blendColor = color;
gPaletteFade.active = 1; gPaletteFade.active = TRUE;
gPaletteFade.mode = NORMAL_FADE; gPaletteFade.mode = NORMAL_FADE;
if (startY < targetY) if (startY < targetY)
@@ -189,9 +191,9 @@ bool8 BeginNormalPaletteFade(u32 selectedPalettes, s8 delay, u8 startY, u8 targe
UpdatePaletteFade(); UpdatePaletteFade();
temp = gPaletteFade.bufferTransferDisabled; temp = gPaletteFade.bufferTransferDisabled;
gPaletteFade.bufferTransferDisabled = 0; gPaletteFade.bufferTransferDisabled = FALSE;
CpuCopy32(gPlttBufferFaded, (void *)PLTT, PLTT_SIZE); CpuCopy32(gPlttBufferFaded, (void *)PLTT, PLTT_SIZE);
sPlttBufferTransferPending = 0; sPlttBufferTransferPending = FALSE;
if (gPaletteFade.mode == HARDWARE_FADE && gPaletteFade.active) if (gPaletteFade.mode == HARDWARE_FADE && gPaletteFade.active)
UpdateBlendRegisters(); UpdateBlendRegisters();
gPaletteFade.bufferTransferDisabled = temp; gPaletteFade.bufferTransferDisabled = temp;
@@ -199,55 +201,55 @@ bool8 BeginNormalPaletteFade(u32 selectedPalettes, s8 delay, u8 startY, u8 targe
} }
} }
bool8 unref_sub_80A1C1C(u32 a1, u8 a2, u8 a3, u8 a4, u16 a5) // Unused
static bool8 BeginPlttFade(u32 selectedPalettes, u8 delay, u8 startY, u8 targetY, u16 blendColor)
{ {
ReadPlttIntoBuffers(); ReadPlttIntoBuffers();
return BeginNormalPaletteFade(a1, a2, a3, a4, a5); return BeginNormalPaletteFade(selectedPalettes, delay, startY, targetY, blendColor);
} }
void unref_sub_80A1C64(u8 a1, u32 *a2) // Unused
static void PaletteStruct_Run(u8 a1, u32 *unkFlags)
{ {
u8 i; u8 i;
for (i = 0; i < 16; i++) for (i = 0; i < NUM_PALETTE_STRUCTS; i++)
{ {
struct PaletteStruct *palstruct = &sPaletteStructs[i]; struct PaletteStruct *palstruct = &sPaletteStructs[i];
if (palstruct->ps_field_4_0) if (palstruct->active)
{ {
if (palstruct->base->pst_field_8_0 == a1) if (palstruct->template->pst_field_8_0 == a1)
{ {
u8 val1 = palstruct->srcIndex; if (palstruct->srcIndex == palstruct->template->srcCount)
u8 val2 = palstruct->base->srcCount;
if (val1 == val2)
{ {
unused_sub_80A1F00(palstruct); PaletteStruct_TryEnd(palstruct);
if (!palstruct->ps_field_4_0) if (!palstruct->active)
continue; continue;
} }
if (palstruct->ps_field_8 == 0) if (palstruct->countdown1 == 0)
unused_sub_80A1CDC(palstruct, a2); PaletteStruct_Copy(palstruct, unkFlags);
else else
palstruct->ps_field_8--; palstruct->countdown1--;
unused_sub_80A1E40(palstruct, a2); PaletteStruct_Blend(palstruct, unkFlags);
} }
} }
} }
} }
static void unused_sub_80A1CDC(struct PaletteStruct *a1, u32 *a2) static void PaletteStruct_Copy(struct PaletteStruct *a1, u32 *unkFlags)
{ {
s32 srcIndex; s32 srcIndex;
s32 srcCount; s32 srcCount;
u8 i = 0; u8 i = 0;
u16 srcOffset = a1->srcIndex * a1->base->size; u16 srcOffset = a1->srcIndex * a1->template->size;
if (!a1->base->pst_field_8_0) if (!a1->template->pst_field_8_0)
{ {
while (i < a1->base->size) while (i < a1->template->size)
{ {
gPlttBufferUnfaded[a1->destOffset] = a1->base->src[srcOffset]; gPlttBufferUnfaded[a1->destOffset] = a1->template->src[srcOffset];
gPlttBufferFaded[a1->destOffset] = a1->base->src[srcOffset]; gPlttBufferFaded[a1->destOffset] = a1->template->src[srcOffset];
i++; i++;
a1->destOffset++; a1->destOffset++;
srcOffset++; srcOffset++;
@@ -255,9 +257,9 @@ static void unused_sub_80A1CDC(struct PaletteStruct *a1, u32 *a2)
} }
else else
{ {
while (i < a1->base->size) while (i < a1->template->size)
{ {
gPlttBufferFaded[a1->destOffset] = a1->base->src[srcOffset]; gPlttBufferFaded[a1->destOffset] = a1->template->src[srcOffset];
i++; i++;
a1->destOffset++; a1->destOffset++;
srcOffset++; srcOffset++;
@@ -265,33 +267,33 @@ static void unused_sub_80A1CDC(struct PaletteStruct *a1, u32 *a2)
} }
a1->destOffset = a1->baseDestOffset; a1->destOffset = a1->baseDestOffset;
a1->ps_field_8 = a1->base->pst_field_A; a1->countdown1 = a1->template->time1;
a1->srcIndex++; a1->srcIndex++;
srcIndex = a1->srcIndex; srcIndex = a1->srcIndex;
srcCount = a1->base->srcCount; srcCount = a1->template->srcCount;
if (srcIndex >= srcCount) if (srcIndex >= srcCount)
{ {
if (a1->ps_field_9) if (a1->countdown2)
a1->ps_field_9--; a1->countdown2--;
a1->srcIndex = 0; a1->srcIndex = 0;
} }
*a2 |= 1 << (a1->baseDestOffset >> 4); *unkFlags |= 1 << (a1->baseDestOffset >> 4);
} }
static void unused_sub_80A1E40(struct PaletteStruct *a1, u32 *a2) static void PaletteStruct_Blend(struct PaletteStruct *a1, u32 *unkFlags)
{ {
if (gPaletteFade.active && ((1 << (a1->baseDestOffset >> 4)) & gPaletteFade_selectedPalettes)) if (gPaletteFade.active && ((1 << (a1->baseDestOffset >> 4)) & gPaletteFade_selectedPalettes))
{ {
if (!a1->base->pst_field_8_0) if (!a1->template->pst_field_8_0)
{ {
if (gPaletteFade.delayCounter != gPaletteFade_delay) if (gPaletteFade.delayCounter != gPaletteFade_delay)
{ {
BlendPalette( BlendPalette(
a1->baseDestOffset, a1->baseDestOffset,
a1->base->size, a1->template->size,
gPaletteFade.y, gPaletteFade.y,
gPaletteFade.blendColor); gPaletteFade.blendColor);
} }
@@ -300,64 +302,64 @@ static void unused_sub_80A1E40(struct PaletteStruct *a1, u32 *a2)
{ {
if (!gPaletteFade.delayCounter) if (!gPaletteFade.delayCounter)
{ {
if (a1->ps_field_8 != a1->base->pst_field_A) if (a1->countdown1 != a1->template->time1)
{ {
u32 srcOffset = a1->srcIndex * a1->base->size; u32 srcOffset = a1->srcIndex * a1->template->size;
u8 i; u8 i;
for (i = 0; i < a1->base->size; i++) for (i = 0; i < a1->template->size; i++)
gPlttBufferFaded[a1->baseDestOffset + i] = a1->base->src[srcOffset + i]; gPlttBufferFaded[a1->baseDestOffset + i] = a1->template->src[srcOffset + i];
} }
} }
} }
} }
} }
static void unused_sub_80A1F00(struct PaletteStruct *a1) static void PaletteStruct_TryEnd(struct PaletteStruct *pal)
{ {
if (!a1->ps_field_9) if (pal->countdown2 == 0)
{ {
s32 val = a1->base->pst_field_B_5; s32 state = pal->template->state;
if (!val) if (state == 0)
{ {
a1->srcIndex = 0; pal->srcIndex = 0;
a1->ps_field_8 = a1->base->pst_field_A; pal->countdown1 = pal->template->time1;
a1->ps_field_9 = a1->base->pst_field_C; pal->countdown2 = pal->template->time2;
a1->destOffset = a1->baseDestOffset; pal->destOffset = pal->baseDestOffset;
} }
else else
{ {
if (val < 0) if (state < 0)
return; return;
if (val > 2) if (state > 2)
return; return;
ResetPaletteStructByUid(a1->base->uid); PaletteStruct_ResetById(pal->template->id);
} }
} }
else else
{ {
a1->ps_field_9--; pal->countdown2--;
} }
} }
void ResetPaletteStructByUid(u16 a1) void PaletteStruct_ResetById(u16 id)
{ {
u8 paletteNum = GetPaletteNumByUid(a1); u8 paletteNum = PaletteStruct_GetPalNum(id);
if (paletteNum != 16) if (paletteNum != NUM_PALETTE_STRUCTS)
ResetPaletteStruct(paletteNum); PaletteStruct_Reset(paletteNum);
} }
void ResetPaletteStruct(u8 paletteNum) static void PaletteStruct_Reset(u8 paletteNum)
{ {
sPaletteStructs[paletteNum].base = &gDummyPaletteStructTemplate; sPaletteStructs[paletteNum].template = &gDummyPaletteStructTemplate;
sPaletteStructs[paletteNum].ps_field_4_0 = 0; sPaletteStructs[paletteNum].active = FALSE;
sPaletteStructs[paletteNum].baseDestOffset = 0; sPaletteStructs[paletteNum].baseDestOffset = 0;
sPaletteStructs[paletteNum].destOffset = 0; sPaletteStructs[paletteNum].destOffset = 0;
sPaletteStructs[paletteNum].srcIndex = 0; sPaletteStructs[paletteNum].srcIndex = 0;
sPaletteStructs[paletteNum].ps_field_4_1 = 0; sPaletteStructs[paletteNum].flag = 0;
sPaletteStructs[paletteNum].ps_field_8 = 0; sPaletteStructs[paletteNum].countdown1 = 0;
sPaletteStructs[paletteNum].ps_field_9 = 0; sPaletteStructs[paletteNum].countdown2 = 0;
} }
void ResetPaletteFadeControl(void) void ResetPaletteFadeControl(void)
@@ -368,41 +370,41 @@ void ResetPaletteFadeControl(void)
gPaletteFade.y = 0; gPaletteFade.y = 0;
gPaletteFade.targetY = 0; gPaletteFade.targetY = 0;
gPaletteFade.blendColor = 0; gPaletteFade.blendColor = 0;
gPaletteFade.active = 0; gPaletteFade.active = FALSE;
gPaletteFade.multipurpose2 = 0; // assign same value twice gPaletteFade.multipurpose2 = 0; // assign same value twice
gPaletteFade.yDec = 0; gPaletteFade.yDec = 0;
gPaletteFade.bufferTransferDisabled = 0; gPaletteFade.bufferTransferDisabled = FALSE;
gPaletteFade.shouldResetBlendRegisters = 0; gPaletteFade.shouldResetBlendRegisters = FALSE;
gPaletteFade.hardwareFadeFinishing = 0; gPaletteFade.hardwareFadeFinishing = FALSE;
gPaletteFade.softwareFadeFinishing = 0; gPaletteFade.softwareFadeFinishing = FALSE;
gPaletteFade.softwareFadeFinishingCounter = 0; gPaletteFade.softwareFadeFinishingCounter = 0;
gPaletteFade.objPaletteToggle = 0; gPaletteFade.objPaletteToggle = 0;
gPaletteFade.deltaY = 2; gPaletteFade.deltaY = 2;
} }
void unref_sub_80A2048(u16 uid) static void PaletteStruct_SetUnusedFlag(u16 id)
{ {
u8 paletteNum = GetPaletteNumByUid(uid); u8 paletteNum = PaletteStruct_GetPalNum(id);
if (paletteNum != 16) if (paletteNum != NUM_PALETTE_STRUCTS)
sPaletteStructs[paletteNum].ps_field_4_1 = 1; sPaletteStructs[paletteNum].flag = TRUE;
} }
void unref_sub_80A2074(u16 uid) static void PaletteStruct_ClearUnusedFlag(u16 id)
{ {
u8 paletteNum = GetPaletteNumByUid(uid); u8 paletteNum = PaletteStruct_GetPalNum(id);
if (paletteNum != 16) if (paletteNum != NUM_PALETTE_STRUCTS)
sPaletteStructs[paletteNum].ps_field_4_1 = 0; sPaletteStructs[paletteNum].flag = FALSE;
} }
static u8 GetPaletteNumByUid(u16 uid) static u8 PaletteStruct_GetPalNum(u16 id)
{ {
u8 i; u8 i;
for (i = 0; i < 16; i++) for (i = 0; i < NUM_PALETTE_STRUCTS; i++)
if (sPaletteStructs[i].base->uid == uid) if (sPaletteStructs[i].template->id == id)
return i; return i;
return 16; return NUM_PALETTE_STRUCTS;
} }
static u8 UpdateNormalPaletteFade(void) static u8 UpdateNormalPaletteFade(void)
@@ -460,7 +462,7 @@ static u8 UpdateNormalPaletteFade(void)
if (gPaletteFade.y == gPaletteFade.targetY) if (gPaletteFade.y == gPaletteFade.targetY)
{ {
gPaletteFade_selectedPalettes = 0; gPaletteFade_selectedPalettes = 0;
gPaletteFade.softwareFadeFinishing = 1; gPaletteFade.softwareFadeFinishing = TRUE;
} }
else else
{ {
@@ -557,7 +559,7 @@ static void BeginFastPaletteFadeInternal(u8 submode)
{ {
gPaletteFade.y = 31; gPaletteFade.y = 31;
gPaletteFade_submode = submode & 0x3F; gPaletteFade_submode = submode & 0x3F;
gPaletteFade.active = 1; gPaletteFade.active = TRUE;
gPaletteFade.mode = FAST_FADE; gPaletteFade.mode = FAST_FADE;
if (submode == FAST_FADE_IN_FROM_BLACK) if (submode == FAST_FADE_IN_FROM_BLACK)
@@ -719,7 +721,7 @@ static u8 UpdateFastPaletteFade(void)
} }
gPaletteFade.mode = NORMAL_FADE; gPaletteFade.mode = NORMAL_FADE;
gPaletteFade.softwareFadeFinishing = 1; gPaletteFade.softwareFadeFinishing = TRUE;
} }
// gPaletteFade.active cannot change since the last time it was checked. So this // gPaletteFade.active cannot change since the last time it was checked. So this
@@ -734,10 +736,10 @@ void BeginHardwarePaletteFade(u8 blendCnt, u8 delay, u8 y, u8 targetY, u8 should
gPaletteFade_delay = delay; gPaletteFade_delay = delay;
gPaletteFade.y = y; gPaletteFade.y = y;
gPaletteFade.targetY = targetY; gPaletteFade.targetY = targetY;
gPaletteFade.active = 1; gPaletteFade.active = TRUE;
gPaletteFade.mode = HARDWARE_FADE; gPaletteFade.mode = HARDWARE_FADE;
gPaletteFade.shouldResetBlendRegisters = shouldResetBlendRegisters & 1; gPaletteFade.shouldResetBlendRegisters = shouldResetBlendRegisters & 1;
gPaletteFade.hardwareFadeFinishing = 0; gPaletteFade.hardwareFadeFinishing = FALSE;
if (y < targetY) if (y < targetY)
gPaletteFade.yDec = 0; gPaletteFade.yDec = 0;
@@ -784,7 +786,7 @@ static u8 UpdateHardwarePaletteFade(void)
gPaletteFade_blendCnt = 0; gPaletteFade_blendCnt = 0;
gPaletteFade.y = 0; gPaletteFade.y = 0;
} }
gPaletteFade.shouldResetBlendRegisters = 0; gPaletteFade.shouldResetBlendRegisters = FALSE;
} }
// gPaletteFade.active cannot change since the last time it was checked. So this // gPaletteFade.active cannot change since the last time it was checked. So this
@@ -798,11 +800,11 @@ static void UpdateBlendRegisters(void)
SetGpuReg(REG_OFFSET_BLDY, gPaletteFade.y); SetGpuReg(REG_OFFSET_BLDY, gPaletteFade.y);
if (gPaletteFade.hardwareFadeFinishing) if (gPaletteFade.hardwareFadeFinishing)
{ {
gPaletteFade.hardwareFadeFinishing = 0; gPaletteFade.hardwareFadeFinishing = FALSE;
gPaletteFade.mode = 0; gPaletteFade.mode = 0;
gPaletteFade_blendCnt = 0; gPaletteFade_blendCnt = 0;
gPaletteFade.y = 0; gPaletteFade.y = 0;
gPaletteFade.active = 0; gPaletteFade.active = FALSE;
} }
} }
@@ -812,8 +814,8 @@ static bool8 IsSoftwarePaletteFadeFinishing(void)
{ {
if (gPaletteFade.softwareFadeFinishingCounter == 4) if (gPaletteFade.softwareFadeFinishingCounter == 4)
{ {
gPaletteFade.active = 0; gPaletteFade.active = FALSE;
gPaletteFade.softwareFadeFinishing = 0; gPaletteFade.softwareFadeFinishing = FALSE;
gPaletteFade.softwareFadeFinishingCounter = 0; gPaletteFade.softwareFadeFinishingCounter = 0;
} }
else else
@@ -950,7 +952,7 @@ void TintPalette_CustomTone(u16 *palette, u16 count, u16 rTone, u16 gTone, u16 b
#define tId data[8] #define tId data[8]
// Blend the selected palettes in a series of steps toward or away from the color. // Blend the selected palettes in a series of steps toward or away from the color.
// Only used by the Groudon/Kyogre fight scene to flash the screen for lightning // Only used by the Groudon/Kyogre fight scene to flash the screen for lightning.
// One call is used to fade the bg from white, while another fades the duo from black // One call is used to fade the bg from white, while another fades the duo from black
void BlendPalettesGradually(u32 selectedPalettes, s8 delay, u8 coeff, u8 coeffTarget, u16 color, u8 priority, u8 id) void BlendPalettesGradually(u32 selectedPalettes, s8 delay, u8 coeff, u8 coeffTarget, u16 color, u8 priority, u8 id)
{ {
@@ -987,8 +989,8 @@ static bool32 IsBlendPalettesGraduallyTaskActive(u8 id)
for (i = 0; i < NUM_TASKS; i++) for (i = 0; i < NUM_TASKS; i++)
if ((gTasks[i].isActive == TRUE) if ((gTasks[i].isActive == TRUE)
&& (gTasks[i].func == Task_BlendPalettesGradually) && (gTasks[i].func == Task_BlendPalettesGradually)
&& (gTasks[i].tId == id)) && (gTasks[i].tId == id))
return TRUE; return TRUE;
return FALSE; return FALSE;