From 67331d5ddac9f6460df0f4a912ef65c3513ecef5 Mon Sep 17 00:00:00 2001 From: Tyler McGavran Date: Sat, 7 May 2022 00:59:17 -0400 Subject: [PATCH] Match a few functions in code_800431B0 (#192) Signed-off-by: Taggerung --- .../code_800431B0/func_80043668.s | 27 ----- .../code_800431B0/func_80045B2C.s | 19 --- .../code_800431B0/func_80045B74.s | 105 ----------------- src/code_800431B0.c | 110 +++++++----------- 4 files changed, 41 insertions(+), 220 deletions(-) delete mode 100644 asm/non_matchings/code_800431B0/func_80043668.s delete mode 100644 asm/non_matchings/code_800431B0/func_80045B2C.s delete mode 100644 asm/non_matchings/code_800431B0/func_80045B74.s diff --git a/asm/non_matchings/code_800431B0/func_80043668.s b/asm/non_matchings/code_800431B0/func_80043668.s deleted file mode 100644 index 620a5bcfe..000000000 --- a/asm/non_matchings/code_800431B0/func_80043668.s +++ /dev/null @@ -1,27 +0,0 @@ -glabel func_80043668 -/* 044268 80043668 44866000 */ mtc1 $a2, $f12 -/* 04426C 8004366C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 044270 80043670 AFBF0014 */ sw $ra, 0x14($sp) -/* 044274 80043674 44066000 */ mfc1 $a2, $f12 -/* 044278 80043678 0C010B80 */ jal func_80042E00 -/* 04427C 8004367C AFA70024 */ sw $a3, 0x24($sp) -/* 044280 80043680 3C058015 */ lui $a1, %hi(gDisplayListHead) # $a1, 0x8015 -/* 044284 80043684 24A50298 */ addiu $a1, %lo(gDisplayListHead) # addiu $a1, $a1, 0x298 -/* 044288 80043688 8CA20000 */ lw $v0, ($a1) -/* 04428C 8004368C 3C0F0D00 */ lui $t7, %hi(D_0D0078A0) # $t7, 0xd00 -/* 044290 80043690 3C060600 */ lui $a2, 0x600 -/* 044294 80043694 244E0008 */ addiu $t6, $v0, 8 -/* 044298 80043698 ACAE0000 */ sw $t6, ($a1) -/* 04429C 8004369C 25EF78A0 */ addiu $t7, %lo(D_0D0078A0) # addiu $t7, $t7, 0x78a0 -/* 0442A0 800436A0 AC4F0004 */ sw $t7, 4($v0) -/* 0442A4 800436A4 AC460000 */ sw $a2, ($v0) -/* 0442A8 800436A8 8CA20000 */ lw $v0, ($a1) -/* 0442AC 800436AC 24580008 */ addiu $t8, $v0, 8 -/* 0442B0 800436B0 ACB80000 */ sw $t8, ($a1) -/* 0442B4 800436B4 AC460000 */ sw $a2, ($v0) -/* 0442B8 800436B8 8FB90024 */ lw $t9, 0x24($sp) -/* 0442BC 800436BC AC590004 */ sw $t9, 4($v0) -/* 0442C0 800436C0 8FBF0014 */ lw $ra, 0x14($sp) -/* 0442C4 800436C4 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0442C8 800436C8 03E00008 */ jr $ra -/* 0442CC 800436CC 00000000 */ nop diff --git a/asm/non_matchings/code_800431B0/func_80045B2C.s b/asm/non_matchings/code_800431B0/func_80045B2C.s deleted file mode 100644 index dd028e161..000000000 --- a/asm/non_matchings/code_800431B0/func_80045B2C.s +++ /dev/null @@ -1,19 +0,0 @@ -glabel func_80045B2C -/* 04672C 80045B2C 3C068015 */ lui $a2, %hi(gDisplayListHead) # $a2, 0x8015 -/* 046730 80045B30 24C60298 */ addiu $a2, %lo(gDisplayListHead) # addiu $a2, $a2, 0x298 -/* 046734 80045B34 8CC30000 */ lw $v1, ($a2) -/* 046738 80045B38 3C0F0400 */ lui $t7, (0x0400103F >> 16) # lui $t7, 0x400 -/* 04673C 80045B3C 35EF103F */ ori $t7, (0x0400103F & 0xFFFF) # ori $t7, $t7, 0x103f -/* 046740 80045B40 246E0008 */ addiu $t6, $v1, 8 -/* 046744 80045B44 ACCE0000 */ sw $t6, ($a2) -/* 046748 80045B48 AC640004 */ sw $a0, 4($v1) -/* 04674C 80045B4C AC6F0000 */ sw $t7, ($v1) -/* 046750 80045B50 8CC30000 */ lw $v1, ($a2) -/* 046754 80045B54 3C080D00 */ lui $t0, %hi(D_0D006940) # $t0, 0xd00 -/* 046758 80045B58 25086940 */ addiu $t0, %lo(D_0D006940) # addiu $t0, $t0, 0x6940 -/* 04675C 80045B5C 24780008 */ addiu $t8, $v1, 8 -/* 046760 80045B60 ACD80000 */ sw $t8, ($a2) -/* 046764 80045B64 3C190600 */ lui $t9, 0x600 -/* 046768 80045B68 AC790000 */ sw $t9, ($v1) -/* 04676C 80045B6C 03E00008 */ jr $ra -/* 046770 80045B70 AC680004 */ sw $t0, 4($v1) diff --git a/asm/non_matchings/code_800431B0/func_80045B74.s b/asm/non_matchings/code_800431B0/func_80045B74.s deleted file mode 100644 index 661d77a0f..000000000 --- a/asm/non_matchings/code_800431B0/func_80045B74.s +++ /dev/null @@ -1,105 +0,0 @@ -glabel func_80045B74 -/* 046774 80045B74 3C068015 */ lui $a2, %hi(gDisplayListHead) # $a2, 0x8015 -/* 046778 80045B78 24C60298 */ addiu $a2, %lo(gDisplayListHead) # addiu $a2, $a2, 0x298 -/* 04677C 80045B7C 8CC30000 */ lw $v1, ($a2) -/* 046780 80045B80 3C0F0400 */ lui $t7, (0x04000C2F >> 16) # lui $t7, 0x400 -/* 046784 80045B84 35EF0C2F */ ori $t7, (0x04000C2F & 0xFFFF) # ori $t7, $t7, 0xc2f -/* 046788 80045B88 246E0008 */ addiu $t6, $v1, 8 -/* 04678C 80045B8C ACCE0000 */ sw $t6, ($a2) -/* 046790 80045B90 AC640004 */ sw $a0, 4($v1) -/* 046794 80045B94 AC6F0000 */ sw $t7, ($v1) -/* 046798 80045B98 8CC30000 */ lw $v1, ($a2) -/* 04679C 80045B9C 3C080D00 */ lui $t0, %hi(D_0D006930) # $t0, 0xd00 -/* 0467A0 80045BA0 25086930 */ addiu $t0, %lo(D_0D006930) # addiu $t0, $t0, 0x6930 -/* 0467A4 80045BA4 24780008 */ addiu $t8, $v1, 8 -/* 0467A8 80045BA8 ACD80000 */ sw $t8, ($a2) -/* 0467AC 80045BAC 3C190600 */ lui $t9, 0x600 -/* 0467B0 80045BB0 AC790000 */ sw $t9, ($v1) -/* 0467B4 80045BB4 03E00008 */ jr $ra -/* 0467B8 80045BB8 AC680004 */ sw $t0, 4($v1) - -/* 0467BC 80045BBC 44866000 */ mtc1 $a2, $f12 -/* 0467C0 80045BC0 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0467C4 80045BC4 AFBF0014 */ sw $ra, 0x14($sp) -/* 0467C8 80045BC8 44066000 */ mfc1 $a2, $f12 -/* 0467CC 80045BCC 0C010B80 */ jal func_80042E00 -/* 0467D0 80045BD0 AFA70024 */ sw $a3, 0x24($sp) -/* 0467D4 80045BD4 3C038015 */ lui $v1, %hi(gDisplayListHead) # $v1, 0x8015 -/* 0467D8 80045BD8 24630298 */ addiu $v1, %lo(gDisplayListHead) # addiu $v1, $v1, 0x298 -/* 0467DC 80045BDC 8C620000 */ lw $v0, ($v1) -/* 0467E0 80045BE0 3C0F0D00 */ lui $t7, %hi(D_0D0078A0) # $t7, 0xd00 -/* 0467E4 80045BE4 3C070600 */ lui $a3, 0x600 -/* 0467E8 80045BE8 244E0008 */ addiu $t6, $v0, 8 -/* 0467EC 80045BEC AC6E0000 */ sw $t6, ($v1) -/* 0467F0 80045BF0 25EF78A0 */ addiu $t7, %lo(D_0D0078A0) # addiu $t7, $t7, 0x78a0 -/* 0467F4 80045BF4 AC4F0004 */ sw $t7, 4($v0) -/* 0467F8 80045BF8 AC470000 */ sw $a3, ($v0) -/* 0467FC 80045BFC 8C620000 */ lw $v0, ($v1) -/* 046800 80045C00 3C190400 */ lui $t9, (0x0400103F >> 16) # lui $t9, 0x400 -/* 046804 80045C04 3739103F */ ori $t9, (0x0400103F & 0xFFFF) # ori $t9, $t9, 0x103f -/* 046808 80045C08 24580008 */ addiu $t8, $v0, 8 -/* 04680C 80045C0C AC780000 */ sw $t8, ($v1) -/* 046810 80045C10 AC590000 */ sw $t9, ($v0) -/* 046814 80045C14 8FA80024 */ lw $t0, 0x24($sp) -/* 046818 80045C18 3C0A0D00 */ lui $t2, %hi(D_0D006940) # $t2, 0xd00 -/* 04681C 80045C1C 254A6940 */ addiu $t2, %lo(D_0D006940) # addiu $t2, $t2, 0x6940 -/* 046820 80045C20 AC480004 */ sw $t0, 4($v0) -/* 046824 80045C24 8C620000 */ lw $v0, ($v1) -/* 046828 80045C28 24490008 */ addiu $t1, $v0, 8 -/* 04682C 80045C2C AC690000 */ sw $t1, ($v1) -/* 046830 80045C30 AC4A0004 */ sw $t2, 4($v0) -/* 046834 80045C34 AC470000 */ sw $a3, ($v0) -/* 046838 80045C38 8FBF0014 */ lw $ra, 0x14($sp) -/* 04683C 80045C3C 27BD0018 */ addiu $sp, $sp, 0x18 -/* 046840 80045C40 03E00008 */ jr $ra -/* 046844 80045C44 00000000 */ nop - -/* 046848 80045C48 44866000 */ mtc1 $a2, $f12 -/* 04684C 80045C4C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 046850 80045C50 AFBF0014 */ sw $ra, 0x14($sp) -/* 046854 80045C54 44066000 */ mfc1 $a2, $f12 -/* 046858 80045C58 0C010B80 */ jal func_80042E00 -/* 04685C 80045C5C AFA70024 */ sw $a3, 0x24($sp) -/* 046860 80045C60 3C038015 */ lui $v1, %hi(gDisplayListHead) # $v1, 0x8015 -/* 046864 80045C64 24630298 */ addiu $v1, %lo(gDisplayListHead) # addiu $v1, $v1, 0x298 -/* 046868 80045C68 8C620000 */ lw $v0, ($v1) -/* 04686C 80045C6C 3C0F0D00 */ lui $t7, %hi(D_0D0078D0) # $t7, 0xd00 -/* 046870 80045C70 3C090600 */ lui $t1, 0x600 -/* 046874 80045C74 244E0008 */ addiu $t6, $v0, 8 -/* 046878 80045C78 AC6E0000 */ sw $t6, ($v1) -/* 04687C 80045C7C 25EF78D0 */ addiu $t7, %lo(D_0D0078D0) # addiu $t7, $t7, 0x78d0 -/* 046880 80045C80 AC4F0004 */ sw $t7, 4($v0) -/* 046884 80045C84 AC490000 */ sw $t1, ($v0) -/* 046888 80045C88 8C620000 */ lw $v0, ($v1) -/* 04688C 80045C8C 3C19B600 */ lui $t9, 0xb600 -/* 046890 80045C90 240A3000 */ li $t2, 12288 -/* 046894 80045C94 24580008 */ addiu $t8, $v0, 8 -/* 046898 80045C98 AC780000 */ sw $t8, ($v1) -/* 04689C 80045C9C AC4A0004 */ sw $t2, 4($v0) -/* 0468A0 80045CA0 AC590000 */ sw $t9, ($v0) -/* 0468A4 80045CA4 8C620000 */ lw $v0, ($v1) -/* 0468A8 80045CA8 3C0C0400 */ lui $t4, (0x0400103F >> 16) # lui $t4, 0x400 -/* 0468AC 80045CAC 358C103F */ ori $t4, (0x0400103F & 0xFFFF) # ori $t4, $t4, 0x103f -/* 0468B0 80045CB0 244B0008 */ addiu $t3, $v0, 8 -/* 0468B4 80045CB4 AC6B0000 */ sw $t3, ($v1) -/* 0468B8 80045CB8 AC4C0000 */ sw $t4, ($v0) -/* 0468BC 80045CBC 8FAD0024 */ lw $t5, 0x24($sp) -/* 0468C0 80045CC0 3C0F0D00 */ lui $t7, %hi(D_0D006940) # $t7, 0xd00 -/* 0468C4 80045CC4 25EF6940 */ addiu $t7, %lo(D_0D006940) # addiu $t7, $t7, 0x6940 -/* 0468C8 80045CC8 AC4D0004 */ sw $t5, 4($v0) -/* 0468CC 80045CCC 8C620000 */ lw $v0, ($v1) -/* 0468D0 80045CD0 3C19B700 */ lui $t9, 0xb700 -/* 0468D4 80045CD4 240A2000 */ li $t2, 8192 -/* 0468D8 80045CD8 244E0008 */ addiu $t6, $v0, 8 -/* 0468DC 80045CDC AC6E0000 */ sw $t6, ($v1) -/* 0468E0 80045CE0 AC4F0004 */ sw $t7, 4($v0) -/* 0468E4 80045CE4 AC490000 */ sw $t1, ($v0) -/* 0468E8 80045CE8 8C620000 */ lw $v0, ($v1) -/* 0468EC 80045CEC 24580008 */ addiu $t8, $v0, 8 -/* 0468F0 80045CF0 AC780000 */ sw $t8, ($v1) -/* 0468F4 80045CF4 AC4A0004 */ sw $t2, 4($v0) -/* 0468F8 80045CF8 AC590000 */ sw $t9, ($v0) -/* 0468FC 80045CFC 8FBF0014 */ lw $ra, 0x14($sp) -/* 046900 80045D00 27BD0018 */ addiu $sp, $sp, 0x18 -/* 046904 80045D04 03E00008 */ jr $ra -/* 046908 80045D08 00000000 */ nop diff --git a/src/code_800431B0.c b/src/code_800431B0.c index 27a83d364..0f21a5713 100644 --- a/src/code_800431B0.c +++ b/src/code_800431B0.c @@ -4,16 +4,16 @@ //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 extern void func_80042E00(s32, s32, f32); // extern -extern s8 D_0D006940[]; +extern Gfx D_0D006940[]; extern Gfx *gDisplayListHead; void func_800431B0(s32 arg0, Vtx *arg1, f32 arg2, s32 arg3) { func_80042E00(arg0, arg1, arg2); gSPVertex(gDisplayListHead++, arg3, 4, 0); - gSPDisplayList(gDisplayListHead++, &D_0D006940); + gSPDisplayList(gDisplayListHead++, D_0D006940); } -extern s8 D_0D0077A0[]; +extern Gfx D_0D0077A0[]; void func_80043220(s32 arg0, s32 arg1, f32 arg2, s32 arg3) { func_80042E00(arg0, arg1, arg2); gSPDisplayList(gDisplayListHead++, &D_0D0077A0); @@ -22,13 +22,13 @@ void func_80043220(s32 arg0, s32 arg1, f32 arg2, s32 arg3) { UNUSED void func_800433288(s32 arg0, s32 arg1, f32 arg2, s32 arg3) { func_80042E00(arg0, arg1, arg2); - gSPDisplayList(gDisplayListHead++, &D_0D0077A0); + gSPDisplayList(gDisplayListHead++, D_0D0077A0); gSPClearGeometryMode(gDisplayListHead++, G_CULL_BOTH); gSPDisplayList(gDisplayListHead++, arg3); gSPSetGeometryMode(gDisplayListHead++, G_CULL_BACK); } -extern s8 D_0D0077D0[]; +extern Gfx D_0D0077D0[]; void func_80043328(s32 arg0, s32 arg1, f32 arg2, s32 arg3) { func_80042E00(arg0, arg1, arg2); @@ -36,35 +36,35 @@ void func_80043328(s32 arg0, s32 arg1, f32 arg2, s32 arg3) { gSPDisplayList(gDisplayListHead++, arg3); } -extern s8 D_0D0077F8[]; -extern s8 D_0D007828[]; +extern Gfx D_0D0077F8[]; +extern Gfx D_0D007828[]; UNUSED void *func_80043390(s32 arg0, s32 arg1, f32 arg2, s32 arg3) { func_80042E00(arg0, arg1, arg2); - gSPDisplayList(gDisplayListHead++, &D_0D0077F8); + gSPDisplayList(gDisplayListHead++, D_0D0077F8); gSPDisplayList(gDisplayListHead++, arg3); } UNUSED void func_800433F8(s32 arg0, s32 arg1, f32 arg2, s32 arg3) { func_80042E00(arg0, arg1, arg2); - gSPDisplayList(gDisplayListHead++, &D_0D007828); + gSPDisplayList(gDisplayListHead++, D_0D007828); gSPDisplayList(gDisplayListHead++, arg3); } UNUSED void func_80043460(s32 arg0, s32 arg1, f32 arg2, s32 arg3) { func_80042E00(arg0, arg1, arg2); - gSPDisplayList(gDisplayListHead++, &D_0D007828); + gSPDisplayList(gDisplayListHead++, D_0D007828); gSPClearGeometryMode(gDisplayListHead++, G_CULL_BOTH); gSPDisplayList(gDisplayListHead++, arg3); gSPSetGeometryMode(gDisplayListHead++, G_CULL_BACK); } -extern s8 D_0D007850[]; +extern Gfx D_0D007850[]; void func_80043500(s32 arg0, s32 arg1, f32 arg2, s32 arg3) { func_80042E00(arg0, arg1, arg2); - gSPDisplayList(gDisplayListHead++, &D_0D007850); + gSPDisplayList(gDisplayListHead++, D_0D007850); gSPClearGeometryMode(gDisplayListHead++, G_CULL_BOTH); gSPDisplayList(gDisplayListHead++, arg3); gSPSetGeometryMode(gDisplayListHead++, G_CULL_BACK); @@ -109,24 +109,12 @@ void func_800435A0(? arg2, s32 arg3, s32 arg4) { GLOBAL_ASM("asm/non_matchings/code_800431B0/func_800435A0.s") #endif -#ifdef MIPS_TO_C -UNUSED void func_80043668(? arg2, s32 arg3) { - void* temp_v0; - void* temp_v0_2; - - func_80042E00(arg2, arg2); - temp_v0 = gDisplayListHead; - gDisplayListHead = temp_v0 + 8; - temp_v0->unk4 = &D_0D0078A0; - temp_v0->unk0 = 0x06000000; - temp_v0_2 = gDisplayListHead; - gDisplayListHead = temp_v0_2 + 8; - temp_v0_2->unk0 = 0x06000000; - temp_v0_2->unk4 = arg3; +extern Gfx D_0D0078A0[]; +UNUSED void func_80043668(s32 arg0, Vtx *arg1, f32 arg2, Vtx *arg3) { + func_80042E00(arg0, arg1, arg2); + gSPDisplayList(gDisplayListHead++, D_0D0078A0); + gSPDisplayList(gDisplayListHead++, arg3); } -#else -GLOBAL_ASM("asm/non_matchings/code_800431B0/func_80043668.s") -#endif #ifdef MIPS_TO_C UNUSED void func_800436D0(s32 arg2, ? arg3, s32 arg4) { @@ -1548,49 +1536,33 @@ void func_80045738(s32 arg0, s32 arg1, s32 arg2, s32 arg3) { GLOBAL_ASM("asm/non_matchings/code_800431B0/func_80045738.s") #endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -extern ? D_0D006940; -extern void *gDisplayListHead; - -void func_80045B2C(s32 arg0) { - void *temp_v1; - void *temp_v1_2; - - temp_v1 = gDisplayListHead; - gDisplayListHead = temp_v1 + 8; - temp_v1->unk4 = arg0; - temp_v1->unk0 = 0x400103F; - temp_v1_2 = gDisplayListHead; - gDisplayListHead = temp_v1_2 + 8; - temp_v1_2->unk0 = 0x6000000; - temp_v1_2->unk4 = &D_0D006940; +void func_80045B2C(Vtx *arg0) { + gSPVertex(gDisplayListHead++, arg0, 4, 0); + gSPDisplayList(gDisplayListHead++, D_0D006940); } -#else -GLOBAL_ASM("asm/non_matchings/code_800431B0/func_80045B2C.s") -#endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -extern ? D_0D006930; -extern void *gDisplayListHead; - -void func_80045B74(s32 arg0) { - void *temp_v1; - void *temp_v1_2; - - temp_v1 = gDisplayListHead; - gDisplayListHead = temp_v1 + 8; - temp_v1->unk4 = arg0; - temp_v1->unk0 = 0x4000C2F; - temp_v1_2 = gDisplayListHead; - gDisplayListHead = temp_v1_2 + 8; - temp_v1_2->unk0 = 0x6000000; - temp_v1_2->unk4 = &D_0D006930; +extern Gfx D_0D006930[]; +void func_80045B74(Vtx *arg0) { + gSPVertex(gDisplayListHead++, arg0, 3, 0); + gSPDisplayList(gDisplayListHead++, D_0D006930); +} + +UNUSED void func_80045BBC(s32 arg0, Vtx *arg1, f32 arg2, Vtx *arg3) { + func_80042E00(arg0, arg1, arg2); + gSPDisplayList(gDisplayListHead++, D_0D0078A0); + gSPVertex(gDisplayListHead++, arg3, 4, 0); + gSPDisplayList(gDisplayListHead++, D_0D006940); +} + +extern Gfx D_0D0078D0[]; +UNUSED void func_80045C48(s32 arg0, Vtx *arg1, f32 arg2, Vtx *arg3) { + func_80042E00(arg0, arg1, arg2); + gSPDisplayList(gDisplayListHead++, D_0D0078D0); + gSPClearGeometryMode(gDisplayListHead++, G_CULL_BOTH); + gSPVertex(gDisplayListHead++, arg3, 4, 0); + gSPDisplayList(gDisplayListHead++, D_0D006940); + gSPSetGeometryMode(gDisplayListHead++, G_CULL_BACK); } -#else -GLOBAL_ASM("asm/non_matchings/code_800431B0/func_80045B74.s") -#endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307