From aa59b6ff69870acc436a243d0574d4768d209dc7 Mon Sep 17 00:00:00 2001 From: Alejandro Asenjo Nitti <96613413+sonicdcer@users.noreply.github.com> Date: Thu, 30 Nov 2023 19:35:40 -0300 Subject: [PATCH] fox_option functions (#39) * func_EBFBE0_80195B74 * func_EBFBE0_80196894 * func_EBFBE0_8019896C * fix * func_EBFBE0_80194CE4 * func_EBFBE0_801952B4 * RCP_SetupDL * format * move data around * space --- Makefile | 10 +- include/PR/os.h | 2 +- include/fox_option.h | 10 +- include/functions.h | 1 + include/gfx.h | 2 +- include/structs.h | 2 +- include/variables.h | 25 + linker_scripts/us/symbol_addrs_engine.txt | 1 + src/main/fox_A24B0.c | 4 +- src/main/fox_edisplay.c | 68 +-- src/main/fox_radio.c | 8 +- src/main/fox_rcp.c | 2 +- src/main/sf_hud.c | 72 +-- src/overlays/ovl_EBFBE0/fox_option.c | 630 +++++++++++++++++++++- src/overlays/ovl_EBFBE0/fox_title.c | 54 +- 15 files changed, 756 insertions(+), 135 deletions(-) diff --git a/Makefile b/Makefile index 183f74e4..14e69eb5 100644 --- a/Makefile +++ b/Makefile @@ -238,14 +238,16 @@ init: uncompressed: $(ROM) ifneq ($(COMPARE),0) - @$(MAKE) fix_checksum + @echo "Calculating Rom Header Checksum..." + @$(PYTHON) $(COMPTOOL) -r $(ROM) . @md5sum $(ROM) @md5sum -c $(TARGET).$(VERSION).uncompressed.md5 endif compressed: $(ROMC) ifeq ($(COMPARE),1) - @$(MAKE) fix_checksum + @echo "Calculating Rom Header Checksum..." + @$(PYTHON) $(COMPTOOL) -r $(ROMC) . @md5sum $(ROMC) @md5sum -c $(TARGET).$(VERSION).md5 endif @@ -256,10 +258,6 @@ decompress: $(BASEROM) @echo "Decompressing ROM..." @$(PYTHON) $(COMPTOOL) -de $(COMPTOOL_DIR) -m $(MIO0) $(BASEROM) $(BASEROM_UNCOMPRESSED) -fix_checksum: $(ROM) - @echo "Calculating Rom Header Checksum..." - @$(PYTHON) $(COMPTOOL) -r $(ROM) . - extract: @$(RM) -r asm/$(VERSION) bin/$(VERSION) @echo "Unifying yamls..." diff --git a/include/PR/os.h b/include/PR/os.h index bf0ccdfb..9af45371 100644 --- a/include/PR/os.h +++ b/include/PR/os.h @@ -243,7 +243,7 @@ typedef struct { u16 type; /* Controller Type */ u8 status; /* Controller status */ u8 errno; -}OSContStatus; +} OSContStatus; typedef struct { u16 button; diff --git a/include/fox_option.h b/include/fox_option.h index f6f5a7d3..c0ef3b3d 100644 --- a/include/fox_option.h +++ b/include/fox_option.h @@ -68,7 +68,10 @@ extern MenuContext D_EBFBE0_801AE878[]; extern u8 D_EBFBE0_801AE998[]; extern u8 D_EBFBE0_801AE99C[]; -extern MenuContext_00 D_EBFBE0_801AEB48[]; + +extern Gfx D_EBFBE0_801AEC30[]; +extern Gfx D_EBFBE0_801AEC88[]; +extern Gfx D_EBFBE0_801AECE0[]; extern u8* D_EBFBE0_801AECF8[]; @@ -245,9 +248,10 @@ void func_EBFBE0_801948A8(void); void func_EBFBE0_80194AEC(void); void func_EBFBE0_80194BD0(void); void func_EBFBE0_80194CE4(void); -void func_EBFBE0_80195B74(void); +void func_EBFBE0_801952B4(void); void func_EBFBE0_801958DC(void); void func_EBFBE0_80195944(void); +void func_EBFBE0_80195B74(void); void func_EBFBE0_80196260(void); void func_EBFBE0_801962A4(void); void func_EBFBE0_8019669C(void); @@ -271,6 +275,7 @@ void func_EBFBE0_801984D0(s32, s32, f32, f32); void func_EBFBE0_80198608(s32, s32, f32, f32); void func_EBFBE0_8019882C(s32, s32, f32, f32); void func_EBFBE0_8019896C(s32, f32, s32); +void func_EBFBE0_80199198(f32 arg0, f32 arg1, f32 arg2); s32 func_EBFBE0_80199284(s32 arg0, s32 arg1); void func_EBFBE0_801992C4(void); void func_EBFBE0_80199424(void); @@ -286,6 +291,7 @@ void func_EBFBE0_8019A6DC(void); void func_EBFBE0_8019A954(void); void func_EBFBE0_8019AAB4(void); void func_EBFBE0_8019B5AC(void); +void func_EBFBE0_8019B7D4(void); void func_EBFBE0_8019B8C8(void); void func_EBFBE0_8019B9C0(void); void func_EBFBE0_8019BDF0(void); diff --git a/include/functions.h b/include/functions.h index 65239e64..2afe9dcb 100644 --- a/include/functions.h +++ b/include/functions.h @@ -67,6 +67,7 @@ void Fault_ThreadEntry(void*); void func_80007FE4(FrameBuffer*, u16, u16); void Fault_Init(void); +u8* func_8001C3EC(void); void func_80016A50(void); void func_800182F4(s32); void func_80019218(u32, Vec3f*, u8, f32*, f32*, s8*); diff --git a/include/gfx.h b/include/gfx.h index f75aa8fd..68a2a34b 100644 --- a/include/gfx.h +++ b/include/gfx.h @@ -196,7 +196,7 @@ s32 Graphics_GetSmallTextWidth(char *text); void func_800A1540(s32 arg0, s32 arg1, s32 arg2, s32 arg3); void func_800A1558(f32 weight, u16 size, void *src1, void *src2, void *dst); -void func_800B8DD0(Gfx** gfxP, s16 i); +void RCP_SetupDL(Gfx** gfxP, s16 i); void func_800B8E14(Gfx** gfxP, s32 r, s32 g, s32 b, s32 a, s32 near, s32 far); void func_800B8F18(void); void func_800B8F48(void); diff --git a/include/structs.h b/include/structs.h index 2de13751..af8f8c21 100644 --- a/include/structs.h +++ b/include/structs.h @@ -54,7 +54,7 @@ typedef struct{ /* 0x18 */ u8 unk_18[10][3]; /* 0x36 */ u8 unk_36[10]; /* 0x40 */ s8 unk_40[10]; - /* 0x4A */ char pad4A[0x14]; + /* 0x4A */ u16 unk_4A[10]; /* 0x5E */ Save_SubStruct_5E unk_5E[10][7]; /* 0xEA */ u8 unk_EA; /* 0xEB */ char padEB[0x3]; diff --git a/include/variables.h b/include/variables.h index 14f5354b..834d7fd3 100644 --- a/include/variables.h +++ b/include/variables.h @@ -12,7 +12,22 @@ extern u8 gF3dexData; extern u8 D_8003B50[]; extern u8 D_80046B0[]; extern u8 D_8004C50[]; + extern s32 sGammaMode; + +extern u8 D_80079F0[]; +extern u8 D_80084B0[]; +extern u8 D_8008A30[]; +extern u8 D_8008DA0[]; +extern u8 D_80098E0[]; +extern u8 D_8009980[]; +extern u8 D_8009B00[]; +extern u8 D_8009CE0[]; +extern u8 D_800B5E0[]; +extern u8 D_800B680[]; +extern u8 D_800C640[]; +extern u8 D_800E130[]; + extern f32 D_800C45E0[]; extern Mtx gIdentityMtx; // 800C4620 @@ -757,6 +772,7 @@ extern u16 D_60245E0[]; extern u16 D_6025500[]; extern u16 D_6026420[]; extern u16 D_6027340[]; +extern Gfx D_605C230[]; extern Gfx D_7007350[]; extern Gfx D_700BB10[]; @@ -770,6 +786,15 @@ extern u8 D_8003A70[]; extern u8 D_8003AB8[]; extern u8 D_8003AE0[]; extern u8 D_8003B28[]; +extern u8 D_8005CD0[]; +extern u8 D_8006280[]; +extern u8 D_80064F0[]; +extern u8 D_80069C0[]; +extern u8 D_8006D10[]; +extern u8 D_8006E50[]; +extern u8 D_8007210[]; +extern u8 D_80076E0[]; +extern u8 D_800CD90[]; extern u8 D_800D070[]; extern u8 D_800D170[]; diff --git a/linker_scripts/us/symbol_addrs_engine.txt b/linker_scripts/us/symbol_addrs_engine.txt index b56a8f67..127dc794 100644 --- a/linker_scripts/us/symbol_addrs_engine.txt +++ b/linker_scripts/us/symbol_addrs_engine.txt @@ -44,6 +44,7 @@ Graphics_DisplaySmallText = 0x800A1200; Graphics_GetSmallTextWidth = 0x800A13EC; func_800A1540 = 0x800A1540; func_800A1558 = 0x800A1558; +RCP_SetupDL = 0x800B8DD0; gTextCharTextures = 0x80179010; gMsgLookup = 0x80185CBC; diff --git a/src/main/fox_A24B0.c b/src/main/fox_A24B0.c index b0e71ba6..88794390 100644 --- a/src/main/fox_A24B0.c +++ b/src/main/fox_A24B0.c @@ -308,7 +308,7 @@ void func_800A26C0(void) { } break; case 0x66: - func_800B8DD0(&gMasterDisp, 0x4C); + RCP_SetupDL(&gMasterDisp, 0x4C); gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 255, 255, 255, 255); TextureRect_8bIA(&gMasterDisp, D_F000000, 128, 16, 100.0f, 86.0f, 1.0f, 1.0f); TextureRect_8bIA(&gMasterDisp, D_F000800, 128, 16, 100.0f, 102.0f, 1.0f, 1.0f); @@ -325,7 +325,7 @@ void func_800A26C0(void) { D_80177834++; Timer_CreateTask(MSEC_TO_CYCLES(1000), Timer_Increment, &D_80177834, 1); case 0x68: - func_800B8DD0(&gMasterDisp, 0x4C); + RCP_SetupDL(&gMasterDisp, 0x4C); gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 255, 255, 255, 255); TextureRect_8bIA(&gMasterDisp, D_F000000, 128, 16, 100.0f, 86.0f, 1.0f, 1.0f); TextureRect_8bIA(&gMasterDisp, D_F000800, 128, 16, 100.0f, 102.0f, 1.0f, 1.0f); diff --git a/src/main/fox_edisplay.c b/src/main/fox_edisplay.c index f22ac640..6bac63c4 100644 --- a/src/main/fox_edisplay.c +++ b/src/main/fox_edisplay.c @@ -23,7 +23,7 @@ void func_8005980C(f32 arg0) { } void func_80059850(Object_4C* arg0) { - func_800B8DD0(&gMasterDisp, 0x40); + RCP_SetupDL(&gMasterDisp, 0x40); gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 255, 255, 255, 60); func_800B9B38(D_80178320, D_80178328, D_80178330, D_80178338, D_801783D8, D_801783DC); } @@ -266,26 +266,26 @@ void func_8005A094(Object_2F4* arg0) { case 0: break; case 1: - func_800B8DD0(&gMasterDisp, 0x3D); + RCP_SetupDL(&gMasterDisp, 0x3D); gSPClearGeometryMode(gMasterDisp++, G_CULL_BACK); break; case 2: - func_800B8DD0(&gMasterDisp, 0x39); + RCP_SetupDL(&gMasterDisp, 0x39); gSPClearGeometryMode(gMasterDisp++, G_CULL_BACK); break; case 3: - func_800B8DD0(&gMasterDisp, 0x21); + RCP_SetupDL(&gMasterDisp, 0x21); break; } if (D_80178234 != 7) { gSPDisplayList(gMasterDisp++, D_E6A810_801B769C[arg0->unk_046]); } else { if (D_8016F110[0].unk_0E4 < 4800.0f) { - func_800B8DD0(&gMasterDisp, 0x1E); + RCP_SetupDL(&gMasterDisp, 0x1E); gDPSetFogColor(gMasterDisp++, 0x40, 0x20, 0x20, D_80178338); gSPFogPosition(gMasterDisp++, D_801783D8, D_801783DC); } else { - func_800B8DD0(&gMasterDisp, 0x1E); + RCP_SetupDL(&gMasterDisp, 0x1E); gDPSetFogColor(gMasterDisp++, 0x10, 0x10, 0x10, D_80178338); gSPFogPosition(gMasterDisp++, D_801783D8, D_801783DC); } @@ -314,7 +314,7 @@ void func_8005A094(Object_2F4* arg0) { break; case 0x2E: if ((arg0->unk_048 == 2) || (arg0->unk_048 == 3) || (arg0->unk_048 == 4)) { - func_800B8DD0(&gMasterDisp, 0x21); + RCP_SetupDL(&gMasterDisp, 0x21); } gSPClearGeometryMode(gMasterDisp++, G_CULL_BACK); gSPDisplayList(gMasterDisp++, D_E6A810_801B7584[arg0->unk_048]); @@ -333,10 +333,10 @@ void func_8005A094(Object_2F4* arg0) { case 0x32: func_8005980C(0.7f); if (arg0->unk_054 == 1) { - func_800B8DD0(&gMasterDisp, 0x1E); + RCP_SetupDL(&gMasterDisp, 0x1E); gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 255, 0, 0, 255); } else if (arg0->unk_054 == 2) { - func_800B8DD0(&gMasterDisp, 0x1E); + RCP_SetupDL(&gMasterDisp, 0x1E); gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 255, 0, 0, 255); func_8005980C(0.7f); } @@ -355,7 +355,7 @@ void func_8005A094(Object_2F4* arg0) { break; } if (arg0->unk_054 != 0) { - func_800B8DD0(&gMasterDisp, 0x1D); + RCP_SetupDL(&gMasterDisp, 0x1D); func_8005980C(0.7f); } break; @@ -381,7 +381,7 @@ void func_8005A094(Object_2F4* arg0) { break; case 0x38: func_8005980C(arg0->unk_110); - func_800B8DD0(&gMasterDisp, 0x29); + RCP_SetupDL(&gMasterDisp, 0x29); Matrix_SetGfxMtx(&gMasterDisp); gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 191, 255, 223, 255); gSPDisplayList(gMasterDisp++, D_800CFC64[arg0->unk_048]); @@ -619,7 +619,7 @@ void func_8005BAB4(s32 arg0, s32 arg1) { Matrix_SetGfxMtx(&gMasterDisp); gSPDisplayList(gMasterDisp++, D_102A8A0); } - func_800B8DD0(&gMasterDisp, 0x40); + RCP_SetupDL(&gMasterDisp, 0x40); break; case 0xC3: case 0xC6: @@ -632,7 +632,7 @@ void func_8005BAB4(s32 arg0, s32 arg1) { gSPDisplayList(gMasterDisp++, D_102A010); break; case 0x51: - func_800B8DD0(&gMasterDisp, 0x30); + RCP_SetupDL(&gMasterDisp, 0x30); gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 0, 0, 0, 255); gDPSetEnvColor(gMasterDisp++, 0, 0, 0, 255); temp_fv0 = D_80163FE0[arg1].unk_150 * 3.0f; @@ -658,7 +658,7 @@ void func_8005BAB4(s32 arg0, s32 arg1) { break; case 0x13C: if (D_80178280[0].unk_1C8 == 0) { - func_800B8DD0(&gMasterDisp, 0x40); + RCP_SetupDL(&gMasterDisp, 0x40); gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 0, 0, 0, 200); } Matrix_RotateX(gGfxMatrix, M_PI / 2.0f, 1); @@ -696,7 +696,7 @@ void func_8005BAB4(s32 arg0, s32 arg1) { break; case 0xE6: func_800BA550(); - func_800B8DD0(&gMasterDisp, 0x45); + RCP_SetupDL(&gMasterDisp, 0x45); gSPSetGeometryMode(gMasterDisp++, G_CULL_BACK); gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 0, 0, 0, 255); gDPSetEnvColor(gMasterDisp++, 0, 0, 0, 0); @@ -708,7 +708,7 @@ void func_8005BAB4(s32 arg0, s32 arg1) { gSPDisplayList(gMasterDisp++, D_1024AC0); break; case 0xE5: - func_800B8DD0(&gMasterDisp, 0x44); + RCP_SetupDL(&gMasterDisp, 0x44); gSPSetGeometryMode(gMasterDisp++, G_CULL_BACK); gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 0, 0, 0, 255); gDPSetEnvColor(gMasterDisp++, 0, 0, 0, 0); @@ -722,7 +722,7 @@ void func_8005BAB4(s32 arg0, s32 arg1) { gSPDisplayList(gMasterDisp++, D_1024AC0); break; case 0xE7: - func_800B8DD0(&gMasterDisp, 0x45); + RCP_SetupDL(&gMasterDisp, 0x45); gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 0, 0, 0, 255); gDPSetEnvColor(gMasterDisp++, 0, 0, 0, 0); Matrix_RotateX(gGfxMatrix, D_80163FE0[arg1].unk_118, 1); @@ -752,7 +752,7 @@ void func_8005C5F0(Object_6C* arg0) { if ((D_80177DB0 & 0x18) && (arg0->unk_46 == 0)) { Matrix_Push(&gGfxMatrix); - func_800B8DD0(&gMasterDisp, 0x40); + RCP_SetupDL(&gMasterDisp, 0x40); gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 255, 255, 0, 255); Matrix_Scale(gGfxMatrix, 3.2f, 3.2f, 3.2f, 1); Matrix_SetGfxMtx(&gMasterDisp); @@ -761,7 +761,7 @@ void func_8005C5F0(Object_6C* arg0) { gDPSetTextureFilter(gMasterDisp++, G_TF_BILERP); Matrix_Pop(&gGfxMatrix); } - func_800B8DD0(&gMasterDisp, 0x1D); + RCP_SetupDL(&gMasterDisp, 0x1D); gSPTexture(gMasterDisp++, 2000, 2000, 0, G_TX_RENDERTILE, G_ON); gSPSetGeometryMode(gMasterDisp++, G_TEXTURE_GEN); Matrix_RotateZ(gGfxMatrix, arg0->unk_58 * M_DTOR, 1); @@ -779,7 +779,7 @@ void func_8005C5F0(Object_6C* arg0) { } void func_8005C900(Object_6C* arg0) { - func_800B8DD0(&gMasterDisp, 0x1D); + RCP_SetupDL(&gMasterDisp, 0x1D); gSPTexture(gMasterDisp++, 3000, 0, 0, G_TX_RENDERTILE, G_ON); gSPSetGeometryMode(gMasterDisp++, G_TEXTURE_GEN | G_TEXTURE_GEN_LINEAR); func_8005980C(arg0->unk_68); @@ -788,7 +788,7 @@ void func_8005C900(Object_6C* arg0) { } void func_8005C9C0(Object_6C* arg0) { - func_800B8DD0(&gMasterDisp, 0x1D); + RCP_SetupDL(&gMasterDisp, 0x1D); gSPTexture(gMasterDisp++, 3000, 0, 0, G_TX_RENDERTILE, G_ON); gSPSetGeometryMode(gMasterDisp++, G_TEXTURE_GEN | G_TEXTURE_GEN_LINEAR); func_8005980C(arg0->unk_68); @@ -797,7 +797,7 @@ void func_8005C9C0(Object_6C* arg0) { } void func_8005CA80(Object_6C* arg0) { - func_800B8DD0(&gMasterDisp, 0x1D); + RCP_SetupDL(&gMasterDisp, 0x1D); gSPTexture(gMasterDisp++, 1900, 1700, 0, G_TX_RENDERTILE, G_ON); gSPSetGeometryMode(gMasterDisp++, G_TEXTURE_GEN | G_TEXTURE_GEN_LINEAR); func_8005980C(arg0->unk_68); @@ -811,12 +811,12 @@ void func_8005CB44(Object_6C* arg0) { gSPDisplayList(gMasterDisp++, D_3005980); } else { func_8005980C(arg0->unk_68 * 0.1f); - func_800B8DD0(&gMasterDisp, 0x1D); + RCP_SetupDL(&gMasterDisp, 0x1D); gSPTexture(gMasterDisp++, 2000, 2000, 0, G_TX_RENDERTILE, G_ON); gSPSetGeometryMode(gMasterDisp++, G_TEXTURE_GEN); gSPDisplayList(gMasterDisp++, D_10231A0); gSPClearGeometryMode(gMasterDisp++, G_TEXTURE_GEN); - func_800B8DD0(&gMasterDisp, 0x1B); + RCP_SetupDL(&gMasterDisp, 0x1B); gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 255, 255, 255, 255); gSPDisplayList(gMasterDisp++, D_1022E80); } @@ -824,12 +824,12 @@ void func_8005CB44(Object_6C* arg0) { void func_8005CC9C(Object_6C* arg0) { func_8005980C(arg0->unk_68 * 0.1f); - func_800B8DD0(&gMasterDisp, 0x1D); + RCP_SetupDL(&gMasterDisp, 0x1D); gSPTexture(gMasterDisp++, 2000, 2000, 0, G_TX_RENDERTILE, G_ON); gSPSetGeometryMode(gMasterDisp++, G_TEXTURE_GEN); gSPDisplayList(gMasterDisp++, D_1019820); gSPClearGeometryMode(gMasterDisp++, G_TEXTURE_GEN); - func_800B8DD0(&gMasterDisp, 0x1B); + RCP_SetupDL(&gMasterDisp, 0x1B); gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 255, 255, 255, 255); gSPDisplayList(gMasterDisp++, D_101A8E0); } @@ -842,7 +842,7 @@ void func_8005CDA8(Object_6C* arg0) { 180.0f) / M_PI; if (arg0->unk_46 != 0) { - func_800B8DD0(&gMasterDisp, 0x29); + RCP_SetupDL(&gMasterDisp, 0x29); gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 255, 255, 255, arg0->unk_44); } else { func_800B9B38(D_80178320, D_80178328, D_80178330, D_80178338, D_801783D8, D_801783DC); @@ -1302,7 +1302,7 @@ void func_8005EA24(Object_2F4* arg0) { } void func_8005ECD8(s32 arg0, Object* arg1) { - func_800B8DD0(&gMasterDisp, 0x42); + RCP_SetupDL(&gMasterDisp, 0x42); gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 0, 0, 0, 180); if (arg1->id == 0xC5) { func_8005EA24(&D_80163FE0[arg0]); @@ -1660,7 +1660,7 @@ void func_8005FB70(s32 arg0) { for (i = 0, var_s0_6 = D_801737E0; i < ARRAY_COUNT(D_801737E0); i++, var_s0_6++) { if (var_s0_6->obj.status >= 2) { Matrix_Push(&gGfxMatrix); - func_800B8DD0(&gMasterDisp, 0x1D); + RCP_SetupDL(&gMasterDisp, 0x1D); func_800597C0(arg0); func_8005E7B8(var_s0_6, arg0); Matrix_Pop(&gGfxMatrix); @@ -1675,7 +1675,7 @@ void func_8006046C(s32 arg0) { Object_408* var_s0_2; Object_8C* var_s0; - func_800B8DD0(&gMasterDisp, 0x40); + RCP_SetupDL(&gMasterDisp, 0x40); for (i = 0, var_s0 = D_80170130; i < ARRAY_COUNT(D_80170130); i++, var_s0++) { if (var_s0->obj.status >= 2) { if (var_s0->unk_1C.unk_14 == 1) { @@ -1762,10 +1762,10 @@ void func_80060968(void) { s32 var_a1; if (D_80178234 == 0xB) { - func_800B8DD0(&gMasterDisp, 0x21); + RCP_SetupDL(&gMasterDisp, 0x21); gSPClearGeometryMode(gMasterDisp++, G_CULL_BACK); } else if ((D_80178234 == 0xD) || (D_80178234 == 9)) { - func_800B8DD0(&gMasterDisp, 0x29); + RCP_SetupDL(&gMasterDisp, 0x29); } else { func_800B92F8(); } @@ -1817,9 +1817,9 @@ void func_80060D94(s32 arg0) { UnkStruct_D_80174750* temp_s0 = &D_80174750[arg0]; if (temp_s0->unk_2F == 0xFF) { - func_800B8DD0(&gMasterDisp, 5); + RCP_SetupDL(&gMasterDisp, 5); } else { - func_800B8DD0(&gMasterDisp, 0xE); + RCP_SetupDL(&gMasterDisp, 0xE); } gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, temp_s0->unk_2C, temp_s0->unk_2D, temp_s0->unk_2E, temp_s0->unk_2F); Matrix_Push(&gGfxMatrix); diff --git a/src/main/fox_radio.c b/src/main/fox_radio.c index 810bd849..ec81e646 100644 --- a/src/main/fox_radio.c +++ b/src/main/fox_radio.c @@ -440,7 +440,7 @@ void func_800BB388(void) { D_800D4A78 = -1.0f; } sp30 = temp_fa0 * D_800D4A78; - func_800B8DD0(&gMasterDisp, 0x55); + RCP_SetupDL(&gMasterDisp, 0x55); switch (D_80177834) { case 2: case 8: @@ -461,7 +461,7 @@ void func_800BB388(void) { D_80177D50); } if (D_80177D50 == 1.3f) { - func_800B8DD0(&gMasterDisp, 0x55); + RCP_SetupDL(&gMasterDisp, 0x55); D_801782F8 = Message_DisplayText(&gMasterDisp, D_80178308, D_80178728, D_8017872C, D_801782D8); } } @@ -648,7 +648,7 @@ void func_800BB5D0(void) { } if ((D_801778B0[var_v1] <= 0) && (D_80177DB0 & 4) && (D_801778B0[var_v1] != -2) && (D_801782A4 != 2) && (D_801782A4 != 3) && (D_801782A4 != 1000)) { - func_800B8DD0(&gMasterDisp, 0x4C); + RCP_SetupDL(&gMasterDisp, 0x4C); gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 255, 255, 0, 255); Graphics_DisplaySmallText(0x1F, 0xA7, 1.0f, 1.0f, "DOWN"); func_80084B94(1); @@ -683,7 +683,7 @@ void func_800BB5D0(void) { } if ((D_80163FE0[var_v1].obj.status != 2) && (D_80177DB0 & 4) && (D_80178280[0].unk_1C8 == 3) && (D_801782A4 != 2) && (D_801782A4 != 3) && (D_801782A4 != 1000)) { - func_800B8DD0(&gMasterDisp, 0x4C); + RCP_SetupDL(&gMasterDisp, 0x4C); gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 255, 255, 0, 255); Graphics_DisplaySmallText(0x1F, 0xA7, 1.0f, 1.0f, "DOWN"); } diff --git a/src/main/fox_rcp.c b/src/main/fox_rcp.c index 4ece5ed2..36baf45c 100644 --- a/src/main/fox_rcp.c +++ b/src/main/fox_rcp.c @@ -2,7 +2,7 @@ #include "fox_rcp_setup.c" -void func_800B8DD0(Gfx** gfxP, s16 i) { +void RCP_SetupDL(Gfx** gfxP, s16 i) { gSPDisplayList((*gfxP)++, &((Gfx*) gSetupDLs)[i * 9]); } diff --git a/src/main/sf_hud.c b/src/main/sf_hud.c index 6c5cc785..158c7148 100644 --- a/src/main/sf_hud.c +++ b/src/main/sf_hud.c @@ -17,7 +17,7 @@ void func_80084930(f32 arg0, f32 arg1, s32 arg2) { s32 var_v0; s32 i; - func_800B8DD0(&gMasterDisp, 0x4E); + RCP_SetupDL(&gMasterDisp, 0x4E); gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255); temp = D_80178280; @@ -42,7 +42,7 @@ void func_80084930(f32 arg0, f32 arg1, s32 arg2) { arg0 += 11.0f; arg1 -= 1.0f; - func_800B8DD0(&gMasterDisp, 0x4C); + RCP_SetupDL(&gMasterDisp, 0x4C); gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255); var_v0 = 10; @@ -76,7 +76,7 @@ void func_80084B94(s32 arg0) { { -191.0f, -129.0f, -600.0f }, }; - func_800B8DD0(&gMasterDisp, 0x24); + RCP_SetupDL(&gMasterDisp, 0x24); if (arg0 == 0) { for (i = 1; i < 4; i++) { if (((D_801778B0[i] != 0) || (D_80178280->unk_1C8 != 7)) && (D_801778B0[i] <= 0) && (D_801778B0[i] != -2)) { @@ -190,7 +190,7 @@ void func_80086110(f32 arg0, f32 arg1, s32 arg2) { f32 temp = 0.82f; s32 pad; - func_800B8DD0(&gMasterDisp, 0x4B); + RCP_SetupDL(&gMasterDisp, 0x4B); gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255); if (arg2 != 0) { @@ -198,7 +198,7 @@ void func_80086110(f32 arg0, f32 arg1, s32 arg2) { } if ((arg2 <= 0) && (arg2 != -2) && ((D_80177854 == 100) || (D_80177830 == 1) || (D_80177838 != 0))) { - func_800B8DD0(&gMasterDisp, 0x4C); + RCP_SetupDL(&gMasterDisp, 0x4C); gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 0, 255); if ((arg2 == 0) && (D_80178280[0].unk_1C8 == 7)) { Graphics_DisplaySmallText(arg0 + (8.0f * temp) + 4.0f, arg1 + 2.0f, 1.0f, 1.0f, " OK "); @@ -207,7 +207,7 @@ void func_80086110(f32 arg0, f32 arg1, s32 arg2) { } } - func_800B8DD0(&gMasterDisp, 0x4C); + RCP_SetupDL(&gMasterDisp, 0x4C); gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255); func_80085618(arg0, arg1, temp, 1.0f); func_800855C4(arg0 + (7.0f * temp) + (temp * 6.0f) * 8.0f, arg1, 1.0f, 1.0f); @@ -301,7 +301,7 @@ void func_80086444(void) { } if (i != 9) { - func_800B8DD0(&gMasterDisp, 0x4C); + RCP_SetupDL(&gMasterDisp, 0x4C); gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255); for (j = 0; j < 19; j++) { @@ -351,7 +351,7 @@ void func_800869A0(f32 arg0, f32 arg1, s32 k, f32 arg3, s32 arg4, s32 arg5) { #endif void func_80086C08(f32 arg0, f32 arg1, f32 arg2, f32 arg3) { - func_800B8DD0(&gMasterDisp, 0x4E); + RCP_SetupDL(&gMasterDisp, 0x4E); gDPSetPrimColor(gMasterDisp++, 0, 0, 60, 60, 128, 96); gDPSetAlphaDither(gMasterDisp++, G_AD_DISABLE); TextureRect_8bCI(&gMasterDisp, D_1013170, D_1013570, 24, 17, arg0, arg1, arg2, arg3); @@ -470,7 +470,7 @@ void func_80088784(s32 arg0) { if (arg0 != 0) { arg0--; - func_800B8DD0(&gMasterDisp, 0x24); + RCP_SetupDL(&gMasterDisp, 0x24); gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, D_800D1DC8[arg0]); Matrix_Push(&gGfxMatrix); Matrix_Translate(gGfxMatrix, 3.9f, -3.3f, -100.0f, 0); @@ -493,7 +493,7 @@ void func_80088784(s32 arg0) { #pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_hud/func_80088970.s") void func_80089670(void) { - func_800B8DD0(&gMasterDisp, 0x3E); + RCP_SetupDL(&gMasterDisp, 0x3E); gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255); Matrix_Scale(gGfxMatrix, 18.64f, 21.04f, 1.0f, 1); Matrix_SetGfxMtx(&gMasterDisp); @@ -501,7 +501,7 @@ void func_80089670(void) { } void func_80089710(void) { - func_800B8DD0(&gMasterDisp, 0x3E); + RCP_SetupDL(&gMasterDisp, 0x3E); gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255); Matrix_Scale(gGfxMatrix, 11.0f, 11.0f, 1.0f, 1); Matrix_SetGfxMtx(&gMasterDisp); @@ -509,7 +509,7 @@ void func_80089710(void) { } void func_800897B0(void) { - func_800B8DD0(&gMasterDisp, 0x3E); + RCP_SetupDL(&gMasterDisp, 0x3E); gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255); Matrix_Scale(gGfxMatrix, 130.0f, 130.0f, 1.0f, 1); Matrix_SetGfxMtx(&gMasterDisp); @@ -517,7 +517,7 @@ void func_800897B0(void) { } void func_80089850(void) { - func_800B8DD0(&gMasterDisp, 0x3E); + RCP_SetupDL(&gMasterDisp, 0x3E); gDPSetPrimColor(gMasterDisp++, 0, 0, 0, 0, 0, 255); Matrix_Scale(gGfxMatrix, 125.0f, 125.0f, 1.0f, 1); Matrix_SetGfxMtx(&gMasterDisp); @@ -525,7 +525,7 @@ void func_80089850(void) { } void func_800898F0(void) { - func_800B8DD0(&gMasterDisp, 1); + RCP_SetupDL(&gMasterDisp, 1); gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 208, 80, 255); Matrix_Scale(gGfxMatrix, 30.0f, 30.0f, 1.0f, 1); Matrix_SetGfxMtx(&gMasterDisp); @@ -549,7 +549,7 @@ void func_80089994(s32 arg0) { var_fv2 = 54.0f; } - func_800B8DD0(&gMasterDisp, 0x3E); + RCP_SetupDL(&gMasterDisp, 0x3E); gDPSetPrimColor(gMasterDisp++, 0, 0, D_800D1E14[arg0][0], D_800D1E14[arg0][1], D_800D1E14[arg0][2], D_800D1E14[arg0][3]); Matrix_Scale(gGfxMatrix, var_fv1, var_fv2, 1.0f, 1); @@ -561,7 +561,7 @@ void func_80089994(s32 arg0) { #endif void func_80089AF4(void) { - func_800B8DD0(&gMasterDisp, 0x3E); + RCP_SetupDL(&gMasterDisp, 0x3E); gDPSetPrimColor(gMasterDisp++, 0, 0, 0, 0, 0, 255); Matrix_Scale(gGfxMatrix, 54.0f, 54.0f, 1.0f, 1); Matrix_SetGfxMtx(&gMasterDisp); @@ -569,7 +569,7 @@ void func_80089AF4(void) { } void func_80089B94(void) { - func_800B8DD0(&gMasterDisp, 0x3E); + RCP_SetupDL(&gMasterDisp, 0x3E); gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 92, 92, 255); Matrix_Scale(gGfxMatrix, 54.0f, 54.0f, 1.0f, 1); Matrix_SetGfxMtx(&gMasterDisp); @@ -579,7 +579,7 @@ void func_80089B94(void) { void func_80089C38(void) { s32 alpha; - func_800B8DD0(&gMasterDisp, 0xC); + RCP_SetupDL(&gMasterDisp, 0xC); alpha = D_80177DB0 % 21; @@ -597,7 +597,7 @@ void func_80089C38(void) { void func_80089D28(void) { s32 gb; - func_800B8DD0(&gMasterDisp, 1); + RCP_SetupDL(&gMasterDisp, 1); gb = D_80177DB0 % 21; @@ -734,7 +734,7 @@ s32 func_8008AC54(s32 arg0) { void func_8008AD94(void) { if (D_80177834 == 7) { - func_800B8DD0(&gMasterDisp, 0x4C); + RCP_SetupDL(&gMasterDisp, 0x4C); gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 0, 255); switch ((s32) D_80177D68) { @@ -825,7 +825,7 @@ void func_8008B1B0(void) { f32 temp = 142.0f; f32 temp2 = 18.0f; - func_800B8DD0(&gMasterDisp, 0x4E); + RCP_SetupDL(&gMasterDisp, 0x4E); gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255); switch (D_80161790 / 2) { @@ -915,10 +915,10 @@ void func_8008B2F0(void) { } void func_8008B5B0(f32 x, f32 y) { - func_800B8DD0(&gMasterDisp, 0x4B); + RCP_SetupDL(&gMasterDisp, 0x4B); gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255); func_800856C0(x + 8.0f, y + 2.0f, D_801617A8, 1.0f, D_801617AC); - func_800B8DD0(&gMasterDisp, 0x4C); + RCP_SetupDL(&gMasterDisp, 0x4C); gDPSetPrimColor(gMasterDisp++, 0, 0, D_800D1EB4, D_800D1EB8, D_800D1EBC, 0xFF); func_80085618(x, y, 1.0f, 1.0f); func_800855C4(x + 7.0f + (D_801617A8 * 6.0f * 8.0f), y, 1.0f, 1.0f); @@ -981,7 +981,7 @@ void func_8008BAE4(void) { } if ((D_80161788 != 0) || (D_8016178C != 0)) { - func_800B8DD0(&gMasterDisp, 0xC); + RCP_SetupDL(&gMasterDisp, 0xC); gDPSetPrimColor(gMasterDisp++, 0, 0, r, g, b, alpha); Matrix_Push(&gGfxMatrix); Matrix_Translate(gGfxMatrix, -53.9f, -38.5f, -139.4f, 1); @@ -1132,7 +1132,7 @@ void func_8008D250(void) { f32 D_800D20C8[] = { 113.0f, 273.0f, 113.0f, 273.0f }; f32 D_800D20D8[] = { 79.0f, 79.0f, 199.0f, 199.0f }; - func_800B8DD0(&gMasterDisp, 0x4C); + RCP_SetupDL(&gMasterDisp, 0x4C); gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255); func_8008C5C8(D_800D20C8[D_801778A0], D_800D20D8[D_801778A0], 0.54f, D_801778A0); } @@ -1146,11 +1146,11 @@ void func_8008D31C(void) { f32 D_800D20F8[] = { 78.0f, 78.0f, 198.0f, 198.0f }; Math_SmoothStepToF(&D_800D19E0[D_801778A0], D_80178280[D_801778A0].unk_264 * (1.0f / 255.0f), 0.3f, 10.0f, 0.01f); - func_800B8DD0(&gMasterDisp, 0x4E); + RCP_SetupDL(&gMasterDisp, 0x4E); gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255); func_8008D0DC(D_800D20E8[D_801778A0] + 3.0f, D_800D20F8[D_801778A0] + 18.0f, 1.0f, 1.0f, D_800D19E0[D_801778A0]); - func_800B8DD0(&gMasterDisp, 0x4C); + RCP_SetupDL(&gMasterDisp, 0x4C); gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255); @@ -1204,7 +1204,7 @@ void func_8008D4F0(f32 arg0, f32 arg1) { temp_t9 = D_800D19AC[var_v1]; - func_800B8DD0(&gMasterDisp, 0x4E); + RCP_SetupDL(&gMasterDisp, 0x4E); gDPSetPrimColor(gMasterDisp++, 0, 0, temp_t9, temp_t9, temp_t9, 255); @@ -1214,7 +1214,7 @@ void func_8008D4F0(f32 arg0, f32 arg1) { if (temp_fs0 > 0.01f) { func_800857DC(D_800D2108[var_v1] + temp + 1.0f, D_800D211C[var_v1] + sp60, temp_fs0, 1.0f); } - func_800B8DD0(&gMasterDisp, 0x4C); + RCP_SetupDL(&gMasterDisp, 0x4C); gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255); func_80085740(D_800D2108[var_v1], D_800D211C[var_v1], 1.0f, 1.0f); } @@ -1230,7 +1230,7 @@ void func_8008D7F4(void) { s32 D_800D2160[] = { 242, 30, 179, 30 }; s32 D_800D2170[] = { 12, 0, 67, 255 }; - func_800B8DD0(&gMasterDisp, 0x4E); + RCP_SetupDL(&gMasterDisp, 0x4E); gDPSetPrimColor(gMasterDisp++, 0, 0, D_800D2150[D_801778A0], D_800D2160[D_801778A0], D_800D2170[D_801778A0], 255); Graphics_DisplayHUDNumber(D_800D2130[D_801778A0], D_800D2140[D_801778A0], D_801778A0 + 1); } @@ -1334,11 +1334,11 @@ void func_8008DE68(void) { temp4 = sp3C + 6.0f; temp5 = temp1 + 10.0f; - func_800B8DD0(&gMasterDisp, 0x4E); + RCP_SetupDL(&gMasterDisp, 0x4E); gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255); TextureRect_4bCI(&gMasterDisp, D_1011A40, D_1011AB0, 32, 7, temp2, temp3, 1.0f, 1.0f); - func_800B8DD0(&gMasterDisp, 0x4C); + RCP_SetupDL(&gMasterDisp, 0x4C); TextureRect_8bIA(&gMasterDisp, D_1002040, 40, 12, sp3C, temp1, 1.0f, 1.0f); if (sp3C >= 25.0f) { @@ -1346,12 +1346,12 @@ void func_8008DE68(void) { } if ((D_801616C4 >= 0.1f) && (sp3C >= 25.0f)) { - func_800B8DD0(&gMasterDisp, 0x4E); + RCP_SetupDL(&gMasterDisp, 0x4E); gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255); TextureRect_8bCI(&gMasterDisp, D_10129C0, D_1013090, 16, 109, temp4, temp5, 1.0f, D_801616C4); } - func_800B8DD0(&gMasterDisp, 0x4C); + RCP_SetupDL(&gMasterDisp, 0x4C); gDPSetPrimColor(gMasterDisp++, 0, 0, 0, 0, 0, 255); if (D_801616BC > 0.0f) { @@ -1546,7 +1546,7 @@ void func_8008E620(f32 arg0, f32 arg1) { b = 200; } } - func_800B8DD0(&gMasterDisp, 0x4C); + RCP_SetupDL(&gMasterDisp, 0x4C); gDPSetPrimColor(gMasterDisp++, 0, 0, r, g, b, 255); func_80094D20(arg0, arg1); } @@ -2326,7 +2326,7 @@ void func_80094954(Object_8C* arg0) { void func_80094BBC(Object_8C* arg0) { if ((D_80178280[0].unk_1C8 == 2) && (D_80178234 == 13) && (D_80178280[0].unk_1D0 < 2)) { - func_800B8DD0(&gMasterDisp, 0x44); + RCP_SetupDL(&gMasterDisp, 0x44); gDPSetPrimColor(gMasterDisp++, 0, 0, 0, 21, 34, arg0->unk_4A); gDPSetEnvColor(gMasterDisp++, 255, 255, 251, 0); func_8005980C(arg0->unk_70); diff --git a/src/overlays/ovl_EBFBE0/fox_option.c b/src/overlays/ovl_EBFBE0/fox_option.c index 5b0bad2a..204c547b 100644 --- a/src/overlays/ovl_EBFBE0/fox_option.c +++ b/src/overlays/ovl_EBFBE0/fox_option.c @@ -2,6 +2,17 @@ #include "fox_option.h" #ifdef IMPORT_DATA_PENDING +static f32 D_EBFBE0_801AE9A0[4] = { 62.0f, 222.0f, 75.0f, 235.0f }; + +static f32 D_EBFBE0_801AE9B0[4] = { 43.0f, 43.0f, 46.0f, 46.0f }; + +static MenuContext_00 D_EBFBE0_801AE9C0[4] = { + { 2, 0, (void*) 0x080143B0, 0x080147B0, 32, 32, 56.0f, 175.0f, 1.0f, 1.0f, 255, 255, 255, 255 }, + { 2, 0, (void*) 0x080143B0, 0x080147B0, 32, 32, 216.0f, 175.0f, 1.0f, 1.0f, 255, 255, 255, 255 }, + { 1, 0, (void*) 0x080039D0, 0x08003A50, 16, 16, 69.0f, 178.0f, 1.0f, 1.0f, 255, 255, 255, 255 }, + { 1, 0, (void*) 0x080039D0, 0x08003A50, 16, 16, 229.0f, 178.0f, 1.0f, 1.0f, 255, 255, 255, 255 }, +}; + static UnkStruct_D_EBFBE0_801B9250 D_EBFBE0_801B9380[4]; static f32 D_EBFBE0_801AE5B8[] = { 60.0f, 36.0f, 12.0f, -12.0f, -36.0f, -60.0f }; static f32 D_EBFBE0_801AE5D0[] = { 126.0f, 117.0f, 139.0f, 124.0f, 130.0f, 117.0f }; @@ -51,7 +62,23 @@ static MenuContext D_EBFBE0_801AE638[6] = { 1, }, }; + +static MenuContext_00 D_EBFBE0_801AEAA0[3] = { + { 3, 0, (void*) 0x08013990, 0, 104, 10, 151.0f, 135.0f, 1.05f, 1.0f, 255, 255, 255, 255 }, + { 3, 0, (void*) 0x08013990, 0, 104, 10, 151.0f, 161.0f, 1.05f, 1.0f, 255, 255, 255, 255 }, + { 3, 0, (void*) 0x08013990, 0, 104, 10, 151.0f, 188.0f, 1.05f, 1.0f, 255, 255, 255, 255 }, +}; + +static MenuContext_00 D_EBFBE0_801AEB48[3] = { + { 3, 0, (void*) 0x080141B0, 0, 16, 16, 245.0f, 132.0f, 1.0f, 1.0f, 255, 255, 255, 255 }, + { 3, 0, (void*) 0x080141B0, 0, 16, 16, 245.0f, 158.0f, 1.0f, 1.0f, 255, 255, 255, 255 }, + { 3, 0, (void*) 0x080141B0, 0, 16, 16, 245.0f, 185.0f, 1.0f, 1.0f, 255, 255, 255, 255 }, +}; #else +extern MenuContext_00 D_EBFBE0_801AE9C0[4]; +extern MenuContext_00 D_EBFBE0_801AEB48[]; +extern f32 D_EBFBE0_801AE9A0[4]; +extern f32 D_EBFBE0_801AE9B0[4]; extern f32 D_EBFBE0_801AE570[]; extern f32 D_EBFBE0_801AE5B8[]; extern f32 D_EBFBE0_801AE5D0[]; @@ -1142,9 +1169,198 @@ void func_EBFBE0_80194BD0(void) { } } -#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_EBFBE0/fox_option/func_EBFBE0_80194CE4.s") +#ifdef IMPORT_DATA_PENDING +void func_EBFBE0_80194CE4(void) { + s32 i; + s32 colorGB; + static f32 D_EBFBE0_801AEFA8[11] = { 48.0f, 103.0f, 77.0f, 55.0f, 71.0f, 87.0f, + 143.0f, 244.0f, 169.0f, 170.0f, 157.0f }; + static f32 D_EBFBE0_801AEFD4[11] = { 79.0f, 52.0f, 99.0f, 131.0f, 157.0f, 186.0f, + 102.0f, 102.0f, 98.0f, 99.0f, 98.0f }; + static f32 D_EBFBE0_801AF000 = 27.5f; + + func_EBFBE0_8019B9C0(); + + func_EBFBE0_801952B4(); + + RCP_SetupDL(&gMasterDisp, 0x4C); + gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255); + TextureRect_16bRGBA(&gMasterDisp, D_60447A0, 8, 8, D_EBFBE0_801AEFA8[0], D_EBFBE0_801AEFD4[0], D_EBFBE0_801AF000, + 0.2f); + + RCP_SetupDL(&gMasterDisp, 0x53); + gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255); + TextureRect_8bIA(&gMasterDisp, D_8005CD0, 112, 13, D_EBFBE0_801AEFA8[1], D_EBFBE0_801AEFD4[1], 1.0f, 1.0f); + + for (i = 0; i < 4; i++) { + if (D_EBFBE0_801B9288 == i) { + func_EBFBE0_8019C824(&D_EBFBE0_801B9270[i]); + } else { + D_EBFBE0_801B9270[i] = 255.0f; + } + } + + colorGB = D_EBFBE0_801B9270[0]; + gDPSetPrimColor(gMasterDisp++, 0, 0, 255, colorGB, colorGB, 255); + TextureRect_8bIA(&gMasterDisp, D_8006280, 48, 13, D_EBFBE0_801AEFA8[2], D_EBFBE0_801AEFD4[2], 1.0f, 1.0f); + + colorGB = D_EBFBE0_801B9270[1]; + gDPSetPrimColor(gMasterDisp++, 0, 0, 255, colorGB, colorGB, 255); + TextureRect_8bIA(&gMasterDisp, D_80064F0, 88, 14, D_EBFBE0_801AEFA8[3], D_EBFBE0_801AEFD4[3], 1.0f, 1.0f); + + colorGB = D_EBFBE0_801B9270[2]; + gDPSetPrimColor(gMasterDisp++, 0, 0, 255, colorGB, colorGB, 255); + TextureRect_8bIA(&gMasterDisp, D_80069C0, 56, 15, D_EBFBE0_801AEFA8[4], D_EBFBE0_801AEFD4[4], 1.0f, 1.0f); + + colorGB = D_EBFBE0_801B9270[3]; + gDPSetPrimColor(gMasterDisp++, 0, 0, 255, colorGB, colorGB, 255); + TextureRect_8bIA(&gMasterDisp, D_8006D10, 24, 13, D_EBFBE0_801AEFA8[5], D_EBFBE0_801AEFD4[5], 1.0f, 1.0f); + + if (D_EBFBE0_801B9288 == 0) { + gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255); + TextureRect_8bIA_MirX(&gMasterDisp, D_800E130, 8, 8, D_EBFBE0_801AEFA8[6], D_EBFBE0_801AEFD4[6], 1.0f, 1.0f); + TextureRect_8bIA(&gMasterDisp, D_800E130, 8, 8, D_EBFBE0_801AEFA8[7], D_EBFBE0_801AEFD4[7], 1.0f, 1.0f); + } + + gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255); + + switch (D_80177C74) { + case 0: + TextureRect_8bIA(&gMasterDisp, D_800CD90, 56, 13, D_EBFBE0_801AEFA8[8], D_EBFBE0_801AEFD4[8], 1.0f, 1.0f); + break; + + case 1: + TextureRect_8bIA(&gMasterDisp, D_80076E0, 56, 14, D_EBFBE0_801AEFA8[9], D_EBFBE0_801AEFD4[9], 1.0f, 1.0f); + break; + + case 2: + TextureRect_8bIA(&gMasterDisp, D_8007210, 88, 14, D_EBFBE0_801AEFA8[10], D_EBFBE0_801AEFD4[10], 1.0f, 1.0f); + break; + } + + TextureRect_8bIA(&gMasterDisp, D_8006E50, 96, 10, 166.0f, 213.0f, 1.0f, 1.0f); + + for (i = 0; i < 3; i++) { + func_EBFBE0_8019C120(D_EBFBE0_801AEAA0[i]); + func_EBFBE0_8019C120(D_EBFBE0_801AEB48[i]); + } +} +#else +#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_EBFBE0/fox_option/func_EBFBE0_80194CE4.s") +#endif + +// needs data declared as static +#ifdef IMPORT_DATA_PENDING +void func_EBFBE0_801952B4(void) { + s32 i; + + if (D_EBFBE0_801B9284 == 1) { + switch (D_EBFBE0_801B914C) { + case 0: + D_EBFBE0_801B914C++; + break; + + case 1: + if (D_EBFBE0_801B9178) { + break; + } + + for (i = 2; i < 4; i++) { + D_EBFBE0_801AE9C0[i].unk_20 += 0.02f; + D_EBFBE0_801AE9C0[i].unk_24 += 0.02f; + D_EBFBE0_801AE9C0[i].unk_18 -= 0.1f; + } + + D_EBFBE0_801B9178 = 2; + D_EBFBE0_801B914C++; + break; + + case 2: + if (D_EBFBE0_801B9178) { + break; + } + + for (i = 2; i < 4; i++) { + D_EBFBE0_801AE9C0[i].unk_20 -= 0.02f; + D_EBFBE0_801AE9C0[i].unk_24 -= 0.02f; + D_EBFBE0_801AE9C0[i].unk_18 += 0.1f; + } + + D_EBFBE0_801B914C++; + break; + + case 3: + D_EBFBE0_801B9178 = Rand_ZeroOne() * 15.0f; + D_EBFBE0_801B914C = 1; + break; + } + + switch (D_EBFBE0_801B9158) { + case 0: + if (D_EBFBE0_801B917C) { + break; + } + + for (i = 0; i < 4; i++) { + D_EBFBE0_801AE9C0[i].unk_20 += 0.08f; + D_EBFBE0_801AE9C0[i].unk_24 += 0.08f; + D_EBFBE0_801AE9C0[i].unk_18 -= 0.4f; + D_EBFBE0_801AE9C0[i].unk_1C -= 0.4f; + } + + D_EBFBE0_801B917C = 2; + D_EBFBE0_801B9158++; + break; + + case 1: + if (D_EBFBE0_801B917C) { + break; + } + + for (i = 0; i < 4; i++) { + D_EBFBE0_801AE9C0[i].unk_20 -= 0.08f; + D_EBFBE0_801AE9C0[i].unk_24 -= 0.08f; + D_EBFBE0_801AE9C0[i].unk_18 += 0.4f; + D_EBFBE0_801AE9C0[i].unk_1C += 0.4f; + } + + D_EBFBE0_801B917C = 2; + D_EBFBE0_801B9158++; + break; + + case 2: + if (D_EBFBE0_801B917C) { + break; + } + + D_EBFBE0_801B917C = Rand_ZeroOne() * 30.0f; + D_EBFBE0_801B9158 = 0; + break; + } + + } else { + for (i = 0; i < 4; i++) { + D_EBFBE0_801AE9C0[i].unk_20 = 1.0f; + D_EBFBE0_801AE9C0[i].unk_24 = 1.0f; + D_EBFBE0_801AE9C0[i].unk_18 = D_EBFBE0_801AE9A0[i]; + D_EBFBE0_801AE9C0[i].unk_1C = D_EBFBE0_801AE9B0[i]; + } + } + + for (i = 0; i < 2; i++) { + func_EBFBE0_8019C120(D_EBFBE0_801AE9C0[i]); + } + + for (i = 2; i < 4; i++) { + if (D_EBFBE0_801B914C != 3) { + func_EBFBE0_8019C120(D_EBFBE0_801AE9C0[i]); + } + } +} +#else #pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_EBFBE0/fox_option/func_EBFBE0_801952B4.s") +#endif void func_EBFBE0_801958DC(void) { s32 i; @@ -1203,7 +1419,114 @@ void func_EBFBE0_80195944(void) { } } +#ifdef IMPORT_DATA_PENDING +u8* D_EBFBE0_801AECF8[10] = { + D_5009F60, D_500A050, D_500A140, D_500A230, D_500A320, D_500A410, D_500A500, 0x0500A5F0, 0x0500A6E0, 0x0500A7D0, +}; + +void func_EBFBE0_80195B74(void) { + u8* temp_v0_4; + f32 var_fs0; + f32 var_fv1; + s32 i; + f32 r; + f32 g; + f32 b; + static f32 D_EBFBE0_801AF004 = -125.0f; + static f32 D_EBFBE0_801AF008 = 0.0f; + static f32 D_EBFBE0_801AF00C = 2.0f; + static f32 D_EBFBE0_801AF010 = 8.0f; + static f32 D_EBFBE0_801AF014[4] = { 30.0f, 30.0f, 28.0f, 288.0f }; + static f32 D_EBFBE0_801AF024[4] = { 125.0f, 197.0f, 125.0f, 125.0f }; + static f32 D_EBFBE0_801AF034[4] = { 32.3f, 32.3f, 0.2f, 0.2f }; + static f32 D_EBFBE0_801AF044[4] = { 0.2f, 0.2f, 9.2f, 9.2f }; + static f32 D_EBFBE0_801AF054 = 255.0f; + static f32 D_EBFBE0_801AF058 = 100.0f; + static f32 D_EBFBE0_801AF05C = 255.0f; + static f32 D_EBFBE0_801AF060 = 100.0f; + static f32 D_EBFBE0_801AF064 = 255.0f; + static f32 D_EBFBE0_801AF068 = 100.0f; + static Gfx* D_EBFBE0_801AF06C[] = { + D_EBFBE0_801AEC30, + D_EBFBE0_801AEC88, + D_EBFBE0_801AECE0, + }; + static f32 D_EBFBE0_801AF078[] = { -73.0f, -13.0f, -43.0f }; + + func_EBFBE0_8019B9C0(); + + RCP_SetupDL(&gMasterDisp, 0x53); + + gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255); + gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255); + + TextureRect_8bIA(&gMasterDisp, D_80079F0, 128, 14, 49.0f, 81.0f, 1.0f, 1.0f); + + TextureRect_8bIA(&gMasterDisp, D_EBFBE0_801AECF8[D_EBFBE0_801B931C / 10], 16, 15, 230.0f, 82.0f, 1.0f, 1.0f); + + TextureRect_8bIA(&gMasterDisp, D_EBFBE0_801AECF8[D_EBFBE0_801B931C % 10], 16, 15, 244.0f, 82.0f, 1.0f, 1.0f); + + func_EBFBE0_8019B7D4(); + + RCP_SetupDL(&gMasterDisp, 0x4C); + + gDPSetPrimColor(gMasterDisp++, 0, 0, 50, 50, 200, 255); + + for (i = 0; i < 4; i++) { + TextureRect_16bRGBA(&gMasterDisp, D_60447A0, 8, 8, D_EBFBE0_801AF014[i], D_EBFBE0_801AF024[i], + D_EBFBE0_801AF034[i], D_EBFBE0_801AF044[i]); + } + + if (D_EBFBE0_801B9320 != 0) { + temp_v0_4 = func_8001C3EC(); + var_fv1 = 60.0f; + + if (spectrumAnalizerMode == 2) { + var_fv1 = 30.0f; + } + + for (i = 0; i < 32; i++) { + if (spectrumAnalizerMode == 0 || spectrumAnalizerMode == 2) + D_EBFBE0_801B9298[i] = (var_fv1 / 255.0f) * temp_v0_4[i]; + else + D_EBFBE0_801B9298[i] = var_fv1 - ((var_fv1 / 255.0f) * temp_v0_4[i]); + } + } else { + for (i = 0; i < 32; i++) + Math_SmoothStepToF(&D_EBFBE0_801B9298[i], 0.0f, 0.2f, 100.0f, 0.1f); + } + + Lib_Ortho(&gMasterDisp); + + RCP_SetupDL(&gMasterDisp, 5); + + Matrix_Push(&gGfxMatrix); + Matrix_LookAt(gGfxMatrix, 0.0f, 0.0f, 100.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1); + Matrix_SetGfxMtx(&gMasterDisp); + + for (var_fs0 = D_EBFBE0_801AF004, i = 0; i < 32; i++, var_fs0 += D_EBFBE0_801AF010) { + r = D_EBFBE0_801AF054 + ((D_EBFBE0_801AF060 - D_EBFBE0_801AF054) / 31.0f) * i; + g = D_EBFBE0_801AF058 + ((D_EBFBE0_801AF064 - D_EBFBE0_801AF058) / 31.0f) * i; + b = D_EBFBE0_801AF05C + ((D_EBFBE0_801AF068 - D_EBFBE0_801AF05C) / 31.0f) * i; + + gDPSetPrimColor(gMasterDisp++, 0, 0, (s32) r, (s32) g, (s32) b, 255); + + Matrix_Push(&gGfxMatrix); + Matrix_Translate(gGfxMatrix, var_fs0, D_EBFBE0_801AF078[spectrumAnalizerMode], D_EBFBE0_801AF008, 1); + Matrix_Scale(gGfxMatrix, D_EBFBE0_801AF00C, D_EBFBE0_801B9298[i], 1.0f, 1); + Matrix_SetGfxMtx(&gMasterDisp); + + gSPDisplayList(gMasterDisp++, D_EBFBE0_801AF06C[spectrumAnalizerMode]); + + Matrix_Pop(&gGfxMatrix); + } + + Matrix_Pop(&gGfxMatrix); + Lib_Perspective(&gMasterDisp); +} +#else #pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_EBFBE0/fox_option/func_EBFBE0_80195B74.s") +#endif void func_EBFBE0_80196260(void) { D_80178410 = 800; @@ -1314,7 +1637,7 @@ void func_EBFBE0_8019669C(void) { if (1) {} } - if (gChangedInput[D_80177AF8].button & 0x8000) { + if (gChangedInput[D_80177AF8].button & A_BUTTON) { if (D_EBFBE0_801B91CC == 3) { func_80019218(0x49000021, &D_800C5D28, 4, &D_800C5D34, &D_800C5D34, &D_800C5D3C); D_EBFBE0_801B912C = 3; @@ -1333,7 +1656,7 @@ void func_EBFBE0_8019669C(void) { D_EBFBE0_801B912C = 4; } } - } else if (gChangedInput[D_80177AF8].button & 0x4000) { + } else if (gChangedInput[D_80177AF8].button & B_BUTTON) { if (D_EBFBE0_801B91CC == 1) { func_80019218(0x4900101D, &D_800C5D28, 4, &D_800C5D34, &D_800C5D34, &D_800C5D3C); D_EBFBE0_801B912C = 2; @@ -1344,7 +1667,100 @@ void func_EBFBE0_8019669C(void) { } } +#ifdef IMPORT_DATA_PENDING +static f32 D_EBFBE0_801AED20[2] = { 255.0f, 255.0f }; + +void func_EBFBE0_80196894(void) { + s32 i; + s32 sp7C[2]; + s32 sp74[2]; + static f32 D_EBFBE0_801AF084[2] = { 172.0f, 76.0f }; + static f32 D_EBFBE0_801AF08C[2] = { 228.0f, 121.0f }; + + static f32 D_EBFBE0_801AF094[6] = { 72.0f, 88.0f, 185.0f, 80.0f, 84.0f, 88.0f }; + static f32 D_EBFBE0_801AF0AC[6] = { 53.0f, 137.0f, 137.0f, 90.0f, 80.0f, 97.0f }; + + func_EBFBE0_8019B9C0(); + + RCP_SetupDL(&gMasterDisp, 0x53); + + gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255); + + for (i = 0; i < 2; i++) { + TextureRect_8bIA(&gMasterDisp, D_80084B0 + (i * 176 * 4), 176, 4, D_EBFBE0_801AF094[0], + D_EBFBE0_801AF0AC[0] + (4.0f * i), 1.0f, 1.0f); + } + TextureRect_8bIA(&gMasterDisp, D_80084B0 + 1408, 176, 5, D_EBFBE0_801AF094[0], D_EBFBE0_801AF0AC[0] + 8.0f, 1.0f, + 1.0f); + + if (D_EBFBE0_801B91CC < 2) { + TextureRect_8bIA_MirX(&gMasterDisp, D_800E130, 8, 8, D_EBFBE0_801AF084[D_EBFBE0_801B91C0], 140.0f, 1.0f, 1.0f); + TextureRect_8bIA(&gMasterDisp, D_800E130, 8, 8, D_EBFBE0_801AF08C[D_EBFBE0_801B91C0], 140.0f, 1.0f, 1.0f); + + func_EBFBE0_8019C824(&D_EBFBE0_801AED20[D_EBFBE0_801B91C0]); + D_EBFBE0_801AED20[!D_EBFBE0_801B91C0] = 255.0f; + + sp74[0] = sp74[1] = 0xFFFFFFFF; + + for (i = 0; i < 2; i++) { + if (D_EBFBE0_801B9330[i]) { + sp74[i] = 1; + sp7C[i] = 255; + D_EBFBE0_801B9330[i]--; + } + } + + if (D_80177DB0 & sp74[1]) { + sp7C[1] = D_EBFBE0_801AED20[1]; + gDPSetPrimColor(gMasterDisp++, 0, 0, 255, sp7C[1], sp7C[1], 255); + TextureRect_8bIA(&gMasterDisp, D_8009980, 32, 12, D_EBFBE0_801AF094[1], D_EBFBE0_801AF0AC[1], 1.0f, 1.0f); + } + + if (D_80177DB0 & sp74[0]) { + sp7C[0] = D_EBFBE0_801AED20[0]; + gDPSetPrimColor(gMasterDisp++, 0, 0, 255, sp7C[0], sp7C[0], 255); + TextureRect_8bIA(&gMasterDisp, D_8009B00, 40, 12, D_EBFBE0_801AF094[2], D_EBFBE0_801AF0AC[2], 1.0f, 1.0f); + } + } + + switch (D_EBFBE0_801B91CC) { + case 0: + gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255); + + for (i = 0; i < 9; i++) { + TextureRect_8bIA(&gMasterDisp, D_8008DA0 + (160 * 2 * i), 160, 2, D_EBFBE0_801AF094[3], + D_EBFBE0_801AF0AC[3] + (2.0f * i), 1.0f, 1.0f); + } + TextureRect_8bIA(&gMasterDisp, D_8008DA0 + 2880, 160, 1, D_EBFBE0_801AF094[3], D_EBFBE0_801AF0AC[3] + 18.0f, + 1.0f, 1.0f); + break; + + case 1: + case 2: + gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255); + + for (i = 0; i < 20; i++) { + TextureRect_8bIA(&gMasterDisp, D_8009CE0 + (160 * 2 * i), 160, 2, D_EBFBE0_801AF094[4], + D_EBFBE0_801AF0AC[4] + (2.0f * i), 1.0f, 1.0f); + } + TextureRect_8bIA(&gMasterDisp, D_8009CE0 + 6400, 160, 1, D_EBFBE0_801AF094[4], D_EBFBE0_801AF0AC[4] + 40.0f, + 1.0f, 1.0f); + break; + + case 3: + gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 32, 32, 255); + + TextureRect_8bIA(&gMasterDisp, D_800B680, 144, 28, D_EBFBE0_801AF094[5], D_EBFBE0_801AF0AC[5], 1.0f, 1.0f); + TextureRect_8bIA(&gMasterDisp, D_800B680 + 4032, 144, 13, D_EBFBE0_801AF094[5], + D_EBFBE0_801AF0AC[5] + 28.0f, 1.0f, 1.0f); + break; + } + + func_EBFBE0_8019B7D4(); +} +#else #pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_EBFBE0/fox_option/func_EBFBE0_80196894.s") +#endif void func_EBFBE0_80196E54(void) { func_EBFBE0_80188010(); @@ -1499,13 +1915,13 @@ void func_EBFBE0_801973C0(void) { func_EBFBE0_8019752C(); } else { func_EBFBE0_80187E28(); - func_800B8DD0(&gMasterDisp, 0x53); + RCP_SetupDL(&gMasterDisp, 0x53); func_EBFBE0_8019C824(&D_EBFBE0_801B93F0); temp_t0 = D_EBFBE0_801B93F0; gDPSetPrimColor(gMasterDisp++, 0, 0, 255, temp_t0, temp_t0, 255); TextureRect_8bIA(&gMasterDisp, D_7004010, 8, 8, 70.0f, (D_EBFBE0_801B93E4 * 17.0f) + 55.0f, 1.0f, 1.0f); } - func_800B8DD0(&gMasterDisp, 0x53); + RCP_SetupDL(&gMasterDisp, 0x53); gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 0, 255); Graphics_DisplaySmallText(242, 215, 1.0f, 1.0f, "PUSH A"); } @@ -1539,7 +1955,7 @@ void func_EBFBE0_8019752C(void) { func_EBFBE0_80197914(); Matrix_Pop(&gGfxMatrix); - func_800B8DD0(&gMasterDisp, 0x4C); + RCP_SetupDL(&gMasterDisp, 0x4C); gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255); @@ -1548,7 +1964,7 @@ void func_EBFBE0_8019752C(void) { func_8003DE68(0, 70); func_8003DE68(170, 239); - func_800B8DD0(&gMasterDisp, 0x53); + RCP_SetupDL(&gMasterDisp, 0x53); if (D_EBFBE0_801B91D4 >= 114.0f) { gDPSetPrimColor(gMasterDisp++, 0, 0, 32, 32, 32, 255); @@ -1579,7 +1995,7 @@ void func_EBFBE0_80197914(void) { Vec3f* vec2; s32 i; - func_800B8DD0(&gMasterDisp, 0); + RCP_SetupDL(&gMasterDisp, 0); for (i = 0, vec1 = D_EBFBE0_801AF100, vec2 = D_EBFBE0_801AF118; i < 2; i++, vec1++, vec2++) { Matrix_Push(&gGfxMatrix); @@ -1592,7 +2008,7 @@ void func_EBFBE0_80197914(void) { } void func_EBFBE0_80197A3C(s32 arg0, s32 arg1, s32 arg2) { - func_800B8DD0(&gMasterDisp, 0x53); + RCP_SetupDL(&gMasterDisp, 0x53); gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255); @@ -1603,7 +2019,7 @@ void func_EBFBE0_80197A3C(s32 arg0, s32 arg1, s32 arg2) { TextureRect_8bIA(&gMasterDisp, D_5009F60, 16, 15, arg1, arg2 - 25.0f, 1.0f, 1.0f); } - func_800B8DD0(&gMasterDisp, 0x55); + RCP_SetupDL(&gMasterDisp, 0x55); gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255); @@ -1629,7 +2045,7 @@ void func_EBFBE0_80197A3C(s32 arg0, s32 arg1, s32 arg2) { void func_EBFBE0_80197D30(s32 arg0, s32 arg1, s32 arg2) { char temp[4]; - func_800B8DD0(&gMasterDisp, 0x53); + RCP_SetupDL(&gMasterDisp, 0x53); gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 0, 255); @@ -1642,7 +2058,7 @@ void func_EBFBE0_80197D30(s32 arg0, s32 arg1, s32 arg2) { } void func_EBFBE0_80197DE4(s32 arg0, s32 arg1, s32 arg2) { - func_800B8DD0(&gMasterDisp, 0x53); + RCP_SetupDL(&gMasterDisp, 0x53); gDPSetPrimColor(gMasterDisp++, 0, 0, 60, 60, 255, 170); TextureRect_8bIA(&gMasterDisp, D_601B4B0, 24, 17, arg1, arg2, 3.17f, 1.05f); gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 0, 255); @@ -1656,7 +2072,7 @@ void func_EBFBE0_80197F74(s32 arg0, s32 arg1, s32 arg2) { f32 temp_fs1; s32 i; - func_800B8DD0(&gMasterDisp, 0x53); + RCP_SetupDL(&gMasterDisp, 0x53); for (temp_fs1 = 0.0f, i = 0; i < 3; i++, temp_fs1 += 12.0f) { gDPSetPrimColor(gMasterDisp++, 0, 0, D_EBFBE0_801AF0D0[i], D_EBFBE0_801AF0DC[i], D_EBFBE0_801AF0E8[i], 255); @@ -1696,7 +2112,7 @@ void func_EBFBE0_801982B0(s32 arg0, s32 arg1, f32 arg2, f32 arg3, s32 arg4) { s32 temp2; if ((arg3 > 30.0f) && (arg3 < 200.0f)) { - func_800B8DD0(&gMasterDisp, 0x4C); + RCP_SetupDL(&gMasterDisp, 0x4C); if (arg1 < 6) { b = 255; g = 255; @@ -1742,7 +2158,7 @@ void func_EBFBE0_801984D0(s32 arg0, s32 arg1, f32 arg2, f32 arg3) { s32 sp1C; if ((arg3 > 22.0f) && (arg3 < 162.0f)) { - func_800B8DD0(&gMasterDisp, 0x53); + RCP_SetupDL(&gMasterDisp, 0x53); gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 0, 255); sp1C = (gSaveFile.save.data.unk_5E[arg0][arg1].unk_C & 1) << 8; sp1C |= gSaveFile.save.data.unk_5E[arg0][arg1].unk_0; @@ -1756,7 +2172,7 @@ void func_EBFBE0_80198608(s32 arg0, s32 arg1, f32 arg2, f32 arg3) { s32 i; if ((arg3 > 12.0f) && (arg3 < 154.0f)) { - func_800B8DD0(&gMasterDisp, 0x53); + RCP_SetupDL(&gMasterDisp, 0x53); sp90[0] = gSaveFile.save.data.unk_5E[arg0][arg1].unk_D & 1; sp90[1] = gSaveFile.save.data.unk_5E[arg0][arg1].unk_F & 1; @@ -1778,20 +2194,194 @@ void func_EBFBE0_8019882C(s32 arg0, s32 arg1, f32 arg2, f32 arg3) { s8* sp20; f32 temp2; - if (arg3 > 58.0f && arg3 < 197.0f) { - temp = gSaveFile.save.data.unk_5E[arg0][arg1].unk_8 & 0x0f; + if ((arg3 > 58.0f) && (arg3 < 197.0f)) { + temp = gSaveFile.save.data.unk_5E[arg0][arg1].unk_8 & 0xF; sp20 = D_EBFBE0_801AEEAC[temp]; - func_800B8DD0(&gMasterDisp, 0x53); + RCP_SetupDL(&gMasterDisp, 0x53); gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 0, 255); temp2 = Graphics_GetSmallTextWidth(sp20) / 2.0f; Graphics_DisplaySmallText(arg2 + 12.0f - temp2, arg3 - 8.0f, 1.0f, 1.0f, sp20); } } +#ifdef IMPORT_DATA_PENDING +extern Gfx D_EBFBE0_801B4A40[]; +extern Gfx D_EBFBE0_801B5E78[]; +extern Gfx D_EBFBE0_801B61E0[]; +extern Gfx D_EBFBE0_801B6548[]; +extern Gfx D_EBFBE0_801B4D70[]; +extern Gfx D_EBFBE0_801B5B10[]; +extern Gfx D_EBFBE0_801B5440[]; +extern Gfx D_EBFBE0_801B50D8[]; +extern Gfx D_EBFBE0_801B5E78[]; +extern Gfx D_EBFBE0_801B57A8[]; + +static Gfx* D_EBFBE0_801AEE6C[16] = { + (Gfx*) 0x06060610, (Gfx*) 0x0601DE80, (Gfx*) 0x0604B750, (Gfx*) 0x0601F6B0, (Gfx*) 0x0601C0D0, (Gfx*) 0x0601C960, + D_EBFBE0_801B5E78, D_EBFBE0_801B61E0, D_EBFBE0_801B6548, D_EBFBE0_801B4D70, D_EBFBE0_801B5B10, D_EBFBE0_801B5440, + D_EBFBE0_801B50D8, (Gfx*) 0x0604DB10, D_EBFBE0_801B57A8, D_EBFBE0_801B57A8, +}; + +void func_EBFBE0_8019896C(s32 arg0, f32 y, s32 arg2) { + static f32 D_EBFBE0_801AF130 = 0.0f; + static f32 D_EBFBE0_801AF134 = -121.0f; + static f32 D_EBFBE0_801AF138 = 40.1f; + s32 i; + s32 data; + s32 spFC; + s32 spF4; + f32 x; + s32 pad[2]; + + Matrix_Push(&gGfxMatrix); + Matrix_LookAt(gGfxMatrix, 0.0f, 0.0f, 100.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1); + Matrix_SetGfxMtx(&gMasterDisp); + + Lib_Ortho(&gMasterDisp); + + spFC = gSaveFile.save.data.unk_4A[arg0]; + for (x = D_EBFBE0_801AF134, i = 0; i < arg2; i++, x += D_EBFBE0_801AF138) { + data = gSaveFile.save.data.unk_5E[arg0][i].unk_8 & 15; + + switch (data) { + case 13: + RCP_SetupDL(&gMasterDisp, 0x43); + + gDPSetPrimColor(gMasterDisp++, 0, 0, 240, 0, 0, 255); + gDPSetEnvColor(gMasterDisp++, 31, 0, 0, 0); + + Matrix_Push(&gGfxMatrix); + Matrix_Translate(gGfxMatrix, x, y, 0.0f, 1); + Matrix_RotateZ(gGfxMatrix, M_DTOR * D_EBFBE0_801AF130, 1); + Matrix_Scale(gGfxMatrix, 0.3f, 0.3f, 0.3f, 1); + Matrix_SetGfxMtx(&gMasterDisp); + + gSPDisplayList(gMasterDisp++, D_EBFBE0_801AEE6C[data]); + gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 128); + gDPSetEnvColor(gMasterDisp++, 31, 0, 0, 0); + Matrix_Scale(gGfxMatrix, 0.8f, 0.8f, 0.8f, 1); + Matrix_SetGfxMtx(&gMasterDisp); + gSPDisplayList(gMasterDisp++, D_EBFBE0_801AEE6C[data]); + Matrix_Pop(&gGfxMatrix); + break; + + case 0: + RCP_SetupDL(&gMasterDisp, 0x3E); + + gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255); + + Matrix_Push(&gGfxMatrix); + Matrix_Translate(gGfxMatrix, x - 1.0f, y + 4.0f, 0.0f, 1); + Matrix_Scale(gGfxMatrix, 0.3f, 0.3f, 0.3f, 1); + Matrix_SetGfxMtx(&gMasterDisp); + + gSPDisplayList(gMasterDisp++, D_EBFBE0_801AEE6C[data]); + + Matrix_Translate(gGfxMatrix, 18.0f, -20.0f, 0.0f, 1); + Matrix_SetGfxMtx(&gMasterDisp); + + gSPDisplayList(gMasterDisp++, D_EBFBE0_801AEE6C[data]); + + Matrix_Pop(&gGfxMatrix); + break; + + case 4: + case 5: + case 3: + RCP_SetupDL(&gMasterDisp, 0x3E); + + gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 144); + + Matrix_Push(&gGfxMatrix); + Matrix_Translate(gGfxMatrix, x, y, 0.0f, 1); + Matrix_Scale(gGfxMatrix, 0.3f, 0.3f, 0.3f, 1); + Matrix_SetGfxMtx(&gMasterDisp); + + gSPDisplayList(gMasterDisp++, D_EBFBE0_801AEE6C[data]); + + Matrix_Pop(&gGfxMatrix); + break; + + case 2: + RCP_SetupDL(&gMasterDisp, 0x17); + Lights_SetOneLight(&gMasterDisp, 0, 0, 100, 100, 100, 70, 100, 100, 100); + + Matrix_Push(&gGfxMatrix); + Matrix_Translate(gGfxMatrix, x, y, 0.0f, 1); + Matrix_RotateX(gGfxMatrix, M_DTOR * 20.0f, 1); + Matrix_Scale(gGfxMatrix, 0.01f, 0.01f, 0.01f, 1); + Matrix_SetGfxMtx(&gMasterDisp); + + gSPDisplayList(gMasterDisp++, D_EBFBE0_801AEE6C[data]); + + Matrix_Pop(&gGfxMatrix); + break; + + case 1: + RCP_SetupDL(&gMasterDisp, 0x17); + Lights_SetOneLight(&gMasterDisp, 0, 0, 100, 100, 100, 70, 100, 100, 100); + + Matrix_Push(&gGfxMatrix); + Matrix_Translate(gGfxMatrix, x, y, 0.0f, 1); + Matrix_RotateX(gGfxMatrix, M_DTOR * 20.0f, 1); + Matrix_Scale(gGfxMatrix, 0.01f, 0.01f, 0.01f, 1); + Matrix_SetGfxMtx(&gMasterDisp); + + gSPDisplayList(gMasterDisp++, D_EBFBE0_801AEE6C[data]); + + Matrix_Pop(&gGfxMatrix); + break; + + default: + RCP_SetupDL(&gMasterDisp, 0x3E); + + gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255); + + Matrix_Push(&gGfxMatrix); + Matrix_Translate(gGfxMatrix, x, y, 0.0f, 1); + Matrix_Scale(gGfxMatrix, 0.3f, 0.3f, 0.3f, 1); + Matrix_SetGfxMtx(&gMasterDisp); + + gSPDisplayList(gMasterDisp++, D_EBFBE0_801AEE6C[data]); + + if ((data != 14) && (data != 15) && (data != 11)) { + if (data == 7) { + gDPSetPrimColor(gMasterDisp++, 0, 0, 64, 64, 64, 255); + } else { + gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255); + } + Matrix_SetGfxMtx(&gMasterDisp); + gSPDisplayList(gMasterDisp++, D_EBFBE0_801B4A40); + } + Matrix_Scale(gGfxMatrix, 1.6f, 1.6f, 1.6f, 1); + Matrix_SetGfxMtx(&gMasterDisp); + + gSPDisplayList(gMasterDisp++, D_605C230); + + Matrix_Pop(&gGfxMatrix); + break; + } + + spF4 = (spFC >> i) & 1; + if (spF4 != 0) { + func_EBFBE0_80199198(x, y, 0.0f); + } + } + + Matrix_Pop(&gGfxMatrix); + + func_EBFBE0_80192738(); + + D_EBFBE0_801AF130 += 0.1f; + + Lib_Perspective(&gMasterDisp); +} +#else #pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_EBFBE0/fox_option/func_EBFBE0_8019896C.s") +#endif void func_EBFBE0_80199198(f32 arg0, f32 arg1, f32 arg2) { - func_800B8DD0(&gMasterDisp, 0x35); + RCP_SetupDL(&gMasterDisp, 0x35); Matrix_Push(&gGfxMatrix); Matrix_Translate(gGfxMatrix, arg0 - D_EBFBE0_801AF140, arg1 + D_EBFBE0_801AF144, arg2, 1); Matrix_Scale(gGfxMatrix, D_EBFBE0_801AF13C, D_EBFBE0_801AF13C, D_EBFBE0_801AF13C, 1); diff --git a/src/overlays/ovl_EBFBE0/fox_title.c b/src/overlays/ovl_EBFBE0/fox_title.c index 60a780d7..c73112b1 100644 --- a/src/overlays/ovl_EBFBE0/fox_title.c +++ b/src/overlays/ovl_EBFBE0/fox_title.c @@ -267,7 +267,7 @@ void func_EBFBE0_80187CA8(void) { s32 temp = 20; s32 temp2 = 36; - func_800B8DD0(&gMasterDisp, 0x53); + RCP_SetupDL(&gMasterDisp, 0x53); gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 0, 255); @@ -278,7 +278,7 @@ void func_EBFBE0_80187CA8(void) { TextureRect_8bIA(&gMasterDisp, D_5000300, 16, 8, 148.0f, temp, 1.0f, 1.0f); TextureRect_8bIA(&gMasterDisp, D_5000200, 16, 8, 164, temp, 1.0f, 1.0f); - func_800B8DD0(&gMasterDisp, 0x53); + RCP_SetupDL(&gMasterDisp, 0x53); gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255); @@ -290,7 +290,7 @@ void func_EBFBE0_80187E28(void) { s32 temp; s32 i; - func_800B8DD0(&gMasterDisp, 0x53); + RCP_SetupDL(&gMasterDisp, 0x53); gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 0, 255); @@ -2121,7 +2121,7 @@ void func_EBFBE0_8018D2B8(s32 arg0) { Lights_SetOneLight(&gMasterDisp, D_EBFBE0_801B82E0, D_EBFBE0_801B82E4, D_EBFBE0_801B82E8, D_80178548, D_8017854C, D_80178550, D_80178554, D_80178558, D_8017855C); - func_800B8DD0(&gMasterDisp, 0x17); + RCP_SetupDL(&gMasterDisp, 0x17); Matrix_Push(&gGfxMatrix); @@ -2174,7 +2174,7 @@ void func_EBFBE0_8018D510(s32 arg0) { f32 var_fa0; f32 temp; - func_800B8DD0(&gMasterDisp, 0x43); + RCP_SetupDL(&gMasterDisp, 0x43); gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255); if (D_EBFBE0_801B84E8[arg0].unk_40 == 1) { @@ -2261,7 +2261,7 @@ void func_EBFBE0_8018D80C(s32 arg0) { temp = sqrtf(SQ(D_80177988 - D_EBFBE0_801B84E8[arg0].unk_00.z) + SQ(D_80177978 - D_EBFBE0_801B84E8[arg0].unk_00.x)); sp70 = Math_Atan2F(D_80177980 - D_EBFBE0_801B84E8[arg0].unk_00.y, temp); - func_800B8DD0(&gMasterDisp, 0x31); + RCP_SetupDL(&gMasterDisp, 0x31); gDPSetPrimColor(gMasterDisp++, 0, 0, 253, 253, 255, 255); gDPSetEnvColor(gMasterDisp++, 251, 251, 255, 255); @@ -2313,7 +2313,7 @@ void func_EBFBE0_8018DF0C(f32 arg0) { f32 sp30; func_EBFBE0_80191798(&sp34, &sp30); - func_800B8DD0(&gMasterDisp, 0x35); + RCP_SetupDL(&gMasterDisp, 0x35); if (arg0 != 0.0f) { D_EBFBE0_801B8688.pos.z = D_80177988 - arg0; @@ -2346,7 +2346,7 @@ void func_EBFBE0_8018E058(void) { Matrix_Scale(gGfxMatrix, D_EBFBE0_801B8658.scale, D_EBFBE0_801B8658.scale, D_EBFBE0_801B8658.scale, 1); Matrix_SetGfxMtx(&gMasterDisp); - func_800B8DD0(&gMasterDisp, 0x17); + RCP_SetupDL(&gMasterDisp, 0x17); D_80177B8C = 1; @@ -2404,7 +2404,7 @@ void func_EBFBE0_8018E200(void) { } } - func_800B8DD0(&gMasterDisp, 0x31); + RCP_SetupDL(&gMasterDisp, 0x31); for (i = 0; i < D_EBFBE0_801B7C98; i++) { gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 200, 200, D_EBFBE0_801B7CC8[i]); @@ -2497,7 +2497,7 @@ void func_EBFBE0_8018EA78(s32 arg0) { sp44 = D_EBFBE0_801B8350[arg0].unk_58 % Animation_GetFrameCount(D_EBFBE0_801ADA00[arg0].unk_4); - func_800B8DD0(&gMasterDisp, 0x17); + RCP_SetupDL(&gMasterDisp, 0x17); Lights_SetOneLight(&gMasterDisp, D_EBFBE0_801B82E0, D_EBFBE0_801B82E4, D_EBFBE0_801B82E8, D_80178548, D_8017854C, D_80178550, D_80178554, D_80178558, D_8017855C); @@ -2699,7 +2699,7 @@ void func_EBFBE0_8018F438(void) { void func_EBFBE0_8018F680(void) { s32 i; - func_800B8DD0(&gMasterDisp, 0x53); + RCP_SetupDL(&gMasterDisp, 0x53); gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255); for (i = 0; i < 30; i++) { @@ -2709,7 +2709,7 @@ void func_EBFBE0_8018F680(void) { } void func_EBFBE0_8018F77C(void) { - func_800B8DD0(&gMasterDisp, 0x35); + RCP_SetupDL(&gMasterDisp, 0x35); Matrix_Push(&gGfxMatrix); Matrix_Translate(gGfxMatrix, D_EBFBE0_801B905C, D_EBFBE0_801B9060, D_EBFBE0_801B9064, 1); Matrix_Scale(gGfxMatrix, D_EBFBE0_801B9068, D_EBFBE0_801B906C, 1.0f, 1); @@ -2720,7 +2720,7 @@ void func_EBFBE0_8018F77C(void) { } void func_EBFBE0_8018F85C(void) { - func_800B8DD0(&gMasterDisp, 0x53); + RCP_SetupDL(&gMasterDisp, 0x53); gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255); TextureRect_8bIA(&gMasterDisp, D_6013470, 16, 16, 234.0f, 20.0f, 1.0f, 1.0f); } @@ -2747,13 +2747,13 @@ void func_EBFBE0_8018F8E4(void) { } if (D_80177AF8 < 0) { - func_800B8DD0(&gMasterDisp, 0x55); + RCP_SetupDL(&gMasterDisp, 0x55); gDPSetPrimColor(gMasterDisp++, 0, 0, 60, 60, 255, 200); TextureRect_8bCI(&gMasterDisp, &D_601D750, &D_601DB50, 32, 32, D_EBFBE0_801AE464, D_EBFBE0_801AE468, D_EBFBE0_801AE46C, D_EBFBE0_801AE470); - func_800B8DD0(&gMasterDisp, 0x53); + RCP_SetupDL(&gMasterDisp, 0x53); gDPSetPrimColor(gMasterDisp++, 0, 0, 255, (s32) D_EBFBE0_801B7BC8, (s32) D_EBFBE0_801B7BC8, 255); @@ -2762,7 +2762,7 @@ void func_EBFBE0_8018F8E4(void) { D_EBFBE0_801AE478 + (i * 4.0f), 1.0f, 1.0f); } } else { - func_800B8DD0(&gMasterDisp, 0x53); + RCP_SetupDL(&gMasterDisp, 0x53); gDPSetPrimColor(gMasterDisp++, 0, 0, 255, (s32) D_EBFBE0_801B7BC8, (s32) D_EBFBE0_801B7BC8, 255); for (i = 0; i < 2; i++) { @@ -2776,7 +2776,7 @@ void func_EBFBE0_8018F8E4(void) { void func_EBFBE0_8018FC14(void) { s32 i; - func_800B8DD0(&gMasterDisp, 0x53); + RCP_SetupDL(&gMasterDisp, 0x53); gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255); for (i = 0; i < 2; i++) { @@ -2796,7 +2796,7 @@ void func_EBFBE0_8018FD08(void) { temp_fs2 = D_EBFBE0_801AE47C[D_EBFBE0_801B8340]; temp = 210.0f; - func_800B8DD0(&gMasterDisp, 0x53); + RCP_SetupDL(&gMasterDisp, 0x53); gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255); @@ -2856,7 +2856,7 @@ void func_EBFBE0_8018FF74(void) { D_EBFBE0_801B7BD0 -= 2; } - func_800B8DD0(&gMasterDisp, 0x53); + RCP_SetupDL(&gMasterDisp, 0x53); gDPSetAlphaDither(gMasterDisp++, G_AD_NOISE); gDPSetColorDither(gMasterDisp++, G_CD_NOISE); @@ -2898,7 +2898,7 @@ void func_EBFBE0_80190144(void) { } if (D_80178340 > 0) { - func_800B8DD0(&gMasterDisp, 0x3E); + RCP_SetupDL(&gMasterDisp, 0x3E); gDPSetAlphaDither(gMasterDisp++, G_AD_NOISE); gDPSetColorDither(gMasterDisp++, G_CD_NOISE); @@ -2929,7 +2929,7 @@ void func_EBFBE0_801903B8(void) { f32 temp; s32 i; - func_800B8DD0(&gMasterDisp, 0x3E); + RCP_SetupDL(&gMasterDisp, 0x3E); gDPSetAlphaDither(gMasterDisp++, G_AD_NOISE); gDPSetColorDither(gMasterDisp++, G_CD_NOISE); @@ -2975,7 +2975,7 @@ void func_EBFBE0_801906A0(void) { switch (D_EBFBE0_801B7BD4) { case 0: - func_800B8DD0(&gMasterDisp, 0x55); + RCP_SetupDL(&gMasterDisp, 0x55); gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, (s32) D_EBFBE0_801B7BDC); TextureRect_4bCI(&gMasterDisp, D_6014140, D_60147C0, 256, 13, 90.0f, 110.0f, 1.0f, 1.0f); gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, (s32) D_EBFBE0_801B7BE0); @@ -2983,7 +2983,7 @@ void func_EBFBE0_801906A0(void) { break; case 1: - func_800B8DD0(&gMasterDisp, 0x53); + RCP_SetupDL(&gMasterDisp, 0x53); gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, (s32) D_EBFBE0_801B7BDC); for (i = 0; i < 5; i++) { @@ -3002,7 +3002,7 @@ void func_EBFBE0_801906A0(void) { void func_EBFBE0_80190950(void) { Lights_SetOneLight(&gMasterDisp, D_EBFBE0_801B82E0, D_EBFBE0_801B82E4, D_EBFBE0_801B82E8, 0, 0, 0, D_80178554, D_80178558, D_8017855C); - func_800B8DD0(&gMasterDisp, 0x17); + RCP_SetupDL(&gMasterDisp, 0x17); Matrix_Push(&gGfxMatrix); Matrix_Translate(gGfxMatrix, 0.0f, D_EBFBE0_801B9048, D_EBFBE0_801B904C, 1); @@ -3028,7 +3028,7 @@ void func_EBFBE0_80190A98(void) { void func_EBFBE0_80190B30(s32 arg0) { Lights_SetOneLight(&gMasterDisp, D_EBFBE0_801B82E0, D_EBFBE0_801B82E4, D_EBFBE0_801B82E8, D_80178548, D_8017854C, D_80178550, D_80178554, D_80178558, D_8017855C); - func_800B8DD0(&gMasterDisp, 0x17); + RCP_SetupDL(&gMasterDisp, 0x17); Matrix_Push(&gGfxMatrix); Matrix_Translate(gGfxMatrix, D_EBFBE0_801B84E8[arg0].unk_00.x, -12.8f, D_EBFBE0_801B9044, 1); @@ -3052,13 +3052,13 @@ void func_EBFBE0_80190C9C(void) { break; case 1: - func_800B8DD0(&gMasterDisp, 0x53); + RCP_SetupDL(&gMasterDisp, 0x53); gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255); TextureRect_8bIA(&gMasterDisp, D_600E980, 144, 28, D_EBFBE0_801AE55C, D_EBFBE0_801AE560, 1.0f, 1.0f); break; case 2: - func_800B8DD0(&gMasterDisp, 0x53); + RCP_SetupDL(&gMasterDisp, 0x53); gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255); for (i = 0; i < 4; i++) {