summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--arm9/modules/59/asm/mod59_021D74E0_asm.s208
-rw-r--r--arm9/modules/59/include/mod59_021D74E0.h6
-rw-r--r--arm9/modules/59/src/mod59_021D74E0_src.c88
-rw-r--r--arm9/src/font.c2
-rw-r--r--files/itemtool/itemdata/item_icon/.gitignore4
-rw-r--r--files/itemtool/itemdata/item_icon/narc_0176.NCGRbin560 -> 0 bytes
-rw-r--r--files/itemtool/itemdata/item_icon/narc_0176.pngbin0 -> 277 bytes
-rw-r--r--files/itemtool/itemdata/item_icon/narc_0177.NCLRbin552 -> 0 bytes
-rw-r--r--files/itemtool/itemdata/item_icon/narc_0178.NCGRbin560 -> 0 bytes
-rw-r--r--files/itemtool/itemdata/item_icon/narc_0178.pngbin0 -> 292 bytes
-rw-r--r--files/itemtool/itemdata/item_icon/narc_0179.NCLRbin552 -> 0 bytes
-rw-r--r--filesystem.mk6
-rw-r--r--graphics_rules.mk6
-rw-r--r--include/font.h2
14 files changed, 105 insertions, 217 deletions
diff --git a/arm9/modules/59/asm/mod59_021D74E0_asm.s b/arm9/modules/59/asm/mod59_021D74E0_asm.s
index 7cb6272f..d1e39e08 100644
--- a/arm9/modules/59/asm/mod59_021D74E0_asm.s
+++ b/arm9/modules/59/asm/mod59_021D74E0_asm.s
@@ -5,214 +5,6 @@
.extern MOD59_021D7730
- thumb_func_start MOD59_021D778C
-MOD59_021D778C: ; 0x021D778C
- push {r3, r4, r5, lr}
- sub sp, #0x78
- ldr r5, _021D7954 ; =0x021D9F18
- add r4, r0, #0
- add r3, sp, #0x50
- mov r2, #5
-_021D7798:
- ldmia r5!, {r0, r1}
- stmia r3!, {r0, r1}
- sub r2, r2, #1
- bne _021D7798
- add r0, sp, #0x50
- bl GX_SetBanks
- ldr r0, [r4]
- bl BgConfig_Alloc
- add r3, sp, #0x40
- ldr r5, _021D7958 ; =0x021D9DCC
- str r0, [r4, #0x18]
- add r2, r3, #0
- ldmia r5!, {r0, r1}
- stmia r3!, {r0, r1}
- ldmia r5!, {r0, r1}
- stmia r3!, {r0, r1}
- add r0, r2, #0
- bl SetBothScreensModesAndDisable
- ldr r5, _021D795C ; =0x021D9EA0
- add r3, sp, #0x24
- ldmia r5!, {r0, r1}
- add r2, r3, #0
- stmia r3!, {r0, r1}
- ldmia r5!, {r0, r1}
- stmia r3!, {r0, r1}
- ldmia r5!, {r0, r1}
- stmia r3!, {r0, r1}
- ldr r0, [r5]
- mov r1, #0
- str r0, [r3]
- mov r0, #0xf
- strb r0, [r2, #0x12]
- mov r0, #6
- strb r0, [r2, #0x13]
- ldr r0, [r4, #0x18]
- add r3, r1, #0
- bl InitBgFromTemplate
- ldr r0, [r4, #0x18]
- mov r1, #0
- bl BgClearTilemapBufferAndCommit
- mov r0, #0xe
- add r2, sp, #0x24
- strb r0, [r2, #0x12]
- mov r0, #5
- strb r0, [r2, #0x13]
- ldr r0, [r4, #0x18]
- mov r1, #1
- mov r3, #0
- bl InitBgFromTemplate
- ldr r0, [r4, #0x18]
- mov r1, #1
- bl BgClearTilemapBufferAndCommit
- mov r0, #0xd
- add r2, sp, #0x24
- strb r0, [r2, #0x12]
- mov r0, #4
- strb r0, [r2, #0x13]
- ldr r0, [r4, #0x18]
- mov r1, #2
- mov r3, #0
- bl InitBgFromTemplate
- ldr r0, [r4, #0x18]
- mov r1, #2
- bl BgClearTilemapBufferAndCommit
- mov r0, #0xc
- add r2, sp, #0x24
- strb r0, [r2, #0x12]
- mov r1, #3
- strb r1, [r2, #0x13]
- ldr r0, [r4, #0x18]
- mov r3, #0
- bl InitBgFromTemplate
- ldr r0, [r4, #0x18]
- mov r1, #3
- bl BgClearTilemapBufferAndCommit
- mov r1, #0
- str r1, [sp]
- ldr r0, [r4]
- ldr r2, _021D7960 ; =0x000003E2
- str r0, [sp, #4]
- ldr r0, [r4, #0x18]
- mov r3, #4
- bl FUN_0200CD68
- mov r1, #0
- str r1, [sp]
- ldr r0, [r4]
- ldr r2, _021D7964 ; =0x000003D9
- str r0, [sp, #4]
- ldr r0, [r4, #0x18]
- mov r3, #3
- bl FUN_0200CB00
- ldr r2, [r4]
- mov r0, #0
- mov r1, #0xa0
- bl FUN_02002ED0
- ldr r2, [r4]
- mov r0, #0
- mov r1, #0xc0
- bl FUN_02002EEC
- ldr r5, _021D7968 ; =0x021D9EBC
- add r3, sp, #8
- ldmia r5!, {r0, r1}
- add r2, r3, #0
- stmia r3!, {r0, r1}
- ldmia r5!, {r0, r1}
- stmia r3!, {r0, r1}
- ldmia r5!, {r0, r1}
- stmia r3!, {r0, r1}
- ldr r0, [r5]
- mov r1, #0xf
- str r0, [r3]
- add r0, sp, #8
- strb r1, [r0, #0x12]
- mov r1, #6
- strb r1, [r0, #0x13]
- ldr r0, [r4, #0x18]
- mov r1, #4
- mov r3, #0
- bl InitBgFromTemplate
- ldr r0, [r4, #0x18]
- mov r1, #4
- bl BgClearTilemapBufferAndCommit
- mov r1, #0xe
- add r0, sp, #8
- strb r1, [r0, #0x12]
- mov r1, #5
- strb r1, [r0, #0x13]
- ldr r0, [r4, #0x18]
- add r2, sp, #8
- mov r3, #0
- bl InitBgFromTemplate
- ldr r0, [r4, #0x18]
- mov r1, #5
- bl BgClearTilemapBufferAndCommit
- mov r1, #0xd
- add r0, sp, #8
- strb r1, [r0, #0x12]
- mov r1, #4
- strb r1, [r0, #0x13]
- ldr r0, [r4, #0x18]
- mov r1, #6
- add r2, sp, #8
- mov r3, #0
- bl InitBgFromTemplate
- ldr r0, [r4, #0x18]
- mov r1, #6
- bl BgClearTilemapBufferAndCommit
- mov r1, #0xc
- add r0, sp, #8
- strb r1, [r0, #0x12]
- mov r1, #3
- strb r1, [r0, #0x13]
- ldr r0, [r4, #0x18]
- mov r1, #7
- add r2, sp, #8
- mov r3, #0
- bl InitBgFromTemplate
- ldr r0, [r4, #0x18]
- mov r1, #7
- bl BgClearTilemapBufferAndCommit
- mov r0, #0
- add r1, r0, #0
- bl ToggleBgLayer
- mov r0, #1
- mov r1, #0
- bl ToggleBgLayer
- mov r0, #2
- mov r1, #0
- bl ToggleBgLayer
- mov r0, #3
- mov r1, #0
- bl ToggleBgLayer
- mov r0, #4
- mov r1, #0
- bl ToggleBgLayer
- mov r0, #5
- mov r1, #0
- bl ToggleBgLayer
- mov r0, #6
- mov r1, #0
- bl ToggleBgLayer
- mov r0, #7
- mov r1, #0
- bl ToggleBgLayer
- add r0, r4, #0
- bl MOD59_021D8058
- mov r0, #0
- str r0, [r4, #0x78]
- add sp, #0x78
- pop {r3, r4, r5, pc}
- .align 2, 0
-_021D7954: .word MOD59_021D9F18
-_021D7958: .word MOD59_021D9DCC
-_021D795C: .word MOD59_021D9EA0
-_021D7960: .word 0x000003E2
-_021D7964: .word 0x000003D9
-_021D7968: .word MOD59_021D9EBC
- thumb_func_end MOD59_021D778C
-
thumb_func_start MOD59_021D796C
MOD59_021D796C: ; 0x021D796C
push {r4, lr}
diff --git a/arm9/modules/59/include/mod59_021D74E0.h b/arm9/modules/59/include/mod59_021D74E0.h
index d6f52bba..0a594ad3 100644
--- a/arm9/modules/59/include/mod59_021D74E0.h
+++ b/arm9/modules/59/include/mod59_021D74E0.h
@@ -23,11 +23,12 @@ typedef struct MOD59_OverlayData
u32 Unk0C;
u32 Unk10;
struct UnkStruct_02006234 *Unk14;
- struct BgConfig *Unk18;
+ struct BgConfig *bgConfig;
u8 padding[0x54];
struct MOD59_UnkPlayerStruct *playerStruct;
struct MOD59_UnkPlayerStruct *rivalStruct;
- u8 padding2[0x10];
+ u32 Unk78;
+ u8 padding2[0xC];
u8 Unk88;
u8 Unk89;
u8 Unk8A;
@@ -42,5 +43,6 @@ BOOL MOD59_021D7564(struct UnkStruct_02006234 *param0, u32 *param1);
BOOL MOD59_021D76C0(struct UnkStruct_02006234 *param0);
void MOD59_021D7724(MOD59_OverlayData *data);
BOOL MOD59_021D7730(void);
+void MOD59_SetupBg(MOD59_OverlayData *data);
#endif //POKEDIAMOND_MOD59_021D74E0_H
diff --git a/arm9/modules/59/src/mod59_021D74E0_src.c b/arm9/modules/59/src/mod59_021D74E0_src.c
index e104cf4f..92880515 100644
--- a/arm9/modules/59/src/mod59_021D74E0_src.c
+++ b/arm9/modules/59/src/mod59_021D74E0_src.c
@@ -13,12 +13,18 @@ extern void *FUN_02077A84(u32 heap_id, u32 param1, u32 param2, u32 param3, struc
extern void FUN_0200E3A0(PMLCDTarget, int);
-extern void MOD59_021D778C(MOD59_OverlayData *data);
+//todo move with the other rodata
+extern struct GraphicsBanks MOD59_021D9F18;
+extern struct GraphicsModes MOD59_021D9DCC;
+extern struct BgTemplate MOD59_021D9EA0;
+extern struct BgTemplate MOD59_021D9EBC;
+
extern void MOD59_021D79F8(MOD59_OverlayData *data);
extern void MOD59_021D7A34(MOD59_OverlayData *data);
extern void MOD59_021D796C(MOD59_OverlayData *data);
extern void MOD59_021D7A4C(MOD59_OverlayData *data);
extern void MOD59_021D7A5C(MOD59_OverlayData *data);
+extern void MOD59_021D8058(MOD59_OverlayData *data);
extern u32 MOD59_021D8920(MOD59_OverlayData *data);
extern void FUN_0200E1D0(u32 param0, u32 param1, u32 param2, u32 param3, u32 param4, u32 param5, u32 heap_id);
@@ -26,13 +32,17 @@ extern u32 FUN_0200E308(void);
extern void FUN_02077AC4(void *param0);
+extern void FUN_0200CD68(struct BgConfig *param0, u32 param1, u32 param2, u32 param3, u8 frame_id, u32 heap_id);
+
+extern void FUN_0200CB00(struct BgConfig *param0, u32 param1, u32 param2, u32 param3, u8 frame_id, u32 heap_id);
+
FS_EXTERN_OVERLAY(MODULE_52);
THUMB_FUNC BOOL MOD59_Init(struct UnkStruct_02006234 *param0)
{
CreateHeap(3, 0x52, 1 << 18);
MOD59_OverlayData *data = (MOD59_OverlayData *) OverlayManager_CreateAndGetData(param0, sizeof(MOD59_OverlayData), 0x52);
- (void)memset((void *)data, 0, 0xb4);
+ (void)memset((void *)data, 0, sizeof(MOD59_OverlayData));
data->heap_id = 0x52;
s32 *field18 = OverlayManager_GetField18(param0);
@@ -72,7 +82,7 @@ THUMB_FUNC BOOL MOD59_021D7564(struct UnkStruct_02006234 *param0, u32 *param1)
SetKeyRepeatTimers(4, 8);
- MOD59_021D778C(data);
+ MOD59_SetupBg(data);
MOD59_021D79F8(data);
MOD59_021D7A4C(data);
@@ -177,7 +187,7 @@ THUMB_FUNC BOOL MOD59_021D76C0(struct UnkStruct_02006234 *param0)
THUMB_FUNC void MOD59_021D7724(MOD59_OverlayData *data)
{
- DoScheduledBgGpuUpdates(data->Unk18);
+ DoScheduledBgGpuUpdates(data->bgConfig);
}
THUMB_FUNC BOOL MOD59_021D7730(void)
@@ -200,3 +210,73 @@ THUMB_FUNC BOOL MOD59_021D7730(void)
return ret;
}
+
+THUMB_FUNC void MOD59_SetupBg(MOD59_OverlayData *data)
+{
+ struct GraphicsBanks graphicsBanks = MOD59_021D9F18;
+ GX_SetBanks(&graphicsBanks);
+ data->bgConfig = BgConfig_Alloc(data->heap_id);
+
+ struct GraphicsModes graphicsModes = MOD59_021D9DCC;
+ SetBothScreensModesAndDisable(&graphicsModes);
+
+ struct BgTemplate bgTemplateMain = MOD59_021D9EA0;
+ bgTemplateMain.screenBase = 15;
+ bgTemplateMain.charBase = 6;
+ InitBgFromTemplate(data->bgConfig, GF_BG_LYR_MAIN_0, &bgTemplateMain, 0);
+ BgClearTilemapBufferAndCommit(data->bgConfig, GF_BG_LYR_MAIN_0);
+
+ bgTemplateMain.screenBase = 14;
+ bgTemplateMain.charBase = 5;
+ InitBgFromTemplate(data->bgConfig, GF_BG_LYR_MAIN_1, &bgTemplateMain, 0);
+ BgClearTilemapBufferAndCommit(data->bgConfig, GF_BG_LYR_MAIN_1);
+
+ bgTemplateMain.screenBase = 13;
+ bgTemplateMain.charBase = 4;
+ InitBgFromTemplate(data->bgConfig, GF_BG_LYR_MAIN_2, &bgTemplateMain, 0);
+ BgClearTilemapBufferAndCommit(data->bgConfig, GF_BG_LYR_MAIN_2);
+
+ bgTemplateMain.screenBase = 12;
+ bgTemplateMain.charBase = 3;
+ InitBgFromTemplate(data->bgConfig, GF_BG_LYR_MAIN_3, &bgTemplateMain, 0);
+ BgClearTilemapBufferAndCommit(data->bgConfig, GF_BG_LYR_MAIN_3);
+
+ FUN_0200CD68(data->bgConfig, 0, 994, 4, 0, data->heap_id);
+ FUN_0200CB00(data->bgConfig, 0, 985, 3, 0, data->heap_id);
+ FUN_02002ED0(GF_BG_LYR_MAIN_0, 160, data->heap_id);
+ FUN_02002EEC(GF_BG_LYR_MAIN_0, 192, data->heap_id);
+
+ struct BgTemplate bgTemplateSub = MOD59_021D9EBC;
+ bgTemplateSub.screenBase = 15;
+ bgTemplateSub.charBase = 6;
+ InitBgFromTemplate(data->bgConfig, GF_BG_LYR_SUB_0, &bgTemplateSub, 0);
+ BgClearTilemapBufferAndCommit(data->bgConfig, GF_BG_LYR_SUB_0);
+
+ bgTemplateSub.screenBase = 14;
+ bgTemplateSub.charBase = 5;
+ InitBgFromTemplate(data->bgConfig, GF_BG_LYR_SUB_1, &bgTemplateSub, 0);
+ BgClearTilemapBufferAndCommit(data->bgConfig, GF_BG_LYR_SUB_1);
+
+ bgTemplateSub.screenBase = 13;
+ bgTemplateSub.charBase = 4;
+ InitBgFromTemplate(data->bgConfig, GF_BG_LYR_SUB_2, &bgTemplateSub, 0);
+ BgClearTilemapBufferAndCommit(data->bgConfig, GF_BG_LYR_SUB_2);
+
+ bgTemplateSub.screenBase = 12;
+ bgTemplateSub.charBase = 3;
+ InitBgFromTemplate(data->bgConfig, GF_BG_LYR_SUB_3, &bgTemplateSub, 0);
+ BgClearTilemapBufferAndCommit(data->bgConfig, GF_BG_LYR_SUB_3);
+
+ ToggleBgLayer(GF_BG_LYR_MAIN_0, GX_LAYER_TOGGLE_OFF);
+ ToggleBgLayer(GF_BG_LYR_MAIN_1, GX_LAYER_TOGGLE_OFF);
+ ToggleBgLayer(GF_BG_LYR_MAIN_2, GX_LAYER_TOGGLE_OFF);
+ ToggleBgLayer(GF_BG_LYR_MAIN_3, GX_LAYER_TOGGLE_OFF);
+
+ ToggleBgLayer(GF_BG_LYR_SUB_0, GX_LAYER_TOGGLE_OFF);
+ ToggleBgLayer(GF_BG_LYR_SUB_1, GX_LAYER_TOGGLE_OFF);
+ ToggleBgLayer(GF_BG_LYR_SUB_2, GX_LAYER_TOGGLE_OFF);
+ ToggleBgLayer(GF_BG_LYR_SUB_3, GX_LAYER_TOGGLE_OFF);
+
+ MOD59_021D8058(data);
+ data->Unk78 = 0;
+}
diff --git a/arm9/src/font.c b/arm9/src/font.c
index 5e46b237..537a7337 100644
--- a/arm9/src/font.c
+++ b/arm9/src/font.c
@@ -169,7 +169,7 @@ THUMB_FUNC void FUN_02002ED0(enum GFBgLayer layer, u32 baseAddr, u32 heap_id)
NARC_GRAPHIC_FONT, NARC_font_narc_0006_NCLR, layer, baseAddr, 0x20, heap_id);
}
-THUMB_FUNC void FUN_02002EEC(u32 layer, u32 baseAddr, u32 heap_id)
+THUMB_FUNC void FUN_02002EEC(enum GFBgLayer layer, u32 baseAddr, u32 heap_id)
{
GfGfxLoader_GXLoadPal(
NARC_GRAPHIC_FONT, NARC_font_narc_0007_NCLR, layer, baseAddr, 0x20, heap_id);
diff --git a/files/itemtool/itemdata/item_icon/.gitignore b/files/itemtool/itemdata/item_icon/.gitignore
index 6710dbd1..44e4e13d 100644
--- a/files/itemtool/itemdata/item_icon/.gitignore
+++ b/files/itemtool/itemdata/item_icon/.gitignore
@@ -172,3 +172,7 @@ narc_0172.NCGR
narc_0172.NCLR
narc_0174.NCGR
narc_0174.NCLR
+narc_0176.NCGR
+narc_0176.NCLR
+narc_0178.NCGR
+narc_0178.NCLR
diff --git a/files/itemtool/itemdata/item_icon/narc_0176.NCGR b/files/itemtool/itemdata/item_icon/narc_0176.NCGR
deleted file mode 100644
index a3e9ccc7..00000000
--- a/files/itemtool/itemdata/item_icon/narc_0176.NCGR
+++ /dev/null
Binary files differ
diff --git a/files/itemtool/itemdata/item_icon/narc_0176.png b/files/itemtool/itemdata/item_icon/narc_0176.png
new file mode 100644
index 00000000..639d3cce
--- /dev/null
+++ b/files/itemtool/itemdata/item_icon/narc_0176.png
Binary files differ
diff --git a/files/itemtool/itemdata/item_icon/narc_0177.NCLR b/files/itemtool/itemdata/item_icon/narc_0177.NCLR
deleted file mode 100644
index c732a021..00000000
--- a/files/itemtool/itemdata/item_icon/narc_0177.NCLR
+++ /dev/null
Binary files differ
diff --git a/files/itemtool/itemdata/item_icon/narc_0178.NCGR b/files/itemtool/itemdata/item_icon/narc_0178.NCGR
deleted file mode 100644
index 8e933bc2..00000000
--- a/files/itemtool/itemdata/item_icon/narc_0178.NCGR
+++ /dev/null
Binary files differ
diff --git a/files/itemtool/itemdata/item_icon/narc_0178.png b/files/itemtool/itemdata/item_icon/narc_0178.png
new file mode 100644
index 00000000..35073906
--- /dev/null
+++ b/files/itemtool/itemdata/item_icon/narc_0178.png
Binary files differ
diff --git a/files/itemtool/itemdata/item_icon/narc_0179.NCLR b/files/itemtool/itemdata/item_icon/narc_0179.NCLR
deleted file mode 100644
index acb93512..00000000
--- a/files/itemtool/itemdata/item_icon/narc_0179.NCLR
+++ /dev/null
Binary files differ
diff --git a/filesystem.mk b/filesystem.mk
index c0cd6ac5..e3f1f318 100644
--- a/filesystem.mk
+++ b/filesystem.mk
@@ -1756,7 +1756,11 @@ files/itemtool/itemdata/item_icon.narc: \
files/itemtool/itemdata/item_icon/narc_0172.NCGR \
files/itemtool/itemdata/item_icon/narc_0172.NCLR \
files/itemtool/itemdata/item_icon/narc_0174.NCGR \
- files/itemtool/itemdata/item_icon/narc_0174.NCLR
+ files/itemtool/itemdata/item_icon/narc_0174.NCLR \
+ files/itemtool/itemdata/item_icon/narc_0176.NCGR \
+ files/itemtool/itemdata/item_icon/narc_0176.NCLR \
+ files/itemtool/itemdata/item_icon/narc_0178.NCGR \
+ files/itemtool/itemdata/item_icon/narc_0178.NCLR
files/application/custom_ball/data/cb_data.narc: \
diff --git a/graphics_rules.mk b/graphics_rules.mk
index 80f178f0..5bad9e5e 100644
--- a/graphics_rules.mk
+++ b/graphics_rules.mk
@@ -81,6 +81,8 @@ CLOBBER_SIZE_VERSION101_NCGR_FILES := files/graphic/bag_gra/narc_0002.NCGR \
files/itemtool/itemdata/item_icon/narc_0170.NCGR \
files/itemtool/itemdata/item_icon/narc_0172.NCGR \
files/itemtool/itemdata/item_icon/narc_0174.NCGR \
+ files/itemtool/itemdata/item_icon/narc_0176.NCGR \
+ files/itemtool/itemdata/item_icon/narc_0178.NCGR \
files/poketool/icongra/poke_icon/narc_0007.NCGR \
files/poketool/icongra/poke_icon/narc_0008.NCGR \
files/poketool/icongra/poke_icon/narc_0009.NCGR \
@@ -628,6 +630,8 @@ NCGR_CLEAN_LIST := files/application/wifi_earth/wifi_earth/narc_0005.NCGR \
files/itemtool/itemdata/item_icon/narc_0170.NCGR \
files/itemtool/itemdata/item_icon/narc_0172.NCGR \
files/itemtool/itemdata/item_icon/narc_0174.NCGR \
+ files/itemtool/itemdata/item_icon/narc_0176.NCGR \
+ files/itemtool/itemdata/item_icon/narc_0178.NCGR \
files/poketool/icongra/poke_icon/narc_0007.NCGR \
files/poketool/icongra/poke_icon/narc_0008.NCGR \
files/poketool/icongra/poke_icon/narc_0009.NCGR \
@@ -920,6 +924,8 @@ NCLR_CLEAN_LIST := files/application/wifi_earth/wifi_earth/narc_0006.NCLR \
files/itemtool/itemdata/item_icon/narc_0170.NCLR \
files/itemtool/itemdata/item_icon/narc_0172.NCLR \
files/itemtool/itemdata/item_icon/narc_0174.NCLR \
+ files/itemtool/itemdata/item_icon/narc_0176.NCLR \
+ files/itemtool/itemdata/item_icon/narc_0178.NCLR \
files/poketool/icongra/poke_icon/narc_0000.NCLR \
files/poketool/pokegra/pokegra/narc_0010.NCLR \
files/poketool/pokegra/pokegra/narc_0011.NCLR \
diff --git a/include/font.h b/include/font.h
index 3c0f4267..8b16b9c7 100644
--- a/include/font.h
+++ b/include/font.h
@@ -31,7 +31,7 @@ u32 FUN_02002DE0(u32 param0, u16 *str, u32 param2);
u32 FUN_02002E14(u32 param0, struct String *str, u32 param2);
s32 GetFontAttribute(u8 fontId, s32 attr);
void FUN_02002ED0(enum GFBgLayer layer, u32 baseAddr, u32 heap_id);
-void FUN_02002EEC(u32 layer, u32 baseAddr, u32 heap_id);
+void FUN_02002EEC(enum GFBgLayer layer, u32 baseAddr, u32 heap_id);
s32 FUN_02002F08(u32 param0, struct String *str, u32 param2);
u32 FUN_02002F40(u32 param0, struct String *str, u32 param2, u32 param3);
u32 FUN_02002F58(const u16 *str);