Move gFontPalette to EWRAM

This commit is contained in:
DizzyEggg 2025-02-25 10:55:07 +01:00
parent 3b01545f37
commit 37e5bd599d
10 changed files with 41 additions and 81 deletions

View File

@ -250,5 +250,5 @@ _0803E458: .4byte gDungeon
_0803E45C: .4byte 0x00018217
_0803E460: .4byte 0x00018218
_0803E464: .4byte gDungeonBrightness
_0803E468: .4byte gUnknown_202D058
_0803E468: .4byte gFontPalette + 0x20
thumb_func_end sub_803E250

View File

@ -150,7 +150,7 @@ _08040256:
.align 2, 0
_0804026C: .4byte gUnknown_202EE04
_08040270: .4byte gUnknown_202EE01
_08040274: .4byte gUnknown_202D03C
_08040274: .4byte gFontPalette + 0x4
_08040278:
adds r5, r6, 0
adds r5, 0xE0

View File

@ -31,12 +31,12 @@ sub_8099690:
_080996BC: .4byte gUnknown_8116028
_080996C0: .4byte gSystemFileArchive
_080996C4: .4byte gGameOptionsRef
_080996C8: .4byte gFontPaletteAlt
_080996C8: .4byte gFontPalette + 0x40
_080996CC:
ldr r4, _080996D0
b _080996D6
.align 2, 0
_080996D0: .4byte gUnknown_202D1B8
_080996D0: .4byte gFontPalette + 0x180
_080996D4:
ldr r4, _08099704
_080996D6:
@ -61,7 +61,7 @@ _080996E4:
pop {r0}
bx r0
.align 2, 0
_08099704: .4byte gUnknown_202D1F8
_08099704: .4byte gFontPalette + 0x1C0
thumb_func_end sub_8099690
thumb_func_start sub_8099708

View File

@ -3,6 +3,8 @@
#include "structs/rgb.h"
extern RGB gFontPalette[128];
// size: 0xC
struct unkStruct_202D240
{

View File

@ -8,9 +8,4 @@ typedef struct RGB
u8 b;
} RGB;
typedef struct Palette32
{
RGB pal[16];
} Palette32;
#endif // GUARD_RGB_H

View File

@ -8,11 +8,11 @@
extern const u8 gUnknown_80B88CC[];
extern const struct FileArchive gSystemFileArchive; // 8300500
extern Palette32 gFontPalette[8];
extern u8 gUnknown_202D238[4];
extern s32 gUnknown_202D23C;
extern u32 gUnknown_202D2A0;
extern struct unkStruct_202D240 gUnknown_202D240[8];
EWRAM_DATA RGB gFontPalette[128] = {0};
EWRAM_DATA static u8 gUnknown_202D238[4] = {0};
EWRAM_DATA static s32 gUnknown_202D23C = 0;
EWRAM_DATA static struct unkStruct_202D240 gUnknown_202D240[8] = {0};
EWRAM_DATA u32 gUnknown_202D2A0 = 0;
typedef struct Palette256
{
@ -45,9 +45,9 @@ void InitFontPalette(void)
CpuCopy(gFontPalette, fontpalFile->data, sizeof(gFontPalette));
if (sub_80063B0() == 1)
ptr = gFontPalette[0].pal;
ptr = &gFontPalette[0];
else
ptr = gFontPalette[1].pal;
ptr = &gFontPalette[16];
for (i = 0; i < 16; ptr++, i++)
SetBGPaletteBufferColorArray(i + 240, ptr);
@ -64,11 +64,11 @@ void vram_related_8009804(void)
for (i = 0; i < 0x13C0; i++)
*dest++ = 0;
dest = (u32 *)0x06007000;
dest = (u32 *)(VRAM + 0x7000);
for (i = 0; i < 0x400; i++)
*dest++ = 0;
dest = (u32 *)0x06008000;
dest = (u32 *)(VRAM + 0x8000);
for (i = 0; i < 0x2000; i++)
*dest++ = 0;
@ -85,7 +85,7 @@ void vram_related_8009804(void)
*dest++ = 0;
dest = (u32 *)OAM;
for (i = 0; i < 256; i++)
for (i = 0; i < OAM_SIZE / 4; i++)
*dest++ = 0xA000A0; // TODO: Macro or explanation
}
@ -150,7 +150,7 @@ void SetFontsBaseColor(RGB a0)
s32 i;
for (i = 0; i < 8; i++)
gFontPalette[i].pal[1] = a0;
gFontPalette[16 * i + 1] = a0;
}
UNUSED static void sub_8009A10(struct unkStruct_8009A1C_ptr *a0, u32 palId, u32 vramDstOffset, u32 r3)

View File

@ -39,7 +39,6 @@ extern OpenedFile *gUnknown_202EC98;
extern OpenedFile *gUnknown_202EC94;
extern s32 gDungeonNameBannerFont;
extern u8 gUnknown_20274A5;
extern Palette32 gFontPalette[8];
struct UnkDungeonFileData
{
@ -774,9 +773,9 @@ void sub_803E13C(void)
SetWindowBGColor();
if (gGameOptionsRef->playerGender != 0)
pal = gFontPalette[4].pal;
pal = &gFontPalette[16 * 4];
else
pal = gFontPalette[0].pal;
pal = &gFontPalette[0];
for (i = 0; i < 16; i++) {
SetBGPaletteBufferColorArray(240 + i, pal);

View File

@ -39,7 +39,6 @@ extern struct DungeonPalFile *gDungeonPaletteFile;
extern struct DungeonPalFile *gDungeonNameBannerPalette;
extern struct DungeonPalFile *gUnknown_202EC94;
extern RGB gUnknown_202ECA4[];
extern RGB gUnknown_202D058;
extern u8 gUnknown_203B40C;
extern MenuInputStruct gUnknown_202EE10;
extern SpriteOAM gUnknown_202EDDC;
@ -58,8 +57,6 @@ extern const u16 gUnknown_80F6544[][9];
extern u8 gUnknown_20274A5;
extern Palette32 gFontPalette[8];
extern s32 gUnknown_202EDCC;
extern void sub_8040A84();
@ -119,7 +116,7 @@ void sub_803E874(bool8 r10, s32 r9)
}
}
SetBGPaletteBufferColorRGB(248, &gUnknown_202D058, gDungeonBrightness, NULL);
SetBGPaletteBufferColorRGB(248, &gFontPalette[8], gDungeonBrightness, NULL);
color = ((struct DungeonPalFile*) gDungeon->paletFile)->unk4;
index = 256;
@ -176,7 +173,7 @@ void sub_803EA10(void)
index++;
}
SetBGPaletteBufferColorRGB(248, &gUnknown_202D058, gDungeonBrightness, NULL);
SetBGPaletteBufferColorRGB(248, &gFontPalette[8], gDungeonBrightness, NULL);
}
void sub_803EAF0(u32 a0, u8 *a1)
@ -858,13 +855,13 @@ void sub_803F38C(void)
palId = (gGameOptionsRef->playerGender != MALE) ? 4 : 0;
SetBGPaletteBufferColorArray(0xFD, &gFontPalette[palId].pal[13]);
SetBGPaletteBufferColorArray(0xFE, &gFontPalette[palId].pal[14]);
SetBGPaletteBufferColorArray(0xFF, &gFontPalette[palId].pal[15]);
SetBGPaletteBufferColorArray(0xFD, &gFontPalette[16 * palId + 13]);
SetBGPaletteBufferColorArray(0xFE, &gFontPalette[16 * palId + 14]);
SetBGPaletteBufferColorArray(0xFF, &gFontPalette[16 * palId + 15]);
nullsub_5(0xFD, &gFontPalette[palId].pal[13]);
nullsub_5(0xFE, &gFontPalette[palId].pal[14]);
nullsub_5(0xFF, &gFontPalette[palId].pal[15]);
nullsub_5(0xFD, &gFontPalette[16 * palId + 13]);
nullsub_5(0xFE, &gFontPalette[16 * palId + 14]);
nullsub_5(0xFF, &gFontPalette[16 * palId + 15]);
}
bool8 sub_803F428(DungeonPos *pos)
@ -1268,18 +1265,18 @@ void sub_803FB74(void)
if (strPtr->unk36 != r5) {
strPtr->unk36 = r5;
SetBGPaletteBufferColorArray(0xFC, &gFontPalette[0].pal[12 + r5]);
SetBGPaletteBufferColorArray(0xFD, &gFontPalette[0].pal[13 + r5]);
SetBGPaletteBufferColorArray(0xFE, &gFontPalette[0].pal[14 + r5]);
SetBGPaletteBufferColorArray(0xFF, &gFontPalette[0].pal[15 + r5]);
SetBGPaletteBufferColorArray(0xFC, &gFontPalette[12 + r5]);
SetBGPaletteBufferColorArray(0xFD, &gFontPalette[13 + r5]);
SetBGPaletteBufferColorArray(0xFE, &gFontPalette[14 + r5]);
SetBGPaletteBufferColorArray(0xFF, &gFontPalette[15 + r5]);
}
if (strPtr->unk38 != r6) {
strPtr->unk38 = r6;
nullsub_5(0xFC, &gFontPalette[0].pal[12 + r6]);
nullsub_5(0xFD, &gFontPalette[0].pal[13 + r6]);
nullsub_5(0xFE, &gFontPalette[0].pal[14 + r6]);
nullsub_5(0xFF, &gFontPalette[0].pal[15 + r6]);
nullsub_5(0xFC, &gFontPalette[12 + r6]);
nullsub_5(0xFD, &gFontPalette[13 + r6]);
nullsub_5(0xFE, &gFontPalette[14 + r6]);
nullsub_5(0xFF, &gFontPalette[15 + r6]);
}
arrPtr = gUnknown_202B038[0][0];

View File

@ -4,6 +4,7 @@
#include "structs/dungeon_entity.h"
#include "code_803E46C.h"
#include "code_803E724.h"
#include "code_8009804.h"
#include "string_format.h"
#include "code_800E9E4.h"
#include "menu_input.h"
@ -45,7 +46,6 @@ extern u32 gUnknown_202EDD0;
extern u8 gUnknown_203B40C;
extern u8 gUnknown_202EE01;
extern s32 gUnknown_202EDCC;
extern Palette32 gFontPalette[];
extern const u8 gUnknown_80F7AE8[];
extern const u8 gUnknown_80F7AF8[];
@ -746,7 +746,7 @@ void sub_8052FB8(const u8 *str)
if (r8 < 62) {
r8++;
for (j = 0; j < 8; j++) {
SetBGPaletteBufferColorRGB(240 + j, &gFontPalette[0].pal[j], r8 / 2, NULL);
SetBGPaletteBufferColorRGB(240 + j, &gFontPalette[j], r8 / 2, NULL);
}
}
else {
@ -777,7 +777,7 @@ void sub_8052FB8(const u8 *str)
while (r8 >= 0) {
for (j = 0; j < 8; j++) {
SetBGPaletteBufferColorRGB(240 + j, &gFontPalette[0].pal[j], r8 / 2, NULL);
SetBGPaletteBufferColorRGB(240 + j, &gFontPalette[j], r8 / 2, NULL);
}
DrawDialogueBoxString();
sub_803E46C(9);
@ -788,7 +788,7 @@ void sub_8052FB8(const u8 *str)
sub_803E46C(9);
sub_8040238();
for (j = 0; j < 8; j++) {
SetBGPaletteBufferColorArray(240 + j, &gFontPalette[0].pal[j]);
SetBGPaletteBufferColorArray(240 + j, &gFontPalette[j]);
}
sub_803E708(8, 9);
}

View File

@ -10,40 +10,7 @@
.include "src/sprite.o"
.include "src/code_800558C.o"
.include "src/text.o"
gFontPalette: /* 202D038 (sub_80097B0 - sub_8052FB8) */
.space 0x4
gUnknown_202D03C: /* 202D03C (sub_8040238) */
.space 0x1C
gUnknown_202D058: /* 202D058 (sub_803E250 - sub_803EA10) */
.space 0x10
gUnknown_202D068: /* 202D068 (sub_803FB74) */
.space 0x4
gUnknown_202D06C: /* 202D06C (sub_803F38C) */
.space 0xC
gFontPaletteAlt: /* 202D078 (sub_8099690) */
.space 0x20
gUnknown_202D098: /* 202D098 (xxx_format_string) */
.space 0x120
gUnknown_202D1B8: /* 202D1B8 (sub_8099690) */
.space 0x40
gUnknown_202D1F8: /* 202D1F8 (sub_8099690) */
.space 0x40
gUnknown_202D238: /* 202D238 (sub_80098A0 - sub_8009908) */
.space 0x4
gUnknown_202D23C: /* 202D23C (sub_80098A0 - sub_8009908) */
.space 0x4
gUnknown_202D240: /* 202D240 (sub_80098BC - sub_8009908) */
.space 0x60
gUnknown_202D2A0: /* 202D2A0 (sub_8009A1C - sub_8009BE4) */
.space 0x4
.include "src/code_8009804.o"
.include "src/file_system.o"
.include "src/decompress.o"
.include "src/main.o"