From 32fe030b42bc001b71d6edcf0530f60e6ecd73cc Mon Sep 17 00:00:00 2001 From: mzxrules Date: Wed, 18 Mar 2020 10:27:49 -0400 Subject: [PATCH 01/10] new repo, OK++ --- .gitignore | 1 + .../code/z_debug/func_800636C0.s | 48 --- .../code/z_debug/func_8006375C.s | 6 - .../code/z_debug/func_80063828.s | 67 ----- .../code/z_debug/func_8006390C.s | 228 -------------- .../code/z_debug/func_80063C04.s | 105 ------- .../code/z_debug/func_80063D7C.s | 81 ----- .../code/z_message_PAL/func_80109B3C.s | 2 +- data/z_debug.bss.s | 20 -- include/functions.h | 4 +- include/variables.h | 9 +- include/z64.h | 8 +- spec | 1 - src/code/z_debug.c | 282 +++++++++++++++++- 14 files changed, 288 insertions(+), 574 deletions(-) delete mode 100644 asm/non_matchings/code/z_debug/func_800636C0.s delete mode 100644 asm/non_matchings/code/z_debug/func_8006375C.s delete mode 100644 asm/non_matchings/code/z_debug/func_80063828.s delete mode 100644 asm/non_matchings/code/z_debug/func_8006390C.s delete mode 100644 asm/non_matchings/code/z_debug/func_80063C04.s delete mode 100644 asm/non_matchings/code/z_debug/func_80063D7C.s delete mode 100644 data/z_debug.bss.s diff --git a/.gitignore b/.gitignore index 76bc0fd81f..aa80cc362d 100644 --- a/.gitignore +++ b/.gitignore @@ -42,3 +42,4 @@ tools/asmsplitter/c/* #Per-user configuration .python-version +/tools/mipspro7.2_compiler/ \ No newline at end of file diff --git a/asm/non_matchings/code/z_debug/func_800636C0.s b/asm/non_matchings/code/z_debug/func_800636C0.s deleted file mode 100644 index 09f613b865..0000000000 --- a/asm/non_matchings/code/z_debug/func_800636C0.s +++ /dev/null @@ -1,48 +0,0 @@ -.rdata -glabel D_8013AD40 - .asciz "../z_debug.c" - .balign 4 - -.text -glabel func_800636C0 -/* ADA860 800636C0 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* ADA864 800636C4 AFBF0014 */ sw $ra, 0x14($sp) -/* ADA868 800636C8 3C058014 */ lui $a1, %hi(D_8013AD40) # $a1, 0x8014 -/* ADA86C 800636CC 24A5AD40 */ addiu $a1, %lo(D_8013AD40) # addiu $a1, $a1, -0x52c0 -/* ADA870 800636D0 240415D4 */ li $a0, 5588 -/* ADA874 800636D4 0C03F570 */ jal SystemArena_MallocDebug -/* ADA878 800636D8 24060104 */ li $a2, 260 -/* ADA87C 800636DC 3C048016 */ lui $a0, %hi(gGameInfo) # $a0, 0x8016 -/* ADA880 800636E0 2484FA90 */ addiu $a0, %lo(gGameInfo) # addiu $a0, $a0, -0x570 -/* ADA884 800636E4 AC820000 */ sw $v0, ($a0) -/* ADA888 800636E8 AC400000 */ sw $zero, ($v0) -/* ADA88C 800636EC 8C8F0000 */ lw $t7, ($a0) -/* ADA890 800636F0 240215C0 */ li $v0, 5568 -/* ADA894 800636F4 00001825 */ move $v1, $zero -/* ADA898 800636F8 ADE00004 */ sw $zero, 4($t7) -/* ADA89C 800636FC 8C980000 */ lw $t8, ($a0) -/* ADA8A0 80063700 AF000008 */ sw $zero, 8($t8) -/* ADA8A4 80063704 8C990000 */ lw $t9, ($a0) -/* ADA8A8 80063708 AF20000C */ sw $zero, 0xc($t9) -/* ADA8AC 8006370C 8C880000 */ lw $t0, ($a0) -/* ADA8B0 80063710 AD000010 */ sw $zero, 0x10($t0) -.L80063714: -/* ADA8B4 80063714 8C890000 */ lw $t1, ($a0) -/* ADA8B8 80063718 01235021 */ addu $t2, $t1, $v1 -/* ADA8BC 8006371C A5400014 */ sh $zero, 0x14($t2) -/* ADA8C0 80063720 8C8B0000 */ lw $t3, ($a0) -/* ADA8C4 80063724 01636021 */ addu $t4, $t3, $v1 -/* ADA8C8 80063728 A5800016 */ sh $zero, 0x16($t4) -/* ADA8CC 8006372C 8C8D0000 */ lw $t5, ($a0) -/* ADA8D0 80063730 01A37021 */ addu $t6, $t5, $v1 -/* ADA8D4 80063734 A5C00018 */ sh $zero, 0x18($t6) -/* ADA8D8 80063738 8C8F0000 */ lw $t7, ($a0) -/* ADA8DC 8006373C 01E3C021 */ addu $t8, $t7, $v1 -/* ADA8E0 80063740 24630008 */ addiu $v1, $v1, 8 -/* ADA8E4 80063744 1462FFF3 */ bne $v1, $v0, .L80063714 -/* ADA8E8 80063748 A700001A */ sh $zero, 0x1a($t8) -/* ADA8EC 8006374C 8FBF0014 */ lw $ra, 0x14($sp) -/* ADA8F0 80063750 27BD0018 */ addiu $sp, $sp, 0x18 -/* ADA8F4 80063754 03E00008 */ jr $ra -/* ADA8F8 80063758 00000000 */ nop - diff --git a/asm/non_matchings/code/z_debug/func_8006375C.s b/asm/non_matchings/code/z_debug/func_8006375C.s deleted file mode 100644 index 44630c7e23..0000000000 --- a/asm/non_matchings/code/z_debug/func_8006375C.s +++ /dev/null @@ -1,6 +0,0 @@ -glabel func_8006375C -/* ADA8FC 8006375C AFA40000 */ sw $a0, ($sp) -/* ADA900 80063760 AFA50004 */ sw $a1, 4($sp) -/* ADA904 80063764 03E00008 */ jr $ra -/* ADA908 80063768 AFA60008 */ sw $a2, 8($sp) - diff --git a/asm/non_matchings/code/z_debug/func_80063828.s b/asm/non_matchings/code/z_debug/func_80063828.s deleted file mode 100644 index 735375cf21..0000000000 --- a/asm/non_matchings/code/z_debug/func_80063828.s +++ /dev/null @@ -1,67 +0,0 @@ -.rdata -glabel D_8013AD50 - .asciz "%s" - .balign 4 - -.text -glabel func_80063828 -/* ADA9C8 80063828 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* ADA9CC 8006382C AFB60038 */ sw $s6, 0x38($sp) -/* ADA9D0 80063830 3C168012 */ lui $s6, %hi(D_8011E0B0) # $s6, 0x8012 -/* ADA9D4 80063834 26D6E0B0 */ addiu $s6, %lo(D_8011E0B0) # addiu $s6, $s6, -0x1f50 -/* ADA9D8 80063838 86CE0000 */ lh $t6, ($s6) -/* ADA9DC 8006383C AFB3002C */ sw $s3, 0x2c($sp) -/* ADA9E0 80063840 AFB20028 */ sw $s2, 0x28($sp) -/* ADA9E4 80063844 00809825 */ move $s3, $a0 -/* ADA9E8 80063848 AFBF003C */ sw $ra, 0x3c($sp) -/* ADA9EC 8006384C AFB50034 */ sw $s5, 0x34($sp) -/* ADA9F0 80063850 AFB40030 */ sw $s4, 0x30($sp) -/* ADA9F4 80063854 AFB10024 */ sw $s1, 0x24($sp) -/* ADA9F8 80063858 AFB00020 */ sw $s0, 0x20($sp) -/* ADA9FC 8006385C 19C00021 */ blez $t6, .L800638E4 -/* ADAA00 80063860 00009025 */ move $s2, $zero -/* ADAA04 80063864 3C108016 */ lui $s0, %hi(D_8015FA98) # $s0, 0x8016 -/* ADAA08 80063868 3C118016 */ lui $s1, %hi(D_8015FA9B) # $s1, 0x8016 -/* ADAA0C 8006386C 3C158014 */ lui $s5, %hi(D_8013AD50) # $s5, 0x8014 -/* ADAA10 80063870 3C148012 */ lui $s4, %hi(D_8011E0B4) # $s4, 0x8012 -/* ADAA14 80063874 2694E0B4 */ addiu $s4, %lo(D_8011E0B4) # addiu $s4, $s4, -0x1f4c -/* ADAA18 80063878 26B5AD50 */ addiu $s5, %lo(D_8013AD50) # addiu $s5, $s5, -0x52b0 -/* ADAA1C 8006387C 2631FA9B */ addiu $s1, %lo(D_8015FA9B) # addiu $s1, $s1, -0x565 -/* ADAA20 80063880 2610FA98 */ addiu $s0, %lo(D_8015FA98) # addiu $s0, $s0, -0x568 -.L80063884: -/* ADAA24 80063884 920F0002 */ lbu $t7, 2($s0) -/* ADAA28 80063888 02602025 */ move $a0, $s3 -/* ADAA2C 8006388C 000FC080 */ sll $t8, $t7, 2 -/* ADAA30 80063890 02981021 */ addu $v0, $s4, $t8 -/* ADAA34 80063894 90590003 */ lbu $t9, 3($v0) -/* ADAA38 80063898 90450000 */ lbu $a1, ($v0) -/* ADAA3C 8006389C 90460001 */ lbu $a2, 1($v0) -/* ADAA40 800638A0 90470002 */ lbu $a3, 2($v0) -/* ADAA44 800638A4 0C03ECEB */ jal GfxPrint_SetColor -/* ADAA48 800638A8 AFB90010 */ sw $t9, 0x10($sp) -/* ADAA4C 800638AC 02602025 */ move $a0, $s3 -/* ADAA50 800638B0 92050000 */ lbu $a1, ($s0) -/* ADAA54 800638B4 0C03ED07 */ jal GfxPrint_SetPos -/* ADAA58 800638B8 92060001 */ lbu $a2, 1($s0) -/* ADAA5C 800638BC 02602025 */ move $a0, $s3 -/* ADAA60 800638C0 02A02825 */ move $a1, $s5 -/* ADAA64 800638C4 0C03EF2D */ jal GfxPrint_Printf -/* ADAA68 800638C8 02203025 */ move $a2, $s1 -/* ADAA6C 800638CC 86C80000 */ lh $t0, ($s6) -/* ADAA70 800638D0 26520001 */ addiu $s2, $s2, 1 -/* ADAA74 800638D4 26100018 */ addiu $s0, $s0, 0x18 -/* ADAA78 800638D8 0248082A */ slt $at, $s2, $t0 -/* ADAA7C 800638DC 1420FFE9 */ bnez $at, .L80063884 -/* ADAA80 800638E0 26310018 */ addiu $s1, $s1, 0x18 -.L800638E4: -/* ADAA84 800638E4 8FBF003C */ lw $ra, 0x3c($sp) -/* ADAA88 800638E8 8FB00020 */ lw $s0, 0x20($sp) -/* ADAA8C 800638EC 8FB10024 */ lw $s1, 0x24($sp) -/* ADAA90 800638F0 8FB20028 */ lw $s2, 0x28($sp) -/* ADAA94 800638F4 8FB3002C */ lw $s3, 0x2c($sp) -/* ADAA98 800638F8 8FB40030 */ lw $s4, 0x30($sp) -/* ADAA9C 800638FC 8FB50034 */ lw $s5, 0x34($sp) -/* ADAAA0 80063900 8FB60038 */ lw $s6, 0x38($sp) -/* ADAAA4 80063904 03E00008 */ jr $ra -/* ADAAA8 80063908 27BD0040 */ addiu $sp, $sp, 0x40 - diff --git a/asm/non_matchings/code/z_debug/func_8006390C.s b/asm/non_matchings/code/z_debug/func_8006390C.s deleted file mode 100644 index 70b4986eb7..0000000000 --- a/asm/non_matchings/code/z_debug/func_8006390C.s +++ /dev/null @@ -1,228 +0,0 @@ -.late_rodata -glabel jtbl_8013AD80 - .word L80063A18 - .word L80063A18 - .word L80063A18 - .word L80063A18 - .word L80063A18 - .word L80063A18 - -.text -glabel func_8006390C -/* ADAAAC 8006390C 3C0B8016 */ lui $t3, %hi(gGameInfo) # $t3, 0x8016 -/* ADAAB0 80063910 256BFA90 */ addiu $t3, %lo(gGameInfo) # addiu $t3, $t3, -0x570 -/* ADAAB4 80063914 8D680000 */ lw $t0, ($t3) -/* ADAAB8 80063918 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* ADAABC 8006391C AFBF0014 */ sw $ra, 0x14($sp) -/* ADAAC0 80063920 8D0A0004 */ lw $t2, 4($t0) -/* ADAAC4 80063924 8D090000 */ lw $t1, ($t0) -/* ADAAC8 80063928 94850000 */ lhu $a1, ($a0) -/* ADAACC 8006392C 000A7080 */ sll $t6, $t2, 2 -/* ADAAD0 80063930 01CA7023 */ subu $t6, $t6, $t2 -/* ADAAD4 80063934 000E7040 */ sll $t6, $t6, 1 -/* ADAAD8 80063938 2401FFDF */ li $at, -33 -/* ADAADC 8006393C 01C96021 */ addu $t4, $t6, $t1 -/* ADAAE0 80063940 000C6100 */ sll $t4, $t4, 4 -/* ADAAE4 80063944 00A17827 */ nor $t7, $a1, $at -/* ADAAE8 80063948 00803025 */ move $a2, $a0 -/* ADAAEC 8006394C 258CFFF0 */ addiu $t4, $t4, -0x10 -/* ADAAF0 80063950 11E00008 */ beqz $t7, .L80063974 -/* ADAAF4 80063954 30A70F00 */ andi $a3, $a1, 0xf00 -/* ADAAF8 80063958 2401FFEF */ li $at, -17 -/* ADAAFC 8006395C 00A1C027 */ nor $t8, $a1, $at -/* ADAB00 80063960 13000004 */ beqz $t8, .L80063974 -/* ADAB04 80063964 2401EFFF */ li $at, -4097 -/* ADAB08 80063968 00A1C827 */ nor $t9, $a1, $at -/* ADAB0C 8006396C 17200022 */ bnez $t9, .L800639F8 -/* ADAB10 80063970 252DFFFF */ addiu $t5, $t1, -1 -.L80063974: -/* ADAB14 80063974 3C028012 */ lui $v0, %hi(D_8011E0D4) # $v0, 0x8012 -/* ADAB18 80063978 2442E0D4 */ addiu $v0, %lo(D_8011E0D4) # addiu $v0, $v0, -0x1f2c -/* ADAB1C 8006397C 00001825 */ move $v1, $zero -/* ADAB20 80063980 2404001D */ li $a0, 29 -.L80063984: -/* ADAB24 80063984 944D0000 */ lhu $t5, ($v0) -/* ADAB28 80063988 01A07027 */ not $t6, $t5 -/* ADAB2C 8006398C 01C57827 */ nor $t7, $t6, $a1 -/* ADAB30 80063990 55E00008 */ bnezl $t7, .L800639B4 -/* ADAB34 80063994 24630001 */ addiu $v1, $v1, 1 -/* ADAB38 80063998 94580002 */ lhu $t8, 2($v0) -/* ADAB3C 8006399C 94CD000C */ lhu $t5, 0xc($a2) -/* ADAB40 800639A0 0300C827 */ not $t9, $t8 -/* ADAB44 800639A4 032D7027 */ nor $t6, $t9, $t5 -/* ADAB48 800639A8 51C00005 */ beql $t6, $zero, .L800639C0 -/* ADAB4C 800639AC 2861001D */ slti $at, $v1, 0x1d -/* ADAB50 800639B0 24630001 */ addiu $v1, $v1, 1 -.L800639B4: -/* ADAB54 800639B4 1464FFF3 */ bne $v1, $a0, .L80063984 -/* ADAB58 800639B8 24420004 */ addiu $v0, $v0, 4 -/* ADAB5C 800639BC 2861001D */ slti $at, $v1, 0x1d -.L800639C0: -/* ADAB60 800639C0 5020008D */ beql $at, $zero, .L80063BF8 -/* ADAB64 800639C4 8FBF0014 */ lw $ra, 0x14($sp) -/* ADAB68 800639C8 146A0007 */ bne $v1, $t2, .L800639E8 -/* ADAB6C 800639CC 252F0001 */ addiu $t7, $t1, 1 -/* ADAB70 800639D0 24010007 */ li $at, 7 -/* ADAB74 800639D4 01E1001A */ div $zero, $t7, $at -/* ADAB78 800639D8 0000C010 */ mfhi $t8 -/* ADAB7C 800639DC AD180000 */ sw $t8, ($t0) -/* ADAB80 800639E0 10000085 */ b .L80063BF8 -/* ADAB84 800639E4 8FBF0014 */ lw $ra, 0x14($sp) -.L800639E8: -/* ADAB88 800639E8 AD030004 */ sw $v1, 4($t0) -/* ADAB8C 800639EC 8D790000 */ lw $t9, ($t3) -/* ADAB90 800639F0 10000080 */ b .L80063BF4 -/* ADAB94 800639F4 AF200000 */ sw $zero, ($t9) -.L800639F8: -/* ADAB98 800639F8 2DA10006 */ sltiu $at, $t5, 6 -/* ADAB9C 800639FC 1020007D */ beqz $at, .L80063BF4 -/* ADABA0 80063A00 000D6880 */ sll $t5, $t5, 2 -/* ADABA4 80063A04 3C018014 */ lui $at, %hi(jtbl_8013AD80) -/* ADABA8 80063A08 002D0821 */ addu $at, $at, $t5 -/* ADABAC 80063A0C 8C2DAD80 */ lw $t5, %lo(jtbl_8013AD80)($at) -/* ADABB0 80063A10 01A00008 */ jr $t5 -/* ADABB4 80063A14 00000000 */ nop -glabel L80063A18 -/* ADABB8 80063A18 8D0E000C */ lw $t6, 0xc($t0) -/* ADABBC 80063A1C 240F0010 */ li $t7, 16 -/* ADABC0 80063A20 54EE0010 */ bnel $a3, $t6, .L80063A64 -/* ADABC4 80063A24 AD0F0010 */ sw $t7, 0x10($t0) -/* ADABC8 80063A28 8D0F0010 */ lw $t7, 0x10($t0) -/* ADABCC 80063A2C 240D0001 */ li $t5, 1 -/* ADABD0 80063A30 25F8FFFF */ addiu $t8, $t7, -1 -/* ADABD4 80063A34 AD180010 */ sw $t8, 0x10($t0) -/* ADABD8 80063A38 8D680000 */ lw $t0, ($t3) -/* ADABDC 80063A3C 8D190010 */ lw $t9, 0x10($t0) -/* ADABE0 80063A40 07230005 */ bgezl $t9, .L80063A58 -/* ADABE4 80063A44 8D0E000C */ lw $t6, 0xc($t0) -/* ADABE8 80063A48 AD0D0010 */ sw $t5, 0x10($t0) -/* ADABEC 80063A4C 10000008 */ b .L80063A70 -/* ADABF0 80063A50 8D680000 */ lw $t0, ($t3) -/* ADABF4 80063A54 8D0E000C */ lw $t6, 0xc($t0) -.L80063A58: -/* ADABF8 80063A58 10000005 */ b .L80063A70 -/* ADABFC 80063A5C 00EE3826 */ xor $a3, $a3, $t6 -/* ADAC00 80063A60 AD0F0010 */ sw $t7, 0x10($t0) -.L80063A64: -/* ADAC04 80063A64 8D780000 */ lw $t8, ($t3) -/* ADAC08 80063A68 AF07000C */ sw $a3, 0xc($t8) -/* ADAC0C 80063A6C 8D680000 */ lw $t0, ($t3) -.L80063A70: -/* ADAC10 80063A70 30F90100 */ andi $t9, $a3, 0x100 -/* ADAC14 80063A74 13200018 */ beqz $t9, .L80063AD8 -/* ADAC18 80063A78 30F80200 */ andi $t8, $a3, 0x200 -/* ADAC1C 80063A7C 94C50000 */ lhu $a1, ($a2) -/* ADAC20 80063A80 3C01FFFF */ lui $at, (0xFFFF3FFF >> 16) # lui $at, 0xffff -/* ADAC24 80063A84 34213FFF */ ori $at, (0xFFFF3FFF & 0xFFFF) # ori $at, $at, 0x3fff -/* ADAC28 80063A88 00A16827 */ nor $t5, $a1, $at -/* ADAC2C 80063A8C 15A00003 */ bnez $t5, .L80063A9C -/* ADAC30 80063A90 3C01FFFF */ lui $at, (0xFFFF7FFF >> 16) # lui $at, 0xffff -/* ADAC34 80063A94 1000002A */ b .L80063B40 -/* ADAC38 80063A98 240303E8 */ li $v1, 1000 -.L80063A9C: -/* ADAC3C 80063A9C 34217FFF */ ori $at, (0xFFFF7FFF & 0xFFFF) # ori $at, $at, 0x7fff -/* ADAC40 80063AA0 00A17027 */ nor $t6, $a1, $at -/* ADAC44 80063AA4 15C00003 */ bnez $t6, .L80063AB4 -/* ADAC48 80063AA8 2401BFFF */ li $at, -16385 -/* ADAC4C 80063AAC 10000007 */ b .L80063ACC -/* ADAC50 80063AB0 24030064 */ li $v1, 100 -.L80063AB4: -/* ADAC54 80063AB4 00A17827 */ nor $t7, $a1, $at -/* ADAC58 80063AB8 15E00003 */ bnez $t7, .L80063AC8 -/* ADAC5C 80063ABC 24020001 */ li $v0, 1 -/* ADAC60 80063AC0 10000001 */ b .L80063AC8 -/* ADAC64 80063AC4 2402000A */ li $v0, 10 -.L80063AC8: -/* ADAC68 80063AC8 00401825 */ move $v1, $v0 -.L80063ACC: -/* ADAC6C 80063ACC 00601025 */ move $v0, $v1 -/* ADAC70 80063AD0 1000001B */ b .L80063B40 -/* ADAC74 80063AD4 00401825 */ move $v1, $v0 -.L80063AD8: -/* ADAC78 80063AD8 13000018 */ beqz $t8, .L80063B3C -/* ADAC7C 80063ADC 00002025 */ move $a0, $zero -/* ADAC80 80063AE0 94C50000 */ lhu $a1, ($a2) -/* ADAC84 80063AE4 3C01FFFF */ lui $at, (0xFFFF3FFF >> 16) # lui $at, 0xffff -/* ADAC88 80063AE8 34213FFF */ ori $at, (0xFFFF3FFF & 0xFFFF) # ori $at, $at, 0x3fff -/* ADAC8C 80063AEC 00A1C827 */ nor $t9, $a1, $at -/* ADAC90 80063AF0 17200003 */ bnez $t9, .L80063B00 -/* ADAC94 80063AF4 3C01FFFF */ li $at, 0xFFFF0000 # 0.000000 -/* ADAC98 80063AF8 10000010 */ b .L80063B3C -/* ADAC9C 80063AFC 2404FC18 */ li $a0, -1000 -.L80063B00: -/* ADACA0 80063B00 34217FFF */ ori $at, (0xFFFF7FFF & 0xFFFF) # ori $at, $at, 0x7fff -/* ADACA4 80063B04 00A16827 */ nor $t5, $a1, $at -/* ADACA8 80063B08 15A00003 */ bnez $t5, .L80063B18 -/* ADACAC 80063B0C 2401BFFF */ li $at, -16385 -/* ADACB0 80063B10 10000007 */ b .L80063B30 -/* ADACB4 80063B14 2403FF9C */ li $v1, -100 -.L80063B18: -/* ADACB8 80063B18 00A17027 */ nor $t6, $a1, $at -/* ADACBC 80063B1C 15C00003 */ bnez $t6, .L80063B2C -/* ADACC0 80063B20 2402FFFF */ li $v0, -1 -/* ADACC4 80063B24 10000001 */ b .L80063B2C -/* ADACC8 80063B28 2402FFF6 */ li $v0, -10 -.L80063B2C: -/* ADACCC 80063B2C 00401825 */ move $v1, $v0 -.L80063B30: -/* ADACD0 80063B30 00601025 */ move $v0, $v1 -/* ADACD4 80063B34 10000001 */ b .L80063B3C -/* ADACD8 80063B38 00402025 */ move $a0, $v0 -.L80063B3C: -/* ADACDC 80063B3C 00801825 */ move $v1, $a0 -.L80063B40: -/* ADACE0 80063B40 8D0F0008 */ lw $t7, 8($t0) -/* ADACE4 80063B44 000C6840 */ sll $t5, $t4, 1 -/* ADACE8 80063B48 000FC040 */ sll $t8, $t7, 1 -/* ADACEC 80063B4C 0118C821 */ addu $t9, $t0, $t8 -/* ADACF0 80063B50 032D1021 */ addu $v0, $t9, $t5 -/* ADACF4 80063B54 844E0014 */ lh $t6, 0x14($v0) -/* ADACF8 80063B58 30F80800 */ andi $t8, $a3, 0x800 -/* ADACFC 80063B5C 01C37821 */ addu $t7, $t6, $v1 -/* ADAD00 80063B60 1300000C */ beqz $t8, .L80063B94 -/* ADAD04 80063B64 A44F0014 */ sh $t7, 0x14($v0) -/* ADAD08 80063B68 8D680000 */ lw $t0, ($t3) -/* ADAD0C 80063B6C 240F000F */ li $t7, 15 -/* ADAD10 80063B70 8D190008 */ lw $t9, 8($t0) -/* ADAD14 80063B74 272DFFFF */ addiu $t5, $t9, -1 -/* ADAD18 80063B78 AD0D0008 */ sw $t5, 8($t0) -/* ADAD1C 80063B7C 8D680000 */ lw $t0, ($t3) -/* ADAD20 80063B80 8D0E0008 */ lw $t6, 8($t0) -/* ADAD24 80063B84 05C30011 */ bgezl $t6, .L80063BCC -/* ADAD28 80063B88 8D680000 */ lw $t0, ($t3) -/* ADAD2C 80063B8C 1000000E */ b .L80063BC8 -/* ADAD30 80063B90 AD0F0008 */ sw $t7, 8($t0) -.L80063B94: -/* ADAD34 80063B94 30F80400 */ andi $t8, $a3, 0x400 -/* ADAD38 80063B98 5300000C */ beql $t8, $zero, .L80063BCC -/* ADAD3C 80063B9C 8D680000 */ lw $t0, ($t3) -/* ADAD40 80063BA0 8D680000 */ lw $t0, ($t3) -/* ADAD44 80063BA4 8D190008 */ lw $t9, 8($t0) -/* ADAD48 80063BA8 272D0001 */ addiu $t5, $t9, 1 -/* ADAD4C 80063BAC AD0D0008 */ sw $t5, 8($t0) -/* ADAD50 80063BB0 8D680000 */ lw $t0, ($t3) -/* ADAD54 80063BB4 8D0E0008 */ lw $t6, 8($t0) -/* ADAD58 80063BB8 29C10010 */ slti $at, $t6, 0x10 -/* ADAD5C 80063BBC 54200003 */ bnezl $at, .L80063BCC -/* ADAD60 80063BC0 8D680000 */ lw $t0, ($t3) -/* ADAD64 80063BC4 AD000008 */ sw $zero, 8($t0) -.L80063BC8: -/* ADAD68 80063BC8 8D680000 */ lw $t0, ($t3) -.L80063BCC: -/* ADAD6C 80063BCC 850F0CD4 */ lh $t7, 0xcd4($t0) -/* ADAD70 80063BD0 51E00009 */ beql $t7, $zero, .L80063BF8 -/* ADAD74 80063BD4 8FBF0014 */ lw $ra, 0x14($sp) -/* ADAD78 80063BD8 A5000CD4 */ sh $zero, 0xcd4($t0) -/* ADAD7C 80063BDC 8D680000 */ lw $t0, ($t3) -/* ADAD80 80063BE0 44806000 */ mtc1 $zero, $f12 -/* ADAD84 80063BE4 91050CD7 */ lbu $a1, 0xcd7($t0) -/* ADAD88 80063BE8 91060CD9 */ lbu $a2, 0xcd9($t0) -/* ADAD8C 80063BEC 0C02A800 */ jal func_800AA000 -/* ADAD90 80063BF0 91070CDB */ lbu $a3, 0xcdb($t0) -.L80063BF4: -/* ADAD94 80063BF4 8FBF0014 */ lw $ra, 0x14($sp) -.L80063BF8: -/* ADAD98 80063BF8 27BD0018 */ addiu $sp, $sp, 0x18 -/* ADAD9C 80063BFC 03E00008 */ jr $ra -/* ADADA0 80063C00 00000000 */ nop - diff --git a/asm/non_matchings/code/z_debug/func_80063C04.s b/asm/non_matchings/code/z_debug/func_80063C04.s deleted file mode 100644 index 321fc93946..0000000000 --- a/asm/non_matchings/code/z_debug/func_80063C04.s +++ /dev/null @@ -1,105 +0,0 @@ -.rdata -glabel D_8013AD54 - .asciz "%s%02d%6d" - .balign 4 - -.text -glabel func_80063C04 -/* ADADA4 80063C04 27BDFFA0 */ addiu $sp, $sp, -0x60 -/* ADADA8 80063C08 AFB30028 */ sw $s3, 0x28($sp) -/* ADADAC 80063C0C 3C138016 */ lui $s3, %hi(gGameInfo) # $s3, 0x8016 -/* ADADB0 80063C10 2673FA90 */ addiu $s3, %lo(gGameInfo) # addiu $s3, $s3, -0x570 -/* ADADB4 80063C14 8E620000 */ lw $v0, ($s3) -/* ADADB8 80063C18 AFBF003C */ sw $ra, 0x3c($sp) -/* ADADBC 80063C1C AFB70038 */ sw $s7, 0x38($sp) -/* ADADC0 80063C20 AFB60034 */ sw $s6, 0x34($sp) -/* ADADC4 80063C24 AFB50030 */ sw $s5, 0x30($sp) -/* ADADC8 80063C28 AFB4002C */ sw $s4, 0x2c($sp) -/* ADADCC 80063C2C AFB20024 */ sw $s2, 0x24($sp) -/* ADADD0 80063C30 AFB10020 */ sw $s1, 0x20($sp) -/* ADADD4 80063C34 AFB0001C */ sw $s0, 0x1c($sp) -/* ADADD8 80063C38 8C4E0004 */ lw $t6, 4($v0) -/* ADADDC 80063C3C 8C430000 */ lw $v1, ($v0) -/* ADADE0 80063C40 24180052 */ li $t8, 82 -/* ADADE4 80063C44 A3B8004C */ sb $t8, 0x4c($sp) -/* ADADE8 80063C48 8C590004 */ lw $t9, 4($v0) -/* ADADEC 80063C4C 000E7880 */ sll $t7, $t6, 2 -/* ADADF0 80063C50 3C088012 */ lui $t0, %hi(D_8011E148) -/* ADADF4 80063C54 01EE7823 */ subu $t7, $t7, $t6 -/* ADADF8 80063C58 000F7840 */ sll $t7, $t7, 1 -/* ADADFC 80063C5C 01194021 */ addu $t0, $t0, $t9 -/* ADAE00 80063C60 9108E148 */ lbu $t0, %lo(D_8011E148)($t0) -/* ADAE04 80063C64 01E3A821 */ addu $s5, $t7, $v1 -/* ADAE08 80063C68 0015A900 */ sll $s5, $s5, 4 -/* ADAE0C 80063C6C 24090080 */ li $t1, 128 -/* ADAE10 80063C70 0003A100 */ sll $s4, $v1, 4 -/* ADAE14 80063C74 00808825 */ move $s1, $a0 -/* ADAE18 80063C78 2694FFF0 */ addiu $s4, $s4, -0x10 -/* ADAE1C 80063C7C 26B5FFF0 */ addiu $s5, $s5, -0x10 -/* ADAE20 80063C80 A3A0004E */ sb $zero, 0x4e($sp) -/* ADAE24 80063C84 AFA90010 */ sw $t1, 0x10($sp) -/* ADAE28 80063C88 00002825 */ move $a1, $zero -/* ADAE2C 80063C8C 24060080 */ li $a2, 128 -/* ADAE30 80063C90 24070080 */ li $a3, 128 -/* ADAE34 80063C94 0C03ECEB */ jal GfxPrint_SetColor -/* ADAE38 80063C98 A3A8004D */ sb $t0, 0x4d($sp) -/* ADAE3C 80063C9C 02809025 */ move $s2, $s4 -/* ADAE40 80063CA0 3C148014 */ lui $s4, %hi(D_8013AD54) # $s4, 0x8014 -/* ADAE44 80063CA4 0015B840 */ sll $s7, $s5, 1 -/* ADAE48 80063CA8 27B5004C */ addiu $s5, $sp, 0x4c -/* ADAE4C 80063CAC 2694AD54 */ addiu $s4, %lo(D_8013AD54) # addiu $s4, $s4, -0x52ac -/* ADAE50 80063CB0 00008025 */ move $s0, $zero -/* ADAE54 80063CB4 24160010 */ li $s6, 16 -.L80063CB8: -/* ADAE58 80063CB8 8E6A0000 */ lw $t2, ($s3) -/* ADAE5C 80063CBC 02202025 */ move $a0, $s1 -/* ADAE60 80063CC0 00002825 */ move $a1, $zero -/* ADAE64 80063CC4 8D4B0008 */ lw $t3, 8($t2) -/* ADAE68 80063CC8 240600FF */ li $a2, 255 -/* ADAE6C 80063CCC 240700FF */ li $a3, 255 -/* ADAE70 80063CD0 160B0003 */ bne $s0, $t3, .L80063CE0 -/* ADAE74 80063CD4 240C00FF */ li $t4, 255 -/* ADAE78 80063CD8 0C03ECEB */ jal GfxPrint_SetColor -/* ADAE7C 80063CDC AFAC0010 */ sw $t4, 0x10($sp) -.L80063CE0: -/* ADAE80 80063CE0 02202025 */ move $a0, $s1 -/* ADAE84 80063CE4 24050003 */ li $a1, 3 -/* ADAE88 80063CE8 0C03ED07 */ jal GfxPrint_SetPos -/* ADAE8C 80063CEC 26060005 */ addiu $a2, $s0, 5 -/* ADAE90 80063CF0 8E6D0000 */ lw $t5, ($s3) -/* ADAE94 80063CF4 00107040 */ sll $t6, $s0, 1 -/* ADAE98 80063CF8 02202025 */ move $a0, $s1 -/* ADAE9C 80063CFC 01AE7821 */ addu $t7, $t5, $t6 -/* ADAEA0 80063D00 01F7C021 */ addu $t8, $t7, $s7 -/* ADAEA4 80063D04 87190014 */ lh $t9, 0x14($t8) -/* ADAEA8 80063D08 02802825 */ move $a1, $s4 -/* ADAEAC 80063D0C 02A03025 */ move $a2, $s5 -/* ADAEB0 80063D10 02403825 */ move $a3, $s2 -/* ADAEB4 80063D14 0C03EF2D */ jal GfxPrint_Printf -/* ADAEB8 80063D18 AFB90010 */ sw $t9, 0x10($sp) -/* ADAEBC 80063D1C 8E680000 */ lw $t0, ($s3) -/* ADAEC0 80063D20 02202025 */ move $a0, $s1 -/* ADAEC4 80063D24 00002825 */ move $a1, $zero -/* ADAEC8 80063D28 8D090008 */ lw $t1, 8($t0) -/* ADAECC 80063D2C 24060080 */ li $a2, 128 -/* ADAED0 80063D30 24070080 */ li $a3, 128 -/* ADAED4 80063D34 16090003 */ bne $s0, $t1, .L80063D44 -/* ADAED8 80063D38 240A0080 */ li $t2, 128 -/* ADAEDC 80063D3C 0C03ECEB */ jal GfxPrint_SetColor -/* ADAEE0 80063D40 AFAA0010 */ sw $t2, 0x10($sp) -.L80063D44: -/* ADAEE4 80063D44 26100001 */ addiu $s0, $s0, 1 -/* ADAEE8 80063D48 1616FFDB */ bne $s0, $s6, .L80063CB8 -/* ADAEEC 80063D4C 26520001 */ addiu $s2, $s2, 1 -/* ADAEF0 80063D50 8FBF003C */ lw $ra, 0x3c($sp) -/* ADAEF4 80063D54 8FB0001C */ lw $s0, 0x1c($sp) -/* ADAEF8 80063D58 8FB10020 */ lw $s1, 0x20($sp) -/* ADAEFC 80063D5C 8FB20024 */ lw $s2, 0x24($sp) -/* ADAF00 80063D60 8FB30028 */ lw $s3, 0x28($sp) -/* ADAF04 80063D64 8FB4002C */ lw $s4, 0x2c($sp) -/* ADAF08 80063D68 8FB50030 */ lw $s5, 0x30($sp) -/* ADAF0C 80063D6C 8FB60034 */ lw $s6, 0x34($sp) -/* ADAF10 80063D70 8FB70038 */ lw $s7, 0x38($sp) -/* ADAF14 80063D74 03E00008 */ jr $ra -/* ADAF18 80063D78 27BD0060 */ addiu $sp, $sp, 0x60 - diff --git a/asm/non_matchings/code/z_debug/func_80063D7C.s b/asm/non_matchings/code/z_debug/func_80063D7C.s deleted file mode 100644 index 061093264e..0000000000 --- a/asm/non_matchings/code/z_debug/func_80063D7C.s +++ /dev/null @@ -1,81 +0,0 @@ -.rdata -glabel D_8013AD60 - .asciz "../z_debug.c" - .balign 4 - -glabel D_8013AD70 - .asciz "../z_debug.c" - .balign 4 - -.text -glabel func_80063D7C -/* ADAF1C 80063D7C 27BDFF80 */ addiu $sp, $sp, -0x80 -/* ADAF20 80063D80 AFB00018 */ sw $s0, 0x18($sp) -/* ADAF24 80063D84 00808025 */ move $s0, $a0 -/* ADAF28 80063D88 AFBF001C */ sw $ra, 0x1c($sp) -/* ADAF2C 80063D8C 3C068014 */ lui $a2, %hi(D_8013AD60) # $a2, 0x8014 -/* ADAF30 80063D90 24C6AD60 */ addiu $a2, %lo(D_8013AD60) # addiu $a2, $a2, -0x52a0 -/* ADAF34 80063D94 02002825 */ move $a1, $s0 -/* ADAF38 80063D98 27A40030 */ addiu $a0, $sp, 0x30 -/* ADAF3C 80063D9C 0C031AB1 */ jal func_800C6AC4 -/* ADAF40 80063DA0 24070274 */ li $a3, 628 -/* ADAF44 80063DA4 0C03EEE3 */ jal GfxPrint_Ctor -/* ADAF48 80063DA8 27A40048 */ addiu $a0, $sp, 0x48 -/* ADAF4C 80063DAC 8E0402C0 */ lw $a0, 0x2c0($s0) -/* ADAF50 80063DB0 0C031B08 */ jal func_800C6C20 -/* ADAF54 80063DB4 AFA40078 */ sw $a0, 0x78($sp) -/* ADAF58 80063DB8 8E0402B0 */ lw $a0, 0x2b0($s0) -/* ADAF5C 80063DBC 3C0FDE00 */ lui $t7, 0xde00 -/* ADAF60 80063DC0 00402825 */ move $a1, $v0 -/* ADAF64 80063DC4 248E0008 */ addiu $t6, $a0, 8 -/* ADAF68 80063DC8 AE0E02B0 */ sw $t6, 0x2b0($s0) -/* ADAF6C 80063DCC AC820004 */ sw $v0, 4($a0) -/* ADAF70 80063DD0 AC8F0000 */ sw $t7, ($a0) -/* ADAF74 80063DD4 0C03EF07 */ jal GfxPrint_Open -/* ADAF78 80063DD8 27A40048 */ addiu $a0, $sp, 0x48 -/* ADAF7C 80063DDC 3C028016 */ lui $v0, %hi(gGameInfo) # $v0, 0x8016 -/* ADAF80 80063DE0 8C42FA90 */ lw $v0, %lo(gGameInfo)($v0) -/* ADAF84 80063DE4 24010001 */ li $at, 1 -/* ADAF88 80063DE8 84430194 */ lh $v1, 0x194($v0) -/* ADAF8C 80063DEC 10610003 */ beq $v1, $at, .L80063DFC -/* ADAF90 80063DF0 24010008 */ li $at, 8 -/* ADAF94 80063DF4 54610006 */ bnel $v1, $at, .L80063E10 -/* ADAF98 80063DF8 8C580000 */ lw $t8, ($v0) -.L80063DFC: -/* ADAF9C 80063DFC 0C018E0A */ jal func_80063828 -/* ADAFA0 80063E00 27A40048 */ addiu $a0, $sp, 0x48 -/* ADAFA4 80063E04 3C028016 */ lui $v0, %hi(gGameInfo) # $v0, 0x8016 -/* ADAFA8 80063E08 8C42FA90 */ lw $v0, %lo(gGameInfo)($v0) -/* ADAFAC 80063E0C 8C580000 */ lw $t8, ($v0) -.L80063E10: -/* ADAFB0 80063E10 13000003 */ beqz $t8, .L80063E20 -/* ADAFB4 80063E14 00000000 */ nop -/* ADAFB8 80063E18 0C018F01 */ jal func_80063C04 -/* ADAFBC 80063E1C 27A40048 */ addiu $a0, $sp, 0x48 -.L80063E20: -/* ADAFC0 80063E20 3C018012 */ lui $at, %hi(D_8011E0B0) # $at, 0x8012 -/* ADAFC4 80063E24 A420E0B0 */ sh $zero, %lo(D_8011E0B0)($at) -/* ADAFC8 80063E28 0C03EF19 */ jal GfxPrint_Close -/* ADAFCC 80063E2C 27A40048 */ addiu $a0, $sp, 0x48 -/* ADAFD0 80063E30 3C19DF00 */ lui $t9, 0xdf00 -/* ADAFD4 80063E34 AC590000 */ sw $t9, ($v0) -/* ADAFD8 80063E38 24450008 */ addiu $a1, $v0, 8 -/* ADAFDC 80063E3C AC400004 */ sw $zero, 4($v0) -/* ADAFE0 80063E40 AFA5007C */ sw $a1, 0x7c($sp) -/* ADAFE4 80063E44 0C031B0A */ jal func_800C6C28 -/* ADAFE8 80063E48 8FA40078 */ lw $a0, 0x78($sp) -/* ADAFEC 80063E4C 8FA5007C */ lw $a1, 0x7c($sp) -/* ADAFF0 80063E50 3C068014 */ lui $a2, %hi(D_8013AD70) # $a2, 0x8014 -/* ADAFF4 80063E54 24C6AD70 */ addiu $a2, %lo(D_8013AD70) # addiu $a2, $a2, -0x5290 -/* ADAFF8 80063E58 AE0502C0 */ sw $a1, 0x2c0($s0) -/* ADAFFC 80063E5C 02002825 */ move $a1, $s0 -/* ADB000 80063E60 27A40030 */ addiu $a0, $sp, 0x30 -/* ADB004 80063E64 0C031AD5 */ jal func_800C6B54 -/* ADB008 80063E68 24070298 */ li $a3, 664 -/* ADB00C 80063E6C 0C03EF05 */ jal GfxPrint_Dtor -/* ADB010 80063E70 27A40048 */ addiu $a0, $sp, 0x48 -/* ADB014 80063E74 8FBF001C */ lw $ra, 0x1c($sp) -/* ADB018 80063E78 8FB00018 */ lw $s0, 0x18($sp) -/* ADB01C 80063E7C 27BD0080 */ addiu $sp, $sp, 0x80 -/* ADB020 80063E80 03E00008 */ jr $ra -/* ADB024 80063E84 00000000 */ nop diff --git a/asm/non_matchings/code/z_message_PAL/func_80109B3C.s b/asm/non_matchings/code/z_message_PAL/func_80109B3C.s index 0d2a8a12e7..eeb25c3c11 100644 --- a/asm/non_matchings/code/z_message_PAL/func_80109B3C.s +++ b/asm/non_matchings/code/z_message_PAL/func_80109B3C.s @@ -431,7 +431,7 @@ glabel func_80109B3C /* B81308 8010A168 1420000A */ bnez $at, .L8010A194 /* B8130C 8010A16C A7A4007C */ sh $a0, 0x7c($sp) .L8010A170: -/* B81310 8010A170 2442FC18 */ addiu $v0, %lo(D_8015FC18) # addiu $v0, $v0, -0x3e8 +/* B81310 8010A170 2442FC18 */ addiu $v0, %lo(D_8015FA98 + (0x18*0x10)) # addiu $v0, $v0, -0x3e8 /* B81314 8010A174 00021400 */ sll $v0, $v0, 0x10 /* B81318 8010A178 24840001 */ addiu $a0, $a0, 1 /* B8131C 8010A17C 00021403 */ sra $v0, $v0, 0x10 diff --git a/data/z_debug.bss.s b/data/z_debug.bss.s deleted file mode 100644 index 08cab406d7..0000000000 --- a/data/z_debug.bss.s +++ /dev/null @@ -1,20 +0,0 @@ -.include "macro.inc" - -# assembler directives -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches -.set gp=64 # allow use of 64-bit general purposee registers - -.section .bss - -glabel gGameInfo - .space 0x8 - -glabel D_8015FA98 - .space 0x3 - -glabel D_8015FA9B - .space 0x17D - -glabel D_8015FC18 - .space 0x98 diff --git a/include/functions.h b/include/functions.h index a30733cd35..7806a60ab7 100644 --- a/include/functions.h +++ b/include/functions.h @@ -758,7 +758,7 @@ void func_80062D60(GlobalContext*, Vec3f*); s32 func_80062ECC(f32, f32, f32, Vec3f*, Vec3f*, Vec3f*, Vec3f*, Vec3f*); void SaveContext_Init(void); // ? func_800636C0(?); -void func_8006375C(UNK_TYPE, UNK_TYPE, UNK_TYPE); +void func_8006375C(s32 arg0, s32 arg1, float* d_80855320); // ? func_8006376C(?); // ? func_80063828(?); // ? func_8006390C(?); @@ -1472,7 +1472,7 @@ void* Graph_Alloc(GraphicsContext* gfxCtx, size_t size); void func_800C6AC4(Gfx** a0, GraphicsContext* gfxCtx, char* file, s32 line); void func_800C6B54(Gfx** a0, GraphicsContext* gfxCtx, char* file, s32 line); Gfx* func_800C6C20(Gfx* a0); -// ? func_800C6C28(?); +Gfx* func_800C6C28(Gfx* a0, Gfx* dlist); //branch dlist // ? func_800C6C3C(?); ListAlloc* ListAlloc_Init(ListAlloc* this); void* ListAlloc_Alloc(ListAlloc* this, u32 size); diff --git a/include/variables.h b/include/variables.h index a6d67c8693..955f215eba 100644 --- a/include/variables.h +++ b/include/variables.h @@ -259,8 +259,8 @@ extern s32 D_8011D3AC; //extern ? D_8011E096; //extern ? D_8011E098; //extern ? D_8011E09A; -//extern ? D_8011E0B0; -//extern ? D_8011E0B4; +extern s16 D_8011E0B0; +extern Color_RGBA8 D_8011E0B4[]; //extern ? D_8011E0D4; //extern ? D_8011F3A0; //extern ? D_8011F3D4; @@ -1357,11 +1357,6 @@ extern f32 D_80136D44; //extern ? D_8013AC7C; //extern ? D_8013ACA0; //extern ? D_8013ACB8; -//extern ? D_8013AD40; -//extern ? D_8013AD50; -//extern ? D_8013AD54; -//extern ? D_8013AD60; -//extern ? D_8013AD70; //extern ? D_8013B830; //extern ? D_8013B844; //extern ? D_8013B858; diff --git a/include/z64.h b/include/z64.h index 46215b89ed..c9997edc1c 100644 --- a/include/z64.h +++ b/include/z64.h @@ -33,8 +33,12 @@ // Data normally accessed through REG macros (see regs.h) typedef struct { - /* 0x00 */ char unk_00[0x14]; - /* 0x14 */ s16 data[0xAE0]; + /* 0x00 */ s32 reg_page; //1 is first page + /* 0x04 */ s32 reg_group; //"register" group (R, RS, RO, RP etc.) + /* 0x08 */ s32 reg_cur; //selected register within page + /* 0x0C */ s32 dpad_last; + /* 0x10 */ s32 repeat; + /* 0x14 */ s16 data[0xAE0]; } GameInfo; // size = 0x15D4 typedef struct diff --git a/spec b/spec index 00c5891b03..94c9aeb294 100644 --- a/spec +++ b/spec @@ -309,7 +309,6 @@ beginseg include "build/data/z_common_data.bss.o" include "build/src/code/z_debug.o" include "build/data/z_debug.data.o" - include "build/data/z_debug.bss.o" include "build/src/code/z_debug_display.o" include "build/src/code/z_demo.o" include "build/src/code/code_80069420.o" diff --git a/src/code/z_debug.c b/src/code/z_debug.c index b5d078985c..74f3965eb6 100644 --- a/src/code/z_debug.c +++ b/src/code/z_debug.c @@ -1,20 +1,290 @@ #include #include +#include +#include +#include -#pragma GLOBAL_ASM("asm/non_matchings/code/z_debug/func_800636C0.s") +#define BUTTON_C_RIGHT 0x0001 +#define BUTTON_C_LEFT 0x0002 +#define BUTTON_C_DOWN 0x0004 +#define BUTTON_C_UP 0x0008 +#define BUTTON_R 0x0010 +#define BUTTON_L 0x0020 +#define BUTTON_D_RIGHT 0x0100 +#define BUTTON_D_LEFT 0x0200 +#define BUTTON_D_DOWN 0x0400 +#define BUTTON_D_UP 0x0800 +#define BUTTON_START 0x1000 +#define BUTTON_Z 0x2000 +#define BUTTON_B 0x4000 +#define BUTTON_A 0x8000 -void func_8006375C(UNK_TYPE arg0, UNK_TYPE arg1, UNK_TYPE arg2) +#define REG_GROUP_TOTAL 29 +#define REG_N 96 +#define PAGE_N 16 + +GameInfo* gGameInfo; +int D_8015FA94; //no known symbols + +typedef struct +{ + u8 x; + u8 y; + u8 colorId; + char text[0x15]; +} PrintTextBuffer; + +PrintTextBuffer D_8015FA98[0x16]; +//s16 D_8011E0B0 //PrintTextBuffer index + +//#define D_8015FC18 D_8015FA98[0x10] +typedef struct +{ + u16 push; + u16 held; +} InputCombo; + +extern InputCombo D_8011E0D4[REG_GROUP_TOTAL]; //register button combos + +extern char D_8011E148[]; + +//initialize GameInfo +void func_800636C0() +{ + s32 i; + + gGameInfo = (GameInfo*)SystemArena_MallocDebug(sizeof(GameInfo), "../z_debug.c", 0x104); + gGameInfo->reg_page = 0; + gGameInfo->reg_group = 0; + gGameInfo->reg_cur = 0; + gGameInfo->dpad_last = 0; + gGameInfo->repeat = 0; + for (i = 0; i < 0xAE0; i++) + { + gGameInfo->data[i] = 0; + } +} + +//Called when free movement is active +void func_8006375C(s32 arg0, s32 arg1, float* d_80855320) { } +//8011D394 enable camera debugger + +#ifdef NON_MATCHING //regalloc +//Copy Camera Debugger Text +void func_8006376C(u8 x, u8 y, u8 colorId, const char* text) +{ + PrintTextBuffer* buf; + char* next_text; + s16 i; //v1 + + buf = &D_8015FA98[D_8011E0B0]; + if (D_8011E0B0 < 0x16) { + + buf->x = x; + buf->y = y; + buf->colorId = colorId; + + i = 0; + next_text = buf->text + 1; + + if (*buf->text = *text++) { + do if (i++ > 0x14) { + break; + } while (*next_text++ = *text++); + } + + *next_text = '\0'; + D_8011E0B0++; + } +} + +#else #pragma GLOBAL_ASM("asm/non_matchings/code/z_debug/func_8006376C.s") +#endif -#pragma GLOBAL_ASM("asm/non_matchings/code/z_debug/func_80063828.s") +//Draw Text +void func_80063828(GfxPrint* gfxPrint) +{ + s32 i; + Color_RGBA8* color; + PrintTextBuffer* buffer; + char* text; -#pragma GLOBAL_ASM("asm/non_matchings/code/z_debug/func_8006390C.s") + i = 0; + if (D_8011E0B0 > 0) + { + do + { + buffer = &D_8015FA98[i]; + text = buffer->text; -#pragma GLOBAL_ASM("asm/non_matchings/code/z_debug/func_80063C04.s") + color = &D_8011E0B4[buffer->colorId]; + GfxPrint_SetColor(gfxPrint, color->r, color->g, color->b, color->a); + GfxPrint_SetPos(gfxPrint, buffer->x, buffer->y); + GfxPrint_Printf(gfxPrint, "%s", text); + i += 1; + } while (i < D_8011E0B0); + } +} -#pragma GLOBAL_ASM("asm/non_matchings/code/z_debug/func_80063D7C.s") +//Edit REG +void func_8006390C(Input* input) { + s32 dpad; + s32 reg_group; + s32 increment; + InputCombo* input_combo; + s32 i; + + reg_group = (gGameInfo->reg_group * (REG_N / PAGE_N) + gGameInfo->reg_page) * PAGE_N - PAGE_N; + dpad = input->raw.pad & 0xF00; + if (!~(input->raw.pad | ~BUTTON_L) || + !~(input->raw.pad | ~BUTTON_R) || + !~(input->raw.pad | ~BUTTON_START)) { + input_combo = D_8011E0D4; + for (i = 0; i < REG_GROUP_TOTAL; i++) + { + if (~(~input_combo->push | input->raw.pad) || + ~(~input_combo->held | input->padPressed)) { + input_combo++; + } + else + break; + } + + if (i < REG_GROUP_TOTAL) { + if (i == gGameInfo->reg_group) { + gGameInfo->reg_page = (gGameInfo->reg_page + 1) % 7; + return; + } + gGameInfo->reg_group = i; + gGameInfo->reg_page = 0; + } + } + else { + switch (gGameInfo->reg_page - 1) + { + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + + if (dpad == gGameInfo->dpad_last) { + gGameInfo->repeat--; + if (gGameInfo->repeat < 0) { + gGameInfo->repeat = 1; + } + else { + dpad ^= gGameInfo->dpad_last; + } + } + else { + gGameInfo->repeat = 0x10; + gGameInfo->dpad_last = dpad; + } + + increment = + (dpad & BUTTON_D_RIGHT) ? ( + !~(input->raw.pad | ~(BUTTON_A | BUTTON_B)) ? 1000 : + !~(input->raw.pad | ~BUTTON_A) ? 100 : + !~(input->raw.pad | ~BUTTON_B) ? 10 : 1) : + (dpad & BUTTON_D_LEFT) ? ( + !~(input->raw.pad | ~(BUTTON_A | BUTTON_B)) ? -1000 : + !~(input->raw.pad | ~BUTTON_A) ? -100 : + !~(input->raw.pad | ~BUTTON_B) ? -10 : -1) : + 0; + + gGameInfo->data[gGameInfo->reg_cur + reg_group] += increment; + if (dpad & BUTTON_D_UP) { + gGameInfo->reg_cur--; + if (gGameInfo->reg_cur < 0) { + gGameInfo->reg_cur = PAGE_N - 1; + } + } + else if (dpad & BUTTON_D_DOWN) { + gGameInfo->reg_cur++; + if (gGameInfo->reg_cur >= PAGE_N) { + gGameInfo->reg_cur = 0; + } + } + if (iREG(0)) { + iREG(0) = 0; + func_800AA000(0, iREG(1), iREG(2), iREG(3)); + } + + } + } +} + +//Draw Memory Viewer +void func_80063C04(GfxPrint* gfxPrint) +{ + s32 i; + s32 page; + s32 reg_group; + s32 test; //removing affects stack + char reg_name[3]; + + page = (gGameInfo->reg_page * PAGE_N) - PAGE_N; + reg_group = (gGameInfo->reg_group * (REG_N / PAGE_N) + gGameInfo->reg_page) * PAGE_N - PAGE_N; + + //set up register name string + reg_name[0] = 'R'; + reg_name[1] = D_8011E148[gGameInfo->reg_group]; //r_group type char + reg_name[2] = '\0'; + GfxPrint_SetColor(gfxPrint, 0, 0x80, 0x80, 0x80); + + for (i = 0; i != PAGE_N; i++) + { + if (i == gGameInfo->reg_cur) + { + GfxPrint_SetColor(gfxPrint, 0, 0xff, 0xff, 0xff); + } + GfxPrint_SetPos(gfxPrint, 3, i + 5); + GfxPrint_Printf(gfxPrint, "%s%02d%6d", ®_name, page + i, gGameInfo->data[i + reg_group]); + if (i == gGameInfo->reg_cur) + { + GfxPrint_SetColor(gfxPrint, 0, 0x80, 0x80, 0x80); + } + } +} + +void func_80063D7C(GraphicsContext* gfxCtx) { + Gfx* sp7C; + Gfx* sp78; + Gfx* temp_ret; + void* unk2[6]; + GfxPrint gfxPrint; + void* unk[2]; + Gfx* dl_frame[4];//stores state of GfxCtx next ptrs + + func_800C6AC4(&dl_frame, gfxCtx, "../z_debug.c", 0x274); + GfxPrint_Ctor(&gfxPrint); + sp78 = gfxCtx->polyOpa.p; + temp_ret = func_800C6C20(gfxCtx->polyOpa.p); + gSPDisplayList(gfxCtx->overlay.p++, temp_ret); + GfxPrint_Open(&gfxPrint, temp_ret); + + if ((OREG(0) == 1) || (OREG(0) == 8)) { + func_80063828(&gfxPrint); + } + + if (gGameInfo->reg_page != 0) { + func_80063C04(&gfxPrint); + } + + D_8011E0B0 = 0; + sp7C = GfxPrint_Close(&gfxPrint); + gSPEndDisplayList(sp7C++); + func_800C6C28(sp78, sp7C); + gfxCtx->polyOpa.p = sp7C; + if (0); + func_800C6B54(&dl_frame, gfxCtx, "../z_debug.c", 0x298); + GfxPrint_Dtor(&gfxPrint); +} From dd4f67c3f51eba222060449972783951beedff9b Mon Sep 17 00:00:00 2001 From: mzxrules Date: Wed, 18 Mar 2020 12:31:36 -0400 Subject: [PATCH 02/10] convert z_debug.data --- .gitignore | 4 +-- data/z_debug.data.s | 20 ------------- spec | 1 - src/code/z_debug.c | 71 ++++++++++++++++++++++++++++++++++----------- 4 files changed, 56 insertions(+), 40 deletions(-) delete mode 100644 data/z_debug.data.s diff --git a/.gitignore b/.gitignore index aa80cc362d..a01307c6b1 100644 --- a/.gitignore +++ b/.gitignore @@ -23,6 +23,7 @@ out.txt # Tool artifacts tools/ido7.1_compiler/* +tools/mipspro7.2_compiler/ tools/overlayhelpers/batchdisasm/output/* tools/overlayhelpers/batchdisasm/output2/* tools/overlayhelpers/batchdisasm/mipsdisasm/* @@ -41,5 +42,4 @@ tools/asmsplitter/c/* *.ci8.png #Per-user configuration -.python-version -/tools/mipspro7.2_compiler/ \ No newline at end of file +.python-version \ No newline at end of file diff --git a/data/z_debug.data.s b/data/z_debug.data.s deleted file mode 100644 index aeab7d5b89..0000000000 --- a/data/z_debug.data.s +++ /dev/null @@ -1,20 +0,0 @@ -.include "macro.inc" - -# assembler directives -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches -.set gp=64 # allow use of 64-bit general purposee registers - -.section .data - -glabel D_8011E0B0 - .incbin "baserom.z64", 0xB95250, 0x4 - -glabel D_8011E0B4 - .incbin "baserom.z64", 0xB95254, 0x20 - -glabel D_8011E0D4 - .incbin "baserom.z64", 0xB95274, 0x74 - -glabel D_8011E148 - .incbin "baserom.z64", 0xB952E8, 0x28 diff --git a/spec b/spec index 94c9aeb294..03b8b38b57 100644 --- a/spec +++ b/spec @@ -308,7 +308,6 @@ beginseg include "build/src/code/z_common_data.o" include "build/data/z_common_data.bss.o" include "build/src/code/z_debug.o" - include "build/data/z_debug.data.o" include "build/src/code/z_debug_display.o" include "build/src/code/z_demo.o" include "build/src/code/code_80069420.o" diff --git a/src/code/z_debug.c b/src/code/z_debug.c index 74f3965eb6..f0971cfbf8 100644 --- a/src/code/z_debug.c +++ b/src/code/z_debug.c @@ -23,9 +23,6 @@ #define REG_N 96 #define PAGE_N 16 -GameInfo* gGameInfo; -int D_8015FA94; //no known symbols - typedef struct { u8 x; @@ -34,19 +31,61 @@ typedef struct char text[0x15]; } PrintTextBuffer; -PrintTextBuffer D_8015FA98[0x16]; -//s16 D_8011E0B0 //PrintTextBuffer index - -//#define D_8015FC18 D_8015FA98[0x10] typedef struct { u16 push; u16 held; } InputCombo; -extern InputCombo D_8011E0D4[REG_GROUP_TOTAL]; //register button combos +GameInfo* gGameInfo; +int D_8015FA94; //no known symbols +PrintTextBuffer D_8015FA98[0x16]; -extern char D_8011E148[]; +s16 D_8011E0B0 = 0; //PrintTextBuffer index +Color_RGBA8 printTextColors[] = { + { 0xFF, 0xFF, 0x20, 0xC0 }, + { 0xFF, 0x96, 0x80, 0xC0 }, + { 0x80, 0x60, 0x00, 0x40 }, + { 0xC0, 0x80, 0x10, 0x80 }, + { 0xFF, 0xC0, 0x20, 0x80 }, + { 0xE6, 0xE6, 0xDC, 0x40 }, + { 0x80, 0x96, 0xFF, 0x80 }, + { 0x80, 0xFF, 0x20, 0x80 }, +}; + +InputCombo inputCombos[REG_GROUP_TOTAL] = { + { BUTTON_L, BUTTON_C_UP }, + { BUTTON_L, BUTTON_C_LEFT }, + { BUTTON_L, BUTTON_C_DOWN }, + { BUTTON_L, BUTTON_A }, + { BUTTON_R, BUTTON_C_DOWN }, + { BUTTON_L, BUTTON_C_RIGHT }, + { BUTTON_L, BUTTON_R }, + { BUTTON_L, BUTTON_D_LEFT }, + { BUTTON_L, BUTTON_D_RIGHT }, + { BUTTON_L, BUTTON_D_UP }, + { BUTTON_L, BUTTON_B }, + { BUTTON_L, BUTTON_Z }, + { BUTTON_L, BUTTON_D_DOWN }, + { BUTTON_R, BUTTON_A }, + { BUTTON_R, BUTTON_B }, + { BUTTON_R, BUTTON_Z }, + { BUTTON_R, BUTTON_L }, + { BUTTON_R, BUTTON_C_UP }, + { BUTTON_R, BUTTON_C_RIGHT }, + { BUTTON_R, BUTTON_D_LEFT }, + { BUTTON_R, BUTTON_C_LEFT }, + { BUTTON_R, BUTTON_START }, + { BUTTON_L, BUTTON_START }, + { BUTTON_R, BUTTON_D_RIGHT }, + { BUTTON_R, BUTTON_D_UP }, + { BUTTON_START, BUTTON_R }, + { BUTTON_START, BUTTON_A }, + { BUTTON_START, BUTTON_B }, + { BUTTON_START, BUTTON_C_RIGHT }, +}; + +char regChar[] = " SOPQMYDUIZCNKXcsiWAVHGmnBdkb"; //initialize GameInfo void func_800636C0() @@ -65,14 +104,13 @@ void func_800636C0() } } -//Called when free movement is active +//Called when free movement is active. +//8011D394 to enable camera debugger void func_8006375C(s32 arg0, s32 arg1, float* d_80855320) { } -//8011D394 enable camera debugger - #ifdef NON_MATCHING //regalloc //Copy Camera Debugger Text void func_8006376C(u8 x, u8 y, u8 colorId, const char* text) @@ -122,7 +160,7 @@ void func_80063828(GfxPrint* gfxPrint) buffer = &D_8015FA98[i]; text = buffer->text; - color = &D_8011E0B4[buffer->colorId]; + color = &printTextColors[buffer->colorId]; GfxPrint_SetColor(gfxPrint, color->r, color->g, color->b, color->a); GfxPrint_SetPos(gfxPrint, buffer->x, buffer->y); GfxPrint_Printf(gfxPrint, "%s", text); @@ -145,7 +183,7 @@ void func_8006390C(Input* input) { if (!~(input->raw.pad | ~BUTTON_L) || !~(input->raw.pad | ~BUTTON_R) || !~(input->raw.pad | ~BUTTON_START)) { - input_combo = D_8011E0D4; + input_combo = inputCombos; for (i = 0; i < REG_GROUP_TOTAL; i++) { if (~(~input_combo->push | input->raw.pad) || @@ -217,7 +255,6 @@ void func_8006390C(Input* input) { iREG(0) = 0; func_800AA000(0, iREG(1), iREG(2), iREG(3)); } - } } } @@ -236,7 +273,7 @@ void func_80063C04(GfxPrint* gfxPrint) //set up register name string reg_name[0] = 'R'; - reg_name[1] = D_8011E148[gGameInfo->reg_group]; //r_group type char + reg_name[1] = regChar[gGameInfo->reg_group]; //r_group type char reg_name[2] = '\0'; GfxPrint_SetColor(gfxPrint, 0, 0x80, 0x80, 0x80); @@ -262,7 +299,7 @@ void func_80063D7C(GraphicsContext* gfxCtx) { void* unk2[6]; GfxPrint gfxPrint; void* unk[2]; - Gfx* dl_frame[4];//stores state of GfxCtx next ptrs + Gfx* dl_frame[4]; //stores state of GfxCtx next ptrs func_800C6AC4(&dl_frame, gfxCtx, "../z_debug.c", 0x274); GfxPrint_Ctor(&gfxPrint); From b0e6f3b698cbb79f03297942729af33c9603557e Mon Sep 17 00:00:00 2001 From: Faschz Date: Wed, 18 Mar 2020 20:12:13 -0500 Subject: [PATCH 03/10] Decompiled ovl_En_Lightbox --- .../ovl_En_Lightbox/EnLightbox_Destroy.s | 16 -- .../actors/ovl_En_Lightbox/EnLightbox_Draw.s | 14 -- .../actors/ovl_En_Lightbox/EnLightbox_Init.s | 90 --------- .../ovl_En_Lightbox/EnLightbox_Update.s | 177 ------------------ data/overlays/actors/z_en_lightbox.data.s | 16 -- data/overlays/actors/z_en_lightbox.reloc.s | 11 -- data/overlays/actors/z_en_lightbox.rodata.s | 13 -- include/z64actor.h | 2 + spec | 4 +- .../actors/ovl_En_Lightbox/z_en_lightbox.c | 119 +++++++++++- .../actors/ovl_En_Lightbox/z_en_lightbox.h | 3 +- undefined_syms.txt | 6 +- 12 files changed, 118 insertions(+), 353 deletions(-) delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Lightbox/EnLightbox_Destroy.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Lightbox/EnLightbox_Draw.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Lightbox/EnLightbox_Init.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Lightbox/EnLightbox_Update.s delete mode 100644 data/overlays/actors/z_en_lightbox.data.s delete mode 100644 data/overlays/actors/z_en_lightbox.reloc.s delete mode 100644 data/overlays/actors/z_en_lightbox.rodata.s diff --git a/asm/non_matchings/overlays/actors/ovl_En_Lightbox/EnLightbox_Destroy.s b/asm/non_matchings/overlays/actors/ovl_En_Lightbox/EnLightbox_Destroy.s deleted file mode 100644 index c2dede8e43..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Lightbox/EnLightbox_Destroy.s +++ /dev/null @@ -1,16 +0,0 @@ -glabel EnLightbox_Destroy -/* 0012C 80A9EAFC 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00130 80A9EB00 AFA40018 */ sw $a0, 0x0018($sp) -/* 00134 80A9EB04 8FAE0018 */ lw $t6, 0x0018($sp) -/* 00138 80A9EB08 AFBF0014 */ sw $ra, 0x0014($sp) -/* 0013C 80A9EB0C 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000 -/* 00140 80A9EB10 24A50810 */ addiu $a1, $a1, 0x0810 ## $a1 = 00000810 -/* 00144 80A9EB14 0C00FB56 */ jal DynaPolyInfo_Free - ## DynaPolyInfo_delReserve -/* 00148 80A9EB18 8DC6014C */ lw $a2, 0x014C($t6) ## 0000014C -/* 0014C 80A9EB1C 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00150 80A9EB20 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00154 80A9EB24 03E00008 */ jr $ra -/* 00158 80A9EB28 00000000 */ nop - - diff --git a/asm/non_matchings/overlays/actors/ovl_En_Lightbox/EnLightbox_Draw.s b/asm/non_matchings/overlays/actors/ovl_En_Lightbox/EnLightbox_Draw.s deleted file mode 100644 index 612026b121..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Lightbox/EnLightbox_Draw.s +++ /dev/null @@ -1,14 +0,0 @@ -glabel EnLightbox_Draw -/* 003E4 80A9EDB4 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 003E8 80A9EDB8 AFA40018 */ sw $a0, 0x0018($sp) -/* 003EC 80A9EDBC 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000 -/* 003F0 80A9EDC0 AFBF0014 */ sw $ra, 0x0014($sp) -/* 003F4 80A9EDC4 3C050600 */ lui $a1, 0x0600 ## $a1 = 06000000 -/* 003F8 80A9EDC8 0C00D498 */ jal Draw_DListOpa - -/* 003FC 80A9EDCC 24A50B70 */ addiu $a1, $a1, 0x0B70 ## $a1 = 06000B70 -/* 00400 80A9EDD0 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00404 80A9EDD4 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00408 80A9EDD8 03E00008 */ jr $ra -/* 0040C 80A9EDDC 00000000 */ nop - diff --git a/asm/non_matchings/overlays/actors/ovl_En_Lightbox/EnLightbox_Init.s b/asm/non_matchings/overlays/actors/ovl_En_Lightbox/EnLightbox_Init.s deleted file mode 100644 index 29b877f5d7..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Lightbox/EnLightbox_Init.s +++ /dev/null @@ -1,90 +0,0 @@ -glabel EnLightbox_Init -/* 00000 80A9E9D0 27BDFFC0 */ addiu $sp, $sp, 0xFFC0 ## $sp = FFFFFFC0 -/* 00004 80A9E9D4 AFBF001C */ sw $ra, 0x001C($sp) -/* 00008 80A9E9D8 AFB00018 */ sw $s0, 0x0018($sp) -/* 0000C 80A9E9DC AFA50044 */ sw $a1, 0x0044($sp) -/* 00010 80A9E9E0 AFA0003C */ sw $zero, 0x003C($sp) -/* 00014 80A9E9E4 8482001C */ lh $v0, 0x001C($a0) ## 0000001C -/* 00018 80A9E9E8 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 0001C 80A9E9EC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00020 80A9E9F0 1040000C */ beq $v0, $zero, .L80A9EA24 -/* 00024 80A9E9F4 3C053CCC */ lui $a1, 0x3CCC ## $a1 = 3CCC0000 -/* 00028 80A9E9F8 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 -/* 0002C 80A9E9FC 1041000D */ beq $v0, $at, .L80A9EA34 -/* 00030 80A9EA00 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00034 80A9EA04 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002 -/* 00038 80A9EA08 1041000F */ beq $v0, $at, .L80A9EA48 -/* 0003C 80A9EA0C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00040 80A9EA10 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003 -/* 00044 80A9EA14 10410011 */ beq $v0, $at, .L80A9EA5C -/* 00048 80A9EA18 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 0004C 80A9EA1C 10000013 */ beq $zero, $zero, .L80A9EA6C -/* 00050 80A9EA20 8E0F0024 */ lw $t7, 0x0024($s0) ## 00000024 -.L80A9EA24: -/* 00054 80A9EA24 0C00B58B */ jal Actor_SetScale - -/* 00058 80A9EA28 34A5CCCD */ ori $a1, $a1, 0xCCCD ## $a1 = 3CCCCCCD -/* 0005C 80A9EA2C 1000000F */ beq $zero, $zero, .L80A9EA6C -/* 00060 80A9EA30 8E0F0024 */ lw $t7, 0x0024($s0) ## 00000024 -.L80A9EA34: -/* 00064 80A9EA34 3C053D4C */ lui $a1, 0x3D4C ## $a1 = 3D4C0000 -/* 00068 80A9EA38 0C00B58B */ jal Actor_SetScale - -/* 0006C 80A9EA3C 34A5CCCD */ ori $a1, $a1, 0xCCCD ## $a1 = 3D4CCCCD -/* 00070 80A9EA40 1000000A */ beq $zero, $zero, .L80A9EA6C -/* 00074 80A9EA44 8E0F0024 */ lw $t7, 0x0024($s0) ## 00000024 -.L80A9EA48: -/* 00078 80A9EA48 3C053D99 */ lui $a1, 0x3D99 ## $a1 = 3D990000 -/* 0007C 80A9EA4C 0C00B58B */ jal Actor_SetScale - -/* 00080 80A9EA50 34A5999A */ ori $a1, $a1, 0x999A ## $a1 = 3D99999A -/* 00084 80A9EA54 10000005 */ beq $zero, $zero, .L80A9EA6C -/* 00088 80A9EA58 8E0F0024 */ lw $t7, 0x0024($s0) ## 00000024 -.L80A9EA5C: -/* 0008C 80A9EA5C 3C053DCC */ lui $a1, 0x3DCC ## $a1 = 3DCC0000 -/* 00090 80A9EA60 0C00B58B */ jal Actor_SetScale - -/* 00094 80A9EA64 34A5CCCD */ ori $a1, $a1, 0xCCCD ## $a1 = 3DCCCCCD -/* 00098 80A9EA68 8E0F0024 */ lw $t7, 0x0024($s0) ## 00000024 -.L80A9EA6C: -/* 0009C 80A9EA6C 8E0E0028 */ lw $t6, 0x0028($s0) ## 00000028 -/* 000A0 80A9EA70 2418001E */ addiu $t8, $zero, 0x001E ## $t8 = 0000001E -/* 000A4 80A9EA74 AE0F0038 */ sw $t7, 0x0038($s0) ## 00000038 -/* 000A8 80A9EA78 8E0F002C */ lw $t7, 0x002C($s0) ## 0000002C -/* 000AC 80A9EA7C 24190032 */ addiu $t9, $zero, 0x0032 ## $t9 = 00000032 -/* 000B0 80A9EA80 3C068003 */ lui $a2, 0x8003 ## $a2 = 80030000 -/* 000B4 80A9EA84 A61800A8 */ sh $t8, 0x00A8($s0) ## 000000A8 -/* 000B8 80A9EA88 A61900AA */ sh $t9, 0x00AA($s0) ## 000000AA -/* 000BC 80A9EA8C 24C6B5EC */ addiu $a2, $a2, 0xB5EC ## $a2 = 8002B5EC -/* 000C0 80A9EA90 260400B4 */ addiu $a0, $s0, 0x00B4 ## $a0 = 000000B4 -/* 000C4 80A9EA94 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000 -/* 000C8 80A9EA98 3C0740C0 */ lui $a3, 0x40C0 ## $a3 = 40C00000 -/* 000CC 80A9EA9C AE0E003C */ sw $t6, 0x003C($s0) ## 0000003C -/* 000D0 80A9EAA0 0C00AC78 */ jal ActorShape_Init - -/* 000D4 80A9EAA4 AE0F0040 */ sw $t7, 0x0040($s0) ## 00000040 -/* 000D8 80A9EAA8 3C01C000 */ lui $at, 0xC000 ## $at = C0000000 -/* 000DC 80A9EAAC 44812000 */ mtc1 $at, $f4 ## $f4 = -2.00 -/* 000E0 80A9EAB0 3C040600 */ lui $a0, 0x0600 ## $a0 = 06000000 -/* 000E4 80A9EAB4 A2000160 */ sb $zero, 0x0160($s0) ## 00000160 -/* 000E8 80A9EAB8 AE00015C */ sw $zero, 0x015C($s0) ## 0000015C -/* 000EC 80A9EABC A200001F */ sb $zero, 0x001F($s0) ## 0000001F -/* 000F0 80A9EAC0 24841F10 */ addiu $a0, $a0, 0x1F10 ## $a0 = 06001F10 -/* 000F4 80A9EAC4 27A5003C */ addiu $a1, $sp, 0x003C ## $a1 = FFFFFFFC -/* 000F8 80A9EAC8 0C010620 */ jal DynaPolyInfo_Alloc - -/* 000FC 80A9EACC E604006C */ swc1 $f4, 0x006C($s0) ## 0000006C -/* 00100 80A9EAD0 8FA40044 */ lw $a0, 0x0044($sp) -/* 00104 80A9EAD4 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000 -/* 00108 80A9EAD8 8FA7003C */ lw $a3, 0x003C($sp) -/* 0010C 80A9EADC 0C00FA9D */ jal DynaPolyInfo_RegisterActor - ## DynaPolyInfo_setActor -/* 00110 80A9EAE0 24850810 */ addiu $a1, $a0, 0x0810 ## $a1 = 00000810 -/* 00114 80A9EAE4 AE02014C */ sw $v0, 0x014C($s0) ## 0000014C -/* 00118 80A9EAE8 8FBF001C */ lw $ra, 0x001C($sp) -/* 0011C 80A9EAEC 8FB00018 */ lw $s0, 0x0018($sp) -/* 00120 80A9EAF0 27BD0040 */ addiu $sp, $sp, 0x0040 ## $sp = 00000000 -/* 00124 80A9EAF4 03E00008 */ jr $ra -/* 00128 80A9EAF8 00000000 */ nop - - diff --git a/asm/non_matchings/overlays/actors/ovl_En_Lightbox/EnLightbox_Update.s b/asm/non_matchings/overlays/actors/ovl_En_Lightbox/EnLightbox_Update.s deleted file mode 100644 index 75b8bc795c..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Lightbox/EnLightbox_Update.s +++ /dev/null @@ -1,177 +0,0 @@ -glabel EnLightbox_Update -/* 0015C 80A9EB2C 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8 -/* 00160 80A9EB30 AFBF0024 */ sw $ra, 0x0024($sp) -/* 00164 80A9EB34 AFB00020 */ sw $s0, 0x0020($sp) -/* 00168 80A9EB38 AFA5002C */ sw $a1, 0x002C($sp) -/* 0016C 80A9EB3C 848E0162 */ lh $t6, 0x0162($a0) ## 00000162 -/* 00170 80A9EB40 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 00174 80A9EB44 51C00008 */ beql $t6, $zero, .L80A9EB68 -/* 00178 80A9EB48 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 0017C 80A9EB4C 0C00BD68 */ jal func_8002F5A0 -/* 00180 80A9EB50 00000000 */ nop -/* 00184 80A9EB54 1040007C */ beq $v0, $zero, .L80A9ED48 -/* 00188 80A9EB58 00000000 */ nop -/* 0018C 80A9EB5C 1000007A */ beq $zero, $zero, .L80A9ED48 -/* 00190 80A9EB60 A6000162 */ sh $zero, 0x0162($s0) ## 00000162 -/* 00194 80A9EB64 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -.L80A9EB68: -/* 00198 80A9EB68 0C00BD04 */ jal func_8002F410 -/* 0019C 80A9EB6C 8FA5002C */ lw $a1, 0x002C($sp) -/* 001A0 80A9EB70 50400006 */ beql $v0, $zero, .L80A9EB8C -/* 001A4 80A9EB74 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00 -/* 001A8 80A9EB78 860F0162 */ lh $t7, 0x0162($s0) ## 00000162 -/* 001AC 80A9EB7C 25F80001 */ addiu $t8, $t7, 0x0001 ## $t8 = 00000001 -/* 001B0 80A9EB80 10000071 */ beq $zero, $zero, .L80A9ED48 -/* 001B4 80A9EB84 A6180162 */ sh $t8, 0x0162($s0) ## 00000162 -/* 001B8 80A9EB88 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00 -.L80A9EB8C: -/* 001BC 80A9EB8C C6040068 */ lwc1 $f4, 0x0068($s0) ## 00000068 -/* 001C0 80A9EB90 46040032 */ c.eq.s $f0, $f4 -/* 001C4 80A9EB94 00000000 */ nop -/* 001C8 80A9EB98 4503001D */ bc1tl .L80A9EC10 -/* 001CC 80A9EB9C 960F0088 */ lhu $t7, 0x0088($s0) ## 00000088 -/* 001D0 80A9EBA0 96190088 */ lhu $t9, 0x0088($s0) ## 00000088 -/* 001D4 80A9EBA4 3C078013 */ lui $a3, 0x8013 ## $a3 = 80130000 -/* 001D8 80A9EBA8 24E733E0 */ addiu $a3, $a3, 0x33E0 ## $a3 = 801333E0 -/* 001DC 80A9EBAC 33280008 */ andi $t0, $t9, 0x0008 ## $t0 = 00000000 -/* 001E0 80A9EBB0 11000016 */ beq $t0, $zero, .L80A9EC0C -/* 001E4 80A9EBB4 2404282F */ addiu $a0, $zero, 0x282F ## $a0 = 0000282F -/* 001E8 80A9EBB8 86020032 */ lh $v0, 0x0032($s0) ## 00000032 -/* 001EC 80A9EBBC 8609007E */ lh $t1, 0x007E($s0) ## 0000007E -/* 001F0 80A9EBC0 3C0C8013 */ lui $t4, 0x8013 ## $t4 = 80130000 -/* 001F4 80A9EBC4 258C33E8 */ addiu $t4, $t4, 0x33E8 ## $t4 = 801333E8 -/* 001F8 80A9EBC8 00495021 */ addu $t2, $v0, $t1 -/* 001FC 80A9EBCC 01425823 */ subu $t3, $t2, $v0 -/* 00200 80A9EBD0 A60B0032 */ sh $t3, 0x0032($s0) ## 00000032 -/* 00204 80A9EBD4 AFAC0014 */ sw $t4, 0x0014($sp) -/* 00208 80A9EBD8 AFA70010 */ sw $a3, 0x0010($sp) -/* 0020C 80A9EBDC 260500E4 */ addiu $a1, $s0, 0x00E4 ## $a1 = 000000E4 -/* 00210 80A9EBE0 0C03DCE3 */ jal Audio_PlaySoundGeneral - -/* 00214 80A9EBE4 24060004 */ addiu $a2, $zero, 0x0004 ## $a2 = 00000004 -/* 00218 80A9EBE8 3C0180AA */ lui $at, %hi(D_80A9EE00) ## $at = 80AA0000 -/* 0021C 80A9EBEC C428EE00 */ lwc1 $f8, %lo(D_80A9EE00)($at) -/* 00220 80A9EBF0 C6060068 */ lwc1 $f6, 0x0068($s0) ## 00000068 -/* 00224 80A9EBF4 960D0088 */ lhu $t5, 0x0088($s0) ## 00000088 -/* 00228 80A9EBF8 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00 -/* 0022C 80A9EBFC 46083282 */ mul.s $f10, $f6, $f8 -/* 00230 80A9EC00 31AEFFF7 */ andi $t6, $t5, 0xFFF7 ## $t6 = 00000000 -/* 00234 80A9EC04 A60E0088 */ sh $t6, 0x0088($s0) ## 00000088 -/* 00238 80A9EC08 E60A0068 */ swc1 $f10, 0x0068($s0) ## 00000068 -.L80A9EC0C: -/* 0023C 80A9EC0C 960F0088 */ lhu $t7, 0x0088($s0) ## 00000088 -.L80A9EC10: -/* 00240 80A9EC10 3C198016 */ lui $t9, 0x8016 ## $t9 = 80160000 -/* 00244 80A9EC14 3C098016 */ lui $t1, 0x8016 ## $t1 = 80160000 -/* 00248 80A9EC18 31F80001 */ andi $t8, $t7, 0x0001 ## $t8 = 00000000 -/* 0024C 80A9EC1C 17000010 */ bne $t8, $zero, .L80A9EC60 -/* 00250 80A9EC20 00000000 */ nop -/* 00254 80A9EC24 8F39FA90 */ lw $t9, -0x0570($t9) ## 8015FA90 -/* 00258 80A9EC28 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000 -/* 0025C 80A9EC2C 44812000 */ mtc1 $at, $f4 ## $f4 = 100.00 -/* 00260 80A9EC30 87280746 */ lh $t0, 0x0746($t9) ## 80160746 -/* 00264 80A9EC34 44050000 */ mfc1 $a1, $f0 -/* 00268 80A9EC38 26040068 */ addiu $a0, $s0, 0x0068 ## $a0 = 00000068 -/* 0026C 80A9EC3C 44888000 */ mtc1 $t0, $f16 ## $f16 = 0.00 -/* 00270 80A9EC40 00000000 */ nop -/* 00274 80A9EC44 468084A0 */ cvt.s.w $f18, $f16 -/* 00278 80A9EC48 46049183 */ div.s $f6, $f18, $f4 -/* 0027C 80A9EC4C 44063000 */ mfc1 $a2, $f6 -/* 00280 80A9EC50 0C01DE80 */ jal Math_ApproxF - -/* 00284 80A9EC54 00000000 */ nop -/* 00288 80A9EC58 1000003B */ beq $zero, $zero, .L80A9ED48 -/* 0028C 80A9EC5C 00000000 */ nop -.L80A9EC60: -/* 00290 80A9EC60 8D29FA90 */ lw $t1, -0x0570($t1) ## FFFFFA90 -/* 00294 80A9EC64 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000 -/* 00298 80A9EC68 44818000 */ mtc1 $at, $f16 ## $f16 = 100.00 -/* 0029C 80A9EC6C 852A0748 */ lh $t2, 0x0748($t1) ## 00000748 -/* 002A0 80A9EC70 44050000 */ mfc1 $a1, $f0 -/* 002A4 80A9EC74 26040068 */ addiu $a0, $s0, 0x0068 ## $a0 = 00000068 -/* 002A8 80A9EC78 448A4000 */ mtc1 $t2, $f8 ## $f8 = 0.00 -/* 002AC 80A9EC7C 00000000 */ nop -/* 002B0 80A9EC80 468042A0 */ cvt.s.w $f10, $f8 -/* 002B4 80A9EC84 46105483 */ div.s $f18, $f10, $f16 -/* 002B8 80A9EC88 44069000 */ mfc1 $a2, $f18 -/* 002BC 80A9EC8C 0C01DE80 */ jal Math_ApproxF - -/* 002C0 80A9EC90 00000000 */ nop -/* 002C4 80A9EC94 960B0088 */ lhu $t3, 0x0088($s0) ## 00000088 -/* 002C8 80A9EC98 3C0D8016 */ lui $t5, 0x8016 ## $t5 = 80160000 -/* 002CC 80A9EC9C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 002D0 80A9ECA0 316C0002 */ andi $t4, $t3, 0x0002 ## $t4 = 00000000 -/* 002D4 80A9ECA4 11800026 */ beq $t4, $zero, .L80A9ED40 -/* 002D8 80A9ECA8 00000000 */ nop -/* 002DC 80A9ECAC 8DADFA90 */ lw $t5, -0x0570($t5) ## 8015FA90 -/* 002E0 80A9ECB0 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000 -/* 002E4 80A9ECB4 44815000 */ mtc1 $at, $f10 ## $f10 = 100.00 -/* 002E8 80A9ECB8 85AE074A */ lh $t6, 0x074A($t5) ## 8016074A -/* 002EC 80A9ECBC C6040060 */ lwc1 $f4, 0x0060($s0) ## 00000060 -/* 002F0 80A9ECC0 3C0F8013 */ lui $t7, 0x8013 ## $t7 = 80130000 -/* 002F4 80A9ECC4 448E3000 */ mtc1 $t6, $f6 ## $f6 = 0.00 -/* 002F8 80A9ECC8 3C188013 */ lui $t8, 0x8013 ## $t8 = 80130000 -/* 002FC 80A9ECCC 271833E8 */ addiu $t8, $t8, 0x33E8 ## $t8 = 801333E8 -/* 00300 80A9ECD0 46803220 */ cvt.s.w $f8, $f6 -/* 00304 80A9ECD4 25E733E0 */ addiu $a3, $t7, 0x33E0 ## $a3 = 801333E0 -/* 00308 80A9ECD8 260500E4 */ addiu $a1, $s0, 0x00E4 ## $a1 = 000000E4 -/* 0030C 80A9ECDC 24060004 */ addiu $a2, $zero, 0x0004 ## $a2 = 00000004 -/* 00310 80A9ECE0 460A4403 */ div.s $f16, $f8, $f10 -/* 00314 80A9ECE4 4610203C */ c.lt.s $f4, $f16 -/* 00318 80A9ECE8 00000000 */ nop -/* 0031C 80A9ECEC 45000014 */ bc1f .L80A9ED40 -/* 00320 80A9ECF0 00000000 */ nop -/* 00324 80A9ECF4 2404282F */ addiu $a0, $zero, 0x282F ## $a0 = 0000282F -/* 00328 80A9ECF8 AFA70010 */ sw $a3, 0x0010($sp) -/* 0032C 80A9ECFC 0C03DCE3 */ jal Audio_PlaySoundGeneral - -/* 00330 80A9ED00 AFB80014 */ sw $t8, 0x0014($sp) -/* 00334 80A9ED04 3C198016 */ lui $t9, 0x8016 ## $t9 = 80160000 -/* 00338 80A9ED08 8F39FA90 */ lw $t9, -0x0570($t9) ## 8015FA90 -/* 0033C 80A9ED0C 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000 -/* 00340 80A9ED10 44814000 */ mtc1 $at, $f8 ## $f8 = 100.00 -/* 00344 80A9ED14 8728074C */ lh $t0, 0x074C($t9) ## 8016074C -/* 00348 80A9ED18 C6040060 */ lwc1 $f4, 0x0060($s0) ## 00000060 -/* 0034C 80A9ED1C 96090088 */ lhu $t1, 0x0088($s0) ## 00000088 -/* 00350 80A9ED20 44889000 */ mtc1 $t0, $f18 ## $f18 = 0.00 -/* 00354 80A9ED24 312AFFFE */ andi $t2, $t1, 0xFFFE ## $t2 = 00000000 -/* 00358 80A9ED28 468091A0 */ cvt.s.w $f6, $f18 -/* 0035C 80A9ED2C A60A0088 */ sh $t2, 0x0088($s0) ## 00000088 -/* 00360 80A9ED30 46083283 */ div.s $f10, $f6, $f8 -/* 00364 80A9ED34 460A2402 */ mul.s $f16, $f4, $f10 -/* 00368 80A9ED38 10000003 */ beq $zero, $zero, .L80A9ED48 -/* 0036C 80A9ED3C E6100060 */ swc1 $f16, 0x0060($s0) ## 00000060 -.L80A9ED40: -/* 00370 80A9ED40 0C00BD60 */ jal func_8002F580 -/* 00374 80A9ED44 8FA5002C */ lw $a1, 0x002C($sp) -.L80A9ED48: -/* 00378 80A9ED48 0C00B638 */ jal Actor_MoveForward - -/* 0037C 80A9ED4C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00380 80A9ED50 860B00AA */ lh $t3, 0x00AA($s0) ## 000000AA -/* 00384 80A9ED54 860C00A8 */ lh $t4, 0x00A8($s0) ## 000000A8 -/* 00388 80A9ED58 240D001D */ addiu $t5, $zero, 0x001D ## $t5 = 0000001D -/* 0038C 80A9ED5C 448B9000 */ mtc1 $t3, $f18 ## $f18 = 0.00 -/* 00390 80A9ED60 448C3000 */ mtc1 $t4, $f6 ## $f6 = 0.00 -/* 00394 80A9ED64 AFAD0014 */ sw $t5, 0x0014($sp) -/* 00398 80A9ED68 468094A0 */ cvt.s.w $f18, $f18 -/* 0039C 80A9ED6C 8FA4002C */ lw $a0, 0x002C($sp) -/* 003A0 80A9ED70 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000 -/* 003A4 80A9ED74 46803020 */ cvt.s.w $f0, $f6 -/* 003A8 80A9ED78 44069000 */ mfc1 $a2, $f18 -/* 003AC 80A9ED7C 44070000 */ mfc1 $a3, $f0 -/* 003B0 80A9ED80 0C00B92D */ jal func_8002E4B4 -/* 003B4 80A9ED84 E7A00010 */ swc1 $f0, 0x0010($sp) -/* 003B8 80A9ED88 8E0F0024 */ lw $t7, 0x0024($s0) ## 00000024 -/* 003BC 80A9ED8C 8E0E0028 */ lw $t6, 0x0028($s0) ## 00000028 -/* 003C0 80A9ED90 AE0F0038 */ sw $t7, 0x0038($s0) ## 00000038 -/* 003C4 80A9ED94 8E0F002C */ lw $t7, 0x002C($s0) ## 0000002C -/* 003C8 80A9ED98 AE0E003C */ sw $t6, 0x003C($s0) ## 0000003C -/* 003CC 80A9ED9C AE0F0040 */ sw $t7, 0x0040($s0) ## 00000040 -/* 003D0 80A9EDA0 8FBF0024 */ lw $ra, 0x0024($sp) -/* 003D4 80A9EDA4 8FB00020 */ lw $s0, 0x0020($sp) -/* 003D8 80A9EDA8 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000 -/* 003DC 80A9EDAC 03E00008 */ jr $ra -/* 003E0 80A9EDB0 00000000 */ nop - - diff --git a/data/overlays/actors/z_en_lightbox.data.s b/data/overlays/actors/z_en_lightbox.data.s deleted file mode 100644 index 678fa31f26..0000000000 --- a/data/overlays/actors/z_en_lightbox.data.s +++ /dev/null @@ -1,16 +0,0 @@ -.include "macro.inc" - - # assembler directives - .set noat # allow manual use of $at - .set noreorder # don't insert nops after branches - .set gp=64 # allow use of 64-bit general purposee registers - -.section .data - -glabel En_Lightbox_InitVars - .word 0x007C0600, 0x00000010, 0x00810000, 0x00000164 -.word EnLightbox_Init -.word EnLightbox_Destroy -.word EnLightbox_Update -.word EnLightbox_Draw - diff --git a/data/overlays/actors/z_en_lightbox.reloc.s b/data/overlays/actors/z_en_lightbox.reloc.s deleted file mode 100644 index 60affc2f04..0000000000 --- a/data/overlays/actors/z_en_lightbox.reloc.s +++ /dev/null @@ -1,11 +0,0 @@ -.include "macro.inc" - - # assembler directives - .set noat # allow manual use of $at - .set noreorder # don't insert nops after branches - .set gp=64 # allow use of 64-bit general purposee registers - -.section .rodata -glabel D_80A9EE10 - -.incbin "baserom/ovl_En_Lightbox", 0x440, 0x00000030 diff --git a/data/overlays/actors/z_en_lightbox.rodata.s b/data/overlays/actors/z_en_lightbox.rodata.s deleted file mode 100644 index fc3c134c7b..0000000000 --- a/data/overlays/actors/z_en_lightbox.rodata.s +++ /dev/null @@ -1,13 +0,0 @@ -.include "macro.inc" - - # assembler directives - .set noat # allow manual use of $at - .set noreorder # don't insert nops after branches - .set gp=64 # allow use of 64-bit general purposee registers - -.section .rodata - -glabel D_80A9EE00 - .word 0x3F333333, 0x00000000, 0x00000000, 0x00000000 - - diff --git a/include/z64actor.h b/include/z64actor.h index 6f81f04475..e2cf530ba5 100644 --- a/include/z64actor.h +++ b/include/z64actor.h @@ -329,6 +329,8 @@ typedef struct /* 0x15A */ u16 unk_15A; /* 0x15C */ u32 unk_15C; /* 0x160 */ u8 unk_160; + /* 0x161 */ char unk_161; + /* 0x162 */ s16 unk_162; } DynaPolyActor; // size = 0x164 typedef struct diff --git a/spec b/spec index 1a3b075a91..a60fc97868 100644 --- a/spec +++ b/spec @@ -3184,9 +3184,7 @@ endseg beginseg name "ovl_En_Lightbox" include "build/src/overlays/actors/ovl_En_Lightbox/z_en_lightbox.o" - include "build/data/overlays/actors/z_en_lightbox.data.o" - include "build/data/overlays/actors/z_en_lightbox.rodata.o" - include "build/data/overlays/actors/z_en_lightbox.reloc.o" + include "build/src/overlays/actors/ovl_En_Lightbox/z_en_lightbox_reloc.o" endseg beginseg diff --git a/src/overlays/actors/ovl_En_Lightbox/z_en_lightbox.c b/src/overlays/actors/ovl_En_Lightbox/z_en_lightbox.c index 4ae592df73..8a9019cf61 100644 --- a/src/overlays/actors/ovl_En_Lightbox/z_en_lightbox.c +++ b/src/overlays/actors/ovl_En_Lightbox/z_en_lightbox.c @@ -1,14 +1,19 @@ +/* + * File: z_en_lightbox.c + * Overlay: ovl_En_Lightbox + * Description: +*/ + #include "z_en_lightbox.h" #define ROOM 0x00 #define FLAGS 0x00000010 -void EnLightbox_Init(EnLightbox* this, GlobalContext* globalCtx); -void EnLightbox_Destroy(EnLightbox* this, GlobalContext* globalCtx); -void EnLightbox_Update(EnLightbox* this, GlobalContext* globalCtx); -void EnLightbox_Draw(EnLightbox* this, GlobalContext* globalCtx); +static void EnLightbox_Init(EnLightbox* this, GlobalContext* globalCtx); +static void EnLightbox_Destroy(EnLightbox* this, GlobalContext* globalCtx); +static void EnLightbox_Update(EnLightbox* this, GlobalContext* globalCtx); +static void EnLightbox_Draw(EnLightbox* this, GlobalContext* globalCtx); -/* const ActorInit En_Lightbox_InitVars = { ACTOR_EN_LIGHTBOX, @@ -22,11 +27,105 @@ const ActorInit En_Lightbox_InitVars = (ActorFunc)EnLightbox_Update, (ActorFunc)EnLightbox_Draw, }; -*/ -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Lightbox/EnLightbox_Init.s") -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Lightbox/EnLightbox_Destroy.s") +extern u32 D_06000B70; +extern u32 D_06001F10; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Lightbox/EnLightbox_Update.s") +static void EnLightbox_Init(EnLightbox* this, GlobalContext* globalCtx) +{ + u32 local_c = 0; + Actor* thisx = &this->dyna.actor; + s32 pad[4]; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Lightbox/EnLightbox_Draw.s") + switch(thisx->params){ + case 0: + Actor_SetScale(thisx, 0.025f); + break; + case 1: + Actor_SetScale(thisx, 0.05f); + break; + case 2: + Actor_SetScale(thisx, 0.075f); + break; + case 3: + Actor_SetScale(thisx, 0.1f); + default: + break; + } + + thisx->posRot2.pos = thisx->posRot.pos; + thisx->sub_98.unk_10 = 0x1E; + thisx->sub_98.unk_12 = 0x32; + ActorShape_Init(&thisx->shape, 0.0f, ActorShadow_DrawFunc_Circle, 6.0f); + this->dyna.unk_160 = 0; + this->dyna.unk_15C = 0; + thisx->unk_1F = 0; + thisx->gravity = -2.0f; + DynaPolyInfo_Alloc(&D_06001F10, &local_c); + this->dyna.dynaPolyId = DynaPolyInfo_RegisterActor(globalCtx, &globalCtx->colCtx.dyna, thisx, local_c); +} + +static void EnLightbox_Destroy(EnLightbox* this, GlobalContext* globalCtx) +{ + DynaPolyInfo_Free(globalCtx, &globalCtx->colCtx.dyna, this->dyna.dynaPolyId); +} + +static void EnLightbox_Update(EnLightbox* this, GlobalContext* globalCtx) +{ + Actor* thisx = &this->dyna.actor; + + if (this->dyna.unk_162 != 0) + { + if (func_8002F5A0(thisx, globalCtx)) + { + this->dyna.unk_162 = 0; + } + } + else + { + if (func_8002F410(thisx, globalCtx)) + { + this->dyna.unk_162++; + } + else + { + if (thisx->speedXZ) + { + if (thisx->bgCheckFlags & 8) + { + thisx->posRot.rot.y = (thisx->posRot.rot.y + thisx->unk_7E) - thisx->posRot.rot.y; + Audio_PlaySoundGeneral(0x282F, &thisx->unk_E4, 4, &D_801333E0, &D_801333E0, &D_801333E8); + thisx->speedXZ *= 0.7f; + thisx->bgCheckFlags &= ~0x8; + } + } + + if ((thisx->bgCheckFlags & 1) == 0) + { + Math_ApproxF(&thisx->speedXZ, 0, IREG(57) / 100.0f); + } + else + { + Math_ApproxF(&thisx->speedXZ, 0, IREG(58) / 100.0f); + if ((thisx->bgCheckFlags & 2) && (thisx->velocity.y < IREG(59) / 100.0f)) + { + Audio_PlaySoundGeneral(0x282F, &thisx->unk_E4, 4, &D_801333E0, &D_801333E0, &D_801333E8); + thisx->velocity.y *= IREG(60) / 100.0f; + thisx->bgCheckFlags &= ~0x1; + } + else + { + func_8002F580(thisx, globalCtx); + } + } + } + } + Actor_MoveForward(thisx); + func_8002E4B4(globalCtx, thisx, thisx->sub_98.unk_12, thisx->sub_98.unk_10, thisx->sub_98.unk_10, 0x1D); + thisx->posRot2.pos = thisx->posRot.pos; +} + +static void EnLightbox_Draw(EnLightbox* this, GlobalContext* globalCtx) +{ + Draw_DListOpa(globalCtx, &D_06000B70); +} diff --git a/src/overlays/actors/ovl_En_Lightbox/z_en_lightbox.h b/src/overlays/actors/ovl_En_Lightbox/z_en_lightbox.h index 29bdf530bb..a788ff50f4 100644 --- a/src/overlays/actors/ovl_En_Lightbox/z_en_lightbox.h +++ b/src/overlays/actors/ovl_En_Lightbox/z_en_lightbox.h @@ -6,8 +6,7 @@ typedef struct { - /* 0x0000 */ Actor actor; - /* 0x014C */ char unk_14C[0x18]; + /* 0x0000 */ DynaPolyActor dyna; } EnLightbox; // size = 0x0164 extern const ActorInit En_Lightbox_InitVars; diff --git a/undefined_syms.txt b/undefined_syms.txt index 102b185600..78ad998625 100644 --- a/undefined_syms.txt +++ b/undefined_syms.txt @@ -390,4 +390,8 @@ D_06009244 = 0x06009244; D_060041F4 = 0x060041F4; D_0600A054 = 0x0600A054; D_06008688 = 0x06008688; -D_04049210 = 0x04049210; \ No newline at end of file +D_04049210 = 0x04049210; + +// z_en_lightbox +D_06000B70 = 0x06000B70; +D_06001F10 = 0x06001F10; \ No newline at end of file From 149c8cf57e957c6998d336fe565f9ab17090e73f Mon Sep 17 00:00:00 2001 From: Faschz Date: Wed, 18 Mar 2020 20:17:42 -0500 Subject: [PATCH 04/10] Update to sfx enum --- src/overlays/actors/ovl_En_Lightbox/z_en_lightbox.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/overlays/actors/ovl_En_Lightbox/z_en_lightbox.c b/src/overlays/actors/ovl_En_Lightbox/z_en_lightbox.c index 8a9019cf61..69c87d4d6c 100644 --- a/src/overlays/actors/ovl_En_Lightbox/z_en_lightbox.c +++ b/src/overlays/actors/ovl_En_Lightbox/z_en_lightbox.c @@ -94,7 +94,7 @@ static void EnLightbox_Update(EnLightbox* this, GlobalContext* globalCtx) if (thisx->bgCheckFlags & 8) { thisx->posRot.rot.y = (thisx->posRot.rot.y + thisx->unk_7E) - thisx->posRot.rot.y; - Audio_PlaySoundGeneral(0x282F, &thisx->unk_E4, 4, &D_801333E0, &D_801333E0, &D_801333E8); + Audio_PlaySoundGeneral(NA_SE_EV_BOMB_BOUND, &thisx->unk_E4, 4, &D_801333E0, &D_801333E0, &D_801333E8); thisx->speedXZ *= 0.7f; thisx->bgCheckFlags &= ~0x8; } @@ -109,7 +109,7 @@ static void EnLightbox_Update(EnLightbox* this, GlobalContext* globalCtx) Math_ApproxF(&thisx->speedXZ, 0, IREG(58) / 100.0f); if ((thisx->bgCheckFlags & 2) && (thisx->velocity.y < IREG(59) / 100.0f)) { - Audio_PlaySoundGeneral(0x282F, &thisx->unk_E4, 4, &D_801333E0, &D_801333E0, &D_801333E8); + Audio_PlaySoundGeneral(NA_SE_EV_BOMB_BOUND, &thisx->unk_E4, 4, &D_801333E0, &D_801333E0, &D_801333E8); thisx->velocity.y *= IREG(60) / 100.0f; thisx->bgCheckFlags &= ~0x1; } From e285671a03950be2eaabd0d582282a79ac769f3b Mon Sep 17 00:00:00 2001 From: Faschz Date: Wed, 18 Mar 2020 21:26:41 -0500 Subject: [PATCH 05/10] Fix whitespace --- include/z64actor.h | 4 +- .../actors/ovl_En_Lightbox/z_en_lightbox.c | 140 +++++++++--------- .../actors/ovl_En_Lightbox/z_en_lightbox.h | 2 +- 3 files changed, 73 insertions(+), 73 deletions(-) diff --git a/include/z64actor.h b/include/z64actor.h index e2cf530ba5..d0e249a8c2 100644 --- a/include/z64actor.h +++ b/include/z64actor.h @@ -329,8 +329,8 @@ typedef struct /* 0x15A */ u16 unk_15A; /* 0x15C */ u32 unk_15C; /* 0x160 */ u8 unk_160; - /* 0x161 */ char unk_161; - /* 0x162 */ s16 unk_162; + /* 0x161 */ char unk_161; + /* 0x162 */ s16 unk_162; } DynaPolyActor; // size = 0x164 typedef struct diff --git a/src/overlays/actors/ovl_En_Lightbox/z_en_lightbox.c b/src/overlays/actors/ovl_En_Lightbox/z_en_lightbox.c index 69c87d4d6c..9b472b44d7 100644 --- a/src/overlays/actors/ovl_En_Lightbox/z_en_lightbox.c +++ b/src/overlays/actors/ovl_En_Lightbox/z_en_lightbox.c @@ -33,99 +33,99 @@ extern u32 D_06001F10; static void EnLightbox_Init(EnLightbox* this, GlobalContext* globalCtx) { - u32 local_c = 0; - Actor* thisx = &this->dyna.actor; - s32 pad[4]; + u32 local_c = 0; + Actor* thisx = &this->dyna.actor; + s32 pad[4]; - switch(thisx->params){ - case 0: - Actor_SetScale(thisx, 0.025f); - break; - case 1: - Actor_SetScale(thisx, 0.05f); - break; - case 2: - Actor_SetScale(thisx, 0.075f); - break; - case 3: - Actor_SetScale(thisx, 0.1f); - default: - break; - } + switch(thisx->params){ + case 0: + Actor_SetScale(thisx, 0.025f); + break; + case 1: + Actor_SetScale(thisx, 0.05f); + break; + case 2: + Actor_SetScale(thisx, 0.075f); + break; + case 3: + Actor_SetScale(thisx, 0.1f); + default: + break; + } - thisx->posRot2.pos = thisx->posRot.pos; - thisx->sub_98.unk_10 = 0x1E; - thisx->sub_98.unk_12 = 0x32; - ActorShape_Init(&thisx->shape, 0.0f, ActorShadow_DrawFunc_Circle, 6.0f); - this->dyna.unk_160 = 0; - this->dyna.unk_15C = 0; - thisx->unk_1F = 0; - thisx->gravity = -2.0f; - DynaPolyInfo_Alloc(&D_06001F10, &local_c); - this->dyna.dynaPolyId = DynaPolyInfo_RegisterActor(globalCtx, &globalCtx->colCtx.dyna, thisx, local_c); + thisx->posRot2.pos = thisx->posRot.pos; + thisx->sub_98.unk_10 = 0x1E; + thisx->sub_98.unk_12 = 0x32; + ActorShape_Init(&thisx->shape, 0.0f, ActorShadow_DrawFunc_Circle, 6.0f); + this->dyna.unk_160 = 0; + this->dyna.unk_15C = 0; + thisx->unk_1F = 0; + thisx->gravity = -2.0f; + DynaPolyInfo_Alloc(&D_06001F10, &local_c); + this->dyna.dynaPolyId = DynaPolyInfo_RegisterActor(globalCtx, &globalCtx->colCtx.dyna, thisx, local_c); } static void EnLightbox_Destroy(EnLightbox* this, GlobalContext* globalCtx) { - DynaPolyInfo_Free(globalCtx, &globalCtx->colCtx.dyna, this->dyna.dynaPolyId); + DynaPolyInfo_Free(globalCtx, &globalCtx->colCtx.dyna, this->dyna.dynaPolyId); } static void EnLightbox_Update(EnLightbox* this, GlobalContext* globalCtx) { - Actor* thisx = &this->dyna.actor; + Actor* thisx = &this->dyna.actor; - if (this->dyna.unk_162 != 0) - { - if (func_8002F5A0(thisx, globalCtx)) + if (this->dyna.unk_162 != 0) { - this->dyna.unk_162 = 0; - } - } - else - { - if (func_8002F410(thisx, globalCtx)) - { - this->dyna.unk_162++; + if (func_8002F5A0(thisx, globalCtx)) + { + this->dyna.unk_162 = 0; + } } else { - if (thisx->speedXZ) - { - if (thisx->bgCheckFlags & 8) + if (func_8002F410(thisx, globalCtx)) { - thisx->posRot.rot.y = (thisx->posRot.rot.y + thisx->unk_7E) - thisx->posRot.rot.y; - Audio_PlaySoundGeneral(NA_SE_EV_BOMB_BOUND, &thisx->unk_E4, 4, &D_801333E0, &D_801333E0, &D_801333E8); - thisx->speedXZ *= 0.7f; - thisx->bgCheckFlags &= ~0x8; - } - } - - if ((thisx->bgCheckFlags & 1) == 0) - { - Math_ApproxF(&thisx->speedXZ, 0, IREG(57) / 100.0f); - } - else - { - Math_ApproxF(&thisx->speedXZ, 0, IREG(58) / 100.0f); - if ((thisx->bgCheckFlags & 2) && (thisx->velocity.y < IREG(59) / 100.0f)) - { - Audio_PlaySoundGeneral(NA_SE_EV_BOMB_BOUND, &thisx->unk_E4, 4, &D_801333E0, &D_801333E0, &D_801333E8); - thisx->velocity.y *= IREG(60) / 100.0f; - thisx->bgCheckFlags &= ~0x1; + this->dyna.unk_162++; } else { - func_8002F580(thisx, globalCtx); + if (thisx->speedXZ) + { + if (thisx->bgCheckFlags & 8) + { + thisx->posRot.rot.y = (thisx->posRot.rot.y + thisx->unk_7E) - thisx->posRot.rot.y; + Audio_PlaySoundGeneral(NA_SE_EV_BOMB_BOUND, &thisx->unk_E4, 4, &D_801333E0, &D_801333E0, &D_801333E8); + thisx->speedXZ *= 0.7f; + thisx->bgCheckFlags &= ~0x8; + } + } + + if ((thisx->bgCheckFlags & 1) == 0) + { + Math_ApproxF(&thisx->speedXZ, 0, IREG(57) / 100.0f); + } + else + { + Math_ApproxF(&thisx->speedXZ, 0, IREG(58) / 100.0f); + if ((thisx->bgCheckFlags & 2) && (thisx->velocity.y < IREG(59) / 100.0f)) + { + Audio_PlaySoundGeneral(NA_SE_EV_BOMB_BOUND, &thisx->unk_E4, 4, &D_801333E0, &D_801333E0, &D_801333E8); + thisx->velocity.y *= IREG(60) / 100.0f; + thisx->bgCheckFlags &= ~0x1; + } + else + { + func_8002F580(thisx, globalCtx); + } + } } - } } - } - Actor_MoveForward(thisx); - func_8002E4B4(globalCtx, thisx, thisx->sub_98.unk_12, thisx->sub_98.unk_10, thisx->sub_98.unk_10, 0x1D); - thisx->posRot2.pos = thisx->posRot.pos; + Actor_MoveForward(thisx); + func_8002E4B4(globalCtx, thisx, thisx->sub_98.unk_12, thisx->sub_98.unk_10, thisx->sub_98.unk_10, 0x1D); + thisx->posRot2.pos = thisx->posRot.pos; } static void EnLightbox_Draw(EnLightbox* this, GlobalContext* globalCtx) { - Draw_DListOpa(globalCtx, &D_06000B70); + Draw_DListOpa(globalCtx, &D_06000B70); } diff --git a/src/overlays/actors/ovl_En_Lightbox/z_en_lightbox.h b/src/overlays/actors/ovl_En_Lightbox/z_en_lightbox.h index a788ff50f4..13ad74109c 100644 --- a/src/overlays/actors/ovl_En_Lightbox/z_en_lightbox.h +++ b/src/overlays/actors/ovl_En_Lightbox/z_en_lightbox.h @@ -6,7 +6,7 @@ typedef struct { - /* 0x0000 */ DynaPolyActor dyna; + /* 0x0000 */ DynaPolyActor dyna; } EnLightbox; // size = 0x0164 extern const ActorInit En_Lightbox_InitVars; From 8063249af48736010d909cefd33aa8f194c223ce Mon Sep 17 00:00:00 2001 From: mzxrules Date: Thu, 19 Mar 2020 18:06:41 -0400 Subject: [PATCH 06/10] changes --- include/regs.h | 5 +- include/z64.h | 10 +-- src/code/z_debug.c | 198 +++++++++++++++++++++------------------------ 3 files changed, 100 insertions(+), 113 deletions(-) diff --git a/include/regs.h b/include/regs.h index 4c3ad34cb1..fa7003da58 100644 --- a/include/regs.h +++ b/include/regs.h @@ -1,7 +1,10 @@ #ifndef _REGS_H_ #define _REGS_H_ -#define BASE_REG(n, r) gGameInfo->data[n * 96 + r] +#define REG_GROUPS 29 //number of REG groups, i.e. REG, SREG, OREG, etc. +#define REG_PER_GROUP 96 + +#define BASE_REG(n, r) gGameInfo->data[n * REG_PER_GROUP + r] #define REG(r) BASE_REG(0, r) #define SREG(r) BASE_REG(1, r) diff --git a/include/z64.h b/include/z64.h index c9997edc1c..0471631065 100644 --- a/include/z64.h +++ b/include/z64.h @@ -33,12 +33,12 @@ // Data normally accessed through REG macros (see regs.h) typedef struct { - /* 0x00 */ s32 reg_page; //1 is first page - /* 0x04 */ s32 reg_group; //"register" group (R, RS, RO, RP etc.) - /* 0x08 */ s32 reg_cur; //selected register within page - /* 0x0C */ s32 dpad_last; + /* 0x00 */ s32 regPage; //1 is first page + /* 0x04 */ s32 regGroup; //"register" group (R, RS, RO, RP etc.) + /* 0x08 */ s32 regCur; //selected register within page + /* 0x0C */ s32 dpadLast; /* 0x10 */ s32 repeat; - /* 0x14 */ s16 data[0xAE0]; + /* 0x14 */ s16 data[REG_GROUPS * REG_PER_GROUP]; //0xAE0 } GameInfo; // size = 0x15D4 typedef struct diff --git a/src/code/z_debug.c b/src/code/z_debug.c index f0971cfbf8..489636d415 100644 --- a/src/code/z_debug.c +++ b/src/code/z_debug.c @@ -3,24 +3,8 @@ #include #include #include +#include -#define BUTTON_C_RIGHT 0x0001 -#define BUTTON_C_LEFT 0x0002 -#define BUTTON_C_DOWN 0x0004 -#define BUTTON_C_UP 0x0008 -#define BUTTON_R 0x0010 -#define BUTTON_L 0x0020 -#define BUTTON_D_RIGHT 0x0100 -#define BUTTON_D_LEFT 0x0200 -#define BUTTON_D_DOWN 0x0400 -#define BUTTON_D_UP 0x0800 -#define BUTTON_START 0x1000 -#define BUTTON_Z 0x2000 -#define BUTTON_B 0x4000 -#define BUTTON_A 0x8000 - -#define REG_GROUP_TOTAL 29 -#define REG_N 96 #define PAGE_N 16 typedef struct @@ -53,36 +37,36 @@ Color_RGBA8 printTextColors[] = { { 0x80, 0xFF, 0x20, 0x80 }, }; -InputCombo inputCombos[REG_GROUP_TOTAL] = { - { BUTTON_L, BUTTON_C_UP }, - { BUTTON_L, BUTTON_C_LEFT }, - { BUTTON_L, BUTTON_C_DOWN }, - { BUTTON_L, BUTTON_A }, - { BUTTON_R, BUTTON_C_DOWN }, - { BUTTON_L, BUTTON_C_RIGHT }, - { BUTTON_L, BUTTON_R }, - { BUTTON_L, BUTTON_D_LEFT }, - { BUTTON_L, BUTTON_D_RIGHT }, - { BUTTON_L, BUTTON_D_UP }, - { BUTTON_L, BUTTON_B }, - { BUTTON_L, BUTTON_Z }, - { BUTTON_L, BUTTON_D_DOWN }, - { BUTTON_R, BUTTON_A }, - { BUTTON_R, BUTTON_B }, - { BUTTON_R, BUTTON_Z }, - { BUTTON_R, BUTTON_L }, - { BUTTON_R, BUTTON_C_UP }, - { BUTTON_R, BUTTON_C_RIGHT }, - { BUTTON_R, BUTTON_D_LEFT }, - { BUTTON_R, BUTTON_C_LEFT }, - { BUTTON_R, BUTTON_START }, - { BUTTON_L, BUTTON_START }, - { BUTTON_R, BUTTON_D_RIGHT }, - { BUTTON_R, BUTTON_D_UP }, - { BUTTON_START, BUTTON_R }, - { BUTTON_START, BUTTON_A }, - { BUTTON_START, BUTTON_B }, - { BUTTON_START, BUTTON_C_RIGHT }, +InputCombo inputCombos[REG_GROUPS] = { + { L_TRIG, U_CBUTTONS }, + { L_TRIG, L_CBUTTONS }, + { L_TRIG, D_CBUTTONS }, + { L_TRIG, A_BUTTON }, + { R_TRIG, D_CBUTTONS }, + { L_TRIG, R_CBUTTONS }, + { L_TRIG, R_TRIG }, + { L_TRIG, L_JPAD }, + { L_TRIG, R_JPAD }, + { L_TRIG, U_JPAD }, + { L_TRIG, B_BUTTON }, + { L_TRIG, Z_TRIG }, + { L_TRIG, D_JPAD }, + { R_TRIG, A_BUTTON }, + { R_TRIG, B_BUTTON }, + { R_TRIG, Z_TRIG }, + { R_TRIG, L_TRIG }, + { R_TRIG, U_CBUTTONS }, + { R_TRIG, R_CBUTTONS }, + { R_TRIG, L_JPAD }, + { R_TRIG, L_CBUTTONS }, + { R_TRIG, START_BUTTON }, + { L_TRIG, START_BUTTON }, + { R_TRIG, R_JPAD }, + { R_TRIG, U_JPAD }, + { START_BUTTON, R_TRIG }, + { START_BUTTON, A_BUTTON }, + { START_BUTTON, B_BUTTON }, + { START_BUTTON, R_CBUTTONS }, }; char regChar[] = " SOPQMYDUIZCNKXcsiWAVHGmnBdkb"; @@ -92,13 +76,13 @@ void func_800636C0() { s32 i; - gGameInfo = (GameInfo*)SystemArena_MallocDebug(sizeof(GameInfo), "../z_debug.c", 0x104); - gGameInfo->reg_page = 0; - gGameInfo->reg_group = 0; - gGameInfo->reg_cur = 0; - gGameInfo->dpad_last = 0; + gGameInfo = (GameInfo*)SystemArena_MallocDebug(sizeof(GameInfo), "../z_debug.c", 260); + gGameInfo->regPage = 0; + gGameInfo->regGroup = 0; + gGameInfo->regCur = 0; + gGameInfo->dpadLast = 0; gGameInfo->repeat = 0; - for (i = 0; i < 0xAE0; i++) + for (i = 0; i < ARRAY_COUNT(gGameInfo->data); i++) { gGameInfo->data[i] = 0; } @@ -116,7 +100,7 @@ void func_8006375C(s32 arg0, s32 arg1, float* d_80855320) void func_8006376C(u8 x, u8 y, u8 colorId, const char* text) { PrintTextBuffer* buf; - char* next_text; + char* bufText; s16 i; //v1 buf = &D_8015FA98[D_8011E0B0]; @@ -127,15 +111,15 @@ void func_8006376C(u8 x, u8 y, u8 colorId, const char* text) buf->colorId = colorId; i = 0; - next_text = buf->text + 1; + bufText = buf->text + 1; if (*buf->text = *text++) { do if (i++ > 0x14) { break; - } while (*next_text++ = *text++); + } while (*bufText++ = *text++); } - *next_text = '\0'; + *bufText = '\0'; D_8011E0B0++; } } @@ -173,18 +157,18 @@ void func_80063828(GfxPrint* gfxPrint) void func_8006390C(Input* input) { s32 dpad; - s32 reg_group; + s32 regGroup; s32 increment; InputCombo* input_combo; s32 i; - reg_group = (gGameInfo->reg_group * (REG_N / PAGE_N) + gGameInfo->reg_page) * PAGE_N - PAGE_N; + regGroup = (gGameInfo->regGroup * (REG_PER_GROUP / PAGE_N) + gGameInfo->regPage) * PAGE_N - PAGE_N; dpad = input->raw.pad & 0xF00; - if (!~(input->raw.pad | ~BUTTON_L) || - !~(input->raw.pad | ~BUTTON_R) || - !~(input->raw.pad | ~BUTTON_START)) { + if (!~(input->raw.pad | ~L_TRIG) || + !~(input->raw.pad | ~R_TRIG) || + !~(input->raw.pad | ~START_BUTTON)) { input_combo = inputCombos; - for (i = 0; i < REG_GROUP_TOTAL; i++) + for (i = 0; i < REG_GROUPS; i++) { if (~(~input_combo->push | input->raw.pad) || ~(~input_combo->held | input->padPressed)) { @@ -194,17 +178,17 @@ void func_8006390C(Input* input) { break; } - if (i < REG_GROUP_TOTAL) { - if (i == gGameInfo->reg_group) { - gGameInfo->reg_page = (gGameInfo->reg_page + 1) % 7; + if (i < REG_GROUPS) { + if (i == gGameInfo->regGroup) { + gGameInfo->regPage = (gGameInfo->regPage + 1) % 7; return; } - gGameInfo->reg_group = i; - gGameInfo->reg_page = 0; + gGameInfo->regGroup = i; + gGameInfo->regPage = 0; } } else { - switch (gGameInfo->reg_page - 1) + switch (gGameInfo->regPage - 1) { case 0: case 1: @@ -213,42 +197,42 @@ void func_8006390C(Input* input) { case 4: case 5: - if (dpad == gGameInfo->dpad_last) { + if (dpad == gGameInfo->dpadLast) { gGameInfo->repeat--; if (gGameInfo->repeat < 0) { gGameInfo->repeat = 1; } else { - dpad ^= gGameInfo->dpad_last; + dpad ^= gGameInfo->dpadLast; } } else { gGameInfo->repeat = 0x10; - gGameInfo->dpad_last = dpad; + gGameInfo->dpadLast = dpad; } increment = - (dpad & BUTTON_D_RIGHT) ? ( - !~(input->raw.pad | ~(BUTTON_A | BUTTON_B)) ? 1000 : - !~(input->raw.pad | ~BUTTON_A) ? 100 : - !~(input->raw.pad | ~BUTTON_B) ? 10 : 1) : - (dpad & BUTTON_D_LEFT) ? ( - !~(input->raw.pad | ~(BUTTON_A | BUTTON_B)) ? -1000 : - !~(input->raw.pad | ~BUTTON_A) ? -100 : - !~(input->raw.pad | ~BUTTON_B) ? -10 : -1) : + (dpad & R_JPAD) ? ( + !~(input->raw.pad | ~(A_BUTTON | B_BUTTON)) ? 1000 : + !~(input->raw.pad | ~A_BUTTON) ? 100 : + !~(input->raw.pad | ~B_BUTTON) ? 10 : 1) : + (dpad & L_JPAD) ? ( + !~(input->raw.pad | ~(A_BUTTON | B_BUTTON)) ? -1000 : + !~(input->raw.pad | ~A_BUTTON) ? -100 : + !~(input->raw.pad | ~B_BUTTON) ? -10 : -1) : 0; - gGameInfo->data[gGameInfo->reg_cur + reg_group] += increment; - if (dpad & BUTTON_D_UP) { - gGameInfo->reg_cur--; - if (gGameInfo->reg_cur < 0) { - gGameInfo->reg_cur = PAGE_N - 1; + gGameInfo->data[gGameInfo->regCur + regGroup] += increment; + if (dpad & U_JPAD) { + gGameInfo->regCur--; + if (gGameInfo->regCur < 0) { + gGameInfo->regCur = PAGE_N - 1; } } - else if (dpad & BUTTON_D_DOWN) { - gGameInfo->reg_cur++; - if (gGameInfo->reg_cur >= PAGE_N) { - gGameInfo->reg_cur = 0; + else if (dpad & D_JPAD) { + gGameInfo->regCur++; + if (gGameInfo->regCur >= PAGE_N) { + gGameInfo->regCur = 0; } } if (iREG(0)) { @@ -264,28 +248,28 @@ void func_80063C04(GfxPrint* gfxPrint) { s32 i; s32 page; - s32 reg_group; + s32 regGroup; s32 test; //removing affects stack - char reg_name[3]; + char name[3]; - page = (gGameInfo->reg_page * PAGE_N) - PAGE_N; - reg_group = (gGameInfo->reg_group * (REG_N / PAGE_N) + gGameInfo->reg_page) * PAGE_N - PAGE_N; + page = (gGameInfo->regPage * PAGE_N) - PAGE_N; + regGroup = (gGameInfo->regGroup * (REG_PER_GROUP / PAGE_N) + gGameInfo->regPage) * PAGE_N - PAGE_N; //set up register name string - reg_name[0] = 'R'; - reg_name[1] = regChar[gGameInfo->reg_group]; //r_group type char - reg_name[2] = '\0'; + name[0] = 'R'; + name[1] = regChar[gGameInfo->regGroup]; //r_group type char + name[2] = '\0'; GfxPrint_SetColor(gfxPrint, 0, 0x80, 0x80, 0x80); for (i = 0; i != PAGE_N; i++) { - if (i == gGameInfo->reg_cur) + if (i == gGameInfo->regCur) { GfxPrint_SetColor(gfxPrint, 0, 0xff, 0xff, 0xff); } GfxPrint_SetPos(gfxPrint, 3, i + 5); - GfxPrint_Printf(gfxPrint, "%s%02d%6d", ®_name, page + i, gGameInfo->data[i + reg_group]); - if (i == gGameInfo->reg_cur) + GfxPrint_Printf(gfxPrint, "%s%02d%6d", &name, page + i, gGameInfo->data[i + regGroup]); + if (i == gGameInfo->regCur) { GfxPrint_SetColor(gfxPrint, 0, 0x80, 0x80, 0x80); } @@ -295,24 +279,24 @@ void func_80063C04(GfxPrint* gfxPrint) void func_80063D7C(GraphicsContext* gfxCtx) { Gfx* sp7C; Gfx* sp78; - Gfx* temp_ret; + Gfx* tempRet; void* unk2[6]; GfxPrint gfxPrint; void* unk[2]; - Gfx* dl_frame[4]; //stores state of GfxCtx next ptrs + Gfx* dlFrame[4]; //stores state of GfxCtx next ptrs - func_800C6AC4(&dl_frame, gfxCtx, "../z_debug.c", 0x274); + func_800C6AC4(&dlFrame, gfxCtx, "../z_debug.c", 628); GfxPrint_Ctor(&gfxPrint); sp78 = gfxCtx->polyOpa.p; - temp_ret = func_800C6C20(gfxCtx->polyOpa.p); - gSPDisplayList(gfxCtx->overlay.p++, temp_ret); - GfxPrint_Open(&gfxPrint, temp_ret); + tempRet = func_800C6C20(gfxCtx->polyOpa.p); + gSPDisplayList(gfxCtx->overlay.p++, tempRet); + GfxPrint_Open(&gfxPrint, tempRet); if ((OREG(0) == 1) || (OREG(0) == 8)) { func_80063828(&gfxPrint); } - if (gGameInfo->reg_page != 0) { + if (gGameInfo->regPage != 0) { func_80063C04(&gfxPrint); } @@ -322,6 +306,6 @@ void func_80063D7C(GraphicsContext* gfxCtx) { func_800C6C28(sp78, sp7C); gfxCtx->polyOpa.p = sp7C; if (0); - func_800C6B54(&dl_frame, gfxCtx, "../z_debug.c", 0x298); + func_800C6B54(&dlFrame, gfxCtx, "../z_debug.c", 664); GfxPrint_Dtor(&gfxPrint); } From 6da87a92689476be68ccc8e936b9cca3b490217f Mon Sep 17 00:00:00 2001 From: Faschz Date: Thu, 19 Mar 2020 17:08:49 -0500 Subject: [PATCH 07/10] Omit unnecessary padding --- include/z64actor.h | 1 - 1 file changed, 1 deletion(-) diff --git a/include/z64actor.h b/include/z64actor.h index d0e249a8c2..001a25923e 100644 --- a/include/z64actor.h +++ b/include/z64actor.h @@ -329,7 +329,6 @@ typedef struct /* 0x15A */ u16 unk_15A; /* 0x15C */ u32 unk_15C; /* 0x160 */ u8 unk_160; - /* 0x161 */ char unk_161; /* 0x162 */ s16 unk_162; } DynaPolyActor; // size = 0x164 From c931cd58376a6a9bda2290063974d2cfb371685b Mon Sep 17 00:00:00 2001 From: Random <28494085+Random0666@users.noreply.github.com> Date: Thu, 19 Mar 2020 23:29:33 +0100 Subject: [PATCH 08/10] Decompiled z_title.c `z_title.c` : matching --- asm/graph.s | 4 +- .../gamestates/ovl_title/func_80800000.s | 91 ----- .../gamestates/ovl_title/func_80800134.s | 38 -- .../gamestates/ovl_title/func_808001C8.s | 376 ------------------ .../gamestates/ovl_title/func_8080073C.s | 86 ---- .../gamestates/ovl_title/func_80800878.s | 100 ----- data/overlays/gamestates/z_title.data.s | 15 - include/functions.h | 4 +- include/segment_symbols.h | 1 + include/variables.h | 2 +- include/z64.h | 20 +- spec | 1 - src/code/title_setup.c | 2 +- src/overlays/gamestates/ovl_title/z_title.c | 210 +++++++++- undefined_syms.txt | 1 + 15 files changed, 223 insertions(+), 728 deletions(-) delete mode 100644 asm/non_matchings/overlays/gamestates/ovl_title/func_80800000.s delete mode 100644 asm/non_matchings/overlays/gamestates/ovl_title/func_80800134.s delete mode 100644 asm/non_matchings/overlays/gamestates/ovl_title/func_808001C8.s delete mode 100644 asm/non_matchings/overlays/gamestates/ovl_title/func_8080073C.s delete mode 100644 asm/non_matchings/overlays/gamestates/ovl_title/func_80800878.s delete mode 100644 data/overlays/gamestates/z_title.data.s diff --git a/asm/graph.s b/asm/graph.s index 2c0e13348d..95e67955a5 100644 --- a/asm/graph.s +++ b/asm/graph.s @@ -286,12 +286,12 @@ glabel func_800C5C2C /* B3CDF8 800C5C58 3C0F8080 */ lui $t7, %hi(func_80801E44) # $t7, 0x8080 /* B3CDFC 800C5C5C 25EF1E44 */ addiu $t7, %lo(func_80801E44) # addiu $t7, $t7, 0x1e44 /* B3CE00 800C5C60 144F0004 */ bne $v0, $t7, .L800C5C74 -/* B3CE04 800C5C64 3C188080 */ lui $t8, %hi(func_80800878) # $t8, 0x8080 +/* B3CE04 800C5C64 3C188080 */ lui $t8, %hi(Title_Init) # $t8, 0x8080 /* B3CE08 800C5C68 3C028012 */ lui $v0, %hi(D_8011F860) # $v0, 0x8012 /* B3CE0C 800C5C6C 10000022 */ b .L800C5CF8 /* B3CE10 800C5C70 2442F860 */ addiu $v0, %lo(D_8011F860) # addiu $v0, $v0, -0x7a0 .L800C5C74: -/* B3CE14 800C5C74 27180878 */ addiu $t8, %lo(func_80800878) # addiu $t8, $t8, 0x878 +/* B3CE14 800C5C74 27180878 */ addiu $t8, %lo(Title_Init) # addiu $t8, $t8, 0x878 /* B3CE18 800C5C78 14580004 */ bne $v0, $t8, .L800C5C8C /* B3CE1C 800C5C7C 3C19800C */ lui $t9, %hi(func_800BCA64) # $t9, 0x800c /* B3CE20 800C5C80 3C028012 */ lui $v0, %hi(D_8011F890) # $v0, 0x8012 diff --git a/asm/non_matchings/overlays/gamestates/ovl_title/func_80800000.s b/asm/non_matchings/overlays/gamestates/ovl_title/func_80800000.s deleted file mode 100644 index 73ff91e289..0000000000 --- a/asm/non_matchings/overlays/gamestates/ovl_title/func_80800000.s +++ /dev/null @@ -1,91 +0,0 @@ -.rdata - -glabel D_808009C0 - .asciz "NOT MARIO CLUB VERSION" - .balign 4 - -glabel D_808009D8 - .asciz "[Creator:%s]" - .balign 4 - -glabel D_808009E8 - .asciz "[Date:%s]" - .balign 4 - - .text - -glabel func_80800000 -/* 00000 80800000 27BDFFC0 */ addiu $sp, $sp, 0xFFC0 ## $sp = FFFFFFC0 -/* 00004 80800004 AFBF003C */ sw $ra, 0x003C($sp) -/* 00008 80800008 AFBE0038 */ sw $s8, 0x0038($sp) -/* 0000C 8080000C AFB10034 */ sw $s1, 0x0034($sp) -/* 00010 80800010 AFB00030 */ sw $s0, 0x0030($sp) -/* 00014 80800014 AFA40040 */ sw $a0, 0x0040($sp) -/* 00018 80800018 8C910000 */ lw $s1, 0x0000($a0) ## 00000000 -/* 0001C 8080001C 03A0F025 */ or $s8, $sp, $zero ## $s8 = FFFFFFC0 -/* 00020 80800020 0C025047 */ jal func_8009411C -/* 00024 80800024 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 00028 80800028 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFF90 -/* 0002C 8080002C 27B00018 */ addiu $s0, $sp, 0x0018 ## $s0 = FFFFFFA8 -/* 00030 80800030 00408825 */ or $s1, $v0, $zero ## $s1 = 00000000 -/* 00034 80800034 0C03EEE3 */ jal GfxPrint_Ctor -/* 00038 80800038 02002025 */ or $a0, $s0, $zero ## $a0 = FFFFFFA8 -/* 0003C 8080003C 02002025 */ or $a0, $s0, $zero ## $a0 = FFFFFFA8 -/* 00040 80800040 0C03EF07 */ jal GfxPrint_Open -/* 00044 80800044 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000 -/* 00048 80800048 240F00FF */ addiu $t7, $zero, 0x00FF ## $t7 = 000000FF -/* 0004C 8080004C AFAF0010 */ sw $t7, 0x0010($sp) -/* 00050 80800050 02002025 */ or $a0, $s0, $zero ## $a0 = FFFFFFA8 -/* 00054 80800054 240500FF */ addiu $a1, $zero, 0x00FF ## $a1 = 000000FF -/* 00058 80800058 2406009B */ addiu $a2, $zero, 0x009B ## $a2 = 0000009B -/* 0005C 8080005C 0C03ECEB */ jal GfxPrint_SetColor -/* 00060 80800060 240700FF */ addiu $a3, $zero, 0x00FF ## $a3 = 000000FF -/* 00064 80800064 02002025 */ or $a0, $s0, $zero ## $a0 = FFFFFFA8 -/* 00068 80800068 24050009 */ addiu $a1, $zero, 0x0009 ## $a1 = 00000009 -/* 0006C 8080006C 0C03ED07 */ jal GfxPrint_SetPos -/* 00070 80800070 24060015 */ addiu $a2, $zero, 0x0015 ## $a2 = 00000015 -/* 00074 80800074 3C058080 */ lui $a1, %hi(D_808009C0) ## $a1 = 80800000 -/* 00078 80800078 24A509C0 */ addiu $a1, $a1, %lo(D_808009C0) ## $a1 = 808009C0 -/* 0007C 8080007C 0C03EF2D */ jal GfxPrint_Printf -/* 00080 80800080 02002025 */ or $a0, $s0, $zero ## $a0 = FFFFFFA8 -/* 00084 80800084 241800FF */ addiu $t8, $zero, 0x00FF ## $t8 = 000000FF -/* 00088 80800088 AFB80010 */ sw $t8, 0x0010($sp) -/* 0008C 8080008C 02002025 */ or $a0, $s0, $zero ## $a0 = FFFFFFA8 -/* 00090 80800090 240500FF */ addiu $a1, $zero, 0x00FF ## $a1 = 000000FF -/* 00094 80800094 240600FF */ addiu $a2, $zero, 0x00FF ## $a2 = 000000FF -/* 00098 80800098 0C03ECEB */ jal GfxPrint_SetColor -/* 0009C 8080009C 240700FF */ addiu $a3, $zero, 0x00FF ## $a3 = 000000FF -/* 000A0 808000A0 02002025 */ or $a0, $s0, $zero ## $a0 = FFFFFFA8 -/* 000A4 808000A4 24050007 */ addiu $a1, $zero, 0x0007 ## $a1 = 00000007 -/* 000A8 808000A8 0C03ED07 */ jal GfxPrint_SetPos -/* 000AC 808000AC 24060017 */ addiu $a2, $zero, 0x0017 ## $a2 = 00000017 -/* 000B0 808000B0 3C058080 */ lui $a1, %hi(D_808009D8) ## $a1 = 80800000 -/* 000B4 808000B4 3C068001 */ lui $a2, 0x8001 ## $a2 = 80010000 -/* 000B8 808000B8 24C62340 */ addiu $a2, $a2, 0x2340 ## $a2 = 80012340 -/* 000BC 808000BC 24A509D8 */ addiu $a1, $a1, %lo(D_808009D8) ## $a1 = 808009D8 -/* 000C0 808000C0 0C03EF2D */ jal GfxPrint_Printf -/* 000C4 808000C4 02002025 */ or $a0, $s0, $zero ## $a0 = FFFFFFA8 -/* 000C8 808000C8 02002025 */ or $a0, $s0, $zero ## $a0 = FFFFFFA8 -/* 000CC 808000CC 24050007 */ addiu $a1, $zero, 0x0007 ## $a1 = 00000007 -/* 000D0 808000D0 0C03ED07 */ jal GfxPrint_SetPos -/* 000D4 808000D4 24060018 */ addiu $a2, $zero, 0x0018 ## $a2 = 00000018 -/* 000D8 808000D8 3C058080 */ lui $a1, %hi(D_808009E8) ## $a1 = 80800000 -/* 000DC 808000DC 3C068001 */ lui $a2, 0x8001 ## $a2 = 80010000 -/* 000E0 808000E0 24C62350 */ addiu $a2, $a2, 0x2350 ## $a2 = 80012350 -/* 000E4 808000E4 24A509E8 */ addiu $a1, $a1, %lo(D_808009E8) ## $a1 = 808009E8 -/* 000E8 808000E8 0C03EF2D */ jal GfxPrint_Printf -/* 000EC 808000EC 02002025 */ or $a0, $s0, $zero ## $a0 = FFFFFFA8 -/* 000F0 808000F0 0C03EF19 */ jal GfxPrint_Close -/* 000F4 808000F4 02002025 */ or $a0, $s0, $zero ## $a0 = FFFFFFA8 -/* 000F8 808000F8 00408825 */ or $s1, $v0, $zero ## $s1 = 00000000 -/* 000FC 808000FC 0C03EF05 */ jal GfxPrint_Dtor -/* 00100 80800100 02002025 */ or $a0, $s0, $zero ## $a0 = FFFFFFA8 -/* 00104 80800104 8FD90040 */ lw $t9, 0x0040($s8) ## 00000000 -/* 00108 80800108 03C0E825 */ or $sp, $s8, $zero ## $sp = FFFFFFC0 -/* 0010C 8080010C AF310000 */ sw $s1, 0x0000($t9) ## 00000000 -/* 00110 80800110 8FDF003C */ lw $ra, 0x003C($s8) ## FFFFFFFC -/* 00114 80800114 8FD10034 */ lw $s1, 0x0034($s8) ## FFFFFFF4 -/* 00118 80800118 8FD00030 */ lw $s0, 0x0030($s8) ## FFFFFFF0 -/* 0011C 8080011C 8FDE0038 */ lw $s8, 0x0038($s8) ## FFFFFFF8 -/* 00120 80800120 03E00008 */ jr $ra -/* 00124 80800124 27BD0040 */ addiu $sp, $sp, 0x0040 ## $sp = 00000000 \ No newline at end of file diff --git a/asm/non_matchings/overlays/gamestates/ovl_title/func_80800134.s b/asm/non_matchings/overlays/gamestates/ovl_title/func_80800134.s deleted file mode 100644 index c6b57724c0..0000000000 --- a/asm/non_matchings/overlays/gamestates/ovl_title/func_80800134.s +++ /dev/null @@ -1,38 +0,0 @@ -glabel func_80800134 -/* 00134 80800134 27BDFFB8 */ addiu $sp, $sp, 0xFFB8 ## $sp = FFFFFFB8 -/* 00138 80800138 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00 -/* 0013C 8080013C AFA70054 */ sw $a3, 0x0054($sp) -/* 00140 80800140 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000 -/* 00144 80800144 44856000 */ mtc1 $a1, $f12 ## $f12 = 0.00 -/* 00148 80800148 44867000 */ mtc1 $a2, $f14 ## $f14 = 0.00 -/* 0014C 8080014C C7A40054 */ lwc1 $f4, 0x0054($sp) -/* 00150 80800150 44813000 */ mtc1 $at, $f6 ## $f6 = 1.00 -/* 00154 80800154 AFA40048 */ sw $a0, 0x0048($sp) -/* 00158 80800158 AFBF0014 */ sw $ra, 0x0014($sp) -/* 0015C 8080015C 248400A8 */ addiu $a0, $a0, 0x00A8 ## $a0 = 000000A8 -/* 00160 80800160 AFA4001C */ sw $a0, 0x001C($sp) -/* 00164 80800164 3C064120 */ lui $a2, 0x4120 ## $a2 = 41200000 -/* 00168 80800168 3C0541F0 */ lui $a1, 0x41F0 ## $a1 = 41F00000 -/* 0016C 8080016C 3C074648 */ lui $a3, 0x4648 ## $a3 = 46480000 -/* 00170 80800170 E7A00028 */ swc1 $f0, 0x0028($sp) -/* 00174 80800174 E7A00020 */ swc1 $f0, 0x0020($sp) -/* 00178 80800178 E7A00034 */ swc1 $f0, 0x0034($sp) -/* 0017C 8080017C E7A00030 */ swc1 $f0, 0x0030($sp) -/* 00180 80800180 E7A0002C */ swc1 $f0, 0x002C($sp) -/* 00184 80800184 E7AC0038 */ swc1 $f12, 0x0038($sp) -/* 00188 80800188 E7AE003C */ swc1 $f14, 0x003C($sp) -/* 0018C 8080018C E7A40040 */ swc1 $f4, 0x0040($sp) -/* 00190 80800190 0C02A918 */ jal func_800AA460 -/* 00194 80800194 E7A60024 */ swc1 $f6, 0x0024($sp) -/* 00198 80800198 8FA4001C */ lw $a0, 0x001C($sp) -/* 0019C 8080019C 27A50038 */ addiu $a1, $sp, 0x0038 ## $a1 = FFFFFFF0 -/* 001A0 808001A0 27A6002C */ addiu $a2, $sp, 0x002C ## $a2 = FFFFFFE4 -/* 001A4 808001A4 0C02A8D6 */ jal func_800AA358 -/* 001A8 808001A8 27A70020 */ addiu $a3, $sp, 0x0020 ## $a3 = FFFFFFD8 -/* 001AC 808001AC 8FA4001C */ lw $a0, 0x001C($sp) -/* 001B0 808001B0 0C02AA94 */ jal func_800AAA50 -/* 001B4 808001B4 2405000F */ addiu $a1, $zero, 0x000F ## $a1 = 0000000F -/* 001B8 808001B8 8FBF0014 */ lw $ra, 0x0014($sp) -/* 001BC 808001BC 27BD0048 */ addiu $sp, $sp, 0x0048 ## $sp = 00000000 -/* 001C0 808001C0 03E00008 */ jr $ra -/* 001C4 808001C4 00000000 */ nop diff --git a/asm/non_matchings/overlays/gamestates/ovl_title/func_808001C8.s b/asm/non_matchings/overlays/gamestates/ovl_title/func_808001C8.s deleted file mode 100644 index 46e2b766f0..0000000000 --- a/asm/non_matchings/overlays/gamestates/ovl_title/func_808001C8.s +++ /dev/null @@ -1,376 +0,0 @@ -.rdata - -glabel D_808009F4 - .asciz "../z_title.c" - .balign 4 - -glabel D_80800A04 - .asciz "../z_title.c" - .balign 4 - -glabel D_80800A14 - .asciz "../z_title.c" - .balign 4 - -.late_rodata - -glabel D_80800A9C - .word 0xC59AA92F -glabel D_80800AA0 - .word 0x457A28AB -glabel D_80800AA4 - .word 0x448BE2AE, 0x00000000, 0x00000000 - - .text - -glabel func_808001C8 -/* 001C8 808001C8 27BDFF10 */ addiu $sp, $sp, 0xFF10 ## $sp = FFFFFF10 -/* 001CC 808001CC AFBF0024 */ sw $ra, 0x0024($sp) -/* 001D0 808001D0 AFB00020 */ sw $s0, 0x0020($sp) -/* 001D4 808001D4 8C850000 */ lw $a1, 0x0000($a0) ## 00000000 -/* 001D8 808001D8 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 001DC 808001DC 3C068080 */ lui $a2, %hi(D_808009F4) ## $a2 = 80800000 -/* 001E0 808001E0 24C609F4 */ addiu $a2, $a2, %lo(D_808009F4) ## $a2 = 808009F4 -/* 001E4 808001E4 27A400A8 */ addiu $a0, $sp, 0x00A8 ## $a0 = FFFFFFB8 -/* 001E8 808001E8 2407018B */ addiu $a3, $zero, 0x018B ## $a3 = 0000018B -/* 001EC 808001EC 0C031AB1 */ jal func_800C6AC4 -/* 001F0 808001F0 AFA500B8 */ sw $a1, 0x00B8($sp) -/* 001F4 808001F4 3C01428A */ lui $at, 0x428A ## $at = 428A0000 -/* 001F8 808001F8 44810000 */ mtc1 $at, $f0 ## $f0 = 69.00 -/* 001FC 808001FC 3C018080 */ lui $at, %hi(D_80800A9C) ## $at = 80800000 -/* 00200 80800200 C4240A9C */ lwc1 $f4, %lo(D_80800A9C)($at) -/* 00204 80800204 3C018080 */ lui $at, %hi(D_80800AA0) ## $at = 80800000 -/* 00208 80800208 44801000 */ mtc1 $zero, $f2 ## $f2 = 0.00 -/* 0020C 8080020C C4260AA0 */ lwc1 $f6, %lo(D_80800AA0)($at) -/* 00210 80800210 3C018080 */ lui $at, %hi(D_80800AA4) ## $at = 80800000 -/* 00214 80800214 C4280AA4 */ lwc1 $f8, %lo(D_80800AA4)($at) -/* 00218 80800218 E7A000DC */ swc1 $f0, 0x00DC($sp) -/* 0021C 8080021C E7A000E0 */ swc1 $f0, 0x00E0($sp) -/* 00220 80800220 E7A000E4 */ swc1 $f0, 0x00E4($sp) -/* 00224 80800224 E7A400C4 */ swc1 $f4, 0x00C4($sp) -/* 00228 80800228 E7A600C8 */ swc1 $f6, 0x00C8($sp) -/* 0022C 8080022C E7A200D0 */ swc1 $f2, 0x00D0($sp) -/* 00230 80800230 E7A200D4 */ swc1 $f2, 0x00D4($sp) -/* 00234 80800234 E7A200D8 */ swc1 $f2, 0x00D8($sp) -/* 00238 80800238 E7A800CC */ swc1 $f8, 0x00CC($sp) -/* 0023C 8080023C 8E070000 */ lw $a3, 0x0000($s0) ## 00000000 -/* 00240 80800240 27A400D0 */ addiu $a0, $sp, 0x00D0 ## $a0 = FFFFFFE0 -/* 00244 80800244 27A500C4 */ addiu $a1, $sp, 0x00C4 ## $a1 = FFFFFFD4 -/* 00248 80800248 0C00BAAF */ jal func_8002EABC -/* 0024C 8080024C 27A600DC */ addiu $a2, $sp, 0x00DC ## $a2 = FFFFFFEC -/* 00250 80800250 8FA800B8 */ lw $t0, 0x00B8($sp) -/* 00254 80800254 3C0FDB02 */ lui $t7, 0xDB02 ## $t7 = DB020000 -/* 00258 80800258 24180018 */ addiu $t8, $zero, 0x0018 ## $t8 = 00000018 -/* 0025C 8080025C 8D0202C0 */ lw $v0, 0x02C0($t0) ## 000002C0 -/* 00260 80800260 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00264 80800264 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000 -/* 00268 80800268 244E0008 */ addiu $t6, $v0, 0x0008 ## $t6 = 00000008 -/* 0026C 8080026C AD0E02C0 */ sw $t6, 0x02C0($t0) ## 000002C0 -/* 00270 80800270 AC580004 */ sw $t8, 0x0004($v0) ## 00000004 -/* 00274 80800274 AC4F0000 */ sw $t7, 0x0000($v0) ## 00000000 -/* 00278 80800278 8D0202C0 */ lw $v0, 0x02C0($t0) ## 000002C0 -/* 0027C 8080027C 3C0F8080 */ lui $t7, %hi(D_808009B0) ## $t7 = 80800000 -/* 00280 80800280 3C0EDC08 */ lui $t6, 0xDC08 ## $t6 = DC080000 -/* 00284 80800284 24590008 */ addiu $t9, $v0, 0x0008 ## $t9 = 00000008 -/* 00288 80800288 AD1902C0 */ sw $t9, 0x02C0($t0) ## 000002C0 -/* 0028C 8080028C 35CE060A */ ori $t6, $t6, 0x060A ## $t6 = DC08060A -/* 00290 80800290 25EF09B0 */ addiu $t7, $t7, %lo(D_808009B0) ## $t7 = 808009B0 -/* 00294 80800294 AC4F0004 */ sw $t7, 0x0004($v0) ## 00000004 -/* 00298 80800298 AC4E0000 */ sw $t6, 0x0000($v0) ## 00000000 -/* 0029C 8080029C 8D0202C0 */ lw $v0, 0x02C0($t0) ## 000002C0 -/* 002A0 808002A0 3C0E8080 */ lui $t6, %hi(D_808009A8) ## $t6 = 80800000 -/* 002A4 808002A4 3C19DC08 */ lui $t9, 0xDC08 ## $t9 = DC080000 -/* 002A8 808002A8 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008 -/* 002AC 808002AC AD1802C0 */ sw $t8, 0x02C0($t0) ## 000002C0 -/* 002B0 808002B0 3739090A */ ori $t9, $t9, 0x090A ## $t9 = DC08090A -/* 002B4 808002B4 25CE09A8 */ addiu $t6, $t6, %lo(D_808009A8) ## $t6 = 808009A8 -/* 002B8 808002B8 AC4E0004 */ sw $t6, 0x0004($v0) ## 00000004 -/* 002BC 808002BC AC590000 */ sw $t9, 0x0000($v0) ## 00000000 -/* 002C0 808002C0 3C064316 */ lui $a2, 0x4316 ## $a2 = 43160000 -/* 002C4 808002C4 3C074396 */ lui $a3, 0x4396 ## $a3 = 43960000 -/* 002C8 808002C8 0C20004D */ jal func_80800134 -/* 002CC 808002CC AFA800B8 */ sw $t0, 0x00B8($sp) -/* 002D0 808002D0 0C024F46 */ jal func_80093D18 -/* 002D4 808002D4 8E040000 */ lw $a0, 0x0000($s0) ## 00000000 -/* 002D8 808002D8 3C01C254 */ lui $at, 0xC254 ## $at = C2540000 -/* 002DC 808002DC 44816000 */ mtc1 $at, $f12 ## $f12 = -53.00 -/* 002E0 808002E0 3C01C0A0 */ lui $at, 0xC0A0 ## $at = C0A00000 -/* 002E4 808002E4 44817000 */ mtc1 $at, $f14 ## $f14 = -5.00 -/* 002E8 808002E8 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000 -/* 002EC 808002EC 0C034261 */ jal Matrix_Translate -/* 002F0 808002F0 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 -/* 002F4 808002F4 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000 -/* 002F8 808002F8 44816000 */ mtc1 $at, $f12 ## $f12 = 1.00 -/* 002FC 808002FC 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001 -/* 00300 80800300 44066000 */ mfc1 $a2, $f12 -/* 00304 80800304 0C0342A3 */ jal Matrix_Scale -/* 00308 80800308 46006386 */ mov.s $f14, $f12 -/* 0030C 8080030C 3C058080 */ lui $a1, %hi(D_808009A0) ## $a1 = 80800000 -/* 00310 80800310 84A509A0 */ lh $a1, %lo(D_808009A0)($a1) -/* 00314 80800314 00002025 */ or $a0, $zero, $zero ## $a0 = 00000000 -/* 00318 80800318 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000 -/* 0031C 8080031C 0C034421 */ jal Matrix_RotateXYZ -/* 00320 80800320 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001 -/* 00324 80800324 8FA800B8 */ lw $t0, 0x00B8($sp) -/* 00328 80800328 3C18DA38 */ lui $t8, 0xDA38 ## $t8 = DA380000 -/* 0032C 8080032C 37180003 */ ori $t8, $t8, 0x0003 ## $t8 = DA380003 -/* 00330 80800330 8D0202C0 */ lw $v0, 0x02C0($t0) ## 000002C0 -/* 00334 80800334 3C058080 */ lui $a1, %hi(D_80800A04) ## $a1 = 80800000 -/* 00338 80800338 24A50A04 */ addiu $a1, $a1, %lo(D_80800A04) ## $a1 = 80800A04 -/* 0033C 8080033C 244F0008 */ addiu $t7, $v0, 0x0008 ## $t7 = 00000008 -/* 00340 80800340 AD0F02C0 */ sw $t7, 0x02C0($t0) ## 000002C0 -/* 00344 80800344 AC580000 */ sw $t8, 0x0000($v0) ## 00000000 -/* 00348 80800348 8E040000 */ lw $a0, 0x0000($s0) ## 00000000 -/* 0034C 8080034C 240601A8 */ addiu $a2, $zero, 0x01A8 ## $a2 = 000001A8 -/* 00350 80800350 AFA800B8 */ sw $t0, 0x00B8($sp) -/* 00354 80800354 0C0346A2 */ jal Matrix_NewMtx -/* 00358 80800358 AFA20098 */ sw $v0, 0x0098($sp) -/* 0035C 8080035C 8FA30098 */ lw $v1, 0x0098($sp) -/* 00360 80800360 8FA800B8 */ lw $t0, 0x00B8($sp) -/* 00364 80800364 3C0F0100 */ lui $t7, 0x0100 ## $t7 = 01000000 -/* 00368 80800368 AC620004 */ sw $v0, 0x0004($v1) ## 00000004 -/* 0036C 8080036C 8D0202C0 */ lw $v0, 0x02C0($t0) ## 000002C0 -/* 00370 80800370 25EF2720 */ addiu $t7, $t7, 0x2720 ## $t7 = 01002720 -/* 00374 80800374 3C0EDE00 */ lui $t6, 0xDE00 ## $t6 = DE000000 -/* 00378 80800378 24590008 */ addiu $t9, $v0, 0x0008 ## $t9 = 00000008 -/* 0037C 8080037C AD1902C0 */ sw $t9, 0x02C0($t0) ## 000002C0 -/* 00380 80800380 AC4F0004 */ sw $t7, 0x0004($v0) ## 00000004 -/* 00384 80800384 AC4E0000 */ sw $t6, 0x0000($v0) ## 00000000 -/* 00388 80800388 8E040000 */ lw $a0, 0x0000($s0) ## 00000000 -/* 0038C 8080038C 0C025131 */ jal func_800944C4 -/* 00390 80800390 AFA800B8 */ sw $t0, 0x00B8($sp) -/* 00394 80800394 8FA800B8 */ lw $t0, 0x00B8($sp) -/* 00398 80800398 3C05E700 */ lui $a1, 0xE700 ## $a1 = E7000000 -/* 0039C 8080039C 3C0EE300 */ lui $t6, 0xE300 ## $t6 = E3000000 -/* 003A0 808003A0 8D0202C0 */ lw $v0, 0x02C0($t0) ## 000002C0 -/* 003A4 808003A4 35CE0A01 */ ori $t6, $t6, 0x0A01 ## $t6 = E3000A01 -/* 003A8 808003A8 3C0F0010 */ lui $t7, 0x0010 ## $t7 = 00100000 -/* 003AC 808003AC 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008 -/* 003B0 808003B0 AD1802C0 */ sw $t8, 0x02C0($t0) ## 000002C0 -/* 003B4 808003B4 AC400004 */ sw $zero, 0x0004($v0) ## 00000004 -/* 003B8 808003B8 AC450000 */ sw $a1, 0x0000($v0) ## 00000000 -/* 003BC 808003BC 8D0202C0 */ lw $v0, 0x02C0($t0) ## 000002C0 -/* 003C0 808003C0 3C09F200 */ lui $t1, 0xF200 ## $t1 = F2000000 -/* 003C4 808003C4 3C1F070B */ lui $ra, 0x070B ## $ra = 070B0000 -/* 003C8 808003C8 24590008 */ addiu $t9, $v0, 0x0008 ## $t9 = 00000008 -/* 003CC 808003CC AD1902C0 */ sw $t9, 0x02C0($t0) ## 000002C0 -/* 003D0 808003D0 AC4F0004 */ sw $t7, 0x0004($v0) ## 00000004 -/* 003D4 808003D4 AC4E0000 */ sw $t6, 0x0000($v0) ## 00000000 -/* 003D8 808003D8 8D0202C0 */ lw $v0, 0x02C0($t0) ## 000002C0 -/* 003DC 808003DC 3C0E0C18 */ lui $t6, 0x0C18 ## $t6 = 0C180000 -/* 003E0 808003E0 3C19E200 */ lui $t9, 0xE200 ## $t9 = E2000000 -/* 003E4 808003E4 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008 -/* 003E8 808003E8 AD1802C0 */ sw $t8, 0x02C0($t0) ## 000002C0 -/* 003EC 808003EC 3739001C */ ori $t9, $t9, 0x001C ## $t9 = E200001C -/* 003F0 808003F0 35CE4340 */ ori $t6, $t6, 0x4340 ## $t6 = 0C184340 -/* 003F4 808003F4 AC4E0004 */ sw $t6, 0x0004($v0) ## 00000004 -/* 003F8 808003F8 AC590000 */ sw $t9, 0x0000($v0) ## 00000000 -/* 003FC 808003FC 8D0202C0 */ lw $v0, 0x02C0($t0) ## 000002C0 -/* 00400 80800400 3C19350C */ lui $t9, 0x350C ## $t9 = 350C0000 -/* 00404 80800404 3C18FC26 */ lui $t8, 0xFC26 ## $t8 = FC260000 -/* 00408 80800408 244F0008 */ addiu $t7, $v0, 0x0008 ## $t7 = 00000008 -/* 0040C 8080040C AD0F02C0 */ sw $t7, 0x02C0($t0) ## 000002C0 -/* 00410 80800410 37187E60 */ ori $t8, $t8, 0x7E60 ## $t8 = FC267E60 -/* 00414 80800414 3739F37F */ ori $t9, $t9, 0xF37F ## $t9 = 350CF37F -/* 00418 80800418 AC590004 */ sw $t9, 0x0004($v0) ## 00000004 -/* 0041C 8080041C AC580000 */ sw $t8, 0x0000($v0) ## 00000000 -/* 00420 80800420 8D0202C0 */ lw $v0, 0x02C0($t0) ## 000002C0 -/* 00424 80800424 3C18AAFF */ lui $t8, 0xAAFF ## $t8 = AAFF0000 -/* 00428 80800428 3718FFFF */ ori $t8, $t8, 0xFFFF ## $t8 = AAFFFFFF -/* 0042C 8080042C 244E0008 */ addiu $t6, $v0, 0x0008 ## $t6 = 00000008 -/* 00430 80800430 AD0E02C0 */ sw $t6, 0x02C0($t0) ## 000002C0 -/* 00434 80800434 3C0FFA00 */ lui $t7, 0xFA00 ## $t7 = FA000000 -/* 00438 80800438 AC4F0000 */ sw $t7, 0x0000($v0) ## 00000000 -/* 0043C 8080043C AC580004 */ sw $t8, 0x0004($v0) ## 00000004 -/* 00440 80800440 8D0202C0 */ lw $v0, 0x02C0($t0) ## 000002C0 -/* 00444 80800444 340FFF80 */ ori $t7, $zero, 0xFF80 ## $t7 = 0000FF80 -/* 00448 80800448 3C0EFB00 */ lui $t6, 0xFB00 ## $t6 = FB000000 -/* 0044C 8080044C 24590008 */ addiu $t9, $v0, 0x0008 ## $t9 = 00000008 -/* 00450 80800450 AD1902C0 */ sw $t9, 0x02C0($t0) ## 000002C0 -/* 00454 80800454 AC4F0004 */ sw $t7, 0x0004($v0) ## 00000004 -/* 00458 80800458 AC4E0000 */ sw $t6, 0x0000($v0) ## 00000000 -/* 0045C 8080045C 8D0202C0 */ lw $v0, 0x02C0($t0) ## 000002C0 -/* 00460 80800460 3C0E0100 */ lui $t6, 0x0100 ## $t6 = 01000000 -/* 00464 80800464 25CE1800 */ addiu $t6, $t6, 0x1800 ## $t6 = 01001800 -/* 00468 80800468 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008 -/* 0046C 8080046C AD1802C0 */ sw $t8, 0x02C0($t0) ## 000002C0 -/* 00470 80800470 3C19FD90 */ lui $t9, 0xFD90 ## $t9 = FD900000 -/* 00474 80800474 AC590000 */ sw $t9, 0x0000($v0) ## 00000000 -/* 00478 80800478 AC4E0004 */ sw $t6, 0x0004($v0) ## 00000004 -/* 0047C 8080047C 8D0202C0 */ lw $v0, 0x02C0($t0) ## 000002C0 -/* 00480 80800480 3C190701 */ lui $t9, 0x0701 ## $t9 = 07010000 -/* 00484 80800484 3C18F590 */ lui $t8, 0xF590 ## $t8 = F5900000 -/* 00488 80800488 244F0008 */ addiu $t7, $v0, 0x0008 ## $t7 = 00000008 -/* 0048C 8080048C AD0F02C0 */ sw $t7, 0x02C0($t0) ## 000002C0 -/* 00490 80800490 37180100 */ ori $t8, $t8, 0x0100 ## $t8 = F5900100 -/* 00494 80800494 37396C52 */ ori $t9, $t9, 0x6C52 ## $t9 = 07016C52 -/* 00498 80800498 AC590004 */ sw $t9, 0x0004($v0) ## 00000004 -/* 0049C 8080049C AC580000 */ sw $t8, 0x0000($v0) ## 00000000 -/* 004A0 808004A0 8D0202C0 */ lw $v0, 0x02C0($t0) ## 000002C0 -/* 004A4 808004A4 3C0FE600 */ lui $t7, 0xE600 ## $t7 = E6000000 -/* 004A8 808004A8 3C19F300 */ lui $t9, 0xF300 ## $t9 = F3000000 -/* 004AC 808004AC 244E0008 */ addiu $t6, $v0, 0x0008 ## $t6 = 00000008 -/* 004B0 808004B0 AD0E02C0 */ sw $t6, 0x02C0($t0) ## 000002C0 -/* 004B4 808004B4 AC400004 */ sw $zero, 0x0004($v0) ## 00000004 -/* 004B8 808004B8 AC4F0000 */ sw $t7, 0x0000($v0) ## 00000000 -/* 004BC 808004BC 8D0202C0 */ lw $v0, 0x02C0($t0) ## 000002C0 -/* 004C0 808004C0 3C0E071F */ lui $t6, 0x071F ## $t6 = 071F0000 -/* 004C4 808004C4 35CEF200 */ ori $t6, $t6, 0xF200 ## $t6 = 071FF200 -/* 004C8 808004C8 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008 -/* 004CC 808004CC AD1802C0 */ sw $t8, 0x02C0($t0) ## 000002C0 -/* 004D0 808004D0 AC4E0004 */ sw $t6, 0x0004($v0) ## 00000004 -/* 004D4 808004D4 AC590000 */ sw $t9, 0x0000($v0) ## 00000000 -/* 004D8 808004D8 8D0202C0 */ lw $v0, 0x02C0($t0) ## 000002C0 -/* 004DC 808004DC 3C19F588 */ lui $t9, 0xF588 ## $t9 = F5880000 -/* 004E0 808004E0 3C0E0101 */ lui $t6, 0x0101 ## $t6 = 01010000 -/* 004E4 808004E4 244F0008 */ addiu $t7, $v0, 0x0008 ## $t7 = 00000008 -/* 004E8 808004E8 AD0F02C0 */ sw $t7, 0x02C0($t0) ## 000002C0 -/* 004EC 808004EC AC400004 */ sw $zero, 0x0004($v0) ## 00000004 -/* 004F0 808004F0 AC450000 */ sw $a1, 0x0000($v0) ## 00000000 -/* 004F4 808004F4 8D0202C0 */ lw $v0, 0x02C0($t0) ## 000002C0 -/* 004F8 808004F8 35CE6C52 */ ori $t6, $t6, 0x6C52 ## $t6 = 01016C52 -/* 004FC 808004FC 37390900 */ ori $t9, $t9, 0x0900 ## $t9 = F5880900 -/* 00500 80800500 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008 -/* 00504 80800504 AD1802C0 */ sw $t8, 0x02C0($t0) ## 000002C0 -/* 00508 80800508 AC4E0004 */ sw $t6, 0x0004($v0) ## 00000004 -/* 0050C 8080050C AC590000 */ sw $t9, 0x0000($v0) ## 00000000 -/* 00510 80800510 8D0202C0 */ lw $v0, 0x02C0($t0) ## 000002C0 -/* 00514 80800514 3C180107 */ lui $t8, 0x0107 ## $t8 = 01070000 -/* 00518 80800518 3718C07C */ ori $t8, $t8, 0xC07C ## $t8 = 0107C07C -/* 0051C 8080051C 244F0008 */ addiu $t7, $v0, 0x0008 ## $t7 = 00000008 -/* 00520 80800520 AD0F02C0 */ sw $t7, 0x02C0($t0) ## 000002C0 -/* 00524 80800524 3C0A0100 */ lui $t2, 0x0100 ## $t2 = 01000000 -/* 00528 80800528 254A0000 */ addiu $t2, $t2, 0x0000 ## $t2 = 01000000 -/* 0052C 8080052C 37FFF056 */ ori $ra, $ra, 0xF056 ## $ra = 070BF056 -/* 00530 80800530 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000 -/* 00534 80800534 2407005E */ addiu $a3, $zero, 0x005E ## $a3 = 0000005E -/* 00538 80800538 00002025 */ or $a0, $zero, $zero ## $a0 = 00000000 -/* 0053C 8080053C 3C0D0700 */ lui $t5, 0x0700 ## $t5 = 07000000 -/* 00540 80800540 3C0CF590 */ lui $t4, 0xF590 ## $t4 = F5900000 -/* 00544 80800544 240B0180 */ addiu $t3, $zero, 0x0180 ## $t3 = 00000180 -/* 00548 80800548 AC580004 */ sw $t8, 0x0004($v0) ## 00000004 -/* 0054C 8080054C AC490000 */ sw $t1, 0x0000($v0) ## 00000000 -.L80800550: -/* 00550 80800550 008B0019 */ multu $a0, $t3 -/* 00554 80800554 8D0202C0 */ lw $v0, 0x02C0($t0) ## 000002C0 -/* 00558 80800558 3C0EFD90 */ lui $t6, 0xFD90 ## $t6 = FD900000 -/* 0055C 8080055C 24E50002 */ addiu $a1, $a3, 0x0002 ## $a1 = 00000060 -/* 00560 80800560 24590008 */ addiu $t9, $v0, 0x0008 ## $t9 = 00000008 -/* 00564 80800564 AD1902C0 */ sw $t9, 0x02C0($t0) ## 000002C0 -/* 00568 80800568 AC4E0000 */ sw $t6, 0x0000($v0) ## 00000000 -/* 0056C 8080056C 3C01E448 */ lui $at, 0xE448 ## $at = E4480000 -/* 00570 80800570 34214000 */ ori $at, $at, 0x4000 ## $at = E4484000 -/* 00574 80800574 24C60001 */ addiu $a2, $a2, 0x0001 ## $a2 = 00000001 -/* 00578 80800578 00007812 */ mflo $t7 -/* 0057C 8080057C 014FC021 */ addu $t8, $t2, $t7 -/* 00580 80800580 AC580004 */ sw $t8, 0x0004($v0) ## 00000004 -/* 00584 80800584 8D0202C0 */ lw $v0, 0x02C0($t0) ## 000002C0 -/* 00588 80800588 3C0FE600 */ lui $t7, 0xE600 ## $t7 = E6000000 -/* 0058C 8080058C 30C6FFFF */ andi $a2, $a2, 0xFFFF ## $a2 = 00000001 -/* 00590 80800590 24590008 */ addiu $t9, $v0, 0x0008 ## $t9 = 00000008 -/* 00594 80800594 AD1902C0 */ sw $t9, 0x02C0($t0) ## 000002C0 -/* 00598 80800598 AC4D0004 */ sw $t5, 0x0004($v0) ## 00000004 -/* 0059C 8080059C AC4C0000 */ sw $t4, 0x0000($v0) ## 00000000 -/* 005A0 808005A0 8D0202C0 */ lw $v0, 0x02C0($t0) ## 000002C0 -/* 005A4 808005A4 3C19F300 */ lui $t9, 0xF300 ## $t9 = F3000000 -/* 005A8 808005A8 244E0008 */ addiu $t6, $v0, 0x0008 ## $t6 = 00000008 -/* 005AC 808005AC AD0E02C0 */ sw $t6, 0x02C0($t0) ## 000002C0 -/* 005B0 808005B0 AC400004 */ sw $zero, 0x0004($v0) ## 00000004 -/* 005B4 808005B4 AC4F0000 */ sw $t7, 0x0000($v0) ## 00000000 -/* 005B8 808005B8 8D0202C0 */ lw $v0, 0x02C0($t0) ## 000002C0 -/* 005BC 808005BC 3C0FE700 */ lui $t7, 0xE700 ## $t7 = E7000000 -/* 005C0 808005C0 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008 -/* 005C4 808005C4 AD1802C0 */ sw $t8, 0x02C0($t0) ## 000002C0 -/* 005C8 808005C8 AC5F0004 */ sw $ra, 0x0004($v0) ## 00000004 -/* 005CC 808005CC AC590000 */ sw $t9, 0x0000($v0) ## 00000000 -/* 005D0 808005D0 8D0202C0 */ lw $v0, 0x02C0($t0) ## 000002C0 -/* 005D4 808005D4 3C19F588 */ lui $t9, 0xF588 ## $t9 = F5880000 -/* 005D8 808005D8 37393000 */ ori $t9, $t9, 0x3000 ## $t9 = F5883000 -/* 005DC 808005DC 244E0008 */ addiu $t6, $v0, 0x0008 ## $t6 = 00000008 -/* 005E0 808005E0 AD0E02C0 */ sw $t6, 0x02C0($t0) ## 000002C0 -/* 005E4 808005E4 AC400004 */ sw $zero, 0x0004($v0) ## 00000004 -/* 005E8 808005E8 AC4F0000 */ sw $t7, 0x0000($v0) ## 00000000 -/* 005EC 808005EC 8D0202C0 */ lw $v0, 0x02C0($t0) ## 000002C0 -/* 005F0 808005F0 3C0F002F */ lui $t7, 0x002F ## $t7 = 002F0000 -/* 005F4 808005F4 35EFC004 */ ori $t7, $t7, 0xC004 ## $t7 = 002FC004 -/* 005F8 808005F8 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008 -/* 005FC 808005FC AD1802C0 */ sw $t8, 0x02C0($t0) ## 000002C0 -/* 00600 80800600 AC400004 */ sw $zero, 0x0004($v0) ## 00000004 -/* 00604 80800604 AC590000 */ sw $t9, 0x0000($v0) ## 00000000 -/* 00608 80800608 8D0202C0 */ lw $v0, 0x02C0($t0) ## 000002C0 -/* 0060C 8080060C 244E0008 */ addiu $t6, $v0, 0x0008 ## $t6 = 00000008 -/* 00610 80800610 AD0E02C0 */ sw $t6, 0x02C0($t0) ## 000002C0 -/* 00614 80800614 AC4F0004 */ sw $t7, 0x0004($v0) ## 00000004 -/* 00618 80800618 AC490000 */ sw $t1, 0x0000($v0) ## 00000000 -/* 0061C 8080061C 8D0202C0 */ lw $v0, 0x02C0($t0) ## 000002C0 -/* 00620 80800620 00047880 */ sll $t7, $a0, 2 -/* 00624 80800624 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000001 -/* 00628 80800628 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008 -/* 0062C 8080062C AD1802C0 */ sw $t8, 0x02C0($t0) ## 000002C0 -/* 00630 80800630 861901DC */ lh $t9, 0x01DC($s0) ## 000001DC -/* 00634 80800634 332E007F */ andi $t6, $t9, 0x007F ## $t6 = 00000000 -/* 00638 80800638 01CFC023 */ subu $t8, $t6, $t7 -/* 0063C 8080063C 860E01DE */ lh $t6, 0x01DE($s0) ## 000001DE -/* 00640 80800640 33190FFF */ andi $t9, $t8, 0x0FFF ## $t9 = 00000008 -/* 00644 80800644 31CF0FFF */ andi $t7, $t6, 0x0FFF ## $t7 = 00000000 -/* 00648 80800648 000FC300 */ sll $t8, $t7, 12 -/* 0064C 8080064C 03097025 */ or $t6, $t8, $t1 ## $t6 = F2000008 -/* 00650 80800650 01D97825 */ or $t7, $t6, $t9 ## $t7 = F2000008 -/* 00654 80800654 3C180100 */ lui $t8, 0x0100 ## $t8 = 01000000 -/* 00658 80800658 AC580004 */ sw $t8, 0x0004($v0) ## 00000004 -/* 0065C 8080065C AC4F0000 */ sw $t7, 0x0000($v0) ## 00000000 -/* 00660 80800660 8D0202C0 */ lw $v0, 0x02C0($t0) ## 000002C0 -/* 00664 80800664 0005C880 */ sll $t9, $a1, 2 -/* 00668 80800668 332F0FFF */ andi $t7, $t9, 0x0FFF ## $t7 = 00000008 -/* 0066C 8080066C 244E0008 */ addiu $t6, $v0, 0x0008 ## $t6 = 00000008 -/* 00670 80800670 AD0E02C0 */ sw $t6, 0x02C0($t0) ## 000002C0 -/* 00674 80800674 01E1C025 */ or $t8, $t7, $at ## $t8 = E4484008 -/* 00678 80800678 3C010018 */ lui $at, 0x0018 ## $at = 00180000 -/* 0067C 8080067C 00077080 */ sll $t6, $a3, 2 -/* 00680 80800680 31D90FFF */ andi $t9, $t6, 0x0FFF ## $t9 = 00000008 -/* 00684 80800684 34214000 */ ori $at, $at, 0x4000 ## $at = 00184000 -/* 00688 80800688 03217825 */ or $t7, $t9, $at ## $t7 = 00184008 -/* 0068C 8080068C AC4F0004 */ sw $t7, 0x0004($v0) ## 00000004 -/* 00690 80800690 AC580000 */ sw $t8, 0x0000($v0) ## 00000000 -/* 00694 80800694 8D0202C0 */ lw $v0, 0x02C0($t0) ## 000002C0 -/* 00698 80800698 3C0EE100 */ lui $t6, 0xE100 ## $t6 = E1000000 -/* 0069C 8080069C 28C10010 */ slti $at, $a2, 0x0010 -/* 006A0 808006A0 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008 -/* 006A4 808006A4 AD1802C0 */ sw $t8, 0x02C0($t0) ## 000002C0 -/* 006A8 808006A8 AC400004 */ sw $zero, 0x0004($v0) ## 00000004 -/* 006AC 808006AC AC4E0000 */ sw $t6, 0x0000($v0) ## 00000000 -/* 006B0 808006B0 8D0202C0 */ lw $v0, 0x02C0($t0) ## 000002C0 -/* 006B4 808006B4 3C180400 */ lui $t8, 0x0400 ## $t8 = 04000000 -/* 006B8 808006B8 37180400 */ ori $t8, $t8, 0x0400 ## $t8 = 04000400 -/* 006BC 808006BC 24590008 */ addiu $t9, $v0, 0x0008 ## $t9 = 00000008 -/* 006C0 808006C0 AD1902C0 */ sw $t9, 0x02C0($t0) ## 000002C0 -/* 006C4 808006C4 3C0FF100 */ lui $t7, 0xF100 ## $t7 = F1000000 -/* 006C8 808006C8 30A7FFFF */ andi $a3, $a1, 0xFFFF ## $a3 = 00000060 -/* 006CC 808006CC AC4F0000 */ sw $t7, 0x0000($v0) ## 00000000 -/* 006D0 808006D0 1420FF9F */ bne $at, $zero, .L80800550 -/* 006D4 808006D4 AC580004 */ sw $t8, 0x0004($v0) ## 00000004 -/* 006D8 808006D8 860E01D6 */ lh $t6, 0x01D6($s0) ## 000001D6 -/* 006DC 808006DC 8E040000 */ lw $a0, 0x0000($s0) ## 00000000 -/* 006E0 808006E0 24190002 */ addiu $t9, $zero, 0x0002 ## $t9 = 00000002 -/* 006E4 808006E4 AFB90014 */ sw $t9, 0x0014($sp) -/* 006E8 808006E8 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000 -/* 006EC 808006EC 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000 -/* 006F0 808006F0 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 -/* 006F4 808006F4 0C01D9CB */ jal func_8007672C -/* 006F8 808006F8 AFAE0010 */ sw $t6, 0x0010($sp) -/* 006FC 808006FC 3C0F8080 */ lui $t7, %hi(D_808009A0) ## $t7 = 80800000 -/* 00700 80800700 85EF09A0 */ lh $t7, %lo(D_808009A0)($t7) -/* 00704 80800704 3C018080 */ lui $at, %hi(D_808009A0) ## $at = 80800000 -/* 00708 80800708 3C068080 */ lui $a2, %hi(D_80800A14) ## $a2 = 80800000 -/* 0070C 8080070C 25F8012C */ addiu $t8, $t7, 0x012C ## $t8 = 8080012C -/* 00710 80800710 A43809A0 */ sh $t8, %lo(D_808009A0)($at) -/* 00714 80800714 8E050000 */ lw $a1, 0x0000($s0) ## 00000000 -/* 00718 80800718 24C60A14 */ addiu $a2, $a2, %lo(D_80800A14) ## $a2 = 80800A14 -/* 0071C 8080071C 27A400A8 */ addiu $a0, $sp, 0x00A8 ## $a0 = FFFFFFB8 -/* 00720 80800720 0C031AD5 */ jal func_800C6B54 -/* 00724 80800724 240701E3 */ addiu $a3, $zero, 0x01E3 ## $a3 = 000001E3 -/* 00728 80800728 8FBF0024 */ lw $ra, 0x0024($sp) -/* 0072C 8080072C 8FB00020 */ lw $s0, 0x0020($sp) -/* 00730 80800730 27BD00F0 */ addiu $sp, $sp, 0x00F0 ## $sp = 00000000 -/* 00734 80800734 03E00008 */ jr $ra -/* 00738 80800738 00000000 */ nop diff --git a/asm/non_matchings/overlays/gamestates/ovl_title/func_8080073C.s b/asm/non_matchings/overlays/gamestates/ovl_title/func_8080073C.s deleted file mode 100644 index fcb96cbd5e..0000000000 --- a/asm/non_matchings/overlays/gamestates/ovl_title/func_8080073C.s +++ /dev/null @@ -1,86 +0,0 @@ -.rdata - -glabel D_80800A24 - .asciz "../z_title.c" - .balign 4 - -glabel D_80800A34 - .asciz "../z_title.c" - .balign 4 - - .text - -glabel func_8080073C -/* 0073C 8080073C 27BDFFB0 */ addiu $sp, $sp, 0xFFB0 ## $sp = FFFFFFB0 -/* 00740 80800740 AFBF001C */ sw $ra, 0x001C($sp) -/* 00744 80800744 AFB10018 */ sw $s1, 0x0018($sp) -/* 00748 80800748 AFB00014 */ sw $s0, 0x0014($sp) -/* 0074C 8080074C 8C850000 */ lw $a1, 0x0000($a0) ## 00000000 -/* 00750 80800750 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 00754 80800754 3C068080 */ lui $a2, %hi(D_80800A24) ## $a2 = 80800000 -/* 00758 80800758 24C60A24 */ addiu $a2, $a2, %lo(D_80800A24) ## $a2 = 80800A24 -/* 0075C 8080075C 27A40038 */ addiu $a0, $sp, 0x0038 ## $a0 = FFFFFFE8 -/* 00760 80800760 240701EE */ addiu $a3, $zero, 0x01EE ## $a3 = 000001EE -/* 00764 80800764 0C031AB1 */ jal func_800C6AC4 -/* 00768 80800768 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000 -/* 0076C 8080076C 8E2302C0 */ lw $v1, 0x02C0($s1) ## 000002C0 -/* 00770 80800770 3C0FDB06 */ lui $t7, 0xDB06 ## $t7 = DB060000 -/* 00774 80800774 3C19DB06 */ lui $t9, 0xDB06 ## $t9 = DB060000 -/* 00778 80800778 246E0008 */ addiu $t6, $v1, 0x0008 ## $t6 = 00000008 -/* 0077C 8080077C AE2E02C0 */ sw $t6, 0x02C0($s1) ## 000002C0 -/* 00780 80800780 AC600004 */ sw $zero, 0x0004($v1) ## 00000004 -/* 00784 80800784 AC6F0000 */ sw $t7, 0x0000($v1) ## 00000000 -/* 00788 80800788 8E2302C0 */ lw $v1, 0x02C0($s1) ## 000002C0 -/* 0078C 8080078C 37390004 */ ori $t9, $t9, 0x0004 ## $t9 = DB060004 -/* 00790 80800790 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000 -/* 00794 80800794 24780008 */ addiu $t8, $v1, 0x0008 ## $t8 = 00000008 -/* 00798 80800798 AE3802C0 */ sw $t8, 0x02C0($s1) ## 000002C0 -/* 0079C 8080079C AC790000 */ sw $t9, 0x0000($v1) ## 00000000 -/* 007A0 808007A0 8E0800A4 */ lw $t0, 0x00A4($s0) ## 000000A4 -/* 007A4 808007A4 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000 -/* 007A8 808007A8 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000 -/* 007AC 808007AC AC680004 */ sw $t0, 0x0004($v1) ## 00000004 -/* 007B0 808007B0 0C025492 */ jal func_80095248 -/* 007B4 808007B4 8E040000 */ lw $a0, 0x0000($s0) ## 00000000 -/* 007B8 808007B8 0C20004A */ jal func_80800128 -/* 007BC 808007BC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 007C0 808007C0 0C200072 */ jal func_808001C8 -/* 007C4 808007C4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 007C8 808007C8 3C098013 */ lui $t1, 0x8013 ## $t1 = 80130000 -/* 007CC 808007CC 8D29DBC0 */ lw $t1, -0x2440($t1) ## 8012DBC0 -/* 007D0 808007D0 51200008 */ beql $t1, $zero, .L808007F4 -/* 007D4 808007D4 920C01E1 */ lbu $t4, 0x01E1($s0) ## 000001E1 -/* 007D8 808007D8 8E2A02C0 */ lw $t2, 0x02C0($s1) ## 000002C0 -/* 007DC 808007DC 27A4002C */ addiu $a0, $sp, 0x002C ## $a0 = FFFFFFDC -/* 007E0 808007E0 0C200000 */ jal func_80800000 -/* 007E4 808007E4 AFAA002C */ sw $t2, 0x002C($sp) -/* 007E8 808007E8 8FAB002C */ lw $t3, 0x002C($sp) -/* 007EC 808007EC AE2B02C0 */ sw $t3, 0x02C0($s1) ## 000002C0 -/* 007F0 808007F0 920C01E1 */ lbu $t4, 0x01E1($s0) ## 000001E1 -.L808007F4: -/* 007F4 808007F4 3C068080 */ lui $a2, %hi(D_80800A34) ## $a2 = 80800000 -/* 007F8 808007F8 24C60A34 */ addiu $a2, $a2, %lo(D_80800A34) ## $a2 = 80800A34 -/* 007FC 808007FC 1180000E */ beq $t4, $zero, .L80800838 -/* 00800 80800800 27A40038 */ addiu $a0, $sp, 0x0038 ## $a0 = FFFFFFE8 -/* 00804 80800804 3C028016 */ lui $v0, 0x8016 ## $v0 = 80160000 -/* 00808 80800808 2442E660 */ addiu $v0, $v0, 0xE660 ## $v0 = 8015E660 -/* 0080C 8080080C 240300FF */ addiu $v1, $zero, 0x00FF ## $v1 = 000000FF -/* 00810 80800810 240D0001 */ addiu $t5, $zero, 0x0001 ## $t5 = 00000001 -/* 00814 80800814 A04313E0 */ sb $v1, 0x13E0($v0) ## 8015FA40 -/* 00818 80800818 A04313E1 */ sb $v1, 0x13E1($v0) ## 8015FA41 -/* 0081C 8080081C AC4D135C */ sw $t5, 0x135C($v0) ## 8015F9BC -/* 00820 80800820 3C0E8080 */ lui $t6, 0x8080 ## $t6 = 80800000 -/* 00824 80800824 25CE3CAC */ addiu $t6, $t6, 0x3CAC ## $t6 = 80803CAC -/* 00828 80800828 240F01D0 */ addiu $t7, $zero, 0x01D0 ## $t7 = 000001D0 -/* 0082C 8080082C AE000098 */ sw $zero, 0x0098($s0) ## 00000098 -/* 00830 80800830 AE0F0010 */ sw $t7, 0x0010($s0) ## 00000010 -/* 00834 80800834 AE0E000C */ sw $t6, 0x000C($s0) ## 0000000C -.L80800838: -/* 00838 80800838 8E050000 */ lw $a1, 0x0000($s0) ## 00000000 -/* 0083C 8080083C 0C031AD5 */ jal func_800C6B54 -/* 00840 80800840 2407021D */ addiu $a3, $zero, 0x021D ## $a3 = 0000021D -/* 00844 80800844 8FBF001C */ lw $ra, 0x001C($sp) -/* 00848 80800848 8FB00014 */ lw $s0, 0x0014($sp) -/* 0084C 8080084C 8FB10018 */ lw $s1, 0x0018($sp) -/* 00850 80800850 03E00008 */ jr $ra -/* 00854 80800854 27BD0050 */ addiu $sp, $sp, 0x0050 ## $sp = 00000000 diff --git a/asm/non_matchings/overlays/gamestates/ovl_title/func_80800878.s b/asm/non_matchings/overlays/gamestates/ovl_title/func_80800878.s deleted file mode 100644 index 1badaae37a..0000000000 --- a/asm/non_matchings/overlays/gamestates/ovl_title/func_80800878.s +++ /dev/null @@ -1,100 +0,0 @@ -.rdata - -glabel D_80800A44 - .asciz "../z_title.c" - .balign 4 - -glabel D_80800A54 - .asciz "z_title.c\n" - .balign 4 - -glabel D_80800A60 - .asciz "this->staticSegment != NULL" - .balign 4 - -glabel D_80800A7C - .asciz "../z_title.c" - .balign 4 - -glabel D_80800A8C - .asciz "../z_title.c" - .balign 4 - - .text - -glabel func_80800878 -/* 00878 80800878 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8 -/* 0087C 8080087C 3C0201AA */ lui $v0, 0x01AA ## $v0 = 01AA0000 -/* 00880 80800880 3C0E01AA */ lui $t6, 0x01AA ## $t6 = 01AA0000 -/* 00884 80800884 25CE3DC0 */ addiu $t6, $t6, 0x3DC0 ## $t6 = 01AA3DC0 -/* 00888 80800888 24421000 */ addiu $v0, $v0, 0x1000 ## $v0 = 01AA1000 -/* 0088C 8080088C AFBF0024 */ sw $ra, 0x0024($sp) -/* 00890 80800890 AFB00020 */ sw $s0, 0x0020($sp) -/* 00894 80800894 01C22823 */ subu $a1, $t6, $v0 -/* 00898 80800898 3C068080 */ lui $a2, %hi(D_80800A44) ## $a2 = 80800000 -/* 0089C 8080089C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 008A0 808008A0 24C60A44 */ addiu $a2, $a2, %lo(D_80800A44) ## $a2 = 80800A44 -/* 008A4 808008A4 AFA50028 */ sw $a1, 0x0028($sp) -/* 008A8 808008A8 AFA2002C */ sw $v0, 0x002C($sp) -/* 008AC 808008AC 0C031521 */ jal Game_Alloc -/* 008B0 808008B0 24070263 */ addiu $a3, $zero, 0x0263 ## $a3 = 00000263 -/* 008B4 808008B4 3C048080 */ lui $a0, %hi(D_80800A54) ## $a0 = 80800000 -/* 008B8 808008B8 AE0200A4 */ sw $v0, 0x00A4($s0) ## 000000A4 -/* 008BC 808008BC 0C00084C */ jal osSyncPrintf -/* 008C0 808008C0 24840A54 */ addiu $a0, $a0, %lo(D_80800A54) ## $a0 = 80800A54 -/* 008C4 808008C4 8E0400A4 */ lw $a0, 0x00A4($s0) ## 000000A4 -/* 008C8 808008C8 3C058080 */ lui $a1, %hi(D_80800A7C) ## $a1 = 80800000 -/* 008CC 808008CC 24A50A7C */ addiu $a1, $a1, %lo(D_80800A7C) ## $a1 = 80800A7C -/* 008D0 808008D0 14800005 */ bne $a0, $zero, .L808008E8 -/* 008D4 808008D4 24060266 */ addiu $a2, $zero, 0x0266 ## $a2 = 00000266 -/* 008D8 808008D8 3C048080 */ lui $a0, %hi(D_80800A60) ## $a0 = 80800000 -/* 008DC 808008DC 0C0007FC */ jal __assert -/* 008E0 808008E0 24840A60 */ addiu $a0, $a0, %lo(D_80800A60) ## $a0 = 80800A60 -/* 008E4 808008E4 8E0400A4 */ lw $a0, 0x00A4($s0) ## 000000A4 -.L808008E8: -/* 008E8 808008E8 3C078080 */ lui $a3, %hi(D_80800A8C) ## $a3 = 80800000 -/* 008EC 808008EC 240F0267 */ addiu $t7, $zero, 0x0267 ## $t7 = 00000267 -/* 008F0 808008F0 AFAF0010 */ sw $t7, 0x0010($sp) -/* 008F4 808008F4 24E70A8C */ addiu $a3, $a3, %lo(D_80800A8C) ## $a3 = 80800A8C -/* 008F8 808008F8 8FA5002C */ lw $a1, 0x002C($sp) -/* 008FC 808008FC 0C0006A8 */ jal DmaMgr_SendRequest1 -/* 00900 80800900 8FA60028 */ lw $a2, 0x0028($sp) -/* 00904 80800904 3C198016 */ lui $t9, 0x8016 ## $t9 = 80160000 -/* 00908 80800908 8F39FA90 */ lw $t9, -0x0570($t9) ## 8015FA90 -/* 0090C 8080090C 24180001 */ addiu $t8, $zero, 0x0001 ## $t8 = 00000001 -/* 00910 80800910 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00914 80800914 0C034204 */ jal Matrix_Init -/* 00918 80800918 A7380110 */ sh $t8, 0x0110($t9) ## 80160110 -/* 0091C 8080091C 260400A8 */ addiu $a0, $s0, 0x00A8 ## $a0 = 000000A8 -/* 00920 80800920 0C02A89E */ jal func_800AA278 -/* 00924 80800924 8E050000 */ lw $a1, 0x0000($s0) ## 00000000 -/* 00928 80800928 3C088080 */ lui $t0, %hi(func_8080073C) ## $t0 = 80800000 -/* 0092C 8080092C 3C098080 */ lui $t1, %hi(func_80800858) ## $t1 = 80800000 -/* 00930 80800930 2508073C */ addiu $t0, $t0, %lo(func_8080073C) ## $t0 = 8080073C -/* 00934 80800934 25290858 */ addiu $t1, $t1, %lo(func_80800858) ## $t1 = 80800858 -/* 00938 80800938 AE080004 */ sw $t0, 0x0004($s0) ## 00000004 -/* 0093C 8080093C AE090008 */ sw $t1, 0x0008($s0) ## 00000008 -/* 00940 80800940 A20001E1 */ sb $zero, 0x01E1($s0) ## 000001E1 -/* 00944 80800944 240A00FF */ addiu $t2, $zero, 0x00FF ## $t2 = 000000FF -/* 00948 80800948 3C018016 */ lui $at, 0x8016 ## $at = 80160000 -/* 0094C 8080094C AC2AF9B4 */ sw $t2, -0x064C($at) ## 8015F9B4 -/* 00950 80800950 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00954 80800954 0C02A735 */ jal func_800A9CD4 -/* 00958 80800958 260501D0 */ addiu $a1, $s0, 0x01D0 ## $a1 = 000001D0 -/* 0095C 8080095C 240B0014 */ addiu $t3, $zero, 0x0014 ## $t3 = 00000014 -/* 00960 80800960 240C00FF */ addiu $t4, $zero, 0x00FF ## $t4 = 000000FF -/* 00964 80800964 240DFFFD */ addiu $t5, $zero, 0xFFFD ## $t5 = FFFFFFFD -/* 00968 80800968 240E003C */ addiu $t6, $zero, 0x003C ## $t6 = 0000003C -/* 0096C 8080096C A60001DC */ sh $zero, 0x01DC($s0) ## 000001DC -/* 00970 80800970 A60B01D4 */ sh $t3, 0x01D4($s0) ## 000001D4 -/* 00974 80800974 A60C01D6 */ sh $t4, 0x01D6($s0) ## 000001D6 -/* 00978 80800978 A60D01D8 */ sh $t5, 0x01D8($s0) ## 000001D8 -/* 0097C 8080097C A60E01DA */ sh $t6, 0x01DA($s0) ## 000001DA -/* 00980 80800980 8FBF0024 */ lw $ra, 0x0024($sp) -/* 00984 80800984 8FB00020 */ lw $s0, 0x0020($sp) -/* 00988 80800988 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000 -/* 0098C 8080098C 03E00008 */ jr $ra -/* 00990 80800990 00000000 */ nop -/* 00994 80800994 00000000 */ nop -/* 00998 80800998 00000000 */ nop -/* 0099C 8080099C 00000000 */ nop diff --git a/data/overlays/gamestates/z_title.data.s b/data/overlays/gamestates/z_title.data.s deleted file mode 100644 index 3fd6874248..0000000000 --- a/data/overlays/gamestates/z_title.data.s +++ /dev/null @@ -1,15 +0,0 @@ -.include "macro.inc" - - # assembler directives - .set noat # allow manual use of $at - .set noreorder # don't insert nops after branches - .set gp=64 # allow use of 64-bit general purposee registers - -.section .data - -glabel D_808009A0 - .word 0x00000000, 0x00000000 -glabel D_808009A8 - .word 0x64646400, 0x64646400 -glabel D_808009B0 - .word 0xFFFFFF00, 0xFFFFFF00, 0x45454500, 0x00000000 diff --git a/include/functions.h b/include/functions.h index 3562b89692..db34b65c90 100644 --- a/include/functions.h +++ b/include/functions.h @@ -2384,5 +2384,7 @@ void func_801109B0(GlobalContext* globalCtx); void func_80110F68(GlobalContext* globalCtx); void func_80112098(GlobalContext* globalCtx); -void func_80800878(TitleContext*); +void Title_Init(TitleContext*); +void Opening_Init(OpeningContext* this); + #endif diff --git a/include/segment_symbols.h b/include/segment_symbols.h index 0be701c23b..020d4c4837 100644 --- a/include/segment_symbols.h +++ b/include/segment_symbols.h @@ -921,6 +921,7 @@ DECLARE_ROM_SEGMENT(g_pn_55) DECLARE_ROM_SEGMENT(g_pn_56) DECLARE_ROM_SEGMENT(g_pn_57) +DECLARE_ROM_SEGMENT(nintendo_rogo_static) DECLARE_ROM_SEGMENT(title_static) DECLARE_ROM_SEGMENT(parameter_static) DECLARE_ROM_SEGMENT(vr_cloud2_static) diff --git a/include/variables.h b/include/variables.h index 510803400b..07a677dc9e 100644 --- a/include/variables.h +++ b/include/variables.h @@ -697,7 +697,7 @@ extern volatile u32 D_8012D290; extern Mtx gMtxClear; extern MtxF gMtxFClear; //extern ? D_8012DBB0; -//extern ? D_8012DBC0; +extern u32 D_8012DBC0; extern volatile u32 gIrqMgrResetStatus; extern u32 D_8012DBA0; extern u32 D_8012DBA4; diff --git a/include/z64.h b/include/z64.h index dc0baf5ee5..1c3f97cec4 100644 --- a/include/z64.h +++ b/include/z64.h @@ -808,6 +808,11 @@ typedef struct /* 0x04 */ u32 vromEnd; } RomFile; // size = 0x8 +typedef struct +{ + /* 0x00 */ void* read_buff; +} Sram; // size = 0x4 + typedef struct GameAllocEntry { /* 0x00 */ struct GameAllocEntry* next; @@ -840,10 +845,17 @@ typedef struct GameState typedef struct { /* 0x0000 */ GameState state; - /* 0x00A4 */ char unk_A4[0x12C]; - /* 0x01D0 */ UNK_TYPE unk_1D0; - /* 0x01D4 */ char unk_1D4[0xD]; - /* 0x01E1 */ u8 unk_1E1; + /* 0x00A4 */ void* staticSegment; + /* 0x00A8 */ View view; + /* 0x01D0 */ Sram sram; + /* 0x01D4 */ u16 unk_1D4; // not used in mq dbg (some sort of timer that doesn't seem to affect anything) + /* 0x01D6 */ s16 coverAlpha; + /* 0x01D8 */ s16 addAlpha; // not used in mq dbg + /* 0x01DA */ u16 visibleDuration; // not used in mq dbg + /* 0x01DC */ s16 ult; + /* 0x01DE */ s16 uls; + /* 0x01E0 */ char unk_1E0; + /* 0x01E1 */ u8 exit; /* 0x01E2 */ char unk_1E2[6]; } TitleContext; // size = 0x1E8 diff --git a/spec b/spec index 1a3b075a91..5f36c2d6cb 100644 --- a/spec +++ b/spec @@ -615,7 +615,6 @@ endseg beginseg name "ovl_title" include "build/src/overlays/gamestates/ovl_title/z_title.o" - include "build/data/overlays/gamestates/z_title.data.o" include "build/data/overlays/gamestates/z_title.reloc.o" address 0x80800000 endseg diff --git a/src/code/title_setup.c b/src/code/title_setup.c index 22ee8b1816..d7ac9cc87a 100644 --- a/src/code/title_setup.c +++ b/src/code/title_setup.c @@ -6,7 +6,7 @@ void TitleSetup_InitImpl(GameState* gameState) osSyncPrintf("ゼルダ共通データ初期化\n"); SaveContext_Init(); gameState->running = false; - gameState->init = func_80800878; gameState->size = sizeof(TitleContext); + gameState->init = Title_Init; gameState->size = sizeof(TitleContext); } void TitleSetup_Destroy(GameState* gameState) diff --git a/src/overlays/gamestates/ovl_title/z_title.c b/src/overlays/gamestates/ovl_title/z_title.c index 4053f152bc..16ba79987a 100644 --- a/src/overlays/gamestates/ovl_title/z_title.c +++ b/src/overlays/gamestates/ovl_title/z_title.c @@ -6,23 +6,209 @@ #include #include +#include -#pragma GLOBAL_ASM("asm/non_matchings/overlays/gamestates/ovl_title/func_80800000.s") +extern Gfx D_01002720[]; +extern u8 D_01001800[]; +extern u8 D_01000000[]; -void func_80800128(TitleContext* this) +void Title_PrintBuildInfo(Gfx** gfxp) { - this->unk_1E1 = 1; + Gfx* g; + GfxPrint* printer; + + g = *gfxp; + g = func_8009411C(g); + printer = alloca(0x30); + GfxPrint_Ctor(printer); + GfxPrint_Open(printer, g); + GfxPrint_SetColor(printer, 0xFF, 0x9B, 0xFF, 0xFF); + GfxPrint_SetPos(printer, 9, 21); + GfxPrint_Printf(printer, "NOT MARIO CLUB VERSION"); + GfxPrint_SetColor(printer, 0xFF, 0xFF, 0xFF, 0xFF); + GfxPrint_SetPos(printer, 7, 23); + GfxPrint_Printf(printer, "[Creator:%s]", gBuildTeam); + GfxPrint_SetPos(printer, 7, 24); + GfxPrint_Printf(printer, "[Date:%s]", gBuildDate); + g = GfxPrint_Close(printer); + GfxPrint_Dtor(printer); + *gfxp = g; } -#pragma GLOBAL_ASM("asm/non_matchings/overlays/gamestates/ovl_title/func_80800134.s") - -#pragma GLOBAL_ASM("asm/non_matchings/overlays/gamestates/ovl_title/func_808001C8.s") - -#pragma GLOBAL_ASM("asm/non_matchings/overlays/gamestates/ovl_title/func_8080073C.s") - -void func_80800858(TitleContext* this) +// Note: In other rom versions this function also updates unk_1D4, coverAlpha, addAlpha, visibleDuration to calculate the fade-in/fade-out + the duration of the n64 logo animation +void Title_Calc(TitleContext* this) { - func_800A9AD0(this, &this->unk_1D0); + this->exit = 1; } -#pragma GLOBAL_ASM("asm/non_matchings/overlays/gamestates/ovl_title/func_80800878.s") +void Title_InitView(TitleContext* this, float x, float y, float z) +{ + View* view; + Vec3f v1; + Vec3f v2; + Vec3f v3; + + view = &this->view; + v3.z = 0; + v3.x = 0; + v2.z = 0; + v2.y = 0; + v2.x = 0; + v1.x = x; + v1.y = y; + v1.z = z; + v3.y = 1.0; + + func_800AA460(view, 30.0f, 10.0f, 12800.0f); + func_800AA358(view, &v1, &v2, &v3); + func_800AAA50(view, 0xF); +} + +void Title_Draw(TitleContext* this) +{ + static s16 sTitleRotY = 0; + static u32 D_808009A4 = 0; + static Lights1 sTitleLights = gdSPDefLights1(0x64, 0x64, 0x64, 0xFF, 0xFF, 0xFF, 0x45, 0x45, 0x45); + + u16 y; + u16 idx; + char pad1[0x4]; + Vec3f v3; + Vec3f v1; + Vec3f v2; + char pad2[0x8]; + GraphicsContext* gfxCtx = this->state.gfxCtx; + Gfx* gfxArr[4]; + + func_800C6AC4(&gfxArr, this->state.gfxCtx, "../z_title.c", 395); + + v3.x = 69; + v3.y = 69; + v3.z = 69; + v2.x = -4949.148; + v2.y = 4002.5417; + v1.x = 0; + v1.y = 0; + v1.z = 0; + v2.z = 1119.0837; + + func_8002EABC(&v1, &v2, &v3, this->state.gfxCtx); + gSPSetLights1(gfxCtx->polyOpa.p++, sTitleLights); + Title_InitView(this, 0, 150.0, 300.0); + func_80093D18(this->state.gfxCtx); + Matrix_Translate(-53.0, -5.0, 0, 0); + Matrix_Scale(1.0, 1.0, 1.0, 1); + Matrix_RotateXYZ(0, sTitleRotY, 0, 1); + + gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(this->state.gfxCtx, "../z_title.c", 424), G_MTX_LOAD); + gSPDisplayList(gfxCtx->polyOpa.p++, &D_01002720); + func_800944C4(this->state.gfxCtx); + gDPPipeSync(gfxCtx->polyOpa.p++); + gDPSetCycleType(gfxCtx->polyOpa.p++, G_CYC_2CYCLE); + gDPSetRenderMode(gfxCtx->polyOpa.p++, G_RM_XLU_SURF2, G_RM_OPA_CI | CVG_DST_WRAP); + gDPSetCombineLERP(gfxCtx->polyOpa.p++, TEXEL1, PRIMITIVE, ENV_ALPHA, TEXEL0, 0, 0, 0, TEXEL0, PRIMITIVE, ENVIRONMENT, COMBINED, ENVIRONMENT, COMBINED, 0, PRIMITIVE, 0); + gDPSetPrimColor(gfxCtx->polyOpa.p++, 0, 0, 170, 255, 255, 255); + gDPSetEnvColor(gfxCtx->polyOpa.p++, 0, 0, 255, 128); + + _gDPLoadTextureBlockTile(gfxCtx->polyOpa.p++, + &D_01001800, + 0x100, + 1, + G_IM_FMT_I, + G_IM_SIZ_8b, + 32, 32, + 0, + G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, + 5, 5, + 2, 11); + + + for (idx = 0, y = 94; idx < 16; idx++, y += 2) + { + gDPLoadTextureBlock(gfxCtx->polyOpa.p++, + &D_01000000[0x180 * idx], + G_IM_FMT_I, + G_IM_SIZ_8b, + 192, 2, + 0, + G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, + G_TX_NOMASK, G_TX_NOMASK, + G_TX_NOLOD, G_TX_NOLOD); + + gDPSetTileSize(gfxCtx->polyOpa.p++, /*G_TX_RENDERTILE*/1, this->uls, (this->ult & 0x7F) - idx*4, 0, 0); + gSPTextureRectangle(gfxCtx->polyOpa.p++, 388, y << 2, 1156, (y+2)<<2, G_TX_RENDERTILE, 0, 0, 1024, 1024); + } + + + + func_8007672C(this->state.gfxCtx, 0, 0, 0, (s16)this->coverAlpha, 2); + + sTitleRotY += 300; + + func_800C6B54(&gfxArr, this->state.gfxCtx, "../z_title.c", 483); +} + +void Title_Update(TitleContext* this) +{ + GraphicsContext* gfxCtx = this->state.gfxCtx; + u32 pad; + Gfx* gfxArr[4]; + u32 pad2; + Gfx* gfx[2]; + + func_800C6AC4(&gfxArr, this->state.gfxCtx, "../z_title.c", 494); + + gSPSegment(gfxCtx->polyOpa.p++, 0, NULL); + gSPSegment(gfxCtx->polyOpa.p++, 1, this->staticSegment); + func_80095248(this->state.gfxCtx, 0, 0, 0); + Title_Calc(this); + Title_Draw(this); + if (D_8012DBC0) + { + gfx[0] = gfxCtx->polyOpa.p; + Title_PrintBuildInfo(&gfx); + gfxCtx->polyOpa.p = gfx[0]; + } + if (this->exit) + { + gSaveContext.seq_index = -1; + gSaveContext.night_sfx = -1; + gSaveContext.game_mode = 1; + this->state.running = false; + this->state.init = Opening_Init; this->state.size = sizeof(OpeningContext); + } + + func_800C6B54(&gfxArr, this->state.gfxCtx, "../z_title.c", 541); +} + +void Title_Destroy(TitleContext* this) +{ + func_800A9AD0(this, &this->sram); +} + +void Title_Init(TitleContext* this) +{ + u32 size = (u32)_nintendo_rogo_staticSegmentRomEnd - (u32)_nintendo_rogo_staticSegmentRomStart; + u32 pad; + + this->staticSegment = Game_Alloc(&this->state, size, "../z_title.c", 611); + osSyncPrintf("z_title.c\n"); + if (this->staticSegment == NULL) + { + __assert("this->staticSegment != NULL", "../z_title.c", 614); + } + DmaMgr_SendRequest1(this->staticSegment, (u32)_nintendo_rogo_staticSegmentRomStart, size, "../z_title.c", 615); + R_UPDATE_RATE = 1; + Matrix_Init(&this->state); + func_800AA278(&this->view, this->state.gfxCtx); + this->state.main = Title_Update; + this->state.destroy = Title_Destroy; + this->exit = false; + gSaveContext.file_num = 0xFF; + func_800A9CD4(&this->state, &this->sram); + this->ult = 0; + this->unk_1D4 = 0x14; + this->coverAlpha = 0xFF; + this->addAlpha = -3; + this->visibleDuration = 0x3C; +} diff --git a/undefined_syms.txt b/undefined_syms.txt index 102b185600..38e746d44e 100644 --- a/undefined_syms.txt +++ b/undefined_syms.txt @@ -275,6 +275,7 @@ D_01AA3DC0 = 0x01AA3DC0; D_01AA1000 = 0x01AA1000; D_01002720 = 0x01002720; D_01001800 = 0x01001800; +D_01000000 = 0x01000000; // z_shot_sun D_02007020 = 0x02007020; From 011027bded76b96d886aea4ab784df895352a971 Mon Sep 17 00:00:00 2001 From: Random <28494085+Random0666@users.noreply.github.com> Date: Fri, 20 Mar 2020 00:31:50 +0100 Subject: [PATCH 09/10] Changes in PR #12 - Changed `_gDPLoadTextureBlockTile` to `gDPLoadMultiBlock` - Replaced literals with `MatrixMode` in Matrix function calls - Changed `float`s to `f32`s - Removed old comment - Removed `z_title.reloc.s` --- data/overlays/gamestates/z_title.reloc.s | 11 ----------- spec | 2 +- src/overlays/gamestates/ovl_title/z_title.c | 12 ++++++------ 3 files changed, 7 insertions(+), 18 deletions(-) delete mode 100644 data/overlays/gamestates/z_title.reloc.s diff --git a/data/overlays/gamestates/z_title.reloc.s b/data/overlays/gamestates/z_title.reloc.s deleted file mode 100644 index 7dbe27a56e..0000000000 --- a/data/overlays/gamestates/z_title.reloc.s +++ /dev/null @@ -1,11 +0,0 @@ -.include "macro.inc" - - # assembler directives - .set noat # allow manual use of $at - .set noreorder # don't insert nops after branches - .set gp=64 # allow use of 64-bit general purposee registers - -.section .rodata -glabel D_80800AB0 - -.incbin "baserom/ovl_title", 0xAB0, 0x000000E0 diff --git a/spec b/spec index 5f36c2d6cb..0fbc80211f 100644 --- a/spec +++ b/spec @@ -615,7 +615,7 @@ endseg beginseg name "ovl_title" include "build/src/overlays/gamestates/ovl_title/z_title.o" - include "build/data/overlays/gamestates/z_title.reloc.o" + include "build/src/overlays/gamestates/ovl_title/z_title_reloc.o" address 0x80800000 endseg diff --git a/src/overlays/gamestates/ovl_title/z_title.c b/src/overlays/gamestates/ovl_title/z_title.c index 16ba79987a..3ff5211d94 100644 --- a/src/overlays/gamestates/ovl_title/z_title.c +++ b/src/overlays/gamestates/ovl_title/z_title.c @@ -41,7 +41,7 @@ void Title_Calc(TitleContext* this) this->exit = 1; } -void Title_InitView(TitleContext* this, float x, float y, float z) +void Title_InitView(TitleContext* this, f32 x, f32 y, f32 z) { View* view; Vec3f v1; @@ -96,9 +96,9 @@ void Title_Draw(TitleContext* this) gSPSetLights1(gfxCtx->polyOpa.p++, sTitleLights); Title_InitView(this, 0, 150.0, 300.0); func_80093D18(this->state.gfxCtx); - Matrix_Translate(-53.0, -5.0, 0, 0); - Matrix_Scale(1.0, 1.0, 1.0, 1); - Matrix_RotateXYZ(0, sTitleRotY, 0, 1); + Matrix_Translate(-53.0, -5.0, 0, MTXMODE_NEW); + Matrix_Scale(1.0, 1.0, 1.0, MTXMODE_APPLY); + Matrix_RotateXYZ(0, sTitleRotY, 0, MTXMODE_APPLY); gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(this->state.gfxCtx, "../z_title.c", 424), G_MTX_LOAD); gSPDisplayList(gfxCtx->polyOpa.p++, &D_01002720); @@ -110,7 +110,7 @@ void Title_Draw(TitleContext* this) gDPSetPrimColor(gfxCtx->polyOpa.p++, 0, 0, 170, 255, 255, 255); gDPSetEnvColor(gfxCtx->polyOpa.p++, 0, 0, 255, 128); - _gDPLoadTextureBlockTile(gfxCtx->polyOpa.p++, + gDPLoadMultiBlock(gfxCtx->polyOpa.p++, &D_01001800, 0x100, 1, @@ -135,7 +135,7 @@ void Title_Draw(TitleContext* this) G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); - gDPSetTileSize(gfxCtx->polyOpa.p++, /*G_TX_RENDERTILE*/1, this->uls, (this->ult & 0x7F) - idx*4, 0, 0); + gDPSetTileSize(gfxCtx->polyOpa.p++, 1, this->uls, (this->ult & 0x7F) - idx*4, 0, 0); gSPTextureRectangle(gfxCtx->polyOpa.p++, 388, y << 2, 1156, (y+2)<<2, G_TX_RENDERTILE, 0, 0, 1024, 1024); } From 858e937519558f1de85baecb8630fa60b9cd9387 Mon Sep 17 00:00:00 2001 From: mzxrules Date: Thu, 19 Mar 2020 20:10:32 -0400 Subject: [PATCH 10/10] tweak defines --- include/regs.h | 4 +++- src/code/z_debug.c | 28 +++++++++++++--------------- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/include/regs.h b/include/regs.h index fa7003da58..6fa8a090ee 100644 --- a/include/regs.h +++ b/include/regs.h @@ -2,7 +2,9 @@ #define _REGS_H_ #define REG_GROUPS 29 //number of REG groups, i.e. REG, SREG, OREG, etc. -#define REG_PER_GROUP 96 +#define REG_PAGES 6 +#define REG_PER_PAGE 16 +#define REG_PER_GROUP REG_PAGES * REG_PER_PAGE #define BASE_REG(n, r) gGameInfo->data[n * REG_PER_GROUP + r] diff --git a/src/code/z_debug.c b/src/code/z_debug.c index 489636d415..451443a6bc 100644 --- a/src/code/z_debug.c +++ b/src/code/z_debug.c @@ -5,8 +5,6 @@ #include #include -#define PAGE_N 16 - typedef struct { u8 x; @@ -162,7 +160,7 @@ void func_8006390C(Input* input) { InputCombo* input_combo; s32 i; - regGroup = (gGameInfo->regGroup * (REG_PER_GROUP / PAGE_N) + gGameInfo->regPage) * PAGE_N - PAGE_N; + regGroup = (gGameInfo->regGroup * REG_PAGES + gGameInfo->regPage) * REG_PER_PAGE - REG_PER_PAGE; dpad = input->raw.pad & 0xF00; if (!~(input->raw.pad | ~L_TRIG) || !~(input->raw.pad | ~R_TRIG) || @@ -180,7 +178,7 @@ void func_8006390C(Input* input) { if (i < REG_GROUPS) { if (i == gGameInfo->regGroup) { - gGameInfo->regPage = (gGameInfo->regPage + 1) % 7; + gGameInfo->regPage = (gGameInfo->regPage + 1) % (REG_PAGES + 1); return; } gGameInfo->regGroup = i; @@ -190,12 +188,12 @@ void func_8006390C(Input* input) { else { switch (gGameInfo->regPage - 1) { - case 0: - case 1: - case 2: - case 3: - case 4: - case 5: + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: if (dpad == gGameInfo->dpadLast) { gGameInfo->repeat--; @@ -226,12 +224,12 @@ void func_8006390C(Input* input) { if (dpad & U_JPAD) { gGameInfo->regCur--; if (gGameInfo->regCur < 0) { - gGameInfo->regCur = PAGE_N - 1; + gGameInfo->regCur = REG_PER_PAGE - 1; } } else if (dpad & D_JPAD) { gGameInfo->regCur++; - if (gGameInfo->regCur >= PAGE_N) { + if (gGameInfo->regCur >= REG_PER_PAGE) { gGameInfo->regCur = 0; } } @@ -252,8 +250,8 @@ void func_80063C04(GfxPrint* gfxPrint) s32 test; //removing affects stack char name[3]; - page = (gGameInfo->regPage * PAGE_N) - PAGE_N; - regGroup = (gGameInfo->regGroup * (REG_PER_GROUP / PAGE_N) + gGameInfo->regPage) * PAGE_N - PAGE_N; + page = (gGameInfo->regPage * REG_PER_PAGE) - REG_PER_PAGE; + regGroup = (gGameInfo->regGroup * REG_PAGES + gGameInfo->regPage) * REG_PER_PAGE - REG_PER_PAGE; //set up register name string name[0] = 'R'; @@ -261,7 +259,7 @@ void func_80063C04(GfxPrint* gfxPrint) name[2] = '\0'; GfxPrint_SetColor(gfxPrint, 0, 0x80, 0x80, 0x80); - for (i = 0; i != PAGE_N; i++) + for (i = 0; i != REG_PER_PAGE; i++) { if (i == gGameInfo->regCur) {