diff --git a/README.md b/README.md index 89f774e6..d2a94667 100755 --- a/README.md +++ b/README.md @@ -113,31 +113,30 @@ s32 is_drumstick_unlocked(void) { } ``` -As of August 8th, 2022, this is our current score: +As of August 25th, 2022, this is our current score: ``` - ======================================================== - ADVENTURE ONE (ASM -> C Decompilation) - ------------------- 28.87% Complete -------------------- - # Decompiled functions: 1200 - # GLOBAL_ASM remaining: 566 - # NON_MATCHING functions: 11 - # NON_EQUIVALENT WIP functions: 100 - --------------------- Game Status ---------------------- - Balloons: 15/47, Keys: 1/4, Trophies: 1/5 - T.T. Amulets: 1/4, Wizpig Amulets: 1/4 - -------------------------------------------------------- - We are racing in Snowball Valley. (Lap 1/3) - ======================================================== - ADVENTURE TWO (Cleanup & Documentation) - ------------------- 5.16% Complete -------------------- - # Documented functions: 181 - # Undocumented remaining: 1585 - --------------------- Game Status ---------------------- - Balloons: 3/47, Keys: 0/4, Trophies: 0/5 - T.T. Amulets: 0/4, Wizpig Amulets: 0/4 - -------------------------------------------------------- + ======================================================== + ADVENTURE ONE (ASM -> C Decompilation) + ------------------- 29.61% Complete -------------------- + # Decompiled functions: 1210 + # GLOBAL_ASM remaining: 576 + # NON_MATCHING functions: 14 + # NON_EQUIVALENT WIP functions: 99 + --------------------- Game Status ---------------------- + Balloons: 15/47, Keys: 1/4, Trophies: 1/5 + T.T. Amulets: 1/4, Wizpig Amulets: 1/4 + -------------------------------------------------------- + We are racing in Snowball Valley. (Lap 2/3) + ======================================================== + ADVENTURE TWO (Cleanup & Documentation) + ------------------- 5.16% Complete -------------------- + # Documented functions: 181 + # Undocumented remaining: 1605 + --------------------- Game Status ---------------------- + Balloons: 3/47, Keys: 0/4, Trophies: 0/5 + T.T. Amulets: 0/4, Wizpig Amulets: 0/4 + -------------------------------------------------------- We are collecting the fourth balloon on Timber's Island. - ======================================================== ``` --- diff --git a/asm/non_matchings/audio/func_80001FB8.s b/asm/non_matchings/audio/func_80001FB8.s index 37d7b079..14af37e6 100644 --- a/asm/non_matchings/audio/func_80001FB8.s +++ b/asm/non_matchings/audio/func_80001FB8.s @@ -54,32 +54,4 @@ glabel func_80001FB8 /* 002C7C 8000207C 8FBF0014 */ lw $ra, 0x14($sp) /* 002C80 80002080 27BD0018 */ addiu $sp, $sp, 0x18 /* 002C84 80002084 03E00008 */ jr $ra -/* 002C88 80002088 00000000 */ nop - -/* 002C8C 8000208C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 002C90 80002090 AFBF0014 */ sw $ra, 0x14($sp) -/* 002C94 80002094 AFA5001C */ sw $a1, 0x1c($sp) -/* 002C98 80002098 10800004 */ beqz $a0, .L800020AC -/* 002C9C 8000209C 30A700FF */ andi $a3, $a1, 0xff -/* 002CA0 800020A0 24050008 */ li $a1, 8 -/* 002CA4 800020A4 0C00127E */ jal func_800049F8 -/* 002CA8 800020A8 00073200 */ sll $a2, $a3, 8 -.L800020AC: -/* 002CAC 800020AC 8FBF0014 */ lw $ra, 0x14($sp) -/* 002CB0 800020B0 27BD0018 */ addiu $sp, $sp, 0x18 -/* 002CB4 800020B4 03E00008 */ jr $ra -/* 002CB8 800020B8 00000000 */ nop - -/* 002CBC 800020BC 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 002CC0 800020C0 AFBF0014 */ sw $ra, 0x14($sp) -/* 002CC4 800020C4 10800004 */ beqz $a0, .L800020D8 -/* 002CC8 800020C8 AFA5001C */ sw $a1, 0x1c($sp) -/* 002CCC 800020CC 8FA6001C */ lw $a2, 0x1c($sp) -/* 002CD0 800020D0 0C00127E */ jal func_800049F8 -/* 002CD4 800020D4 24050010 */ li $a1, 16 -.L800020D8: -/* 002CD8 800020D8 8FBF0014 */ lw $ra, 0x14($sp) -/* 002CDC 800020DC 27BD0018 */ addiu $sp, $sp, 0x18 -/* 002CE0 800020E0 03E00008 */ jr $ra -/* 002CE4 800020E4 00000000 */ nop - +/* 002C88 80002088 00000000 */ nop diff --git a/asm/non_matchings/camera/func_80069790.s b/asm/non_matchings/camera/func_80069790.s index cd29ae50..3bc2926f 100644 --- a/asm/non_matchings/camera/func_80069790.s +++ b/asm/non_matchings/camera/func_80069790.s @@ -149,27 +149,3 @@ glabel func_80069790 /* 06A5DC 800699DC 03E00008 */ jr $ra /* 06A5E0 800699E0 27BD0100 */ addiu $sp, $sp, 0x100 -/* 06A5E4 800699E4 3C028012 */ lui $v0, %hi(D_80120D20) # $v0, 0x8012 -/* 06A5E8 800699E8 24420D20 */ addiu $v0, %lo(D_80120D20) # addiu $v0, $v0, 0xd20 -/* 06A5EC 800699EC 8C4E0000 */ lw $t6, ($v0) -/* 06A5F0 800699F0 3C018012 */ lui $at, %hi(D_80120D28) # $at, 0x8012 -/* 06A5F4 800699F4 000E7880 */ sll $t7, $t6, 2 -/* 06A5F8 800699F8 002F0821 */ addu $at, $at, $t7 -/* 06A5FC 800699FC C4240D28 */ lwc1 $f4, %lo(D_80120D28)($at) -/* 06A600 80069A00 3C018012 */ lui $at, %hi(D_80120D40) # $at, 0x8012 -/* 06A604 80069A04 E4840000 */ swc1 $f4, ($a0) -/* 06A608 80069A08 8C580000 */ lw $t8, ($v0) -/* 06A60C 80069A0C 00000000 */ nop -/* 06A610 80069A10 0018C880 */ sll $t9, $t8, 2 -/* 06A614 80069A14 00390821 */ addu $at, $at, $t9 -/* 06A618 80069A18 C4260D40 */ lwc1 $f6, %lo(D_80120D40)($at) -/* 06A61C 80069A1C 3C018012 */ lui $at, %hi(perspNorm) # $at, 0x8012 -/* 06A620 80069A20 E4A60000 */ swc1 $f6, ($a1) -/* 06A624 80069A24 8C480000 */ lw $t0, ($v0) -/* 06A628 80069A28 00000000 */ nop -/* 06A62C 80069A2C 00084880 */ sll $t1, $t0, 2 -/* 06A630 80069A30 00290821 */ addu $at, $at, $t1 -/* 06A634 80069A34 C4280D58 */ lwc1 $f8, %lo(perspNorm)($at) -/* 06A638 80069A38 03E00008 */ jr $ra -/* 06A63C 80069A3C E4C80000 */ swc1 $f8, ($a2) - diff --git a/asm/non_matchings/camera/func_800699E4.s b/asm/non_matchings/camera/func_800699E4.s new file mode 100644 index 00000000..1376fcdb --- /dev/null +++ b/asm/non_matchings/camera/func_800699E4.s @@ -0,0 +1,25 @@ + +glabel func_800699E4 +/* 06A5E4 800699E4 3C028012 */ lui $v0, %hi(D_80120D20) # $v0, 0x8012 +/* 06A5E8 800699E8 24420D20 */ addiu $v0, %lo(D_80120D20) # addiu $v0, $v0, 0xd20 +/* 06A5EC 800699EC 8C4E0000 */ lw $t6, ($v0) +/* 06A5F0 800699F0 3C018012 */ lui $at, %hi(D_80120D28) # $at, 0x8012 +/* 06A5F4 800699F4 000E7880 */ sll $t7, $t6, 2 +/* 06A5F8 800699F8 002F0821 */ addu $at, $at, $t7 +/* 06A5FC 800699FC C4240D28 */ lwc1 $f4, %lo(D_80120D28)($at) +/* 06A600 80069A00 3C018012 */ lui $at, %hi(D_80120D40) # $at, 0x8012 +/* 06A604 80069A04 E4840000 */ swc1 $f4, ($a0) +/* 06A608 80069A08 8C580000 */ lw $t8, ($v0) +/* 06A60C 80069A0C 00000000 */ nop +/* 06A610 80069A10 0018C880 */ sll $t9, $t8, 2 +/* 06A614 80069A14 00390821 */ addu $at, $at, $t9 +/* 06A618 80069A18 C4260D40 */ lwc1 $f6, %lo(D_80120D40)($at) +/* 06A61C 80069A1C 3C018012 */ lui $at, %hi(perspNorm) # $at, 0x8012 +/* 06A620 80069A20 E4A60000 */ swc1 $f6, ($a1) +/* 06A624 80069A24 8C480000 */ lw $t0, ($v0) +/* 06A628 80069A28 00000000 */ nop +/* 06A62C 80069A2C 00084880 */ sll $t1, $t0, 2 +/* 06A630 80069A30 00290821 */ addu $at, $at, $t1 +/* 06A634 80069A34 C4280D58 */ lwc1 $f8, %lo(perspNorm)($at) +/* 06A638 80069A38 03E00008 */ jr $ra +/* 06A63C 80069A3C E4C80000 */ swc1 $f8, ($a2) \ No newline at end of file diff --git a/asm/non_matchings/camera/func_80069A40.s b/asm/non_matchings/camera/func_80069A40.s index 08940164..2e6d3f86 100644 --- a/asm/non_matchings/camera/func_80069A40.s +++ b/asm/non_matchings/camera/func_80069A40.s @@ -36,147 +36,3 @@ glabel func_80069A40 /* 06A6C0 80069AC0 AC600004 */ sw $zero, 4($v1) /* 06A6C4 80069AC4 03E00008 */ jr $ra /* 06A6C8 80069AC8 00000000 */ nop - -/* 06A6CC 80069ACC 3C0E8012 */ lui $t6, %hi(D_80120CE4) # $t6, 0x8012 -/* 06A6D0 80069AD0 8DCE0CE4 */ lw $t6, %lo(D_80120CE4)($t6) -/* 06A6D4 80069AD4 3C188012 */ lui $t8, %hi(D_80120AC0) # $t8, 0x8012 -/* 06A6D8 80069AD8 000E7900 */ sll $t7, $t6, 4 -/* 06A6DC 80069ADC 01EE7821 */ addu $t7, $t7, $t6 -/* 06A6E0 80069AE0 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 06A6E4 80069AE4 000F7880 */ sll $t7, $t7, 2 -/* 06A6E8 80069AE8 27180AC0 */ addiu $t8, %lo(D_80120AC0) # addiu $t8, $t8, 0xac0 -/* 06A6EC 80069AEC E7AC0018 */ swc1 $f12, 0x18($sp) -/* 06A6F0 80069AF0 01F81021 */ addu $v0, $t7, $t8 -/* 06A6F4 80069AF4 C444000C */ lwc1 $f4, 0xc($v0) -/* 06A6F8 80069AF8 C7A60018 */ lwc1 $f6, 0x18($sp) -/* 06A6FC 80069AFC E7AE001C */ swc1 $f14, 0x1c($sp) -/* 06A700 80069B00 46062200 */ add.s $f8, $f4, $f6 -/* 06A704 80069B04 AFA60020 */ sw $a2, 0x20($sp) -/* 06A708 80069B08 C7B0001C */ lwc1 $f16, 0x1c($sp) -/* 06A70C 80069B0C C44A0010 */ lwc1 $f10, 0x10($v0) -/* 06A710 80069B10 C7A60020 */ lwc1 $f6, 0x20($sp) -/* 06A714 80069B14 C4440014 */ lwc1 $f4, 0x14($v0) -/* 06A718 80069B18 E448000C */ swc1 $f8, 0xc($v0) -/* 06A71C 80069B1C 46105480 */ add.s $f18, $f10, $f16 -/* 06A720 80069B20 AFBF0014 */ sw $ra, 0x14($sp) -/* 06A724 80069B24 46062200 */ add.s $f8, $f4, $f6 -/* 06A728 80069B28 E4520010 */ swc1 $f18, 0x10($v0) -/* 06A72C 80069B2C E4480014 */ swc1 $f8, 0x14($v0) -/* 06A730 80069B30 8C460014 */ lw $a2, 0x14($v0) -/* 06A734 80069B34 C44E0010 */ lwc1 $f14, 0x10($v0) -/* 06A738 80069B38 C44C000C */ lwc1 $f12, 0xc($v0) -/* 06A73C 80069B3C 0C00A7C6 */ jal get_level_segment_index_from_position -/* 06A740 80069B40 00000000 */ nop -/* 06A744 80069B44 3C198012 */ lui $t9, %hi(D_80120CE4) # $t9, 0x8012 -/* 06A748 80069B48 8F390CE4 */ lw $t9, %lo(D_80120CE4)($t9) -/* 06A74C 80069B4C 8FBF0014 */ lw $ra, 0x14($sp) -/* 06A750 80069B50 00194100 */ sll $t0, $t9, 4 -/* 06A754 80069B54 01194021 */ addu $t0, $t0, $t9 -/* 06A758 80069B58 00084080 */ sll $t0, $t0, 2 -/* 06A75C 80069B5C 3C018012 */ lui $at, %hi(D_80120AC0+52) # $at, 0x8012 -/* 06A760 80069B60 00280821 */ addu $at, $at, $t0 -/* 06A764 80069B64 A4220AF4 */ sh $v0, %lo(D_80120AC0+52)($at) -/* 06A768 80069B68 03E00008 */ jr $ra -/* 06A76C 80069B6C 27BD0018 */ addiu $sp, $sp, 0x18 - -/* 06A770 80069B70 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 06A774 80069B74 AFB2001C */ sw $s2, 0x1c($sp) -/* 06A778 80069B78 3C128012 */ lui $s2, %hi(D_80120CE4) # $s2, 0x8012 -/* 06A77C 80069B7C 26520CE4 */ addiu $s2, %lo(D_80120CE4) # addiu $s2, $s2, 0xce4 -/* 06A780 80069B80 8E4E0000 */ lw $t6, ($s2) -/* 06A784 80069B84 AFB30020 */ sw $s3, 0x20($sp) -/* 06A788 80069B88 24130044 */ li $s3, 68 -/* 06A78C 80069B8C 01D30019 */ multu $t6, $s3 -/* 06A790 80069B90 AFB10018 */ sw $s1, 0x18($sp) -/* 06A794 80069B94 3C118012 */ lui $s1, %hi(D_80120AC0) # $s1, 0x8012 -/* 06A798 80069B98 26310AC0 */ addiu $s1, %lo(D_80120AC0) # addiu $s1, $s1, 0xac0 -/* 06A79C 80069B9C AFBF0024 */ sw $ra, 0x24($sp) -/* 06A7A0 80069BA0 AFB00014 */ sw $s0, 0x14($sp) -/* 06A7A4 80069BA4 E7AC0028 */ swc1 $f12, 0x28($sp) -/* 06A7A8 80069BA8 E7AE002C */ swc1 $f14, 0x2c($sp) -/* 06A7AC 80069BAC AFA60030 */ sw $a2, 0x30($sp) -/* 06A7B0 80069BB0 00007812 */ mflo $t7 -/* 06A7B4 80069BB4 022FC021 */ addu $t8, $s1, $t7 -/* 06A7B8 80069BB8 87040000 */ lh $a0, ($t8) -/* 06A7BC 80069BBC 0C01C1FE */ jal sine_s -/* 06A7C0 80069BC0 00000000 */ nop -/* 06A7C4 80069BC4 8E590000 */ lw $t9, ($s2) -/* 06A7C8 80069BC8 C7A60028 */ lwc1 $f6, 0x28($sp) -/* 06A7CC 80069BCC 03330019 */ multu $t9, $s3 -/* 06A7D0 80069BD0 46003202 */ mul.s $f8, $f6, $f0 -/* 06A7D4 80069BD4 00004012 */ mflo $t0 -/* 06A7D8 80069BD8 02288021 */ addu $s0, $s1, $t0 -/* 06A7DC 80069BDC C604000C */ lwc1 $f4, 0xc($s0) -/* 06A7E0 80069BE0 86040000 */ lh $a0, ($s0) -/* 06A7E4 80069BE4 46082281 */ sub.s $f10, $f4, $f8 -/* 06A7E8 80069BE8 0C01C1F1 */ jal cosine_s -/* 06A7EC 80069BEC E60A000C */ swc1 $f10, 0xc($s0) -/* 06A7F0 80069BF0 8E490000 */ lw $t1, ($s2) -/* 06A7F4 80069BF4 C7B20028 */ lwc1 $f18, 0x28($sp) -/* 06A7F8 80069BF8 01330019 */ multu $t1, $s3 -/* 06A7FC 80069BFC 46009182 */ mul.s $f6, $f18, $f0 -/* 06A800 80069C00 00005012 */ mflo $t2 -/* 06A804 80069C04 022A8021 */ addu $s0, $s1, $t2 -/* 06A808 80069C08 C6100014 */ lwc1 $f16, 0x14($s0) -/* 06A80C 80069C0C 86040000 */ lh $a0, ($s0) -/* 06A810 80069C10 46068101 */ sub.s $f4, $f16, $f6 -/* 06A814 80069C14 0C01C1F1 */ jal cosine_s -/* 06A818 80069C18 E6040014 */ swc1 $f4, 0x14($s0) -/* 06A81C 80069C1C 8E4B0000 */ lw $t3, ($s2) -/* 06A820 80069C20 C7AA0030 */ lwc1 $f10, 0x30($sp) -/* 06A824 80069C24 01730019 */ multu $t3, $s3 -/* 06A828 80069C28 46005482 */ mul.s $f18, $f10, $f0 -/* 06A82C 80069C2C 00006012 */ mflo $t4 -/* 06A830 80069C30 022C8021 */ addu $s0, $s1, $t4 -/* 06A834 80069C34 C608000C */ lwc1 $f8, 0xc($s0) -/* 06A838 80069C38 86040000 */ lh $a0, ($s0) -/* 06A83C 80069C3C 46124401 */ sub.s $f16, $f8, $f18 -/* 06A840 80069C40 0C01C1FE */ jal sine_s -/* 06A844 80069C44 E610000C */ swc1 $f16, 0xc($s0) -/* 06A848 80069C48 8E4D0000 */ lw $t5, ($s2) -/* 06A84C 80069C4C C7A40030 */ lwc1 $f4, 0x30($sp) -/* 06A850 80069C50 01B30019 */ multu $t5, $s3 -/* 06A854 80069C54 46002282 */ mul.s $f10, $f4, $f0 -/* 06A858 80069C58 00007012 */ mflo $t6 -/* 06A85C 80069C5C 022E8021 */ addu $s0, $s1, $t6 -/* 06A860 80069C60 C6060014 */ lwc1 $f6, 0x14($s0) -/* 06A864 80069C64 C60C000C */ lwc1 $f12, 0xc($s0) -/* 06A868 80069C68 460A3200 */ add.s $f8, $f6, $f10 -/* 06A86C 80069C6C C60E0010 */ lwc1 $f14, 0x10($s0) -/* 06A870 80069C70 E6080014 */ swc1 $f8, 0x14($s0) -/* 06A874 80069C74 8E060014 */ lw $a2, 0x14($s0) -/* 06A878 80069C78 0C00A7C6 */ jal get_level_segment_index_from_position -/* 06A87C 80069C7C 00000000 */ nop -/* 06A880 80069C80 8E4F0000 */ lw $t7, ($s2) -/* 06A884 80069C84 00000000 */ nop -/* 06A888 80069C88 01F30019 */ multu $t7, $s3 -/* 06A88C 80069C8C 0000C012 */ mflo $t8 -/* 06A890 80069C90 0238C821 */ addu $t9, $s1, $t8 -/* 06A894 80069C94 A7220034 */ sh $v0, 0x34($t9) -/* 06A898 80069C98 8FBF0024 */ lw $ra, 0x24($sp) -/* 06A89C 80069C9C 8FB30020 */ lw $s3, 0x20($sp) -/* 06A8A0 80069CA0 8FB2001C */ lw $s2, 0x1c($sp) -/* 06A8A4 80069CA4 8FB10018 */ lw $s1, 0x18($sp) -/* 06A8A8 80069CA8 8FB00014 */ lw $s0, 0x14($sp) -/* 06A8AC 80069CAC 03E00008 */ jr $ra -/* 06A8B0 80069CB0 27BD0028 */ addiu $sp, $sp, 0x28 - -/* 06A8B4 80069CB4 3C0E8012 */ lui $t6, %hi(D_80120CE4) # $t6, 0x8012 -/* 06A8B8 80069CB8 8DCE0CE4 */ lw $t6, %lo(D_80120CE4)($t6) -/* 06A8BC 80069CBC 3C188012 */ lui $t8, %hi(D_80120AC0) # $t8, 0x8012 -/* 06A8C0 80069CC0 000E7900 */ sll $t7, $t6, 4 -/* 06A8C4 80069CC4 01EE7821 */ addu $t7, $t7, $t6 -/* 06A8C8 80069CC8 000F7880 */ sll $t7, $t7, 2 -/* 06A8CC 80069CCC 27180AC0 */ addiu $t8, %lo(D_80120AC0) # addiu $t8, $t8, 0xac0 -/* 06A8D0 80069CD0 01F81021 */ addu $v0, $t7, $t8 -/* 06A8D4 80069CD4 84590000 */ lh $t9, ($v0) -/* 06A8D8 80069CD8 84490002 */ lh $t1, 2($v0) -/* 06A8DC 80069CDC 844B0004 */ lh $t3, 4($v0) -/* 06A8E0 80069CE0 03244021 */ addu $t0, $t9, $a0 -/* 06A8E4 80069CE4 01255021 */ addu $t2, $t1, $a1 -/* 06A8E8 80069CE8 01666021 */ addu $t4, $t3, $a2 -/* 06A8EC 80069CEC A4480000 */ sh $t0, ($v0) -/* 06A8F0 80069CF0 A44A0002 */ sh $t2, 2($v0) -/* 06A8F4 80069CF4 03E00008 */ jr $ra -/* 06A8F8 80069CF8 A44C0004 */ sh $t4, 4($v0) - diff --git a/asm/non_matchings/camera/func_80069F64.s b/asm/non_matchings/camera/func_80069F64.s deleted file mode 100644 index 75fd9e45..00000000 --- a/asm/non_matchings/camera/func_80069F64.s +++ /dev/null @@ -1,73 +0,0 @@ -.rdata -glabel D_800E7078 -.asciz "%x." -glabel D_800E707C -.asciz "%x " -.ascii "\0\0\0" # padding -glabel D_800E7084 -.asciz "\n" -.ascii "\0\0" # padding -glabel D_800E7088 -.asciz "\n" -.ascii "\0\0" # padding - -.text - -# Unused -glabel func_80069F64 -/* 06AB64 80069F64 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 06AB68 80069F68 AFBE0038 */ sw $fp, 0x38($sp) -/* 06AB6C 80069F6C AFB40028 */ sw $s4, 0x28($sp) -/* 06AB70 80069F70 AFB30024 */ sw $s3, 0x24($sp) -/* 06AB74 80069F74 AFB70034 */ sw $s7, 0x34($sp) -/* 06AB78 80069F78 AFB60030 */ sw $s6, 0x30($sp) -/* 06AB7C 80069F7C AFB5002C */ sw $s5, 0x2c($sp) -/* 06AB80 80069F80 3C13800E */ lui $s3, %hi(D_800E7078) # $s3, 0x800e -/* 06AB84 80069F84 3C14800E */ lui $s4, %hi(D_800E707C) # $s4, 0x800e -/* 06AB88 80069F88 3C1E800E */ lui $fp, %hi(D_800E7084) # $fp, 0x800e -/* 06AB8C 80069F8C AFBF003C */ sw $ra, 0x3c($sp) -/* 06AB90 80069F90 AFB20020 */ sw $s2, 0x20($sp) -/* 06AB94 80069F94 AFB1001C */ sw $s1, 0x1c($sp) -/* 06AB98 80069F98 AFB00018 */ sw $s0, 0x18($sp) -/* 06AB9C 80069F9C 27DE7084 */ addiu $fp, %lo(D_800E7084) # addiu $fp, $fp, 0x7084 -/* 06ABA0 80069FA0 2694707C */ addiu $s4, %lo(D_800E707C) # addiu $s4, $s4, 0x707c -/* 06ABA4 80069FA4 26737078 */ addiu $s3, %lo(D_800E7078) # addiu $s3, $s3, 0x7078 -/* 06ABA8 80069FA8 24150008 */ li $s5, 8 -/* 06ABAC 80069FAC 0000B025 */ move $s6, $zero -/* 06ABB0 80069FB0 0080B825 */ move $s7, $a0 -.L80069FB4: -/* 06ABB4 80069FB4 00008825 */ move $s1, $zero -/* 06ABB8 80069FB8 02E08025 */ move $s0, $s7 -.L80069FBC: -/* 06ABBC 80069FBC 86050000 */ lh $a1, ($s0) -/* 06ABC0 80069FC0 0C032755 */ jal rmonPrintf -/* 06ABC4 80069FC4 02602025 */ move $a0, $s3 -/* 06ABC8 80069FC8 86050020 */ lh $a1, 0x20($s0) -/* 06ABCC 80069FCC 02802025 */ move $a0, $s4 -/* 06ABD0 80069FD0 30AEFFFF */ andi $t6, $a1, 0xffff -/* 06ABD4 80069FD4 0C032755 */ jal rmonPrintf -/* 06ABD8 80069FD8 01C02825 */ move $a1, $t6 -/* 06ABDC 80069FDC 26310002 */ addiu $s1, $s1, 2 -/* 06ABE0 80069FE0 1635FFF6 */ bne $s1, $s5, .L80069FBC -/* 06ABE4 80069FE4 26100002 */ addiu $s0, $s0, 2 -/* 06ABE8 80069FE8 0C032755 */ jal rmonPrintf -/* 06ABEC 80069FEC 03C02025 */ move $a0, $fp -/* 06ABF0 80069FF0 26D60004 */ addiu $s6, $s6, 4 -/* 06ABF4 80069FF4 24010010 */ li $at, 16 -/* 06ABF8 80069FF8 16C1FFEE */ bne $s6, $at, .L80069FB4 -/* 06ABFC 80069FFC 26F70008 */ addiu $s7, $s7, 8 -/* 06AC00 8006A000 3C04800E */ lui $a0, %hi(D_800E7088) # $a0, 0x800e -/* 06AC04 8006A004 0C032755 */ jal rmonPrintf -/* 06AC08 8006A008 24847088 */ addiu $a0, %lo(D_800E7088) # addiu $a0, $a0, 0x7088 -/* 06AC0C 8006A00C 8FBF003C */ lw $ra, 0x3c($sp) -/* 06AC10 8006A010 8FB00018 */ lw $s0, 0x18($sp) -/* 06AC14 8006A014 8FB1001C */ lw $s1, 0x1c($sp) -/* 06AC18 8006A018 8FB20020 */ lw $s2, 0x20($sp) -/* 06AC1C 8006A01C 8FB30024 */ lw $s3, 0x24($sp) -/* 06AC20 8006A020 8FB40028 */ lw $s4, 0x28($sp) -/* 06AC24 8006A024 8FB5002C */ lw $s5, 0x2c($sp) -/* 06AC28 8006A028 8FB60030 */ lw $s6, 0x30($sp) -/* 06AC2C 8006A02C 8FB70034 */ lw $s7, 0x34($sp) -/* 06AC30 8006A030 8FBE0038 */ lw $fp, 0x38($sp) -/* 06AC34 8006A034 03E00008 */ jr $ra -/* 06AC38 8006A038 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/non_matchings/game/func_8006CCF0.s b/asm/non_matchings/game/func_8006CCF0.s deleted file mode 100644 index fa51032a..00000000 --- a/asm/non_matchings/game/func_8006CCF0.s +++ /dev/null @@ -1,838 +0,0 @@ -.late_rodata -glabel jpt_800E7154 -.word L8006CF68, L8006CF5C, L8006D024, L8006CF80, L8006CF9C, L8006D024, L8006D024, L8006CFB0, L8006CFC4, L8006CFD8, L8006CFEC, L8006D000, L8006D014 -glabel jpt_800E7188 -.word L8006D0B8, L8006D0C4, L8006D108, L8006D19C, L8006D14C, L8006D17C, L8006D188, L8006D1C0, L8006D1C0, L8006D1C0, L8006D1C0, L8006D164 -glabel jpt_800E71B8 -.word L8006D5FC, L8006D614, L8006D62C, L8006D644, L8006D65C, L8006D674, L8006D6D4, L8006D6F4 - -.text -glabel func_8006CCF0 -/* 06D8F0 8006CCF0 27BDFFB0 */ addiu $sp, $sp, -0x50 -/* 06D8F4 8006CCF4 AFBF0024 */ sw $ra, 0x24($sp) -/* 06D8F8 8006CCF8 AFB00020 */ sw $s0, 0x20($sp) -/* 06D8FC 8006CCFC AFA40050 */ sw $a0, 0x50($sp) -/* 06D900 8006CD00 AFA00040 */ sw $zero, 0x40($sp) -/* 06D904 8006CD04 00008025 */ move $s0, $zero -/* 06D908 8006CD08 AFA0004C */ sw $zero, 0x4c($sp) -/* 06D90C 8006CD0C 0C0270F6 */ jal get_active_player_count -/* 06D910 8006CD10 AFA00044 */ sw $zero, 0x44($sp) -/* 06D914 8006CD14 8FAE0044 */ lw $t6, 0x44($sp) -/* 06D918 8006CD18 00000000 */ nop -/* 06D91C 8006CD1C 01C2082A */ slt $at, $t6, $v0 -/* 06D920 8006CD20 10200013 */ beqz $at, .L8006CD70 -/* 06D924 8006CD24 00000000 */ nop -/* 06D928 8006CD28 8FA40044 */ lw $a0, 0x44($sp) -.L8006CD2C: -/* 06D92C 8006CD2C 0C01A94A */ jal get_buttons_held_from_player -/* 06D930 8006CD30 00000000 */ nop -/* 06D934 8006CD34 8FA40044 */ lw $a0, 0x44($sp) -/* 06D938 8006CD38 0C01A955 */ jal get_buttons_pressed_from_player -/* 06D93C 8006CD3C 02028025 */ or $s0, $s0, $v0 -/* 06D940 8006CD40 8FB90044 */ lw $t9, 0x44($sp) -/* 06D944 8006CD44 8FAF004C */ lw $t7, 0x4c($sp) -/* 06D948 8006CD48 27290001 */ addiu $t1, $t9, 1 -/* 06D94C 8006CD4C 01E2C025 */ or $t8, $t7, $v0 -/* 06D950 8006CD50 AFA90044 */ sw $t1, 0x44($sp) -/* 06D954 8006CD54 0C0270F6 */ jal get_active_player_count -/* 06D958 8006CD58 AFB8004C */ sw $t8, 0x4c($sp) -/* 06D95C 8006CD5C 8FAA0044 */ lw $t2, 0x44($sp) -/* 06D960 8006CD60 00000000 */ nop -/* 06D964 8006CD64 0142082A */ slt $at, $t2, $v0 -/* 06D968 8006CD68 1420FFF0 */ bnez $at, .L8006CD2C -/* 06D96C 8006CD6C 8FA40044 */ lw $a0, 0x44($sp) -.L8006CD70: -/* 06D970 8006CD70 3C0B800E */ lui $t3, %hi(sAntiPiracyTriggered) # $t3, 0x800e -/* 06D974 8006CD74 816BD374 */ lb $t3, %lo(sAntiPiracyTriggered)($t3) -/* 06D978 8006CD78 8FAC004C */ lw $t4, 0x4c($sp) -/* 06D97C 8006CD7C 11600003 */ beqz $t3, .L8006CD8C -/* 06D980 8006CD80 3C0E8012 */ lui $t6, %hi(gIsPaused) # $t6, 0x8012 -/* 06D984 8006CD84 358D1000 */ ori $t5, $t4, 0x1000 -/* 06D988 8006CD88 AFAD004C */ sw $t5, 0x4c($sp) -.L8006CD8C: -/* 06D98C 8006CD8C 81CE3515 */ lb $t6, %lo(gIsPaused)($t6) -/* 06D990 8006CD90 8FA40050 */ lw $a0, 0x50($sp) -/* 06D994 8006CD94 15C00032 */ bnez $t6, .L8006CE60 -/* 06D998 8006CD98 00000000 */ nop -/* 06D99C 8006CD9C 0C004265 */ jal func_80010994 -/* 06D9A0 8006CDA0 00000000 */ nop -/* 06D9A4 8006CDA4 0C019944 */ jal func_80066510 -/* 06D9A8 8006CDA8 00000000 */ nop -/* 06D9AC 8006CDAC 10400006 */ beqz $v0, .L8006CDC8 -/* 06D9B0 8006CDB0 8FAF004C */ lw $t7, 0x4c($sp) -/* 06D9B4 8006CDB4 0C0044E7 */ jal func_8001139C -/* 06D9B8 8006CDB8 00000000 */ nop -/* 06D9BC 8006CDBC 10400021 */ beqz $v0, .L8006CE44 -/* 06D9C0 8006CDC0 00000000 */ nop -/* 06D9C4 8006CDC4 8FAF004C */ lw $t7, 0x4c($sp) -.L8006CDC8: -/* 06D9C8 8006CDC8 00000000 */ nop -/* 06D9CC 8006CDCC 31F81000 */ andi $t8, $t7, 0x1000 -/* 06D9D0 8006CDD0 1300001C */ beqz $t8, .L8006CE44 -/* 06D9D4 8006CDD4 00000000 */ nop -/* 06D9D8 8006CDD8 0C01B0BC */ jal func_8006C2F0 -/* 06D9DC 8006CDDC 00000000 */ nop -/* 06D9E0 8006CDE0 14400018 */ bnez $v0, .L8006CE44 -/* 06D9E4 8006CDE4 3C19800E */ lui $t9, %hi(D_800DD390) # $t9, 0x800e -/* 06D9E8 8006CDE8 8339D390 */ lb $t9, %lo(D_800DD390)($t9) -/* 06D9EC 8006CDEC 3C098012 */ lui $t1, %hi(sRenderContext) # $t1, 0x8012 -/* 06D9F0 8006CDF0 17200014 */ bnez $t9, .L8006CE44 -/* 06D9F4 8006CDF4 00000000 */ nop -/* 06D9F8 8006CDF8 8D2934EC */ lw $t1, %lo(sRenderContext)($t1) -/* 06D9FC 8006CDFC 3C0A8012 */ lui $t2, %hi(D_80123516) # $t2, 0x8012 -/* 06DA00 8006CE00 15200010 */ bnez $t1, .L8006CE44 -/* 06DA04 8006CE04 00000000 */ nop -/* 06DA08 8006CE08 814A3516 */ lb $t2, %lo(D_80123516)($t2) -/* 06DA0C 8006CE0C 3C0B800E */ lui $t3, %hi(D_800DD394) # $t3, 0x800e -/* 06DA10 8006CE10 1540000C */ bnez $t2, .L8006CE44 -/* 06DA14 8006CE14 00000000 */ nop -/* 06DA18 8006CE18 856BD394 */ lh $t3, %lo(D_800DD394)($t3) -/* 06DA1C 8006CE1C 3C04800E */ lui $a0, %hi(D_800DD398) # $a0, 0x800e -/* 06DA20 8006CE20 15600008 */ bnez $t3, .L8006CE44 -/* 06DA24 8006CE24 2484D398 */ addiu $a0, %lo(D_800DD398) # addiu $a0, $a0, -0x2c68 -/* 06DA28 8006CE28 808C0000 */ lb $t4, ($a0) -/* 06DA2C 8006CE2C 240D0001 */ li $t5, 1 -/* 06DA30 8006CE30 15800004 */ bnez $t4, .L8006CE44 -/* 06DA34 8006CE34 3C018012 */ lui $at, %hi(gIsPaused) # $at, 0x8012 -/* 06DA38 8006CE38 AFA0004C */ sw $zero, 0x4c($sp) -/* 06DA3C 8006CE3C 0C024E90 */ jal func_80093A40 -/* 06DA40 8006CE40 A02D3515 */ sb $t5, %lo(gIsPaused)($at) -.L8006CE44: -/* 06DA44 8006CE44 3C04800E */ lui $a0, %hi(D_800DD398) # $a0, 0x800e -/* 06DA48 8006CE48 2484D398 */ addiu $a0, %lo(D_800DD398) # addiu $a0, $a0, -0x2c68 -/* 06DA4C 8006CE4C 3C028012 */ lui $v0, %hi(D_80123516) # $v0, 0x8012 -/* 06DA50 8006CE50 80423516 */ lb $v0, %lo(D_80123516)($v0) -/* 06DA54 8006CE54 80830000 */ lb $v1, ($a0) -/* 06DA58 8006CE58 1000000A */ b .L8006CE84 -/* 06DA5C 8006CE5C 8FAE0050 */ lw $t6, 0x50($sp) -.L8006CE60: -/* 06DA60 8006CE60 0C00A3E8 */ jal func_80028FA0 -/* 06DA64 8006CE64 24040001 */ li $a0, 1 -/* 06DA68 8006CE68 3C028012 */ lui $v0, %hi(D_80123516) # $v0, 0x8012 -/* 06DA6C 8006CE6C 3C03800E */ lui $v1, %hi(D_800DD398) # $v1, 0x800e -/* 06DA70 8006CE70 3C04800E */ lui $a0, %hi(D_800DD398) # $a0, 0x800e -/* 06DA74 8006CE74 8063D398 */ lb $v1, %lo(D_800DD398)($v1) -/* 06DA78 8006CE78 80423516 */ lb $v0, %lo(D_80123516)($v0) -/* 06DA7C 8006CE7C 2484D398 */ addiu $a0, %lo(D_800DD398) # addiu $a0, $a0, -0x2c68 -/* 06DA80 8006CE80 8FAE0050 */ lw $t6, 0x50($sp) -.L8006CE84: -/* 06DA84 8006CE84 3C018012 */ lui $at, %hi(gIsPaused) # $at, 0x8012 -/* 06DA88 8006CE88 006E7823 */ subu $t7, $v1, $t6 -/* 06DA8C 8006CE8C A08F0000 */ sb $t7, ($a0) -/* 06DA90 8006CE90 80980000 */ lb $t8, ($a0) -/* 06DA94 8006CE94 00000000 */ nop -/* 06DA98 8006CE98 07010002 */ bgez $t8, .L8006CEA4 -/* 06DA9C 8006CE9C 00000000 */ nop -/* 06DAA0 8006CEA0 A0800000 */ sb $zero, ($a0) -.L8006CEA4: -/* 06DAA4 8006CEA4 10400002 */ beqz $v0, .L8006CEB0 -/* 06DAA8 8006CEA8 00000000 */ nop -/* 06DAAC 8006CEAC A0203515 */ sb $zero, %lo(gIsPaused)($at) -.L8006CEB0: -/* 06DAB0 8006CEB0 0C004013 */ jal gParticlePtrList_flush -/* 06DAB4 8006CEB4 00000000 */ nop -/* 06DAB8 8006CEB8 0C006FC8 */ jal func_8001BF20 -/* 06DABC 8006CEBC 00000000 */ nop -/* 06DAC0 8006CEC0 8FB90050 */ lw $t9, 0x50($sp) -/* 06DAC4 8006CEC4 3C048012 */ lui $a0, %hi(gCurrDisplayList) # $a0, 0x8012 -/* 06DAC8 8006CEC8 3C058012 */ lui $a1, %hi(gCurrHudMat) # $a1, 0x8012 -/* 06DACC 8006CECC 3C068012 */ lui $a2, %hi(gCurrHudVerts) # $a2, 0x8012 -/* 06DAD0 8006CED0 3C078012 */ lui $a3, %hi(gCurrHudTris) # $a3, 0x8012 -/* 06DAD4 8006CED4 24E71228 */ addiu $a3, %lo(gCurrHudTris) # addiu $a3, $a3, 0x1228 -/* 06DAD8 8006CED8 24C61218 */ addiu $a2, %lo(gCurrHudVerts) # addiu $a2, $a2, 0x1218 -/* 06DADC 8006CEDC 24A51208 */ addiu $a1, %lo(gCurrHudMat) # addiu $a1, $a1, 0x1208 -/* 06DAE0 8006CEE0 248411F8 */ addiu $a0, %lo(gCurrDisplayList) # addiu $a0, $a0, 0x11f8 -/* 06DAE4 8006CEE4 0C009355 */ jal func_80024D54 -/* 06DAE8 8006CEE8 AFB90010 */ sw $t9, 0x10($sp) -/* 06DAEC 8006CEEC 3C098012 */ lui $t1, %hi(sRenderContext) # $t1, 0x8012 -/* 06DAF0 8006CEF0 8D2934EC */ lw $t1, %lo(sRenderContext)($t1) -/* 06DAF4 8006CEF4 2401DFCF */ li $at, -8241 -/* 06DAF8 8006CEF8 15200003 */ bnez $t1, .L8006CF08 -/* 06DAFC 8006CEFC 3C0B8012 */ lui $t3, %hi(D_80123516) # $t3, 0x8012 -/* 06DB00 8006CF00 02015024 */ and $t2, $s0, $at -/* 06DB04 8006CF04 01408025 */ move $s0, $t2 -.L8006CF08: -/* 06DB08 8006CF08 816B3516 */ lb $t3, %lo(D_80123516)($t3) -/* 06DB0C 8006CF0C 3C048012 */ lui $a0, %hi(gCurrDisplayList) # $a0, 0x8012 -/* 06DB10 8006CF10 11600044 */ beqz $t3, .L8006D024 -/* 06DB14 8006CF14 248411F8 */ addiu $a0, %lo(gCurrDisplayList) # addiu $a0, $a0, 0x11f8 -/* 06DB18 8006CF18 3C058012 */ lui $a1, %hi(gCurrHudMat) # $a1, 0x8012 -/* 06DB1C 8006CF1C 3C068012 */ lui $a2, %hi(gCurrHudVerts) # $a2, 0x8012 -/* 06DB20 8006CF20 8FA70050 */ lw $a3, 0x50($sp) -/* 06DB24 8006CF24 24C61218 */ addiu $a2, %lo(gCurrHudVerts) # addiu $a2, $a2, 0x1218 -/* 06DB28 8006CF28 0C0255CA */ jal func_80095728 -/* 06DB2C 8006CF2C 24A51208 */ addiu $a1, %lo(gCurrHudMat) # addiu $a1, $a1, 0x1208 -/* 06DB30 8006CF30 244CFFFF */ addiu $t4, $v0, -1 -/* 06DB34 8006CF34 2D81000D */ sltiu $at, $t4, 0xd -/* 06DB38 8006CF38 1020003A */ beqz $at, .L8006D024 -/* 06DB3C 8006CF3C AFA20044 */ sw $v0, 0x44($sp) -/* 06DB40 8006CF40 000C6080 */ sll $t4, $t4, 2 -/* 06DB44 8006CF44 3C01800E */ lui $at, %hi(jpt_800E7154) # $at, 0x800e -/* 06DB48 8006CF48 002C0821 */ addu $at, $at, $t4 -/* 06DB4C 8006CF4C 8C2C7154 */ lw $t4, %lo(jpt_800E7154)($at) -/* 06DB50 8006CF50 00000000 */ nop -/* 06DB54 8006CF54 01800008 */ jr $t4 -/* 06DB58 8006CF58 00000000 */ nop -glabel L8006CF5C -/* 06DB5C 8006CF5C 360D2020 */ ori $t5, $s0, 0x2020 -/* 06DB60 8006CF60 10000030 */ b .L8006D024 -/* 06DB64 8006CF64 01A08025 */ move $s0, $t5 -glabel L8006CF68 -/* 06DB68 8006CF68 3C018012 */ lui $at, %hi(D_80123516) # $at, 0x8012 -/* 06DB6C 8006CF6C A0203516 */ sb $zero, %lo(D_80123516)($at) -/* 06DB70 8006CF70 0C01B63C */ jal func_8006D8F0 -/* 06DB74 8006CF74 2404FFFF */ li $a0, -1 -/* 06DB78 8006CF78 1000002B */ b .L8006D028 -/* 06DB7C 8006CF7C 8FA40050 */ lw $a0, 0x50($sp) -glabel L8006CF80 -/* 06DB80 8006CF80 0C01B0B9 */ jal func_8006C2E4 -/* 06DB84 8006CF84 00000000 */ nop -/* 06DB88 8006CF88 3C01800E */ lui $at, %hi(D_800DD390) # $at, 0x800e -/* 06DB8C 8006CF8C 360E0030 */ ori $t6, $s0, 0x30 -/* 06DB90 8006CF90 A020D390 */ sb $zero, %lo(D_800DD390)($at) -/* 06DB94 8006CF94 10000023 */ b .L8006D024 -/* 06DB98 8006CF98 01C08025 */ move $s0, $t6 -glabel L8006CF9C -/* 06DB9C 8006CF9C 360F0020 */ ori $t7, $s0, 0x20 -/* 06DBA0 8006CFA0 24180001 */ li $t8, 1 -/* 06DBA4 8006CFA4 AFB80040 */ sw $t8, 0x40($sp) -/* 06DBA8 8006CFA8 1000001E */ b .L8006D024 -/* 06DBAC 8006CFAC 01E08025 */ move $s0, $t7 -glabel L8006CFB0 -/* 06DBB0 8006CFB0 36190020 */ ori $t9, $s0, 0x20 -/* 06DBB4 8006CFB4 24090002 */ li $t1, 2 -/* 06DBB8 8006CFB8 AFA90040 */ sw $t1, 0x40($sp) -/* 06DBBC 8006CFBC 10000019 */ b .L8006D024 -/* 06DBC0 8006CFC0 03208025 */ move $s0, $t9 -glabel L8006CFC4 -/* 06DBC4 8006CFC4 360A0020 */ ori $t2, $s0, 0x20 -/* 06DBC8 8006CFC8 240B0003 */ li $t3, 3 -/* 06DBCC 8006CFCC AFAB0040 */ sw $t3, 0x40($sp) -/* 06DBD0 8006CFD0 10000014 */ b .L8006D024 -/* 06DBD4 8006CFD4 01408025 */ move $s0, $t2 -glabel L8006CFD8 -/* 06DBD8 8006CFD8 360C0020 */ ori $t4, $s0, 0x20 -/* 06DBDC 8006CFDC 240D0004 */ li $t5, 4 -/* 06DBE0 8006CFE0 AFAD0040 */ sw $t5, 0x40($sp) -/* 06DBE4 8006CFE4 1000000F */ b .L8006D024 -/* 06DBE8 8006CFE8 01808025 */ move $s0, $t4 -glabel L8006CFEC -/* 06DBEC 8006CFEC 360E0020 */ ori $t6, $s0, 0x20 -/* 06DBF0 8006CFF0 240F0005 */ li $t7, 5 -/* 06DBF4 8006CFF4 AFAF0040 */ sw $t7, 0x40($sp) -/* 06DBF8 8006CFF8 1000000A */ b .L8006D024 -/* 06DBFC 8006CFFC 01C08025 */ move $s0, $t6 -glabel L8006D000 -/* 06DC00 8006D000 36180020 */ ori $t8, $s0, 0x20 -/* 06DC04 8006D004 24190006 */ li $t9, 6 -/* 06DC08 8006D008 AFB90040 */ sw $t9, 0x40($sp) -/* 06DC0C 8006D00C 10000005 */ b .L8006D024 -/* 06DC10 8006D010 03008025 */ move $s0, $t8 -glabel L8006D014 -/* 06DC14 8006D014 36090020 */ ori $t1, $s0, 0x20 -/* 06DC18 8006D018 240A0007 */ li $t2, 7 -/* 06DC1C 8006D01C AFAA0040 */ sw $t2, 0x40($sp) -/* 06DC20 8006D020 01208025 */ move $s0, $t1 -.L8006D024: -glabel L8006D024 -/* 06DC24 8006D024 8FA40050 */ lw $a0, 0x50($sp) -.L8006D028: -/* 06DC28 8006D028 0C030D10 */ jal func_800C3440 -/* 06DC2C 8006D02C 00000000 */ nop -/* 06DC30 8006D030 0C030D00 */ jal func_800C3400 -/* 06DC34 8006D034 00000000 */ nop -/* 06DC38 8006D038 1040000D */ beqz $v0, .L8006D070 -/* 06DC3C 8006D03C AFA20044 */ sw $v0, 0x44($sp) -/* 06DC40 8006D040 24010002 */ li $at, 2 -/* 06DC44 8006D044 14410003 */ bne $v0, $at, .L8006D054 -/* 06DC48 8006D048 240B0001 */ li $t3, 1 -/* 06DC4C 8006D04C 3C018012 */ lui $at, %hi(gIsPaused) # $at, 0x8012 -/* 06DC50 8006D050 A02B3515 */ sb $t3, %lo(gIsPaused)($at) -.L8006D054: -/* 06DC54 8006D054 0C030D00 */ jal func_800C3400 -/* 06DC58 8006D058 00000000 */ nop -/* 06DC5C 8006D05C 24010002 */ li $at, 2 -/* 06DC60 8006D060 10410003 */ beq $v0, $at, .L8006D070 -/* 06DC64 8006D064 3C018012 */ lui $at, %hi(gIsPaused) # $at, 0x8012 -/* 06DC68 8006D068 0C025179 */ jal n_alSeqpDelete -/* 06DC6C 8006D06C A0203515 */ sb $zero, %lo(gIsPaused)($at) -.L8006D070: -/* 06DC70 8006D070 3C0C8012 */ lui $t4, %hi(gIsPaused) # $t4, 0x8012 -/* 06DC74 8006D074 818C3515 */ lb $t4, %lo(gIsPaused)($t4) -/* 06DC78 8006D078 8FA50050 */ lw $a1, 0x50($sp) -/* 06DC7C 8006D07C 11800050 */ beqz $t4, .L8006D1C0 -/* 06DC80 8006D080 3C048012 */ lui $a0, %hi(gCurrDisplayList) # $a0, 0x8012 -/* 06DC84 8006D084 0C02505C */ jal func_80094170 -/* 06DC88 8006D088 248411F8 */ addiu $a0, %lo(gCurrDisplayList) # addiu $a0, $a0, 0x11f8 -/* 06DC8C 8006D08C 244DFFFF */ addiu $t5, $v0, -1 -/* 06DC90 8006D090 2DA1000C */ sltiu $at, $t5, 0xc -/* 06DC94 8006D094 1020004A */ beqz $at, .L8006D1C0 -/* 06DC98 8006D098 AFA20044 */ sw $v0, 0x44($sp) -/* 06DC9C 8006D09C 000D6880 */ sll $t5, $t5, 2 -/* 06DCA0 8006D0A0 3C01800E */ lui $at, %hi(jpt_800E7188) # $at, 0x800e -/* 06DCA4 8006D0A4 002D0821 */ addu $at, $at, $t5 -/* 06DCA8 8006D0A8 8C2D7188 */ lw $t5, %lo(jpt_800E7188)($at) -/* 06DCAC 8006D0AC 00000000 */ nop -/* 06DCB0 8006D0B0 01A00008 */ jr $t5 -/* 06DCB4 8006D0B4 00000000 */ nop -glabel L8006D0B8 -/* 06DCB8 8006D0B8 3C018012 */ lui $at, %hi(gIsPaused) # $at, 0x8012 -/* 06DCBC 8006D0BC 10000040 */ b .L8006D1C0 -/* 06DCC0 8006D0C0 A0203515 */ sb $zero, %lo(gIsPaused)($at) -glabel L8006D0C4 -/* 06DCC4 8006D0C4 0C000414 */ jal func_80001050 -/* 06DCC8 8006D0C8 00000000 */ nop -/* 06DCCC 8006D0CC 0C030C53 */ jal func_800C314C -/* 06DCD0 8006D0D0 00000000 */ nop -/* 06DCD4 8006D0D4 0C008D5A */ jal func_80023568 -/* 06DCD8 8006D0D8 00000000 */ nop -/* 06DCDC 8006D0DC 10400008 */ beqz $v0, .L8006D100 -/* 06DCE0 8006D0E0 360E2020 */ ori $t6, $s0, 0x2020 -/* 06DCE4 8006D0E4 0C027B20 */ jal is_in_two_player_adventure -/* 06DCE8 8006D0E8 00000000 */ nop -/* 06DCEC 8006D0EC 10400004 */ beqz $v0, .L8006D100 -/* 06DCF0 8006D0F0 360E2020 */ ori $t6, $s0, 0x2020 -/* 06DCF4 8006D0F4 0C01BCE6 */ jal func_8006F398 -/* 06DCF8 8006D0F8 00000000 */ nop -/* 06DCFC 8006D0FC 360E2020 */ ori $t6, $s0, 0x2020 -.L8006D100: -/* 06DD00 8006D100 1000002F */ b .L8006D1C0 -/* 06DD04 8006D104 01C08025 */ move $s0, $t6 -glabel L8006D108 -/* 06DD08 8006D108 0C000414 */ jal func_80001050 -/* 06DD0C 8006D10C 00000000 */ nop -/* 06DD10 8006D110 0C030C53 */ jal func_800C314C -/* 06DD14 8006D114 00000000 */ nop -/* 06DD18 8006D118 0C008D5A */ jal func_80023568 -/* 06DD1C 8006D11C 00000000 */ nop -/* 06DD20 8006D120 10400008 */ beqz $v0, .L8006D144 -/* 06DD24 8006D124 360F0020 */ ori $t7, $s0, 0x20 -/* 06DD28 8006D128 0C027B20 */ jal is_in_two_player_adventure -/* 06DD2C 8006D12C 00000000 */ nop -/* 06DD30 8006D130 10400004 */ beqz $v0, .L8006D144 -/* 06DD34 8006D134 360F0020 */ ori $t7, $s0, 0x20 -/* 06DD38 8006D138 0C01BCE6 */ jal func_8006F398 -/* 06DD3C 8006D13C 00000000 */ nop -/* 06DD40 8006D140 360F0020 */ ori $t7, $s0, 0x20 -.L8006D144: -/* 06DD44 8006D144 1000001E */ b .L8006D1C0 -/* 06DD48 8006D148 01E08025 */ move $s0, $t7 -glabel L8006D14C -/* 06DD4C 8006D14C 24180001 */ li $t8, 1 -/* 06DD50 8006D150 0C030C53 */ jal func_800C314C -/* 06DD54 8006D154 AFB80040 */ sw $t8, 0x40($sp) -/* 06DD58 8006D158 36190020 */ ori $t9, $s0, 0x20 -/* 06DD5C 8006D15C 10000018 */ b .L8006D1C0 -/* 06DD60 8006D160 03208025 */ move $s0, $t9 -glabel L8006D164 -/* 06DD64 8006D164 24090006 */ li $t1, 6 -/* 06DD68 8006D168 0C030C53 */ jal func_800C314C -/* 06DD6C 8006D16C AFA90040 */ sw $t1, 0x40($sp) -/* 06DD70 8006D170 360A0020 */ ori $t2, $s0, 0x20 -/* 06DD74 8006D174 10000012 */ b .L8006D1C0 -/* 06DD78 8006D178 01408025 */ move $s0, $t2 -glabel L8006D17C -/* 06DD7C 8006D17C 3C018012 */ lui $at, %hi(gIsPaused) # $at, 0x8012 -/* 06DD80 8006D180 1000000F */ b .L8006D1C0 -/* 06DD84 8006D184 A0203515 */ sb $zero, %lo(gIsPaused)($at) -glabel L8006D188 -/* 06DD88 8006D188 0C008B86 */ jal func_80022E18 -/* 06DD8C 8006D18C 24040001 */ li $a0, 1 -/* 06DD90 8006D190 3C018012 */ lui $at, %hi(gIsPaused) # $at, 0x8012 -/* 06DD94 8006D194 1000000A */ b .L8006D1C0 -/* 06DD98 8006D198 A0203515 */ sb $zero, %lo(gIsPaused)($at) -glabel L8006D19C -/* 06DD9C 8006D19C 3C01800E */ lui $at, %hi(D_800DD390) # $at, 0x800e -/* 06DDA0 8006D1A0 0C000414 */ jal func_80001050 -/* 06DDA4 8006D1A4 A020D390 */ sb $zero, %lo(D_800DD390)($at) -/* 06DDA8 8006D1A8 0C030C53 */ jal func_800C314C -/* 06DDAC 8006D1AC 00000000 */ nop -/* 06DDB0 8006D1B0 0C01B0B9 */ jal func_8006C2E4 -/* 06DDB4 8006D1B4 00000000 */ nop -/* 06DDB8 8006D1B8 360B0030 */ ori $t3, $s0, 0x30 -/* 06DDBC 8006D1BC 01608025 */ move $s0, $t3 -.L8006D1C0: -glabel L8006D1C0 -/* 06DDC0 8006D1C0 3C048012 */ lui $a0, %hi(gCurrDisplayList) # $a0, 0x8012 -/* 06DDC4 8006D1C4 0C01E015 */ jal init_rdp_and_framebuffer -/* 06DDC8 8006D1C8 248411F8 */ addiu $a0, %lo(gCurrDisplayList) # addiu $a0, $a0, 0x11f8 -/* 06DDCC 8006D1CC 3C048012 */ lui $a0, %hi(gCurrDisplayList) # $a0, 0x8012 -/* 06DDD0 8006D1D0 0C01DC14 */ jal render_borders_for_multiplayer -/* 06DDD4 8006D1D4 248411F8 */ addiu $a0, %lo(gCurrDisplayList) # addiu $a0, $a0, 0x11f8 -/* 06DDD8 8006D1D8 3C048012 */ lui $a0, %hi(gCurrDisplayList) # $a0, 0x8012 -/* 06DDDC 8006D1DC 3C058012 */ lui $a1, %hi(gCurrHudMat) # $a1, 0x8012 -/* 06DDE0 8006D1E0 3C068012 */ lui $a2, %hi(gCurrHudVerts) # $a2, 0x8012 -/* 06DDE4 8006D1E4 8FA70050 */ lw $a3, 0x50($sp) -/* 06DDE8 8006D1E8 24C61218 */ addiu $a2, %lo(gCurrHudVerts) # addiu $a2, $a2, 0x1218 -/* 06DDEC 8006D1EC 24A51208 */ addiu $a1, %lo(gCurrHudMat) # addiu $a1, $a1, 0x1208 -/* 06DDF0 8006D1F0 0C02A11D */ jal func_800A8474 -/* 06DDF4 8006D1F4 248411F8 */ addiu $a0, %lo(gCurrDisplayList) # addiu $a0, $a0, 0x11f8 -/* 06DDF8 8006D1F8 3C048012 */ lui $a0, %hi(gCurrDisplayList) # $a0, 0x8012 -/* 06DDFC 8006D1FC 0C01DC9A */ jal func_80077268 -/* 06DE00 8006D200 248411F8 */ addiu $a0, %lo(gCurrDisplayList) # addiu $a0, $a0, 0x11f8 -/* 06DE04 8006D204 3C0C800E */ lui $t4, %hi(D_800DD39C) # $t4, 0x800e -/* 06DE08 8006D208 818CD39C */ lb $t4, %lo(D_800DD39C)($t4) -/* 06DE0C 8006D20C 00000000 */ nop -/* 06DE10 8006D210 1180000E */ beqz $t4, .L8006D24C -/* 06DE14 8006D214 00000000 */ nop -/* 06DE18 8006D218 0C008531 */ jal func_800214C4 -/* 06DE1C 8006D21C 00000000 */ nop -/* 06DE20 8006D220 1040000A */ beqz $v0, .L8006D24C -/* 06DE24 8006D224 240D0023 */ li $t5, 35 -/* 06DE28 8006D228 3C018012 */ lui $at, %hi(D_801234F4) # $at, 0x8012 -/* 06DE2C 8006D22C AC2D34F4 */ sw $t5, %lo(D_801234F4)($at) -/* 06DE30 8006D230 3C018012 */ lui $at, %hi(D_801234F8) # $at, 0x8012 -/* 06DE34 8006D234 240E0001 */ li $t6, 1 -/* 06DE38 8006D238 AC2E34F8 */ sw $t6, %lo(D_801234F8)($at) -/* 06DE3C 8006D23C 3C018012 */ lui $at, %hi(D_80123504) # $at, 0x8012 -/* 06DE40 8006D240 AC203504 */ sw $zero, %lo(D_80123504)($at) -/* 06DE44 8006D244 3C01800E */ lui $at, %hi(D_800DD39C) # $at, 0x800e -/* 06DE48 8006D248 A020D39C */ sb $zero, %lo(D_800DD39C)($at) -.L8006D24C: -/* 06DE4C 8006D24C 3C08800E */ lui $t0, %hi(D_800DD390) # $t0, 0x800e -/* 06DE50 8006D250 2508D390 */ addiu $t0, %lo(D_800DD390) # addiu $t0, $t0, -0x2c70 -/* 06DE54 8006D254 81020000 */ lb $v0, ($t0) -/* 06DE58 8006D258 8FAF0050 */ lw $t7, 0x50($sp) -/* 06DE5C 8006D25C 10400011 */ beqz $v0, .L8006D2A4 -/* 06DE60 8006D260 00001825 */ move $v1, $zero -/* 06DE64 8006D264 004FC023 */ subu $t8, $v0, $t7 -/* 06DE68 8006D268 A1180000 */ sb $t8, ($t0) -/* 06DE6C 8006D26C 81190000 */ lb $t9, ($t0) -/* 06DE70 8006D270 00002025 */ move $a0, $zero -/* 06DE74 8006D274 1F20000B */ bgtz $t9, .L8006D2A4 -/* 06DE78 8006D278 00002825 */ move $a1, $zero -/* 06DE7C 8006D27C A1000000 */ sb $zero, ($t0) -/* 06DE80 8006D280 00003025 */ move $a2, $zero -/* 06DE84 8006D284 0C01B06B */ jal func_8006C1AC -/* 06DE88 8006D288 00003825 */ move $a3, $zero -/* 06DE8C 8006D28C 2404002B */ li $a0, 43 -/* 06DE90 8006D290 00002825 */ move $a1, $zero -/* 06DE94 8006D294 2406FFFF */ li $a2, -1 -/* 06DE98 8006D298 0C01B06B */ jal func_8006C1AC -/* 06DE9C 8006D29C 2407000A */ li $a3, 10 -/* 06DEA0 8006D2A0 24030001 */ li $v1, 1 -.L8006D2A4: -/* 06DEA4 8006D2A4 3C04800E */ lui $a0, %hi(D_800DD394) # $a0, 0x800e -/* 06DEA8 8006D2A8 2484D394 */ addiu $a0, %lo(D_800DD394) # addiu $a0, $a0, -0x2c6c -/* 06DEAC 8006D2AC 84820000 */ lh $v0, ($a0) -/* 06DEB0 8006D2B0 8FA90050 */ lw $t1, 0x50($sp) -/* 06DEB4 8006D2B4 18400032 */ blez $v0, .L8006D380 -/* 06DEB8 8006D2B8 00495023 */ subu $t2, $v0, $t1 -/* 06DEBC 8006D2BC A48A0000 */ sh $t2, ($a0) -/* 06DEC0 8006D2C0 848B0000 */ lh $t3, ($a0) -/* 06DEC4 8006D2C4 3C028012 */ lui $v0, %hi(D_80123524) # $v0, 0x8012 -/* 06DEC8 8006D2C8 1D60002D */ bgtz $t3, .L8006D380 -/* 06DECC 8006D2CC 24010001 */ li $at, 1 -/* 06DED0 8006D2D0 80423524 */ lb $v0, %lo(D_80123524)($v0) -/* 06DED4 8006D2D4 24100020 */ li $s0, 32 -/* 06DED8 8006D2D8 1041000C */ beq $v0, $at, .L8006D30C -/* 06DEDC 8006D2DC 24030001 */ li $v1, 1 -/* 06DEE0 8006D2E0 24010002 */ li $at, 2 -/* 06DEE4 8006D2E4 1041000B */ beq $v0, $at, .L8006D314 -/* 06DEE8 8006D2E8 240C0003 */ li $t4, 3 -/* 06DEEC 8006D2EC 24010003 */ li $at, 3 -/* 06DEF0 8006D2F0 10410012 */ beq $v0, $at, .L8006D33C -/* 06DEF4 8006D2F4 240F0001 */ li $t7, 1 -/* 06DEF8 8006D2F8 24010004 */ li $at, 4 -/* 06DEFC 8006D2FC 10410012 */ beq $v0, $at, .L8006D348 -/* 06DF00 8006D300 00000000 */ nop -/* 06DF04 8006D304 1000001B */ b .L8006D374 -/* 06DF08 8006D308 00000000 */ nop -.L8006D30C: -/* 06DF0C 8006D30C 10000019 */ b .L8006D374 -/* 06DF10 8006D310 24102020 */ li $s0, 8224 -.L8006D314: -/* 06DF14 8006D314 AFAC0040 */ sw $t4, 0x40($sp) -/* 06DF18 8006D318 0C026082 */ jal func_80098208 -/* 06DF1C 8006D31C AFA3003C */ sw $v1, 0x3c($sp) -/* 06DF20 8006D320 8FA3003C */ lw $v1, 0x3c($sp) -/* 06DF24 8006D324 240D0002 */ li $t5, 2 -/* 06DF28 8006D328 3C018012 */ lui $at, %hi(D_801234FC) # $at, 0x8012 -/* 06DF2C 8006D32C 3C04800E */ lui $a0, %hi(D_800DD394) # $a0, 0x800e -/* 06DF30 8006D330 AC2D34FC */ sw $t5, %lo(D_801234FC)($at) -/* 06DF34 8006D334 1000000F */ b .L8006D374 -/* 06DF38 8006D338 2484D394 */ addiu $a0, %lo(D_800DD394) # addiu $a0, $a0, -0x2c6c -.L8006D33C: -/* 06DF3C 8006D33C 240E0001 */ li $t6, 1 -/* 06DF40 8006D340 3C01800E */ lui $at, %hi(D_800DD39C) # $at, 0x800e -/* 06DF44 8006D344 A02ED39C */ sb $t6, %lo(D_800DD39C)($at) -.L8006D348: -/* 06DF48 8006D348 3C018012 */ lui $at, %hi(D_801234F8) # $at, 0x8012 -/* 06DF4C 8006D34C 3C188012 */ lui $t8, %hi(D_80123525) # $t8, 0x8012 -/* 06DF50 8006D350 83183525 */ lb $t8, %lo(D_80123525)($t8) -/* 06DF54 8006D354 AC2F34F8 */ sw $t7, %lo(D_801234F8)($at) -/* 06DF58 8006D358 3C018012 */ lui $at, %hi(D_801234F4) # $at, 0x8012 -/* 06DF5C 8006D35C AC3834F4 */ sw $t8, %lo(D_801234F4)($at) -/* 06DF60 8006D360 3C018012 */ lui $at, %hi(D_80123504) # $at, 0x8012 -/* 06DF64 8006D364 AC203504 */ sw $zero, %lo(D_80123504)($at) -/* 06DF68 8006D368 3C018012 */ lui $at, %hi(D_80123508) # $at, 0x8012 -/* 06DF6C 8006D36C AC203508 */ sw $zero, %lo(D_80123508)($at) -/* 06DF70 8006D370 00008025 */ move $s0, $zero -.L8006D374: -/* 06DF74 8006D374 3C018012 */ lui $at, %hi(D_80123524) # $at, 0x8012 -/* 06DF78 8006D378 A0203524 */ sb $zero, %lo(D_80123524)($at) -/* 06DF7C 8006D37C A4800000 */ sh $zero, ($a0) -.L8006D380: -/* 06DF80 8006D380 10600032 */ beqz $v1, .L8006D44C -/* 06DF84 8006D384 00000000 */ nop -/* 06DF88 8006D388 0C01B0BC */ jal func_8006C2F0 -/* 06DF8C 8006D38C 00000000 */ nop -/* 06DF90 8006D390 10400073 */ beqz $v0, .L8006D560 -/* 06DF94 8006D394 3C048012 */ lui $a0, %hi(D_801234F4) # $a0, 0x8012 -/* 06DF98 8006D398 3C058012 */ lui $a1, %hi(D_80123504) # $a1, 0x8012 -/* 06DF9C 8006D39C 3C078012 */ lui $a3, %hi(D_80123508) # $a3, 0x8012 -/* 06DFA0 8006D3A0 24E73508 */ addiu $a3, %lo(D_80123508) # addiu $a3, $a3, 0x3508 -/* 06DFA4 8006D3A4 24A53504 */ addiu $a1, %lo(D_80123504) # addiu $a1, $a1, 0x3504 -/* 06DFA8 8006D3A8 248434F4 */ addiu $a0, %lo(D_801234F4) # addiu $a0, $a0, 0x34f4 -/* 06DFAC 8006D3AC 0C01B08B */ jal func_8006C22C -/* 06DFB0 8006D3B0 27A60044 */ addiu $a2, $sp, 0x44 -/* 06DFB4 8006D3B4 0C01BD0B */ jal func_8006F42C -/* 06DFB8 8006D3B8 00000000 */ nop -/* 06DFBC 8006D3BC 3C028012 */ lui $v0, %hi(D_801234F4) # $v0, 0x8012 -/* 06DFC0 8006D3C0 8C4234F4 */ lw $v0, %lo(D_801234F4)($v0) -/* 06DFC4 8006D3C4 3C018012 */ lui $at, %hi(D_801234FC) # $at, 0x8012 -/* 06DFC8 8006D3C8 0441001B */ bgez $v0, .L8006D438 -/* 06DFCC 8006D3CC 240C0001 */ li $t4, 1 -/* 06DFD0 8006D3D0 2401FFFF */ li $at, -1 -/* 06DFD4 8006D3D4 10410003 */ beq $v0, $at, .L8006D3E4 -/* 06DFD8 8006D3D8 2401FFF6 */ li $at, -10 -/* 06DFDC 8006D3DC 14410010 */ bne $v0, $at, .L8006D420 -/* 06DFE0 8006D3E0 240A0001 */ li $t2, 1 -.L8006D3E4: -/* 06DFE4 8006D3E4 2401FFF6 */ li $at, -10 -/* 06DFE8 8006D3E8 14410008 */ bne $v0, $at, .L8006D40C -/* 06DFEC 8006D3EC 36190020 */ ori $t9, $s0, 0x20 -/* 06DFF0 8006D3F0 0C027B20 */ jal is_in_two_player_adventure -/* 06DFF4 8006D3F4 00000000 */ nop -/* 06DFF8 8006D3F8 10400004 */ beqz $v0, .L8006D40C -/* 06DFFC 8006D3FC 36190020 */ ori $t9, $s0, 0x20 -/* 06E000 8006D400 0C01BCE6 */ jal func_8006F398 -/* 06E004 8006D404 00000000 */ nop -/* 06E008 8006D408 36190020 */ ori $t9, $s0, 0x20 -.L8006D40C: -/* 06E00C 8006D40C 24090002 */ li $t1, 2 -/* 06E010 8006D410 3C018012 */ lui $at, %hi(D_801234FC) # $at, 0x8012 -/* 06E014 8006D414 03208025 */ move $s0, $t9 -/* 06E018 8006D418 10000051 */ b .L8006D560 -/* 06E01C 8006D41C AC2934FC */ sw $t1, %lo(D_801234FC)($at) -.L8006D420: -/* 06E020 8006D420 3C018012 */ lui $at, %hi(D_801234FC) # $at, 0x8012 -/* 06E024 8006D424 240B0008 */ li $t3, 8 -/* 06E028 8006D428 00008025 */ move $s0, $zero -/* 06E02C 8006D42C AC2A34FC */ sw $t2, %lo(D_801234FC)($at) -/* 06E030 8006D430 1000004B */ b .L8006D560 -/* 06E034 8006D434 AFAB0040 */ sw $t3, 0x40($sp) -.L8006D438: -/* 06E038 8006D438 AC2034FC */ sw $zero, %lo(D_801234FC)($at) -/* 06E03C 8006D43C 3C018012 */ lui $at, %hi(D_801234F8) # $at, 0x8012 -/* 06E040 8006D440 AC2C34F8 */ sw $t4, %lo(D_801234F8)($at) -/* 06E044 8006D444 10000046 */ b .L8006D560 -/* 06E048 8006D448 00008025 */ move $s0, $zero -.L8006D44C: -/* 06E04C 8006D44C 0C01B0C0 */ jal func_8006C300 -/* 06E050 8006D450 00000000 */ nop -/* 06E054 8006D454 0C01B0BC */ jal func_8006C2F0 -/* 06E058 8006D458 AFA2003C */ sw $v0, 0x3c($sp) -/* 06E05C 8006D45C 8FA3003C */ lw $v1, 0x3c($sp) -/* 06E060 8006D460 1040003F */ beqz $v0, .L8006D560 -/* 06E064 8006D464 3C0D800E */ lui $t5, %hi(D_800DD394) # $t5, 0x800e -/* 06E068 8006D468 85ADD394 */ lh $t5, %lo(D_800DD394)($t5) -/* 06E06C 8006D46C 00000000 */ nop -/* 06E070 8006D470 15A0003C */ bnez $t5, .L8006D564 -/* 06E074 8006D474 320C0020 */ andi $t4, $s0, 0x20 -/* 06E078 8006D478 0C008531 */ jal func_800214C4 -/* 06E07C 8006D47C AFA3003C */ sw $v1, 0x3c($sp) -/* 06E080 8006D480 8FA3003C */ lw $v1, 0x3c($sp) -/* 06E084 8006D484 14400008 */ bnez $v0, .L8006D4A8 -/* 06E088 8006D488 AFA20044 */ sw $v0, 0x44($sp) -/* 06E08C 8006D48C 8FAE004C */ lw $t6, 0x4c($sp) -/* 06E090 8006D490 00000000 */ nop -/* 06E094 8006D494 31CF8000 */ andi $t7, $t6, 0x8000 -/* 06E098 8006D498 11E00032 */ beqz $t7, .L8006D564 -/* 06E09C 8006D49C 320C0020 */ andi $t4, $s0, 0x20 -/* 06E0A0 8006D4A0 10600030 */ beqz $v1, .L8006D564 -/* 06E0A4 8006D4A4 320C0020 */ andi $t4, $s0, 0x20 -.L8006D4A8: -/* 06E0A8 8006D4A8 10600003 */ beqz $v1, .L8006D4B8 -/* 06E0AC 8006D4AC 00000000 */ nop -/* 06E0B0 8006D4B0 0C0002CA */ jal func_80000B28 -/* 06E0B4 8006D4B4 00000000 */ nop -.L8006D4B8: -/* 06E0B8 8006D4B8 0C01BD0B */ jal func_8006F42C -/* 06E0BC 8006D4BC 00000000 */ nop -/* 06E0C0 8006D4C0 3C048012 */ lui $a0, %hi(D_801234F4) # $a0, 0x8012 -/* 06E0C4 8006D4C4 3C058012 */ lui $a1, %hi(D_80123504) # $a1, 0x8012 -/* 06E0C8 8006D4C8 3C078012 */ lui $a3, %hi(D_80123508) # $a3, 0x8012 -/* 06E0CC 8006D4CC 24E73508 */ addiu $a3, %lo(D_80123508) # addiu $a3, $a3, 0x3508 -/* 06E0D0 8006D4D0 24A53504 */ addiu $a1, %lo(D_80123504) # addiu $a1, $a1, 0x3504 -/* 06E0D4 8006D4D4 248434F4 */ addiu $a0, %lo(D_801234F4) # addiu $a0, $a0, 0x34f4 -/* 06E0D8 8006D4D8 0C01B08B */ jal func_8006C22C -/* 06E0DC 8006D4DC 27A60044 */ addiu $a2, $sp, 0x44 -/* 06E0E0 8006D4E0 3C028012 */ lui $v0, %hi(D_801234F4) # $v0, 0x8012 -/* 06E0E4 8006D4E4 8C4234F4 */ lw $v0, %lo(D_801234F4)($v0) -/* 06E0E8 8006D4E8 240B0001 */ li $t3, 1 -/* 06E0EC 8006D4EC 0441001B */ bgez $v0, .L8006D55C -/* 06E0F0 8006D4F0 3C018012 */ lui $at, %hi(D_801234F8) # $at, 0x8012 -/* 06E0F4 8006D4F4 2401FFFF */ li $at, -1 -/* 06E0F8 8006D4F8 10410003 */ beq $v0, $at, .L8006D508 -/* 06E0FC 8006D4FC 2401FFF6 */ li $at, -10 -/* 06E100 8006D500 14410010 */ bne $v0, $at, .L8006D544 -/* 06E104 8006D504 24090001 */ li $t1, 1 -.L8006D508: -/* 06E108 8006D508 2401FFF6 */ li $at, -10 -/* 06E10C 8006D50C 14410008 */ bne $v0, $at, .L8006D530 -/* 06E110 8006D510 36180020 */ ori $t8, $s0, 0x20 -/* 06E114 8006D514 0C027B20 */ jal is_in_two_player_adventure -/* 06E118 8006D518 00000000 */ nop -/* 06E11C 8006D51C 10400004 */ beqz $v0, .L8006D530 -/* 06E120 8006D520 36180020 */ ori $t8, $s0, 0x20 -/* 06E124 8006D524 0C01BCE6 */ jal func_8006F398 -/* 06E128 8006D528 00000000 */ nop -/* 06E12C 8006D52C 36180020 */ ori $t8, $s0, 0x20 -.L8006D530: -/* 06E130 8006D530 24190002 */ li $t9, 2 -/* 06E134 8006D534 3C018012 */ lui $at, %hi(D_801234FC) # $at, 0x8012 -/* 06E138 8006D538 03008025 */ move $s0, $t8 -/* 06E13C 8006D53C 10000008 */ b .L8006D560 -/* 06E140 8006D540 AC3934FC */ sw $t9, %lo(D_801234FC)($at) -.L8006D544: -/* 06E144 8006D544 3C018012 */ lui $at, %hi(D_801234FC) # $at, 0x8012 -/* 06E148 8006D548 240A0008 */ li $t2, 8 -/* 06E14C 8006D54C 00008025 */ move $s0, $zero -/* 06E150 8006D550 AC2934FC */ sw $t1, %lo(D_801234FC)($at) -/* 06E154 8006D554 10000002 */ b .L8006D560 -/* 06E158 8006D558 AFAA0040 */ sw $t2, 0x40($sp) -.L8006D55C: -/* 06E15C 8006D55C AC2B34F8 */ sw $t3, %lo(D_801234F8)($at) -.L8006D560: -/* 06E160 8006D560 320C0020 */ andi $t4, $s0, 0x20 -.L8006D564: -/* 06E164 8006D564 11800004 */ beqz $t4, .L8006D578 -/* 06E168 8006D568 3C0D8012 */ lui $t5, %hi(sRenderContext) # $t5, 0x8012 -/* 06E16C 8006D56C 8DAD34EC */ lw $t5, %lo(sRenderContext)($t5) -/* 06E170 8006D570 00000000 */ nop -/* 06E174 8006D574 11A00004 */ beqz $t5, .L8006D588 -.L8006D578: -/* 06E178 8006D578 3C0E8012 */ lui $t6, %hi(D_801234FC) # $t6, 0x8012 -/* 06E17C 8006D57C 8DCE34FC */ lw $t6, %lo(D_801234FC)($t6) -/* 06E180 8006D580 00000000 */ nop -/* 06E184 8006D584 11C000AC */ beqz $t6, .L8006D838 -.L8006D588: -/* 06E188 8006D588 3C018012 */ lui $at, %hi(gIsPaused) # $at, 0x8012 -/* 06E18C 8006D58C A0203515 */ sb $zero, %lo(gIsPaused)($at) -/* 06E190 8006D590 3C01800E */ lui $at, %hi(D_800DD394) # $at, 0x800e -/* 06E194 8006D594 A420D394 */ sh $zero, %lo(D_800DD394)($at) -/* 06E198 8006D598 3C018012 */ lui $at, %hi(D_80123516) # $at, 0x8012 -/* 06E19C 8006D59C 0C01B305 */ jal func_8006CC14 -/* 06E1A0 8006D5A0 A0203516 */ sb $zero, %lo(D_80123516)($at) -/* 06E1A4 8006D5A4 0C027068 */ jal get_save_file_index -/* 06E1A8 8006D5A8 00000000 */ nop -/* 06E1AC 8006D5AC 0C01BB12 */ jal func_8006EC48 -/* 06E1B0 8006D5B0 00402025 */ move $a0, $v0 -/* 06E1B4 8006D5B4 8FAF0040 */ lw $t7, 0x40($sp) -/* 06E1B8 8006D5B8 00000000 */ nop -/* 06E1BC 8006D5BC 11E00053 */ beqz $t7, .L8006D70C -/* 06E1C0 8006D5C0 00000000 */ nop -/* 06E1C4 8006D5C4 8FB80040 */ lw $t8, 0x40($sp) -/* 06E1C8 8006D5C8 3C108012 */ lui $s0, %hi(D_80123514) # $s0, 0x8012 -/* 06E1CC 8006D5CC 2719FFFF */ addiu $t9, $t8, -1 -/* 06E1D0 8006D5D0 26103514 */ addiu $s0, %lo(D_80123514) # addiu $s0, $s0, 0x3514 -/* 06E1D4 8006D5D4 2F210008 */ sltiu $at, $t9, 8 -/* 06E1D8 8006D5D8 10200095 */ beqz $at, .L8006D830 -/* 06E1DC 8006D5DC A2000000 */ sb $zero, ($s0) -/* 06E1E0 8006D5E0 0019C880 */ sll $t9, $t9, 2 -/* 06E1E4 8006D5E4 3C01800E */ lui $at, %hi(jpt_800E71B8) # $at, 0x800e -/* 06E1E8 8006D5E8 00390821 */ addu $at, $at, $t9 -/* 06E1EC 8006D5EC 8C3971B8 */ lw $t9, %lo(jpt_800E71B8)($at) -/* 06E1F0 8006D5F0 00000000 */ nop -/* 06E1F4 8006D5F4 03200008 */ jr $t9 -/* 06E1F8 8006D5F8 00000000 */ nop -glabel L8006D5FC -/* 06E1FC 8006D5FC 2404000F */ li $a0, 15 -/* 06E200 8006D600 2405FFFF */ li $a1, -1 -/* 06E204 8006D604 0C01B68A */ jal load_menu_with_level_background -/* 06E208 8006D608 24060001 */ li $a2, 1 -/* 06E20C 8006D60C 10000088 */ b .L8006D830 -/* 06E210 8006D610 00000000 */ nop -glabel L8006D614 -/* 06E214 8006D614 24040011 */ li $a0, 17 -/* 06E218 8006D618 24050022 */ li $a1, 34 -/* 06E21C 8006D61C 0C01B68A */ jal load_menu_with_level_background -/* 06E220 8006D620 00003025 */ move $a2, $zero -/* 06E224 8006D624 10000082 */ b .L8006D830 -/* 06E228 8006D628 00000000 */ nop -glabel L8006D62C -/* 06E22C 8006D62C 24040014 */ li $a0, 20 -/* 06E230 8006D630 24050022 */ li $a1, 34 -/* 06E234 8006D634 0C01B68A */ jal load_menu_with_level_background -/* 06E238 8006D638 00003025 */ move $a2, $zero -/* 06E23C 8006D63C 1000007C */ b .L8006D830 -/* 06E240 8006D640 00000000 */ nop -glabel L8006D644 -/* 06E244 8006D644 24040015 */ li $a0, 21 -/* 06E248 8006D648 24050022 */ li $a1, 34 -/* 06E24C 8006D64C 0C01B68A */ jal load_menu_with_level_background -/* 06E250 8006D650 00003025 */ move $a2, $zero -/* 06E254 8006D654 10000076 */ b .L8006D830 -/* 06E258 8006D658 00000000 */ nop -glabel L8006D65C -/* 06E25C 8006D65C 24040016 */ li $a0, 22 -/* 06E260 8006D660 24050022 */ li $a1, 34 -/* 06E264 8006D664 0C01B68A */ jal load_menu_with_level_background -/* 06E268 8006D668 00003025 */ move $a2, $zero -/* 06E26C 8006D66C 10000070 */ b .L8006D830 -/* 06E270 8006D670 00000000 */ nop -glabel L8006D674 -/* 06E274 8006D674 0C027B34 */ jal is_drumstick_unlocked -/* 06E278 8006D678 AFA00044 */ sw $zero, 0x44($sp) -/* 06E27C 8006D67C 10400005 */ beqz $v0, .L8006D694 -/* 06E280 8006D680 00000000 */ nop -/* 06E284 8006D684 8FA90044 */ lw $t1, 0x44($sp) -/* 06E288 8006D688 00000000 */ nop -/* 06E28C 8006D68C 392A0001 */ xori $t2, $t1, 1 -/* 06E290 8006D690 AFAA0044 */ sw $t2, 0x44($sp) -.L8006D694: -/* 06E294 8006D694 0C027B2E */ jal is_tt_unlocked -/* 06E298 8006D698 00000000 */ nop -/* 06E29C 8006D69C 10400005 */ beqz $v0, .L8006D6B4 -/* 06E2A0 8006D6A0 24040001 */ li $a0, 1 -/* 06E2A4 8006D6A4 8FAB0044 */ lw $t3, 0x44($sp) -/* 06E2A8 8006D6A8 00000000 */ nop -/* 06E2AC 8006D6AC 396C0003 */ xori $t4, $t3, 3 -/* 06E2B0 8006D6B0 AFAC0044 */ sw $t4, 0x44($sp) -.L8006D6B4: -/* 06E2B4 8006D6B4 0C022BAD */ jal func_8008AEB4 -/* 06E2B8 8006D6B8 00002825 */ move $a1, $zero -/* 06E2BC 8006D6BC 8FA60044 */ lw $a2, 0x44($sp) -/* 06E2C0 8006D6C0 24040003 */ li $a0, 3 -/* 06E2C4 8006D6C4 0C01B68A */ jal load_menu_with_level_background -/* 06E2C8 8006D6C8 24050016 */ li $a1, 22 -/* 06E2CC 8006D6CC 10000058 */ b .L8006D830 -/* 06E2D0 8006D6D0 00000000 */ nop -glabel L8006D6D4 -/* 06E2D4 8006D6D4 240D0001 */ li $t5, 1 -/* 06E2D8 8006D6D8 A20D0000 */ sb $t5, ($s0) -/* 06E2DC 8006D6DC 24040017 */ li $a0, 23 -/* 06E2E0 8006D6E0 2405FFFF */ li $a1, -1 -/* 06E2E4 8006D6E4 0C01B68A */ jal load_menu_with_level_background -/* 06E2E8 8006D6E8 00003025 */ move $a2, $zero -/* 06E2EC 8006D6EC 10000050 */ b .L8006D830 -/* 06E2F0 8006D6F0 A2000000 */ sb $zero, ($s0) -glabel L8006D6F4 -/* 06E2F4 8006D6F4 24040019 */ li $a0, 25 -/* 06E2F8 8006D6F8 2405FFFF */ li $a1, -1 -/* 06E2FC 8006D6FC 0C01B68A */ jal load_menu_with_level_background -/* 06E300 8006D700 00003025 */ move $a2, $zero -/* 06E304 8006D704 1000004A */ b .L8006D830 -/* 06E308 8006D708 00000000 */ nop -.L8006D70C: -/* 06E30C 8006D70C 3C0E8012 */ lui $t6, %hi(D_801234FC) # $t6, 0x8012 -/* 06E310 8006D710 8DCE34FC */ lw $t6, %lo(D_801234FC)($t6) -/* 06E314 8006D714 24010001 */ li $at, 1 -/* 06E318 8006D718 15C10016 */ bne $t6, $at, .L8006D774 -/* 06E31C 8006D71C 32190010 */ andi $t9, $s0, 0x10 -/* 06E320 8006D720 3C028012 */ lui $v0, %hi(D_80121250) # $v0, 0x8012 -/* 06E324 8006D724 24421250 */ addiu $v0, %lo(D_80121250) # addiu $v0, $v0, 0x1250 -/* 06E328 8006D728 804F0002 */ lb $t7, 2($v0) -/* 06E32C 8006D72C 2401FFFF */ li $at, -1 -/* 06E330 8006D730 15E10007 */ bne $t7, $at, .L8006D750 -/* 06E334 8006D734 3C108012 */ lui $s0, %hi(D_80123514) # $s0, 0x8012 -/* 06E338 8006D738 24040008 */ li $a0, 8 -/* 06E33C 8006D73C 2405FFFF */ li $a1, -1 -/* 06E340 8006D740 0C01B68A */ jal load_menu_with_level_background -/* 06E344 8006D744 00003025 */ move $a2, $zero -/* 06E348 8006D748 10000039 */ b .L8006D830 -/* 06E34C 8006D74C 00000000 */ nop -.L8006D750: -/* 06E350 8006D750 26103514 */ addiu $s0, %lo(D_80123514) # addiu $s0, $s0, 0x3514 -/* 06E354 8006D754 24180001 */ li $t8, 1 -/* 06E358 8006D758 A2180000 */ sb $t8, ($s0) -/* 06E35C 8006D75C 24040005 */ li $a0, 5 -/* 06E360 8006D760 2405FFFF */ li $a1, -1 -/* 06E364 8006D764 0C01B68A */ jal load_menu_with_level_background -/* 06E368 8006D768 2406FFFF */ li $a2, -1 -/* 06E36C 8006D76C 10000030 */ b .L8006D830 -/* 06E370 8006D770 00000000 */ nop -.L8006D774: -/* 06E374 8006D774 17200026 */ bnez $t9, .L8006D810 -/* 06E378 8006D778 32092000 */ andi $t1, $s0, 0x2000 -/* 06E37C 8006D77C 15200018 */ bnez $t1, .L8006D7E0 -/* 06E380 8006D780 3C028012 */ lui $v0, %hi(D_80121250) # $v0, 0x8012 -/* 06E384 8006D784 24421250 */ addiu $v0, %lo(D_80121250) # addiu $v0, $v0, 0x1250 -/* 06E388 8006D788 804A0000 */ lb $t2, ($v0) -/* 06E38C 8006D78C 3C018012 */ lui $at, %hi(D_801234F4) # $at, 0x8012 -/* 06E390 8006D790 AC2A34F4 */ sw $t2, %lo(D_801234F4)($at) -/* 06E394 8006D794 804B000F */ lb $t3, 0xf($v0) -/* 06E398 8006D798 3C018012 */ lui $at, %hi(D_80123504) # $at, 0x8012 -/* 06E39C 8006D79C AC2B3504 */ sw $t3, %lo(D_80123504)($at) -/* 06E3A0 8006D7A0 804C0001 */ lb $t4, 1($v0) -/* 06E3A4 8006D7A4 3C048012 */ lui $a0, %hi(D_801234F4) # $a0, 0x8012 -/* 06E3A8 8006D7A8 004C6821 */ addu $t5, $v0, $t4 -/* 06E3AC 8006D7AC 81AE0008 */ lb $t6, 8($t5) -/* 06E3B0 8006D7B0 3C018012 */ lui $at, %hi(D_80123508) # $at, 0x8012 -/* 06E3B4 8006D7B4 8C8434F4 */ lw $a0, %lo(D_801234F4)($a0) -/* 06E3B8 8006D7B8 0C01AC2B */ jal func_8006B0AC -/* 06E3BC 8006D7BC AC2E3508 */ sw $t6, %lo(D_80123508)($at) -/* 06E3C0 8006D7C0 3C0F8012 */ lui $t7, %hi(D_80123508) # $t7, 0x8012 -/* 06E3C4 8006D7C4 8DEF3508 */ lw $t7, %lo(D_80123508)($t7) -/* 06E3C8 8006D7C8 3C018012 */ lui $at, %hi(D_80123518) # $at, 0x8012 -/* 06E3CC 8006D7CC 05E10004 */ bgez $t7, .L8006D7E0 -/* 06E3D0 8006D7D0 AC223518 */ sw $v0, %lo(D_80123518)($at) -/* 06E3D4 8006D7D4 24180064 */ li $t8, 100 -/* 06E3D8 8006D7D8 3C018012 */ lui $at, %hi(D_80123508) # $at, 0x8012 -/* 06E3DC 8006D7DC AC383508 */ sw $t8, %lo(D_80123508)($at) -.L8006D7E0: -/* 06E3E0 8006D7E0 3C048012 */ lui $a0, %hi(D_801234F4) # $a0, 0x8012 -/* 06E3E4 8006D7E4 3C058012 */ lui $a1, %hi(D_80123500) # $a1, 0x8012 -/* 06E3E8 8006D7E8 3C068012 */ lui $a2, %hi(D_80123504) # $a2, 0x8012 -/* 06E3EC 8006D7EC 3C078012 */ lui $a3, %hi(D_80123518) # $a3, 0x8012 -/* 06E3F0 8006D7F0 8CE73518 */ lw $a3, %lo(D_80123518)($a3) -/* 06E3F4 8006D7F4 8CC63504 */ lw $a2, %lo(D_80123504)($a2) -/* 06E3F8 8006D7F8 8CA53500 */ lw $a1, %lo(D_80123500)($a1) -/* 06E3FC 8006D7FC 8C8434F4 */ lw $a0, %lo(D_801234F4)($a0) -/* 06E400 8006D800 0C01B2D6 */ jal load_level_2 -/* 06E404 8006D804 00000000 */ nop -/* 06E408 8006D808 10000009 */ b .L8006D830 -/* 06E40C 8006D80C 00000000 */ nop -.L8006D810: -/* 06E410 8006D810 0C027068 */ jal get_save_file_index -/* 06E414 8006D814 00000000 */ nop -/* 06E418 8006D818 0C01BB12 */ jal func_8006EC48 -/* 06E41C 8006D81C 00402025 */ move $a0, $v0 -/* 06E420 8006D820 00002025 */ move $a0, $zero -/* 06E424 8006D824 2405FFFF */ li $a1, -1 -/* 06E428 8006D828 0C01B68A */ jal load_menu_with_level_background -/* 06E42C 8006D82C 00003025 */ move $a2, $zero -.L8006D830: -/* 06E430 8006D830 3C018012 */ lui $at, %hi(D_801234FC) # $at, 0x8012 -/* 06E434 8006D834 AC2034FC */ sw $zero, %lo(D_801234FC)($at) -.L8006D838: -/* 06E438 8006D838 3C198012 */ lui $t9, %hi(D_801234F8) # $t9, 0x8012 -/* 06E43C 8006D83C 8F3934F8 */ lw $t9, %lo(D_801234F8)($t9) -/* 06E440 8006D840 3C018012 */ lui $at, %hi(D_80123516) # $at, 0x8012 -/* 06E444 8006D844 13200014 */ beqz $t9, .L8006D898 -/* 06E448 8006D848 8FBF0024 */ lw $ra, 0x24($sp) -/* 06E44C 8006D84C 0C01B305 */ jal func_8006CC14 -/* 06E450 8006D850 A0203516 */ sb $zero, %lo(D_80123516)($at) -/* 06E454 8006D854 3C048012 */ lui $a0, %hi(D_801234F4) # $a0, 0x8012 -/* 06E458 8006D858 3C058012 */ lui $a1, %hi(D_80123500) # $a1, 0x8012 -/* 06E45C 8006D85C 3C068012 */ lui $a2, %hi(D_80123504) # $a2, 0x8012 -/* 06E460 8006D860 3C078012 */ lui $a3, %hi(D_80123518) # $a3, 0x8012 -/* 06E464 8006D864 8CE73518 */ lw $a3, %lo(D_80123518)($a3) -/* 06E468 8006D868 8CC63504 */ lw $a2, %lo(D_80123504)($a2) -/* 06E46C 8006D86C 8CA53500 */ lw $a1, %lo(D_80123500)($a1) -/* 06E470 8006D870 8C8434F4 */ lw $a0, %lo(D_801234F4)($a0) -/* 06E474 8006D874 0C01B2D6 */ jal load_level_2 -/* 06E478 8006D878 00000000 */ nop -/* 06E47C 8006D87C 0C027068 */ jal get_save_file_index -/* 06E480 8006D880 00000000 */ nop -/* 06E484 8006D884 0C01BB12 */ jal func_8006EC48 -/* 06E488 8006D888 00402025 */ move $a0, $v0 -/* 06E48C 8006D88C 3C018012 */ lui $at, %hi(D_801234F8) # $at, 0x8012 -/* 06E490 8006D890 AC2034F8 */ sw $zero, %lo(D_801234F8)($at) -/* 06E494 8006D894 8FBF0024 */ lw $ra, 0x24($sp) -.L8006D898: -/* 06E498 8006D898 8FB00020 */ lw $s0, 0x20($sp) -/* 06E49C 8006D89C 03E00008 */ jr $ra -/* 06E4A0 8006D8A0 27BD0050 */ addiu $sp, $sp, 0x50 - diff --git a/asm/non_matchings/game_text/func_800C31EC.s b/asm/non_matchings/game_text/func_800C31EC.s index fdadacd4..ccd1e673 100644 --- a/asm/non_matchings/game_text/func_800C31EC.s +++ b/asm/non_matchings/game_text/func_800C31EC.s @@ -37,14 +37,14 @@ glabel func_800C31EC /* 0C3E68 800C3268 2401FFFE */ li $at, -2 .L800C326C: /* 0C3E6C 800C326C 02013024 */ and $a2, $s0, $at -/* 0C3E70 800C3270 3C058013 */ lui $a1, %hi(D_8012A780) # $a1, 0x8013 -/* 0C3E74 800C3274 8CA5A780 */ lw $a1, %lo(D_8012A780)($a1) +/* 0C3E70 800C3270 3C058013 */ lui $a1, %hi(gGameTextTable) # $a1, 0x8013 +/* 0C3E74 800C3274 8CA5A780 */ lw $a1, %lo(gGameTextTable)($a1) /* 0C3E78 800C3278 0006C080 */ sll $t8, $a2, 2 /* 0C3E7C 800C327C 03003025 */ move $a2, $t8 /* 0C3E80 800C3280 0C01DB9A */ jal load_asset_to_address /* 0C3E84 800C3284 24070010 */ li $a3, 16 -/* 0C3E88 800C3288 3C048013 */ lui $a0, %hi(D_8012A780) # $a0, 0x8013 -/* 0C3E8C 800C328C 8C84A780 */ lw $a0, %lo(D_8012A780)($a0) +/* 0C3E88 800C3288 3C048013 */ lui $a0, %hi(gGameTextTable) # $a0, 0x8013 +/* 0C3E8C 800C328C 8C84A780 */ lw $a0, %lo(gGameTextTable)($a0) /* 0C3E90 800C3290 32190001 */ andi $t9, $s0, 1 /* 0C3E94 800C3294 00195080 */ sll $t2, $t9, 2 /* 0C3E98 800C3298 008A1821 */ addu $v1, $a0, $t2 diff --git a/asm/non_matchings/game_ui/func_800A497C.s b/asm/non_matchings/game_ui/func_800A497C.s index 4351494a..e51f9599 100644 --- a/asm/non_matchings/game_ui/func_800A497C.s +++ b/asm/non_matchings/game_ui/func_800A497C.s @@ -184,8 +184,3 @@ glabel func_800A497C /* 0A582C 800A4C2C 03E00008 */ jr $ra /* 0A5830 800A4C30 27BD0030 */ addiu $sp, $sp, 0x30 -/* 0A5834 800A4C34 AFA40000 */ sw $a0, ($sp) -/* 0A5838 800A4C38 AFA50004 */ sw $a1, 4($sp) -/* 0A583C 800A4C3C 03E00008 */ jr $ra -/* 0A5840 800A4C40 AFA60008 */ sw $a2, 8($sp) - diff --git a/asm/non_matchings/game_ui/func_800A718C.s b/asm/non_matchings/game_ui/func_800A718C.s index 5f80743b..4e1f717e 100644 --- a/asm/non_matchings/game_ui/func_800A718C.s +++ b/asm/non_matchings/game_ui/func_800A718C.s @@ -188,22 +188,3 @@ glabel func_800A718C /* 0A8038 800A7438 03E00008 */ jr $ra /* 0A803C 800A743C 00000000 */ nop -/* 0A8040 800A7440 3C0E8012 */ lui $t6, %hi(D_80126D40) # $t6, 0x8012 -/* 0A8044 800A7444 8DCE6D40 */ lw $t6, %lo(D_80126D40)($t6) -/* 0A8048 800A7448 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0A804C 800A744C AFBF0014 */ sw $ra, 0x14($sp) -/* 0A8050 800A7450 15C00008 */ bnez $t6, .L800A7474 -/* 0A8054 800A7454 AFA40018 */ sw $a0, 0x18($sp) -/* 0A8058 800A7458 0C01BAA8 */ jal is_game_paused -/* 0A805C 800A745C 00000000 */ nop -/* 0A8060 800A7460 14400004 */ bnez $v0, .L800A7474 -/* 0A8064 800A7464 3C058012 */ lui $a1, %hi(D_80126D40) # $a1, 0x8012 -/* 0A8068 800A7468 97A4001A */ lhu $a0, 0x1a($sp) -/* 0A806C 800A746C 0C000741 */ jal play_sound_global -/* 0A8070 800A7470 24A56D40 */ addiu $a1, %lo(D_80126D40) # addiu $a1, $a1, 0x6d40 -.L800A7474: -/* 0A8074 800A7474 8FBF0014 */ lw $ra, 0x14($sp) -/* 0A8078 800A7478 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0A807C 800A747C 03E00008 */ jr $ra -/* 0A8080 800A7480 00000000 */ nop - diff --git a/asm/non_matchings/memory/free_slot_containing_address.s b/asm/non_matchings/memory/free_slot_containing_address.s index d99b2724..4cff902e 100644 --- a/asm/non_matchings/memory/free_slot_containing_address.s +++ b/asm/non_matchings/memory/free_slot_containing_address.s @@ -42,88 +42,3 @@ glabel free_slot_containing_address /* 071F08 80071308 27BD0020 */ addiu $sp, $sp, 0x20 /* 071F0C 8007130C 03E00008 */ jr $ra /* 071F10 80071310 00000000 */ nop - -/* 071F14 80071314 27BDFFB0 */ addiu $sp, $sp, -0x50 -/* 071F18 80071318 AFBF003C */ sw $ra, 0x3c($sp) -/* 071F1C 8007131C AFBE0038 */ sw $fp, 0x38($sp) -/* 071F20 80071320 AFB70034 */ sw $s7, 0x34($sp) -/* 071F24 80071324 AFB60030 */ sw $s6, 0x30($sp) -/* 071F28 80071328 AFB5002C */ sw $s5, 0x2c($sp) -/* 071F2C 8007132C AFB40028 */ sw $s4, 0x28($sp) -/* 071F30 80071330 AFB30024 */ sw $s3, 0x24($sp) -/* 071F34 80071334 AFB20020 */ sw $s2, 0x20($sp) -/* 071F38 80071338 AFB1001C */ sw $s1, 0x1c($sp) -/* 071F3C 8007133C 0C01BD44 */ jal func_8006F510 -/* 071F40 80071340 AFB00018 */ sw $s0, 0x18($sp) -/* 071F44 80071344 3C128012 */ lui $s2, %hi(gNumberOfMemoryPools) # $s2, 0x8012 -/* 071F48 80071348 8E5235C0 */ lw $s2, %lo(gNumberOfMemoryPools)($s2) -/* 071F4C 8007134C 2416FFFF */ li $s6, -1 -/* 071F50 80071350 1256002C */ beq $s2, $s6, .L80071404 -/* 071F54 80071354 AFA20040 */ sw $v0, 0x40($sp) -/* 071F58 80071358 3C0F8012 */ lui $t7, %hi(gMemoryPools) # $t7, 0x8012 -/* 071F5C 8007135C 25EF3580 */ addiu $t7, %lo(gMemoryPools) # addiu $t7, $t7, 0x3580 -/* 071F60 80071360 00127100 */ sll $t6, $s2, 4 -/* 071F64 80071364 01CFA821 */ addu $s5, $t6, $t7 -/* 071F68 80071368 241E0004 */ li $fp, 4 -/* 071F6C 8007136C 24170014 */ li $s7, 20 -/* 071F70 80071370 24130001 */ li $s3, 1 -.L80071374: -/* 071F74 80071374 8EB40008 */ lw $s4, 8($s5) -/* 071F78 80071378 00008025 */ move $s0, $zero -.L8007137C: -/* 071F7C 8007137C 02170019 */ multu $s0, $s7 -/* 071F80 80071380 02402025 */ move $a0, $s2 -/* 071F84 80071384 0000C012 */ mflo $t8 -/* 071F88 80071388 03148821 */ addu $s1, $t8, $s4 -/* 071F8C 8007138C 86220008 */ lh $v0, 8($s1) -/* 071F90 80071390 00000000 */ nop -/* 071F94 80071394 16620005 */ bne $s3, $v0, .L800713AC -/* 071F98 80071398 00000000 */ nop -/* 071F9C 8007139C 0C01C593 */ jal free_memory_pool_slot -/* 071FA0 800713A0 02002825 */ move $a1, $s0 -/* 071FA4 800713A4 86220008 */ lh $v0, 8($s1) -/* 071FA8 800713A8 00000000 */ nop -.L800713AC: -/* 071FAC 800713AC 17C2000E */ bne $fp, $v0, .L800713E8 -/* 071FB0 800713B0 02402025 */ move $a0, $s2 -/* 071FB4 800713B4 8EB90004 */ lw $t9, 4($s5) -/* 071FB8 800713B8 00000000 */ nop -/* 071FBC 800713BC 16790005 */ bne $s3, $t9, .L800713D4 -/* 071FC0 800713C0 00000000 */ nop -/* 071FC4 800713C4 0C01C593 */ jal free_memory_pool_slot -/* 071FC8 800713C8 02002825 */ move $a1, $s0 -/* 071FCC 800713CC 10000007 */ b .L800713EC -/* 071FD0 800713D0 8630000C */ lh $s0, 0xc($s1) -.L800713D4: -/* 071FD4 800713D4 8FA40040 */ lw $a0, 0x40($sp) -/* 071FD8 800713D8 0C01BD4F */ jal func_8006F53C -/* 071FDC 800713DC 00000000 */ nop -/* 071FE0 800713E0 1000000C */ b .L80071414 -/* 071FE4 800713E4 8FBF003C */ lw $ra, 0x3c($sp) -.L800713E8: -/* 071FE8 800713E8 8630000C */ lh $s0, 0xc($s1) -.L800713EC: -/* 071FEC 800713EC 00000000 */ nop -/* 071FF0 800713F0 1616FFE2 */ bne $s0, $s6, .L8007137C -/* 071FF4 800713F4 00000000 */ nop -/* 071FF8 800713F8 2652FFFF */ addiu $s2, $s2, -1 -/* 071FFC 800713FC 1656FFDD */ bne $s2, $s6, .L80071374 -/* 072000 80071400 26B5FFF0 */ addiu $s5, $s5, -0x10 -.L80071404: -/* 072004 80071404 8FA40040 */ lw $a0, 0x40($sp) -/* 072008 80071408 0C01BD4F */ jal func_8006F53C -/* 07200C 8007140C 00000000 */ nop -/* 072010 80071410 8FBF003C */ lw $ra, 0x3c($sp) -.L80071414: -/* 072014 80071414 8FB00018 */ lw $s0, 0x18($sp) -/* 072018 80071418 8FB1001C */ lw $s1, 0x1c($sp) -/* 07201C 8007141C 8FB20020 */ lw $s2, 0x20($sp) -/* 072020 80071420 8FB30024 */ lw $s3, 0x24($sp) -/* 072024 80071424 8FB40028 */ lw $s4, 0x28($sp) -/* 072028 80071428 8FB5002C */ lw $s5, 0x2c($sp) -/* 07202C 8007142C 8FB60030 */ lw $s6, 0x30($sp) -/* 072030 80071430 8FB70034 */ lw $s7, 0x34($sp) -/* 072034 80071434 8FBE0038 */ lw $fp, 0x38($sp) -/* 072038 80071438 03E00008 */ jr $ra -/* 07203C 8007143C 27BD0050 */ addiu $sp, $sp, 0x50 - diff --git a/asm/non_matchings/memory/func_80071314.s b/asm/non_matchings/memory/func_80071314.s new file mode 100644 index 00000000..1fb760df --- /dev/null +++ b/asm/non_matchings/memory/func_80071314.s @@ -0,0 +1,85 @@ +glabel func_80071314 +/* 071F14 80071314 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 071F18 80071318 AFBF003C */ sw $ra, 0x3c($sp) +/* 071F1C 8007131C AFBE0038 */ sw $fp, 0x38($sp) +/* 071F20 80071320 AFB70034 */ sw $s7, 0x34($sp) +/* 071F24 80071324 AFB60030 */ sw $s6, 0x30($sp) +/* 071F28 80071328 AFB5002C */ sw $s5, 0x2c($sp) +/* 071F2C 8007132C AFB40028 */ sw $s4, 0x28($sp) +/* 071F30 80071330 AFB30024 */ sw $s3, 0x24($sp) +/* 071F34 80071334 AFB20020 */ sw $s2, 0x20($sp) +/* 071F38 80071338 AFB1001C */ sw $s1, 0x1c($sp) +/* 071F3C 8007133C 0C01BD44 */ jal func_8006F510 +/* 071F40 80071340 AFB00018 */ sw $s0, 0x18($sp) +/* 071F44 80071344 3C128012 */ lui $s2, %hi(gNumberOfMemoryPools) # $s2, 0x8012 +/* 071F48 80071348 8E5235C0 */ lw $s2, %lo(gNumberOfMemoryPools)($s2) +/* 071F4C 8007134C 2416FFFF */ li $s6, -1 +/* 071F50 80071350 1256002C */ beq $s2, $s6, .L80071404 +/* 071F54 80071354 AFA20040 */ sw $v0, 0x40($sp) +/* 071F58 80071358 3C0F8012 */ lui $t7, %hi(gMemoryPools) # $t7, 0x8012 +/* 071F5C 8007135C 25EF3580 */ addiu $t7, %lo(gMemoryPools) # addiu $t7, $t7, 0x3580 +/* 071F60 80071360 00127100 */ sll $t6, $s2, 4 +/* 071F64 80071364 01CFA821 */ addu $s5, $t6, $t7 +/* 071F68 80071368 241E0004 */ li $fp, 4 +/* 071F6C 8007136C 24170014 */ li $s7, 20 +/* 071F70 80071370 24130001 */ li $s3, 1 +.L80071374: +/* 071F74 80071374 8EB40008 */ lw $s4, 8($s5) +/* 071F78 80071378 00008025 */ move $s0, $zero +.L8007137C: +/* 071F7C 8007137C 02170019 */ multu $s0, $s7 +/* 071F80 80071380 02402025 */ move $a0, $s2 +/* 071F84 80071384 0000C012 */ mflo $t8 +/* 071F88 80071388 03148821 */ addu $s1, $t8, $s4 +/* 071F8C 8007138C 86220008 */ lh $v0, 8($s1) +/* 071F90 80071390 00000000 */ nop +/* 071F94 80071394 16620005 */ bne $s3, $v0, .L800713AC +/* 071F98 80071398 00000000 */ nop +/* 071F9C 8007139C 0C01C593 */ jal free_memory_pool_slot +/* 071FA0 800713A0 02002825 */ move $a1, $s0 +/* 071FA4 800713A4 86220008 */ lh $v0, 8($s1) +/* 071FA8 800713A8 00000000 */ nop +.L800713AC: +/* 071FAC 800713AC 17C2000E */ bne $fp, $v0, .L800713E8 +/* 071FB0 800713B0 02402025 */ move $a0, $s2 +/* 071FB4 800713B4 8EB90004 */ lw $t9, 4($s5) +/* 071FB8 800713B8 00000000 */ nop +/* 071FBC 800713BC 16790005 */ bne $s3, $t9, .L800713D4 +/* 071FC0 800713C0 00000000 */ nop +/* 071FC4 800713C4 0C01C593 */ jal free_memory_pool_slot +/* 071FC8 800713C8 02002825 */ move $a1, $s0 +/* 071FCC 800713CC 10000007 */ b .L800713EC +/* 071FD0 800713D0 8630000C */ lh $s0, 0xc($s1) +.L800713D4: +/* 071FD4 800713D4 8FA40040 */ lw $a0, 0x40($sp) +/* 071FD8 800713D8 0C01BD4F */ jal func_8006F53C +/* 071FDC 800713DC 00000000 */ nop +/* 071FE0 800713E0 1000000C */ b .L80071414 +/* 071FE4 800713E4 8FBF003C */ lw $ra, 0x3c($sp) +.L800713E8: +/* 071FE8 800713E8 8630000C */ lh $s0, 0xc($s1) +.L800713EC: +/* 071FEC 800713EC 00000000 */ nop +/* 071FF0 800713F0 1616FFE2 */ bne $s0, $s6, .L8007137C +/* 071FF4 800713F4 00000000 */ nop +/* 071FF8 800713F8 2652FFFF */ addiu $s2, $s2, -1 +/* 071FFC 800713FC 1656FFDD */ bne $s2, $s6, .L80071374 +/* 072000 80071400 26B5FFF0 */ addiu $s5, $s5, -0x10 +.L80071404: +/* 072004 80071404 8FA40040 */ lw $a0, 0x40($sp) +/* 072008 80071408 0C01BD4F */ jal func_8006F53C +/* 07200C 8007140C 00000000 */ nop +/* 072010 80071410 8FBF003C */ lw $ra, 0x3c($sp) +.L80071414: +/* 072014 80071414 8FB00018 */ lw $s0, 0x18($sp) +/* 072018 80071418 8FB1001C */ lw $s1, 0x1c($sp) +/* 07201C 8007141C 8FB20020 */ lw $s2, 0x20($sp) +/* 072020 80071420 8FB30024 */ lw $s3, 0x24($sp) +/* 072024 80071424 8FB40028 */ lw $s4, 0x28($sp) +/* 072028 80071428 8FB5002C */ lw $s5, 0x2c($sp) +/* 07202C 8007142C 8FB60030 */ lw $s6, 0x30($sp) +/* 072030 80071430 8FB70034 */ lw $s7, 0x34($sp) +/* 072034 80071434 8FBE0038 */ lw $fp, 0x38($sp) +/* 072038 80071438 03E00008 */ jr $ra +/* 07203C 8007143C 27BD0050 */ addiu $sp, $sp, 0x50 + diff --git a/asm/non_matchings/menu/func_8007FFEC.s b/asm/non_matchings/menu/func_8007FFEC.s index 42f71767..f2d41ba8 100644 --- a/asm/non_matchings/menu/func_8007FFEC.s +++ b/asm/non_matchings/menu/func_8007FFEC.s @@ -341,30 +341,3 @@ glabel func_8007FFEC /* 081110 80080510 03E00008 */ jr $ra /* 081114 80080514 27BD0050 */ addiu $sp, $sp, 0x50 -/* 081118 80080518 3C014200 */ li $at, 0x42000000 # 32.000000 -/* 08111C 8008051C 44810000 */ mtc1 $at, $f0 -/* 081120 80080520 00000000 */ nop -/* 081124 80080524 46006102 */ mul.s $f4, $f12, $f0 -/* 081128 80080528 444EF800 */ cfc1 $t6, $31 -/* 08112C 8008052C 00000000 */ nop -/* 081130 80080530 35C10003 */ ori $at, $t6, 3 -/* 081134 80080534 38210002 */ xori $at, $at, 2 -/* 081138 80080538 44C1F800 */ ctc1 $at, $31 -/* 08113C 8008053C 3C01800E */ lui $at, %hi(D_800E1DC0) # $at, 0x800e -/* 081140 80080540 460021A4 */ cvt.w.s $f6, $f4 -/* 081144 80080544 44CEF800 */ ctc1 $t6, $31 -/* 081148 80080548 440F3000 */ mfc1 $t7, $f6 -/* 08114C 8008054C 46007202 */ mul.s $f8, $f14, $f0 -/* 081150 80080550 AC2F1DC0 */ sw $t7, %lo(D_800E1DC0)($at) -/* 081154 80080554 4458F800 */ cfc1 $t8, $31 -/* 081158 80080558 00000000 */ nop -/* 08115C 8008055C 37010003 */ ori $at, $t8, 3 -/* 081160 80080560 38210002 */ xori $at, $at, 2 -/* 081164 80080564 44C1F800 */ ctc1 $at, $31 -/* 081168 80080568 3C01800E */ lui $at, %hi(D_800E1DC4) # $at, 0x800e -/* 08116C 8008056C 460042A4 */ cvt.w.s $f10, $f8 -/* 081170 80080570 44195000 */ mfc1 $t9, $f10 -/* 081174 80080574 44D8F800 */ ctc1 $t8, $31 -/* 081178 80080578 03E00008 */ jr $ra -/* 08117C 8008057C AC391DC4 */ sw $t9, %lo(D_800E1DC4)($at) - diff --git a/asm/non_matchings/menu/func_80080518.s b/asm/non_matchings/menu/func_80080518.s new file mode 100644 index 00000000..1616180c --- /dev/null +++ b/asm/non_matchings/menu/func_80080518.s @@ -0,0 +1,27 @@ +glabel func_80080518 +/* 081118 80080518 3C014200 */ li $at, 0x42000000 # 32.000000 +/* 08111C 8008051C 44810000 */ mtc1 $at, $f0 +/* 081120 80080520 00000000 */ nop +/* 081124 80080524 46006102 */ mul.s $f4, $f12, $f0 +/* 081128 80080528 444EF800 */ cfc1 $t6, $31 +/* 08112C 8008052C 00000000 */ nop +/* 081130 80080530 35C10003 */ ori $at, $t6, 3 +/* 081134 80080534 38210002 */ xori $at, $at, 2 +/* 081138 80080538 44C1F800 */ ctc1 $at, $31 +/* 08113C 8008053C 3C01800E */ lui $at, %hi(D_800E1DC0) # $at, 0x800e +/* 081140 80080540 460021A4 */ cvt.w.s $f6, $f4 +/* 081144 80080544 44CEF800 */ ctc1 $t6, $31 +/* 081148 80080548 440F3000 */ mfc1 $t7, $f6 +/* 08114C 8008054C 46007202 */ mul.s $f8, $f14, $f0 +/* 081150 80080550 AC2F1DC0 */ sw $t7, %lo(D_800E1DC0)($at) +/* 081154 80080554 4458F800 */ cfc1 $t8, $31 +/* 081158 80080558 00000000 */ nop +/* 08115C 8008055C 37010003 */ ori $at, $t8, 3 +/* 081160 80080560 38210002 */ xori $at, $at, 2 +/* 081164 80080564 44C1F800 */ ctc1 $at, $31 +/* 081168 80080568 3C01800E */ lui $at, %hi(D_800E1DC4) # $at, 0x800e +/* 08116C 8008056C 460042A4 */ cvt.w.s $f10, $f8 +/* 081170 80080570 44195000 */ mfc1 $t9, $f10 +/* 081174 80080574 44D8F800 */ ctc1 $t8, $31 +/* 081178 80080578 03E00008 */ jr $ra +/* 08117C 8008057C AC391DC4 */ sw $t9, %lo(D_800E1DC4)($at) \ No newline at end of file diff --git a/asm/non_matchings/menu/func_800867D4.s b/asm/non_matchings/menu/func_800867D4.s deleted file mode 100644 index 150d4377..00000000 --- a/asm/non_matchings/menu/func_800867D4.s +++ /dev/null @@ -1,170 +0,0 @@ -.late_rodata -glabel jpt_800E8400 -.word L80086834, L80086888, L800868C0, L80086920, L80086998 - -.text -glabel func_800867D4 -/* 0873D4 800867D4 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 0873D8 800867D8 AFB00020 */ sw $s0, 0x20($sp) -/* 0873DC 800867DC 3C108012 */ lui $s0, %hi(D_80126A00) # $s0, 0x8012 -/* 0873E0 800867E0 26106A00 */ addiu $s0, %lo(D_80126A00) # addiu $s0, $s0, 0x6a00 -/* 0873E4 800867E4 AE000000 */ sw $zero, ($s0) -/* 0873E8 800867E8 3C0F8012 */ lui $t7, %hi(D_80126BD4) # $t7, 0x8012 -/* 0873EC 800867EC 8DEF6BD4 */ lw $t7, %lo(D_80126BD4)($t7) -/* 0873F0 800867F0 3C0E8012 */ lui $t6, %hi(D_80126A0C) # $t6, 0x8012 -/* 0873F4 800867F4 8DCE6A0C */ lw $t6, %lo(D_80126A0C)($t6) -/* 0873F8 800867F8 000FC100 */ sll $t8, $t7, 4 -/* 0873FC 800867FC AFBF0024 */ sw $ra, 0x24($sp) -/* 087400 80086800 01D81021 */ addu $v0, $t6, $t8 -/* 087404 80086804 90590000 */ lbu $t9, ($v0) -/* 087408 80086808 00001825 */ move $v1, $zero -/* 08740C 8008680C 2728FFFF */ addiu $t0, $t9, -1 -/* 087410 80086810 2D010005 */ sltiu $at, $t0, 5 -/* 087414 80086814 1020007D */ beqz $at, .L80086A0C -/* 087418 80086818 00084080 */ sll $t0, $t0, 2 -/* 08741C 8008681C 3C01800F */ lui $at, %hi(jpt_800E8400) # $at, 0x800f -/* 087420 80086820 00280821 */ addu $at, $at, $t0 -/* 087424 80086824 8C288400 */ lw $t0, %lo(jpt_800E8400)($at) -/* 087428 80086828 00000000 */ nop -/* 08742C 8008682C 01000008 */ jr $t0 -/* 087430 80086830 00000000 */ nop -glabel L80086834 -/* 087434 80086834 90440006 */ lbu $a0, 6($v0) -/* 087438 80086838 0C01BADE */ jal func_8006EB78 -/* 08743C 8008683C 00000000 */ nop -/* 087440 80086840 3C048012 */ lui $a0, %hi(D_80126A04) # $a0, 0x8012 -/* 087444 80086844 8C846A04 */ lw $a0, %lo(D_80126A04)($a0) -/* 087448 80086848 0C021872 */ jal func_800861C8 -/* 08744C 8008684C 02002825 */ move $a1, $s0 -/* 087450 80086850 0C01CF13 */ jal get_game_data_file_size -/* 087454 80086854 00000000 */ nop -/* 087458 80086858 3C068012 */ lui $a2, %hi(D_80126A04) # $a2, 0x8012 -/* 08745C 8008685C 8CC66A04 */ lw $a2, %lo(D_80126A04)($a2) -/* 087460 80086860 3C058012 */ lui $a1, %hi(D_80126A18) # $a1, 0x8012 -/* 087464 80086864 2409FFFF */ li $t1, -1 -/* 087468 80086868 AFA90014 */ sw $t1, 0x14($sp) -/* 08746C 8008686C 24A56A18 */ addiu $a1, %lo(D_80126A18) # addiu $a1, $a1, 0x6a18 -/* 087470 80086870 00002025 */ move $a0, $zero -/* 087474 80086874 02003825 */ move $a3, $s0 -/* 087478 80086878 0C02182A */ jal func_800860A8 -/* 08747C 8008687C AFA20010 */ sw $v0, 0x10($sp) -/* 087480 80086880 10000062 */ b .L80086A0C -/* 087484 80086884 00401825 */ move $v1, $v0 -glabel L80086888 -/* 087488 80086888 0C01CF15 */ jal get_time_data_file_size -/* 08748C 8008688C 00000000 */ nop -/* 087490 80086890 3C068012 */ lui $a2, %hi(D_80126A04) # $a2, 0x8012 -/* 087494 80086894 8CC66A04 */ lw $a2, %lo(D_80126A04)($a2) -/* 087498 80086898 3C058012 */ lui $a1, %hi(D_80126A18) # $a1, 0x8012 -/* 08749C 8008689C 240AFFFF */ li $t2, -1 -/* 0874A0 800868A0 AFAA0014 */ sw $t2, 0x14($sp) -/* 0874A4 800868A4 24A56A18 */ addiu $a1, %lo(D_80126A18) # addiu $a1, $a1, 0x6a18 -/* 0874A8 800868A8 00002025 */ move $a0, $zero -/* 0874AC 800868AC 02003825 */ move $a3, $s0 -/* 0874B0 800868B0 0C02182A */ jal func_800860A8 -/* 0874B4 800868B4 AFA20010 */ sw $v0, 0x10($sp) -/* 0874B8 800868B8 10000054 */ b .L80086A0C -/* 0874BC 800868BC 00401825 */ move $v1, $v0 -glabel L800868C0 -/* 0874C0 800868C0 3C048012 */ lui $a0, %hi(D_80126A04) # $a0, 0x8012 -/* 0874C4 800868C4 8C846A04 */ lw $a0, %lo(D_80126A04)($a0) -/* 0874C8 800868C8 0C021872 */ jal func_800861C8 -/* 0874CC 800868CC 02002825 */ move $a1, $s0 -/* 0874D0 800868D0 0C01CF13 */ jal get_game_data_file_size -/* 0874D4 800868D4 00000000 */ nop -/* 0874D8 800868D8 3C0C8012 */ lui $t4, %hi(D_80126BD4) # $t4, 0x8012 -/* 0874DC 800868DC 8D8C6BD4 */ lw $t4, %lo(D_80126BD4)($t4) -/* 0874E0 800868E0 3C0B8012 */ lui $t3, %hi(D_80126A0C) # $t3, 0x8012 -/* 0874E4 800868E4 8D6B6A0C */ lw $t3, %lo(D_80126A0C)($t3) -/* 0874E8 800868E8 000C6900 */ sll $t5, $t4, 4 -/* 0874EC 800868EC AFA20010 */ sw $v0, 0x10($sp) -/* 0874F0 800868F0 016D7821 */ addu $t7, $t3, $t5 -/* 0874F4 800868F4 91EE0006 */ lbu $t6, 6($t7) -/* 0874F8 800868F8 3C068012 */ lui $a2, %hi(D_80126A04) # $a2, 0x8012 -/* 0874FC 800868FC 8CC66A04 */ lw $a2, %lo(D_80126A04)($a2) -/* 087500 80086900 3C058012 */ lui $a1, %hi(D_80126A1C) # $a1, 0x8012 -/* 087504 80086904 24A56A1C */ addiu $a1, %lo(D_80126A1C) # addiu $a1, $a1, 0x6a1c -/* 087508 80086908 24040001 */ li $a0, 1 -/* 08750C 8008690C 02003825 */ move $a3, $s0 -/* 087510 80086910 0C02182A */ jal func_800860A8 -/* 087514 80086914 AFAE0014 */ sw $t6, 0x14($sp) -/* 087518 80086918 1000003C */ b .L80086A0C -/* 08751C 8008691C 00401825 */ move $v1, $v0 -glabel L80086920 -/* 087520 80086920 8E080000 */ lw $t0, ($s0) -/* 087524 80086924 3C198012 */ lui $t9, %hi(D_80126A04) # $t9, 0x8012 -/* 087528 80086928 8F396A04 */ lw $t9, %lo(D_80126A04)($t9) -/* 08752C 8008692C 00084900 */ sll $t1, $t0, 4 -/* 087530 80086930 24180002 */ li $t8, 2 -/* 087534 80086934 03295021 */ addu $t2, $t9, $t1 -/* 087538 80086938 A1580000 */ sb $t8, ($t2) -/* 08753C 8008693C 8E0C0000 */ lw $t4, ($s0) -/* 087540 80086940 00000000 */ nop -/* 087544 80086944 258B0001 */ addiu $t3, $t4, 1 -/* 087548 80086948 0C01CF15 */ jal get_time_data_file_size -/* 08754C 8008694C AE0B0000 */ sw $t3, ($s0) -/* 087550 80086950 3C0F8012 */ lui $t7, %hi(D_80126BD4) # $t7, 0x8012 -/* 087554 80086954 8DEF6BD4 */ lw $t7, %lo(D_80126BD4)($t7) -/* 087558 80086958 3C0D8012 */ lui $t5, %hi(D_80126A0C) # $t5, 0x8012 -/* 08755C 8008695C 8DAD6A0C */ lw $t5, %lo(D_80126A0C)($t5) -/* 087560 80086960 000F7100 */ sll $t6, $t7, 4 -/* 087564 80086964 AFA20010 */ sw $v0, 0x10($sp) -/* 087568 80086968 01AE4021 */ addu $t0, $t5, $t6 -/* 08756C 8008696C 91190006 */ lbu $t9, 6($t0) -/* 087570 80086970 3C068012 */ lui $a2, %hi(D_80126A04) # $a2, 0x8012 -/* 087574 80086974 8CC66A04 */ lw $a2, %lo(D_80126A04)($a2) -/* 087578 80086978 3C058012 */ lui $a1, %hi(D_80126A1C) # $a1, 0x8012 -/* 08757C 8008697C 24A56A1C */ addiu $a1, %lo(D_80126A1C) # addiu $a1, $a1, 0x6a1c -/* 087580 80086980 24040001 */ li $a0, 1 -/* 087584 80086984 02003825 */ move $a3, $s0 -/* 087588 80086988 0C02182A */ jal func_800860A8 -/* 08758C 8008698C AFB90014 */ sw $t9, 0x14($sp) -/* 087590 80086990 1000001E */ b .L80086A0C -/* 087594 80086994 00401825 */ move $v1, $v0 -glabel L80086998 -/* 087598 80086998 8E0A0000 */ lw $t2, ($s0) -/* 08759C 8008699C 3C188012 */ lui $t8, %hi(D_80126A04) # $t8, 0x8012 -/* 0875A0 800869A0 8F186A04 */ lw $t8, %lo(D_80126A04)($t8) -/* 0875A4 800869A4 000A6100 */ sll $t4, $t2, 4 -/* 0875A8 800869A8 24090009 */ li $t1, 9 -/* 0875AC 800869AC 030C5821 */ addu $t3, $t8, $t4 -/* 0875B0 800869B0 A1690000 */ sb $t1, ($t3) -/* 0875B4 800869B4 8E0F0000 */ lw $t7, ($s0) -/* 0875B8 800869B8 00000000 */ nop -/* 0875BC 800869BC 25ED0001 */ addiu $t5, $t7, 1 -/* 0875C0 800869C0 0C01D2C7 */ jal func_80074B1C -/* 0875C4 800869C4 AE0D0000 */ sw $t5, ($s0) -/* 0875C8 800869C8 3C088012 */ lui $t0, %hi(D_80126BD4) # $t0, 0x8012 -/* 0875CC 800869CC 8D086BD4 */ lw $t0, %lo(D_80126BD4)($t0) -/* 0875D0 800869D0 3C0E8012 */ lui $t6, %hi(D_80126A0C) # $t6, 0x8012 -/* 0875D4 800869D4 8DCE6A0C */ lw $t6, %lo(D_80126A0C)($t6) -/* 0875D8 800869D8 0008C900 */ sll $t9, $t0, 4 -/* 0875DC 800869DC AFA20010 */ sw $v0, 0x10($sp) -/* 0875E0 800869E0 01D95021 */ addu $t2, $t6, $t9 -/* 0875E4 800869E4 91580006 */ lbu $t8, 6($t2) -/* 0875E8 800869E8 3C068012 */ lui $a2, %hi(D_80126A04) # $a2, 0x8012 -/* 0875EC 800869EC 8CC66A04 */ lw $a2, %lo(D_80126A04)($a2) -/* 0875F0 800869F0 3C058012 */ lui $a1, %hi(D_80126A1C) # $a1, 0x8012 -/* 0875F4 800869F4 24A56A1C */ addiu $a1, %lo(D_80126A1C) # addiu $a1, $a1, 0x6a1c -/* 0875F8 800869F8 24040001 */ li $a0, 1 -/* 0875FC 800869FC 02003825 */ move $a3, $s0 -/* 087600 80086A00 0C02182A */ jal func_800860A8 -/* 087604 80086A04 AFB80014 */ sw $t8, 0x14($sp) -/* 087608 80086A08 00401825 */ move $v1, $v0 -.L80086A0C: -/* 08760C 80086A0C 8E0B0000 */ lw $t3, ($s0) -/* 087610 80086A10 3C098012 */ lui $t1, %hi(D_80126A04) # $t1, 0x8012 -/* 087614 80086A14 8D296A04 */ lw $t1, %lo(D_80126A04)($t1) -/* 087618 80086A18 000B7900 */ sll $t7, $t3, 4 -/* 08761C 80086A1C 240C0007 */ li $t4, 7 -/* 087620 80086A20 012F6821 */ addu $t5, $t1, $t7 -/* 087624 80086A24 A1AC0000 */ sb $t4, ($t5) -/* 087628 80086A28 8E080000 */ lw $t0, ($s0) -/* 08762C 80086A2C 8FBF0024 */ lw $ra, 0x24($sp) -/* 087630 80086A30 250E0001 */ addiu $t6, $t0, 1 -/* 087634 80086A34 AE0E0000 */ sw $t6, ($s0) -/* 087638 80086A38 8FB00020 */ lw $s0, 0x20($sp) -/* 08763C 80086A3C 27BD0028 */ addiu $sp, $sp, 0x28 -/* 087640 80086A40 03E00008 */ jr $ra -/* 087644 80086A44 00601025 */ move $v0, $v1 - diff --git a/asm/non_matchings/menu/func_8008E4EC.s b/asm/non_matchings/menu/func_8008E4EC.s index dfafa96f..c607de1b 100644 --- a/asm/non_matchings/menu/func_8008E4EC.s +++ b/asm/non_matchings/menu/func_8008E4EC.s @@ -174,8 +174,3 @@ glabel func_8008E4EC /* 08F388 8008E788 03E00008 */ jr $ra /* 08F38C 8008E78C 27BD0078 */ addiu $sp, $sp, 0x78 -/* 08F390 8008E790 3C02800E */ lui $v0, %hi(D_800E097C) # $v0, 0x800e -/* 08F394 8008E794 8C42097C */ lw $v0, %lo(D_800E097C)($v0) -/* 08F398 8008E798 03E00008 */ jr $ra -/* 08F39C 8008E79C 00000000 */ nop - diff --git a/asm/non_matchings/menu/func_80093A40.s b/asm/non_matchings/menu/func_80093A40.s deleted file mode 100644 index ca61007a..00000000 --- a/asm/non_matchings/menu/func_80093A40.s +++ /dev/null @@ -1,210 +0,0 @@ -glabel func_80093A40 -/* 094640 80093A40 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 094644 80093A44 AFBF001C */ sw $ra, 0x1c($sp) -/* 094648 80093A48 AFB10018 */ sw $s1, 0x18($sp) -/* 09464C 80093A4C AFB00014 */ sw $s0, 0x14($sp) -/* 094650 80093A50 0C01C8A6 */ jal func_80072298 -/* 094654 80093A54 00002025 */ move $a0, $zero -/* 094658 80093A58 0C01BAA4 */ jal get_settings -/* 09465C 80093A5C 00000000 */ nop -/* 094660 80093A60 3C11800E */ lui $s1, %hi(D_800E098C) # $s1, 0x800e -/* 094664 80093A64 2631098C */ addiu $s1, %lo(D_800E098C) # addiu $s1, $s1, 0x98c -/* 094668 80093A68 240EFFFF */ li $t6, -1 -/* 09466C 80093A6C AFA20024 */ sw $v0, 0x24($sp) -/* 094670 80093A70 AE2E0000 */ sw $t6, ($s1) -/* 094674 80093A74 0C0270F6 */ jal get_active_player_count -/* 094678 80093A78 00008025 */ move $s0, $zero -/* 09467C 80093A7C 18400014 */ blez $v0, .L80093AD0 -/* 094680 80093A80 00000000 */ nop -/* 094684 80093A84 8E2F0000 */ lw $t7, ($s1) -/* 094688 80093A88 00000000 */ nop -/* 09468C 80093A8C 05E10010 */ bgez $t7, .L80093AD0 -/* 094690 80093A90 00000000 */ nop -.L80093A94: -/* 094694 80093A94 0C01A94A */ jal get_buttons_held_from_player -/* 094698 80093A98 02002025 */ move $a0, $s0 -/* 09469C 80093A9C 30581000 */ andi $t8, $v0, 0x1000 -/* 0946A0 80093AA0 13000002 */ beqz $t8, .L80093AAC -/* 0946A4 80093AA4 00000000 */ nop -/* 0946A8 80093AA8 AE300000 */ sw $s0, ($s1) -.L80093AAC: -/* 0946AC 80093AAC 0C0270F6 */ jal get_active_player_count -/* 0946B0 80093AB0 26100001 */ addiu $s0, $s0, 1 -/* 0946B4 80093AB4 0202082A */ slt $at, $s0, $v0 -/* 0946B8 80093AB8 10200005 */ beqz $at, .L80093AD0 -/* 0946BC 80093ABC 00000000 */ nop -/* 0946C0 80093AC0 8E390000 */ lw $t9, ($s1) -/* 0946C4 80093AC4 00000000 */ nop -/* 0946C8 80093AC8 0720FFF2 */ bltz $t9, .L80093A94 -/* 0946CC 80093ACC 00000000 */ nop -.L80093AD0: -/* 0946D0 80093AD0 8E280000 */ lw $t0, ($s1) -/* 0946D4 80093AD4 3C05800E */ lui $a1, %hi(D_800E0984) # $a1, 0x800e -/* 0946D8 80093AD8 05010002 */ bgez $t0, .L80093AE4 -/* 0946DC 80093ADC 24A50984 */ addiu $a1, %lo(D_800E0984) # addiu $a1, $a1, 0x984 -/* 0946E0 80093AE0 AE200000 */ sw $zero, ($s1) -.L80093AE4: -/* 0946E4 80093AE4 3C06800E */ lui $a2, %hi(gMenuText) # $a2, 0x800e -/* 0946E8 80093AE8 24C6F4A0 */ addiu $a2, %lo(gMenuText) # addiu $a2, $a2, -0xb60 -/* 0946EC 80093AEC 8CC30000 */ lw $v1, ($a2) -/* 0946F0 80093AF0 3C118012 */ lui $s1, %hi(D_80126A40) # $s1, 0x8012 -/* 0946F4 80093AF4 8C690188 */ lw $t1, 0x188($v1) -/* 0946F8 80093AF8 26316A40 */ addiu $s1, %lo(D_80126A40) # addiu $s1, $s1, 0x6a40 -/* 0946FC 80093AFC 24070001 */ li $a3, 1 -/* 094700 80093B00 ACA70000 */ sw $a3, ($a1) -/* 094704 80093B04 3C0A800E */ lui $t2, %hi(gTrophyRaceWorldId) # $t2, 0x800e -/* 094708 80093B08 AE290000 */ sw $t1, ($s1) -/* 09470C 80093B0C 8D4A0FE8 */ lw $t2, %lo(gTrophyRaceWorldId)($t2) -/* 094710 80093B10 8FAB0024 */ lw $t3, 0x24($sp) -/* 094714 80093B14 15400073 */ bnez $t2, .L80093CE4 -/* 094718 80093B18 00000000 */ nop -/* 09471C 80093B1C 91640049 */ lbu $a0, 0x49($t3) -/* 094720 80093B20 0C01AC53 */ jal func_8006B14C -/* 094724 80093B24 00000000 */ nop -/* 094728 80093B28 8FAC0024 */ lw $t4, 0x24($sp) -/* 09472C 80093B2C 3C05800E */ lui $a1, %hi(D_800E0984) # $a1, 0x800e -/* 094730 80093B30 918D0048 */ lbu $t5, 0x48($t4) -/* 094734 80093B34 3C06800E */ lui $a2, %hi(gMenuText) # $a2, 0x800e -/* 094738 80093B38 24C6F4A0 */ addiu $a2, %lo(gMenuText) # addiu $a2, $a2, -0xb60 -/* 09473C 80093B3C 24A50984 */ addiu $a1, %lo(D_800E0984) # addiu $a1, $a1, 0x984 -/* 094740 80093B40 24070001 */ li $a3, 1 -/* 094744 80093B44 15A00012 */ bnez $t5, .L80093B90 -/* 094748 80093B48 00408025 */ move $s0, $v0 -/* 09474C 80093B4C 0C008D07 */ jal func_8002341C -/* 094750 80093B50 00000000 */ nop -/* 094754 80093B54 3C05800E */ lui $a1, %hi(D_800E0984) # $a1, 0x800e -/* 094758 80093B58 3C06800E */ lui $a2, %hi(gMenuText) # $a2, 0x800e -/* 09475C 80093B5C 24C6F4A0 */ addiu $a2, %lo(gMenuText) # addiu $a2, $a2, -0xb60 -/* 094760 80093B60 24A50984 */ addiu $a1, %lo(D_800E0984) # addiu $a1, $a1, 0x984 -/* 094764 80093B64 1040000A */ beqz $v0, .L80093B90 -/* 094768 80093B68 24070001 */ li $a3, 1 -/* 09476C 80093B6C 8CCE0000 */ lw $t6, ($a2) -/* 094770 80093B70 24180002 */ li $t8, 2 -/* 094774 80093B74 8DCF0200 */ lw $t7, 0x200($t6) -/* 094778 80093B78 ACB80000 */ sw $t8, ($a1) -/* 09477C 80093B7C 3C02800E */ lui $v0, %hi(gIsInTracksMode) # $v0, 0x800e -/* 094780 80093B80 AE2F0004 */ sw $t7, 4($s1) -/* 094784 80093B84 8C42F4B8 */ lw $v0, %lo(gIsInTracksMode)($v0) -/* 094788 80093B88 1000003F */ b .L80093C88 -/* 09478C 80093B8C 00000000 */ nop -.L80093B90: -/* 094790 80093B90 8FB90024 */ lw $t9, 0x24($sp) -/* 094794 80093B94 24010008 */ li $at, 8 -/* 094798 80093B98 93280048 */ lbu $t0, 0x48($t9) -/* 09479C 80093B9C 3C02800E */ lui $v0, %hi(gIsInTracksMode) # $v0, 0x800e -/* 0947A0 80093BA0 1900002B */ blez $t0, .L80093C50 -/* 0947A4 80093BA4 00000000 */ nop -/* 0947A8 80093BA8 12010029 */ beq $s0, $at, .L80093C50 -/* 0947AC 80093BAC 32090040 */ andi $t1, $s0, 0x40 -/* 0947B0 80093BB0 11200012 */ beqz $t1, .L80093BFC -/* 0947B4 80093BB4 3C02800E */ lui $v0, %hi(gIsInTracksMode) # $v0, 0x800e -/* 0947B8 80093BB8 8CC30000 */ lw $v1, ($a2) -/* 0947BC 80093BBC 3C0B800E */ lui $t3, %hi(gIsInTracksMode) # $t3, 0x800e -/* 0947C0 80093BC0 8C6A01FC */ lw $t2, 0x1fc($v1) -/* 0947C4 80093BC4 240E0003 */ li $t6, 3 -/* 0947C8 80093BC8 AE2A0004 */ sw $t2, 4($s1) -/* 0947CC 80093BCC 8D6BF4B8 */ lw $t3, %lo(gIsInTracksMode)($t3) -/* 0947D0 80093BD0 00000000 */ nop -/* 0947D4 80093BD4 15600004 */ bnez $t3, .L80093BE8 -/* 0947D8 80093BD8 00000000 */ nop -/* 0947DC 80093BDC 8C6C0064 */ lw $t4, 0x64($v1) -/* 0947E0 80093BE0 10000004 */ b .L80093BF4 -/* 0947E4 80093BE4 AE2C0008 */ sw $t4, 8($s1) -.L80093BE8: -/* 0947E8 80093BE8 8C6D0060 */ lw $t5, 0x60($v1) -/* 0947EC 80093BEC 00000000 */ nop -/* 0947F0 80093BF0 AE2D0008 */ sw $t5, 8($s1) -.L80093BF4: -/* 0947F4 80093BF4 10000013 */ b .L80093C44 -/* 0947F8 80093BF8 ACAE0000 */ sw $t6, ($a1) -.L80093BFC: -/* 0947FC 80093BFC 16000011 */ bnez $s0, .L80093C44 -/* 094800 80093C00 24090003 */ li $t1, 3 -/* 094804 80093C04 8CC30000 */ lw $v1, ($a2) -/* 094808 80093C08 3C18800E */ lui $t8, %hi(gIsInTracksMode) # $t8, 0x800e -/* 09480C 80093C0C 8C6F01F8 */ lw $t7, 0x1f8($v1) -/* 094810 80093C10 00000000 */ nop -/* 094814 80093C14 AE2F0004 */ sw $t7, 4($s1) -/* 094818 80093C18 8F18F4B8 */ lw $t8, %lo(gIsInTracksMode)($t8) -/* 09481C 80093C1C 00000000 */ nop -/* 094820 80093C20 17000004 */ bnez $t8, .L80093C34 -/* 094824 80093C24 00000000 */ nop -/* 094828 80093C28 8C790064 */ lw $t9, 0x64($v1) -/* 09482C 80093C2C 10000004 */ b .L80093C40 -/* 094830 80093C30 AE390008 */ sw $t9, 8($s1) -.L80093C34: -/* 094834 80093C34 8C680060 */ lw $t0, 0x60($v1) -/* 094838 80093C38 00000000 */ nop -/* 09483C 80093C3C AE280008 */ sw $t0, 8($s1) -.L80093C40: -/* 094840 80093C40 ACA90000 */ sw $t1, ($a1) -.L80093C44: -/* 094844 80093C44 8C42F4B8 */ lw $v0, %lo(gIsInTracksMode)($v0) -/* 094848 80093C48 1000000F */ b .L80093C88 -/* 09484C 80093C4C 00000000 */ nop -.L80093C50: -/* 094850 80093C50 8C42F4B8 */ lw $v0, %lo(gIsInTracksMode)($v0) -/* 094854 80093C54 24010008 */ li $at, 8 -/* 094858 80093C58 1440000B */ bnez $v0, .L80093C88 -/* 09485C 80093C5C 00000000 */ nop -/* 094860 80093C60 16010009 */ bne $s0, $at, .L80093C88 -/* 094864 80093C64 00000000 */ nop -/* 094868 80093C68 8CC30000 */ lw $v1, ($a2) -/* 09486C 80093C6C 240C0003 */ li $t4, 3 -/* 094870 80093C70 8C6A01F8 */ lw $t2, 0x1f8($v1) -/* 094874 80093C74 00000000 */ nop -/* 094878 80093C78 AE2A0004 */ sw $t2, 4($s1) -/* 09487C 80093C7C 8C6B0064 */ lw $t3, 0x64($v1) -/* 094880 80093C80 ACAC0000 */ sw $t4, ($a1) -/* 094884 80093C84 AE2B0008 */ sw $t3, 8($s1) -.L80093C88: -/* 094888 80093C88 3C03800E */ lui $v1, %hi(gMenuText) # $v1, 0x800e -/* 09488C 80093C8C 8C63F4A0 */ lw $v1, %lo(gMenuText)($v1) -/* 094890 80093C90 14E2000C */ bne $a3, $v0, .L80093CC4 -/* 094894 80093C94 3C0D800E */ lui $t5, %hi(gNumberOfActivePlayers) # $t5, 0x800e -/* 094898 80093C98 8DADF4BC */ lw $t5, %lo(gNumberOfActivePlayers)($t5) -/* 09489C 80093C9C 00000000 */ nop -/* 0948A0 80093CA0 14ED0008 */ bne $a3, $t5, .L80093CC4 -/* 0948A4 80093CA4 00000000 */ nop -/* 0948A8 80093CA8 8CA20000 */ lw $v0, ($a1) -/* 0948AC 80093CAC 8C6E0068 */ lw $t6, 0x68($v1) -/* 0948B0 80093CB0 00027880 */ sll $t7, $v0, 2 -/* 0948B4 80093CB4 022FC021 */ addu $t8, $s1, $t7 -/* 0948B8 80093CB8 24590001 */ addiu $t9, $v0, 1 -/* 0948BC 80093CBC AF0E0000 */ sw $t6, ($t8) -/* 0948C0 80093CC0 ACB90000 */ sw $t9, ($a1) -.L80093CC4: -/* 0948C4 80093CC4 8CA20000 */ lw $v0, ($a1) -/* 0948C8 80093CC8 8C68020C */ lw $t0, 0x20c($v1) -/* 0948CC 80093CCC 00024880 */ sll $t1, $v0, 2 -/* 0948D0 80093CD0 02295021 */ addu $t2, $s1, $t1 -/* 0948D4 80093CD4 244B0001 */ addiu $t3, $v0, 1 -/* 0948D8 80093CD8 AD480000 */ sw $t0, ($t2) -/* 0948DC 80093CDC 10000008 */ b .L80093D00 -/* 0948E0 80093CE0 ACAB0000 */ sw $t3, ($a1) -.L80093CE4: -/* 0948E4 80093CE4 8CA20000 */ lw $v0, ($a1) -/* 0948E8 80093CE8 8C6C0204 */ lw $t4, 0x204($v1) -/* 0948EC 80093CEC 00026880 */ sll $t5, $v0, 2 -/* 0948F0 80093CF0 022D7821 */ addu $t7, $s1, $t5 -/* 0948F4 80093CF4 244E0001 */ addiu $t6, $v0, 1 -/* 0948F8 80093CF8 ADEC0000 */ sw $t4, ($t7) -/* 0948FC 80093CFC ACAE0000 */ sw $t6, ($a1) -.L80093D00: -/* 094900 80093D00 3C018012 */ lui $at, %hi(D_80126A68) # $at, 0x8012 -/* 094904 80093D04 AC206A68 */ sw $zero, %lo(D_80126A68)($at) -/* 094908 80093D08 3C018012 */ lui $at, %hi(D_801263BC) # $at, 0x8012 -/* 09490C 80093D0C AC2063BC */ sw $zero, %lo(D_801263BC)($at) -/* 094910 80093D10 3C01800E */ lui $at, %hi(gMenuDelay) # $at, 0x800e -/* 094914 80093D14 AC20F47C */ sw $zero, %lo(gMenuDelay)($at) -/* 094918 80093D18 3C018012 */ lui $at, %hi(gIgnorePlayerInput) # $at, 0x8012 -/* 09491C 80093D1C AC2763C4 */ sw $a3, %lo(gIgnorePlayerInput)($at) -/* 094920 80093D20 3C01800E */ lui $at, %hi(D_800E0988) # $at, 0x800e -/* 094924 80093D24 0C026F97 */ jal reset_controller_sticks -/* 094928 80093D28 AC200988 */ sw $zero, %lo(D_800E0988)($at) -/* 09492C 80093D2C 8FBF001C */ lw $ra, 0x1c($sp) -/* 094930 80093D30 8FB00014 */ lw $s0, 0x14($sp) -/* 094934 80093D34 8FB10018 */ lw $s1, 0x18($sp) -/* 094938 80093D38 03E00008 */ jr $ra -/* 09493C 80093D3C 27BD0030 */ addiu $sp, $sp, 0x30 - diff --git a/asm/non_matchings/menu/func_80094170.s b/asm/non_matchings/menu/func_80094170.s deleted file mode 100644 index f76c9403..00000000 --- a/asm/non_matchings/menu/func_80094170.s +++ /dev/null @@ -1,303 +0,0 @@ -glabel func_80094170 -/* 094D70 80094170 3C0E800E */ lui $t6, %hi(D_800E0984) # $t6, 0x800e -/* 094D74 80094174 8DCE0984 */ lw $t6, %lo(D_800E0984)($t6) -/* 094D78 80094178 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 094D7C 8009417C AFBF0014 */ sw $ra, 0x14($sp) -/* 094D80 80094180 AFA40018 */ sw $a0, 0x18($sp) -/* 094D84 80094184 15C00005 */ bnez $t6, .L8009419C -/* 094D88 80094188 AFA5001C */ sw $a1, 0x1c($sp) -/* 094D8C 8009418C 0C00025A */ jal func_80000968 -/* 094D90 80094190 00002025 */ move $a0, $zero -/* 094D94 80094194 10000102 */ b .L800945A0 -/* 094D98 80094198 00001025 */ move $v0, $zero -.L8009419C: -/* 094D9C 8009419C 0C00025A */ jal func_80000968 -/* 094DA0 800941A0 24040001 */ li $a0, 1 -/* 094DA4 800941A4 3C028012 */ lui $v0, %hi(D_801263BC) # $v0, 0x8012 -/* 094DA8 800941A8 244263BC */ addiu $v0, %lo(D_801263BC) # addiu $v0, $v0, 0x63bc -/* 094DAC 800941AC 8C4F0000 */ lw $t7, ($v0) -/* 094DB0 800941B0 8FB8001C */ lw $t8, 0x1c($sp) -/* 094DB4 800941B4 00000000 */ nop -/* 094DB8 800941B8 01F8C821 */ addu $t9, $t7, $t8 -/* 094DBC 800941BC 3329003F */ andi $t1, $t9, 0x3f -/* 094DC0 800941C0 0C026FC8 */ jal update_controller_sticks -/* 094DC4 800941C4 AC490000 */ sw $t1, ($v0) -/* 094DC8 800941C8 3C0A8012 */ lui $t2, %hi(gIgnorePlayerInput) # $t2, 0x8012 -/* 094DCC 800941CC 8D4A63C4 */ lw $t2, %lo(gIgnorePlayerInput)($t2) -/* 094DD0 800941D0 00001825 */ move $v1, $zero -/* 094DD4 800941D4 15400005 */ bnez $t2, .L800941EC -/* 094DD8 800941D8 3C04800E */ lui $a0, %hi(D_800E098C) # $a0, 0x800e -/* 094DDC 800941DC 8C84098C */ lw $a0, %lo(D_800E098C)($a0) -/* 094DE0 800941E0 0C01A955 */ jal get_buttons_pressed_from_player -/* 094DE4 800941E4 00000000 */ nop -/* 094DE8 800941E8 00401825 */ move $v1, $v0 -.L800941EC: -/* 094DEC 800941EC 3C06800E */ lui $a2, %hi(gMenuDelay) # $a2, 0x800e -/* 094DF0 800941F0 24C6F47C */ addiu $a2, %lo(gMenuDelay) # addiu $a2, $a2, -0xb84 -/* 094DF4 800941F4 8CC20000 */ lw $v0, ($a2) -/* 094DF8 800941F8 3C08800E */ lui $t0, %hi(D_800E0988) # $t0, 0x800e -/* 094DFC 800941FC 1440007A */ bnez $v0, .L800943E8 -/* 094E00 80094200 244D0001 */ addiu $t5, $v0, 1 -/* 094E04 80094204 25080988 */ addiu $t0, %lo(D_800E0988) # addiu $t0, $t0, 0x988 -/* 094E08 80094208 8D020000 */ lw $v0, ($t0) -/* 094E0C 8009420C 306B9000 */ andi $t3, $v1, 0x9000 -/* 094E10 80094210 1040002C */ beqz $v0, .L800942C4 -/* 094E14 80094214 30699000 */ andi $t1, $v1, 0x9000 -/* 094E18 80094218 1160000F */ beqz $t3, .L80094258 -/* 094E1C 8009421C 306D4000 */ andi $t5, $v1, 0x4000 -/* 094E20 80094220 240400EF */ li $a0, 239 -/* 094E24 80094224 0C000741 */ jal play_sound_global -/* 094E28 80094228 00002825 */ move $a1, $zero -/* 094E2C 8009422C 3C08800E */ lui $t0, %hi(D_800E0988) # $t0, 0x800e -/* 094E30 80094230 25080988 */ addiu $t0, %lo(D_800E0988) # addiu $t0, $t0, 0x988 -/* 094E34 80094234 8D0C0000 */ lw $t4, ($t0) -/* 094E38 80094238 24020001 */ li $v0, 1 -/* 094E3C 8009423C 3C06800E */ lui $a2, %hi(gMenuDelay) # $a2, 0x800e -/* 094E40 80094240 144C0003 */ bne $v0, $t4, .L80094250 -/* 094E44 80094244 24C6F47C */ addiu $a2, %lo(gMenuDelay) # addiu $a2, $a2, -0xb84 -/* 094E48 80094248 100000CF */ b .L80094588 -/* 094E4C 8009424C ACC20000 */ sw $v0, ($a2) -.L80094250: -/* 094E50 80094250 100000CD */ b .L80094588 -/* 094E54 80094254 AD000000 */ sw $zero, ($t0) -.L80094258: -/* 094E58 80094258 11A00008 */ beqz $t5, .L8009427C -/* 094E5C 8009425C 00022E00 */ sll $a1, $v0, 0x18 -/* 094E60 80094260 240400EF */ li $a0, 239 -/* 094E64 80094264 0C000741 */ jal play_sound_global -/* 094E68 80094268 00002825 */ move $a1, $zero -/* 094E6C 8009426C 3C08800E */ lui $t0, %hi(D_800E0988) # $t0, 0x800e -/* 094E70 80094270 25080988 */ addiu $t0, %lo(D_800E0988) # addiu $t0, $t0, 0x988 -/* 094E74 80094274 100000C4 */ b .L80094588 -/* 094E78 80094278 AD000000 */ sw $zero, ($t0) -.L8009427C: -/* 094E7C 8009427C 3C04800E */ lui $a0, %hi(D_800E098C) # $a0, 0x800e -/* 094E80 80094280 8C84098C */ lw $a0, %lo(D_800E098C)($a0) -/* 094E84 80094284 3C0F8012 */ lui $t7, %hi(gControllersYAxisDirection) # $t7, 0x8012 -/* 094E88 80094288 01E47821 */ addu $t7, $t7, $a0 -/* 094E8C 8009428C 81EF6464 */ lb $t7, %lo(gControllersYAxisDirection)($t7) -/* 094E90 80094290 00057603 */ sra $t6, $a1, 0x18 -/* 094E94 80094294 11E00005 */ beqz $t7, .L800942AC -/* 094E98 80094298 01C02825 */ move $a1, $t6 -/* 094E9C 8009429C 24180003 */ li $t8, 3 -/* 094EA0 800942A0 0302C823 */ subu $t9, $t8, $v0 -/* 094EA4 800942A4 AD190000 */ sw $t9, ($t0) -/* 094EA8 800942A8 03201025 */ move $v0, $t9 -.L800942AC: -/* 094EAC 800942AC 10A200B6 */ beq $a1, $v0, .L80094588 -/* 094EB0 800942B0 240400EB */ li $a0, 235 -/* 094EB4 800942B4 0C000741 */ jal play_sound_global -/* 094EB8 800942B8 00002825 */ move $a1, $zero -/* 094EBC 800942BC 100000B3 */ b .L8009458C -/* 094EC0 800942C0 8FA4001C */ lw $a0, 0x1c($sp) -.L800942C4: -/* 094EC4 800942C4 11200022 */ beqz $t1, .L80094350 -/* 094EC8 800942C8 3C078012 */ lui $a3, %hi(D_80126A68) # $a3, 0x8012 -/* 094ECC 800942CC 240400EF */ li $a0, 239 -/* 094ED0 800942D0 0C000741 */ jal play_sound_global -/* 094ED4 800942D4 00002825 */ move $a1, $zero -/* 094ED8 800942D8 3C078012 */ lui $a3, %hi(D_80126A68) # $a3, 0x8012 -/* 094EDC 800942DC 24E76A68 */ addiu $a3, %lo(D_80126A68) # addiu $a3, $a3, 0x6a68 -/* 094EE0 800942E0 8CEA0000 */ lw $t2, ($a3) -/* 094EE4 800942E4 3C03800E */ lui $v1, %hi(gMenuText) # $v1, 0x800e -/* 094EE8 800942E8 8C63F4A0 */ lw $v1, %lo(gMenuText)($v1) -/* 094EEC 800942EC 3C028012 */ lui $v0, %hi(D_80126A40) # $v0, 0x8012 -/* 094EF0 800942F0 000A5880 */ sll $t3, $t2, 2 -/* 094EF4 800942F4 004B1021 */ addu $v0, $v0, $t3 -/* 094EF8 800942F8 8C426A40 */ lw $v0, %lo(D_80126A40)($v0) -/* 094EFC 800942FC 8C6C020C */ lw $t4, 0x20c($v1) -/* 094F00 80094300 3C06800E */ lui $a2, %hi(gMenuDelay) # $a2, 0x800e -/* 094F04 80094304 3C08800E */ lui $t0, %hi(D_800E0988) # $t0, 0x800e -/* 094F08 80094308 25080988 */ addiu $t0, %lo(D_800E0988) # addiu $t0, $t0, 0x988 -/* 094F0C 8009430C 104C000A */ beq $v0, $t4, .L80094338 -/* 094F10 80094310 24C6F47C */ addiu $a2, %lo(gMenuDelay) # addiu $a2, $a2, -0xb84 -/* 094F14 80094314 3C04800E */ lui $a0, %hi(gTrophyRaceWorldId) # $a0, 0x800e -/* 094F18 80094318 24840FE8 */ addiu $a0, %lo(gTrophyRaceWorldId) # addiu $a0, $a0, 0xfe8 -/* 094F1C 8009431C 8C8D0000 */ lw $t5, ($a0) -/* 094F20 80094320 00000000 */ nop -/* 094F24 80094324 11A00007 */ beqz $t5, .L80094344 -/* 094F28 80094328 00000000 */ nop -/* 094F2C 8009432C 8C6E0204 */ lw $t6, 0x204($v1) -/* 094F30 80094330 00000000 */ nop -/* 094F34 80094334 144E0003 */ bne $v0, $t6, .L80094344 -.L80094338: -/* 094F38 80094338 240F0002 */ li $t7, 2 -/* 094F3C 8009433C 10000092 */ b .L80094588 -/* 094F40 80094340 AD0F0000 */ sw $t7, ($t0) -.L80094344: -/* 094F44 80094344 24020001 */ li $v0, 1 -/* 094F48 80094348 1000008F */ b .L80094588 -/* 094F4C 8009434C ACC20000 */ sw $v0, ($a2) -.L80094350: -/* 094F50 80094350 3C04800E */ lui $a0, %hi(D_800E098C) # $a0, 0x800e -/* 094F54 80094354 8C84098C */ lw $a0, %lo(D_800E098C)($a0) -/* 094F58 80094358 24E76A68 */ addiu $a3, %lo(D_80126A68) # addiu $a3, $a3, 0x6a68 -/* 094F5C 8009435C 8CE20000 */ lw $v0, ($a3) -/* 094F60 80094360 3C038012 */ lui $v1, %hi(gControllersYAxisDirection) # $v1, 0x8012 -/* 094F64 80094364 00641821 */ addu $v1, $v1, $a0 -/* 094F68 80094368 80636464 */ lb $v1, %lo(gControllersYAxisDirection)($v1) -/* 094F6C 8009436C 00022E00 */ sll $a1, $v0, 0x18 -/* 094F70 80094370 0005C603 */ sra $t8, $a1, 0x18 -/* 094F74 80094374 04610004 */ bgez $v1, .L80094388 -/* 094F78 80094378 03002825 */ move $a1, $t8 -/* 094F7C 8009437C 24590001 */ addiu $t9, $v0, 1 -/* 094F80 80094380 ACF90000 */ sw $t9, ($a3) -/* 094F84 80094384 03201025 */ move $v0, $t9 -.L80094388: -/* 094F88 80094388 18600004 */ blez $v1, .L8009439C -/* 094F8C 8009438C 3C0C800E */ lui $t4, %hi(D_800E0984) # $t4, 0x800e -/* 094F90 80094390 2449FFFF */ addiu $t1, $v0, -1 -/* 094F94 80094394 ACE90000 */ sw $t1, ($a3) -/* 094F98 80094398 01201025 */ move $v0, $t1 -.L8009439C: -/* 094F9C 8009439C 04410005 */ bgez $v0, .L800943B4 -/* 094FA0 800943A0 3C0A800E */ lui $t2, %hi(D_800E0984) # $t2, 0x800e -/* 094FA4 800943A4 8D4A0984 */ lw $t2, %lo(D_800E0984)($t2) -/* 094FA8 800943A8 00000000 */ nop -/* 094FAC 800943AC 2542FFFF */ addiu $v0, $t2, -1 -/* 094FB0 800943B0 ACE20000 */ sw $v0, ($a3) -.L800943B4: -/* 094FB4 800943B4 8D8C0984 */ lw $t4, %lo(D_800E0984)($t4) -/* 094FB8 800943B8 240400EB */ li $a0, 235 -/* 094FBC 800943BC 004C082A */ slt $at, $v0, $t4 -/* 094FC0 800943C0 14200003 */ bnez $at, .L800943D0 -/* 094FC4 800943C4 00000000 */ nop -/* 094FC8 800943C8 ACE00000 */ sw $zero, ($a3) -/* 094FCC 800943CC 00001025 */ move $v0, $zero -.L800943D0: -/* 094FD0 800943D0 10A2006D */ beq $a1, $v0, .L80094588 -/* 094FD4 800943D4 00000000 */ nop -/* 094FD8 800943D8 0C000741 */ jal play_sound_global -/* 094FDC 800943DC 00002825 */ move $a1, $zero -/* 094FE0 800943E0 1000006A */ b .L8009458C -/* 094FE4 800943E4 8FA4001C */ lw $a0, 0x1c($sp) -.L800943E8: -/* 094FE8 800943E8 29A10004 */ slti $at, $t5, 4 -/* 094FEC 800943EC 14200066 */ bnez $at, .L80094588 -/* 094FF0 800943F0 ACCD0000 */ sw $t5, ($a2) -/* 094FF4 800943F4 0C02516C */ jal n_alSynRemovePlayer -/* 094FF8 800943F8 00000000 */ nop -/* 094FFC 800943FC 3C08800E */ lui $t0, %hi(D_800E0988) # $t0, 0x800e -/* 095000 80094400 25080988 */ addiu $t0, %lo(D_800E0988) # addiu $t0, $t0, 0x988 -/* 095004 80094404 8D0F0000 */ lw $t7, ($t0) -/* 095008 80094408 24020001 */ li $v0, 1 -/* 09500C 8009440C 144F0012 */ bne $v0, $t7, .L80094458 -/* 095010 80094410 3C078012 */ lui $a3, %hi(D_80126A68) # $a3, 0x8012 -/* 095014 80094414 3C04800E */ lui $a0, %hi(gTrophyRaceWorldId) # $a0, 0x800e -/* 095018 80094418 24840FE8 */ addiu $a0, %lo(gTrophyRaceWorldId) # addiu $a0, $a0, 0xfe8 -/* 09501C 8009441C 8C980000 */ lw $t8, ($a0) -/* 095020 80094420 3C19800E */ lui $t9, %hi(gIsInTracksMode) # $t9, 0x800e -/* 095024 80094424 1300000A */ beqz $t8, .L80094450 -/* 095028 80094428 00000000 */ nop -/* 09502C 8009442C AC800000 */ sw $zero, ($a0) -/* 095030 80094430 8F39F4B8 */ lw $t9, %lo(gIsInTracksMode)($t9) -/* 095034 80094434 00000000 */ nop -/* 095038 80094438 17200003 */ bnez $t9, .L80094448 -/* 09503C 8009443C 00000000 */ nop -/* 095040 80094440 10000057 */ b .L800945A0 -/* 095044 80094444 24020003 */ li $v0, 3 -.L80094448: -/* 095048 80094448 10000055 */ b .L800945A0 -/* 09504C 8009444C 24020005 */ li $v0, 5 -.L80094450: -/* 095050 80094450 10000053 */ b .L800945A0 -/* 095054 80094454 24020004 */ li $v0, 4 -.L80094458: -/* 095058 80094458 24E76A68 */ addiu $a3, %lo(D_80126A68) # addiu $a3, $a3, 0x6a68 -/* 09505C 8009445C 8CE90000 */ lw $t1, ($a3) -/* 095060 80094460 3C03800E */ lui $v1, %hi(gMenuText) # $v1, 0x800e -/* 095064 80094464 8C63F4A0 */ lw $v1, %lo(gMenuText)($v1) -/* 095068 80094468 3C028012 */ lui $v0, %hi(D_80126A40) # $v0, 0x8012 -/* 09506C 8009446C 00095080 */ sll $t2, $t1, 2 -/* 095070 80094470 004A1021 */ addu $v0, $v0, $t2 -/* 095074 80094474 8C426A40 */ lw $v0, %lo(D_80126A40)($v0) -/* 095078 80094478 8C6B0188 */ lw $t3, 0x188($v1) -/* 09507C 8009447C 00000000 */ nop -/* 095080 80094480 144B0005 */ bne $v0, $t3, .L80094498 -/* 095084 80094484 00000000 */ nop -/* 095088 80094488 0C00025A */ jal func_80000968 -/* 09508C 8009448C 00002025 */ move $a0, $zero -/* 095090 80094490 10000043 */ b .L800945A0 -/* 095094 80094494 24020001 */ li $v0, 1 -.L80094498: -/* 095098 80094498 8C6C01F8 */ lw $t4, 0x1f8($v1) -/* 09509C 8009449C 3C0E800E */ lui $t6, %hi(gIsInTracksMode) # $t6, 0x800e -/* 0950A0 800944A0 104C0005 */ beq $v0, $t4, .L800944B8 -/* 0950A4 800944A4 00000000 */ nop -/* 0950A8 800944A8 8C6D01FC */ lw $t5, 0x1fc($v1) -/* 0950AC 800944AC 00000000 */ nop -/* 0950B0 800944B0 144D0019 */ bne $v0, $t5, .L80094518 -/* 0950B4 800944B4 00000000 */ nop -.L800944B8: -/* 0950B8 800944B8 8DCEF4B8 */ lw $t6, %lo(gIsInTracksMode)($t6) -/* 0950BC 800944BC 00000000 */ nop -/* 0950C0 800944C0 15C00013 */ bnez $t6, .L80094510 -/* 0950C4 800944C4 00000000 */ nop -/* 0950C8 800944C8 0C01BAC5 */ jal func_8006EB14 -/* 0950CC 800944CC 00000000 */ nop -/* 0950D0 800944D0 00027840 */ sll $t7, $v0, 1 -/* 0950D4 800944D4 3C18800E */ lui $t8, %hi(D_800E0758) # $t8, 0x800e -/* 0950D8 800944D8 030FC021 */ addu $t8, $t8, $t7 -/* 0950DC 800944DC 87180758 */ lh $t8, %lo(D_800E0758)($t8) -/* 0950E0 800944E0 2401FFFF */ li $at, -1 -/* 0950E4 800944E4 1301000A */ beq $t8, $at, .L80094510 -/* 0950E8 800944E8 00000000 */ nop -/* 0950EC 800944EC 0C01BAC5 */ jal func_8006EB14 -/* 0950F0 800944F0 00000000 */ nop -/* 0950F4 800944F4 0002C840 */ sll $t9, $v0, 1 -/* 0950F8 800944F8 3C04800E */ lui $a0, %hi(D_800E0758) # $a0, 0x800e -/* 0950FC 800944FC 00992021 */ addu $a0, $a0, $t9 -/* 095100 80094500 94840758 */ lhu $a0, %lo(D_800E0758)($a0) -/* 095104 80094504 00002825 */ move $a1, $zero -/* 095108 80094508 0C0003F7 */ jal func_80000FDC -/* 09510C 8009450C 3C063F80 */ lui $a2, 0x3f80 -.L80094510: -/* 095110 80094510 10000023 */ b .L800945A0 -/* 095114 80094514 24020002 */ li $v0, 2 -.L80094518: -/* 095118 80094518 8C690064 */ lw $t1, 0x64($v1) -/* 09511C 8009451C 00000000 */ nop -/* 095120 80094520 14490003 */ bne $v0, $t1, .L80094530 -/* 095124 80094524 00000000 */ nop -/* 095128 80094528 1000001D */ b .L800945A0 -/* 09512C 8009452C 24020003 */ li $v0, 3 -.L80094530: -/* 095130 80094530 8C6A0060 */ lw $t2, 0x60($v1) -/* 095134 80094534 00000000 */ nop -/* 095138 80094538 144A0003 */ bne $v0, $t2, .L80094548 -/* 09513C 8009453C 00000000 */ nop -/* 095140 80094540 10000017 */ b .L800945A0 -/* 095144 80094544 24020005 */ li $v0, 5 -.L80094548: -/* 095148 80094548 8C6B0068 */ lw $t3, 0x68($v1) -/* 09514C 8009454C 00000000 */ nop -/* 095150 80094550 144B0003 */ bne $v0, $t3, .L80094560 -/* 095154 80094554 00000000 */ nop -/* 095158 80094558 10000011 */ b .L800945A0 -/* 09515C 8009455C 2402000C */ li $v0, 12 -.L80094560: -/* 095160 80094560 8C6C0200 */ lw $t4, 0x200($v1) -/* 095164 80094564 00000000 */ nop -/* 095168 80094568 144C0005 */ bne $v0, $t4, .L80094580 -/* 09516C 8009456C 00000000 */ nop -/* 095170 80094570 0C00025A */ jal func_80000968 -/* 095174 80094574 00002025 */ move $a0, $zero -/* 095178 80094578 10000009 */ b .L800945A0 -/* 09517C 8009457C 24020007 */ li $v0, 7 -.L80094580: -/* 095180 80094580 10000007 */ b .L800945A0 -/* 095184 80094584 24020001 */ li $v0, 1 -.L80094588: -/* 095188 80094588 8FA4001C */ lw $a0, 0x1c($sp) -.L8009458C: -/* 09518C 8009458C 0C024F50 */ jal func_80093D40 -/* 095190 80094590 00000000 */ nop -/* 095194 80094594 3C018012 */ lui $at, %hi(gIgnorePlayerInput) # $at, 0x8012 -/* 095198 80094598 AC2063C4 */ sw $zero, %lo(gIgnorePlayerInput)($at) -/* 09519C 8009459C 00001025 */ move $v0, $zero -.L800945A0: -/* 0951A0 800945A0 8FBF0014 */ lw $ra, 0x14($sp) -/* 0951A4 800945A4 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0951A8 800945A8 03E00008 */ jr $ra -/* 0951AC 800945AC 00000000 */ nop - diff --git a/asm/non_matchings/menu/menu_track_select_loop.s b/asm/non_matchings/menu/menu_track_select_loop.s deleted file mode 100644 index 4c060826..00000000 --- a/asm/non_matchings/menu/menu_track_select_loop.s +++ /dev/null @@ -1,213 +0,0 @@ -glabel menu_track_select_loop -/* 08FE34 8008F234 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 08FE38 8008F238 AFBF0014 */ sw $ra, 0x14($sp) -/* 08FE3C 8008F23C 0C01BAA4 */ jal get_settings -/* 08FE40 8008F240 AFA40020 */ sw $a0, 0x20($sp) -/* 08FE44 8008F244 3C038012 */ lui $v1, %hi(D_801263BC) # $v1, 0x8012 -/* 08FE48 8008F248 246363BC */ addiu $v1, %lo(D_801263BC) # addiu $v1, $v1, 0x63bc -/* 08FE4C 8008F24C 8C6E0000 */ lw $t6, ($v1) -/* 08FE50 8008F250 8FAF0020 */ lw $t7, 0x20($sp) -/* 08FE54 8008F254 AFA20018 */ sw $v0, 0x18($sp) -/* 08FE58 8008F258 01CFC021 */ addu $t8, $t6, $t7 -/* 08FE5C 8008F25C 3319003F */ andi $t9, $t8, 0x3f -/* 08FE60 8008F260 0C031CF8 */ jal get_thread30_level_id_to_load -/* 08FE64 8008F264 AC790000 */ sw $t9, ($v1) -/* 08FE68 8008F268 14400011 */ bnez $v0, .L8008F2B0 -/* 08FE6C 8008F26C 3C03800E */ lui $v1, %hi(gMenuDelay) # $v1, 0x800e -/* 08FE70 8008F270 2463F47C */ addiu $v1, %lo(gMenuDelay) # addiu $v1, $v1, -0xb84 -/* 08FE74 8008F274 8C620000 */ lw $v0, ($v1) -/* 08FE78 8008F278 00000000 */ nop -/* 08FE7C 8008F27C 1040000C */ beqz $v0, .L8008F2B0 -/* 08FE80 8008F280 00000000 */ nop -/* 08FE84 8008F284 04410007 */ bgez $v0, .L8008F2A4 -/* 08FE88 8008F288 8FAA0020 */ lw $t2, 0x20($sp) -/* 08FE8C 8008F28C 8FA80020 */ lw $t0, 0x20($sp) -/* 08FE90 8008F290 00000000 */ nop -/* 08FE94 8008F294 00484823 */ subu $t1, $v0, $t0 -/* 08FE98 8008F298 10000005 */ b .L8008F2B0 -/* 08FE9C 8008F29C AC690000 */ sw $t1, ($v1) -/* 08FEA0 8008F2A0 8FAA0020 */ lw $t2, 0x20($sp) -.L8008F2A4: -/* 08FEA4 8008F2A4 00000000 */ nop -/* 08FEA8 8008F2A8 004A5821 */ addu $t3, $v0, $t2 -/* 08FEAC 8008F2AC AC6B0000 */ sw $t3, ($v1) -.L8008F2B0: -/* 08FEB0 8008F2B0 0C02393B */ jal func_8008E4EC -/* 08FEB4 8008F2B4 00000000 */ nop -/* 08FEB8 8008F2B8 3C058012 */ lui $a1, %hi(sMenuCurrDisplayList) # $a1, 0x8012 -/* 08FEBC 8008F2BC 24A563A0 */ addiu $a1, %lo(sMenuCurrDisplayList) # addiu $a1, $a1, 0x63a0 -/* 08FEC0 8008F2C0 8CA30000 */ lw $v1, ($a1) -/* 08FEC4 8008F2C4 3C0DB600 */ lui $t5, 0xb600 -/* 08FEC8 8008F2C8 246C0008 */ addiu $t4, $v1, 8 -/* 08FECC 8008F2CC ACAC0000 */ sw $t4, ($a1) -/* 08FED0 8008F2D0 240E1000 */ li $t6, 4096 -/* 08FED4 8008F2D4 3C048012 */ lui $a0, %hi(D_801267D0) # $a0, 0x8012 -/* 08FED8 8008F2D8 AC6E0004 */ sw $t6, 4($v1) -/* 08FEDC 8008F2DC AC6D0000 */ sw $t5, ($v1) -/* 08FEE0 8008F2E0 8C8467D0 */ lw $a0, %lo(D_801267D0)($a0) -/* 08FEE4 8008F2E4 24010001 */ li $at, 1 -/* 08FEE8 8008F2E8 10800005 */ beqz $a0, .L8008F300 -/* 08FEEC 8008F2EC 00000000 */ nop -/* 08FEF0 8008F2F0 1081000F */ beq $a0, $at, .L8008F330 -/* 08FEF4 8008F2F4 8FA40020 */ lw $a0, 0x20($sp) -/* 08FEF8 8008F2F8 10000015 */ b .L8008F350 -/* 08FEFC 8008F2FC 00000000 */ nop -.L8008F300: -/* 08FF00 8008F300 8FA40020 */ lw $a0, 0x20($sp) -/* 08FF04 8008F304 0C023FC7 */ jal func_8008FF1C -/* 08FF08 8008F308 00000000 */ nop -/* 08FF0C 8008F30C 8FA40020 */ lw $a0, 0x20($sp) -/* 08FF10 8008F310 0C02413A */ jal func_800904E8 -/* 08FF14 8008F314 00000000 */ nop -/* 08FF18 8008F318 8FA40020 */ lw $a0, 0x20($sp) -/* 08FF1C 8008F31C 0C024246 */ jal func_80090918 -/* 08FF20 8008F320 00000000 */ nop -/* 08FF24 8008F324 1000000A */ b .L8008F350 -/* 08FF28 8008F328 00000000 */ nop -/* 08FF2C 8008F32C 8FA40020 */ lw $a0, 0x20($sp) -.L8008F330: -/* 08FF30 8008F330 0C0243B6 */ jal func_80090ED8 -/* 08FF34 8008F334 00000000 */ nop -/* 08FF38 8008F338 8FA40020 */ lw $a0, 0x20($sp) -/* 08FF3C 8008F33C 0C0243CC */ jal render_track_select_setup_ui -/* 08FF40 8008F340 00000000 */ nop -/* 08FF44 8008F344 8FA40020 */ lw $a0, 0x20($sp) -/* 08FF48 8008F348 0C024862 */ jal func_80092188 -/* 08FF4C 8008F34C 00000000 */ nop -.L8008F350: -/* 08FF50 8008F350 3C03800E */ lui $v1, %hi(sMenuMusicVolume) # $v1, 0x800e -/* 08FF54 8008F354 2463F760 */ addiu $v1, %lo(sMenuMusicVolume) # addiu $v1, $v1, -0x8a0 -/* 08FF58 8008F358 8C620000 */ lw $v0, ($v1) -/* 08FF5C 8008F35C 8FAF0020 */ lw $t7, 0x20($sp) -/* 08FF60 8008F360 04410005 */ bgez $v0, .L8008F378 -/* 08FF64 8008F364 000FC040 */ sll $t8, $t7, 1 -/* 08FF68 8008F368 0C000664 */ jal set_relative_volume_for_music -/* 08FF6C 8008F36C 00002025 */ move $a0, $zero -/* 08FF70 8008F370 1000000A */ b .L8008F39C -/* 08FF74 8008F374 00000000 */ nop -.L8008F378: -/* 08FF78 8008F378 0058C821 */ addu $t9, $v0, $t8 -/* 08FF7C 8008F37C 2B210051 */ slti $at, $t9, 0x51 -/* 08FF80 8008F380 AC790000 */ sw $t9, ($v1) -/* 08FF84 8008F384 14200003 */ bnez $at, .L8008F394 -/* 08FF88 8008F388 03201025 */ move $v0, $t9 -/* 08FF8C 8008F38C 24020050 */ li $v0, 80 -/* 08FF90 8008F390 AC620000 */ sw $v0, ($v1) -.L8008F394: -/* 08FF94 8008F394 0C000664 */ jal set_relative_volume_for_music -/* 08FF98 8008F398 304400FF */ andi $a0, $v0, 0xff -.L8008F39C: -/* 08FF9C 8008F39C 3C028012 */ lui $v0, %hi(D_801267D0) # $v0, 0x8012 -/* 08FFA0 8008F3A0 8C4267D0 */ lw $v0, %lo(D_801267D0)($v0) -/* 08FFA4 8008F3A4 00000000 */ nop -/* 08FFA8 8008F3A8 0441002F */ bgez $v0, .L8008F468 -/* 08FFAC 8008F3AC 28410002 */ slti $at, $v0, 2 -/* 08FFB0 8008F3B0 0C023D4D */ jal func_8008F534 -/* 08FFB4 8008F3B4 00000000 */ nop -/* 08FFB8 8008F3B8 3C02800E */ lui $v0, %hi(gNumberOfActivePlayers) # $v0, 0x800e -/* 08FFBC 8008F3BC 8C42F4BC */ lw $v0, %lo(gNumberOfActivePlayers)($v0) -/* 08FFC0 8008F3C0 3C01800E */ lui $at, %hi(D_800DF478) # $at, 0x800e -/* 08FFC4 8008F3C4 AC20F478 */ sw $zero, %lo(D_800DF478)($at) -/* 08FFC8 8008F3C8 28410003 */ slti $at, $v0, 3 -/* 08FFCC 8008F3CC 10200008 */ beqz $at, .L8008F3F0 -/* 08FFD0 8008F3D0 24010002 */ li $at, 2 -/* 08FFD4 8008F3D4 1441001C */ bne $v0, $at, .L8008F448 -/* 08FFD8 8008F3D8 3C09800E */ lui $t1, %hi(gActiveMagicCodes) # $t1, 0x800e -/* 08FFDC 8008F3DC 8D29FD98 */ lw $t1, %lo(gActiveMagicCodes)($t1) -/* 08FFE0 8008F3E0 00000000 */ nop -/* 08FFE4 8008F3E4 000951C0 */ sll $t2, $t1, 7 -/* 08FFE8 8008F3E8 05400018 */ bltz $t2, .L8008F44C -/* 08FFEC 8008F3EC 24040027 */ li $a0, 39 -.L8008F3F0: -/* 08FFF0 8008F3F0 0C027B34 */ jal is_drumstick_unlocked -/* 08FFF4 8008F3F4 AFA0001C */ sw $zero, 0x1c($sp) -/* 08FFF8 8008F3F8 8FA6001C */ lw $a2, 0x1c($sp) -/* 08FFFC 8008F3FC 10400002 */ beqz $v0, .L8008F408 -/* 090000 8008F400 00000000 */ nop -/* 090004 8008F404 24060001 */ li $a2, 1 -.L8008F408: -/* 090008 8008F408 0C027B2E */ jal is_tt_unlocked -/* 09000C 8008F40C AFA6001C */ sw $a2, 0x1c($sp) -/* 090010 8008F410 8FA6001C */ lw $a2, 0x1c($sp) -/* 090014 8008F414 10400003 */ beqz $v0, .L8008F424 -/* 090018 8008F418 24040016 */ li $a0, 22 -/* 09001C 8008F41C 38CB0003 */ xori $t3, $a2, 3 -/* 090020 8008F420 01603025 */ move $a2, $t3 -.L8008F424: -/* 090024 8008F424 0C01B8BA */ jal load_level_for_menu -/* 090028 8008F428 2405FFFF */ li $a1, -1 -/* 09002C 8008F42C 00002025 */ move $a0, $zero -/* 090030 8008F430 0C022BAD */ jal func_8008AEB4 -/* 090034 8008F434 00002825 */ move $a1, $zero -/* 090038 8008F438 0C0204F4 */ jal menu_init -/* 09003C 8008F43C 24040003 */ li $a0, 3 -/* 090040 8008F440 10000038 */ b .L8008F524 -/* 090044 8008F444 00001025 */ move $v0, $zero -.L8008F448: -/* 090048 8008F448 24040027 */ li $a0, 39 -.L8008F44C: -/* 09004C 8008F44C 2405FFFF */ li $a1, -1 -/* 090050 8008F450 0C01B8BA */ jal load_level_for_menu -/* 090054 8008F454 00003025 */ move $a2, $zero -/* 090058 8008F458 0C0204F4 */ jal menu_init -/* 09005C 8008F45C 24040013 */ li $a0, 19 -/* 090060 8008F460 10000030 */ b .L8008F524 -/* 090064 8008F464 00001025 */ move $v0, $zero -.L8008F468: -/* 090068 8008F468 1420002C */ bnez $at, .L8008F51C -/* 09006C 8008F46C 00001025 */ move $v0, $zero -/* 090070 8008F470 0C023D4D */ jal func_8008F534 -/* 090074 8008F474 00000000 */ nop -/* 090078 8008F478 3C0C800E */ lui $t4, %hi(gMultiplayerSelectedNumberOfRacers) # $t4, 0x800e -/* 09007C 8008F47C 3C0D8012 */ lui $t5, %hi(gMultiplayerSelectedNumberOfRacersCopy) # $t5, 0x8012 -/* 090080 8008F480 8DAD6548 */ lw $t5, %lo(gMultiplayerSelectedNumberOfRacersCopy)($t5) -/* 090084 8008F484 8D8C0410 */ lw $t4, %lo(gMultiplayerSelectedNumberOfRacers)($t4) -/* 090088 8008F488 00003025 */ move $a2, $zero -/* 09008C 8008F48C 118D000D */ beq $t4, $t5, .L8008F4C4 -/* 090090 8008F490 3C198012 */ lui $t9, %hi(D_801269C8) # $t9, 0x8012 -/* 090094 8008F494 8FA20018 */ lw $v0, 0x18($sp) -/* 090098 8008F498 24030008 */ li $v1, 8 -.L8008F49C: -/* 09009C 8008F49C 24CE0001 */ addiu $t6, $a2, 1 -/* 0900A0 8008F4A0 24CF0002 */ addiu $t7, $a2, 2 -/* 0900A4 8008F4A4 24D80003 */ addiu $t8, $a2, 3 -/* 0900A8 8008F4A8 A046005A */ sb $a2, 0x5a($v0) -/* 0900AC 8008F4AC 24C60004 */ addiu $a2, $a2, 4 -/* 0900B0 8008F4B0 A05800A2 */ sb $t8, 0xa2($v0) -/* 0900B4 8008F4B4 A04F008A */ sb $t7, 0x8a($v0) -/* 0900B8 8008F4B8 A04E0072 */ sb $t6, 0x72($v0) -/* 0900BC 8008F4BC 14C3FFF7 */ bne $a2, $v1, .L8008F49C -/* 0900C0 8008F4C0 24420060 */ addiu $v0, $v0, 0x60 -.L8008F4C4: -/* 0900C4 8008F4C4 8F3969C8 */ lw $t9, %lo(D_801269C8)($t9) -/* 0900C8 8008F4C8 24010004 */ li $at, 4 -/* 0900CC 8008F4CC 13210007 */ beq $t9, $at, .L8008F4EC -/* 0900D0 8008F4D0 3C098012 */ lui $t1, %hi(D_801269CC) # $t1, 0x8012 -/* 0900D4 8008F4D4 3C02800E */ lui $v0, %hi(gNumberOfActivePlayers) # $v0, 0x800e -/* 0900D8 8008F4D8 24080001 */ li $t0, 1 -/* 0900DC 8008F4DC 3C01800E */ lui $at, %hi(D_800DF478) # $at, 0x800e -/* 0900E0 8008F4E0 8C42F4BC */ lw $v0, %lo(gNumberOfActivePlayers)($v0) -/* 0900E4 8008F4E4 1000000F */ b .L8008F524 -/* 0900E8 8008F4E8 AC28F478 */ sw $t0, %lo(D_800DF478)($at) -.L8008F4EC: -/* 0900EC 8008F4EC 8D2969CC */ lw $t1, %lo(D_801269CC)($t1) -/* 0900F0 8008F4F0 3C01800E */ lui $at, %hi(gTrophyRaceWorldId) # $at, 0x800e -/* 0900F4 8008F4F4 252A0001 */ addiu $t2, $t1, 1 -/* 0900F8 8008F4F8 AC2A0FE8 */ sw $t2, %lo(gTrophyRaceWorldId)($at) -/* 0900FC 8008F4FC 3C01800E */ lui $at, %hi(D_800DF450) # $at, 0x800e -/* 090100 8008F500 A020F450 */ sb $zero, %lo(D_800DF450)($at) -/* 090104 8008F504 3C01800E */ lui $at, %hi(gTrophyRaceRound) # $at, 0x800e -/* 090108 8008F508 AC200FEC */ sw $zero, %lo(gTrophyRaceRound)($at) -/* 09010C 8008F50C 0C0204F4 */ jal menu_init -/* 090110 8008F510 24040014 */ li $a0, 20 -/* 090114 8008F514 10000003 */ b .L8008F524 -/* 090118 8008F518 00001025 */ move $v0, $zero -.L8008F51C: -/* 09011C 8008F51C 3C018012 */ lui $at, %hi(gIgnorePlayerInput) # $at, 0x8012 -/* 090120 8008F520 AC2063C4 */ sw $zero, %lo(gIgnorePlayerInput)($at) -.L8008F524: -/* 090124 8008F524 8FBF0014 */ lw $ra, 0x14($sp) -/* 090128 8008F528 27BD0020 */ addiu $sp, $sp, 0x20 -/* 09012C 8008F52C 03E00008 */ jr $ra -/* 090130 8008F530 00000000 */ nop - diff --git a/asm/non_matchings/printf/func_800B3564.s b/asm/non_matchings/printf/func_800B3564.s index 45789690..2d626df5 100644 --- a/asm/non_matchings/printf/func_800B3564.s +++ b/asm/non_matchings/printf/func_800B3564.s @@ -70,59 +70,3 @@ glabel func_800B3564 /* 0B426C 800B366C 8FB30028 */ lw $s3, 0x28($sp) /* 0B4270 800B3670 03E00008 */ jr $ra /* 0B4274 800B3674 27BD0030 */ addiu $sp, $sp, 0x30 - -/* 0B4278 800B3678 27BDFFB8 */ addiu $sp, $sp, -0x48 -/* 0B427C 800B367C AFB20024 */ sw $s2, 0x24($sp) -/* 0B4280 800B3680 AFB10020 */ sw $s1, 0x20($sp) -/* 0B4284 800B3684 00808825 */ move $s1, $a0 -/* 0B4288 800B3688 00A09025 */ move $s2, $a1 -/* 0B428C 800B368C AFBF002C */ sw $ra, 0x2c($sp) -/* 0B4290 800B3690 AFB30028 */ sw $s3, 0x28($sp) -/* 0B4294 800B3694 00C09825 */ move $s3, $a2 -/* 0B4298 800B3698 AFB0001C */ sw $s0, 0x1c($sp) -/* 0B429C 800B369C 27A50034 */ addiu $a1, $sp, 0x34 -/* 0B42A0 800B36A0 0C003A62 */ jal func_8000E988 -/* 0B42A4 800B36A4 27A40038 */ addiu $a0, $sp, 0x38 -/* 0B42A8 800B36A8 8FA30038 */ lw $v1, 0x38($sp) -/* 0B42AC 800B36AC 8FAE0034 */ lw $t6, 0x34($sp) -/* 0B42B0 800B36B0 00408025 */ move $s0, $v0 -/* 0B42B4 800B36B4 006E082A */ slt $at, $v1, $t6 -/* 0B42B8 800B36B8 1020001B */ beqz $at, .L800B3728 -/* 0B42BC 800B36BC 8FBF002C */ lw $ra, 0x2c($sp) -.L800B36C0: -/* 0B42C0 800B36C0 8FAF0038 */ lw $t7, 0x38($sp) -/* 0B42C4 800B36C4 00000000 */ nop -/* 0B42C8 800B36C8 000FC080 */ sll $t8, $t7, 2 -/* 0B42CC 800B36CC 0218C821 */ addu $t9, $s0, $t8 -/* 0B42D0 800B36D0 8F240000 */ lw $a0, ($t9) -/* 0B42D4 800B36D4 00000000 */ nop -/* 0B42D8 800B36D8 84880006 */ lh $t0, 6($a0) -/* 0B42DC 800B36DC 00000000 */ nop -/* 0B42E0 800B36E0 31098000 */ andi $t1, $t0, 0x8000 -/* 0B42E4 800B36E4 1120000A */ beqz $t1, .L800B3710 -/* 0B42E8 800B36E8 8FA30038 */ lw $v1, 0x38($sp) -/* 0B42EC 800B36EC 8C8A0040 */ lw $t2, 0x40($a0) -/* 0B42F0 800B36F0 02202825 */ move $a1, $s1 -/* 0B42F4 800B36F4 314B8000 */ andi $t3, $t2, 0x8000 -/* 0B42F8 800B36F8 11600004 */ beqz $t3, .L800B370C -/* 0B42FC 800B36FC 02403025 */ move $a2, $s2 -/* 0B4300 800B3700 02603825 */ move $a3, $s3 -/* 0B4304 800B3704 0C02CDD0 */ jal func_800B3740 -/* 0B4308 800B3708 AFA00010 */ sw $zero, 0x10($sp) -.L800B370C: -/* 0B430C 800B370C 8FA30038 */ lw $v1, 0x38($sp) -.L800B3710: -/* 0B4310 800B3710 8FAC0034 */ lw $t4, 0x34($sp) -/* 0B4314 800B3714 24630001 */ addiu $v1, $v1, 1 -/* 0B4318 800B3718 006C082A */ slt $at, $v1, $t4 -/* 0B431C 800B371C 1420FFE8 */ bnez $at, .L800B36C0 -/* 0B4320 800B3720 AFA30038 */ sw $v1, 0x38($sp) -/* 0B4324 800B3724 8FBF002C */ lw $ra, 0x2c($sp) -.L800B3728: -/* 0B4328 800B3728 8FB0001C */ lw $s0, 0x1c($sp) -/* 0B432C 800B372C 8FB10020 */ lw $s1, 0x20($sp) -/* 0B4330 800B3730 8FB20024 */ lw $s2, 0x24($sp) -/* 0B4334 800B3734 8FB30028 */ lw $s3, 0x28($sp) -/* 0B4338 800B3738 03E00008 */ jr $ra -/* 0B433C 800B373C 27BD0048 */ addiu $sp, $sp, 0x48 - diff --git a/asm/non_matchings/printf/func_800B3678.s b/asm/non_matchings/printf/func_800B3678.s new file mode 100644 index 00000000..16736aaa --- /dev/null +++ b/asm/non_matchings/printf/func_800B3678.s @@ -0,0 +1,55 @@ +glabel func_800B3678 +/* 0B4278 800B3678 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 0B427C 800B367C AFB20024 */ sw $s2, 0x24($sp) +/* 0B4280 800B3680 AFB10020 */ sw $s1, 0x20($sp) +/* 0B4284 800B3684 00808825 */ move $s1, $a0 +/* 0B4288 800B3688 00A09025 */ move $s2, $a1 +/* 0B428C 800B368C AFBF002C */ sw $ra, 0x2c($sp) +/* 0B4290 800B3690 AFB30028 */ sw $s3, 0x28($sp) +/* 0B4294 800B3694 00C09825 */ move $s3, $a2 +/* 0B4298 800B3698 AFB0001C */ sw $s0, 0x1c($sp) +/* 0B429C 800B369C 27A50034 */ addiu $a1, $sp, 0x34 +/* 0B42A0 800B36A0 0C003A62 */ jal func_8000E988 +/* 0B42A4 800B36A4 27A40038 */ addiu $a0, $sp, 0x38 +/* 0B42A8 800B36A8 8FA30038 */ lw $v1, 0x38($sp) +/* 0B42AC 800B36AC 8FAE0034 */ lw $t6, 0x34($sp) +/* 0B42B0 800B36B0 00408025 */ move $s0, $v0 +/* 0B42B4 800B36B4 006E082A */ slt $at, $v1, $t6 +/* 0B42B8 800B36B8 1020001B */ beqz $at, .L800B3728 +/* 0B42BC 800B36BC 8FBF002C */ lw $ra, 0x2c($sp) +.L800B36C0: +/* 0B42C0 800B36C0 8FAF0038 */ lw $t7, 0x38($sp) +/* 0B42C4 800B36C4 00000000 */ nop +/* 0B42C8 800B36C8 000FC080 */ sll $t8, $t7, 2 +/* 0B42CC 800B36CC 0218C821 */ addu $t9, $s0, $t8 +/* 0B42D0 800B36D0 8F240000 */ lw $a0, ($t9) +/* 0B42D4 800B36D4 00000000 */ nop +/* 0B42D8 800B36D8 84880006 */ lh $t0, 6($a0) +/* 0B42DC 800B36DC 00000000 */ nop +/* 0B42E0 800B36E0 31098000 */ andi $t1, $t0, 0x8000 +/* 0B42E4 800B36E4 1120000A */ beqz $t1, .L800B3710 +/* 0B42E8 800B36E8 8FA30038 */ lw $v1, 0x38($sp) +/* 0B42EC 800B36EC 8C8A0040 */ lw $t2, 0x40($a0) +/* 0B42F0 800B36F0 02202825 */ move $a1, $s1 +/* 0B42F4 800B36F4 314B8000 */ andi $t3, $t2, 0x8000 +/* 0B42F8 800B36F8 11600004 */ beqz $t3, .L800B370C +/* 0B42FC 800B36FC 02403025 */ move $a2, $s2 +/* 0B4300 800B3700 02603825 */ move $a3, $s3 +/* 0B4304 800B3704 0C02CDD0 */ jal func_800B3740 +/* 0B4308 800B3708 AFA00010 */ sw $zero, 0x10($sp) +.L800B370C: +/* 0B430C 800B370C 8FA30038 */ lw $v1, 0x38($sp) +.L800B3710: +/* 0B4310 800B3710 8FAC0034 */ lw $t4, 0x34($sp) +/* 0B4314 800B3714 24630001 */ addiu $v1, $v1, 1 +/* 0B4318 800B3718 006C082A */ slt $at, $v1, $t4 +/* 0B431C 800B371C 1420FFE8 */ bnez $at, .L800B36C0 +/* 0B4320 800B3720 AFA30038 */ sw $v1, 0x38($sp) +/* 0B4324 800B3724 8FBF002C */ lw $ra, 0x2c($sp) +.L800B3728: +/* 0B4328 800B3728 8FB0001C */ lw $s0, 0x1c($sp) +/* 0B432C 800B372C 8FB10020 */ lw $s1, 0x20($sp) +/* 0B4330 800B3730 8FB20024 */ lw $s2, 0x24($sp) +/* 0B4334 800B3734 8FB30028 */ lw $s3, 0x28($sp) +/* 0B4338 800B3738 03E00008 */ jr $ra +/* 0B433C 800B373C 27BD0048 */ addiu $sp, $sp, 0x48 \ No newline at end of file diff --git a/asm/non_matchings/printf/func_800B3E64.s b/asm/non_matchings/printf/func_800B3E64.s index 3995cd5c..b26c3511 100644 --- a/asm/non_matchings/printf/func_800B3E64.s +++ b/asm/non_matchings/printf/func_800B3E64.s @@ -397,142 +397,3 @@ glabel func_800B3E64 /* 0B507C 800B447C 8FBE0040 */ lw $fp, 0x40($sp) /* 0B5080 800B4480 03E00008 */ jr $ra /* 0B5084 800B4484 27BD0090 */ addiu $sp, $sp, 0x90 - -/* 0B5088 800B4488 3C03800E */ lui $v1, %hi(gParticlesAssetTableCount) # $v1, 0x800e -/* 0B508C 800B448C 8C632CE8 */ lw $v1, %lo(gParticlesAssetTableCount)($v1) -/* 0B5090 800B4490 3C0E800E */ lui $t6, %hi(gParticlesAssetTable) # $t6, 0x800e -/* 0B5094 800B4494 0083082A */ slt $at, $a0, $v1 -/* 0B5098 800B4498 10200007 */ beqz $at, .L800B44B8 -/* 0B509C 800B449C 3C19800E */ lui $t9, %hi(gParticlesAssetTable) # $t9, 0x800e -/* 0B50A0 800B44A0 8DCE2CF0 */ lw $t6, %lo(gParticlesAssetTable)($t6) -/* 0B50A4 800B44A4 00047880 */ sll $t7, $a0, 2 -/* 0B50A8 800B44A8 01CFC021 */ addu $t8, $t6, $t7 -/* 0B50AC 800B44AC 8F020000 */ lw $v0, ($t8) -/* 0B50B0 800B44B0 03E00008 */ jr $ra -/* 0B50B4 800B44B4 00000000 */ nop - -.L800B44B8: -/* 0B50B8 800B44B8 8F392CF0 */ lw $t9, %lo(gParticlesAssetTable)($t9) -/* 0B50BC 800B44BC 00034080 */ sll $t0, $v1, 2 -/* 0B50C0 800B44C0 03284821 */ addu $t1, $t9, $t0 -/* 0B50C4 800B44C4 8D22FFFC */ lw $v0, -4($t1) -/* 0B50C8 800B44C8 00000000 */ nop -/* 0B50CC 800B44CC 03E00008 */ jr $ra -/* 0B50D0 800B44D0 00000000 */ nop - -/* 0B50D4 800B44D4 8C8E0000 */ lw $t6, ($a0) -/* 0B50D8 800B44D8 3C05800E */ lui $a1, %hi(gParticlesAssetTableCount) # $a1, 0x800e -/* 0B50DC 800B44DC 25C30001 */ addiu $v1, $t6, 1 -/* 0B50E0 800B44E0 24A52CE8 */ addiu $a1, %lo(gParticlesAssetTableCount) # addiu $a1, $a1, 0x2ce8 -/* 0B50E4 800B44E4 AC830000 */ sw $v1, ($a0) -/* 0B50E8 800B44E8 8CA20000 */ lw $v0, ($a1) -/* 0B50EC 800B44EC 3C19800E */ lui $t9, %hi(gParticlesAssetTable) # $t9, 0x800e -/* 0B50F0 800B44F0 0062082A */ slt $at, $v1, $v0 -/* 0B50F4 800B44F4 14200007 */ bnez $at, .L800B4514 -/* 0B50F8 800B44F8 0062C023 */ subu $t8, $v1, $v0 -.L800B44FC: -/* 0B50FC 800B44FC AC980000 */ sw $t8, ($a0) -/* 0B5100 800B4500 8CA20000 */ lw $v0, ($a1) -/* 0B5104 800B4504 03001825 */ move $v1, $t8 -/* 0B5108 800B4508 0302082A */ slt $at, $t8, $v0 -/* 0B510C 800B450C 1020FFFB */ beqz $at, .L800B44FC -/* 0B5110 800B4510 0062C023 */ subu $t8, $v1, $v0 -.L800B4514: -/* 0B5114 800B4514 8F392CF0 */ lw $t9, %lo(gParticlesAssetTable)($t9) -/* 0B5118 800B4518 00034080 */ sll $t0, $v1, 2 -/* 0B511C 800B451C 03284821 */ addu $t1, $t9, $t0 -/* 0B5120 800B4520 8D220000 */ lw $v0, ($t1) -/* 0B5124 800B4524 03E00008 */ jr $ra -/* 0B5128 800B4528 00000000 */ nop - -/* 0B512C 800B452C 8C8E0000 */ lw $t6, ($a0) -/* 0B5130 800B4530 3C08800E */ lui $t0, %hi(gParticlesAssetTable) # $t0, 0x800e -/* 0B5134 800B4534 25C3FFFF */ addiu $v1, $t6, -1 -/* 0B5138 800B4538 04610009 */ bgez $v1, .L800B4560 -/* 0B513C 800B453C AC830000 */ sw $v1, ($a0) -/* 0B5140 800B4540 3C02800E */ lui $v0, %hi(gParticlesAssetTableCount) # $v0, 0x800e -/* 0B5144 800B4544 24422CE8 */ addiu $v0, %lo(gParticlesAssetTableCount) # addiu $v0, $v0, 0x2ce8 -.L800B4548: -/* 0B5148 800B4548 8C580000 */ lw $t8, ($v0) -/* 0B514C 800B454C 00000000 */ nop -/* 0B5150 800B4550 0078C821 */ addu $t9, $v1, $t8 -/* 0B5154 800B4554 AC990000 */ sw $t9, ($a0) -/* 0B5158 800B4558 0720FFFB */ bltz $t9, .L800B4548 -/* 0B515C 800B455C 03201825 */ move $v1, $t9 -.L800B4560: -/* 0B5160 800B4560 8D082CF0 */ lw $t0, %lo(gParticlesAssetTable)($t0) -/* 0B5164 800B4564 00034880 */ sll $t1, $v1, 2 -/* 0B5168 800B4568 01095021 */ addu $t2, $t0, $t1 -/* 0B516C 800B456C 8D420000 */ lw $v0, ($t2) -/* 0B5170 800B4570 03E00008 */ jr $ra -/* 0B5174 800B4574 00000000 */ nop - -/* 0B5178 800B4578 3C03800E */ lui $v1, %hi(gParticleBehavioursAssetTableCount) # $v1, 0x800e -/* 0B517C 800B457C 8C632CF4 */ lw $v1, %lo(gParticleBehavioursAssetTableCount)($v1) -/* 0B5180 800B4580 3C0E800E */ lui $t6, %hi(gParticleBehavioursAssetTable) # $t6, 0x800e -/* 0B5184 800B4584 0083082A */ slt $at, $a0, $v1 -/* 0B5188 800B4588 10200007 */ beqz $at, .L800B45A8 -/* 0B518C 800B458C 3C19800E */ lui $t9, %hi(gParticleBehavioursAssetTable) # $t9, 0x800e -/* 0B5190 800B4590 8DCE2CFC */ lw $t6, %lo(gParticleBehavioursAssetTable)($t6) -/* 0B5194 800B4594 00047880 */ sll $t7, $a0, 2 -/* 0B5198 800B4598 01CFC021 */ addu $t8, $t6, $t7 -/* 0B519C 800B459C 8F020000 */ lw $v0, ($t8) -/* 0B51A0 800B45A0 03E00008 */ jr $ra -/* 0B51A4 800B45A4 00000000 */ nop - -.L800B45A8: -/* 0B51A8 800B45A8 8F392CFC */ lw $t9, %lo(gParticleBehavioursAssetTable)($t9) -/* 0B51AC 800B45AC 00034080 */ sll $t0, $v1, 2 -/* 0B51B0 800B45B0 03284821 */ addu $t1, $t9, $t0 -/* 0B51B4 800B45B4 8D22FFFC */ lw $v0, -4($t1) -/* 0B51B8 800B45B8 00000000 */ nop -/* 0B51BC 800B45BC 03E00008 */ jr $ra -/* 0B51C0 800B45C0 00000000 */ nop - -/* 0B51C4 800B45C4 8C8E0000 */ lw $t6, ($a0) -/* 0B51C8 800B45C8 3C05800E */ lui $a1, %hi(gParticleBehavioursAssetTableCount) # $a1, 0x800e -/* 0B51CC 800B45CC 25C30001 */ addiu $v1, $t6, 1 -/* 0B51D0 800B45D0 24A52CF4 */ addiu $a1, %lo(gParticleBehavioursAssetTableCount) # addiu $a1, $a1, 0x2cf4 -/* 0B51D4 800B45D4 AC830000 */ sw $v1, ($a0) -/* 0B51D8 800B45D8 8CA20000 */ lw $v0, ($a1) -/* 0B51DC 800B45DC 3C19800E */ lui $t9, %hi(gParticleBehavioursAssetTable) # $t9, 0x800e -/* 0B51E0 800B45E0 0062082A */ slt $at, $v1, $v0 -/* 0B51E4 800B45E4 14200007 */ bnez $at, .L800B4604 -/* 0B51E8 800B45E8 0062C023 */ subu $t8, $v1, $v0 -.L800B45EC: -/* 0B51EC 800B45EC AC980000 */ sw $t8, ($a0) -/* 0B51F0 800B45F0 8CA20000 */ lw $v0, ($a1) -/* 0B51F4 800B45F4 03001825 */ move $v1, $t8 -/* 0B51F8 800B45F8 0302082A */ slt $at, $t8, $v0 -/* 0B51FC 800B45FC 1020FFFB */ beqz $at, .L800B45EC -/* 0B5200 800B4600 0062C023 */ subu $t8, $v1, $v0 -.L800B4604: -/* 0B5204 800B4604 8F392CFC */ lw $t9, %lo(gParticleBehavioursAssetTable)($t9) -/* 0B5208 800B4608 00034080 */ sll $t0, $v1, 2 -/* 0B520C 800B460C 03284821 */ addu $t1, $t9, $t0 -/* 0B5210 800B4610 8D220000 */ lw $v0, ($t1) -/* 0B5214 800B4614 03E00008 */ jr $ra -/* 0B5218 800B4618 00000000 */ nop - -/* 0B521C 800B461C 8C8E0000 */ lw $t6, ($a0) -/* 0B5220 800B4620 3C08800E */ lui $t0, %hi(gParticleBehavioursAssetTable) # $t0, 0x800e -/* 0B5224 800B4624 25C3FFFF */ addiu $v1, $t6, -1 -/* 0B5228 800B4628 04610009 */ bgez $v1, .L800B4650 -/* 0B522C 800B462C AC830000 */ sw $v1, ($a0) -/* 0B5230 800B4630 3C02800E */ lui $v0, %hi(gParticleBehavioursAssetTableCount) # $v0, 0x800e -/* 0B5234 800B4634 24422CF4 */ addiu $v0, %lo(gParticleBehavioursAssetTableCount) # addiu $v0, $v0, 0x2cf4 -.L800B4638: -/* 0B5238 800B4638 8C580000 */ lw $t8, ($v0) -/* 0B523C 800B463C 00000000 */ nop -/* 0B5240 800B4640 0078C821 */ addu $t9, $v1, $t8 -/* 0B5244 800B4644 AC990000 */ sw $t9, ($a0) -/* 0B5248 800B4648 0720FFFB */ bltz $t9, .L800B4638 -/* 0B524C 800B464C 03201825 */ move $v1, $t9 -.L800B4650: -/* 0B5250 800B4650 8D082CFC */ lw $t0, %lo(gParticleBehavioursAssetTable)($t0) -/* 0B5254 800B4654 00034880 */ sll $t1, $v1, 2 -/* 0B5258 800B4658 01095021 */ addu $t2, $t0, $t1 -/* 0B525C 800B465C 8D420000 */ lw $v0, ($t2) -/* 0B5260 800B4660 03E00008 */ jr $ra -/* 0B5264 800B4664 00000000 */ nop - diff --git a/asm/non_matchings/printf/func_800B4488.s b/asm/non_matchings/printf/func_800B4488.s new file mode 100644 index 00000000..24978736 --- /dev/null +++ b/asm/non_matchings/printf/func_800B4488.s @@ -0,0 +1,22 @@ +glabel func_800B4488 +/* 0B5088 800B4488 3C03800E */ lui $v1, %hi(gParticlesAssetTableCount) # $v1, 0x800e +/* 0B508C 800B448C 8C632CE8 */ lw $v1, %lo(gParticlesAssetTableCount)($v1) +/* 0B5090 800B4490 3C0E800E */ lui $t6, %hi(gParticlesAssetTable) # $t6, 0x800e +/* 0B5094 800B4494 0083082A */ slt $at, $a0, $v1 +/* 0B5098 800B4498 10200007 */ beqz $at, .L800B44B8 +/* 0B509C 800B449C 3C19800E */ lui $t9, %hi(gParticlesAssetTable) # $t9, 0x800e +/* 0B50A0 800B44A0 8DCE2CF0 */ lw $t6, %lo(gParticlesAssetTable)($t6) +/* 0B50A4 800B44A4 00047880 */ sll $t7, $a0, 2 +/* 0B50A8 800B44A8 01CFC021 */ addu $t8, $t6, $t7 +/* 0B50AC 800B44AC 8F020000 */ lw $v0, ($t8) +/* 0B50B0 800B44B0 03E00008 */ jr $ra +/* 0B50B4 800B44B4 00000000 */ nop + +.L800B44B8: +/* 0B50B8 800B44B8 8F392CF0 */ lw $t9, %lo(gParticlesAssetTable)($t9) +/* 0B50BC 800B44BC 00034080 */ sll $t0, $v1, 2 +/* 0B50C0 800B44C0 03284821 */ addu $t1, $t9, $t0 +/* 0B50C4 800B44C4 8D22FFFC */ lw $v0, -4($t1) +/* 0B50C8 800B44C8 00000000 */ nop +/* 0B50CC 800B44CC 03E00008 */ jr $ra +/* 0B50D0 800B44D0 00000000 */ nop diff --git a/asm/non_matchings/printf/func_800B44D4.s b/asm/non_matchings/printf/func_800B44D4.s new file mode 100644 index 00000000..f41c90d1 --- /dev/null +++ b/asm/non_matchings/printf/func_800B44D4.s @@ -0,0 +1,25 @@ +glabel func_800B44D4 +/* 0B50D4 800B44D4 8C8E0000 */ lw $t6, ($a0) +/* 0B50D8 800B44D8 3C05800E */ lui $a1, %hi(gParticlesAssetTableCount) # $a1, 0x800e +/* 0B50DC 800B44DC 25C30001 */ addiu $v1, $t6, 1 +/* 0B50E0 800B44E0 24A52CE8 */ addiu $a1, %lo(gParticlesAssetTableCount) # addiu $a1, $a1, 0x2ce8 +/* 0B50E4 800B44E4 AC830000 */ sw $v1, ($a0) +/* 0B50E8 800B44E8 8CA20000 */ lw $v0, ($a1) +/* 0B50EC 800B44EC 3C19800E */ lui $t9, %hi(gParticlesAssetTable) # $t9, 0x800e +/* 0B50F0 800B44F0 0062082A */ slt $at, $v1, $v0 +/* 0B50F4 800B44F4 14200007 */ bnez $at, .L800B4514 +/* 0B50F8 800B44F8 0062C023 */ subu $t8, $v1, $v0 +.L800B44FC: +/* 0B50FC 800B44FC AC980000 */ sw $t8, ($a0) +/* 0B5100 800B4500 8CA20000 */ lw $v0, ($a1) +/* 0B5104 800B4504 03001825 */ move $v1, $t8 +/* 0B5108 800B4508 0302082A */ slt $at, $t8, $v0 +/* 0B510C 800B450C 1020FFFB */ beqz $at, .L800B44FC +/* 0B5110 800B4510 0062C023 */ subu $t8, $v1, $v0 +.L800B4514: +/* 0B5114 800B4514 8F392CF0 */ lw $t9, %lo(gParticlesAssetTable)($t9) +/* 0B5118 800B4518 00034080 */ sll $t0, $v1, 2 +/* 0B511C 800B451C 03284821 */ addu $t1, $t9, $t0 +/* 0B5120 800B4520 8D220000 */ lw $v0, ($t1) +/* 0B5124 800B4524 03E00008 */ jr $ra +/* 0B5128 800B4528 00000000 */ nop \ No newline at end of file diff --git a/asm/non_matchings/printf/func_800B452C.s b/asm/non_matchings/printf/func_800B452C.s new file mode 100644 index 00000000..6996fbef --- /dev/null +++ b/asm/non_matchings/printf/func_800B452C.s @@ -0,0 +1,23 @@ +glabel func_800B452C +/* 0B512C 800B452C 8C8E0000 */ lw $t6, ($a0) +/* 0B5130 800B4530 3C08800E */ lui $t0, %hi(gParticlesAssetTable) # $t0, 0x800e +/* 0B5134 800B4534 25C3FFFF */ addiu $v1, $t6, -1 +/* 0B5138 800B4538 04610009 */ bgez $v1, .L800B4560 +/* 0B513C 800B453C AC830000 */ sw $v1, ($a0) +/* 0B5140 800B4540 3C02800E */ lui $v0, %hi(gParticlesAssetTableCount) # $v0, 0x800e +/* 0B5144 800B4544 24422CE8 */ addiu $v0, %lo(gParticlesAssetTableCount) # addiu $v0, $v0, 0x2ce8 +.L800B4548: +/* 0B5148 800B4548 8C580000 */ lw $t8, ($v0) +/* 0B514C 800B454C 00000000 */ nop +/* 0B5150 800B4550 0078C821 */ addu $t9, $v1, $t8 +/* 0B5154 800B4554 AC990000 */ sw $t9, ($a0) +/* 0B5158 800B4558 0720FFFB */ bltz $t9, .L800B4548 +/* 0B515C 800B455C 03201825 */ move $v1, $t9 +.L800B4560: +/* 0B5160 800B4560 8D082CF0 */ lw $t0, %lo(gParticlesAssetTable)($t0) +/* 0B5164 800B4564 00034880 */ sll $t1, $v1, 2 +/* 0B5168 800B4568 01095021 */ addu $t2, $t0, $t1 +/* 0B516C 800B456C 8D420000 */ lw $v0, ($t2) +/* 0B5170 800B4570 03E00008 */ jr $ra +/* 0B5174 800B4574 00000000 */ nop + diff --git a/asm/non_matchings/printf/func_800B4578.s b/asm/non_matchings/printf/func_800B4578.s new file mode 100644 index 00000000..43d723ae --- /dev/null +++ b/asm/non_matchings/printf/func_800B4578.s @@ -0,0 +1,23 @@ +glabel func_800B4578 +/* 0B5178 800B4578 3C03800E */ lui $v1, %hi(gParticleBehavioursAssetTableCount) # $v1, 0x800e +/* 0B517C 800B457C 8C632CF4 */ lw $v1, %lo(gParticleBehavioursAssetTableCount)($v1) +/* 0B5180 800B4580 3C0E800E */ lui $t6, %hi(gParticleBehavioursAssetTable) # $t6, 0x800e +/* 0B5184 800B4584 0083082A */ slt $at, $a0, $v1 +/* 0B5188 800B4588 10200007 */ beqz $at, .L800B45A8 +/* 0B518C 800B458C 3C19800E */ lui $t9, %hi(gParticleBehavioursAssetTable) # $t9, 0x800e +/* 0B5190 800B4590 8DCE2CFC */ lw $t6, %lo(gParticleBehavioursAssetTable)($t6) +/* 0B5194 800B4594 00047880 */ sll $t7, $a0, 2 +/* 0B5198 800B4598 01CFC021 */ addu $t8, $t6, $t7 +/* 0B519C 800B459C 8F020000 */ lw $v0, ($t8) +/* 0B51A0 800B45A0 03E00008 */ jr $ra +/* 0B51A4 800B45A4 00000000 */ nop + +.L800B45A8: +/* 0B51A8 800B45A8 8F392CFC */ lw $t9, %lo(gParticleBehavioursAssetTable)($t9) +/* 0B51AC 800B45AC 00034080 */ sll $t0, $v1, 2 +/* 0B51B0 800B45B0 03284821 */ addu $t1, $t9, $t0 +/* 0B51B4 800B45B4 8D22FFFC */ lw $v0, -4($t1) +/* 0B51B8 800B45B8 00000000 */ nop +/* 0B51BC 800B45BC 03E00008 */ jr $ra +/* 0B51C0 800B45C0 00000000 */ nop + diff --git a/asm/non_matchings/printf/func_800B45C4.s b/asm/non_matchings/printf/func_800B45C4.s new file mode 100644 index 00000000..1058cd63 --- /dev/null +++ b/asm/non_matchings/printf/func_800B45C4.s @@ -0,0 +1,25 @@ +glabel func_800B45C4 +/* 0B51C4 800B45C4 8C8E0000 */ lw $t6, ($a0) +/* 0B51C8 800B45C8 3C05800E */ lui $a1, %hi(gParticleBehavioursAssetTableCount) # $a1, 0x800e +/* 0B51CC 800B45CC 25C30001 */ addiu $v1, $t6, 1 +/* 0B51D0 800B45D0 24A52CF4 */ addiu $a1, %lo(gParticleBehavioursAssetTableCount) # addiu $a1, $a1, 0x2cf4 +/* 0B51D4 800B45D4 AC830000 */ sw $v1, ($a0) +/* 0B51D8 800B45D8 8CA20000 */ lw $v0, ($a1) +/* 0B51DC 800B45DC 3C19800E */ lui $t9, %hi(gParticleBehavioursAssetTable) # $t9, 0x800e +/* 0B51E0 800B45E0 0062082A */ slt $at, $v1, $v0 +/* 0B51E4 800B45E4 14200007 */ bnez $at, .L800B4604 +/* 0B51E8 800B45E8 0062C023 */ subu $t8, $v1, $v0 +.L800B45EC: +/* 0B51EC 800B45EC AC980000 */ sw $t8, ($a0) +/* 0B51F0 800B45F0 8CA20000 */ lw $v0, ($a1) +/* 0B51F4 800B45F4 03001825 */ move $v1, $t8 +/* 0B51F8 800B45F8 0302082A */ slt $at, $t8, $v0 +/* 0B51FC 800B45FC 1020FFFB */ beqz $at, .L800B45EC +/* 0B5200 800B4600 0062C023 */ subu $t8, $v1, $v0 +.L800B4604: +/* 0B5204 800B4604 8F392CFC */ lw $t9, %lo(gParticleBehavioursAssetTable)($t9) +/* 0B5208 800B4608 00034080 */ sll $t0, $v1, 2 +/* 0B520C 800B460C 03284821 */ addu $t1, $t9, $t0 +/* 0B5210 800B4610 8D220000 */ lw $v0, ($t1) +/* 0B5214 800B4614 03E00008 */ jr $ra +/* 0B5218 800B4618 00000000 */ nop \ No newline at end of file diff --git a/asm/non_matchings/printf/func_800B461C.s b/asm/non_matchings/printf/func_800B461C.s new file mode 100644 index 00000000..b4e024a0 --- /dev/null +++ b/asm/non_matchings/printf/func_800B461C.s @@ -0,0 +1,22 @@ +glabel func_800B461C +/* 0B521C 800B461C 8C8E0000 */ lw $t6, ($a0) +/* 0B5220 800B4620 3C08800E */ lui $t0, %hi(gParticleBehavioursAssetTable) # $t0, 0x800e +/* 0B5224 800B4624 25C3FFFF */ addiu $v1, $t6, -1 +/* 0B5228 800B4628 04610009 */ bgez $v1, .L800B4650 +/* 0B522C 800B462C AC830000 */ sw $v1, ($a0) +/* 0B5230 800B4630 3C02800E */ lui $v0, %hi(gParticleBehavioursAssetTableCount) # $v0, 0x800e +/* 0B5234 800B4634 24422CF4 */ addiu $v0, %lo(gParticleBehavioursAssetTableCount) # addiu $v0, $v0, 0x2cf4 +.L800B4638: +/* 0B5238 800B4638 8C580000 */ lw $t8, ($v0) +/* 0B523C 800B463C 00000000 */ nop +/* 0B5240 800B4640 0078C821 */ addu $t9, $v1, $t8 +/* 0B5244 800B4644 AC990000 */ sw $t9, ($a0) +/* 0B5248 800B4648 0720FFFB */ bltz $t9, .L800B4638 +/* 0B524C 800B464C 03201825 */ move $v1, $t9 +.L800B4650: +/* 0B5250 800B4650 8D082CFC */ lw $t0, %lo(gParticleBehavioursAssetTable)($t0) +/* 0B5254 800B4654 00034880 */ sll $t1, $v1, 2 +/* 0B5258 800B4658 01095021 */ addu $t2, $t0, $t1 +/* 0B525C 800B465C 8D420000 */ lw $v0, ($t2) +/* 0B5260 800B4660 03E00008 */ jr $ra +/* 0B5264 800B4664 00000000 */ nop \ No newline at end of file diff --git a/asm/non_matchings/printf/print_debug_strings.s b/asm/non_matchings/printf/print_debug_strings.s index f6bdd1fc..d0579925 100644 --- a/asm/non_matchings/printf/print_debug_strings.s +++ b/asm/non_matchings/printf/print_debug_strings.s @@ -159,17 +159,3 @@ glabel print_debug_strings /* 0B6DD4 800B61D4 8FB40030 */ lw $s4, 0x30($sp) /* 0B6DD8 800B61D8 03E00008 */ jr $ra /* 0B6DDC 800B61DC 27BD0038 */ addiu $sp, $sp, 0x38 - -/* 0B6DE0 800B61E0 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0B6DE4 800B61E4 3C0E8012 */ lui $t6, %hi(D_80127CD8) # $t6, 0x8012 -/* 0B6DE8 800B61E8 AFBF0014 */ sw $ra, 0x14($sp) -/* 0B6DEC 800B61EC 25CE7CD8 */ addiu $t6, %lo(D_80127CD8) # addiu $t6, $t6, 0x7cd8 -/* 0B6DF0 800B61F0 3C018013 */ lui $at, %hi(D_801285D8) # $at, 0x8013 -/* 0B6DF4 800B61F4 0C02DBB8 */ jal func_800B6EE0 -/* 0B6DF8 800B61F8 AC2E85D8 */ sw $t6, %lo(D_801285D8)($at) -/* 0B6DFC 800B61FC 8FBF0014 */ lw $ra, 0x14($sp) -/* 0B6E00 800B6200 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0B6E04 800B6204 03E00008 */ jr $ra -/* 0B6E08 800B6208 00000000 */ nop - - diff --git a/asm/non_matchings/textures_sprites/func_8007C12C.s b/asm/non_matchings/textures_sprites/func_8007C12C.s index 7deafd99..1e277501 100644 --- a/asm/non_matchings/textures_sprites/func_8007C12C.s +++ b/asm/non_matchings/textures_sprites/func_8007C12C.s @@ -279,29 +279,3 @@ glabel func_8007C12C /* 07D124 8007C524 03E00008 */ jr $ra /* 07D128 8007C528 27BD0050 */ addiu $sp, $sp, 0x50 -/* 07D12C 8007C52C 04800006 */ bltz $a0, .L8007C548 -/* 07D130 8007C530 3C0E8012 */ lui $t6, %hi(D_80126358) # $t6, 0x8012 -/* 07D134 8007C534 8DCE6358 */ lw $t6, %lo(D_80126358)($t6) -/* 07D138 8007C538 3C0F8012 */ lui $t7, %hi(gSpriteCache) # $t7, 0x8012 -/* 07D13C 8007C53C 008E082A */ slt $at, $a0, $t6 -/* 07D140 8007C540 14200003 */ bnez $at, .L8007C550 -/* 07D144 8007C544 00000000 */ nop -.L8007C548: -/* 07D148 8007C548 03E00008 */ jr $ra -/* 07D14C 8007C54C 00001025 */ move $v0, $zero - -.L8007C550: -/* 07D150 8007C550 8DEF634C */ lw $t7, %lo(gSpriteCache)($t7) -/* 07D154 8007C554 0004C8C0 */ sll $t9, $a0, 3 -/* 07D158 8007C558 01F94021 */ addu $t0, $t7, $t9 -/* 07D15C 8007C55C 8D030004 */ lw $v1, 4($t0) -/* 07D160 8007C560 2401FFFF */ li $at, -1 -/* 07D164 8007C564 14610003 */ bne $v1, $at, .L8007C574 -/* 07D168 8007C568 00601025 */ move $v0, $v1 -/* 07D16C 8007C56C 03E00008 */ jr $ra -/* 07D170 8007C570 00001025 */ move $v0, $zero - -.L8007C574: -/* 07D174 8007C574 03E00008 */ jr $ra -/* 07D178 8007C578 00000000 */ nop - diff --git a/asm/non_matchings/textures_sprites/func_8007C52C.s b/asm/non_matchings/textures_sprites/func_8007C52C.s new file mode 100644 index 00000000..d5b98bdc --- /dev/null +++ b/asm/non_matchings/textures_sprites/func_8007C52C.s @@ -0,0 +1,26 @@ +glabel func_8007C52C +/* 07D12C 8007C52C 04800006 */ bltz $a0, .L8007C548 +/* 07D130 8007C530 3C0E8012 */ lui $t6, %hi(D_80126358) # $t6, 0x8012 +/* 07D134 8007C534 8DCE6358 */ lw $t6, %lo(D_80126358)($t6) +/* 07D138 8007C538 3C0F8012 */ lui $t7, %hi(gSpriteCache) # $t7, 0x8012 +/* 07D13C 8007C53C 008E082A */ slt $at, $a0, $t6 +/* 07D140 8007C540 14200003 */ bnez $at, .L8007C550 +/* 07D144 8007C544 00000000 */ nop +.L8007C548: +/* 07D148 8007C548 03E00008 */ jr $ra +/* 07D14C 8007C54C 00001025 */ move $v0, $zero + +.L8007C550: +/* 07D150 8007C550 8DEF634C */ lw $t7, %lo(gSpriteCache)($t7) +/* 07D154 8007C554 0004C8C0 */ sll $t9, $a0, 3 +/* 07D158 8007C558 01F94021 */ addu $t0, $t7, $t9 +/* 07D15C 8007C55C 8D030004 */ lw $v1, 4($t0) +/* 07D160 8007C560 2401FFFF */ li $at, -1 +/* 07D164 8007C564 14610003 */ bne $v1, $at, .L8007C574 +/* 07D168 8007C568 00601025 */ move $v0, $v1 +/* 07D16C 8007C56C 03E00008 */ jr $ra +/* 07D170 8007C570 00001025 */ move $v0, $zero + +.L8007C574: +/* 07D174 8007C574 03E00008 */ jr $ra +/* 07D178 8007C578 00000000 */ nop diff --git a/asm/non_matchings/textures_sprites/func_8007C660.s b/asm/non_matchings/textures_sprites/func_8007C660.s index b005b6ab..b584380d 100644 --- a/asm/non_matchings/textures_sprites/func_8007C660.s +++ b/asm/non_matchings/textures_sprites/func_8007C660.s @@ -137,22 +137,3 @@ glabel func_8007C660 /* 07D454 8007C854 8FBE0038 */ lw $fp, 0x38($sp) /* 07D458 8007C858 03E00008 */ jr $ra /* 07D45C 8007C85C 27BD0040 */ addiu $sp, $sp, 0x40 - -/* 07D460 8007C860 04800006 */ bltz $a0, .L8007C87C -/* 07D464 8007C864 3C0E8012 */ lui $t6, %hi(gNumberOfLoadedTextures) # $t6, 0x8012 -/* 07D468 8007C868 8DCE6330 */ lw $t6, %lo(gNumberOfLoadedTextures)($t6) -/* 07D46C 8007C86C 3C0F8012 */ lui $t7, %hi(gTextureCache) # $t7, 0x8012 -/* 07D470 8007C870 008E082A */ slt $at, $a0, $t6 -/* 07D474 8007C874 14200003 */ bnez $at, .L8007C884 -/* 07D478 8007C878 00000000 */ nop -.L8007C87C: -/* 07D47C 8007C87C 03E00008 */ jr $ra -/* 07D480 8007C880 2402FFFF */ li $v0, -1 -.L8007C884: -/* 07D484 8007C884 8DEF6328 */ lw $t7, %lo(gTextureCache)($t7) -/* 07D488 8007C888 0004C8C0 */ sll $t9, $a0, 3 -/* 07D48C 8007C88C 01F94021 */ addu $t0, $t7, $t9 -/* 07D490 8007C890 8D020000 */ lw $v0, ($t0) -/* 07D494 8007C894 00000000 */ nop -/* 07D498 8007C898 03E00008 */ jr $ra -/* 07D49C 8007C89C 00000000 */ nop diff --git a/asm/non_matchings/textures_sprites/func_8007C860.s b/asm/non_matchings/textures_sprites/func_8007C860.s index 3adcf135..cf98bb0b 100644 --- a/asm/non_matchings/textures_sprites/func_8007C860.s +++ b/asm/non_matchings/textures_sprites/func_8007C860.s @@ -1,20 +1,19 @@ -# Unused glabel func_8007C860 -/* 07D4A0 8007C8A0 04800006 */ bltz $a0, .L8007C8BC -/* 07D4A4 8007C8A4 3C0E8012 */ lui $t6, %hi(D_80126358) # $t6, 0x8012 -/* 07D4A8 8007C8A8 8DCE6358 */ lw $t6, %lo(D_80126358)($t6) -/* 07D4AC 8007C8AC 3C0F8012 */ lui $t7, %hi(gSpriteCache) # $t7, 0x8012 -/* 07D4B0 8007C8B0 008E082A */ slt $at, $a0, $t6 -/* 07D4B4 8007C8B4 14200003 */ bnez $at, .L8007C8C4 -/* 07D4B8 8007C8B8 00000000 */ nop -.L8007C8BC: -/* 07D4BC 8007C8BC 03E00008 */ jr $ra -/* 07D4C0 8007C8C0 2402FFFF */ li $v0, -1 -.L8007C8C4: -/* 07D4C4 8007C8C4 8DEF634C */ lw $t7, %lo(gSpriteCache)($t7) -/* 07D4C8 8007C8C8 0004C8C0 */ sll $t9, $a0, 3 -/* 07D4CC 8007C8CC 01F94021 */ addu $t0, $t7, $t9 -/* 07D4D0 8007C8D0 8D020000 */ lw $v0, ($t0) -/* 07D4D4 8007C8D4 00000000 */ nop -/* 07D4D8 8007C8D8 03E00008 */ jr $ra -/* 07D4DC 8007C8DC 00000000 */ nop +/* 07D460 8007C860 04800006 */ bltz $a0, .L8007C87C +/* 07D464 8007C864 3C0E8012 */ lui $t6, %hi(gNumberOfLoadedTextures) # $t6, 0x8012 +/* 07D468 8007C868 8DCE6330 */ lw $t6, %lo(gNumberOfLoadedTextures)($t6) +/* 07D46C 8007C86C 3C0F8012 */ lui $t7, %hi(gTextureCache) # $t7, 0x8012 +/* 07D470 8007C870 008E082A */ slt $at, $a0, $t6 +/* 07D474 8007C874 14200003 */ bnez $at, .L8007C884 +/* 07D478 8007C878 00000000 */ nop +.L8007C87C: +/* 07D47C 8007C87C 03E00008 */ jr $ra +/* 07D480 8007C880 2402FFFF */ li $v0, -1 +.L8007C884: +/* 07D484 8007C884 8DEF6328 */ lw $t7, %lo(gTextureCache)($t7) +/* 07D488 8007C888 0004C8C0 */ sll $t9, $a0, 3 +/* 07D48C 8007C88C 01F94021 */ addu $t0, $t7, $t9 +/* 07D490 8007C890 8D020000 */ lw $v0, ($t0) +/* 07D494 8007C894 00000000 */ nop +/* 07D498 8007C898 03E00008 */ jr $ra +/* 07D49C 8007C89C 00000000 */ nop \ No newline at end of file diff --git a/asm/non_matchings/textures_sprites/func_8007C8A0.s b/asm/non_matchings/textures_sprites/func_8007C8A0.s new file mode 100644 index 00000000..4c2a625d --- /dev/null +++ b/asm/non_matchings/textures_sprites/func_8007C8A0.s @@ -0,0 +1,20 @@ +# Unused +glabel func_8007C8A0 +/* 07D4A0 8007C8A0 04800006 */ bltz $a0, .L8007C8BC +/* 07D4A4 8007C8A4 3C0E8012 */ lui $t6, %hi(D_80126358) # $t6, 0x8012 +/* 07D4A8 8007C8A8 8DCE6358 */ lw $t6, %lo(D_80126358)($t6) +/* 07D4AC 8007C8AC 3C0F8012 */ lui $t7, %hi(gSpriteCache) # $t7, 0x8012 +/* 07D4B0 8007C8B0 008E082A */ slt $at, $a0, $t6 +/* 07D4B4 8007C8B4 14200003 */ bnez $at, .L8007C8C4 +/* 07D4B8 8007C8B8 00000000 */ nop +.L8007C8BC: +/* 07D4BC 8007C8BC 03E00008 */ jr $ra +/* 07D4C0 8007C8C0 2402FFFF */ li $v0, -1 +.L8007C8C4: +/* 07D4C4 8007C8C4 8DEF634C */ lw $t7, %lo(gSpriteCache)($t7) +/* 07D4C8 8007C8C8 0004C8C0 */ sll $t9, $a0, 3 +/* 07D4CC 8007C8CC 01F94021 */ addu $t0, $t7, $t9 +/* 07D4D0 8007C8D0 8D020000 */ lw $v0, ($t0) +/* 07D4D4 8007C8D4 00000000 */ nop +/* 07D4D8 8007C8D8 03E00008 */ jr $ra +/* 07D4DC 8007C8DC 00000000 */ nop diff --git a/asm/non_matchings/unknown_003260/func_800048D8.s b/asm/non_matchings/unknown_003260/func_800048D8.s index 6cca2e43..c529bff2 100644 --- a/asm/non_matchings/unknown_003260/func_800048D8.s +++ b/asm/non_matchings/unknown_003260/func_800048D8.s @@ -51,21 +51,3 @@ glabel func_800048D8 /* 005590 80004990 03E00008 */ jr $ra /* 005594 80004994 27BD0050 */ addiu $sp, $sp, 0x50 -/* 005598 80004998 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 00559C 8000499C AFBF0014 */ sw $ra, 0x14($sp) -/* 0055A0 800049A0 0C001236 */ jal func_800048D8 -/* 0055A4 800049A4 24040001 */ li $a0, 1 -/* 0055A8 800049A8 8FBF0014 */ lw $ra, 0x14($sp) -/* 0055AC 800049AC 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0055B0 800049B0 03E00008 */ jr $ra -/* 0055B4 800049B4 00000000 */ nop - -/* 0055B8 800049B8 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0055BC 800049BC AFBF0014 */ sw $ra, 0x14($sp) -/* 0055C0 800049C0 0C001236 */ jal func_800048D8 -/* 0055C4 800049C4 24040011 */ li $a0, 17 -/* 0055C8 800049C8 8FBF0014 */ lw $ra, 0x14($sp) -/* 0055CC 800049CC 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0055D0 800049D0 03E00008 */ jr $ra -/* 0055D4 800049D4 00000000 */ nop - diff --git a/asm/non_matchings/unknown_003260/func_80004A60.s b/asm/non_matchings/unknown_003260/func_80004A60.s deleted file mode 100644 index 4383764f..00000000 --- a/asm/non_matchings/unknown_003260/func_80004A60.s +++ /dev/null @@ -1,62 +0,0 @@ -glabel func_80004A60 -/* 005660 80004A60 27BDFFB8 */ addiu $sp, $sp, -0x48 -/* 005664 80004A64 AFB2001C */ sw $s2, 0x1c($sp) -/* 005668 80004A68 309200FF */ andi $s2, $a0, 0xff -/* 00566C 80004A6C AFBF0024 */ sw $ra, 0x24($sp) -/* 005670 80004A70 AFB10018 */ sw $s1, 0x18($sp) -/* 005674 80004A74 AFA40048 */ sw $a0, 0x48($sp) -/* 005678 80004A78 30B1FFFF */ andi $s1, $a1, 0xffff -/* 00567C 80004A7C AFB30020 */ sw $s3, 0x20($sp) -/* 005680 80004A80 AFB00014 */ sw $s0, 0x14($sp) -/* 005684 80004A84 AFA5004C */ sw $a1, 0x4c($sp) -/* 005688 80004A88 0C03268C */ jal osSetIntMask -/* 00568C 80004A8C 24040001 */ li $a0, 1 -/* 005690 80004A90 3C0E8012 */ lui $t6, %hi(D_80119C28) # $t6, 0x8012 -/* 005694 80004A94 8DCE9C28 */ lw $t6, %lo(D_80119C28)($t6) -/* 005698 80004A98 3C10800E */ lui $s0, %hi(D_800DC6B0) # $s0, 0x800e -/* 00569C 80004A9C 8E10C6B0 */ lw $s0, %lo(D_800DC6B0)($s0) -/* 0056A0 80004AA0 00127840 */ sll $t7, $s2, 1 -/* 0056A4 80004AA4 AFA20044 */ sw $v0, 0x44($sp) -/* 0056A8 80004AA8 01CFC021 */ addu $t8, $t6, $t7 -/* 0056AC 80004AAC 12000017 */ beqz $s0, .L80004B0C -/* 0056B0 80004AB0 A7110000 */ sh $s1, ($t8) -/* 0056B4 80004AB4 02408825 */ move $s1, $s2 -/* 0056B8 80004AB8 3C12800E */ lui $s2, %hi(gAlSndPlayer) # $s2, 0x800e -/* 0056BC 80004ABC 2652C6BC */ addiu $s2, %lo(gAlSndPlayer) # addiu $s2, $s2, -0x3944 -/* 0056C0 80004AC0 27B3002C */ addiu $s3, $sp, 0x2c -.L80004AC4: -/* 0056C4 80004AC4 8E190008 */ lw $t9, 8($s0) -/* 0056C8 80004AC8 240B0800 */ li $t3, 2048 -/* 0056CC 80004ACC 8F280004 */ lw $t0, 4($t9) -/* 0056D0 80004AD0 02602825 */ move $a1, $s3 -/* 0056D4 80004AD4 91090002 */ lbu $t1, 2($t0) -/* 0056D8 80004AD8 00003025 */ move $a2, $zero -/* 0056DC 80004ADC 312A003F */ andi $t2, $t1, 0x3f -/* 0056E0 80004AE0 162A0006 */ bne $s1, $t2, .L80004AFC -/* 0056E4 80004AE4 00000000 */ nop -/* 0056E8 80004AE8 8E440000 */ lw $a0, ($s2) -/* 0056EC 80004AEC A7AB002C */ sh $t3, 0x2c($sp) -/* 0056F0 80004AF0 AFB00030 */ sw $s0, 0x30($sp) -/* 0056F4 80004AF4 0C03246B */ jal alEvtqPostEvent -/* 0056F8 80004AF8 24840014 */ addiu $a0, $a0, 0x14 -.L80004AFC: -/* 0056FC 80004AFC 8E100000 */ lw $s0, ($s0) -/* 005700 80004B00 00000000 */ nop -/* 005704 80004B04 1600FFEF */ bnez $s0, .L80004AC4 -/* 005708 80004B08 00000000 */ nop -.L80004B0C: -/* 00570C 80004B0C 8FA40044 */ lw $a0, 0x44($sp) -/* 005710 80004B10 0C03268C */ jal osSetIntMask -/* 005714 80004B14 00000000 */ nop -/* 005718 80004B18 8FBF0024 */ lw $ra, 0x24($sp) -/* 00571C 80004B1C 8FB00014 */ lw $s0, 0x14($sp) -/* 005720 80004B20 8FB10018 */ lw $s1, 0x18($sp) -/* 005724 80004B24 8FB2001C */ lw $s2, 0x1c($sp) -/* 005728 80004B28 8FB30020 */ lw $s3, 0x20($sp) -/* 00572C 80004B2C 03E00008 */ jr $ra -/* 005730 80004B30 27BD0048 */ addiu $sp, $sp, 0x48 - -/* 005734 80004B34 00000000 */ nop -/* 005738 80004B38 00000000 */ nop -/* 00573C 80004B3C 00000000 */ nop - diff --git a/asm/non_matchings/unknown_005740/func_80006FC8.s b/asm/non_matchings/unknown_005740/func_80006FC8.s index c75f553f..7339cc58 100644 --- a/asm/non_matchings/unknown_005740/func_80006FC8.s +++ b/asm/non_matchings/unknown_005740/func_80006FC8.s @@ -1105,18 +1105,3 @@ glabel func_80006FC8 /* 008B6C 80007F6C 8FBE0068 */ lw $fp, 0x68($sp) /* 008B70 80007F70 03E00008 */ jr $ra /* 008B74 80007F74 27BD00C8 */ addiu $sp, $sp, 0xc8 - -/* 008B78 80007F78 240E0001 */ li $t6, 1 -/* 008B7C 80007F7C 3C01800E */ lui $at, %hi(D_800DC6D0) # $at, 0x800e -/* 008B80 80007F80 03E00008 */ jr $ra -/* 008B84 80007F84 A02EC6D0 */ sb $t6, %lo(D_800DC6D0)($at) - -/* 008B88 80007F88 3C01800E */ lui $at, %hi(D_800DC6D0) # $at, 0x800e -/* 008B8C 80007F8C 03E00008 */ jr $ra -/* 008B90 80007F90 A020C6D0 */ sb $zero, %lo(D_800DC6D0)($at) - -/* 008B94 80007F94 3C02800E */ lui $v0, %hi(D_800DC6D0) # $v0, 0x800e -/* 008B98 80007F98 9042C6D0 */ lbu $v0, %lo(D_800DC6D0)($v0) -/* 008B9C 80007F9C 03E00008 */ jr $ra -/* 008BA0 80007FA0 00000000 */ nop - diff --git a/asm/non_matchings/unknown_005740/func_80009D6C.s b/asm/non_matchings/unknown_005740/func_80009D6C.s index 5c1e6987..b3f58503 100644 --- a/asm/non_matchings/unknown_005740/func_80009D6C.s +++ b/asm/non_matchings/unknown_005740/func_80009D6C.s @@ -285,100 +285,3 @@ glabel func_80009D6C /* 00AD78 8000A178 8FB10048 */ lw $s1, 0x48($sp) /* 00AD7C 8000A17C 03E00008 */ jr $ra /* 00AD80 8000A180 27BD0098 */ addiu $sp, $sp, 0x98 - -/* 00AD84 8000A184 27BDFFB0 */ addiu $sp, $sp, -0x50 -/* 00AD88 8000A188 AFBE0048 */ sw $fp, 0x48($sp) -/* 00AD8C 8000A18C AFB70044 */ sw $s7, 0x44($sp) -/* 00AD90 8000A190 AFB60040 */ sw $s6, 0x40($sp) -/* 00AD94 8000A194 AFB5003C */ sw $s5, 0x3c($sp) -/* 00AD98 8000A198 AFB40038 */ sw $s4, 0x38($sp) -/* 00AD9C 8000A19C AFB30034 */ sw $s3, 0x34($sp) -/* 00ADA0 8000A1A0 3C168012 */ lui $s6, %hi(D_80119C58) # $s6, 0x8012 -/* 00ADA4 8000A1A4 3C178012 */ lui $s7, %hi(D_80119C5C) # $s7, 0x8012 -/* 00ADA8 8000A1A8 3C1E8012 */ lui $fp, %hi(D_8011A6DC) # $fp, 0x8012 -/* 00ADAC 8000A1AC 00809825 */ move $s3, $a0 -/* 00ADB0 8000A1B0 00A0A025 */ move $s4, $a1 -/* 00ADB4 8000A1B4 00C0A825 */ move $s5, $a2 -/* 00ADB8 8000A1B8 AFBF004C */ sw $ra, 0x4c($sp) -/* 00ADBC 8000A1BC AFB20030 */ sw $s2, 0x30($sp) -/* 00ADC0 8000A1C0 AFB1002C */ sw $s1, 0x2c($sp) -/* 00ADC4 8000A1C4 AFB00028 */ sw $s0, 0x28($sp) -/* 00ADC8 8000A1C8 27DEA6DC */ addiu $fp, %lo(D_8011A6DC) # addiu $fp, $fp, -0x5924 -/* 00ADCC 8000A1CC 26F79C5C */ addiu $s7, %lo(D_80119C5C) # addiu $s7, $s7, -0x63a4 -/* 00ADD0 8000A1D0 26D69C58 */ addiu $s6, %lo(D_80119C58) # addiu $s6, $s6, -0x63a8 -.L8000A1D4: -/* 00ADD4 8000A1D4 8ECE016C */ lw $t6, 0x16c($s6) -/* 00ADD8 8000A1D8 02C09025 */ move $s2, $s6 -/* 00ADDC 8000A1DC 11C00013 */ beqz $t6, .L8000A22C -/* 00ADE0 8000A1E0 02E08825 */ move $s1, $s7 -/* 00ADE4 8000A1E4 82CF017C */ lb $t7, 0x17c($s6) -/* 00ADE8 8000A1E8 00008025 */ move $s0, $zero -/* 00ADEC 8000A1EC 19E0000F */ blez $t7, .L8000A22C -.L8000A1F0: -/* 00ADF0 8000A1F0 241800FF */ li $t8, 255 -/* 00ADF4 8000A1F4 241900FF */ li $t9, 255 -/* 00ADF8 8000A1F8 AFB90014 */ sw $t9, 0x14($sp) -/* 00ADFC 8000A1FC AFB80010 */ sw $t8, 0x10($sp) -/* 00AE00 8000A200 02602025 */ move $a0, $s3 -/* 00AE04 8000A204 02802825 */ move $a1, $s4 -/* 00AE08 8000A208 02A03025 */ move $a2, $s5 -/* 00AE0C 8000A20C 02203825 */ move $a3, $s1 -/* 00AE10 8000A210 0C002905 */ jal func_8000A414 -/* 00AE14 8000A214 AFA00018 */ sw $zero, 0x18($sp) -/* 00AE18 8000A218 8248017C */ lb $t0, 0x17c($s2) -/* 00AE1C 8000A21C 26100001 */ addiu $s0, $s0, 1 -/* 00AE20 8000A220 0208082A */ slt $at, $s0, $t0 -/* 00AE24 8000A224 1420FFF2 */ bnez $at, .L8000A1F0 -/* 00AE28 8000A228 2631000C */ addiu $s1, $s1, 0xc -.L8000A22C: -/* 00AE2C 8000A22C 26F70180 */ addiu $s7, $s7, 0x180 -/* 00AE30 8000A230 02FE082B */ sltu $at, $s7, $fp -/* 00AE34 8000A234 1420FFE7 */ bnez $at, .L8000A1D4 -/* 00AE38 8000A238 26D60180 */ addiu $s6, $s6, 0x180 -/* 00AE3C 8000A23C 3C168012 */ lui $s6, %hi(D_8011A6D8) # $s6, 0x8012 -/* 00AE40 8000A240 3C178012 */ lui $s7, %hi(D_8011A6DC) # $s7, 0x8012 -/* 00AE44 8000A244 3C1E8012 */ lui $fp, %hi(D_8011AC1C) # $fp, 0x8012 -/* 00AE48 8000A248 27DEAC1C */ addiu $fp, %lo(D_8011AC1C) # addiu $fp, $fp, -0x53e4 -/* 00AE4C 8000A24C 26F7A6DC */ addiu $s7, %lo(D_8011A6DC) # addiu $s7, $s7, -0x5924 -/* 00AE50 8000A250 26D6A6D8 */ addiu $s6, %lo(D_8011A6D8) # addiu $s6, $s6, -0x5928 -.L8000A254: -/* 00AE54 8000A254 92C90000 */ lbu $t1, ($s6) -/* 00AE58 8000A258 02C09025 */ move $s2, $s6 -/* 00AE5C 8000A25C 11200013 */ beqz $t1, .L8000A2AC -/* 00AE60 8000A260 02E08825 */ move $s1, $s7 -/* 00AE64 8000A264 82CA00B8 */ lb $t2, 0xb8($s6) -/* 00AE68 8000A268 00008025 */ move $s0, $zero -/* 00AE6C 8000A26C 1940000F */ blez $t2, .L8000A2AC -.L8000A270: -/* 00AE70 8000A270 240B00FF */ li $t3, 255 -/* 00AE74 8000A274 240C00FF */ li $t4, 255 -/* 00AE78 8000A278 AFAC0018 */ sw $t4, 0x18($sp) -/* 00AE7C 8000A27C AFAB0010 */ sw $t3, 0x10($sp) -/* 00AE80 8000A280 02602025 */ move $a0, $s3 -/* 00AE84 8000A284 02802825 */ move $a1, $s4 -/* 00AE88 8000A288 02A03025 */ move $a2, $s5 -/* 00AE8C 8000A28C 02203825 */ move $a3, $s1 -/* 00AE90 8000A290 0C002905 */ jal func_8000A414 -/* 00AE94 8000A294 AFA00014 */ sw $zero, 0x14($sp) -/* 00AE98 8000A298 824D00B8 */ lb $t5, 0xb8($s2) -/* 00AE9C 8000A29C 26100001 */ addiu $s0, $s0, 1 -/* 00AEA0 8000A2A0 020D082A */ slt $at, $s0, $t5 -/* 00AEA4 8000A2A4 1420FFF2 */ bnez $at, .L8000A270 -/* 00AEA8 8000A2A8 2631000C */ addiu $s1, $s1, 0xc -.L8000A2AC: -/* 00AEAC 8000A2AC 26F700C0 */ addiu $s7, $s7, 0xc0 -/* 00AEB0 8000A2B0 16FEFFE8 */ bne $s7, $fp, .L8000A254 -/* 00AEB4 8000A2B4 26D600C0 */ addiu $s6, $s6, 0xc0 -/* 00AEB8 8000A2B8 8FBF004C */ lw $ra, 0x4c($sp) -/* 00AEBC 8000A2BC 8FB00028 */ lw $s0, 0x28($sp) -/* 00AEC0 8000A2C0 8FB1002C */ lw $s1, 0x2c($sp) -/* 00AEC4 8000A2C4 8FB20030 */ lw $s2, 0x30($sp) -/* 00AEC8 8000A2C8 8FB30034 */ lw $s3, 0x34($sp) -/* 00AECC 8000A2CC 8FB40038 */ lw $s4, 0x38($sp) -/* 00AED0 8000A2D0 8FB5003C */ lw $s5, 0x3c($sp) -/* 00AED4 8000A2D4 8FB60040 */ lw $s6, 0x40($sp) -/* 00AED8 8000A2D8 8FB70044 */ lw $s7, 0x44($sp) -/* 00AEDC 8000A2DC 8FBE0048 */ lw $fp, 0x48($sp) -/* 00AEE0 8000A2E0 03E00008 */ jr $ra -/* 00AEE4 8000A2E4 27BD0050 */ addiu $sp, $sp, 0x50 - diff --git a/asm/non_matchings/unknown_005740/func_8000A184.s b/asm/non_matchings/unknown_005740/func_8000A184.s new file mode 100644 index 00000000..70b8cd9f --- /dev/null +++ b/asm/non_matchings/unknown_005740/func_8000A184.s @@ -0,0 +1,97 @@ +glabel func_8000A184 +/* 00AD84 8000A184 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 00AD88 8000A188 AFBE0048 */ sw $fp, 0x48($sp) +/* 00AD8C 8000A18C AFB70044 */ sw $s7, 0x44($sp) +/* 00AD90 8000A190 AFB60040 */ sw $s6, 0x40($sp) +/* 00AD94 8000A194 AFB5003C */ sw $s5, 0x3c($sp) +/* 00AD98 8000A198 AFB40038 */ sw $s4, 0x38($sp) +/* 00AD9C 8000A19C AFB30034 */ sw $s3, 0x34($sp) +/* 00ADA0 8000A1A0 3C168012 */ lui $s6, %hi(D_80119C58) # $s6, 0x8012 +/* 00ADA4 8000A1A4 3C178012 */ lui $s7, %hi(D_80119C5C) # $s7, 0x8012 +/* 00ADA8 8000A1A8 3C1E8012 */ lui $fp, %hi(D_8011A6DC) # $fp, 0x8012 +/* 00ADAC 8000A1AC 00809825 */ move $s3, $a0 +/* 00ADB0 8000A1B0 00A0A025 */ move $s4, $a1 +/* 00ADB4 8000A1B4 00C0A825 */ move $s5, $a2 +/* 00ADB8 8000A1B8 AFBF004C */ sw $ra, 0x4c($sp) +/* 00ADBC 8000A1BC AFB20030 */ sw $s2, 0x30($sp) +/* 00ADC0 8000A1C0 AFB1002C */ sw $s1, 0x2c($sp) +/* 00ADC4 8000A1C4 AFB00028 */ sw $s0, 0x28($sp) +/* 00ADC8 8000A1C8 27DEA6DC */ addiu $fp, %lo(D_8011A6DC) # addiu $fp, $fp, -0x5924 +/* 00ADCC 8000A1CC 26F79C5C */ addiu $s7, %lo(D_80119C5C) # addiu $s7, $s7, -0x63a4 +/* 00ADD0 8000A1D0 26D69C58 */ addiu $s6, %lo(D_80119C58) # addiu $s6, $s6, -0x63a8 +.L8000A1D4: +/* 00ADD4 8000A1D4 8ECE016C */ lw $t6, 0x16c($s6) +/* 00ADD8 8000A1D8 02C09025 */ move $s2, $s6 +/* 00ADDC 8000A1DC 11C00013 */ beqz $t6, .L8000A22C +/* 00ADE0 8000A1E0 02E08825 */ move $s1, $s7 +/* 00ADE4 8000A1E4 82CF017C */ lb $t7, 0x17c($s6) +/* 00ADE8 8000A1E8 00008025 */ move $s0, $zero +/* 00ADEC 8000A1EC 19E0000F */ blez $t7, .L8000A22C +.L8000A1F0: +/* 00ADF0 8000A1F0 241800FF */ li $t8, 255 +/* 00ADF4 8000A1F4 241900FF */ li $t9, 255 +/* 00ADF8 8000A1F8 AFB90014 */ sw $t9, 0x14($sp) +/* 00ADFC 8000A1FC AFB80010 */ sw $t8, 0x10($sp) +/* 00AE00 8000A200 02602025 */ move $a0, $s3 +/* 00AE04 8000A204 02802825 */ move $a1, $s4 +/* 00AE08 8000A208 02A03025 */ move $a2, $s5 +/* 00AE0C 8000A20C 02203825 */ move $a3, $s1 +/* 00AE10 8000A210 0C002905 */ jal func_8000A414 +/* 00AE14 8000A214 AFA00018 */ sw $zero, 0x18($sp) +/* 00AE18 8000A218 8248017C */ lb $t0, 0x17c($s2) +/* 00AE1C 8000A21C 26100001 */ addiu $s0, $s0, 1 +/* 00AE20 8000A220 0208082A */ slt $at, $s0, $t0 +/* 00AE24 8000A224 1420FFF2 */ bnez $at, .L8000A1F0 +/* 00AE28 8000A228 2631000C */ addiu $s1, $s1, 0xc +.L8000A22C: +/* 00AE2C 8000A22C 26F70180 */ addiu $s7, $s7, 0x180 +/* 00AE30 8000A230 02FE082B */ sltu $at, $s7, $fp +/* 00AE34 8000A234 1420FFE7 */ bnez $at, .L8000A1D4 +/* 00AE38 8000A238 26D60180 */ addiu $s6, $s6, 0x180 +/* 00AE3C 8000A23C 3C168012 */ lui $s6, %hi(D_8011A6D8) # $s6, 0x8012 +/* 00AE40 8000A240 3C178012 */ lui $s7, %hi(D_8011A6DC) # $s7, 0x8012 +/* 00AE44 8000A244 3C1E8012 */ lui $fp, %hi(D_8011AC1C) # $fp, 0x8012 +/* 00AE48 8000A248 27DEAC1C */ addiu $fp, %lo(D_8011AC1C) # addiu $fp, $fp, -0x53e4 +/* 00AE4C 8000A24C 26F7A6DC */ addiu $s7, %lo(D_8011A6DC) # addiu $s7, $s7, -0x5924 +/* 00AE50 8000A250 26D6A6D8 */ addiu $s6, %lo(D_8011A6D8) # addiu $s6, $s6, -0x5928 +.L8000A254: +/* 00AE54 8000A254 92C90000 */ lbu $t1, ($s6) +/* 00AE58 8000A258 02C09025 */ move $s2, $s6 +/* 00AE5C 8000A25C 11200013 */ beqz $t1, .L8000A2AC +/* 00AE60 8000A260 02E08825 */ move $s1, $s7 +/* 00AE64 8000A264 82CA00B8 */ lb $t2, 0xb8($s6) +/* 00AE68 8000A268 00008025 */ move $s0, $zero +/* 00AE6C 8000A26C 1940000F */ blez $t2, .L8000A2AC +.L8000A270: +/* 00AE70 8000A270 240B00FF */ li $t3, 255 +/* 00AE74 8000A274 240C00FF */ li $t4, 255 +/* 00AE78 8000A278 AFAC0018 */ sw $t4, 0x18($sp) +/* 00AE7C 8000A27C AFAB0010 */ sw $t3, 0x10($sp) +/* 00AE80 8000A280 02602025 */ move $a0, $s3 +/* 00AE84 8000A284 02802825 */ move $a1, $s4 +/* 00AE88 8000A288 02A03025 */ move $a2, $s5 +/* 00AE8C 8000A28C 02203825 */ move $a3, $s1 +/* 00AE90 8000A290 0C002905 */ jal func_8000A414 +/* 00AE94 8000A294 AFA00014 */ sw $zero, 0x14($sp) +/* 00AE98 8000A298 824D00B8 */ lb $t5, 0xb8($s2) +/* 00AE9C 8000A29C 26100001 */ addiu $s0, $s0, 1 +/* 00AEA0 8000A2A0 020D082A */ slt $at, $s0, $t5 +/* 00AEA4 8000A2A4 1420FFF2 */ bnez $at, .L8000A270 +/* 00AEA8 8000A2A8 2631000C */ addiu $s1, $s1, 0xc +.L8000A2AC: +/* 00AEAC 8000A2AC 26F700C0 */ addiu $s7, $s7, 0xc0 +/* 00AEB0 8000A2B0 16FEFFE8 */ bne $s7, $fp, .L8000A254 +/* 00AEB4 8000A2B4 26D600C0 */ addiu $s6, $s6, 0xc0 +/* 00AEB8 8000A2B8 8FBF004C */ lw $ra, 0x4c($sp) +/* 00AEBC 8000A2BC 8FB00028 */ lw $s0, 0x28($sp) +/* 00AEC0 8000A2C0 8FB1002C */ lw $s1, 0x2c($sp) +/* 00AEC4 8000A2C4 8FB20030 */ lw $s2, 0x30($sp) +/* 00AEC8 8000A2C8 8FB30034 */ lw $s3, 0x34($sp) +/* 00AECC 8000A2CC 8FB40038 */ lw $s4, 0x38($sp) +/* 00AED0 8000A2D0 8FB5003C */ lw $s5, 0x3c($sp) +/* 00AED4 8000A2D4 8FB60040 */ lw $s6, 0x40($sp) +/* 00AED8 8000A2D8 8FB70044 */ lw $s7, 0x44($sp) +/* 00AEDC 8000A2DC 8FBE0048 */ lw $fp, 0x48($sp) +/* 00AEE0 8000A2E0 03E00008 */ jr $ra +/* 00AEE4 8000A2E4 27BD0050 */ addiu $sp, $sp, 0x50 + diff --git a/asm/non_matchings/unknown_0255E0/func_8002A900.s b/asm/non_matchings/unknown_0255E0/func_8002A900.s index 557c68a6..36e13e23 100644 --- a/asm/non_matchings/unknown_0255E0/func_8002A900.s +++ b/asm/non_matchings/unknown_0255E0/func_8002A900.s @@ -214,59 +214,3 @@ glabel L8002AB58 /* 02B7F4 8002ABF4 C7BA002C */ lwc1 $f26, 0x2c($sp) /* 02B7F8 8002ABF8 03E00008 */ jr $ra /* 02B7FC 8002ABFC 27BD0058 */ addiu $sp, $sp, 0x58 - -/* 02B800 8002AC00 3C02800E */ lui $v0, %hi(gCurrentLevelModel) # $v0, 0x800e -/* 02B804 8002AC04 8C42C918 */ lw $v0, %lo(gCurrentLevelModel)($v0) -/* 02B808 8002AC08 00000000 */ nop -/* 02B80C 8002AC0C 8443001A */ lh $v1, 0x1a($v0) -/* 02B810 8002AC10 00000000 */ nop -/* 02B814 8002AC14 0083082A */ slt $at, $a0, $v1 -/* 02B818 8002AC18 1020001F */ beqz $at, .L8002AC98 -/* 02B81C 8002AC1C 00A3082A */ slt $at, $a1, $v1 -/* 02B820 8002AC20 1020001D */ beqz $at, .L8002AC98 -/* 02B824 8002AC24 00047900 */ sll $t7, $a0, 4 -/* 02B828 8002AC28 8C4E0004 */ lw $t6, 4($v0) -/* 02B82C 8002AC2C 01E47821 */ addu $t7, $t7, $a0 -/* 02B830 8002AC30 000F7880 */ sll $t7, $t7, 2 -/* 02B834 8002AC34 01CFC021 */ addu $t8, $t6, $t7 -/* 02B838 8002AC38 87030028 */ lh $v1, 0x28($t8) -/* 02B83C 8002AC3C 10C0000C */ beqz $a2, .L8002AC70 -/* 02B840 8002AC40 000540C3 */ sra $t0, $a1, 3 -/* 02B844 8002AC44 8C590010 */ lw $t9, 0x10($v0) -/* 02B848 8002AC48 000548C3 */ sra $t1, $a1, 3 -/* 02B84C 8002AC4C 03234021 */ addu $t0, $t9, $v1 -/* 02B850 8002AC50 01092021 */ addu $a0, $t0, $t1 -/* 02B854 8002AC54 908A0000 */ lbu $t2, ($a0) -/* 02B858 8002AC58 30AB0007 */ andi $t3, $a1, 7 -/* 02B85C 8002AC5C 240C0001 */ li $t4, 1 -/* 02B860 8002AC60 016C7004 */ sllv $t6, $t4, $t3 -/* 02B864 8002AC64 014E7825 */ or $t7, $t2, $t6 -/* 02B868 8002AC68 03E00008 */ jr $ra -/* 02B86C 8002AC6C A08F0000 */ sb $t7, ($a0) - -.L8002AC70: -/* 02B870 8002AC70 8C580010 */ lw $t8, 0x10($v0) -/* 02B874 8002AC74 30AC0007 */ andi $t4, $a1, 7 -/* 02B878 8002AC78 0303C821 */ addu $t9, $t8, $v1 -/* 02B87C 8002AC7C 03282021 */ addu $a0, $t9, $t0 -/* 02B880 8002AC80 240B0001 */ li $t3, 1 -/* 02B884 8002AC84 90890000 */ lbu $t1, ($a0) -/* 02B888 8002AC88 018B5004 */ sllv $t2, $t3, $t4 -/* 02B88C 8002AC8C 01407027 */ not $t6, $t2 -/* 02B890 8002AC90 012E7824 */ and $t7, $t1, $t6 -/* 02B894 8002AC94 A08F0000 */ sb $t7, ($a0) -.L8002AC98: -/* 02B898 8002AC98 03E00008 */ jr $ra -/* 02B89C 8002AC9C 00000000 */ nop - -/* 02B8A0 8002ACA0 3C0E8012 */ lui $t6, %hi(D_8011D378) # $t6, 0x8012 -/* 02B8A4 8002ACA4 8DCED378 */ lw $t6, %lo(D_8011D378)($t6) -/* 02B8A8 8002ACA8 3C0F8012 */ lui $t7, %hi(D_8011D370) # $t7, 0x8012 -/* 02B8AC 8002ACAC AC8E0000 */ sw $t6, ($a0) -/* 02B8B0 8002ACB0 8DEFD370 */ lw $t7, %lo(D_8011D370)($t7) -/* 02B8B4 8002ACB4 3C188012 */ lui $t8, %hi(D_8011D374) # $t8, 0x8012 -/* 02B8B8 8002ACB8 ACAF0000 */ sw $t7, ($a1) -/* 02B8BC 8002ACBC 8F18D374 */ lw $t8, %lo(D_8011D374)($t8) -/* 02B8C0 8002ACC0 03E00008 */ jr $ra -/* 02B8C4 8002ACC4 ACD80000 */ sw $t8, ($a2) - diff --git a/asm/non_matchings/unknown_0255E0/func_8002AC00.s b/asm/non_matchings/unknown_0255E0/func_8002AC00.s new file mode 100644 index 00000000..97efa974 --- /dev/null +++ b/asm/non_matchings/unknown_0255E0/func_8002AC00.s @@ -0,0 +1,45 @@ + +glabel func_8002AC00 +/* 02B800 8002AC00 3C02800E */ lui $v0, %hi(gCurrentLevelModel) # $v0, 0x800e +/* 02B804 8002AC04 8C42C918 */ lw $v0, %lo(gCurrentLevelModel)($v0) +/* 02B808 8002AC08 00000000 */ nop +/* 02B80C 8002AC0C 8443001A */ lh $v1, 0x1a($v0) +/* 02B810 8002AC10 00000000 */ nop +/* 02B814 8002AC14 0083082A */ slt $at, $a0, $v1 +/* 02B818 8002AC18 1020001F */ beqz $at, .L8002AC98 +/* 02B81C 8002AC1C 00A3082A */ slt $at, $a1, $v1 +/* 02B820 8002AC20 1020001D */ beqz $at, .L8002AC98 +/* 02B824 8002AC24 00047900 */ sll $t7, $a0, 4 +/* 02B828 8002AC28 8C4E0004 */ lw $t6, 4($v0) +/* 02B82C 8002AC2C 01E47821 */ addu $t7, $t7, $a0 +/* 02B830 8002AC30 000F7880 */ sll $t7, $t7, 2 +/* 02B834 8002AC34 01CFC021 */ addu $t8, $t6, $t7 +/* 02B838 8002AC38 87030028 */ lh $v1, 0x28($t8) +/* 02B83C 8002AC3C 10C0000C */ beqz $a2, .L8002AC70 +/* 02B840 8002AC40 000540C3 */ sra $t0, $a1, 3 +/* 02B844 8002AC44 8C590010 */ lw $t9, 0x10($v0) +/* 02B848 8002AC48 000548C3 */ sra $t1, $a1, 3 +/* 02B84C 8002AC4C 03234021 */ addu $t0, $t9, $v1 +/* 02B850 8002AC50 01092021 */ addu $a0, $t0, $t1 +/* 02B854 8002AC54 908A0000 */ lbu $t2, ($a0) +/* 02B858 8002AC58 30AB0007 */ andi $t3, $a1, 7 +/* 02B85C 8002AC5C 240C0001 */ li $t4, 1 +/* 02B860 8002AC60 016C7004 */ sllv $t6, $t4, $t3 +/* 02B864 8002AC64 014E7825 */ or $t7, $t2, $t6 +/* 02B868 8002AC68 03E00008 */ jr $ra +/* 02B86C 8002AC6C A08F0000 */ sb $t7, ($a0) + +.L8002AC70: +/* 02B870 8002AC70 8C580010 */ lw $t8, 0x10($v0) +/* 02B874 8002AC74 30AC0007 */ andi $t4, $a1, 7 +/* 02B878 8002AC78 0303C821 */ addu $t9, $t8, $v1 +/* 02B87C 8002AC7C 03282021 */ addu $a0, $t9, $t0 +/* 02B880 8002AC80 240B0001 */ li $t3, 1 +/* 02B884 8002AC84 90890000 */ lbu $t1, ($a0) +/* 02B888 8002AC88 018B5004 */ sllv $t2, $t3, $t4 +/* 02B88C 8002AC8C 01407027 */ not $t6, $t2 +/* 02B890 8002AC90 012E7824 */ and $t7, $t1, $t6 +/* 02B894 8002AC94 A08F0000 */ sb $t7, ($a0) +.L8002AC98: +/* 02B898 8002AC98 03E00008 */ jr $ra +/* 02B89C 8002AC9C 00000000 */ nop diff --git a/asm/non_matchings/unknown_078050/func_800775B0.s b/asm/non_matchings/unknown_078050/func_800775B0.s new file mode 100644 index 00000000..0006a201 --- /dev/null +++ b/asm/non_matchings/unknown_078050/func_800775B0.s @@ -0,0 +1,101 @@ +glabel func_800775B0 +/* 0781B0 800775B0 3C03800E */ lui $v1, %hi(D_800DE4D8) # $v1, 0x800e +/* 0781B4 800775B4 2463E4D8 */ addiu $v1, %lo(D_800DE4D8) # addiu $v1, $v1, -0x1b28 +/* 0781B8 800775B8 8C620000 */ lw $v0, ($v1) +/* 0781BC 800775BC 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 0781C0 800775C0 000270C0 */ sll $t6, $v0, 3 +/* 0781C4 800775C4 3C0F8012 */ lui $t7, %hi(D_80126020) # $t7, 0x8012 +/* 0781C8 800775C8 01C27023 */ subu $t6, $t6, $v0 +/* 0781CC 800775CC 000E7100 */ sll $t6, $t6, 4 +/* 0781D0 800775D0 25EF6020 */ addiu $t7, %lo(D_80126020) # addiu $t7, $t7, 0x6020 +/* 0781D4 800775D4 24010002 */ li $at, 2 +/* 0781D8 800775D8 24580001 */ addiu $t8, $v0, 1 +/* 0781DC 800775DC AFBF0014 */ sw $ra, 0x14($sp) +/* 0781E0 800775E0 AFA60030 */ sw $a2, 0x30($sp) +/* 0781E4 800775E4 AFA00020 */ sw $zero, 0x20($sp) +/* 0781E8 800775E8 01CF3821 */ addu $a3, $t6, $t7 +/* 0781EC 800775EC 17010002 */ bne $t8, $at, .L800775F8 +/* 0781F0 800775F0 AC780000 */ sw $t8, ($v1) +/* 0781F4 800775F4 AC600000 */ sw $zero, ($v1) +.L800775F8: +/* 0781F8 800775F8 3C02800E */ lui $v0, %hi(rspF3DDKRBootStart) # $v0, 0x800e +/* 0781FC 800775FC 3C0D800E */ lui $t5, %hi(rspF3DDKRDramStart) # $t5, 0x800e +/* 078200 80077600 244284C0 */ addiu $v0, %lo(rspF3DDKRBootStart) # addiu $v0, $v0, -0x7b40 +/* 078204 80077604 00A44023 */ subu $t0, $a1, $a0 +/* 078208 80077608 25AD8590 */ addiu $t5, %lo(rspF3DDKRDramStart) # addiu $t5, $t5, -0x7a70 +/* 07820C 8007760C 000848C3 */ sra $t1, $t0, 3 +/* 078210 80077610 01A27023 */ subu $t6, $t5, $v0 +/* 078214 80077614 000950C0 */ sll $t2, $t1, 3 +/* 078218 80077618 ACEA0044 */ sw $t2, 0x44($a3) +/* 07821C 8007761C 240B0001 */ li $t3, 1 +/* 078220 80077620 240C0002 */ li $t4, 2 +/* 078224 80077624 ACEE001C */ sw $t6, 0x1c($a3) +/* 078228 80077628 3C0F800E */ lui $t7, %hi(rspF3DDKRXbusStart) # $t7, 0x800e +/* 07822C 8007762C ACEB0010 */ sw $t3, 0x10($a3) +/* 078230 80077630 ACEC0014 */ sw $t4, 0x14($a3) +/* 078234 80077634 25EFA970 */ addiu $t7, %lo(rspF3DDKRXbusStart) # addiu $t7, $t7, -0x5690 +/* 078238 80077638 3C18800F */ lui $t8, %hi(rspF3DDKRDataXbusStart) # $t8, 0x800f +/* 07823C 8007763C 3C088012 */ lui $t0, %hi(gDramStack) # $t0, 0x8012 +/* 078240 80077640 3C0A8012 */ lui $t2, %hi(D_801271B0) # $t2, 0x8012 +/* 078244 80077644 3C0D8012 */ lui $t5, %hi(D_80125ED8) # $t5, 0x8012 +/* 078248 80077648 3C0E800E */ lui $t6, %hi(D_800DE490) # $t6, 0x800e +/* 07824C 8007764C ACEF0020 */ sw $t7, 0x20($a3) +/* 078250 80077650 2718ABA0 */ addiu $t8, %lo(rspF3DDKRDataXbusStart) # addiu $t8, $t8, -0x5460 +/* 078254 80077654 24190800 */ li $t9, 2048 +/* 078258 80077658 250842A0 */ addiu $t0, %lo(gDramStack) # addiu $t0, $t0, 0x42a0 +/* 07825C 8007765C 24090400 */ li $t1, 1024 +/* 078260 80077660 254A71B0 */ addiu $t2, %lo(D_801271B0) # addiu $t2, $t2, 0x71b0 +/* 078264 80077664 240B0A00 */ li $t3, 2560 +/* 078268 80077668 240C0003 */ li $t4, 3 +/* 07826C 8007766C 25AD5ED8 */ addiu $t5, %lo(D_80125ED8) # addiu $t5, $t5, 0x5ed8 +/* 078270 80077670 25CEE490 */ addiu $t6, %lo(D_800DE490) # addiu $t6, $t6, -0x1b70 +/* 078274 80077674 ACE40040 */ sw $a0, 0x40($a3) +/* 078278 80077678 ACE20018 */ sw $v0, 0x18($a3) +/* 07827C 8007767C ACF80028 */ sw $t8, 0x28($a3) +/* 078280 80077680 ACF9002C */ sw $t9, 0x2c($a3) +/* 078284 80077684 ACE80030 */ sw $t0, 0x30($a3) +/* 078288 80077688 ACE90034 */ sw $t1, 0x34($a3) +/* 07828C 8007768C ACEA0048 */ sw $t2, 0x48($a3) +/* 078290 80077690 ACEB004C */ sw $t3, 0x4c($a3) +/* 078294 80077694 ACE00038 */ sw $zero, 0x38($a3) +/* 078298 80077698 ACE0003C */ sw $zero, 0x3c($a3) +/* 07829C 8007769C ACE00000 */ sw $zero, ($a3) +/* 0782A0 800776A0 ACEC0008 */ sw $t4, 8($a3) +/* 0782A4 800776A4 ACED0050 */ sw $t5, 0x50($a3) +/* 0782A8 800776A8 ACEE0054 */ sw $t6, 0x54($a3) +/* 0782AC 800776AC 3C0F8012 */ lui $t7, %hi(gVideoCurrFramebuffer) # $t7, 0x8012 +/* 0782B0 800776B0 8DEF62D4 */ lw $t7, %lo(gVideoCurrFramebuffer)($t7) +/* 0782B4 800776B4 3C02FF00 */ lui $v0, (0xFF0000FF >> 16) # lui $v0, 0xff00 +/* 0782B8 800776B8 344200FF */ ori $v0, (0xFF0000FF & 0xFFFF) # ori $v0, $v0, 0xff +/* 0782BC 800776BC 240300FF */ li $v1, 255 +/* 0782C0 800776C0 ACE20058 */ sw $v0, 0x58($a3) +/* 0782C4 800776C4 ACE2005C */ sw $v0, 0x5c($a3) +/* 0782C8 800776C8 ACE30060 */ sw $v1, 0x60($a3) +/* 0782CC 800776CC ACE30064 */ sw $v1, 0x64($a3) +/* 0782D0 800776D0 ACE00068 */ sw $zero, 0x68($a3) +/* 0782D4 800776D4 ACEF000C */ sw $t7, 0xc($a3) +/* 0782D8 800776D8 8FB80030 */ lw $t8, 0x30($sp) +/* 0782DC 800776DC 3C198012 */ lui $t9, %hi(D_80125EA0) # $t9, 0x8012 +/* 0782E0 800776E0 13000002 */ beqz $t8, .L800776EC +/* 0782E4 800776E4 27395EA0 */ addiu $t9, %lo(D_80125EA0) # addiu $t9, $t9, 0x5ea0 +/* 0782E8 800776E8 ACF90050 */ sw $t9, 0x50($a3) +.L800776EC: +/* 0782EC 800776EC 0C034628 */ jal osWritebackDCacheAll +/* 0782F0 800776F0 AFA70024 */ sw $a3, 0x24($sp) +/* 0782F4 800776F4 3C048012 */ lui $a0, %hi(osScInterruptQ) # $a0, 0x8012 +/* 0782F8 800776F8 8FA50024 */ lw $a1, 0x24($sp) +/* 0782FC 800776FC 8C846100 */ lw $a0, %lo(osScInterruptQ)($a0) +/* 078300 80077700 0C03238C */ jal osSendMesg +/* 078304 80077704 24060001 */ li $a2, 1 +/* 078308 80077708 8FA80030 */ lw $t0, 0x30($sp) +/* 07830C 8007770C 3C048012 */ lui $a0, %hi(D_80125EA0) # $a0, 0x8012 +/* 078310 80077710 11000004 */ beqz $t0, .L80077724 +/* 078314 80077714 24845EA0 */ addiu $a0, %lo(D_80125EA0) # addiu $a0, $a0, 0x5ea0 +/* 078318 80077718 27A50020 */ addiu $a1, $sp, 0x20 +/* 07831C 8007771C 0C0322EC */ jal osRecvMesg +/* 078320 80077720 24060001 */ li $a2, 1 +.L80077724: +/* 078324 80077724 8FBF0014 */ lw $ra, 0x14($sp) +/* 078328 80077728 27BD0028 */ addiu $sp, $sp, 0x28 +/* 07832C 8007772C 03E00008 */ jr $ra +/* 078330 80077730 00000000 */ nop \ No newline at end of file diff --git a/asm/non_matchings/unknown_078050/func_80077734.s b/asm/non_matchings/unknown_078050/func_80077734.s new file mode 100644 index 00000000..3a07af4b --- /dev/null +++ b/asm/non_matchings/unknown_078050/func_80077734.s @@ -0,0 +1,105 @@ +glabel func_80077734 +/* 078334 80077734 3C03800E */ lui $v1, %hi(D_800DE4D8) # $v1, 0x800e +/* 078338 80077738 2463E4D8 */ addiu $v1, %lo(D_800DE4D8) # addiu $v1, $v1, -0x1b28 +/* 07833C 8007773C 8C620000 */ lw $v0, ($v1) +/* 078340 80077740 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 078344 80077744 000270C0 */ sll $t6, $v0, 3 +/* 078348 80077748 3C0F8012 */ lui $t7, %hi(D_80126020) # $t7, 0x8012 +/* 07834C 8007774C 01C27023 */ subu $t6, $t6, $v0 +/* 078350 80077750 000E7100 */ sll $t6, $t6, 4 +/* 078354 80077754 25EF6020 */ addiu $t7, %lo(D_80126020) # addiu $t7, $t7, 0x6020 +/* 078358 80077758 24010002 */ li $at, 2 +/* 07835C 8007775C 24580001 */ addiu $t8, $v0, 1 +/* 078360 80077760 AFBF0014 */ sw $ra, 0x14($sp) +/* 078364 80077764 AFA60030 */ sw $a2, 0x30($sp) +/* 078368 80077768 AFA00020 */ sw $zero, 0x20($sp) +/* 07836C 8007776C 01CF3821 */ addu $a3, $t6, $t7 +/* 078370 80077770 17010002 */ bne $t8, $at, .L8007777C +/* 078374 80077774 AC780000 */ sw $t8, ($v1) +/* 078378 80077778 AC600000 */ sw $zero, ($v1) +.L8007777C: +/* 07837C 8007777C 3C02800E */ lui $v0, %hi(rspF3DDKRBootStart) # $v0, 0x800e +/* 078380 80077780 00A44023 */ subu $t0, $a1, $a0 +/* 078384 80077784 3C0D800E */ lui $t5, %hi(rspF3DDKRDramStart) # $t5, 0x800e +/* 078388 80077788 244284C0 */ addiu $v0, %lo(rspF3DDKRBootStart) # addiu $v0, $v0, -0x7b40 +/* 07838C 8007778C 000848C3 */ sra $t1, $t0, 3 +/* 078390 80077790 25AD8590 */ addiu $t5, %lo(rspF3DDKRDramStart) # addiu $t5, $t5, -0x7a70 +/* 078394 80077794 3C0F800E */ lui $t7, %hi(rspF3DDKRFifoStart) # $t7, 0x800e +/* 078398 80077798 3C18800F */ lui $t8, %hi(rspF3DDKRDataFifoStart) # $t8, 0x800f +/* 07839C 8007779C 000950C0 */ sll $t2, $t1, 3 +/* 0783A0 800777A0 240B0001 */ li $t3, 1 +/* 0783A4 800777A4 240C0002 */ li $t4, 2 +/* 0783A8 800777A8 01A27023 */ subu $t6, $t5, $v0 +/* 0783AC 800777AC 25EF9790 */ addiu $t7, %lo(rspF3DDKRFifoStart) # addiu $t7, $t7, -0x6870 +/* 0783B0 800777B0 2718A3A0 */ addiu $t8, %lo(rspF3DDKRDataFifoStart) # addiu $t8, $t8, -0x5c60 +/* 0783B4 800777B4 ACEA0044 */ sw $t2, 0x44($a3) +/* 0783B8 800777B8 ACEB0010 */ sw $t3, 0x10($a3) +/* 0783BC 800777BC ACEC0014 */ sw $t4, 0x14($a3) +/* 0783C0 800777C0 ACEF0020 */ sw $t7, 0x20($a3) +/* 0783C4 800777C4 ACF80028 */ sw $t8, 0x28($a3) +/* 0783C8 800777C8 ACEE001C */ sw $t6, 0x1c($a3) +/* 0783CC 800777CC 24190800 */ li $t9, 2048 +/* 0783D0 800777D0 3C088012 */ lui $t0, %hi(gDramStack) # $t0, 0x8012 +/* 0783D4 800777D4 3C0A8012 */ lui $t2, %hi(gGfxSPTaskYieldBuffer) # $t2, 0x8012 +/* 0783D8 800777D8 3C0B8012 */ lui $t3, %hi(D_80125EA0) # $t3, 0x8012 +/* 0783DC 800777DC 3C0C8012 */ lui $t4, %hi(D_801271B0) # $t4, 0x8012 +/* 0783E0 800777E0 3C0F8012 */ lui $t7, %hi(D_80125ED8) # $t7, 0x8012 +/* 0783E4 800777E4 3C18800E */ lui $t8, %hi(D_800DE490) # $t8, 0x800e +/* 0783E8 800777E8 ACF9002C */ sw $t9, 0x2c($a3) +/* 0783EC 800777EC 250842A0 */ addiu $t0, %lo(gDramStack) # addiu $t0, $t0, 0x42a0 +/* 0783F0 800777F0 24090400 */ li $t1, 1024 +/* 0783F4 800777F4 254A46A0 */ addiu $t2, %lo(gGfxSPTaskYieldBuffer) # addiu $t2, $t2, 0x46a0 +/* 0783F8 800777F8 256B5EA0 */ addiu $t3, %lo(D_80125EA0) # addiu $t3, $t3, 0x5ea0 +/* 0783FC 800777FC 258C71B0 */ addiu $t4, %lo(D_801271B0) # addiu $t4, $t4, 0x71b0 +/* 078400 80077800 240D0A00 */ li $t5, 2560 +/* 078404 80077804 240E0007 */ li $t6, 7 +/* 078408 80077808 25EF5ED8 */ addiu $t7, %lo(D_80125ED8) # addiu $t7, $t7, 0x5ed8 +/* 07840C 8007780C 2718E490 */ addiu $t8, %lo(D_800DE490) # addiu $t8, $t8, -0x1b70 +/* 078410 80077810 ACE40040 */ sw $a0, 0x40($a3) +/* 078414 80077814 ACE20018 */ sw $v0, 0x18($a3) +/* 078418 80077818 ACE80030 */ sw $t0, 0x30($a3) +/* 07841C 8007781C ACE90034 */ sw $t1, 0x34($a3) +/* 078420 80077820 ACEA0038 */ sw $t2, 0x38($a3) +/* 078424 80077824 ACEB003C */ sw $t3, 0x3c($a3) +/* 078428 80077828 ACEC0048 */ sw $t4, 0x48($a3) +/* 07842C 8007782C ACED004C */ sw $t5, 0x4c($a3) +/* 078430 80077830 ACE00000 */ sw $zero, ($a3) +/* 078434 80077834 ACEE0008 */ sw $t6, 8($a3) +/* 078438 80077838 ACEF0050 */ sw $t7, 0x50($a3) +/* 07843C 8007783C ACF80054 */ sw $t8, 0x54($a3) +/* 078440 80077840 3C198012 */ lui $t9, %hi(gVideoCurrFramebuffer) # $t9, 0x8012 +/* 078444 80077844 8F3962D4 */ lw $t9, %lo(gVideoCurrFramebuffer)($t9) +/* 078448 80077848 3C02FF00 */ lui $v0, (0xFF0000FF >> 16) # lui $v0, 0xff00 +/* 07844C 8007784C 344200FF */ ori $v0, (0xFF0000FF & 0xFFFF) # ori $v0, $v0, 0xff +/* 078450 80077850 240300FF */ li $v1, 255 +/* 078454 80077854 ACE20058 */ sw $v0, 0x58($a3) +/* 078458 80077858 ACE2005C */ sw $v0, 0x5c($a3) +/* 07845C 8007785C ACE30060 */ sw $v1, 0x60($a3) +/* 078460 80077860 ACE30064 */ sw $v1, 0x64($a3) +/* 078464 80077864 ACE00068 */ sw $zero, 0x68($a3) +/* 078468 80077868 ACF9000C */ sw $t9, 0xc($a3) +/* 07846C 8007786C 8FA80030 */ lw $t0, 0x30($sp) +/* 078470 80077870 3C098012 */ lui $t1, %hi(D_80125EA0) # $t1, 0x8012 +/* 078474 80077874 11000002 */ beqz $t0, .L80077880 +/* 078478 80077878 25295EA0 */ addiu $t1, %lo(D_80125EA0) # addiu $t1, $t1, 0x5ea0 +/* 07847C 8007787C ACE90050 */ sw $t1, 0x50($a3) +.L80077880: +/* 078480 80077880 0C034628 */ jal osWritebackDCacheAll +/* 078484 80077884 AFA70024 */ sw $a3, 0x24($sp) +/* 078488 80077888 3C048012 */ lui $a0, %hi(osScInterruptQ) # $a0, 0x8012 +/* 07848C 8007788C 8FA50024 */ lw $a1, 0x24($sp) +/* 078490 80077890 8C846100 */ lw $a0, %lo(osScInterruptQ)($a0) +/* 078494 80077894 0C03238C */ jal osSendMesg +/* 078498 80077898 24060001 */ li $a2, 1 +/* 07849C 8007789C 8FAA0030 */ lw $t2, 0x30($sp) +/* 0784A0 800778A0 3C048012 */ lui $a0, %hi(D_80125EA0) # $a0, 0x8012 +/* 0784A4 800778A4 11400004 */ beqz $t2, .L800778B8 +/* 0784A8 800778A8 24845EA0 */ addiu $a0, %lo(D_80125EA0) # addiu $a0, $a0, 0x5ea0 +/* 0784AC 800778AC 27A50020 */ addiu $a1, $sp, 0x20 +/* 0784B0 800778B0 0C0322EC */ jal osRecvMesg +/* 0784B4 800778B4 24060001 */ li $a2, 1 +.L800778B8: +/* 0784B8 800778B8 8FBF0014 */ lw $ra, 0x14($sp) +/* 0784BC 800778BC 27BD0028 */ addiu $sp, $sp, 0x28 +/* 0784C0 800778C0 03E00008 */ jr $ra +/* 0784C4 800778C4 00000000 */ nop diff --git a/asm/non_matchings/unknown_078050/func_800778C8.s b/asm/non_matchings/unknown_078050/func_800778C8.s new file mode 100644 index 00000000..154705f2 --- /dev/null +++ b/asm/non_matchings/unknown_078050/func_800778C8.s @@ -0,0 +1,104 @@ +glabel func_800778C8 +/* 0784C8 800778C8 3C03800E */ lui $v1, %hi(D_800DE4D4) # $v1, 0x800e +/* 0784CC 800778CC 2463E4D4 */ addiu $v1, %lo(D_800DE4D4) # addiu $v1, $v1, -0x1b2c +/* 0784D0 800778D0 8C620000 */ lw $v0, ($v1) +/* 0784D4 800778D4 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 0784D8 800778D8 000270C0 */ sll $t6, $v0, 3 +/* 0784DC 800778DC 3C0F8012 */ lui $t7, %hi(D_80125F40) # $t7, 0x8012 +/* 0784E0 800778E0 01C27023 */ subu $t6, $t6, $v0 +/* 0784E4 800778E4 000E7100 */ sll $t6, $t6, 4 +/* 0784E8 800778E8 25EF5F40 */ addiu $t7, %lo(D_80125F40) # addiu $t7, $t7, 0x5f40 +/* 0784EC 800778EC 24010003 */ li $at, 3 +/* 0784F0 800778F0 24580001 */ addiu $t8, $v0, 1 +/* 0784F4 800778F4 AFBF0014 */ sw $ra, 0x14($sp) +/* 0784F8 800778F8 AFA60030 */ sw $a2, 0x30($sp) +/* 0784FC 800778FC AFA00020 */ sw $zero, 0x20($sp) +/* 078500 80077900 01CF3821 */ addu $a3, $t6, $t7 +/* 078504 80077904 17010002 */ bne $t8, $at, .L80077910 +/* 078508 80077908 AC780000 */ sw $t8, ($v1) +/* 07850C 8007790C AC600000 */ sw $zero, ($v1) +.L80077910: +/* 078510 80077910 3C02800E */ lui $v0, %hi(rspF3DDKRBootStart) # $v0, 0x800e +/* 078514 80077914 00A44023 */ subu $t0, $a1, $a0 +/* 078518 80077918 3C0D800E */ lui $t5, %hi(rspF3DDKRDramStart) # $t5, 0x800e +/* 07851C 8007791C 244284C0 */ addiu $v0, %lo(rspF3DDKRBootStart) # addiu $v0, $v0, -0x7b40 +/* 078520 80077920 000848C3 */ sra $t1, $t0, 3 +/* 078524 80077924 25AD8590 */ addiu $t5, %lo(rspF3DDKRDramStart) # addiu $t5, $t5, -0x7a70 +/* 078528 80077928 3C0F800E */ lui $t7, %hi(rspF3DDKRFifoStart) # $t7, 0x800e +/* 07852C 8007792C 3C18800F */ lui $t8, %hi(rspF3DDKRDataFifoStart) # $t8, 0x800f +/* 078530 80077930 000950C0 */ sll $t2, $t1, 3 +/* 078534 80077934 240B0001 */ li $t3, 1 +/* 078538 80077938 240C0002 */ li $t4, 2 +/* 07853C 8007793C 01A27023 */ subu $t6, $t5, $v0 +/* 078540 80077940 25EF9790 */ addiu $t7, %lo(rspF3DDKRFifoStart) # addiu $t7, $t7, -0x6870 +/* 078544 80077944 2718A3A0 */ addiu $t8, %lo(rspF3DDKRDataFifoStart) # addiu $t8, $t8, -0x5c60 +/* 078548 80077948 ACEA0044 */ sw $t2, 0x44($a3) +/* 07854C 8007794C ACEB0010 */ sw $t3, 0x10($a3) +/* 078550 80077950 ACEC0014 */ sw $t4, 0x14($a3) +/* 078554 80077954 ACEF0020 */ sw $t7, 0x20($a3) +/* 078558 80077958 ACF80028 */ sw $t8, 0x28($a3) +/* 07855C 8007795C ACEE001C */ sw $t6, 0x1c($a3) +/* 078560 80077960 24190800 */ li $t9, 2048 +/* 078564 80077964 3C088012 */ lui $t0, %hi(gDramStack) # $t0, 0x8012 +/* 078568 80077968 3C0A8012 */ lui $t2, %hi(gGfxSPTaskYieldBuffer) # $t2, 0x8012 +/* 07856C 8007796C 3C0B8012 */ lui $t3, %hi(D_80125EA0) # $t3, 0x8012 +/* 078570 80077970 3C0C8012 */ lui $t4, %hi(D_801271B0) # $t4, 0x8012 +/* 078574 80077974 3C0F8012 */ lui $t7, %hi(D_80125ED8) # $t7, 0x8012 +/* 078578 80077978 3C18800E */ lui $t8, %hi(D_800DE490) # $t8, 0x800e +/* 07857C 8007797C ACE20018 */ sw $v0, 0x18($a3) +/* 078580 80077980 ACF9002C */ sw $t9, 0x2c($a3) +/* 078584 80077984 250842A0 */ addiu $t0, %lo(gDramStack) # addiu $t0, $t0, 0x42a0 +/* 078588 80077988 24090400 */ li $t1, 1024 +/* 07858C 8007798C 254A46A0 */ addiu $t2, %lo(gGfxSPTaskYieldBuffer) # addiu $t2, $t2, 0x46a0 +/* 078590 80077990 256B5EA0 */ addiu $t3, %lo(D_80125EA0) # addiu $t3, $t3, 0x5ea0 +/* 078594 80077994 258C71B0 */ addiu $t4, %lo(D_801271B0) # addiu $t4, $t4, 0x71b0 +/* 078598 80077998 240D0A00 */ li $t5, 2560 +/* 07859C 8007799C 240E0007 */ li $t6, 7 +/* 0785A0 800779A0 25EF5ED8 */ addiu $t7, %lo(D_80125ED8) # addiu $t7, $t7, 0x5ed8 +/* 0785A4 800779A4 2718E490 */ addiu $t8, %lo(D_800DE490) # addiu $t8, $t8, -0x1b70 +/* 0785A8 800779A8 ACE40040 */ sw $a0, 0x40($a3) +/* 0785AC 800779AC ACE80030 */ sw $t0, 0x30($a3) +/* 0785B0 800779B0 ACE90034 */ sw $t1, 0x34($a3) +/* 0785B4 800779B4 ACEA0038 */ sw $t2, 0x38($a3) +/* 0785B8 800779B8 ACEB003C */ sw $t3, 0x3c($a3) +/* 0785BC 800779BC ACEC0048 */ sw $t4, 0x48($a3) +/* 0785C0 800779C0 ACED004C */ sw $t5, 0x4c($a3) +/* 0785C4 800779C4 ACE00000 */ sw $zero, ($a3) +/* 0785C8 800779C8 ACEE0008 */ sw $t6, 8($a3) +/* 0785CC 800779CC ACEF0050 */ sw $t7, 0x50($a3) +/* 0785D0 800779D0 ACF80054 */ sw $t8, 0x54($a3) +/* 0785D4 800779D4 3C198012 */ lui $t9, %hi(gVideoCurrFramebuffer) # $t9, 0x8012 +/* 0785D8 800779D8 8F3962D4 */ lw $t9, %lo(gVideoCurrFramebuffer)($t9) +/* 0785DC 800779DC 3C02FF00 */ lui $v0, (0xFF0000FF >> 16) # lui $v0, 0xff00 +/* 0785E0 800779E0 344200FF */ ori $v0, (0xFF0000FF & 0xFFFF) # ori $v0, $v0, 0xff +/* 0785E4 800779E4 ACE20058 */ sw $v0, 0x58($a3) +/* 0785E8 800779E8 ACE2005C */ sw $v0, 0x5c($a3) +/* 0785EC 800779EC ACF9000C */ sw $t9, 0xc($a3) +/* 0785F0 800779F0 8FA80030 */ lw $t0, 0x30($sp) +/* 0785F4 800779F4 240200FF */ li $v0, 255 +/* 0785F8 800779F8 11000003 */ beqz $t0, .L80077A08 +/* 0785FC 800779FC 00000000 */ nop +/* 078600 80077A00 ACE20060 */ sw $v0, 0x60($a3) +/* 078604 80077A04 ACE20064 */ sw $v0, 0x64($a3) +.L80077A08: +/* 078608 80077A08 ACE00068 */ sw $zero, 0x68($a3) +/* 07860C 80077A0C 0C034628 */ jal osWritebackDCacheAll +/* 078610 80077A10 AFA70024 */ sw $a3, 0x24($sp) +/* 078614 80077A14 3C048012 */ lui $a0, %hi(osScInterruptQ) # $a0, 0x8012 +/* 078618 80077A18 8FA50024 */ lw $a1, 0x24($sp) +/* 07861C 80077A1C 8C846100 */ lw $a0, %lo(osScInterruptQ)($a0) +/* 078620 80077A20 0C03238C */ jal osSendMesg +/* 078624 80077A24 24060001 */ li $a2, 1 +/* 078628 80077A28 8FA90030 */ lw $t1, 0x30($sp) +/* 07862C 80077A2C 3C048012 */ lui $a0, %hi(D_80125ED8) # $a0, 0x8012 +/* 078630 80077A30 11200004 */ beqz $t1, .L80077A44 +/* 078634 80077A34 24845ED8 */ addiu $a0, %lo(D_80125ED8) # addiu $a0, $a0, 0x5ed8 +/* 078638 80077A38 27A50020 */ addiu $a1, $sp, 0x20 +/* 07863C 80077A3C 0C0322EC */ jal osRecvMesg +/* 078640 80077A40 24060001 */ li $a2, 1 +.L80077A44: +/* 078644 80077A44 8FBF0014 */ lw $ra, 0x14($sp) +/* 078648 80077A48 27BD0028 */ addiu $sp, $sp, 0x28 +/* 07864C 80077A4C 03E00008 */ jr $ra +/* 078650 80077A50 00000000 */ nop + diff --git a/asm/non_matchings/unknown_078050/setupOSTasks.s b/asm/non_matchings/unknown_078050/setupOSTasks.s index d8cd1ff0..5a1084d9 100644 --- a/asm/non_matchings/unknown_078050/setupOSTasks.s +++ b/asm/non_matchings/unknown_078050/setupOSTasks.s @@ -89,312 +89,3 @@ glabel setupOSTasks /* 0781A8 800775A8 03E00008 */ jr $ra /* 0781AC 800775AC 00001025 */ move $v0, $zero -/* 0781B0 800775B0 3C03800E */ lui $v1, %hi(D_800DE4D8) # $v1, 0x800e -/* 0781B4 800775B4 2463E4D8 */ addiu $v1, %lo(D_800DE4D8) # addiu $v1, $v1, -0x1b28 -/* 0781B8 800775B8 8C620000 */ lw $v0, ($v1) -/* 0781BC 800775BC 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 0781C0 800775C0 000270C0 */ sll $t6, $v0, 3 -/* 0781C4 800775C4 3C0F8012 */ lui $t7, %hi(D_80126020) # $t7, 0x8012 -/* 0781C8 800775C8 01C27023 */ subu $t6, $t6, $v0 -/* 0781CC 800775CC 000E7100 */ sll $t6, $t6, 4 -/* 0781D0 800775D0 25EF6020 */ addiu $t7, %lo(D_80126020) # addiu $t7, $t7, 0x6020 -/* 0781D4 800775D4 24010002 */ li $at, 2 -/* 0781D8 800775D8 24580001 */ addiu $t8, $v0, 1 -/* 0781DC 800775DC AFBF0014 */ sw $ra, 0x14($sp) -/* 0781E0 800775E0 AFA60030 */ sw $a2, 0x30($sp) -/* 0781E4 800775E4 AFA00020 */ sw $zero, 0x20($sp) -/* 0781E8 800775E8 01CF3821 */ addu $a3, $t6, $t7 -/* 0781EC 800775EC 17010002 */ bne $t8, $at, .L800775F8 -/* 0781F0 800775F0 AC780000 */ sw $t8, ($v1) -/* 0781F4 800775F4 AC600000 */ sw $zero, ($v1) -.L800775F8: -/* 0781F8 800775F8 3C02800E */ lui $v0, %hi(rspF3DDKRBootStart) # $v0, 0x800e -/* 0781FC 800775FC 3C0D800E */ lui $t5, %hi(rspF3DDKRDramStart) # $t5, 0x800e -/* 078200 80077600 244284C0 */ addiu $v0, %lo(rspF3DDKRBootStart) # addiu $v0, $v0, -0x7b40 -/* 078204 80077604 00A44023 */ subu $t0, $a1, $a0 -/* 078208 80077608 25AD8590 */ addiu $t5, %lo(rspF3DDKRDramStart) # addiu $t5, $t5, -0x7a70 -/* 07820C 8007760C 000848C3 */ sra $t1, $t0, 3 -/* 078210 80077610 01A27023 */ subu $t6, $t5, $v0 -/* 078214 80077614 000950C0 */ sll $t2, $t1, 3 -/* 078218 80077618 ACEA0044 */ sw $t2, 0x44($a3) -/* 07821C 8007761C 240B0001 */ li $t3, 1 -/* 078220 80077620 240C0002 */ li $t4, 2 -/* 078224 80077624 ACEE001C */ sw $t6, 0x1c($a3) -/* 078228 80077628 3C0F800E */ lui $t7, %hi(rspF3DDKRXbusStart) # $t7, 0x800e -/* 07822C 8007762C ACEB0010 */ sw $t3, 0x10($a3) -/* 078230 80077630 ACEC0014 */ sw $t4, 0x14($a3) -/* 078234 80077634 25EFA970 */ addiu $t7, %lo(rspF3DDKRXbusStart) # addiu $t7, $t7, -0x5690 -/* 078238 80077638 3C18800F */ lui $t8, %hi(rspF3DDKRDataXbusStart) # $t8, 0x800f -/* 07823C 8007763C 3C088012 */ lui $t0, %hi(gDramStack) # $t0, 0x8012 -/* 078240 80077640 3C0A8012 */ lui $t2, %hi(D_801271B0) # $t2, 0x8012 -/* 078244 80077644 3C0D8012 */ lui $t5, %hi(D_80125ED8) # $t5, 0x8012 -/* 078248 80077648 3C0E800E */ lui $t6, %hi(D_800DE490) # $t6, 0x800e -/* 07824C 8007764C ACEF0020 */ sw $t7, 0x20($a3) -/* 078250 80077650 2718ABA0 */ addiu $t8, %lo(rspF3DDKRDataXbusStart) # addiu $t8, $t8, -0x5460 -/* 078254 80077654 24190800 */ li $t9, 2048 -/* 078258 80077658 250842A0 */ addiu $t0, %lo(gDramStack) # addiu $t0, $t0, 0x42a0 -/* 07825C 8007765C 24090400 */ li $t1, 1024 -/* 078260 80077660 254A71B0 */ addiu $t2, %lo(D_801271B0) # addiu $t2, $t2, 0x71b0 -/* 078264 80077664 240B0A00 */ li $t3, 2560 -/* 078268 80077668 240C0003 */ li $t4, 3 -/* 07826C 8007766C 25AD5ED8 */ addiu $t5, %lo(D_80125ED8) # addiu $t5, $t5, 0x5ed8 -/* 078270 80077670 25CEE490 */ addiu $t6, %lo(D_800DE490) # addiu $t6, $t6, -0x1b70 -/* 078274 80077674 ACE40040 */ sw $a0, 0x40($a3) -/* 078278 80077678 ACE20018 */ sw $v0, 0x18($a3) -/* 07827C 8007767C ACF80028 */ sw $t8, 0x28($a3) -/* 078280 80077680 ACF9002C */ sw $t9, 0x2c($a3) -/* 078284 80077684 ACE80030 */ sw $t0, 0x30($a3) -/* 078288 80077688 ACE90034 */ sw $t1, 0x34($a3) -/* 07828C 8007768C ACEA0048 */ sw $t2, 0x48($a3) -/* 078290 80077690 ACEB004C */ sw $t3, 0x4c($a3) -/* 078294 80077694 ACE00038 */ sw $zero, 0x38($a3) -/* 078298 80077698 ACE0003C */ sw $zero, 0x3c($a3) -/* 07829C 8007769C ACE00000 */ sw $zero, ($a3) -/* 0782A0 800776A0 ACEC0008 */ sw $t4, 8($a3) -/* 0782A4 800776A4 ACED0050 */ sw $t5, 0x50($a3) -/* 0782A8 800776A8 ACEE0054 */ sw $t6, 0x54($a3) -/* 0782AC 800776AC 3C0F8012 */ lui $t7, %hi(gVideoCurrFramebuffer) # $t7, 0x8012 -/* 0782B0 800776B0 8DEF62D4 */ lw $t7, %lo(gVideoCurrFramebuffer)($t7) -/* 0782B4 800776B4 3C02FF00 */ lui $v0, (0xFF0000FF >> 16) # lui $v0, 0xff00 -/* 0782B8 800776B8 344200FF */ ori $v0, (0xFF0000FF & 0xFFFF) # ori $v0, $v0, 0xff -/* 0782BC 800776BC 240300FF */ li $v1, 255 -/* 0782C0 800776C0 ACE20058 */ sw $v0, 0x58($a3) -/* 0782C4 800776C4 ACE2005C */ sw $v0, 0x5c($a3) -/* 0782C8 800776C8 ACE30060 */ sw $v1, 0x60($a3) -/* 0782CC 800776CC ACE30064 */ sw $v1, 0x64($a3) -/* 0782D0 800776D0 ACE00068 */ sw $zero, 0x68($a3) -/* 0782D4 800776D4 ACEF000C */ sw $t7, 0xc($a3) -/* 0782D8 800776D8 8FB80030 */ lw $t8, 0x30($sp) -/* 0782DC 800776DC 3C198012 */ lui $t9, %hi(D_80125EA0) # $t9, 0x8012 -/* 0782E0 800776E0 13000002 */ beqz $t8, .L800776EC -/* 0782E4 800776E4 27395EA0 */ addiu $t9, %lo(D_80125EA0) # addiu $t9, $t9, 0x5ea0 -/* 0782E8 800776E8 ACF90050 */ sw $t9, 0x50($a3) -.L800776EC: -/* 0782EC 800776EC 0C034628 */ jal osWritebackDCacheAll -/* 0782F0 800776F0 AFA70024 */ sw $a3, 0x24($sp) -/* 0782F4 800776F4 3C048012 */ lui $a0, %hi(osScInterruptQ) # $a0, 0x8012 -/* 0782F8 800776F8 8FA50024 */ lw $a1, 0x24($sp) -/* 0782FC 800776FC 8C846100 */ lw $a0, %lo(osScInterruptQ)($a0) -/* 078300 80077700 0C03238C */ jal osSendMesg -/* 078304 80077704 24060001 */ li $a2, 1 -/* 078308 80077708 8FA80030 */ lw $t0, 0x30($sp) -/* 07830C 8007770C 3C048012 */ lui $a0, %hi(D_80125EA0) # $a0, 0x8012 -/* 078310 80077710 11000004 */ beqz $t0, .L80077724 -/* 078314 80077714 24845EA0 */ addiu $a0, %lo(D_80125EA0) # addiu $a0, $a0, 0x5ea0 -/* 078318 80077718 27A50020 */ addiu $a1, $sp, 0x20 -/* 07831C 8007771C 0C0322EC */ jal osRecvMesg -/* 078320 80077720 24060001 */ li $a2, 1 -.L80077724: -/* 078324 80077724 8FBF0014 */ lw $ra, 0x14($sp) -/* 078328 80077728 27BD0028 */ addiu $sp, $sp, 0x28 -/* 07832C 8007772C 03E00008 */ jr $ra -/* 078330 80077730 00000000 */ nop - -/* 078334 80077734 3C03800E */ lui $v1, %hi(D_800DE4D8) # $v1, 0x800e -/* 078338 80077738 2463E4D8 */ addiu $v1, %lo(D_800DE4D8) # addiu $v1, $v1, -0x1b28 -/* 07833C 8007773C 8C620000 */ lw $v0, ($v1) -/* 078340 80077740 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 078344 80077744 000270C0 */ sll $t6, $v0, 3 -/* 078348 80077748 3C0F8012 */ lui $t7, %hi(D_80126020) # $t7, 0x8012 -/* 07834C 8007774C 01C27023 */ subu $t6, $t6, $v0 -/* 078350 80077750 000E7100 */ sll $t6, $t6, 4 -/* 078354 80077754 25EF6020 */ addiu $t7, %lo(D_80126020) # addiu $t7, $t7, 0x6020 -/* 078358 80077758 24010002 */ li $at, 2 -/* 07835C 8007775C 24580001 */ addiu $t8, $v0, 1 -/* 078360 80077760 AFBF0014 */ sw $ra, 0x14($sp) -/* 078364 80077764 AFA60030 */ sw $a2, 0x30($sp) -/* 078368 80077768 AFA00020 */ sw $zero, 0x20($sp) -/* 07836C 8007776C 01CF3821 */ addu $a3, $t6, $t7 -/* 078370 80077770 17010002 */ bne $t8, $at, .L8007777C -/* 078374 80077774 AC780000 */ sw $t8, ($v1) -/* 078378 80077778 AC600000 */ sw $zero, ($v1) -.L8007777C: -/* 07837C 8007777C 3C02800E */ lui $v0, %hi(rspF3DDKRBootStart) # $v0, 0x800e -/* 078380 80077780 00A44023 */ subu $t0, $a1, $a0 -/* 078384 80077784 3C0D800E */ lui $t5, %hi(rspF3DDKRDramStart) # $t5, 0x800e -/* 078388 80077788 244284C0 */ addiu $v0, %lo(rspF3DDKRBootStart) # addiu $v0, $v0, -0x7b40 -/* 07838C 8007778C 000848C3 */ sra $t1, $t0, 3 -/* 078390 80077790 25AD8590 */ addiu $t5, %lo(rspF3DDKRDramStart) # addiu $t5, $t5, -0x7a70 -/* 078394 80077794 3C0F800E */ lui $t7, %hi(rspF3DDKRFifoStart) # $t7, 0x800e -/* 078398 80077798 3C18800F */ lui $t8, %hi(rspF3DDKRDataFifoStart) # $t8, 0x800f -/* 07839C 8007779C 000950C0 */ sll $t2, $t1, 3 -/* 0783A0 800777A0 240B0001 */ li $t3, 1 -/* 0783A4 800777A4 240C0002 */ li $t4, 2 -/* 0783A8 800777A8 01A27023 */ subu $t6, $t5, $v0 -/* 0783AC 800777AC 25EF9790 */ addiu $t7, %lo(rspF3DDKRFifoStart) # addiu $t7, $t7, -0x6870 -/* 0783B0 800777B0 2718A3A0 */ addiu $t8, %lo(rspF3DDKRDataFifoStart) # addiu $t8, $t8, -0x5c60 -/* 0783B4 800777B4 ACEA0044 */ sw $t2, 0x44($a3) -/* 0783B8 800777B8 ACEB0010 */ sw $t3, 0x10($a3) -/* 0783BC 800777BC ACEC0014 */ sw $t4, 0x14($a3) -/* 0783C0 800777C0 ACEF0020 */ sw $t7, 0x20($a3) -/* 0783C4 800777C4 ACF80028 */ sw $t8, 0x28($a3) -/* 0783C8 800777C8 ACEE001C */ sw $t6, 0x1c($a3) -/* 0783CC 800777CC 24190800 */ li $t9, 2048 -/* 0783D0 800777D0 3C088012 */ lui $t0, %hi(gDramStack) # $t0, 0x8012 -/* 0783D4 800777D4 3C0A8012 */ lui $t2, %hi(gGfxSPTaskYieldBuffer) # $t2, 0x8012 -/* 0783D8 800777D8 3C0B8012 */ lui $t3, %hi(D_80125EA0) # $t3, 0x8012 -/* 0783DC 800777DC 3C0C8012 */ lui $t4, %hi(D_801271B0) # $t4, 0x8012 -/* 0783E0 800777E0 3C0F8012 */ lui $t7, %hi(D_80125ED8) # $t7, 0x8012 -/* 0783E4 800777E4 3C18800E */ lui $t8, %hi(D_800DE490) # $t8, 0x800e -/* 0783E8 800777E8 ACF9002C */ sw $t9, 0x2c($a3) -/* 0783EC 800777EC 250842A0 */ addiu $t0, %lo(gDramStack) # addiu $t0, $t0, 0x42a0 -/* 0783F0 800777F0 24090400 */ li $t1, 1024 -/* 0783F4 800777F4 254A46A0 */ addiu $t2, %lo(gGfxSPTaskYieldBuffer) # addiu $t2, $t2, 0x46a0 -/* 0783F8 800777F8 256B5EA0 */ addiu $t3, %lo(D_80125EA0) # addiu $t3, $t3, 0x5ea0 -/* 0783FC 800777FC 258C71B0 */ addiu $t4, %lo(D_801271B0) # addiu $t4, $t4, 0x71b0 -/* 078400 80077800 240D0A00 */ li $t5, 2560 -/* 078404 80077804 240E0007 */ li $t6, 7 -/* 078408 80077808 25EF5ED8 */ addiu $t7, %lo(D_80125ED8) # addiu $t7, $t7, 0x5ed8 -/* 07840C 8007780C 2718E490 */ addiu $t8, %lo(D_800DE490) # addiu $t8, $t8, -0x1b70 -/* 078410 80077810 ACE40040 */ sw $a0, 0x40($a3) -/* 078414 80077814 ACE20018 */ sw $v0, 0x18($a3) -/* 078418 80077818 ACE80030 */ sw $t0, 0x30($a3) -/* 07841C 8007781C ACE90034 */ sw $t1, 0x34($a3) -/* 078420 80077820 ACEA0038 */ sw $t2, 0x38($a3) -/* 078424 80077824 ACEB003C */ sw $t3, 0x3c($a3) -/* 078428 80077828 ACEC0048 */ sw $t4, 0x48($a3) -/* 07842C 8007782C ACED004C */ sw $t5, 0x4c($a3) -/* 078430 80077830 ACE00000 */ sw $zero, ($a3) -/* 078434 80077834 ACEE0008 */ sw $t6, 8($a3) -/* 078438 80077838 ACEF0050 */ sw $t7, 0x50($a3) -/* 07843C 8007783C ACF80054 */ sw $t8, 0x54($a3) -/* 078440 80077840 3C198012 */ lui $t9, %hi(gVideoCurrFramebuffer) # $t9, 0x8012 -/* 078444 80077844 8F3962D4 */ lw $t9, %lo(gVideoCurrFramebuffer)($t9) -/* 078448 80077848 3C02FF00 */ lui $v0, (0xFF0000FF >> 16) # lui $v0, 0xff00 -/* 07844C 8007784C 344200FF */ ori $v0, (0xFF0000FF & 0xFFFF) # ori $v0, $v0, 0xff -/* 078450 80077850 240300FF */ li $v1, 255 -/* 078454 80077854 ACE20058 */ sw $v0, 0x58($a3) -/* 078458 80077858 ACE2005C */ sw $v0, 0x5c($a3) -/* 07845C 8007785C ACE30060 */ sw $v1, 0x60($a3) -/* 078460 80077860 ACE30064 */ sw $v1, 0x64($a3) -/* 078464 80077864 ACE00068 */ sw $zero, 0x68($a3) -/* 078468 80077868 ACF9000C */ sw $t9, 0xc($a3) -/* 07846C 8007786C 8FA80030 */ lw $t0, 0x30($sp) -/* 078470 80077870 3C098012 */ lui $t1, %hi(D_80125EA0) # $t1, 0x8012 -/* 078474 80077874 11000002 */ beqz $t0, .L80077880 -/* 078478 80077878 25295EA0 */ addiu $t1, %lo(D_80125EA0) # addiu $t1, $t1, 0x5ea0 -/* 07847C 8007787C ACE90050 */ sw $t1, 0x50($a3) -.L80077880: -/* 078480 80077880 0C034628 */ jal osWritebackDCacheAll -/* 078484 80077884 AFA70024 */ sw $a3, 0x24($sp) -/* 078488 80077888 3C048012 */ lui $a0, %hi(osScInterruptQ) # $a0, 0x8012 -/* 07848C 8007788C 8FA50024 */ lw $a1, 0x24($sp) -/* 078490 80077890 8C846100 */ lw $a0, %lo(osScInterruptQ)($a0) -/* 078494 80077894 0C03238C */ jal osSendMesg -/* 078498 80077898 24060001 */ li $a2, 1 -/* 07849C 8007789C 8FAA0030 */ lw $t2, 0x30($sp) -/* 0784A0 800778A0 3C048012 */ lui $a0, %hi(D_80125EA0) # $a0, 0x8012 -/* 0784A4 800778A4 11400004 */ beqz $t2, .L800778B8 -/* 0784A8 800778A8 24845EA0 */ addiu $a0, %lo(D_80125EA0) # addiu $a0, $a0, 0x5ea0 -/* 0784AC 800778AC 27A50020 */ addiu $a1, $sp, 0x20 -/* 0784B0 800778B0 0C0322EC */ jal osRecvMesg -/* 0784B4 800778B4 24060001 */ li $a2, 1 -.L800778B8: -/* 0784B8 800778B8 8FBF0014 */ lw $ra, 0x14($sp) -/* 0784BC 800778BC 27BD0028 */ addiu $sp, $sp, 0x28 -/* 0784C0 800778C0 03E00008 */ jr $ra -/* 0784C4 800778C4 00000000 */ nop - -/* 0784C8 800778C8 3C03800E */ lui $v1, %hi(D_800DE4D4) # $v1, 0x800e -/* 0784CC 800778CC 2463E4D4 */ addiu $v1, %lo(D_800DE4D4) # addiu $v1, $v1, -0x1b2c -/* 0784D0 800778D0 8C620000 */ lw $v0, ($v1) -/* 0784D4 800778D4 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 0784D8 800778D8 000270C0 */ sll $t6, $v0, 3 -/* 0784DC 800778DC 3C0F8012 */ lui $t7, %hi(D_80125F40) # $t7, 0x8012 -/* 0784E0 800778E0 01C27023 */ subu $t6, $t6, $v0 -/* 0784E4 800778E4 000E7100 */ sll $t6, $t6, 4 -/* 0784E8 800778E8 25EF5F40 */ addiu $t7, %lo(D_80125F40) # addiu $t7, $t7, 0x5f40 -/* 0784EC 800778EC 24010003 */ li $at, 3 -/* 0784F0 800778F0 24580001 */ addiu $t8, $v0, 1 -/* 0784F4 800778F4 AFBF0014 */ sw $ra, 0x14($sp) -/* 0784F8 800778F8 AFA60030 */ sw $a2, 0x30($sp) -/* 0784FC 800778FC AFA00020 */ sw $zero, 0x20($sp) -/* 078500 80077900 01CF3821 */ addu $a3, $t6, $t7 -/* 078504 80077904 17010002 */ bne $t8, $at, .L80077910 -/* 078508 80077908 AC780000 */ sw $t8, ($v1) -/* 07850C 8007790C AC600000 */ sw $zero, ($v1) -.L80077910: -/* 078510 80077910 3C02800E */ lui $v0, %hi(rspF3DDKRBootStart) # $v0, 0x800e -/* 078514 80077914 00A44023 */ subu $t0, $a1, $a0 -/* 078518 80077918 3C0D800E */ lui $t5, %hi(rspF3DDKRDramStart) # $t5, 0x800e -/* 07851C 8007791C 244284C0 */ addiu $v0, %lo(rspF3DDKRBootStart) # addiu $v0, $v0, -0x7b40 -/* 078520 80077920 000848C3 */ sra $t1, $t0, 3 -/* 078524 80077924 25AD8590 */ addiu $t5, %lo(rspF3DDKRDramStart) # addiu $t5, $t5, -0x7a70 -/* 078528 80077928 3C0F800E */ lui $t7, %hi(rspF3DDKRFifoStart) # $t7, 0x800e -/* 07852C 8007792C 3C18800F */ lui $t8, %hi(rspF3DDKRDataFifoStart) # $t8, 0x800f -/* 078530 80077930 000950C0 */ sll $t2, $t1, 3 -/* 078534 80077934 240B0001 */ li $t3, 1 -/* 078538 80077938 240C0002 */ li $t4, 2 -/* 07853C 8007793C 01A27023 */ subu $t6, $t5, $v0 -/* 078540 80077940 25EF9790 */ addiu $t7, %lo(rspF3DDKRFifoStart) # addiu $t7, $t7, -0x6870 -/* 078544 80077944 2718A3A0 */ addiu $t8, %lo(rspF3DDKRDataFifoStart) # addiu $t8, $t8, -0x5c60 -/* 078548 80077948 ACEA0044 */ sw $t2, 0x44($a3) -/* 07854C 8007794C ACEB0010 */ sw $t3, 0x10($a3) -/* 078550 80077950 ACEC0014 */ sw $t4, 0x14($a3) -/* 078554 80077954 ACEF0020 */ sw $t7, 0x20($a3) -/* 078558 80077958 ACF80028 */ sw $t8, 0x28($a3) -/* 07855C 8007795C ACEE001C */ sw $t6, 0x1c($a3) -/* 078560 80077960 24190800 */ li $t9, 2048 -/* 078564 80077964 3C088012 */ lui $t0, %hi(gDramStack) # $t0, 0x8012 -/* 078568 80077968 3C0A8012 */ lui $t2, %hi(gGfxSPTaskYieldBuffer) # $t2, 0x8012 -/* 07856C 8007796C 3C0B8012 */ lui $t3, %hi(D_80125EA0) # $t3, 0x8012 -/* 078570 80077970 3C0C8012 */ lui $t4, %hi(D_801271B0) # $t4, 0x8012 -/* 078574 80077974 3C0F8012 */ lui $t7, %hi(D_80125ED8) # $t7, 0x8012 -/* 078578 80077978 3C18800E */ lui $t8, %hi(D_800DE490) # $t8, 0x800e -/* 07857C 8007797C ACE20018 */ sw $v0, 0x18($a3) -/* 078580 80077980 ACF9002C */ sw $t9, 0x2c($a3) -/* 078584 80077984 250842A0 */ addiu $t0, %lo(gDramStack) # addiu $t0, $t0, 0x42a0 -/* 078588 80077988 24090400 */ li $t1, 1024 -/* 07858C 8007798C 254A46A0 */ addiu $t2, %lo(gGfxSPTaskYieldBuffer) # addiu $t2, $t2, 0x46a0 -/* 078590 80077990 256B5EA0 */ addiu $t3, %lo(D_80125EA0) # addiu $t3, $t3, 0x5ea0 -/* 078594 80077994 258C71B0 */ addiu $t4, %lo(D_801271B0) # addiu $t4, $t4, 0x71b0 -/* 078598 80077998 240D0A00 */ li $t5, 2560 -/* 07859C 8007799C 240E0007 */ li $t6, 7 -/* 0785A0 800779A0 25EF5ED8 */ addiu $t7, %lo(D_80125ED8) # addiu $t7, $t7, 0x5ed8 -/* 0785A4 800779A4 2718E490 */ addiu $t8, %lo(D_800DE490) # addiu $t8, $t8, -0x1b70 -/* 0785A8 800779A8 ACE40040 */ sw $a0, 0x40($a3) -/* 0785AC 800779AC ACE80030 */ sw $t0, 0x30($a3) -/* 0785B0 800779B0 ACE90034 */ sw $t1, 0x34($a3) -/* 0785B4 800779B4 ACEA0038 */ sw $t2, 0x38($a3) -/* 0785B8 800779B8 ACEB003C */ sw $t3, 0x3c($a3) -/* 0785BC 800779BC ACEC0048 */ sw $t4, 0x48($a3) -/* 0785C0 800779C0 ACED004C */ sw $t5, 0x4c($a3) -/* 0785C4 800779C4 ACE00000 */ sw $zero, ($a3) -/* 0785C8 800779C8 ACEE0008 */ sw $t6, 8($a3) -/* 0785CC 800779CC ACEF0050 */ sw $t7, 0x50($a3) -/* 0785D0 800779D0 ACF80054 */ sw $t8, 0x54($a3) -/* 0785D4 800779D4 3C198012 */ lui $t9, %hi(gVideoCurrFramebuffer) # $t9, 0x8012 -/* 0785D8 800779D8 8F3962D4 */ lw $t9, %lo(gVideoCurrFramebuffer)($t9) -/* 0785DC 800779DC 3C02FF00 */ lui $v0, (0xFF0000FF >> 16) # lui $v0, 0xff00 -/* 0785E0 800779E0 344200FF */ ori $v0, (0xFF0000FF & 0xFFFF) # ori $v0, $v0, 0xff -/* 0785E4 800779E4 ACE20058 */ sw $v0, 0x58($a3) -/* 0785E8 800779E8 ACE2005C */ sw $v0, 0x5c($a3) -/* 0785EC 800779EC ACF9000C */ sw $t9, 0xc($a3) -/* 0785F0 800779F0 8FA80030 */ lw $t0, 0x30($sp) -/* 0785F4 800779F4 240200FF */ li $v0, 255 -/* 0785F8 800779F8 11000003 */ beqz $t0, .L80077A08 -/* 0785FC 800779FC 00000000 */ nop -/* 078600 80077A00 ACE20060 */ sw $v0, 0x60($a3) -/* 078604 80077A04 ACE20064 */ sw $v0, 0x64($a3) -.L80077A08: -/* 078608 80077A08 ACE00068 */ sw $zero, 0x68($a3) -/* 07860C 80077A0C 0C034628 */ jal osWritebackDCacheAll -/* 078610 80077A10 AFA70024 */ sw $a3, 0x24($sp) -/* 078614 80077A14 3C048012 */ lui $a0, %hi(osScInterruptQ) # $a0, 0x8012 -/* 078618 80077A18 8FA50024 */ lw $a1, 0x24($sp) -/* 07861C 80077A1C 8C846100 */ lw $a0, %lo(osScInterruptQ)($a0) -/* 078620 80077A20 0C03238C */ jal osSendMesg -/* 078624 80077A24 24060001 */ li $a2, 1 -/* 078628 80077A28 8FA90030 */ lw $t1, 0x30($sp) -/* 07862C 80077A2C 3C048012 */ lui $a0, %hi(D_80125ED8) # $a0, 0x8012 -/* 078630 80077A30 11200004 */ beqz $t1, .L80077A44 -/* 078634 80077A34 24845ED8 */ addiu $a0, %lo(D_80125ED8) # addiu $a0, $a0, 0x5ed8 -/* 078638 80077A38 27A50020 */ addiu $a1, $sp, 0x20 -/* 07863C 80077A3C 0C0322EC */ jal osRecvMesg -/* 078640 80077A40 24060001 */ li $a2, 1 -.L80077A44: -/* 078644 80077A44 8FBF0014 */ lw $ra, 0x14($sp) -/* 078648 80077A48 27BD0028 */ addiu $sp, $sp, 0x28 -/* 07864C 80077A4C 03E00008 */ jr $ra -/* 078650 80077A50 00000000 */ nop - diff --git a/asm/non_matchings/waves/func_800BF634.s b/asm/non_matchings/waves/func_800BF634.s index 3ea08062..4eb79731 100644 --- a/asm/non_matchings/waves/func_800BF634.s +++ b/asm/non_matchings/waves/func_800BF634.s @@ -7,14 +7,6 @@ glabel D_800E92B0 .float 6.5333333 glabel D_800E92B4 .float 89128.961 -glabel D_800E92B8 -.float 6.64 -glabel D_800E92BC -.float 89128.961 -glabel D_800E92C0 -.float 6.5333333 -glabel D_800E92C4 -.float 89128.961 .text glabel func_800BF634 @@ -284,333 +276,3 @@ glabel func_800BF634 /* 0C05EC 800BF9EC 00A01025 */ move $v0, $a1 /* 0C05F0 800BF9F0 03E00008 */ jr $ra /* 0C05F4 800BF9F4 00000000 */ nop - -/* 0C05F8 800BF9F8 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 0C05FC 800BF9FC E7B4000C */ swc1 $f20, 0xc($sp) -/* 0C0600 800BFA00 4486A000 */ mtc1 $a2, $f20 -/* 0C0604 800BFA04 AFB10014 */ sw $s1, 0x14($sp) -/* 0C0608 800BFA08 AFB00010 */ sw $s0, 0x10($sp) -/* 0C060C 800BFA0C E7B50008 */ swc1 $f21, 8($sp) -/* 0C0610 800BFA10 1080008A */ beqz $a0, .L800BFC3C -/* 0C0614 800BFA14 AFA50034 */ sw $a1, 0x34($sp) -/* 0C0618 800BFA18 3C0E8013 */ lui $t6, %hi(D_80129FF0) # $t6, 0x8013 -/* 0C061C 800BFA1C 8DCE9FF0 */ lw $t6, %lo(D_80129FF0)($t6) -/* 0C0620 800BFA20 3C018013 */ lui $at, %hi(D_8012A0B8) # $at, 0x8013 -/* 0C0624 800BFA24 C420A0B8 */ lwc1 $f0, %lo(D_8012A0B8)($at) -/* 0C0628 800BFA28 11C00006 */ beqz $t6, .L800BFA44 -/* 0C062C 800BFA2C 00001025 */ move $v0, $zero -/* 0C0630 800BFA30 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0C0634 800BFA34 44812000 */ mtc1 $at, $f4 -/* 0C0638 800BFA38 00000000 */ nop -/* 0C063C 800BFA3C 46040002 */ mul.s $f0, $f0, $f4 -/* 0C0640 800BFA40 00000000 */ nop -.L800BFA44: -/* 0C0644 800BFA44 3C0D800E */ lui $t5, %hi(D_800E3184) # $t5, 0x800e -/* 0C0648 800BFA48 3C0C800E */ lui $t4, %hi(D_800E318C) # $t4, 0x800e -/* 0C064C 800BFA4C 3C0B8013 */ lui $t3, %hi(D_8012A0D0) # $t3, 0x8013 -/* 0C0650 800BFA50 94830018 */ lhu $v1, 0x18($a0) -/* 0C0654 800BFA54 8FA8001C */ lw $t0, 0x1c($sp) -/* 0C0658 800BFA58 256BA0D0 */ addiu $t3, %lo(D_8012A0D0) # addiu $t3, $t3, -0x5f30 -/* 0C065C 800BFA5C 258C318C */ addiu $t4, %lo(D_800E318C) # addiu $t4, $t4, 0x318c -/* 0C0660 800BFA60 25AD3184 */ addiu $t5, %lo(D_800E3184) # addiu $t5, $t5, 0x3184 -/* 0C0664 800BFA64 241100FF */ li $s1, 255 -/* 0C0668 800BFA68 241000FF */ li $s0, 255 -.L800BFA6C: -/* 0C066C 800BFA6C 8D6F0000 */ lw $t7, ($t3) -/* 0C0670 800BFA70 C4820008 */ lwc1 $f2, 8($a0) -/* 0C0674 800BFA74 448F3000 */ mtc1 $t7, $f6 -/* 0C0678 800BFA78 C48C0010 */ lwc1 $f12, 0x10($a0) -/* 0C067C 800BFA7C 468033A0 */ cvt.s.w $f14, $f6 -/* 0C0680 800BFA80 8D870000 */ lw $a3, ($t4) -/* 0C0684 800BFA84 24050001 */ li $a1, 1 -/* 0C0688 800BFA88 460C1201 */ sub.s $f8, $f2, $f12 -/* 0C068C 800BFA8C 460E4281 */ sub.s $f10, $f8, $f14 -/* 0C0690 800BFA90 00000000 */ nop -/* 0C0694 800BFA94 46005403 */ div.s $f16, $f10, $f0 -/* 0C0698 800BFA98 4458F800 */ cfc1 $t8, $31 -/* 0C069C 800BFA9C 00000000 */ nop -/* 0C06A0 800BFAA0 37010003 */ ori $at, $t8, 3 -/* 0C06A4 800BFAA4 38210002 */ xori $at, $at, 2 -/* 0C06A8 800BFAA8 44C1F800 */ ctc1 $at, $31 -/* 0C06AC 800BFAAC 00000000 */ nop -/* 0C06B0 800BFAB0 460084A4 */ cvt.w.s $f18, $f16 -/* 0C06B4 800BFAB4 44069000 */ mfc1 $a2, $f18 -/* 0C06B8 800BFAB8 44D8F800 */ ctc1 $t8, $31 -/* 0C06BC 800BFABC 00C7082A */ slt $at, $a2, $a3 -/* 0C06C0 800BFAC0 14200003 */ bnez $at, .L800BFAD0 -/* 0C06C4 800BFAC4 00000000 */ nop -/* 0C06C8 800BFAC8 10000004 */ b .L800BFADC -/* 0C06CC 800BFACC 00002825 */ move $a1, $zero -.L800BFAD0: -/* 0C06D0 800BFAD0 04C10002 */ bgez $a2, .L800BFADC -/* 0C06D4 800BFAD4 00000000 */ nop -/* 0C06D8 800BFAD8 00003025 */ move $a2, $zero -.L800BFADC: -/* 0C06DC 800BFADC 10A00015 */ beqz $a1, .L800BFB34 -/* 0C06E0 800BFAE0 00000000 */ nop -/* 0C06E4 800BFAE4 460C1100 */ add.s $f4, $f2, $f12 -/* 0C06E8 800BFAE8 460E2181 */ sub.s $f6, $f4, $f14 -/* 0C06EC 800BFAEC 00000000 */ nop -/* 0C06F0 800BFAF0 46003203 */ div.s $f8, $f6, $f0 -/* 0C06F4 800BFAF4 4459F800 */ cfc1 $t9, $31 -/* 0C06F8 800BFAF8 00000000 */ nop -/* 0C06FC 800BFAFC 37210003 */ ori $at, $t9, 3 -/* 0C0700 800BFB00 38210002 */ xori $at, $at, 2 -/* 0C0704 800BFB04 44C1F800 */ ctc1 $at, $31 -/* 0C0708 800BFB08 00000000 */ nop -/* 0C070C 800BFB0C 460042A4 */ cvt.w.s $f10, $f8 -/* 0C0710 800BFB10 44085000 */ mfc1 $t0, $f10 -/* 0C0714 800BFB14 44D9F800 */ ctc1 $t9, $31 -/* 0C0718 800BFB18 05010003 */ bgez $t0, .L800BFB28 -/* 0C071C 800BFB1C 0107082A */ slt $at, $t0, $a3 -/* 0C0720 800BFB20 10000004 */ b .L800BFB34 -/* 0C0724 800BFB24 00002825 */ move $a1, $zero -.L800BFB28: -/* 0C0728 800BFB28 14200002 */ bnez $at, .L800BFB34 -/* 0C072C 800BFB2C 00000000 */ nop -/* 0C0730 800BFB30 24E8FFFF */ addiu $t0, $a3, -1 -.L800BFB34: -/* 0C0734 800BFB34 10A0002E */ beqz $a1, .L800BFBF0 -/* 0C0738 800BFB38 0106082A */ slt $at, $t0, $a2 -/* 0C073C 800BFB3C 1420002C */ bnez $at, .L800BFBF0 -/* 0C0740 800BFB40 00C02825 */ move $a1, $a2 -/* 0C0744 800BFB44 250A0001 */ addiu $t2, $t0, 1 -.L800BFB48: -/* 0C0748 800BFB48 8DAF0000 */ lw $t7, ($t5) -/* 0C074C 800BFB4C 000570C0 */ sll $t6, $a1, 3 -/* 0C0750 800BFB50 00003825 */ move $a3, $zero -/* 0C0754 800BFB54 1040000F */ beqz $v0, .L800BFB94 -/* 0C0758 800BFB58 01CF3021 */ addu $a2, $t6, $t7 -/* 0C075C 800BFB5C 90D80007 */ lbu $t8, 7($a2) -/* 0C0760 800BFB60 00000000 */ nop -/* 0C0764 800BFB64 1618001F */ bne $s0, $t8, .L800BFBE4 -/* 0C0768 800BFB68 00000000 */ nop -/* 0C076C 800BFB6C 90D90000 */ lbu $t9, ($a2) -/* 0C0770 800BFB70 00000000 */ nop -/* 0C0774 800BFB74 12190005 */ beq $s0, $t9, .L800BFB8C -/* 0C0778 800BFB78 00000000 */ nop -.L800BFB7C: -/* 0C077C 800BFB7C 90CE0001 */ lbu $t6, 1($a2) -/* 0C0780 800BFB80 24C60001 */ addiu $a2, $a2, 1 -/* 0C0784 800BFB84 160EFFFD */ bne $s0, $t6, .L800BFB7C -/* 0C0788 800BFB88 00000000 */ nop -.L800BFB8C: -/* 0C078C 800BFB8C 10000015 */ b .L800BFBE4 -/* 0C0790 800BFB90 A0C30000 */ sb $v1, ($a2) -.L800BFB94: -/* 0C0794 800BFB94 00C74821 */ addu $t1, $a2, $a3 -.L800BFB98: -/* 0C0798 800BFB98 912F0000 */ lbu $t7, ($t1) -/* 0C079C 800BFB9C 28E10007 */ slti $at, $a3, 7 -/* 0C07A0 800BFBA0 146F000C */ bne $v1, $t7, .L800BFBD4 -/* 0C07A4 800BFBA4 00000000 */ nop -/* 0C07A8 800BFBA8 10200007 */ beqz $at, .L800BFBC8 -/* 0C07AC 800BFBAC 00000000 */ nop -.L800BFBB0: -/* 0C07B0 800BFBB0 91380001 */ lbu $t8, 1($t1) -/* 0C07B4 800BFBB4 24E70001 */ addiu $a3, $a3, 1 -/* 0C07B8 800BFBB8 28E10007 */ slti $at, $a3, 7 -/* 0C07BC 800BFBBC 25290001 */ addiu $t1, $t1, 1 -/* 0C07C0 800BFBC0 1420FFFB */ bnez $at, .L800BFBB0 -/* 0C07C4 800BFBC4 A138FFFF */ sb $t8, -1($t1) -.L800BFBC8: -/* 0C07C8 800BFBC8 A1310000 */ sb $s1, ($t1) -/* 0C07CC 800BFBCC 24E70001 */ addiu $a3, $a3, 1 -/* 0C07D0 800BFBD0 25290001 */ addiu $t1, $t1, 1 -.L800BFBD4: -/* 0C07D4 800BFBD4 24E70001 */ addiu $a3, $a3, 1 -/* 0C07D8 800BFBD8 28E10008 */ slti $at, $a3, 8 -/* 0C07DC 800BFBDC 1420FFEE */ bnez $at, .L800BFB98 -/* 0C07E0 800BFBE0 25290001 */ addiu $t1, $t1, 1 -.L800BFBE4: -/* 0C07E4 800BFBE4 24A50001 */ addiu $a1, $a1, 1 -/* 0C07E8 800BFBE8 1545FFD7 */ bne $t2, $a1, .L800BFB48 -/* 0C07EC 800BFBEC 00000000 */ nop -.L800BFBF0: -/* 0C07F0 800BFBF0 1440000E */ bnez $v0, .L800BFC2C -/* 0C07F4 800BFBF4 24010002 */ li $at, 2 -/* 0C07F8 800BFBF8 C4920008 */ lwc1 $f18, 8($a0) -/* 0C07FC 800BFBFC C7B00034 */ lwc1 $f16, 0x34($sp) -/* 0C0800 800BFC00 C48E000C */ lwc1 $f14, 0xc($a0) -/* 0C0804 800BFC04 46109400 */ add.s $f16, $f18, $f16 -/* 0C0808 800BFC08 C4920000 */ lwc1 $f18, ($a0) -/* 0C080C 800BFC0C C48C0004 */ lwc1 $f12, 4($a0) -/* 0C0810 800BFC10 46147380 */ add.s $f14, $f14, $f20 -/* 0C0814 800BFC14 E4900008 */ swc1 $f16, 8($a0) -/* 0C0818 800BFC18 46149480 */ add.s $f18, $f18, $f20 -/* 0C081C 800BFC1C E48E000C */ swc1 $f14, 0xc($a0) -/* 0C0820 800BFC20 46146300 */ add.s $f12, $f12, $f20 -/* 0C0824 800BFC24 E4920000 */ swc1 $f18, ($a0) -/* 0C0828 800BFC28 E48C0004 */ swc1 $f12, 4($a0) -.L800BFC2C: -/* 0C082C 800BFC2C 24420001 */ addiu $v0, $v0, 1 -/* 0C0830 800BFC30 1441FF8E */ bne $v0, $at, .L800BFA6C -/* 0C0834 800BFC34 00000000 */ nop -/* 0C0838 800BFC38 AFA8001C */ sw $t0, 0x1c($sp) -.L800BFC3C: -/* 0C083C 800BFC3C C7B50008 */ lwc1 $f21, 8($sp) -/* 0C0840 800BFC40 C7B4000C */ lwc1 $f20, 0xc($sp) -/* 0C0844 800BFC44 8FB00010 */ lw $s0, 0x10($sp) -/* 0C0848 800BFC48 8FB10014 */ lw $s1, 0x14($sp) -/* 0C084C 800BFC4C 03E00008 */ jr $ra -/* 0C0850 800BFC50 27BD0030 */ addiu $sp, $sp, 0x30 - -/* 0C0854 800BFC54 44856000 */ mtc1 $a1, $f12 -/* 0C0858 800BFC58 44867000 */ mtc1 $a2, $f14 -/* 0C085C 800BFC5C 1080008C */ beqz $a0, .L800BFE90 -/* 0C0860 800BFC60 AFA7000C */ sw $a3, 0xc($sp) -/* 0C0864 800BFC64 C4840010 */ lwc1 $f4, 0x10($a0) -/* 0C0868 800BFC68 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 -/* 0C086C 800BFC6C 460C2180 */ add.s $f6, $f4, $f12 -/* 0C0870 800BFC70 44818800 */ mtc1 $at, $f17 -/* 0C0874 800BFC74 E4860010 */ swc1 $f6, 0x10($a0) -/* 0C0878 800BFC78 C4800010 */ lwc1 $f0, 0x10($a0) -/* 0C087C 800BFC7C 44808000 */ mtc1 $zero, $f16 -/* 0C0880 800BFC80 46000221 */ cvt.d.s $f8, $f0 -/* 0C0884 800BFC84 4630403C */ c.lt.d $f8, $f16 -/* 0C0888 800BFC88 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0C088C 800BFC8C 45000006 */ bc1f .L800BFCA8 -/* 0C0890 800BFC90 00000000 */ nop -/* 0C0894 800BFC94 44815000 */ mtc1 $at, $f10 -/* 0C0898 800BFC98 00000000 */ nop -/* 0C089C 800BFC9C E48A0010 */ swc1 $f10, 0x10($a0) -/* 0C08A0 800BFCA0 C4800010 */ lwc1 $f0, 0x10($a0) -/* 0C08A4 800BFCA4 00000000 */ nop -.L800BFCA8: -/* 0C08A8 800BFCA8 C482000C */ lwc1 $f2, 0xc($a0) -/* 0C08AC 800BFCAC C4860028 */ lwc1 $f6, 0x28($a0) -/* 0C08B0 800BFCB0 46001481 */ sub.s $f18, $f2, $f0 -/* 0C08B4 800BFCB4 3C0E8000 */ lui $t6, %hi(osTvType) # $t6, 0x8000 -/* 0C08B8 800BFCB8 46001100 */ add.s $f4, $f2, $f0 -/* 0C08BC 800BFCBC E4920000 */ swc1 $f18, ($a0) -/* 0C08C0 800BFCC0 460E3200 */ add.s $f8, $f6, $f14 -/* 0C08C4 800BFCC4 E4840004 */ swc1 $f4, 4($a0) -/* 0C08C8 800BFCC8 E4880028 */ swc1 $f8, 0x28($a0) -/* 0C08CC 800BFCCC 8DCE0300 */ lw $t6, %lo(osTvType)($t6) -# Used to access D_800E92C0 and D_800E92C4. -/* 0C08D0 800BFCD0 3C01800F */ lui $at, %hi(D_800E92C0) # $at, 0x800f -/* 0C08D4 800BFCD4 15C0002B */ bnez $t6, .L800BFD84 -/* 0C08D8 800BFCD8 00000000 */ nop -# Used to access D_800E92B8 and D_800E92BC. -/* 0C08DC 800BFCDC 3C01800F */ lui $at, %hi(D_800E92B8) # $at, 0x800f -/* 0C08E0 800BFCE0 C48A0028 */ lwc1 $f10, 0x28($a0) -/* 0C08E4 800BFCE4 C42592B8 */ lwc1 $f5, %lo(D_800E92B8)($at) -/* 0C08E8 800BFCE8 C42492BC */ lwc1 $f4, %lo(D_800E92BC)($at) -/* 0C08EC 800BFCEC 460054A1 */ cvt.d.s $f18, $f10 -/* 0C08F0 800BFCF0 46249182 */ mul.d $f6, $f18, $f4 -/* 0C08F4 800BFCF4 24180001 */ li $t8, 1 -/* 0C08F8 800BFCF8 3C0141E0 */ li $at, 0x41E00000 # 28.000000 -/* 0C08FC 800BFCFC 444FF800 */ cfc1 $t7, $31 -/* 0C0900 800BFD00 44D8F800 */ ctc1 $t8, $31 -/* 0C0904 800BFD04 00000000 */ nop -/* 0C0908 800BFD08 46203224 */ cvt.w.d $f8, $f6 -/* 0C090C 800BFD0C 4458F800 */ cfc1 $t8, $31 -/* 0C0910 800BFD10 00000000 */ nop -/* 0C0914 800BFD14 33180078 */ andi $t8, $t8, 0x78 -/* 0C0918 800BFD18 13000013 */ beqz $t8, .L800BFD68 -/* 0C091C 800BFD1C 00000000 */ nop -/* 0C0920 800BFD20 44814800 */ mtc1 $at, $f9 -/* 0C0924 800BFD24 44804000 */ mtc1 $zero, $f8 -/* 0C0928 800BFD28 24180001 */ li $t8, 1 -/* 0C092C 800BFD2C 46283201 */ sub.d $f8, $f6, $f8 -/* 0C0930 800BFD30 3C018000 */ lui $at, 0x8000 -/* 0C0934 800BFD34 44D8F800 */ ctc1 $t8, $31 -/* 0C0938 800BFD38 00000000 */ nop -/* 0C093C 800BFD3C 46204224 */ cvt.w.d $f8, $f8 -/* 0C0940 800BFD40 4458F800 */ cfc1 $t8, $31 -/* 0C0944 800BFD44 00000000 */ nop -/* 0C0948 800BFD48 33180078 */ andi $t8, $t8, 0x78 -/* 0C094C 800BFD4C 17000004 */ bnez $t8, .L800BFD60 -/* 0C0950 800BFD50 00000000 */ nop -/* 0C0954 800BFD54 44184000 */ mfc1 $t8, $f8 -/* 0C0958 800BFD58 10000007 */ b .L800BFD78 -/* 0C095C 800BFD5C 0301C025 */ or $t8, $t8, $at -.L800BFD60: -/* 0C0960 800BFD60 10000005 */ b .L800BFD78 -/* 0C0964 800BFD64 2418FFFF */ li $t8, -1 -.L800BFD68: -/* 0C0968 800BFD68 44184000 */ mfc1 $t8, $f8 -/* 0C096C 800BFD6C 00000000 */ nop -/* 0C0970 800BFD70 0700FFFB */ bltz $t8, .L800BFD60 -/* 0C0974 800BFD74 00000000 */ nop -.L800BFD78: -/* 0C0978 800BFD78 44CFF800 */ ctc1 $t7, $31 -/* 0C097C 800BFD7C 1000002A */ b .L800BFE28 -/* 0C0980 800BFD80 AC98001C */ sw $t8, 0x1c($a0) -.L800BFD84: -/* 0C0984 800BFD84 C48A0028 */ lwc1 $f10, 0x28($a0) -/* 0C0988 800BFD88 C42592C0 */ lwc1 $f5, %lo(D_800E92C0)($at) -/* 0C098C 800BFD8C C42492C4 */ lwc1 $f4, %lo(D_800E92C4)($at) -/* 0C0990 800BFD90 460054A1 */ cvt.d.s $f18, $f10 -/* 0C0994 800BFD94 46249182 */ mul.d $f6, $f18, $f4 -/* 0C0998 800BFD98 24080001 */ li $t0, 1 -/* 0C099C 800BFD9C 3C0141E0 */ li $at, 0x41E00000 # 28.000000 -/* 0C09A0 800BFDA0 4459F800 */ cfc1 $t9, $31 -/* 0C09A4 800BFDA4 44C8F800 */ ctc1 $t0, $31 -/* 0C09A8 800BFDA8 00000000 */ nop -/* 0C09AC 800BFDAC 46203224 */ cvt.w.d $f8, $f6 -/* 0C09B0 800BFDB0 4448F800 */ cfc1 $t0, $31 -/* 0C09B4 800BFDB4 00000000 */ nop -/* 0C09B8 800BFDB8 31080078 */ andi $t0, $t0, 0x78 -/* 0C09BC 800BFDBC 11000013 */ beqz $t0, .L800BFE0C -/* 0C09C0 800BFDC0 00000000 */ nop -/* 0C09C4 800BFDC4 44814800 */ mtc1 $at, $f9 -/* 0C09C8 800BFDC8 44804000 */ mtc1 $zero, $f8 -/* 0C09CC 800BFDCC 24080001 */ li $t0, 1 -/* 0C09D0 800BFDD0 46283201 */ sub.d $f8, $f6, $f8 -/* 0C09D4 800BFDD4 3C018000 */ lui $at, 0x8000 -/* 0C09D8 800BFDD8 44C8F800 */ ctc1 $t0, $31 -/* 0C09DC 800BFDDC 00000000 */ nop -/* 0C09E0 800BFDE0 46204224 */ cvt.w.d $f8, $f8 -/* 0C09E4 800BFDE4 4448F800 */ cfc1 $t0, $31 -/* 0C09E8 800BFDE8 00000000 */ nop -/* 0C09EC 800BFDEC 31080078 */ andi $t0, $t0, 0x78 -/* 0C09F0 800BFDF0 15000004 */ bnez $t0, .L800BFE04 -/* 0C09F4 800BFDF4 00000000 */ nop -/* 0C09F8 800BFDF8 44084000 */ mfc1 $t0, $f8 -/* 0C09FC 800BFDFC 10000007 */ b .L800BFE1C -/* 0C0A00 800BFE00 01014025 */ or $t0, $t0, $at -.L800BFE04: -/* 0C0A04 800BFE04 10000005 */ b .L800BFE1C -/* 0C0A08 800BFE08 2408FFFF */ li $t0, -1 -.L800BFE0C: -/* 0C0A0C 800BFE0C 44084000 */ mfc1 $t0, $f8 -/* 0C0A10 800BFE10 00000000 */ nop -/* 0C0A14 800BFE14 0500FFFB */ bltz $t0, .L800BFE04 -/* 0C0A18 800BFE18 00000000 */ nop -.L800BFE1C: -/* 0C0A1C 800BFE1C 44D9F800 */ ctc1 $t9, $31 -/* 0C0A20 800BFE20 AC88001C */ sw $t0, 0x1c($a0) -/* 0C0A24 800BFE24 00000000 */ nop -.L800BFE28: -/* 0C0A28 800BFE28 C48A002C */ lwc1 $f10, 0x2c($a0) -/* 0C0A2C 800BFE2C C7B2000C */ lwc1 $f18, 0xc($sp) -/* 0C0A30 800BFE30 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0C0A34 800BFE34 46125100 */ add.s $f4, $f10, $f18 -/* 0C0A38 800BFE38 E484002C */ swc1 $f4, 0x2c($a0) -/* 0C0A3C 800BFE3C C480002C */ lwc1 $f0, 0x2c($a0) -/* 0C0A40 800BFE40 00000000 */ nop -/* 0C0A44 800BFE44 460001A1 */ cvt.d.s $f6, $f0 -/* 0C0A48 800BFE48 4630303C */ c.lt.d $f6, $f16 -/* 0C0A4C 800BFE4C 00000000 */ nop -/* 0C0A50 800BFE50 45000006 */ bc1f .L800BFE6C -/* 0C0A54 800BFE54 00000000 */ nop -/* 0C0A58 800BFE58 44814000 */ mtc1 $at, $f8 -/* 0C0A5C 800BFE5C 00000000 */ nop -/* 0C0A60 800BFE60 E488002C */ swc1 $f8, 0x2c($a0) -/* 0C0A64 800BFE64 C480002C */ lwc1 $f0, 0x2c($a0) -/* 0C0A68 800BFE68 00000000 */ nop -.L800BFE6C: -/* 0C0A6C 800BFE6C 3C014780 */ li $at, 0x47800000 # 65536.000000 -/* 0C0A70 800BFE70 44815000 */ mtc1 $at, $f10 -/* 0C0A74 800BFE74 C4840024 */ lwc1 $f4, 0x24($a0) -/* 0C0A78 800BFE78 46005483 */ div.s $f18, $f10, $f0 -/* 0C0A7C 800BFE7C E4920020 */ swc1 $f18, 0x20($a0) -/* 0C0A80 800BFE80 C7A60010 */ lwc1 $f6, 0x10($sp) -/* 0C0A84 800BFE84 00000000 */ nop -/* 0C0A88 800BFE88 46062200 */ add.s $f8, $f4, $f6 -/* 0C0A8C 800BFE8C E4880024 */ swc1 $f8, 0x24($a0) -.L800BFE90: -/* 0C0A90 800BFE90 03E00008 */ jr $ra -/* 0C0A94 800BFE94 00000000 */ nop - diff --git a/asm/non_matchings/waves/func_800BF9F8.s b/asm/non_matchings/waves/func_800BF9F8.s new file mode 100644 index 00000000..352460b1 --- /dev/null +++ b/asm/non_matchings/waves/func_800BF9F8.s @@ -0,0 +1,170 @@ +glabel func_800BF9F8 +/* 0C05F8 800BF9F8 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 0C05FC 800BF9FC E7B4000C */ swc1 $f20, 0xc($sp) +/* 0C0600 800BFA00 4486A000 */ mtc1 $a2, $f20 +/* 0C0604 800BFA04 AFB10014 */ sw $s1, 0x14($sp) +/* 0C0608 800BFA08 AFB00010 */ sw $s0, 0x10($sp) +/* 0C060C 800BFA0C E7B50008 */ swc1 $f21, 8($sp) +/* 0C0610 800BFA10 1080008A */ beqz $a0, .L800BFC3C +/* 0C0614 800BFA14 AFA50034 */ sw $a1, 0x34($sp) +/* 0C0618 800BFA18 3C0E8013 */ lui $t6, %hi(D_80129FF0) # $t6, 0x8013 +/* 0C061C 800BFA1C 8DCE9FF0 */ lw $t6, %lo(D_80129FF0)($t6) +/* 0C0620 800BFA20 3C018013 */ lui $at, %hi(D_8012A0B8) # $at, 0x8013 +/* 0C0624 800BFA24 C420A0B8 */ lwc1 $f0, %lo(D_8012A0B8)($at) +/* 0C0628 800BFA28 11C00006 */ beqz $t6, .L800BFA44 +/* 0C062C 800BFA2C 00001025 */ move $v0, $zero +/* 0C0630 800BFA30 3C013F00 */ li $at, 0x3F000000 # 0.500000 +/* 0C0634 800BFA34 44812000 */ mtc1 $at, $f4 +/* 0C0638 800BFA38 00000000 */ nop +/* 0C063C 800BFA3C 46040002 */ mul.s $f0, $f0, $f4 +/* 0C0640 800BFA40 00000000 */ nop +.L800BFA44: +/* 0C0644 800BFA44 3C0D800E */ lui $t5, %hi(D_800E3184) # $t5, 0x800e +/* 0C0648 800BFA48 3C0C800E */ lui $t4, %hi(D_800E318C) # $t4, 0x800e +/* 0C064C 800BFA4C 3C0B8013 */ lui $t3, %hi(D_8012A0D0) # $t3, 0x8013 +/* 0C0650 800BFA50 94830018 */ lhu $v1, 0x18($a0) +/* 0C0654 800BFA54 8FA8001C */ lw $t0, 0x1c($sp) +/* 0C0658 800BFA58 256BA0D0 */ addiu $t3, %lo(D_8012A0D0) # addiu $t3, $t3, -0x5f30 +/* 0C065C 800BFA5C 258C318C */ addiu $t4, %lo(D_800E318C) # addiu $t4, $t4, 0x318c +/* 0C0660 800BFA60 25AD3184 */ addiu $t5, %lo(D_800E3184) # addiu $t5, $t5, 0x3184 +/* 0C0664 800BFA64 241100FF */ li $s1, 255 +/* 0C0668 800BFA68 241000FF */ li $s0, 255 +.L800BFA6C: +/* 0C066C 800BFA6C 8D6F0000 */ lw $t7, ($t3) +/* 0C0670 800BFA70 C4820008 */ lwc1 $f2, 8($a0) +/* 0C0674 800BFA74 448F3000 */ mtc1 $t7, $f6 +/* 0C0678 800BFA78 C48C0010 */ lwc1 $f12, 0x10($a0) +/* 0C067C 800BFA7C 468033A0 */ cvt.s.w $f14, $f6 +/* 0C0680 800BFA80 8D870000 */ lw $a3, ($t4) +/* 0C0684 800BFA84 24050001 */ li $a1, 1 +/* 0C0688 800BFA88 460C1201 */ sub.s $f8, $f2, $f12 +/* 0C068C 800BFA8C 460E4281 */ sub.s $f10, $f8, $f14 +/* 0C0690 800BFA90 00000000 */ nop +/* 0C0694 800BFA94 46005403 */ div.s $f16, $f10, $f0 +/* 0C0698 800BFA98 4458F800 */ cfc1 $t8, $31 +/* 0C069C 800BFA9C 00000000 */ nop +/* 0C06A0 800BFAA0 37010003 */ ori $at, $t8, 3 +/* 0C06A4 800BFAA4 38210002 */ xori $at, $at, 2 +/* 0C06A8 800BFAA8 44C1F800 */ ctc1 $at, $31 +/* 0C06AC 800BFAAC 00000000 */ nop +/* 0C06B0 800BFAB0 460084A4 */ cvt.w.s $f18, $f16 +/* 0C06B4 800BFAB4 44069000 */ mfc1 $a2, $f18 +/* 0C06B8 800BFAB8 44D8F800 */ ctc1 $t8, $31 +/* 0C06BC 800BFABC 00C7082A */ slt $at, $a2, $a3 +/* 0C06C0 800BFAC0 14200003 */ bnez $at, .L800BFAD0 +/* 0C06C4 800BFAC4 00000000 */ nop +/* 0C06C8 800BFAC8 10000004 */ b .L800BFADC +/* 0C06CC 800BFACC 00002825 */ move $a1, $zero +.L800BFAD0: +/* 0C06D0 800BFAD0 04C10002 */ bgez $a2, .L800BFADC +/* 0C06D4 800BFAD4 00000000 */ nop +/* 0C06D8 800BFAD8 00003025 */ move $a2, $zero +.L800BFADC: +/* 0C06DC 800BFADC 10A00015 */ beqz $a1, .L800BFB34 +/* 0C06E0 800BFAE0 00000000 */ nop +/* 0C06E4 800BFAE4 460C1100 */ add.s $f4, $f2, $f12 +/* 0C06E8 800BFAE8 460E2181 */ sub.s $f6, $f4, $f14 +/* 0C06EC 800BFAEC 00000000 */ nop +/* 0C06F0 800BFAF0 46003203 */ div.s $f8, $f6, $f0 +/* 0C06F4 800BFAF4 4459F800 */ cfc1 $t9, $31 +/* 0C06F8 800BFAF8 00000000 */ nop +/* 0C06FC 800BFAFC 37210003 */ ori $at, $t9, 3 +/* 0C0700 800BFB00 38210002 */ xori $at, $at, 2 +/* 0C0704 800BFB04 44C1F800 */ ctc1 $at, $31 +/* 0C0708 800BFB08 00000000 */ nop +/* 0C070C 800BFB0C 460042A4 */ cvt.w.s $f10, $f8 +/* 0C0710 800BFB10 44085000 */ mfc1 $t0, $f10 +/* 0C0714 800BFB14 44D9F800 */ ctc1 $t9, $31 +/* 0C0718 800BFB18 05010003 */ bgez $t0, .L800BFB28 +/* 0C071C 800BFB1C 0107082A */ slt $at, $t0, $a3 +/* 0C0720 800BFB20 10000004 */ b .L800BFB34 +/* 0C0724 800BFB24 00002825 */ move $a1, $zero +.L800BFB28: +/* 0C0728 800BFB28 14200002 */ bnez $at, .L800BFB34 +/* 0C072C 800BFB2C 00000000 */ nop +/* 0C0730 800BFB30 24E8FFFF */ addiu $t0, $a3, -1 +.L800BFB34: +/* 0C0734 800BFB34 10A0002E */ beqz $a1, .L800BFBF0 +/* 0C0738 800BFB38 0106082A */ slt $at, $t0, $a2 +/* 0C073C 800BFB3C 1420002C */ bnez $at, .L800BFBF0 +/* 0C0740 800BFB40 00C02825 */ move $a1, $a2 +/* 0C0744 800BFB44 250A0001 */ addiu $t2, $t0, 1 +.L800BFB48: +/* 0C0748 800BFB48 8DAF0000 */ lw $t7, ($t5) +/* 0C074C 800BFB4C 000570C0 */ sll $t6, $a1, 3 +/* 0C0750 800BFB50 00003825 */ move $a3, $zero +/* 0C0754 800BFB54 1040000F */ beqz $v0, .L800BFB94 +/* 0C0758 800BFB58 01CF3021 */ addu $a2, $t6, $t7 +/* 0C075C 800BFB5C 90D80007 */ lbu $t8, 7($a2) +/* 0C0760 800BFB60 00000000 */ nop +/* 0C0764 800BFB64 1618001F */ bne $s0, $t8, .L800BFBE4 +/* 0C0768 800BFB68 00000000 */ nop +/* 0C076C 800BFB6C 90D90000 */ lbu $t9, ($a2) +/* 0C0770 800BFB70 00000000 */ nop +/* 0C0774 800BFB74 12190005 */ beq $s0, $t9, .L800BFB8C +/* 0C0778 800BFB78 00000000 */ nop +.L800BFB7C: +/* 0C077C 800BFB7C 90CE0001 */ lbu $t6, 1($a2) +/* 0C0780 800BFB80 24C60001 */ addiu $a2, $a2, 1 +/* 0C0784 800BFB84 160EFFFD */ bne $s0, $t6, .L800BFB7C +/* 0C0788 800BFB88 00000000 */ nop +.L800BFB8C: +/* 0C078C 800BFB8C 10000015 */ b .L800BFBE4 +/* 0C0790 800BFB90 A0C30000 */ sb $v1, ($a2) +.L800BFB94: +/* 0C0794 800BFB94 00C74821 */ addu $t1, $a2, $a3 +.L800BFB98: +/* 0C0798 800BFB98 912F0000 */ lbu $t7, ($t1) +/* 0C079C 800BFB9C 28E10007 */ slti $at, $a3, 7 +/* 0C07A0 800BFBA0 146F000C */ bne $v1, $t7, .L800BFBD4 +/* 0C07A4 800BFBA4 00000000 */ nop +/* 0C07A8 800BFBA8 10200007 */ beqz $at, .L800BFBC8 +/* 0C07AC 800BFBAC 00000000 */ nop +.L800BFBB0: +/* 0C07B0 800BFBB0 91380001 */ lbu $t8, 1($t1) +/* 0C07B4 800BFBB4 24E70001 */ addiu $a3, $a3, 1 +/* 0C07B8 800BFBB8 28E10007 */ slti $at, $a3, 7 +/* 0C07BC 800BFBBC 25290001 */ addiu $t1, $t1, 1 +/* 0C07C0 800BFBC0 1420FFFB */ bnez $at, .L800BFBB0 +/* 0C07C4 800BFBC4 A138FFFF */ sb $t8, -1($t1) +.L800BFBC8: +/* 0C07C8 800BFBC8 A1310000 */ sb $s1, ($t1) +/* 0C07CC 800BFBCC 24E70001 */ addiu $a3, $a3, 1 +/* 0C07D0 800BFBD0 25290001 */ addiu $t1, $t1, 1 +.L800BFBD4: +/* 0C07D4 800BFBD4 24E70001 */ addiu $a3, $a3, 1 +/* 0C07D8 800BFBD8 28E10008 */ slti $at, $a3, 8 +/* 0C07DC 800BFBDC 1420FFEE */ bnez $at, .L800BFB98 +/* 0C07E0 800BFBE0 25290001 */ addiu $t1, $t1, 1 +.L800BFBE4: +/* 0C07E4 800BFBE4 24A50001 */ addiu $a1, $a1, 1 +/* 0C07E8 800BFBE8 1545FFD7 */ bne $t2, $a1, .L800BFB48 +/* 0C07EC 800BFBEC 00000000 */ nop +.L800BFBF0: +/* 0C07F0 800BFBF0 1440000E */ bnez $v0, .L800BFC2C +/* 0C07F4 800BFBF4 24010002 */ li $at, 2 +/* 0C07F8 800BFBF8 C4920008 */ lwc1 $f18, 8($a0) +/* 0C07FC 800BFBFC C7B00034 */ lwc1 $f16, 0x34($sp) +/* 0C0800 800BFC00 C48E000C */ lwc1 $f14, 0xc($a0) +/* 0C0804 800BFC04 46109400 */ add.s $f16, $f18, $f16 +/* 0C0808 800BFC08 C4920000 */ lwc1 $f18, ($a0) +/* 0C080C 800BFC0C C48C0004 */ lwc1 $f12, 4($a0) +/* 0C0810 800BFC10 46147380 */ add.s $f14, $f14, $f20 +/* 0C0814 800BFC14 E4900008 */ swc1 $f16, 8($a0) +/* 0C0818 800BFC18 46149480 */ add.s $f18, $f18, $f20 +/* 0C081C 800BFC1C E48E000C */ swc1 $f14, 0xc($a0) +/* 0C0820 800BFC20 46146300 */ add.s $f12, $f12, $f20 +/* 0C0824 800BFC24 E4920000 */ swc1 $f18, ($a0) +/* 0C0828 800BFC28 E48C0004 */ swc1 $f12, 4($a0) +.L800BFC2C: +/* 0C082C 800BFC2C 24420001 */ addiu $v0, $v0, 1 +/* 0C0830 800BFC30 1441FF8E */ bne $v0, $at, .L800BFA6C +/* 0C0834 800BFC34 00000000 */ nop +/* 0C0838 800BFC38 AFA8001C */ sw $t0, 0x1c($sp) +.L800BFC3C: +/* 0C083C 800BFC3C C7B50008 */ lwc1 $f21, 8($sp) +/* 0C0840 800BFC40 C7B4000C */ lwc1 $f20, 0xc($sp) +/* 0C0844 800BFC44 8FB00010 */ lw $s0, 0x10($sp) +/* 0C0848 800BFC48 8FB10014 */ lw $s1, 0x14($sp) +/* 0C084C 800BFC4C 03E00008 */ jr $ra +/* 0C0850 800BFC50 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/non_matchings/waves/func_800BFC54.s b/asm/non_matchings/waves/func_800BFC54.s new file mode 100644 index 00000000..ea706f41 --- /dev/null +++ b/asm/non_matchings/waves/func_800BFC54.s @@ -0,0 +1,171 @@ +.late_rodata +glabel D_800E92B8 +.float 6.64 +glabel D_800E92BC +.float 89128.961 +glabel D_800E92C0 +.float 6.5333333 +glabel D_800E92C4 +.float 89128.961 + +.text +glabel func_800BFC54 +/* 0C0854 800BFC54 44856000 */ mtc1 $a1, $f12 +/* 0C0858 800BFC58 44867000 */ mtc1 $a2, $f14 +/* 0C085C 800BFC5C 1080008C */ beqz $a0, .L800BFE90 +/* 0C0860 800BFC60 AFA7000C */ sw $a3, 0xc($sp) +/* 0C0864 800BFC64 C4840010 */ lwc1 $f4, 0x10($a0) +/* 0C0868 800BFC68 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 +/* 0C086C 800BFC6C 460C2180 */ add.s $f6, $f4, $f12 +/* 0C0870 800BFC70 44818800 */ mtc1 $at, $f17 +/* 0C0874 800BFC74 E4860010 */ swc1 $f6, 0x10($a0) +/* 0C0878 800BFC78 C4800010 */ lwc1 $f0, 0x10($a0) +/* 0C087C 800BFC7C 44808000 */ mtc1 $zero, $f16 +/* 0C0880 800BFC80 46000221 */ cvt.d.s $f8, $f0 +/* 0C0884 800BFC84 4630403C */ c.lt.d $f8, $f16 +/* 0C0888 800BFC88 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 0C088C 800BFC8C 45000006 */ bc1f .L800BFCA8 +/* 0C0890 800BFC90 00000000 */ nop +/* 0C0894 800BFC94 44815000 */ mtc1 $at, $f10 +/* 0C0898 800BFC98 00000000 */ nop +/* 0C089C 800BFC9C E48A0010 */ swc1 $f10, 0x10($a0) +/* 0C08A0 800BFCA0 C4800010 */ lwc1 $f0, 0x10($a0) +/* 0C08A4 800BFCA4 00000000 */ nop +.L800BFCA8: +/* 0C08A8 800BFCA8 C482000C */ lwc1 $f2, 0xc($a0) +/* 0C08AC 800BFCAC C4860028 */ lwc1 $f6, 0x28($a0) +/* 0C08B0 800BFCB0 46001481 */ sub.s $f18, $f2, $f0 +/* 0C08B4 800BFCB4 3C0E8000 */ lui $t6, %hi(osTvType) # $t6, 0x8000 +/* 0C08B8 800BFCB8 46001100 */ add.s $f4, $f2, $f0 +/* 0C08BC 800BFCBC E4920000 */ swc1 $f18, ($a0) +/* 0C08C0 800BFCC0 460E3200 */ add.s $f8, $f6, $f14 +/* 0C08C4 800BFCC4 E4840004 */ swc1 $f4, 4($a0) +/* 0C08C8 800BFCC8 E4880028 */ swc1 $f8, 0x28($a0) +/* 0C08CC 800BFCCC 8DCE0300 */ lw $t6, %lo(osTvType)($t6) +# Used to access D_800E92C0 and D_800E92C4. +/* 0C08D0 800BFCD0 3C01800F */ lui $at, %hi(D_800E92C0) # $at, 0x800f +/* 0C08D4 800BFCD4 15C0002B */ bnez $t6, .L800BFD84 +/* 0C08D8 800BFCD8 00000000 */ nop +# Used to access D_800E92B8 and D_800E92BC. +/* 0C08DC 800BFCDC 3C01800F */ lui $at, %hi(D_800E92B8) # $at, 0x800f +/* 0C08E0 800BFCE0 C48A0028 */ lwc1 $f10, 0x28($a0) +/* 0C08E4 800BFCE4 C42592B8 */ lwc1 $f5, %lo(D_800E92B8)($at) +/* 0C08E8 800BFCE8 C42492BC */ lwc1 $f4, %lo(D_800E92BC)($at) +/* 0C08EC 800BFCEC 460054A1 */ cvt.d.s $f18, $f10 +/* 0C08F0 800BFCF0 46249182 */ mul.d $f6, $f18, $f4 +/* 0C08F4 800BFCF4 24180001 */ li $t8, 1 +/* 0C08F8 800BFCF8 3C0141E0 */ li $at, 0x41E00000 # 28.000000 +/* 0C08FC 800BFCFC 444FF800 */ cfc1 $t7, $31 +/* 0C0900 800BFD00 44D8F800 */ ctc1 $t8, $31 +/* 0C0904 800BFD04 00000000 */ nop +/* 0C0908 800BFD08 46203224 */ cvt.w.d $f8, $f6 +/* 0C090C 800BFD0C 4458F800 */ cfc1 $t8, $31 +/* 0C0910 800BFD10 00000000 */ nop +/* 0C0914 800BFD14 33180078 */ andi $t8, $t8, 0x78 +/* 0C0918 800BFD18 13000013 */ beqz $t8, .L800BFD68 +/* 0C091C 800BFD1C 00000000 */ nop +/* 0C0920 800BFD20 44814800 */ mtc1 $at, $f9 +/* 0C0924 800BFD24 44804000 */ mtc1 $zero, $f8 +/* 0C0928 800BFD28 24180001 */ li $t8, 1 +/* 0C092C 800BFD2C 46283201 */ sub.d $f8, $f6, $f8 +/* 0C0930 800BFD30 3C018000 */ lui $at, 0x8000 +/* 0C0934 800BFD34 44D8F800 */ ctc1 $t8, $31 +/* 0C0938 800BFD38 00000000 */ nop +/* 0C093C 800BFD3C 46204224 */ cvt.w.d $f8, $f8 +/* 0C0940 800BFD40 4458F800 */ cfc1 $t8, $31 +/* 0C0944 800BFD44 00000000 */ nop +/* 0C0948 800BFD48 33180078 */ andi $t8, $t8, 0x78 +/* 0C094C 800BFD4C 17000004 */ bnez $t8, .L800BFD60 +/* 0C0950 800BFD50 00000000 */ nop +/* 0C0954 800BFD54 44184000 */ mfc1 $t8, $f8 +/* 0C0958 800BFD58 10000007 */ b .L800BFD78 +/* 0C095C 800BFD5C 0301C025 */ or $t8, $t8, $at +.L800BFD60: +/* 0C0960 800BFD60 10000005 */ b .L800BFD78 +/* 0C0964 800BFD64 2418FFFF */ li $t8, -1 +.L800BFD68: +/* 0C0968 800BFD68 44184000 */ mfc1 $t8, $f8 +/* 0C096C 800BFD6C 00000000 */ nop +/* 0C0970 800BFD70 0700FFFB */ bltz $t8, .L800BFD60 +/* 0C0974 800BFD74 00000000 */ nop +.L800BFD78: +/* 0C0978 800BFD78 44CFF800 */ ctc1 $t7, $31 +/* 0C097C 800BFD7C 1000002A */ b .L800BFE28 +/* 0C0980 800BFD80 AC98001C */ sw $t8, 0x1c($a0) +.L800BFD84: +/* 0C0984 800BFD84 C48A0028 */ lwc1 $f10, 0x28($a0) +/* 0C0988 800BFD88 C42592C0 */ lwc1 $f5, %lo(D_800E92C0)($at) +/* 0C098C 800BFD8C C42492C4 */ lwc1 $f4, %lo(D_800E92C4)($at) +/* 0C0990 800BFD90 460054A1 */ cvt.d.s $f18, $f10 +/* 0C0994 800BFD94 46249182 */ mul.d $f6, $f18, $f4 +/* 0C0998 800BFD98 24080001 */ li $t0, 1 +/* 0C099C 800BFD9C 3C0141E0 */ li $at, 0x41E00000 # 28.000000 +/* 0C09A0 800BFDA0 4459F800 */ cfc1 $t9, $31 +/* 0C09A4 800BFDA4 44C8F800 */ ctc1 $t0, $31 +/* 0C09A8 800BFDA8 00000000 */ nop +/* 0C09AC 800BFDAC 46203224 */ cvt.w.d $f8, $f6 +/* 0C09B0 800BFDB0 4448F800 */ cfc1 $t0, $31 +/* 0C09B4 800BFDB4 00000000 */ nop +/* 0C09B8 800BFDB8 31080078 */ andi $t0, $t0, 0x78 +/* 0C09BC 800BFDBC 11000013 */ beqz $t0, .L800BFE0C +/* 0C09C0 800BFDC0 00000000 */ nop +/* 0C09C4 800BFDC4 44814800 */ mtc1 $at, $f9 +/* 0C09C8 800BFDC8 44804000 */ mtc1 $zero, $f8 +/* 0C09CC 800BFDCC 24080001 */ li $t0, 1 +/* 0C09D0 800BFDD0 46283201 */ sub.d $f8, $f6, $f8 +/* 0C09D4 800BFDD4 3C018000 */ lui $at, 0x8000 +/* 0C09D8 800BFDD8 44C8F800 */ ctc1 $t0, $31 +/* 0C09DC 800BFDDC 00000000 */ nop +/* 0C09E0 800BFDE0 46204224 */ cvt.w.d $f8, $f8 +/* 0C09E4 800BFDE4 4448F800 */ cfc1 $t0, $31 +/* 0C09E8 800BFDE8 00000000 */ nop +/* 0C09EC 800BFDEC 31080078 */ andi $t0, $t0, 0x78 +/* 0C09F0 800BFDF0 15000004 */ bnez $t0, .L800BFE04 +/* 0C09F4 800BFDF4 00000000 */ nop +/* 0C09F8 800BFDF8 44084000 */ mfc1 $t0, $f8 +/* 0C09FC 800BFDFC 10000007 */ b .L800BFE1C +/* 0C0A00 800BFE00 01014025 */ or $t0, $t0, $at +.L800BFE04: +/* 0C0A04 800BFE04 10000005 */ b .L800BFE1C +/* 0C0A08 800BFE08 2408FFFF */ li $t0, -1 +.L800BFE0C: +/* 0C0A0C 800BFE0C 44084000 */ mfc1 $t0, $f8 +/* 0C0A10 800BFE10 00000000 */ nop +/* 0C0A14 800BFE14 0500FFFB */ bltz $t0, .L800BFE04 +/* 0C0A18 800BFE18 00000000 */ nop +.L800BFE1C: +/* 0C0A1C 800BFE1C 44D9F800 */ ctc1 $t9, $31 +/* 0C0A20 800BFE20 AC88001C */ sw $t0, 0x1c($a0) +/* 0C0A24 800BFE24 00000000 */ nop +.L800BFE28: +/* 0C0A28 800BFE28 C48A002C */ lwc1 $f10, 0x2c($a0) +/* 0C0A2C 800BFE2C C7B2000C */ lwc1 $f18, 0xc($sp) +/* 0C0A30 800BFE30 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 0C0A34 800BFE34 46125100 */ add.s $f4, $f10, $f18 +/* 0C0A38 800BFE38 E484002C */ swc1 $f4, 0x2c($a0) +/* 0C0A3C 800BFE3C C480002C */ lwc1 $f0, 0x2c($a0) +/* 0C0A40 800BFE40 00000000 */ nop +/* 0C0A44 800BFE44 460001A1 */ cvt.d.s $f6, $f0 +/* 0C0A48 800BFE48 4630303C */ c.lt.d $f6, $f16 +/* 0C0A4C 800BFE4C 00000000 */ nop +/* 0C0A50 800BFE50 45000006 */ bc1f .L800BFE6C +/* 0C0A54 800BFE54 00000000 */ nop +/* 0C0A58 800BFE58 44814000 */ mtc1 $at, $f8 +/* 0C0A5C 800BFE5C 00000000 */ nop +/* 0C0A60 800BFE60 E488002C */ swc1 $f8, 0x2c($a0) +/* 0C0A64 800BFE64 C480002C */ lwc1 $f0, 0x2c($a0) +/* 0C0A68 800BFE68 00000000 */ nop +.L800BFE6C: +/* 0C0A6C 800BFE6C 3C014780 */ li $at, 0x47800000 # 65536.000000 +/* 0C0A70 800BFE70 44815000 */ mtc1 $at, $f10 +/* 0C0A74 800BFE74 C4840024 */ lwc1 $f4, 0x24($a0) +/* 0C0A78 800BFE78 46005483 */ div.s $f18, $f10, $f0 +/* 0C0A7C 800BFE7C E4920020 */ swc1 $f18, 0x20($a0) +/* 0C0A80 800BFE80 C7A60010 */ lwc1 $f6, 0x10($sp) +/* 0C0A84 800BFE84 00000000 */ nop +/* 0C0A88 800BFE88 46062200 */ add.s $f8, $f4, $f6 +/* 0C0A8C 800BFE8C E4880024 */ swc1 $f8, 0x24($a0) +.L800BFE90: +/* 0C0A90 800BFE90 03E00008 */ jr $ra +/* 0C0A94 800BFE94 00000000 */ nop + diff --git a/generate_ctx.sh b/generate_ctx.sh index 24c8afc7..bf0d8b5e 100755 --- a/generate_ctx.sh +++ b/generate_ctx.sh @@ -2,3 +2,5 @@ find include/ src/ -type f -name "*.h" | sed -e 's/.*/#include "\0"/' > ctx_includes.c python3 tools/python/m2ctx.py ctx_includes.c + +echo '#define NULL (void *)0' >> ctx.c \ No newline at end of file diff --git a/include/f3ddkr.h b/include/f3ddkr.h index d6cfd90d..a7e17540 100644 --- a/include/f3ddkr.h +++ b/include/f3ddkr.h @@ -71,6 +71,13 @@ #define G_TRIN 5 #define G_DMADL 7 +#define G_MTX_DKR_INDEX_0 0x00 +#define G_MTX_DKR_INDEX_1 0x40 +#define G_MTX_DKR_INDEX_2 0x80 +#define G_MW_BILLBOARD 0x02 //0x01 = billboarding enabled, 0x00 = disabled +#define G_MW_MVMATRIX 0x0A //Specifies the index of the modelview matrix. +#define gDkrInsertMatrix(pkt, where, num) \ + gMoveWd(pkt, G_MW_MVMATRIX, where, num) #define gDkrVertices(pkt, address, no, v0) \ { \ diff --git a/include/structs.h b/include/structs.h index 6f7c2b56..b807eb87 100644 --- a/include/structs.h +++ b/include/structs.h @@ -6,6 +6,12 @@ #include "types.h" #include "enums.h" +typedef struct Vec3f { + f32 x; + f32 y; + f32 z; +} Vec3f; + /* Size: 0x20 bytes */ typedef struct MenuElement { // Element Position diff --git a/src/audio.c b/src/audio.c index a1319dab..fd0bbd9d 100644 --- a/src/audio.c +++ b/src/audio.c @@ -708,13 +708,28 @@ void func_80001F14(u16 soundID, u32 *arg1) { } #ifdef NON_EQUIVALENT -void func_80001FB8(u16 arg0) { - arg0 * 10 + sSoundEffectsPool[0].pad0; +void func_80001FB8(u16 soundId, void *sndState, u8 arg2) { + if (sndState != NULL) { + func_800049F8(sndState, 8, (s32) (sSoundEffectsPool[soundId].unk2 * (arg2 / 127.0f)) << 8); + } } #else GLOBAL_ASM("asm/non_matchings/audio/func_80001FB8.s") #endif +UNUSED void func_8000208C(void *sndState, u8 arg1) { + if (sndState != NULL) { + func_800049F8(sndState, 8, arg1 << 8); + } +} + +UNUSED void func_800020BC(void *sndState, u32 arg1) { + u32 *temp = &arg1; + if (sndState != NULL) { + func_800049F8(sndState, 16, *temp); + } +} + u16 ALBankFile_80115D14_GetSoundCount(void) { return ALBankFile_80115D14->bankArray[0]->instArray[0]->soundCount; } diff --git a/src/audio.h b/src/audio.h index 277d0365..a4120015 100644 --- a/src/audio.h +++ b/src/audio.h @@ -26,7 +26,9 @@ extern u8 D_800DC65C; /* Size: 0x0A bytes */ typedef struct unk80115D18 { - u8 pad0[6]; + u8 pad0[2]; + u8 unk2; + u8 pad3[3]; u16 unk6; u8 pad8[2]; } unk80115D18; @@ -133,7 +135,6 @@ u8 func_80002630(void); void play_sound_global(u16 soundID, s32* soundMask); //Non matching. void func_8000232C(ALSeqPlayer *seqp, void *ptr, u8 *arg2, ALCSeq *seq); //Non Matching f32 func_800015F8(void); //Non Matching -void func_80001FB8(u16 arg0); //Non Matching void func_80009B7C(s32 *arg0, f32 x, f32 y, f32 z); // Non Matching void func_8000974C(s32, f32, f32, f32, s32, s32, s32, s32, s32, s32, s32, s32); diff --git a/src/camera.c b/src/camera.c index 8c5727e8..7fc7558a 100644 --- a/src/camera.c +++ b/src/camera.c @@ -787,14 +787,11 @@ void func_80067F2C(Gfx **dlist, Mtx **mats) { D_80120D1C = 0; D_80120D08 = 0; - i = 0; - while (i < 4) { // for loop doesn't match here. - j = 0; - while (j < 4) { + for (i = 0; i < 4; i++) { + //Required to be one line, but the "\" fixes that. + for (j = 0; j < 4; j++){ \ D_80120F20[i][j] = gOrthoMatrix[i][j]; - j++; } - i++; } } @@ -859,7 +856,50 @@ GLOBAL_ASM("asm/non_matchings/camera/func_80068BF4.s") GLOBAL_ASM("asm/non_matchings/camera/func_80068FA8.s") GLOBAL_ASM("asm/non_matchings/camera/func_80069484.s") GLOBAL_ASM("asm/non_matchings/camera/func_80069790.s") +GLOBAL_ASM("asm/non_matchings/camera/func_800699E4.s") + +#ifdef NON_MATCHING +void func_80069A40(Gfx **dlist) { + D_80120D20[0]--; + D_80120D1C--; + if (D_80120D1C > 0) { + gSPMatrix((*dlist)++, OS_PHYSICAL_TO_K0(D_80120D88[D_80120D1C]), G_MTX_DKR_INDEX_1); + return; + } + gDkrInsertMatrix((*dlist)++, G_MWO_MATRIX_XX_XY_I, 0); +} +#else GLOBAL_ASM("asm/non_matchings/camera/func_80069A40.s") +#endif + +UNUSED void func_80069ACC(f32 arg0, f32 arg1, f32 arg2) { + D_80120AC0[D_80120CE4].trans.x_position += arg0; + D_80120AC0[D_80120CE4].trans.y_position += arg1; + D_80120AC0[D_80120CE4].trans.z_position += arg2; + D_80120AC0[D_80120CE4].unk34_a.levelSegmentIndex = + get_level_segment_index_from_position( + D_80120AC0[D_80120CE4].trans.x_position, + D_80120AC0[D_80120CE4].trans.y_position, + D_80120AC0[D_80120CE4].trans.z_position); +} + +UNUSED void func_80069B70(f32 arg0, UNUSED f32 arg1, f32 arg2) { + D_80120AC0[D_80120CE4].trans.x_position -= arg0 * sine_s(D_80120AC0[D_80120CE4].trans.y_rotation); + D_80120AC0[D_80120CE4].trans.z_position -= arg0 * cosine_s(D_80120AC0[D_80120CE4].trans.y_rotation); + D_80120AC0[D_80120CE4].trans.x_position -= arg2 * cosine_s(D_80120AC0[D_80120CE4].trans.y_rotation); + D_80120AC0[D_80120CE4].trans.z_position += arg2 * sine_s(D_80120AC0[D_80120CE4].trans.y_rotation); + D_80120AC0[D_80120CE4].unk34_a.levelSegmentIndex = + get_level_segment_index_from_position( + D_80120AC0[D_80120CE4].trans.x_position, + D_80120AC0[D_80120CE4].trans.y_position, + D_80120AC0[D_80120CE4].trans.z_position); +} + +UNUSED void func_80069CB4(s32 arg0, s32 arg1, s32 arg2) { + D_80120AC0[D_80120CE4].trans.y_rotation += arg0; + D_80120AC0[D_80120CE4].trans.x_rotation += arg1; + D_80120AC0[D_80120CE4].trans.z_rotation += arg2; +} ObjectSegment *func_80069CFC(void) { return &D_80120AC0[D_80120CE4]; @@ -924,28 +964,25 @@ void func_80069F28(f32 arg0) { } } -#ifdef NON_EQUIVALENT /** * Unused function that prints out the passed matrix values to the debug output. * This function prints in fixed point. */ -void func_80069F64(s16 *mtx) { +UNUSED void debug_print_fixed_matrix_values(s16 *mtx) { s32 i, j; s32 val; for (i = 0; i < 4; i++) { for (j = 0; j < 4; j++) { val = mtx[i * 4 + j]; rmonPrintf("%x.", val); - val = mtx[((i + 4) * 4 + j)]; // Issue here. - rmonPrintf("%x ", (u16)val); + val = mtx[((i + 4) * 4 + j)]; + rmonPrintf("%x ", (u16)val & 0xFFFF); } rmonPrintf("\n"); + if (!val){} } rmonPrintf("\n"); } -#else -GLOBAL_ASM("asm/non_matchings/camera/func_80069F64.s") -#endif /** * Unused function that prints out the passed matrix values to the debug output. diff --git a/src/font.h b/src/font.h index 20884d02..83235799 100644 --- a/src/font.h +++ b/src/font.h @@ -119,8 +119,8 @@ typedef struct unk8012A7EC { typedef struct { u8 r; - u8 b; u8 g; + u8 b; u8 a; } ColourRGBA; diff --git a/src/game.c b/src/game.c index 7e600ec4..3b5459eb 100644 --- a/src/game.c +++ b/src/game.c @@ -192,7 +192,7 @@ void func_8006A6B0(void) { u8 *sp44; s32 temp2; - sp44 = allocate_from_main_pool_safe(sizeof(LevelHeader), 0xFFFF00FF); + sp44 = allocate_from_main_pool_safe(sizeof(LevelHeader), COLOUR_TAG_YELLOW); gTempAssetTable = load_asset_section_from_rom(ASSET_LEVEL_HEADERS_TABLE); i = 0; while (i < 16) { @@ -203,7 +203,7 @@ void func_8006A6B0(void) { gNumberOfLevelHeaders++; } gNumberOfLevelHeaders--; - D_8012117C = allocate_from_main_pool_safe(gNumberOfLevelHeaders * sizeof(unk8012117C), 0xFFFF00FF); + D_8012117C = allocate_from_main_pool_safe(gNumberOfLevelHeaders * sizeof(unk8012117C), COLOUR_TAG_YELLOW); gCurrentLevelHeader = sp44; gNumberOfWorlds = -1; for (i = 0; i < gNumberOfLevelHeaders; i++) { @@ -223,7 +223,7 @@ void func_8006A6B0(void) { } gNumberOfWorlds++; - D_80121178 = allocate_from_main_pool_safe(gNumberOfWorlds, 0xFFFF00FF); + D_80121178 = allocate_from_main_pool_safe(gNumberOfWorlds, COLOUR_TAG_YELLOW); for (i = 0; i < gNumberOfWorlds; i++) { D_80121178[i] = -1; } @@ -243,8 +243,8 @@ void func_8006A6B0(void) { temp = gTempAssetTable[i]; temp -= gTempAssetTable[0]; - gLevelNames = allocate_from_main_pool_safe(i * sizeof(s32), 0xFFFF00FF); - D_800DD310 = allocate_from_main_pool_safe(temp, 0xFFFF00FF); + gLevelNames = allocate_from_main_pool_safe(i * sizeof(s32), COLOUR_TAG_YELLOW); + D_800DD310 = allocate_from_main_pool_safe(temp, COLOUR_TAG_YELLOW); load_asset_to_address(ASSET_LEVEL_NAMES, D_800DD310, 0, temp); for (count = 0; count < i; count++) { gLevelNames[count] = &D_800DD310[gTempAssetTable[count]]; @@ -1052,10 +1052,8 @@ void func_8006CC14(void) { set_free_queue_state(2); } -#ifdef NON_EQUIVALENT -// Almost matching except for a couple minor issues. void func_8006CCF0(s32 updateRate) { - s32 i, buttonHeldInputs, sp40, sp3C, buttonPressedInputs, phi_v1_2; + s32 buttonPressedInputs, buttonHeldInputs, i, sp40, sp3C; sp40 = 0; buttonHeldInputs = 0; @@ -1090,7 +1088,7 @@ void func_8006CCF0(s32 updateRate) { } gParticlePtrList_flush(); func_8001BF20(); - func_80024D54(gCurrDisplayList, gCurrHudMat, gCurrHudVerts, gCurrHudTris, updateRate); + func_80024D54(&gCurrDisplayList, &gCurrHudMat, &gCurrHudVerts, &gCurrHudTris, updateRate); if (sRenderContext == DRAW_GAME) { // Ignore the user's L/R/Z buttons. buttonHeldInputs &= ~(L_TRIG | R_TRIG | Z_TRIG); @@ -1110,34 +1108,33 @@ void func_8006CCF0(s32 updateRate) { D_800DD390 = 0; buttonHeldInputs |= (L_TRIG | R_TRIG); break; - // Issue with the below cases. case 4: + buttonHeldInputs |= L_TRIG, sp40 = 1; - buttonHeldInputs |= L_TRIG; break; case 7: + buttonHeldInputs |= L_TRIG, sp40 = 2; - buttonHeldInputs |= L_TRIG; break; case 8: + buttonHeldInputs |= L_TRIG, sp40 = 3; - buttonHeldInputs |= L_TRIG; break; case 9: + buttonHeldInputs |= L_TRIG, sp40 = 4; - buttonHeldInputs |= L_TRIG; break; case 10: + buttonHeldInputs |= L_TRIG, sp40 = 5; - buttonHeldInputs |= L_TRIG; break; case 11: + buttonHeldInputs |= L_TRIG, sp40 = 6; - buttonHeldInputs |= L_TRIG; break; case 12: + buttonHeldInputs |= L_TRIG, sp40 = 7; - buttonHeldInputs |= L_TRIG; break; } } @@ -1164,7 +1161,7 @@ void func_8006CCF0(s32 updateRate) { if (func_80023568() != 0 && is_in_two_player_adventure()) { func_8006F398(); } - buttonHeldInputs |= (L_TRIG | R_TRIG); + buttonHeldInputs |= (L_TRIG | Z_TRIG); break; case 2: func_80001050(); @@ -1212,27 +1209,27 @@ void func_8006CCF0(s32 updateRate) { D_800DD39C = 0; } } - phi_v1_2 = FALSE; + sp3C = FALSE; if (D_800DD390 != 0) { D_800DD390 -= updateRate; if (D_800DD390 <= 0) { D_800DD390 = 0; func_8006C1AC(0, 0, 0, 0); func_8006C1AC(0x2B, 0, -1, 0xA); - phi_v1_2 = TRUE; + sp3C = TRUE; } } if (D_800DD394 > 0) { D_800DD394 -= updateRate; if (D_800DD394 <= 0) { buttonHeldInputs = L_TRIG; + sp3C = TRUE; switch (D_80123524) { case 1: buttonHeldInputs = (L_TRIG | Z_TRIG); break; case 2: sp40 = 3; - sp3C = 1; func_80098208(); D_801234FC = 2; break; @@ -1251,7 +1248,7 @@ void func_8006CCF0(s32 updateRate) { D_800DD394 = 0; } } - if (phi_v1_2) { + if (sp3C) { if (func_8006C2F0() != 0) { func_8006C22C(&D_801234F4, &D_80123504, &i, &D_80123508); func_8006F42C(); @@ -1275,10 +1272,10 @@ void func_8006CCF0(s32 updateRate) { } } else { sp3C = func_8006C300(); - if (func_8006C2F0() != 0) { + if (func_8006C2F0()) { if (D_800DD394 == 0) { - // Minor issue here. - if ((func_800214C4() != 0) || ((buttonPressedInputs & A_BUTTON) && (sp3C != 0))) { + i = func_800214C4(); + if ((i != 0) || ((buttonPressedInputs & A_BUTTON) && (sp3C != 0))) { if (sp3C != 0) { func_80000B28(); } @@ -1332,10 +1329,10 @@ void func_8006CCF0(s32 updateRate) { case 6: // Go to character select menu from "Select Character" option in tracks menu. i = 0; - if (is_drumstick_unlocked() != 0) { + if (is_drumstick_unlocked()) { i ^= 1; } - if (is_tt_unlocked() != 0) { + if (is_tt_unlocked()) { i ^= 3; } func_8008AEB4(1, 0); @@ -1382,9 +1379,6 @@ void func_8006CCF0(s32 updateRate) { D_801234F8 = 0; } } -#else -GLOBAL_ASM("asm/non_matchings/game/func_8006CCF0.s") -#endif void func_8006D8A4(void) { D_800DD390 = 0x2C; @@ -1856,10 +1850,10 @@ void func_8006EC18(s32 arg0) { D_800DD37C |= (0x40 | ((arg0 & 3) << 0xA)); } -void func_8006EC48(s32 arg0) { +void func_8006EC48(s32 saveFileIndex) { if (sRenderContext == DRAW_GAME && !is_in_tracks_mode()) { D_800DD37C &= -0xC01; - D_800DD37C |= (0x40 | ((arg0 & 3) << 0xA)); + D_800DD37C |= (0x40 | ((saveFileIndex & 3) << 0xA)); } } diff --git a/src/game.h b/src/game.h index 6bcf2128..6ebd5f59 100644 --- a/src/game.h +++ b/src/game.h @@ -151,7 +151,7 @@ void func_8006EBC4(void); void func_8006EBE0(void); void func_8006EBFC(void); void func_8006EC18(s32 arg0); -void func_8006EC48(s32 arg0); +void func_8006EC48(s32 saveFileIndex); void func_8006ECAC(s32 arg0); void func_8006ECC4(void); void func_8006ECE0(void); @@ -167,13 +167,13 @@ void func_8006F42C(void); void pre_intro_loop(void); s32 is_controller_missing(void); s32 check_imem_validity(void); +void func_8006CCF0(s32 updateRate); //Non Matching void func_8006ECFC(s32 numberOfPlayers); void func_8006DCF8(s32 arg0); void func_8006EFDC(void); void load_level(s32 levelId, s32 numberOfPlayers, s32 entranceId, s32 vehicleId, s32 cutsceneId); -void func_8006CCF0(s32 arg0); void func_8006A6B0(void); void func_80010994(s32 updateRate); diff --git a/src/game_text.c b/src/game_text.c index f3767a5d..976bc3cd 100644 --- a/src/game_text.c +++ b/src/game_text.c @@ -19,7 +19,7 @@ s32 D_800E3680 = 1; /************ .bss ************/ -u8 *D_8012A780; +u8 *gGameTextTable; //128 bytes? s8 D_8012A784; s8 D_8012A785; s8 D_8012A786; @@ -31,7 +31,7 @@ s16 D_8012A78C; s16 D_8012A78E; s16 D_8012A790; s16 D_8012A792; -unk8012A798 D_8012A798; +u8 *D_8012A798[2]; //960 x2 bytes s32 D_8012A7A0; s32 D_8012A7A4; s16 sDialogueAlpha; @@ -119,9 +119,9 @@ void func_800C2F1C(s32 arg0) { void func_800C3048(void) { D_8012A78C = -1; - D_8012A780 = (u8 *)allocate_from_main_pool_safe(0x800, COLOUR_TAG_GREEN); - D_8012A798.unk0 = D_8012A780 + 0x80; - D_8012A798.unk4 = D_8012A798.unk0 + 0x3C0; + gGameTextTable = (u8 *)allocate_from_main_pool_safe(2048, COLOUR_TAG_GREEN); + D_8012A798[0] = &gGameTextTable[128]; + D_8012A798[1] = &D_8012A798[0][960]; D_8012A7A4 = 0; func_800C29F0(); D_8012A790 = (get_size_of_asset_section(ASSET_GAME_TEXT_TABLE) >> 2) - 2; @@ -131,7 +131,7 @@ void func_800C3048(void) { void func_800C30CC(void) { s32 i; if (D_800E3670) { - free_from_memory_pool(D_8012A780); + free_from_memory_pool(gGameTextTable); D_800E3670 = 0; D_8012A789 = 0; for (i = 0; i < 10; i++) { diff --git a/src/game_ui.c b/src/game_ui.c index 72329cd0..8430bbd7 100644 --- a/src/game_ui.c +++ b/src/game_ui.c @@ -385,6 +385,7 @@ GLOBAL_ASM("asm/non_matchings/game_ui/func_800A4154.s") GLOBAL_ASM("asm/non_matchings/game_ui/func_800A45F0.s") GLOBAL_ASM("asm/non_matchings/game_ui/func_800A47A0.s") GLOBAL_ASM("asm/non_matchings/game_ui/func_800A497C.s") +UNUSED void func_800A4C34(UNUSED s32 arg0, UNUSED s32 arg1, UNUSED s32 arg2) {} GLOBAL_ASM("asm/non_matchings/game_ui/func_800A4C44.s") GLOBAL_ASM("asm/non_matchings/game_ui/func_800A4F50.s") GLOBAL_ASM("asm/non_matchings/game_ui/func_800A5A64.s") @@ -406,6 +407,12 @@ void func_800A6DB4(s16 *arg0) { GLOBAL_ASM("asm/non_matchings/game_ui/func_800A6E30.s") GLOBAL_ASM("asm/non_matchings/game_ui/func_800A718C.s") +UNUSED void func_800A7440(u16 soundId) { + if ((D_80126D40 == 0) && (!is_game_paused())) { + play_sound_global(soundId, &D_80126D40); + } +} + void func_800A7484(u16 arg0, f32 arg1, s32 arg2) { if (D_80126D74 == 0) { D_80126D7C = arg0; diff --git a/src/game_ui.h b/src/game_ui.h index 7dd375bf..8d70a543 100644 --- a/src/game_ui.h +++ b/src/game_ui.h @@ -43,6 +43,12 @@ typedef struct unk800E2770 { s32 unkC; } unk800E2770; +extern unk80126CDC *D_80126CDC; +extern Gfx *D_80126CFC; +extern u32 D_80126D00; +extern u32 D_80126D04; +extern u8 D_80126D37; + u8 func_800A0190(void); void func_800A0B74(void); void func_800A0DC0(s32 arg0, Object *arg1, s32 arg2); diff --git a/src/memory.c b/src/memory.c index 9d7e93d4..4361c675 100644 --- a/src/memory.c +++ b/src/memory.c @@ -310,8 +310,12 @@ void free_slot_containing_address(u8 *address) { } } -// Unused? -void func_80071314(void) { +#else +GLOBAL_ASM("asm/non_matchings/memory/free_slot_containing_address.s") +#endif + +#ifdef NON_EQUIVALENT +UNUSED void func_80071314(void) { s32 *sp40; MemoryPool *pool; MemoryPoolSlot *slot; @@ -337,9 +341,8 @@ void func_80071314(void) { } func_8006F53C(sp40); } - #else -GLOBAL_ASM("asm/non_matchings/memory/free_slot_containing_address.s") +GLOBAL_ASM("asm/non_matchings/memory/func_80071314.s") #endif void func_80071440(void *dataAddress) { diff --git a/src/menu.c b/src/menu.c index 6ef02bd2..6a92d014 100644 --- a/src/menu.c +++ b/src/menu.c @@ -142,9 +142,9 @@ s8 D_80126541; s32 D_80126544; s32 gMultiplayerSelectedNumberOfRacersCopy; // Saved version gMultiplayerSelectedNumberOfRacers? TextureHeader *D_80126550[67]; // lookup table? TEXTURES -s32 D_8012665C; -s32 D_80126660; -s32 D_80126664; +TextureHeader *D_8012665C; +TextureHeader *D_80126660; +TextureHeader *D_80126664; s32 D_80126668[58]; u8 D_80126750[128]; s32 D_801267D0; @@ -207,9 +207,9 @@ s32 D_801269F4; s32 D_801269F8; s32 *D_801269FC; s32 D_80126A00; -unk800860A8 *D_80126A04; //Shares it's allocation with D_80126A0C +unk800861C8 *D_80126A04; //Shares it's allocation with D_80126A0C s32 D_80126A08; -s32 D_80126A0C; //Allocated 2560 bytes in menu_save_options_init. Possibly an array of 2 large structs. +unk800861C8 *D_80126A0C; //Allocated 2560 bytes in menu_save_options_init. Possibly an array of 2 large structs. s32 D_80126A10; s32 D_80126A14; s32 D_80126A18; @@ -219,9 +219,9 @@ u8 sControllerPakIssueNotFound[MAXCONTROLLERS]; //Flag to see if there's no know u8 sControllerPakFatalErrorFound[MAXCONTROLLERS]; //Flag to see if there's a fatal error for the given controller pak u8 sControllerPakNoFreeSpace[MAXCONTROLLERS]; //Flag to see if there's no free space for the given controller pak u8 sControllerPakBadData[MAXCONTROLLERS]; //Flag to see if there's bad data for the given controller pak -u8 *D_80126A40[8]; //Menu Text +char *D_80126A40[8]; //Menu Text u8 sControllerPakDataPresent[MAXCONTROLLERS]; //Flag to see if there's data present for the given controller pak? Not sure -s32 D_80126A64; +u8 *D_80126A64; s32 D_80126A68; //sCurrentControllerIndex? s32 D_80126A6C; s32 D_80126A70; @@ -1667,6 +1667,7 @@ void func_8007FF88(void) { } GLOBAL_ASM("asm/non_matchings/menu/func_8007FFEC.s") +GLOBAL_ASM("asm/non_matchings/menu/func_80080518.s") GLOBAL_ASM("asm/non_matchings/menu/func_80080580.s") GLOBAL_ASM("asm/non_matchings/menu/func_80080BC8.s") @@ -1732,11 +1733,8 @@ void menu_init(u32 menuId) { sUnused_801263C8 = 0; sUnused_80126828 = 0; - // Does not match with a for loop - i = 0; - while (i < 4) { - D_80126808[i++] = 0; - } + //Needs to be one line + for (i = 0; i < 4; i++) { D_80126808[i] = 0; } func_80001844(); switch (gCurrentMenuId) { @@ -2722,9 +2720,9 @@ void menu_save_options_init(void) { gMenuDelay = 0; D_801263E0 = 1; D_801263D8 = 0; - D_80126A64 = (s32)allocate_from_main_pool_safe(0x800, COLOUR_TAG_WHITE); - D_80126A0C = (s32)allocate_from_main_pool_safe(0xA00, COLOUR_TAG_WHITE); - D_80126A04 = (unk800860A8 *)(D_80126A0C + 0x500); + D_80126A64 = (u8 *)allocate_from_main_pool_safe(0x800, COLOUR_TAG_WHITE); + D_80126A0C = (unk800861C8 *)allocate_from_main_pool_safe(0xA00, COLOUR_TAG_WHITE); + D_80126A04 = &D_80126A0C[80]; //0x500 bytes forward D_80126A08 = 0; D_80126BD4 = 0; D_80126BDC = 0.0f; @@ -2747,15 +2745,127 @@ void menu_save_options_init(void) { } GLOBAL_ASM("asm/non_matchings/menu/func_800853D0.s") -GLOBAL_ASM("asm/non_matchings/menu/func_80085B9C.s") -s32 func_800860A8(s32 controllerIndex, s32 *arg1, unk800860A8 *arg2, s32 *arg3, s32 fileSize, UNUSED s32 arg5) { +#ifdef NON_EQUIVALENT +void func_80085B9C(UNUSED s32 updateRate) { + s32 yPos; //yPos + s32 var_s2; //for loop iterator? + s32 var_s3; //bool + s32 temp_f4; + s32 videoWidth; + s32 temp_v0; + s32 drawTexturedRectangle; //bool + s32 drawPleaseWait; //bool + s32 drawOk; //bool + s32 drawDialogueBox; //bool + DrawTexture *tempTex; + + videoWidth = GET_VIDEO_WIDTH(get_video_width_and_height_as_s32()); + var_s3 = FALSE; + drawTexturedRectangle = FALSE; //render textured rectangle + drawPleaseWait = FALSE; //Draw Please Wait + drawOk = FALSE; //Draw "OK?" + drawDialogueBox = FALSE; //Render Dialogue Box + switch (D_801263E0 & 7) { + case 0: + break; + case 1: + case 2: + drawPleaseWait = TRUE; + break; + case 3: + case 4: + var_s3 = TRUE; + break; + case 5: + var_s3 = TRUE; + drawTexturedRectangle = TRUE; + break; + case 6: + var_s3 = TRUE; + drawTexturedRectangle = TRUE; + drawOk = TRUE; + break; + case 7: + var_s3 = TRUE; + drawTexturedRectangle = TRUE; + drawPleaseWait = TRUE; + break; + } + if (D_801263E0 & 8) { + drawDialogueBox = TRUE; + } + func_80067F2C(&sMenuCurrDisplayList, &sMenuCurrHudMat); + set_text_background_colour(0, 0, 0, 0); + set_text_font(2); + set_text_colour(0, 0, 0, 255, 128); + draw_text(&sMenuCurrDisplayList, 161, 35, gMenuText[ASSET_MENU_TEXT_SAVEOPTIONS], ALIGN_MIDDLE_CENTER); + set_text_colour(255, 255, 255, 0, 255); + draw_text(&sMenuCurrDisplayList, 160, 32, gMenuText[ASSET_MENU_TEXT_SAVEOPTIONS], ALIGN_MIDDLE_CENTER); + if (drawTexturedRectangle) { + yPos = (osTvType == TV_TYPE_PAL) ? 132 : 120; + yPos += ((s32) (D_801263BC & 0x1F) >> 1); + var_s2 = 0; + tempTex = &D_800E043C[var_s2]; + do { + render_textured_rectangle(&sMenuCurrDisplayList, tempTex, 160, yPos, 255, 255, 255, 255); + tempTex++; + var_s2++; + yPos += 16; + } while(var_s2 != 2); + } + if (var_s3) { + temp_f4 = D_80126BDC; + temp_v0 = 80 - (s32) ((D_80126BDC - temp_f4) * 164); + while ((temp_v0 < videoWidth) && (temp_f4 < D_80126A08)) { + func_800853D0(&D_80126A0C[temp_f4], temp_v0, 64); + temp_f4++; + temp_v0 += 164; + } + while ((temp_v0 > 0) && (temp_f4 > 0)) { + temp_f4--; + temp_v0 -= 164; + func_800853D0(&D_80126A0C[temp_f4], temp_v0, 64); + } + } + if (drawTexturedRectangle) { + temp_f4 = D_80126BEC; + temp_v0 = 80 - (s32) ((D_80126BEC - temp_f4) * 164); + while ((temp_v0 < videoWidth) && (temp_f4 < D_80126A00)) { + func_800853D0(&D_80126A04[temp_f4], temp_v0, 144); + temp_f4++; + temp_v0 += 164; + } + while ((temp_v0 > 0) && (temp_f4 > 0)) { + temp_f4--; + temp_v0 -= 164; + func_800853D0(&D_80126A04[temp_f4], temp_v0, 144); + } + } + set_text_font(2); + set_text_colour(255, 255, 255, 0, 255); + if (drawOk) { + draw_text(&sMenuCurrDisplayList, 160, 128, D_800E8208, ALIGN_MIDDLE_CENTER); // "OK?" + } + if (drawPleaseWait) { + draw_text(&sMenuCurrDisplayList, 160, 128, gMenuText[ASSET_MENU_TEXT_PLEASEWAIT], ALIGN_MIDDLE_CENTER); + } + if (drawDialogueBox) { + render_dialogue_box(&sMenuCurrDisplayList, NULL, NULL, 7); + } + func_80080E6C(); +} +#else +GLOBAL_ASM("asm/non_matchings/menu/func_80085B9C.s") +#endif + +s32 func_800860A8(s32 controllerIndex, s32 *arg1, unk800861C8 *arg2, s32 *arg3, s32 fileSize, UNUSED s32 arg5) { s32 ret = 0; if (*arg1 != 0) { - ret = get_free_space(controllerIndex, &arg2[*arg3].cPakBytesFree, &sControllerPakNotesFree[controllerIndex]); + ret = get_free_space(controllerIndex, &arg2[*arg3].fileSize, &sControllerPakNotesFree[controllerIndex]); if (ret == CONTROLLER_PAK_GOOD) { - if (((s32)arg2[*arg3].cPakBytesFree >= fileSize) && (sControllerPakNotesFree[controllerIndex] > 0)) { + if (((s32)arg2[*arg3].fileSize >= fileSize) && (sControllerPakNotesFree[controllerIndex] > 0)) { arg2[*arg3].unk0 = 8; //CONTROLLER_PAK_UNK8 maybe? arg2[*arg3].controllerIndex = controllerIndex; (*arg3)++; @@ -2785,15 +2895,47 @@ void func_800861C8(unk800861C8 *arg0, s32 *arg1) { arg0[*arg1].unk0 = 1; arg0[*arg1].unk1 = 0; arg0[*arg1].unk2 = 0; - arg0[*arg1].unk6 = i; - arg0[*arg1].unkC = get_game_data_file_size(); + arg0[*arg1].controllerIndex = i; + arg0[*arg1].fileSize = get_game_data_file_size(); (*arg1)++; } } } GLOBAL_ASM("asm/non_matchings/menu/func_800862C4.s") -GLOBAL_ASM("asm/non_matchings/menu/func_800867D4.s") + +s32 func_800867D4(void) { + s32 ret = 0; + + D_80126A00 = 0; + + switch (D_80126A0C[D_80126BD4].unk0) { + case 1: //Some other type of game data? + func_8006EB78(D_80126A0C[D_80126BD4].controllerIndex); + func_800861C8(D_80126A04, &D_80126A00); + ret = func_800860A8(0, &D_80126A18, D_80126A04, &D_80126A00, get_game_data_file_size(), -1); + break; + case 2: //Some other type of time data? + ret = func_800860A8(0, &D_80126A18, D_80126A04, &D_80126A00, get_time_data_file_size(), -1); + break; + case 3: //GAMD / Game Data + func_800861C8(D_80126A04, &D_80126A00); + ret = func_800860A8(1, &D_80126A1C, D_80126A04, &D_80126A00, get_game_data_file_size(), D_80126A0C[D_80126BD4].controllerIndex); + break; + case 4: //TIMD / Time Data + D_80126A04[D_80126A00++].unk0 = 2; + ret = func_800860A8(1, &D_80126A1C, D_80126A04, &D_80126A00, get_time_data_file_size(), D_80126A0C[D_80126BD4].controllerIndex); + break; + case 5: //GHSS / Ghost Data + D_80126A04[D_80126A00++].unk0 = 9; + ret = func_800860A8(1, &D_80126A1C, D_80126A04, &D_80126A00, func_80074B1C(), D_80126A0C[D_80126BD4].controllerIndex); + break; + } + + D_80126A04[D_80126A00++].unk0 = 7; + + return ret; +} void func_80086A48(s32 arg0) { f32 temp, temp2; @@ -3193,7 +3335,7 @@ void func_800887E8(void) { } //Visual Aid : https://i.imgur.com/7T2Scdr.png -void render_controller_pak_ui(s32 updateRate) { +void render_controller_pak_ui(UNUSED s32 updateRate) { s32 alpha; s32 i; char *noteText; @@ -3412,7 +3554,7 @@ s32 menu_controller_pak_loop(s32 updateRate) { switch (D_800DF460) { case -1: if (yStick < 0) { - if(!xStick); + if(!xStick){} D_800DF460 = 0; playMoveSound = TRUE; } @@ -4695,16 +4837,17 @@ void func_8008E4B0(void) { } GLOBAL_ASM("asm/non_matchings/menu/func_8008E4EC.s") + +UNUSED s32 func_8008E790(void) { + return D_800E097C; +} + GLOBAL_ASM("asm/non_matchings/menu/menu_track_select_init.s") GLOBAL_ASM("asm/non_matchings/menu/func_8008F00C.s") -#ifdef NON_MATCHING -// Close to done with this function. Just a regalloc issue remains. - s32 menu_track_select_loop(s32 updateRate) { s32 cutsceneId; Settings *settings; - s32 i = 0; settings = get_settings(); D_801263BC = (D_801263BC + updateRate) & 0x3F; @@ -4764,9 +4907,8 @@ s32 menu_track_select_loop(s32 updateRate) { if (D_801267D0 >= 2) { func_8008F534(); if (gMultiplayerSelectedNumberOfRacersCopy != gMultiplayerSelectedNumberOfRacers) { - // regalloc issue with the for loop. - for (i = 0; i < 8; i++) { - settings->racers[i].starting_position = i; + for (cutsceneId = 0; cutsceneId < 8; cutsceneId++) { + settings->racers[cutsceneId].starting_position = cutsceneId; } } if (D_801269C8 != 4) { @@ -4782,9 +4924,6 @@ s32 menu_track_select_loop(s32 updateRate) { gIgnorePlayerInput = 0; return 0; } -#else -GLOBAL_ASM("asm/non_matchings/menu/menu_track_select_loop.s") -#endif void func_8008F534(void) { s32 i; @@ -5322,42 +5461,91 @@ void func_80093A0C(void) { func_80000B28(); } -GLOBAL_ASM("asm/non_matchings/menu/func_80093A40.s") +//Pause Menu +void func_80093A40(void) { + s32 raceType; + s32 i; + Settings *settings; + + func_80072298(0); + settings = get_settings(); + D_800E098C = -1; + + for (i = 0; ((get_active_player_count() > i) && (D_800E098C < 0)); i++) { + if (get_buttons_held_from_player(i) & START_BUTTON) { + D_800E098C = i; + } + } + if (D_800E098C < 0) { + D_800E098C = 0; + } + D_80126A40[0] = gMenuText[ASSET_MENU_TEXT_CONTINUE]; + D_800E0984 = 1; + if (gTrophyRaceWorldId == 0) { + raceType = func_8006B14C(settings->courseId); + if ((settings->worldId == WORLD_CENTRAL_AREA) && (func_8002341C() != 0)) { + D_80126A40[1] = gMenuText[ASSET_MENU_TEXT_ABANDONCHALLENGE]; + D_800E0984 = 2; + } else if ((settings->worldId > WORLD_CENTRAL_AREA) && (raceType != RACETYPE_BOSS)) { + if (raceType & RACETYPE_CHALLENGE) { + D_80126A40[1] = gMenuText[ASSET_MENU_TEXT_RESTARTCHALLENGE]; + D_80126A40[2] = (!gIsInTracksMode) ? gMenuText[ASSET_MENU_TEXT_RETURNTOLOBBY] : gMenuText[ASSET_MENU_TEXT_SELECTTRACK]; + D_800E0984 = 3; + } else if (raceType == RACETYPE_DEFAULT) { + D_80126A40[1] = gMenuText[ASSET_MENU_TEXT_RESTARTRACE]; + D_80126A40[2] = (!gIsInTracksMode) ? gMenuText[ASSET_MENU_TEXT_RETURNTOLOBBY] : gMenuText[ASSET_MENU_TEXT_SELECTTRACK]; + D_800E0984 = 3; + } + } else if ((!gIsInTracksMode) && (raceType == RACETYPE_BOSS)) { + D_80126A40[1] = gMenuText[ASSET_MENU_TEXT_RESTARTRACE]; + D_80126A40[2] = gMenuText[ASSET_MENU_TEXT_RETURNTOLOBBY]; + D_800E0984 = 3; + } + if ((gIsInTracksMode == TRUE) && (gNumberOfActivePlayers == 1)) { + D_80126A40[D_800E0984++] = gMenuText[ASSET_MENU_TEXT_SELECTCHARACTER]; + } + D_80126A40[D_800E0984++] = gMenuText[ASSET_MENU_TEXT_QUITGAME]; + } else { + D_80126A40[D_800E0984++] = gMenuText[ASSET_MENU_TEXT_QUITTROPHYRACE]; + } + D_80126A68 = 0; + D_801263BC = 0; + gMenuDelay = 0; + gIgnorePlayerInput = 1; + D_800E0988 = 0; + reset_controller_sticks(); +} #ifdef NON_EQUIVALENT // In the right ballpark, but not right. -void func_80093D40(s32 arg0) { +// Draw pause game screen? +void func_80093D40(UNUSED s32 updateRate) { s32 yOffset; s32 i; - s32 xOffset; s32 x; ColourRGBA *colours; - s32 xPos; s32 baseYPos; + s32 xPos; s32 alpha; - i = 0; - xPos = 160; - if (D_800E0984 > 0) { - do { - //func_800C4DA0(text, x, font) x = diffX - x - x = func_800C4DA0(&D_80126A40[i], 0, 0) + 8; - if (xPos < x) { - xPos = x; - } - i++; - } while (i < D_800E0984); - } - if (osTvType == TV_TYPE_PAL) { - baseYPos = 132; - } else { - baseYPos = 120; + for (i = 0, xPos = 160; i < D_800E0984; i++) { + x = func_800C4DA0(D_80126A40[i], 0, 0) + 8; + if (xPos < x) { + xPos = x; + } } + + baseYPos = (osTvType == TV_TYPE_PAL) ? 132 : 120; + + yOffset = ((D_800E0984 * 16) + 28); + func_800C56D0(7); assign_dialogue_box_id(7); - yOffset = (s32) ((D_800E0984 * 16) + 28) >> 1; - xOffset = xPos >> 1; - set_current_dialogue_box_coords(7, 160 - xOffset, baseYPos - yOffset, xOffset + 160, yOffset + baseYPos); + + yOffset >>= 1; + xPos >>= 1; + + set_current_dialogue_box_coords(7, 160 - xPos, baseYPos - yOffset, xPos + 160, yOffset + baseYPos); colours = &D_800E0990[get_player_id(D_800E098C)]; set_current_dialogue_background_colour(7, colours->r, colours->g, colours->b, colours->a); set_dialogue_font(7, 0); @@ -5370,38 +5558,33 @@ void func_80093D40(s32 arg0) { } if (D_800E0988 != 0) { if (gTrophyRaceWorldId != 0) { - i = yOffset - 26; - render_dialogue_text(7, POS_CENTRED, i + 8, gMenuText[ASSET_MENU_TEXT_QUITTROPHYRACETITLE], 1, 12); // QUIT TROPHY RACE? + yOffset -= 26; + render_dialogue_text(7, POS_CENTRED, yOffset + 8, gMenuText[ASSET_MENU_TEXT_QUITTROPHYRACETITLE], 1, 12); } else { - i = yOffset - 26; - render_dialogue_text(7, POS_CENTRED, i + 8, gMenuText[ASSET_MENU_TEXT_QUITGAMETITLE], 1, 12); // QUIT GAME? + yOffset -= 26; + render_dialogue_text(7, POS_CENTRED, yOffset + 8, gMenuText[ASSET_MENU_TEXT_QUITGAMETITLE], 1, 12); } if (D_800E0988 == 1) { set_current_text_colour(7, 255, 255, 255, alpha, 255); } else { set_current_text_colour(7, 255, 255, 255, 0, 255); } - render_dialogue_text(7, POS_CENTRED, i + 28, gMenuText[ASSET_MENU_TEXT_OK], 1, 12); // OK + render_dialogue_text(7, POS_CENTRED, yOffset + 28, gMenuText[ASSET_MENU_TEXT_OK], 1, 12); // OK if (D_800E0988 == 2) { set_current_text_colour(7, 255, 255, 255, alpha, 255); } else { set_current_text_colour(7, 255, 255, 255, 0, 255); } - render_dialogue_text(7, POS_CENTRED, i + 44, gMenuText[ASSET_MENU_TEXT_CANCEL], 1, 12); // CANCEL + render_dialogue_text(7, POS_CENTRED, yOffset + 44, gMenuText[ASSET_MENU_TEXT_CANCEL], 1, 12); } else { - render_dialogue_text(7, POS_CENTRED, 12, gMenuText[ASSET_MENU_TEXT_PAUSEOPTIONS], D_800E098C + 1, 12); // PAUSE OPTIONS - baseYPos = 32; - if (D_800E0984 > 0) { - do { - if (i == D_80126A68) { - set_current_text_colour(7, 255, 255, 255, alpha, 255); - } else { - set_current_text_colour(7, 255, 255, 255, 0, 255); - } - render_dialogue_text(7, POS_CENTRED, baseYPos, &D_80126A40[i], 1, 12); - i++; - baseYPos += 16; - } while (i < D_800E0984); + render_dialogue_text(7, POS_CENTRED, 12, gMenuText[ASSET_MENU_TEXT_PAUSEOPTIONS], D_800E098C + 1, 12); + for (i = 0, yOffset = 32; i < D_800E0984; i++, yOffset += 16) { + if (i == D_80126A68) { + set_current_text_colour(7, 255, 255, 255, alpha, 255); + } else { + set_current_text_colour(7, 255, 255, 255, 0, 255); + } + render_dialogue_text(7, POS_CENTRED, yOffset, D_80126A40[i], 1, 12); } } open_dialogue_box(7); @@ -5410,7 +5593,121 @@ void func_80093D40(s32 arg0) { GLOBAL_ASM("asm/non_matchings/menu/func_80093D40.s") #endif -GLOBAL_ASM("asm/non_matchings/menu/func_80094170.s") +//Pause menu +s32 func_80094170(UNUSED Gfx **dl, s32 updateRate) { + s8 temp; + s32 playerId; + s32 buttonsPressed; + + if (D_800E0984 == 0) { + func_80000968(0); + return 0; + } + + func_80000968(1); + D_801263BC = (D_801263BC + updateRate) & 0x3F; + update_controller_sticks(); + + buttonsPressed = 0; + if (!gIgnorePlayerInput) { + buttonsPressed = get_buttons_pressed_from_player(D_800E098C); + } + + if (gMenuDelay == 0) { + if (D_800E0988 != 0) { + if (buttonsPressed & (A_BUTTON | START_BUTTON)) { + play_sound_global(SOUND_SELECT2, NULL); + if (D_800E0988 == 1) { + gMenuDelay = 1; + } else { + D_800E0988 = 0; + } + } else if (buttonsPressed & B_BUTTON) { + play_sound_global(SOUND_SELECT2, NULL); + D_800E0988 = 0; + } else { + temp = D_800E0988; + playerId = D_800E098C; + if (gControllersYAxisDirection[playerId] != 0) { + D_800E0988 = 3 - D_800E0988; + } + if (temp != D_800E0988) { + play_sound_global(SOUND_MENU_PICK2, NULL); + } + } + } else if (buttonsPressed & (A_BUTTON | START_BUTTON)) { + play_sound_global(SOUND_SELECT2, NULL); + if ((D_80126A40[D_80126A68] == gMenuText[ASSET_MENU_TEXT_QUITGAME]) || + ((gTrophyRaceWorldId != 0) && (D_80126A40[D_80126A68] == gMenuText[ASSET_MENU_TEXT_QUITTROPHYRACE]))) { + D_800E0988 = 2; + } else { + gMenuDelay = 1; + } + } else { + temp = D_80126A68; + playerId = D_800E098C; + buttonsPressed = gControllersYAxisDirection[playerId]; + if (buttonsPressed < 0) { + D_80126A68++; + } + if (buttonsPressed > 0) { + D_80126A68--; + } + if (D_80126A68 < 0) { + D_80126A68 = D_800E0984 - 1; + } + if (D_80126A68 >= D_800E0984) { + D_80126A68 = 0; + } + if (temp != D_80126A68) { + play_sound_global(SOUND_MENU_PICK2, NULL); + } + } + } else { + gMenuDelay++; + if (gMenuDelay >= 4) { + n_alSynRemovePlayer(); + if (D_800E0988 == 1) { + if (gTrophyRaceWorldId != 0) { + gTrophyRaceWorldId = 0; + if (gIsInTracksMode == 0) { + return 3; + } + return 5; + } + return 4; + } + if (D_80126A40[D_80126A68] == gMenuText[ASSET_MENU_TEXT_CONTINUE]) { + func_80000968(0); + return 1; + } + if ((D_80126A40[D_80126A68] == gMenuText[ASSET_MENU_TEXT_RESTARTRACE]) || (D_80126A40[D_80126A68] == gMenuText[ASSET_MENU_TEXT_RESTARTCHALLENGE])) { + if ((gIsInTracksMode == 0) && (D_800E0758[func_8006EB14()] != -1)) { + func_80000FDC(D_800E0758[func_8006EB14()], 0, 1.0f); + } + return 2; + } + if (D_80126A40[D_80126A68] == gMenuText[ASSET_MENU_TEXT_RETURNTOLOBBY]) { + return 3; + } + if (D_80126A40[D_80126A68] == gMenuText[ASSET_MENU_TEXT_SELECTTRACK]) { + return 5; + } + if (D_80126A40[D_80126A68] == gMenuText[ASSET_MENU_TEXT_SELECTCHARACTER]) { + return 12; + } + if (D_80126A40[D_80126A68] == gMenuText[ASSET_MENU_TEXT_ABANDONCHALLENGE]) { + func_80000968(0); + return 7; + } + return 1; + } + } + + func_80093D40(updateRate); + gIgnorePlayerInput = 0; + return 0; +} void n_alSynRemovePlayer(void) { func_80072298(1); diff --git a/src/menu.h b/src/menu.h index 34d5f48b..cd54ccbc 100644 --- a/src/menu.h +++ b/src/menu.h @@ -190,26 +190,15 @@ typedef struct unk800E153C { u32 unk4; // Flags? } unk800E153C; -/* Size: 0x10 Bytes */ -typedef struct unk800860A8 { - s8 unk0; //Probably SIDeviceStatus - u8 pad1[0x5]; - s8 controllerIndex; - u8 pad7[0x5]; - u32 cPakBytesFree; -} unk800860A8; - /* Size: 0x10 bytes */ typedef struct unk800861C8 { u8 unk0; u8 unk1; u8 unk2; - u8 pad3; - u16 pad4; - s8 unk6; - s8 pad7; - u32 pad8; - u32 unkC; // Game Data File Size + u8 pad3[0x3]; + u8 controllerIndex; + u8 pad7[0x5]; + u32 fileSize; // Game Data File Size } unk800861C8; /* Unknown size */ @@ -595,7 +584,7 @@ extern s32 gViewingCreditsFromCheat; extern MenuElement D_800E1B50[9]; -//extern u32 dMenuHudSettings[24]; +extern Gfx dMenuHudSettings[6]; extern s8 D_800E1CD0[32]; @@ -649,6 +638,29 @@ extern u64 sEepromSettings; extern char *sInsertControllerPakMenuText[3]; extern char *sNoControllerPakMenuText[5]; extern char *sInsertRumblePakMenuText[4]; +extern s32 *D_80126C2C; +extern Settings *D_80126530[4]; + +extern DrawTexture D_800DFC10[2]; +extern DrawTexture D_800DFC20[2]; +extern DrawTexture D_800DFC30[2]; +extern DrawTexture D_800DFC40[2]; +extern DrawTexture D_800DFC50[2]; +extern DrawTexture D_800DFC60[2]; +extern TextureHeader *D_8012665C; +extern TextureHeader *D_80126660; +extern TextureHeader *D_80126664; +extern Gfx *sMenuCurrDisplayList; +extern Mtx *sMenuCurrHudMat; +extern const char D_800E8208[]; +extern s32 D_801263BC; +extern s32 D_801263E0; +extern s32 D_80126A00; +extern unk800861C8 *D_80126A04; +extern s32 D_80126A08; +extern unk800861C8 *D_80126A0C; //Allocated 2560 bytes in menu_save_options_init. Possibly an array of 2 large structs. +extern f32 D_80126BDC; +extern f32 D_80126BEC; s32 get_random_number_from_range(s32, s32); // No file to pull from yet. @@ -672,7 +684,7 @@ void unload_big_font_1(void); void menu_audio_options_init(void); void func_800851FC(void); void menu_save_options_init(void); -s32 func_800860A8(s32 controllerIndex, s32 *arg1, unk800860A8 *arg2, s32 *arg3, s32 fileSize, s32 arg5); +s32 func_800860A8(s32 controllerIndex, s32 *arg1, unk800861C8 *arg2, s32 *arg3, s32 fileSize, s32 arg5); void func_800861C8(unk800861C8 *arg0, s32 *arg1); s32 func_800874D0(s32 buttonsPressed, s32 arg1); s32 func_800875E4(s32 buttonsPressed, s32 arg1); @@ -793,6 +805,10 @@ s32 menu_ghost_data_loop(s32 updateRate); s32 menu_trophy_race_round_loop(s32 updateRate); void render_controller_pak_ui(UNUSED s32 updateRate); PakError check_for_controller_pak_errors(void); +void func_80093A40(void); +s32 func_80094170(UNUSED Gfx **dl, s32 updateRate); +s32 menu_track_select_loop(s32 updateRate); +s32 func_800867D4(void); // Non Matching functions below here void load_menu_text(s32 language); // Non Matching @@ -807,7 +823,6 @@ void randomise_ai_racer_slots(s32 arg0); void menu_game_select_init(void); void func_8008C698(s32 arg0); void render_file_select_menu(s32 arg0); -s32 menu_track_select_loop(s32 updateRate); void func_8008FF1C(s32 updateRate); void func_800904E8(s32 updateRate); void func_80090918(s32 updateRate); @@ -844,5 +859,7 @@ void func_80099E8C(s32 updateRate); void func_80092E94(UNUSED s32 updateRate, s32 arg1, s32 arg2); s32 func_800998E0(s32 arg0); void func_80081218(void); +void func_80080580(Gfx **arg0, s16 arg1, s16 arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6, s32 arg7, void *arg8); +void func_800853D0(unk800861C8 *arg0, s32 arg1, s32 arg2); #endif diff --git a/src/objects.c b/src/objects.c index 42a8937c..a15b0282 100644 --- a/src/objects.c +++ b/src/objects.c @@ -498,11 +498,8 @@ s32 normalise_time(s32 timer) { GLOBAL_ASM("asm/non_matchings/objects/func_8000C8F8.s") void func_8000CBC0(void) { - s32 i = 0; - while (i < 16) { // For some odd reason, using a for loop here makes this not match. - D_8011AE08[i] = NULL; - i++; - } + s32 i; //Required to be one line to match + for (i = 0; i < 16; i++) { D_8011AE08[i] = NULL; } } void func_8000CBF0(Object *arg0, s32 arg1) { diff --git a/src/printf.c b/src/printf.c index bbcf805c..c8313acb 100644 --- a/src/printf.c +++ b/src/printf.c @@ -74,8 +74,15 @@ GLOBAL_ASM("asm/non_matchings/printf/func_800B3240.s") GLOBAL_ASM("asm/non_matchings/printf/func_800B3358.s") GLOBAL_ASM("asm/non_matchings/printf/func_800B34B0.s") GLOBAL_ASM("asm/non_matchings/printf/func_800B3564.s") +GLOBAL_ASM("asm/non_matchings/printf/func_800B3678.s") GLOBAL_ASM("asm/non_matchings/printf/func_800B3740.s") GLOBAL_ASM("asm/non_matchings/printf/func_800B3E64.s") +GLOBAL_ASM("asm/non_matchings/printf/func_800B4488.s") +GLOBAL_ASM("asm/non_matchings/printf/func_800B44D4.s") +GLOBAL_ASM("asm/non_matchings/printf/func_800B452C.s") +GLOBAL_ASM("asm/non_matchings/printf/func_800B4578.s") +GLOBAL_ASM("asm/non_matchings/printf/func_800B45C4.s") +GLOBAL_ASM("asm/non_matchings/printf/func_800B461C.s") GLOBAL_ASM("asm/non_matchings/printf/func_800B4668.s") GLOBAL_ASM("asm/non_matchings/printf/func_800B46BC.s") GLOBAL_ASM("asm/non_matchings/printf/func_800B4940.s") @@ -122,6 +129,11 @@ GLOBAL_ASM("asm/non_matchings/printf/render_printf.s") GLOBAL_ASM("asm/non_matchings/printf/print_debug_strings.s") +UNUSED void func_800B61E0(void) { + D_801285D8 = &D_80127CD8; + func_800B6EE0(); +} + /** * Set the colour of the current debug text. */ diff --git a/src/save_data.c b/src/save_data.c index 4fc17fdb..9589b7c4 100644 --- a/src/save_data.c +++ b/src/save_data.c @@ -705,6 +705,7 @@ void func_80074AA8(GhostHeader *ghostHeader, s16 characterID, s16 time, s16 node } //Seems to only be called when used as an argument for func_800860A8. Effectively just returns 0x6700 +//get_ghost_data_file_size()? s32 func_80074B1C(void) { //func_80074EB8 Makes extensive use out of 0x1100, and even does a * 6 to it. //func_80075000 Uses 0x1100 once as well. diff --git a/src/screen_asset.c b/src/screen_asset.c index 4fa4aa27..d536841e 100644 --- a/src/screen_asset.c +++ b/src/screen_asset.c @@ -15,8 +15,8 @@ Gfx gRdpSetModeScreenAsset[] = { * Returns the address of the screen asset, or 0x80100000 if no screen assets were found. * Unused. */ -UNUSED void *load_screen(s32 screenIndex) { - u32 *someAddr; +UNUSED u32 load_screen(s32 screenIndex) { + u32 someAddr; s32 screenTableCount, start, size; u32 *screenTable; @@ -33,7 +33,7 @@ UNUSED void *load_screen(s32 screenIndex) { // since there are no screen assets in the ROM. if (screenTableCount == 0) { free_from_memory_pool(screenTable); - return OS_PHYSICAL_TO_K0(0x100000); + return (u32)OS_PHYSICAL_TO_K0(0x100000); } else { if (screenIndex < 0 || screenIndex >= screenTableCount) { rmonPrintf("SCREEN: No out of range!!\n"); @@ -42,7 +42,7 @@ UNUSED void *load_screen(s32 screenIndex) { start = screenTable[screenIndex]; size = screenTable[screenIndex + 1] - start; - someAddr = allocate_from_main_pool_safe(size, COLOUR_TAG_BLUE); + someAddr = (u32)allocate_from_main_pool_safe(size, COLOUR_TAG_BLUE); load_asset_to_address(ASSET_SCREENS, someAddr, start, size); free_from_memory_pool(screenTable); diff --git a/src/screen_asset.h b/src/screen_asset.h index 0dc9d471..71c014b3 100644 --- a/src/screen_asset.h +++ b/src/screen_asset.h @@ -11,7 +11,7 @@ #define SCREEN_HEIGHT_PART 6 -UNUSED void *load_screen(s32 screenIndex); +UNUSED u32 load_screen(s32 screenIndex); UNUSED void render_screen(Gfx **dlist, u8 *screenAddress); #endif diff --git a/src/textures_sprites.c b/src/textures_sprites.c index f8e9a5c9..63c1f464 100644 --- a/src/textures_sprites.c +++ b/src/textures_sprites.c @@ -1358,6 +1358,23 @@ GLOBAL_ASM("asm/non_matchings/textures_sprites/func_8007BF34.s") GLOBAL_ASM("asm/non_matchings/textures_sprites/func_8007C12C.s") +#ifdef NON_MATCHING +Sprite *func_8007C52C(s32 arg0) { + Sprite *temp_v1; + + if ((arg0 < 0) || (arg0 >= D_80126358)) { + return NULL; + } + temp_v1 = gSpriteCache[arg0].sprite; + if (temp_v1 == (Sprite *)-1) { + return NULL; + } + return temp_v1; +} +#else +GLOBAL_ASM("asm/non_matchings/textures_sprites/func_8007C52C.s") +#endif + #ifdef NON_EQUIVALENT // Mostly has regalloc issues. s32 get_texture_size_from_id(s32 arg0) { @@ -1393,9 +1410,19 @@ GLOBAL_ASM("asm/non_matchings/textures_sprites/get_texture_size_from_id.s") GLOBAL_ASM("asm/non_matchings/textures_sprites/func_8007C660.s") -#ifdef NON_EQUIVALENT -// Unused -s32 func_8007C860(s32 spriteIndex) { +#ifdef NON_MATCHING +UNUSED s32 func_8007C860(s32 spriteIndex) { + if ((spriteIndex < 0) || (spriteIndex >= gNumberOfLoadedTextures)) { + return -1; + } + return gTextureCache[spriteIndex].id; +} +#else +GLOBAL_ASM("asm/non_matchings/textures_sprites/func_8007C860.s") +#endif + +#ifdef NON_MATCHING +UNUSED s32 func_8007C8A0(s32 spriteIndex) { if ((spriteIndex < 0) || (spriteIndex >= D_80126358)) { return -1; } @@ -1403,7 +1430,7 @@ s32 func_8007C860(s32 spriteIndex) { return gSpriteCache[spriteIndex].id; } #else -GLOBAL_ASM("asm/non_matchings/textures_sprites/func_8007C860.s") +GLOBAL_ASM("asm/non_matchings/textures_sprites/func_8007C8A0.s") #endif #ifdef NON_EQUIVALENT diff --git a/src/unknown_003260.c b/src/unknown_003260.c index d5291908..9be8cda3 100644 --- a/src/unknown_003260.c +++ b/src/unknown_003260.c @@ -53,7 +53,7 @@ s32 D_800DC6A4 = 0; // Currently unknown, might be a different type. s32 D_800DC6A8 = 0; // Currently unknown, might be a different type. s32 D_800DC6AC = 0; // Currently unknown, might be a different type. -s32 D_800DC6B0 = 0; // Currently unknown, might be a different type. +ALEventQueue *D_800DC6B0 = NULL; s32 D_800DC6B4 = 0; // Currently unknown, might be a different type. unk800DC6BC_40 *D_800DC6B8 = NULL; unk800DC6BC *gAlSndPlayer = &D_80119BD0; @@ -424,6 +424,14 @@ void func_8000488C(u8 *arg0) { GLOBAL_ASM("asm/non_matchings/unknown_003260/func_800048D8.s") +UNUSED void func_80004998(void) { + func_800048D8(1); +} + +UNUSED void func_800049B8(void) { + func_800048D8(17); +} + void func_800049D8(void) { func_800048D8(3); } @@ -442,4 +450,29 @@ u16 func_80004A3C(u8 arg0) { return D_80119C28[arg0]; } -GLOBAL_ASM("asm/non_matchings/unknown_003260/func_80004A60.s") +//TODO: The structs used here are almost definitely wrong, but they do match, +// so it can at least show the pattern we're looking for. +//arg0 = sound channel? +//arg1 = volume? +void func_80004A60(u8 arg0, u16 arg1) { + OSIntMask mask; + ALEventQueue *queue; + UNUSED s32 pad; + ALEvent evt; + + mask = osSetIntMask(1); + queue = D_800DC6B0; + D_80119C28[arg0] = arg1; + + while (queue != NULL) { + //This is almost definitely the wrong struct list, but it matches so I'm not going to complain + if ((((ALInstrument *)queue->allocList.next->prev)->priority & 0x3F) == arg0) { + evt.type = 0x800; + evt.msg.spseq.seq = (void *)queue; + alEvtqPostEvent(&gAlSndPlayer->evtq, &evt, 0); + } + queue = (ALEventQueue *) queue->freeList.next; + } + + osSetIntMask(mask); +} diff --git a/src/unknown_003260.h b/src/unknown_003260.h index 780b3f4b..358da5be 100644 --- a/src/unknown_003260.h +++ b/src/unknown_003260.h @@ -94,7 +94,7 @@ extern s32 D_800DC6A4; extern s32 D_800DC6A8; extern s32 D_800DC6AC; -extern s32 D_800DC6B0; +extern ALEventQueue *D_800DC6B0; extern s32 D_800DC6B4; extern unk800DC6BC_40* D_800DC6B8; extern unk800DC6BC* gAlSndPlayer; @@ -124,11 +124,11 @@ void func_800049D8(void); void func_800049F8(void * sndState,s16 type, u32 arg2); u16 func_80004A3C(u8 arg0); ALDMAproc __amDmaNew(AMDMAState **state); +void func_80004A60(u8 arg0, u16 arg1); // Non Matching ALMicroTime _sndpVoiceHandler(void *node); void func_80004668(ALBank *bnk, s16 sndIndx, u8, s32); void audioNewThread(ALSynConfig *c, OSPri p, OSSched *arg2); -void func_80004A60(u8, u16); //Could be s32, s32 #endif diff --git a/src/unknown_005740.c b/src/unknown_005740.c index 4364fbdf..907afbd2 100644 --- a/src/unknown_005740.c +++ b/src/unknown_005740.c @@ -8,7 +8,7 @@ /************ .data ************/ -s8 D_800DC6D0 = 1; // Currently unknown, might be a u8. +u8 D_800DC6D0 = 1; s32 D_800DC6D4 = 0; // Currently unknown, might be a different type. s32 D_800DC6D8 = 1; // Currently unknown, might be a different type. @@ -44,4 +44,17 @@ GLOBAL_ASM("asm/non_matchings/unknown_005740/func_800063EC.s") GLOBAL_ASM("asm/non_matchings/unknown_005740/func_80006AC8.s") GLOBAL_ASM("asm/non_matchings/unknown_005740/func_80006BFC.s") GLOBAL_ASM("asm/non_matchings/unknown_005740/func_80006FC8.s") + +UNUSED void func_80007F78(void) { + D_800DC6D0 = 1; +} + +UNUSED void func_80007F88(void) { + D_800DC6D0 = 0; +} + +UNUSED u8 func_80007F94(void) { + return D_800DC6D0; +} + GLOBAL_ASM("asm/non_matchings/unknown_005740/func_80007FA4.s") diff --git a/src/unknown_005740.h b/src/unknown_005740.h index e83ef0d1..eac2262d 100644 --- a/src/unknown_005740.h +++ b/src/unknown_005740.h @@ -4,7 +4,7 @@ #include "types.h" #include "structs.h" -extern s8 D_800DC6D0; +extern u8 D_800DC6D0; extern s32 D_800DC6D4; extern s32 D_800DC6D8; extern s32 D_800DC6DC; diff --git a/src/unknown_008C40.c b/src/unknown_008C40.c index c3d4e1b8..4201314b 100644 --- a/src/unknown_008C40.c +++ b/src/unknown_008C40.c @@ -137,8 +137,18 @@ s32 func_800092A8(f32 inX, f32 inY, f32 inZ, floatXYZVals *floatXYZ, f32 *outX, // Another function related to playing sound. GLOBAL_ASM("asm/non_matchings/unknown_005740/func_80009558.s") GLOBAL_ASM("asm/non_matchings/unknown_005740/func_800095E8.s") +#if 0 // I think this function is used to update the world position of any sound associated with the given soundmask. +//This matches, but it breaks update_player_racer +void update_spatial_audio_position(Vec3f *arg0, f32 arg1, f32 arg2, f32 arg3) { + arg0->x = arg1; + arg0->y = arg2; + arg0->z = arg3; +} +#else GLOBAL_ASM("asm/non_matchings/unknown_005740/update_spatial_audio_position.s") +#endif + void func_800096F8(s32 arg0) { s32 i; s32 *v0 = D_80119C44; @@ -157,5 +167,6 @@ GLOBAL_ASM("asm/non_matchings/unknown_005740/func_800099EC.s") GLOBAL_ASM("asm/non_matchings/unknown_005740/func_80009AB4.s") GLOBAL_ASM("asm/non_matchings/unknown_005740/func_80009B7C.s") GLOBAL_ASM("asm/non_matchings/unknown_005740/func_80009D6C.s") +GLOBAL_ASM("asm/non_matchings/unknown_005740/func_8000A184.s") GLOBAL_ASM("asm/non_matchings/unknown_005740/func_8000A2E8.s") GLOBAL_ASM("asm/non_matchings/unknown_005740/func_8000A414.s") diff --git a/src/unknown_008C40.h b/src/unknown_008C40.h index fa0b6269..36cf3ac1 100644 --- a/src/unknown_008C40.h +++ b/src/unknown_008C40.h @@ -3,6 +3,7 @@ #include "types.h" #include "libc/math.h" +#include "structs.h" typedef struct floatXYZVals { f32 x1; @@ -16,11 +17,12 @@ typedef struct floatXYZVals { extern s32 *D_80119C44; void func_80008168(void); void func_800096F8(s32); +//void update_spatial_audio_position(Vec3f *arg0, f32 arg1, f32 arg2, f32 arg3); s32 func_800092A8(f32 inX, f32 inY, f32 inZ, floatXYZVals *floatXYZ, f32 *outX, f32 *outY, f32 *outZ); void func_80009558(u16, f32 x, f32 y, f32 z, s32, s32 *); // Non Matching void func_80009968(f32, f32, f32, u8, u8, s32); // Non Matching -void update_spatial_audio_position(s32, f32, f32, f32); // Non Matching +void update_spatial_audio_position(s32, f32, f32, f32); //Not accurate, the real one is above but it breaks update_player_racer void func_8000A2E8(s32); // Non Matching // Yeah this one seems excessive, and it's Non Matching void func_800098A4(s32, s32, f32, f32, f32, s32, s32, s32, s32, s32, s32, s32, s32); diff --git a/src/unknown_0255E0.c b/src/unknown_0255E0.c index 332aeb1d..1fa20cfa 100644 --- a/src/unknown_0255E0.c +++ b/src/unknown_0255E0.c @@ -850,6 +850,14 @@ GLOBAL_ASM("asm/non_matchings/unknown_0255E0/func_8002A5F8.s") #endif GLOBAL_ASM("asm/non_matchings/unknown_0255E0/func_8002A900.s") +GLOBAL_ASM("asm/non_matchings/unknown_0255E0/func_8002AC00.s") + +// These types are probably wrong because the vars are likely still unidentified structs, but the code matches still. +UNUSED void func_8002ACA0(s32 *arg0, s32 *arg1, s32 *arg2) { + *arg0 = D_8011D378; + *arg1 = D_8011D370; + *arg2 = D_8011D374; +} void func_8002ACC8(s32 arg0) { D_8011B0F4 = arg0; diff --git a/src/unknown_0255E0.h b/src/unknown_0255E0.h index 0e7d939c..8e2d9403 100644 --- a/src/unknown_0255E0.h +++ b/src/unknown_0255E0.h @@ -117,7 +117,7 @@ void render_level_geometry_and_objects(void); void render_level_segment(s32 segmentId, s32 nonOpaque); s32 func_8002A5F8(LevelModelSegmentBoundingBox *bb); void func_80030664(s32 arg0, s16 arg1, s16 arg2, u8 arg3, u8 arg4, u8 arg5); -void func_80024D54(Gfx *, Mtx *, VertexList *, TriangleList *, s32); +void func_80024D54(Gfx **, Mtx **, VertexList **, TriangleList **, s32); void func_8002C7D4(void); void render_floor_decal(Object *, Object_50 *); void func_8002D670(Object *, Object *); diff --git a/src/unknown_078050.c b/src/unknown_078050.c index 623d7b4e..e1123031 100644 --- a/src/unknown_078050.c +++ b/src/unknown_078050.c @@ -172,6 +172,10 @@ OSMesgQueue *osScInterruptQ; /*******************************/ GLOBAL_ASM("asm/non_matchings/unknown_078050/setupOSTasks.s") +GLOBAL_ASM("asm/non_matchings/unknown_078050/func_800775B0.s") +GLOBAL_ASM("asm/non_matchings/unknown_078050/func_80077734.s") +GLOBAL_ASM("asm/non_matchings/unknown_078050/func_800778C8.s") + s32 func_80077A54(void) { s32 *sp1C = NULL; @@ -362,7 +366,7 @@ void render_textured_rectangle(Gfx **dlist, DrawTexture *arg1, s32 xPos, s32 yPo uly = 0; } gDkrDmaDisplayList((*dlist)++, OS_PHYSICAL_TO_K0(tex->cmd), tex->numberOfCommands); - gSPTextureRectangle((*dlist)++, ulx, uly, lrx, lry, 0, s, t, 1024, 1024); + gSPTextureRectangle((*dlist)++, ulx, uly, lrx, lry, G_TX_RENDERTILE, s, t, 1024, 1024); } } } diff --git a/src/waves.c b/src/waves.c index 577fd77c..b0187bff 100644 --- a/src/waves.c +++ b/src/waves.c @@ -247,5 +247,7 @@ GLOBAL_ASM("asm/non_matchings/waves/func_800BEFC4.s") GLOBAL_ASM("asm/non_matchings/waves/func_800BF3E4.s") GLOBAL_ASM("asm/non_matchings/waves/func_800BF524.s") GLOBAL_ASM("asm/non_matchings/waves/func_800BF634.s") +GLOBAL_ASM("asm/non_matchings/waves/func_800BF9F8.s") +GLOBAL_ASM("asm/non_matchings/waves/func_800BFC54.s") GLOBAL_ASM("asm/non_matchings/waves/func_800BFE98.s") GLOBAL_ASM("asm/non_matchings/waves/obj_loop_wavepower.s") diff --git a/tools/permuter_settings.toml b/tools/permuter_settings.toml index 68aadec1..43df063a 100644 --- a/tools/permuter_settings.toml +++ b/tools/permuter_settings.toml @@ -4,6 +4,8 @@ compiler_type = "ido" "g[DS]P.*" = "void" "gDma.*" = "void" "gDkr.*" = "void" +"fast3d_cmd" = "void" +"OS_PHYSICAL_TO_K0" = "void *" "_SHIFTL" = "unsigned int" [decompme.compilers] diff --git a/tools/python/progress.py b/tools/python/progress.py new file mode 100644 index 00000000..a8ed3938 --- /dev/null +++ b/tools/python/progress.py @@ -0,0 +1,123 @@ +#!/usr/bin/env python3 + +import argparse +import git +import os +import subprocess +import sys +from colour import Color + +script_dir = os.path.dirname(os.path.realpath(__file__)) +root_dir = os.path.join(script_dir, "..", "..") +asm_dir = os.path.join(root_dir, "asm", "non_matchings") +asm_lib_dir = os.path.join(root_dir, "lib", "asm", "non_matchings") +build_dir = os.path.join(root_dir, "build", "us_1.0") +elf_path = os.path.join(build_dir, "dkr.elf") + +def get_func_sizes(): + try: + result = subprocess.run(['objdump', '-x', elf_path], stdout=subprocess.PIPE) + nm_lines = result.stdout.decode().split("\n") + except: + print(f"Error: Could not run objdump on {elf_path} - make sure that the project is built") + sys.exit(1) + + sizes = {} + total = 0 + + for line in nm_lines: + if " F " in line: + components = line.split() + size = int(components[4], 16) + name = components[5] + #Labels are coming through here as functions, and this finds and ignores them + if name[0:4] != "L800": + total += size + sizes[name] = size + + return sizes, total + +def get_nonmatching_funcs(): + funcs = set() + + for root, dirs, files in os.walk(asm_dir): + for f in files: + if f.endswith(".s"): + funcs.add(f[:-2]) + + for root, dirs, files in os.walk(asm_lib_dir): + for f in files: + if f.endswith(".s"): + funcs.add(f[:-2]) + + return funcs + +def get_funcs_sizes(sizes, matchings, nonmatchings): + msize = 0 + nmsize = 0 + + for func in matchings: + msize += sizes[func] + + for func in nonmatchings: + if func not in sizes: + pass + # print(func) + else: + nmsize += sizes[func] + #print("% s,%i" % (func, sizes[func])) + + return msize, nmsize + +def lerp(a, b, alpha): + return a + (b - a) * alpha + +def main(args): + func_sizes, total_size = get_func_sizes() + all_funcs = set(func_sizes.keys()) + + nonmatching_funcs = get_nonmatching_funcs() + matching_funcs = all_funcs - nonmatching_funcs + + matching_size, nonmatching_size = get_funcs_sizes(func_sizes, matching_funcs, nonmatching_funcs) + + if len(all_funcs) == 0: + funcs_matching_ratio = 0.0 + matching_ratio = 0.0 + else: + funcs_matching_ratio = (len(matching_funcs) / len(all_funcs)) * 100 + matching_ratio = (matching_size / total_size) * 100 + + if args.csv: + version = 1 + git_object = git.Repo().head.object + timestamp = str(git_object.committed_date) + git_hash = git_object.hexsha + csv_list = [str(version), timestamp, git_hash, str(len(all_funcs)), str(len(nonmatching_funcs)), + str(len(matching_funcs)), str(total_size), str(nonmatching_size), str(matching_size)] + print(",".join(csv_list)) + elif args.shield_json: + import json + + # https://shields.io/endpoint + color = Color("#50ca22", hue=lerp(0, 105/255, matching_ratio / 100)) + print(json.dumps({ + "schemaVersion": 1, + "label": f"progress", + "message": f"{matching_ratio:.2f}%", + "color": color.hex, + })) + else: + if matching_size + nonmatching_size != total_size: + print("Warning: category/total size mismatch!\n") + print(f"{len(matching_funcs)} matched functions / {len(all_funcs)} total ({funcs_matching_ratio:.2f}%)") + print(f"{matching_size} matching bytes / {total_size} total ({matching_ratio:.2f}%)") + + +if __name__ == "__main__": + parser = argparse.ArgumentParser(description="Reports progress for the project") + parser.add_argument("--csv", action="store_true") + parser.add_argument("--shield-json", action="store_true") + args = parser.parse_args() + + main(args)