diff --git a/asm/non_matchings/audio/external/func_800C16E8.s b/asm/non_matchings/audio/external/func_800C16E8.s deleted file mode 100644 index 08f7c7912..000000000 --- a/asm/non_matchings/audio/external/func_800C16E8.s +++ /dev/null @@ -1,170 +0,0 @@ -.section .late_rodata - -glabel D_800F35C0 -.float 3.333333333 - -.section .text - -glabel func_800C16E8 -/* 0C22E8 800C16E8 27ADFFE8 */ addiu $t5, $sp, -0x18 -/* 0C22EC 800C16EC F5B40010 */ sdc1 $f20, 0x10($t5) -/* 0C22F0 800C16F0 E5AE001C */ swc1 $f14, 0x1c($t5) -/* 0C22F4 800C16F4 ADA60020 */ sw $a2, 0x20($t5) -/* 0C22F8 800C16F8 3C0F800F */ lui $t7, %hi(D_800EA1C0) # $t7, 0x800f -/* 0C22FC 800C16FC 91EFA1C0 */ lbu $t7, %lo(D_800EA1C0)($t7) -/* 0C2300 800C1700 30CE00FF */ andi $t6, $a2, 0xff -/* 0C2304 800C1704 01C03025 */ move $a2, $t6 -/* 0C2308 800C1708 15E00082 */ bnez $t7, .L800C1914 -/* 0C230C 800C170C 01A0E825 */ move $sp, $t5 -/* 0C2310 800C1710 3C18800F */ lui $t8, %hi(D_800EA0F4) # $t8, 0x800f -/* 0C2314 800C1714 9318A0F4 */ lbu $t8, %lo(D_800EA0F4)($t8) -/* 0C2318 800C1718 44802000 */ mtc1 $zero, $f4 -/* 0C231C 800C171C 44804000 */ mtc1 $zero, $f8 -/* 0C2320 800C1720 44805000 */ mtc1 $zero, $f10 -/* 0C2324 800C1724 13000009 */ beqz $t8, .L800C174C -/* 0C2328 800C1728 3C0142C8 */ li $at, 0x42C80000 # 100.000000 -/* 0C232C 800C172C 3C014120 */ li $at, 0x41200000 # 10.000000 -/* 0C2330 800C1730 44818000 */ mtc1 $at, $f16 -/* 0C2334 800C1734 3C0141A0 */ li $at, 0x41A00000 # 20.000000 -/* 0C2338 800C1738 44817000 */ mtc1 $at, $f14 -/* 0C233C 800C173C 3C014020 */ li $at, 0x40200000 # 2.500000 -/* 0C2340 800C1740 44819000 */ mtc1 $at, $f18 -/* 0C2344 800C1744 10000008 */ b .L800C1768 -/* 0C2348 800C1748 46008086 */ mov.s $f2, $f16 -.L800C174C: -/* 0C234C 800C174C 44811000 */ mtc1 $at, $f2 -/* 0C2350 800C1750 3C014348 */ li $at, 0x43480000 # 200.000000 -/* 0C2354 800C1754 44817000 */ mtc1 $at, $f14 -/* 0C2358 800C1758 3C0140A0 */ li $at, 0x40A00000 # 5.000000 -/* 0C235C 800C175C 44818000 */ mtc1 $at, $f16 -/* 0C2360 800C1760 3C01800F */ lui $at, %hi(D_800F35C0) # $at, 0x800f -/* 0C2364 800C1764 C43235C0 */ lwc1 $f18, %lo(D_800F35C0)($at) -.L800C1768: -/* 0C2368 800C1768 4604603C */ c.lt.s $f12, $f4 -/* 0C236C 800C176C 00000000 */ nop -/* 0C2370 800C1770 45020004 */ bc1fl .L800C1784 -/* 0C2374 800C1774 46006506 */ mov.s $f20, $f12 -/* 0C2378 800C1778 10000002 */ b .L800C1784 -/* 0C237C 800C177C 46006507 */ neg.s $f20, $f12 -/* 0C2380 800C1780 46006506 */ mov.s $f20, $f12 -.L800C1784: -/* 0C2384 800C1784 4614103C */ c.lt.s $f2, $f20 -/* 0C2388 800C1788 00000000 */ nop -/* 0C238C 800C178C 45020003 */ bc1fl .L800C179C -/* 0C2390 800C1790 C5A6001C */ lwc1 $f6, 0x1c($t5) -/* 0C2394 800C1794 46001506 */ mov.s $f20, $f2 -/* 0C2398 800C1798 C5A6001C */ lwc1 $f6, 0x1c($t5) -.L800C179C: -/* 0C239C 800C179C 4608303C */ c.lt.s $f6, $f8 -/* 0C23A0 800C17A0 00000000 */ nop -/* 0C23A4 800C17A4 45020004 */ bc1fl .L800C17B8 -/* 0C23A8 800C17A8 C5A0001C */ lwc1 $f0, 0x1c($t5) -/* 0C23AC 800C17AC 10000002 */ b .L800C17B8 -/* 0C23B0 800C17B0 46003007 */ neg.s $f0, $f6 -/* 0C23B4 800C17B4 C5A0001C */ lwc1 $f0, 0x1c($t5) -.L800C17B8: -/* 0C23B8 800C17B8 4600103C */ c.lt.s $f2, $f0 -/* 0C23BC 800C17BC 00000000 */ nop -/* 0C23C0 800C17C0 45020003 */ bc1fl .L800C17D0 -/* 0C23C4 800C17C4 460A6032 */ c.eq.s $f12, $f10 -/* 0C23C8 800C17C8 46001006 */ mov.s $f0, $f2 -/* 0C23CC 800C17CC 460A6032 */ c.eq.s $f12, $f10 -.L800C17D0: -/* 0C23D0 800C17D0 00000000 */ nop -/* 0C23D4 800C17D4 4502000E */ bc1fl .L800C1810 -/* 0C23D8 800C17D8 44803000 */ mtc1 $zero, $f6 -/* 0C23DC 800C17DC C5A4001C */ lwc1 $f4, 0x1c($t5) -/* 0C23E0 800C17E0 44804000 */ mtc1 $zero, $f8 -/* 0C23E4 800C17E4 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0C23E8 800C17E8 46082032 */ c.eq.s $f4, $f8 -/* 0C23EC 800C17EC 00000000 */ nop -/* 0C23F0 800C17F0 45020007 */ bc1fl .L800C1810 -/* 0C23F4 800C17F4 44803000 */ mtc1 $zero, $f6 -/* 0C23F8 800C17F8 44811000 */ mtc1 $at, $f2 -/* 0C23FC 800C17FC 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0C2400 800C1800 44816000 */ mtc1 $at, $f12 -/* 0C2404 800C1804 1000002C */ b .L800C18B8 -/* 0C2408 800C1808 4602603C */ c.lt.s $f12, $f2 -/* 0C240C 800C180C 44803000 */ mtc1 $zero, $f6 -.L800C1810: -/* 0C2410 800C1810 00000000 */ nop -/* 0C2414 800C1814 460C303E */ c.le.s $f6, $f12 -/* 0C2418 800C1818 00000000 */ nop -/* 0C241C 800C181C 4502000E */ bc1fl .L800C1858 -/* 0C2420 800C1820 44802000 */ mtc1 $zero, $f4 -/* 0C2424 800C1824 4614003E */ c.le.s $f0, $f20 -/* 0C2428 800C1828 00000000 */ nop -/* 0C242C 800C182C 4502000A */ bc1fl .L800C1858 -/* 0C2430 800C1830 44802000 */ mtc1 $zero, $f4 -/* 0C2434 800C1834 46007101 */ sub.s $f4, $f14, $f0 -/* 0C2438 800C1838 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0C243C 800C183C 44816000 */ mtc1 $at, $f12 -/* 0C2440 800C1840 46147281 */ sub.s $f10, $f14, $f20 -/* 0C2444 800C1844 46048202 */ mul.s $f8, $f16, $f4 -/* 0C2448 800C1848 46085183 */ div.s $f6, $f10, $f8 -/* 0C244C 800C184C 10000019 */ b .L800C18B4 -/* 0C2450 800C1850 46066081 */ sub.s $f2, $f12, $f6 -/* 0C2454 800C1854 44802000 */ mtc1 $zero, $f4 -.L800C1858: -/* 0C2458 800C1858 00000000 */ nop -/* 0C245C 800C185C 4604603C */ c.lt.s $f12, $f4 -/* 0C2460 800C1860 00000000 */ nop -/* 0C2464 800C1864 4500000C */ bc1f .L800C1898 -/* 0C2468 800C1868 00000000 */ nop -/* 0C246C 800C186C 4614003E */ c.le.s $f0, $f20 -/* 0C2470 800C1870 00000000 */ nop -/* 0C2474 800C1874 45000008 */ bc1f .L800C1898 -/* 0C2478 800C1878 00000000 */ nop -/* 0C247C 800C187C 46007201 */ sub.s $f8, $f14, $f0 -/* 0C2480 800C1880 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0C2484 800C1884 44816000 */ mtc1 $at, $f12 -/* 0C2488 800C1888 46147281 */ sub.s $f10, $f14, $f20 -/* 0C248C 800C188C 46088182 */ mul.s $f6, $f16, $f8 -/* 0C2490 800C1890 10000008 */ b .L800C18B4 -/* 0C2494 800C1894 46065083 */ div.s $f2, $f10, $f6 -.L800C1898: -/* 0C2498 800C1898 46009102 */ mul.s $f4, $f18, $f0 -/* 0C249C 800C189C 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0C24A0 800C18A0 44815000 */ mtc1 $at, $f10 -/* 0C24A4 800C18A4 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0C24A8 800C18A8 46046203 */ div.s $f8, $f12, $f4 -/* 0C24AC 800C18AC 44816000 */ mtc1 $at, $f12 -/* 0C24B0 800C18B0 460A4080 */ add.s $f2, $f8, $f10 -.L800C18B4: -/* 0C24B4 800C18B4 4602603C */ c.lt.s $f12, $f2 -.L800C18B8: -/* 0C24B8 800C18B8 3C0142FE */ li $at, 0x42FE0000 # 127.000000 -/* 0C24BC 800C18BC 44803000 */ mtc1 $zero, $f6 -/* 0C24C0 800C18C0 44812000 */ mtc1 $at, $f4 -/* 0C24C4 800C18C4 45020003 */ bc1fl .L800C18D4 -/* 0C24C8 800C18C8 4606103C */ c.lt.s $f2, $f6 -/* 0C24CC 800C18CC 46006086 */ mov.s $f2, $f12 -/* 0C24D0 800C18D0 4606103C */ c.lt.s $f2, $f6 -.L800C18D4: -/* 0C24D4 800C18D4 00000000 */ nop -/* 0C24D8 800C18D8 45000003 */ bc1f .L800C18E8 -/* 0C24DC 800C18DC 00000000 */ nop -/* 0C24E0 800C18E0 44801000 */ mtc1 $zero, $f2 -/* 0C24E4 800C18E4 00000000 */ nop -.L800C18E8: -/* 0C24E8 800C18E8 46041202 */ mul.s $f8, $f2, $f4 -/* 0C24EC 800C18EC 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0C24F0 800C18F0 44815000 */ mtc1 $at, $f10 -/* 0C24F4 800C18F4 00000000 */ nop -/* 0C24F8 800C18F8 460A4180 */ add.s $f6, $f8, $f10 -/* 0C24FC 800C18FC 4600310D */ trunc.w.s $f4, $f6 -/* 0C2500 800C1900 44022000 */ mfc1 $v0, $f4 -/* 0C2504 800C1904 00000000 */ nop -/* 0C2508 800C1908 00024600 */ sll $t0, $v0, 0x18 -/* 0C250C 800C190C 10000006 */ b .L800C1928 -/* 0C2510 800C1910 00081603 */ sra $v0, $t0, 0x18 -.L800C1914: -/* 0C2514 800C1914 30C20001 */ andi $v0, $a2, 1 -/* 0C2518 800C1918 000251C0 */ sll $t2, $v0, 7 -/* 0C251C 800C191C 01425023 */ subu $t2, $t2, $v0 -/* 0C2520 800C1920 000A5E00 */ sll $t3, $t2, 0x18 -/* 0C2524 800C1924 000B1603 */ sra $v0, $t3, 0x18 -.L800C1928: -/* 0C2528 800C1928 D5B40010 */ ldc1 $f20, 0x10($t5) -/* 0C252C 800C192C 03E00008 */ jr $ra -/* 0C2530 800C1930 25BD0018 */ addiu $sp, $t5, 0x18 diff --git a/asm/non_matchings/audio/external/func_800C4888.s b/asm/non_matchings/audio/external/func_800C4888.s deleted file mode 100644 index fe9b9b53b..000000000 --- a/asm/non_matchings/audio/external/func_800C4888.s +++ /dev/null @@ -1,530 +0,0 @@ -.section .late_rodata - -glabel D_800F366C -.float 4000000.0 - -glabel D_800F3670 -.float 10000000000.0 - -.section .text - -glabel func_800C4888 -/* 0C5488 800C4888 27BDFF30 */ addiu $sp, $sp, -0xd0 -/* 0C548C 800C488C AFBE0048 */ sw $fp, 0x48($sp) -/* 0C5490 800C4890 AFB5003C */ sw $s5, 0x3c($sp) -/* 0C5494 800C4894 AFB40038 */ sw $s4, 0x38($sp) -/* 0C5498 800C4898 AFB20030 */ sw $s2, 0x30($sp) -/* 0C549C 800C489C AFB1002C */ sw $s1, 0x2c($sp) -/* 0C54A0 800C48A0 3C027FFF */ lui $v0, (0x7FFFFFFF >> 16) # lui $v0, 0x7fff -/* 0C54A4 800C48A4 309500FF */ andi $s5, $a0, 0xff -/* 0C54A8 800C48A8 03A0F025 */ move $fp, $sp -/* 0C54AC 800C48AC AFBF004C */ sw $ra, 0x4c($sp) -/* 0C54B0 800C48B0 AFB70044 */ sw $s7, 0x44($sp) -/* 0C54B4 800C48B4 AFB60040 */ sw $s6, 0x40($sp) -/* 0C54B8 800C48B8 AFB30034 */ sw $s3, 0x34($sp) -/* 0C54BC 800C48BC AFB00028 */ sw $s0, 0x28($sp) -/* 0C54C0 800C48C0 AFA400D0 */ sw $a0, 0xd0($sp) -/* 0C54C4 800C48C4 00009025 */ move $s2, $zero -/* 0C54C8 800C48C8 3442FFFF */ ori $v0, (0x7FFFFFFF & 0xFFFF) # ori $v0, $v0, 0xffff -/* 0C54CC 800C48CC 27B1007C */ addiu $s1, $sp, 0x7c -/* 0C54D0 800C48D0 241400FF */ li $s4, 255 -/* 0C54D4 800C48D4 00005825 */ move $t3, $zero -.L800C48D8: -/* 0C54D8 800C48D8 000B70C0 */ sll $t6, $t3, 3 -/* 0C54DC 800C48DC 256B0001 */ addiu $t3, $t3, 1 -/* 0C54E0 800C48E0 316F00FF */ andi $t7, $t3, 0xff -/* 0C54E4 800C48E4 29E10008 */ slti $at, $t7, 8 -/* 0C54E8 800C48E8 022E3821 */ addu $a3, $s1, $t6 -/* 0C54EC 800C48EC 01E05825 */ move $t3, $t7 -/* 0C54F0 800C48F0 ACE20000 */ sw $v0, ($a3) -/* 0C54F4 800C48F4 1420FFF8 */ bnez $at, .L800C48D8 -/* 0C54F8 800C48F8 A0F40004 */ sb $s4, 4($a3) -/* 0C54FC 800C48FC 0015C100 */ sll $t8, $s5, 4 -/* 0C5500 800C4900 3C1F8019 */ lui $ra, %hi(sSoundBanks) # $ra, 0x8019 -/* 0C5504 800C4904 0315C023 */ subu $t8, $t8, $s5 -/* 0C5508 800C4908 27FF1420 */ addiu $ra, %lo(sSoundBanks) # addiu $ra, $ra, 0x1420 -/* 0C550C 800C490C 0018C180 */ sll $t8, $t8, 6 -/* 0C5510 800C4910 03F8C821 */ addu $t9, $ra, $t8 -/* 0C5514 800C4914 9333002B */ lbu $s3, 0x2b($t9) -/* 0C5518 800C4918 241700FF */ li $s7, 255 -/* 0C551C 800C491C 00008025 */ move $s0, $zero -/* 0C5520 800C4920 12F300F7 */ beq $s7, $s3, .L800C4D00 -/* 0C5524 800C4924 00157100 */ sll $t6, $s5, 4 -/* 0C5528 800C4928 01D57023 */ subu $t6, $t6, $s5 -/* 0C552C 800C492C 000E7180 */ sll $t6, $t6, 6 -/* 0C5530 800C4930 03EE7821 */ addu $t7, $ra, $t6 -/* 0C5534 800C4934 AFCF006C */ sw $t7, 0x6c($fp) -/* 0C5538 800C4938 24160030 */ li $s6, 48 -/* 0C553C 800C493C 240D0001 */ li $t5, 1 -/* 0C5540 800C4940 3C020800 */ lui $v0, 0x800 -.L800C4944: -/* 0C5544 800C4944 02760019 */ multu $s3, $s6 -/* 0C5548 800C4948 8FD8006C */ lw $t8, 0x6c($fp) -/* 0C554C 800C494C 32A400FF */ andi $a0, $s5, 0xff -/* 0C5550 800C4950 0000C812 */ mflo $t9 -/* 0C5554 800C4954 03195021 */ addu $t2, $t8, $t9 -/* 0C5558 800C4958 914E0028 */ lbu $t6, 0x28($t2) -/* 0C555C 800C495C 55AE0009 */ bnel $t5, $t6, .L800C4984 -/* 0C5560 800C4960 914F0029 */ lbu $t7, 0x29($t2) -/* 0C5564 800C4964 8D4F0024 */ lw $t7, 0x24($t2) -/* 0C5568 800C4968 01E2C024 */ and $t8, $t7, $v0 -/* 0C556C 800C496C 54580005 */ bnel $v0, $t8, .L800C4984 -/* 0C5570 800C4970 914F0029 */ lbu $t7, 0x29($t2) -/* 0C5574 800C4974 91590029 */ lbu $t9, 0x29($t2) -/* 0C5578 800C4978 272EFFFF */ addiu $t6, $t9, -1 -/* 0C557C 800C497C A14E0029 */ sb $t6, 0x29($t2) -/* 0C5580 800C4980 914F0029 */ lbu $t7, 0x29($t2) -.L800C4984: -/* 0C5584 800C4984 55E00009 */ bnel $t7, $zero, .L800C49AC -/* 0C5588 800C4988 91580028 */ lbu $t8, 0x28($t2) -/* 0C558C 800C498C 0C0311CF */ jal delete_sound_from_bank -/* 0C5590 800C4990 326500FF */ andi $a1, $s3, 0xff -/* 0C5594 800C4994 3C1F8019 */ lui $ra, %hi(sSoundBanks) # $ra, 0x8019 -/* 0C5598 800C4998 27FF1420 */ addiu $ra, %lo(sSoundBanks) # addiu $ra, $ra, 0x1420 -/* 0C559C 800C499C 240D0001 */ li $t5, 1 -/* 0C55A0 800C49A0 100000D0 */ b .L800C4CE4 -/* 0C55A4 800C49A4 3C020800 */ lui $v0, 0x800 -/* 0C55A8 800C49A8 91580028 */ lbu $t8, 0x28($t2) -.L800C49AC: -/* 0C55AC 800C49AC 130000CD */ beqz $t8, .L800C4CE4 -/* 0C55B0 800C49B0 00000000 */ nop -/* 0C55B4 800C49B4 8D420000 */ lw $v0, ($t2) -/* 0C55B8 800C49B8 3C19800F */ lui $t9, %hi(D_800EA1C8) # $t9, 0x800f -/* 0C55BC 800C49BC 2739A1C8 */ addiu $t9, %lo(D_800EA1C8) # addiu $t9, $t9, -0x5e38 -/* 0C55C0 800C49C0 57220005 */ bnel $t9, $v0, .L800C49D8 -/* 0C55C4 800C49C4 8D4E0008 */ lw $t6, 8($t2) -/* 0C55C8 800C49C8 44802000 */ mtc1 $zero, $f4 -/* 0C55CC 800C49CC 10000009 */ b .L800C49F4 -/* 0C55D0 800C49D0 E544001C */ swc1 $f4, 0x1c($t2) -/* 0C55D4 800C49D4 8D4E0008 */ lw $t6, 8($t2) -.L800C49D8: -/* 0C55D8 800C49D8 C4420000 */ lwc1 $f2, ($v0) -/* 0C55DC 800C49DC C5C00000 */ lwc1 $f0, ($t6) -/* 0C55E0 800C49E0 46000182 */ mul.s $f6, $f0, $f0 -/* 0C55E4 800C49E4 00000000 */ nop -/* 0C55E8 800C49E8 46021202 */ mul.s $f8, $f2, $f2 -/* 0C55EC 800C49EC 46083280 */ add.s $f10, $f6, $f8 -/* 0C55F0 800C49F0 E54A001C */ swc1 $f10, 0x1c($t2) -.L800C49F4: -/* 0C55F4 800C49F4 8D420024 */ lw $v0, 0x24($t2) -/* 0C55F8 800C49F8 3043FF00 */ andi $v1, $v0, 0xff00 -/* 0C55FC 800C49FC 00037A02 */ srl $t7, $v1, 8 -/* 0C5600 800C4A00 31F800FF */ andi $t8, $t7, 0xff -/* 0C5604 800C4A04 0002CAC0 */ sll $t9, $v0, 0xb -/* 0C5608 800C4A08 07210010 */ bgez $t9, .L800C4A4C -/* 0C560C 800C4A0C 03001825 */ move $v1, $t8 -/* 0C5610 800C4A10 02F81023 */ subu $v0, $s7, $t8 -/* 0C5614 800C4A14 00420019 */ multu $v0, $v0 -/* 0C5618 800C4A18 C542001C */ lwc1 $f2, 0x1c($t2) -/* 0C561C 800C4A1C 00007012 */ mflo $t6 -/* 0C5620 800C4A20 000E7880 */ sll $t7, $t6, 2 -/* 0C5624 800C4A24 01EE7823 */ subu $t7, $t7, $t6 -/* 0C5628 800C4A28 000F7880 */ sll $t7, $t7, 2 -/* 0C562C 800C4A2C 01EE7823 */ subu $t7, $t7, $t6 -/* 0C5630 800C4A30 000F7880 */ sll $t7, $t7, 2 -/* 0C5634 800C4A34 01EE7821 */ addu $t7, $t7, $t6 -/* 0C5638 800C4A38 000F78C0 */ sll $t7, $t7, 3 -/* 0C563C 800C4A3C 01EE7821 */ addu $t7, $t7, $t6 -/* 0C5640 800C4A40 000F7880 */ sll $t7, $t7, 2 -/* 0C5644 800C4A44 10000041 */ b .L800C4B4C -/* 0C5648 800C4A48 AD4F0020 */ sw $t7, 0x20($t2) -.L800C4A4C: -/* 0C564C 800C4A4C 4458F800 */ cfc1 $t8, $31 -/* 0C5650 800C4A50 24190001 */ li $t9, 1 -/* 0C5654 800C4A54 44D9F800 */ ctc1 $t9, $31 -/* 0C5658 800C4A58 C542001C */ lwc1 $f2, 0x1c($t2) -/* 0C565C 800C4A5C 02E31023 */ subu $v0, $s7, $v1 -/* 0C5660 800C4A60 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 -/* 0C5664 800C4A64 46001424 */ cvt.w.s $f16, $f2 -/* 0C5668 800C4A68 4459F800 */ cfc1 $t9, $31 -/* 0C566C 800C4A6C 00000000 */ nop -/* 0C5670 800C4A70 33390078 */ andi $t9, $t9, 0x78 -/* 0C5674 800C4A74 53200013 */ beql $t9, $zero, .L800C4AC4 -/* 0C5678 800C4A78 44198000 */ mfc1 $t9, $f16 -/* 0C567C 800C4A7C 44818000 */ mtc1 $at, $f16 -/* 0C5680 800C4A80 24190001 */ li $t9, 1 -/* 0C5684 800C4A84 46101401 */ sub.s $f16, $f2, $f16 -/* 0C5688 800C4A88 44D9F800 */ ctc1 $t9, $31 -/* 0C568C 800C4A8C 00000000 */ nop -/* 0C5690 800C4A90 46008424 */ cvt.w.s $f16, $f16 -/* 0C5694 800C4A94 4459F800 */ cfc1 $t9, $31 -/* 0C5698 800C4A98 00000000 */ nop -/* 0C569C 800C4A9C 33390078 */ andi $t9, $t9, 0x78 -/* 0C56A0 800C4AA0 17200005 */ bnez $t9, .L800C4AB8 -/* 0C56A4 800C4AA4 00000000 */ nop -/* 0C56A8 800C4AA8 44198000 */ mfc1 $t9, $f16 -/* 0C56AC 800C4AAC 3C018000 */ lui $at, 0x8000 -/* 0C56B0 800C4AB0 10000007 */ b .L800C4AD0 -/* 0C56B4 800C4AB4 0321C825 */ or $t9, $t9, $at -.L800C4AB8: -/* 0C56B8 800C4AB8 10000005 */ b .L800C4AD0 -/* 0C56BC 800C4ABC 2419FFFF */ li $t9, -1 -/* 0C56C0 800C4AC0 44198000 */ mfc1 $t9, $f16 -.L800C4AC4: -/* 0C56C4 800C4AC4 00000000 */ nop -/* 0C56C8 800C4AC8 0720FFFB */ bltz $t9, .L800C4AB8 -/* 0C56CC 800C4ACC 00000000 */ nop -.L800C4AD0: -/* 0C56D0 800C4AD0 00420019 */ multu $v0, $v0 -/* 0C56D4 800C4AD4 44D8F800 */ ctc1 $t8, $31 -/* 0C56D8 800C4AD8 44809000 */ mtc1 $zero, $f18 -/* 0C56DC 800C4ADC 3C0140C0 */ li $at, 0x40C00000 # 6.000000 -/* 0C56E0 800C4AE0 00007012 */ mflo $t6 -/* 0C56E4 800C4AE4 000E7880 */ sll $t7, $t6, 2 -/* 0C56E8 800C4AE8 01EE7823 */ subu $t7, $t7, $t6 -/* 0C56EC 800C4AEC 000F7880 */ sll $t7, $t7, 2 -/* 0C56F0 800C4AF0 01EE7823 */ subu $t7, $t7, $t6 -/* 0C56F4 800C4AF4 000F7880 */ sll $t7, $t7, 2 -/* 0C56F8 800C4AF8 01EE7821 */ addu $t7, $t7, $t6 -/* 0C56FC 800C4AFC 000F78C0 */ sll $t7, $t7, 3 -/* 0C5700 800C4B00 01EE7821 */ addu $t7, $t7, $t6 -/* 0C5704 800C4B04 8D4E0008 */ lw $t6, 8($t2) -/* 0C5708 800C4B08 000F7880 */ sll $t7, $t7, 2 -/* 0C570C 800C4B0C 032FC021 */ addu $t8, $t9, $t7 -/* 0C5710 800C4B10 AD580020 */ sw $t8, 0x20($t2) -/* 0C5714 800C4B14 C5C00000 */ lwc1 $f0, ($t6) -/* 0C5718 800C4B18 4600903C */ c.lt.s $f18, $f0 -/* 0C571C 800C4B1C 00000000 */ nop -/* 0C5720 800C4B20 4502000B */ bc1fl .L800C4B50 -/* 0C5724 800C4B24 8D430024 */ lw $v1, 0x24($t2) -/* 0C5728 800C4B28 44812000 */ mtc1 $at, $f4 -/* 0C572C 800C4B2C 0300C825 */ move $t9, $t8 -/* 0C5730 800C4B30 C542001C */ lwc1 $f2, 0x1c($t2) -/* 0C5734 800C4B34 46040182 */ mul.s $f6, $f0, $f4 -/* 0C5738 800C4B38 4600320D */ trunc.w.s $f8, $f6 -/* 0C573C 800C4B3C 44184000 */ mfc1 $t8, $f8 -/* 0C5740 800C4B40 00000000 */ nop -/* 0C5744 800C4B44 03387021 */ addu $t6, $t9, $t8 -/* 0C5748 800C4B48 AD4E0020 */ sw $t6, 0x20($t2) -.L800C4B4C: -/* 0C574C 800C4B4C 8D430024 */ lw $v1, 0x24($t2) -.L800C4B50: -/* 0C5750 800C4B50 3C010003 */ lui $at, 3 -/* 0C5754 800C4B54 00617824 */ and $t7, $v1, $at -/* 0C5758 800C4B58 000FCC02 */ srl $t9, $t7, 0x10 -/* 0C575C 800C4B5C 333800FF */ andi $t8, $t9, 0xff -/* 0C5760 800C4B60 1300000A */ beqz $t8, .L800C4B8C -/* 0C5764 800C4B64 3C01800F */ lui $at, %hi(D_800F3670) -/* 0C5768 800C4B68 03180019 */ multu $t8, $t8 -/* 0C576C 800C4B6C 3C01800F */ lui $at, %hi(D_800F366C) # $at, 0x800f -/* 0C5770 800C4B70 C42A366C */ lwc1 $f10, %lo(D_800F366C)($at) -/* 0C5774 800C4B74 00007012 */ mflo $t6 -/* 0C5778 800C4B78 448E8000 */ mtc1 $t6, $f16 -/* 0C577C 800C4B7C 00000000 */ nop -/* 0C5780 800C4B80 468084A0 */ cvt.s.w $f18, $f16 -/* 0C5784 800C4B84 10000002 */ b .L800C4B90 -/* 0C5788 800C4B88 46125003 */ div.s $f0, $f10, $f18 -.L800C4B8C: -/* 0C578C 800C4B8C C4203670 */ lwc1 $f0, %lo(D_800F3670)($at) -.L800C4B90: -/* 0C5790 800C4B90 4602003C */ c.lt.s $f0, $f2 -/* 0C5794 800C4B94 3C18800F */ lui $t8, %hi(D_800EA1C0) # $t8, 0x800f -/* 0C5798 800C4B98 4500001C */ bc1f .L800C4C0C -/* 0C579C 800C4B9C 00000000 */ nop -/* 0C57A0 800C4BA0 914F0028 */ lbu $t7, 0x28($t2) -/* 0C57A4 800C4BA4 24010004 */ li $at, 4 -/* 0C57A8 800C4BA8 00002825 */ move $a1, $zero -/* 0C57AC 800C4BAC 55E1004C */ bnel $t7, $at, .L800C4CE0 -/* 0C57B0 800C4BB0 327000FF */ andi $s0, $s3, 0xff -/* 0C57B4 800C4BB4 9159002C */ lbu $t9, 0x2c($t2) -/* 0C57B8 800C4BB8 3C010602 */ lui $at, 0x602 -/* 0C57BC 800C4BBC AFCA0068 */ sw $t2, 0x68($fp) -/* 0C57C0 800C4BC0 0019C200 */ sll $t8, $t9, 8 -/* 0C57C4 800C4BC4 0C032EFA */ jal func_800CBBE8 -/* 0C57C8 800C4BC8 03012025 */ or $a0, $t8, $at -/* 0C57CC 800C4BCC 8FCA0068 */ lw $t2, 0x68($fp) -/* 0C57D0 800C4BD0 3C1F8019 */ lui $ra, %hi(sSoundBanks) # $ra, 0x8019 -/* 0C57D4 800C4BD4 27FF1420 */ addiu $ra, %lo(sSoundBanks) # addiu $ra, $ra, 0x1420 -/* 0C57D8 800C4BD8 8D4F0024 */ lw $t7, 0x24($t2) -/* 0C57DC 800C4BDC 240D0001 */ li $t5, 1 -/* 0C57E0 800C4BE0 32A400FF */ andi $a0, $s5, 0xff -/* 0C57E4 800C4BE4 000FC900 */ sll $t9, $t7, 4 -/* 0C57E8 800C4BE8 0723003D */ bgezl $t9, .L800C4CE0 -/* 0C57EC 800C4BEC 327000FF */ andi $s0, $s3, 0xff -/* 0C57F0 800C4BF0 0C0311CF */ jal delete_sound_from_bank -/* 0C57F4 800C4BF4 326500FF */ andi $a1, $s3, 0xff -/* 0C57F8 800C4BF8 3C1F8019 */ lui $ra, %hi(sSoundBanks) # $ra, 0x8019 -/* 0C57FC 800C4BFC 27FF1420 */ addiu $ra, %lo(sSoundBanks) # addiu $ra, $ra, 0x1420 -/* 0C5800 800C4C00 240D0001 */ li $t5, 1 -/* 0C5804 800C4C04 10000035 */ b .L800C4CDC -/* 0C5808 800C4C08 321300FF */ andi $s3, $s0, 0xff -.L800C4C0C: -/* 0C580C 800C4C0C 9318A1C0 */ lbu $t8, %lo(D_800EA1C0)($t8) -/* 0C5810 800C4C10 3C0C800F */ lui $t4, %hi(D_800EA188) -/* 0C5814 800C4C14 00005825 */ move $t3, $zero -/* 0C5818 800C4C18 00187080 */ sll $t6, $t8, 2 -/* 0C581C 800C4C1C 01D87023 */ subu $t6, $t6, $t8 -/* 0C5820 800C4C20 000E7040 */ sll $t6, $t6, 1 -/* 0C5824 800C4C24 01D57821 */ addu $t7, $t6, $s5 -/* 0C5828 800C4C28 018F6021 */ addu $t4, $t4, $t7 -/* 0C582C 800C4C2C 918CA188 */ lbu $t4, %lo(D_800EA188)($t4) -/* 0C5830 800C4C30 01804825 */ move $t1, $t4 -/* 0C5834 800C4C34 19200029 */ blez $t1, .L800C4CDC -/* 0C5838 800C4C38 01204025 */ move $t0, $t1 -.L800C4C3C: -/* 0C583C 800C4C3C 000BC8C0 */ sll $t9, $t3, 3 -/* 0C5840 800C4C40 02393821 */ addu $a3, $s1, $t9 -/* 0C5844 800C4C44 8CF80000 */ lw $t8, ($a3) -/* 0C5848 800C4C48 8D430020 */ lw $v1, 0x20($t2) -/* 0C584C 800C4C4C 2502FFFF */ addiu $v0, $t0, -1 -/* 0C5850 800C4C50 304500FF */ andi $a1, $v0, 0xff -/* 0C5854 800C4C54 0303082B */ sltu $at, $t8, $v1 -/* 0C5858 800C4C58 1420001B */ bnez $at, .L800C4CC8 -/* 0C585C 800C4C5C 01603025 */ move $a2, $t3 -/* 0C5860 800C4C60 024C082A */ slt $at, $s2, $t4 -/* 0C5864 800C4C64 10200004 */ beqz $at, .L800C4C78 -/* 0C5868 800C4C68 304400FF */ andi $a0, $v0, 0xff -/* 0C586C 800C4C6C 26520001 */ addiu $s2, $s2, 1 -/* 0C5870 800C4C70 324E00FF */ andi $t6, $s2, 0xff -/* 0C5874 800C4C74 01C09025 */ move $s2, $t6 -.L800C4C78: -/* 0C5878 800C4C78 00C4082A */ slt $at, $a2, $a0 -/* 0C587C 800C4C7C 10200010 */ beqz $at, .L800C4CC0 -/* 0C5880 800C4C80 312B00FF */ andi $t3, $t1, 0xff -/* 0C5884 800C4C84 00A01825 */ move $v1, $a1 -.L800C4C88: -/* 0C5888 800C4C88 0003C8C0 */ sll $t9, $v1, 3 -/* 0C588C 800C4C8C 02391021 */ addu $v0, $s1, $t9 -/* 0C5890 800C4C90 8C58FFF8 */ lw $t8, -8($v0) -/* 0C5894 800C4C94 000578C0 */ sll $t7, $a1, 3 -/* 0C5898 800C4C98 022F2021 */ addu $a0, $s1, $t7 -/* 0C589C 800C4C9C 24A5FFFF */ addiu $a1, $a1, -1 -/* 0C58A0 800C4CA0 AC980000 */ sw $t8, ($a0) -/* 0C58A4 800C4CA4 904EFFFC */ lbu $t6, -4($v0) -/* 0C58A8 800C4CA8 30A300FF */ andi $v1, $a1, 0xff -/* 0C58AC 800C4CAC 00C3082A */ slt $at, $a2, $v1 -/* 0C58B0 800C4CB0 00602825 */ move $a1, $v1 -/* 0C58B4 800C4CB4 1420FFF4 */ bnez $at, .L800C4C88 -/* 0C58B8 800C4CB8 A08E0004 */ sb $t6, 4($a0) -/* 0C58BC 800C4CBC 8D430020 */ lw $v1, 0x20($t2) -.L800C4CC0: -/* 0C58C0 800C4CC0 ACE30000 */ sw $v1, ($a3) -/* 0C58C4 800C4CC4 A0F30004 */ sb $s3, 4($a3) -.L800C4CC8: -/* 0C58C8 800C4CC8 256B0001 */ addiu $t3, $t3, 1 -/* 0C58CC 800C4CCC 317900FF */ andi $t9, $t3, 0xff -/* 0C58D0 800C4CD0 0328082A */ slt $at, $t9, $t0 -/* 0C58D4 800C4CD4 1420FFD9 */ bnez $at, .L800C4C3C -/* 0C58D8 800C4CD8 03205825 */ move $t3, $t9 -.L800C4CDC: -/* 0C58DC 800C4CDC 327000FF */ andi $s0, $s3, 0xff -.L800C4CE0: -/* 0C58E0 800C4CE0 3C020800 */ lui $v0, 0x800 -.L800C4CE4: -/* 0C58E4 800C4CE4 02160019 */ multu $s0, $s6 -/* 0C58E8 800C4CE8 8FD8006C */ lw $t8, 0x6c($fp) -/* 0C58EC 800C4CEC 00007012 */ mflo $t6 -/* 0C58F0 800C4CF0 030E7821 */ addu $t7, $t8, $t6 -/* 0C58F4 800C4CF4 91F3002B */ lbu $s3, 0x2b($t7) -/* 0C58F8 800C4CF8 16F3FF12 */ bne $s7, $s3, .L800C4944 -/* 0C58FC 800C4CFC 00000000 */ nop -.L800C4D00: -/* 0C5900 800C4D00 3C19800F */ lui $t9, %hi(D_800EA1C0) # $t9, 0x800f -/* 0C5904 800C4D04 9339A1C0 */ lbu $t9, %lo(D_800EA1C0)($t9) -/* 0C5908 800C4D08 3C09800F */ lui $t1, %hi(D_800EA188) -/* 0C590C 800C4D0C 240D0001 */ li $t5, 1 -/* 0C5910 800C4D10 0019C080 */ sll $t8, $t9, 2 -/* 0C5914 800C4D14 0319C023 */ subu $t8, $t8, $t9 -/* 0C5918 800C4D18 0018C040 */ sll $t8, $t8, 1 -/* 0C591C 800C4D1C 03157021 */ addu $t6, $t8, $s5 -/* 0C5920 800C4D20 012E4821 */ addu $t1, $t1, $t6 -/* 0C5924 800C4D24 24160030 */ li $s6, 48 -/* 0C5928 800C4D28 9129A188 */ lbu $t1, %lo(D_800EA188)($t1) -/* 0C592C 800C4D2C 00005825 */ move $t3, $zero -/* 0C5930 800C4D30 1A40001E */ blez $s2, .L800C4DAC -/* 0C5934 800C4D34 02403025 */ move $a2, $s2 -/* 0C5938 800C4D38 00157900 */ sll $t7, $s5, 4 -/* 0C593C 800C4D3C 01F57823 */ subu $t7, $t7, $s5 -/* 0C5940 800C4D40 000F7980 */ sll $t7, $t7, 6 -/* 0C5944 800C4D44 03EFC821 */ addu $t9, $ra, $t7 -/* 0C5948 800C4D48 AFD9006C */ sw $t9, 0x6c($fp) -/* 0C594C 800C4D4C 24050003 */ li $a1, 3 -/* 0C5950 800C4D50 24040002 */ li $a0, 2 -.L800C4D54: -/* 0C5954 800C4D54 000B70C0 */ sll $t6, $t3, 3 -/* 0C5958 800C4D58 022E7821 */ addu $t7, $s1, $t6 -/* 0C595C 800C4D5C 91F90004 */ lbu $t9, 4($t7) -/* 0C5960 800C4D60 8FD8006C */ lw $t8, 0x6c($fp) -/* 0C5964 800C4D64 256B0001 */ addiu $t3, $t3, 1 -/* 0C5968 800C4D68 03360019 */ multu $t9, $s6 -/* 0C596C 800C4D6C 316F00FF */ andi $t7, $t3, 0xff -/* 0C5970 800C4D70 24010004 */ li $at, 4 -/* 0C5974 800C4D74 00007012 */ mflo $t6 -/* 0C5978 800C4D78 030E1021 */ addu $v0, $t8, $t6 -/* 0C597C 800C4D7C 90430028 */ lbu $v1, 0x28($v0) -/* 0C5980 800C4D80 15A30003 */ bne $t5, $v1, .L800C4D90 -/* 0C5984 800C4D84 00000000 */ nop -/* 0C5988 800C4D88 10000004 */ b .L800C4D9C -/* 0C598C 800C4D8C A0440028 */ sb $a0, 0x28($v0) -.L800C4D90: -/* 0C5990 800C4D90 54610003 */ bnel $v1, $at, .L800C4DA0 -/* 0C5994 800C4D94 01E6082A */ slt $at, $t7, $a2 -/* 0C5998 800C4D98 A0450028 */ sb $a1, 0x28($v0) -.L800C4D9C: -/* 0C599C 800C4D9C 01E6082A */ slt $at, $t7, $a2 -.L800C4DA0: -/* 0C59A0 800C4DA0 1420FFEC */ bnez $at, .L800C4D54 -/* 0C59A4 800C4DA4 01E05825 */ move $t3, $t7 -/* 0C59A8 800C4DA8 00005825 */ move $t3, $zero -.L800C4DAC: -/* 0C59AC 800C4DAC 19200080 */ blez $t1, .L800C4FB0 -/* 0C59B0 800C4DB0 01204025 */ move $t0, $t1 -/* 0C59B4 800C4DB4 3C188019 */ lui $t8, %hi(D_80192AB8) # $t8, 0x8019 -/* 0C59B8 800C4DB8 27182AB8 */ addiu $t8, %lo(D_80192AB8) # addiu $t8, $t8, 0x2ab8 -/* 0C59BC 800C4DBC 0015C980 */ sll $t9, $s5, 6 -/* 0C59C0 800C4DC0 03383021 */ addu $a2, $t9, $t8 -/* 0C59C4 800C4DC4 240C0003 */ li $t4, 3 -.L800C4DC8: -/* 0C59C8 800C4DC8 000B70C0 */ sll $t6, $t3, 3 -/* 0C59CC 800C4DCC 00CE9821 */ addu $s3, $a2, $t6 -/* 0C59D0 800C4DD0 92650004 */ lbu $a1, 4($s3) -/* 0C59D4 800C4DD4 00001825 */ move $v1, $zero -/* 0C59D8 800C4DD8 16E50003 */ bne $s7, $a1, .L800C4DE8 -/* 0C59DC 800C4DDC 00A01025 */ move $v0, $a1 -/* 0C59E0 800C4DE0 1000003A */ b .L800C4ECC -/* 0C59E4 800C4DE4 24030001 */ li $v1, 1 -.L800C4DE8: -/* 0C59E8 800C4DE8 00B60019 */ multu $a1, $s6 -/* 0C59EC 800C4DEC 00157900 */ sll $t7, $s5, 4 -/* 0C59F0 800C4DF0 01F57823 */ subu $t7, $t7, $s5 -/* 0C59F4 800C4DF4 000F7980 */ sll $t7, $t7, 6 -/* 0C59F8 800C4DF8 03EFC821 */ addu $t9, $ra, $t7 -/* 0C59FC 800C4DFC 24010004 */ li $at, 4 -/* 0C5A00 800C4E00 0000C012 */ mflo $t8 -/* 0C5A04 800C4E04 03382021 */ addu $a0, $t9, $t8 -/* 0C5A08 800C4E08 90870028 */ lbu $a3, 0x28($a0) -/* 0C5A0C 800C4E0C 14E10019 */ bne $a3, $at, .L800C4E74 -/* 0C5A10 800C4E10 00000000 */ nop -/* 0C5A14 800C4E14 8C8E0024 */ lw $t6, 0x24($a0) -/* 0C5A18 800C4E18 24190001 */ li $t9, 1 -/* 0C5A1C 800C4E1C 000E7900 */ sll $t7, $t6, 4 -/* 0C5A20 800C4E20 05E30012 */ bgezl $t7, .L800C4E6C -/* 0C5A24 800C4E24 A0990028 */ sb $t9, 0x28($a0) -/* 0C5A28 800C4E28 32A400FF */ andi $a0, $s5, 0xff -/* 0C5A2C 800C4E2C AFC60070 */ sw $a2, 0x70($fp) -/* 0C5A30 800C4E30 AFC80060 */ sw $t0, 0x60($fp) -/* 0C5A34 800C4E34 A3C900CE */ sb $t1, 0xce($fp) -/* 0C5A38 800C4E38 0C0311CF */ jal delete_sound_from_bank -/* 0C5A3C 800C4E3C A3CB00CC */ sb $t3, 0xcc($fp) -/* 0C5A40 800C4E40 3C1F8019 */ lui $ra, %hi(sSoundBanks) # $ra, 0x8019 -/* 0C5A44 800C4E44 27FF1420 */ addiu $ra, %lo(sSoundBanks) # addiu $ra, $ra, 0x1420 -/* 0C5A48 800C4E48 8FC60070 */ lw $a2, 0x70($fp) -/* 0C5A4C 800C4E4C 8FC80060 */ lw $t0, 0x60($fp) -/* 0C5A50 800C4E50 93C900CE */ lbu $t1, 0xce($fp) -/* 0C5A54 800C4E54 93CB00CC */ lbu $t3, 0xcc($fp) -/* 0C5A58 800C4E58 240C0003 */ li $t4, 3 -/* 0C5A5C 800C4E5C 240D0001 */ li $t5, 1 -/* 0C5A60 800C4E60 1000001A */ b .L800C4ECC -/* 0C5A64 800C4E64 24030001 */ li $v1, 1 -/* 0C5A68 800C4E68 A0990028 */ sb $t9, 0x28($a0) -.L800C4E6C: -/* 0C5A6C 800C4E6C 10000017 */ b .L800C4ECC -/* 0C5A70 800C4E70 24030001 */ li $v1, 1 -.L800C4E74: -/* 0C5A74 800C4E74 14E00004 */ bnez $a3, .L800C4E88 -/* 0C5A78 800C4E78 00000000 */ nop -/* 0C5A7C 800C4E7C A2740004 */ sb $s4, 4($s3) -/* 0C5A80 800C4E80 10000012 */ b .L800C4ECC -/* 0C5A84 800C4E84 24030001 */ li $v1, 1 -.L800C4E88: -/* 0C5A88 800C4E88 1900000D */ blez $t0, .L800C4EC0 -/* 0C5A8C 800C4E8C 00002825 */ move $a1, $zero -.L800C4E90: -/* 0C5A90 800C4E90 0005C0C0 */ sll $t8, $a1, 3 -/* 0C5A94 800C4E94 02382021 */ addu $a0, $s1, $t8 -/* 0C5A98 800C4E98 908E0004 */ lbu $t6, 4($a0) -/* 0C5A9C 800C4E9C 544E0004 */ bnel $v0, $t6, .L800C4EB0 -/* 0C5AA0 800C4EA0 24A50001 */ addiu $a1, $a1, 1 -/* 0C5AA4 800C4EA4 A0940004 */ sb $s4, 4($a0) -/* 0C5AA8 800C4EA8 312500FF */ andi $a1, $t1, 0xff -/* 0C5AAC 800C4EAC 24A50001 */ addiu $a1, $a1, 1 -.L800C4EB0: -/* 0C5AB0 800C4EB0 30AF00FF */ andi $t7, $a1, 0xff -/* 0C5AB4 800C4EB4 01E8082A */ slt $at, $t7, $t0 -/* 0C5AB8 800C4EB8 1420FFF5 */ bnez $at, .L800C4E90 -/* 0C5ABC 800C4EBC 01E02825 */ move $a1, $t7 -.L800C4EC0: -/* 0C5AC0 800C4EC0 2652FFFF */ addiu $s2, $s2, -1 -/* 0C5AC4 800C4EC4 325900FF */ andi $t9, $s2, 0xff -/* 0C5AC8 800C4EC8 03209025 */ move $s2, $t9 -.L800C4ECC: -/* 0C5ACC 800C4ECC 15A30033 */ bne $t5, $v1, .L800C4F9C -/* 0C5AD0 800C4ED0 00605025 */ move $t2, $v1 -/* 0C5AD4 800C4ED4 1900002E */ blez $t0, .L800C4F90 -/* 0C5AD8 800C4ED8 00002825 */ move $a1, $zero -.L800C4EDC: -/* 0C5ADC 800C4EDC 0005C0C0 */ sll $t8, $a1, 3 -/* 0C5AE0 800C4EE0 02382021 */ addu $a0, $s1, $t8 -/* 0C5AE4 800C4EE4 90870004 */ lbu $a3, 4($a0) -/* 0C5AE8 800C4EE8 12E70024 */ beq $s7, $a3, .L800C4F7C -/* 0C5AEC 800C4EEC 00E01025 */ move $v0, $a3 -/* 0C5AF0 800C4EF0 00F60019 */ multu $a3, $s6 -/* 0C5AF4 800C4EF4 00157100 */ sll $t6, $s5, 4 -/* 0C5AF8 800C4EF8 01D57023 */ subu $t6, $t6, $s5 -/* 0C5AFC 800C4EFC 000E7180 */ sll $t6, $t6, 6 -/* 0C5B00 800C4F00 03EE7821 */ addu $t7, $ra, $t6 -/* 0C5B04 800C4F04 0000C812 */ mflo $t9 -/* 0C5B08 800C4F08 01F9C021 */ addu $t8, $t7, $t9 -/* 0C5B0C 800C4F0C 930E0028 */ lbu $t6, 0x28($t8) -/* 0C5B10 800C4F10 518E001B */ beql $t4, $t6, .L800C4F80 -/* 0C5B14 800C4F14 24A50001 */ addiu $a1, $a1, 1 -/* 0C5B18 800C4F18 1900000E */ blez $t0, .L800C4F54 -/* 0C5B1C 800C4F1C 00008025 */ move $s0, $zero -.L800C4F20: -/* 0C5B20 800C4F20 001078C0 */ sll $t7, $s0, 3 -/* 0C5B24 800C4F24 00CFC821 */ addu $t9, $a2, $t7 -/* 0C5B28 800C4F28 93380004 */ lbu $t8, 4($t9) -/* 0C5B2C 800C4F2C 54580004 */ bnel $v0, $t8, .L800C4F40 -/* 0C5B30 800C4F30 26100001 */ addiu $s0, $s0, 1 -/* 0C5B34 800C4F34 00001825 */ move $v1, $zero -/* 0C5B38 800C4F38 313000FF */ andi $s0, $t1, 0xff -/* 0C5B3C 800C4F3C 26100001 */ addiu $s0, $s0, 1 -.L800C4F40: -/* 0C5B40 800C4F40 320E00FF */ andi $t6, $s0, 0xff -/* 0C5B44 800C4F44 01C8082A */ slt $at, $t6, $t0 -/* 0C5B48 800C4F48 1420FFF5 */ bnez $at, .L800C4F20 -/* 0C5B4C 800C4F4C 01C08025 */ move $s0, $t6 -/* 0C5B50 800C4F50 00605025 */ move $t2, $v1 -.L800C4F54: -/* 0C5B54 800C4F54 55AA000A */ bnel $t5, $t2, .L800C4F80 -/* 0C5B58 800C4F58 24A50001 */ addiu $a1, $a1, 1 -/* 0C5B5C 800C4F5C 25050001 */ addiu $a1, $t0, 1 -/* 0C5B60 800C4F60 2652FFFF */ addiu $s2, $s2, -1 -/* 0C5B64 800C4F64 30AF00FF */ andi $t7, $a1, 0xff -/* 0C5B68 800C4F68 325900FF */ andi $t9, $s2, 0xff -/* 0C5B6C 800C4F6C A2670004 */ sb $a3, 4($s3) -/* 0C5B70 800C4F70 A0940004 */ sb $s4, 4($a0) -/* 0C5B74 800C4F74 01E02825 */ move $a1, $t7 -/* 0C5B78 800C4F78 03209025 */ move $s2, $t9 -.L800C4F7C: -/* 0C5B7C 800C4F7C 24A50001 */ addiu $a1, $a1, 1 -.L800C4F80: -/* 0C5B80 800C4F80 30B800FF */ andi $t8, $a1, 0xff -/* 0C5B84 800C4F84 0308082A */ slt $at, $t8, $t0 -/* 0C5B88 800C4F88 1420FFD4 */ bnez $at, .L800C4EDC -/* 0C5B8C 800C4F8C 03002825 */ move $a1, $t8 -.L800C4F90: -/* 0C5B90 800C4F90 55050003 */ bnel $t0, $a1, .L800C4FA0 -/* 0C5B94 800C4F94 256B0001 */ addiu $t3, $t3, 1 -/* 0C5B98 800C4F98 A2740004 */ sb $s4, 4($s3) -.L800C4F9C: -/* 0C5B9C 800C4F9C 256B0001 */ addiu $t3, $t3, 1 -.L800C4FA0: -/* 0C5BA0 800C4FA0 316E00FF */ andi $t6, $t3, 0xff -/* 0C5BA4 800C4FA4 01C8082A */ slt $at, $t6, $t0 -/* 0C5BA8 800C4FA8 1420FF87 */ bnez $at, .L800C4DC8 -/* 0C5BAC 800C4FAC 01C05825 */ move $t3, $t6 -.L800C4FB0: -/* 0C5BB0 800C4FB0 8FDF004C */ lw $ra, 0x4c($fp) -/* 0C5BB4 800C4FB4 03C0E825 */ move $sp, $fp -/* 0C5BB8 800C4FB8 8FD00028 */ lw $s0, 0x28($fp) -/* 0C5BBC 800C4FBC 8FD1002C */ lw $s1, 0x2c($fp) -/* 0C5BC0 800C4FC0 8FD20030 */ lw $s2, 0x30($fp) -/* 0C5BC4 800C4FC4 8FD30034 */ lw $s3, 0x34($fp) -/* 0C5BC8 800C4FC8 8FD40038 */ lw $s4, 0x38($fp) -/* 0C5BCC 800C4FCC 8FD5003C */ lw $s5, 0x3c($fp) -/* 0C5BD0 800C4FD0 8FD60040 */ lw $s6, 0x40($fp) -/* 0C5BD4 800C4FD4 8FD70044 */ lw $s7, 0x44($fp) -/* 0C5BD8 800C4FD8 8FDE0048 */ lw $fp, 0x48($fp) -/* 0C5BDC 800C4FDC 03E00008 */ jr $ra -/* 0C5BE0 800C4FE0 27BD00D0 */ addiu $sp, $sp, 0xd0 diff --git a/asm/non_matchings/audio/synthesis/func_800B86A0.s b/asm/non_matchings/audio/synthesis/func_800B86A0.s deleted file mode 100644 index 295ec1f17..000000000 --- a/asm/non_matchings/audio/synthesis/func_800B86A0.s +++ /dev/null @@ -1,236 +0,0 @@ -glabel func_800B86A0 -/* 0B92A0 800B86A0 94AA0006 */ lhu $t2, 6($a1) -/* 0B92A4 800B86A4 94C20010 */ lhu $v0, 0x10($a2) -/* 0B92A8 800B86A8 000768C3 */ sra $t5, $a3, 3 -/* 0B92AC 800B86AC 000A7100 */ sll $t6, $t2, 4 -/* 0B92B0 800B86B0 31CFFFFF */ andi $t7, $t6, 0xffff -/* 0B92B4 800B86B4 01E27023 */ subu $t6, $t7, $v0 -/* 0B92B8 800B86B8 01CD001A */ div $zero, $t6, $t5 -/* 0B92BC 800B86BC 94AB0008 */ lhu $t3, 8($a1) -/* 0B92C0 800B86C0 94C30012 */ lhu $v1, 0x12($a2) -/* 0B92C4 800B86C4 01E05025 */ move $t2, $t7 -/* 0B92C8 800B86C8 000BC100 */ sll $t8, $t3, 4 -/* 0B92CC 800B86CC 00007812 */ mflo $t7 -/* 0B92D0 800B86D0 3319FFFF */ andi $t9, $t8, 0xffff -/* 0B92D4 800B86D4 03205825 */ move $t3, $t9 -/* 0B92D8 800B86D8 27BDFFB0 */ addiu $sp, $sp, -0x50 -/* 0B92DC 800B86DC AFAF0008 */ sw $t7, 8($sp) -/* 0B92E0 800B86E0 87B8000A */ lh $t8, 0xa($sp) -/* 0B92E4 800B86E4 00406025 */ move $t4, $v0 -/* 0B92E8 800B86E8 15A00002 */ bnez $t5, .L800B86F4 -/* 0B92EC 800B86EC 00000000 */ nop -/* 0B92F0 800B86F0 0007000D */ break 7 -.L800B86F4: -/* 0B92F4 800B86F4 2401FFFF */ li $at, -1 -/* 0B92F8 800B86F8 15A10004 */ bne $t5, $at, .L800B870C -/* 0B92FC 800B86FC 3C018000 */ lui $at, 0x8000 -/* 0B9300 800B8700 15C10002 */ bne $t6, $at, .L800B870C -/* 0B9304 800B8704 00000000 */ nop -/* 0B9308 800B8708 0006000D */ break 6 -.L800B870C: -/* 0B930C 800B870C 01637023 */ subu $t6, $t3, $v1 -/* 0B9310 800B8710 01CD001A */ div $zero, $t6, $t5 -/* 0B9314 800B8714 00007812 */ mflo $t7 -/* 0B9318 800B8718 AFAF0000 */ sw $t7, ($sp) -/* 0B931C 800B871C 03004025 */ move $t0, $t8 -/* 0B9320 800B8720 030D0019 */ multu $t8, $t5 -/* 0B9324 800B8724 0060C825 */ move $t9, $v1 -/* 0B9328 800B8728 AFA30004 */ sw $v1, 4($sp) -/* 0B932C 800B872C 15A00002 */ bnez $t5, .L800B8738 -/* 0B9330 800B8730 00000000 */ nop -/* 0B9334 800B8734 0007000D */ break 7 -.L800B8738: -/* 0B9338 800B8738 2401FFFF */ li $at, -1 -/* 0B933C 800B873C 15A10004 */ bne $t5, $at, .L800B8750 -/* 0B9340 800B8740 3C018000 */ lui $at, 0x8000 -/* 0B9344 800B8744 15C10002 */ bne $t6, $at, .L800B8750 -/* 0B9348 800B8748 00000000 */ nop -/* 0B934C 800B874C 0006000D */ break 6 -.L800B8750: -/* 0B9350 800B8750 87AE0002 */ lh $t6, 2($sp) -/* 0B9354 800B8754 00007812 */ mflo $t7 -/* 0B9358 800B8758 018F5021 */ addu $t2, $t4, $t7 -/* 0B935C 800B875C 3158FFFF */ andi $t8, $t2, 0xffff -/* 0B9360 800B8760 01CD0019 */ multu $t6, $t5 -/* 0B9364 800B8764 03005025 */ move $t2, $t8 -/* 0B9368 800B8768 A4CA0010 */ sh $t2, 0x10($a2) -/* 0B936C 800B876C 01C04825 */ move $t1, $t6 -/* 0B9370 800B8770 00805025 */ move $t2, $a0 -/* 0B9374 800B8774 3C011200 */ lui $at, 0x1200 -/* 0B9378 800B8778 00007812 */ mflo $t7 -/* 0B937C 800B877C 032F5821 */ addu $t3, $t9, $t7 -/* 0B9380 800B8780 3178FFFF */ andi $t8, $t3, 0xffff -/* 0B9384 800B8784 A4D80012 */ sh $t8, 0x12($a2) -/* 0B9388 800B8788 90AE0000 */ lbu $t6, ($a1) -/* 0B938C 800B878C 03005825 */ move $t3, $t8 -/* 0B9390 800B8790 00803025 */ move $a2, $a0 -/* 0B9394 800B8794 31D90001 */ andi $t9, $t6, 1 -/* 0B9398 800B8798 13200073 */ beqz $t9, .L800B8968 -/* 0B939C 800B879C 304F00FF */ andi $t7, $v0, 0xff -/* 0B93A0 800B87A0 3C0F0200 */ lui $t7, (0x02000200 >> 16) # lui $t7, 0x200 -/* 0B93A4 800B87A4 35EF0200 */ ori $t7, (0x02000200 & 0xFFFF) # ori $t7, $t7, 0x200 -/* 0B93A8 800B87A8 24180180 */ li $t8, 384 -/* 0B93AC 800B87AC ACD80004 */ sw $t8, 4($a2) -/* 0B93B0 800B87B0 ACCF0000 */ sw $t7, ($a2) -/* 0B93B4 800B87B4 90B90005 */ lbu $t9, 5($a1) -/* 0B93B8 800B87B8 304E00FF */ andi $t6, $v0, 0xff -/* 0B93BC 800B87BC 3C011200 */ lui $at, 0x1200 -/* 0B93C0 800B87C0 00197C00 */ sll $t7, $t9, 0x10 -/* 0B93C4 800B87C4 000ECA00 */ sll $t9, $t6, 8 -/* 0B93C8 800B87C8 01E1C025 */ or $t8, $t7, $at -/* 0B93CC 800B87CC 03197825 */ or $t7, $t8, $t9 -/* 0B93D0 800B87D0 306E00FF */ andi $t6, $v1, 0xff -/* 0B93D4 800B87D4 01EEC025 */ or $t8, $t7, $t6 -/* 0B93D8 800B87D8 24840008 */ addiu $a0, $a0, 8 -/* 0B93DC 800B87DC 00805025 */ move $t2, $a0 -/* 0B93E0 800B87E0 AD580000 */ sw $t8, ($t2) -/* 0B93E4 800B87E4 312EFFFF */ andi $t6, $t1, 0xffff -/* 0B93E8 800B87E8 00087C00 */ sll $t7, $t0, 0x10 -/* 0B93EC 800B87EC 01EEC025 */ or $t8, $t7, $t6 -/* 0B93F0 800B87F0 AD580004 */ sw $t8, 4($t2) -/* 0B93F4 800B87F4 24840008 */ addiu $a0, $a0, 8 -/* 0B93F8 800B87F8 00805825 */ move $t3, $a0 -/* 0B93FC 800B87FC 00407825 */ move $t7, $v0 -/* 0B9400 800B8800 3C191600 */ lui $t9, 0x1600 -/* 0B9404 800B8804 AD790000 */ sw $t9, ($t3) -/* 0B9408 800B8808 000F7400 */ sll $t6, $t7, 0x10 -/* 0B940C 800B880C 3078FFFF */ andi $t8, $v1, 0xffff -/* 0B9410 800B8810 01D8C825 */ or $t9, $t6, $t8 -/* 0B9414 800B8814 AD790004 */ sw $t9, 4($t3) -/* 0B9418 800B8818 8FA20064 */ lw $v0, 0x64($sp) -/* 0B941C 800B881C 24010001 */ li $at, 1 -/* 0B9420 800B8820 24840008 */ addiu $a0, $a0, 8 -/* 0B9424 800B8824 1041001E */ beq $v0, $at, .L800B88A0 -/* 0B9428 800B8828 97AF0062 */ lhu $t7, 0x62($sp) -/* 0B942C 800B882C 24010002 */ li $at, 2 -/* 0B9430 800B8830 10410034 */ beq $v0, $at, .L800B8904 -/* 0B9434 800B8834 97AF0062 */ lhu $t7, 0x62($sp) -/* 0B9438 800B8838 97AF0062 */ lhu $t7, 0x62($sp) -/* 0B943C 800B883C 8CA60000 */ lw $a2, ($a1) -/* 0B9440 800B8840 3C011300 */ lui $at, 0x1300 -/* 0B9444 800B8844 000F7103 */ sra $t6, $t7, 4 -/* 0B9448 800B8848 31D800FF */ andi $t8, $t6, 0xff -/* 0B944C 800B884C 0018CC00 */ sll $t9, $t8, 0x10 -/* 0B9450 800B8850 30EE00FF */ andi $t6, $a3, 0xff -/* 0B9454 800B8854 000EC200 */ sll $t8, $t6, 8 -/* 0B9458 800B8858 03217825 */ or $t7, $t9, $at -/* 0B945C 800B885C 01F8C825 */ or $t9, $t7, $t8 -/* 0B9460 800B8860 00067100 */ sll $t6, $a2, 4 -/* 0B9464 800B8864 000E7FC2 */ srl $t7, $t6, 0x1f -/* 0B9468 800B8868 31F80001 */ andi $t8, $t7, 1 -/* 0B946C 800B886C 00187040 */ sll $t6, $t8, 1 -/* 0B9470 800B8870 032E7825 */ or $t7, $t9, $t6 -/* 0B9474 800B8874 0006C140 */ sll $t8, $a2, 5 -/* 0B9478 800B8878 0018CFC2 */ srl $t9, $t8, 0x1f -/* 0B947C 800B887C 332E0001 */ andi $t6, $t9, 1 -/* 0B9480 800B8880 3C19546C */ lui $t9, (0x546C849C >> 16) # lui $t9, 0x546c -/* 0B9484 800B8884 00801025 */ move $v0, $a0 -/* 0B9488 800B8888 3739849C */ ori $t9, (0x546C849C & 0xFFFF) # ori $t9, $t9, 0x849c -/* 0B948C 800B888C 01EEC025 */ or $t8, $t7, $t6 -/* 0B9490 800B8890 AC580000 */ sw $t8, ($v0) -/* 0B9494 800B8894 AC590004 */ sw $t9, 4($v0) -/* 0B9498 800B8898 10000061 */ b .L800B8A20 -/* 0B949C 800B889C 24840008 */ addiu $a0, $a0, 8 -.L800B88A0: -/* 0B94A0 800B88A0 000F7103 */ sra $t6, $t7, 4 -/* 0B94A4 800B88A4 31D800FF */ andi $t8, $t6, 0xff -/* 0B94A8 800B88A8 8CA60000 */ lw $a2, ($a1) -/* 0B94AC 800B88AC 0018CC00 */ sll $t9, $t8, 0x10 -/* 0B94B0 800B88B0 30EE00FF */ andi $t6, $a3, 0xff -/* 0B94B4 800B88B4 000EC200 */ sll $t8, $t6, 8 -/* 0B94B8 800B88B8 3C011300 */ lui $at, 0x1300 -/* 0B94BC 800B88BC 03217825 */ or $t7, $t9, $at -/* 0B94C0 800B88C0 01F8C825 */ or $t9, $t7, $t8 -/* 0B94C4 800B88C4 00067100 */ sll $t6, $a2, 4 -/* 0B94C8 800B88C8 000E7FC2 */ srl $t7, $t6, 0x1f -/* 0B94CC 800B88CC 31F80001 */ andi $t8, $t7, 1 -/* 0B94D0 800B88D0 00187040 */ sll $t6, $t8, 1 -/* 0B94D4 800B88D4 032E7825 */ or $t7, $t9, $t6 -/* 0B94D8 800B88D8 0006C140 */ sll $t8, $a2, 5 -/* 0B94DC 800B88DC 0018CFC2 */ srl $t9, $t8, 0x1f -/* 0B94E0 800B88E0 332E0001 */ andi $t6, $t9, 1 -/* 0B94E4 800B88E4 3C19206C */ lui $t9, (0x206C849C >> 16) # lui $t9, 0x206c -/* 0B94E8 800B88E8 00801025 */ move $v0, $a0 -/* 0B94EC 800B88EC 3739849C */ ori $t9, (0x206C849C & 0xFFFF) # ori $t9, $t9, 0x849c -/* 0B94F0 800B88F0 01EEC025 */ or $t8, $t7, $t6 -/* 0B94F4 800B88F4 AC580000 */ sw $t8, ($v0) -/* 0B94F8 800B88F8 AC590004 */ sw $t9, 4($v0) -/* 0B94FC 800B88FC 10000048 */ b .L800B8A20 -/* 0B9500 800B8900 24840008 */ addiu $a0, $a0, 8 -.L800B8904: -/* 0B9504 800B8904 000F7103 */ sra $t6, $t7, 4 -/* 0B9508 800B8908 31D800FF */ andi $t8, $t6, 0xff -/* 0B950C 800B890C 8CA60000 */ lw $a2, ($a1) -/* 0B9510 800B8910 0018CC00 */ sll $t9, $t8, 0x10 -/* 0B9514 800B8914 30EE00FF */ andi $t6, $a3, 0xff -/* 0B9518 800B8918 000EC200 */ sll $t8, $t6, 8 -/* 0B951C 800B891C 3C011300 */ lui $at, 0x1300 -/* 0B9520 800B8920 03217825 */ or $t7, $t9, $at -/* 0B9524 800B8924 01F8C825 */ or $t9, $t7, $t8 -/* 0B9528 800B8928 00067100 */ sll $t6, $a2, 4 -/* 0B952C 800B892C 000E7FC2 */ srl $t7, $t6, 0x1f -/* 0B9530 800B8930 31F80001 */ andi $t8, $t7, 1 -/* 0B9534 800B8934 00187040 */ sll $t6, $t8, 1 -/* 0B9538 800B8938 032E7825 */ or $t7, $t9, $t6 -/* 0B953C 800B893C 0006C140 */ sll $t8, $a2, 5 -/* 0B9540 800B8940 0018CFC2 */ srl $t9, $t8, 0x1f -/* 0B9544 800B8944 332E0001 */ andi $t6, $t9, 1 -/* 0B9548 800B8948 3C195420 */ lui $t9, (0x5420849C >> 16) # lui $t9, 0x5420 -/* 0B954C 800B894C 00801025 */ move $v0, $a0 -/* 0B9550 800B8950 3739849C */ ori $t9, (0x5420849C & 0xFFFF) # ori $t9, $t9, 0x849c -/* 0B9554 800B8954 01EEC025 */ or $t8, $t7, $t6 -/* 0B9558 800B8958 AC580000 */ sw $t8, ($v0) -/* 0B955C 800B895C AC590004 */ sw $t9, 4($v0) -/* 0B9560 800B8960 1000002F */ b .L800B8A20 -/* 0B9564 800B8964 24840008 */ addiu $a0, $a0, 8 -.L800B8968: -/* 0B9568 800B8968 90AE0005 */ lbu $t6, 5($a1) -/* 0B956C 800B896C 24840008 */ addiu $a0, $a0, 8 -/* 0B9570 800B8970 00805825 */ move $t3, $a0 -/* 0B9574 800B8974 000EC400 */ sll $t8, $t6, 0x10 -/* 0B9578 800B8978 000F7200 */ sll $t6, $t7, 8 -/* 0B957C 800B897C 0301C825 */ or $t9, $t8, $at -/* 0B9580 800B8980 032EC025 */ or $t8, $t9, $t6 -/* 0B9584 800B8984 306F00FF */ andi $t7, $v1, 0xff -/* 0B9588 800B8988 030FC825 */ or $t9, $t8, $t7 -/* 0B958C 800B898C AD590000 */ sw $t9, ($t2) -/* 0B9590 800B8990 312FFFFF */ andi $t7, $t1, 0xffff -/* 0B9594 800B8994 0008C400 */ sll $t8, $t0, 0x10 -/* 0B9598 800B8998 030FC825 */ or $t9, $t8, $t7 -/* 0B959C 800B899C AD590004 */ sw $t9, 4($t2) -/* 0B95A0 800B89A0 3C0E1600 */ lui $t6, 0x1600 -/* 0B95A4 800B89A4 AD6E0000 */ sw $t6, ($t3) -/* 0B95A8 800B89A8 3079FFFF */ andi $t9, $v1, 0xffff -/* 0B95AC 800B89AC 00027C00 */ sll $t7, $v0, 0x10 -/* 0B95B0 800B89B0 01F97025 */ or $t6, $t7, $t9 -/* 0B95B4 800B89B4 AD6E0004 */ sw $t6, 4($t3) -/* 0B95B8 800B89B8 97B80062 */ lhu $t8, 0x62($sp) -/* 0B95BC 800B89BC 8CA60000 */ lw $a2, ($a1) -/* 0B95C0 800B89C0 3C011300 */ lui $at, 0x1300 -/* 0B95C4 800B89C4 00187903 */ sra $t7, $t8, 4 -/* 0B95C8 800B89C8 31F900FF */ andi $t9, $t7, 0xff -/* 0B95CC 800B89CC 00197400 */ sll $t6, $t9, 0x10 -/* 0B95D0 800B89D0 30EF00FF */ andi $t7, $a3, 0xff -/* 0B95D4 800B89D4 000FCA00 */ sll $t9, $t7, 8 -/* 0B95D8 800B89D8 01C1C025 */ or $t8, $t6, $at -/* 0B95DC 800B89DC 03197025 */ or $t6, $t8, $t9 -/* 0B95E0 800B89E0 00067900 */ sll $t7, $a2, 4 -/* 0B95E4 800B89E4 000FC7C2 */ srl $t8, $t7, 0x1f -/* 0B95E8 800B89E8 33190001 */ andi $t9, $t8, 1 -/* 0B95EC 800B89EC 00197840 */ sll $t7, $t9, 1 -/* 0B95F0 800B89F0 01CFC025 */ or $t8, $t6, $t7 -/* 0B95F4 800B89F4 0006C940 */ sll $t9, $a2, 5 -/* 0B95F8 800B89F8 24840008 */ addiu $a0, $a0, 8 -/* 0B95FC 800B89FC 001977C2 */ srl $t6, $t9, 0x1f -/* 0B9600 800B8A00 31CF0001 */ andi $t7, $t6, 1 -/* 0B9604 800B8A04 00806025 */ move $t4, $a0 -/* 0B9608 800B8A08 3C0E546C */ lui $t6, (0x546C849C >> 16) # lui $t6, 0x546c -/* 0B960C 800B8A0C 35CE849C */ ori $t6, (0x546C849C & 0xFFFF) # ori $t6, $t6, 0x849c -/* 0B9610 800B8A10 030FC825 */ or $t9, $t8, $t7 -/* 0B9614 800B8A14 AD990000 */ sw $t9, ($t4) -/* 0B9618 800B8A18 AD8E0004 */ sw $t6, 4($t4) -/* 0B961C 800B8A1C 24840008 */ addiu $a0, $a0, 8 -.L800B8A20: -/* 0B9620 800B8A20 00801025 */ move $v0, $a0 -/* 0B9624 800B8A24 03E00008 */ jr $ra -/* 0B9628 800B8A28 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/non_matchings/audio/synthesis/synthesis_process_note.s b/asm/non_matchings/audio/synthesis/synthesis_process_note.s deleted file mode 100644 index a9c33f835..000000000 --- a/asm/non_matchings/audio/synthesis/synthesis_process_note.s +++ /dev/null @@ -1,658 +0,0 @@ -glabel synthesis_process_note -/* 0B8830 800B7C30 27BDFEC0 */ addiu $sp, $sp, -0x140 -/* 0B8834 800B7C34 3C18803B */ lui $t8, %hi(gNotes) # $t8, 0x803b -/* 0B8838 800B7C38 8F181508 */ lw $t8, %lo(gNotes)($t8) -/* 0B883C 800B7C3C 00047880 */ sll $t7, $a0, 2 -/* 0B8840 800B7C40 01E47823 */ subu $t7, $t7, $a0 -/* 0B8844 800B7C44 000F7980 */ sll $t7, $t7, 6 -/* 0B8848 800B7C48 01F8C821 */ addu $t9, $t7, $t8 -/* 0B884C 800B7C4C AFBF004C */ sw $ra, 0x4c($sp) -/* 0B8850 800B7C50 AFBE0048 */ sw $fp, 0x48($sp) -/* 0B8854 800B7C54 AFB70044 */ sw $s7, 0x44($sp) -/* 0B8858 800B7C58 AFB60040 */ sw $s6, 0x40($sp) -/* 0B885C 800B7C5C AFB5003C */ sw $s5, 0x3c($sp) -/* 0B8860 800B7C60 AFB40038 */ sw $s4, 0x38($sp) -/* 0B8864 800B7C64 AFB30034 */ sw $s3, 0x34($sp) -/* 0B8868 800B7C68 AFB20030 */ sw $s2, 0x30($sp) -/* 0B886C 800B7C6C AFB1002C */ sw $s1, 0x2c($sp) -/* 0B8870 800B7C70 AFB00028 */ sw $s0, 0x28($sp) -/* 0B8874 800B7C74 AFA40140 */ sw $a0, 0x140($sp) -/* 0B8878 800B7C78 AFA50144 */ sw $a1, 0x144($sp) -/* 0B887C 800B7C7C AFA7014C */ sw $a3, 0x14c($sp) -/* 0B8880 800B7C80 AFA00128 */ sw $zero, 0x128($sp) -/* 0B8884 800B7C84 AFB9008C */ sw $t9, 0x8c($sp) -/* 0B8888 800B7C88 8CAF0000 */ lw $t7, ($a1) -/* 0B888C 800B7C8C 24010001 */ li $at, 1 -/* 0B8890 800B7C90 00C0B825 */ move $s7, $a2 -/* 0B8894 800B7C94 000FC040 */ sll $t8, $t7, 1 -/* 0B8898 800B7C98 0018CFC2 */ srl $t9, $t8, 0x1f -/* 0B889C 800B7C9C 17210009 */ bne $t9, $at, .L800B7CC4 -/* 0B88A0 800B7CA0 00001825 */ move $v1, $zero -/* 0B88A4 800B7CA4 24030001 */ li $v1, 1 -/* 0B88A8 800B7CA8 A0C00000 */ sb $zero, ($a2) -/* 0B88AC 800B7CAC ACC00008 */ sw $zero, 8($a2) -/* 0B88B0 800B7CB0 A4C00004 */ sh $zero, 4($a2) -/* 0B88B4 800B7CB4 A4C00010 */ sh $zero, 0x10($a2) -/* 0B88B8 800B7CB8 A4C00012 */ sh $zero, 0x12($a2) -/* 0B88BC 800B7CBC A0C00002 */ sb $zero, 2($a2) -/* 0B88C0 800B7CC0 A0C00003 */ sb $zero, 3($a2) -.L800B7CC4: -/* 0B88C4 800B7CC4 8FAE0144 */ lw $t6, 0x144($sp) -/* 0B88C8 800B7CC8 02E03025 */ move $a2, $s7 -/* 0B88CC 800B7CCC 95CF000A */ lhu $t7, 0xa($t6) -/* 0B88D0 800B7CD0 A7AF0112 */ sh $t7, 0x112($sp) -/* 0B88D4 800B7CD4 95D80000 */ lhu $t8, ($t6) -/* 0B88D8 800B7CD8 33190001 */ andi $t9, $t8, 1 -/* 0B88DC 800B7CDC 8FB80150 */ lw $t8, 0x150($sp) -/* 0B88E0 800B7CE0 272E0001 */ addiu $t6, $t9, 1 -/* 0B88E4 800B7CE4 AFAE00B0 */ sw $t6, 0xb0($sp) -/* 0B88E8 800B7CE8 01F80019 */ multu $t7, $t8 -/* 0B88EC 800B7CEC 96EF0004 */ lhu $t7, 4($s7) -/* 0B88F0 800B7CF0 0000C812 */ mflo $t9 -/* 0B88F4 800B7CF4 00197040 */ sll $t6, $t9, 1 -/* 0B88F8 800B7CF8 01CF1021 */ addu $v0, $t6, $t7 -/* 0B88FC 800B7CFC A6E20004 */ sh $v0, 4($s7) -/* 0B8900 800B7D00 8FB90144 */ lw $t9, 0x144($sp) -/* 0B8904 800B7D04 00028402 */ srl $s0, $v0, 0x10 -/* 0B8908 800B7D08 02003825 */ move $a3, $s0 -/* 0B890C 800B7D0C 8F240000 */ lw $a0, ($t9) -/* 0B8910 800B7D10 8FB80144 */ lw $t8, 0x144($sp) -/* 0B8914 800B7D14 03202825 */ move $a1, $t9 -/* 0B8918 800B7D18 00047B80 */ sll $t7, $a0, 0xe -/* 0B891C 800B7D1C 05E3000E */ bgezl $t7, .L800B7D58 -/* 0B8920 800B7D20 8F0E000C */ lw $t6, 0xc($t8) -/* 0B8924 800B7D24 0C02E16D */ jal load_wave_samples -/* 0B8928 800B7D28 8FA40154 */ lw $a0, 0x154($sp) -/* 0B892C 800B7D2C 8EE60008 */ lw $a2, 8($s7) -/* 0B8930 800B7D30 0006C040 */ sll $t8, $a2, 1 -/* 0B8934 800B7D34 270E01A0 */ addiu $t6, $t8, 0x1a0 -/* 0B8938 800B7D38 A7AE009E */ sh $t6, 0x9e($sp) -/* 0B893C 800B7D3C 00D07821 */ addu $t7, $a2, $s0 -/* 0B8940 800B7D40 AEEF0008 */ sw $t7, 8($s7) -/* 0B8944 800B7D44 8FB90144 */ lw $t9, 0x144($sp) -/* 0B8948 800B7D48 8F240000 */ lw $a0, ($t9) -/* 0B894C 800B7D4C 100001CF */ b .L800B848C -/* 0B8950 800B7D50 AFA20154 */ sw $v0, 0x154($sp) -/* 0B8954 800B7D54 8F0E000C */ lw $t6, 0xc($t8) -.L800B7D58: -/* 0B8958 800B7D58 8DCF0000 */ lw $t7, ($t6) -/* 0B895C 800B7D5C AFAF0130 */ sw $t7, 0x130($sp) -/* 0B8960 800B7D60 8DF90008 */ lw $t9, 8($t7) -/* 0B8964 800B7D64 AFB9012C */ sw $t9, 0x12c($sp) -/* 0B8968 800B7D68 8F380004 */ lw $t8, 4($t9) -/* 0B896C 800B7D6C 8FB900B0 */ lw $t9, 0xb0($sp) -/* 0B8970 800B7D70 AFB800DC */ sw $t8, 0xdc($sp) -/* 0B8974 800B7D74 8DEE0004 */ lw $t6, 4($t7) -/* 0B8978 800B7D78 AFA000A0 */ sw $zero, 0xa0($sp) -/* 0B897C 800B7D7C AFA000AC */ sw $zero, 0xac($sp) -/* 0B8980 800B7D80 1B2001C2 */ blez $t9, .L800B848C -/* 0B8984 800B7D84 AFAE00EC */ sw $t6, 0xec($sp) -/* 0B8988 800B7D88 0002C402 */ srl $t8, $v0, 0x10 -/* 0B898C 800B7D8C AFB80050 */ sw $t8, 0x50($sp) -/* 0B8990 800B7D90 AFA30114 */ sw $v1, 0x114($sp) -/* 0B8994 800B7D94 8FB20154 */ lw $s2, 0x154($sp) -/* 0B8998 800B7D98 8FAF0130 */ lw $t7, 0x130($sp) -.L800B7D9C: -/* 0B899C 800B7D9C 8FAE00B0 */ lw $t6, 0xb0($sp) -/* 0B89A0 800B7DA0 24010001 */ li $at, 1 -/* 0B89A4 800B7DA4 8DE5000C */ lw $a1, 0xc($t7) -/* 0B89A8 800B7DA8 0000F025 */ move $fp, $zero -/* 0B89AC 800B7DAC 0000A025 */ move $s4, $zero -/* 0B89B0 800B7DB0 15C10003 */ bne $t6, $at, .L800B7DC0 -/* 0B89B4 800B7DB4 24A60008 */ addiu $a2, $a1, 8 -/* 0B89B8 800B7DB8 1000000B */ b .L800B7DE8 -/* 0B89BC 800B7DBC 8FAD0050 */ lw $t5, 0x50($sp) -.L800B7DC0: -/* 0B89C0 800B7DC0 8FB90050 */ lw $t9, 0x50($sp) -/* 0B89C4 800B7DC4 8FAE00AC */ lw $t6, 0xac($sp) -/* 0B89C8 800B7DC8 8FAD0050 */ lw $t5, 0x50($sp) -/* 0B89CC 800B7DCC 33380001 */ andi $t8, $t9, 1 -/* 0B89D0 800B7DD0 13000005 */ beqz $t8, .L800B7DE8 -/* 0B89D4 800B7DD4 2401FFFE */ li $at, -2 -/* 0B89D8 800B7DD8 03217824 */ and $t7, $t9, $at -/* 0B89DC 800B7DDC 000EC040 */ sll $t8, $t6, 1 -/* 0B89E0 800B7DE0 10000001 */ b .L800B7DE8 -/* 0B89E4 800B7DE4 01F86821 */ addu $t5, $t7, $t8 -.L800B7DE8: -/* 0B89E8 800B7DE8 8FB90128 */ lw $t9, 0x128($sp) -/* 0B89EC 800B7DEC 5326001B */ beql $t9, $a2, .L800B7E5C -/* 0B89F0 800B7DF0 00047AC0 */ sll $t7, $a0, 0xb -/* 0B89F4 800B7DF4 8CAE0000 */ lw $t6, ($a1) -/* 0B89F8 800B7DF8 8CB80004 */ lw $t8, 4($a1) -/* 0B89FC 800B7DFC 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff -/* 0B8A00 800B7E00 000E7900 */ sll $t7, $t6, 4 -/* 0B8A04 800B7E04 01F80019 */ multu $t7, $t8 -/* 0B8A08 800B7E08 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 0B8A0C 800B7E0C 02401025 */ move $v0, $s2 -/* 0B8A10 800B7E10 26520008 */ addiu $s2, $s2, 8 -/* 0B8A14 800B7E14 00001812 */ mflo $v1 -/* 0B8A18 800B7E18 0061C824 */ and $t9, $v1, $at -/* 0B8A1C 800B7E1C 3C010B00 */ lui $at, 0xb00 -/* 0B8A20 800B7E20 03217025 */ or $t6, $t9, $at -/* 0B8A24 800B7E24 AC4E0000 */ sw $t6, ($v0) -/* 0B8A28 800B7E28 8FAF0144 */ lw $t7, 0x144($sp) -/* 0B8A2C 800B7E2C 3C018000 */ lui $at, 0x8000 -/* 0B8A30 800B7E30 8DF80000 */ lw $t8, ($t7) -/* 0B8A34 800B7E34 0018CAC0 */ sll $t9, $t8, 0xb -/* 0B8A38 800B7E38 00197742 */ srl $t6, $t9, 0x1d -/* 0B8A3C 800B7E3C 000E7840 */ sll $t7, $t6, 1 -/* 0B8A40 800B7E40 01E6C021 */ addu $t8, $t7, $a2 -/* 0B8A44 800B7E44 0301C821 */ addu $t9, $t8, $at -/* 0B8A48 800B7E48 AC590004 */ sw $t9, 4($v0) -/* 0B8A4C 800B7E4C 8FAE0144 */ lw $t6, 0x144($sp) -/* 0B8A50 800B7E50 8DC40000 */ lw $a0, ($t6) -/* 0B8A54 800B7E54 AFA60128 */ sw $a2, 0x128($sp) -/* 0B8A58 800B7E58 00047AC0 */ sll $t7, $a0, 0xb -.L800B7E5C: -/* 0B8A5C 800B7E5C 000FC742 */ srl $t8, $t7, 0x1d -/* 0B8A60 800B7E60 13000003 */ beqz $t8, .L800B7E70 -/* 0B8A64 800B7E64 3C19800F */ lui $t9, %hi(gUnknownData_800F6290) # $t9, 0x800f -/* 0B8A68 800B7E68 27396290 */ addiu $t9, %lo(gUnknownData_800F6290) # addiu $t9, $t9, 0x6290 -/* 0B8A6C 800B7E6C AFB90128 */ sw $t9, 0x128($sp) -.L800B7E70: -/* 0B8A70 800B7E70 51A0011F */ beql $t5, $zero, .L800B82F0 -/* 0B8A74 800B7E74 8FB900B0 */ lw $t9, 0xb0($sp) -/* 0B8A78 800B7E78 8EE60008 */ lw $a2, 8($s7) -.L800B7E7C: -/* 0B8A7C 800B7E7C 8FAE00DC */ lw $t6, 0xdc($sp) -/* 0B8A80 800B7E80 01BE2023 */ subu $a0, $t5, $fp -/* 0B8A84 800B7E84 30D3000F */ andi $s3, $a2, 0xf -/* 0B8A88 800B7E88 00005825 */ move $t3, $zero -/* 0B8A8C 800B7E8C 00006025 */ move $t4, $zero -/* 0B8A90 800B7E90 0080F825 */ move $ra, $a0 -/* 0B8A94 800B7E94 16600005 */ bnez $s3, .L800B7EAC -/* 0B8A98 800B7E98 01C61823 */ subu $v1, $t6, $a2 -/* 0B8A9C 800B7E9C 92EF0000 */ lbu $t7, ($s7) -/* 0B8AA0 800B7EA0 55E00003 */ bnel $t7, $zero, .L800B7EB0 -/* 0B8AA4 800B7EA4 24180010 */ li $t8, 16 -/* 0B8AA8 800B7EA8 24130010 */ li $s3, 16 -.L800B7EAC: -/* 0B8AAC 800B7EAC 24180010 */ li $t8, 16 -.L800B7EB0: -/* 0B8AB0 800B7EB0 03132823 */ subu $a1, $t8, $s3 -/* 0B8AB4 800B7EB4 0083082A */ slt $at, $a0, $v1 -/* 0B8AB8 800B7EB8 1020000C */ beqz $at, .L800B7EEC -/* 0B8ABC 800B7EBC 00A0A825 */ move $s5, $a1 -/* 0B8AC0 800B7EC0 00851023 */ subu $v0, $a0, $a1 -/* 0B8AC4 800B7EC4 2442000F */ addiu $v0, $v0, 0xf -/* 0B8AC8 800B7EC8 04410003 */ bgez $v0, .L800B7ED8 -/* 0B8ACC 800B7ECC 0002C903 */ sra $t9, $v0, 4 -/* 0B8AD0 800B7ED0 2441000F */ addiu $at, $v0, 0xf -/* 0B8AD4 800B7ED4 0001C903 */ sra $t9, $at, 4 -.L800B7ED8: -/* 0B8AD8 800B7ED8 00198900 */ sll $s1, $t9, 4 -/* 0B8ADC 800B7EDC 00B17021 */ addu $t6, $a1, $s1 -/* 0B8AE0 800B7EE0 03204025 */ move $t0, $t9 -/* 0B8AE4 800B7EE4 10000013 */ b .L800B7F34 -/* 0B8AE8 800B7EE8 01C4B023 */ subu $s6, $t6, $a0 -.L800B7EEC: -/* 0B8AEC 800B7EEC 00658823 */ subu $s1, $v1, $a1 -/* 0B8AF0 800B7EF0 1E200003 */ bgtz $s1, .L800B7F00 -/* 0B8AF4 800B7EF4 0000B025 */ move $s6, $zero -/* 0B8AF8 800B7EF8 00008825 */ move $s1, $zero -/* 0B8AFC 800B7EFC 0060A825 */ move $s5, $v1 -.L800B7F00: -/* 0B8B00 800B7F00 8FB8012C */ lw $t8, 0x12c($sp) -/* 0B8B04 800B7F04 2628000F */ addiu $t0, $s1, 0xf -/* 0B8B08 800B7F08 05010003 */ bgez $t0, .L800B7F18 -/* 0B8B0C 800B7F0C 00087903 */ sra $t7, $t0, 4 -/* 0B8B10 800B7F10 2501000F */ addiu $at, $t0, 0xf -/* 0B8B14 800B7F14 00017903 */ sra $t7, $at, 4 -.L800B7F18: -/* 0B8B18 800B7F18 8F190008 */ lw $t9, 8($t8) -/* 0B8B1C 800B7F1C 01E04025 */ move $t0, $t7 -/* 0B8B20 800B7F20 53200004 */ beql $t9, $zero, .L800B7F34 -/* 0B8B24 800B7F24 240B0001 */ li $t3, 1 -/* 0B8B28 800B7F28 10000002 */ b .L800B7F34 -/* 0B8B2C 800B7F2C 240C0001 */ li $t4, 1 -/* 0B8B30 800B7F30 240B0001 */ li $t3, 1 -.L800B7F34: -/* 0B8B34 800B7F34 11000044 */ beqz $t0, .L800B8048 -/* 0B8B38 800B7F38 00005025 */ move $t2, $zero -/* 0B8B3C 800B7F3C 8FAF0130 */ lw $t7, 0x130($sp) -/* 0B8B40 800B7F40 00D31023 */ subu $v0, $a2, $s3 -/* 0B8B44 800B7F44 24420010 */ addiu $v0, $v0, 0x10 -/* 0B8B48 800B7F48 91F80001 */ lbu $t8, 1($t7) -/* 0B8B4C 800B7F4C 04410003 */ bgez $v0, .L800B7F5C -/* 0B8B50 800B7F50 00027103 */ sra $t6, $v0, 4 -/* 0B8B54 800B7F54 2441000F */ addiu $at, $v0, 0xf -/* 0B8B58 800B7F58 00017103 */ sra $t6, $at, 4 -.L800B7F5C: -/* 0B8B5C 800B7F5C 24010081 */ li $at, 129 -/* 0B8B60 800B7F60 1701000C */ bne $t8, $at, .L800B7F94 -/* 0B8B64 800B7F64 01C01025 */ move $v0, $t6 -/* 0B8B68 800B7F68 000EC8C0 */ sll $t9, $t6, 3 -/* 0B8B6C 800B7F6C 000880C0 */ sll $s0, $t0, 3 -/* 0B8B70 800B7F70 02088021 */ addu $s0, $s0, $t0 -/* 0B8B74 800B7F74 032EC821 */ addu $t9, $t9, $t6 -/* 0B8B78 800B7F78 8FAE00EC */ lw $t6, 0xec($sp) -/* 0B8B7C 800B7F7C 2610001F */ addiu $s0, $s0, 0x1f -/* 0B8B80 800B7F80 2401FFF0 */ li $at, -16 -/* 0B8B84 800B7F84 02017824 */ and $t7, $s0, $at -/* 0B8B88 800B7F88 01E08025 */ move $s0, $t7 -/* 0B8B8C 800B7F8C 10000019 */ b .L800B7FF4 -/* 0B8B90 800B7F90 032E2021 */ addu $a0, $t9, $t6 -.L800B7F94: -/* 0B8B94 800B7F94 24030009 */ li $v1, 9 -/* 0B8B98 800B7F98 00430019 */ multu $v0, $v1 -/* 0B8B9C 800B7F9C 8FB900EC */ lw $t9, 0xec($sp) -/* 0B8BA0 800B7FA0 2401FFF0 */ li $at, -16 -/* 0B8BA4 800B7FA4 AFBF00D8 */ sw $ra, 0xd8($sp) -/* 0B8BA8 800B7FA8 8FA60114 */ lw $a2, 0x114($sp) -/* 0B8BAC 800B7FAC 26E70001 */ addiu $a3, $s7, 1 -/* 0B8BB0 800B7FB0 AFAB011C */ sw $t3, 0x11c($sp) -/* 0B8BB4 800B7FB4 AFAC0118 */ sw $t4, 0x118($sp) -/* 0B8BB8 800B7FB8 AFAD00E4 */ sw $t5, 0xe4($sp) -/* 0B8BBC 800B7FBC 0000C012 */ mflo $t8 -/* 0B8BC0 800B7FC0 03192021 */ addu $a0, $t8, $t9 -/* 0B8BC4 800B7FC4 00000000 */ nop -/* 0B8BC8 800B7FC8 01030019 */ multu $t0, $v1 -/* 0B8BCC 800B7FCC 00008012 */ mflo $s0 -/* 0B8BD0 800B7FD0 2610001F */ addiu $s0, $s0, 0x1f -/* 0B8BD4 800B7FD4 02012824 */ and $a1, $s0, $at -/* 0B8BD8 800B7FD8 0C02EB43 */ jal dma_sample_data -/* 0B8BDC 800B7FDC 00A08025 */ move $s0, $a1 -/* 0B8BE0 800B7FE0 8FAB011C */ lw $t3, 0x11c($sp) -/* 0B8BE4 800B7FE4 8FAC0118 */ lw $t4, 0x118($sp) -/* 0B8BE8 800B7FE8 8FAD00E4 */ lw $t5, 0xe4($sp) -/* 0B8BEC 800B7FEC 8FBF00D8 */ lw $ra, 0xd8($sp) -/* 0B8BF0 800B7FF0 00402025 */ move $a0, $v0 -.L800B7FF4: -/* 0B8BF4 800B7FF4 240F0540 */ li $t7, 1344 -/* 0B8BF8 800B7FF8 01F04823 */ subu $t1, $t7, $s0 -/* 0B8BFC 800B7FFC 0009C400 */ sll $t8, $t1, 0x10 -/* 0B8C00 800B8000 00107103 */ sra $t6, $s0, 4 -/* 0B8C04 800B8004 31CF00FF */ andi $t7, $t6, 0xff -/* 0B8C08 800B8008 00184C03 */ sra $t1, $t8, 0x10 -/* 0B8C0C 800B800C 000FC400 */ sll $t8, $t7, 0x10 -/* 0B8C10 800B8010 3C011400 */ lui $at, 0x1400 -/* 0B8C14 800B8014 0301C825 */ or $t9, $t8, $at -/* 0B8C18 800B8018 308A000F */ andi $t2, $a0, 0xf -/* 0B8C1C 800B801C 312EFFFF */ andi $t6, $t1, 0xffff -/* 0B8C20 800B8020 032E7825 */ or $t7, $t9, $t6 -/* 0B8C24 800B8024 008AC023 */ subu $t8, $a0, $t2 -/* 0B8C28 800B8028 3C018000 */ lui $at, 0x8000 -/* 0B8C2C 800B802C 02401825 */ move $v1, $s2 -/* 0B8C30 800B8030 0301C821 */ addu $t9, $t8, $at -/* 0B8C34 800B8034 AC790004 */ sw $t9, 4($v1) -/* 0B8C38 800B8038 AC6F0000 */ sw $t7, ($v1) -/* 0B8C3C 800B803C 92E50000 */ lbu $a1, ($s7) -/* 0B8C40 800B8040 1000000B */ b .L800B8070 -/* 0B8C44 800B8044 26520008 */ addiu $s2, $s2, 8 -.L800B8048: -/* 0B8C48 800B8048 000870C0 */ sll $t6, $t0, 3 -/* 0B8C4C 800B804C 01C87021 */ addu $t6, $t6, $t0 -/* 0B8C50 800B8050 25CF001F */ addiu $t7, $t6, 0x1f -/* 0B8C54 800B8054 31F8FFF0 */ andi $t8, $t7, 0xfff0 -/* 0B8C58 800B8058 24190540 */ li $t9, 1344 -/* 0B8C5C 800B805C 03384823 */ subu $t1, $t9, $t8 -/* 0B8C60 800B8060 00097400 */ sll $t6, $t1, 0x10 -/* 0B8C64 800B8064 00008825 */ move $s1, $zero -/* 0B8C68 800B8068 000E4C03 */ sra $t1, $t6, 0x10 -/* 0B8C6C 800B806C 92E50000 */ lbu $a1, ($s7) -.L800B8070: -/* 0B8C70 800B8070 10A0000D */ beqz $a1, .L800B80A8 -/* 0B8C74 800B8074 02401025 */ move $v0, $s2 -/* 0B8C78 800B8078 3C190F00 */ lui $t9, 0xf00 -/* 0B8C7C 800B807C AC590000 */ sw $t9, ($v0) -/* 0B8C80 800B8080 8FB80130 */ lw $t8, 0x130($sp) -/* 0B8C84 800B8084 3C018000 */ lui $at, (0x80000010 >> 16) # lui $at, 0x8000 -/* 0B8C88 800B8088 34210010 */ ori $at, (0x80000010 & 0xFFFF) # ori $at, $at, 0x10 -/* 0B8C8C 800B808C 8F0E0008 */ lw $t6, 8($t8) -/* 0B8C90 800B8090 24190002 */ li $t9, 2 -/* 0B8C94 800B8094 26520008 */ addiu $s2, $s2, 8 -/* 0B8C98 800B8098 01C17821 */ addu $t7, $t6, $at -/* 0B8C9C 800B809C AC4F0004 */ sw $t7, 4($v0) -/* 0B8CA0 800B80A0 AFB90114 */ sw $t9, 0x114($sp) -/* 0B8CA4 800B80A4 A2E00000 */ sb $zero, ($s7) -.L800B80A8: -/* 0B8CA8 800B80A8 17C0001E */ bnez $fp, .L800B8124 -/* 0B8CAC 800B80AC 02401825 */ move $v1, $s2 -/* 0B8CB0 800B80B0 012AC021 */ addu $t8, $t1, $t2 -/* 0B8CB4 800B80B4 330EFFFF */ andi $t6, $t8, 0xffff -/* 0B8CB8 800B80B8 3C010800 */ lui $at, 0x800 -/* 0B8CBC 800B80BC 01C17825 */ or $t7, $t6, $at -/* 0B8CC0 800B80C0 00113040 */ sll $a2, $s1, 1 -/* 0B8CC4 800B80C4 30D9FFFF */ andi $t9, $a2, 0xffff -/* 0B8CC8 800B80C8 3C0101A0 */ lui $at, 0x1a0 -/* 0B8CCC 800B80CC 02401025 */ move $v0, $s2 -/* 0B8CD0 800B80D0 0321C025 */ or $t8, $t9, $at -/* 0B8CD4 800B80D4 AC580004 */ sw $t8, 4($v0) -/* 0B8CD8 800B80D8 AC4F0000 */ sw $t7, ($v0) -/* 0B8CDC 800B80DC 8FAE0114 */ lw $t6, 0x114($sp) -/* 0B8CE0 800B80E0 26520008 */ addiu $s2, $s2, 8 -/* 0B8CE4 800B80E4 3C010100 */ lui $at, 0x100 -/* 0B8CE8 800B80E8 31CF00FF */ andi $t7, $t6, 0xff -/* 0B8CEC 800B80EC 000FCC00 */ sll $t9, $t7, 0x10 -/* 0B8CF0 800B80F0 0321C025 */ or $t8, $t9, $at -/* 0B8CF4 800B80F4 02401825 */ move $v1, $s2 -/* 0B8CF8 800B80F8 AC780000 */ sw $t8, ($v1) -/* 0B8CFC 800B80FC 8EEE000C */ lw $t6, 0xc($s7) -/* 0B8D00 800B8100 3C018000 */ lui $at, 0x8000 -/* 0B8D04 800B8104 0235C021 */ addu $t8, $s1, $s5 -/* 0B8D08 800B8108 01C17821 */ addu $t7, $t6, $at -/* 0B8D0C 800B810C AC6F0004 */ sw $t7, 4($v1) -/* 0B8D10 800B8110 0013C840 */ sll $t9, $s3, 1 -/* 0B8D14 800B8114 26520008 */ addiu $s2, $s2, 8 -/* 0B8D18 800B8118 AFB900FC */ sw $t9, 0xfc($sp) -/* 0B8D1C 800B811C 10000030 */ b .L800B81E0 -/* 0B8D20 800B8120 03163823 */ subu $a3, $t8, $s6 -.L800B8124: -/* 0B8D24 800B8124 012A7021 */ addu $t6, $t1, $t2 -/* 0B8D28 800B8128 31CFFFFF */ andi $t7, $t6, 0xffff -/* 0B8D2C 800B812C 3C010800 */ lui $at, 0x800 -/* 0B8D30 800B8130 01E1C825 */ or $t9, $t7, $at -/* 0B8D34 800B8134 2401FFF0 */ li $at, -16 -/* 0B8D38 800B8138 2682001F */ addiu $v0, $s4, 0x1f -/* 0B8D3C 800B813C 0041C024 */ and $t8, $v0, $at -/* 0B8D40 800B8140 270F01A0 */ addiu $t7, $t8, 0x1a0 -/* 0B8D44 800B8144 03001025 */ move $v0, $t8 -/* 0B8D48 800B8148 AC790000 */ sw $t9, ($v1) -/* 0B8D4C 800B814C 00113040 */ sll $a2, $s1, 1 -/* 0B8D50 800B8150 30D8FFFF */ andi $t8, $a2, 0xffff -/* 0B8D54 800B8154 000FCC00 */ sll $t9, $t7, 0x10 -/* 0B8D58 800B8158 03387025 */ or $t6, $t9, $t8 -/* 0B8D5C 800B815C AC6E0004 */ sw $t6, 4($v1) -/* 0B8D60 800B8160 8FAF0114 */ lw $t7, 0x114($sp) -/* 0B8D64 800B8164 26520008 */ addiu $s2, $s2, 8 -/* 0B8D68 800B8168 3C010100 */ lui $at, 0x100 -/* 0B8D6C 800B816C 31F900FF */ andi $t9, $t7, 0xff -/* 0B8D70 800B8170 0019C400 */ sll $t8, $t9, 0x10 -/* 0B8D74 800B8174 03017025 */ or $t6, $t8, $at -/* 0B8D78 800B8178 02402025 */ move $a0, $s2 -/* 0B8D7C 800B817C AC8E0000 */ sw $t6, ($a0) -/* 0B8D80 800B8180 8EEF000C */ lw $t7, 0xc($s7) -/* 0B8D84 800B8184 3C018000 */ lui $at, 0x8000 -/* 0B8D88 800B8188 0013C040 */ sll $t8, $s3, 1 -/* 0B8D8C 800B818C 01E1C821 */ addu $t9, $t7, $at -/* 0B8D90 800B8190 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff -/* 0B8D94 800B8194 00587021 */ addu $t6, $v0, $t8 -/* 0B8D98 800B8198 AC990004 */ sw $t9, 4($a0) -/* 0B8D9C 800B819C 25CF01A0 */ addiu $t7, $t6, 0x1a0 -/* 0B8DA0 800B81A0 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 0B8DA4 800B81A4 01E1C824 */ and $t9, $t7, $at -/* 0B8DA8 800B81A8 3C010A00 */ lui $at, 0xa00 -/* 0B8DAC 800B81AC 26520008 */ addiu $s2, $s2, 8 -/* 0B8DB0 800B81B0 0321C025 */ or $t8, $t9, $at -/* 0B8DB4 800B81B4 02357021 */ addu $t6, $s1, $s5 -/* 0B8DB8 800B81B8 01D63823 */ subu $a3, $t6, $s6 -/* 0B8DBC 800B81BC 02402825 */ move $a1, $s2 -/* 0B8DC0 800B81C0 ACB80000 */ sw $t8, ($a1) -/* 0B8DC4 800B81C4 00077040 */ sll $t6, $a3, 1 -/* 0B8DC8 800B81C8 269901A0 */ addiu $t9, $s4, 0x1a0 -/* 0B8DCC 800B81CC 0019C400 */ sll $t8, $t9, 0x10 -/* 0B8DD0 800B81D0 31CFFFFF */ andi $t7, $t6, 0xffff -/* 0B8DD4 800B81D4 030FC825 */ or $t9, $t8, $t7 -/* 0B8DD8 800B81D8 ACB90004 */ sw $t9, 4($a1) -/* 0B8DDC 800B81DC 26520008 */ addiu $s2, $s2, 8 -.L800B81E0: -/* 0B8DE0 800B81E0 8FAE0114 */ lw $t6, 0x114($sp) -/* 0B8DE4 800B81E4 24010001 */ li $at, 1 -/* 0B8DE8 800B81E8 03C7F021 */ addu $fp, $fp, $a3 -/* 0B8DEC 800B81EC 11C10006 */ beq $t6, $at, .L800B8208 -/* 0B8DF0 800B81F0 24180020 */ li $t8, 32 -/* 0B8DF4 800B81F4 39C20002 */ xori $v0, $t6, 2 -/* 0B8DF8 800B81F8 10400007 */ beqz $v0, .L800B8218 -/* 0B8DFC 800B81FC AFA00114 */ sw $zero, 0x114($sp) -/* 0B8E00 800B8200 10000008 */ b .L800B8224 -/* 0B8E04 800B8204 0007C840 */ sll $t9, $a3, 1 -.L800B8208: -/* 0B8E08 800B8208 AFB800FC */ sw $t8, 0xfc($sp) -/* 0B8E0C 800B820C 24D40020 */ addiu $s4, $a2, 0x20 -/* 0B8E10 800B8210 1000000B */ b .L800B8240 -/* 0B8E14 800B8214 AFA00114 */ sw $zero, 0x114($sp) -.L800B8218: -/* 0B8E18 800B8218 00077840 */ sll $t7, $a3, 1 -/* 0B8E1C 800B821C 10000008 */ b .L800B8240 -/* 0B8E20 800B8220 01F4A021 */ addu $s4, $t7, $s4 -.L800B8224: -/* 0B8E24 800B8224 52800004 */ beql $s4, $zero, .L800B8238 -/* 0B8E28 800B8228 0267A021 */ addu $s4, $s3, $a3 -/* 0B8E2C 800B822C 10000004 */ b .L800B8240 -/* 0B8E30 800B8230 0334A021 */ addu $s4, $t9, $s4 -/* 0B8E34 800B8234 0267A021 */ addu $s4, $s3, $a3 -.L800B8238: -/* 0B8E38 800B8238 00147040 */ sll $t6, $s4, 1 -/* 0B8E3C 800B823C 01C0A025 */ move $s4, $t6 -.L800B8240: -/* 0B8E40 800B8240 1160001E */ beqz $t3, .L800B82BC -/* 0B8E44 800B8244 240F0001 */ li $t7, 1 -/* 0B8E48 800B8248 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff -/* 0B8E4C 800B824C 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 0B8E50 800B8250 269801A0 */ addiu $t8, $s4, 0x1a0 -/* 0B8E54 800B8254 03017824 */ and $t7, $t8, $at -/* 0B8E58 800B8258 8FB00144 */ lw $s0, 0x144($sp) -/* 0B8E5C 800B825C 8FB1008C */ lw $s1, 0x8c($sp) -/* 0B8E60 800B8260 3C010200 */ lui $at, 0x200 -/* 0B8E64 800B8264 02401025 */ move $v0, $s2 -/* 0B8E68 800B8268 01BE7023 */ subu $t6, $t5, $fp -/* 0B8E6C 800B826C 000EC040 */ sll $t8, $t6, 1 -/* 0B8E70 800B8270 01E1C825 */ or $t9, $t7, $at -/* 0B8E74 800B8274 AC590000 */ sw $t9, ($v0) -/* 0B8E78 800B8278 AC580004 */ sw $t8, 4($v0) -/* 0B8E7C 800B827C 92190000 */ lbu $t9, ($s0) -/* 0B8E80 800B8280 26520008 */ addiu $s2, $s2, 8 -/* 0B8E84 800B8284 372E0020 */ ori $t6, $t9, 0x20 -/* 0B8E88 800B8288 A20E0000 */ sb $t6, ($s0) -/* 0B8E8C 800B828C 922F00B0 */ lbu $t7, 0xb0($s1) -/* 0B8E90 800B8290 35F90020 */ ori $t9, $t7, 0x20 -/* 0B8E94 800B8294 A23900B0 */ sb $t9, 0xb0($s1) -/* 0B8E98 800B8298 922E00B0 */ lbu $t6, 0xb0($s1) -/* 0B8E9C 800B829C 31D8FF7F */ andi $t8, $t6, 0xff7f -/* 0B8EA0 800B82A0 A23800B0 */ sb $t8, 0xb0($s1) -/* 0B8EA4 800B82A4 AFAD00E4 */ sw $t5, 0xe4($sp) -/* 0B8EA8 800B82A8 8FA50140 */ lw $a1, 0x140($sp) -/* 0B8EAC 800B82AC 0C02DBED */ jal func_800B6FB4 -/* 0B8EB0 800B82B0 8FA40158 */ lw $a0, 0x158($sp) -/* 0B8EB4 800B82B4 1000000D */ b .L800B82EC -/* 0B8EB8 800B82B8 8FAD00E4 */ lw $t5, 0xe4($sp) -.L800B82BC: -/* 0B8EBC 800B82BC 51800007 */ beql $t4, $zero, .L800B82DC -/* 0B8EC0 800B82C0 8EF80008 */ lw $t8, 8($s7) -/* 0B8EC4 800B82C4 A2EF0000 */ sb $t7, ($s7) -/* 0B8EC8 800B82C8 8FB9012C */ lw $t9, 0x12c($sp) -/* 0B8ECC 800B82CC 8F2E0000 */ lw $t6, ($t9) -/* 0B8ED0 800B82D0 10000004 */ b .L800B82E4 -/* 0B8ED4 800B82D4 AEEE0008 */ sw $t6, 8($s7) -/* 0B8ED8 800B82D8 8EF80008 */ lw $t8, 8($s7) -.L800B82DC: -/* 0B8EDC 800B82DC 031F7821 */ addu $t7, $t8, $ra -/* 0B8EE0 800B82E0 AEEF0008 */ sw $t7, 8($s7) -.L800B82E4: -/* 0B8EE4 800B82E4 57CDFEE5 */ bnel $fp, $t5, .L800B7E7C -/* 0B8EE8 800B82E8 8EE60008 */ lw $a2, 8($s7) -.L800B82EC: -/* 0B8EEC 800B82EC 8FB900B0 */ lw $t9, 0xb0($sp) -.L800B82F0: -/* 0B8EF0 800B82F0 24010001 */ li $at, 1 -/* 0B8EF4 800B82F4 8FB00144 */ lw $s0, 0x144($sp) -/* 0B8EF8 800B82F8 13210009 */ beq $t9, $at, .L800B8320 -/* 0B8EFC 800B82FC 8FB800FC */ lw $t8, 0xfc($sp) -/* 0B8F00 800B8300 24010002 */ li $at, 2 -/* 0B8F04 800B8304 1321000E */ beq $t9, $at, .L800B8340 -/* 0B8F08 800B8308 8FB800AC */ lw $t8, 0xac($sp) -/* 0B8F0C 800B830C 8E040000 */ lw $a0, ($s0) -/* 0B8F10 800B8310 00041880 */ sll $v1, $a0, 2 -/* 0B8F14 800B8314 000377C2 */ srl $t6, $v1, 0x1f -/* 0B8F18 800B8318 10000052 */ b .L800B8464 -/* 0B8F1C 800B831C 01C01825 */ move $v1, $t6 -.L800B8320: -/* 0B8F20 800B8320 8FB90144 */ lw $t9, 0x144($sp) -/* 0B8F24 800B8324 270F01A0 */ addiu $t7, $t8, 0x1a0 -/* 0B8F28 800B8328 A7AF009E */ sh $t7, 0x9e($sp) -/* 0B8F2C 800B832C 8F240000 */ lw $a0, ($t9) -/* 0B8F30 800B8330 00041880 */ sll $v1, $a0, 2 -/* 0B8F34 800B8334 000377C2 */ srl $t6, $v1, 0x1f -/* 0B8F38 800B8338 1000004A */ b .L800B8464 -/* 0B8F3C 800B833C 01C01825 */ move $v1, $t6 -.L800B8340: -/* 0B8F40 800B8340 13000009 */ beqz $t8, .L800B8368 -/* 0B8F44 800B8344 8FA50144 */ lw $a1, 0x144($sp) -/* 0B8F48 800B8348 24010001 */ li $at, 1 -/* 0B8F4C 800B834C 1301002E */ beq $t8, $at, .L800B8408 -/* 0B8F50 800B8350 02401025 */ move $v0, $s2 -/* 0B8F54 800B8354 8E040000 */ lw $a0, ($s0) -/* 0B8F58 800B8358 00041880 */ sll $v1, $a0, 2 -/* 0B8F5C 800B835C 00037FC2 */ srl $t7, $v1, 0x1f -/* 0B8F60 800B8360 10000040 */ b .L800B8464 -/* 0B8F64 800B8364 01E01825 */ move $v1, $t7 -.L800B8368: -/* 0B8F68 800B8368 02401025 */ move $v0, $s2 -/* 0B8F6C 800B836C 26520008 */ addiu $s2, $s2, 8 -/* 0B8F70 800B8370 05A10003 */ bgez $t5, .L800B8380 -/* 0B8F74 800B8374 000DC843 */ sra $t9, $t5, 1 -/* 0B8F78 800B8378 25A10001 */ addiu $at, $t5, 1 -/* 0B8F7C 800B837C 0001C843 */ sra $t9, $at, 1 -.L800B8380: -/* 0B8F80 800B8380 27380007 */ addiu $t8, $t9, 7 -/* 0B8F84 800B8384 330FFFF8 */ andi $t7, $t8, 0xfff8 -/* 0B8F88 800B8388 3C011100 */ lui $at, 0x1100 -/* 0B8F8C 800B838C 01E1C825 */ or $t9, $t7, $at -/* 0B8F90 800B8390 AC590000 */ sw $t9, ($v0) -/* 0B8F94 800B8394 8FAE00FC */ lw $t6, 0xfc($sp) -/* 0B8F98 800B8398 24180020 */ li $t8, 32 -/* 0B8F9C 800B839C 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff -/* 0B8FA0 800B83A0 25CF01A0 */ addiu $t7, $t6, 0x1a0 -/* 0B8FA4 800B83A4 000FCC00 */ sll $t9, $t7, 0x10 -/* 0B8FA8 800B83A8 372E0020 */ ori $t6, $t9, 0x20 -/* 0B8FAC 800B83AC AC4E0004 */ sw $t6, 4($v0) -/* 0B8FB0 800B83B0 AFAD00A0 */ sw $t5, 0xa0($sp) -/* 0B8FB4 800B83B4 A7B8009E */ sh $t8, 0x9e($sp) -/* 0B8FB8 800B83B8 8CA40000 */ lw $a0, ($a1) -/* 0B8FBC 800B83BC 02401025 */ move $v0, $s2 -/* 0B8FC0 800B83C0 25B90020 */ addiu $t9, $t5, 0x20 -/* 0B8FC4 800B83C4 00041880 */ sll $v1, $a0, 2 -/* 0B8FC8 800B83C8 00037FC2 */ srl $t7, $v1, 0x1f -/* 0B8FCC 800B83CC 11E00025 */ beqz $t7, .L800B8464 -/* 0B8FD0 800B83D0 01E01825 */ move $v1, $t7 -/* 0B8FD4 800B83D4 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 0B8FD8 800B83D8 03217024 */ and $t6, $t9, $at -/* 0B8FDC 800B83DC 3C010200 */ lui $at, 0x200 -/* 0B8FE0 800B83E0 01C1C025 */ or $t8, $t6, $at -/* 0B8FE4 800B83E4 25AF0010 */ addiu $t7, $t5, 0x10 -/* 0B8FE8 800B83E8 AC4F0004 */ sw $t7, 4($v0) -/* 0B8FEC 800B83EC AC580000 */ sw $t8, ($v0) -/* 0B8FF0 800B83F0 8CA40000 */ lw $a0, ($a1) -/* 0B8FF4 800B83F4 26520008 */ addiu $s2, $s2, 8 -/* 0B8FF8 800B83F8 00041880 */ sll $v1, $a0, 2 -/* 0B8FFC 800B83FC 0003CFC2 */ srl $t9, $v1, 0x1f -/* 0B9000 800B8400 10000018 */ b .L800B8464 -/* 0B9004 800B8404 03201825 */ move $v1, $t9 -.L800B8408: -/* 0B9008 800B8408 26520008 */ addiu $s2, $s2, 8 -/* 0B900C 800B840C 05A10003 */ bgez $t5, .L800B841C -/* 0B9010 800B8410 000D7043 */ sra $t6, $t5, 1 -/* 0B9014 800B8414 25A10001 */ addiu $at, $t5, 1 -/* 0B9018 800B8418 00017043 */ sra $t6, $at, 1 -.L800B841C: -/* 0B901C 800B841C 25CF0007 */ addiu $t7, $t6, 7 -/* 0B9020 800B8420 31F9FFF8 */ andi $t9, $t7, 0xfff8 -/* 0B9024 800B8424 3C011100 */ lui $at, 0x1100 -/* 0B9028 800B8428 03217025 */ or $t6, $t9, $at -/* 0B902C 800B842C AC4E0000 */ sw $t6, ($v0) -/* 0B9030 800B8430 8FB800FC */ lw $t8, 0xfc($sp) -/* 0B9034 800B8434 271901A0 */ addiu $t9, $t8, 0x1a0 -/* 0B9038 800B8438 8FB800A0 */ lw $t8, 0xa0($sp) -/* 0B903C 800B843C 00197400 */ sll $t6, $t9, 0x10 -/* 0B9040 800B8440 270F0020 */ addiu $t7, $t8, 0x20 -/* 0B9044 800B8444 31F9FFFF */ andi $t9, $t7, 0xffff -/* 0B9048 800B8448 01D9C025 */ or $t8, $t6, $t9 -/* 0B904C 800B844C AC580004 */ sw $t8, 4($v0) -/* 0B9050 800B8450 8FAF0144 */ lw $t7, 0x144($sp) -/* 0B9054 800B8454 8DE40000 */ lw $a0, ($t7) -/* 0B9058 800B8458 00041880 */ sll $v1, $a0, 2 -/* 0B905C 800B845C 000377C2 */ srl $t6, $v1, 0x1f -/* 0B9060 800B8460 01C01825 */ move $v1, $t6 -.L800B8464: -/* 0B9064 800B8464 10600003 */ beqz $v1, .L800B8474 -/* 0B9068 800B8468 8FA200AC */ lw $v0, 0xac($sp) -/* 0B906C 800B846C 10000007 */ b .L800B848C -/* 0B9070 800B8470 AFB20154 */ sw $s2, 0x154($sp) -.L800B8474: -/* 0B9074 800B8474 8FB900B0 */ lw $t9, 0xb0($sp) -/* 0B9078 800B8478 24420001 */ addiu $v0, $v0, 1 -/* 0B907C 800B847C AFA200AC */ sw $v0, 0xac($sp) -/* 0B9080 800B8480 5459FE46 */ bnel $v0, $t9, .L800B7D9C -/* 0B9084 800B8484 8FAF0130 */ lw $t7, 0x130($sp) -/* 0B9088 800B8488 AFB20154 */ sw $s2, 0x154($sp) -.L800B848C: -/* 0B908C 800B848C 0004C040 */ sll $t8, $a0, 1 -/* 0B9090 800B8490 00187FC2 */ srl $t7, $t8, 0x1f -/* 0B9094 800B8494 24010001 */ li $at, 1 -/* 0B9098 800B8498 8FB20154 */ lw $s2, 0x154($sp) -/* 0B909C 800B849C 15E10006 */ bne $t7, $at, .L800B84B8 -/* 0B90A0 800B84A0 00001825 */ move $v1, $zero -/* 0B90A4 800B84A4 8FAE0144 */ lw $t6, 0x144($sp) -/* 0B90A8 800B84A8 24030001 */ li $v1, 1 -/* 0B90AC 800B84AC 91D90000 */ lbu $t9, ($t6) -/* 0B90B0 800B84B0 3338FFBF */ andi $t8, $t9, 0xffbf -/* 0B90B4 800B84B4 A1D80000 */ sb $t8, ($t6) -.L800B84B8: -/* 0B90B8 800B84B8 8FB30150 */ lw $s3, 0x150($sp) -/* 0B90BC 800B84BC 97B9009E */ lhu $t9, 0x9e($sp) -/* 0B90C0 800B84C0 02402025 */ move $a0, $s2 -/* 0B90C4 800B84C4 00133040 */ sll $a2, $s3, 1 -/* 0B90C8 800B84C8 00C09825 */ move $s3, $a2 -/* 0B90CC 800B84CC 02E02825 */ move $a1, $s7 -/* 0B90D0 800B84D0 97A70112 */ lhu $a3, 0x112($sp) -/* 0B90D4 800B84D4 AFA30014 */ sw $v1, 0x14($sp) -/* 0B90D8 800B84D8 AFA30114 */ sw $v1, 0x114($sp) -/* 0B90DC 800B84DC 0C02E191 */ jal final_resample -/* 0B90E0 800B84E0 AFB90010 */ sw $t9, 0x10($sp) -/* 0B90E4 800B84E4 8FB10144 */ lw $s1, 0x144($sp) -/* 0B90E8 800B84E8 00409025 */ move $s2, $v0 -/* 0B90EC 800B84EC 8FB40114 */ lw $s4, 0x114($sp) -/* 0B90F0 800B84F0 92380003 */ lbu $t8, 3($s1) -/* 0B90F4 800B84F4 02402025 */ move $a0, $s2 -/* 0B90F8 800B84F8 02E03025 */ move $a2, $s7 -/* 0B90FC 800B84FC 17000004 */ bnez $t8, .L800B8510 -/* 0B9100 800B8500 02202825 */ move $a1, $s1 -/* 0B9104 800B8504 92EE0002 */ lbu $t6, 2($s7) -/* 0B9108 800B8508 51C00004 */ beql $t6, $zero, .L800B851C -/* 0B910C 800B850C 922F0004 */ lbu $t7, 4($s1) -.L800B8510: -/* 0B9110 800B8510 1000000A */ b .L800B853C -/* 0B9114 800B8514 24100001 */ li $s0, 1 -/* 0B9118 800B8518 922F0004 */ lbu $t7, 4($s1) -.L800B851C: -/* 0B911C 800B851C 15E00005 */ bnez $t7, .L800B8534 -/* 0B9120 800B8520 00000000 */ nop -/* 0B9124 800B8524 92F90003 */ lbu $t9, 3($s7) -/* 0B9128 800B8528 00008025 */ move $s0, $zero -/* 0B912C 800B852C 13200003 */ beqz $t9, .L800B853C -/* 0B9130 800B8530 00000000 */ nop -.L800B8534: -/* 0B9134 800B8534 10000001 */ b .L800B853C -/* 0B9138 800B8538 24100002 */ li $s0, 2 -.L800B853C: -/* 0B913C 800B853C 8FA70150 */ lw $a3, 0x150($sp) -/* 0B9140 800B8540 AFA00010 */ sw $zero, 0x10($sp) -/* 0B9144 800B8544 AFB00014 */ sw $s0, 0x14($sp) -/* 0B9148 800B8548 0C02E1A8 */ jal func_800B86A0 -/* 0B914C 800B854C AFB40018 */ sw $s4, 0x18($sp) -/* 0B9150 800B8550 92380000 */ lbu $t8, ($s1) -/* 0B9154 800B8554 00409025 */ move $s2, $v0 -/* 0B9158 800B8558 00402025 */ move $a0, $v0 -/* 0B915C 800B855C 330E0001 */ andi $t6, $t8, 1 -/* 0B9160 800B8560 11C00007 */ beqz $t6, .L800B8580 -/* 0B9164 800B8564 02202825 */ move $a1, $s1 -/* 0B9168 800B8568 02E03025 */ move $a2, $s7 -/* 0B916C 800B856C 02603825 */ move $a3, $s3 -/* 0B9170 800B8570 AFB40010 */ sw $s4, 0x10($sp) -/* 0B9174 800B8574 0C02E28B */ jal note_apply_headset_pan_effects -/* 0B9178 800B8578 AFB00014 */ sw $s0, 0x14($sp) -/* 0B917C 800B857C 00409025 */ move $s2, $v0 -.L800B8580: -/* 0B9180 800B8580 8FBF004C */ lw $ra, 0x4c($sp) -/* 0B9184 800B8584 02401025 */ move $v0, $s2 -/* 0B9188 800B8588 8FB20030 */ lw $s2, 0x30($sp) -/* 0B918C 800B858C 8FB00028 */ lw $s0, 0x28($sp) -/* 0B9190 800B8590 8FB1002C */ lw $s1, 0x2c($sp) -/* 0B9194 800B8594 8FB30034 */ lw $s3, 0x34($sp) -/* 0B9198 800B8598 8FB40038 */ lw $s4, 0x38($sp) -/* 0B919C 800B859C 8FB5003C */ lw $s5, 0x3c($sp) -/* 0B91A0 800B85A0 8FB60040 */ lw $s6, 0x40($sp) -/* 0B91A4 800B85A4 8FB70044 */ lw $s7, 0x44($sp) -/* 0B91A8 800B85A8 8FBE0048 */ lw $fp, 0x48($sp) -/* 0B91AC 800B85AC 03E00008 */ jr $ra -/* 0B91B0 800B85B0 27BD0140 */ addiu $sp, $sp, 0x140 diff --git a/asm/non_matchings/code_80057C60/func_8005F90C.s b/asm/non_matchings/code_80057C60/func_8005F90C.s deleted file mode 100644 index 783f99016..000000000 --- a/asm/non_matchings/code_80057C60/func_8005F90C.s +++ /dev/null @@ -1,822 +0,0 @@ -.section .late_rodata - -glabel jpt_800EE52C -.word L800603C8, L8005F9A0, L8005FF28, L800603C8 -.word L800602A0, L800603C8, L8005FE00, L8005FC60 -.word L800604EC, L80060050, L800602A0, L800604EC -.word L80060178 - -.section .text - -glabel func_8005F90C -/* 06050C 8005F90C 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 060510 8005F910 AFBF0034 */ sw $ra, 0x34($sp) -/* 060514 8005F914 AFB20030 */ sw $s2, 0x30($sp) -/* 060518 8005F918 AFB1002C */ sw $s1, 0x2c($sp) -/* 06051C 8005F91C AFB00028 */ sw $s0, 0x28($sp) -/* 060520 8005F920 AFA5003C */ sw $a1, 0x3c($sp) -/* 060524 8005F924 AFA70044 */ sw $a3, 0x44($sp) -/* 060528 8005F928 8C8E00BC */ lw $t6, 0xbc($a0) -/* 06052C 8005F92C 24010080 */ li $at, 128 -/* 060530 8005F930 00808825 */ move $s1, $a0 -/* 060534 8005F934 31CF0080 */ andi $t7, $t6, 0x80 -/* 060538 8005F938 15E10009 */ bne $t7, $at, .L8005F960 -/* 06053C 8005F93C 00004825 */ move $t1, $zero -/* 060540 8005F940 C4840018 */ lwc1 $f4, 0x18($a0) -/* 060544 8005F944 C4860070 */ lwc1 $f6, 0x70($a0) -/* 060548 8005F948 C4800014 */ lwc1 $f0, 0x14($a0) -/* 06054C 8005F94C C48C001C */ lwc1 $f12, 0x1c($a0) -/* 060550 8005F950 24090001 */ li $t1, 1 -/* 060554 8005F954 908201D4 */ lbu $v0, 0x1d4($a0) -/* 060558 8005F958 10000007 */ b .L8005F978 -/* 06055C 8005F95C 46062081 */ sub.s $f2, $f4, $f6 -.L8005F960: -/* 060560 8005F960 C6280018 */ lwc1 $f8, 0x18($s1) -/* 060564 8005F964 C62A0070 */ lwc1 $f10, 0x70($s1) -/* 060568 8005F968 C6200014 */ lwc1 $f0, 0x14($s1) -/* 06056C 8005F96C C62C001C */ lwc1 $f12, 0x1c($s1) -/* 060570 8005F970 922201EC */ lbu $v0, 0x1ec($s1) -/* 060574 8005F974 460A4081 */ sub.s $f2, $f8, $f10 -.L8005F978: -/* 060578 8005F978 244CFFFF */ addiu $t4, $v0, -1 -/* 06057C 8005F97C 2D81000D */ sltiu $at, $t4, 0xd -/* 060580 8005F980 102002DA */ beqz $at, .L800604EC -/* 060584 8005F984 00401825 */ move $v1, $v0 -/* 060588 8005F988 000C6080 */ sll $t4, $t4, 2 -/* 06058C 8005F98C 3C01800F */ lui $at, %hi(jpt_800EE52C) -/* 060590 8005F990 002C0821 */ addu $at, $at, $t4 -/* 060594 8005F994 8C2CE52C */ lw $t4, %lo(jpt_800EE52C)($at) -/* 060598 8005F998 01800008 */ jr $t4 -/* 06059C 8005F99C 00000000 */ nop -glabel L8005F9A0 -/* 0605A0 8005F9A0 87AD003E */ lh $t5, 0x3e($sp) -/* 0605A4 8005F9A4 24080048 */ li $t0, 72 -/* 0605A8 8005F9A8 55A00059 */ bnel $t5, $zero, .L8005FB10 -/* 0605AC 8005F9AC 24080048 */ li $t0, 72 -/* 0605B0 8005F9B0 00C80019 */ multu $a2, $t0 -/* 0605B4 8005F9B4 87B9003E */ lh $t9, 0x3e($sp) -/* 0605B8 8005F9B8 00007012 */ mflo $t6 -/* 0605BC 8005F9BC 022E1021 */ addu $v0, $s1, $t6 -/* 0605C0 8005F9C0 844F0546 */ lh $t7, 0x546($v0) -/* 0605C4 8005F9C4 1DE00004 */ bgtz $t7, .L8005F9D8 -/* 0605C8 8005F9C8 00000000 */ nop -/* 0605CC 8005F9CC 84580544 */ lh $t8, 0x544($v0) -/* 0605D0 8005F9D0 5700004F */ bnel $t8, $zero, .L8005FB10 -/* 0605D4 8005F9D4 24080048 */ li $t0, 72 -.L8005F9D8: -/* 0605D8 8005F9D8 03280019 */ multu $t9, $t0 -/* 0605DC 8005F9DC 44060000 */ mfc1 $a2, $f0 -/* 0605E0 8005F9E0 44071000 */ mfc1 $a3, $f2 -/* 0605E4 8005F9E4 02202025 */ move $a0, $s1 -/* 0605E8 8005F9E8 E7AC0010 */ swc1 $f12, 0x10($sp) -/* 0605EC 8005F9EC AFA30014 */ sw $v1, 0x14($sp) -/* 0605F0 8005F9F0 AFA90018 */ sw $t1, 0x18($sp) -/* 0605F4 8005F9F4 00005012 */ mflo $t2 -/* 0605F8 8005F9F8 022A9021 */ addu $s2, $s1, $t2 -/* 0605FC 8005F9FC 26500528 */ addiu $s0, $s2, 0x528 -/* 060600 8005FA00 0C0175E5 */ jal func_8005D794 -/* 060604 8005FA04 02002825 */ move $a1, $s0 -/* 060608 8005FA08 3C063EEB */ lui $a2, (0x3EEB851F >> 16) # lui $a2, 0x3eeb -/* 06060C 8005FA0C 34C6851F */ ori $a2, (0x3EEB851F & 0xFFFF) # ori $a2, $a2, 0x851f -/* 060610 8005FA10 02002025 */ move $a0, $s0 -/* 060614 8005FA14 0C0175F6 */ jal func_8005D7D8 -/* 060618 8005FA18 24050004 */ li $a1, 4 -/* 06061C 8005FA1C 3C03800E */ lui $v1, %hi(gCurrentCourseId) # $v1, 0x800e -/* 060620 8005FA20 8463C5A0 */ lh $v1, %lo(gCurrentCourseId)($v1) -/* 060624 8005FA24 24010001 */ li $at, 1 -/* 060628 8005FA28 02002025 */ move $a0, $s0 -/* 06062C 8005FA2C 10610003 */ beq $v1, $at, .L8005FA3C -/* 060630 8005FA30 24050001 */ li $a1, 1 -/* 060634 8005FA34 24010007 */ li $at, 7 -/* 060638 8005FA38 14610005 */ bne $v1, $at, .L8005FA50 -.L8005FA3C: -/* 06063C 8005FA3C 00003025 */ move $a2, $zero -/* 060640 8005FA40 0C0176B6 */ jal func_8005DAD8 -/* 060644 8005FA44 24070080 */ li $a3, 128 -/* 060648 8005FA48 3C03800E */ lui $v1, %hi(gCurrentCourseId) # $v1, 0x800e -/* 06064C 8005FA4C 8463C5A0 */ lh $v1, %lo(gCurrentCourseId)($v1) -.L8005FA50: -/* 060650 8005FA50 2401000B */ li $at, 11 -/* 060654 8005FA54 14610007 */ bne $v1, $at, .L8005FA74 -/* 060658 8005FA58 02002025 */ move $a0, $s0 -/* 06065C 8005FA5C 24050007 */ li $a1, 7 -/* 060660 8005FA60 00003025 */ move $a2, $zero -/* 060664 8005FA64 0C0176B6 */ jal func_8005DAD8 -/* 060668 8005FA68 24070080 */ li $a3, 128 -/* 06066C 8005FA6C 3C03800E */ lui $v1, %hi(gCurrentCourseId) # $v1, 0x800e -/* 060670 8005FA70 8463C5A0 */ lh $v1, %lo(gCurrentCourseId)($v1) -.L8005FA74: -/* 060674 8005FA74 24010009 */ li $at, 9 -/* 060678 8005FA78 14610007 */ bne $v1, $at, .L8005FA98 -/* 06067C 8005FA7C 02002025 */ move $a0, $s0 -/* 060680 8005FA80 24050008 */ li $a1, 8 -/* 060684 8005FA84 00003025 */ move $a2, $zero -/* 060688 8005FA88 0C0176B6 */ jal func_8005DAD8 -/* 06068C 8005FA8C 24070080 */ li $a3, 128 -/* 060690 8005FA90 3C03800E */ lui $v1, %hi(gCurrentCourseId) # $v1, 0x800e -/* 060694 8005FA94 8463C5A0 */ lh $v1, %lo(gCurrentCourseId)($v1) -.L8005FA98: -/* 060698 8005FA98 2401000E */ li $at, 14 -/* 06069C 8005FA9C 14610007 */ bne $v1, $at, .L8005FABC -/* 0606A0 8005FAA0 02002025 */ move $a0, $s0 -/* 0606A4 8005FAA4 24050009 */ li $a1, 9 -/* 0606A8 8005FAA8 00003025 */ move $a2, $zero -/* 0606AC 8005FAAC 0C0176B6 */ jal func_8005DAD8 -/* 0606B0 8005FAB0 24070080 */ li $a3, 128 -/* 0606B4 8005FAB4 3C03800E */ lui $v1, %hi(gCurrentCourseId) # $v1, 0x800e -/* 0606B8 8005FAB8 8463C5A0 */ lh $v1, %lo(gCurrentCourseId)($v1) -.L8005FABC: -/* 0606BC 8005FABC 24010004 */ li $at, 4 -/* 0606C0 8005FAC0 14610007 */ bne $v1, $at, .L8005FAE0 -/* 0606C4 8005FAC4 02002025 */ move $a0, $s0 -/* 0606C8 8005FAC8 2405000A */ li $a1, 10 -/* 0606CC 8005FACC 00003025 */ move $a2, $zero -/* 0606D0 8005FAD0 0C0176B6 */ jal func_8005DAD8 -/* 0606D4 8005FAD4 24070080 */ li $a3, 128 -/* 0606D8 8005FAD8 3C03800E */ lui $v1, %hi(gCurrentCourseId) # $v1, 0x800e -/* 0606DC 8005FADC 8463C5A0 */ lh $v1, %lo(gCurrentCourseId)($v1) -.L8005FAE0: -/* 0606E0 8005FAE0 24010012 */ li $at, 18 -/* 0606E4 8005FAE4 14610005 */ bne $v1, $at, .L8005FAFC -/* 0606E8 8005FAE8 02002025 */ move $a0, $s0 -/* 0606EC 8005FAEC 2405000B */ li $a1, 11 -/* 0606F0 8005FAF0 00003025 */ move $a2, $zero -/* 0606F4 8005FAF4 0C0176B6 */ jal func_8005DAD8 -/* 0606F8 8005FAF8 24070080 */ li $a3, 128 -.L8005FAFC: -/* 0606FC 8005FAFC 0C0ADF8D */ jal random_int -/* 060700 8005FB00 24040010 */ li $a0, 16 -/* 060704 8005FB04 10000279 */ b .L800604EC -/* 060708 8005FB08 A6420562 */ sh $v0, 0x562($s2) -/* 06070C 8005FB0C 24080048 */ li $t0, 72 -.L8005FB10: -/* 060710 8005FB10 00C80019 */ multu $a2, $t0 -/* 060714 8005FB14 87AE003E */ lh $t6, 0x3e($sp) -/* 060718 8005FB18 00005812 */ mflo $t3 -/* 06071C 8005FB1C 022B6021 */ addu $t4, $s1, $t3 -/* 060720 8005FB20 858D0546 */ lh $t5, 0x546($t4) -/* 060724 8005FB24 59A00272 */ blezl $t5, .L800604F0 -/* 060728 8005FB28 8FBF0034 */ lw $ra, 0x34($sp) -/* 06072C 8005FB2C 01C80019 */ multu $t6, $t0 -/* 060730 8005FB30 44060000 */ mfc1 $a2, $f0 -/* 060734 8005FB34 44071000 */ mfc1 $a3, $f2 -/* 060738 8005FB38 02202025 */ move $a0, $s1 -/* 06073C 8005FB3C E7AC0010 */ swc1 $f12, 0x10($sp) -/* 060740 8005FB40 AFA30014 */ sw $v1, 0x14($sp) -/* 060744 8005FB44 AFA90018 */ sw $t1, 0x18($sp) -/* 060748 8005FB48 00007812 */ mflo $t7 -/* 06074C 8005FB4C 022F9021 */ addu $s2, $s1, $t7 -/* 060750 8005FB50 26500528 */ addiu $s0, $s2, 0x528 -/* 060754 8005FB54 0C0175E5 */ jal func_8005D794 -/* 060758 8005FB58 02002825 */ move $a1, $s0 -/* 06075C 8005FB5C 3C063EEB */ lui $a2, (0x3EEB851F >> 16) # lui $a2, 0x3eeb -/* 060760 8005FB60 34C6851F */ ori $a2, (0x3EEB851F & 0xFFFF) # ori $a2, $a2, 0x851f -/* 060764 8005FB64 02002025 */ move $a0, $s0 -/* 060768 8005FB68 0C0175F6 */ jal func_8005D7D8 -/* 06076C 8005FB6C 24050004 */ li $a1, 4 -/* 060770 8005FB70 3C03800E */ lui $v1, %hi(gCurrentCourseId) # $v1, 0x800e -/* 060774 8005FB74 8463C5A0 */ lh $v1, %lo(gCurrentCourseId)($v1) -/* 060778 8005FB78 24010001 */ li $at, 1 -/* 06077C 8005FB7C 02002025 */ move $a0, $s0 -/* 060780 8005FB80 10610003 */ beq $v1, $at, .L8005FB90 -/* 060784 8005FB84 24050001 */ li $a1, 1 -/* 060788 8005FB88 24010007 */ li $at, 7 -/* 06078C 8005FB8C 14610005 */ bne $v1, $at, .L8005FBA4 -.L8005FB90: -/* 060790 8005FB90 00003025 */ move $a2, $zero -/* 060794 8005FB94 0C0176B6 */ jal func_8005DAD8 -/* 060798 8005FB98 24070080 */ li $a3, 128 -/* 06079C 8005FB9C 3C03800E */ lui $v1, %hi(gCurrentCourseId) # $v1, 0x800e -/* 0607A0 8005FBA0 8463C5A0 */ lh $v1, %lo(gCurrentCourseId)($v1) -.L8005FBA4: -/* 0607A4 8005FBA4 2401000B */ li $at, 11 -/* 0607A8 8005FBA8 14610007 */ bne $v1, $at, .L8005FBC8 -/* 0607AC 8005FBAC 02002025 */ move $a0, $s0 -/* 0607B0 8005FBB0 24050007 */ li $a1, 7 -/* 0607B4 8005FBB4 00003025 */ move $a2, $zero -/* 0607B8 8005FBB8 0C0176B6 */ jal func_8005DAD8 -/* 0607BC 8005FBBC 24070080 */ li $a3, 128 -/* 0607C0 8005FBC0 3C03800E */ lui $v1, %hi(gCurrentCourseId) # $v1, 0x800e -/* 0607C4 8005FBC4 8463C5A0 */ lh $v1, %lo(gCurrentCourseId)($v1) -.L8005FBC8: -/* 0607C8 8005FBC8 24010009 */ li $at, 9 -/* 0607CC 8005FBCC 14610007 */ bne $v1, $at, .L8005FBEC -/* 0607D0 8005FBD0 02002025 */ move $a0, $s0 -/* 0607D4 8005FBD4 24050008 */ li $a1, 8 -/* 0607D8 8005FBD8 00003025 */ move $a2, $zero -/* 0607DC 8005FBDC 0C0176B6 */ jal func_8005DAD8 -/* 0607E0 8005FBE0 24070080 */ li $a3, 128 -/* 0607E4 8005FBE4 3C03800E */ lui $v1, %hi(gCurrentCourseId) # $v1, 0x800e -/* 0607E8 8005FBE8 8463C5A0 */ lh $v1, %lo(gCurrentCourseId)($v1) -.L8005FBEC: -/* 0607EC 8005FBEC 2401000E */ li $at, 14 -/* 0607F0 8005FBF0 14610007 */ bne $v1, $at, .L8005FC10 -/* 0607F4 8005FBF4 02002025 */ move $a0, $s0 -/* 0607F8 8005FBF8 24050009 */ li $a1, 9 -/* 0607FC 8005FBFC 00003025 */ move $a2, $zero -/* 060800 8005FC00 0C0176B6 */ jal func_8005DAD8 -/* 060804 8005FC04 24070080 */ li $a3, 128 -/* 060808 8005FC08 3C03800E */ lui $v1, %hi(gCurrentCourseId) # $v1, 0x800e -/* 06080C 8005FC0C 8463C5A0 */ lh $v1, %lo(gCurrentCourseId)($v1) -.L8005FC10: -/* 060810 8005FC10 24010004 */ li $at, 4 -/* 060814 8005FC14 14610007 */ bne $v1, $at, .L8005FC34 -/* 060818 8005FC18 02002025 */ move $a0, $s0 -/* 06081C 8005FC1C 2405000A */ li $a1, 10 -/* 060820 8005FC20 00003025 */ move $a2, $zero -/* 060824 8005FC24 0C0176B6 */ jal func_8005DAD8 -/* 060828 8005FC28 24070080 */ li $a3, 128 -/* 06082C 8005FC2C 3C03800E */ lui $v1, %hi(gCurrentCourseId) # $v1, 0x800e -/* 060830 8005FC30 8463C5A0 */ lh $v1, %lo(gCurrentCourseId)($v1) -.L8005FC34: -/* 060834 8005FC34 24010012 */ li $at, 18 -/* 060838 8005FC38 14610005 */ bne $v1, $at, .L8005FC50 -/* 06083C 8005FC3C 02002025 */ move $a0, $s0 -/* 060840 8005FC40 2405000B */ li $a1, 11 -/* 060844 8005FC44 00003025 */ move $a2, $zero -/* 060848 8005FC48 0C0176B6 */ jal func_8005DAD8 -/* 06084C 8005FC4C 24070080 */ li $a3, 128 -.L8005FC50: -/* 060850 8005FC50 0C0ADF8D */ jal random_int -/* 060854 8005FC54 24040010 */ li $a0, 16 -/* 060858 8005FC58 10000224 */ b .L800604EC -/* 06085C 8005FC5C A6420562 */ sh $v0, 0x562($s2) -glabel L8005FC60 -/* 060860 8005FC60 87B8003E */ lh $t8, 0x3e($sp) -/* 060864 8005FC64 24080048 */ li $t0, 72 -/* 060868 8005FC68 5700002F */ bnel $t8, $zero, .L8005FD28 -/* 06086C 8005FC6C 24080048 */ li $t0, 72 -/* 060870 8005FC70 00C80019 */ multu $a2, $t0 -/* 060874 8005FC74 87AC003E */ lh $t4, 0x3e($sp) -/* 060878 8005FC78 0000C812 */ mflo $t9 -/* 06087C 8005FC7C 02391021 */ addu $v0, $s1, $t9 -/* 060880 8005FC80 844A0546 */ lh $t2, 0x546($v0) -/* 060884 8005FC84 1D400004 */ bgtz $t2, .L8005FC98 -/* 060888 8005FC88 00000000 */ nop -/* 06088C 8005FC8C 844B0544 */ lh $t3, 0x544($v0) -/* 060890 8005FC90 55600025 */ bnel $t3, $zero, .L8005FD28 -/* 060894 8005FC94 24080048 */ li $t0, 72 -.L8005FC98: -/* 060898 8005FC98 01880019 */ multu $t4, $t0 -/* 06089C 8005FC9C 44060000 */ mfc1 $a2, $f0 -/* 0608A0 8005FCA0 44071000 */ mfc1 $a3, $f2 -/* 0608A4 8005FCA4 02202025 */ move $a0, $s1 -/* 0608A8 8005FCA8 E7AC0010 */ swc1 $f12, 0x10($sp) -/* 0608AC 8005FCAC AFA30014 */ sw $v1, 0x14($sp) -/* 0608B0 8005FCB0 AFA90018 */ sw $t1, 0x18($sp) -/* 0608B4 8005FCB4 00006812 */ mflo $t5 -/* 0608B8 8005FCB8 022D9021 */ addu $s2, $s1, $t5 -/* 0608BC 8005FCBC 26500528 */ addiu $s0, $s2, 0x528 -/* 0608C0 8005FCC0 0C0175E5 */ jal func_8005D794 -/* 0608C4 8005FCC4 02002825 */ move $a1, $s0 -/* 0608C8 8005FCC8 3C063DCC */ lui $a2, (0x3DCCCCCD >> 16) # lui $a2, 0x3dcc -/* 0608CC 8005FCCC 34C6CCCD */ ori $a2, (0x3DCCCCCD & 0xFFFF) # ori $a2, $a2, 0xcccd -/* 0608D0 8005FCD0 02002025 */ move $a0, $s0 -/* 0608D4 8005FCD4 0C0175F6 */ jal func_8005D7D8 -/* 0608D8 8005FCD8 24050004 */ li $a1, 4 -/* 0608DC 8005FCDC 3C0500FF */ lui $a1, (0x00FFFFFF >> 16) # lui $a1, 0xff -/* 0608E0 8005FCE0 34A5FFFF */ ori $a1, (0x00FFFFFF & 0xFFFF) # ori $a1, $a1, 0xffff -/* 0608E4 8005FCE4 02002025 */ move $a0, $s0 -/* 0608E8 8005FCE8 0C017600 */ jal func_8005D800 -/* 0608EC 8005FCEC 240600FF */ li $a2, 255 -/* 0608F0 8005FCF0 87A3003E */ lh $v1, 0x3e($sp) -/* 0608F4 8005FCF4 864F0560 */ lh $t7, 0x560($s2) -/* 0608F8 8005FCF8 86590562 */ lh $t9, 0x562($s2) -/* 0608FC 8005FCFC 864B0564 */ lh $t3, 0x564($s2) -/* 060900 8005FD00 000370C0 */ sll $t6, $v1, 3 -/* 060904 8005FD04 01EEC023 */ subu $t8, $t7, $t6 -/* 060908 8005FD08 032E5023 */ subu $t2, $t9, $t6 -/* 06090C 8005FD0C 016E6023 */ subu $t4, $t3, $t6 -/* 060910 8005FD10 24080048 */ li $t0, 72 -/* 060914 8005FD14 A6580560 */ sh $t8, 0x560($s2) -/* 060918 8005FD18 A64A0562 */ sh $t2, 0x562($s2) -/* 06091C 8005FD1C 1000002B */ b .L8005FDCC -/* 060920 8005FD20 A64C0564 */ sh $t4, 0x564($s2) -/* 060924 8005FD24 24080048 */ li $t0, 72 -.L8005FD28: -/* 060928 8005FD28 00C80019 */ multu $a2, $t0 -/* 06092C 8005FD2C 87B8003E */ lh $t8, 0x3e($sp) -/* 060930 8005FD30 00006812 */ mflo $t5 -/* 060934 8005FD34 022D7021 */ addu $t6, $s1, $t5 -/* 060938 8005FD38 85CF0546 */ lh $t7, 0x546($t6) -/* 06093C 8005FD3C 59E00024 */ blezl $t7, .L8005FDD0 -/* 060940 8005FD40 87B9003E */ lh $t9, 0x3e($sp) -/* 060944 8005FD44 03080019 */ multu $t8, $t0 -/* 060948 8005FD48 44060000 */ mfc1 $a2, $f0 -/* 06094C 8005FD4C 44071000 */ mfc1 $a3, $f2 -/* 060950 8005FD50 02202025 */ move $a0, $s1 -/* 060954 8005FD54 E7AC0010 */ swc1 $f12, 0x10($sp) -/* 060958 8005FD58 AFA30014 */ sw $v1, 0x14($sp) -/* 06095C 8005FD5C AFA90018 */ sw $t1, 0x18($sp) -/* 060960 8005FD60 0000C812 */ mflo $t9 -/* 060964 8005FD64 02399021 */ addu $s2, $s1, $t9 -/* 060968 8005FD68 26500528 */ addiu $s0, $s2, 0x528 -/* 06096C 8005FD6C 0C0175E5 */ jal func_8005D794 -/* 060970 8005FD70 02002825 */ move $a1, $s0 -/* 060974 8005FD74 3C063DCC */ lui $a2, (0x3DCCCCCD >> 16) # lui $a2, 0x3dcc -/* 060978 8005FD78 34C6CCCD */ ori $a2, (0x3DCCCCCD & 0xFFFF) # ori $a2, $a2, 0xcccd -/* 06097C 8005FD7C 02002025 */ move $a0, $s0 -/* 060980 8005FD80 0C0175F6 */ jal func_8005D7D8 -/* 060984 8005FD84 24050004 */ li $a1, 4 -/* 060988 8005FD88 3C0500FF */ lui $a1, (0x00FFFFFF >> 16) # lui $a1, 0xff -/* 06098C 8005FD8C 34A5FFFF */ ori $a1, (0x00FFFFFF & 0xFFFF) # ori $a1, $a1, 0xffff -/* 060990 8005FD90 02002025 */ move $a0, $s0 -/* 060994 8005FD94 0C017600 */ jal func_8005D800 -/* 060998 8005FD98 240600FF */ li $a2, 255 -/* 06099C 8005FD9C 87A3003E */ lh $v1, 0x3e($sp) -/* 0609A0 8005FDA0 864B0560 */ lh $t3, 0x560($s2) -/* 0609A4 8005FDA4 864D0562 */ lh $t5, 0x562($s2) -/* 0609A8 8005FDA8 864F0564 */ lh $t7, 0x564($s2) -/* 0609AC 8005FDAC 000350C0 */ sll $t2, $v1, 3 -/* 0609B0 8005FDB0 016A6023 */ subu $t4, $t3, $t2 -/* 0609B4 8005FDB4 01AA7023 */ subu $t6, $t5, $t2 -/* 0609B8 8005FDB8 01EAC023 */ subu $t8, $t7, $t2 -/* 0609BC 8005FDBC 24080048 */ li $t0, 72 -/* 0609C0 8005FDC0 A64C0560 */ sh $t4, 0x560($s2) -/* 0609C4 8005FDC4 A64E0562 */ sh $t6, 0x562($s2) -/* 0609C8 8005FDC8 A6580564 */ sh $t8, 0x564($s2) -.L8005FDCC: -/* 0609CC 8005FDCC 87B9003E */ lh $t9, 0x3e($sp) -.L8005FDD0: -/* 0609D0 8005FDD0 3C013FF8 */ li $at, 0x3FF80000 # 1.937500 -/* 0609D4 8005FDD4 44812800 */ mtc1 $at, $f5 -/* 0609D8 8005FDD8 03280019 */ multu $t9, $t0 -/* 0609DC 8005FDDC 44802000 */ mtc1 $zero, $f4 -/* 0609E0 8005FDE0 00005012 */ mflo $t2 -/* 0609E4 8005FDE4 022A9021 */ addu $s2, $s1, $t2 -/* 0609E8 8005FDE8 C650052C */ lwc1 $f16, 0x52c($s2) -/* 0609EC 8005FDEC 460084A1 */ cvt.d.s $f18, $f16 -/* 0609F0 8005FDF0 46249181 */ sub.d $f6, $f18, $f4 -/* 0609F4 8005FDF4 46203220 */ cvt.s.d $f8, $f6 -/* 0609F8 8005FDF8 100001BC */ b .L800604EC -/* 0609FC 8005FDFC E648052C */ swc1 $f8, 0x52c($s2) -glabel L8005FE00 -/* 060A00 8005FE00 87AB003E */ lh $t3, 0x3e($sp) -/* 060A04 8005FE04 24080048 */ li $t0, 72 -/* 060A08 8005FE08 55600026 */ bnel $t3, $zero, .L8005FEA4 -/* 060A0C 8005FE0C 24080048 */ li $t0, 72 -/* 060A10 8005FE10 00C80019 */ multu $a2, $t0 -/* 060A14 8005FE14 87AF003E */ lh $t7, 0x3e($sp) -/* 060A18 8005FE18 00006012 */ mflo $t4 -/* 060A1C 8005FE1C 022C1021 */ addu $v0, $s1, $t4 -/* 060A20 8005FE20 844D0546 */ lh $t5, 0x546($v0) -/* 060A24 8005FE24 1DA00004 */ bgtz $t5, .L8005FE38 -/* 060A28 8005FE28 00000000 */ nop -/* 060A2C 8005FE2C 844E0544 */ lh $t6, 0x544($v0) -/* 060A30 8005FE30 55C0001C */ bnel $t6, $zero, .L8005FEA4 -/* 060A34 8005FE34 24080048 */ li $t0, 72 -.L8005FE38: -/* 060A38 8005FE38 01E80019 */ multu $t7, $t0 -/* 060A3C 8005FE3C 44060000 */ mfc1 $a2, $f0 -/* 060A40 8005FE40 44071000 */ mfc1 $a3, $f2 -/* 060A44 8005FE44 02202025 */ move $a0, $s1 -/* 060A48 8005FE48 E7AC0010 */ swc1 $f12, 0x10($sp) -/* 060A4C 8005FE4C AFA30014 */ sw $v1, 0x14($sp) -/* 060A50 8005FE50 AFA90018 */ sw $t1, 0x18($sp) -/* 060A54 8005FE54 0000C012 */ mflo $t8 -/* 060A58 8005FE58 02389021 */ addu $s2, $s1, $t8 -/* 060A5C 8005FE5C 26500528 */ addiu $s0, $s2, 0x528 -/* 060A60 8005FE60 0C0175E5 */ jal func_8005D794 -/* 060A64 8005FE64 02002825 */ move $a1, $s0 -/* 060A68 8005FE68 3C063EEB */ lui $a2, (0x3EEB851F >> 16) # lui $a2, 0x3eeb -/* 060A6C 8005FE6C 34C6851F */ ori $a2, (0x3EEB851F & 0xFFFF) # ori $a2, $a2, 0x851f -/* 060A70 8005FE70 02002025 */ move $a0, $s0 -/* 060A74 8005FE74 0C0175F6 */ jal func_8005D7D8 -/* 060A78 8005FE78 24050004 */ li $a1, 4 -/* 060A7C 8005FE7C 02002025 */ move $a0, $s0 -/* 060A80 8005FE80 24050002 */ li $a1, 2 -/* 060A84 8005FE84 24060001 */ li $a2, 1 -/* 060A88 8005FE88 0C0176B6 */ jal func_8005DAD8 -/* 060A8C 8005FE8C 240700A8 */ li $a3, 168 -/* 060A90 8005FE90 0C0ADF8D */ jal random_int -/* 060A94 8005FE94 24040010 */ li $a0, 16 -/* 060A98 8005FE98 10000194 */ b .L800604EC -/* 060A9C 8005FE9C A6420562 */ sh $v0, 0x562($s2) -/* 060AA0 8005FEA0 24080048 */ li $t0, 72 -.L8005FEA4: -/* 060AA4 8005FEA4 00C80019 */ multu $a2, $t0 -/* 060AA8 8005FEA8 87AC003E */ lh $t4, 0x3e($sp) -/* 060AAC 8005FEAC 0000C812 */ mflo $t9 -/* 060AB0 8005FEB0 02395021 */ addu $t2, $s1, $t9 -/* 060AB4 8005FEB4 854B0546 */ lh $t3, 0x546($t2) -/* 060AB8 8005FEB8 5960018D */ blezl $t3, .L800604F0 -/* 060ABC 8005FEBC 8FBF0034 */ lw $ra, 0x34($sp) -/* 060AC0 8005FEC0 01880019 */ multu $t4, $t0 -/* 060AC4 8005FEC4 44060000 */ mfc1 $a2, $f0 -/* 060AC8 8005FEC8 44071000 */ mfc1 $a3, $f2 -/* 060ACC 8005FECC 02202025 */ move $a0, $s1 -/* 060AD0 8005FED0 E7AC0010 */ swc1 $f12, 0x10($sp) -/* 060AD4 8005FED4 AFA30014 */ sw $v1, 0x14($sp) -/* 060AD8 8005FED8 AFA90018 */ sw $t1, 0x18($sp) -/* 060ADC 8005FEDC 00006812 */ mflo $t5 -/* 060AE0 8005FEE0 022D9021 */ addu $s2, $s1, $t5 -/* 060AE4 8005FEE4 26500528 */ addiu $s0, $s2, 0x528 -/* 060AE8 8005FEE8 0C0175E5 */ jal func_8005D794 -/* 060AEC 8005FEEC 02002825 */ move $a1, $s0 -/* 060AF0 8005FEF0 3C063EEB */ lui $a2, (0x3EEB851F >> 16) # lui $a2, 0x3eeb -/* 060AF4 8005FEF4 34C6851F */ ori $a2, (0x3EEB851F & 0xFFFF) # ori $a2, $a2, 0x851f -/* 060AF8 8005FEF8 02002025 */ move $a0, $s0 -/* 060AFC 8005FEFC 0C0175F6 */ jal func_8005D7D8 -/* 060B00 8005FF00 24050004 */ li $a1, 4 -/* 060B04 8005FF04 02002025 */ move $a0, $s0 -/* 060B08 8005FF08 24050002 */ li $a1, 2 -/* 060B0C 8005FF0C 24060001 */ li $a2, 1 -/* 060B10 8005FF10 0C0176B6 */ jal func_8005DAD8 -/* 060B14 8005FF14 240700A8 */ li $a3, 168 -/* 060B18 8005FF18 0C0ADF8D */ jal random_int -/* 060B1C 8005FF1C 24040010 */ li $a0, 16 -/* 060B20 8005FF20 10000172 */ b .L800604EC -/* 060B24 8005FF24 A6420562 */ sh $v0, 0x562($s2) -glabel L8005FF28 -/* 060B28 8005FF28 87AE003E */ lh $t6, 0x3e($sp) -/* 060B2C 8005FF2C 24080048 */ li $t0, 72 -/* 060B30 8005FF30 55C00026 */ bnel $t6, $zero, .L8005FFCC -/* 060B34 8005FF34 24080048 */ li $t0, 72 -/* 060B38 8005FF38 00C80019 */ multu $a2, $t0 -/* 060B3C 8005FF3C 87AA003E */ lh $t2, 0x3e($sp) -/* 060B40 8005FF40 00007812 */ mflo $t7 -/* 060B44 8005FF44 022F1021 */ addu $v0, $s1, $t7 -/* 060B48 8005FF48 84580546 */ lh $t8, 0x546($v0) -/* 060B4C 8005FF4C 1F000004 */ bgtz $t8, .L8005FF60 -/* 060B50 8005FF50 00000000 */ nop -/* 060B54 8005FF54 84590544 */ lh $t9, 0x544($v0) -/* 060B58 8005FF58 5720001C */ bnel $t9, $zero, .L8005FFCC -/* 060B5C 8005FF5C 24080048 */ li $t0, 72 -.L8005FF60: -/* 060B60 8005FF60 01480019 */ multu $t2, $t0 -/* 060B64 8005FF64 44060000 */ mfc1 $a2, $f0 -/* 060B68 8005FF68 44071000 */ mfc1 $a3, $f2 -/* 060B6C 8005FF6C 02202025 */ move $a0, $s1 -/* 060B70 8005FF70 E7AC0010 */ swc1 $f12, 0x10($sp) -/* 060B74 8005FF74 AFA30014 */ sw $v1, 0x14($sp) -/* 060B78 8005FF78 AFA90018 */ sw $t1, 0x18($sp) -/* 060B7C 8005FF7C 00005812 */ mflo $t3 -/* 060B80 8005FF80 022B9021 */ addu $s2, $s1, $t3 -/* 060B84 8005FF84 26500528 */ addiu $s0, $s2, 0x528 -/* 060B88 8005FF88 0C0175E5 */ jal func_8005D794 -/* 060B8C 8005FF8C 02002825 */ move $a1, $s0 -/* 060B90 8005FF90 3C063EEB */ lui $a2, (0x3EEB851F >> 16) # lui $a2, 0x3eeb -/* 060B94 8005FF94 34C6851F */ ori $a2, (0x3EEB851F & 0xFFFF) # ori $a2, $a2, 0x851f -/* 060B98 8005FF98 02002025 */ move $a0, $s0 -/* 060B9C 8005FF9C 0C0175F6 */ jal func_8005D7D8 -/* 060BA0 8005FFA0 24050004 */ li $a1, 4 -/* 060BA4 8005FFA4 02002025 */ move $a0, $s0 -/* 060BA8 8005FFA8 24050003 */ li $a1, 3 -/* 060BAC 8005FFAC 24060001 */ li $a2, 1 -/* 060BB0 8005FFB0 0C0176B6 */ jal func_8005DAD8 -/* 060BB4 8005FFB4 240700A8 */ li $a3, 168 -/* 060BB8 8005FFB8 0C0ADF8D */ jal random_int -/* 060BBC 8005FFBC 24040010 */ li $a0, 16 -/* 060BC0 8005FFC0 1000014A */ b .L800604EC -/* 060BC4 8005FFC4 A6420562 */ sh $v0, 0x562($s2) -/* 060BC8 8005FFC8 24080048 */ li $t0, 72 -.L8005FFCC: -/* 060BCC 8005FFCC 00C80019 */ multu $a2, $t0 -/* 060BD0 8005FFD0 87AF003E */ lh $t7, 0x3e($sp) -/* 060BD4 8005FFD4 00006012 */ mflo $t4 -/* 060BD8 8005FFD8 022C6821 */ addu $t5, $s1, $t4 -/* 060BDC 8005FFDC 85AE0546 */ lh $t6, 0x546($t5) -/* 060BE0 8005FFE0 59C00143 */ blezl $t6, .L800604F0 -/* 060BE4 8005FFE4 8FBF0034 */ lw $ra, 0x34($sp) -/* 060BE8 8005FFE8 01E80019 */ multu $t7, $t0 -/* 060BEC 8005FFEC 44060000 */ mfc1 $a2, $f0 -/* 060BF0 8005FFF0 44071000 */ mfc1 $a3, $f2 -/* 060BF4 8005FFF4 02202025 */ move $a0, $s1 -/* 060BF8 8005FFF8 E7AC0010 */ swc1 $f12, 0x10($sp) -/* 060BFC 8005FFFC AFA30014 */ sw $v1, 0x14($sp) -/* 060C00 80060000 AFA90018 */ sw $t1, 0x18($sp) -/* 060C04 80060004 0000C012 */ mflo $t8 -/* 060C08 80060008 02389021 */ addu $s2, $s1, $t8 -/* 060C0C 8006000C 26500528 */ addiu $s0, $s2, 0x528 -/* 060C10 80060010 0C0175E5 */ jal func_8005D794 -/* 060C14 80060014 02002825 */ move $a1, $s0 -/* 060C18 80060018 3C063EEB */ lui $a2, (0x3EEB851F >> 16) # lui $a2, 0x3eeb -/* 060C1C 8006001C 34C6851F */ ori $a2, (0x3EEB851F & 0xFFFF) # ori $a2, $a2, 0x851f -/* 060C20 80060020 02002025 */ move $a0, $s0 -/* 060C24 80060024 0C0175F6 */ jal func_8005D7D8 -/* 060C28 80060028 24050004 */ li $a1, 4 -/* 060C2C 8006002C 02002025 */ move $a0, $s0 -/* 060C30 80060030 24050003 */ li $a1, 3 -/* 060C34 80060034 24060001 */ li $a2, 1 -/* 060C38 80060038 0C0176B6 */ jal func_8005DAD8 -/* 060C3C 8006003C 240700A8 */ li $a3, 168 -/* 060C40 80060040 0C0ADF8D */ jal random_int -/* 060C44 80060044 24040010 */ li $a0, 16 -/* 060C48 80060048 10000128 */ b .L800604EC -/* 060C4C 8006004C A6420562 */ sh $v0, 0x562($s2) -glabel L80060050 -/* 060C50 80060050 87B9003E */ lh $t9, 0x3e($sp) -/* 060C54 80060054 24080048 */ li $t0, 72 -/* 060C58 80060058 57200026 */ bnel $t9, $zero, .L800600F4 -/* 060C5C 8006005C 24080048 */ li $t0, 72 -/* 060C60 80060060 00C80019 */ multu $a2, $t0 -/* 060C64 80060064 87AD003E */ lh $t5, 0x3e($sp) -/* 060C68 80060068 00005012 */ mflo $t2 -/* 060C6C 8006006C 022A1021 */ addu $v0, $s1, $t2 -/* 060C70 80060070 844B0546 */ lh $t3, 0x546($v0) -/* 060C74 80060074 1D600004 */ bgtz $t3, .L80060088 -/* 060C78 80060078 00000000 */ nop -/* 060C7C 8006007C 844C0544 */ lh $t4, 0x544($v0) -/* 060C80 80060080 5580001C */ bnel $t4, $zero, .L800600F4 -/* 060C84 80060084 24080048 */ li $t0, 72 -.L80060088: -/* 060C88 80060088 01A80019 */ multu $t5, $t0 -/* 060C8C 8006008C 44060000 */ mfc1 $a2, $f0 -/* 060C90 80060090 44071000 */ mfc1 $a3, $f2 -/* 060C94 80060094 02202025 */ move $a0, $s1 -/* 060C98 80060098 E7AC0010 */ swc1 $f12, 0x10($sp) -/* 060C9C 8006009C AFA30014 */ sw $v1, 0x14($sp) -/* 060CA0 800600A0 AFA90018 */ sw $t1, 0x18($sp) -/* 060CA4 800600A4 00007012 */ mflo $t6 -/* 060CA8 800600A8 022E9021 */ addu $s2, $s1, $t6 -/* 060CAC 800600AC 26500528 */ addiu $s0, $s2, 0x528 -/* 060CB0 800600B0 0C0175E5 */ jal func_8005D794 -/* 060CB4 800600B4 02002825 */ move $a1, $s0 -/* 060CB8 800600B8 3C063EEB */ lui $a2, (0x3EEB851F >> 16) # lui $a2, 0x3eeb -/* 060CBC 800600BC 34C6851F */ ori $a2, (0x3EEB851F & 0xFFFF) # ori $a2, $a2, 0x851f -/* 060CC0 800600C0 02002025 */ move $a0, $s0 -/* 060CC4 800600C4 0C0175F6 */ jal func_8005D7D8 -/* 060CC8 800600C8 24050004 */ li $a1, 4 -/* 060CCC 800600CC 02002025 */ move $a0, $s0 -/* 060CD0 800600D0 24050004 */ li $a1, 4 -/* 060CD4 800600D4 24060001 */ li $a2, 1 -/* 060CD8 800600D8 0C0176B6 */ jal func_8005DAD8 -/* 060CDC 800600DC 240700A8 */ li $a3, 168 -/* 060CE0 800600E0 0C0ADF8D */ jal random_int -/* 060CE4 800600E4 24040010 */ li $a0, 16 -/* 060CE8 800600E8 10000100 */ b .L800604EC -/* 060CEC 800600EC A6420562 */ sh $v0, 0x562($s2) -/* 060CF0 800600F0 24080048 */ li $t0, 72 -.L800600F4: -/* 060CF4 800600F4 00C80019 */ multu $a2, $t0 -/* 060CF8 800600F8 87AA003E */ lh $t2, 0x3e($sp) -/* 060CFC 800600FC 00007812 */ mflo $t7 -/* 060D00 80060100 022FC021 */ addu $t8, $s1, $t7 -/* 060D04 80060104 87190546 */ lh $t9, 0x546($t8) -/* 060D08 80060108 5B2000F9 */ blezl $t9, .L800604F0 -/* 060D0C 8006010C 8FBF0034 */ lw $ra, 0x34($sp) -/* 060D10 80060110 01480019 */ multu $t2, $t0 -/* 060D14 80060114 44060000 */ mfc1 $a2, $f0 -/* 060D18 80060118 44071000 */ mfc1 $a3, $f2 -/* 060D1C 8006011C 02202025 */ move $a0, $s1 -/* 060D20 80060120 E7AC0010 */ swc1 $f12, 0x10($sp) -/* 060D24 80060124 AFA30014 */ sw $v1, 0x14($sp) -/* 060D28 80060128 AFA90018 */ sw $t1, 0x18($sp) -/* 060D2C 8006012C 00005812 */ mflo $t3 -/* 060D30 80060130 022B9021 */ addu $s2, $s1, $t3 -/* 060D34 80060134 26500528 */ addiu $s0, $s2, 0x528 -/* 060D38 80060138 0C0175E5 */ jal func_8005D794 -/* 060D3C 8006013C 02002825 */ move $a1, $s0 -/* 060D40 80060140 3C063EEB */ lui $a2, (0x3EEB851F >> 16) # lui $a2, 0x3eeb -/* 060D44 80060144 34C6851F */ ori $a2, (0x3EEB851F & 0xFFFF) # ori $a2, $a2, 0x851f -/* 060D48 80060148 02002025 */ move $a0, $s0 -/* 060D4C 8006014C 0C0175F6 */ jal func_8005D7D8 -/* 060D50 80060150 24050004 */ li $a1, 4 -/* 060D54 80060154 02002025 */ move $a0, $s0 -/* 060D58 80060158 24050004 */ li $a1, 4 -/* 060D5C 8006015C 24060001 */ li $a2, 1 -/* 060D60 80060160 0C0176B6 */ jal func_8005DAD8 -/* 060D64 80060164 240700A8 */ li $a3, 168 -/* 060D68 80060168 0C0ADF8D */ jal random_int -/* 060D6C 8006016C 24040010 */ li $a0, 16 -/* 060D70 80060170 100000DE */ b .L800604EC -/* 060D74 80060174 A6420562 */ sh $v0, 0x562($s2) -glabel L80060178 -/* 060D78 80060178 87AC003E */ lh $t4, 0x3e($sp) -/* 060D7C 8006017C 24080048 */ li $t0, 72 -/* 060D80 80060180 55800026 */ bnel $t4, $zero, .L8006021C -/* 060D84 80060184 24080048 */ li $t0, 72 -/* 060D88 80060188 00C80019 */ multu $a2, $t0 -/* 060D8C 8006018C 87B8003E */ lh $t8, 0x3e($sp) -/* 060D90 80060190 00006812 */ mflo $t5 -/* 060D94 80060194 022D1021 */ addu $v0, $s1, $t5 -/* 060D98 80060198 844E0546 */ lh $t6, 0x546($v0) -/* 060D9C 8006019C 1DC00004 */ bgtz $t6, .L800601B0 -/* 060DA0 800601A0 00000000 */ nop -/* 060DA4 800601A4 844F0544 */ lh $t7, 0x544($v0) -/* 060DA8 800601A8 55E0001C */ bnel $t7, $zero, .L8006021C -/* 060DAC 800601AC 24080048 */ li $t0, 72 -.L800601B0: -/* 060DB0 800601B0 03080019 */ multu $t8, $t0 -/* 060DB4 800601B4 44060000 */ mfc1 $a2, $f0 -/* 060DB8 800601B8 44071000 */ mfc1 $a3, $f2 -/* 060DBC 800601BC 02202025 */ move $a0, $s1 -/* 060DC0 800601C0 E7AC0010 */ swc1 $f12, 0x10($sp) -/* 060DC4 800601C4 AFA30014 */ sw $v1, 0x14($sp) -/* 060DC8 800601C8 AFA90018 */ sw $t1, 0x18($sp) -/* 060DCC 800601CC 0000C812 */ mflo $t9 -/* 060DD0 800601D0 02399021 */ addu $s2, $s1, $t9 -/* 060DD4 800601D4 26500528 */ addiu $s0, $s2, 0x528 -/* 060DD8 800601D8 0C0175E5 */ jal func_8005D794 -/* 060DDC 800601DC 02002825 */ move $a1, $s0 -/* 060DE0 800601E0 3C063EEB */ lui $a2, (0x3EEB851F >> 16) # lui $a2, 0x3eeb -/* 060DE4 800601E4 34C6851F */ ori $a2, (0x3EEB851F & 0xFFFF) # ori $a2, $a2, 0x851f -/* 060DE8 800601E8 02002025 */ move $a0, $s0 -/* 060DEC 800601EC 0C0175F6 */ jal func_8005D7D8 -/* 060DF0 800601F0 24050004 */ li $a1, 4 -/* 060DF4 800601F4 02002025 */ move $a0, $s0 -/* 060DF8 800601F8 24050005 */ li $a1, 5 -/* 060DFC 800601FC 24060001 */ li $a2, 1 -/* 060E00 80060200 0C0176B6 */ jal func_8005DAD8 -/* 060E04 80060204 240700A8 */ li $a3, 168 -/* 060E08 80060208 0C0ADF8D */ jal random_int -/* 060E0C 8006020C 24040010 */ li $a0, 16 -/* 060E10 80060210 100000B6 */ b .L800604EC -/* 060E14 80060214 A6420562 */ sh $v0, 0x562($s2) -/* 060E18 80060218 24080048 */ li $t0, 72 -.L8006021C: -/* 060E1C 8006021C 00C80019 */ multu $a2, $t0 -/* 060E20 80060220 87AD003E */ lh $t5, 0x3e($sp) -/* 060E24 80060224 00005012 */ mflo $t2 -/* 060E28 80060228 022A5821 */ addu $t3, $s1, $t2 -/* 060E2C 8006022C 856C0546 */ lh $t4, 0x546($t3) -/* 060E30 80060230 598000AF */ blezl $t4, .L800604F0 -/* 060E34 80060234 8FBF0034 */ lw $ra, 0x34($sp) -/* 060E38 80060238 01A80019 */ multu $t5, $t0 -/* 060E3C 8006023C 44060000 */ mfc1 $a2, $f0 -/* 060E40 80060240 44071000 */ mfc1 $a3, $f2 -/* 060E44 80060244 02202025 */ move $a0, $s1 -/* 060E48 80060248 E7AC0010 */ swc1 $f12, 0x10($sp) -/* 060E4C 8006024C AFA30014 */ sw $v1, 0x14($sp) -/* 060E50 80060250 AFA90018 */ sw $t1, 0x18($sp) -/* 060E54 80060254 00007012 */ mflo $t6 -/* 060E58 80060258 022E9021 */ addu $s2, $s1, $t6 -/* 060E5C 8006025C 26500528 */ addiu $s0, $s2, 0x528 -/* 060E60 80060260 0C0175E5 */ jal func_8005D794 -/* 060E64 80060264 02002825 */ move $a1, $s0 -/* 060E68 80060268 3C063EEB */ lui $a2, (0x3EEB851F >> 16) # lui $a2, 0x3eeb -/* 060E6C 8006026C 34C6851F */ ori $a2, (0x3EEB851F & 0xFFFF) # ori $a2, $a2, 0x851f -/* 060E70 80060270 02002025 */ move $a0, $s0 -/* 060E74 80060274 0C0175F6 */ jal func_8005D7D8 -/* 060E78 80060278 24050004 */ li $a1, 4 -/* 060E7C 8006027C 02002025 */ move $a0, $s0 -/* 060E80 80060280 24050005 */ li $a1, 5 -/* 060E84 80060284 24060001 */ li $a2, 1 -/* 060E88 80060288 0C0176B6 */ jal func_8005DAD8 -/* 060E8C 8006028C 240700A8 */ li $a3, 168 -/* 060E90 80060290 0C0ADF8D */ jal random_int -/* 060E94 80060294 24040010 */ li $a0, 16 -/* 060E98 80060298 10000094 */ b .L800604EC -/* 060E9C 8006029C A6420562 */ sh $v0, 0x562($s2) -glabel L800602A0 -/* 060EA0 800602A0 87AF003E */ lh $t7, 0x3e($sp) -/* 060EA4 800602A4 24080048 */ li $t0, 72 -/* 060EA8 800602A8 55E00026 */ bnel $t7, $zero, .L80060344 -/* 060EAC 800602AC 24080048 */ li $t0, 72 -/* 060EB0 800602B0 00C80019 */ multu $a2, $t0 -/* 060EB4 800602B4 87AB003E */ lh $t3, 0x3e($sp) -/* 060EB8 800602B8 0000C012 */ mflo $t8 -/* 060EBC 800602BC 02381021 */ addu $v0, $s1, $t8 -/* 060EC0 800602C0 84590546 */ lh $t9, 0x546($v0) -/* 060EC4 800602C4 1F200004 */ bgtz $t9, .L800602D8 -/* 060EC8 800602C8 00000000 */ nop -/* 060ECC 800602CC 844A0544 */ lh $t2, 0x544($v0) -/* 060ED0 800602D0 5540001C */ bnel $t2, $zero, .L80060344 -/* 060ED4 800602D4 24080048 */ li $t0, 72 -.L800602D8: -/* 060ED8 800602D8 01680019 */ multu $t3, $t0 -/* 060EDC 800602DC 44060000 */ mfc1 $a2, $f0 -/* 060EE0 800602E0 44071000 */ mfc1 $a3, $f2 -/* 060EE4 800602E4 02202025 */ move $a0, $s1 -/* 060EE8 800602E8 E7AC0010 */ swc1 $f12, 0x10($sp) -/* 060EEC 800602EC AFA30014 */ sw $v1, 0x14($sp) -/* 060EF0 800602F0 AFA90018 */ sw $t1, 0x18($sp) -/* 060EF4 800602F4 00006012 */ mflo $t4 -/* 060EF8 800602F8 022C9021 */ addu $s2, $s1, $t4 -/* 060EFC 800602FC 26500528 */ addiu $s0, $s2, 0x528 -/* 060F00 80060300 0C0175E5 */ jal func_8005D794 -/* 060F04 80060304 02002825 */ move $a1, $s0 -/* 060F08 80060308 3C063EEB */ lui $a2, (0x3EEB851F >> 16) # lui $a2, 0x3eeb -/* 060F0C 8006030C 34C6851F */ ori $a2, (0x3EEB851F & 0xFFFF) # ori $a2, $a2, 0x851f -/* 060F10 80060310 02002025 */ move $a0, $s0 -/* 060F14 80060314 0C0175F6 */ jal func_8005D7D8 -/* 060F18 80060318 24050004 */ li $a1, 4 -/* 060F1C 8006031C 02002025 */ move $a0, $s0 -/* 060F20 80060320 24050006 */ li $a1, 6 -/* 060F24 80060324 24060001 */ li $a2, 1 -/* 060F28 80060328 0C0176B6 */ jal func_8005DAD8 -/* 060F2C 8006032C 240700A8 */ li $a3, 168 -/* 060F30 80060330 0C0ADF8D */ jal random_int -/* 060F34 80060334 24040010 */ li $a0, 16 -/* 060F38 80060338 1000006C */ b .L800604EC -/* 060F3C 8006033C A6420562 */ sh $v0, 0x562($s2) -/* 060F40 80060340 24080048 */ li $t0, 72 -.L80060344: -/* 060F44 80060344 00C80019 */ multu $a2, $t0 -/* 060F48 80060348 87B8003E */ lh $t8, 0x3e($sp) -/* 060F4C 8006034C 00006812 */ mflo $t5 -/* 060F50 80060350 022D7021 */ addu $t6, $s1, $t5 -/* 060F54 80060354 85CF0546 */ lh $t7, 0x546($t6) -/* 060F58 80060358 59E00065 */ blezl $t7, .L800604F0 -/* 060F5C 8006035C 8FBF0034 */ lw $ra, 0x34($sp) -/* 060F60 80060360 03080019 */ multu $t8, $t0 -/* 060F64 80060364 44060000 */ mfc1 $a2, $f0 -/* 060F68 80060368 44071000 */ mfc1 $a3, $f2 -/* 060F6C 8006036C 02202025 */ move $a0, $s1 -/* 060F70 80060370 E7AC0010 */ swc1 $f12, 0x10($sp) -/* 060F74 80060374 AFA30014 */ sw $v1, 0x14($sp) -/* 060F78 80060378 AFA90018 */ sw $t1, 0x18($sp) -/* 060F7C 8006037C 0000C812 */ mflo $t9 -/* 060F80 80060380 02399021 */ addu $s2, $s1, $t9 -/* 060F84 80060384 26500528 */ addiu $s0, $s2, 0x528 -/* 060F88 80060388 0C0175E5 */ jal func_8005D794 -/* 060F8C 8006038C 02002825 */ move $a1, $s0 -/* 060F90 80060390 3C063EEB */ lui $a2, (0x3EEB851F >> 16) # lui $a2, 0x3eeb -/* 060F94 80060394 34C6851F */ ori $a2, (0x3EEB851F & 0xFFFF) # ori $a2, $a2, 0x851f -/* 060F98 80060398 02002025 */ move $a0, $s0 -/* 060F9C 8006039C 0C0175F6 */ jal func_8005D7D8 -/* 060FA0 800603A0 24050004 */ li $a1, 4 -/* 060FA4 800603A4 02002025 */ move $a0, $s0 -/* 060FA8 800603A8 24050006 */ li $a1, 6 -/* 060FAC 800603AC 24060001 */ li $a2, 1 -/* 060FB0 800603B0 0C0176B6 */ jal func_8005DAD8 -/* 060FB4 800603B4 240700A8 */ li $a3, 168 -/* 060FB8 800603B8 0C0ADF8D */ jal random_int -/* 060FBC 800603BC 24040010 */ li $a0, 16 -/* 060FC0 800603C0 1000004A */ b .L800604EC -/* 060FC4 800603C4 A6420562 */ sh $v0, 0x562($s2) -glabel L800603C8 -/* 060FC8 800603C8 87AA003E */ lh $t2, 0x3e($sp) -/* 060FCC 800603CC 24080048 */ li $t0, 72 -/* 060FD0 800603D0 55400026 */ bnel $t2, $zero, .L8006046C -/* 060FD4 800603D4 24080048 */ li $t0, 72 -/* 060FD8 800603D8 00C80019 */ multu $a2, $t0 -/* 060FDC 800603DC 87AE003E */ lh $t6, 0x3e($sp) -/* 060FE0 800603E0 00005812 */ mflo $t3 -/* 060FE4 800603E4 022B1021 */ addu $v0, $s1, $t3 -/* 060FE8 800603E8 844C0546 */ lh $t4, 0x546($v0) -/* 060FEC 800603EC 1D800004 */ bgtz $t4, .L80060400 -/* 060FF0 800603F0 00000000 */ nop -/* 060FF4 800603F4 844D0544 */ lh $t5, 0x544($v0) -/* 060FF8 800603F8 55A0001C */ bnel $t5, $zero, .L8006046C -/* 060FFC 800603FC 24080048 */ li $t0, 72 -.L80060400: -/* 061000 80060400 01C80019 */ multu $t6, $t0 -/* 061004 80060404 44060000 */ mfc1 $a2, $f0 -/* 061008 80060408 44071000 */ mfc1 $a3, $f2 -/* 06100C 8006040C 02202025 */ move $a0, $s1 -/* 061010 80060410 E7AC0010 */ swc1 $f12, 0x10($sp) -/* 061014 80060414 AFA30014 */ sw $v1, 0x14($sp) -/* 061018 80060418 AFA90018 */ sw $t1, 0x18($sp) -/* 06101C 8006041C 00007812 */ mflo $t7 -/* 061020 80060420 022F9021 */ addu $s2, $s1, $t7 -/* 061024 80060424 26500528 */ addiu $s0, $s2, 0x528 -/* 061028 80060428 0C0175E5 */ jal func_8005D794 -/* 06102C 8006042C 02002825 */ move $a1, $s0 -/* 061030 80060430 3C063EEB */ lui $a2, (0x3EEB851F >> 16) # lui $a2, 0x3eeb -/* 061034 80060434 34C6851F */ ori $a2, (0x3EEB851F & 0xFFFF) # ori $a2, $a2, 0x851f -/* 061038 80060438 02002025 */ move $a0, $s0 -/* 06103C 8006043C 0C0175F6 */ jal func_8005D7D8 -/* 061040 80060440 24050004 */ li $a1, 4 -/* 061044 80060444 02002025 */ move $a0, $s0 -/* 061048 80060448 00002825 */ move $a1, $zero -/* 06104C 8006044C 00003025 */ move $a2, $zero -/* 061050 80060450 0C0176B6 */ jal func_8005DAD8 -/* 061054 80060454 24070080 */ li $a3, 128 -/* 061058 80060458 0C0ADF8D */ jal random_int -/* 06105C 8006045C 24040010 */ li $a0, 16 -/* 061060 80060460 10000022 */ b .L800604EC -/* 061064 80060464 A6420562 */ sh $v0, 0x562($s2) -/* 061068 80060468 24080048 */ li $t0, 72 -.L8006046C: -/* 06106C 8006046C 00C80019 */ multu $a2, $t0 -/* 061070 80060470 87AB003E */ lh $t3, 0x3e($sp) -/* 061074 80060474 0000C012 */ mflo $t8 -/* 061078 80060478 0238C821 */ addu $t9, $s1, $t8 -/* 06107C 8006047C 872A0546 */ lh $t2, 0x546($t9) -/* 061080 80060480 5940001B */ blezl $t2, .L800604F0 -/* 061084 80060484 8FBF0034 */ lw $ra, 0x34($sp) -/* 061088 80060488 01680019 */ multu $t3, $t0 -/* 06108C 8006048C 44060000 */ mfc1 $a2, $f0 -/* 061090 80060490 44071000 */ mfc1 $a3, $f2 -/* 061094 80060494 02202025 */ move $a0, $s1 -/* 061098 80060498 E7AC0010 */ swc1 $f12, 0x10($sp) -/* 06109C 8006049C AFA30014 */ sw $v1, 0x14($sp) -/* 0610A0 800604A0 AFA90018 */ sw $t1, 0x18($sp) -/* 0610A4 800604A4 00006012 */ mflo $t4 -/* 0610A8 800604A8 022C9021 */ addu $s2, $s1, $t4 -/* 0610AC 800604AC 26500528 */ addiu $s0, $s2, 0x528 -/* 0610B0 800604B0 0C0175E5 */ jal func_8005D794 -/* 0610B4 800604B4 02002825 */ move $a1, $s0 -/* 0610B8 800604B8 3C063EEB */ lui $a2, (0x3EEB851F >> 16) # lui $a2, 0x3eeb -/* 0610BC 800604BC 34C6851F */ ori $a2, (0x3EEB851F & 0xFFFF) # ori $a2, $a2, 0x851f -/* 0610C0 800604C0 02002025 */ move $a0, $s0 -/* 0610C4 800604C4 0C0175F6 */ jal func_8005D7D8 -/* 0610C8 800604C8 24050004 */ li $a1, 4 -/* 0610CC 800604CC 02002025 */ move $a0, $s0 -/* 0610D0 800604D0 00002825 */ move $a1, $zero -/* 0610D4 800604D4 00003025 */ move $a2, $zero -/* 0610D8 800604D8 0C0176B6 */ jal func_8005DAD8 -/* 0610DC 800604DC 24070080 */ li $a3, 128 -/* 0610E0 800604E0 0C0ADF8D */ jal random_int -/* 0610E4 800604E4 24040010 */ li $a0, 16 -/* 0610E8 800604E8 A6420562 */ sh $v0, 0x562($s2) -.L800604EC: -glabel L800604EC -/* 0610EC 800604EC 8FBF0034 */ lw $ra, 0x34($sp) -.L800604F0: -/* 0610F0 800604F0 8FB00028 */ lw $s0, 0x28($sp) -/* 0610F4 800604F4 8FB1002C */ lw $s1, 0x2c($sp) -/* 0610F8 800604F8 8FB20030 */ lw $s2, 0x30($sp) -/* 0610FC 800604FC 03E00008 */ jr $ra -/* 061100 80060500 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/non_matchings/code_80057C60/func_80065AB0.s b/asm/non_matchings/code_80057C60/func_80065AB0.s deleted file mode 100644 index 56fdf79e1..000000000 --- a/asm/non_matchings/code_80057C60/func_80065AB0.s +++ /dev/null @@ -1,291 +0,0 @@ -.section .data - -glabel D_800E48C8 -.word 0x00ffffff, 0x00ffff00, 0x00ff9600 - -.section .text - -glabel func_80065AB0 -/* 0666B0 80065AB0 27BDFF40 */ addiu $sp, $sp, -0xc0 -/* 0666B4 80065AB4 AFA600C8 */ sw $a2, 0xc8($sp) -/* 0666B8 80065AB8 00067400 */ sll $t6, $a2, 0x10 -/* 0666BC 80065ABC 000E3403 */ sra $a2, $t6, 0x10 -/* 0666C0 80065AC0 3C0E800E */ lui $t6, %hi(D_800E48C8) # $t6, 0x800e -/* 0666C4 80065AC4 AFBF002C */ sw $ra, 0x2c($sp) -/* 0666C8 80065AC8 AFB00028 */ sw $s0, 0x28($sp) -/* 0666CC 80065ACC AFA400C0 */ sw $a0, 0xc0($sp) -/* 0666D0 80065AD0 AFA500C4 */ sw $a1, 0xc4($sp) -/* 0666D4 80065AD4 AFA700CC */ sw $a3, 0xcc($sp) -/* 0666D8 80065AD8 25CE48C8 */ addiu $t6, %lo(D_800E48C8) # addiu $t6, $t6, 0x48c8 -/* 0666DC 80065ADC 8DC10000 */ lw $at, ($t6) -/* 0666E0 80065AE0 27A5008C */ addiu $a1, $sp, 0x8c -/* 0666E4 80065AE4 0007C600 */ sll $t8, $a3, 0x18 -/* 0666E8 80065AE8 ACA10000 */ sw $at, ($a1) -/* 0666EC 80065AEC 8DD90004 */ lw $t9, 4($t6) -/* 0666F0 80065AF0 00183E03 */ sra $a3, $t8, 0x18 -/* 0666F4 80065AF4 000678C0 */ sll $t7, $a2, 3 -/* 0666F8 80065AF8 ACB90004 */ sw $t9, 4($a1) -/* 0666FC 80065AFC 8DC10008 */ lw $at, 8($t6) -/* 066700 80065B00 01E67821 */ addu $t7, $t7, $a2 -/* 066704 80065B04 000F78C0 */ sll $t7, $t7, 3 -/* 066708 80065B08 ACA10008 */ sw $at, 8($a1) -/* 06670C 80065B0C 8FB800C0 */ lw $t8, 0xc0($sp) -/* 066710 80065B10 24010001 */ li $at, 1 -/* 066714 80065B14 030F1821 */ addu $v1, $t8, $t7 -/* 066718 80065B18 846E0544 */ lh $t6, 0x544($v1) -/* 06671C 80065B1C 55C100F7 */ bnel $t6, $at, .L80065EFC -/* 066720 80065B20 8FBF002C */ lw $ra, 0x2c($sp) -/* 066724 80065B24 87190204 */ lh $t9, 0x204($t8) -/* 066728 80065B28 00008025 */ move $s0, $zero -/* 06672C 80065B2C 2B210032 */ slti $at, $t9, 0x32 -/* 066730 80065B30 14200003 */ bnez $at, .L80065B40 -/* 066734 80065B34 00000000 */ nop -/* 066738 80065B38 10000001 */ b .L80065B40 -/* 06673C 80065B3C 24100001 */ li $s0, 1 -.L80065B40: -/* 066740 80065B40 846F0560 */ lh $t7, 0x560($v1) -/* 066744 80065B44 27A400B4 */ addiu $a0, $sp, 0xb4 -/* 066748 80065B48 A7AF00A6 */ sh $t7, 0xa6($sp) -/* 06674C 80065B4C 846E0562 */ lh $t6, 0x562($v1) -/* 066750 80065B50 A7AE00A4 */ sh $t6, 0xa4($sp) -/* 066754 80065B54 84780564 */ lh $t8, 0x564($v1) -/* 066758 80065B58 A7B800A2 */ sh $t8, 0xa2($sp) -/* 06675C 80065B5C 84790566 */ lh $t9, 0x566($v1) -/* 066760 80065B60 A7B900A0 */ sh $t9, 0xa0($sp) -/* 066764 80065B64 846F0568 */ lh $t7, 0x568($v1) -/* 066768 80065B68 000F7080 */ sll $t6, $t7, 2 -/* 06676C 80065B6C 00AEC021 */ addu $t8, $a1, $t6 -/* 066770 80065B70 8F020000 */ lw $v0, ($t8) -/* 066774 80065B74 27A500AC */ addiu $a1, $sp, 0xac -/* 066778 80065B78 0002CC03 */ sra $t9, $v0, 0x10 -/* 06677C 80065B7C 332F00FF */ andi $t7, $t9, 0xff -/* 066780 80065B80 00027203 */ sra $t6, $v0, 8 -/* 066784 80065B84 31D800FF */ andi $t8, $t6, 0xff -/* 066788 80065B88 305900FF */ andi $t9, $v0, 0xff -/* 06678C 80065B8C A7AF009E */ sh $t7, 0x9e($sp) -/* 066790 80065B90 A7B8009C */ sh $t8, 0x9c($sp) -/* 066794 80065B94 A7B9009A */ sh $t9, 0x9a($sp) -/* 066798 80065B98 C4640528 */ lwc1 $f4, 0x528($v1) -/* 06679C 80065B9C 8FAF00C0 */ lw $t7, 0xc0($sp) -/* 0667A0 80065BA0 00077040 */ sll $t6, $a3, 1 -/* 0667A4 80065BA4 E7A400B4 */ swc1 $f4, 0xb4($sp) -/* 0667A8 80065BA8 C466052C */ lwc1 $f6, 0x52c($v1) -/* 0667AC 80065BAC 01EEC021 */ addu $t8, $t7, $t6 -/* 0667B0 80065BB0 E7A600B8 */ swc1 $f6, 0xb8($sp) -/* 0667B4 80065BB4 C4680530 */ lwc1 $f8, 0x530($v1) -/* 0667B8 80065BB8 A7A000AC */ sh $zero, 0xac($sp) -/* 0667BC 80065BBC E7A800BC */ swc1 $f8, 0xbc($sp) -/* 0667C0 80065BC0 87190048 */ lh $t9, 0x48($t8) -/* 0667C4 80065BC4 A7A000B0 */ sh $zero, 0xb0($sp) -/* 0667C8 80065BC8 A7B900AE */ sh $t9, 0xae($sp) -/* 0667CC 80065BCC C46A0534 */ lwc1 $f10, 0x534($v1) -/* 0667D0 80065BD0 C5F00224 */ lwc1 $f16, 0x224($t7) -/* 0667D4 80065BD4 46105482 */ mul.s $f18, $f10, $f16 -/* 0667D8 80065BD8 44069000 */ mfc1 $a2, $f18 -/* 0667DC 80065BDC 0C0194B5 */ jal func_800652D4 -/* 0667E0 80065BE0 00000000 */ nop -/* 0667E4 80065BE4 16000061 */ bnez $s0, .L80065D6C -/* 0667E8 80065BE8 3C038015 */ lui $v1, %hi(gDisplayListHead) -/* 0667EC 80065BEC 3C038015 */ lui $v1, %hi(gDisplayListHead) # $v1, 0x8015 -/* 0667F0 80065BF0 24630298 */ addiu $v1, %lo(gDisplayListHead) # addiu $v1, $v1, 0x298 -/* 0667F4 80065BF4 8C620000 */ lw $v0, ($v1) -/* 0667F8 80065BF8 3C190D01 */ lui $t9, %hi(D_0D008DB8) # $t9, 0xd01 -/* 0667FC 80065BFC 27398DB8 */ addiu $t9, %lo(D_0D008DB8) # addiu $t9, $t9, -0x7248 -/* 066800 80065C00 244E0008 */ addiu $t6, $v0, 8 -/* 066804 80065C04 AC6E0000 */ sw $t6, ($v1) -/* 066808 80065C08 3C180600 */ lui $t8, 0x600 -/* 06680C 80065C0C AC580000 */ sw $t8, ($v0) -/* 066810 80065C10 AC590004 */ sw $t9, 4($v0) -/* 066814 80065C14 8C620000 */ lw $v0, ($v1) -/* 066818 80065C18 3C19800E */ lui $t9, %hi(D_800E4770) -/* 06681C 80065C1C 0010C080 */ sll $t8, $s0, 2 -/* 066820 80065C20 244F0008 */ addiu $t7, $v0, 8 -/* 066824 80065C24 AC6F0000 */ sw $t7, ($v1) -/* 066828 80065C28 3C0EFD90 */ lui $t6, 0xfd90 -/* 06682C 80065C2C 0338C821 */ addu $t9, $t9, $t8 -/* 066830 80065C30 AC4E0000 */ sw $t6, ($v0) -/* 066834 80065C34 8F394770 */ lw $t9, %lo(D_800E4770)($t9) -/* 066838 80065C38 3C18F590 */ lui $t8, 0xf590 -/* 06683C 80065C3C 8F2F0000 */ lw $t7, ($t9) -/* 066840 80065C40 3C190700 */ lui $t9, 0x700 -/* 066844 80065C44 AC4F0004 */ sw $t7, 4($v0) -/* 066848 80065C48 8C620000 */ lw $v0, ($v1) -/* 06684C 80065C4C 244E0008 */ addiu $t6, $v0, 8 -/* 066850 80065C50 AC6E0000 */ sw $t6, ($v1) -/* 066854 80065C54 AC580000 */ sw $t8, ($v0) -/* 066858 80065C58 AC590004 */ sw $t9, 4($v0) -/* 06685C 80065C5C 8C620000 */ lw $v0, ($v1) -/* 066860 80065C60 3C0EE600 */ lui $t6, 0xe600 -/* 066864 80065C64 3C19F300 */ lui $t9, 0xf300 -/* 066868 80065C68 244F0008 */ addiu $t7, $v0, 8 -/* 06686C 80065C6C AC6F0000 */ sw $t7, ($v1) -/* 066870 80065C70 AC4E0000 */ sw $t6, ($v0) -/* 066874 80065C74 AC400004 */ sw $zero, 4($v0) -/* 066878 80065C78 8C620000 */ lw $v0, ($v1) -/* 06687C 80065C7C 3C0F0707 */ lui $t7, (0x0707F400 >> 16) # lui $t7, 0x707 -/* 066880 80065C80 35EFF400 */ ori $t7, (0x0707F400 & 0xFFFF) # ori $t7, $t7, 0xf400 -/* 066884 80065C84 24580008 */ addiu $t8, $v0, 8 -/* 066888 80065C88 AC780000 */ sw $t8, ($v1) -/* 06688C 80065C8C AC590000 */ sw $t9, ($v0) -/* 066890 80065C90 AC4F0004 */ sw $t7, 4($v0) -/* 066894 80065C94 8C620000 */ lw $v0, ($v1) -/* 066898 80065C98 3C18E700 */ lui $t8, 0xe700 -/* 06689C 80065C9C 3C0FF588 */ lui $t7, (0xF5880400 >> 16) # lui $t7, 0xf588 -/* 0668A0 80065CA0 244E0008 */ addiu $t6, $v0, 8 -/* 0668A4 80065CA4 AC6E0000 */ sw $t6, ($v1) -/* 0668A8 80065CA8 AC580000 */ sw $t8, ($v0) -/* 0668AC 80065CAC AC400004 */ sw $zero, 4($v0) -/* 0668B0 80065CB0 8C620000 */ lw $v0, ($v1) -/* 0668B4 80065CB4 35EF0400 */ ori $t7, (0xF5880400 & 0xFFFF) # ori $t7, $t7, 0x400 -/* 0668B8 80065CB8 3C18F200 */ lui $t8, 0xf200 -/* 0668BC 80065CBC 24590008 */ addiu $t9, $v0, 8 -/* 0668C0 80065CC0 AC790000 */ sw $t9, ($v1) -/* 0668C4 80065CC4 AC4F0000 */ sw $t7, ($v0) -/* 0668C8 80065CC8 AC400004 */ sw $zero, 4($v0) -/* 0668CC 80065CCC 8C620000 */ lw $v0, ($v1) -/* 0668D0 80065CD0 3C0F0003 */ lui $t7, (0x0003C03C >> 16) # lui $t7, 3 -/* 0668D4 80065CD4 35EFC03C */ ori $t7, (0x0003C03C & 0xFFFF) # ori $t7, $t7, 0xc03c -/* 0668D8 80065CD8 244E0008 */ addiu $t6, $v0, 8 -/* 0668DC 80065CDC AC6E0000 */ sw $t6, ($v1) -/* 0668E0 80065CE0 AFA2006C */ sw $v0, 0x6c($sp) -/* 0668E4 80065CE4 AC580000 */ sw $t8, ($v0) -/* 0668E8 80065CE8 8FAE006C */ lw $t6, 0x6c($sp) -/* 0668EC 80065CEC ADCF0004 */ sw $t7, 4($t6) -/* 0668F0 80065CF0 87AF00A0 */ lh $t7, 0xa0($sp) -/* 0668F4 80065CF4 87B9009A */ lh $t9, 0x9a($sp) -/* 0668F8 80065CF8 87B8009C */ lh $t8, 0x9c($sp) -/* 0668FC 80065CFC 87A7009E */ lh $a3, 0x9e($sp) -/* 066900 80065D00 87A600A2 */ lh $a2, 0xa2($sp) -/* 066904 80065D04 87A500A4 */ lh $a1, 0xa4($sp) -/* 066908 80065D08 87A400A6 */ lh $a0, 0xa6($sp) -/* 06690C 80065D0C AFAF0018 */ sw $t7, 0x18($sp) -/* 066910 80065D10 AFB90014 */ sw $t9, 0x14($sp) -/* 066914 80065D14 0C012DCB */ jal func_8004B72C -/* 066918 80065D18 AFB80010 */ sw $t8, 0x10($sp) -/* 06691C 80065D1C 3C038015 */ lui $v1, %hi(gDisplayListHead) # $v1, 0x8015 -/* 066920 80065D20 24630298 */ addiu $v1, %lo(gDisplayListHead) # addiu $v1, $v1, 0x298 -/* 066924 80065D24 8C620000 */ lw $v0, ($v1) -/* 066928 80065D28 3C18B900 */ lui $t8, (0xB900031D >> 16) # lui $t8, 0xb900 -/* 06692C 80065D2C 3C190050 */ lui $t9, (0x00504A50 >> 16) # lui $t9, 0x50 -/* 066930 80065D30 244E0008 */ addiu $t6, $v0, 8 -/* 066934 80065D34 AC6E0000 */ sw $t6, ($v1) -/* 066938 80065D38 37394A50 */ ori $t9, (0x00504A50 & 0xFFFF) # ori $t9, $t9, 0x4a50 -/* 06693C 80065D3C 3718031D */ ori $t8, (0xB900031D & 0xFFFF) # ori $t8, $t8, 0x31d -/* 066940 80065D40 AC580000 */ sw $t8, ($v0) -/* 066944 80065D44 AC590004 */ sw $t9, 4($v0) -/* 066948 80065D48 8C620000 */ lw $v0, ($v1) -/* 06694C 80065D4C 3C180D01 */ lui $t8, %hi(D_0D008DF8) # $t8, 0xd01 -/* 066950 80065D50 27188DF8 */ addiu $t8, %lo(D_0D008DF8) # addiu $t8, $t8, -0x7208 -/* 066954 80065D54 244F0008 */ addiu $t7, $v0, 8 -/* 066958 80065D58 AC6F0000 */ sw $t7, ($v1) -/* 06695C 80065D5C 3C0E0600 */ lui $t6, 0x600 -/* 066960 80065D60 AC4E0000 */ sw $t6, ($v0) -/* 066964 80065D64 1000005F */ b .L80065EE4 -/* 066968 80065D68 AC580004 */ sw $t8, 4($v0) -.L80065D6C: -/* 06696C 80065D6C 24630298 */ addiu $v1, $v1, %lo(gDisplayListHead) -/* 066970 80065D70 8C620000 */ lw $v0, ($v1) -/* 066974 80065D74 3C0E0D01 */ lui $t6, %hi(D_0D008DB8) # $t6, 0xd01 -/* 066978 80065D78 25CE8DB8 */ addiu $t6, %lo(D_0D008DB8) # addiu $t6, $t6, -0x7248 -/* 06697C 80065D7C 24590008 */ addiu $t9, $v0, 8 -/* 066980 80065D80 AC790000 */ sw $t9, ($v1) -/* 066984 80065D84 3C0F0600 */ lui $t7, 0x600 -/* 066988 80065D88 AC4F0000 */ sw $t7, ($v0) -/* 06698C 80065D8C AC4E0004 */ sw $t6, 4($v0) -/* 066990 80065D90 8C620000 */ lw $v0, ($v1) -/* 066994 80065D94 3C0E800E */ lui $t6, %hi(D_800E4770) -/* 066998 80065D98 00107880 */ sll $t7, $s0, 2 -/* 06699C 80065D9C 24580008 */ addiu $t8, $v0, 8 -/* 0669A0 80065DA0 AC780000 */ sw $t8, ($v1) -/* 0669A4 80065DA4 3C19FD90 */ lui $t9, 0xfd90 -/* 0669A8 80065DA8 01CF7021 */ addu $t6, $t6, $t7 -/* 0669AC 80065DAC AC590000 */ sw $t9, ($v0) -/* 0669B0 80065DB0 8DCE4770 */ lw $t6, %lo(D_800E4770)($t6) -/* 0669B4 80065DB4 3C0FF590 */ lui $t7, 0xf590 -/* 0669B8 80065DB8 8DD80000 */ lw $t8, ($t6) -/* 0669BC 80065DBC 3C0E0700 */ lui $t6, 0x700 -/* 0669C0 80065DC0 AC580004 */ sw $t8, 4($v0) -/* 0669C4 80065DC4 8C620000 */ lw $v0, ($v1) -/* 0669C8 80065DC8 24590008 */ addiu $t9, $v0, 8 -/* 0669CC 80065DCC AC790000 */ sw $t9, ($v1) -/* 0669D0 80065DD0 AC4F0000 */ sw $t7, ($v0) -/* 0669D4 80065DD4 AC4E0004 */ sw $t6, 4($v0) -/* 0669D8 80065DD8 8C620000 */ lw $v0, ($v1) -/* 0669DC 80065DDC 3C19E600 */ lui $t9, 0xe600 -/* 0669E0 80065DE0 3C0EF300 */ lui $t6, 0xf300 -/* 0669E4 80065DE4 24580008 */ addiu $t8, $v0, 8 -/* 0669E8 80065DE8 AC780000 */ sw $t8, ($v1) -/* 0669EC 80065DEC AC590000 */ sw $t9, ($v0) -/* 0669F0 80065DF0 AC400004 */ sw $zero, 4($v0) -/* 0669F4 80065DF4 8C620000 */ lw $v0, ($v1) -/* 0669F8 80065DF8 3C18071F */ lui $t8, (0x071FF200 >> 16) # lui $t8, 0x71f -/* 0669FC 80065DFC 3718F200 */ ori $t8, (0x071FF200 & 0xFFFF) # ori $t8, $t8, 0xf200 -/* 066A00 80065E00 244F0008 */ addiu $t7, $v0, 8 -/* 066A04 80065E04 AC6F0000 */ sw $t7, ($v1) -/* 066A08 80065E08 AC4E0000 */ sw $t6, ($v0) -/* 066A0C 80065E0C AC580004 */ sw $t8, 4($v0) -/* 066A10 80065E10 8C620000 */ lw $v0, ($v1) -/* 066A14 80065E14 3C0FE700 */ lui $t7, 0xe700 -/* 066A18 80065E18 3C18F588 */ lui $t8, (0xF5880800 >> 16) # lui $t8, 0xf588 -/* 066A1C 80065E1C 24590008 */ addiu $t9, $v0, 8 -/* 066A20 80065E20 AC790000 */ sw $t9, ($v1) -/* 066A24 80065E24 AC4F0000 */ sw $t7, ($v0) -/* 066A28 80065E28 AC400004 */ sw $zero, 4($v0) -/* 066A2C 80065E2C 8C620000 */ lw $v0, ($v1) -/* 066A30 80065E30 37180800 */ ori $t8, (0xF5880800 & 0xFFFF) # ori $t8, $t8, 0x800 -/* 066A34 80065E34 3C0FF200 */ lui $t7, 0xf200 -/* 066A38 80065E38 244E0008 */ addiu $t6, $v0, 8 -/* 066A3C 80065E3C AC6E0000 */ sw $t6, ($v1) -/* 066A40 80065E40 AC580000 */ sw $t8, ($v0) -/* 066A44 80065E44 AC400004 */ sw $zero, 4($v0) -/* 066A48 80065E48 8C620000 */ lw $v0, ($v1) -/* 066A4C 80065E4C 3C180007 */ lui $t8, (0x0007C07C >> 16) # lui $t8, 7 -/* 066A50 80065E50 3718C07C */ ori $t8, (0x0007C07C & 0xFFFF) # ori $t8, $t8, 0xc07c -/* 066A54 80065E54 24590008 */ addiu $t9, $v0, 8 -/* 066A58 80065E58 AC790000 */ sw $t9, ($v1) -/* 066A5C 80065E5C AFA20044 */ sw $v0, 0x44($sp) -/* 066A60 80065E60 AC4F0000 */ sw $t7, ($v0) -/* 066A64 80065E64 8FB90044 */ lw $t9, 0x44($sp) -/* 066A68 80065E68 AF380004 */ sw $t8, 4($t9) -/* 066A6C 80065E6C 87B800A0 */ lh $t8, 0xa0($sp) -/* 066A70 80065E70 87AE009A */ lh $t6, 0x9a($sp) -/* 066A74 80065E74 87AF009C */ lh $t7, 0x9c($sp) -/* 066A78 80065E78 87A7009E */ lh $a3, 0x9e($sp) -/* 066A7C 80065E7C 87A600A2 */ lh $a2, 0xa2($sp) -/* 066A80 80065E80 87A500A4 */ lh $a1, 0xa4($sp) -/* 066A84 80065E84 87A400A6 */ lh $a0, 0xa6($sp) -/* 066A88 80065E88 AFB80018 */ sw $t8, 0x18($sp) -/* 066A8C 80065E8C AFAE0014 */ sw $t6, 0x14($sp) -/* 066A90 80065E90 0C012DCB */ jal func_8004B72C -/* 066A94 80065E94 AFAF0010 */ sw $t7, 0x10($sp) -/* 066A98 80065E98 3C038015 */ lui $v1, %hi(gDisplayListHead) # $v1, 0x8015 -/* 066A9C 80065E9C 24630298 */ addiu $v1, %lo(gDisplayListHead) # addiu $v1, $v1, 0x298 -/* 066AA0 80065EA0 8C620000 */ lw $v0, ($v1) -/* 066AA4 80065EA4 3C0FB900 */ lui $t7, (0xB900031D >> 16) # lui $t7, 0xb900 -/* 066AA8 80065EA8 3C0E0050 */ lui $t6, (0x00504A50 >> 16) # lui $t6, 0x50 -/* 066AAC 80065EAC 24590008 */ addiu $t9, $v0, 8 -/* 066AB0 80065EB0 AC790000 */ sw $t9, ($v1) -/* 066AB4 80065EB4 35CE4A50 */ ori $t6, (0x00504A50 & 0xFFFF) # ori $t6, $t6, 0x4a50 -/* 066AB8 80065EB8 35EF031D */ ori $t7, (0xB900031D & 0xFFFF) # ori $t7, $t7, 0x31d -/* 066ABC 80065EBC AC4F0000 */ sw $t7, ($v0) -/* 066AC0 80065EC0 AC4E0004 */ sw $t6, 4($v0) -/* 066AC4 80065EC4 8C620000 */ lw $v0, ($v1) -/* 066AC8 80065EC8 3C0F0D01 */ lui $t7, %hi(D_0D008E48) # $t7, 0xd01 -/* 066ACC 80065ECC 25EF8E48 */ addiu $t7, %lo(D_0D008E48) # addiu $t7, $t7, -0x71b8 -/* 066AD0 80065ED0 24580008 */ addiu $t8, $v0, 8 -/* 066AD4 80065ED4 AC780000 */ sw $t8, ($v1) -/* 066AD8 80065ED8 3C190600 */ lui $t9, 0x600 -/* 066ADC 80065EDC AC590000 */ sw $t9, ($v0) -/* 066AE0 80065EE0 AC4F0004 */ sw $t7, 4($v0) -.L80065EE4: -/* 066AE4 80065EE4 3C028016 */ lui $v0, %hi(gMatrixEffectCount) # $v0, 0x8016 -/* 066AE8 80065EE8 24424AF0 */ addiu $v0, %lo(gMatrixEffectCount) # addiu $v0, $v0, 0x4af0 -/* 066AEC 80065EEC 844E0000 */ lh $t6, ($v0) -/* 066AF0 80065EF0 25D80001 */ addiu $t8, $t6, 1 -/* 066AF4 80065EF4 A4580000 */ sh $t8, ($v0) -/* 066AF8 80065EF8 8FBF002C */ lw $ra, 0x2c($sp) -.L80065EFC: -/* 066AFC 80065EFC 8FB00028 */ lw $s0, 0x28($sp) -/* 066B00 80065F00 27BD00C0 */ addiu $sp, $sp, 0xc0 -/* 066B04 80065F04 03E00008 */ jr $ra -/* 066B08 80065F08 00000000 */ nop diff --git a/asm/non_matchings/code_80057C60/func_80065F0C.s b/asm/non_matchings/code_80057C60/func_80065F0C.s deleted file mode 100644 index 693fcd3ba..000000000 --- a/asm/non_matchings/code_80057C60/func_80065F0C.s +++ /dev/null @@ -1,379 +0,0 @@ -glabel func_80065F0C -/* 066B0C 80065F0C 27BDFF18 */ addiu $sp, $sp, -0xe8 -/* 066B10 80065F10 00067400 */ sll $t6, $a2, 0x10 -/* 066B14 80065F14 000E7C03 */ sra $t7, $t6, 0x10 -/* 066B18 80065F18 000F70C0 */ sll $t6, $t7, 3 -/* 066B1C 80065F1C 01CF7021 */ addu $t6, $t6, $t7 -/* 066B20 80065F20 000E70C0 */ sll $t6, $t6, 3 -/* 066B24 80065F24 AFBF0034 */ sw $ra, 0x34($sp) -/* 066B28 80065F28 AFB30030 */ sw $s3, 0x30($sp) -/* 066B2C 80065F2C AFB2002C */ sw $s2, 0x2c($sp) -/* 066B30 80065F30 AFB10028 */ sw $s1, 0x28($sp) -/* 066B34 80065F34 AFB00024 */ sw $s0, 0x24($sp) -/* 066B38 80065F38 AFA500EC */ sw $a1, 0xec($sp) -/* 066B3C 80065F3C AFA600F0 */ sw $a2, 0xf0($sp) -/* 066B40 80065F40 AFA700F4 */ sw $a3, 0xf4($sp) -/* 066B44 80065F44 008E1021 */ addu $v0, $a0, $t6 -/* 066B48 80065F48 844F0544 */ lh $t7, 0x544($v0) -/* 066B4C 80065F4C 0007C600 */ sll $t8, $a3, 0x18 -/* 066B50 80065F50 24010001 */ li $at, 1 -/* 066B54 80065F54 0018CE03 */ sra $t9, $t8, 0x18 -/* 066B58 80065F58 15E1015A */ bne $t7, $at, .L800664C4 -/* 066B5C 80065F5C 00808025 */ move $s0, $a0 -/* 066B60 80065F60 84580546 */ lh $t8, 0x546($v0) -/* 066B64 80065F64 53000158 */ beql $t8, $zero, .L800664C8 -/* 066B68 80065F68 8FBF0034 */ lw $ra, 0x34($sp) -/* 066B6C 80065F6C C4440528 */ lwc1 $f4, 0x528($v0) -/* 066B70 80065F70 0019C840 */ sll $t9, $t9, 1 -/* 066B74 80065F74 00997021 */ addu $t6, $a0, $t9 -/* 066B78 80065F78 E7A400DC */ swc1 $f4, 0xdc($sp) -/* 066B7C 80065F7C C446052C */ lwc1 $f6, 0x52c($v0) -/* 066B80 80065F80 27A400DC */ addiu $a0, $sp, 0xdc -/* 066B84 80065F84 27A500D4 */ addiu $a1, $sp, 0xd4 -/* 066B88 80065F88 E7A600E0 */ swc1 $f6, 0xe0($sp) -/* 066B8C 80065F8C C4480530 */ lwc1 $f8, 0x530($v0) -/* 066B90 80065F90 A7A000D4 */ sh $zero, 0xd4($sp) -/* 066B94 80065F94 E7A800E4 */ swc1 $f8, 0xe4($sp) -/* 066B98 80065F98 85CF0048 */ lh $t7, 0x48($t6) -/* 066B9C 80065F9C A7A000D8 */ sh $zero, 0xd8($sp) -/* 066BA0 80065FA0 A7AF00D6 */ sh $t7, 0xd6($sp) -/* 066BA4 80065FA4 C6100224 */ lwc1 $f16, 0x224($s0) -/* 066BA8 80065FA8 C44A0534 */ lwc1 $f10, 0x534($v0) -/* 066BAC 80065FAC AFA20044 */ sw $v0, 0x44($sp) -/* 066BB0 80065FB0 46105482 */ mul.s $f18, $f10, $f16 -/* 066BB4 80065FB4 44069000 */ mfc1 $a2, $f18 -/* 066BB8 80065FB8 0C0194B5 */ jal func_800652D4 -/* 066BBC 80065FBC 00000000 */ nop -/* 066BC0 80065FC0 8FA20044 */ lw $v0, 0x44($sp) -/* 066BC4 80065FC4 24010008 */ li $at, 8 -/* 066BC8 80065FC8 3C118015 */ lui $s1, %hi(gDisplayListHead) # $s1, 0x8015 -/* 066BCC 80065FCC C444053C */ lwc1 $f4, 0x53c($v0) -/* 066BD0 80065FD0 3C0F0D01 */ lui $t7, %hi(D_0D008C90) # $t7, 0xd01 -/* 066BD4 80065FD4 3C03800E */ lui $v1, %hi(D_800E47DC) -/* 066BD8 80065FD8 4600218D */ trunc.w.s $f6, $f4 -/* 066BDC 80065FDC 26310298 */ addiu $s1, %lo(gDisplayListHead) # addiu $s1, $s1, 0x298 -/* 066BE0 80065FE0 25EF8C90 */ addiu $t7, %lo(D_0D008C90) # addiu $t7, $t7, -0x7370 -/* 066BE4 80065FE4 3C0E0600 */ lui $t6, 0x600 -/* 066BE8 80065FE8 44193000 */ mfc1 $t9, $f6 -/* 066BEC 80065FEC 00000000 */ nop -/* 066BF0 80065FF0 532100D0 */ beql $t9, $at, .L80066334 -/* 066BF4 80065FF4 8E300000 */ lw $s0, ($s1) -/* 066BF8 80065FF8 84450560 */ lh $a1, 0x560($v0) -/* 066BFC 80065FFC 84440562 */ lh $a0, 0x562($v0) -/* 066C00 80066000 3C06800E */ lui $a2, %hi(D_800E480C) -/* 066C04 80066004 00057080 */ sll $t6, $a1, 2 -/* 066C08 80066008 006E1821 */ addu $v1, $v1, $t6 -/* 066C0C 8006600C 8C6347DC */ lw $v1, %lo(D_800E47DC)($v1) -/* 066C10 80066010 01C02825 */ move $a1, $t6 -/* 066C14 80066014 00C53021 */ addu $a2, $a2, $a1 -/* 066C18 80066018 00037C03 */ sra $t7, $v1, 0x10 -/* 066C1C 8006601C 31F800FF */ andi $t8, $t7, 0xff -/* 066C20 80066020 0304F823 */ subu $ra, $t8, $a0 -/* 066C24 80066024 00037A03 */ sra $t7, $v1, 8 -/* 066C28 80066028 31F800FF */ andi $t8, $t7, 0xff -/* 066C2C 8006602C 8CC6480C */ lw $a2, %lo(D_800E480C)($a2) -/* 066C30 80066030 306F00FF */ andi $t7, $v1, 0xff -/* 066C34 80066034 001FCC00 */ sll $t9, $ra, 0x10 -/* 066C38 80066038 03049023 */ subu $s2, $t8, $a0 -/* 066C3C 8006603C 01E49823 */ subu $s3, $t7, $a0 -/* 066C40 80066040 0019FC03 */ sra $ra, $t9, 0x10 -/* 066C44 80066044 0012CC00 */ sll $t9, $s2, 0x10 -/* 066C48 80066048 0013C400 */ sll $t8, $s3, 0x10 -/* 066C4C 8006604C 00067403 */ sra $t6, $a2, 0x10 -/* 066C50 80066050 00199403 */ sra $s2, $t9, 0x10 -/* 066C54 80066054 00189C03 */ sra $s3, $t8, 0x10 -/* 066C58 80066058 31CF00FF */ andi $t7, $t6, 0xff -/* 066C5C 8006605C 01E4C023 */ subu $t8, $t7, $a0 -/* 066C60 80066060 0006CA03 */ sra $t9, $a2, 8 -/* 066C64 80066064 A7B800CA */ sh $t8, 0xca($sp) -/* 066C68 80066068 332E00FF */ andi $t6, $t9, 0xff -/* 066C6C 8006606C 30D800FF */ andi $t8, $a2, 0xff -/* 066C70 80066070 01C47823 */ subu $t7, $t6, $a0 -/* 066C74 80066074 0304C823 */ subu $t9, $t8, $a0 -/* 066C78 80066078 A7AF00C8 */ sh $t7, 0xc8($sp) -/* 066C7C 8006607C A7B900C6 */ sh $t9, 0xc6($sp) -/* 066C80 80066080 844E0566 */ lh $t6, 0x566($v0) -/* 066C84 80066084 3C118015 */ lui $s1, %hi(gDisplayListHead) # $s1, 0x8015 -/* 066C88 80066088 26310298 */ addiu $s1, %lo(gDisplayListHead) # addiu $s1, $s1, 0x298 -/* 066C8C 8006608C A7AE00CC */ sh $t6, 0xcc($sp) -/* 066C90 80066090 844F0568 */ lh $t7, 0x568($v0) -/* 066C94 80066094 3C0E0D01 */ lui $t6, %hi(D_0D008DB8) # $t6, 0xd01 -/* 066C98 80066098 3C190D01 */ lui $t9, 0xd01 -/* 066C9C 8006609C 15E00050 */ bnez $t7, .L800661E0 -/* 066CA0 800660A0 3C180600 */ lui $t8, 0x600 -/* 066CA4 800660A4 3C118015 */ lui $s1, %hi(gDisplayListHead) # $s1, 0x8015 -/* 066CA8 800660A8 26310298 */ addiu $s1, %lo(gDisplayListHead) # addiu $s1, $s1, 0x298 -/* 066CAC 800660AC 8E300000 */ lw $s0, ($s1) -/* 066CB0 800660B0 3C190600 */ lui $t9, 0x600 -/* 066CB4 800660B4 25CE8DB8 */ addiu $t6, %lo(D_0D008DB8) # addiu $t6, $t6, -0x7248 -/* 066CB8 800660B8 26180008 */ addiu $t8, $s0, 8 -/* 066CBC 800660BC AE380000 */ sw $t8, ($s1) -/* 066CC0 800660C0 AE0E0004 */ sw $t6, 4($s0) -/* 066CC4 800660C4 AE190000 */ sw $t9, ($s0) -/* 066CC8 800660C8 8E300000 */ lw $s0, ($s1) -/* 066CCC 800660CC 3C18FD90 */ lui $t8, 0xfd90 -/* 066CD0 800660D0 3C198019 */ lui $t9, %hi(D_8018D494) # $t9, 0x8019 -/* 066CD4 800660D4 260F0008 */ addiu $t7, $s0, 8 -/* 066CD8 800660D8 AE2F0000 */ sw $t7, ($s1) -/* 066CDC 800660DC AE180000 */ sw $t8, ($s0) -/* 066CE0 800660E0 8F39D494 */ lw $t9, %lo(D_8018D494)($t9) -/* 066CE4 800660E4 3C180700 */ lui $t8, 0x700 -/* 066CE8 800660E8 3C0FF590 */ lui $t7, 0xf590 -/* 066CEC 800660EC AE190004 */ sw $t9, 4($s0) -/* 066CF0 800660F0 8E300000 */ lw $s0, ($s1) -/* 066CF4 800660F4 03E02025 */ move $a0, $ra -/* 066CF8 800660F8 02402825 */ move $a1, $s2 -/* 066CFC 800660FC 260E0008 */ addiu $t6, $s0, 8 -/* 066D00 80066100 AE2E0000 */ sw $t6, ($s1) -/* 066D04 80066104 AE180004 */ sw $t8, 4($s0) -/* 066D08 80066108 AE0F0000 */ sw $t7, ($s0) -/* 066D0C 8006610C 8E300000 */ lw $s0, ($s1) -/* 066D10 80066110 3C0EE600 */ lui $t6, 0xe600 -/* 066D14 80066114 3C18F300 */ lui $t8, 0xf300 -/* 066D18 80066118 26190008 */ addiu $t9, $s0, 8 -/* 066D1C 8006611C AE390000 */ sw $t9, ($s1) -/* 066D20 80066120 AE000004 */ sw $zero, 4($s0) -/* 066D24 80066124 AE0E0000 */ sw $t6, ($s0) -/* 066D28 80066128 8E300000 */ lw $s0, ($s1) -/* 066D2C 8006612C 3C19071F */ lui $t9, (0x071FF200 >> 16) # lui $t9, 0x71f -/* 066D30 80066130 3739F200 */ ori $t9, (0x071FF200 & 0xFFFF) # ori $t9, $t9, 0xf200 -/* 066D34 80066134 260F0008 */ addiu $t7, $s0, 8 -/* 066D38 80066138 AE2F0000 */ sw $t7, ($s1) -/* 066D3C 8006613C AE190004 */ sw $t9, 4($s0) -/* 066D40 80066140 AE180000 */ sw $t8, ($s0) -/* 066D44 80066144 8E300000 */ lw $s0, ($s1) -/* 066D48 80066148 3C0FE700 */ lui $t7, 0xe700 -/* 066D4C 8006614C 3C19F588 */ lui $t9, (0xF5880800 >> 16) # lui $t9, 0xf588 -/* 066D50 80066150 260E0008 */ addiu $t6, $s0, 8 -/* 066D54 80066154 AE2E0000 */ sw $t6, ($s1) -/* 066D58 80066158 AE000004 */ sw $zero, 4($s0) -/* 066D5C 8006615C AE0F0000 */ sw $t7, ($s0) -/* 066D60 80066160 8E300000 */ lw $s0, ($s1) -/* 066D64 80066164 37390800 */ ori $t9, (0xF5880800 & 0xFFFF) # ori $t9, $t9, 0x800 -/* 066D68 80066168 3C0FF200 */ lui $t7, 0xf200 -/* 066D6C 8006616C 26180008 */ addiu $t8, $s0, 8 -/* 066D70 80066170 AE380000 */ sw $t8, ($s1) -/* 066D74 80066174 AE000004 */ sw $zero, 4($s0) -/* 066D78 80066178 AE190000 */ sw $t9, ($s0) -/* 066D7C 8006617C 8E300000 */ lw $s0, ($s1) -/* 066D80 80066180 3C180007 */ lui $t8, (0x0007C07C >> 16) # lui $t8, 7 -/* 066D84 80066184 3718C07C */ ori $t8, (0x0007C07C & 0xFFFF) # ori $t8, $t8, 0xc07c -/* 066D88 80066188 260E0008 */ addiu $t6, $s0, 8 -/* 066D8C 8006618C AE2E0000 */ sw $t6, ($s1) -/* 066D90 80066190 AE180004 */ sw $t8, 4($s0) -/* 066D94 80066194 AE0F0000 */ sw $t7, ($s0) -/* 066D98 80066198 87AF00CC */ lh $t7, 0xcc($sp) -/* 066D9C 8006619C 87AE00C6 */ lh $t6, 0xc6($sp) -/* 066DA0 800661A0 87B900C8 */ lh $t9, 0xc8($sp) -/* 066DA4 800661A4 87A700CA */ lh $a3, 0xca($sp) -/* 066DA8 800661A8 02603025 */ move $a2, $s3 -/* 066DAC 800661AC AFAF0018 */ sw $t7, 0x18($sp) -/* 066DB0 800661B0 AFAE0014 */ sw $t6, 0x14($sp) -/* 066DB4 800661B4 0C012DCB */ jal func_8004B72C -/* 066DB8 800661B8 AFB90010 */ sw $t9, 0x10($sp) -/* 066DBC 800661BC 8E300000 */ lw $s0, ($s1) -/* 066DC0 800661C0 3C0E0D01 */ lui $t6, %hi(D_0D008E48) # $t6, 0xd01 -/* 066DC4 800661C4 25CE8E48 */ addiu $t6, %lo(D_0D008E48) # addiu $t6, $t6, -0x71b8 -/* 066DC8 800661C8 26180008 */ addiu $t8, $s0, 8 -/* 066DCC 800661CC AE380000 */ sw $t8, ($s1) -/* 066DD0 800661D0 3C190600 */ lui $t9, %hi(D_05FF8DB8) # $t9, 0x600 -/* 066DD4 800661D4 AE190000 */ sw $t9, ($s0) -/* 066DD8 800661D8 100000B5 */ b .L800664B0 -/* 066DDC 800661DC AE0E0004 */ sw $t6, 4($s0) -.L800661E0: -/* 066DE0 800661E0 8E300000 */ lw $s0, ($s1) -/* 066DE4 800661E4 27398DB8 */ addiu $t9, %lo(D_05FF8DB8) # addiu $t9, $t9, -0x7248 -/* 066DE8 800661E8 03E02025 */ move $a0, $ra -/* 066DEC 800661EC 260F0008 */ addiu $t7, $s0, 8 -/* 066DF0 800661F0 AE2F0000 */ sw $t7, ($s1) -/* 066DF4 800661F4 AE190004 */ sw $t9, 4($s0) -/* 066DF8 800661F8 AE180000 */ sw $t8, ($s0) -/* 066DFC 800661FC 8E300000 */ lw $s0, ($s1) -/* 066E00 80066200 3C0FFD90 */ lui $t7, 0xfd90 -/* 066E04 80066204 3C188019 */ lui $t8, %hi(D_8018D494) # $t8, 0x8019 -/* 066E08 80066208 260E0008 */ addiu $t6, $s0, 8 -/* 066E0C 8006620C AE2E0000 */ sw $t6, ($s1) -/* 066E10 80066210 AE0F0000 */ sw $t7, ($s0) -/* 066E14 80066214 8F18D494 */ lw $t8, %lo(D_8018D494)($t8) -/* 066E18 80066218 3C0F0700 */ lui $t7, 0x700 -/* 066E1C 8006621C 3C0EF590 */ lui $t6, 0xf590 -/* 066E20 80066220 AE180004 */ sw $t8, 4($s0) -/* 066E24 80066224 8E300000 */ lw $s0, ($s1) -/* 066E28 80066228 02402825 */ move $a1, $s2 -/* 066E2C 8006622C 02603025 */ move $a2, $s3 -/* 066E30 80066230 26190008 */ addiu $t9, $s0, 8 -/* 066E34 80066234 AE390000 */ sw $t9, ($s1) -/* 066E38 80066238 AE0F0004 */ sw $t7, 4($s0) -/* 066E3C 8006623C AE0E0000 */ sw $t6, ($s0) -/* 066E40 80066240 8E300000 */ lw $s0, ($s1) -/* 066E44 80066244 3C19E600 */ lui $t9, 0xe600 -/* 066E48 80066248 3C0FF300 */ lui $t7, 0xf300 -/* 066E4C 8006624C 26180008 */ addiu $t8, $s0, 8 -/* 066E50 80066250 AE380000 */ sw $t8, ($s1) -/* 066E54 80066254 AE000004 */ sw $zero, 4($s0) -/* 066E58 80066258 AE190000 */ sw $t9, ($s0) -/* 066E5C 8006625C 8E300000 */ lw $s0, ($s1) -/* 066E60 80066260 3C18071F */ lui $t8, (0x071FF200 >> 16) # lui $t8, 0x71f -/* 066E64 80066264 3718F200 */ ori $t8, (0x071FF200 & 0xFFFF) # ori $t8, $t8, 0xf200 -/* 066E68 80066268 260E0008 */ addiu $t6, $s0, 8 -/* 066E6C 8006626C AE2E0000 */ sw $t6, ($s1) -/* 066E70 80066270 AE180004 */ sw $t8, 4($s0) -/* 066E74 80066274 AE0F0000 */ sw $t7, ($s0) -/* 066E78 80066278 8E300000 */ lw $s0, ($s1) -/* 066E7C 8006627C 3C0EE700 */ lui $t6, 0xe700 -/* 066E80 80066280 3C18F588 */ lui $t8, (0xF5880800 >> 16) # lui $t8, 0xf588 -/* 066E84 80066284 26190008 */ addiu $t9, $s0, 8 -/* 066E88 80066288 AE390000 */ sw $t9, ($s1) -/* 066E8C 8006628C AE000004 */ sw $zero, 4($s0) -/* 066E90 80066290 AE0E0000 */ sw $t6, ($s0) -/* 066E94 80066294 8E300000 */ lw $s0, ($s1) -/* 066E98 80066298 37180800 */ ori $t8, (0xF5880800 & 0xFFFF) # ori $t8, $t8, 0x800 -/* 066E9C 8006629C 3C0EF200 */ lui $t6, 0xf200 -/* 066EA0 800662A0 260F0008 */ addiu $t7, $s0, 8 -/* 066EA4 800662A4 AE2F0000 */ sw $t7, ($s1) -/* 066EA8 800662A8 AE000004 */ sw $zero, 4($s0) -/* 066EAC 800662AC AE180000 */ sw $t8, ($s0) -/* 066EB0 800662B0 8E300000 */ lw $s0, ($s1) -/* 066EB4 800662B4 3C0F0007 */ lui $t7, (0x0007C07C >> 16) # lui $t7, 7 -/* 066EB8 800662B8 35EFC07C */ ori $t7, (0x0007C07C & 0xFFFF) # ori $t7, $t7, 0xc07c -/* 066EBC 800662BC 26190008 */ addiu $t9, $s0, 8 -/* 066EC0 800662C0 AE390000 */ sw $t9, ($s1) -/* 066EC4 800662C4 AE0F0004 */ sw $t7, 4($s0) -/* 066EC8 800662C8 AE0E0000 */ sw $t6, ($s0) -/* 066ECC 800662CC 87AE00CC */ lh $t6, 0xcc($sp) -/* 066ED0 800662D0 87B900C6 */ lh $t9, 0xc6($sp) -/* 066ED4 800662D4 87B800C8 */ lh $t8, 0xc8($sp) -/* 066ED8 800662D8 87A700CA */ lh $a3, 0xca($sp) -/* 066EDC 800662DC AFAE0018 */ sw $t6, 0x18($sp) -/* 066EE0 800662E0 AFB90014 */ sw $t9, 0x14($sp) -/* 066EE4 800662E4 0C012DCB */ jal func_8004B72C -/* 066EE8 800662E8 AFB80010 */ sw $t8, 0x10($sp) -/* 066EEC 800662EC 8E300000 */ lw $s0, ($s1) -/* 066EF0 800662F0 3C18B900 */ lui $t8, (0xB9000002 >> 16) # lui $t8, 0xb900 -/* 066EF4 800662F4 37180002 */ ori $t8, (0xB9000002 & 0xFFFF) # ori $t8, $t8, 2 -/* 066EF8 800662F8 260F0008 */ addiu $t7, $s0, 8 -/* 066EFC 800662FC AE2F0000 */ sw $t7, ($s1) -/* 066F00 80066300 24190003 */ li $t9, 3 -/* 066F04 80066304 AE190004 */ sw $t9, 4($s0) -/* 066F08 80066308 AE180000 */ sw $t8, ($s0) -/* 066F0C 8006630C 8E300000 */ lw $s0, ($s1) -/* 066F10 80066310 3C180D01 */ lui $t8, %hi(D_0D008E48) # $t8, 0xd01 -/* 066F14 80066314 27188E48 */ addiu $t8, %lo(D_0D008E48) # addiu $t8, $t8, -0x71b8 -/* 066F18 80066318 260E0008 */ addiu $t6, $s0, 8 -/* 066F1C 8006631C AE2E0000 */ sw $t6, ($s1) -/* 066F20 80066320 3C0F0600 */ lui $t7, 0x600 -/* 066F24 80066324 AE0F0000 */ sw $t7, ($s0) -/* 066F28 80066328 10000061 */ b .L800664B0 -/* 066F2C 8006632C AE180004 */ sw $t8, 4($s0) -/* 066F30 80066330 8E300000 */ lw $s0, ($s1) -.L80066334: -/* 066F34 80066334 84440560 */ lh $a0, 0x560($v0) -/* 066F38 80066338 84450562 */ lh $a1, 0x562($v0) -/* 066F3C 8006633C 84460564 */ lh $a2, 0x564($v0) -/* 066F40 80066340 26190008 */ addiu $t9, $s0, 8 -/* 066F44 80066344 AE390000 */ sw $t9, ($s1) -/* 066F48 80066348 AE0F0004 */ sw $t7, 4($s0) -/* 066F4C 8006634C AE0E0000 */ sw $t6, ($s0) -/* 066F50 80066350 8E300000 */ lw $s0, ($s1) -/* 066F54 80066354 3C19BA00 */ lui $t9, (0xBA000E02 >> 16) # lui $t9, 0xba00 -/* 066F58 80066358 37390E02 */ ori $t9, (0xBA000E02 & 0xFFFF) # ori $t9, $t9, 0xe02 -/* 066F5C 8006635C 26180008 */ addiu $t8, $s0, 8 -/* 066F60 80066360 AE380000 */ sw $t8, ($s1) -/* 066F64 80066364 AE000004 */ sw $zero, 4($s0) -/* 066F68 80066368 AE190000 */ sw $t9, ($s0) -/* 066F6C 8006636C 8E300000 */ lw $s0, ($s1) -/* 066F70 80066370 3C0FFD10 */ lui $t7, 0xfd10 -/* 066F74 80066374 3C188019 */ lui $t8, %hi(D_8018D498) # $t8, 0x8019 -/* 066F78 80066378 260E0008 */ addiu $t6, $s0, 8 -/* 066F7C 8006637C AE2E0000 */ sw $t6, ($s1) -/* 066F80 80066380 AE0F0000 */ sw $t7, ($s0) -/* 066F84 80066384 8F18D498 */ lw $t8, %lo(D_8018D498)($t8) -/* 066F88 80066388 3C0F0708 */ lui $t7, (0x07080200 >> 16) # lui $t7, 0x708 -/* 066F8C 8006638C 35EF0200 */ ori $t7, (0x07080200 & 0xFFFF) # ori $t7, $t7, 0x200 -/* 066F90 80066390 AE180004 */ sw $t8, 4($s0) -/* 066F94 80066394 8E300000 */ lw $s0, ($s1) -/* 066F98 80066398 3C0EF510 */ lui $t6, 0xf510 -/* 066F9C 8006639C 240700FF */ li $a3, 255 -/* 066FA0 800663A0 26190008 */ addiu $t9, $s0, 8 -/* 066FA4 800663A4 AE390000 */ sw $t9, ($s1) -/* 066FA8 800663A8 AE0F0004 */ sw $t7, 4($s0) -/* 066FAC 800663AC AE0E0000 */ sw $t6, ($s0) -/* 066FB0 800663B0 8E300000 */ lw $s0, ($s1) -/* 066FB4 800663B4 3C19E600 */ lui $t9, 0xe600 -/* 066FB8 800663B8 3C0FF300 */ lui $t7, 0xf300 -/* 066FBC 800663BC 26180008 */ addiu $t8, $s0, 8 -/* 066FC0 800663C0 AE380000 */ sw $t8, ($s1) -/* 066FC4 800663C4 AE000004 */ sw $zero, 4($s0) -/* 066FC8 800663C8 AE190000 */ sw $t9, ($s0) -/* 066FCC 800663CC 8E300000 */ lw $s0, ($s1) -/* 066FD0 800663D0 3C18077F */ lui $t8, (0x077FF100 >> 16) # lui $t8, 0x77f -/* 066FD4 800663D4 3718F100 */ ori $t8, (0x077FF100 & 0xFFFF) # ori $t8, $t8, 0xf100 -/* 066FD8 800663D8 260E0008 */ addiu $t6, $s0, 8 -/* 066FDC 800663DC AE2E0000 */ sw $t6, ($s1) -/* 066FE0 800663E0 AE180004 */ sw $t8, 4($s0) -/* 066FE4 800663E4 AE0F0000 */ sw $t7, ($s0) -/* 066FE8 800663E8 8E300000 */ lw $s0, ($s1) -/* 066FEC 800663EC 3C0EE700 */ lui $t6, 0xe700 -/* 066FF0 800663F0 3C18F510 */ lui $t8, (0xF5101000 >> 16) # lui $t8, 0xf510 -/* 066FF4 800663F4 26190008 */ addiu $t9, $s0, 8 -/* 066FF8 800663F8 AE390000 */ sw $t9, ($s1) -/* 066FFC 800663FC AE000004 */ sw $zero, 4($s0) -/* 067000 80066400 AE0E0000 */ sw $t6, ($s0) -/* 067004 80066404 8E300000 */ lw $s0, ($s1) -/* 067008 80066408 3C190008 */ lui $t9, (0x00080200 >> 16) # lui $t9, 8 -/* 06700C 8006640C 37390200 */ ori $t9, (0x00080200 & 0xFFFF) # ori $t9, $t9, 0x200 -/* 067010 80066410 260F0008 */ addiu $t7, $s0, 8 -/* 067014 80066414 AE2F0000 */ sw $t7, ($s1) -/* 067018 80066418 37181000 */ ori $t8, (0xF5101000 & 0xFFFF) # ori $t8, $t8, 0x1000 -/* 06701C 8006641C AE180000 */ sw $t8, ($s0) -/* 067020 80066420 AE190004 */ sw $t9, 4($s0) -/* 067024 80066424 8E300000 */ lw $s0, ($s1) -/* 067028 80066428 3C180007 */ lui $t8, (0x0007C0FC >> 16) # lui $t8, 7 -/* 06702C 8006642C 3718C0FC */ ori $t8, (0x0007C0FC & 0xFFFF) # ori $t8, $t8, 0xc0fc -/* 067030 80066430 260E0008 */ addiu $t6, $s0, 8 -/* 067034 80066434 AE2E0000 */ sw $t6, ($s1) -/* 067038 80066438 3C0FF200 */ lui $t7, 0xf200 -/* 06703C 8006643C AE0F0000 */ sw $t7, ($s0) -/* 067040 80066440 0C012CD7 */ jal func_8004B35C -/* 067044 80066444 AE180004 */ sw $t8, 4($s0) -/* 067048 80066448 8E300000 */ lw $s0, ($s1) -/* 06704C 8006644C 3C0EB900 */ lui $t6, (0xB900031D >> 16) # lui $t6, 0xb900 -/* 067050 80066450 3C0F0055 */ lui $t7, (0x00553078 >> 16) # lui $t7, 0x55 -/* 067054 80066454 26190008 */ addiu $t9, $s0, 8 -/* 067058 80066458 AE390000 */ sw $t9, ($s1) -/* 06705C 8006645C 35EF3078 */ ori $t7, (0x00553078 & 0xFFFF) # ori $t7, $t7, 0x3078 -/* 067060 80066460 35CE031D */ ori $t6, (0xB900031D & 0xFFFF) # ori $t6, $t6, 0x31d -/* 067064 80066464 AE0E0000 */ sw $t6, ($s0) -/* 067068 80066468 AE0F0004 */ sw $t7, 4($s0) -/* 06706C 8006646C 8E300000 */ lw $s0, ($s1) -/* 067070 80066470 3C0E800F */ lui $t6, %hi(D_800E8C00) # $t6, 0x800f -/* 067074 80066474 3C190400 */ lui $t9, (0x0400103F >> 16) # lui $t9, 0x400 -/* 067078 80066478 26180008 */ addiu $t8, $s0, 8 -/* 06707C 8006647C AE380000 */ sw $t8, ($s1) -/* 067080 80066480 3739103F */ ori $t9, (0x0400103F & 0xFFFF) # ori $t9, $t9, 0x103f -/* 067084 80066484 25CE8C00 */ addiu $t6, %lo(D_800E8C00) # addiu $t6, $t6, -0x7400 -/* 067088 80066488 AE0E0004 */ sw $t6, 4($s0) -/* 06708C 8006648C AE190000 */ sw $t9, ($s0) -/* 067090 80066490 8E300000 */ lw $s0, ($s1) -/* 067094 80066494 3C190D01 */ lui $t9, %hi(D_0D008DA0) # $t9, 0xd01 -/* 067098 80066498 27398DA0 */ addiu $t9, %lo(D_0D008DA0) # addiu $t9, $t9, -0x7260 -/* 06709C 8006649C 260F0008 */ addiu $t7, $s0, 8 -/* 0670A0 800664A0 AE2F0000 */ sw $t7, ($s1) -/* 0670A4 800664A4 3C180600 */ lui $t8, 0x600 -/* 0670A8 800664A8 AE180000 */ sw $t8, ($s0) -/* 0670AC 800664AC AE190004 */ sw $t9, 4($s0) -.L800664B0: -/* 0670B0 800664B0 3C028016 */ lui $v0, %hi(gMatrixEffectCount) # $v0, 0x8016 -/* 0670B4 800664B4 24424AF0 */ addiu $v0, %lo(gMatrixEffectCount) # addiu $v0, $v0, 0x4af0 -/* 0670B8 800664B8 844E0000 */ lh $t6, ($v0) -/* 0670BC 800664BC 25CF0001 */ addiu $t7, $t6, 1 -/* 0670C0 800664C0 A44F0000 */ sh $t7, ($v0) -.L800664C4: -/* 0670C4 800664C4 8FBF0034 */ lw $ra, 0x34($sp) -.L800664C8: -/* 0670C8 800664C8 8FB00024 */ lw $s0, 0x24($sp) -/* 0670CC 800664CC 8FB10028 */ lw $s1, 0x28($sp) -/* 0670D0 800664D0 8FB2002C */ lw $s2, 0x2c($sp) -/* 0670D4 800664D4 8FB30030 */ lw $s3, 0x30($sp) -/* 0670D8 800664D8 03E00008 */ jr $ra -/* 0670DC 800664DC 27BD00E8 */ addiu $sp, $sp, 0xe8 diff --git a/asm/non_matchings/cpu_vehicles_camera_path/cpu_use_item_strategy.s b/asm/non_matchings/cpu_vehicles_camera_path/cpu_use_item_strategy.s deleted file mode 100644 index e7def57c8..000000000 --- a/asm/non_matchings/cpu_vehicles_camera_path/cpu_use_item_strategy.s +++ /dev/null @@ -1,1303 +0,0 @@ -.section .late_rodata - -glabel jpt_800ED404 -.word L8001ACAC, L8001AD64, L8001AF34, L8001AFD8 -.word L8001B4AC, L8001B528, L8001B5B8, L8001B630 -.word L8001B6AC, L8001B738, L8001B7BC, L8001B838 -.word L8001B90C, L8001BA38, L8001BA98, L8001BB30 -.word L8001BE30, L8001BE30, L8001BE30, L8001BE30 -.word L8001BE30, L8001BE30, L8001BC28, L8001BC64 -.word L8001BE30, L8001BC8C, L8001BCBC, L8001BCE0 -.word L8001BD10, L8001BD34, L8001BD60, L8001BD94 -.word L8001BDC8, L8001BDE4, L8001B0EC, L8001B2C4 -.word L8001B3B4 - -glabel D_800ED498 -.double 0.4 - -glabel jpt_800ED4A0 -.word L8001B970, L8001B988, L8001B9A0, L8001B9B8 -.word L8001B9D0 - -.section .text - -glabel cpu_use_item_strategy -/* 01B810 8001AC10 000478C0 */ sll $t7, $a0, 3 -/* 01B814 8001AC14 01E47823 */ subu $t7, $t7, $a0 -/* 01B818 8001AC18 000F7900 */ sll $t7, $t7, 4 -/* 01B81C 8001AC1C 01E47823 */ subu $t7, $t7, $a0 -/* 01B820 8001AC20 3C18800E */ lui $t8, %hi(gPlayerOne) -/* 01B824 8001AC24 8F18C4DC */ lw $t8, %lo(gPlayerOne)($t8) -/* 01B828 8001AC28 000F7880 */ sll $t7, $t7, 2 -/* 01B82C 8001AC2C 3C0B800E */ lui $t3, %hi(gModeSelection) -/* 01B830 8001AC30 8D6BC53C */ lw $t3, %lo(gModeSelection)($t3) -/* 01B834 8001AC34 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 01B838 8001AC38 01E47823 */ subu $t7, $t7, $a0 -/* 01B83C 8001AC3C 000F78C0 */ sll $t7, $t7, 3 -/* 01B840 8001AC40 24080001 */ li $t0, 1 -/* 01B844 8001AC44 01F8C821 */ addu $t9, $t7, $t8 -/* 01B848 8001AC48 AFBF0024 */ sw $ra, 0x24($sp) -/* 01B84C 8001AC4C AFB00020 */ sw $s0, 0x20($sp) -/* 01B850 8001AC50 AFA40030 */ sw $a0, 0x30($sp) -/* 01B854 8001AC54 110B0483 */ beq $t0, $t3, .L8001BE64 -/* 01B858 8001AC58 AFB9002C */ sw $t9, 0x2c($sp) -/* 01B85C 8001AC5C 3C0C8016 */ lui $t4, %hi(D_801646CC) # $t4, 0x8016 -/* 01B860 8001AC60 958C46CC */ lhu $t4, %lo(D_801646CC)($t4) -/* 01B864 8001AC64 510C0480 */ beql $t0, $t4, .L8001BE68 -/* 01B868 8001AC68 8FBF0024 */ lw $ra, 0x24($sp) -/* 01B86C 8001AC6C 972E0000 */ lhu $t6, ($t9) -/* 01B870 8001AC70 3C0B8016 */ lui $t3, %hi(cpu_ItemStrategy) # $t3, 0x8016 -/* 01B874 8001AC74 256B42D8 */ addiu $t3, %lo(cpu_ItemStrategy) # addiu $t3, $t3, 0x42d8 -/* 01B878 8001AC78 31CF0800 */ andi $t7, $t6, 0x800 -/* 01B87C 8001AC7C 15E00479 */ bnez $t7, .L8001BE64 -/* 01B880 8001AC80 0004C900 */ sll $t9, $a0, 4 -/* 01B884 8001AC84 032B8021 */ addu $s0, $t9, $t3 -/* 01B888 8001AC88 86050000 */ lh $a1, ($s0) -/* 01B88C 8001AC8C 2CA10025 */ sltiu $at, $a1, 0x25 -/* 01B890 8001AC90 10200467 */ beqz $at, .L8001BE30 -/* 01B894 8001AC94 00056080 */ sll $t4, $a1, 2 -/* 01B898 8001AC98 3C01800F */ lui $at, %hi(jpt_800ED404) # 0x800f -/* 01B89C 8001AC9C 002C0821 */ addu $at, $at, $t4 -/* 01B8A0 8001ACA0 8C2CD404 */ lw $t4, %lo(jpt_800ED404)($at) # -0x2bfc($at) -/* 01B8A4 8001ACA4 01800008 */ jr $t4 -/* 01B8A8 8001ACA8 00000000 */ nop -glabel L8001ACAC -/* 01B8AC 8001ACAC 2405FFFF */ li $a1, -1 -/* 01B8B0 8001ACB0 A6050002 */ sh $a1, 2($s0) -/* 01B8B4 8001ACB4 8FAD0030 */ lw $t5, 0x30($sp) -/* 01B8B8 8001ACB8 3C0E8016 */ lui $t6, %hi(gNumPathPointsTraversed) # 0x8016 -/* 01B8BC 8001ACBC 8FA40030 */ lw $a0, 0x30($sp) -/* 01B8C0 8001ACC0 000D1080 */ sll $v0, $t5, 2 -/* 01B8C4 8001ACC4 01C27021 */ addu $t6, $t6, $v0 -/* 01B8C8 8001ACC8 000D7880 */ sll $t7, $t5, 2 -/* 01B8CC 8001ACCC 8DCE4450 */ lw $t6, %lo(gNumPathPointsTraversed)($t6) # 0x4450($t6) -/* 01B8D0 8001ACD0 01ED7821 */ addu $t7, $t7, $t5 -/* 01B8D4 8001ACD4 000F7880 */ sll $t7, $t7, 2 -/* 01B8D8 8001ACD8 25F80064 */ addiu $t8, $t7, 0x64 -/* 01B8DC 8001ACDC 030E082A */ slt $at, $t8, $t6 -/* 01B8E0 8001ACE0 1020001C */ beqz $at, .L8001AD54 -/* 01B8E4 8001ACE4 00000000 */ nop -/* 01B8E8 8001ACE8 86190004 */ lh $t9, 4($s0) -/* 01B8EC 8001ACEC 2B210259 */ slti $at, $t9, 0x259 -/* 01B8F0 8001ACF0 14200018 */ bnez $at, .L8001AD54 -/* 01B8F4 8001ACF4 00000000 */ nop -/* 01B8F8 8001ACF8 860B0006 */ lh $t3, 6($s0) -/* 01B8FC 8001ACFC 3C038016 */ lui $v1, %hi(gLapCountByPlayerId) # 0x8016 -/* 01B900 8001AD00 00621821 */ addu $v1, $v1, $v0 -/* 01B904 8001AD04 29610003 */ slti $at, $t3, 3 -/* 01B908 8001AD08 10200012 */ beqz $at, .L8001AD54 -/* 01B90C 8001AD0C 00000000 */ nop -/* 01B910 8001AD10 8C634390 */ lw $v1, %lo(gLapCountByPlayerId)($v1) # 0x4390($v1) -/* 01B914 8001AD14 3C068016 */ lui $a2, %hi(gGPCurrentRaceRankByPlayerId) # $a2, 0x8016 -/* 01B918 8001AD18 24C643B8 */ addiu $a2, %lo(gGPCurrentRaceRankByPlayerId) # addiu $a2, $a2, 0x43b8 -/* 01B91C 8001AD1C 28610003 */ slti $at, $v1, 3 -/* 01B920 8001AD20 1020000C */ beqz $at, .L8001AD54 -/* 01B924 8001AD24 00C26821 */ addu $t5, $a2, $v0 -/* 01B928 8001AD28 00032400 */ sll $a0, $v1, 0x10 -/* 01B92C 8001AD2C 00046403 */ sra $t4, $a0, 0x10 -/* 01B930 8001AD30 01802025 */ move $a0, $t4 -/* 01B934 8001AD34 0C01EBDE */ jal cpu_gen_random_item -/* 01B938 8001AD38 85A50002 */ lh $a1, 2($t5) -/* 01B93C 8001AD3C 8FA40030 */ lw $a0, 0x30($sp) -/* 01B940 8001AD40 02002825 */ move $a1, $s0 -/* 01B944 8001AD44 0C006ADD */ jal cpu_decisions_branch_item -/* 01B948 8001AD48 00403025 */ move $a2, $v0 -/* 01B94C 8001AD4C 10000003 */ b .L8001AD5C -/* 01B950 8001AD50 00000000 */ nop -.L8001AD54: -/* 01B954 8001AD54 0C006AF8 */ jal func_8001ABE0 -/* 01B958 8001AD58 02002825 */ move $a1, $s0 -.L8001AD5C: -/* 01B95C 8001AD5C 10000435 */ b .L8001BE34 -/* 01B960 8001AD60 86020004 */ lh $v0, 4($s0) -glabel L8001AD64 -/* 01B964 8001AD64 8FA20030 */ lw $v0, 0x30($sp) -/* 01B968 8001AD68 3C0E8016 */ lui $t6, %hi(gLapCountByPlayerId) # 0x8016 -/* 01B96C 8001AD6C 3C068016 */ lui $a2, %hi(gGPCurrentRaceRankByPlayerId) # $a2, 0x8016 -/* 01B970 8001AD70 00027880 */ sll $t7, $v0, 2 -/* 01B974 8001AD74 01CF7021 */ addu $t6, $t6, $t7 -/* 01B978 8001AD78 8DCE4390 */ lw $t6, %lo(gLapCountByPlayerId)($t6) # 0x4390($t6) -/* 01B97C 8001AD7C 24C643B8 */ addiu $a2, %lo(gGPCurrentRaceRankByPlayerId) # addiu $a2, $a2, 0x43b8 -/* 01B980 8001AD80 3C038016 */ lui $v1, %hi(gBestRankedHumanPlayer) # $v1, 0x8016 -/* 01B984 8001AD84 19C0004B */ blez $t6, .L8001AEB4 -/* 01B988 8001AD88 00000000 */ nop -/* 01B98C 8001AD8C 84633478 */ lh $v1, %lo(gBestRankedHumanPlayer)($v1) -/* 01B990 8001AD90 00CF5821 */ addu $t3, $a2, $t7 -/* 01B994 8001AD94 8D6C0000 */ lw $t4, ($t3) -/* 01B998 8001AD98 0003C080 */ sll $t8, $v1, 2 -/* 01B99C 8001AD9C 00D8C821 */ addu $t9, $a2, $t8 -/* 01B9A0 8001ADA0 8F240000 */ lw $a0, ($t9) -/* 01B9A4 8001ADA4 008C082A */ slt $at, $a0, $t4 -/* 01B9A8 8001ADA8 10200042 */ beqz $at, .L8001AEB4 -/* 01B9AC 8001ADAC 00000000 */ nop -/* 01B9B0 8001ADB0 14800040 */ bnez $a0, .L8001AEB4 -/* 01B9B4 8001ADB4 8FAD002C */ lw $t5, 0x2c($sp) -/* 01B9B8 8001ADB8 95A20254 */ lhu $v0, 0x254($t5) -/* 01B9BC 8001ADBC 24010004 */ li $at, 4 -/* 01B9C0 8001ADC0 3C088016 */ lui $t0, %hi(gNearestPathPointByPlayerId) # $t0, 0x8016 -/* 01B9C4 8001ADC4 10410006 */ beq $v0, $at, .L8001ADE0 -/* 01B9C8 8001ADC8 25084438 */ addiu $t0, %lo(gNearestPathPointByPlayerId) # addiu $t0, $t0, 0x4438 -/* 01B9CC 8001ADCC 24060006 */ li $a2, 6 -/* 01B9D0 8001ADD0 10460014 */ beq $v0, $a2, .L8001AE24 -/* 01B9D4 8001ADD4 3C088016 */ lui $t0, %hi(gNearestPathPointByPlayerId) # 0x8016 -/* 01B9D8 8001ADD8 10000024 */ b .L8001AE6C -/* 01B9DC 8001ADDC 3C088016 */ lui $t0, %hi(gNearestPathPointByPlayerId) # $t0, 0x8016 -.L8001ADE0: -/* 01B9E0 8001ADE0 8FAF0030 */ lw $t7, 0x30($sp) -/* 01B9E4 8001ADE4 0003C840 */ sll $t9, $v1, 1 -/* 01B9E8 8001ADE8 3C0C8016 */ lui $t4, %hi(gSelectedPathCount) # $t4, 0x8016 -/* 01B9EC 8001ADEC 000F7040 */ sll $t6, $t7, 1 -/* 01B9F0 8001ADF0 958C4430 */ lhu $t4, %lo(gSelectedPathCount)($t4) -/* 01B9F4 8001ADF4 010EC021 */ addu $t8, $t0, $t6 -/* 01B9F8 8001ADF8 01195821 */ addu $t3, $t0, $t9 -/* 01B9FC 8001ADFC 95650000 */ lhu $a1, ($t3) -/* 01BA00 8001AE00 97040000 */ lhu $a0, ($t8) -/* 01BA04 8001AE04 24060028 */ li $a2, 40 -/* 01BA08 8001AE08 24070002 */ li $a3, 2 -/* 01BA0C 8001AE0C 0C001EFE */ jal is_path_point_in_range -/* 01BA10 8001AE10 AFAC0010 */ sw $t4, 0x10($sp) -/* 01BA14 8001AE14 18400045 */ blez $v0, .L8001AF2C -/* 01BA18 8001AE18 240D0022 */ li $t5, 34 -/* 01BA1C 8001AE1C 10000043 */ b .L8001AF2C -/* 01BA20 8001AE20 A60D0000 */ sh $t5, ($s0) -.L8001AE24: -/* 01BA24 8001AE24 8FAF0030 */ lw $t7, 0x30($sp) -/* 01BA28 8001AE28 25084438 */ addiu $t0, %lo(gNearestPathPointByPlayerId) # addiu $t0, $t0, 0x4438 -/* 01BA2C 8001AE2C 0003C840 */ sll $t9, $v1, 1 -/* 01BA30 8001AE30 3C0C8016 */ lui $t4, %hi(gSelectedPathCount) # $t4, 0x8016 -/* 01BA34 8001AE34 000F7040 */ sll $t6, $t7, 1 -/* 01BA38 8001AE38 958C4430 */ lhu $t4, %lo(gSelectedPathCount)($t4) -/* 01BA3C 8001AE3C 010EC021 */ addu $t8, $t0, $t6 -/* 01BA40 8001AE40 01195821 */ addu $t3, $t0, $t9 -/* 01BA44 8001AE44 95650000 */ lhu $a1, ($t3) -/* 01BA48 8001AE48 97040000 */ lhu $a0, ($t8) -/* 01BA4C 8001AE4C 24060004 */ li $a2, 4 -/* 01BA50 8001AE50 24070002 */ li $a3, 2 -/* 01BA54 8001AE54 0C001EFE */ jal is_path_point_in_range -/* 01BA58 8001AE58 AFAC0010 */ sw $t4, 0x10($sp) -/* 01BA5C 8001AE5C 18400033 */ blez $v0, .L8001AF2C -/* 01BA60 8001AE60 240D0022 */ li $t5, 34 -/* 01BA64 8001AE64 10000031 */ b .L8001AF2C -/* 01BA68 8001AE68 A60D0000 */ sh $t5, ($s0) -.L8001AE6C: -/* 01BA6C 8001AE6C 8FAF0030 */ lw $t7, 0x30($sp) -/* 01BA70 8001AE70 25084438 */ addiu $t0, $t0, %lo(gNearestPathPointByPlayerId) # 0x4438 -/* 01BA74 8001AE74 0003C840 */ sll $t9, $v1, 1 -/* 01BA78 8001AE78 3C0C8016 */ lui $t4, %hi(gSelectedPathCount) # $t4, 0x8016 -/* 01BA7C 8001AE7C 000F7040 */ sll $t6, $t7, 1 -/* 01BA80 8001AE80 958C4430 */ lhu $t4, %lo(gSelectedPathCount)($t4) -/* 01BA84 8001AE84 010EC021 */ addu $t8, $t0, $t6 -/* 01BA88 8001AE88 01195821 */ addu $t3, $t0, $t9 -/* 01BA8C 8001AE8C 95650000 */ lhu $a1, ($t3) -/* 01BA90 8001AE90 97040000 */ lhu $a0, ($t8) -/* 01BA94 8001AE94 2406000A */ li $a2, 10 -/* 01BA98 8001AE98 24070002 */ li $a3, 2 -/* 01BA9C 8001AE9C 0C001EFE */ jal is_path_point_in_range -/* 01BAA0 8001AEA0 AFAC0010 */ sw $t4, 0x10($sp) -/* 01BAA4 8001AEA4 18400021 */ blez $v0, .L8001AF2C -/* 01BAA8 8001AEA8 240D0022 */ li $t5, 34 -/* 01BAAC 8001AEAC 1000001F */ b .L8001AF2C -/* 01BAB0 8001AEB0 A60D0000 */ sh $t5, ($s0) -.L8001AEB4: -/* 01BAB4 8001AEB4 1505001D */ bne $t0, $a1, .L8001AF2C -/* 01BAB8 8001AEB8 00000000 */ nop -/* 01BABC 8001AEBC 0C0ACB5C */ jal use_banana_item -/* 01BAC0 8001AEC0 8FA4002C */ lw $a0, 0x2c($sp) -/* 01BAC4 8001AEC4 A6020002 */ sh $v0, 2($s0) -/* 01BAC8 8001AEC8 86030002 */ lh $v1, 2($s0) -/* 01BACC 8001AECC 04600015 */ bltz $v1, .L8001AF24 -/* 01BAD0 8001AED0 28610064 */ slti $at, $v1, 0x64 -/* 01BAD4 8001AED4 10200013 */ beqz $at, .L8001AF24 -/* 01BAD8 8001AED8 8FAF002C */ lw $t7, 0x2c($sp) -/* 01BADC 8001AEDC 8DEE000C */ lw $t6, 0xc($t7) -/* 01BAE0 8001AEE0 3C010004 */ lui $at, 4 -/* 01BAE4 8001AEE4 24190002 */ li $t9, 2 -/* 01BAE8 8001AEE8 01C1C025 */ or $t8, $t6, $at -/* 01BAEC 8001AEEC ADF8000C */ sw $t8, 0xc($t7) -/* 01BAF0 8001AEF0 860B0006 */ lh $t3, 6($s0) -/* 01BAF4 8001AEF4 A6190000 */ sh $t9, ($s0) -/* 01BAF8 8001AEF8 A6000004 */ sh $zero, 4($s0) -/* 01BAFC 8001AEFC 256C0001 */ addiu $t4, $t3, 1 -/* 01BB00 8001AF00 A60C0006 */ sh $t4, 6($s0) -/* 01BB04 8001AF04 0C0ADF8D */ jal random_int -/* 01BB08 8001AF08 24040003 */ li $a0, 3 -/* 01BB0C 8001AF0C 00026880 */ sll $t5, $v0, 2 -/* 01BB10 8001AF10 01A26821 */ addu $t5, $t5, $v0 -/* 01BB14 8001AF14 000D6880 */ sll $t5, $t5, 2 -/* 01BB18 8001AF18 25AE000A */ addiu $t6, $t5, 0xa -/* 01BB1C 8001AF1C 10000003 */ b .L8001AF2C -/* 01BB20 8001AF20 A60E000E */ sh $t6, 0xe($s0) -.L8001AF24: -/* 01BB24 8001AF24 A6000000 */ sh $zero, ($s0) -/* 01BB28 8001AF28 A6000004 */ sh $zero, 4($s0) -.L8001AF2C: -/* 01BB2C 8001AF2C 100003C1 */ b .L8001BE34 -/* 01BB30 8001AF30 86020004 */ lh $v0, 4($s0) -glabel L8001AF34 -/* 01BB34 8001AF34 86180002 */ lh $t8, 2($s0) -/* 01BB38 8001AF38 3C198016 */ lui $t9, %hi(gActorList) # $t9, 0x8016 -/* 01BB3C 8001AF3C 2739F9B8 */ addiu $t9, %lo(gActorList) # addiu $t9, $t9, -0x648 -/* 01BB40 8001AF40 001878C0 */ sll $t7, $t8, 3 -/* 01BB44 8001AF44 01F87823 */ subu $t7, $t7, $t8 -/* 01BB48 8001AF48 000F7900 */ sll $t7, $t7, 4 -/* 01BB4C 8001AF4C 01F93821 */ addu $a3, $t7, $t9 -/* 01BB50 8001AF50 84E30002 */ lh $v1, 2($a3) -/* 01BB54 8001AF54 306B8000 */ andi $t3, $v1, 0x8000 -/* 01BB58 8001AF58 5160000D */ beql $t3, $zero, .L8001AF90 -/* 01BB5C 8001AF5C A6000000 */ sh $zero, ($s0) -/* 01BB60 8001AF60 84EC0000 */ lh $t4, ($a3) -/* 01BB64 8001AF64 24060006 */ li $a2, 6 -/* 01BB68 8001AF68 54CC0009 */ bnel $a2, $t4, .L8001AF90 -/* 01BB6C 8001AF6C A6000000 */ sh $zero, ($s0) -/* 01BB70 8001AF70 84ED0006 */ lh $t5, 6($a3) -/* 01BB74 8001AF74 8FAE0030 */ lw $t6, 0x30($sp) -/* 01BB78 8001AF78 55A00005 */ bnel $t5, $zero, .L8001AF90 -/* 01BB7C 8001AF7C A6000000 */ sh $zero, ($s0) -/* 01BB80 8001AF80 84F80010 */ lh $t8, 0x10($a3) -/* 01BB84 8001AF84 51D8000C */ beql $t6, $t8, .L8001AFB8 -/* 01BB88 8001AF88 86020004 */ lh $v0, 4($s0) -/* 01BB8C 8001AF8C A6000000 */ sh $zero, ($s0) -.L8001AF90: -/* 01BB90 8001AF90 A6000004 */ sh $zero, 4($s0) -/* 01BB94 8001AF94 8FAF002C */ lw $t7, 0x2c($sp) -/* 01BB98 8001AF98 3C01FFFB */ lui $at, (0xFFFBFFFF >> 16) # lui $at, 0xfffb -/* 01BB9C 8001AF9C 3421FFFF */ ori $at, (0xFFFBFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 01BBA0 8001AFA0 8DF9000C */ lw $t9, 0xc($t7) -/* 01BBA4 8001AFA4 03215824 */ and $t3, $t9, $at -/* 01BBA8 8001AFA8 ADEB000C */ sw $t3, 0xc($t7) -/* 01BBAC 8001AFAC 100003A1 */ b .L8001BE34 -/* 01BBB0 8001AFB0 86020004 */ lh $v0, 4($s0) -/* 01BBB4 8001AFB4 86020004 */ lh $v0, 4($s0) -.L8001AFB8: -/* 01BBB8 8001AFB8 860C000E */ lh $t4, 0xe($s0) -/* 01BBBC 8001AFBC 240D0003 */ li $t5, 3 -/* 01BBC0 8001AFC0 0182082A */ slt $at, $t4, $v0 -/* 01BBC4 8001AFC4 5020039C */ beql $at, $zero, .L8001BE38 -/* 01BBC8 8001AFC8 28412710 */ slti $at, $v0, 0x2710 -/* 01BBCC 8001AFCC A60D0000 */ sh $t5, ($s0) -/* 01BBD0 8001AFD0 10000398 */ b .L8001BE34 -/* 01BBD4 8001AFD4 86020004 */ lh $v0, 4($s0) -glabel L8001AFD8 -/* 01BBD8 8001AFD8 860E0002 */ lh $t6, 2($s0) -/* 01BBDC 8001AFDC 3C198016 */ lui $t9, %hi(gActorList) # $t9, 0x8016 -/* 01BBE0 8001AFE0 2739F9B8 */ addiu $t9, %lo(gActorList) # addiu $t9, $t9, -0x648 -/* 01BBE4 8001AFE4 000EC0C0 */ sll $t8, $t6, 3 -/* 01BBE8 8001AFE8 030EC023 */ subu $t8, $t8, $t6 -/* 01BBEC 8001AFEC 0018C100 */ sll $t8, $t8, 4 -/* 01BBF0 8001AFF0 03193821 */ addu $a3, $t8, $t9 -/* 01BBF4 8001AFF4 84E30002 */ lh $v1, 2($a3) -/* 01BBF8 8001AFF8 8FB80030 */ lw $t8, 0x30($sp) -/* 01BBFC 8001AFFC 306B8000 */ andi $t3, $v1, 0x8000 -/* 01BC00 8001B000 5160000D */ beql $t3, $zero, .L8001B038 -/* 01BC04 8001B004 84E50010 */ lh $a1, 0x10($a3) -/* 01BC08 8001B008 84EF0000 */ lh $t7, ($a3) -/* 01BC0C 8001B00C 24060006 */ li $a2, 6 -/* 01BC10 8001B010 54CF0009 */ bnel $a2, $t7, .L8001B038 -/* 01BC14 8001B014 84E50010 */ lh $a1, 0x10($a3) -/* 01BC18 8001B018 84EC0006 */ lh $t4, 6($a3) -/* 01BC1C 8001B01C 8FAD0030 */ lw $t5, 0x30($sp) -/* 01BC20 8001B020 55800005 */ bnel $t4, $zero, .L8001B038 -/* 01BC24 8001B024 84E50010 */ lh $a1, 0x10($a3) -/* 01BC28 8001B028 84EE0010 */ lh $t6, 0x10($a3) -/* 01BC2C 8001B02C 51AE0007 */ beql $t5, $t6, .L8001B04C -/* 01BC30 8001B030 44800000 */ mtc1 $zero, $f0 -/* 01BC34 8001B034 84E50010 */ lh $a1, 0x10($a3) -.L8001B038: -/* 01BC38 8001B038 53050023 */ beql $t8, $a1, .L8001B0C8 -/* 01BC3C 8001B03C 8FAD002C */ lw $t5, 0x2c($sp) -/* 01BC40 8001B040 10000021 */ b .L8001B0C8 -/* 01BC44 8001B044 8FAD002C */ lw $t5, 0x2c($sp) -/* 01BC48 8001B048 44800000 */ mtc1 $zero, $f0 -.L8001B04C: -/* 01BC4C 8001B04C A4E80006 */ sh $t0, 6($a3) -/* 01BC50 8001B050 3C0F8016 */ lui $t7, %hi(D_801631E0) # 0x8016 -/* 01BC54 8001B054 E4E00024 */ swc1 $f0, 0x24($a3) -/* 01BC58 8001B058 E4E00028 */ swc1 $f0, 0x28($a3) -/* 01BC5C 8001B05C E4E0002C */ swc1 $f0, 0x2c($a3) -/* 01BC60 8001B060 8FB90030 */ lw $t9, 0x30($sp) -/* 01BC64 8001B064 8FAC002C */ lw $t4, 0x2c($sp) -/* 01BC68 8001B068 3C01403E */ li $at, 0x403E0000 # 2.968750 -/* 01BC6C 8001B06C 00195840 */ sll $t3, $t9, 1 -/* 01BC70 8001B070 01EB7821 */ addu $t7, $t7, $t3 -/* 01BC74 8001B074 95EF31E0 */ lhu $t7, %lo(D_801631E0)($t7) # 0x31e0($t7) -/* 01BC78 8001B078 550F0013 */ bnel $t0, $t7, .L8001B0C8 -/* 01BC7C 8001B07C 8FAD002C */ lw $t5, 0x2c($sp) -/* 01BC80 8001B080 C5840018 */ lwc1 $f4, 0x18($t4) -/* 01BC84 8001B084 44814800 */ mtc1 $at, $f9 -/* 01BC88 8001B088 44804000 */ mtc1 $zero, $f8 -/* 01BC8C 8001B08C 460021A1 */ cvt.d.s $f6, $f4 -/* 01BC90 8001B090 C58C0014 */ lwc1 $f12, 0x14($t4) -/* 01BC94 8001B094 46283280 */ add.d $f10, $f6, $f8 -/* 01BC98 8001B098 8D86001C */ lw $a2, 0x1c($t4) -/* 01BC9C 8001B09C AFA70028 */ sw $a3, 0x28($sp) -/* 01BCA0 8001B0A0 0C0AB870 */ jal get_surface_height -/* 01BCA4 8001B0A4 462053A0 */ cvt.s.d $f14, $f10 -/* 01BCA8 8001B0A8 8FA70028 */ lw $a3, 0x28($sp) -/* 01BCAC 8001B0AC 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 01BCB0 8001B0B0 44819000 */ mtc1 $at, $f18 -/* 01BCB4 8001B0B4 C4F0000C */ lwc1 $f16, 0xc($a3) -/* 01BCB8 8001B0B8 46128100 */ add.s $f4, $f16, $f18 -/* 01BCBC 8001B0BC 46040180 */ add.s $f6, $f0, $f4 -/* 01BCC0 8001B0C0 E4E6001C */ swc1 $f6, 0x1c($a3) -/* 01BCC4 8001B0C4 8FAD002C */ lw $t5, 0x2c($sp) -.L8001B0C8: -/* 01BCC8 8001B0C8 3C01FFFB */ lui $at, (0xFFFBFFFF >> 16) # lui $at, 0xfffb -/* 01BCCC 8001B0CC 3421FFFF */ ori $at, (0xFFFBFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 01BCD0 8001B0D0 8DAE000C */ lw $t6, 0xc($t5) -/* 01BCD4 8001B0D4 01C1C024 */ and $t8, $t6, $at -/* 01BCD8 8001B0D8 ADB8000C */ sw $t8, 0xc($t5) -/* 01BCDC 8001B0DC A6000004 */ sh $zero, 4($s0) -/* 01BCE0 8001B0E0 A6000000 */ sh $zero, ($s0) -/* 01BCE4 8001B0E4 10000353 */ b .L8001BE34 -/* 01BCE8 8001B0E8 86020004 */ lh $v0, 4($s0) -glabel L8001B0EC -/* 01BCEC 8001B0EC 0C0ACB5C */ jal use_banana_item -/* 01BCF0 8001B0F0 8FA4002C */ lw $a0, 0x2c($sp) -/* 01BCF4 8001B0F4 8FAA0030 */ lw $t2, 0x30($sp) -/* 01BCF8 8001B0F8 A6020002 */ sh $v0, 2($s0) -/* 01BCFC 8001B0FC 86030002 */ lh $v1, 2($s0) -/* 01BD00 8001B100 0460006C */ bltz $v1, .L8001B2B4 -/* 01BD04 8001B104 28610064 */ slti $at, $v1, 0x64 -/* 01BD08 8001B108 1020006A */ beqz $at, .L8001B2B4 -/* 01BD0C 8001B10C 3C088016 */ lui $t0, %hi(gNearestPathPointByPlayerId) # $t0, 0x8016 -/* 01BD10 8001B110 0003C8C0 */ sll $t9, $v1, 3 -/* 01BD14 8001B114 0323C823 */ subu $t9, $t9, $v1 -/* 01BD18 8001B118 3C0B8016 */ lui $t3, %hi(gActorList) # $t3, 0x8016 -/* 01BD1C 8001B11C 256BF9B8 */ addiu $t3, %lo(gActorList) # addiu $t3, $t3, -0x648 -/* 01BD20 8001B120 0019C900 */ sll $t9, $t9, 4 -/* 01BD24 8001B124 032B3821 */ addu $a3, $t9, $t3 -/* 01BD28 8001B128 240F0004 */ li $t7, 4 -/* 01BD2C 8001B12C A4EF0006 */ sh $t7, 6($a3) -/* 01BD30 8001B130 8FAC002C */ lw $t4, 0x2c($sp) -/* 01BD34 8001B134 3C014034 */ li $at, 0x40340000 # 2.812500 -/* 01BD38 8001B138 44810800 */ mtc1 $at, $f1 -/* 01BD3C 8001B13C 8D8E000C */ lw $t6, 0xc($t4) -/* 01BD40 8001B140 3C010004 */ lui $at, 4 -/* 01BD44 8001B144 240D0023 */ li $t5, 35 -/* 01BD48 8001B148 01C1C025 */ or $t8, $t6, $at -/* 01BD4C 8001B14C AD98000C */ sw $t8, 0xc($t4) -/* 01BD50 8001B150 86190006 */ lh $t9, 6($s0) -/* 01BD54 8001B154 A60D0000 */ sh $t5, ($s0) -/* 01BD58 8001B158 A6000004 */ sh $zero, 4($s0) -/* 01BD5C 8001B15C 272B0001 */ addiu $t3, $t9, 1 -/* 01BD60 8001B160 A60B0006 */ sh $t3, 6($s0) -/* 01BD64 8001B164 3C068016 */ lui $a2, %hi(gBestRankedHumanPlayer) # $a2, 0x8016 -/* 01BD68 8001B168 84C63478 */ lh $a2, %lo(gBestRankedHumanPlayer)($a2) -/* 01BD6C 8001B16C 25084438 */ addiu $t0, %lo(gNearestPathPointByPlayerId) # addiu $t0, $t0, 0x4438 -/* 01BD70 8001B170 3C098016 */ lui $t1, %hi(gPathIndexByPlayerId) # $t1, 0x8016 -/* 01BD74 8001B174 00067840 */ sll $t7, $a2, 1 -/* 01BD78 8001B178 010F7021 */ addu $t6, $t0, $t7 -/* 01BD7C 8001B17C 95D80000 */ lhu $t8, ($t6) -/* 01BD80 8001B180 252945B0 */ addiu $t1, %lo(gPathIndexByPlayerId) # addiu $t1, $t1, 0x45b0 -/* 01BD84 8001B184 012F6821 */ addu $t5, $t1, $t7 -/* 01BD88 8001B188 95B90000 */ lhu $t9, ($t5) -/* 01BD8C 8001B18C 270C001E */ addiu $t4, $t8, 0x1e -/* 01BD90 8001B190 01E03025 */ move $a2, $t7 -/* 01BD94 8001B194 3C0F8016 */ lui $t7, %hi(gPathCountByPathIndex) # 0x8016 -/* 01BD98 8001B198 00195840 */ sll $t3, $t9, 1 -/* 01BD9C 8001B19C 01EB7821 */ addu $t7, $t7, $t3 -/* 01BDA0 8001B1A0 95EF45C8 */ lhu $t7, %lo(gPathCountByPathIndex)($t7) # 0x45c8($t7) -/* 01BDA4 8001B1A4 952D0000 */ lhu $t5, ($t1) -/* 01BDA8 8001B1A8 3C0B8016 */ lui $t3, %hi(gTrackPaths) # 0x8016 -/* 01BDAC 8001B1AC 018F001A */ div $zero, $t4, $t7 -/* 01BDB0 8001B1B0 000DC880 */ sll $t9, $t5, 2 -/* 01BDB4 8001B1B4 01795821 */ addu $t3, $t3, $t9 -/* 01BDB8 8001B1B8 8D6B4550 */ lw $t3, %lo(gTrackPaths)($t3) # 0x4550($t3) -/* 01BDBC 8001B1BC 00007010 */ mfhi $t6 -/* 01BDC0 8001B1C0 000EC0C0 */ sll $t8, $t6, 3 -/* 01BDC4 8001B1C4 030B1021 */ addu $v0, $t8, $t3 -/* 01BDC8 8001B1C8 44800000 */ mtc1 $zero, $f0 -/* 01BDCC 8001B1CC 15E00002 */ bnez $t7, .L8001B1D8 -/* 01BDD0 8001B1D0 00000000 */ nop -/* 01BDD4 8001B1D4 0007000D */ break 7 -.L8001B1D8: -/* 01BDD8 8001B1D8 2401FFFF */ li $at, -1 -/* 01BDDC 8001B1DC 15E10004 */ bne $t7, $at, .L8001B1F0 -/* 01BDE0 8001B1E0 3C018000 */ lui $at, 0x8000 -/* 01BDE4 8001B1E4 15810002 */ bne $t4, $at, .L8001B1F0 -/* 01BDE8 8001B1E8 00000000 */ nop -/* 01BDEC 8001B1EC 0006000D */ break 6 -.L8001B1F0: -/* 01BDF0 8001B1F0 844C0000 */ lh $t4, ($v0) -/* 01BDF4 8001B1F4 8FAF002C */ lw $t7, 0x2c($sp) -/* 01BDF8 8001B1F8 3C014010 */ li $at, 0x40100000 # 2.250000 -/* 01BDFC 8001B1FC 448C4000 */ mtc1 $t4, $f8 -/* 01BE00 8001B200 C5F00014 */ lwc1 $f16, 0x14($t7) -/* 01BE04 8001B204 3C052900 */ lui $a1, (0x29008009 >> 16) # lui $a1, 0x2900 -/* 01BE08 8001B208 468042A0 */ cvt.s.w $f10, $f8 -/* 01BE0C 8001B20C 44815800 */ mtc1 $at, $f11 -/* 01BE10 8001B210 34A58009 */ ori $a1, (0x29008009 & 0xFFFF) # ori $a1, $a1, 0x8009 -/* 01BE14 8001B214 314400FF */ andi $a0, $t2, 0xff -/* 01BE18 8001B218 46105481 */ sub.s $f18, $f10, $f16 -/* 01BE1C 8001B21C 46009121 */ cvt.d.s $f4, $f18 -/* 01BE20 8001B220 46202183 */ div.d $f6, $f4, $f0 -/* 01BE24 8001B224 46203220 */ cvt.s.d $f8, $f6 -/* 01BE28 8001B228 E4E80024 */ swc1 $f8, 0x24($a3) -/* 01BE2C 8001B22C 844E0002 */ lh $t6, 2($v0) -/* 01BE30 8001B230 8FAD002C */ lw $t5, 0x2c($sp) -/* 01BE34 8001B234 448E5000 */ mtc1 $t6, $f10 -/* 01BE38 8001B238 C5B20018 */ lwc1 $f18, 0x18($t5) -/* 01BE3C 8001B23C 46805420 */ cvt.s.w $f16, $f10 -/* 01BE40 8001B240 44805000 */ mtc1 $zero, $f10 -/* 01BE44 8001B244 46128101 */ sub.s $f4, $f16, $f18 -/* 01BE48 8001B248 460021A1 */ cvt.d.s $f6, $f4 -/* 01BE4C 8001B24C 46203203 */ div.d $f8, $f6, $f0 -/* 01BE50 8001B250 462A4400 */ add.d $f16, $f8, $f10 -/* 01BE54 8001B254 462084A0 */ cvt.s.d $f18, $f16 -/* 01BE58 8001B258 E4F20028 */ swc1 $f18, 0x28($a3) -/* 01BE5C 8001B25C 84590004 */ lh $t9, 4($v0) -/* 01BE60 8001B260 8FB8002C */ lw $t8, 0x2c($sp) -/* 01BE64 8001B264 44992000 */ mtc1 $t9, $f4 -/* 01BE68 8001B268 C708001C */ lwc1 $f8, 0x1c($t8) -/* 01BE6C 8001B26C 468021A0 */ cvt.s.w $f6, $f4 -/* 01BE70 8001B270 46083281 */ sub.s $f10, $f6, $f8 -/* 01BE74 8001B274 46005421 */ cvt.d.s $f16, $f10 -/* 01BE78 8001B278 46208483 */ div.d $f18, $f16, $f0 -/* 01BE7C 8001B27C 46209120 */ cvt.s.d $f4, $f18 -/* 01BE80 8001B280 E4E4002C */ swc1 $f4, 0x2c($a3) -/* 01BE84 8001B284 8FAB002C */ lw $t3, 0x2c($sp) -/* 01BE88 8001B288 C5660018 */ lwc1 $f6, 0x18($t3) -/* 01BE8C 8001B28C 0C0324B3 */ jal func_800C92CC -/* 01BE90 8001B290 E4E6001C */ swc1 $f6, 0x1c($a3) -/* 01BE94 8001B294 8FAC002C */ lw $t4, 0x2c($sp) -/* 01BE98 8001B298 3C061901 */ lui $a2, (0x19018014 >> 16) # lui $a2, 0x1901 -/* 01BE9C 8001B29C 34C68014 */ ori $a2, (0x19018014 & 0xFFFF) # ori $a2, $a2, 0x8014 -/* 01BEA0 8001B2A0 25840014 */ addiu $a0, $t4, 0x14 -/* 01BEA4 8001B2A4 0C03262E */ jal func_800C98B8 -/* 01BEA8 8001B2A8 25850034 */ addiu $a1, $t4, 0x34 -/* 01BEAC 8001B2AC 10000003 */ b .L8001B2BC -/* 01BEB0 8001B2B0 00000000 */ nop -.L8001B2B4: -/* 01BEB4 8001B2B4 A6000004 */ sh $zero, 4($s0) -/* 01BEB8 8001B2B8 A6000000 */ sh $zero, ($s0) -.L8001B2BC: -/* 01BEBC 8001B2BC 100002DD */ b .L8001BE34 -/* 01BEC0 8001B2C0 86020004 */ lh $v0, 4($s0) -glabel L8001B2C4 -/* 01BEC4 8001B2C4 860F0002 */ lh $t7, 2($s0) -/* 01BEC8 8001B2C8 3C0D8016 */ lui $t5, %hi(gActorList) # $t5, 0x8016 -/* 01BECC 8001B2CC 25ADF9B8 */ addiu $t5, %lo(gActorList) # addiu $t5, $t5, -0x648 -/* 01BED0 8001B2D0 000F70C0 */ sll $t6, $t7, 3 -/* 01BED4 8001B2D4 01CF7023 */ subu $t6, $t6, $t7 -/* 01BED8 8001B2D8 000E7100 */ sll $t6, $t6, 4 -/* 01BEDC 8001B2DC 01CD3821 */ addu $a3, $t6, $t5 -/* 01BEE0 8001B2E0 84E30002 */ lh $v1, 2($a3) -/* 01BEE4 8001B2E4 30798000 */ andi $t9, $v1, 0x8000 -/* 01BEE8 8001B2E8 5320000F */ beql $t9, $zero, .L8001B328 -/* 01BEEC 8001B2EC A6000004 */ sh $zero, 4($s0) -/* 01BEF0 8001B2F0 84F80000 */ lh $t8, ($a3) -/* 01BEF4 8001B2F4 24060006 */ li $a2, 6 -/* 01BEF8 8001B2F8 54D8000B */ bnel $a2, $t8, .L8001B328 -/* 01BEFC 8001B2FC A6000004 */ sh $zero, 4($s0) -/* 01BF00 8001B300 84EB0006 */ lh $t3, 6($a3) -/* 01BF04 8001B304 24010004 */ li $at, 4 -/* 01BF08 8001B308 8FAC0030 */ lw $t4, 0x30($sp) -/* 01BF0C 8001B30C 55610006 */ bnel $t3, $at, .L8001B328 -/* 01BF10 8001B310 A6000004 */ sh $zero, 4($s0) -/* 01BF14 8001B314 84EF0010 */ lh $t7, 0x10($a3) -/* 01BF18 8001B318 3C01800F */ lui $at, %hi(D_800ED498) -/* 01BF1C 8001B31C 518F000C */ beql $t4, $t7, .L8001B350 -/* 01BF20 8001B320 C4E80028 */ lwc1 $f8, 0x28($a3) -/* 01BF24 8001B324 A6000004 */ sh $zero, 4($s0) -.L8001B328: -/* 01BF28 8001B328 A6000000 */ sh $zero, ($s0) -/* 01BF2C 8001B32C 8FAE002C */ lw $t6, 0x2c($sp) -/* 01BF30 8001B330 3C01FFFB */ lui $at, (0xFFFBFFFF >> 16) # lui $at, 0xfffb -/* 01BF34 8001B334 3421FFFF */ ori $at, (0xFFFBFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 01BF38 8001B338 8DCD000C */ lw $t5, 0xc($t6) -/* 01BF3C 8001B33C 01A1C824 */ and $t9, $t5, $at -/* 01BF40 8001B340 ADD9000C */ sw $t9, 0xc($t6) -/* 01BF44 8001B344 100002BB */ b .L8001BE34 -/* 01BF48 8001B348 86020004 */ lh $v0, 4($s0) -/* 01BF4C 8001B34C C4E80028 */ lwc1 $f8, 0x28($a3) -.L8001B350: -/* 01BF50 8001B350 D430D498 */ ldc1 $f16, %lo(D_800ED498)($at) -/* 01BF54 8001B354 C4E60018 */ lwc1 $f6, 0x18($a3) -/* 01BF58 8001B358 460042A1 */ cvt.d.s $f10, $f8 -/* 01BF5C 8001B35C C4E80024 */ lwc1 $f8, 0x24($a3) -/* 01BF60 8001B360 46305481 */ sub.d $f18, $f10, $f16 -/* 01BF64 8001B364 C4F0001C */ lwc1 $f16, 0x1c($a3) -/* 01BF68 8001B368 24180024 */ li $t8, 36 -/* 01BF6C 8001B36C 46083280 */ add.s $f10, $f6, $f8 -/* 01BF70 8001B370 C4E8002C */ lwc1 $f8, 0x2c($a3) -/* 01BF74 8001B374 C4E60020 */ lwc1 $f6, 0x20($a3) -/* 01BF78 8001B378 46209120 */ cvt.s.d $f4, $f18 -/* 01BF7C 8001B37C E4EA0018 */ swc1 $f10, 0x18($a3) -/* 01BF80 8001B380 46083280 */ add.s $f10, $f6, $f8 -/* 01BF84 8001B384 E4E40028 */ swc1 $f4, 0x28($a3) -/* 01BF88 8001B388 C4F20028 */ lwc1 $f18, 0x28($a3) -/* 01BF8C 8001B38C E4EA0020 */ swc1 $f10, 0x20($a3) -/* 01BF90 8001B390 46128100 */ add.s $f4, $f16, $f18 -/* 01BF94 8001B394 E4E4001C */ swc1 $f4, 0x1c($a3) -/* 01BF98 8001B398 86020004 */ lh $v0, 4($s0) -/* 01BF9C 8001B39C 28410015 */ slti $at, $v0, 0x15 -/* 01BFA0 8001B3A0 542002A5 */ bnel $at, $zero, .L8001BE38 -/* 01BFA4 8001B3A4 28412710 */ slti $at, $v0, 0x2710 -/* 01BFA8 8001B3A8 A6180000 */ sh $t8, ($s0) -/* 01BFAC 8001B3AC 100002A1 */ b .L8001BE34 -/* 01BFB0 8001B3B0 86020004 */ lh $v0, 4($s0) -glabel L8001B3B4 -/* 01BFB4 8001B3B4 860B0002 */ lh $t3, 2($s0) -/* 01BFB8 8001B3B8 3C0F8016 */ lui $t7, %hi(gActorList) # $t7, 0x8016 -/* 01BFBC 8001B3BC 25EFF9B8 */ addiu $t7, %lo(gActorList) # addiu $t7, $t7, -0x648 -/* 01BFC0 8001B3C0 000B60C0 */ sll $t4, $t3, 3 -/* 01BFC4 8001B3C4 018B6023 */ subu $t4, $t4, $t3 -/* 01BFC8 8001B3C8 000C6100 */ sll $t4, $t4, 4 -/* 01BFCC 8001B3CC 018F3821 */ addu $a3, $t4, $t7 -/* 01BFD0 8001B3D0 84E30002 */ lh $v1, 2($a3) -/* 01BFD4 8001B3D4 8FAC0030 */ lw $t4, 0x30($sp) -/* 01BFD8 8001B3D8 306D8000 */ andi $t5, $v1, 0x8000 -/* 01BFDC 8001B3DC 51A0000F */ beql $t5, $zero, .L8001B41C -/* 01BFE0 8001B3E0 84E50010 */ lh $a1, 0x10($a3) -/* 01BFE4 8001B3E4 84F90000 */ lh $t9, ($a3) -/* 01BFE8 8001B3E8 24060006 */ li $a2, 6 -/* 01BFEC 8001B3EC 54D9000B */ bnel $a2, $t9, .L8001B41C -/* 01BFF0 8001B3F0 84E50010 */ lh $a1, 0x10($a3) -/* 01BFF4 8001B3F4 84EE0006 */ lh $t6, 6($a3) -/* 01BFF8 8001B3F8 24010004 */ li $at, 4 -/* 01BFFC 8001B3FC 8FB80030 */ lw $t8, 0x30($sp) -/* 01C000 8001B400 55C10006 */ bnel $t6, $at, .L8001B41C -/* 01C004 8001B404 84E50010 */ lh $a1, 0x10($a3) -/* 01C008 8001B408 84EB0010 */ lh $t3, 0x10($a3) -/* 01C00C 8001B40C 3C01403E */ li $at, 0x403E0000 # 2.968750 -/* 01C010 8001B410 530B0007 */ beql $t8, $t3, .L8001B430 -/* 01C014 8001B414 C4F0001C */ lwc1 $f16, 0x1c($a3) -/* 01C018 8001B418 84E50010 */ lh $a1, 0x10($a3) -.L8001B41C: -/* 01C01C 8001B41C 5185001A */ beql $t4, $a1, .L8001B488 -/* 01C020 8001B420 8FAF002C */ lw $t7, 0x2c($sp) -/* 01C024 8001B424 10000018 */ b .L8001B488 -/* 01C028 8001B428 8FAF002C */ lw $t7, 0x2c($sp) -/* 01C02C 8001B42C C4F0001C */ lwc1 $f16, 0x1c($a3) -.L8001B430: -/* 01C030 8001B430 44800000 */ mtc1 $zero, $f0 -/* 01C034 8001B434 44812800 */ mtc1 $at, $f5 -/* 01C038 8001B438 44802000 */ mtc1 $zero, $f4 -/* 01C03C 8001B43C 460084A1 */ cvt.d.s $f18, $f16 -/* 01C040 8001B440 A4E80006 */ sh $t0, 6($a3) -/* 01C044 8001B444 46249180 */ add.d $f6, $f18, $f4 -/* 01C048 8001B448 C4EC0018 */ lwc1 $f12, 0x18($a3) -/* 01C04C 8001B44C 8CE60020 */ lw $a2, 0x20($a3) -/* 01C050 8001B450 E4E00024 */ swc1 $f0, 0x24($a3) -/* 01C054 8001B454 E4E00028 */ swc1 $f0, 0x28($a3) -/* 01C058 8001B458 E4E0002C */ swc1 $f0, 0x2c($a3) -/* 01C05C 8001B45C AFA70028 */ sw $a3, 0x28($sp) -/* 01C060 8001B460 0C0AB870 */ jal get_surface_height -/* 01C064 8001B464 462033A0 */ cvt.s.d $f14, $f6 -/* 01C068 8001B468 8FA70028 */ lw $a3, 0x28($sp) -/* 01C06C 8001B46C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 01C070 8001B470 44815000 */ mtc1 $at, $f10 -/* 01C074 8001B474 C4E8000C */ lwc1 $f8, 0xc($a3) -/* 01C078 8001B478 460A4400 */ add.s $f16, $f8, $f10 -/* 01C07C 8001B47C 46100480 */ add.s $f18, $f0, $f16 -/* 01C080 8001B480 E4F2001C */ swc1 $f18, 0x1c($a3) -/* 01C084 8001B484 8FAF002C */ lw $t7, 0x2c($sp) -.L8001B488: -/* 01C088 8001B488 3C01FFFB */ lui $at, (0xFFFBFFFF >> 16) # lui $at, 0xfffb -/* 01C08C 8001B48C 3421FFFF */ ori $at, (0xFFFBFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 01C090 8001B490 8DED000C */ lw $t5, 0xc($t7) -/* 01C094 8001B494 01A1C824 */ and $t9, $t5, $at -/* 01C098 8001B498 ADF9000C */ sw $t9, 0xc($t7) -/* 01C09C 8001B49C A6000004 */ sh $zero, 4($s0) -/* 01C0A0 8001B4A0 A6000000 */ sh $zero, ($s0) -/* 01C0A4 8001B4A4 10000263 */ b .L8001BE34 -/* 01C0A8 8001B4A8 86020004 */ lh $v0, 4($s0) -glabel L8001B4AC -/* 01C0AC 8001B4AC 3C0E8015 */ lui $t6, %hi(gNumActors) # $t6, 0x8015 -/* 01C0B0 8001B4B0 95CE0110 */ lhu $t6, %lo(gNumActors)($t6) -/* 01C0B4 8001B4B4 29C10050 */ slti $at, $t6, 0x50 -/* 01C0B8 8001B4B8 50200019 */ beql $at, $zero, .L8001B520 -/* 01C0BC 8001B4BC A6000000 */ sh $zero, ($s0) -/* 01C0C0 8001B4C0 0C0AC727 */ jal use_green_shell_item -/* 01C0C4 8001B4C4 8FA4002C */ lw $a0, 0x2c($sp) -/* 01C0C8 8001B4C8 A6020002 */ sh $v0, 2($s0) -/* 01C0CC 8001B4CC 86030002 */ lh $v1, 2($s0) -/* 01C0D0 8001B4D0 04600010 */ bltz $v1, .L8001B514 -/* 01C0D4 8001B4D4 28610064 */ slti $at, $v1, 0x64 -/* 01C0D8 8001B4D8 1020000E */ beqz $at, .L8001B514 -/* 01C0DC 8001B4DC 24180005 */ li $t8, 5 -/* 01C0E0 8001B4E0 860B0006 */ lh $t3, 6($s0) -/* 01C0E4 8001B4E4 A6180000 */ sh $t8, ($s0) -/* 01C0E8 8001B4E8 A6000004 */ sh $zero, 4($s0) -/* 01C0EC 8001B4EC 256C0001 */ addiu $t4, $t3, 1 -/* 01C0F0 8001B4F0 A60C0006 */ sh $t4, 6($s0) -/* 01C0F4 8001B4F4 0C0ADF8D */ jal random_int -/* 01C0F8 8001B4F8 24040003 */ li $a0, 3 -/* 01C0FC 8001B4FC 00026880 */ sll $t5, $v0, 2 -/* 01C100 8001B500 01A26821 */ addu $t5, $t5, $v0 -/* 01C104 8001B504 000D6880 */ sll $t5, $t5, 2 -/* 01C108 8001B508 25B9000A */ addiu $t9, $t5, 0xa -/* 01C10C 8001B50C 10000004 */ b .L8001B520 -/* 01C110 8001B510 A619000E */ sh $t9, 0xe($s0) -.L8001B514: -/* 01C114 8001B514 10000002 */ b .L8001B520 -/* 01C118 8001B518 A6000000 */ sh $zero, ($s0) -/* 01C11C 8001B51C A6000000 */ sh $zero, ($s0) -.L8001B520: -/* 01C120 8001B520 10000244 */ b .L8001BE34 -/* 01C124 8001B524 86020004 */ lh $v0, 4($s0) -glabel L8001B528 -/* 01C128 8001B528 860F0002 */ lh $t7, 2($s0) -/* 01C12C 8001B52C 3C188016 */ lui $t8, %hi(gActorList) # $t8, 0x8016 -/* 01C130 8001B530 2718F9B8 */ addiu $t8, %lo(gActorList) # addiu $t8, $t8, -0x648 -/* 01C134 8001B534 000F70C0 */ sll $t6, $t7, 3 -/* 01C138 8001B538 01CF7023 */ subu $t6, $t6, $t7 -/* 01C13C 8001B53C 000E7100 */ sll $t6, $t6, 4 -/* 01C140 8001B540 01D83821 */ addu $a3, $t6, $t8 -/* 01C144 8001B544 84E30002 */ lh $v1, 2($a3) -/* 01C148 8001B548 306B8000 */ andi $t3, $v1, 0x8000 -/* 01C14C 8001B54C 5160000D */ beql $t3, $zero, .L8001B584 -/* 01C150 8001B550 A6000004 */ sh $zero, 4($s0) -/* 01C154 8001B554 84EC0000 */ lh $t4, ($a3) -/* 01C158 8001B558 24010007 */ li $at, 7 -/* 01C15C 8001B55C 55810009 */ bnel $t4, $at, .L8001B584 -/* 01C160 8001B560 A6000004 */ sh $zero, 4($s0) -/* 01C164 8001B564 84ED0006 */ lh $t5, 6($a3) -/* 01C168 8001B568 8FB90030 */ lw $t9, 0x30($sp) -/* 01C16C 8001B56C 55A00005 */ bnel $t5, $zero, .L8001B584 -/* 01C170 8001B570 A6000004 */ sh $zero, 4($s0) -/* 01C174 8001B574 84EF0014 */ lh $t7, 0x14($a3) -/* 01C178 8001B578 532F0006 */ beql $t9, $t7, .L8001B594 -/* 01C17C 8001B57C 86020004 */ lh $v0, 4($s0) -/* 01C180 8001B580 A6000004 */ sh $zero, 4($s0) -.L8001B584: -/* 01C184 8001B584 A6000000 */ sh $zero, ($s0) -/* 01C188 8001B588 1000022A */ b .L8001BE34 -/* 01C18C 8001B58C 86020004 */ lh $v0, 4($s0) -/* 01C190 8001B590 86020004 */ lh $v0, 4($s0) -.L8001B594: -/* 01C194 8001B594 860E000E */ lh $t6, 0xe($s0) -/* 01C198 8001B598 24060006 */ li $a2, 6 -/* 01C19C 8001B59C 01C2082A */ slt $at, $t6, $v0 -/* 01C1A0 8001B5A0 50200225 */ beql $at, $zero, .L8001BE38 -/* 01C1A4 8001B5A4 28412710 */ slti $at, $v0, 0x2710 -/* 01C1A8 8001B5A8 A6000004 */ sh $zero, 4($s0) -/* 01C1AC 8001B5AC A6060000 */ sh $a2, ($s0) -/* 01C1B0 8001B5B0 10000220 */ b .L8001BE34 -/* 01C1B4 8001B5B4 86020004 */ lh $v0, 4($s0) -glabel L8001B5B8 -/* 01C1B8 8001B5B8 86180002 */ lh $t8, 2($s0) -/* 01C1BC 8001B5BC 3C0C8016 */ lui $t4, %hi(gActorList) # $t4, 0x8016 -/* 01C1C0 8001B5C0 258CF9B8 */ addiu $t4, %lo(gActorList) # addiu $t4, $t4, -0x648 -/* 01C1C4 8001B5C4 001858C0 */ sll $t3, $t8, 3 -/* 01C1C8 8001B5C8 01785823 */ subu $t3, $t3, $t8 -/* 01C1CC 8001B5CC 000B5900 */ sll $t3, $t3, 4 -/* 01C1D0 8001B5D0 016C3821 */ addu $a3, $t3, $t4 -/* 01C1D4 8001B5D4 84E30002 */ lh $v1, 2($a3) -/* 01C1D8 8001B5D8 306D8000 */ andi $t5, $v1, 0x8000 -/* 01C1DC 8001B5DC 51A0000D */ beql $t5, $zero, .L8001B614 -/* 01C1E0 8001B5E0 A6000000 */ sh $zero, ($s0) -/* 01C1E4 8001B5E4 84F90000 */ lh $t9, ($a3) -/* 01C1E8 8001B5E8 24010007 */ li $at, 7 -/* 01C1EC 8001B5EC 57210009 */ bnel $t9, $at, .L8001B614 -/* 01C1F0 8001B5F0 A6000000 */ sh $zero, ($s0) -/* 01C1F4 8001B5F4 84EF0006 */ lh $t7, 6($a3) -/* 01C1F8 8001B5F8 8FAE0030 */ lw $t6, 0x30($sp) -/* 01C1FC 8001B5FC 55E00005 */ bnel $t7, $zero, .L8001B614 -/* 01C200 8001B600 A6000000 */ sh $zero, ($s0) -/* 01C204 8001B604 84F80014 */ lh $t8, 0x14($a3) -/* 01C208 8001B608 51D80005 */ beql $t6, $t8, .L8001B620 -/* 01C20C 8001B60C A4E80006 */ sh $t0, 6($a3) -/* 01C210 8001B610 A6000000 */ sh $zero, ($s0) -.L8001B614: -/* 01C214 8001B614 10000004 */ b .L8001B628 -/* 01C218 8001B618 A6000004 */ sh $zero, 4($s0) -/* 01C21C 8001B61C A4E80006 */ sh $t0, 6($a3) -.L8001B620: -/* 01C220 8001B620 A6000004 */ sh $zero, 4($s0) -/* 01C224 8001B624 A6000000 */ sh $zero, ($s0) -.L8001B628: -/* 01C228 8001B628 10000202 */ b .L8001BE34 -/* 01C22C 8001B62C 86020004 */ lh $v0, 4($s0) -glabel L8001B630 -/* 01C230 8001B630 3C0B8015 */ lui $t3, %hi(gNumActors) # $t3, 0x8015 -/* 01C234 8001B634 956B0110 */ lhu $t3, %lo(gNumActors)($t3) -/* 01C238 8001B638 29610050 */ slti $at, $t3, 0x50 -/* 01C23C 8001B63C 50200019 */ beql $at, $zero, .L8001B6A4 -/* 01C240 8001B640 A6000000 */ sh $zero, ($s0) -/* 01C244 8001B644 0C0AC792 */ jal use_red_shell_item -/* 01C248 8001B648 8FA4002C */ lw $a0, 0x2c($sp) -/* 01C24C 8001B64C A6020002 */ sh $v0, 2($s0) -/* 01C250 8001B650 86030002 */ lh $v1, 2($s0) -/* 01C254 8001B654 04600010 */ bltz $v1, .L8001B698 -/* 01C258 8001B658 28610064 */ slti $at, $v1, 0x64 -/* 01C25C 8001B65C 1020000E */ beqz $at, .L8001B698 -/* 01C260 8001B660 240C0008 */ li $t4, 8 -/* 01C264 8001B664 860D0006 */ lh $t5, 6($s0) -/* 01C268 8001B668 A60C0000 */ sh $t4, ($s0) -/* 01C26C 8001B66C A6000004 */ sh $zero, 4($s0) -/* 01C270 8001B670 25B90001 */ addiu $t9, $t5, 1 -/* 01C274 8001B674 A6190006 */ sh $t9, 6($s0) -/* 01C278 8001B678 0C0ADF8D */ jal random_int -/* 01C27C 8001B67C 24040003 */ li $a0, 3 -/* 01C280 8001B680 00027880 */ sll $t7, $v0, 2 -/* 01C284 8001B684 01E27821 */ addu $t7, $t7, $v0 -/* 01C288 8001B688 000F7880 */ sll $t7, $t7, 2 -/* 01C28C 8001B68C 25EE000A */ addiu $t6, $t7, 0xa -/* 01C290 8001B690 10000004 */ b .L8001B6A4 -/* 01C294 8001B694 A60E000E */ sh $t6, 0xe($s0) -.L8001B698: -/* 01C298 8001B698 10000002 */ b .L8001B6A4 -/* 01C29C 8001B69C A6000000 */ sh $zero, ($s0) -/* 01C2A0 8001B6A0 A6000000 */ sh $zero, ($s0) -.L8001B6A4: -/* 01C2A4 8001B6A4 100001E3 */ b .L8001BE34 -/* 01C2A8 8001B6A8 86020004 */ lh $v0, 4($s0) -glabel L8001B6AC -/* 01C2AC 8001B6AC 86180002 */ lh $t8, 2($s0) -/* 01C2B0 8001B6B0 3C0C8016 */ lui $t4, %hi(gActorList) # $t4, 0x8016 -/* 01C2B4 8001B6B4 258CF9B8 */ addiu $t4, %lo(gActorList) # addiu $t4, $t4, -0x648 -/* 01C2B8 8001B6B8 001858C0 */ sll $t3, $t8, 3 -/* 01C2BC 8001B6BC 01785823 */ subu $t3, $t3, $t8 -/* 01C2C0 8001B6C0 000B5900 */ sll $t3, $t3, 4 -/* 01C2C4 8001B6C4 016C3821 */ addu $a3, $t3, $t4 -/* 01C2C8 8001B6C8 84E30002 */ lh $v1, 2($a3) -/* 01C2CC 8001B6CC 306D8000 */ andi $t5, $v1, 0x8000 -/* 01C2D0 8001B6D0 51A0000D */ beql $t5, $zero, .L8001B708 -/* 01C2D4 8001B6D4 A6000004 */ sh $zero, 4($s0) -/* 01C2D8 8001B6D8 84F90000 */ lh $t9, ($a3) -/* 01C2DC 8001B6DC 24010008 */ li $at, 8 -/* 01C2E0 8001B6E0 57210009 */ bnel $t9, $at, .L8001B708 -/* 01C2E4 8001B6E4 A6000004 */ sh $zero, 4($s0) -/* 01C2E8 8001B6E8 84EF0006 */ lh $t7, 6($a3) -/* 01C2EC 8001B6EC 8FAE0030 */ lw $t6, 0x30($sp) -/* 01C2F0 8001B6F0 55E00005 */ bnel $t7, $zero, .L8001B708 -/* 01C2F4 8001B6F4 A6000004 */ sh $zero, 4($s0) -/* 01C2F8 8001B6F8 84F80014 */ lh $t8, 0x14($a3) -/* 01C2FC 8001B6FC 51D80006 */ beql $t6, $t8, .L8001B718 -/* 01C300 8001B700 86020004 */ lh $v0, 4($s0) -/* 01C304 8001B704 A6000004 */ sh $zero, 4($s0) -.L8001B708: -/* 01C308 8001B708 A6000000 */ sh $zero, ($s0) -/* 01C30C 8001B70C 100001C9 */ b .L8001BE34 -/* 01C310 8001B710 86020004 */ lh $v0, 4($s0) -/* 01C314 8001B714 86020004 */ lh $v0, 4($s0) -.L8001B718: -/* 01C318 8001B718 860B000E */ lh $t3, 0xe($s0) -/* 01C31C 8001B71C 240C0009 */ li $t4, 9 -/* 01C320 8001B720 0162082A */ slt $at, $t3, $v0 -/* 01C324 8001B724 502001C4 */ beql $at, $zero, .L8001BE38 -/* 01C328 8001B728 28412710 */ slti $at, $v0, 0x2710 -/* 01C32C 8001B72C A60C0000 */ sh $t4, ($s0) -/* 01C330 8001B730 100001C0 */ b .L8001BE34 -/* 01C334 8001B734 86020004 */ lh $v0, 4($s0) -glabel L8001B738 -/* 01C338 8001B738 0C006AFB */ jal clear_expired_strategies -/* 01C33C 8001B73C 02002025 */ move $a0, $s0 -/* 01C340 8001B740 860D0002 */ lh $t5, 2($s0) -/* 01C344 8001B744 3C0F8016 */ lui $t7, %hi(gActorList) # $t7, 0x8016 -/* 01C348 8001B748 25EFF9B8 */ addiu $t7, %lo(gActorList) # addiu $t7, $t7, -0x648 -/* 01C34C 8001B74C 000DC8C0 */ sll $t9, $t5, 3 -/* 01C350 8001B750 032DC823 */ subu $t9, $t9, $t5 -/* 01C354 8001B754 0019C900 */ sll $t9, $t9, 4 -/* 01C358 8001B758 032F3821 */ addu $a3, $t9, $t7 -/* 01C35C 8001B75C 84E30002 */ lh $v1, 2($a3) -/* 01C360 8001B760 24080001 */ li $t0, 1 -/* 01C364 8001B764 8FAA0030 */ lw $t2, 0x30($sp) -/* 01C368 8001B768 306E8000 */ andi $t6, $v1, 0x8000 -/* 01C36C 8001B76C 51C0000C */ beql $t6, $zero, .L8001B7A0 -/* 01C370 8001B770 A6000000 */ sh $zero, ($s0) -/* 01C374 8001B774 84F80000 */ lh $t8, ($a3) -/* 01C378 8001B778 24010008 */ li $at, 8 -/* 01C37C 8001B77C 57010008 */ bnel $t8, $at, .L8001B7A0 -/* 01C380 8001B780 A6000000 */ sh $zero, ($s0) -/* 01C384 8001B784 84EB0006 */ lh $t3, 6($a3) -/* 01C388 8001B788 55600005 */ bnel $t3, $zero, .L8001B7A0 -/* 01C38C 8001B78C A6000000 */ sh $zero, ($s0) -/* 01C390 8001B790 84EC0014 */ lh $t4, 0x14($a3) -/* 01C394 8001B794 514C0005 */ beql $t2, $t4, .L8001B7AC -/* 01C398 8001B798 A4E80006 */ sh $t0, 6($a3) -/* 01C39C 8001B79C A6000000 */ sh $zero, ($s0) -.L8001B7A0: -/* 01C3A0 8001B7A0 10000004 */ b .L8001B7B4 -/* 01C3A4 8001B7A4 A6000004 */ sh $zero, 4($s0) -/* 01C3A8 8001B7A8 A4E80006 */ sh $t0, 6($a3) -.L8001B7AC: -/* 01C3AC 8001B7AC A6000004 */ sh $zero, 4($s0) -/* 01C3B0 8001B7B0 A6000000 */ sh $zero, ($s0) -.L8001B7B4: -/* 01C3B4 8001B7B4 1000019F */ b .L8001BE34 -/* 01C3B8 8001B7B8 86020004 */ lh $v0, 4($s0) -glabel L8001B7BC -/* 01C3BC 8001B7BC 3C0D8015 */ lui $t5, %hi(gNumActors) # $t5, 0x8015 -/* 01C3C0 8001B7C0 95AD0110 */ lhu $t5, %lo(gNumActors)($t5) -/* 01C3C4 8001B7C4 29A10050 */ slti $at, $t5, 0x50 -/* 01C3C8 8001B7C8 50200019 */ beql $at, $zero, .L8001B830 -/* 01C3CC 8001B7CC A6000000 */ sh $zero, ($s0) -/* 01C3D0 8001B7D0 0C0AC5FD */ jal use_banana_bunch_item -/* 01C3D4 8001B7D4 8FA4002C */ lw $a0, 0x2c($sp) -/* 01C3D8 8001B7D8 A6020002 */ sh $v0, 2($s0) -/* 01C3DC 8001B7DC 86030002 */ lh $v1, 2($s0) -/* 01C3E0 8001B7E0 04600010 */ bltz $v1, .L8001B824 -/* 01C3E4 8001B7E4 28610064 */ slti $at, $v1, 0x64 -/* 01C3E8 8001B7E8 1020000E */ beqz $at, .L8001B824 -/* 01C3EC 8001B7EC 2419000B */ li $t9, 11 -/* 01C3F0 8001B7F0 860F0006 */ lh $t7, 6($s0) -/* 01C3F4 8001B7F4 A6190000 */ sh $t9, ($s0) -/* 01C3F8 8001B7F8 A6000004 */ sh $zero, 4($s0) -/* 01C3FC 8001B7FC 25EE0001 */ addiu $t6, $t7, 1 -/* 01C400 8001B800 A60E0006 */ sh $t6, 6($s0) -/* 01C404 8001B804 0C0ADF8D */ jal random_int -/* 01C408 8001B808 24040003 */ li $a0, 3 -/* 01C40C 8001B80C 0002C080 */ sll $t8, $v0, 2 -/* 01C410 8001B810 0302C021 */ addu $t8, $t8, $v0 -/* 01C414 8001B814 0018C080 */ sll $t8, $t8, 2 -/* 01C418 8001B818 270B003C */ addiu $t3, $t8, 0x3c -/* 01C41C 8001B81C 10000004 */ b .L8001B830 -/* 01C420 8001B820 A60B000E */ sh $t3, 0xe($s0) -.L8001B824: -/* 01C424 8001B824 10000002 */ b .L8001B830 -/* 01C428 8001B828 A6000000 */ sh $zero, ($s0) -/* 01C42C 8001B82C A6000000 */ sh $zero, ($s0) -.L8001B830: -/* 01C430 8001B830 10000180 */ b .L8001BE34 -/* 01C434 8001B834 86020004 */ lh $v0, 4($s0) -glabel L8001B838 -/* 01C438 8001B838 860C0002 */ lh $t4, 2($s0) -/* 01C43C 8001B83C 3C198016 */ lui $t9, %hi(gActorList) # $t9, 0x8016 -/* 01C440 8001B840 2739F9B8 */ addiu $t9, %lo(gActorList) # addiu $t9, $t9, -0x648 -/* 01C444 8001B844 000C68C0 */ sll $t5, $t4, 3 -/* 01C448 8001B848 01AC6823 */ subu $t5, $t5, $t4 -/* 01C44C 8001B84C 000D6900 */ sll $t5, $t5, 4 -/* 01C450 8001B850 01B93821 */ addu $a3, $t5, $t9 -/* 01C454 8001B854 84E40006 */ lh $a0, 6($a3) -/* 01C458 8001B858 24060006 */ li $a2, 6 -/* 01C45C 8001B85C 14C40029 */ bne $a2, $a0, .L8001B904 -/* 01C460 8001B860 00000000 */ nop -/* 01C464 8001B864 84EF001A */ lh $t7, 0x1a($a3) -/* 01C468 8001B868 2405FFFF */ li $a1, -1 -/* 01C46C 8001B86C 00001825 */ move $v1, $zero -/* 01C470 8001B870 50AF0003 */ beql $a1, $t7, .L8001B880 -/* 01C474 8001B874 84EE0018 */ lh $t6, 0x18($a3) -/* 01C478 8001B878 24030001 */ li $v1, 1 -/* 01C47C 8001B87C 84EE0018 */ lh $t6, 0x18($a3) -.L8001B880: -/* 01C480 8001B880 50AE0003 */ beql $a1, $t6, .L8001B890 -/* 01C484 8001B884 84F80016 */ lh $t8, 0x16($a3) -/* 01C488 8001B888 24030001 */ li $v1, 1 -/* 01C48C 8001B88C 84F80016 */ lh $t8, 0x16($a3) -.L8001B890: -/* 01C490 8001B890 50B80003 */ beql $a1, $t8, .L8001B8A0 -/* 01C494 8001B894 84EB0014 */ lh $t3, 0x14($a3) -/* 01C498 8001B898 24030001 */ li $v1, 1 -/* 01C49C 8001B89C 84EB0014 */ lh $t3, 0x14($a3) -.L8001B8A0: -/* 01C4A0 8001B8A0 50AB0003 */ beql $a1, $t3, .L8001B8B0 -/* 01C4A4 8001B8A4 84EC0012 */ lh $t4, 0x12($a3) -/* 01C4A8 8001B8A8 24030001 */ li $v1, 1 -/* 01C4AC 8001B8AC 84EC0012 */ lh $t4, 0x12($a3) -.L8001B8B0: -/* 01C4B0 8001B8B0 50AC0003 */ beql $a1, $t4, .L8001B8C0 -/* 01C4B4 8001B8B4 84E20000 */ lh $v0, ($a3) -/* 01C4B8 8001B8B8 24030001 */ li $v1, 1 -/* 01C4BC 8001B8BC 84E20000 */ lh $v0, ($a3) -.L8001B8C0: -/* 01C4C0 8001B8C0 2405000E */ li $a1, 14 -/* 01C4C4 8001B8C4 54A20004 */ bnel $a1, $v0, .L8001B8D8 -/* 01C4C8 8001B8C8 A6000000 */ sh $zero, ($s0) -/* 01C4CC 8001B8CC 54600005 */ bnel $v1, $zero, .L8001B8E4 -/* 01C4D0 8001B8D0 860D000E */ lh $t5, 0xe($s0) -/* 01C4D4 8001B8D4 A6000000 */ sh $zero, ($s0) -.L8001B8D8: -/* 01C4D8 8001B8D8 1000000A */ b .L8001B904 -/* 01C4DC 8001B8DC A6000004 */ sh $zero, 4($s0) -/* 01C4E0 8001B8E0 860D000E */ lh $t5, 0xe($s0) -.L8001B8E4: -/* 01C4E4 8001B8E4 86190004 */ lh $t9, 4($s0) -/* 01C4E8 8001B8E8 240F000C */ li $t7, 12 -/* 01C4EC 8001B8EC 01B9082A */ slt $at, $t5, $t9 -/* 01C4F0 8001B8F0 10200004 */ beqz $at, .L8001B904 -/* 01C4F4 8001B8F4 00000000 */ nop -/* 01C4F8 8001B8F8 A60F0000 */ sh $t7, ($s0) -/* 01C4FC 8001B8FC A6000008 */ sh $zero, 8($s0) -/* 01C500 8001B900 A6000004 */ sh $zero, 4($s0) -.L8001B904: -/* 01C504 8001B904 1000014B */ b .L8001BE34 -/* 01C508 8001B908 86020004 */ lh $v0, 4($s0) -glabel L8001B90C -/* 01C50C 8001B90C 86020004 */ lh $v0, 4($s0) -/* 01C510 8001B910 2401000A */ li $at, 10 -/* 01C514 8001B914 3C0C8016 */ lui $t4, %hi(gActorList) # $t4, 0x8016 -/* 01C518 8001B918 0041001A */ div $zero, $v0, $at -/* 01C51C 8001B91C 00007010 */ mfhi $t6 -/* 01C520 8001B920 258CF9B8 */ addiu $t4, %lo(gActorList) # addiu $t4, $t4, -0x648 -/* 01C524 8001B924 55C00144 */ bnel $t6, $zero, .L8001BE38 -/* 01C528 8001B928 28412710 */ slti $at, $v0, 0x2710 -/* 01C52C 8001B92C 86030008 */ lh $v1, 8($s0) -/* 01C530 8001B930 28610005 */ slti $at, $v1, 5 -/* 01C534 8001B934 1020003C */ beqz $at, .L8001BA28 -/* 01C538 8001B938 00036880 */ sll $t5, $v1, 2 -/* 01C53C 8001B93C 86180002 */ lh $t8, 2($s0) -/* 01C540 8001B940 2C610005 */ sltiu $at, $v1, 5 -/* 01C544 8001B944 00001025 */ move $v0, $zero -/* 01C548 8001B948 001858C0 */ sll $t3, $t8, 3 -/* 01C54C 8001B94C 01785823 */ subu $t3, $t3, $t8 -/* 01C550 8001B950 000B5900 */ sll $t3, $t3, 4 -/* 01C554 8001B954 10200023 */ beqz $at, .L8001B9E4 -/* 01C558 8001B958 016C3821 */ addu $a3, $t3, $t4 -/* 01C55C 8001B95C 3C01800F */ lui $at, %hi(jpt_800ED4A0) -/* 01C560 8001B960 002D0821 */ addu $at, $at, $t5 -/* 01C564 8001B964 8C2DD4A0 */ lw $t5, %lo(jpt_800ED4A0)($at) -/* 01C568 8001B968 01A00008 */ jr $t5 -/* 01C56C 8001B96C 00000000 */ nop -glabel L8001B970 -/* 01C570 8001B970 84F9001A */ lh $t9, 0x1a($a3) -/* 01C574 8001B974 2405FFFF */ li $a1, -1 -/* 01C578 8001B978 50B9001B */ beql $a1, $t9, .L8001B9E8 -/* 01C57C 8001B97C 84EC0000 */ lh $t4, ($a3) -/* 01C580 8001B980 10000018 */ b .L8001B9E4 -/* 01C584 8001B984 01001025 */ move $v0, $t0 -glabel L8001B988 -/* 01C588 8001B988 84EF0018 */ lh $t7, 0x18($a3) -/* 01C58C 8001B98C 2405FFFF */ li $a1, -1 -/* 01C590 8001B990 50AF0015 */ beql $a1, $t7, .L8001B9E8 -/* 01C594 8001B994 84EC0000 */ lh $t4, ($a3) -/* 01C598 8001B998 10000012 */ b .L8001B9E4 -/* 01C59C 8001B99C 01001025 */ move $v0, $t0 -glabel L8001B9A0 -/* 01C5A0 8001B9A0 84EE0016 */ lh $t6, 0x16($a3) -/* 01C5A4 8001B9A4 2405FFFF */ li $a1, -1 -/* 01C5A8 8001B9A8 50AE000F */ beql $a1, $t6, .L8001B9E8 -/* 01C5AC 8001B9AC 84EC0000 */ lh $t4, ($a3) -/* 01C5B0 8001B9B0 1000000C */ b .L8001B9E4 -/* 01C5B4 8001B9B4 01001025 */ move $v0, $t0 -glabel L8001B9B8 -/* 01C5B8 8001B9B8 84F80014 */ lh $t8, 0x14($a3) -/* 01C5BC 8001B9BC 2405FFFF */ li $a1, -1 -/* 01C5C0 8001B9C0 50B80009 */ beql $a1, $t8, .L8001B9E8 -/* 01C5C4 8001B9C4 84EC0000 */ lh $t4, ($a3) -/* 01C5C8 8001B9C8 10000006 */ b .L8001B9E4 -/* 01C5CC 8001B9CC 01001025 */ move $v0, $t0 -glabel L8001B9D0 -/* 01C5D0 8001B9D0 84EB0012 */ lh $t3, 0x12($a3) -/* 01C5D4 8001B9D4 2405FFFF */ li $a1, -1 -/* 01C5D8 8001B9D8 50AB0003 */ beql $a1, $t3, .L8001B9E8 -/* 01C5DC 8001B9DC 84EC0000 */ lh $t4, ($a3) -/* 01C5E0 8001B9E0 01001025 */ move $v0, $t0 -.L8001B9E4: -/* 01C5E4 8001B9E4 84EC0000 */ lh $t4, ($a3) -.L8001B9E8: -/* 01C5E8 8001B9E8 2405000E */ li $a1, 14 -/* 01C5EC 8001B9EC 54AC000B */ bnel $a1, $t4, .L8001BA1C -/* 01C5F0 8001B9F0 24790001 */ addiu $t9, $v1, 1 -/* 01C5F4 8001B9F4 84ED0006 */ lh $t5, 6($a3) -/* 01C5F8 8001B9F8 24060006 */ li $a2, 6 -/* 01C5FC 8001B9FC 54CD0007 */ bnel $a2, $t5, .L8001BA1C -/* 01C600 8001BA00 24790001 */ addiu $t9, $v1, 1 -/* 01C604 8001BA04 54480005 */ bnel $v0, $t0, .L8001BA1C -/* 01C608 8001BA08 24790001 */ addiu $t9, $v1, 1 -/* 01C60C 8001BA0C 0C0AC192 */ jal drop_banana_in_banana_bunch -/* 01C610 8001BA10 00E02025 */ move $a0, $a3 -/* 01C614 8001BA14 86030008 */ lh $v1, 8($s0) -/* 01C618 8001BA18 24790001 */ addiu $t9, $v1, 1 -.L8001BA1C: -/* 01C61C 8001BA1C A6190008 */ sh $t9, 8($s0) -/* 01C620 8001BA20 10000104 */ b .L8001BE34 -/* 01C624 8001BA24 86020004 */ lh $v0, 4($s0) -.L8001BA28: -/* 01C628 8001BA28 A6000004 */ sh $zero, 4($s0) -/* 01C62C 8001BA2C A6000000 */ sh $zero, ($s0) -/* 01C630 8001BA30 10000100 */ b .L8001BE34 -/* 01C634 8001BA34 86020004 */ lh $v0, 4($s0) -glabel L8001BA38 -/* 01C638 8001BA38 0C0ACB10 */ jal use_fake_itembox_item -/* 01C63C 8001BA3C 8FA4002C */ lw $a0, 0x2c($sp) -/* 01C640 8001BA40 A6020002 */ sh $v0, 2($s0) -/* 01C644 8001BA44 86030002 */ lh $v1, 2($s0) -/* 01C648 8001BA48 04600010 */ bltz $v1, .L8001BA8C -/* 01C64C 8001BA4C 28610064 */ slti $at, $v1, 0x64 -/* 01C650 8001BA50 1020000E */ beqz $at, .L8001BA8C -/* 01C654 8001BA54 2405000E */ li $a1, 14 -/* 01C658 8001BA58 860F0006 */ lh $t7, 6($s0) -/* 01C65C 8001BA5C A6050000 */ sh $a1, ($s0) -/* 01C660 8001BA60 A6000004 */ sh $zero, 4($s0) -/* 01C664 8001BA64 25EE0001 */ addiu $t6, $t7, 1 -/* 01C668 8001BA68 A60E0006 */ sh $t6, 6($s0) -/* 01C66C 8001BA6C 0C0ADF8D */ jal random_int -/* 01C670 8001BA70 24040003 */ li $a0, 3 -/* 01C674 8001BA74 0002C080 */ sll $t8, $v0, 2 -/* 01C678 8001BA78 0302C021 */ addu $t8, $t8, $v0 -/* 01C67C 8001BA7C 0018C080 */ sll $t8, $t8, 2 -/* 01C680 8001BA80 270B000A */ addiu $t3, $t8, 0xa -/* 01C684 8001BA84 10000002 */ b .L8001BA90 -/* 01C688 8001BA88 A60B000E */ sh $t3, 0xe($s0) -.L8001BA8C: -/* 01C68C 8001BA8C A6000000 */ sh $zero, ($s0) -.L8001BA90: -/* 01C690 8001BA90 100000E8 */ b .L8001BE34 -/* 01C694 8001BA94 86020004 */ lh $v0, 4($s0) -glabel L8001BA98 -/* 01C698 8001BA98 860C0002 */ lh $t4, 2($s0) -/* 01C69C 8001BA9C 3C198016 */ lui $t9, %hi(gActorList) # $t9, 0x8016 -/* 01C6A0 8001BAA0 2739F9B8 */ addiu $t9, %lo(gActorList) # addiu $t9, $t9, -0x648 -/* 01C6A4 8001BAA4 000C68C0 */ sll $t5, $t4, 3 -/* 01C6A8 8001BAA8 01AC6823 */ subu $t5, $t5, $t4 -/* 01C6AC 8001BAAC 000D6900 */ sll $t5, $t5, 4 -/* 01C6B0 8001BAB0 01B93821 */ addu $a3, $t5, $t9 -/* 01C6B4 8001BAB4 84E30002 */ lh $v1, 2($a3) -/* 01C6B8 8001BAB8 306F8000 */ andi $t7, $v1, 0x8000 -/* 01C6BC 8001BABC 51E00010 */ beql $t7, $zero, .L8001BB00 -/* 01C6C0 8001BAC0 A6000004 */ sh $zero, 4($s0) -/* 01C6C4 8001BAC4 84EE0000 */ lh $t6, ($a3) -/* 01C6C8 8001BAC8 2401000D */ li $at, 13 -/* 01C6CC 8001BACC 55C1000C */ bnel $t6, $at, .L8001BB00 -/* 01C6D0 8001BAD0 A6000004 */ sh $zero, 4($s0) -/* 01C6D4 8001BAD4 84F80006 */ lh $t8, 6($a3) -/* 01C6D8 8001BAD8 57000009 */ bnel $t8, $zero, .L8001BB00 -/* 01C6DC 8001BADC A6000004 */ sh $zero, 4($s0) -/* 01C6E0 8001BAE0 C4E40024 */ lwc1 $f4, 0x24($a3) -/* 01C6E4 8001BAE4 8FAB0030 */ lw $t3, 0x30($sp) -/* 01C6E8 8001BAE8 4600218D */ trunc.w.s $f6, $f4 -/* 01C6EC 8001BAEC 440D3000 */ mfc1 $t5, $f6 -/* 01C6F0 8001BAF0 00000000 */ nop -/* 01C6F4 8001BAF4 516D0006 */ beql $t3, $t5, .L8001BB10 -/* 01C6F8 8001BAF8 86020004 */ lh $v0, 4($s0) -/* 01C6FC 8001BAFC A6000004 */ sh $zero, 4($s0) -.L8001BB00: -/* 01C700 8001BB00 A6000000 */ sh $zero, ($s0) -/* 01C704 8001BB04 100000CB */ b .L8001BE34 -/* 01C708 8001BB08 86020004 */ lh $v0, 4($s0) -/* 01C70C 8001BB0C 86020004 */ lh $v0, 4($s0) -.L8001BB10: -/* 01C710 8001BB10 8619000E */ lh $t9, 0xe($s0) -/* 01C714 8001BB14 240F000F */ li $t7, 15 -/* 01C718 8001BB18 0322082A */ slt $at, $t9, $v0 -/* 01C71C 8001BB1C 502000C6 */ beql $at, $zero, .L8001BE38 -/* 01C720 8001BB20 28412710 */ slti $at, $v0, 0x2710 -/* 01C724 8001BB24 A60F0000 */ sh $t7, ($s0) -/* 01C728 8001BB28 100000C2 */ b .L8001BE34 -/* 01C72C 8001BB2C 86020004 */ lh $v0, 4($s0) -glabel L8001BB30 -/* 01C730 8001BB30 860E0002 */ lh $t6, 2($s0) -/* 01C734 8001BB34 3C0C8016 */ lui $t4, %hi(gActorList) # $t4, 0x8016 -/* 01C738 8001BB38 258CF9B8 */ addiu $t4, %lo(gActorList) # addiu $t4, $t4, -0x648 -/* 01C73C 8001BB3C 000EC0C0 */ sll $t8, $t6, 3 -/* 01C740 8001BB40 030EC023 */ subu $t8, $t8, $t6 -/* 01C744 8001BB44 0018C100 */ sll $t8, $t8, 4 -/* 01C748 8001BB48 030C3821 */ addu $a3, $t8, $t4 -/* 01C74C 8001BB4C 84E30002 */ lh $v1, 2($a3) -/* 01C750 8001BB50 8FAC0030 */ lw $t4, 0x30($sp) -/* 01C754 8001BB54 306B8000 */ andi $t3, $v1, 0x8000 -/* 01C758 8001BB58 51600011 */ beql $t3, $zero, .L8001BBA0 -/* 01C75C 8001BB5C 84EB0010 */ lh $t3, 0x10($a3) -/* 01C760 8001BB60 84ED0000 */ lh $t5, ($a3) -/* 01C764 8001BB64 2401000D */ li $at, 13 -/* 01C768 8001BB68 55A1000D */ bnel $t5, $at, .L8001BBA0 -/* 01C76C 8001BB6C 84EB0010 */ lh $t3, 0x10($a3) -/* 01C770 8001BB70 84F90006 */ lh $t9, 6($a3) -/* 01C774 8001BB74 5720000A */ bnel $t9, $zero, .L8001BBA0 -/* 01C778 8001BB78 84EB0010 */ lh $t3, 0x10($a3) -/* 01C77C 8001BB7C C4E80024 */ lwc1 $f8, 0x24($a3) -/* 01C780 8001BB80 8FAF0030 */ lw $t7, 0x30($sp) -/* 01C784 8001BB84 00E02025 */ move $a0, $a3 -/* 01C788 8001BB88 4600428D */ trunc.w.s $f10, $f8 -/* 01C78C 8001BB8C 44185000 */ mfc1 $t8, $f10 -/* 01C790 8001BB90 00000000 */ nop -/* 01C794 8001BB94 11F80006 */ beq $t7, $t8, .L8001BBB0 -/* 01C798 8001BB98 00000000 */ nop -/* 01C79C 8001BB9C 84EB0010 */ lh $t3, 0x10($a3) -.L8001BBA0: -/* 01C7A0 8001BBA0 518B001E */ beql $t4, $t3, .L8001BC1C -/* 01C7A4 8001BBA4 A6000004 */ sh $zero, 4($s0) -/* 01C7A8 8001BBA8 1000001C */ b .L8001BC1C -/* 01C7AC 8001BBAC A6000004 */ sh $zero, 4($s0) -.L8001BBB0: -/* 01C7B0 8001BBB0 0C0A8419 */ jal func_802A1064 -/* 01C7B4 8001BBB4 AFA70028 */ sw $a3, 0x28($sp) -/* 01C7B8 8001BBB8 8FAA0030 */ lw $t2, 0x30($sp) -/* 01C7BC 8001BBBC 3C198016 */ lui $t9, %hi(D_801631E0) # 0x8016 -/* 01C7C0 8001BBC0 24080001 */ li $t0, 1 -/* 01C7C4 8001BBC4 000A6840 */ sll $t5, $t2, 1 -/* 01C7C8 8001BBC8 032DC821 */ addu $t9, $t9, $t5 -/* 01C7CC 8001BBCC 973931E0 */ lhu $t9, %lo(D_801631E0)($t9) # 0x31e0($t9) -/* 01C7D0 8001BBD0 8FA70028 */ lw $a3, 0x28($sp) -/* 01C7D4 8001BBD4 3C01403E */ li $at, 0x403E0000 # 2.968750 -/* 01C7D8 8001BBD8 55190010 */ bnel $t0, $t9, .L8001BC1C -/* 01C7DC 8001BBDC A6000004 */ sh $zero, 4($s0) -/* 01C7E0 8001BBE0 C4F0001C */ lwc1 $f16, 0x1c($a3) -/* 01C7E4 8001BBE4 44812800 */ mtc1 $at, $f5 -/* 01C7E8 8001BBE8 44802000 */ mtc1 $zero, $f4 -/* 01C7EC 8001BBEC 460084A1 */ cvt.d.s $f18, $f16 -/* 01C7F0 8001BBF0 C4EC0018 */ lwc1 $f12, 0x18($a3) -/* 01C7F4 8001BBF4 46249180 */ add.d $f6, $f18, $f4 -/* 01C7F8 8001BBF8 8CE60020 */ lw $a2, 0x20($a3) -/* 01C7FC 8001BBFC AFA70028 */ sw $a3, 0x28($sp) -/* 01C800 8001BC00 0C0AB870 */ jal get_surface_height -/* 01C804 8001BC04 462033A0 */ cvt.s.d $f14, $f6 -/* 01C808 8001BC08 8FA70028 */ lw $a3, 0x28($sp) -/* 01C80C 8001BC0C C4E8000C */ lwc1 $f8, 0xc($a3) -/* 01C810 8001BC10 46080280 */ add.s $f10, $f0, $f8 -/* 01C814 8001BC14 E4EA001C */ swc1 $f10, 0x1c($a3) -/* 01C818 8001BC18 A6000004 */ sh $zero, 4($s0) -.L8001BC1C: -/* 01C81C 8001BC1C A6000000 */ sh $zero, ($s0) -/* 01C820 8001BC20 10000084 */ b .L8001BE34 -/* 01C824 8001BC24 86020004 */ lh $v0, 4($s0) -glabel L8001BC28 -/* 01C828 8001BC28 0C0ACBAF */ jal use_thunder_item -/* 01C82C 8001BC2C 8FA4002C */ lw $a0, 0x2c($sp) -/* 01C830 8001BC30 8FAA0030 */ lw $t2, 0x30($sp) -/* 01C834 8001BC34 0C032B18 */ jal func_800CAC60 -/* 01C838 8001BC38 314400FF */ andi $a0, $t2, 0xff -/* 01C83C 8001BC3C 0C02796F */ jal func_8009E5BC -/* 01C840 8001BC40 00000000 */ nop -/* 01C844 8001BC44 860F0006 */ lh $t7, 6($s0) -/* 01C848 8001BC48 240E0017 */ li $t6, 23 -/* 01C84C 8001BC4C A6000004 */ sh $zero, 4($s0) -/* 01C850 8001BC50 25F80001 */ addiu $t8, $t7, 1 -/* 01C854 8001BC54 A60E0000 */ sh $t6, ($s0) -/* 01C858 8001BC58 A6180006 */ sh $t8, 6($s0) -/* 01C85C 8001BC5C 10000075 */ b .L8001BE34 -/* 01C860 8001BC60 86020004 */ lh $v0, 4($s0) -glabel L8001BC64 -/* 01C864 8001BC64 86020004 */ lh $v0, 4($s0) -/* 01C868 8001BC68 284100F1 */ slti $at, $v0, 0xf1 -/* 01C86C 8001BC6C 54200072 */ bnel $at, $zero, .L8001BE38 -/* 01C870 8001BC70 28412710 */ slti $at, $v0, 0x2710 -/* 01C874 8001BC74 0C032B50 */ jal func_800CAD40 -/* 01C878 8001BC78 93A40033 */ lbu $a0, 0x33($sp) -/* 01C87C 8001BC7C A6000004 */ sh $zero, 4($s0) -/* 01C880 8001BC80 A6000000 */ sh $zero, ($s0) -/* 01C884 8001BC84 1000006B */ b .L8001BE34 -/* 01C888 8001BC88 86020004 */ lh $v0, 4($s0) -glabel L8001BC8C -/* 01C88C 8001BC8C 8FAC002C */ lw $t4, 0x2c($sp) -/* 01C890 8001BC90 2419001A */ li $t9, 26 -/* 01C894 8001BC94 8D8B000C */ lw $t3, 0xc($t4) -/* 01C898 8001BC98 356D2000 */ ori $t5, $t3, 0x2000 -/* 01C89C 8001BC9C AD8D000C */ sw $t5, 0xc($t4) -/* 01C8A0 8001BCA0 860E0006 */ lh $t6, 6($s0) -/* 01C8A4 8001BCA4 A6000004 */ sh $zero, 4($s0) -/* 01C8A8 8001BCA8 A6190000 */ sh $t9, ($s0) -/* 01C8AC 8001BCAC 25CF0001 */ addiu $t7, $t6, 1 -/* 01C8B0 8001BCB0 A60F0006 */ sh $t7, 6($s0) -/* 01C8B4 8001BCB4 1000005F */ b .L8001BE34 -/* 01C8B8 8001BCB8 86020004 */ lh $v0, 4($s0) -glabel L8001BCBC -/* 01C8BC 8001BCBC 8FB8002C */ lw $t8, 0x2c($sp) -/* 01C8C0 8001BCC0 8F0B00BC */ lw $t3, 0xbc($t8) -/* 01C8C4 8001BCC4 316D0200 */ andi $t5, $t3, 0x200 -/* 01C8C8 8001BCC8 55A00003 */ bnel $t5, $zero, .L8001BCD8 -/* 01C8CC 8001BCCC A6000004 */ sh $zero, 4($s0) -/* 01C8D0 8001BCD0 A6000000 */ sh $zero, ($s0) -/* 01C8D4 8001BCD4 A6000004 */ sh $zero, 4($s0) -.L8001BCD8: -/* 01C8D8 8001BCD8 10000056 */ b .L8001BE34 -/* 01C8DC 8001BCDC 86020004 */ lh $v0, 4($s0) -glabel L8001BCE0 -/* 01C8E0 8001BCE0 8FAC002C */ lw $t4, 0x2c($sp) -/* 01C8E4 8001BCE4 240F001C */ li $t7, 28 -/* 01C8E8 8001BCE8 8D99000C */ lw $t9, 0xc($t4) -/* 01C8EC 8001BCEC 372E0800 */ ori $t6, $t9, 0x800 -/* 01C8F0 8001BCF0 AD8E000C */ sw $t6, 0xc($t4) -/* 01C8F4 8001BCF4 86180006 */ lh $t8, 6($s0) -/* 01C8F8 8001BCF8 A6000004 */ sh $zero, 4($s0) -/* 01C8FC 8001BCFC A60F0000 */ sh $t7, ($s0) -/* 01C900 8001BD00 270B0001 */ addiu $t3, $t8, 1 -/* 01C904 8001BD04 A60B0006 */ sh $t3, 6($s0) -/* 01C908 8001BD08 1000004A */ b .L8001BE34 -/* 01C90C 8001BD0C 86020004 */ lh $v0, 4($s0) -glabel L8001BD10 -/* 01C910 8001BD10 8FAD002C */ lw $t5, 0x2c($sp) -/* 01C914 8001BD14 8DB900BC */ lw $t9, 0xbc($t5) -/* 01C918 8001BD18 00197000 */ sll $t6, $t9, 0 -/* 01C91C 8001BD1C 05C20003 */ bltzl $t6, .L8001BD2C -/* 01C920 8001BD20 A6000004 */ sh $zero, 4($s0) -/* 01C924 8001BD24 A6000000 */ sh $zero, ($s0) -/* 01C928 8001BD28 A6000004 */ sh $zero, 4($s0) -.L8001BD2C: -/* 01C92C 8001BD2C 10000041 */ b .L8001BE34 -/* 01C930 8001BD30 86020004 */ lh $v0, 4($s0) -glabel L8001BD34 -/* 01C934 8001BD34 8FAC002C */ lw $t4, 0x2c($sp) -/* 01C938 8001BD38 8D8F000C */ lw $t7, 0xc($t4) -/* 01C93C 8001BD3C 35F80200 */ ori $t8, $t7, 0x200 -/* 01C940 8001BD40 AD98000C */ sw $t8, 0xc($t4) -/* 01C944 8001BD44 860B0006 */ lh $t3, 6($s0) -/* 01C948 8001BD48 A6000004 */ sh $zero, 4($s0) -/* 01C94C 8001BD4C A6000000 */ sh $zero, ($s0) -/* 01C950 8001BD50 256D0001 */ addiu $t5, $t3, 1 -/* 01C954 8001BD54 A60D0006 */ sh $t5, 6($s0) -/* 01C958 8001BD58 10000036 */ b .L8001BE34 -/* 01C95C 8001BD5C 86020004 */ lh $v0, 4($s0) -glabel L8001BD60 -/* 01C960 8001BD60 86020004 */ lh $v0, 4($s0) -/* 01C964 8001BD64 8FB9002C */ lw $t9, 0x2c($sp) -/* 01C968 8001BD68 2841003D */ slti $at, $v0, 0x3d -/* 01C96C 8001BD6C 54200032 */ bnel $at, $zero, .L8001BE38 -/* 01C970 8001BD70 28412710 */ slti $at, $v0, 0x2710 -/* 01C974 8001BD74 8F2E000C */ lw $t6, 0xc($t9) -/* 01C978 8001BD78 2418001D */ li $t8, 29 -/* 01C97C 8001BD7C 35CF0200 */ ori $t7, $t6, 0x200 -/* 01C980 8001BD80 AF2F000C */ sw $t7, 0xc($t9) -/* 01C984 8001BD84 A6000004 */ sh $zero, 4($s0) -/* 01C988 8001BD88 A6180000 */ sh $t8, ($s0) -/* 01C98C 8001BD8C 10000029 */ b .L8001BE34 -/* 01C990 8001BD90 86020004 */ lh $v0, 4($s0) -glabel L8001BD94 -/* 01C994 8001BD94 86020004 */ lh $v0, 4($s0) -/* 01C998 8001BD98 8FAC002C */ lw $t4, 0x2c($sp) -/* 01C99C 8001BD9C 2841003D */ slti $at, $v0, 0x3d -/* 01C9A0 8001BDA0 54200025 */ bnel $at, $zero, .L8001BE38 -/* 01C9A4 8001BDA4 28412710 */ slti $at, $v0, 0x2710 -/* 01C9A8 8001BDA8 8D8B000C */ lw $t3, 0xc($t4) -/* 01C9AC 8001BDAC 240E001E */ li $t6, 30 -/* 01C9B0 8001BDB0 356D0200 */ ori $t5, $t3, 0x200 -/* 01C9B4 8001BDB4 AD8D000C */ sw $t5, 0xc($t4) -/* 01C9B8 8001BDB8 A6000004 */ sh $zero, 4($s0) -/* 01C9BC 8001BDBC A60E0000 */ sh $t6, ($s0) -/* 01C9C0 8001BDC0 1000001C */ b .L8001BE34 -/* 01C9C4 8001BDC4 86020004 */ lh $v0, 4($s0) -glabel L8001BDC8 -/* 01C9C8 8001BDC8 240F0021 */ li $t7, 33 -/* 01C9CC 8001BDCC A6000004 */ sh $zero, 4($s0) -/* 01C9D0 8001BDD0 24190258 */ li $t9, 600 -/* 01C9D4 8001BDD4 A60F0000 */ sh $t7, ($s0) -/* 01C9D8 8001BDD8 A619000E */ sh $t9, 0xe($s0) -/* 01C9DC 8001BDDC 10000015 */ b .L8001BE34 -/* 01C9E0 8001BDE0 86020004 */ lh $v0, 4($s0) -glabel L8001BDE4 -/* 01C9E4 8001BDE4 86020004 */ lh $v0, 4($s0) -/* 01C9E8 8001BDE8 2401003C */ li $at, 60 -/* 01C9EC 8001BDEC 8FAB002C */ lw $t3, 0x2c($sp) -/* 01C9F0 8001BDF0 0041001A */ div $zero, $v0, $at -/* 01C9F4 8001BDF4 0000C010 */ mfhi $t8 -/* 01C9F8 8001BDF8 5700000F */ bnel $t8, $zero, .L8001BE38 -/* 01C9FC 8001BDFC 28412710 */ slti $at, $v0, 0x2710 -/* 01CA00 8001BE00 8D6D000C */ lw $t5, 0xc($t3) -/* 01CA04 8001BE04 35AC0200 */ ori $t4, $t5, 0x200 -/* 01CA08 8001BE08 AD6C000C */ sw $t4, 0xc($t3) -/* 01CA0C 8001BE0C 860E000E */ lh $t6, 0xe($s0) -/* 01CA10 8001BE10 86020004 */ lh $v0, 4($s0) -/* 01CA14 8001BE14 01C2082A */ slt $at, $t6, $v0 -/* 01CA18 8001BE18 50200007 */ beql $at, $zero, .L8001BE38 -/* 01CA1C 8001BE1C 28412710 */ slti $at, $v0, 0x2710 -/* 01CA20 8001BE20 A6000004 */ sh $zero, 4($s0) -/* 01CA24 8001BE24 86020004 */ lh $v0, 4($s0) -/* 01CA28 8001BE28 10000002 */ b .L8001BE34 -/* 01CA2C 8001BE2C A6000000 */ sh $zero, ($s0) -.L8001BE30: -glabel L8001BE30 -/* 01CA30 8001BE30 86020004 */ lh $v0, 4($s0) -.L8001BE34: -/* 01CA34 8001BE34 28412710 */ slti $at, $v0, 0x2710 -.L8001BE38: -/* 01CA38 8001BE38 10200002 */ beqz $at, .L8001BE44 -/* 01CA3C 8001BE3C 244F0001 */ addiu $t7, $v0, 1 -/* 01CA40 8001BE40 A60F0004 */ sh $t7, 4($s0) -.L8001BE44: -/* 01CA44 8001BE44 8FB9002C */ lw $t9, 0x2c($sp) -/* 01CA48 8001BE48 3C018000 */ lui $at, (0x80002200 >> 16) # lui $at, 0x8000 -/* 01CA4C 8001BE4C 34212200 */ ori $at, (0x80002200 & 0xFFFF) # ori $at, $at, 0x2200 -/* 01CA50 8001BE50 8F3800BC */ lw $t8, 0xbc($t9) -/* 01CA54 8001BE54 03016824 */ and $t5, $t8, $at -/* 01CA58 8001BE58 51A00003 */ beql $t5, $zero, .L8001BE68 -/* 01CA5C 8001BE5C 8FBF0024 */ lw $ra, 0x24($sp) -/* 01CA60 8001BE60 A6000004 */ sh $zero, 4($s0) -.L8001BE64: -/* 01CA64 8001BE64 8FBF0024 */ lw $ra, 0x24($sp) -.L8001BE68: -/* 01CA68 8001BE68 8FB00020 */ lw $s0, 0x20($sp) -/* 01CA6C 8001BE6C 27BD0030 */ addiu $sp, $sp, 0x30 -/* 01CA70 8001BE70 03E00008 */ jr $ra -/* 01CA74 8001BE74 00000000 */ nop diff --git a/asm/non_matchings/cpu_vehicles_camera_path/func_800088D8.s b/asm/non_matchings/cpu_vehicles_camera_path/func_800088D8.s deleted file mode 100644 index c8f69b77b..000000000 --- a/asm/non_matchings/cpu_vehicles_camera_path/func_800088D8.s +++ /dev/null @@ -1,344 +0,0 @@ -glabel func_800088D8 -/* 0094D8 800088D8 27BDFFA8 */ addiu $sp, $sp, -0x58 -/* 0094DC 800088DC AFA5005C */ sw $a1, 0x5c($sp) -/* 0094E0 800088E0 00057400 */ sll $t6, $a1, 0x10 -/* 0094E4 800088E4 000E2C03 */ sra $a1, $t6, 0x10 -/* 0094E8 800088E8 3C0E8016 */ lui $t6, %hi(D_80163128) # $t6, 0x8016 -/* 0094EC 800088EC 00044080 */ sll $t0, $a0, 2 -/* 0094F0 800088F0 3C0F8016 */ lui $t7, %hi(D_80163150) # $t7, 0x8016 -/* 0094F4 800088F4 AFA60060 */ sw $a2, 0x60($sp) -/* 0094F8 800088F8 0006C400 */ sll $t8, $a2, 0x10 -/* 0094FC 800088FC 2402FFFF */ li $v0, -1 -/* 009500 80008900 25CE3128 */ addiu $t6, %lo(D_80163128) # addiu $t6, $t6, 0x3128 -/* 009504 80008904 25EF3150 */ addiu $t7, %lo(D_80163150) # addiu $t7, $t7, 0x3150 -/* 009508 80008908 00183403 */ sra $a2, $t8, 0x10 -/* 00950C 8000890C 010E6821 */ addu $t5, $t0, $t6 -/* 009510 80008910 010F6021 */ addu $t4, $t0, $t7 -/* 009514 80008914 ADA20000 */ sw $v0, ($t5) -/* 009518 80008918 AD820000 */ sw $v0, ($t4) -/* 00951C 8000891C 3C18800E */ lui $t8, %hi(gModeSelection) -/* 009520 80008920 8F18C53C */ lw $t8, %lo(gModeSelection)($t8) -/* 009524 80008924 24030001 */ li $v1, 1 -/* 009528 80008928 14780003 */ bne $v1, $t8, .L80008938 -/* 00952C 8000892C 00000000 */ nop -/* 009530 80008930 10000121 */ b .L80008DB8 -/* 009534 80008934 24020001 */ li $v0, 1 -.L80008938: -/* 009538 80008938 04A10003 */ bgez $a1, .L80008948 -/* 00953C 8000893C 28A10004 */ slti $at, $a1, 4 -/* 009540 80008940 1000011D */ b .L80008DB8 -/* 009544 80008944 24020001 */ li $v0, 1 -.L80008948: -/* 009548 80008948 14200002 */ bnez $at, .L80008954 -/* 00954C 8000894C 00045840 */ sll $t3, $a0, 1 -/* 009550 80008950 24050003 */ li $a1, 3 -.L80008954: -/* 009554 80008954 3C198016 */ lui $t9, %hi(D_80163330) # 0x8016 -/* 009558 80008958 032BC821 */ addu $t9, $t9, $t3 -/* 00955C 8000895C 97393330 */ lhu $t9, %lo(D_80163330)($t9) # 0x3330($t9) -/* 009560 80008960 000470C0 */ sll $t6, $a0, 3 -/* 009564 80008964 01C47023 */ subu $t6, $t6, $a0 -/* 009568 80008968 14790003 */ bne $v1, $t9, .L80008978 -/* 00956C 8000896C 000E7100 */ sll $t6, $t6, 4 -/* 009570 80008970 10000111 */ b .L80008DB8 -/* 009574 80008974 24020001 */ li $v0, 1 -.L80008978: -/* 009578 80008978 01C47023 */ subu $t6, $t6, $a0 -/* 00957C 8000897C 000E7080 */ sll $t6, $t6, 2 -/* 009580 80008980 01C47023 */ subu $t6, $t6, $a0 -/* 009584 80008984 3C0F800F */ lui $t7, %hi(gPlayers) # $t7, 0x800f -/* 009588 80008988 25EF6990 */ addiu $t7, %lo(gPlayers) # addiu $t7, $t7, 0x6990 -/* 00958C 8000898C 000E70C0 */ sll $t6, $t6, 3 -/* 009590 80008990 01CF4821 */ addu $t1, $t6, $t7 -/* 009594 80008994 95380000 */ lhu $t8, ($t1) -/* 009598 80008998 3C0E800E */ lui $t6, %hi(gCurrentCourseId) -/* 00959C 8000899C 33194000 */ andi $t9, $t8, 0x4000 -/* 0095A0 800089A0 13200003 */ beqz $t9, .L800089B0 -/* 0095A4 800089A4 00000000 */ nop -/* 0095A8 800089A8 10000103 */ b .L80008DB8 -/* 0095AC 800089AC 24020001 */ li $v0, 1 -.L800089B0: -/* 0095B0 800089B0 85CEC5A0 */ lh $t6, %lo(gCurrentCourseId)($t6) -/* 0095B4 800089B4 3C18800E */ lui $t8, %hi(D_800DCBB4) -/* 0095B8 800089B8 000550C0 */ sll $t2, $a1, 3 -/* 0095BC 800089BC 000E7880 */ sll $t7, $t6, 2 -/* 0095C0 800089C0 030FC021 */ addu $t8, $t8, $t7 -/* 0095C4 800089C4 8F18CBB4 */ lw $t8, %lo(D_800DCBB4)($t8) -/* 0095C8 800089C8 000AC840 */ sll $t9, $t2, 1 -/* 0095CC 800089CC 14C0008E */ bnez $a2, .L80008C08 -/* 0095D0 800089D0 03193821 */ addu $a3, $t8, $t9 -/* 0095D4 800089D4 3C0E800E */ lui $t6, %hi(gDemoMode) -/* 0095D8 800089D8 95CEC51C */ lhu $t6, %lo(gDemoMode)($t6) -/* 0095DC 800089DC 3C048016 */ lui $a0, %hi(gNumPathPointsTraversed) # $a0, 0x8016 -/* 0095E0 800089E0 24844450 */ addiu $a0, %lo(gNumPathPointsTraversed) # addiu $a0, $a0, 0x4450 -/* 0095E4 800089E4 146E003A */ bne $v1, $t6, .L80008AD0 -/* 0095E8 800089E8 0088C021 */ addu $t8, $a0, $t0 -/* 0095EC 800089EC 3C188016 */ lui $t8, %hi(D_80164378 + 0xE) # $t8, 0x8016 -/* 0095F0 800089F0 87184386 */ lh $t8, %lo(D_80164378 + 0xE)($t8) -/* 0095F4 800089F4 3C048016 */ lui $a0, %hi(gNumPathPointsTraversed) # $a0, 0x8016 -/* 0095F8 800089F8 24844450 */ addiu $a0, %lo(gNumPathPointsTraversed) # addiu $a0, $a0, 0x4450 -/* 0095FC 800089FC 0018C880 */ sll $t9, $t8, 2 -/* 009600 80008A00 00887821 */ addu $t7, $a0, $t0 -/* 009604 80008A04 00997021 */ addu $t6, $a0, $t9 -/* 009608 80008A08 85E20002 */ lh $v0, 2($t7) -/* 00960C 80008A0C 85C30002 */ lh $v1, 2($t6) -/* 009610 80008A10 29410018 */ slti $at, $t2, 0x18 -/* 009614 80008A14 00433023 */ subu $a2, $v0, $v1 -/* 009618 80008A18 04C10002 */ bgez $a2, .L80008A24 -/* 00961C 80008A1C 00C02825 */ move $a1, $a2 -/* 009620 80008A20 00062823 */ negu $a1, $a2 -.L80008A24: -/* 009624 80008A24 50200016 */ beql $at, $zero, .L80008A80 -/* 009628 80008A28 84E40000 */ lh $a0, ($a3) -/* 00962C 80008A2C 84E20000 */ lh $v0, ($a3) -/* 009630 80008A30 3C018016 */ lui $at, %hi(gLapCompletionPercentByPlayerId) -/* 009634 80008A34 00280821 */ addu $at, $at, $t0 -/* 009638 80008A38 84E30010 */ lh $v1, 0x10($a3) -/* 00963C 80008A3C C42044A8 */ lwc1 $f0, %lo(gLapCompletionPercentByPlayerId)($at) -/* 009640 80008A40 44822000 */ mtc1 $v0, $f4 -/* 009644 80008A44 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 009648 80008A48 44814000 */ mtc1 $at, $f8 -/* 00964C 80008A4C 468021A0 */ cvt.s.w $f6, $f4 -/* 009650 80008A50 44839000 */ mtc1 $v1, $f18 -/* 009654 80008A54 46004281 */ sub.s $f10, $f8, $f0 -/* 009658 80008A58 46809120 */ cvt.s.w $f4, $f18 -/* 00965C 80008A5C 460A3402 */ mul.s $f16, $f6, $f10 -/* 009660 80008A60 00000000 */ nop -/* 009664 80008A64 46002202 */ mul.s $f8, $f4, $f0 -/* 009668 80008A68 46104180 */ add.s $f6, $f8, $f16 -/* 00966C 80008A6C 4600328D */ trunc.w.s $f10, $f6 -/* 009670 80008A70 44045000 */ mfc1 $a0, $f10 -/* 009674 80008A74 10000002 */ b .L80008A80 -/* 009678 80008A78 00000000 */ nop -/* 00967C 80008A7C 84E40000 */ lh $a0, ($a3) -.L80008A80: -/* 009680 80008A80 0085082A */ slt $at, $a0, $a1 -/* 009684 80008A84 10200010 */ beqz $at, .L80008AC8 -/* 009688 80008A88 AD840000 */ sw $a0, ($t4) -/* 00968C 80008A8C 3C014190 */ li $at, 0x41900000 # 18.000000 -/* 009690 80008A90 44812000 */ mtc1 $at, $f4 -/* 009694 80008A94 C5320094 */ lwc1 $f18, 0x94($t1) -/* 009698 80008A98 3C014358 */ li $at, 0x43580000 # 216.000000 -/* 00969C 80008A9C 44818000 */ mtc1 $at, $f16 -/* 0096A0 80008AA0 46049203 */ div.s $f8, $f18, $f4 -/* 0096A4 80008AA4 3C0141A0 */ li $at, 0x41A00000 # 20.000000 -/* 0096A8 80008AA8 44815000 */ mtc1 $at, $f10 -/* 0096AC 80008AAC 46104182 */ mul.s $f6, $f8, $f16 -/* 0096B0 80008AB0 4606503E */ c.le.s $f10, $f6 -/* 0096B4 80008AB4 00000000 */ nop -/* 0096B8 80008AB8 45000003 */ bc1f .L80008AC8 -/* 0096BC 80008ABC 00000000 */ nop -/* 0096C0 80008AC0 100000BD */ b .L80008DB8 -/* 0096C4 80008AC4 00001025 */ move $v0, $zero -.L80008AC8: -/* 0096C8 80008AC8 100000BB */ b .L80008DB8 -/* 0096CC 80008ACC 24020001 */ li $v0, 1 -.L80008AD0: -/* 0096D0 80008AD0 3C0F8016 */ lui $t7, %hi(gPathCountByPathIndex) # $t7, 0x8016 -/* 0096D4 80008AD4 95EF45C8 */ lhu $t7, %lo(gPathCountByPathIndex)($t7) -/* 0096D8 80008AD8 87020002 */ lh $v0, 2($t8) -/* 0096DC 80008ADC 24010003 */ li $at, 3 -/* 0096E0 80008AE0 000FC040 */ sll $t8, $t7, 1 -/* 0096E4 80008AE4 0301001A */ div $zero, $t8, $at -/* 0096E8 80008AE8 3C0B8016 */ lui $t3, %hi(gBestRankedHumanPlayer) # $t3, 0x8016 -/* 0096EC 80008AEC 856B3478 */ lh $t3, %lo(gBestRankedHumanPlayer)($t3) -/* 0096F0 80008AF0 3C0D8016 */ lui $t5, %hi(gGPCurrentRaceRankByPlayerId + 0x2) # 0x8016 -/* 0096F4 80008AF4 000BC880 */ sll $t9, $t3, 2 -/* 0096F8 80008AF8 00997021 */ addu $t6, $a0, $t9 -/* 0096FC 80008AFC 85C30002 */ lh $v1, 2($t6) -/* 009700 80008B00 01B96821 */ addu $t5, $t5, $t9 -/* 009704 80008B04 0000C812 */ mflo $t9 -/* 009708 80008B08 00432823 */ subu $a1, $v0, $v1 -/* 00970C 80008B0C 0325082A */ slt $at, $t9, $a1 -/* 009710 80008B10 1020000B */ beqz $at, .L80008B40 -/* 009714 80008B14 85AD43BA */ lh $t5, %lo(gGPCurrentRaceRankByPlayerId + 0x2)($t5) # 0x43ba($t5) -/* 009718 80008B18 29A10006 */ slti $at, $t5, 6 -/* 00971C 80008B1C 14200008 */ bnez $at, .L80008B40 -/* 009720 80008B20 000D7040 */ sll $t6, $t5, 1 -/* 009724 80008B24 3C0F8016 */ lui $t7, %hi(gLapCountByPlayerId - 0x1A) # 0x8016 -/* 009728 80008B28 01EE7821 */ addu $t7, $t7, $t6 -/* 00972C 80008B2C 85EF4376 */ lh $t7, %lo(gLapCountByPlayerId - 0x1A)($t7) # 0x4376($t7) -/* 009730 80008B30 000FC080 */ sll $t8, $t7, 2 -/* 009734 80008B34 0098C821 */ addu $t9, $a0, $t8 -/* 009738 80008B38 87230002 */ lh $v1, 2($t9) -/* 00973C 80008B3C 00432823 */ subu $a1, $v0, $v1 -.L80008B40: -/* 009740 80008B40 04A10002 */ bgez $a1, .L80008B4C -/* 009744 80008B44 29410018 */ slti $at, $t2, 0x18 -/* 009748 80008B48 00052823 */ negu $a1, $a1 -.L80008B4C: -/* 00974C 80008B4C 10200015 */ beqz $at, .L80008BA4 -/* 009750 80008B50 3C0F800E */ lui $t7, %hi(gCCSelection) -/* 009754 80008B54 84E20000 */ lh $v0, ($a3) -/* 009758 80008B58 3C018016 */ lui $at, %hi(gLapCompletionPercentByPlayerId) -/* 00975C 80008B5C 00280821 */ addu $at, $at, $t0 -/* 009760 80008B60 84E30010 */ lh $v1, 0x10($a3) -/* 009764 80008B64 C42044A8 */ lwc1 $f0, %lo(gLapCompletionPercentByPlayerId)($at) -/* 009768 80008B68 44829000 */ mtc1 $v0, $f18 -/* 00976C 80008B6C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 009770 80008B70 44814000 */ mtc1 $at, $f8 -/* 009774 80008B74 46809120 */ cvt.s.w $f4, $f18 -/* 009778 80008B78 44835000 */ mtc1 $v1, $f10 -/* 00977C 80008B7C 46004401 */ sub.s $f16, $f8, $f0 -/* 009780 80008B80 468054A0 */ cvt.s.w $f18, $f10 -/* 009784 80008B84 46102182 */ mul.s $f6, $f4, $f16 -/* 009788 80008B88 00000000 */ nop -/* 00978C 80008B8C 46009202 */ mul.s $f8, $f18, $f0 -/* 009790 80008B90 46064100 */ add.s $f4, $f8, $f6 -/* 009794 80008B94 4600240D */ trunc.w.s $f16, $f4 -/* 009798 80008B98 44048000 */ mfc1 $a0, $f16 -/* 00979C 80008B9C 10000002 */ b .L80008BA8 -/* 0097A0 80008BA0 00000000 */ nop -.L80008BA4: -/* 0097A4 80008BA4 84E40000 */ lh $a0, ($a3) -.L80008BA8: -/* 0097A8 80008BA8 8DEFC548 */ lw $t7, %lo(gCCSelection)($t7) -/* 0097AC 80008BAC 25F80001 */ addiu $t8, $t7, 1 -/* 0097B0 80008BB0 03040019 */ multu $t8, $a0 -/* 0097B4 80008BB4 00002012 */ mflo $a0 -/* 0097B8 80008BB8 0085082A */ slt $at, $a0, $a1 -/* 0097BC 80008BBC 10200010 */ beqz $at, .L80008C00 -/* 0097C0 80008BC0 AD840000 */ sw $a0, ($t4) -/* 0097C4 80008BC4 3C014190 */ li $at, 0x41900000 # 18.000000 -/* 0097C8 80008BC8 44819000 */ mtc1 $at, $f18 -/* 0097CC 80008BCC C52A0094 */ lwc1 $f10, 0x94($t1) -/* 0097D0 80008BD0 3C014358 */ li $at, 0x43580000 # 216.000000 -/* 0097D4 80008BD4 44813000 */ mtc1 $at, $f6 -/* 0097D8 80008BD8 46125203 */ div.s $f8, $f10, $f18 -/* 0097DC 80008BDC 3C0141A0 */ li $at, 0x41A00000 # 20.000000 -/* 0097E0 80008BE0 44818000 */ mtc1 $at, $f16 -/* 0097E4 80008BE4 46064102 */ mul.s $f4, $f8, $f6 -/* 0097E8 80008BE8 4604803E */ c.le.s $f16, $f4 -/* 0097EC 80008BEC 00000000 */ nop -/* 0097F0 80008BF0 45000003 */ bc1f .L80008C00 -/* 0097F4 80008BF4 00000000 */ nop -/* 0097F8 80008BF8 1000006F */ b .L80008DB8 -/* 0097FC 80008BFC 00001025 */ move $v0, $zero -.L80008C00: -/* 009800 80008C00 1000006D */ b .L80008DB8 -/* 009804 80008C04 24020001 */ li $v0, 1 -.L80008C08: -/* 009808 80008C08 3C098016 */ lui $t1, %hi(D_80163344) # $t1, 0x8016 -/* 00980C 80008C0C 85293344 */ lh $t1, %lo(D_80163344)($t1) -/* 009810 80008C10 3C048016 */ lui $a0, %hi(gNumPathPointsTraversed) # $a0, 0x8016 -/* 009814 80008C14 24844450 */ addiu $a0, %lo(gNumPathPointsTraversed) # addiu $a0, $a0, 0x4450 -/* 009818 80008C18 00097080 */ sll $t6, $t1, 2 -/* 00981C 80008C1C 0088C821 */ addu $t9, $a0, $t0 -/* 009820 80008C20 008E7821 */ addu $t7, $a0, $t6 -/* 009824 80008C24 87220002 */ lh $v0, 2($t9) -/* 009828 80008C28 85E30002 */ lh $v1, 2($t7) -/* 00982C 80008C2C 3C048016 */ lui $a0, %hi(D_80163344) # $a0, 0x8016 -/* 009830 80008C30 24843344 */ addiu $a0, %lo(D_80163344) # addiu $a0, $a0, 0x3344 -/* 009834 80008C34 0062C023 */ subu $t8, $v1, $v0 -/* 009838 80008C38 AFB80010 */ sw $t8, 0x10($sp) -/* 00983C 80008C3C 07010002 */ bgez $t8, .L80008C48 -/* 009840 80008C40 03002825 */ move $a1, $t8 -/* 009844 80008C44 00182823 */ negu $a1, $t8 -.L80008C48: -/* 009848 80008C48 3C038016 */ lui $v1, %hi(D_80163348) # $v1, 0x8016 -/* 00984C 80008C4C 00001025 */ move $v0, $zero -/* 009850 80008C50 24633348 */ addiu $v1, %lo(D_80163348) # addiu $v1, $v1, 0x3348 -/* 009854 80008C54 948F0000 */ lhu $t7, ($a0) -.L80008C58: -/* 009858 80008C58 3C198016 */ lui $t9, %hi(gGPCurrentRaceRankByPlayerId) -/* 00985C 80008C5C 24840002 */ addiu $a0, $a0, 2 -/* 009860 80008C60 000FC080 */ sll $t8, $t7, 2 -/* 009864 80008C64 0338C821 */ addu $t9, $t9, $t8 -/* 009868 80008C68 8F3943B8 */ lw $t9, %lo(gGPCurrentRaceRankByPlayerId)($t9) -/* 00986C 80008C6C 0326082A */ slt $at, $t9, $a2 -/* 009870 80008C70 50200005 */ beql $at, $zero, .L80008C88 -/* 009874 80008C74 0083082B */ sltu $at, $a0, $v1 -/* 009878 80008C78 24420001 */ addiu $v0, $v0, 1 -/* 00987C 80008C7C 00027400 */ sll $t6, $v0, 0x10 -/* 009880 80008C80 000E1403 */ sra $v0, $t6, 0x10 -/* 009884 80008C84 0083082B */ sltu $at, $a0, $v1 -.L80008C88: -/* 009888 80008C88 5420FFF3 */ bnel $at, $zero, .L80008C58 -/* 00988C 80008C8C 948F0000 */ lhu $t7, ($a0) -/* 009890 80008C90 3C098019 */ lui $t1, %hi(gPlayerCount) # $t1, 0x8019 -/* 009894 80008C94 8129EDF3 */ lb $t1, %lo(gPlayerCount)($t1) -/* 009898 80008C98 3C188016 */ lui $t8, %hi(gGPCurrentRaceRankByPlayerId) -/* 00989C 80008C9C 00002025 */ move $a0, $zero -/* 0098A0 80008CA0 19200010 */ blez $t1, .L80008CE4 -/* 0098A4 80008CA4 270343B8 */ addiu $v1, $t8, %lo(gGPCurrentRaceRankByPlayerId) -/* 0098A8 80008CA8 0009C880 */ sll $t9, $t1, 2 -/* 0098AC 80008CAC 03237021 */ addu $t6, $t9, $v1 -/* 0098B0 80008CB0 AFAE0004 */ sw $t6, 4($sp) -/* 0098B4 80008CB4 8C6F0000 */ lw $t7, ($v1) -.L80008CB8: -/* 0098B8 80008CB8 8FAE0004 */ lw $t6, 4($sp) -/* 0098BC 80008CBC 01E6082A */ slt $at, $t7, $a2 -/* 0098C0 80008CC0 50200005 */ beql $at, $zero, .L80008CD8 -/* 0098C4 80008CC4 24630004 */ addiu $v1, $v1, 4 -/* 0098C8 80008CC8 24840001 */ addiu $a0, $a0, 1 -/* 0098CC 80008CCC 0004CC00 */ sll $t9, $a0, 0x10 -/* 0098D0 80008CD0 00192403 */ sra $a0, $t9, 0x10 -/* 0098D4 80008CD4 24630004 */ addiu $v1, $v1, 4 -.L80008CD8: -/* 0098D8 80008CD8 006E082B */ sltu $at, $v1, $t6 -/* 0098DC 80008CDC 5420FFF6 */ bnel $at, $zero, .L80008CB8 -/* 0098E0 80008CE0 8C6F0000 */ lw $t7, ($v1) -.L80008CE4: -/* 0098E4 80008CE4 00C2C823 */ subu $t9, $a2, $v0 -/* 0098E8 80008CE8 03244823 */ subu $t1, $t9, $a0 -/* 0098EC 80008CEC 0009C400 */ sll $t8, $t1, 0x10 -/* 0098F0 80008CF0 1C400003 */ bgtz $v0, .L80008D00 -/* 0098F4 80008CF4 00184C03 */ sra $t1, $t8, 0x10 -/* 0098F8 80008CF8 18800004 */ blez $a0, .L80008D0C -/* 0098FC 80008CFC 00000000 */ nop -.L80008D00: -/* 009900 80008D00 25290001 */ addiu $t1, $t1, 1 -/* 009904 80008D04 00097C00 */ sll $t7, $t1, 0x10 -/* 009908 80008D08 000F4C03 */ sra $t1, $t7, 0x10 -.L80008D0C: -/* 00990C 80008D0C 3C018016 */ lui $at, %hi(D_80164538) # 0x8016 -/* 009910 80008D10 002B0821 */ addu $at, $at, $t3 -/* 009914 80008D14 05200004 */ bltz $t1, .L80008D28 -/* 009918 80008D18 A4294538 */ sh $t1, %lo(D_80164538)($at) # 0x4538($at) -/* 00991C 80008D1C 29210008 */ slti $at, $t1, 8 -/* 009920 80008D20 54200004 */ bnel $at, $zero, .L80008D34 -/* 009924 80008D24 29410018 */ slti $at, $t2, 0x18 -.L80008D28: -/* 009928 80008D28 10000023 */ b .L80008DB8 -/* 00992C 80008D2C 00001025 */ move $v0, $zero -/* 009930 80008D30 29410018 */ slti $at, $t2, 0x18 -.L80008D34: -/* 009934 80008D34 10200017 */ beqz $at, .L80008D94 -/* 009938 80008D38 00097840 */ sll $t7, $t1, 1 -/* 00993C 80008D3C 0009C040 */ sll $t8, $t1, 1 -/* 009940 80008D40 00F83021 */ addu $a2, $a3, $t8 -/* 009944 80008D44 84C20000 */ lh $v0, ($a2) -/* 009948 80008D48 3C018016 */ lui $at, %hi(gLapCompletionPercentByPlayerId) -/* 00994C 80008D4C 00280821 */ addu $at, $at, $t0 -/* 009950 80008D50 84C30010 */ lh $v1, 0x10($a2) -/* 009954 80008D54 C42044A8 */ lwc1 $f0, %lo(gLapCompletionPercentByPlayerId)($at) -/* 009958 80008D58 44825000 */ mtc1 $v0, $f10 -/* 00995C 80008D5C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 009960 80008D60 44814000 */ mtc1 $at, $f8 -/* 009964 80008D64 468054A0 */ cvt.s.w $f18, $f10 -/* 009968 80008D68 44838000 */ mtc1 $v1, $f16 -/* 00996C 80008D6C 46004181 */ sub.s $f6, $f8, $f0 -/* 009970 80008D70 468082A0 */ cvt.s.w $f10, $f16 -/* 009974 80008D74 46069102 */ mul.s $f4, $f18, $f6 -/* 009978 80008D78 00000000 */ nop -/* 00997C 80008D7C 46005202 */ mul.s $f8, $f10, $f0 -/* 009980 80008D80 46044480 */ add.s $f18, $f8, $f4 -/* 009984 80008D84 4600918D */ trunc.w.s $f6, $f18 -/* 009988 80008D88 44043000 */ mfc1 $a0, $f6 -/* 00998C 80008D8C 10000003 */ b .L80008D9C -/* 009990 80008D90 00000000 */ nop -.L80008D94: -/* 009994 80008D94 00EFC821 */ addu $t9, $a3, $t7 -/* 009998 80008D98 87240000 */ lh $a0, ($t9) -.L80008D9C: -/* 00999C 80008D9C 0085082A */ slt $at, $a0, $a1 -/* 0099A0 80008DA0 ADA50000 */ sw $a1, ($t5) -/* 0099A4 80008DA4 10200003 */ beqz $at, .L80008DB4 -/* 0099A8 80008DA8 AD840000 */ sw $a0, ($t4) -/* 0099AC 80008DAC 10000002 */ b .L80008DB8 -/* 0099B0 80008DB0 24020001 */ li $v0, 1 -.L80008DB4: -/* 0099B4 80008DB4 00001025 */ move $v0, $zero -.L80008DB8: -/* 0099B8 80008DB8 03E00008 */ jr $ra -/* 0099BC 80008DBC 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/non_matchings/cpu_vehicles_camera_path/func_80017054.s b/asm/non_matchings/cpu_vehicles_camera_path/func_80017054.s deleted file mode 100644 index 4c1306c77..000000000 --- a/asm/non_matchings/cpu_vehicles_camera_path/func_80017054.s +++ /dev/null @@ -1,466 +0,0 @@ -.section .late_rodata - -glabel D_800ED270 -.double -10000.0 - -glabel D_800ED278 -.double 10000.0 - -glabel D_800ED280 -.double 10000.0 - -.section .text - -glabel func_80017054 -/* 017C54 80017054 00077080 */ sll $t6, $a3, 2 -/* 017C58 80017058 3C0F8016 */ lui $t7, %hi(D_80164648) # $t7, 0x8016 -/* 017C5C 8001705C 25EF4648 */ addiu $t7, %lo(D_80164648) # addiu $t7, $t7, 0x4648 -/* 017C60 80017060 3C018016 */ lui $at, %hi(D_80164658) -/* 017C64 80017064 002E0821 */ addu $at, $at, $t6 -/* 017C68 80017068 01CF4821 */ addu $t1, $t6, $t7 -/* 017C6C 8001706C C5220000 */ lwc1 $f2, ($t1) -/* 017C70 80017070 C4244658 */ lwc1 $f4, %lo(D_80164658)($at) -/* 017C74 80017074 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 017C78 80017078 44814000 */ mtc1 $at, $f8 -/* 017C7C 8001707C 46022181 */ sub.s $f6, $f4, $f2 -/* 017C80 80017080 27BDFF48 */ addiu $sp, $sp, -0xb8 -/* 017C84 80017084 3C188016 */ lui $t8, %hi(D_80163DD8) # $t8, 0x8016 -/* 017C88 80017088 AFA500BC */ sw $a1, 0xbc($sp) -/* 017C8C 8001708C 46083282 */ mul.s $f10, $f6, $f8 -/* 017C90 80017090 27183DD8 */ addiu $t8, %lo(D_80163DD8) # addiu $t8, $t8, 0x3dd8 -/* 017C94 80017094 01D82821 */ addu $a1, $t6, $t8 -/* 017C98 80017098 8CAA0000 */ lw $t2, ($a1) -/* 017C9C 8001709C AFBF0024 */ sw $ra, 0x24($sp) -/* 017CA0 800170A0 AFB00020 */ sw $s0, 0x20($sp) -/* 017CA4 800170A4 AFA600C0 */ sw $a2, 0xc0($sp) -/* 017CA8 800170A8 460A1100 */ add.s $f4, $f2, $f10 -/* 017CAC 800170AC AFA700C4 */ sw $a3, 0xc4($sp) -/* 017CB0 800170B0 848200AE */ lh $v0, 0xae($a0) -/* 017CB4 800170B4 01C01825 */ move $v1, $t6 -/* 017CB8 800170B8 3C0F8016 */ lui $t7, %hi(gNearestPathPointByCameraId) # $t7, 0x8016 -/* 017CBC 800170BC E5240000 */ swc1 $f4, ($t1) -/* 017CC0 800170C0 3C0C8016 */ lui $t4, %hi(gPathCountByPathIndex) # 0x8016 -/* 017CC4 800170C4 3C018016 */ lui $at, %hi(D_80163238) # $at, 0x8016 -/* 017CC8 800170C8 25EF4668 */ addiu $t7, %lo(gNearestPathPointByCameraId) # addiu $t7, $t7, 0x4668 -/* 017CCC 800170CC 00077040 */ sll $t6, $a3, 1 -/* 017CD0 800170D0 000AC840 */ sll $t9, $t2, 1 -/* 017CD4 800170D4 01996021 */ addu $t4, $t4, $t9 -/* 017CD8 800170D8 01CF4021 */ addu $t0, $t6, $t7 -/* 017CDC 800170DC AC223238 */ sw $v0, %lo(D_80163238)($at) -/* 017CE0 800170E0 958C45C8 */ lhu $t4, %lo(gPathCountByPathIndex)($t4) # 0x45c8($t4) -/* 017CE4 800170E4 85070000 */ lh $a3, ($t0) -/* 017CE8 800170E8 00808025 */ move $s0, $a0 -/* 017CEC 800170EC AFAC0058 */ sw $t4, 0x58($sp) -/* 017CF0 800170F0 A7A70056 */ sh $a3, 0x56($sp) -/* 017CF4 800170F4 8C860008 */ lw $a2, 8($a0) -/* 017CF8 800170F8 C48E0004 */ lwc1 $f14, 4($a0) -/* 017CFC 800170FC C48C0000 */ lwc1 $f12, ($a0) -/* 017D00 80017100 AFA90048 */ sw $t1, 0x48($sp) -/* 017D04 80017104 AFA80040 */ sw $t0, 0x40($sp) -/* 017D08 80017108 AFA50044 */ sw $a1, 0x44($sp) -/* 017D0C 8001710C AFA3004C */ sw $v1, 0x4c($sp) -/* 017D10 80017110 AFAA005C */ sw $t2, 0x5c($sp) -/* 017D14 80017114 0C0034CF */ jal func_8000D33C -/* 017D18 80017118 AFAA0010 */ sw $t2, 0x10($sp) -/* 017D1C 8001711C 8FA90040 */ lw $t1, 0x40($sp) -/* 017D20 80017120 3C18800E */ lui $t8, %hi(gCurrentCourseId) -/* 017D24 80017124 24010004 */ li $at, 4 -/* 017D28 80017128 A5220000 */ sh $v0, ($t1) -/* 017D2C 8001712C 8718C5A0 */ lh $t8, %lo(gCurrentCourseId)($t8) -/* 017D30 80017130 57010018 */ bnel $t8, $at, .L80017194 -/* 017D34 80017134 8FA80058 */ lw $t0, 0x58($sp) -/* 017D38 80017138 85270000 */ lh $a3, ($t1) -/* 017D3C 8001713C 87B90056 */ lh $t9, 0x56($sp) -/* 017D40 80017140 53270014 */ beql $t9, $a3, .L80017194 -/* 017D44 80017144 8FA80058 */ lw $t0, 0x58($sp) -/* 017D48 80017148 24010001 */ li $at, 1 -/* 017D4C 8001714C 54E10011 */ bnel $a3, $at, .L80017194 -/* 017D50 80017150 8FA80058 */ lw $t0, 0x58($sp) -/* 017D54 80017154 0C0ADF8D */ jal random_int -/* 017D58 80017158 24040004 */ li $a0, 4 -/* 017D5C 8001715C 8FAC0044 */ lw $t4, 0x44($sp) -/* 017D60 80017160 AD820000 */ sw $v0, ($t4) -/* 017D64 80017164 AFA2005C */ sw $v0, 0x5c($sp) -/* 017D68 80017168 8FAD0040 */ lw $t5, 0x40($sp) -/* 017D6C 8001716C 8E060008 */ lw $a2, 8($s0) -/* 017D70 80017170 C60E0004 */ lwc1 $f14, 4($s0) -/* 017D74 80017174 C60C0000 */ lwc1 $f12, ($s0) -/* 017D78 80017178 85A70000 */ lh $a3, ($t5) -/* 017D7C 8001717C 0C0034CF */ jal func_8000D33C -/* 017D80 80017180 AFA20010 */ sw $v0, 0x10($sp) -/* 017D84 80017184 8FAE0040 */ lw $t6, 0x40($sp) -/* 017D88 80017188 A5C20000 */ sh $v0, ($t6) -/* 017D8C 8001718C 8FA90040 */ lw $t1, 0x40($sp) -/* 017D90 80017190 8FA80058 */ lw $t0, 0x58($sp) -.L80017194: -/* 017D94 80017194 85270000 */ lh $a3, ($t1) -/* 017D98 80017198 8FAE004C */ lw $t6, 0x4c($sp) -/* 017D9C 8001719C 87A6005E */ lh $a2, 0x5e($sp) -/* 017DA0 800171A0 24EF000A */ addiu $t7, $a3, 0xa -/* 017DA4 800171A4 01E8001A */ div $zero, $t7, $t0 -/* 017DA8 800171A8 24EC000B */ addiu $t4, $a3, 0xb -/* 017DAC 800171AC 00001010 */ mfhi $v0 -/* 017DB0 800171B0 0002C400 */ sll $t8, $v0, 0x10 -/* 017DB4 800171B4 15000002 */ bnez $t0, .L800171C0 -/* 017DB8 800171B8 00000000 */ nop -/* 017DBC 800171BC 0007000D */ break 7 -.L800171C0: -/* 017DC0 800171C0 2401FFFF */ li $at, -1 -/* 017DC4 800171C4 15010004 */ bne $t0, $at, .L800171D8 -/* 017DC8 800171C8 3C018000 */ lui $at, 0x8000 -/* 017DCC 800171CC 15E10002 */ bne $t7, $at, .L800171D8 -/* 017DD0 800171D0 00000000 */ nop -/* 017DD4 800171D4 0006000D */ break 6 -.L800171D8: -/* 017DD8 800171D8 0188001A */ div $zero, $t4, $t0 -/* 017DDC 800171DC 3C0F8016 */ lui $t7, %hi(D_80164688) # $t7, 0x8016 -/* 017DE0 800171E0 0018CC03 */ sra $t9, $t8, 0x10 -/* 017DE4 800171E4 25EF4688 */ addiu $t7, %lo(D_80164688) # addiu $t7, $t7, 0x4688 -/* 017DE8 800171E8 03201025 */ move $v0, $t9 -/* 017DEC 800171EC 00006810 */ mfhi $t5 -/* 017DF0 800171F0 01CF1821 */ addu $v1, $t6, $t7 -/* 017DF4 800171F4 15000002 */ bnez $t0, .L80017200 -/* 017DF8 800171F8 00000000 */ nop -/* 017DFC 800171FC 0007000D */ break 7 -.L80017200: -/* 017E00 80017200 2401FFFF */ li $at, -1 -/* 017E04 80017204 15010004 */ bne $t0, $at, .L80017218 -/* 017E08 80017208 3C018000 */ lui $at, 0x8000 -/* 017E0C 8001720C 15810002 */ bne $t4, $at, .L80017218 -/* 017E10 80017210 00000000 */ nop -/* 017E14 80017214 0006000D */ break 6 -.L80017218: -/* 017E18 80017218 A7AD006C */ sh $t5, 0x6c($sp) -/* 017E1C 8001721C 8C650000 */ lw $a1, ($v1) -/* 017E20 80017220 AFA30044 */ sw $v1, 0x44($sp) -/* 017E24 80017224 3044FFFF */ andi $a0, $v0, 0xffff -/* 017E28 80017228 0C002EF6 */ jal set_track_offset_position -/* 017E2C 8001722C AFA6003C */ sw $a2, 0x3c($sp) -/* 017E30 80017230 3C038016 */ lui $v1, %hi(gOffsetPosition) # $v1, 0x8016 -/* 017E34 80017234 24632FA0 */ addiu $v1, %lo(gOffsetPosition) # addiu $v1, $v1, 0x2fa0 -/* 017E38 80017238 C4660000 */ lwc1 $f6, ($v1) -/* 017E3C 8001723C 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 -/* 017E40 80017240 44810800 */ mtc1 $at, $f1 -/* 017E44 80017244 44800000 */ mtc1 $zero, $f0 -/* 017E48 80017248 46003221 */ cvt.d.s $f8, $f6 -/* 017E4C 8001724C C4660008 */ lwc1 $f6, 8($v1) -/* 017E50 80017250 46204282 */ mul.d $f10, $f8, $f0 -/* 017E54 80017254 8FB80044 */ lw $t8, 0x44($sp) -/* 017E58 80017258 46003221 */ cvt.d.s $f8, $f6 -/* 017E5C 8001725C 97A4006C */ lhu $a0, 0x6c($sp) -/* 017E60 80017260 87A6003E */ lh $a2, 0x3e($sp) -/* 017E64 80017264 46205120 */ cvt.s.d $f4, $f10 -/* 017E68 80017268 46204282 */ mul.d $f10, $f8, $f0 -/* 017E6C 8001726C E7A4008C */ swc1 $f4, 0x8c($sp) -/* 017E70 80017270 46205120 */ cvt.s.d $f4, $f10 -/* 017E74 80017274 E7A40084 */ swc1 $f4, 0x84($sp) -/* 017E78 80017278 0C002EF6 */ jal set_track_offset_position -/* 017E7C 8001727C 8F050000 */ lw $a1, ($t8) -/* 017E80 80017280 3C038016 */ lui $v1, %hi(gOffsetPosition) # $v1, 0x8016 -/* 017E84 80017284 24632FA0 */ addiu $v1, %lo(gOffsetPosition) # addiu $v1, $v1, 0x2fa0 -/* 017E88 80017288 C46A0000 */ lwc1 $f10, ($v1) -/* 017E8C 8001728C C7A6008C */ lwc1 $f6, 0x8c($sp) -/* 017E90 80017290 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 -/* 017E94 80017294 44810800 */ mtc1 $at, $f1 -/* 017E98 80017298 44800000 */ mtc1 $zero, $f0 -/* 017E9C 8001729C 46005121 */ cvt.d.s $f4, $f10 -/* 017EA0 800172A0 46003221 */ cvt.d.s $f8, $f6 -/* 017EA4 800172A4 46202182 */ mul.d $f6, $f4, $f0 -/* 017EA8 800172A8 8FAB0058 */ lw $t3, 0x58($sp) -/* 017EAC 800172AC 8FB90040 */ lw $t9, 0x40($sp) -/* 017EB0 800172B0 87A6003E */ lh $a2, 0x3e($sp) -/* 017EB4 800172B4 46264280 */ add.d $f10, $f8, $f6 -/* 017EB8 800172B8 C7A80084 */ lwc1 $f8, 0x84($sp) -/* 017EBC 800172BC 46205120 */ cvt.s.d $f4, $f10 -/* 017EC0 800172C0 C46A0008 */ lwc1 $f10, 8($v1) -/* 017EC4 800172C4 460041A1 */ cvt.d.s $f6, $f8 -/* 017EC8 800172C8 E7A4008C */ swc1 $f4, 0x8c($sp) -/* 017ECC 800172CC 46005121 */ cvt.d.s $f4, $f10 -/* 017ED0 800172D0 46202202 */ mul.d $f8, $f4, $f0 -/* 017ED4 800172D4 46283280 */ add.d $f10, $f6, $f8 -/* 017ED8 800172D8 46205120 */ cvt.s.d $f4, $f10 -/* 017EDC 800172DC E7A40084 */ swc1 $f4, 0x84($sp) -/* 017EE0 800172E0 87270000 */ lh $a3, ($t9) -/* 017EE4 800172E4 24EC0005 */ addiu $t4, $a3, 5 -/* 017EE8 800172E8 018B001A */ div $zero, $t4, $t3 -/* 017EEC 800172EC 24EF0006 */ addiu $t7, $a3, 6 -/* 017EF0 800172F0 00001010 */ mfhi $v0 -/* 017EF4 800172F4 00026C00 */ sll $t5, $v0, 0x10 -/* 017EF8 800172F8 15600002 */ bnez $t3, .L80017304 -/* 017EFC 800172FC 00000000 */ nop -/* 017F00 80017300 0007000D */ break 7 -.L80017304: -/* 017F04 80017304 2401FFFF */ li $at, -1 -/* 017F08 80017308 15610004 */ bne $t3, $at, .L8001731C -/* 017F0C 8001730C 3C018000 */ lui $at, 0x8000 -/* 017F10 80017310 15810002 */ bne $t4, $at, .L8001731C -/* 017F14 80017314 00000000 */ nop -/* 017F18 80017318 0006000D */ break 6 -.L8001731C: -/* 017F1C 8001731C 01EB001A */ div $zero, $t7, $t3 -/* 017F20 80017320 8FAC005C */ lw $t4, 0x5c($sp) -/* 017F24 80017324 000D7403 */ sra $t6, $t5, 0x10 -/* 017F28 80017328 01C01025 */ move $v0, $t6 -/* 017F2C 8001732C 3C0E8016 */ lui $t6, %hi(gTrackPaths) # $t6, 0x8016 -/* 017F30 80017330 00004810 */ mfhi $t1 -/* 017F34 80017334 25CE4550 */ addiu $t6, %lo(gTrackPaths) # addiu $t6, $t6, 0x4550 -/* 017F38 80017338 000C6880 */ sll $t5, $t4, 2 -/* 017F3C 8001733C 0009C400 */ sll $t8, $t1, 0x10 -/* 017F40 80017340 01AE5021 */ addu $t2, $t5, $t6 -/* 017F44 80017344 8D480000 */ lw $t0, ($t2) -/* 017F48 80017348 0018CC03 */ sra $t9, $t8, 0x10 -/* 017F4C 8001734C 15600002 */ bnez $t3, .L80017358 -/* 017F50 80017350 00000000 */ nop -/* 017F54 80017354 0007000D */ break 7 -.L80017358: -/* 017F58 80017358 2401FFFF */ li $at, -1 -/* 017F5C 8001735C 15610004 */ bne $t3, $at, .L80017370 -/* 017F60 80017360 3C018000 */ lui $at, 0x8000 -/* 017F64 80017364 15E10002 */ bne $t7, $at, .L80017370 -/* 017F68 80017368 00000000 */ nop -/* 017F6C 8001736C 0006000D */ break 6 -.L80017370: -/* 017F70 80017370 001978C0 */ sll $t7, $t9, 3 -/* 017F74 80017374 03204825 */ move $t1, $t9 -/* 017F78 80017378 010FC021 */ addu $t8, $t0, $t7 -/* 017F7C 8001737C 87190002 */ lh $t9, 2($t8) -/* 017F80 80017380 24F80001 */ addiu $t8, $a3, 1 -/* 017F84 80017384 030B001A */ div $zero, $t8, $t3 -/* 017F88 80017388 000260C0 */ sll $t4, $v0, 3 -/* 017F8C 8001738C 010C6821 */ addu $t5, $t0, $t4 -/* 017F90 80017390 85AE0002 */ lh $t6, 2($t5) -/* 017F94 80017394 00001010 */ mfhi $v0 -/* 017F98 80017398 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 017F9C 8001739C 032E7821 */ addu $t7, $t9, $t6 -/* 017FA0 800173A0 24F90002 */ addiu $t9, $a3, 2 -/* 017FA4 800173A4 032B001A */ div $zero, $t9, $t3 -/* 017FA8 800173A8 448F3000 */ mtc1 $t7, $f6 -/* 017FAC 800173AC 44815000 */ mtc1 $at, $f10 -/* 017FB0 800173B0 00026400 */ sll $t4, $v0, 0x10 -/* 017FB4 800173B4 46803220 */ cvt.s.w $f8, $f6 -/* 017FB8 800173B8 000C6C03 */ sra $t5, $t4, 0x10 -/* 017FBC 800173BC 01A01025 */ move $v0, $t5 -/* 017FC0 800173C0 00007810 */ mfhi $t7 -/* 017FC4 800173C4 3044FFFF */ andi $a0, $v0, 0xffff -/* 017FC8 800173C8 460A4102 */ mul.s $f4, $f8, $f10 -/* 017FCC 800173CC E7A40088 */ swc1 $f4, 0x88($sp) -/* 017FD0 800173D0 15600002 */ bnez $t3, .L800173DC -/* 017FD4 800173D4 00000000 */ nop -/* 017FD8 800173D8 0007000D */ break 7 -.L800173DC: -/* 017FDC 800173DC 2401FFFF */ li $at, -1 -/* 017FE0 800173E0 15610004 */ bne $t3, $at, .L800173F4 -/* 017FE4 800173E4 3C018000 */ lui $at, 0x8000 -/* 017FE8 800173E8 17010002 */ bne $t8, $at, .L800173F4 -/* 017FEC 800173EC 00000000 */ nop -/* 017FF0 800173F0 0006000D */ break 6 -.L800173F4: -/* 017FF4 800173F4 8FB80044 */ lw $t8, 0x44($sp) -/* 017FF8 800173F8 15600002 */ bnez $t3, .L80017404 -/* 017FFC 800173FC 00000000 */ nop -/* 018000 80017400 0007000D */ break 7 -.L80017404: -/* 018004 80017404 2401FFFF */ li $at, -1 -/* 018008 80017408 15610004 */ bne $t3, $at, .L8001741C -/* 01800C 8001740C 3C018000 */ lui $at, 0x8000 -/* 018010 80017410 17210002 */ bne $t9, $at, .L8001741C -/* 018014 80017414 00000000 */ nop -/* 018018 80017418 0006000D */ break 6 -.L8001741C: -/* 01801C 8001741C 8F050000 */ lw $a1, ($t8) -/* 018020 80017420 AFAA002C */ sw $t2, 0x2c($sp) -/* 018024 80017424 A7AF006C */ sh $t7, 0x6c($sp) -/* 018028 80017428 0C002EF6 */ jal set_track_offset_position -/* 01802C 8001742C A7A2006E */ sh $v0, 0x6e($sp) -/* 018030 80017430 3C038016 */ lui $v1, %hi(gOffsetPosition) # $v1, 0x8016 -/* 018034 80017434 24632FA0 */ addiu $v1, %lo(gOffsetPosition) # addiu $v1, $v1, 0x2fa0 -/* 018038 80017438 C4660000 */ lwc1 $f6, ($v1) -/* 01803C 8001743C 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 -/* 018040 80017440 44810800 */ mtc1 $at, $f1 -/* 018044 80017444 44800000 */ mtc1 $zero, $f0 -/* 018048 80017448 C4640008 */ lwc1 $f4, 8($v1) -/* 01804C 8001744C 46003221 */ cvt.d.s $f8, $f6 -/* 018050 80017450 8FAC0044 */ lw $t4, 0x44($sp) -/* 018054 80017454 46204282 */ mul.d $f10, $f8, $f0 -/* 018058 80017458 460021A1 */ cvt.d.s $f6, $f4 -/* 01805C 8001745C 8D850000 */ lw $a1, ($t4) -/* 018060 80017460 97A4006C */ lhu $a0, 0x6c($sp) -/* 018064 80017464 46203202 */ mul.d $f8, $f6, $f0 -/* 018068 80017468 87A6003E */ lh $a2, 0x3e($sp) -/* 01806C 8001746C 462053A0 */ cvt.s.d $f14, $f10 -/* 018070 80017470 46204420 */ cvt.s.d $f16, $f8 -/* 018074 80017474 E7AE0098 */ swc1 $f14, 0x98($sp) -/* 018078 80017478 0C002EF6 */ jal set_track_offset_position -/* 01807C 8001747C E7B00090 */ swc1 $f16, 0x90($sp) -/* 018080 80017480 3C038016 */ lui $v1, %hi(gOffsetPosition) # $v1, 0x8016 -/* 018084 80017484 24632FA0 */ addiu $v1, %lo(gOffsetPosition) # addiu $v1, $v1, 0x2fa0 -/* 018088 80017488 C4640000 */ lwc1 $f4, ($v1) -/* 01808C 8001748C 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 -/* 018090 80017490 44810800 */ mtc1 $at, $f1 -/* 018094 80017494 44800000 */ mtc1 $zero, $f0 -/* 018098 80017498 460021A1 */ cvt.d.s $f6, $f4 -/* 01809C 8001749C C7AE0098 */ lwc1 $f14, 0x98($sp) -/* 0180A0 800174A0 46203202 */ mul.d $f8, $f6, $f0 -/* 0180A4 800174A4 8FAD002C */ lw $t5, 0x2c($sp) -/* 0180A8 800174A8 460072A1 */ cvt.d.s $f10, $f14 -/* 0180AC 800174AC 87A2006E */ lh $v0, 0x6e($sp) -/* 0180B0 800174B0 87B9006C */ lh $t9, 0x6c($sp) -/* 0180B4 800174B4 8DA80000 */ lw $t0, ($t5) -/* 0180B8 800174B8 000260C0 */ sll $t4, $v0, 3 -/* 0180BC 800174BC 001970C0 */ sll $t6, $t9, 3 -/* 0180C0 800174C0 46285100 */ add.d $f4, $f10, $f8 -/* 0180C4 800174C4 C46A0008 */ lwc1 $f10, 8($v1) -/* 0180C8 800174C8 010E7821 */ addu $t7, $t0, $t6 -/* 0180CC 800174CC 010C6821 */ addu $t5, $t0, $t4 -/* 0180D0 800174D0 46005221 */ cvt.d.s $f8, $f10 -/* 0180D4 800174D4 462023A0 */ cvt.s.d $f14, $f4 -/* 0180D8 800174D8 46204102 */ mul.d $f4, $f8, $f0 -/* 0180DC 800174DC 85B90002 */ lh $t9, 2($t5) -/* 0180E0 800174E0 85F80002 */ lh $t8, 2($t7) -/* 0180E4 800174E4 C7B00090 */ lwc1 $f16, 0x90($sp) -/* 0180E8 800174E8 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0180EC 800174EC 03197021 */ addu $t6, $t8, $t9 -/* 0180F0 800174F0 448E4000 */ mtc1 $t6, $f8 -/* 0180F4 800174F4 460081A1 */ cvt.d.s $f6, $f16 -/* 0180F8 800174F8 8FA7004C */ lw $a3, 0x4c($sp) -/* 0180FC 800174FC 46243280 */ add.d $f10, $f6, $f4 -/* 018100 80017500 44812000 */ mtc1 $at, $f4 -/* 018104 80017504 3C0F8016 */ lui $t7, %hi(D_801645F8) # $t7, 0x8016 -/* 018108 80017508 468041A0 */ cvt.s.w $f6, $f8 -/* 01810C 8001750C 25EF45F8 */ addiu $t7, %lo(D_801645F8) # addiu $t7, $t7, 0x45f8 -/* 018110 80017510 3C0C8016 */ lui $t4, %hi(D_80164618) # $t4, 0x8016 -/* 018114 80017514 00EF2021 */ addu $a0, $a3, $t7 -/* 018118 80017518 C4880000 */ lwc1 $f8, ($a0) -/* 01811C 8001751C 46205420 */ cvt.s.d $f16, $f10 -/* 018120 80017520 46043282 */ mul.s $f10, $f6, $f4 -/* 018124 80017524 258C4618 */ addiu $t4, %lo(D_80164618) # addiu $t4, $t4, 0x4618 -/* 018128 80017528 00EC2821 */ addu $a1, $a3, $t4 -/* 01812C 8001752C C4A60000 */ lwc1 $f6, ($a1) -/* 018130 80017530 3C0D8016 */ lui $t5, %hi(D_80164638) # $t5, 0x8016 -/* 018134 80017534 46087481 */ sub.s $f18, $f14, $f8 -/* 018138 80017538 25AD4638 */ addiu $t5, %lo(D_80164638) # addiu $t5, $t5, 0x4638 -/* 01813C 8001753C E7AA0094 */ swc1 $f10, 0x94($sp) -/* 018140 80017540 46065081 */ sub.s $f2, $f10, $f6 -/* 018144 80017544 00ED3021 */ addu $a2, $a3, $t5 -/* 018148 80017548 46129282 */ mul.s $f10, $f18, $f18 -/* 01814C 8001754C C4C40000 */ lwc1 $f4, ($a2) -/* 018150 80017550 AFA6003C */ sw $a2, 0x3c($sp) -/* 018154 80017554 46021182 */ mul.s $f6, $f2, $f2 -/* 018158 80017558 E7A2007C */ swc1 $f2, 0x7c($sp) -/* 01815C 8001755C 46048201 */ sub.s $f8, $f16, $f4 -/* 018160 80017560 E7B20080 */ swc1 $f18, 0x80($sp) -/* 018164 80017564 AFA50040 */ sw $a1, 0x40($sp) -/* 018168 80017568 AFA40044 */ sw $a0, 0x44($sp) -/* 01816C 8001756C E7A80078 */ swc1 $f8, 0x78($sp) -/* 018170 80017570 C7A80078 */ lwc1 $f8, 0x78($sp) -/* 018174 80017574 46065100 */ add.s $f4, $f10, $f6 -/* 018178 80017578 46084282 */ mul.s $f10, $f8, $f8 -/* 01817C 8001757C 0C033850 */ jal sqrtf -/* 018180 80017580 460A2300 */ add.s $f12, $f4, $f10 -/* 018184 80017584 44803800 */ mtc1 $zero, $f7 -/* 018188 80017588 44803000 */ mtc1 $zero, $f6 -/* 01818C 8001758C 46000221 */ cvt.d.s $f8, $f0 -/* 018190 80017590 8FA40044 */ lw $a0, 0x44($sp) -/* 018194 80017594 46283032 */ c.eq.d $f6, $f8 -/* 018198 80017598 8FA50040 */ lw $a1, 0x40($sp) -/* 01819C 8001759C 8FA6003C */ lw $a2, 0x3c($sp) -/* 0181A0 800175A0 C7B20080 */ lwc1 $f18, 0x80($sp) -/* 0181A4 800175A4 45010013 */ bc1t .L800175F4 -/* 0181A8 800175A8 3C01800F */ lui $at, %hi(D_800ED270) -/* 0181AC 800175AC 8FB80048 */ lw $t8, 0x48($sp) -/* 0181B0 800175B0 C7A8007C */ lwc1 $f8, 0x7c($sp) -/* 0181B4 800175B4 C4860000 */ lwc1 $f6, ($a0) -/* 0181B8 800175B8 C7020000 */ lwc1 $f2, ($t8) -/* 0181BC 800175BC 46121102 */ mul.s $f4, $f2, $f18 -/* 0181C0 800175C0 46002283 */ div.s $f10, $f4, $f0 -/* 0181C4 800175C4 46081102 */ mul.s $f4, $f2, $f8 -/* 0181C8 800175C8 46065380 */ add.s $f14, $f10, $f6 -/* 0181CC 800175CC C4A60000 */ lwc1 $f6, ($a1) -/* 0181D0 800175D0 46002283 */ div.s $f10, $f4, $f0 -/* 0181D4 800175D4 C7A40078 */ lwc1 $f4, 0x78($sp) -/* 0181D8 800175D8 46065200 */ add.s $f8, $f10, $f6 -/* 0181DC 800175DC 46041282 */ mul.s $f10, $f2, $f4 -/* 0181E0 800175E0 E7A80094 */ swc1 $f8, 0x94($sp) -/* 0181E4 800175E4 C4C80000 */ lwc1 $f8, ($a2) -/* 0181E8 800175E8 46005183 */ div.s $f6, $f10, $f0 -/* 0181EC 800175EC 10000005 */ b .L80017604 -/* 0181F0 800175F0 46083400 */ add.s $f16, $f6, $f8 -.L800175F4: -/* 0181F4 800175F4 C4A40000 */ lwc1 $f4, ($a1) -/* 0181F8 800175F8 C48E0000 */ lwc1 $f14, ($a0) -/* 0181FC 800175FC C4D00000 */ lwc1 $f16, ($a2) -/* 018200 80017600 E7A40094 */ swc1 $f4, 0x94($sp) -.L80017604: -/* 018204 80017604 D422D270 */ ldc1 $f2, %lo(D_800ED270)($at) -/* 018208 80017608 46007021 */ cvt.d.s $f0, $f14 -/* 01820C 8001760C 44804000 */ mtc1 $zero, $f8 -/* 018210 80017610 4622003C */ c.lt.d $f0, $f2 -/* 018214 80017614 3C01800F */ lui $at, %hi(D_800ED278) -/* 018218 80017618 C7B2008C */ lwc1 $f18, 0x8c($sp) -/* 01821C 8001761C 45010006 */ bc1t .L80017638 -/* 018220 80017620 00000000 */ nop -/* 018224 80017624 D42CD278 */ ldc1 $f12, %lo(D_800ED278)($at) -/* 018228 80017628 4620603C */ c.lt.d $f12, $f0 -/* 01822C 8001762C 00000000 */ nop -/* 018230 80017630 45020002 */ bc1fl .L8001763C -/* 018234 80017634 E60E0000 */ swc1 $f14, ($s0) -.L80017638: -/* 018238 80017638 E60E0000 */ swc1 $f14, ($s0) -.L8001763C: -/* 01823C 8001763C E6100008 */ swc1 $f16, 8($s0) -/* 018240 80017640 C7AA0094 */ lwc1 $f10, 0x94($sp) -/* 018244 80017644 3C014024 */ li $at, 0x40240000 # 2.562500 -/* 018248 80017648 44814800 */ mtc1 $at, $f9 -/* 01824C 8001764C 460051A1 */ cvt.d.s $f6, $f10 -/* 018250 80017650 3C014020 */ li $at, 0x40200000 # 2.500000 -/* 018254 80017654 46283100 */ add.d $f4, $f6, $f8 -/* 018258 80017658 462022A0 */ cvt.s.d $f10, $f4 -/* 01825C 8001765C 44815800 */ mtc1 $at, $f11 -/* 018260 80017660 E60A0004 */ swc1 $f10, 4($s0) -/* 018264 80017664 C7A60094 */ lwc1 $f6, 0x94($sp) -/* 018268 80017668 E48E0000 */ swc1 $f14, ($a0) -/* 01826C 8001766C E4D00000 */ swc1 $f16, ($a2) -/* 018270 80017670 E4A60000 */ swc1 $f6, ($a1) -/* 018274 80017674 C7AE0084 */ lwc1 $f14, 0x84($sp) -/* 018278 80017678 E612000C */ swc1 $f18, 0xc($s0) -/* 01827C 8001767C C7A80088 */ lwc1 $f8, 0x88($sp) -/* 018280 80017680 44805000 */ mtc1 $zero, $f10 -/* 018284 80017684 E60E0014 */ swc1 $f14, 0x14($s0) -/* 018288 80017688 46004121 */ cvt.d.s $f4, $f8 -/* 01828C 8001768C 462A2180 */ add.d $f6, $f4, $f10 -/* 018290 80017690 46203220 */ cvt.s.d $f8, $f6 -/* 018294 80017694 E6080010 */ swc1 $f8, 0x10($s0) -/* 018298 80017698 8FA5005C */ lw $a1, 0x5c($sp) -/* 01829C 8001769C 0C00534C */ jal func_80014D30 -/* 0182A0 800176A0 8FA400C4 */ lw $a0, 0xc4($sp) -/* 0182A4 800176A4 C604000C */ lwc1 $f4, 0xc($s0) -/* 0182A8 800176A8 C60A0000 */ lwc1 $f10, ($s0) -/* 0182AC 800176AC C6060010 */ lwc1 $f6, 0x10($s0) -/* 0182B0 800176B0 C6080004 */ lwc1 $f8, 4($s0) -/* 0182B4 800176B4 460A2301 */ sub.s $f12, $f4, $f10 -/* 0182B8 800176B8 46083101 */ sub.s $f4, $f6, $f8 -/* 0182BC 800176BC E7A400A8 */ swc1 $f4, 0xa8($sp) -/* 0182C0 800176C0 C6060008 */ lwc1 $f6, 8($s0) -/* 0182C4 800176C4 C60A0014 */ lwc1 $f10, 0x14($s0) -/* 0182C8 800176C8 E7AC00AC */ swc1 $f12, 0xac($sp) -/* 0182CC 800176CC 46065381 */ sub.s $f14, $f10, $f6 -/* 0182D0 800176D0 0C0ADE0C */ jal atan2s -/* 0182D4 800176D4 E7AE00A4 */ swc1 $f14, 0xa4($sp) -/* 0182D8 800176D8 C7A000AC */ lwc1 $f0, 0xac($sp) -/* 0182DC 800176DC C7AE00A4 */ lwc1 $f14, 0xa4($sp) -/* 0182E0 800176E0 A6020026 */ sh $v0, 0x26($s0) -/* 0182E4 800176E4 46000202 */ mul.s $f8, $f0, $f0 -/* 0182E8 800176E8 00000000 */ nop -/* 0182EC 800176EC 460E7102 */ mul.s $f4, $f14, $f14 -/* 0182F0 800176F0 0C033850 */ jal sqrtf -/* 0182F4 800176F4 46044300 */ add.s $f12, $f8, $f4 -/* 0182F8 800176F8 46000306 */ mov.s $f12, $f0 -/* 0182FC 800176FC 0C0ADE0C */ jal atan2s -/* 018300 80017700 C7AE00A8 */ lwc1 $f14, 0xa8($sp) -/* 018304 80017704 A6020024 */ sh $v0, 0x24($s0) -/* 018308 80017708 A6000028 */ sh $zero, 0x28($s0) -/* 01830C 8001770C 8FBF0024 */ lw $ra, 0x24($sp) -/* 018310 80017710 8FB00020 */ lw $s0, 0x20($sp) -/* 018314 80017714 27BD00B8 */ addiu $sp, $sp, 0xb8 -/* 018318 80017718 03E00008 */ jr $ra -/* 01831C 8001771C 00000000 */ nop diff --git a/asm/non_matchings/cpu_vehicles_camera_path/func_80019FB4.s b/asm/non_matchings/cpu_vehicles_camera_path/func_80019FB4.s deleted file mode 100644 index 924ed2625..000000000 --- a/asm/non_matchings/cpu_vehicles_camera_path/func_80019FB4.s +++ /dev/null @@ -1,69 +0,0 @@ -glabel func_80019FB4 -/* 01ABB4 80019FB4 3C0F800E */ lui $t7, %hi(gControllerOne) -/* 01ABB8 80019FB8 8DEFC4BC */ lw $t7, %lo(gControllerOne)($t7) -/* 01ABBC 80019FBC 00047100 */ sll $t6, $a0, 4 -/* 01ABC0 80019FC0 3C088016 */ lui $t0, %hi(D_801645D0) # $t0, 0x8016 -/* 01ABC4 80019FC4 01CF1021 */ addu $v0, $t6, $t7 -/* 01ABC8 80019FC8 94580006 */ lhu $t8, 6($v0) -/* 01ABCC 80019FCC 250845D0 */ addiu $t0, %lo(D_801645D0) # addiu $t0, $t0, 0x45d0 -/* 01ABD0 80019FD0 00041880 */ sll $v1, $a0, 2 -/* 01ABD4 80019FD4 33190002 */ andi $t9, $t8, 2 -/* 01ABD8 80019FD8 13200005 */ beqz $t9, .L80019FF0 -/* 01ABDC 80019FDC 00682821 */ addu $a1, $v1, $t0 -/* 01ABE0 80019FE0 8CA90000 */ lw $t1, ($a1) -/* 01ABE4 80019FE4 252A0001 */ addiu $t2, $t1, 1 -/* 01ABE8 80019FE8 10000005 */ b .L8001A000 -/* 01ABEC 80019FEC ACAA0000 */ sw $t2, ($a1) -.L80019FF0: -/* 01ABF0 80019FF0 00041880 */ sll $v1, $a0, 2 -/* 01ABF4 80019FF4 3C018016 */ lui $at, %hi(D_801645D0) # 0x8016 -/* 01ABF8 80019FF8 00230821 */ addu $at, $at, $v1 -/* 01ABFC 80019FFC AC2045D0 */ sw $zero, %lo(D_801645D0)($at) # 0x45d0($at) -.L8001A000: -/* 01AC00 8001A000 944B0006 */ lhu $t3, 6($v0) -/* 01AC04 8001A004 3C0D8016 */ lui $t5, %hi(D_801645E8) # $t5, 0x8016 -/* 01AC08 8001A008 25AD45E8 */ addiu $t5, %lo(D_801645E8) # addiu $t5, $t5, 0x45e8 -/* 01AC0C 8001A00C 316C0004 */ andi $t4, $t3, 4 -/* 01AC10 8001A010 11800005 */ beqz $t4, .L8001A028 -/* 01AC14 8001A014 006D2021 */ addu $a0, $v1, $t5 -/* 01AC18 8001A018 8C8E0000 */ lw $t6, ($a0) -/* 01AC1C 8001A01C 25CF0001 */ addiu $t7, $t6, 1 -/* 01AC20 8001A020 10000004 */ b .L8001A034 -/* 01AC24 8001A024 AC8F0000 */ sw $t7, ($a0) -.L8001A028: -/* 01AC28 8001A028 3C018016 */ lui $at, %hi(D_801645E8) # 0x8016 -/* 01AC2C 8001A02C 00230821 */ addu $at, $at, $v1 -/* 01AC30 8001A030 AC2045E8 */ sw $zero, %lo(D_801645E8)($at) # 0x45e8($at) -.L8001A034: -/* 01AC34 8001A034 94580006 */ lhu $t8, 6($v0) -/* 01AC38 8001A038 3C088016 */ lui $t0, %hi(D_80164608) # $t0, 0x8016 -/* 01AC3C 8001A03C 25084608 */ addiu $t0, %lo(D_80164608) # addiu $t0, $t0, 0x4608 -/* 01AC40 8001A040 33190008 */ andi $t9, $t8, 8 -/* 01AC44 8001A044 13200005 */ beqz $t9, .L8001A05C -/* 01AC48 8001A048 00682021 */ addu $a0, $v1, $t0 -/* 01AC4C 8001A04C 8C890000 */ lw $t1, ($a0) -/* 01AC50 8001A050 252A0001 */ addiu $t2, $t1, 1 -/* 01AC54 8001A054 10000004 */ b .L8001A068 -/* 01AC58 8001A058 AC8A0000 */ sw $t2, ($a0) -.L8001A05C: -/* 01AC5C 8001A05C 3C018016 */ lui $at, %hi(D_80164608) # 0x8016 -/* 01AC60 8001A060 00230821 */ addu $at, $at, $v1 -/* 01AC64 8001A064 AC204608 */ sw $zero, %lo(D_80164608)($at) # 0x4608($at) -.L8001A068: -/* 01AC68 8001A068 944B0006 */ lhu $t3, 6($v0) -/* 01AC6C 8001A06C 3C0D8016 */ lui $t5, %hi(D_80164628) # $t5, 0x8016 -/* 01AC70 8001A070 25AD4628 */ addiu $t5, %lo(D_80164628) # addiu $t5, $t5, 0x4628 -/* 01AC74 8001A074 316C0001 */ andi $t4, $t3, 1 -/* 01AC78 8001A078 11800005 */ beqz $t4, .L8001A090 -/* 01AC7C 8001A07C 006D1021 */ addu $v0, $v1, $t5 -/* 01AC80 8001A080 8C4E0000 */ lw $t6, ($v0) -/* 01AC84 8001A084 25CF0001 */ addiu $t7, $t6, 1 -/* 01AC88 8001A088 03E00008 */ jr $ra -/* 01AC8C 8001A08C AC4F0000 */ sw $t7, ($v0) - -.L8001A090: -/* 01AC90 8001A090 3C018016 */ lui $at, %hi(D_80164628) # 0x8016 -/* 01AC94 8001A094 00230821 */ addu $at, $at, $v1 -/* 01AC98 8001A098 AC204628 */ sw $zero, %lo(D_80164628)($at) # 0x4628($at) -/* 01AC9C 8001A09C 03E00008 */ jr $ra -/* 01ACA0 8001A0A0 00000000 */ nop diff --git a/asm/non_matchings/cpu_vehicles_camera_path/update_player.s b/asm/non_matchings/cpu_vehicles_camera_path/update_player.s deleted file mode 100644 index 2a23871fb..000000000 --- a/asm/non_matchings/cpu_vehicles_camera_path/update_player.s +++ /dev/null @@ -1,1535 +0,0 @@ -.section .late_rodata - -glabel D_800ECFB0 -.float 4.3 - -glabel D_800ECFB4 -.float 8.33333333 - -glabel D_800ECFB8 -.float 0.9 - -glabel D_800ECFBC -.float -0.9 - -glabel D_800ECFC0 -.float 0.9 - -glabel D_800ECFC4 -.float -0.9 - -glabel D_800ECFC8 -.float 3.33333333 - -.section .text - -glabel update_player -/* 00A760 80009B60 3C0E800E */ lui $t6, %hi(gCurrentCourseId) -/* 00A764 80009B64 85CEC5A0 */ lh $t6, %lo(gCurrentCourseId)($t6) -/* 00A768 80009B68 3C01800E */ lui $at, %hi(cpu_CourseMaximumSeparation) -/* 00A76C 80009B6C 3C0A8016 */ lui $t2, %hi(D_80163100) # $t2, 0x8016 -/* 00A770 80009B70 000E7880 */ sll $t7, $t6, 2 -/* 00A774 80009B74 002F0821 */ addu $at, $at, $t7 -/* 00A778 80009B78 C424CA4C */ lwc1 $f4, %lo(cpu_CourseMaximumSeparation)($at) -/* 00A77C 80009B7C 27BDFF30 */ addiu $sp, $sp, -0xd0 -/* 00A780 80009B80 254A3100 */ addiu $t2, %lo(D_80163100) # addiu $t2, $t2, 0x3100 -/* 00A784 80009B84 4600218D */ trunc.w.s $f6, $f4 -/* 00A788 80009B88 00043880 */ sll $a3, $a0, 2 -/* 00A78C 80009B8C AFBF0014 */ sw $ra, 0x14($sp) -/* 00A790 80009B90 00802825 */ move $a1, $a0 -/* 00A794 80009B94 44193000 */ mfc1 $t9, $f6 -/* 00A798 80009B98 00EA1021 */ addu $v0, $a3, $t2 -/* 00A79C 80009B9C 07220565 */ bltzl $t9, .L8000B134 -/* 00A7A0 80009BA0 8FBF0014 */ lw $ra, 0x14($sp) -/* 00A7A4 80009BA4 8C4B0000 */ lw $t3, ($v0) -/* 00A7A8 80009BA8 3C088016 */ lui $t0, %hi(gIncrementUpdatePlayer) # $t0, 0x8016 -/* 00A7AC 80009BAC 25083378 */ addiu $t0, %lo(gIncrementUpdatePlayer) # addiu $t0, $t0, 0x3378 -/* 00A7B0 80009BB0 256C0001 */ addiu $t4, $t3, 1 -/* 00A7B4 80009BB4 1480000B */ bnez $a0, .L80009BE4 -/* 00A7B8 80009BB8 AC4C0000 */ sw $t4, ($v0) -/* 00A7BC 80009BBC 8D0D0000 */ lw $t5, ($t0) -/* 00A7C0 80009BC0 3C028016 */ lui $v0, %hi(D_80163488) # $v0, 0x8016 -/* 00A7C4 80009BC4 24423488 */ addiu $v0, %lo(D_80163488) # addiu $v0, $v0, 0x3488 -/* 00A7C8 80009BC8 25AE0001 */ addiu $t6, $t5, 1 -/* 00A7CC 80009BCC 31D80001 */ andi $t8, $t6, 1 -/* 00A7D0 80009BD0 13000004 */ beqz $t8, .L80009BE4 -/* 00A7D4 80009BD4 AD0E0000 */ sw $t6, ($t0) -/* 00A7D8 80009BD8 8C590000 */ lw $t9, ($v0) -/* 00A7DC 80009BDC 272A0001 */ addiu $t2, $t9, 1 -/* 00A7E0 80009BE0 AC4A0000 */ sw $t2, ($v0) -.L80009BE4: -/* 00A7E4 80009BE4 000558C0 */ sll $t3, $a1, 3 -/* 00A7E8 80009BE8 01655823 */ subu $t3, $t3, $a1 -/* 00A7EC 80009BEC 000B5900 */ sll $t3, $t3, 4 -/* 00A7F0 80009BF0 01655823 */ subu $t3, $t3, $a1 -/* 00A7F4 80009BF4 000B5880 */ sll $t3, $t3, 2 -/* 00A7F8 80009BF8 01655823 */ subu $t3, $t3, $a1 -/* 00A7FC 80009BFC 3C0C800F */ lui $t4, %hi(gPlayers) # $t4, 0x800f -/* 00A800 80009C00 258C6990 */ addiu $t4, %lo(gPlayers) # addiu $t4, $t4, 0x6990 -/* 00A804 80009C04 000B58C0 */ sll $t3, $t3, 3 -/* 00A808 80009C08 016C1821 */ addu $v1, $t3, $t4 -/* 00A80C 80009C0C 946D0000 */ lhu $t5, ($v1) -/* 00A810 80009C10 3C188016 */ lui $t8, %hi(D_801633E0) # $t8, 0x8016 -/* 00A814 80009C14 271833E0 */ addiu $t8, %lo(D_801633E0) # addiu $t8, $t8, 0x33e0 -/* 00A818 80009C18 31AE8000 */ andi $t6, $t5, 0x8000 -/* 00A81C 80009C1C 15C0000E */ bnez $t6, .L80009C58 -/* 00A820 80009C20 00053040 */ sll $a2, $a1, 1 -/* 00A824 80009C24 3C01C47A */ li $at, 0xC47A0000 # -1000.000000 -/* 00A828 80009C28 44810000 */ mtc1 $at, $f0 -/* 00A82C 80009C2C 3C018016 */ lui $at, %hi(gNumPathPointsTraversed) # 0x8016 -/* 00A830 80009C30 00270821 */ addu $at, $at, $a3 -/* 00A834 80009C34 240FFFEC */ li $t7, -20 -/* 00A838 80009C38 AC2F4450 */ sw $t7, %lo(gNumPathPointsTraversed)($at) # 0x4450($at) -/* 00A83C 80009C3C 3C018016 */ lui $at, %hi(gCourseCompletionPercentByPlayerId) -/* 00A840 80009C40 00270821 */ addu $at, $at, $a3 -/* 00A844 80009C44 E42044D0 */ swc1 $f0, %lo(gCourseCompletionPercentByPlayerId)($at) -/* 00A848 80009C48 3C018016 */ lui $at, %hi(gLapCompletionPercentByPlayerId) -/* 00A84C 80009C4C 00270821 */ addu $at, $at, $a3 -/* 00A850 80009C50 10000537 */ b .L8000B130 -/* 00A854 80009C54 E42044A8 */ swc1 $f0, %lo(gLapCompletionPercentByPlayerId)($at) -.L80009C58: -/* 00A858 80009C58 00D81021 */ addu $v0, $a2, $t8 -/* 00A85C 80009C5C A4400000 */ sh $zero, ($v0) -/* 00A860 80009C60 3C198016 */ lui $t9, %hi(gCourseMinX) # $t9, 0x8016 -/* 00A864 80009C64 8739F6EA */ lh $t9, %lo(gCourseMinX)($t9) -/* 00A868 80009C68 C4600014 */ lwc1 $f0, 0x14($v1) -/* 00A86C 80009C6C 240A0001 */ li $t2, 1 -/* 00A870 80009C70 44994000 */ mtc1 $t9, $f8 -/* 00A874 80009C74 3C0B8016 */ lui $t3, %hi(gCourseMaxX) # $t3, 0x8016 -/* 00A878 80009C78 240C0002 */ li $t4, 2 -/* 00A87C 80009C7C 468042A0 */ cvt.s.w $f10, $f8 -/* 00A880 80009C80 3C0D8016 */ lui $t5, %hi(gCourseMinZ) # $t5, 0x8016 -/* 00A884 80009C84 240E0003 */ li $t6, 3 -/* 00A888 80009C88 24180004 */ li $t8, 4 -/* 00A88C 80009C8C 3C0F8016 */ lui $t7, %hi(gCourseMaxZ) # $t7, 0x8016 -/* 00A890 80009C90 460A003C */ c.lt.s $f0, $f10 -/* 00A894 80009C94 00000000 */ nop -/* 00A898 80009C98 45000003 */ bc1f .L80009CA8 -/* 00A89C 80009C9C 00000000 */ nop -/* 00A8A0 80009CA0 A44A0000 */ sh $t2, ($v0) -/* 00A8A4 80009CA4 C4600014 */ lwc1 $f0, 0x14($v1) -.L80009CA8: -/* 00A8A8 80009CA8 856BF6E8 */ lh $t3, %lo(gCourseMaxX)($t3) -/* 00A8AC 80009CAC 448B8000 */ mtc1 $t3, $f16 -/* 00A8B0 80009CB0 00000000 */ nop -/* 00A8B4 80009CB4 468084A0 */ cvt.s.w $f18, $f16 -/* 00A8B8 80009CB8 4600903C */ c.lt.s $f18, $f0 -/* 00A8BC 80009CBC 00000000 */ nop -/* 00A8C0 80009CC0 45000002 */ bc1f .L80009CCC -/* 00A8C4 80009CC4 00000000 */ nop -/* 00A8C8 80009CC8 A44C0000 */ sh $t4, ($v0) -.L80009CCC: -/* 00A8CC 80009CCC 85ADF6F2 */ lh $t5, %lo(gCourseMinZ)($t5) -/* 00A8D0 80009CD0 C460001C */ lwc1 $f0, 0x1c($v1) -/* 00A8D4 80009CD4 448D2000 */ mtc1 $t5, $f4 -/* 00A8D8 80009CD8 00000000 */ nop -/* 00A8DC 80009CDC 468021A0 */ cvt.s.w $f6, $f4 -/* 00A8E0 80009CE0 4606003C */ c.lt.s $f0, $f6 -/* 00A8E4 80009CE4 00000000 */ nop -/* 00A8E8 80009CE8 45000003 */ bc1f .L80009CF8 -/* 00A8EC 80009CEC 00000000 */ nop -/* 00A8F0 80009CF0 A44E0000 */ sh $t6, ($v0) -/* 00A8F4 80009CF4 C460001C */ lwc1 $f0, 0x1c($v1) -.L80009CF8: -/* 00A8F8 80009CF8 85EFF6F0 */ lh $t7, %lo(gCourseMaxZ)($t7) -/* 00A8FC 80009CFC 448F4000 */ mtc1 $t7, $f8 -/* 00A900 80009D00 00000000 */ nop -/* 00A904 80009D04 468042A0 */ cvt.s.w $f10, $f8 -/* 00A908 80009D08 4600503C */ c.lt.s $f10, $f0 -/* 00A90C 80009D0C 00000000 */ nop -/* 00A910 80009D10 45020003 */ bc1fl .L80009D20 -/* 00A914 80009D14 846200CA */ lh $v0, 0xca($v1) -/* 00A918 80009D18 A4580000 */ sh $t8, ($v0) -/* 00A91C 80009D1C 846200CA */ lh $v0, 0xca($v1) -.L80009D20: -/* 00A920 80009D20 30590002 */ andi $t9, $v0, 2 -/* 00A924 80009D24 17200502 */ bnez $t9, .L8000B130 -/* 00A928 80009D28 304A0008 */ andi $t2, $v0, 8 -/* 00A92C 80009D2C 15400500 */ bnez $t2, .L8000B130 -/* 00A930 80009D30 3C028016 */ lui $v0, %hi(gPlayerPathIndex) # $v0, 0x8016 -/* 00A934 80009D34 3C0B8016 */ lui $t3, %hi(gPathIndexByPlayerId) # 0x8016 -/* 00A938 80009D38 01665821 */ addu $t3, $t3, $a2 -/* 00A93C 80009D3C 956445B0 */ lhu $a0, %lo(gPathIndexByPlayerId)($t3) # 0x45b0($t3) -/* 00A940 80009D40 24423448 */ addiu $v0, %lo(gPlayerPathIndex) # addiu $v0, $v0, 0x3448 -/* 00A944 80009D44 AFA30040 */ sw $v1, 0x40($sp) -/* 00A948 80009D48 AFA500D0 */ sw $a1, 0xd0($sp) -/* 00A94C 80009D4C AFA60034 */ sw $a2, 0x34($sp) -/* 00A950 80009D50 AFA70038 */ sw $a3, 0x38($sp) -/* 00A954 80009D54 0C002370 */ jal set_current_path -/* 00A958 80009D58 AC440000 */ sw $a0, ($v0) -/* 00A95C 80009D5C 3C02800E */ lui $v0, %hi(gCurrentCourseId) -/* 00A960 80009D60 8442C5A0 */ lh $v0, %lo(gCurrentCourseId)($v0) -/* 00A964 80009D64 2401000A */ li $at, 10 -/* 00A968 80009D68 8FA400D0 */ lw $a0, 0xd0($sp) -/* 00A96C 80009D6C 10410015 */ beq $v0, $at, .L80009DC4 -/* 00A970 80009D70 2401000B */ li $at, 11 -/* 00A974 80009D74 10410006 */ beq $v0, $at, .L80009D90 -/* 00A978 80009D78 8FA400D0 */ lw $a0, 0xd0($sp) -/* 00A97C 80009D7C 24010012 */ li $at, 18 -/* 00A980 80009D80 1041000C */ beq $v0, $at, .L80009DB4 -/* 00A984 80009D84 00000000 */ nop -/* 00A988 80009D88 1000001A */ b .L80009DF4 -/* 00A98C 80009D8C 8FA50040 */ lw $a1, 0x40($sp) -.L80009D90: -/* 00A990 80009D90 0C004B70 */ jal handle_trains_interactions -/* 00A994 80009D94 8FA50040 */ lw $a1, 0x40($sp) -/* 00A998 80009D98 8FAC00D0 */ lw $t4, 0xd0($sp) -/* 00A99C 80009D9C 55800015 */ bnel $t4, $zero, .L80009DF4 -/* 00A9A0 80009DA0 8FA50040 */ lw $a1, 0x40($sp) -/* 00A9A4 80009DA4 0C004C15 */ jal func_80013054 -/* 00A9A8 80009DA8 00000000 */ nop -/* 00A9AC 80009DAC 10000011 */ b .L80009DF4 -/* 00A9B0 80009DB0 8FA50040 */ lw $a1, 0x40($sp) -.L80009DB4: -/* 00A9B4 80009DB4 0C004E15 */ jal handle_paddleBoats_interactions -/* 00A9B8 80009DB8 8FA40040 */ lw $a0, 0x40($sp) -/* 00A9BC 80009DBC 1000000D */ b .L80009DF4 -/* 00A9C0 80009DC0 8FA50040 */ lw $a1, 0x40($sp) -.L80009DC4: -/* 00A9C4 80009DC4 0C005231 */ jal handle_box_trucks_interactions -/* 00A9C8 80009DC8 8FA50040 */ lw $a1, 0x40($sp) -/* 00A9CC 80009DCC 8FA400D0 */ lw $a0, 0xd0($sp) -/* 00A9D0 80009DD0 0C005286 */ jal handle_school_buses_interactions -/* 00A9D4 80009DD4 8FA50040 */ lw $a1, 0x40($sp) -/* 00A9D8 80009DD8 8FA400D0 */ lw $a0, 0xd0($sp) -/* 00A9DC 80009DDC 0C0052DB */ jal handle_tanker_trucks_interactions -/* 00A9E0 80009DE0 8FA50040 */ lw $a1, 0x40($sp) -/* 00A9E4 80009DE4 8FA400D0 */ lw $a0, 0xd0($sp) -/* 00A9E8 80009DE8 0C005330 */ jal handle_cars_interactions -/* 00A9EC 80009DEC 8FA50040 */ lw $a1, 0x40($sp) -/* 00A9F0 80009DF0 8FA50040 */ lw $a1, 0x40($sp) -.L80009DF4: -/* 00A9F4 80009DF4 3C01FFBF */ lui $at, (0xFFBFFFFF >> 16) # lui $at, 0xffbf -/* 00A9F8 80009DF8 94AD0000 */ lhu $t5, ($a1) -/* 00A9FC 80009DFC 31AE0800 */ andi $t6, $t5, 0x800 -/* 00AA00 80009E00 11C00008 */ beqz $t6, .L80009E24 -/* 00AA04 80009E04 00000000 */ nop -/* 00AA08 80009E08 8CAF00BC */ lw $t7, 0xbc($a1) -/* 00AA0C 80009E0C 84B90044 */ lh $t9, 0x44($a1) -/* 00AA10 80009E10 3421FFFF */ ori $at, (0xFFBFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 00AA14 80009E14 01E1C024 */ and $t8, $t7, $at -/* 00AA18 80009E18 332AFFFE */ andi $t2, $t9, 0xfffe -/* 00AA1C 80009E1C ACB800BC */ sw $t8, 0xbc($a1) -/* 00AA20 80009E20 A4AA0044 */ sh $t2, 0x44($a1) -.L80009E24: -/* 00AA24 80009E24 0C0024A7 */ jal update_player_path_completion -/* 00AA28 80009E28 8FA400D0 */ lw $a0, 0xd0($sp) -/* 00AA2C 80009E2C 3C0B800E */ lui $t3, %hi(gCurrentCourseId) -/* 00AA30 80009E30 856BC5A0 */ lh $t3, %lo(gCurrentCourseId)($t3) -/* 00AA34 80009E34 24010014 */ li $at, 20 -/* 00AA38 80009E38 8FAC0034 */ lw $t4, 0x34($sp) -/* 00AA3C 80009E3C 1161000B */ beq $t3, $at, .L80009E6C -/* 00AA40 80009E40 3C0D8016 */ lui $t5, %hi(D_80163240) # 0x8016 -/* 00AA44 80009E44 01AC6821 */ addu $t5, $t5, $t4 -/* 00AA48 80009E48 95AD3240 */ lhu $t5, %lo(D_80163240)($t5) # 0x3240($t5) -/* 00AA4C 80009E4C 24010001 */ li $at, 1 -/* 00AA50 80009E50 8FAE00D0 */ lw $t6, 0xd0($sp) -/* 00AA54 80009E54 11A10003 */ beq $t5, $at, .L80009E64 -/* 00AA58 80009E58 00000000 */ nop -/* 00AA5C 80009E5C 55C00004 */ bnel $t6, $zero, .L80009E70 -/* 00AA60 80009E60 8FAF0040 */ lw $t7, 0x40($sp) -.L80009E64: -/* 00AA64 80009E64 0C0019F1 */ jal set_places -/* 00AA68 80009E68 00000000 */ nop -.L80009E6C: -/* 00AA6C 80009E6C 8FAF0040 */ lw $t7, 0x40($sp) -.L80009E70: -/* 00AA70 80009E70 3C0A8016 */ lui $t2, %hi(gIsPlayerNewPathPoint) # $t2, 0x8016 -/* 00AA74 80009E74 95F80000 */ lhu $t8, ($t7) -/* 00AA78 80009E78 33191000 */ andi $t9, $t8, 0x1000 -/* 00AA7C 80009E7C 532004AD */ beql $t9, $zero, .L8000B134 -/* 00AA80 80009E80 8FBF0014 */ lw $ra, 0x14($sp) -/* 00AA84 80009E84 854A30E2 */ lh $t2, %lo(gIsPlayerNewPathPoint)($t2) -/* 00AA88 80009E88 24010001 */ li $at, 1 -/* 00AA8C 80009E8C 15410007 */ bne $t2, $at, .L80009EAC -/* 00AA90 80009E90 3C0B800E */ lui $t3, %hi(gCurrentCourseId) -/* 00AA94 80009E94 856BC5A0 */ lh $t3, %lo(gCurrentCourseId)($t3) -/* 00AA98 80009E98 24010014 */ li $at, 20 -/* 00AA9C 80009E9C 11610003 */ beq $t3, $at, .L80009EAC -/* 00AAA0 80009EA0 00000000 */ nop -/* 00AAA4 80009EA4 0C00478E */ jal cpu_behaviour -/* 00AAA8 80009EA8 8FA400D0 */ lw $a0, 0xd0($sp) -.L80009EAC: -/* 00AAAC 80009EAC 3C0E8016 */ lui $t6, %hi(gIncrementUpdatePlayer) # $t6, 0x8016 -/* 00AAB0 80009EB0 8DCE3378 */ lw $t6, %lo(gIncrementUpdatePlayer)($t6) -/* 00AAB4 80009EB4 8FAC00D0 */ lw $t4, 0xd0($sp) -/* 00AAB8 80009EB8 31CF0001 */ andi $t7, $t6, 1 -/* 00AABC 80009EBC 318D0001 */ andi $t5, $t4, 1 -/* 00AAC0 80009EC0 11ED0003 */ beq $t7, $t5, .L80009ED0 -/* 00AAC4 80009EC4 AFAD0030 */ sw $t5, 0x30($sp) -/* 00AAC8 80009EC8 0C006B04 */ jal cpu_use_item_strategy -/* 00AACC 80009ECC 01802025 */ move $a0, $t4 -.L80009ED0: -/* 00AAD0 80009ED0 8FA400D0 */ lw $a0, 0xd0($sp) -/* 00AAD4 80009ED4 0C00267B */ jal update_player_timer_sound -/* 00AAD8 80009ED8 8FA50040 */ lw $a1, 0x40($sp) -/* 00AADC 80009EDC 3C02800E */ lui $v0, %hi(gModeSelection) -/* 00AAE0 80009EE0 8C42C53C */ lw $v0, %lo(gModeSelection)($v0) -/* 00AAE4 80009EE4 3C018016 */ lui $at, %hi(D_80162FD0) # $at, 0x8016 -/* 00AAE8 80009EE8 A4202FD0 */ sh $zero, %lo(D_80162FD0)($at) -/* 00AAEC 80009EEC 1040000A */ beqz $v0, .L80009F18 -/* 00AAF0 80009EF0 8FA80034 */ lw $t0, 0x34($sp) -/* 00AAF4 80009EF4 24090001 */ li $t1, 1 -/* 00AAF8 80009EF8 10490008 */ beq $v0, $t1, .L80009F1C -/* 00AAFC 80009EFC 24010002 */ li $at, 2 -/* 00AB00 80009F00 10410006 */ beq $v0, $at, .L80009F1C -/* 00AB04 80009F04 24010003 */ li $at, 3 -/* 00AB08 80009F08 10410004 */ beq $v0, $at, .L80009F1C -/* 00AB0C 80009F0C 00000000 */ nop -/* 00AB10 80009F10 10000002 */ b .L80009F1C -/* 00AB14 80009F14 00000000 */ nop -.L80009F18: -/* 00AB18 80009F18 24090001 */ li $t1, 1 -.L80009F1C: -/* 00AB1C 80009F1C 3C188016 */ lui $t8, %hi(D_801631E0) # $t8, 0x8016 -/* 00AB20 80009F20 8FB90040 */ lw $t9, 0x40($sp) -/* 00AB24 80009F24 271831E0 */ addiu $t8, %lo(D_801631E0) # addiu $t8, $t8, 0x31e0 -/* 00AB28 80009F28 01182821 */ addu $a1, $t0, $t8 -/* 00AB2C 80009F2C A4A00000 */ sh $zero, ($a1) -/* 00AB30 80009F30 8F2A00BC */ lw $t2, 0xbc($t9) -/* 00AB34 80009F34 3C0E800E */ lui $t6, %hi(gCurrentCourseId) -/* 00AB38 80009F38 3C0D8016 */ lui $t5, %hi(D_801646CC) # $t5, 0x8016 -/* 00AB3C 80009F3C 314B1000 */ andi $t3, $t2, 0x1000 -/* 00AB40 80009F40 11600007 */ beqz $t3, .L80009F60 -/* 00AB44 80009F44 00000000 */ nop -/* 00AB48 80009F48 85CEC5A0 */ lh $t6, %lo(gCurrentCourseId)($t6) -/* 00AB4C 80009F4C 24010014 */ li $at, 20 -/* 00AB50 80009F50 240F0001 */ li $t7, 1 -/* 00AB54 80009F54 11C10002 */ beq $t6, $at, .L80009F60 -/* 00AB58 80009F58 00000000 */ nop -/* 00AB5C 80009F5C A4AF0000 */ sh $t7, ($a1) -.L80009F60: -/* 00AB60 80009F60 95AD46CC */ lhu $t5, %lo(D_801646CC)($t5) -/* 00AB64 80009F64 3C02800E */ lui $v0, %hi(gCurrentCourseId) -/* 00AB68 80009F68 8442C5A0 */ lh $v0, %lo(gCurrentCourseId)($v0) -/* 00AB6C 80009F6C 112D0007 */ beq $t1, $t5, .L80009F8C -/* 00AB70 80009F70 8FAC0040 */ lw $t4, 0x40($sp) -/* 00AB74 80009F74 95980000 */ lhu $t8, ($t4) -/* 00AB78 80009F78 24010014 */ li $at, 20 -/* 00AB7C 80009F7C 33190800 */ andi $t9, $t8, 0x800 -/* 00AB80 80009F80 57200003 */ bnel $t9, $zero, .L80009F90 -/* 00AB84 80009F84 2401000A */ li $at, 10 -/* 00AB88 80009F88 1441000E */ bne $v0, $at, .L80009FC4 -.L80009F8C: -/* 00AB8C 80009F8C 2401000A */ li $at, 10 -.L80009F90: -/* 00AB90 80009F90 10410006 */ beq $v0, $at, .L80009FAC -/* 00AB94 80009F94 8FAA00D0 */ lw $t2, 0xd0($sp) -/* 00AB98 80009F98 44808000 */ mtc1 $zero, $f16 -/* 00AB9C 80009F9C 000A5900 */ sll $t3, $t2, 4 -/* 00ABA0 80009FA0 3C018016 */ lui $at, %hi(gPlayerTrackPositionFactorInstruction + 4) -/* 00ABA4 80009FA4 002B0821 */ addu $at, $at, $t3 -/* 00ABA8 80009FA8 E43034FC */ swc1 $f16, %lo(gPlayerTrackPositionFactorInstruction + 4)($at) -.L80009FAC: -/* 00ABAC 80009FAC 8FAE00D0 */ lw $t6, 0xd0($sp) -/* 00ABB0 80009FB0 44809000 */ mtc1 $zero, $f18 -/* 00ABB4 80009FB4 3C018016 */ lui $at, %hi(gPlayerTrackPositionFactorInstruction + 12) -/* 00ABB8 80009FB8 000E7900 */ sll $t7, $t6, 4 -/* 00ABBC 80009FBC 002F0821 */ addu $at, $at, $t7 -/* 00ABC0 80009FC0 E4323504 */ swc1 $f18, %lo(gPlayerTrackPositionFactorInstruction + 12)($at) -.L80009FC4: -/* 00ABC4 80009FC4 3C028016 */ lui $v0, %hi(gPlayerPathIndex) # $v0, 0x8016 -/* 00ABC8 80009FC8 8C423448 */ lw $v0, %lo(gPlayerPathIndex)($v0) -/* 00ABCC 80009FCC 3C0A8016 */ lui $t2, %hi(gPlayerPathY) # $t2, 0x8016 -/* 00ABD0 80009FD0 254A4510 */ addiu $t2, %lo(gPlayerPathY) # addiu $t2, $t2, 0x4510 -/* 00ABD4 80009FD4 1840000A */ blez $v0, .L8000A000 -/* 00ABD8 80009FD8 3C0B8016 */ lui $t3, %hi(gNearestPathPointByPlayerId) # $t3, 0x8016 -/* 00ABDC 80009FDC 8FAD00D0 */ lw $t5, 0xd0($sp) -/* 00ABE0 80009FE0 3C188016 */ lui $t8, %hi(gPlayerTrackPositionFactorInstruction) # $t8, 0x8016 -/* 00ABE4 80009FE4 44802000 */ mtc1 $zero, $f4 -/* 00ABE8 80009FE8 44803000 */ mtc1 $zero, $f6 -/* 00ABEC 80009FEC 271834F8 */ addiu $t8, %lo(gPlayerTrackPositionFactorInstruction) # addiu $t8, $t8, 0x34f8 -/* 00ABF0 80009FF0 000D6100 */ sll $t4, $t5, 4 -/* 00ABF4 80009FF4 01981821 */ addu $v1, $t4, $t8 -/* 00ABF8 80009FF8 E4640004 */ swc1 $f4, 4($v1) -/* 00ABFC 80009FFC E466000C */ swc1 $f6, 0xc($v1) -.L8000A000: -/* 00AC00 8000A000 256B4438 */ addiu $t3, %lo(gNearestPathPointByPlayerId) # addiu $t3, $t3, 0x4438 -/* 00AC04 8000A004 010B7021 */ addu $t6, $t0, $t3 -/* 00AC08 8000A008 8FB90038 */ lw $t9, 0x38($sp) -/* 00AC0C 8000A00C AFAE0024 */ sw $t6, 0x24($sp) -/* 00AC10 8000A010 00027880 */ sll $t7, $v0, 2 -/* 00AC14 8000A014 3C0D8016 */ lui $t5, %hi(gTrackPaths) # 0x8016 -/* 00AC18 8000A018 95D80000 */ lhu $t8, ($t6) -/* 00AC1C 8000A01C 01AF6821 */ addu $t5, $t5, $t7 -/* 00AC20 8000A020 8DAD4550 */ lw $t5, %lo(gTrackPaths)($t5) # 0x4550($t5) -/* 00AC24 8000A024 032A3021 */ addu $a2, $t9, $t2 -/* 00AC28 8000A028 0018C8C0 */ sll $t9, $t8, 3 -/* 00AC2C 8000A02C 01B95021 */ addu $t2, $t5, $t9 -/* 00AC30 8000A030 854B0002 */ lh $t3, 2($t2) -/* 00AC34 8000A034 3C01800F */ lui $at, %hi(D_800ECFB0) # $at, 0x800f -/* 00AC38 8000A038 C430CFB0 */ lwc1 $f16, %lo(D_800ECFB0)($at) -/* 00AC3C 8000A03C 448B4000 */ mtc1 $t3, $f8 -/* 00AC40 8000A040 3C0E8016 */ lui $t6, %hi(D_801631F8) # $t6, 0x8016 -/* 00AC44 8000A044 25CE31F8 */ addiu $t6, %lo(D_801631F8) # addiu $t6, $t6, 0x31f8 -/* 00AC48 8000A048 468042A0 */ cvt.s.w $f10, $f8 -/* 00AC4C 8000A04C 010E3821 */ addu $a3, $t0, $t6 -/* 00AC50 8000A050 94EF0000 */ lhu $t7, ($a3) -/* 00AC54 8000A054 46105480 */ add.s $f18, $f10, $f16 -/* 00AC58 8000A058 152F000E */ bne $t1, $t7, .L8000A094 -/* 00AC5C 8000A05C E4D20000 */ swc1 $f18, ($a2) -/* 00AC60 8000A060 94AC0000 */ lhu $t4, ($a1) -/* 00AC64 8000A064 8FA40040 */ lw $a0, 0x40($sp) -/* 00AC68 8000A068 5580000B */ bnel $t4, $zero, .L8000A098 -/* 00AC6C 8000A06C 94A30000 */ lhu $v1, ($a1) -/* 00AC70 8000A070 AFA5002C */ sw $a1, 0x2c($sp) -/* 00AC74 8000A074 AFA60028 */ sw $a2, 0x28($sp) -/* 00AC78 8000A078 0C00B931 */ jal func_8002E4C4 -/* 00AC7C 8000A07C AFA70020 */ sw $a3, 0x20($sp) -/* 00AC80 8000A080 8FA5002C */ lw $a1, 0x2c($sp) -/* 00AC84 8000A084 8FA60028 */ lw $a2, 0x28($sp) -/* 00AC88 8000A088 8FA70020 */ lw $a3, 0x20($sp) -/* 00AC8C 8000A08C 24090001 */ li $t1, 1 -/* 00AC90 8000A090 8FA80034 */ lw $t0, 0x34($sp) -.L8000A094: -/* 00AC94 8000A094 94A30000 */ lhu $v1, ($a1) -.L8000A098: -/* 00AC98 8000A098 8FB80040 */ lw $t8, 0x40($sp) -/* 00AC9C 8000A09C 3C02800E */ lui $v0, %hi(gCurrentCourseId) -/* 00ACA0 8000A0A0 55230005 */ bnel $t1, $v1, .L8000A0B8 -/* 00ACA4 8000A0A4 A4E30000 */ sh $v1, ($a3) -/* 00ACA8 8000A0A8 C4C40000 */ lwc1 $f4, ($a2) -/* 00ACAC 8000A0AC E7040018 */ swc1 $f4, 0x18($t8) -/* 00ACB0 8000A0B0 94A30000 */ lhu $v1, ($a1) -/* 00ACB4 8000A0B4 A4E30000 */ sh $v1, ($a3) -.L8000A0B8: -/* 00ACB8 8000A0B8 8442C5A0 */ lh $v0, %lo(gCurrentCourseId)($v0) -/* 00ACBC 8000A0BC 8FAD00D0 */ lw $t5, 0xd0($sp) -/* 00ACC0 8000A0C0 24010004 */ li $at, 4 -/* 00ACC4 8000A0C4 10410009 */ beq $v0, $at, .L8000A0EC -/* 00ACC8 8000A0C8 000DC900 */ sll $t9, $t5, 4 -/* 00ACCC 8000A0CC 2401000A */ li $at, 10 -/* 00ACD0 8000A0D0 1041000C */ beq $v0, $at, .L8000A104 -/* 00ACD4 8000A0D4 8FA400D0 */ lw $a0, 0xd0($sp) -/* 00ACD8 8000A0D8 24010014 */ li $at, 20 -/* 00ACDC 8000A0DC 10410004 */ beq $v0, $at, .L8000A0F0 -/* 00ACE0 8000A0E0 00602025 */ move $a0, $v1 -/* 00ACE4 8000A0E4 10000013 */ b .L8000A134 -/* 00ACE8 8000A0E8 00000000 */ nop -.L8000A0EC: -/* 00ACEC 8000A0EC 00602025 */ move $a0, $v1 -.L8000A0F0: -/* 00ACF0 8000A0F0 44803000 */ mtc1 $zero, $f6 -/* 00ACF4 8000A0F4 3C018016 */ lui $at, %hi(gPlayerTrackPositionFactorInstruction + 4) -/* 00ACF8 8000A0F8 00390821 */ addu $at, $at, $t9 -/* 00ACFC 8000A0FC 1000000D */ b .L8000A134 -/* 00AD00 8000A100 E42634FC */ swc1 $f6, %lo(gPlayerTrackPositionFactorInstruction + 4)($at) -.L8000A104: -/* 00AD04 8000A104 0C005243 */ jal update_player_track_position_factor_from_box_trucks -/* 00AD08 8000A108 AFA5002C */ sw $a1, 0x2c($sp) -/* 00AD0C 8000A10C 0C005298 */ jal update_player_track_position_factor_from_buses -/* 00AD10 8000A110 8FA400D0 */ lw $a0, 0xd0($sp) -/* 00AD14 8000A114 0C0052ED */ jal update_player_track_position_factor_from_tanker_truck -/* 00AD18 8000A118 8FA400D0 */ lw $a0, 0xd0($sp) -/* 00AD1C 8000A11C 0C005342 */ jal update_player_track_position_factor_from_cars -/* 00AD20 8000A120 8FA400D0 */ lw $a0, 0xd0($sp) -/* 00AD24 8000A124 8FA5002C */ lw $a1, 0x2c($sp) -/* 00AD28 8000A128 24090001 */ li $t1, 1 -/* 00AD2C 8000A12C 8FA80034 */ lw $t0, 0x34($sp) -/* 00AD30 8000A130 94A40000 */ lhu $a0, ($a1) -.L8000A134: -/* 00AD34 8000A134 152400FE */ bne $t1, $a0, .L8000A530 -/* 00AD38 8000A138 3C0C8016 */ lui $t4, %hi(D_801630E8) # 0x8016 -/* 00AD3C 8000A13C 8FAA0040 */ lw $t2, 0x40($sp) -/* 00AD40 8000A140 3C018016 */ lui $at, %hi(D_801630E8) # 0x8016 -/* 00AD44 8000A144 00280821 */ addu $at, $at, $t0 -/* 00AD48 8000A148 A42030E8 */ sh $zero, %lo(D_801630E8)($at) # 0x30e8($at) -/* 00AD4C 8000A14C 8D4B00BC */ lw $t3, 0xbc($t2) -/* 00AD50 8000A150 2401FFEF */ li $at, -17 -/* 00AD54 8000A154 3C0F8016 */ lui $t7, %hi(gIncrementUpdatePlayer) # $t7, 0x8016 -/* 00AD58 8000A158 01617024 */ and $t6, $t3, $at -/* 00AD5C 8000A15C AD4E00BC */ sw $t6, 0xbc($t2) -/* 00AD60 8000A160 8DEF3378 */ lw $t7, %lo(gIncrementUpdatePlayer)($t7) -/* 00AD64 8000A164 8FB80030 */ lw $t8, 0x30($sp) -/* 00AD68 8000A168 3C028019 */ lui $v0, %hi(gPlayerCount) # $v0, 0x8019 -/* 00AD6C 8000A16C 31EC0001 */ andi $t4, $t7, 1 -/* 00AD70 8000A170 1198000C */ beq $t4, $t8, .L8000A1A4 -/* 00AD74 8000A174 01402025 */ move $a0, $t2 -/* 00AD78 8000A178 0C00DA03 */ jal apply_cpu_turn -/* 00AD7C 8000A17C 00002825 */ move $a1, $zero -/* 00AD80 8000A180 8FAD0038 */ lw $t5, 0x38($sp) -/* 00AD84 8000A184 3C058016 */ lui $a1, %hi(gPreviousCpuTargetSpeed) # 0x8016 -/* 00AD88 8000A188 8FA400D0 */ lw $a0, 0xd0($sp) -/* 00AD8C 8000A18C 00AD2821 */ addu $a1, $a1, $t5 -/* 00AD90 8000A190 8CA53210 */ lw $a1, %lo(gPreviousCpuTargetSpeed)($a1) # 0x3210($a1) -/* 00AD94 8000A194 0C002109 */ jal regulate_cpu_speed -/* 00AD98 8000A198 8FA60040 */ lw $a2, 0x40($sp) -/* 00AD9C 8000A19C 100003E5 */ b .L8000B134 -/* 00ADA0 8000A1A0 8FBF0014 */ lw $ra, 0x14($sp) -.L8000A1A4: -/* 00ADA4 8000A1A4 8042EDF3 */ lb $v0, %lo(gPlayerCount)($v0) -/* 00ADA8 8000A1A8 18400016 */ blez $v0, .L8000A204 -/* 00ADAC 8000A1AC 28410003 */ slti $at, $v0, 3 -/* 00ADB0 8000A1B0 10200014 */ beqz $at, .L8000A204 -/* 00ADB4 8000A1B4 3C198016 */ lui $t9, %hi(D_80163330) # 0x8016 -/* 00ADB8 8000A1B8 0328C821 */ addu $t9, $t9, $t0 -/* 00ADBC 8000A1BC 97393330 */ lhu $t9, %lo(D_80163330)($t9) # 0x3330($t9) -/* 00ADC0 8000A1C0 3C0B8016 */ lui $t3, %hi(D_8016334C) # 0x8016 -/* 00ADC4 8000A1C4 01685821 */ addu $t3, $t3, $t0 -/* 00ADC8 8000A1C8 1539000E */ bne $t1, $t9, .L8000A204 -/* 00ADCC 8000A1CC 8FAE0038 */ lw $t6, 0x38($sp) -/* 00ADD0 8000A1D0 3C0F8016 */ lui $t7, %hi(gGPCurrentRaceRankByPlayerId) -/* 00ADD4 8000A1D4 01EE7821 */ addu $t7, $t7, $t6 -/* 00ADD8 8000A1D8 8DEF43B8 */ lw $t7, %lo(gGPCurrentRaceRankByPlayerId)($t7) -/* 00ADDC 8000A1DC 956B334C */ lhu $t3, %lo(D_8016334C)($t3) # 0x334c($t3) -/* 00ADE0 8000A1E0 3C0C8016 */ lui $t4, %hi(gPreviousCpuTargetSpeed) # $t4, 0x8016 -/* 00ADE4 8000A1E4 258C3210 */ addiu $t4, %lo(gPreviousCpuTargetSpeed) # addiu $t4, $t4, 0x3210 -/* 00ADE8 8000A1E8 016F082A */ slt $at, $t3, $t7 -/* 00ADEC 8000A1EC 10200005 */ beqz $at, .L8000A204 -/* 00ADF0 8000A1F0 3C01800F */ lui $at, %hi(D_800ECFB4) # $at, 0x800f -/* 00ADF4 8000A1F4 C428CFB4 */ lwc1 $f8, %lo(D_800ECFB4)($at) -/* 00ADF8 8000A1F8 01CC4021 */ addu $t0, $t6, $t4 -/* 00ADFC 8000A1FC 1000004B */ b .L8000A32C -/* 00AE00 8000A200 E5080000 */ swc1 $f8, ($t0) -.L8000A204: -/* 00AE04 8000A204 3C188016 */ lui $t8, %hi(D_80162FD0) # $t8, 0x8016 -/* 00AE08 8000A208 87182FD0 */ lh $t8, %lo(D_80162FD0)($t8) -/* 00AE0C 8000A20C 1538001C */ bne $t1, $t8, .L8000A280 -/* 00AE10 8000A210 3C0A800E */ lui $t2, %hi(gCurrentCourseId) -/* 00AE14 8000A214 854AC5A0 */ lh $t2, %lo(gCurrentCourseId)($t2) -/* 00AE18 8000A218 3C19800E */ lui $t9, %hi(gCCSelection) -/* 00AE1C 8000A21C 8F39C548 */ lw $t9, %lo(gCCSelection)($t9) -/* 00AE20 8000A220 8FAC00D0 */ lw $t4, 0xd0($sp) -/* 00AE24 8000A224 000A6900 */ sll $t5, $t2, 4 -/* 00AE28 8000A228 3C0A8016 */ lui $t2, %hi(gPlayerTrackPositionFactorInstruction) # $t2, 0x8016 -/* 00AE2C 8000A22C 254A34F8 */ addiu $t2, %lo(gPlayerTrackPositionFactorInstruction) # addiu $t2, $t2, 0x34f8 -/* 00AE30 8000A230 3C0E0D01 */ lui $t6, %hi(D_0D0096B8) # $t6, 0xd01 -/* 00AE34 8000A234 00195880 */ sll $t3, $t9, 2 -/* 00AE38 8000A238 000CC100 */ sll $t8, $t4, 4 -/* 00AE3C 8000A23C 030A1821 */ addu $v1, $t8, $t2 -/* 00AE40 8000A240 01AB7821 */ addu $t7, $t5, $t3 -/* 00AE44 8000A244 25CE96B8 */ addiu $t6, %lo(D_0D0096B8) # addiu $t6, $t6, -0x6948 -/* 00AE48 8000A248 01EE2021 */ addu $a0, $t7, $t6 -/* 00AE4C 8000A24C 0C026455 */ jal segmented_to_virtual_dupe_2 -/* 00AE50 8000A250 AFA30030 */ sw $v1, 0x30($sp) -/* 00AE54 8000A254 8FB90038 */ lw $t9, 0x38($sp) -/* 00AE58 8000A258 3C0D8016 */ lui $t5, %hi(gPreviousCpuTargetSpeed) # $t5, 0x8016 -/* 00AE5C 8000A25C 3C01BF00 */ li $at, 0xBF000000 # -0.500000 -/* 00AE60 8000A260 8FA30030 */ lw $v1, 0x30($sp) -/* 00AE64 8000A264 C44A0000 */ lwc1 $f10, ($v0) -/* 00AE68 8000A268 44818000 */ mtc1 $at, $f16 -/* 00AE6C 8000A26C 25AD3210 */ addiu $t5, %lo(gPreviousCpuTargetSpeed) # addiu $t5, $t5, 0x3210 -/* 00AE70 8000A270 032D4021 */ addu $t0, $t9, $t5 -/* 00AE74 8000A274 E50A0000 */ swc1 $f10, ($t0) -/* 00AE78 8000A278 1000002C */ b .L8000A32C -/* 00AE7C 8000A27C E4700004 */ swc1 $f16, 4($v1) -.L8000A280: -/* 00AE80 8000A280 3C0F8016 */ lui $t7, %hi(sSomeNearestPathPoint) # $t7, 0x8016 -/* 00AE84 8000A284 85EF2FCE */ lh $t7, %lo(sSomeNearestPathPoint)($t7) -/* 00AE88 8000A288 3C0B8016 */ lui $t3, %hi(gCurrentTrackConsecutiveCurveCountsPath) # $t3, 0x8016 -/* 00AE8C 8000A28C 8D6B45E0 */ lw $t3, %lo(gCurrentTrackConsecutiveCurveCountsPath)($t3) -/* 00AE90 8000A290 000F7040 */ sll $t6, $t7, 1 -/* 00AE94 8000A294 016E6021 */ addu $t4, $t3, $t6 -/* 00AE98 8000A298 85980000 */ lh $t8, ($t4) -/* 00AE9C 8000A29C 1B000012 */ blez $t8, .L8000A2E8 -/* 00AEA0 8000A2A0 3C0A800E */ lui $t2, %hi(gCurrentCourseId) -/* 00AEA4 8000A2A4 3C0D800E */ lui $t5, %hi(gCCSelection) -/* 00AEA8 8000A2A8 8DADC548 */ lw $t5, %lo(gCCSelection)($t5) -/* 00AEAC 8000A2AC 854AC5A0 */ lh $t2, %lo(gCurrentCourseId)($t2) -/* 00AEB0 8000A2B0 3C0E0D01 */ lui $t6, %hi(cpu_CurveTargetSpeed) # $t6, 0xd01 -/* 00AEB4 8000A2B4 000D7880 */ sll $t7, $t5, 2 -/* 00AEB8 8000A2B8 000AC900 */ sll $t9, $t2, 4 -/* 00AEBC 8000A2BC 032F5821 */ addu $t3, $t9, $t7 -/* 00AEC0 8000A2C0 25CE9418 */ addiu $t6, %lo(cpu_CurveTargetSpeed) # addiu $t6, $t6, -0x6be8 -/* 00AEC4 8000A2C4 0C026455 */ jal segmented_to_virtual_dupe_2 -/* 00AEC8 8000A2C8 016E2021 */ addu $a0, $t3, $t6 -/* 00AECC 8000A2CC 8FAC0038 */ lw $t4, 0x38($sp) -/* 00AED0 8000A2D0 3C188016 */ lui $t8, %hi(gPreviousCpuTargetSpeed) # $t8, 0x8016 -/* 00AED4 8000A2D4 C4520000 */ lwc1 $f18, ($v0) -/* 00AED8 8000A2D8 27183210 */ addiu $t8, %lo(gPreviousCpuTargetSpeed) # addiu $t8, $t8, 0x3210 -/* 00AEDC 8000A2DC 01984021 */ addu $t0, $t4, $t8 -/* 00AEE0 8000A2E0 10000012 */ b .L8000A32C -/* 00AEE4 8000A2E4 E5120000 */ swc1 $f18, ($t0) -.L8000A2E8: -/* 00AEE8 8000A2E8 3C0A800E */ lui $t2, %hi(gCurrentCourseId) -/* 00AEEC 8000A2EC 3C19800E */ lui $t9, %hi(gCCSelection) -/* 00AEF0 8000A2F0 8F39C548 */ lw $t9, %lo(gCCSelection)($t9) -/* 00AEF4 8000A2F4 854AC5A0 */ lh $t2, %lo(gCurrentCourseId)($t2) -/* 00AEF8 8000A2F8 3C0E0D01 */ lui $t6, %hi(cpu_NormalTargetSpeed) # $t6, 0xd01 -/* 00AEFC 8000A2FC 00197880 */ sll $t7, $t9, 2 -/* 00AF00 8000A300 000A6900 */ sll $t5, $t2, 4 -/* 00AF04 8000A304 01AF5821 */ addu $t3, $t5, $t7 -/* 00AF08 8000A308 25CE9568 */ addiu $t6, %lo(cpu_NormalTargetSpeed) # addiu $t6, $t6, -0x6a98 -/* 00AF0C 8000A30C 0C026455 */ jal segmented_to_virtual_dupe_2 -/* 00AF10 8000A310 016E2021 */ addu $a0, $t3, $t6 -/* 00AF14 8000A314 8FAC0038 */ lw $t4, 0x38($sp) -/* 00AF18 8000A318 C4440000 */ lwc1 $f4, ($v0) -/* 00AF1C 8000A31C 3C188016 */ lui $t8, %hi(gPreviousCpuTargetSpeed) # $t8, 0x8016 -/* 00AF20 8000A320 27183210 */ addiu $t8, %lo(gPreviousCpuTargetSpeed) # addiu $t8, $t8, 0x3210 -/* 00AF24 8000A324 01984021 */ addu $t0, $t4, $t8 -/* 00AF28 8000A328 E5040000 */ swc1 $f4, ($t0) -.L8000A32C: -/* 00AF2C 8000A32C 8FA400D0 */ lw $a0, 0xd0($sp) -/* 00AF30 8000A330 0C004C77 */ jal check_ai_crossing_distance -/* 00AF34 8000A334 AFA8003C */ sw $t0, 0x3c($sp) -/* 00AF38 8000A338 0C0034EE */ jal cpu_track_position_factor -/* 00AF3C 8000A33C 8FA400D0 */ lw $a0, 0xd0($sp) -/* 00AF40 8000A340 3C058016 */ lui $a1, %hi(gCurrentNearestPathPoint) # $a1, 0x8016 -/* 00AF44 8000A344 94A530E0 */ lhu $a1, %lo(gCurrentNearestPathPoint)($a1) -/* 00AF48 8000A348 0C00350E */ jal determine_ideal_cpu_position_offset -/* 00AF4C 8000A34C 8FA400D0 */ lw $a0, 0xd0($sp) -/* 00AF50 8000A350 8FA60040 */ lw $a2, 0x40($sp) -/* 00AF54 8000A354 3C078016 */ lui $a3, %hi(gOffsetPosition) # $a3, 0x8016 -/* 00AF58 8000A358 24E72FA0 */ addiu $a3, %lo(gOffsetPosition) # addiu $a3, $a3, 0x2fa0 -/* 00AF5C 8000A35C 8CC200BC */ lw $v0, 0xbc($a2) -/* 00AF60 8000A360 C4E80000 */ lwc1 $f8, ($a3) -/* 00AF64 8000A364 C4EA0008 */ lwc1 $f10, 8($a3) -/* 00AF68 8000A368 C4C60014 */ lwc1 $f6, 0x14($a2) -/* 00AF6C 8000A36C C4D0001C */ lwc1 $f16, 0x1c($a2) -/* 00AF70 8000A370 304A0080 */ andi $t2, $v0, 0x80 -/* 00AF74 8000A374 46064001 */ sub.s $f0, $f8, $f6 -/* 00AF78 8000A378 8FA8003C */ lw $t0, 0x3c($sp) -/* 00AF7C 8000A37C 15400061 */ bnez $t2, .L8000A504 -/* 00AF80 8000A380 46105081 */ sub.s $f2, $f10, $f16 -/* 00AF84 8000A384 30590040 */ andi $t9, $v0, 0x40 -/* 00AF88 8000A388 1720005E */ bnez $t9, .L8000A504 -/* 00AF8C 8000A38C 304D0800 */ andi $t5, $v0, 0x800 -/* 00AF90 8000A390 55A0005D */ bnel $t5, $zero, .L8000A508 -/* 00AF94 8000A394 00C02025 */ move $a0, $a2 -/* 00AF98 8000A398 46000102 */ mul.s $f4, $f0, $f0 -/* 00AF9C 8000A39C 3C0145C8 */ li $at, 0x45C80000 # 6400.000000 -/* 00AFA0 8000A3A0 44819000 */ mtc1 $at, $f18 -/* 00AFA4 8000A3A4 46021182 */ mul.s $f6, $f2, $f2 -/* 00AFA8 8000A3A8 3C0B8016 */ lui $t3, %hi(gCurrentNearestPathPoint) # 0x8016 -/* 00AFAC 8000A3AC 3C0C8016 */ lui $t4, %hi(gSelectedPathCount) # $t4, 0x8016 -/* 00AFB0 8000A3B0 3C198016 */ lui $t9, %hi(gPlayerPathIndex) # 0x8016 -/* 00AFB4 8000A3B4 3C0F8016 */ lui $t7, %hi(gPathExpectedRotation) # 0x8016 -/* 00AFB8 8000A3B8 46062200 */ add.s $f8, $f4, $f6 -/* 00AFBC 8000A3BC 4608903C */ c.lt.s $f18, $f8 -/* 00AFC0 8000A3C0 00000000 */ nop -/* 00AFC4 8000A3C4 45000039 */ bc1f .L8000A4AC -/* 00AFC8 8000A3C8 00000000 */ nop -/* 00AFCC 8000A3CC 3C0F8016 */ lui $t7, %hi(gPlayerPathIndex) # $t7, 0x8016 -/* 00AFD0 8000A3D0 8DEF3448 */ lw $t7, %lo(gPlayerPathIndex)($t7) -/* 00AFD4 8000A3D4 8FA400D0 */ lw $a0, 0xd0($sp) -/* 00AFD8 8000A3D8 55E0002B */ bnel $t7, $zero, .L8000A488 -/* 00AFDC 8000A3DC 8FA60040 */ lw $a2, 0x40($sp) -/* 00AFE0 8000A3E0 0C002C50 */ jal func_8000B140 -/* 00AFE4 8000A3E4 AFA8003C */ sw $t0, 0x3c($sp) -/* 00AFE8 8000A3E8 8FAB0034 */ lw $t3, 0x34($sp) -/* 00AFEC 8000A3EC 3C0E8016 */ lui $t6, %hi(D_80162FF8) # 0x8016 -/* 00AFF0 8000A3F0 3C078016 */ lui $a3, %hi(gOffsetPosition) # $a3, 0x8016 -/* 00AFF4 8000A3F4 01CB7021 */ addu $t6, $t6, $t3 -/* 00AFF8 8000A3F8 85CE2FF8 */ lh $t6, %lo(D_80162FF8)($t6) # 0x2ff8($t6) -/* 00AFFC 8000A3FC 24E72FA0 */ addiu $a3, %lo(gOffsetPosition) # addiu $a3, $a3, 0x2fa0 -/* 00B000 8000A400 8FA8003C */ lw $t0, 0x3c($sp) -/* 00B004 8000A404 19C0001F */ blez $t6, .L8000A484 -/* 00B008 8000A408 3C048016 */ lui $a0, %hi(gCurrentNearestPathPoint) # $a0, 0x8016 -/* 00B00C 8000A40C 948430E0 */ lhu $a0, %lo(gCurrentNearestPathPoint)($a0) -/* 00B010 8000A410 3C188016 */ lui $t8, %hi(gSelectedPathCount) # $t8, 0x8016 -/* 00B014 8000A414 97184430 */ lhu $t8, %lo(gSelectedPathCount)($t8) -/* 00B018 8000A418 24840005 */ addiu $a0, $a0, 5 -/* 00B01C 8000A41C 308CFFFF */ andi $t4, $a0, 0xffff -/* 00B020 8000A420 0198001A */ div $zero, $t4, $t8 -/* 00B024 8000A424 01802025 */ move $a0, $t4 -/* 00B028 8000A428 8FB90038 */ lw $t9, 0x38($sp) -/* 00B02C 8000A42C 17000002 */ bnez $t8, .L8000A438 -/* 00B030 8000A430 00000000 */ nop -/* 00B034 8000A434 0007000D */ break 7 -.L8000A438: -/* 00B038 8000A438 2401FFFF */ li $at, -1 -/* 00B03C 8000A43C 17010004 */ bne $t8, $at, .L8000A450 -/* 00B040 8000A440 3C018000 */ lui $at, 0x8000 -/* 00B044 8000A444 14810002 */ bne $a0, $at, .L8000A450 -/* 00B048 8000A448 00000000 */ nop -/* 00B04C 8000A44C 0006000D */ break 6 -.L8000A450: -/* 00B050 8000A450 00002010 */ mfhi $a0 -/* 00B054 8000A454 3C058016 */ lui $a1, %hi(D_80163090) # 0x8016 -/* 00B058 8000A458 308AFFFF */ andi $t2, $a0, 0xffff -/* 00B05C 8000A45C 3C068016 */ lui $a2, %hi(gPlayerPathIndex + 2) # $a2, 0x8016 -/* 00B060 8000A460 00B92821 */ addu $a1, $a1, $t9 -/* 00B064 8000A464 01402025 */ move $a0, $t2 -/* 00B068 8000A468 8CA53090 */ lw $a1, %lo(D_80163090)($a1) # 0x3090($a1) -/* 00B06C 8000A46C 84C6344A */ lh $a2, %lo(gPlayerPathIndex + 2)($a2) -/* 00B070 8000A470 0C002EF6 */ jal set_track_offset_position -/* 00B074 8000A474 AFA8003C */ sw $t0, 0x3c($sp) -/* 00B078 8000A478 3C078016 */ lui $a3, %hi(gOffsetPosition) # $a3, 0x8016 -/* 00B07C 8000A47C 24E72FA0 */ addiu $a3, %lo(gOffsetPosition) # addiu $a3, $a3, 0x2fa0 -/* 00B080 8000A480 8FA8003C */ lw $t0, 0x3c($sp) -.L8000A484: -/* 00B084 8000A484 8FA60040 */ lw $a2, 0x40($sp) -.L8000A488: -/* 00B088 8000A488 00E02825 */ move $a1, $a3 -/* 00B08C 8000A48C AFA8003C */ sw $t0, 0x3c($sp) -/* 00B090 8000A490 0C0AD489 */ jal get_angle_between_two_vectors -/* 00B094 8000A494 24C40014 */ addiu $a0, $a2, 0x14 -/* 00B098 8000A498 8FA60040 */ lw $a2, 0x40($sp) -/* 00B09C 8000A49C 8FA8003C */ lw $t0, 0x3c($sp) -/* 00B0A0 8000A4A0 00026823 */ negu $t5, $v0 -/* 00B0A4 8000A4A4 10000017 */ b .L8000A504 -/* 00B0A8 8000A4A8 A4CD002E */ sh $t5, 0x2e($a2) -.L8000A4AC: -/* 00B0AC 8000A4AC 956B30E0 */ lhu $t3, %lo(gCurrentNearestPathPoint)($t3) # 0x30e0($t3) -/* 00B0B0 8000A4B0 958C4430 */ lhu $t4, %lo(gSelectedPathCount)($t4) -/* 00B0B4 8000A4B4 8F393448 */ lw $t9, %lo(gPlayerPathIndex)($t9) # 0x3448($t9) -/* 00B0B8 8000A4B8 256E0004 */ addiu $t6, $t3, 4 -/* 00B0BC 8000A4BC 01CC001A */ div $zero, $t6, $t4 -/* 00B0C0 8000A4C0 00196880 */ sll $t5, $t9, 2 -/* 00B0C4 8000A4C4 01ED7821 */ addu $t7, $t7, $t5 -/* 00B0C8 8000A4C8 8DEF4590 */ lw $t7, %lo(gPathExpectedRotation)($t7) # 0x4590($t7) -/* 00B0CC 8000A4CC 0000C010 */ mfhi $t8 -/* 00B0D0 8000A4D0 00185040 */ sll $t2, $t8, 1 -/* 00B0D4 8000A4D4 15800002 */ bnez $t4, .L8000A4E0 -/* 00B0D8 8000A4D8 00000000 */ nop -/* 00B0DC 8000A4DC 0007000D */ break 7 -.L8000A4E0: -/* 00B0E0 8000A4E0 2401FFFF */ li $at, -1 -/* 00B0E4 8000A4E4 15810004 */ bne $t4, $at, .L8000A4F8 -/* 00B0E8 8000A4E8 3C018000 */ lui $at, 0x8000 -/* 00B0EC 8000A4EC 15C10002 */ bne $t6, $at, .L8000A4F8 -/* 00B0F0 8000A4F0 00000000 */ nop -/* 00B0F4 8000A4F4 0006000D */ break 6 -.L8000A4F8: -/* 00B0F8 8000A4F8 01EA5821 */ addu $t3, $t7, $t2 -/* 00B0FC 8000A4FC 856E0000 */ lh $t6, ($t3) -/* 00B100 8000A500 A4CE002E */ sh $t6, 0x2e($a2) -.L8000A504: -/* 00B104 8000A504 00C02025 */ move $a0, $a2 -.L8000A508: -/* 00B108 8000A508 00002825 */ move $a1, $zero -/* 00B10C 8000A50C 0C00DA03 */ jal apply_cpu_turn -/* 00B110 8000A510 AFA8003C */ sw $t0, 0x3c($sp) -/* 00B114 8000A514 8FA8003C */ lw $t0, 0x3c($sp) -/* 00B118 8000A518 8FA400D0 */ lw $a0, 0xd0($sp) -/* 00B11C 8000A51C 8FA60040 */ lw $a2, 0x40($sp) -/* 00B120 8000A520 0C002109 */ jal regulate_cpu_speed -/* 00B124 8000A524 8D050000 */ lw $a1, ($t0) -/* 00B128 8000A528 10000302 */ b .L8000B134 -/* 00B12C 8000A52C 8FBF0014 */ lw $ra, 0x14($sp) -.L8000A530: -/* 00B130 8000A530 258C30E8 */ addiu $t4, %lo(D_801630E8) # addiu $t4, $t4, 0x30e8 -/* 00B134 8000A534 010CC021 */ addu $t8, $t0, $t4 -/* 00B138 8000A538 AFB8002C */ sw $t8, 0x2c($sp) -/* 00B13C 8000A53C 87020000 */ lh $v0, ($t8) -/* 00B140 8000A540 2401FFFF */ li $at, -1 -/* 00B144 8000A544 8FAD0040 */ lw $t5, 0x40($sp) -/* 00B148 8000A548 51220004 */ beql $t1, $v0, .L8000A55C -/* 00B14C 8000A54C 8DAF00BC */ lw $t7, 0xbc($t5) -/* 00B150 8000A550 14410006 */ bne $v0, $at, .L8000A56C -/* 00B154 8000A554 00000000 */ nop -/* 00B158 8000A558 8DAF00BC */ lw $t7, 0xbc($t5) -.L8000A55C: -/* 00B15C 8000A55C 35EA0010 */ ori $t2, $t7, 0x10 -/* 00B160 8000A560 ADAA00BC */ sw $t2, 0xbc($t5) -/* 00B164 8000A564 8FAB002C */ lw $t3, 0x2c($sp) -/* 00B168 8000A568 85620000 */ lh $v0, ($t3) -.L8000A56C: -/* 00B16C 8000A56C 1040008A */ beqz $v0, .L8000A798 -/* 00B170 8000A570 8FAE0040 */ lw $t6, 0x40($sp) -/* 00B174 8000A574 25C40020 */ addiu $a0, $t6, 0x20 -/* 00B178 8000A578 0C0AD489 */ jal get_angle_between_two_vectors -/* 00B17C 8000A57C 25C50014 */ addiu $a1, $t6, 0x14 -/* 00B180 8000A580 8FAC0034 */ lw $t4, 0x34($sp) -/* 00B184 8000A584 3C188016 */ lui $t8, %hi(sPlayerAngle) # $t8, 0x8016 -/* 00B188 8000A588 27183300 */ addiu $t8, %lo(sPlayerAngle) # addiu $t8, $t8, 0x3300 -/* 00B18C 8000A58C 0002C823 */ negu $t9, $v0 -/* 00B190 8000A590 01981821 */ addu $v1, $t4, $t8 -/* 00B194 8000A594 A4790000 */ sh $t9, ($v1) -/* 00B198 8000A598 3C0F8016 */ lui $t7, %hi(sSomeNearestPathPoint) # $t7, 0x8016 -/* 00B19C 8000A59C 85EF2FCE */ lh $t7, %lo(sSomeNearestPathPoint)($t7) -/* 00B1A0 8000A5A0 3C0D8016 */ lui $t5, %hi(gSelectedPathCount) # $t5, 0x8016 -/* 00B1A4 8000A5A4 95AD4430 */ lhu $t5, %lo(gSelectedPathCount)($t5) -/* 00B1A8 8000A5A8 25EA0002 */ addiu $t2, $t7, 2 -/* 00B1AC 8000A5AC 3C0C8016 */ lui $t4, %hi(gCurrentPathPointExpectedRotationPath) # $t4, 0x8016 -/* 00B1B0 8000A5B0 014D001A */ div $zero, $t2, $t5 -/* 00B1B4 8000A5B4 8D8C31DC */ lw $t4, %lo(gCurrentPathPointExpectedRotationPath)($t4) -/* 00B1B8 8000A5B8 00005810 */ mfhi $t3 -/* 00B1BC 8000A5BC 000B7040 */ sll $t6, $t3, 1 -/* 00B1C0 8000A5C0 018EC021 */ addu $t8, $t4, $t6 -/* 00B1C4 8000A5C4 87190000 */ lh $t9, ($t8) -/* 00B1C8 8000A5C8 24060168 */ li $a2, 360 -/* 00B1CC 8000A5CC 3407FFFF */ li $a3, 65535 -/* 00B1D0 8000A5D0 03260019 */ multu $t9, $a2 -/* 00B1D4 8000A5D4 846B0000 */ lh $t3, ($v1) -/* 00B1D8 8000A5D8 15A00002 */ bnez $t5, .L8000A5E4 -/* 00B1DC 8000A5DC 00000000 */ nop -/* 00B1E0 8000A5E0 0007000D */ break 7 -.L8000A5E4: -/* 00B1E4 8000A5E4 2401FFFF */ li $at, -1 -/* 00B1E8 8000A5E8 15A10004 */ bne $t5, $at, .L8000A5FC -/* 00B1EC 8000A5EC 3C018000 */ lui $at, 0x8000 -/* 00B1F0 8000A5F0 15410002 */ bne $t2, $at, .L8000A5FC -/* 00B1F4 8000A5F4 00000000 */ nop -/* 00B1F8 8000A5F8 0006000D */ break 6 -.L8000A5FC: -/* 00B1FC 8000A5FC 00007812 */ mflo $t7 -/* 00B200 8000A600 00000000 */ nop -/* 00B204 8000A604 00000000 */ nop -/* 00B208 8000A608 01E7001A */ div $zero, $t7, $a3 -/* 00B20C 8000A60C 00002012 */ mflo $a0 -/* 00B210 8000A610 00045400 */ sll $t2, $a0, 0x10 -/* 00B214 8000A614 14E00002 */ bnez $a3, .L8000A620 -/* 00B218 8000A618 00000000 */ nop -/* 00B21C 8000A61C 0007000D */ break 7 -.L8000A620: -/* 00B220 8000A620 2401FFFF */ li $at, -1 -/* 00B224 8000A624 14E10004 */ bne $a3, $at, .L8000A638 -/* 00B228 8000A628 3C018000 */ lui $at, 0x8000 -/* 00B22C 8000A62C 15E10002 */ bne $t7, $at, .L8000A638 -/* 00B230 8000A630 00000000 */ nop -/* 00B234 8000A634 0006000D */ break 6 -.L8000A638: -/* 00B238 8000A638 01660019 */ multu $t3, $a2 -/* 00B23C 8000A63C 000A6C03 */ sra $t5, $t2, 0x10 -/* 00B240 8000A640 01A02025 */ move $a0, $t5 -/* 00B244 8000A644 00006012 */ mflo $t4 -/* 00B248 8000A648 00000000 */ nop -/* 00B24C 8000A64C 00000000 */ nop -/* 00B250 8000A650 0187001A */ div $zero, $t4, $a3 -/* 00B254 8000A654 14E00002 */ bnez $a3, .L8000A660 -/* 00B258 8000A658 00000000 */ nop -/* 00B25C 8000A65C 0007000D */ break 7 -.L8000A660: -/* 00B260 8000A660 2401FFFF */ li $at, -1 -/* 00B264 8000A664 14E10004 */ bne $a3, $at, .L8000A678 -/* 00B268 8000A668 3C018000 */ lui $at, 0x8000 -/* 00B26C 8000A66C 15810002 */ bne $t4, $at, .L8000A678 -/* 00B270 8000A670 00000000 */ nop -/* 00B274 8000A674 0006000D */ break 6 -.L8000A678: -/* 00B278 8000A678 00002812 */ mflo $a1 -/* 00B27C 8000A67C 00057400 */ sll $t6, $a1, 0x10 -/* 00B280 8000A680 000EC403 */ sra $t8, $t6, 0x10 -/* 00B284 8000A684 2881FF4C */ slti $at, $a0, -0xb4 -/* 00B288 8000A688 10200004 */ beqz $at, .L8000A69C -/* 00B28C 8000A68C 03002825 */ move $a1, $t8 -/* 00B290 8000A690 24840168 */ addiu $a0, $a0, 0x168 -/* 00B294 8000A694 0004CC00 */ sll $t9, $a0, 0x10 -/* 00B298 8000A698 00192403 */ sra $a0, $t9, 0x10 -.L8000A69C: -/* 00B29C 8000A69C 288100B5 */ slti $at, $a0, 0xb5 -/* 00B2A0 8000A6A0 54200005 */ bnel $at, $zero, .L8000A6B8 -/* 00B2A4 8000A6A4 28A1FF4C */ slti $at, $a1, -0xb4 -/* 00B2A8 8000A6A8 2484FE98 */ addiu $a0, $a0, -0x168 -/* 00B2AC 8000A6AC 00045400 */ sll $t2, $a0, 0x10 -/* 00B2B0 8000A6B0 000A2403 */ sra $a0, $t2, 0x10 -/* 00B2B4 8000A6B4 28A1FF4C */ slti $at, $a1, -0xb4 -.L8000A6B8: -/* 00B2B8 8000A6B8 50200005 */ beql $at, $zero, .L8000A6D0 -/* 00B2BC 8000A6BC 28A100B5 */ slti $at, $a1, 0xb5 -/* 00B2C0 8000A6C0 24A50168 */ addiu $a1, $a1, 0x168 -/* 00B2C4 8000A6C4 00055C00 */ sll $t3, $a1, 0x10 -/* 00B2C8 8000A6C8 000B2C03 */ sra $a1, $t3, 0x10 -/* 00B2CC 8000A6CC 28A100B5 */ slti $at, $a1, 0xb5 -.L8000A6D0: -/* 00B2D0 8000A6D0 54200005 */ bnel $at, $zero, .L8000A6E8 -/* 00B2D4 8000A6D4 00851023 */ subu $v0, $a0, $a1 -/* 00B2D8 8000A6D8 24A5FE98 */ addiu $a1, $a1, -0x168 -/* 00B2DC 8000A6DC 00057400 */ sll $t6, $a1, 0x10 -/* 00B2E0 8000A6E0 000E2C03 */ sra $a1, $t6, 0x10 -/* 00B2E4 8000A6E4 00851023 */ subu $v0, $a0, $a1 -.L8000A6E8: -/* 00B2E8 8000A6E8 00023400 */ sll $a2, $v0, 0x10 -/* 00B2EC 8000A6EC 00021C00 */ sll $v1, $v0, 0x10 -/* 00B2F0 8000A6F0 00067C03 */ sra $t7, $a2, 0x10 -/* 00B2F4 8000A6F4 0003CC03 */ sra $t9, $v1, 0x10 -/* 00B2F8 8000A6F8 29E1FF4C */ slti $at, $t7, -0xb4 -/* 00B2FC 8000A6FC 10200004 */ beqz $at, .L8000A710 -/* 00B300 8000A700 03201825 */ move $v1, $t9 -/* 00B304 8000A704 25E30168 */ addiu $v1, $t7, 0x168 -/* 00B308 8000A708 00035400 */ sll $t2, $v1, 0x10 -/* 00B30C 8000A70C 000A1C03 */ sra $v1, $t2, 0x10 -.L8000A710: -/* 00B310 8000A710 286100B5 */ slti $at, $v1, 0xb5 -/* 00B314 8000A714 14200004 */ bnez $at, .L8000A728 -/* 00B318 8000A718 8FA4002C */ lw $a0, 0x2c($sp) -/* 00B31C 8000A71C 2463FE98 */ addiu $v1, $v1, -0x168 -/* 00B320 8000A720 00035C00 */ sll $t3, $v1, 0x10 -/* 00B324 8000A724 000B1C03 */ sra $v1, $t3, 0x10 -.L8000A728: -/* 00B328 8000A728 84820000 */ lh $v0, ($a0) -/* 00B32C 8000A72C 2401FFFF */ li $at, -1 -/* 00B330 8000A730 10410005 */ beq $v0, $at, .L8000A748 -/* 00B334 8000A734 24010001 */ li $at, 1 -/* 00B338 8000A738 5041000F */ beql $v0, $at, .L8000A778 -/* 00B33C 8000A73C 2861FFFB */ slti $at, $v1, -5 -/* 00B340 8000A740 10000015 */ b .L8000A798 -/* 00B344 8000A744 00000000 */ nop -.L8000A748: -/* 00B348 8000A748 28610006 */ slti $at, $v1, 6 -/* 00B34C 8000A74C 14200007 */ bnez $at, .L8000A76C -/* 00B350 8000A750 00000000 */ nop -/* 00B354 8000A754 8FAE0040 */ lw $t6, 0x40($sp) -/* 00B358 8000A758 A4800000 */ sh $zero, ($a0) -/* 00B35C 8000A75C 2401FFEF */ li $at, -17 -/* 00B360 8000A760 8DD800BC */ lw $t8, 0xbc($t6) -/* 00B364 8000A764 0301C824 */ and $t9, $t8, $at -/* 00B368 8000A768 ADD900BC */ sw $t9, 0xbc($t6) -.L8000A76C: -/* 00B36C 8000A76C 1000000A */ b .L8000A798 -/* 00B370 8000A770 00000000 */ nop -/* 00B374 8000A774 2861FFFB */ slti $at, $v1, -5 -.L8000A778: -/* 00B378 8000A778 10200007 */ beqz $at, .L8000A798 -/* 00B37C 8000A77C 00000000 */ nop -/* 00B380 8000A780 8FAF0040 */ lw $t7, 0x40($sp) -/* 00B384 8000A784 A4800000 */ sh $zero, ($a0) -/* 00B388 8000A788 2401FFEF */ li $at, -17 -/* 00B38C 8000A78C 8DEA00BC */ lw $t2, 0xbc($t7) -/* 00B390 8000A790 01416824 */ and $t5, $t2, $at -/* 00B394 8000A794 ADED00BC */ sw $t5, 0xbc($t7) -.L8000A798: -/* 00B398 8000A798 3C0B8016 */ lui $t3, %hi(gIncrementUpdatePlayer) # $t3, 0x8016 -/* 00B39C 8000A79C 8D6B3378 */ lw $t3, %lo(gIncrementUpdatePlayer)($t3) -/* 00B3A0 8000A7A0 8FB80030 */ lw $t8, 0x30($sp) -/* 00B3A4 8000A7A4 8FA400D0 */ lw $a0, 0xd0($sp) -/* 00B3A8 8000A7A8 316C0001 */ andi $t4, $t3, 1 -/* 00B3AC 8000A7AC 11980010 */ beq $t4, $t8, .L8000A7F0 -/* 00B3B0 8000A7B0 8FAA0040 */ lw $t2, 0x40($sp) -/* 00B3B4 8000A7B4 8FB90034 */ lw $t9, 0x34($sp) -/* 00B3B8 8000A7B8 3C058016 */ lui $a1, %hi(gPreviousAngleSteering) # 0x8016 -/* 00B3BC 8000A7BC 8FA40040 */ lw $a0, 0x40($sp) -/* 00B3C0 8000A7C0 00B92821 */ addu $a1, $a1, $t9 -/* 00B3C4 8000A7C4 0C00DA03 */ jal apply_cpu_turn -/* 00B3C8 8000A7C8 84A53050 */ lh $a1, %lo(gPreviousAngleSteering)($a1) # 0x3050($a1) -/* 00B3CC 8000A7CC 8FAE0038 */ lw $t6, 0x38($sp) -/* 00B3D0 8000A7D0 3C058016 */ lui $a1, %hi(gPreviousCpuTargetSpeed) # 0x8016 -/* 00B3D4 8000A7D4 8FA400D0 */ lw $a0, 0xd0($sp) -/* 00B3D8 8000A7D8 00AE2821 */ addu $a1, $a1, $t6 -/* 00B3DC 8000A7DC 8CA53210 */ lw $a1, %lo(gPreviousCpuTargetSpeed)($a1) # 0x3210($a1) -/* 00B3E0 8000A7E0 0C002109 */ jal regulate_cpu_speed -/* 00B3E4 8000A7E4 8FA60040 */ lw $a2, 0x40($sp) -/* 00B3E8 8000A7E8 10000252 */ b .L8000B134 -/* 00B3EC 8000A7EC 8FBF0014 */ lw $ra, 0x14($sp) -.L8000A7F0: -/* 00B3F0 8000A7F0 3C058016 */ lui $a1, %hi(sSomeNearestPathPoint) # $a1, 0x8016 -/* 00B3F4 8000A7F4 254D0014 */ addiu $t5, $t2, 0x14 -/* 00B3F8 8000A7F8 AFAD001C */ sw $t5, 0x1c($sp) -/* 00B3FC 8000A7FC 0C002DF9 */ jal are_in_curve -/* 00B400 8000A800 94A52FCE */ lhu $a1, %lo(sSomeNearestPathPoint)($a1) -/* 00B404 8000A804 8FAF0038 */ lw $t7, 0x38($sp) -/* 00B408 8000A808 3C0B8016 */ lui $t3, %hi(gIsPlayerInCurve) # $t3, 0x8016 -/* 00B40C 8000A80C 256B30B8 */ addiu $t3, %lo(gIsPlayerInCurve) # addiu $t3, $t3, 0x30b8 -/* 00B410 8000A810 01EB1821 */ addu $v1, $t7, $t3 -/* 00B414 8000A814 AC620000 */ sw $v0, ($v1) -/* 00B418 8000A818 3C058016 */ lui $a1, %hi(sSomeNearestPathPoint) # $a1, 0x8016 -/* 00B41C 8000A81C 94A52FCE */ lhu $a1, %lo(sSomeNearestPathPoint)($a1) -/* 00B420 8000A820 AFA30028 */ sw $v1, 0x28($sp) -/* 00B424 8000A824 0C00350E */ jal determine_ideal_cpu_position_offset -/* 00B428 8000A828 8FA400D0 */ lw $a0, 0xd0($sp) -/* 00B42C 8000A82C 3C02800E */ lui $v0, %hi(gCurrentCourseId) -/* 00B430 8000A830 8442C5A0 */ lh $v0, %lo(gCurrentCourseId)($v0) -/* 00B434 8000A834 24010014 */ li $at, 20 -/* 00B438 8000A838 8FA90038 */ lw $t1, 0x38($sp) -/* 00B43C 8000A83C 10410099 */ beq $v0, $at, .L8000AAA4 -/* 00B440 8000A840 00000000 */ nop -/* 00B444 8000A844 3C058016 */ lui $a1, %hi(gNumPathPointsTraversed) # 0x8016 -/* 00B448 8000A848 00A92821 */ addu $a1, $a1, $t1 -/* 00B44C 8000A84C 8CA54450 */ lw $a1, %lo(gNumPathPointsTraversed)($a1) # 0x4450($a1) -/* 00B450 8000A850 3C198016 */ lui $t9, %hi(gPlayerTrackPositionFactorInstruction) # $t9, 0x8016 -/* 00B454 8000A854 273934F8 */ addiu $t9, %lo(gPlayerTrackPositionFactorInstruction) # addiu $t9, $t9, 0x34f8 -/* 00B458 8000A858 28A1000B */ slti $at, $a1, 0xb -/* 00B45C 8000A85C 10200045 */ beqz $at, .L8000A974 -/* 00B460 8000A860 00000000 */ nop -/* 00B464 8000A864 8FAC00D0 */ lw $t4, 0xd0($sp) -/* 00B468 8000A868 3C048016 */ lui $a0, %hi(gCurrentNearestPathPoint) # $a0, 0x8016 -/* 00B46C 8000A86C 948430E0 */ lhu $a0, %lo(gCurrentNearestPathPoint)($a0) -/* 00B470 8000A870 000CC100 */ sll $t8, $t4, 4 -/* 00B474 8000A874 18A0001F */ blez $a1, .L8000A8F4 -/* 00B478 8000A878 03191821 */ addu $v1, $t8, $t9 -/* 00B47C 8000A87C 2401000A */ li $at, 10 -/* 00B480 8000A880 5441001D */ bnel $v0, $at, .L8000A8F8 -/* 00B484 8000A884 24840008 */ addiu $a0, $a0, 8 -/* 00B488 8000A888 24840014 */ addiu $a0, $a0, 0x14 -/* 00B48C 8000A88C 308EFFFF */ andi $t6, $a0, 0xffff -/* 00B490 8000A890 3C0A8016 */ lui $t2, %hi(gSelectedPathCount) # $t2, 0x8016 -/* 00B494 8000A894 954A4430 */ lhu $t2, %lo(gSelectedPathCount)($t2) -/* 00B498 8000A898 01C02025 */ move $a0, $t6 -/* 00B49C 8000A89C 24050000 */ li $a1, 0 -/* 00B4A0 8000A8A0 01CA001A */ div $zero, $t6, $t2 -/* 00B4A4 8000A8A4 15400002 */ bnez $t2, .L8000A8B0 -/* 00B4A8 8000A8A8 00000000 */ nop -/* 00B4AC 8000A8AC 0007000D */ break 7 -.L8000A8B0: -/* 00B4B0 8000A8B0 2401FFFF */ li $at, -1 -/* 00B4B4 8000A8B4 15410004 */ bne $t2, $at, .L8000A8C8 -/* 00B4B8 8000A8B8 3C018000 */ lui $at, 0x8000 -/* 00B4BC 8000A8BC 14810002 */ bne $a0, $at, .L8000A8C8 -/* 00B4C0 8000A8C0 00000000 */ nop -/* 00B4C4 8000A8C4 0006000D */ break 6 -.L8000A8C8: -/* 00B4C8 8000A8C8 00002010 */ mfhi $a0 -/* 00B4CC 8000A8CC 308DFFFF */ andi $t5, $a0, 0xffff -/* 00B4D0 8000A8D0 01A02025 */ move $a0, $t5 -/* 00B4D4 8000A8D4 00003025 */ move $a2, $zero -/* 00B4D8 8000A8D8 0C002EF6 */ jal set_track_offset_position -/* 00B4DC 8000A8DC AFA30030 */ sw $v1, 0x30($sp) -/* 00B4E0 8000A8E0 8FA30030 */ lw $v1, 0x30($sp) -/* 00B4E4 8000A8E4 44805000 */ mtc1 $zero, $f10 -/* 00B4E8 8000A8E8 8FA90038 */ lw $t1, 0x38($sp) -/* 00B4EC 8000A8EC 10000021 */ b .L8000A974 -/* 00B4F0 8000A8F0 E46A0004 */ swc1 $f10, 4($v1) -.L8000A8F4: -/* 00B4F4 8000A8F4 24840008 */ addiu $a0, $a0, 8 -.L8000A8F8: -/* 00B4F8 8000A8F8 308FFFFF */ andi $t7, $a0, 0xffff -/* 00B4FC 8000A8FC 3C0B8016 */ lui $t3, %hi(gSelectedPathCount) # $t3, 0x8016 -/* 00B500 8000A900 956B4430 */ lhu $t3, %lo(gSelectedPathCount)($t3) -/* 00B504 8000A904 01E02025 */ move $a0, $t7 -/* 00B508 8000A908 3C188016 */ lui $t8, %hi(gTrackPositionFactor) # $t8, 0x8016 -/* 00B50C 8000A90C 01EB001A */ div $zero, $t7, $t3 -/* 00B510 8000A910 15600002 */ bnez $t3, .L8000A91C -/* 00B514 8000A914 00000000 */ nop -/* 00B518 8000A918 0007000D */ break 7 -.L8000A91C: -/* 00B51C 8000A91C 2401FFFF */ li $at, -1 -/* 00B520 8000A920 15610004 */ bne $t3, $at, .L8000A934 -/* 00B524 8000A924 3C018000 */ lui $at, 0x8000 -/* 00B528 8000A928 14810002 */ bne $a0, $at, .L8000A934 -/* 00B52C 8000A92C 00000000 */ nop -/* 00B530 8000A930 0006000D */ break 6 -.L8000A934: -/* 00B534 8000A934 00002010 */ mfhi $a0 -/* 00B538 8000A938 27183068 */ addiu $t8, %lo(gTrackPositionFactor) # addiu $t8, $t8, 0x3068 -/* 00B53C 8000A93C 308CFFFF */ andi $t4, $a0, 0xffff -/* 00B540 8000A940 01384021 */ addu $t0, $t1, $t8 -/* 00B544 8000A944 3C068016 */ lui $a2, %hi(gPlayerPathIndex + 2) # $a2, 0x8016 -/* 00B548 8000A948 01802025 */ move $a0, $t4 -/* 00B54C 8000A94C 84C6344A */ lh $a2, %lo(gPlayerPathIndex + 2)($a2) -/* 00B550 8000A950 8D050000 */ lw $a1, ($t0) -/* 00B554 8000A954 AFA80020 */ sw $t0, 0x20($sp) -/* 00B558 8000A958 0C002EF6 */ jal set_track_offset_position -/* 00B55C 8000A95C AFA30030 */ sw $v1, 0x30($sp) -/* 00B560 8000A960 8FA80020 */ lw $t0, 0x20($sp) -/* 00B564 8000A964 8FA30030 */ lw $v1, 0x30($sp) -/* 00B568 8000A968 8FA90038 */ lw $t1, 0x38($sp) -/* 00B56C 8000A96C C5100000 */ lwc1 $f16, ($t0) -/* 00B570 8000A970 E4700000 */ swc1 $f16, ($v1) -.L8000A974: -/* 00B574 8000A974 3C198016 */ lui $t9, %hi(D_80162FD0) # $t9, 0x8016 -/* 00B578 8000A978 87392FD0 */ lh $t9, %lo(D_80162FD0)($t9) -/* 00B57C 8000A97C 24010001 */ li $at, 1 -/* 00B580 8000A980 8FAE0034 */ lw $t6, 0x34($sp) -/* 00B584 8000A984 1721001E */ bne $t9, $at, .L8000AA00 -/* 00B588 8000A988 3C0A8016 */ lui $t2, %hi(D_80162FF8) # 0x8016 -/* 00B58C 8000A98C 014E5021 */ addu $t2, $t2, $t6 -/* 00B590 8000A990 854A2FF8 */ lh $t2, %lo(D_80162FF8)($t2) # 0x2ff8($t2) -/* 00B594 8000A994 3C0F8016 */ lui $t7, %hi(gSelectedPathCount) # $t7, 0x8016 -/* 00B598 8000A998 15400019 */ bnez $t2, .L8000AA00 -/* 00B59C 8000A99C 00000000 */ nop -/* 00B5A0 8000A9A0 3C048016 */ lui $a0, %hi(gCurrentNearestPathPoint) # $a0, 0x8016 -/* 00B5A4 8000A9A4 948430E0 */ lhu $a0, %lo(gCurrentNearestPathPoint)($a0) -/* 00B5A8 8000A9A8 95EF4430 */ lhu $t7, %lo(gSelectedPathCount)($t7) -/* 00B5AC 8000A9AC 3C05BF33 */ lui $a1, (0xBF333333 >> 16) # lui $a1, 0xbf33 -/* 00B5B0 8000A9B0 24840007 */ addiu $a0, $a0, 7 -/* 00B5B4 8000A9B4 308DFFFF */ andi $t5, $a0, 0xffff -/* 00B5B8 8000A9B8 01AF001A */ div $zero, $t5, $t7 -/* 00B5BC 8000A9BC 01A02025 */ move $a0, $t5 -/* 00B5C0 8000A9C0 15E00002 */ bnez $t7, .L8000A9CC -/* 00B5C4 8000A9C4 00000000 */ nop -/* 00B5C8 8000A9C8 0007000D */ break 7 -.L8000A9CC: -/* 00B5CC 8000A9CC 2401FFFF */ li $at, -1 -/* 00B5D0 8000A9D0 15E10004 */ bne $t7, $at, .L8000A9E4 -/* 00B5D4 8000A9D4 3C018000 */ lui $at, 0x8000 -/* 00B5D8 8000A9D8 14810002 */ bne $a0, $at, .L8000A9E4 -/* 00B5DC 8000A9DC 00000000 */ nop -/* 00B5E0 8000A9E0 0006000D */ break 6 -.L8000A9E4: -/* 00B5E4 8000A9E4 00002010 */ mfhi $a0 -/* 00B5E8 8000A9E8 308BFFFF */ andi $t3, $a0, 0xffff -/* 00B5EC 8000A9EC 3C068016 */ lui $a2, %hi(gPlayerPathIndex + 2) # $a2, 0x8016 -/* 00B5F0 8000A9F0 01602025 */ move $a0, $t3 -/* 00B5F4 8000A9F4 84C6344A */ lh $a2, %lo(gPlayerPathIndex + 2)($a2) -/* 00B5F8 8000A9F8 0C002EF6 */ jal set_track_offset_position -/* 00B5FC 8000A9FC 34A53333 */ ori $a1, (0xBF333333 & 0xFFFF) # ori $a1, $a1, 0x3333 -.L8000AA00: -/* 00B600 8000AA00 3C0C8016 */ lui $t4, %hi(gPlayerPathIndex) # $t4, 0x8016 -/* 00B604 8000AA04 8D8C3448 */ lw $t4, %lo(gPlayerPathIndex)($t4) -/* 00B608 8000AA08 3C198016 */ lui $t9, %hi(D_80162FF8) # $t9, 0x8016 -/* 00B60C 8000AA0C 27392FF8 */ addiu $t9, %lo(D_80162FF8) # addiu $t9, $t9, 0x2ff8 -/* 00B610 8000AA10 15800024 */ bnez $t4, .L8000AAA4 -/* 00B614 8000AA14 8FB80034 */ lw $t8, 0x34($sp) -/* 00B618 8000AA18 03197021 */ addu $t6, $t8, $t9 -/* 00B61C 8000AA1C AFAE003C */ sw $t6, 0x3c($sp) -/* 00B620 8000AA20 0C002C50 */ jal func_8000B140 -/* 00B624 8000AA24 8FA400D0 */ lw $a0, 0xd0($sp) -/* 00B628 8000AA28 8FAA003C */ lw $t2, 0x3c($sp) -/* 00B62C 8000AA2C 3C0B8016 */ lui $t3, %hi(gSelectedPathCount) # $t3, 0x8016 -/* 00B630 8000AA30 8FB80038 */ lw $t8, 0x38($sp) -/* 00B634 8000AA34 854D0000 */ lh $t5, ($t2) -/* 00B638 8000AA38 19A0001A */ blez $t5, .L8000AAA4 -/* 00B63C 8000AA3C 00000000 */ nop -/* 00B640 8000AA40 3C048016 */ lui $a0, %hi(gCurrentNearestPathPoint) # $a0, 0x8016 -/* 00B644 8000AA44 948430E0 */ lhu $a0, %lo(gCurrentNearestPathPoint)($a0) -/* 00B648 8000AA48 956B4430 */ lhu $t3, %lo(gSelectedPathCount)($t3) -/* 00B64C 8000AA4C 3C058016 */ lui $a1, %hi(D_80163090) # 0x8016 -/* 00B650 8000AA50 24840005 */ addiu $a0, $a0, 5 -/* 00B654 8000AA54 308FFFFF */ andi $t7, $a0, 0xffff -/* 00B658 8000AA58 01EB001A */ div $zero, $t7, $t3 -/* 00B65C 8000AA5C 01E02025 */ move $a0, $t7 -/* 00B660 8000AA60 15600002 */ bnez $t3, .L8000AA6C -/* 00B664 8000AA64 00000000 */ nop -/* 00B668 8000AA68 0007000D */ break 7 -.L8000AA6C: -/* 00B66C 8000AA6C 2401FFFF */ li $at, -1 -/* 00B670 8000AA70 15610004 */ bne $t3, $at, .L8000AA84 -/* 00B674 8000AA74 3C018000 */ lui $at, 0x8000 -/* 00B678 8000AA78 14810002 */ bne $a0, $at, .L8000AA84 -/* 00B67C 8000AA7C 00000000 */ nop -/* 00B680 8000AA80 0006000D */ break 6 -.L8000AA84: -/* 00B684 8000AA84 00002010 */ mfhi $a0 -/* 00B688 8000AA88 308CFFFF */ andi $t4, $a0, 0xffff -/* 00B68C 8000AA8C 00B82821 */ addu $a1, $a1, $t8 -/* 00B690 8000AA90 3C068016 */ lui $a2, %hi(gPlayerPathIndex + 2) # $a2, 0x8016 -/* 00B694 8000AA94 01802025 */ move $a0, $t4 -/* 00B698 8000AA98 84C6344A */ lh $a2, %lo(gPlayerPathIndex + 2)($a2) -/* 00B69C 8000AA9C 0C002EF6 */ jal set_track_offset_position -/* 00B6A0 8000AAA0 8CA53090 */ lw $a1, %lo(D_80163090)($a1) # 0x3090($a1) -.L8000AAA4: -/* 00B6A4 8000AAA4 3C0E800E */ lui $t6, %hi(gCurrentCourseId) -/* 00B6A8 8000AAA8 85CEC5A0 */ lh $t6, %lo(gCurrentCourseId)($t6) -/* 00B6AC 8000AAAC 8FA90038 */ lw $t1, 0x38($sp) -/* 00B6B0 8000AAB0 3C198016 */ lui $t9, %hi(gTrackPositionFactor) # $t9, 0x8016 -/* 00B6B4 8000AAB4 27393068 */ addiu $t9, %lo(gTrackPositionFactor) # addiu $t9, $t9, 0x3068 -/* 00B6B8 8000AAB8 24010014 */ li $at, 20 -/* 00B6BC 8000AABC 15C10038 */ bne $t6, $at, .L8000ABA0 -/* 00B6C0 8000AAC0 01394021 */ addu $t0, $t1, $t9 -/* 00B6C4 8000AAC4 8FAA0034 */ lw $t2, 0x34($sp) -/* 00B6C8 8000AAC8 3C028016 */ lui $v0, %hi(D_80163410) # 0x8016 -/* 00B6CC 8000AACC 24010003 */ li $at, 3 -/* 00B6D0 8000AAD0 004A1021 */ addu $v0, $v0, $t2 -/* 00B6D4 8000AAD4 84423410 */ lh $v0, %lo(D_80163410)($v0) # 0x3410($v0) -/* 00B6D8 8000AAD8 3C078016 */ lui $a3, %hi(gOffsetPosition) # $a3, 0x8016 -/* 00B6DC 8000AADC 24E72FA0 */ addiu $a3, %lo(gOffsetPosition) # addiu $a3, $a3, 0x2fa0 -/* 00B6E0 8000AAE0 10410005 */ beq $v0, $at, .L8000AAF8 -/* 00B6E4 8000AAE4 24010004 */ li $at, 4 -/* 00B6E8 8000AAE8 1041000C */ beq $v0, $at, .L8000AB1C -/* 00B6EC 8000AAEC 8FAD0024 */ lw $t5, 0x24($sp) -/* 00B6F0 8000AAF0 1000002B */ b .L8000ABA0 -/* 00B6F4 8000AAF4 00000000 */ nop -.L8000AAF8: -/* 00B6F8 8000AAF8 3C018016 */ lui $at, %hi(D_80163418) -/* 00B6FC 8000AAFC 00290821 */ addu $at, $at, $t1 -/* 00B700 8000AB00 C4243418 */ lwc1 $f4, %lo(D_80163418)($at) -/* 00B704 8000AB04 3C018016 */ lui $at, %hi(D_80163438) -/* 00B708 8000AB08 00290821 */ addu $at, $at, $t1 -/* 00B70C 8000AB0C E4E40000 */ swc1 $f4, ($a3) -/* 00B710 8000AB10 C4263438 */ lwc1 $f6, %lo(D_80163438)($at) -/* 00B714 8000AB14 10000022 */ b .L8000ABA0 -/* 00B718 8000AB18 E4E60008 */ swc1 $f6, 8($a3) -.L8000AB1C: -/* 00B71C 8000AB1C 8FAC0034 */ lw $t4, 0x34($sp) -/* 00B720 8000AB20 3C188016 */ lui $t8, %hi(gPathCountByPathIndex) # 0x8016 -/* 00B724 8000AB24 95AF0000 */ lhu $t7, ($t5) -/* 00B728 8000AB28 030CC021 */ addu $t8, $t8, $t4 -/* 00B72C 8000AB2C 971845C8 */ lhu $t8, %lo(gPathCountByPathIndex)($t8) # 0x45c8($t8) -/* 00B730 8000AB30 25EB000A */ addiu $t3, $t7, 0xa -/* 00B734 8000AB34 3C0A8016 */ lui $t2, %hi(gTrackPaths) # 0x8016 -/* 00B738 8000AB38 0178001A */ div $zero, $t3, $t8 -/* 00B73C 8000AB3C 01495021 */ addu $t2, $t2, $t1 -/* 00B740 8000AB40 8D4A4550 */ lw $t2, %lo(gTrackPaths)($t2) # 0x4550($t2) -/* 00B744 8000AB44 0000C810 */ mfhi $t9 -/* 00B748 8000AB48 001970C0 */ sll $t6, $t9, 3 -/* 00B74C 8000AB4C 01CA1021 */ addu $v0, $t6, $t2 -/* 00B750 8000AB50 844D0000 */ lh $t5, ($v0) -/* 00B754 8000AB54 3C078016 */ lui $a3, %hi(gOffsetPosition) # $a3, 0x8016 -/* 00B758 8000AB58 24E72FA0 */ addiu $a3, %lo(gOffsetPosition) # addiu $a3, $a3, 0x2fa0 -/* 00B75C 8000AB5C 448D9000 */ mtc1 $t5, $f18 -/* 00B760 8000AB60 17000002 */ bnez $t8, .L8000AB6C -/* 00B764 8000AB64 00000000 */ nop -/* 00B768 8000AB68 0007000D */ break 7 -.L8000AB6C: -/* 00B76C 8000AB6C 2401FFFF */ li $at, -1 -/* 00B770 8000AB70 17010004 */ bne $t8, $at, .L8000AB84 -/* 00B774 8000AB74 3C018000 */ lui $at, 0x8000 -/* 00B778 8000AB78 15610002 */ bne $t3, $at, .L8000AB84 -/* 00B77C 8000AB7C 00000000 */ nop -/* 00B780 8000AB80 0006000D */ break 6 -.L8000AB84: -/* 00B784 8000AB84 46809220 */ cvt.s.w $f8, $f18 -/* 00B788 8000AB88 E4E80000 */ swc1 $f8, ($a3) -/* 00B78C 8000AB8C 844F0004 */ lh $t7, 4($v0) -/* 00B790 8000AB90 448F5000 */ mtc1 $t7, $f10 -/* 00B794 8000AB94 00000000 */ nop -/* 00B798 8000AB98 46805420 */ cvt.s.w $f16, $f10 -/* 00B79C 8000AB9C E4F00008 */ swc1 $f16, 8($a3) -.L8000ABA0: -/* 00B7A0 8000ABA0 3C0C8016 */ lui $t4, %hi(gPreviousPlayerAiOffsetX) # $t4, 0x8016 -/* 00B7A4 8000ABA4 3C078016 */ lui $a3, %hi(gOffsetPosition) # 0x8016 -/* 00B7A8 8000ABA8 258C3178 */ addiu $t4, %lo(gPreviousPlayerAiOffsetX) # addiu $t4, $t4, 0x3178 -/* 00B7AC 8000ABAC 24E52FA0 */ addiu $a1, $a3, %lo(gOffsetPosition) # 0x2fa0 -/* 00B7B0 8000ABB0 012C1021 */ addu $v0, $t1, $t4 -/* 00B7B4 8000ABB4 C4460000 */ lwc1 $f6, ($v0) -/* 00B7B8 8000ABB8 C4A40000 */ lwc1 $f4, ($a1) -/* 00B7BC 8000ABBC 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 00B7C0 8000ABC0 44810000 */ mtc1 $at, $f0 -/* 00B7C4 8000ABC4 46062480 */ add.s $f18, $f4, $f6 -/* 00B7C8 8000ABC8 3C0B8016 */ lui $t3, %hi(gPreviousPlayerAiOffsetZ) # $t3, 0x8016 -/* 00B7CC 8000ABCC 256B31A0 */ addiu $t3, %lo(gPreviousPlayerAiOffsetZ) # addiu $t3, $t3, 0x31a0 -/* 00B7D0 8000ABD0 012B1821 */ addu $v1, $t1, $t3 -/* 00B7D4 8000ABD4 46009202 */ mul.s $f8, $f18, $f0 -/* 00B7D8 8000ABD8 C4AA0008 */ lwc1 $f10, 8($a1) -/* 00B7DC 8000ABDC E4A80000 */ swc1 $f8, ($a1) -/* 00B7E0 8000ABE0 C4700000 */ lwc1 $f16, ($v1) -/* 00B7E4 8000ABE4 C4B20000 */ lwc1 $f18, ($a1) -/* 00B7E8 8000ABE8 46105100 */ add.s $f4, $f10, $f16 -/* 00B7EC 8000ABEC 46002182 */ mul.s $f6, $f4, $f0 -/* 00B7F0 8000ABF0 E4A60008 */ swc1 $f6, 8($a1) -/* 00B7F4 8000ABF4 E4520000 */ swc1 $f18, ($v0) -/* 00B7F8 8000ABF8 C4A80008 */ lwc1 $f8, 8($a1) -/* 00B7FC 8000ABFC AFA80020 */ sw $t0, 0x20($sp) -/* 00B800 8000AC00 8FA4001C */ lw $a0, 0x1c($sp) -/* 00B804 8000AC04 0C0AD489 */ jal get_angle_between_two_vectors -/* 00B808 8000AC08 E4680000 */ swc1 $f8, ($v1) -/* 00B80C 8000AC0C 3C013FC0 */ li $at, 0x3FC00000 # 1.500000 -/* 00B810 8000AC10 44810000 */ mtc1 $at, $f0 -/* 00B814 8000AC14 3C014336 */ li $at, 0x43360000 # 182.000000 -/* 00B818 8000AC18 44816000 */ mtc1 $at, $f12 -/* 00B81C 8000AC1C 46000407 */ neg.s $f16, $f0 -/* 00B820 8000AC20 8FA70040 */ lw $a3, 0x40($sp) -/* 00B824 8000AC24 460C0082 */ mul.s $f2, $f0, $f12 -/* 00B828 8000AC28 00027023 */ negu $t6, $v0 -/* 00B82C 8000AC2C 84E4002E */ lh $a0, 0x2e($a3) -/* 00B830 8000AC30 460C8102 */ mul.s $f4, $f16, $f12 -/* 00B834 8000AC34 8FA80020 */ lw $t0, 0x20($sp) -/* 00B838 8000AC38 01C41823 */ subu $v1, $t6, $a0 -/* 00B83C 8000AC3C 00033400 */ sll $a2, $v1, 0x10 -/* 00B840 8000AC40 00035C00 */ sll $t3, $v1, 0x10 -/* 00B844 8000AC44 00065403 */ sra $t2, $a2, 0x10 -/* 00B848 8000AC48 4600128D */ trunc.w.s $f10, $f2 -/* 00B84C 8000AC4C 000BC403 */ sra $t8, $t3, 0x10 -/* 00B850 8000AC50 01403025 */ move $a2, $t2 -/* 00B854 8000AC54 4600218D */ trunc.w.s $f6, $f4 -/* 00B858 8000AC58 44055000 */ mfc1 $a1, $f10 -/* 00B85C 8000AC5C 3C0B800E */ lui $t3, %hi(gCurrentCourseId) -/* 00B860 8000AC60 3C03800E */ lui $v1, %hi(cpu_SteeringSensitivity) -/* 00B864 8000AC64 00057C00 */ sll $t7, $a1, 0x10 -/* 00B868 8000AC68 44023000 */ mfc1 $v0, $f6 -/* 00B86C 8000AC6C 000F6403 */ sra $t4, $t7, 0x10 -/* 00B870 8000AC70 0198082A */ slt $at, $t4, $t8 -/* 00B874 8000AC74 10200004 */ beqz $at, .L8000AC88 -/* 00B878 8000AC78 00025400 */ sll $t2, $v0, 0x10 -/* 00B87C 8000AC7C 00053400 */ sll $a2, $a1, 0x10 -/* 00B880 8000AC80 0006CC03 */ sra $t9, $a2, 0x10 -/* 00B884 8000AC84 03203025 */ move $a2, $t9 -.L8000AC88: -/* 00B888 8000AC88 000A6C03 */ sra $t5, $t2, 0x10 -/* 00B88C 8000AC8C 00CD082A */ slt $at, $a2, $t5 -/* 00B890 8000AC90 10200004 */ beqz $at, .L8000ACA4 -/* 00B894 8000AC94 3C188016 */ lui $t8, %hi(gCurrentTrackSectionTypesPath) # $t8, 0x8016 -/* 00B898 8000AC98 00023400 */ sll $a2, $v0, 0x10 -/* 00B89C 8000AC9C 00067C03 */ sra $t7, $a2, 0x10 -/* 00B8A0 8000ACA0 01E03025 */ move $a2, $t7 -.L8000ACA4: -/* 00B8A4 8000ACA4 8F1831D8 */ lw $t8, %lo(gCurrentTrackSectionTypesPath)($t8) -/* 00B8A8 8000ACA8 8FB90034 */ lw $t9, 0x34($sp) -/* 00B8AC 8000ACAC 856BC5A0 */ lh $t3, %lo(gCurrentCourseId)($t3) -/* 00B8B0 8000ACB0 24010002 */ li $at, 2 -/* 00B8B4 8000ACB4 03197021 */ addu $t6, $t8, $t9 -/* 00B8B8 8000ACB8 85C20000 */ lh $v0, ($t6) -/* 00B8BC 8000ACBC 000B6040 */ sll $t4, $t3, 1 -/* 00B8C0 8000ACC0 006C1821 */ addu $v1, $v1, $t4 -/* 00B8C4 8000ACC4 10410006 */ beq $v0, $at, .L8000ACE0 -/* 00B8C8 8000ACC8 8463CA20 */ lh $v1, %lo(cpu_SteeringSensitivity)($v1) -/* 00B8CC 8000ACCC 24010003 */ li $at, 3 -/* 00B8D0 8000ACD0 50410014 */ beql $v0, $at, .L8000AD24 -/* 00B8D4 8000ACD4 3C013F00 */ lui $at, 0x3f00 -/* 00B8D8 8000ACD8 10000021 */ b .L8000AD60 -/* 00B8DC 8000ACDC 8FAA0034 */ lw $t2, 0x34($sp) -.L8000ACE0: -/* 00B8E0 8000ACE0 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 00B8E4 8000ACE4 44819000 */ mtc1 $at, $f18 -/* 00B8E8 8000ACE8 C5000000 */ lwc1 $f0, ($t0) -/* 00B8EC 8000ACEC 3C01BF00 */ li $at, 0xBF000000 # -0.500000 -/* 00B8F0 8000ACF0 44814000 */ mtc1 $at, $f8 -/* 00B8F4 8000ACF4 4600903C */ c.lt.s $f18, $f0 -/* 00B8F8 8000ACF8 00000000 */ nop -/* 00B8FC 8000ACFC 45020003 */ bc1fl .L8000AD0C -/* 00B900 8000AD00 4608003C */ c.lt.s $f0, $f8 -/* 00B904 8000AD04 24030014 */ li $v1, 20 -/* 00B908 8000AD08 4608003C */ c.lt.s $f0, $f8 -.L8000AD0C: -/* 00B90C 8000AD0C 00000000 */ nop -/* 00B910 8000AD10 45020013 */ bc1fl .L8000AD60 -/* 00B914 8000AD14 8FAA0034 */ lw $t2, 0x34($sp) -/* 00B918 8000AD18 10000010 */ b .L8000AD5C -/* 00B91C 8000AD1C 24030035 */ li $v1, 53 -/* 00B920 8000AD20 3C013F00 */ li $at, 0x3F000000 # 0.500000 -.L8000AD24: -/* 00B924 8000AD24 44815000 */ mtc1 $at, $f10 -/* 00B928 8000AD28 C5000000 */ lwc1 $f0, ($t0) -/* 00B92C 8000AD2C 3C01BF00 */ li $at, 0xBF000000 # -0.500000 -/* 00B930 8000AD30 44818000 */ mtc1 $at, $f16 -/* 00B934 8000AD34 4600503C */ c.lt.s $f10, $f0 -/* 00B938 8000AD38 00000000 */ nop -/* 00B93C 8000AD3C 45020003 */ bc1fl .L8000AD4C -/* 00B940 8000AD40 4610003C */ c.lt.s $f0, $f16 -/* 00B944 8000AD44 24030035 */ li $v1, 53 -/* 00B948 8000AD48 4610003C */ c.lt.s $f0, $f16 -.L8000AD4C: -/* 00B94C 8000AD4C 00000000 */ nop -/* 00B950 8000AD50 45020003 */ bc1fl .L8000AD60 -/* 00B954 8000AD54 8FAA0034 */ lw $t2, 0x34($sp) -/* 00B958 8000AD58 24030014 */ li $v1, 20 -.L8000AD5C: -/* 00B95C 8000AD5C 8FAA0034 */ lw $t2, 0x34($sp) -.L8000AD60: -/* 00B960 8000AD60 3C0D8016 */ lui $t5, %hi(cpu_BehaviourState) # 0x8016 -/* 00B964 8000AD64 24010002 */ li $at, 2 -/* 00B968 8000AD68 01AA6821 */ addu $t5, $t5, $t2 -/* 00B96C 8000AD6C 95AD32E8 */ lhu $t5, %lo(cpu_BehaviourState)($t5) # 0x32e8($t5) -/* 00B970 8000AD70 15A10013 */ bne $t5, $at, .L8000ADC0 -/* 00B974 8000AD74 3C01800F */ lui $at, %hi(D_800ECFB8) # $at, 0x800f -/* 00B978 8000AD78 C424CFB8 */ lwc1 $f4, %lo(D_800ECFB8)($at) -/* 00B97C 8000AD7C C5000000 */ lwc1 $f0, ($t0) -/* 00B980 8000AD80 3C01800F */ lui $at, %hi(D_800ECFBC) # $at, 0x800f -/* 00B984 8000AD84 8FAF002C */ lw $t7, 0x2c($sp) -/* 00B988 8000AD88 4600203C */ c.lt.s $f4, $f0 -/* 00B98C 8000AD8C 00000000 */ nop -/* 00B990 8000AD90 45030007 */ bc1tl .L8000ADB0 -/* 00B994 8000AD94 A5E00000 */ sh $zero, ($t7) -/* 00B998 8000AD98 C426CFBC */ lwc1 $f6, %lo(D_800ECFBC)($at) -/* 00B99C 8000AD9C 4606003C */ c.lt.s $f0, $f6 -/* 00B9A0 8000ADA0 00000000 */ nop -/* 00B9A4 8000ADA4 45020007 */ bc1fl .L8000ADC4 -/* 00B9A8 8000ADA8 8CE200BC */ lw $v0, 0xbc($a3) -/* 00B9AC 8000ADAC A5E00000 */ sh $zero, ($t7) -.L8000ADB0: -/* 00B9B0 8000ADB0 8CEB00BC */ lw $t3, 0xbc($a3) -/* 00B9B4 8000ADB4 2401FFEF */ li $at, -17 -/* 00B9B8 8000ADB8 01616024 */ and $t4, $t3, $at -/* 00B9BC 8000ADBC ACEC00BC */ sw $t4, 0xbc($a3) -.L8000ADC0: -/* 00B9C0 8000ADC0 8CE200BC */ lw $v0, 0xbc($a3) -.L8000ADC4: -/* 00B9C4 8000ADC4 8FB9002C */ lw $t9, 0x2c($sp) -/* 00B9C8 8000ADC8 30580002 */ andi $t8, $v0, 2 -/* 00B9CC 8000ADCC 53000029 */ beql $t8, $zero, .L8000AE74 -/* 00B9D0 8000ADD0 3C011000 */ lui $at, 0x1000 -/* 00B9D4 8000ADD4 87220000 */ lh $v0, ($t9) -/* 00B9D8 8000ADD8 2401FFFF */ li $at, -1 -/* 00B9DC 8000ADDC 2405FFCB */ li $a1, -53 -/* 00B9E0 8000ADE0 1041001F */ beq $v0, $at, .L8000AE60 -/* 00B9E4 8000ADE4 8FAA0034 */ lw $t2, 0x34($sp) -/* 00B9E8 8000ADE8 24010001 */ li $at, 1 -/* 00B9EC 8000ADEC 10410017 */ beq $v0, $at, .L8000AE4C -/* 00B9F0 8000ADF0 24050035 */ li $a1, 53 -/* 00B9F4 8000ADF4 00C30019 */ multu $a2, $v1 -/* 00B9F8 8000ADF8 8FAE0034 */ lw $t6, 0x34($sp) -/* 00B9FC 8000ADFC 3C0A8016 */ lui $t2, %hi(gPreviousAngleSteering) # $t2, 0x8016 -/* 00BA00 8000AE00 254A3050 */ addiu $t2, %lo(gPreviousAngleSteering) # addiu $t2, $t2, 0x3050 -/* 00BA04 8000AE04 01CA1021 */ addu $v0, $t6, $t2 -/* 00BA08 8000AE08 844D0000 */ lh $t5, ($v0) -/* 00BA0C 8000AE0C 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 00BA10 8000AE10 448D9000 */ mtc1 $t5, $f18 -/* 00BA14 8000AE14 00007812 */ mflo $t7 -/* 00BA18 8000AE18 448F5000 */ mtc1 $t7, $f10 -/* 00BA1C 8000AE1C 46809220 */ cvt.s.w $f8, $f18 -/* 00BA20 8000AE20 44819000 */ mtc1 $at, $f18 -/* 00BA24 8000AE24 46805420 */ cvt.s.w $f16, $f10 -/* 00BA28 8000AE28 46028103 */ div.s $f4, $f16, $f2 -/* 00BA2C 8000AE2C 46044180 */ add.s $f6, $f8, $f4 -/* 00BA30 8000AE30 46123283 */ div.s $f10, $f6, $f18 -/* 00BA34 8000AE34 4600540D */ trunc.w.s $f16, $f10 -/* 00BA38 8000AE38 44058000 */ mfc1 $a1, $f16 -/* 00BA3C 8000AE3C 00000000 */ nop -/* 00BA40 8000AE40 00056400 */ sll $t4, $a1, 0x10 -/* 00BA44 8000AE44 1000002A */ b .L8000AEF0 -/* 00BA48 8000AE48 000C2C03 */ sra $a1, $t4, 0x10 -.L8000AE4C: -/* 00BA4C 8000AE4C 8FB90034 */ lw $t9, 0x34($sp) -/* 00BA50 8000AE50 3C0E8016 */ lui $t6, %hi(gPreviousAngleSteering) # $t6, 0x8016 -/* 00BA54 8000AE54 25CE3050 */ addiu $t6, %lo(gPreviousAngleSteering) # addiu $t6, $t6, 0x3050 -/* 00BA58 8000AE58 10000025 */ b .L8000AEF0 -/* 00BA5C 8000AE5C 032E1021 */ addu $v0, $t9, $t6 -.L8000AE60: -/* 00BA60 8000AE60 3C0D8016 */ lui $t5, %hi(gPreviousAngleSteering) # $t5, 0x8016 -/* 00BA64 8000AE64 25AD3050 */ addiu $t5, %lo(gPreviousAngleSteering) # addiu $t5, $t5, 0x3050 -/* 00BA68 8000AE68 10000021 */ b .L8000AEF0 -/* 00BA6C 8000AE6C 014D1021 */ addu $v0, $t2, $t5 -/* 00BA70 8000AE70 3C011000 */ lui $at, (0x1000000C >> 16) # lui $at, 0x1000 -.L8000AE74: -/* 00BA74 8000AE74 3421000C */ ori $at, (0x1000000C & 0xFFFF) # ori $at, $at, 0xc -/* 00BA78 8000AE78 00417824 */ and $t7, $v0, $at -/* 00BA7C 8000AE7C 11E00007 */ beqz $t7, .L8000AE9C -/* 00BA80 8000AE80 00000000 */ nop -/* 00BA84 8000AE84 8FAB0034 */ lw $t3, 0x34($sp) -/* 00BA88 8000AE88 3C0C8016 */ lui $t4, %hi(gPreviousAngleSteering) # $t4, 0x8016 -/* 00BA8C 8000AE8C 258C3050 */ addiu $t4, %lo(gPreviousAngleSteering) # addiu $t4, $t4, 0x3050 -/* 00BA90 8000AE90 00002825 */ move $a1, $zero -/* 00BA94 8000AE94 10000016 */ b .L8000AEF0 -/* 00BA98 8000AE98 016C1021 */ addu $v0, $t3, $t4 -.L8000AE9C: -/* 00BA9C 8000AE9C 00C30019 */ multu $a2, $v1 -/* 00BAA0 8000AEA0 8FB80034 */ lw $t8, 0x34($sp) -/* 00BAA4 8000AEA4 3C198016 */ lui $t9, %hi(gPreviousAngleSteering) # $t9, 0x8016 -/* 00BAA8 8000AEA8 27393050 */ addiu $t9, %lo(gPreviousAngleSteering) # addiu $t9, $t9, 0x3050 -/* 00BAAC 8000AEAC 03191021 */ addu $v0, $t8, $t9 -/* 00BAB0 8000AEB0 844E0000 */ lh $t6, ($v0) -/* 00BAB4 8000AEB4 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 00BAB8 8000AEB8 448E4000 */ mtc1 $t6, $f8 -/* 00BABC 8000AEBC 00005012 */ mflo $t2 -/* 00BAC0 8000AEC0 448A3000 */ mtc1 $t2, $f6 -/* 00BAC4 8000AEC4 46804120 */ cvt.s.w $f4, $f8 -/* 00BAC8 8000AEC8 44814000 */ mtc1 $at, $f8 -/* 00BACC 8000AECC 468034A0 */ cvt.s.w $f18, $f6 -/* 00BAD0 8000AED0 46029283 */ div.s $f10, $f18, $f2 -/* 00BAD4 8000AED4 460A2400 */ add.s $f16, $f4, $f10 -/* 00BAD8 8000AED8 46088183 */ div.s $f6, $f16, $f8 -/* 00BADC 8000AEDC 4600348D */ trunc.w.s $f18, $f6 -/* 00BAE0 8000AEE0 44059000 */ mfc1 $a1, $f18 -/* 00BAE4 8000AEE4 00000000 */ nop -/* 00BAE8 8000AEE8 00057C00 */ sll $t7, $a1, 0x10 -/* 00BAEC 8000AEEC 000F2C03 */ sra $a1, $t7, 0x10 -.L8000AEF0: -/* 00BAF0 8000AEF0 00E02025 */ move $a0, $a3 -/* 00BAF4 8000AEF4 AFA2003C */ sw $v0, 0x3c($sp) -/* 00BAF8 8000AEF8 A7A50094 */ sh $a1, 0x94($sp) -/* 00BAFC 8000AEFC 0C00DA03 */ jal apply_cpu_turn -/* 00BB00 8000AF00 AFA80020 */ sw $t0, 0x20($sp) -/* 00BB04 8000AF04 8FA2003C */ lw $v0, 0x3c($sp) -/* 00BB08 8000AF08 87A50094 */ lh $a1, 0x94($sp) -/* 00BB0C 8000AF0C 8FAC0028 */ lw $t4, 0x28($sp) -/* 00BB10 8000AF10 24010001 */ li $at, 1 -/* 00BB14 8000AF14 A4450000 */ sh $a1, ($v0) -/* 00BB18 8000AF18 8D980000 */ lw $t8, ($t4) -/* 00BB1C 8000AF1C 8FA80020 */ lw $t0, 0x20($sp) -/* 00BB20 8000AF20 1301000D */ beq $t8, $at, .L8000AF58 -/* 00BB24 8000AF24 00000000 */ nop -/* 00BB28 8000AF28 8FB9002C */ lw $t9, 0x2c($sp) -/* 00BB2C 8000AF2C 24010001 */ li $at, 1 -/* 00BB30 8000AF30 87220000 */ lh $v0, ($t9) -/* 00BB34 8000AF34 10410008 */ beq $v0, $at, .L8000AF58 -/* 00BB38 8000AF38 2401FFFF */ li $at, -1 -/* 00BB3C 8000AF3C 10410006 */ beq $v0, $at, .L8000AF58 -/* 00BB40 8000AF40 8FAE0040 */ lw $t6, 0x40($sp) -/* 00BB44 8000AF44 8DCA00BC */ lw $t2, 0xbc($t6) -/* 00BB48 8000AF48 3C011000 */ lui $at, (0x1000000C >> 16) # lui $at, 0x1000 -/* 00BB4C 8000AF4C 3421000C */ ori $at, (0x1000000C & 0xFFFF) # ori $at, $at, 0xc -/* 00BB50 8000AF50 01416824 */ and $t5, $t2, $at -/* 00BB54 8000AF54 11A00014 */ beqz $t5, .L8000AFA8 -.L8000AF58: -/* 00BB58 8000AF58 3C0F800E */ lui $t7, %hi(gCurrentCourseId) -/* 00BB5C 8000AF5C 3C0C800E */ lui $t4, %hi(gCCSelection) -/* 00BB60 8000AF60 8D8CC548 */ lw $t4, %lo(gCCSelection)($t4) -/* 00BB64 8000AF64 85EFC5A0 */ lh $t7, %lo(gCurrentCourseId)($t7) -/* 00BB68 8000AF68 3C0E0D01 */ lui $t6, %hi(cpu_CurveTargetSpeed) # $t6, 0xd01 -/* 00BB6C 8000AF6C 000CC080 */ sll $t8, $t4, 2 -/* 00BB70 8000AF70 000F5900 */ sll $t3, $t7, 4 -/* 00BB74 8000AF74 0178C821 */ addu $t9, $t3, $t8 -/* 00BB78 8000AF78 25CE9418 */ addiu $t6, %lo(cpu_CurveTargetSpeed) # addiu $t6, $t6, -0x6be8 -/* 00BB7C 8000AF7C 032E2021 */ addu $a0, $t9, $t6 -/* 00BB80 8000AF80 0C026455 */ jal segmented_to_virtual_dupe_2 -/* 00BB84 8000AF84 AFA80020 */ sw $t0, 0x20($sp) -/* 00BB88 8000AF88 8FAA0038 */ lw $t2, 0x38($sp) -/* 00BB8C 8000AF8C 3C0D8016 */ lui $t5, %hi(cpu_TargetSpeed) # $t5, 0x8016 -/* 00BB90 8000AF90 C4440000 */ lwc1 $f4, ($v0) -/* 00BB94 8000AF94 25AD3028 */ addiu $t5, %lo(cpu_TargetSpeed) # addiu $t5, $t5, 0x3028 -/* 00BB98 8000AF98 014D1821 */ addu $v1, $t2, $t5 -/* 00BB9C 8000AF9C 8FA80020 */ lw $t0, 0x20($sp) -/* 00BBA0 8000AFA0 10000014 */ b .L8000AFF4 -/* 00BBA4 8000AFA4 E4640000 */ swc1 $f4, ($v1) -.L8000AFA8: -/* 00BBA8 8000AFA8 3C0F800E */ lui $t7, %hi(gCurrentCourseId) -/* 00BBAC 8000AFAC 3C0B800E */ lui $t3, %hi(gCCSelection) -/* 00BBB0 8000AFB0 8D6BC548 */ lw $t3, %lo(gCCSelection)($t3) -/* 00BBB4 8000AFB4 85EFC5A0 */ lh $t7, %lo(gCurrentCourseId)($t7) -/* 00BBB8 8000AFB8 3C0E0D01 */ lui $t6, %hi(cpu_NormalTargetSpeed) # $t6, 0xd01 -/* 00BBBC 8000AFBC 000BC080 */ sll $t8, $t3, 2 -/* 00BBC0 8000AFC0 000F6100 */ sll $t4, $t7, 4 -/* 00BBC4 8000AFC4 0198C821 */ addu $t9, $t4, $t8 -/* 00BBC8 8000AFC8 25CE9568 */ addiu $t6, %lo(cpu_NormalTargetSpeed) # addiu $t6, $t6, -0x6a98 -/* 00BBCC 8000AFCC 032E2021 */ addu $a0, $t9, $t6 -/* 00BBD0 8000AFD0 0C026455 */ jal segmented_to_virtual_dupe_2 -/* 00BBD4 8000AFD4 AFA80020 */ sw $t0, 0x20($sp) -/* 00BBD8 8000AFD8 8FAA0038 */ lw $t2, 0x38($sp) -/* 00BBDC 8000AFDC C44A0000 */ lwc1 $f10, ($v0) -/* 00BBE0 8000AFE0 3C0D8016 */ lui $t5, %hi(cpu_TargetSpeed) # $t5, 0x8016 -/* 00BBE4 8000AFE4 25AD3028 */ addiu $t5, %lo(cpu_TargetSpeed) # addiu $t5, $t5, 0x3028 -/* 00BBE8 8000AFE8 014D1821 */ addu $v1, $t2, $t5 -/* 00BBEC 8000AFEC 8FA80020 */ lw $t0, 0x20($sp) -/* 00BBF0 8000AFF0 E46A0000 */ swc1 $f10, ($v1) -.L8000AFF4: -/* 00BBF4 8000AFF4 3C01800F */ lui $at, %hi(D_800ECFC0) # $at, 0x800f -/* 00BBF8 8000AFF8 C430CFC0 */ lwc1 $f16, %lo(D_800ECFC0)($at) -/* 00BBFC 8000AFFC C5000000 */ lwc1 $f0, ($t0) -/* 00BC00 8000B000 3C0E0D01 */ lui $t6, %hi(cpu_OffTrackTargetSpeed) # $t6, 0xd01 -/* 00BC04 8000B004 3C01800F */ lui $at, %hi(D_800ECFC4) # $at, 0x800f -/* 00BC08 8000B008 4600803C */ c.lt.s $f16, $f0 -/* 00BC0C 8000B00C 25CE9808 */ addiu $t6, %lo(cpu_OffTrackTargetSpeed) # addiu $t6, $t6, -0x67f8 -/* 00BC10 8000B010 3C0F800E */ lui $t7, %hi(gCurrentCourseId) -/* 00BC14 8000B014 3C0C800E */ lui $t4, %hi(gCCSelection) -/* 00BC18 8000B018 45010006 */ bc1t .L8000B034 -/* 00BC1C 8000B01C 00000000 */ nop -/* 00BC20 8000B020 C428CFC4 */ lwc1 $f8, %lo(D_800ECFC4)($at) -/* 00BC24 8000B024 4608003C */ c.lt.s $f0, $f8 -/* 00BC28 8000B028 00000000 */ nop -/* 00BC2C 8000B02C 4500000C */ bc1f .L8000B060 -/* 00BC30 8000B030 00000000 */ nop -.L8000B034: -/* 00BC34 8000B034 85EFC5A0 */ lh $t7, %lo(gCurrentCourseId)($t7) -/* 00BC38 8000B038 8D8CC548 */ lw $t4, %lo(gCCSelection)($t4) -/* 00BC3C 8000B03C AFA30034 */ sw $v1, 0x34($sp) -/* 00BC40 8000B040 000F5900 */ sll $t3, $t7, 4 -/* 00BC44 8000B044 000CC080 */ sll $t8, $t4, 2 -/* 00BC48 8000B048 0178C821 */ addu $t9, $t3, $t8 -/* 00BC4C 8000B04C 0C026455 */ jal segmented_to_virtual_dupe_2 -/* 00BC50 8000B050 032E2021 */ addu $a0, $t9, $t6 -/* 00BC54 8000B054 8FA30034 */ lw $v1, 0x34($sp) -/* 00BC58 8000B058 C4460000 */ lwc1 $f6, ($v0) -/* 00BC5C 8000B05C E4660000 */ swc1 $f6, ($v1) -.L8000B060: -/* 00BC60 8000B060 3C0A8016 */ lui $t2, %hi(D_80162FD0) # $t2, 0x8016 -/* 00BC64 8000B064 854A2FD0 */ lh $t2, %lo(D_80162FD0)($t2) -/* 00BC68 8000B068 24010001 */ li $at, 1 -/* 00BC6C 8000B06C 3C0D800E */ lui $t5, %hi(gCurrentCourseId) -/* 00BC70 8000B070 1541000E */ bne $t2, $at, .L8000B0AC -/* 00BC74 8000B074 3C0C800E */ lui $t4, %hi(gCCSelection) -/* 00BC78 8000B078 85ADC5A0 */ lh $t5, %lo(gCurrentCourseId)($t5) -/* 00BC7C 8000B07C 8D8CC548 */ lw $t4, %lo(gCCSelection)($t4) -/* 00BC80 8000B080 3C190D01 */ lui $t9, %hi(D_0D0096B8) # $t9, 0xd01 -/* 00BC84 8000B084 000D7900 */ sll $t7, $t5, 4 -/* 00BC88 8000B088 000C5880 */ sll $t3, $t4, 2 -/* 00BC8C 8000B08C 01EBC021 */ addu $t8, $t7, $t3 -/* 00BC90 8000B090 273996B8 */ addiu $t9, %lo(D_0D0096B8) # addiu $t9, $t9, -0x6948 -/* 00BC94 8000B094 03192021 */ addu $a0, $t8, $t9 -/* 00BC98 8000B098 0C026455 */ jal segmented_to_virtual_dupe_2 -/* 00BC9C 8000B09C AFA30034 */ sw $v1, 0x34($sp) -/* 00BCA0 8000B0A0 8FA30034 */ lw $v1, 0x34($sp) -/* 00BCA4 8000B0A4 C4520000 */ lwc1 $f18, ($v0) -/* 00BCA8 8000B0A8 E4720000 */ swc1 $f18, ($v1) -.L8000B0AC: -/* 00BCAC 8000B0AC 8FAE002C */ lw $t6, 0x2c($sp) -/* 00BCB0 8000B0B0 24010002 */ li $at, 2 -/* 00BCB4 8000B0B4 85C20000 */ lh $v0, ($t6) -/* 00BCB8 8000B0B8 10410004 */ beq $v0, $at, .L8000B0CC -/* 00BCBC 8000B0BC 2401FFFE */ li $at, -2 -/* 00BCC0 8000B0C0 10410002 */ beq $v0, $at, .L8000B0CC -/* 00BCC4 8000B0C4 24010003 */ li $at, 3 -/* 00BCC8 8000B0C8 14410003 */ bne $v0, $at, .L8000B0D8 -.L8000B0CC: -/* 00BCCC 8000B0CC 3C01800F */ lui $at, %hi(D_800ECFC8) # $at, 0x800f -/* 00BCD0 8000B0D0 C424CFC8 */ lwc1 $f4, %lo(D_800ECFC8)($at) -/* 00BCD4 8000B0D4 E4640000 */ swc1 $f4, ($v1) -.L8000B0D8: -/* 00BCD8 8000B0D8 C46A0000 */ lwc1 $f10, ($v1) -/* 00BCDC 8000B0DC 8FAA0040 */ lw $t2, 0x40($sp) -/* 00BCE0 8000B0E0 3C028016 */ lui $v0, %hi(gCurrentCpuTargetSpeed) # $v0, 0x8016 -/* 00BCE4 8000B0E4 2442320C */ addiu $v0, %lo(gCurrentCpuTargetSpeed) # addiu $v0, $v0, 0x320c -/* 00BCE8 8000B0E8 E44A0000 */ swc1 $f10, ($v0) -/* 00BCEC 8000B0EC 8D4D00BC */ lw $t5, 0xbc($t2) -/* 00BCF0 8000B0F0 3C01FFDF */ lui $at, (0xFFDFFFFF >> 16) # lui $at, 0xffdf -/* 00BCF4 8000B0F4 3421FFFF */ ori $at, (0xFFDFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 00BCF8 8000B0F8 01A16024 */ and $t4, $t5, $at -/* 00BCFC 8000B0FC AD4C00BC */ sw $t4, 0xbc($t2) -/* 00BD00 8000B100 8FAF0038 */ lw $t7, 0x38($sp) -/* 00BD04 8000B104 C4500000 */ lwc1 $f16, ($v0) -/* 00BD08 8000B108 3C018016 */ lui $at, %hi(gPreviousCpuTargetSpeed) -/* 00BD0C 8000B10C 002F0821 */ addu $at, $at, $t7 -/* 00BD10 8000B110 8FA400D0 */ lw $a0, 0xd0($sp) -/* 00BD14 8000B114 0C004C77 */ jal check_ai_crossing_distance -/* 00BD18 8000B118 E4303210 */ swc1 $f16, %lo(gPreviousCpuTargetSpeed)($at) -/* 00BD1C 8000B11C 3C058016 */ lui $a1, %hi(gCurrentCpuTargetSpeed) # $a1, 0x8016 -/* 00BD20 8000B120 8CA5320C */ lw $a1, %lo(gCurrentCpuTargetSpeed)($a1) -/* 00BD24 8000B124 8FA400D0 */ lw $a0, 0xd0($sp) -/* 00BD28 8000B128 0C002109 */ jal regulate_cpu_speed -/* 00BD2C 8000B12C 8FA60040 */ lw $a2, 0x40($sp) -.L8000B130: -/* 00BD30 8000B130 8FBF0014 */ lw $ra, 0x14($sp) -.L8000B134: -/* 00BD34 8000B134 27BD00D0 */ addiu $sp, $sp, 0xd0 -/* 00BD38 8000B138 03E00008 */ jr $ra -/* 00BD3C 8000B13C 00000000 */ nop diff --git a/asm/non_matchings/cpu_vehicles_camera_path/update_player_path_completion.s b/asm/non_matchings/cpu_vehicles_camera_path/update_player_path_completion.s deleted file mode 100644 index ed334533a..000000000 --- a/asm/non_matchings/cpu_vehicles_camera_path/update_player_path_completion.s +++ /dev/null @@ -1,372 +0,0 @@ -.section .late_rodata - -glabel D_800ECFA8 -.float 1300.0 - -glabel D_800ECFAC -.float -1300.0 - -.section .text - -glabel update_player_path_completion -/* 009E9C 8000929C 27BDFFB0 */ addiu $sp, $sp, -0x50 -/* 009EA0 800092A0 AFBF0024 */ sw $ra, 0x24($sp) -/* 009EA4 800092A4 C4A0001C */ lwc1 $f0, 0x1c($a1) -/* 009EA8 800092A8 C4AC0014 */ lwc1 $f12, 0x14($a1) -/* 009EAC 800092AC C4AE0018 */ lwc1 $f14, 0x18($a1) -/* 009EB0 800092B0 3C0E8016 */ lui $t6, %hi(D_80163240) # $t6, 0x8016 -/* 009EB4 800092B4 3C018016 */ lui $at, %hi(gIsPlayerNewPathPoint) # $at, 0x8016 -/* 009EB8 800092B8 25CE3240 */ addiu $t6, %lo(D_80163240) # addiu $t6, $t6, 0x3240 -/* 009EBC 800092BC 00041040 */ sll $v0, $a0, 1 -/* 009EC0 800092C0 A42030E2 */ sh $zero, %lo(gIsPlayerNewPathPoint)($at) -/* 009EC4 800092C4 004E1821 */ addu $v1, $v0, $t6 -/* 009EC8 800092C8 A4600000 */ sh $zero, ($v1) -/* 009ECC 800092CC 3C0F8016 */ lui $t7, %hi(gNearestPathPointByPlayerId) # $t7, 0x8016 -/* 009ED0 800092D0 3C188016 */ lui $t8, %hi(gPlayerPathIndex) # $t8, 0x8016 -/* 009ED4 800092D4 8F183448 */ lw $t8, %lo(gPlayerPathIndex)($t8) -/* 009ED8 800092D8 25EF4438 */ addiu $t7, %lo(gNearestPathPointByPlayerId) # addiu $t7, $t7, 0x4438 -/* 009EDC 800092DC 004F4021 */ addu $t0, $v0, $t7 -/* 009EE0 800092E0 44060000 */ mfc1 $a2, $f0 -/* 009EE4 800092E4 85070000 */ lh $a3, ($t0) -/* 009EE8 800092E8 AFA80030 */ sw $t0, 0x30($sp) -/* 009EEC 800092EC AFA3002C */ sw $v1, 0x2c($sp) -/* 009EF0 800092F0 AFA50054 */ sw $a1, 0x54($sp) -/* 009EF4 800092F4 AFA40050 */ sw $a0, 0x50($sp) -/* 009EF8 800092F8 AFA40014 */ sw $a0, 0x14($sp) -/* 009EFC 800092FC AFA50010 */ sw $a1, 0x10($sp) -/* 009F00 80009300 E7A00044 */ swc1 $f0, 0x44($sp) -/* 009F04 80009304 E7AC004C */ swc1 $f12, 0x4c($sp) -/* 009F08 80009308 0C003349 */ jal update_player_path -/* 009F0C 8000930C AFB80018 */ sw $t8, 0x18($sp) -/* 009F10 80009310 3C058016 */ lui $a1, %hi(sSomeNearestPathPoint) # $a1, 0x8016 -/* 009F14 80009314 24A52FCE */ addiu $a1, %lo(sSomeNearestPathPoint) # addiu $a1, $a1, 0x2fce -/* 009F18 80009318 A4A20000 */ sh $v0, ($a1) -/* 009F1C 8000931C 84A70000 */ lh $a3, ($a1) -/* 009F20 80009320 8FA80030 */ lw $t0, 0x30($sp) -/* 009F24 80009324 3C018016 */ lui $at, %hi(gCurrentNearestPathPoint) # $at, 0x8016 -/* 009F28 80009328 A42730E0 */ sh $a3, %lo(gCurrentNearestPathPoint)($at) -/* 009F2C 8000932C 95190000 */ lhu $t9, ($t0) -/* 009F30 80009330 8FA40050 */ lw $a0, 0x50($sp) -/* 009F34 80009334 C7AC004C */ lwc1 $f12, 0x4c($sp) -/* 009F38 80009338 10F9000C */ beq $a3, $t9, .L8000936C -/* 009F3C 8000933C 00E01825 */ move $v1, $a3 -/* 009F40 80009340 A5030000 */ sh $v1, ($t0) -/* 009F44 80009344 24090001 */ li $t1, 1 -/* 009F48 80009348 3C018016 */ lui $at, %hi(gIsPlayerNewPathPoint) # $at, 0x8016 -/* 009F4C 8000934C A42930E2 */ sh $t1, %lo(gIsPlayerNewPathPoint)($at) -/* 009F50 80009350 AFA40050 */ sw $a0, 0x50($sp) -/* 009F54 80009354 0C0023CE */ jal update_player_completion -/* 009F58 80009358 E7AC004C */ swc1 $f12, 0x4c($sp) -/* 009F5C 8000935C 3C078016 */ lui $a3, %hi(sSomeNearestPathPoint) # $a3, 0x8016 -/* 009F60 80009360 84E72FCE */ lh $a3, %lo(sSomeNearestPathPoint)($a3) -/* 009F64 80009364 8FA40050 */ lw $a0, 0x50($sp) -/* 009F68 80009368 C7AC004C */ lwc1 $f12, 0x4c($sp) -.L8000936C: -/* 009F6C 8000936C 3C02800E */ lui $v0, %hi(gCurrentCourseId) -/* 009F70 80009370 8442C5A0 */ lh $v0, %lo(gCurrentCourseId)($v0) -/* 009F74 80009374 24010014 */ li $at, 20 -/* 009F78 80009378 30E5FFFF */ andi $a1, $a3, 0xffff -/* 009F7C 8000937C 14410005 */ bne $v0, $at, .L80009394 -/* 009F80 80009380 3C068016 */ lui $a2, %hi(gPlayerPathIndex) # $a2, 0x8016 -/* 009F84 80009384 0C002E57 */ jal update_player_position_factor -/* 009F88 80009388 8CC63448 */ lw $a2, %lo(gPlayerPathIndex)($a2) -/* 009F8C 8000938C 10000111 */ b .L800097D4 -/* 009F90 80009390 8FBF0024 */ lw $ra, 0x24($sp) -.L80009394: -/* 009F94 80009394 28E10014 */ slti $at, $a3, 0x14 -/* 009F98 80009398 1420000B */ bnez $at, .L800093C8 -/* 009F9C 8000939C 3C0A8016 */ lui $t2, %hi(gPlayerPathIndex) # $t2, 0x8016 -/* 009FA0 800093A0 8D4A3448 */ lw $t2, %lo(gPlayerPathIndex)($t2) -/* 009FA4 800093A4 3C0C8016 */ lui $t4, %hi(gPathCountByPathIndex) # 0x8016 -/* 009FA8 800093A8 000A5840 */ sll $t3, $t2, 1 -/* 009FAC 800093AC 018B6021 */ addu $t4, $t4, $t3 -/* 009FB0 800093B0 958C45C8 */ lhu $t4, %lo(gPathCountByPathIndex)($t4) # 0x45c8($t4) -/* 009FB4 800093B4 258DFFEC */ addiu $t5, $t4, -0x14 -/* 009FB8 800093B8 01A7082A */ slt $at, $t5, $a3 -/* 009FBC 800093BC 14200002 */ bnez $at, .L800093C8 -/* 009FC0 800093C0 2401000B */ li $at, 11 -/* 009FC4 800093C4 144100BC */ bne $v0, $at, .L800096B8 -.L800093C8: -/* 009FC8 800093C8 2401000B */ li $at, 11 -/* 009FCC 800093CC 00001825 */ move $v1, $zero -/* 009FD0 800093D0 1441004A */ bne $v0, $at, .L800094FC -/* 009FD4 800093D4 00004025 */ move $t0, $zero -/* 009FD8 800093D8 8FAE0054 */ lw $t6, 0x54($sp) -/* 009FDC 800093DC 3C028016 */ lui $v0, %hi(D_801634EC) # $v0, 0x8016 -/* 009FE0 800093E0 244234EC */ addiu $v0, %lo(D_801634EC) # addiu $v0, $v0, 0x34ec -/* 009FE4 800093E4 A4400000 */ sh $zero, ($v0) -/* 009FE8 800093E8 8DCF00BC */ lw $t7, 0xbc($t6) -/* 009FEC 800093EC 24190001 */ li $t9, 1 -/* 009FF0 800093F0 3C09800E */ lui $t1, %hi(gIsMirrorMode) -/* 009FF4 800093F4 31F80200 */ andi $t8, $t7, 0x200 -/* 009FF8 800093F8 13000002 */ beqz $t8, .L80009404 -/* 009FFC 800093FC 3C01C396 */ li $at, 0xC3960000 # -300.000000 -/* 00A000 80009400 A4590000 */ sh $t9, ($v0) -.L80009404: -/* 00A004 80009404 8D29C604 */ lw $t1, %lo(gIsMirrorMode)($t1) -/* 00A008 80009408 51200020 */ beql $t1, $zero, .L8000948C -/* 00A00C 8000940C 44814000 */ mtc1 $at, $f8 -/* 00A010 80009410 3C014396 */ li $at, 0x43960000 # 300.000000 -/* 00A014 80009414 44812000 */ mtc1 $at, $f4 -/* 00A018 80009418 3C01800F */ lui $at, %hi(D_800ECFA8) # -0.000000 -/* 00A01C 8000941C 00043880 */ sll $a3, $a0, 2 -/* 00A020 80009420 4604603C */ c.lt.s $f12, $f4 -/* 00A024 80009424 00000000 */ nop -/* 00A028 80009428 45000004 */ bc1f .L8000943C -/* 00A02C 8000942C 00000000 */ nop -/* 00A030 80009430 24030001 */ li $v1, 1 -/* 00A034 80009434 10000034 */ b .L80009508 -/* 00A038 80009438 24080001 */ li $t0, 1 -.L8000943C: -/* 00A03C 8000943C C426CFA8 */ lwc1 $f6, %lo(D_800ECFA8)($at) -/* 00A040 80009440 00045080 */ sll $t2, $a0, 2 -/* 00A044 80009444 3C0B8016 */ lui $t3, %hi(gLapCountByPlayerId) # 0x8016 -/* 00A048 80009448 4606603C */ c.lt.s $f12, $f6 -/* 00A04C 8000944C 016A5821 */ addu $t3, $t3, $t2 -/* 00A050 80009450 45000028 */ bc1f .L800094F4 -/* 00A054 80009454 00000000 */ nop -/* 00A058 80009458 8D6B4390 */ lw $t3, %lo(gLapCountByPlayerId)($t3) # 0x4390($t3) -/* 00A05C 8000945C 29610002 */ slti $at, $t3, 2 -/* 00A060 80009460 10200024 */ beqz $at, .L800094F4 -/* 00A064 80009464 00000000 */ nop -/* 00A068 80009468 844C0000 */ lh $t4, ($v0) -/* 00A06C 8000946C 24010001 */ li $at, 1 -/* 00A070 80009470 00043880 */ sll $a3, $a0, 2 -/* 00A074 80009474 1581001F */ bne $t4, $at, .L800094F4 -/* 00A078 80009478 00000000 */ nop -/* 00A07C 8000947C 24030001 */ li $v1, 1 -/* 00A080 80009480 10000021 */ b .L80009508 -/* 00A084 80009484 24080001 */ li $t0, 1 -/* 00A088 80009488 44814000 */ mtc1 $at, $f8 -.L8000948C: -/* 00A08C 8000948C 3C01800F */ lui $at, %hi(D_800ECFAC) # $at, 0x800f -/* 00A090 80009490 00043880 */ sll $a3, $a0, 2 -/* 00A094 80009494 460C403C */ c.lt.s $f8, $f12 -/* 00A098 80009498 00000000 */ nop -/* 00A09C 8000949C 45000004 */ bc1f .L800094B0 -/* 00A0A0 800094A0 00000000 */ nop -/* 00A0A4 800094A4 24030001 */ li $v1, 1 -/* 00A0A8 800094A8 10000017 */ b .L80009508 -/* 00A0AC 800094AC 24080001 */ li $t0, 1 -.L800094B0: -/* 00A0B0 800094B0 C42ACFAC */ lwc1 $f10, %lo(D_800ECFAC)($at) -/* 00A0B4 800094B4 00046880 */ sll $t5, $a0, 2 -/* 00A0B8 800094B8 3C0E8016 */ lui $t6, %hi(gLapCountByPlayerId) # 0x8016 -/* 00A0BC 800094BC 460C503C */ c.lt.s $f10, $f12 -/* 00A0C0 800094C0 01CD7021 */ addu $t6, $t6, $t5 -/* 00A0C4 800094C4 4500000B */ bc1f .L800094F4 -/* 00A0C8 800094C8 00000000 */ nop -/* 00A0CC 800094CC 8DCE4390 */ lw $t6, %lo(gLapCountByPlayerId)($t6) # 0x4390($t6) -/* 00A0D0 800094D0 29C10002 */ slti $at, $t6, 2 -/* 00A0D4 800094D4 10200007 */ beqz $at, .L800094F4 -/* 00A0D8 800094D8 00000000 */ nop -/* 00A0DC 800094DC 844F0000 */ lh $t7, ($v0) -/* 00A0E0 800094E0 24010001 */ li $at, 1 -/* 00A0E4 800094E4 15E10003 */ bne $t7, $at, .L800094F4 -/* 00A0E8 800094E8 00000000 */ nop -/* 00A0EC 800094EC 24030001 */ li $v1, 1 -/* 00A0F0 800094F0 24080001 */ li $t0, 1 -.L800094F4: -/* 00A0F4 800094F4 10000004 */ b .L80009508 -/* 00A0F8 800094F8 00043880 */ sll $a3, $a0, 2 -.L800094FC: -/* 00A0FC 800094FC 24030001 */ li $v1, 1 -/* 00A100 80009500 24080001 */ li $t0, 1 -/* 00A104 80009504 00043880 */ sll $a3, $a0, 2 -.L80009508: -/* 00A108 80009508 3C018016 */ lui $at, %hi(gPreviousPlayerZ) -/* 00A10C 8000950C 00270821 */ addu $at, $at, $a3 -/* 00A110 80009510 C4303450 */ lwc1 $f16, %lo(gPreviousPlayerZ)($at) -/* 00A114 80009514 3C018016 */ lui $at, %hi(gPathStartZ) # $at, 0x8016 -/* 00A118 80009518 10600052 */ beqz $v1, .L80009664 -/* 00A11C 8000951C E7B00038 */ swc1 $f16, 0x38($sp) -/* 00A120 80009520 C420344C */ lwc1 $f0, %lo(gPathStartZ)($at) -/* 00A124 80009524 C7B20044 */ lwc1 $f18, 0x44($sp) -/* 00A128 80009528 C7A40038 */ lwc1 $f4, 0x38($sp) -/* 00A12C 8000952C 4600903E */ c.le.s $f18, $f0 -/* 00A130 80009530 00000000 */ nop -/* 00A134 80009534 4500004B */ bc1f .L80009664 -/* 00A138 80009538 00000000 */ nop -/* 00A13C 8000953C 4604003C */ c.lt.s $f0, $f4 -/* 00A140 80009540 3C188016 */ lui $t8, %hi(gLapCountByPlayerId) # $t8, 0x8016 -/* 00A144 80009544 27184390 */ addiu $t8, %lo(gLapCountByPlayerId) # addiu $t8, $t8, 0x4390 -/* 00A148 80009548 00F81021 */ addu $v0, $a3, $t8 -/* 00A14C 8000954C 45000045 */ bc1f .L80009664 -/* 00A150 80009550 00000000 */ nop -/* 00A154 80009554 8C590000 */ lw $t9, ($v0) -/* 00A158 80009558 3C0A800E */ lui $t2, %hi(gModeSelection) -/* 00A15C 8000955C 24010005 */ li $at, 5 -/* 00A160 80009560 27290001 */ addiu $t1, $t9, 1 -/* 00A164 80009564 AC490000 */ sw $t1, ($v0) -/* 00A168 80009568 8D4AC53C */ lw $t2, %lo(gModeSelection)($t2) -/* 00A16C 8000956C 5540001A */ bnel $t2, $zero, .L800095D8 -/* 00A170 80009570 8FAD002C */ lw $t5, 0x2c($sp) -/* 00A174 80009574 15210017 */ bne $t1, $at, .L800095D4 -/* 00A178 80009578 3C0C8016 */ lui $t4, %hi(gGPCurrentRaceRankByPlayerIdDup) # 0x8016 -/* 00A17C 8000957C 01876021 */ addu $t4, $t4, $a3 -/* 00A180 80009580 8D8C4408 */ lw $t4, %lo(gGPCurrentRaceRankByPlayerIdDup)($t4) # 0x4408($t4) -/* 00A184 80009584 24010007 */ li $at, 7 -/* 00A188 80009588 3C028016 */ lui $v0, %hi(gLapCountByPlayerId) # $v0, 0x8016 -/* 00A18C 8000958C 15810011 */ bne $t4, $at, .L800095D4 -/* 00A190 80009590 24424390 */ addiu $v0, %lo(gLapCountByPlayerId) # addiu $v0, $v0, 0x4390 -/* 00A194 80009594 3C038016 */ lui $v1, %hi(gLapCountByPlayerId + 0x20) # $v1, 0x8016 -/* 00A198 80009598 246343B0 */ addiu $v1, %lo(gLapCountByPlayerId + 0x20) # addiu $v1, $v1, 0x43b0 -.L8000959C: -/* 00A19C 8000959C 8C4D0000 */ lw $t5, ($v0) -/* 00A1A0 800095A0 8C4F0004 */ lw $t7, 4($v0) -/* 00A1A4 800095A4 8C590008 */ lw $t9, 8($v0) -/* 00A1A8 800095A8 8C4A000C */ lw $t2, 0xc($v0) -/* 00A1AC 800095AC 24420010 */ addiu $v0, $v0, 0x10 -/* 00A1B0 800095B0 25AEFFFF */ addiu $t6, $t5, -1 -/* 00A1B4 800095B4 25F8FFFF */ addiu $t8, $t7, -1 -/* 00A1B8 800095B8 2729FFFF */ addiu $t1, $t9, -1 -/* 00A1BC 800095BC 254BFFFF */ addiu $t3, $t2, -1 -/* 00A1C0 800095C0 AC4BFFFC */ sw $t3, -4($v0) -/* 00A1C4 800095C4 AC49FFF8 */ sw $t1, -8($v0) -/* 00A1C8 800095C8 AC58FFF4 */ sw $t8, -0xc($v0) -/* 00A1CC 800095CC 1443FFF3 */ bne $v0, $v1, .L8000959C -/* 00A1D0 800095D0 AC4EFFF0 */ sw $t6, -0x10($v0) -.L800095D4: -/* 00A1D4 800095D4 8FAD002C */ lw $t5, 0x2c($sp) -.L800095D8: -/* 00A1D8 800095D8 240C0001 */ li $t4, 1 -/* 00A1DC 800095DC A5AC0000 */ sh $t4, ($t5) -/* 00A1E0 800095E0 A7A80034 */ sh $t0, 0x34($sp) -/* 00A1E4 800095E4 AFA70030 */ sw $a3, 0x30($sp) -/* 00A1E8 800095E8 0C0023CE */ jal update_player_completion -/* 00A1EC 800095EC AFA40050 */ sw $a0, 0x50($sp) -/* 00A1F0 800095F0 0C0046B9 */ jal reset_cpu_behaviour -/* 00A1F4 800095F4 8FA40050 */ lw $a0, 0x50($sp) -/* 00A1F8 800095F8 8FA40050 */ lw $a0, 0x50($sp) -/* 00A1FC 800095FC 3C0F8016 */ lui $t7, %hi(D_8016348C) # $t7, 0x8016 -/* 00A200 80009600 85EF348C */ lh $t7, %lo(D_8016348C)($t7) -/* 00A204 80009604 3C018016 */ lui $at, %hi(cpu_ItemStrategy + 0x6) # 0x8016 -/* 00A208 80009608 00047100 */ sll $t6, $a0, 4 -/* 00A20C 8000960C 002E0821 */ addu $at, $at, $t6 -/* 00A210 80009610 8FA70030 */ lw $a3, 0x30($sp) -/* 00A214 80009614 87A80034 */ lh $t0, 0x34($sp) -/* 00A218 80009618 15E00012 */ bnez $t7, .L80009664 -/* 00A21C 8000961C A42042DE */ sh $zero, %lo(cpu_ItemStrategy + 0x6)($at) # 0x42de($at) -/* 00A220 80009620 8FB80054 */ lw $t8, 0x54($sp) -/* 00A224 80009624 8FA50038 */ lw $a1, 0x38($sp) -/* 00A228 80009628 8FA60044 */ lw $a2, 0x44($sp) -/* 00A22C 8000962C 97190000 */ lhu $t9, ($t8) -/* 00A230 80009630 33290800 */ andi $t1, $t9, 0x800 -/* 00A234 80009634 1520000B */ bnez $t1, .L80009664 -/* 00A238 80009638 00000000 */ nop -/* 00A23C 8000963C AFA40050 */ sw $a0, 0x50($sp) -/* 00A240 80009640 AFA70030 */ sw $a3, 0x30($sp) -/* 00A244 80009644 0C002496 */ jal func_80009258 -/* 00A248 80009648 A7A80034 */ sh $t0, 0x34($sp) -/* 00A24C 8000964C 8FA70030 */ lw $a3, 0x30($sp) -/* 00A250 80009650 3C018016 */ lui $at, %hi(gTimePlayerLastTouchedFinishLine) -/* 00A254 80009654 8FA40050 */ lw $a0, 0x50($sp) -/* 00A258 80009658 00270821 */ addu $at, $at, $a3 -/* 00A25C 8000965C E420F898 */ swc1 $f0, %lo(gTimePlayerLastTouchedFinishLine)($at) -/* 00A260 80009660 87A80034 */ lh $t0, 0x34($sp) -.L80009664: -/* 00A264 80009664 11000014 */ beqz $t0, .L800096B8 -/* 00A268 80009668 3C018016 */ lui $at, %hi(gPathStartZ) # $at, 0x8016 -/* 00A26C 8000966C C420344C */ lwc1 $f0, %lo(gPathStartZ)($at) -/* 00A270 80009670 C7A60038 */ lwc1 $f6, 0x38($sp) -/* 00A274 80009674 C7A80044 */ lwc1 $f8, 0x44($sp) -/* 00A278 80009678 4600303E */ c.le.s $f6, $f0 -/* 00A27C 8000967C 00000000 */ nop -/* 00A280 80009680 4502000E */ bc1fl .L800096BC -/* 00A284 80009684 C7AA0044 */ lwc1 $f10, 0x44($sp) -/* 00A288 80009688 4608003C */ c.lt.s $f0, $f8 -/* 00A28C 8000968C 3C0A8016 */ lui $t2, %hi(gLapCountByPlayerId) # $t2, 0x8016 -/* 00A290 80009690 254A4390 */ addiu $t2, %lo(gLapCountByPlayerId) # addiu $t2, $t2, 0x4390 -/* 00A294 80009694 00EA1021 */ addu $v0, $a3, $t2 -/* 00A298 80009698 45020008 */ bc1fl .L800096BC -/* 00A29C 8000969C C7AA0044 */ lwc1 $f10, 0x44($sp) -/* 00A2A0 800096A0 8C4B0000 */ lw $t3, ($v0) -/* 00A2A4 800096A4 AFA40050 */ sw $a0, 0x50($sp) -/* 00A2A8 800096A8 256CFFFF */ addiu $t4, $t3, -1 -/* 00A2AC 800096AC 0C0023CE */ jal update_player_completion -/* 00A2B0 800096B0 AC4C0000 */ sw $t4, ($v0) -/* 00A2B4 800096B4 8FA40050 */ lw $a0, 0x50($sp) -.L800096B8: -/* 00A2B8 800096B8 C7AA0044 */ lwc1 $f10, 0x44($sp) -.L800096BC: -/* 00A2BC 800096BC 00046880 */ sll $t5, $a0, 2 -/* 00A2C0 800096C0 3C018016 */ lui $at, %hi(gPreviousPlayerZ) -/* 00A2C4 800096C4 3C0E800E */ lui $t6, %hi(gCurrentCourseId) -/* 00A2C8 800096C8 85CEC5A0 */ lh $t6, %lo(gCurrentCourseId)($t6) -/* 00A2CC 800096CC 002D0821 */ addu $at, $at, $t5 -/* 00A2D0 800096D0 E42A3450 */ swc1 $f10, %lo(gPreviousPlayerZ)($at) -/* 00A2D4 800096D4 24010004 */ li $at, 4 -/* 00A2D8 800096D8 15C10013 */ bne $t6, $at, .L80009728 -/* 00A2DC 800096DC 3C0F8016 */ lui $t7, %hi(gIsPlayerNewPathPoint) # $t7, 0x8016 -/* 00A2E0 800096E0 85EF30E2 */ lh $t7, %lo(gIsPlayerNewPathPoint)($t7) -/* 00A2E4 800096E4 24010001 */ li $at, 1 -/* 00A2E8 800096E8 55E10010 */ bnel $t7, $at, .L8000972C -/* 00A2EC 800096EC 8FAA0054 */ lw $t2, 0x54($sp) -/* 00A2F0 800096F0 0C002400 */ jal yoshi_valley_cpu_path -/* 00A2F4 800096F4 AFA40050 */ sw $a0, 0x50($sp) -/* 00A2F8 800096F8 8FB80054 */ lw $t8, 0x54($sp) -/* 00A2FC 800096FC 8FA40050 */ lw $a0, 0x50($sp) -/* 00A300 80009700 8FA50054 */ lw $a1, 0x54($sp) -/* 00A304 80009704 97020000 */ lhu $v0, ($t8) -/* 00A308 80009708 30594000 */ andi $t9, $v0, 0x4000 -/* 00A30C 8000970C 13200003 */ beqz $t9, .L8000971C -/* 00A310 80009710 30491000 */ andi $t1, $v0, 0x1000 -/* 00A314 80009714 51200005 */ beql $t1, $zero, .L8000972C -/* 00A318 80009718 8FAA0054 */ lw $t2, 0x54($sp) -.L8000971C: -/* 00A31C 8000971C 0C00243C */ jal update_cpu_path_completion -/* 00A320 80009720 AFA40050 */ sw $a0, 0x50($sp) -/* 00A324 80009724 8FA40050 */ lw $a0, 0x50($sp) -.L80009728: -/* 00A328 80009728 8FAA0054 */ lw $t2, 0x54($sp) -.L8000972C: -/* 00A32C 8000972C 3C068016 */ lui $a2, %hi(gPlayerPathIndex) # 0x8016 -/* 00A330 80009730 3C038016 */ lui $v1, %hi(sSomeNearestPathPoint) # 0x8016 -/* 00A334 80009734 95420000 */ lhu $v0, ($t2) -/* 00A338 80009738 304B4000 */ andi $t3, $v0, 0x4000 -/* 00A33C 8000973C 11600020 */ beqz $t3, .L800097C0 -/* 00A340 80009740 304C1000 */ andi $t4, $v0, 0x1000 -/* 00A344 80009744 1580001E */ bnez $t4, .L800097C0 -/* 00A348 80009748 01402825 */ move $a1, $t2 -/* 00A34C 8000974C 0C001974 */ jal detect_wrong_player_direction -/* 00A350 80009750 AFA40050 */ sw $a0, 0x50($sp) -/* 00A354 80009754 3C0D800E */ lui $t5, %hi(gModeSelection) -/* 00A358 80009758 8DADC53C */ lw $t5, %lo(gModeSelection)($t5) -/* 00A35C 8000975C 8FA40050 */ lw $a0, 0x50($sp) -/* 00A360 80009760 3C068016 */ lui $a2, %hi(gPlayerPathIndex) # $a2, 0x8016 -/* 00A364 80009764 15A00013 */ bnez $t5, .L800097B4 -/* 00A368 80009768 3C038016 */ lui $v1, %hi(sSomeNearestPathPoint) # $v1, 0x8016 -/* 00A36C 8000976C 3C0E8019 */ lui $t6, %hi(gPlayerCount) # $t6, 0x8019 -/* 00A370 80009770 81CEEDF3 */ lb $t6, %lo(gPlayerCount)($t6) -/* 00A374 80009774 24010002 */ li $at, 2 -/* 00A378 80009778 15C1000E */ bne $t6, $at, .L800097B4 -/* 00A37C 8000977C 00000000 */ nop -/* 00A380 80009780 1480000C */ bnez $a0, .L800097B4 -/* 00A384 80009784 3C0F8016 */ lui $t7, %hi(gGPCurrentRaceRankByPlayerIdDup) # $t7, 0x8016 -/* 00A388 80009788 3C188016 */ lui $t8, %hi(gGPCurrentRaceRankByPlayerIdDup + 0x4) # $t8, 0x8016 -/* 00A38C 8000978C 8F18440C */ lw $t8, %lo(gGPCurrentRaceRankByPlayerIdDup + 0x4)($t8) -/* 00A390 80009790 8DEF4408 */ lw $t7, %lo(gGPCurrentRaceRankByPlayerIdDup)($t7) -/* 00A394 80009794 24190001 */ li $t9, 1 -/* 00A398 80009798 01F8082A */ slt $at, $t7, $t8 -/* 00A39C 8000979C 10200003 */ beqz $at, .L800097AC -/* 00A3A0 800097A0 3C018016 */ lui $at, %hi(gBestRankedHumanPlayer) # $at, 0x8016 -/* 00A3A4 800097A4 10000003 */ b .L800097B4 -/* 00A3A8 800097A8 A4203478 */ sh $zero, %lo(gBestRankedHumanPlayer)($at) -.L800097AC: -/* 00A3AC 800097AC 3C018016 */ lui $at, %hi(gBestRankedHumanPlayer) # $at, 0x8016 -/* 00A3B0 800097B0 A4393478 */ sh $t9, %lo(gBestRankedHumanPlayer)($at) -.L800097B4: -/* 00A3B4 800097B4 8CC63448 */ lw $a2, %lo(gPlayerPathIndex)($a2) -/* 00A3B8 800097B8 10000003 */ b .L800097C8 -/* 00A3BC 800097BC 84632FCE */ lh $v1, %lo(sSomeNearestPathPoint)($v1) -.L800097C0: -/* 00A3C0 800097C0 8CC63448 */ lw $a2, %lo(gPlayerPathIndex)($a2) # 0x3448($a2) -/* 00A3C4 800097C4 84632FCE */ lh $v1, %lo(sSomeNearestPathPoint)($v1) -.L800097C8: -/* 00A3C8 800097C8 0C002E57 */ jal update_player_position_factor -/* 00A3CC 800097CC 3065FFFF */ andi $a1, $v1, 0xffff -/* 00A3D0 800097D0 8FBF0024 */ lw $ra, 0x24($sp) -.L800097D4: -/* 00A3D4 800097D4 27BD0050 */ addiu $sp, $sp, 0x50 -/* 00A3D8 800097D8 03E00008 */ jr $ra -/* 00A3DC 800097DC 00000000 */ nop diff --git a/asm/non_matchings/menu_items/add_menu_item.s b/asm/non_matchings/menu_items/add_menu_item.s deleted file mode 100644 index c0392b57a..000000000 --- a/asm/non_matchings/menu_items/add_menu_item.s +++ /dev/null @@ -1,1157 +0,0 @@ -.section .late_rodata - -glabel jpt_800F1160 -.word L8009F5D0, L8009F5D0, L8009F5D0, L8009F5D0 -.word L8009F5D0, L8009F5D0, L8009F5D0, L8009F5D0 -.word L8009F5D0, L8009F5D0, L8009F5D0, L8009F5D0 -.word L8009F5D0, L8009F5D0, L8009F5D0, L8009F5D0 -.word L8009F5D0, L8009F5D0, L8009F5D0, L8009F5D0 -.word L8009F5D0, L8009F5D0, L8009F5D0, L8009F5D0 -.word L8009F5D0, L8009F5D0, L8009F5D0, L8009F5D0 -.word L8009F5D0, L8009F5D0, L8009F5D0, L8009F5D0 -.word L8009F5D0, L8009F5D0, L8009F5D0, L8009F5D0 -.word L8009F5D0, L8009F5D0, L8009F5D0, L8009F5D0 -.word L8009F5D0, L8009F5D0, L8009F5D0, L8009F5D0 -.word L8009F5D0, L8009F5D0, L8009F5D0, L8009F5D0 -.word L8009F5D0, L8009F5D0, L8009F5D0, L8009F5D0 -.word L8009F5D0, L8009F5D0, L8009F5D0, L8009F5D0 -.word L8009F5D0, L8009F5D0, L8009F5D0, L8009F5D0 -.word L8009F5D0, L8009F5D0, L8009F5D0 - -glabel jpt_800F125C -.word L8009EF08, L8009EF08, L8009EF08, L8009EF08 -.word L8009EF08, L8009F5D0, L8009EF08, L8009EF08 -.word L8009EF08, L8009EF08, L8009EF08, L8009EF00 -.word L8009EF74, L8009EF34, L8009EF34, L8009EF34 -.word L8009EF34, L8009F5D0, L8009F5D0, L8009EF90 -.word L8009EF90, L8009EFB8, L8009F050, L8009F094 -.word L8009F5D0, L8009F5D0, L8009F5D0, L8009F5D0 -.word L8009F5D0, L8009F5D0, L8009F5D0, L8009F5D0 -.word L8009F5D0, L8009F5D0, L8009F5D0, L8009F5D0 -.word L8009F5D0, L8009F5D0, L8009F0E0, L8009F0E0 -.word L8009F0E0, L8009F0E0, L8009F174, L8009F174 -.word L8009F174, L8009F174, L8009F174, L8009F174 -.word L8009F174, L8009F174, L8009F174, L8009F174 -.word L8009F174, L8009F174, L8009F174, L8009F174 -.word L8009F174, L8009F174, L8009F10C, L8009F158 -.word L8009F5D0, L8009F5D0, L8009F5D0, L8009F5D0 -.word L8009F5D0, L8009F5D0, L8009F5D0, L8009F5D0 -.word L8009F5D0, L8009F5D0, L8009F5D0, L8009F5D0 -.word L8009F5D0, L8009F5D0, L8009F5D0, L8009F5D0 -.word L8009F5D0, L8009F5D0, L8009EED0, L8009EED0 -.word L8009F5D0, L8009F5D0, L8009F5D0, L8009F5D0 -.word L8009F5D0, L8009F5D0, L8009F5D0, L8009F5D0 -.word L8009F5D0, L8009F5D0, L8009F5D0, L8009F5D0 -.word L8009F5D0, L8009F5D0, L8009F5D0, L8009F264 -.word L8009F264, L8009F264, L8009F264, L8009F5D0 -.word L8009F5D0, L8009F5D0, L8009F5D0, L8009F5D0 -.word L8009F5D0, L8009F388, L8009F5D0, L8009F5D0 -.word L8009F530, L8009F5D0, L8009F5D0, L8009F5D0 -.word L8009F5D0, L8009F5D0, L8009F5D0, L8009F5D0 -.word L8009F5D0, L8009F5D0, L8009F5D0, L8009F5D0 -.word L8009F5D0, L8009F5D0, L8009F5D0, L8009F5D0 -.word L8009F5D0, L8009F5D0, L8009F5D0, L8009F5D0 -.word L8009E888, L8009E8E4, L8009E940, L8009E9AC -.word L8009EC38, L8009EC5C, L8009EC98, L8009EC98 -.word L8009F5D0, L8009F5D0, L8009F5D0, L8009F5D0 -.word L8009F5D0, L8009F5D0, L8009F5D0, L8009F5D0 -.word L8009F5D0, L8009F5D0, L8009F5D0, L8009F5D0 -.word L8009F430, L8009F5D0, L8009F5D0, L8009F5D0 -.word L8009F5D0, L8009F5D0, L8009F5D0, L8009F5D0 -.word L8009F5D0, L8009F5D0, L8009F500, L8009F510 -.word L8009F5D0, L8009F5D0, L8009F5D0, L8009F5D0 -.word L8009F5D0, L8009F5D0, L8009F5D0, L8009F5D0 -.word L8009E774, L8009E800 - -glabel jpt_800F1504 -.word L8009ECAC, L8009ECD4, L8009ED08, L8009F5D0 -.word L8009F5D0, L8009F5D0, L8009F5D0, L8009F5D0 -.word L8009F5D0, L8009ED9C, L8009EDC8, L8009EDC8 -.word L8009EDC8, L8009EDC8, L8009ED94, L8009ED9C -.word L8009ED9C, L8009ED9C, L8009ED9C, L8009ED9C -.word L8009ED9C, L8009ED9C, L8009ED9C, L8009ED9C -.word L8009ED9C, L8009F5D0, L8009F5D0, L8009F5D0 -.word L8009F5D0, L8009F5D0, L8009F5D0, L8009F5D0 -.word L8009F5D0, L8009F5D0, L8009ED1C, L8009ED1C -.word L8009ED1C, L8009F5D0, L8009F5D0, L8009F5D0 -.word L8009F5D0, L8009EE10, L8009EE74, L8009EE74 -.word L8009EE74, L8009EE74, L8009EE74, L8009EE74 -.word L8009EE74, L8009EE74, L8009EE28, L8009EE4C -.word L8009EE4C, L8009EE4C, L8009EE4C - -glabel D_800F15E0 -.float 750.0 - -.section .text - -glabel add_menu_item -/* 09F250 8009E650 27BDFF80 */ addiu $sp, $sp, -0x80 -/* 09F254 8009E654 AFBF001C */ sw $ra, 0x1c($sp) -/* 09F258 8009E658 AFA7008C */ sw $a3, 0x8c($sp) -/* 09F25C 8009E65C 00077600 */ sll $t6, $a3, 0x18 -/* 09F260 8009E660 3C1F8019 */ lui $ra, %hi(gMenuItems) # $ra, 0x8019 -/* 09F264 8009E664 000E3E03 */ sra $a3, $t6, 0x18 -/* 09F268 8009E668 AFA40080 */ sw $a0, 0x80($sp) -/* 09F26C 8009E66C 00001025 */ move $v0, $zero -/* 09F270 8009E670 27FFD9E0 */ addiu $ra, %lo(gMenuItems) # addiu $ra, $ra, -0x2620 -.L8009E674: -/* 09F274 8009E674 8FF80000 */ lw $t8, ($ra) -/* 09F278 8009E678 24420001 */ addiu $v0, $v0, 1 -/* 09F27C 8009E67C 28410021 */ slti $at, $v0, 0x21 -/* 09F280 8009E680 53000008 */ beql $t8, $zero, .L8009E6A4 -/* 09F284 8009E684 8FB90080 */ lw $t9, 0x80($sp) -/* 09F288 8009E688 14200003 */ bnez $at, .L8009E698 -/* 09F28C 8009E68C 00000000 */ nop -.L8009E690: -/* 09F290 8009E690 1000FFFF */ b .L8009E690 -/* 09F294 8009E694 00000000 */ nop -.L8009E698: -/* 09F298 8009E698 1000FFF6 */ b .L8009E674 -/* 09F29C 8009E69C 27FF0028 */ addiu $ra, $ra, 0x28 -/* 09F2A0 8009E6A0 8FB90080 */ lw $t9, 0x80($sp) -.L8009E6A4: -/* 09F2A4 8009E6A4 24030001 */ li $v1, 1 -/* 09F2A8 8009E6A8 AFE00004 */ sw $zero, 4($ra) -/* 09F2AC 8009E6AC AFE00008 */ sw $zero, 8($ra) -/* 09F2B0 8009E6B0 AFE5000C */ sw $a1, 0xc($ra) -/* 09F2B4 8009E6B4 AFE60010 */ sw $a2, 0x10($ra) -/* 09F2B8 8009E6B8 A3E70014 */ sb $a3, 0x14($ra) -/* 09F2BC 8009E6BC A3E30015 */ sb $v1, 0x15($ra) -/* 09F2C0 8009E6C0 AFE0001C */ sw $zero, 0x1c($ra) -/* 09F2C4 8009E6C4 AFE00020 */ sw $zero, 0x20($ra) -/* 09F2C8 8009E6C8 AFF90000 */ sw $t9, ($ra) -/* 09F2CC 8009E6CC 8FAE0080 */ lw $t6, 0x80($sp) -/* 09F2D0 8009E6D0 8FB90080 */ lw $t9, 0x80($sp) -/* 09F2D4 8009E6D4 29C100FC */ slti $at, $t6, 0xfc -/* 09F2D8 8009E6D8 14200011 */ bnez $at, .L8009E720 -/* 09F2DC 8009E6DC 29C10131 */ slti $at, $t6, 0x131 -/* 09F2E0 8009E6E0 1420000A */ bnez $at, .L8009E70C -/* 09F2E4 8009E6E4 8FB80080 */ lw $t8, 0x80($sp) -/* 09F2E8 8009E6E8 25CFFE70 */ addiu $t7, $t6, -0x190 -/* 09F2EC 8009E6EC 2DE1003F */ sltiu $at, $t7, 0x3f -/* 09F2F0 8009E6F0 102003B7 */ beqz $at, .L8009F5D0 -/* 09F2F4 8009E6F4 000F7880 */ sll $t7, $t7, 2 -/* 09F2F8 8009E6F8 3C01800F */ lui $at, %hi(jpt_800F1160) -/* 09F2FC 8009E6FC 002F0821 */ addu $at, $at, $t7 -/* 09F300 8009E700 8C2F1160 */ lw $t7, %lo(jpt_800F1160)($at) -/* 09F304 8009E704 01E00008 */ jr $t7 -/* 09F308 8009E708 00000000 */ nop -.L8009E70C: -/* 09F30C 8009E70C 24010130 */ li $at, 304 -/* 09F310 8009E710 1301038A */ beq $t8, $at, .L8009F53C -/* 09F314 8009E714 3C028028 */ lui $v0, %hi(D_802874D8) # 0x8028 -/* 09F318 8009E718 100003AE */ b .L8009F5D4 -/* 09F31C 8009E71C 8FBF001C */ lw $ra, 0x1c($sp) -.L8009E720: -/* 09F320 8009E720 2B210038 */ slti $at, $t9, 0x38 -/* 09F324 8009E724 1420000A */ bnez $at, .L8009E750 -/* 09F328 8009E728 8FAF0080 */ lw $t7, 0x80($sp) -/* 09F32C 8009E72C 272EFFAE */ addiu $t6, $t9, -0x52 -/* 09F330 8009E730 2DC100AA */ sltiu $at, $t6, 0xaa -/* 09F334 8009E734 102003A6 */ beqz $at, .L8009F5D0 -/* 09F338 8009E738 000E7080 */ sll $t6, $t6, 2 -/* 09F33C 8009E73C 3C01800F */ lui $at, %hi(jpt_800F125C) -/* 09F340 8009E740 002E0821 */ addu $at, $at, $t6 -/* 09F344 8009E744 8C2E125C */ lw $t6, %lo(jpt_800F125C)($at) -/* 09F348 8009E748 01C00008 */ jr $t6 -/* 09F34C 8009E74C 00000000 */ nop -.L8009E750: -/* 09F350 8009E750 25F8FFFF */ addiu $t8, $t7, -1 -/* 09F354 8009E754 2F010037 */ sltiu $at, $t8, 0x37 -/* 09F358 8009E758 1020039D */ beqz $at, .L8009F5D0 -/* 09F35C 8009E75C 0018C080 */ sll $t8, $t8, 2 -/* 09F360 8009E760 3C01800F */ lui $at, %hi(jpt_800F1504) -/* 09F364 8009E764 00380821 */ addu $at, $at, $t8 -/* 09F368 8009E768 8C381504 */ lw $t8, %lo(jpt_800F1504)($at) -/* 09F36C 8009E76C 03000008 */ jr $t8 -/* 09F370 8009E770 00000000 */ nop -glabel L8009E774 -/* 09F374 8009E774 44802000 */ mtc1 $zero, $f4 -/* 09F378 8009E778 3C018019 */ lui $at, %hi(sIntroModelTimer) # $at, 0x8019 -/* 09F37C 8009E77C AC20ED94 */ sw $zero, %lo(sIntroModelTimer)($at) -/* 09F380 8009E780 3C01800F */ lui $at, %hi(sIntroModelMotionSpeed) # $at, 0x800f -/* 09F384 8009E784 E4248530 */ swc1 $f4, %lo(sIntroModelMotionSpeed)($at) -/* 09F388 8009E788 3C014040 */ li $at, 0x40400000 # 3.000000 -/* 09F38C 8009E78C 44813000 */ mtc1 $at, $f6 -/* 09F390 8009E790 3C01800F */ lui $at, %hi(sIntroModelSpeed) # $at, 0x800f -/* 09F394 8009E794 44800000 */ mtc1 $zero, $f0 -/* 09F398 8009E798 E4268534 */ swc1 $f6, %lo(sIntroModelSpeed)($at) -/* 09F39C 8009E79C 3C018019 */ lui $at, %hi(gIntroModelZEye) # $at, 0x8019 -/* 09F3A0 8009E7A0 241909C4 */ li $t9, 2500 -/* 09F3A4 8009E7A4 AC39EDC0 */ sw $t9, %lo(gIntroModelZEye)($at) -/* 09F3A8 8009E7A8 3C018019 */ lui $at, %hi(gIntroModelRotX) # $at, 0x8019 -/* 09F3AC 8009E7AC E420EDC8 */ swc1 $f0, %lo(gIntroModelRotX)($at) -/* 09F3B0 8009E7B0 3C01C387 */ li $at, 0xC3870000 # -270.000000 -/* 09F3B4 8009E7B4 44814000 */ mtc1 $at, $f8 -/* 09F3B8 8009E7B8 3C018019 */ lui $at, %hi(gIntroModelRotY) # $at, 0x8019 -/* 09F3BC 8009E7BC 240EFFFF */ li $t6, -1 -/* 09F3C0 8009E7C0 E428EDCC */ swc1 $f8, %lo(gIntroModelRotY)($at) -/* 09F3C4 8009E7C4 3C018019 */ lui $at, %hi(gIntroModelRotZ) # $at, 0x8019 -/* 09F3C8 8009E7C8 E420EDD0 */ swc1 $f0, %lo(gIntroModelRotZ)($at) -/* 09F3CC 8009E7CC 3C018019 */ lui $at, %hi(gIntroModelPosX) # $at, 0x8019 -/* 09F3D0 8009E7D0 E420EDD4 */ swc1 $f0, %lo(gIntroModelPosX)($at) -/* 09F3D4 8009E7D4 3C018019 */ lui $at, %hi(gIntroModelPosY) # $at, 0x8019 -/* 09F3D8 8009E7D8 E420EDD8 */ swc1 $f0, %lo(gIntroModelPosY)($at) -/* 09F3DC 8009E7DC 3C018019 */ lui $at, %hi(gIntroModelPosZ) # $at, 0x8019 -/* 09F3E0 8009E7E0 E420EDDC */ swc1 $f0, %lo(gIntroModelPosZ)($at) -/* 09F3E4 8009E7E4 3C014040 */ li $at, 0x40400000 # 3.000000 -/* 09F3E8 8009E7E8 44815000 */ mtc1 $at, $f10 -/* 09F3EC 8009E7EC 3C018019 */ lui $at, %hi(gIntroModelScale) # $at, 0x8019 -/* 09F3F0 8009E7F0 E42AEDC4 */ swc1 $f10, %lo(gIntroModelScale)($at) -/* 09F3F4 8009E7F4 AFEE001C */ sw $t6, 0x1c($ra) -/* 09F3F8 8009E7F8 10000375 */ b .L8009F5D0 -/* 09F3FC 8009E7FC AFE30020 */ sw $v1, 0x20($ra) -glabel L8009E800 -/* 09F400 8009E800 240F0708 */ li $t7, 1800 -/* 09F404 8009E804 3C018019 */ lui $at, %hi(gIntroModelZEye) # $at, 0x8019 -/* 09F408 8009E808 AC2FEDC0 */ sw $t7, %lo(gIntroModelZEye)($at) -/* 09F40C 8009E80C 3C01C24C */ li $at, 0xC24C0000 # -51.000000 -/* 09F410 8009E810 44818000 */ mtc1 $at, $f16 -/* 09F414 8009E814 3C018019 */ lui $at, %hi(gIntroModelRotX) # $at, 0x8019 -/* 09F418 8009E818 44800000 */ mtc1 $zero, $f0 -/* 09F41C 8009E81C E430EDC8 */ swc1 $f16, %lo(gIntroModelRotX)($at) -/* 09F420 8009E820 3C01C140 */ li $at, 0xC1400000 # -12.000000 -/* 09F424 8009E824 44819000 */ mtc1 $at, $f18 -/* 09F428 8009E828 3C018019 */ lui $at, %hi(gIntroModelRotY) # $at, 0x8019 -/* 09F42C 8009E82C 2418FFFF */ li $t8, -1 -/* 09F430 8009E830 E432EDCC */ swc1 $f18, %lo(gIntroModelRotY)($at) -/* 09F434 8009E834 3C01C190 */ li $at, 0xC1900000 # -18.000000 -/* 09F438 8009E838 44812000 */ mtc1 $at, $f4 -/* 09F43C 8009E83C 3C018019 */ lui $at, %hi(gIntroModelRotZ) # $at, 0x8019 -/* 09F440 8009E840 E424EDD0 */ swc1 $f4, %lo(gIntroModelRotZ)($at) -/* 09F444 8009E844 3C01C387 */ li $at, 0xC3870000 # -270.000000 -/* 09F448 8009E848 44813000 */ mtc1 $at, $f6 -/* 09F44C 8009E84C 3C018019 */ lui $at, %hi(gIntroModelPosX) # $at, 0x8019 -/* 09F450 8009E850 E426EDD4 */ swc1 $f6, %lo(gIntroModelPosX)($at) -/* 09F454 8009E854 3C01800F */ lui $at, %hi(D_800F15E0) # $at, 0x800f -/* 09F458 8009E858 C42815E0 */ lwc1 $f8, %lo(D_800F15E0)($at) -/* 09F45C 8009E85C 3C018019 */ lui $at, %hi(gIntroModelPosY) # $at, 0x8019 -/* 09F460 8009E860 E428EDD8 */ swc1 $f8, %lo(gIntroModelPosY)($at) -/* 09F464 8009E864 3C018019 */ lui $at, %hi(gIntroModelPosZ) # $at, 0x8019 -/* 09F468 8009E868 E420EDDC */ swc1 $f0, %lo(gIntroModelPosZ)($at) -/* 09F46C 8009E86C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 09F470 8009E870 44815000 */ mtc1 $at, $f10 -/* 09F474 8009E874 3C018019 */ lui $at, %hi(gIntroModelScale) # $at, 0x8019 -/* 09F478 8009E878 E42AEDC4 */ swc1 $f10, %lo(gIntroModelScale)($at) -/* 09F47C 8009E87C AFF8001C */ sw $t8, 0x1c($ra) -/* 09F480 8009E880 10000353 */ b .L8009F5D0 -/* 09F484 8009E884 AFE30020 */ sw $v1, 0x20($ra) -glabel L8009E888 -/* 09F488 8009E888 3C040200 */ lui $a0, %hi(D_020014C8) # $a0, 0x200 -/* 09F48C 8009E88C AFBF007C */ sw $ra, 0x7c($sp) -/* 09F490 8009E890 248414C8 */ addiu $a0, %lo(D_020014C8) # addiu $a0, $a0, 0x14c8 -/* 09F494 8009E894 0C0265AF */ jal load_menu_img_comp_type -/* 09F498 8009E898 00002825 */ move $a1, $zero -/* 09F49C 8009E89C 3C040200 */ lui $a0, %hi(D_020014C8) # $a0, 0x200 -/* 09F4A0 8009E8A0 0C026E55 */ jal func_8009B954 -/* 09F4A4 8009E8A4 248414C8 */ addiu $a0, %lo(D_020014C8) # addiu $a0, $a0, 0x14c8 -/* 09F4A8 8009E8A8 8FBF007C */ lw $ra, 0x7c($sp) -/* 09F4AC 8009E8AC 3C088019 */ lui $t0, %hi(sGfxPtr) # $t0, 0x8019 -/* 09F4B0 8009E8B0 2508E75C */ addiu $t0, %lo(sGfxPtr) # addiu $t0, $t0, -0x18a4 -/* 09F4B4 8009E8B4 3C050200 */ lui $a1, %hi(D_020014C8) # $a1, 0x200 -/* 09F4B8 8009E8B8 8FE6000C */ lw $a2, 0xc($ra) -/* 09F4BC 8009E8BC 8FE70010 */ lw $a3, 0x10($ra) -/* 09F4C0 8009E8C0 24A514C8 */ addiu $a1, %lo(D_020014C8) # addiu $a1, $a1, 0x14c8 -/* 09F4C4 8009E8C4 0C026E9D */ jal render_menu_textures -/* 09F4C8 8009E8C8 8D040000 */ lw $a0, ($t0) -/* 09F4CC 8009E8CC 3C088019 */ lui $t0, %hi(sGfxPtr) # $t0, 0x8019 -/* 09F4D0 8009E8D0 2508E75C */ addiu $t0, %lo(sGfxPtr) # addiu $t0, $t0, -0x18a4 -/* 09F4D4 8009E8D4 0C026E66 */ jal func_8009B998 -/* 09F4D8 8009E8D8 AD020000 */ sw $v0, ($t0) -/* 09F4DC 8009E8DC 1000033D */ b .L8009F5D4 -/* 09F4E0 8009E8E0 8FBF001C */ lw $ra, 0x1c($sp) -glabel L8009E8E4 -/* 09F4E4 8009E8E4 3C040200 */ lui $a0, %hi(D_02001540) # $a0, 0x200 -/* 09F4E8 8009E8E8 AFBF007C */ sw $ra, 0x7c($sp) -/* 09F4EC 8009E8EC 24841540 */ addiu $a0, %lo(D_02001540) # addiu $a0, $a0, 0x1540 -/* 09F4F0 8009E8F0 0C0265AF */ jal load_menu_img_comp_type -/* 09F4F4 8009E8F4 00002825 */ move $a1, $zero -/* 09F4F8 8009E8F8 3C040200 */ lui $a0, %hi(D_02001540) # $a0, 0x200 -/* 09F4FC 8009E8FC 0C026E55 */ jal func_8009B954 -/* 09F500 8009E900 24841540 */ addiu $a0, %lo(D_02001540) # addiu $a0, $a0, 0x1540 -/* 09F504 8009E904 8FBF007C */ lw $ra, 0x7c($sp) -/* 09F508 8009E908 3C088019 */ lui $t0, %hi(sGfxPtr) # $t0, 0x8019 -/* 09F50C 8009E90C 2508E75C */ addiu $t0, %lo(sGfxPtr) # addiu $t0, $t0, -0x18a4 -/* 09F510 8009E910 3C050200 */ lui $a1, %hi(D_02001540) # $a1, 0x200 -/* 09F514 8009E914 8FE6000C */ lw $a2, 0xc($ra) -/* 09F518 8009E918 8FE70010 */ lw $a3, 0x10($ra) -/* 09F51C 8009E91C 24A51540 */ addiu $a1, %lo(D_02001540) # addiu $a1, $a1, 0x1540 -/* 09F520 8009E920 0C026E9D */ jal render_menu_textures -/* 09F524 8009E924 8D040000 */ lw $a0, ($t0) -/* 09F528 8009E928 3C088019 */ lui $t0, %hi(sGfxPtr) # $t0, 0x8019 -/* 09F52C 8009E92C 2508E75C */ addiu $t0, %lo(sGfxPtr) # addiu $t0, $t0, -0x18a4 -/* 09F530 8009E930 0C026E66 */ jal func_8009B998 -/* 09F534 8009E934 AD020000 */ sw $v0, ($t0) -/* 09F538 8009E938 10000326 */ b .L8009F5D4 -/* 09F53C 8009E93C 8FBF001C */ lw $ra, 0x1c($sp) -glabel L8009E940 -/* 09F540 8009E940 3C040200 */ lui $a0, %hi(D_0200157C) # $a0, 0x200 -/* 09F544 8009E944 AFBF007C */ sw $ra, 0x7c($sp) -/* 09F548 8009E948 2484157C */ addiu $a0, %lo(D_0200157C) # addiu $a0, $a0, 0x157c -/* 09F54C 8009E94C 00002825 */ move $a1, $zero -/* 09F550 8009E950 0C0265AF */ jal load_menu_img_comp_type -/* 09F554 8009E954 00001025 */ move $v0, $zero -/* 09F558 8009E958 3C040200 */ lui $a0, %hi(D_02001874) # $a0, 0x200 -/* 09F55C 8009E95C 0C026461 */ jal load_menu_img -/* 09F560 8009E960 24841874 */ addiu $a0, %lo(D_02001874) # addiu $a0, $a0, 0x1874 -/* 09F564 8009E964 8FBF007C */ lw $ra, 0x7c($sp) -/* 09F568 8009E968 24190069 */ li $t9, 105 -/* 09F56C 8009E96C 3C03800E */ lui $v1, %hi(D_800E7AF8) # $v1, 0x800e -/* 09F570 8009E970 24637AF8 */ addiu $v1, %lo(D_800E7AF8) # addiu $v1, $v1, 0x7af8 -/* 09F574 8009E974 AFF90010 */ sw $t9, 0x10($ra) -/* 09F578 8009E978 8C640000 */ lw $a0, ($v1) -.L8009E97C: -/* 09F57C 8009E97C 0C026449 */ jal segmented_to_virtual_dupe -/* 09F580 8009E980 AFA30024 */ sw $v1, 0x24($sp) -/* 09F584 8009E984 0C026461 */ jal load_menu_img -/* 09F588 8009E988 00402025 */ move $a0, $v0 -/* 09F58C 8009E98C 8FA30024 */ lw $v1, 0x24($sp) -/* 09F590 8009E990 3C0E800E */ lui $t6, %hi(D_800E7D0C) # $t6, 0x800e -/* 09F594 8009E994 25CE7D0C */ addiu $t6, %lo(D_800E7D0C) # addiu $t6, $t6, 0x7d0c -/* 09F598 8009E998 24630004 */ addiu $v1, $v1, 4 -/* 09F59C 8009E99C 546EFFF7 */ bnel $v1, $t6, .L8009E97C -/* 09F5A0 8009E9A0 8C640000 */ lw $a0, ($v1) -/* 09F5A4 8009E9A4 1000030B */ b .L8009F5D4 -/* 09F5A8 8009E9A8 8FBF001C */ lw $ra, 0x1c($sp) -glabel L8009E9AC -/* 09F5AC 8009E9AC 3C040200 */ lui $a0, %hi(D_020015A4) # $a0, 0x200 -/* 09F5B0 8009E9B0 AFBF007C */ sw $ra, 0x7c($sp) -/* 09F5B4 8009E9B4 0C026461 */ jal load_menu_img -/* 09F5B8 8009E9B8 248415A4 */ addiu $a0, %lo(D_020015A4) # addiu $a0, $a0, 0x15a4 -/* 09F5BC 8009E9BC 3C040200 */ lui $a0, %hi(D_020015A4) # $a0, 0x200 -/* 09F5C0 8009E9C0 0C026E55 */ jal func_8009B954 -/* 09F5C4 8009E9C4 248415A4 */ addiu $a0, %lo(D_020015A4) # addiu $a0, $a0, 0x15a4 -/* 09F5C8 8009E9C8 8FBF007C */ lw $ra, 0x7c($sp) -/* 09F5CC 8009E9CC 3C088019 */ lui $t0, %hi(sGfxPtr) # $t0, 0x8019 -/* 09F5D0 8009E9D0 2508E75C */ addiu $t0, %lo(sGfxPtr) # addiu $t0, $t0, -0x18a4 -/* 09F5D4 8009E9D4 3C050200 */ lui $a1, %hi(D_020015A4) # $a1, 0x200 -/* 09F5D8 8009E9D8 8FE6000C */ lw $a2, 0xc($ra) -/* 09F5DC 8009E9DC 8FE70010 */ lw $a3, 0x10($ra) -/* 09F5E0 8009E9E0 24A515A4 */ addiu $a1, %lo(D_020015A4) # addiu $a1, $a1, 0x15a4 -/* 09F5E4 8009E9E4 0C026E9D */ jal render_menu_textures -/* 09F5E8 8009E9E8 8D040000 */ lw $a0, ($t0) -/* 09F5EC 8009E9EC 3C088019 */ lui $t0, %hi(sGfxPtr) # $t0, 0x8019 -/* 09F5F0 8009E9F0 2508E75C */ addiu $t0, %lo(sGfxPtr) # addiu $t0, $t0, -0x18a4 -/* 09F5F4 8009E9F4 AD020000 */ sw $v0, ($t0) -/* 09F5F8 8009E9F8 244F0008 */ addiu $t7, $v0, 8 -/* 09F5FC 8009E9FC AD0F0000 */ sw $t7, ($t0) -/* 09F600 8009EA00 3C18FD70 */ lui $t8, 0xfd70 -/* 09F604 8009EA04 AC580000 */ sw $t8, ($v0) -/* 09F608 8009EA08 3C040A0C */ lui $a0, %hi(gTexture7ED50C) # $a0, 0xa0c -/* 09F60C 8009EA0C 24843ADC */ addiu $a0, %lo(gTexture7ED50C) # addiu $a0, $a0, 0x3adc -/* 09F610 8009EA10 0C026E31 */ jal func_8009B8C4 -/* 09F614 8009EA14 AFA2006C */ sw $v0, 0x6c($sp) -/* 09F618 8009EA18 8FB9006C */ lw $t9, 0x6c($sp) -/* 09F61C 8009EA1C 8FBF007C */ lw $ra, 0x7c($sp) -/* 09F620 8009EA20 3C088019 */ lui $t0, %hi(sGfxPtr) # $t0, 0x8019 -/* 09F624 8009EA24 2508E75C */ addiu $t0, %lo(sGfxPtr) # addiu $t0, $t0, -0x18a4 -/* 09F628 8009EA28 AF220004 */ sw $v0, 4($t9) -/* 09F62C 8009EA2C 8D030000 */ lw $v1, ($t0) -/* 09F630 8009EA30 3C180708 */ lui $t8, (0x07080200 >> 16) # lui $t8, 0x708 -/* 09F634 8009EA34 37180200 */ ori $t8, (0x07080200 & 0xFFFF) # ori $t8, $t8, 0x200 -/* 09F638 8009EA38 246E0008 */ addiu $t6, $v1, 8 -/* 09F63C 8009EA3C AD0E0000 */ sw $t6, ($t0) -/* 09F640 8009EA40 3C0FF570 */ lui $t7, 0xf570 -/* 09F644 8009EA44 AC6F0000 */ sw $t7, ($v1) -/* 09F648 8009EA48 AC780004 */ sw $t8, 4($v1) -/* 09F64C 8009EA4C 8D030000 */ lw $v1, ($t0) -/* 09F650 8009EA50 3C0EE600 */ lui $t6, 0xe600 -/* 09F654 8009EA54 3C18F300 */ lui $t8, 0xf300 -/* 09F658 8009EA58 24790008 */ addiu $t9, $v1, 8 -/* 09F65C 8009EA5C AD190000 */ sw $t9, ($t0) -/* 09F660 8009EA60 AC600004 */ sw $zero, 4($v1) -/* 09F664 8009EA64 AC6E0000 */ sw $t6, ($v1) -/* 09F668 8009EA68 8D030000 */ lw $v1, ($t0) -/* 09F66C 8009EA6C 3C19074F */ lui $t9, (0x074FF020 >> 16) # lui $t9, 0x74f -/* 09F670 8009EA70 3739F020 */ ori $t9, (0x074FF020 & 0xFFFF) # ori $t9, $t9, 0xf020 -/* 09F674 8009EA74 246F0008 */ addiu $t7, $v1, 8 -/* 09F678 8009EA78 AD0F0000 */ sw $t7, ($t0) -/* 09F67C 8009EA7C AC790004 */ sw $t9, 4($v1) -/* 09F680 8009EA80 AC780000 */ sw $t8, ($v1) -/* 09F684 8009EA84 8D030000 */ lw $v1, ($t0) -/* 09F688 8009EA88 3C0FE700 */ lui $t7, 0xe700 -/* 09F68C 8009EA8C 3C19F570 */ lui $t9, (0xF5708000 >> 16) # lui $t9, 0xf570 -/* 09F690 8009EA90 246E0008 */ addiu $t6, $v1, 8 -/* 09F694 8009EA94 AD0E0000 */ sw $t6, ($t0) -/* 09F698 8009EA98 AC600004 */ sw $zero, 4($v1) -/* 09F69C 8009EA9C AC6F0000 */ sw $t7, ($v1) -/* 09F6A0 8009EAA0 8D030000 */ lw $v1, ($t0) -/* 09F6A4 8009EAA4 3C0E0008 */ lui $t6, (0x00080200 >> 16) # lui $t6, 8 -/* 09F6A8 8009EAA8 35CE0200 */ ori $t6, (0x00080200 & 0xFFFF) # ori $t6, $t6, 0x200 -/* 09F6AC 8009EAAC 24780008 */ addiu $t8, $v1, 8 -/* 09F6B0 8009EAB0 AD180000 */ sw $t8, ($t0) -/* 09F6B4 8009EAB4 37398000 */ ori $t9, (0xF5708000 & 0xFFFF) # ori $t9, $t9, 0x8000 -/* 09F6B8 8009EAB8 AC790000 */ sw $t9, ($v1) -/* 09F6BC 8009EABC AC6E0004 */ sw $t6, 4($v1) -/* 09F6C0 8009EAC0 8D030000 */ lw $v1, ($t0) -/* 09F6C4 8009EAC4 3C19003F */ lui $t9, (0x003FC010 >> 16) # lui $t9, 0x3f -/* 09F6C8 8009EAC8 3739C010 */ ori $t9, (0x003FC010 & 0xFFFF) # ori $t9, $t9, 0xc010 -/* 09F6CC 8009EACC 246F0008 */ addiu $t7, $v1, 8 -/* 09F6D0 8009EAD0 AD0F0000 */ sw $t7, ($t0) -/* 09F6D4 8009EAD4 3C18F200 */ lui $t8, 0xf200 -/* 09F6D8 8009EAD8 AC780000 */ sw $t8, ($v1) -/* 09F6DC 8009EADC AC790004 */ sw $t9, 4($v1) -/* 09F6E0 8009EAE0 8D030000 */ lw $v1, ($t0) -/* 09F6E4 8009EAE4 3C180008 */ lui $t8, (0x000802C0 >> 16) # lui $t8, 8 -/* 09F6E8 8009EAE8 3C0FE448 */ lui $t7, (0xE44802D4 >> 16) # lui $t7, 0xe448 -/* 09F6EC 8009EAEC 246E0008 */ addiu $t6, $v1, 8 -/* 09F6F0 8009EAF0 AD0E0000 */ sw $t6, ($t0) -/* 09F6F4 8009EAF4 35EF02D4 */ ori $t7, (0xE44802D4 & 0xFFFF) # ori $t7, $t7, 0x2d4 -/* 09F6F8 8009EAF8 371802C0 */ ori $t8, (0x000802C0 & 0xFFFF) # ori $t8, $t8, 0x2c0 -/* 09F6FC 8009EAFC AC780004 */ sw $t8, 4($v1) -/* 09F700 8009EB00 AC6F0000 */ sw $t7, ($v1) -/* 09F704 8009EB04 8D030000 */ lw $v1, ($t0) -/* 09F708 8009EB08 240F0080 */ li $t7, 128 -/* 09F70C 8009EB0C 3C0EB300 */ lui $t6, 0xb300 -/* 09F710 8009EB10 24790008 */ addiu $t9, $v1, 8 -/* 09F714 8009EB14 AD190000 */ sw $t9, ($t0) -/* 09F718 8009EB18 AC6F0004 */ sw $t7, 4($v1) -/* 09F71C 8009EB1C AC6E0000 */ sw $t6, ($v1) -/* 09F720 8009EB20 8D030000 */ lw $v1, ($t0) -/* 09F724 8009EB24 3C0E0400 */ lui $t6, (0x0400FC00 >> 16) # lui $t6, 0x400 -/* 09F728 8009EB28 35CEFC00 */ ori $t6, (0x0400FC00 & 0xFFFF) # ori $t6, $t6, 0xfc00 -/* 09F72C 8009EB2C 24780008 */ addiu $t8, $v1, 8 -/* 09F730 8009EB30 AD180000 */ sw $t8, ($t0) -/* 09F734 8009EB34 3C19B200 */ lui $t9, 0xb200 -/* 09F738 8009EB38 AC790000 */ sw $t9, ($v1) -/* 09F73C 8009EB3C AC6E0004 */ sw $t6, 4($v1) -/* 09F740 8009EB40 AFBF007C */ sw $ra, 0x7c($sp) -/* 09F744 8009EB44 0C026E66 */ jal func_8009B998 -/* 09F748 8009EB48 00000000 */ nop -/* 09F74C 8009EB4C 3C040200 */ lui $a0, %hi(D_020015CC) # $a0, 0x200 -/* 09F750 8009EB50 0C026461 */ jal load_menu_img -/* 09F754 8009EB54 248415CC */ addiu $a0, %lo(D_020015CC) # addiu $a0, $a0, 0x15cc -/* 09F758 8009EB58 3C040200 */ lui $a0, %hi(D_020015CC) # $a0, 0x200 -/* 09F75C 8009EB5C 0C026E55 */ jal func_8009B954 -/* 09F760 8009EB60 248415CC */ addiu $a0, %lo(D_020015CC) # addiu $a0, $a0, 0x15cc -/* 09F764 8009EB64 8FBF007C */ lw $ra, 0x7c($sp) -/* 09F768 8009EB68 3C088019 */ lui $t0, %hi(sGfxPtr) # $t0, 0x8019 -/* 09F76C 8009EB6C 2508E75C */ addiu $t0, %lo(sGfxPtr) # addiu $t0, $t0, -0x18a4 -/* 09F770 8009EB70 3C050200 */ lui $a1, %hi(D_020015CC) # $a1, 0x200 -/* 09F774 8009EB74 8FE6000C */ lw $a2, 0xc($ra) -/* 09F778 8009EB78 8FE70010 */ lw $a3, 0x10($ra) -/* 09F77C 8009EB7C 24A515CC */ addiu $a1, %lo(D_020015CC) # addiu $a1, $a1, 0x15cc -/* 09F780 8009EB80 0C026E9D */ jal render_menu_textures -/* 09F784 8009EB84 8D040000 */ lw $a0, ($t0) -/* 09F788 8009EB88 3C088019 */ lui $t0, %hi(sGfxPtr) # $t0, 0x8019 -/* 09F78C 8009EB8C 2508E75C */ addiu $t0, %lo(sGfxPtr) # addiu $t0, $t0, -0x18a4 -/* 09F790 8009EB90 0C026E66 */ jal func_8009B998 -/* 09F794 8009EB94 AD020000 */ sw $v0, ($t0) -/* 09F798 8009EB98 3C040200 */ lui $a0, %hi(D_02001630) # $a0, 0x200 -/* 09F79C 8009EB9C 0C026461 */ jal load_menu_img -/* 09F7A0 8009EBA0 24841630 */ addiu $a0, %lo(D_02001630) # addiu $a0, $a0, 0x1630 -/* 09F7A4 8009EBA4 3C040200 */ lui $a0, %hi(D_02001630) # $a0, 0x200 -/* 09F7A8 8009EBA8 0C026E55 */ jal func_8009B954 -/* 09F7AC 8009EBAC 24841630 */ addiu $a0, %lo(D_02001630) # addiu $a0, $a0, 0x1630 -/* 09F7B0 8009EBB0 8FBF007C */ lw $ra, 0x7c($sp) -/* 09F7B4 8009EBB4 3C088019 */ lui $t0, %hi(sGfxPtr) # $t0, 0x8019 -/* 09F7B8 8009EBB8 2508E75C */ addiu $t0, %lo(sGfxPtr) # addiu $t0, $t0, -0x18a4 -/* 09F7BC 8009EBBC 3C050200 */ lui $a1, %hi(D_02001630) # $a1, 0x200 -/* 09F7C0 8009EBC0 8FE6000C */ lw $a2, 0xc($ra) -/* 09F7C4 8009EBC4 8FE70010 */ lw $a3, 0x10($ra) -/* 09F7C8 8009EBC8 24A51630 */ addiu $a1, %lo(D_02001630) # addiu $a1, $a1, 0x1630 -/* 09F7CC 8009EBCC 0C026E9D */ jal render_menu_textures -/* 09F7D0 8009EBD0 8D040000 */ lw $a0, ($t0) -/* 09F7D4 8009EBD4 3C088019 */ lui $t0, %hi(sGfxPtr) # $t0, 0x8019 -/* 09F7D8 8009EBD8 2508E75C */ addiu $t0, %lo(sGfxPtr) # addiu $t0, $t0, -0x18a4 -/* 09F7DC 8009EBDC 0C026E66 */ jal func_8009B998 -/* 09F7E0 8009EBE0 AD020000 */ sw $v0, ($t0) -/* 09F7E4 8009EBE4 3C040200 */ lui $a0, %hi(D_02001658) # $a0, 0x200 -/* 09F7E8 8009EBE8 0C026461 */ jal load_menu_img -/* 09F7EC 8009EBEC 24841658 */ addiu $a0, %lo(D_02001658) # addiu $a0, $a0, 0x1658 -/* 09F7F0 8009EBF0 3C040200 */ lui $a0, %hi(D_02001658) # $a0, 0x200 -/* 09F7F4 8009EBF4 0C026E55 */ jal func_8009B954 -/* 09F7F8 8009EBF8 24841658 */ addiu $a0, %lo(D_02001658) # addiu $a0, $a0, 0x1658 -/* 09F7FC 8009EBFC 8FBF007C */ lw $ra, 0x7c($sp) -/* 09F800 8009EC00 3C088019 */ lui $t0, %hi(sGfxPtr) # $t0, 0x8019 -/* 09F804 8009EC04 2508E75C */ addiu $t0, %lo(sGfxPtr) # addiu $t0, $t0, -0x18a4 -/* 09F808 8009EC08 3C050200 */ lui $a1, %hi(D_02001658) # $a1, 0x200 -/* 09F80C 8009EC0C 8FE6000C */ lw $a2, 0xc($ra) -/* 09F810 8009EC10 8FE70010 */ lw $a3, 0x10($ra) -/* 09F814 8009EC14 24A51658 */ addiu $a1, %lo(D_02001658) # addiu $a1, $a1, 0x1658 -/* 09F818 8009EC18 0C026E9D */ jal render_menu_textures -/* 09F81C 8009EC1C 8D040000 */ lw $a0, ($t0) -/* 09F820 8009EC20 3C088019 */ lui $t0, %hi(sGfxPtr) # $t0, 0x8019 -/* 09F824 8009EC24 2508E75C */ addiu $t0, %lo(sGfxPtr) # addiu $t0, $t0, -0x18a4 -/* 09F828 8009EC28 0C026E66 */ jal func_8009B998 -/* 09F82C 8009EC2C AD020000 */ sw $v0, ($t0) -/* 09F830 8009EC30 10000268 */ b .L8009F5D4 -/* 09F834 8009EC34 8FBF001C */ lw $ra, 0x1c($sp) -glabel L8009EC38 -/* 09F838 8009EC38 3C04800E */ lui $a0, %hi(D_800E7D34) # $a0, 0x800e -/* 09F83C 8009EC3C AFBF007C */ sw $ra, 0x7c($sp) -/* 09F840 8009EC40 0C026455 */ jal segmented_to_virtual_dupe_2 -/* 09F844 8009EC44 8C847D34 */ lw $a0, %lo(D_800E7D34)($a0) -/* 09F848 8009EC48 0C0268DD */ jal animate_character_select_menu -/* 09F84C 8009EC4C 00402025 */ move $a0, $v0 -/* 09F850 8009EC50 8FBF007C */ lw $ra, 0x7c($sp) -/* 09F854 8009EC54 1000025E */ b .L8009F5D0 -/* 09F858 8009EC58 AFE20018 */ sw $v0, 0x18($ra) -glabel L8009EC5C -/* 09F85C 8009EC5C 3C03800E */ lui $v1, %hi(D_800E7D0C) # $v1, 0x800e -/* 09F860 8009EC60 24637D0C */ addiu $v1, %lo(D_800E7D0C) # addiu $v1, $v1, 0x7d0c -/* 09F864 8009EC64 8C640000 */ lw $a0, ($v1) -.L8009EC68: -/* 09F868 8009EC68 0C026449 */ jal segmented_to_virtual_dupe -/* 09F86C 8009EC6C AFA30024 */ sw $v1, 0x24($sp) -/* 09F870 8009EC70 0C026461 */ jal load_menu_img -/* 09F874 8009EC74 00402025 */ move $a0, $v0 -/* 09F878 8009EC78 8FA30024 */ lw $v1, 0x24($sp) -/* 09F87C 8009EC7C 3C0F800E */ lui $t7, %hi(D_800E7D34) # $t7, 0x800e -/* 09F880 8009EC80 25EF7D34 */ addiu $t7, %lo(D_800E7D34) # addiu $t7, $t7, 0x7d34 -/* 09F884 8009EC84 24630004 */ addiu $v1, $v1, 4 -/* 09F888 8009EC88 546FFFF7 */ bnel $v1, $t7, .L8009EC68 -/* 09F88C 8009EC8C 8C640000 */ lw $a0, ($v1) -/* 09F890 8009EC90 10000250 */ b .L8009F5D4 -/* 09F894 8009EC94 8FBF001C */ lw $ra, 0x1c($sp) -glabel L8009EC98 -/* 09F898 8009EC98 3C040200 */ lui $a0, %hi(D_0200184C) # $a0, 0x200 -/* 09F89C 8009EC9C 0C026461 */ jal load_menu_img -/* 09F8A0 8009ECA0 2484184C */ addiu $a0, %lo(D_0200184C) # addiu $a0, $a0, 0x184c -/* 09F8A4 8009ECA4 1000024B */ b .L8009F5D4 -/* 09F8A8 8009ECA8 8FBF001C */ lw $ra, 0x1c($sp) -glabel L8009ECAC -/* 09F8AC 8009ECAC 0C02D557 */ jal has_unlocked_extra_mode -/* 09F8B0 8009ECB0 00000000 */ nop -/* 09F8B4 8009ECB4 0002C080 */ sll $t8, $v0, 2 -/* 09F8B8 8009ECB8 3C04800E */ lui $a0, %hi(gMenuTexturesBackground) -/* 09F8BC 8009ECBC 00982021 */ addu $a0, $a0, $t8 -/* 09F8C0 8009ECC0 8C847D4C */ lw $a0, %lo(gMenuTexturesBackground)($a0) -/* 09F8C4 8009ECC4 0C0265AF */ jal load_menu_img_comp_type -/* 09F8C8 8009ECC8 00002825 */ move $a1, $zero -/* 09F8CC 8009ECCC 10000241 */ b .L8009F5D4 -/* 09F8D0 8009ECD0 8FBF001C */ lw $ra, 0x1c($sp) -glabel L8009ECD4 -/* 09F8D4 8009ECD4 0C01BB91 */ jal load_mario_kart_64_logo -/* 09F8D8 8009ECD8 00000000 */ nop -/* 09F8DC 8009ECDC 3C028019 */ lui $v0, %hi(sMenuTextureBufferIndex) # $v0, 0x8019 -/* 09F8E0 8009ECE0 2442E110 */ addiu $v0, %lo(sMenuTextureBufferIndex) # addiu $v0, $v0, -0x1ef0 -/* 09F8E4 8009ECE4 8C590000 */ lw $t9, ($v0) -/* 09F8E8 8009ECE8 3C010001 */ lui $at, 1 -/* 09F8EC 8009ECEC 3C040200 */ lui $a0, %hi(seg2_copyright_1996_texture) # $a0, 0x200 -/* 09F8F0 8009ECF0 03217021 */ addu $t6, $t9, $at -/* 09F8F4 8009ECF4 AC4E0000 */ sw $t6, ($v0) -/* 09F8F8 8009ECF8 0C026461 */ jal load_menu_img -/* 09F8FC 8009ECFC 248445E8 */ addiu $a0, %lo(seg2_copyright_1996_texture) # addiu $a0, $a0, 0x45e8 -/* 09F900 8009ED00 10000234 */ b .L8009F5D4 -/* 09F904 8009ED04 8FBF001C */ lw $ra, 0x1c($sp) -glabel L8009ED08 -/* 09F908 8009ED08 3C040200 */ lui $a0, %hi(seg2_push_start_button_texture) # $a0, 0x200 -/* 09F90C 8009ED0C 0C026461 */ jal load_menu_img -/* 09F910 8009ED10 24844610 */ addiu $a0, %lo(seg2_push_start_button_texture) # addiu $a0, $a0, 0x4610 -/* 09F914 8009ED14 1000022F */ b .L8009F5D4 -/* 09F918 8009ED18 8FBF001C */ lw $ra, 0x1c($sp) -glabel L8009ED1C -/* 09F91C 8009ED1C 0C02D557 */ jal has_unlocked_extra_mode -/* 09F920 8009ED20 00000000 */ nop -/* 09F924 8009ED24 00027880 */ sll $t7, $v0, 2 -/* 09F928 8009ED28 3C04800E */ lui $a0, %hi(gMenuTexturesBackground) -/* 09F92C 8009ED2C 008F2021 */ addu $a0, $a0, $t7 -/* 09F930 8009ED30 8C847D4C */ lw $a0, %lo(gMenuTexturesBackground)($a0) -/* 09F934 8009ED34 0C0265AF */ jal load_menu_img_comp_type -/* 09F938 8009ED38 00002825 */ move $a1, $zero -/* 09F93C 8009ED3C 3C040200 */ lui $a0, %hi(D_02004B74) # $a0, 0x200 -/* 09F940 8009ED40 24844B74 */ addiu $a0, %lo(D_02004B74) # addiu $a0, $a0, 0x4b74 -/* 09F944 8009ED44 0C0265AF */ jal load_menu_img_comp_type -/* 09F948 8009ED48 00002825 */ move $a1, $zero -/* 09F94C 8009ED4C 00002025 */ move $a0, $zero -/* 09F950 8009ED50 0C026C29 */ jal convert_img_to_greyscale -/* 09F954 8009ED54 24050019 */ li $a1, 25 -/* 09F958 8009ED58 8FB80080 */ lw $t8, 0x80($sp) -/* 09F95C 8009ED5C 3C0E800E */ lui $t6, %hi(D_800E74E8) # $t6, 0x800e -/* 09F960 8009ED60 25CE74E8 */ addiu $t6, %lo(D_800E74E8) # addiu $t6, $t6, 0x74e8 -/* 09F964 8009ED64 0018C8C0 */ sll $t9, $t8, 3 -/* 09F968 8009ED68 032E1021 */ addu $v0, $t9, $t6 -/* 09F96C 8009ED6C 944FFEEC */ lhu $t7, -0x114($v0) -/* 09F970 8009ED70 3C050001 */ lui $a1, (0x00012C00 >> 16) # lui $a1, 1 -/* 09F974 8009ED74 34A52C00 */ ori $a1, (0x00012C00 & 0xFFFF) # ori $a1, $a1, 0x2c00 -/* 09F978 8009ED78 9446FEE8 */ lhu $a2, -0x118($v0) -/* 09F97C 8009ED7C 9447FEEA */ lhu $a3, -0x116($v0) -/* 09F980 8009ED80 00002025 */ move $a0, $zero -/* 09F984 8009ED84 0C026D4E */ jal adjust_img_colour -/* 09F988 8009ED88 AFAF0010 */ sw $t7, 0x10($sp) -/* 09F98C 8009ED8C 10000211 */ b .L8009F5D4 -/* 09F990 8009ED90 8FBF001C */ lw $ra, 0x1c($sp) -glabel L8009ED94 -/* 09F994 8009ED94 24180020 */ li $t8, 32 -/* 09F998 8009ED98 AFF8001C */ sw $t8, 0x1c($ra) -glabel L8009ED9C -/* 09F99C 8009ED9C 8FB90080 */ lw $t9, 0x80($sp) -/* 09F9A0 8009EDA0 3C04800F */ lui $a0, %hi(D_800E822C) # 0x800f -/* 09F9A4 8009EDA4 00197080 */ sll $t6, $t9, 2 -/* 09F9A8 8009EDA8 008E2021 */ addu $a0, $a0, $t6 -/* 09F9AC 8009EDAC 0C026449 */ jal segmented_to_virtual_dupe -/* 09F9B0 8009EDB0 8C84822C */ lw $a0, %lo(D_800E822C)($a0) # -0x7dd4($a0) -/* 09F9B4 8009EDB4 00402025 */ move $a0, $v0 -/* 09F9B8 8009EDB8 0C0265AF */ jal load_menu_img_comp_type -/* 09F9BC 8009EDBC 00002825 */ move $a1, $zero -/* 09F9C0 8009EDC0 10000204 */ b .L8009F5D4 -/* 09F9C4 8009EDC4 8FBF001C */ lw $ra, 0x1c($sp) -glabel L8009EDC8 -/* 09F9C8 8009EDC8 8FB80080 */ lw $t8, 0x80($sp) -/* 09F9CC 8009EDCC 3C0E800F */ lui $t6, %hi(D_800E8234) # $t6, 0x800f -/* 09F9D0 8009EDD0 25CE8234 */ addiu $t6, %lo(D_800E8234) # addiu $t6, $t6, -0x7dcc -/* 09F9D4 8009EDD4 0018C8C0 */ sll $t9, $t8, 3 -/* 09F9D8 8009EDD8 032E1021 */ addu $v0, $t9, $t6 -/* 09F9DC 8009EDDC 8C44FFA8 */ lw $a0, -0x58($v0) -/* 09F9E0 8009EDE0 0C026449 */ jal segmented_to_virtual_dupe -/* 09F9E4 8009EDE4 AFA20024 */ sw $v0, 0x24($sp) -/* 09F9E8 8009EDE8 00402025 */ move $a0, $v0 -/* 09F9EC 8009EDEC 0C0265AF */ jal load_menu_img_comp_type -/* 09F9F0 8009EDF0 00002825 */ move $a1, $zero -/* 09F9F4 8009EDF4 8FAF0024 */ lw $t7, 0x24($sp) -/* 09F9F8 8009EDF8 0C026449 */ jal segmented_to_virtual_dupe -/* 09F9FC 8009EDFC 8DE4FFAC */ lw $a0, -0x54($t7) -/* 09FA00 8009EE00 0C026461 */ jal load_menu_img -/* 09FA04 8009EE04 00402025 */ move $a0, $v0 -/* 09FA08 8009EE08 100001F2 */ b .L8009F5D4 -/* 09FA0C 8009EE0C 8FBF001C */ lw $ra, 0x1c($sp) -glabel L8009EE10 -/* 09FA10 8009EE10 3C040200 */ lui $a0, %hi(D_02004B4C) # $a0, 0x200 -/* 09FA14 8009EE14 24844B4C */ addiu $a0, %lo(D_02004B4C) # addiu $a0, $a0, 0x4b4c -/* 09FA18 8009EE18 0C0265AF */ jal load_menu_img_comp_type -/* 09FA1C 8009EE1C 00002825 */ move $a1, $zero -/* 09FA20 8009EE20 100001EC */ b .L8009F5D4 -/* 09FA24 8009EE24 8FBF001C */ lw $ra, 0x1c($sp) -glabel L8009EE28 -/* 09FA28 8009EE28 3C040200 */ lui $a0, %hi(D_02004B74) # $a0, 0x200 -/* 09FA2C 8009EE2C AFBF007C */ sw $ra, 0x7c($sp) -/* 09FA30 8009EE30 24844B74 */ addiu $a0, %lo(D_02004B74) # addiu $a0, $a0, 0x4b74 -/* 09FA34 8009EE34 0C0265AF */ jal load_menu_img_comp_type -/* 09FA38 8009EE38 00002825 */ move $a1, $zero -/* 09FA3C 8009EE3C 8FBF007C */ lw $ra, 0x7c($sp) -/* 09FA40 8009EE40 24180020 */ li $t8, 32 -/* 09FA44 8009EE44 100001E2 */ b .L8009F5D0 -/* 09FA48 8009EE48 AFF8001C */ sw $t8, 0x1c($ra) -glabel L8009EE4C -/* 09FA4C 8009EE4C 8FB90080 */ lw $t9, 0x80($sp) -/* 09FA50 8009EE50 3C04800F */ lui $a0, %hi(D_800E81E4) # 0x800f -/* 09FA54 8009EE54 00197080 */ sll $t6, $t9, 2 -/* 09FA58 8009EE58 008E2021 */ addu $a0, $a0, $t6 -/* 09FA5C 8009EE5C 0C026449 */ jal segmented_to_virtual_dupe -/* 09FA60 8009EE60 8C8481E4 */ lw $a0, %lo(D_800E81E4)($a0) # -0x7e1c($a0) -/* 09FA64 8009EE64 0C026461 */ jal load_menu_img -/* 09FA68 8009EE68 00402025 */ move $a0, $v0 -/* 09FA6C 8009EE6C 100001D9 */ b .L8009F5D4 -/* 09FA70 8009EE70 8FBF001C */ lw $ra, 0x1c($sp) -glabel L8009EE74 -/* 09FA74 8009EE74 8FA60080 */ lw $a2, 0x80($sp) -/* 09FA78 8009EE78 3C04800F */ lui $a0, %hi(D_800E8274) # 0x800f -/* 09FA7C 8009EE7C AFBF007C */ sw $ra, 0x7c($sp) -/* 09FA80 8009EE80 00067880 */ sll $t7, $a2, 2 -/* 09FA84 8009EE84 008F2021 */ addu $a0, $a0, $t7 -/* 09FA88 8009EE88 8C848274 */ lw $a0, %lo(D_800E8274)($a0) # -0x7d8c($a0) -/* 09FA8C 8009EE8C 01E03025 */ move $a2, $t7 -/* 09FA90 8009EE90 0C026455 */ jal segmented_to_virtual_dupe_2 -/* 09FA94 8009EE94 AFAF0024 */ sw $t7, 0x24($sp) -/* 09FA98 8009EE98 0C0268DD */ jal animate_character_select_menu -/* 09FA9C 8009EE9C 00402025 */ move $a0, $v0 -/* 09FAA0 8009EEA0 8FA60024 */ lw $a2, 0x24($sp) -/* 09FAA4 8009EEA4 8FBF007C */ lw $ra, 0x7c($sp) -/* 09FAA8 8009EEA8 3C04800E */ lui $a0, %hi(D_800E7D54 - 0xAC) -/* 09FAAC 8009EEAC 00862021 */ addu $a0, $a0, $a2 -/* 09FAB0 8009EEB0 AFE20018 */ sw $v0, 0x18($ra) -/* 09FAB4 8009EEB4 0C026449 */ jal segmented_to_virtual_dupe -/* 09FAB8 8009EEB8 8C847CA8 */ lw $a0, %lo(D_800E7D54 - 0xAC)($a0) -/* 09FABC 8009EEBC 00402025 */ move $a0, $v0 -/* 09FAC0 8009EEC0 0C0265AF */ jal load_menu_img_comp_type -/* 09FAC4 8009EEC4 00002825 */ move $a1, $zero -/* 09FAC8 8009EEC8 100001C2 */ b .L8009F5D4 -/* 09FACC 8009EECC 8FBF001C */ lw $ra, 0x1c($sp) -glabel L8009EED0 -/* 09FAD0 8009EED0 8FB80080 */ lw $t8, 0x80($sp) -/* 09FAD4 8009EED4 3C04800F */ lui $a0, %hi(D_800E80A0) # 0x800f -/* 09FAD8 8009EED8 AFBF007C */ sw $ra, 0x7c($sp) -/* 09FADC 8009EEDC 0018C880 */ sll $t9, $t8, 2 -/* 09FAE0 8009EEE0 00992021 */ addu $a0, $a0, $t9 -/* 09FAE4 8009EEE4 0C026455 */ jal segmented_to_virtual_dupe_2 -/* 09FAE8 8009EEE8 8C8480A0 */ lw $a0, %lo(D_800E80A0)($a0) # -0x7f60($a0) -/* 09FAEC 8009EEEC 0C0268DD */ jal animate_character_select_menu -/* 09FAF0 8009EEF0 00402025 */ move $a0, $v0 -/* 09FAF4 8009EEF4 8FBF007C */ lw $ra, 0x7c($sp) -/* 09FAF8 8009EEF8 100001B5 */ b .L8009F5D0 -/* 09FAFC 8009EEFC AFE20018 */ sw $v0, 0x18($ra) -glabel L8009EF00 -/* 09FB00 8009EF00 240E0020 */ li $t6, 32 -/* 09FB04 8009EF04 AFEE001C */ sw $t6, 0x1c($ra) -glabel L8009EF08 -/* 09FB08 8009EF08 8FAF0080 */ lw $t7, 0x80($sp) -/* 09FB0C 8009EF0C 3C04800F */ lui $a0, %hi(D_800E817C) # 0x800f -/* 09FB10 8009EF10 000FC080 */ sll $t8, $t7, 2 -/* 09FB14 8009EF14 00982021 */ addu $a0, $a0, $t8 -/* 09FB18 8009EF18 0C026449 */ jal segmented_to_virtual_dupe -/* 09FB1C 8009EF1C 8C84817C */ lw $a0, %lo(D_800E817C)($a0) # -0x7e84($a0) -/* 09FB20 8009EF20 00402025 */ move $a0, $v0 -/* 09FB24 8009EF24 0C0265AF */ jal load_menu_img_comp_type -/* 09FB28 8009EF28 00002825 */ move $a1, $zero -/* 09FB2C 8009EF2C 100001A9 */ b .L8009F5D4 -/* 09FB30 8009EF30 8FBF001C */ lw $ra, 0x1c($sp) -glabel L8009EF34 -/* 09FB34 8009EF34 8FF90000 */ lw $t9, ($ra) -/* 09FB38 8009EF38 3C0F800F */ lui $t7, %hi(gCupCourseOrder-0xBE) # 0x800f -/* 09FB3C 8009EF3C 3C04800E */ lui $a0, %hi(D_800E7E34) -/* 09FB40 8009EF40 00197040 */ sll $t6, $t9, 1 -/* 09FB44 8009EF44 01EE7821 */ addu $t7, $t7, $t6 -/* 09FB48 8009EF48 85EF2AF6 */ lh $t7, %lo(gCupCourseOrder-0xBE)($t7) # 0x2af6($t7) -/* 09FB4C 8009EF4C AFBF007C */ sw $ra, 0x7c($sp) -/* 09FB50 8009EF50 000FC080 */ sll $t8, $t7, 2 -/* 09FB54 8009EF54 00982021 */ addu $a0, $a0, $t8 -/* 09FB58 8009EF58 0C026455 */ jal segmented_to_virtual_dupe_2 -/* 09FB5C 8009EF5C 8C847E34 */ lw $a0, %lo(D_800E7E34)($a0) -/* 09FB60 8009EF60 0C0268DD */ jal animate_character_select_menu -/* 09FB64 8009EF64 00402025 */ move $a0, $v0 -/* 09FB68 8009EF68 8FBF007C */ lw $ra, 0x7c($sp) -/* 09FB6C 8009EF6C 10000198 */ b .L8009F5D0 -/* 09FB70 8009EF70 AFE20018 */ sw $v0, 0x18($ra) -glabel L8009EF74 -/* 09FB74 8009EF74 AFBF007C */ sw $ra, 0x7c($sp) -/* 09FB78 8009EF78 0C0ADF8D */ jal random_int -/* 09FB7C 8009EF7C 24040004 */ li $a0, 4 -/* 09FB80 8009EF80 8FBF007C */ lw $ra, 0x7c($sp) -/* 09FB84 8009EF84 24590002 */ addiu $t9, $v0, 2 -/* 09FB88 8009EF88 10000191 */ b .L8009F5D0 -/* 09FB8C 8009EF8C AFF90020 */ sw $t9, 0x20($ra) -glabel L8009EF90 -/* 09FB90 8009EF90 8FAE0080 */ lw $t6, 0x80($sp) -/* 09FB94 8009EF94 3C18800E */ lui $t8, %hi(D_800E7248) # $t8, 0x800e -/* 09FB98 8009EF98 27187248 */ addiu $t8, %lo(D_800E7248) # addiu $t8, $t8, 0x7248 -/* 09FB9C 8009EF9C 000E78C0 */ sll $t7, $t6, 3 -/* 09FBA0 8009EFA0 01F81021 */ addu $v0, $t7, $t8 -/* 09FBA4 8009EFA4 8459FCD8 */ lh $t9, -0x328($v0) -/* 09FBA8 8009EFA8 AFF9000C */ sw $t9, 0xc($ra) -/* 09FBAC 8009EFAC 844EFCDA */ lh $t6, -0x326($v0) -/* 09FBB0 8009EFB0 10000187 */ b .L8009F5D0 -/* 09FBB4 8009EFB4 AFEE0010 */ sw $t6, 0x10($ra) -glabel L8009EFB8 -/* 09FBB8 8009EFB8 3C028019 */ lui $v0, %hi(gCupSelection) # $v0, 0x8019 -/* 09FBBC 8009EFBC 2442EE09 */ addiu $v0, %lo(gCupSelection) # addiu $v0, $v0, -0x11f7 -/* 09FBC0 8009EFC0 804F0000 */ lb $t7, ($v0) -/* 09FBC4 8009EFC4 3C05800E */ lui $a1, %hi(gCCSelection) # $a1, 0x800e -/* 09FBC8 8009EFC8 AFEF001C */ sw $t7, 0x1c($ra) -/* 09FBCC 8009EFCC AFBF007C */ sw $ra, 0x7c($sp) -/* 09FBD0 8009EFD0 8CA5C548 */ lw $a1, %lo(gCCSelection)($a1) -/* 09FBD4 8009EFD4 0C02D530 */ jal func_800B54C0 -/* 09FBD8 8009EFD8 80440000 */ lb $a0, ($v0) -/* 09FBDC 8009EFDC 8FBF007C */ lw $ra, 0x7c($sp) -/* 09FBE0 8009EFE0 3C18800E */ lui $t8, %hi(gCCSelection) # $t8, 0x800e -/* 09FBE4 8009EFE4 00401825 */ move $v1, $v0 -/* 09FBE8 8009EFE8 AFE20020 */ sw $v0, 0x20($ra) -/* 09FBEC 8009EFEC 8F18C548 */ lw $t8, %lo(gCCSelection)($t8) -/* 09FBF0 8009EFF0 3C04800E */ lui $a0, %hi(D_800E7E20) -/* 09FBF4 8009EFF4 07010003 */ bgez $t8, .L8009F004 -/* 09FBF8 8009EFF8 0018C843 */ sra $t9, $t8, 1 -/* 09FBFC 8009EFFC 27010001 */ addiu $at, $t8, 1 -/* 09FC00 8009F000 0001C843 */ sra $t9, $at, 1 -.L8009F004: -/* 09FC04 8009F004 03207025 */ move $t6, $t9 -/* 09FC08 8009F008 0003C080 */ sll $t8, $v1, 2 -/* 09FC0C 8009F00C 0018C823 */ negu $t9, $t8 -/* 09FC10 8009F010 000E7900 */ sll $t7, $t6, 4 -/* 09FC14 8009F014 01F97021 */ addu $t6, $t7, $t9 -/* 09FC18 8009F018 008E2021 */ addu $a0, $a0, $t6 -/* 09FC1C 8009F01C 0C026455 */ jal segmented_to_virtual_dupe_2 -/* 09FC20 8009F020 8C847E20 */ lw $a0, %lo(D_800E7E20)($a0) -/* 09FC24 8009F024 0C0268DD */ jal animate_character_select_menu -/* 09FC28 8009F028 00402025 */ move $a0, $v0 -/* 09FC2C 8009F02C 8FBF007C */ lw $ra, 0x7c($sp) -/* 09FC30 8009F030 3C03800E */ lui $v1, %hi(D_800E7268) # $v1, 0x800e -/* 09FC34 8009F034 24637268 */ addiu $v1, %lo(D_800E7268) # addiu $v1, $v1, 0x7268 -/* 09FC38 8009F038 AFE20018 */ sw $v0, 0x18($ra) -/* 09FC3C 8009F03C 84780000 */ lh $t8, ($v1) -/* 09FC40 8009F040 AFF8000C */ sw $t8, 0xc($ra) -/* 09FC44 8009F044 846F0002 */ lh $t7, 2($v1) -/* 09FC48 8009F048 10000161 */ b .L8009F5D0 -/* 09FC4C 8009F04C AFEF0010 */ sw $t7, 0x10($ra) -glabel L8009F050 -/* 09FC50 8009F050 3C19800E */ lui $t9, %hi(gCCSelection) # $t9, 0x800e -/* 09FC54 8009F054 8F39C548 */ lw $t9, %lo(gCCSelection)($t9) -/* 09FC58 8009F058 3C04800F */ lui $a0, %hi(D_800E8294) # 0x800f -/* 09FC5C 8009F05C AFBF007C */ sw $ra, 0x7c($sp) -/* 09FC60 8009F060 00197080 */ sll $t6, $t9, 2 -/* 09FC64 8009F064 008E2021 */ addu $a0, $a0, $t6 -/* 09FC68 8009F068 0C026449 */ jal segmented_to_virtual_dupe -/* 09FC6C 8009F06C 8C848294 */ lw $a0, %lo(D_800E8294)($a0) # -0x7d6c($a0) -/* 09FC70 8009F070 00402025 */ move $a0, $v0 -/* 09FC74 8009F074 0C0265AF */ jal load_menu_img_comp_type -/* 09FC78 8009F078 00002825 */ move $a1, $zero -/* 09FC7C 8009F07C 8FBF007C */ lw $ra, 0x7c($sp) -/* 09FC80 8009F080 24180037 */ li $t8, 55 -/* 09FC84 8009F084 240F00C3 */ li $t7, 195 -/* 09FC88 8009F088 AFF8000C */ sw $t8, 0xc($ra) -/* 09FC8C 8009F08C 10000150 */ b .L8009F5D0 -/* 09FC90 8009F090 AFEF0010 */ sw $t7, 0x10($ra) -glabel L8009F094 -/* 09FC94 8009F094 3C040200 */ lui $a0, %hi(D_02004A0C) # $a0, 0x200 -/* 09FC98 8009F098 0C026449 */ jal segmented_to_virtual_dupe -/* 09FC9C 8009F09C 24844A0C */ addiu $a0, %lo(D_02004A0C) # addiu $a0, $a0, 0x4a0c -/* 09FCA0 8009F0A0 00402025 */ move $a0, $v0 -/* 09FCA4 8009F0A4 0C0265AF */ jal load_menu_img_comp_type -/* 09FCA8 8009F0A8 00002825 */ move $a1, $zero -/* 09FCAC 8009F0AC 0C02D6E5 */ jal controller_pak_1_status -/* 09FCB0 8009F0B0 00000000 */ nop -/* 09FCB4 8009F0B4 14400005 */ bnez $v0, .L8009F0CC -/* 09FCB8 8009F0B8 00000000 */ nop -/* 09FCBC 8009F0BC 0C02D9C2 */ jal func_800B6708 -/* 09FCC0 8009F0C0 00000000 */ nop -/* 09FCC4 8009F0C4 10000143 */ b .L8009F5D4 -/* 09FCC8 8009F0C8 8FBF001C */ lw $ra, 0x1c($sp) -.L8009F0CC: -/* 09FCCC 8009F0CC 3C028019 */ lui $v0, %hi(D_8018EE10) # $v0, 0x8019 -/* 09FCD0 8009F0D0 2442EE10 */ addiu $v0, %lo(D_8018EE10) # addiu $v0, $v0, -0x11f0 -/* 09FCD4 8009F0D4 A0400004 */ sb $zero, 4($v0) -/* 09FCD8 8009F0D8 1000013D */ b .L8009F5D0 -/* 09FCDC 8009F0DC A0400084 */ sb $zero, 0x84($v0) -glabel L8009F0E0 -/* 09FCE0 8009F0E0 8FB90080 */ lw $t9, 0x80($sp) -/* 09FCE4 8009F0E4 3C04800F */ lui $a0, %hi(D_800E8114) # 0x800f -/* 09FCE8 8009F0E8 00197080 */ sll $t6, $t9, 2 -/* 09FCEC 8009F0EC 008E2021 */ addu $a0, $a0, $t6 -/* 09FCF0 8009F0F0 0C026449 */ jal segmented_to_virtual_dupe -/* 09FCF4 8009F0F4 8C848114 */ lw $a0, %lo(D_800E8114)($a0) # -0x7eec($a0) -/* 09FCF8 8009F0F8 00402025 */ move $a0, $v0 -/* 09FCFC 8009F0FC 0C0265AF */ jal load_menu_img_comp_type -/* 09FD00 8009F100 00002825 */ move $a1, $zero -/* 09FD04 8009F104 10000133 */ b .L8009F5D4 -/* 09FD08 8009F108 8FBF001C */ lw $ra, 0x1c($sp) -glabel L8009F10C -/* 09FD0C 8009F10C 3C040200 */ lui $a0, %hi(seg2_data_texture) # $a0, 0x200 -/* 09FD10 8009F110 0C026449 */ jal segmented_to_virtual_dupe -/* 09FD14 8009F114 24844A34 */ addiu $a0, %lo(seg2_data_texture) # addiu $a0, $a0, 0x4a34 -/* 09FD18 8009F118 00402025 */ move $a0, $v0 -/* 09FD1C 8009F11C 0C0265AF */ jal load_menu_img_comp_type -/* 09FD20 8009F120 00002825 */ move $a1, $zero -/* 09FD24 8009F124 0C02D6E5 */ jal controller_pak_1_status -/* 09FD28 8009F128 00000000 */ nop -/* 09FD2C 8009F12C 14400005 */ bnez $v0, .L8009F144 -/* 09FD30 8009F130 00000000 */ nop -/* 09FD34 8009F134 0C02D9C2 */ jal func_800B6708 -/* 09FD38 8009F138 00000000 */ nop -/* 09FD3C 8009F13C 10000125 */ b .L8009F5D4 -/* 09FD40 8009F140 8FBF001C */ lw $ra, 0x1c($sp) -.L8009F144: -/* 09FD44 8009F144 3C028019 */ lui $v0, %hi(D_8018EE10) # $v0, 0x8019 -/* 09FD48 8009F148 2442EE10 */ addiu $v0, %lo(D_8018EE10) # addiu $v0, $v0, -0x11f0 -/* 09FD4C 8009F14C A0400004 */ sb $zero, 4($v0) -/* 09FD50 8009F150 1000011F */ b .L8009F5D0 -/* 09FD54 8009F154 A0400084 */ sb $zero, 0x84($v0) -glabel L8009F158 -/* 09FD58 8009F158 3C040200 */ lui $a0, %hi(D_02001FA4) # $a0, 0x200 -/* 09FD5C 8009F15C 0C026449 */ jal segmented_to_virtual_dupe -/* 09FD60 8009F160 24841FA4 */ addiu $a0, %lo(D_02001FA4) # addiu $a0, $a0, 0x1fa4 -/* 09FD64 8009F164 0C026461 */ jal load_menu_img -/* 09FD68 8009F168 00402025 */ move $a0, $v0 -/* 09FD6C 8009F16C 10000119 */ b .L8009F5D4 -/* 09FD70 8009F170 8FBF001C */ lw $ra, 0x1c($sp) -glabel L8009F174 -/* 09FD74 8009F174 8FE20000 */ lw $v0, ($ra) -/* 09FD78 8009F178 3C04800E */ lui $a0, %hi(D_800E7D74) -/* 09FD7C 8009F17C AFBF007C */ sw $ra, 0x7c($sp) -/* 09FD80 8009F180 2442FF84 */ addiu $v0, $v0, -0x7c -/* 09FD84 8009F184 04410003 */ bgez $v0, .L8009F194 -/* 09FD88 8009F188 0002C083 */ sra $t8, $v0, 2 -/* 09FD8C 8009F18C 24410003 */ addiu $at, $v0, 3 -/* 09FD90 8009F190 0001C083 */ sra $t8, $at, 2 -.L8009F194: -/* 09FD94 8009F194 001878C0 */ sll $t7, $t8, 3 -/* 09FD98 8009F198 04410004 */ bgez $v0, .L8009F1AC -/* 09FD9C 8009F19C 30590003 */ andi $t9, $v0, 3 -/* 09FDA0 8009F1A0 13200002 */ beqz $t9, .L8009F1AC -/* 09FDA4 8009F1A4 00000000 */ nop -/* 09FDA8 8009F1A8 2739FFFC */ addiu $t9, $t9, -4 -.L8009F1AC: -/* 09FDAC 8009F1AC 00197040 */ sll $t6, $t9, 1 -/* 09FDB0 8009F1B0 01EEC021 */ addu $t8, $t7, $t6 -/* 09FDB4 8009F1B4 3C19800F */ lui $t9, %hi(gCupCourseOrder) -/* 09FDB8 8009F1B8 0338C821 */ addu $t9, $t9, $t8 -/* 09FDBC 8009F1BC 87392BB4 */ lh $t9, %lo(gCupCourseOrder)($t9) -/* 09FDC0 8009F1C0 00197880 */ sll $t7, $t9, 2 -/* 09FDC4 8009F1C4 008F2021 */ addu $a0, $a0, $t7 -/* 09FDC8 8009F1C8 0C026449 */ jal segmented_to_virtual_dupe -/* 09FDCC 8009F1CC 8C847D74 */ lw $a0, %lo(D_800E7D74)($a0) -/* 09FDD0 8009F1D0 00402025 */ move $a0, $v0 -/* 09FDD4 8009F1D4 0C0265AF */ jal load_menu_img_comp_type -/* 09FDD8 8009F1D8 2405FFFF */ li $a1, -1 -/* 09FDDC 8009F1DC 8FBF007C */ lw $ra, 0x7c($sp) -/* 09FDE0 8009F1E0 3C04800E */ lui $a0, %hi(D_800E7DC4) -/* 09FDE4 8009F1E4 8FE20000 */ lw $v0, ($ra) -/* 09FDE8 8009F1E8 2442FF84 */ addiu $v0, $v0, -0x7c -/* 09FDEC 8009F1EC 04410003 */ bgez $v0, .L8009F1FC -/* 09FDF0 8009F1F0 00027083 */ sra $t6, $v0, 2 -/* 09FDF4 8009F1F4 24410003 */ addiu $at, $v0, 3 -/* 09FDF8 8009F1F8 00017083 */ sra $t6, $at, 2 -.L8009F1FC: -/* 09FDFC 8009F1FC 000EC0C0 */ sll $t8, $t6, 3 -/* 09FE00 8009F200 04410004 */ bgez $v0, .L8009F214 -/* 09FE04 8009F204 30590003 */ andi $t9, $v0, 3 -/* 09FE08 8009F208 13200002 */ beqz $t9, .L8009F214 -/* 09FE0C 8009F20C 00000000 */ nop -/* 09FE10 8009F210 2739FFFC */ addiu $t9, $t9, -4 -.L8009F214: -/* 09FE14 8009F214 00197840 */ sll $t7, $t9, 1 -/* 09FE18 8009F218 030F7021 */ addu $t6, $t8, $t7 -/* 09FE1C 8009F21C 3C19800F */ lui $t9, %hi(gCupCourseOrder) -/* 09FE20 8009F220 032EC821 */ addu $t9, $t9, $t6 -/* 09FE24 8009F224 87392BB4 */ lh $t9, %lo(gCupCourseOrder)($t9) -/* 09FE28 8009F228 0019C080 */ sll $t8, $t9, 2 -/* 09FE2C 8009F22C 00982021 */ addu $a0, $a0, $t8 -/* 09FE30 8009F230 0C026449 */ jal segmented_to_virtual_dupe -/* 09FE34 8009F234 8C847DC4 */ lw $a0, %lo(D_800E7DC4)($a0) -/* 09FE38 8009F238 00402025 */ move $a0, $v0 -/* 09FE3C 8009F23C 0C0265AF */ jal load_menu_img_comp_type -/* 09FE40 8009F240 00002825 */ move $a1, $zero -/* 09FE44 8009F244 3C040200 */ lui $a0, %hi(D_02004A0C) # $a0, 0x200 -/* 09FE48 8009F248 0C026449 */ jal segmented_to_virtual_dupe -/* 09FE4C 8009F24C 24844A0C */ addiu $a0, %lo(D_02004A0C) # addiu $a0, $a0, 0x4a0c -/* 09FE50 8009F250 00402025 */ move $a0, $v0 -/* 09FE54 8009F254 0C0265AF */ jal load_menu_img_comp_type -/* 09FE58 8009F258 00002825 */ move $a1, $zero -/* 09FE5C 8009F25C 100000DD */ b .L8009F5D4 -/* 09FE60 8009F260 8FBF001C */ lw $ra, 0x1c($sp) -glabel L8009F264 -/* 09FE64 8009F264 8FAF0080 */ lw $t7, 0x80($sp) -/* 09FE68 8009F268 3C0E800F */ lui $t6, %hi(gCharacterSelections - 0xb1) # 0x800f -/* 09FE6C 8009F26C 3C02800E */ lui $v0, %hi(gModeSelection) # $v0, 0x800e -/* 09FE70 8009F270 01CF7021 */ addu $t6, $t6, $t7 -/* 09FE74 8009F274 81CE85F7 */ lb $t6, %lo(gCharacterSelections - 0xb1)($t6) # -0x7a09($t6) -/* 09FE78 8009F278 8C42C53C */ lw $v0, %lo(gModeSelection)($v0) -/* 09FE7C 8009F27C 3C05800F */ lui $a1, %hi(D_800EFD64) # 0x800f -/* 09FE80 8009F280 24010002 */ li $at, 2 -/* 09FE84 8009F284 00AE2821 */ addu $a1, $a1, $t6 -/* 09FE88 8009F288 80A5FD64 */ lb $a1, %lo(D_800EFD64)($a1) # -0x29c($a1) -/* 09FE8C 8009F28C 00001825 */ move $v1, $zero -/* 09FE90 8009F290 10410006 */ beq $v0, $at, .L8009F2AC -/* 09FE94 8009F294 25E7FF4F */ addiu $a3, $t7, -0xb1 -/* 09FE98 8009F298 24010003 */ li $at, 3 -/* 09FE9C 8009F29C 1041000D */ beq $v0, $at, .L8009F2D4 -/* 09FEA0 8009F2A0 8FA60080 */ lw $a2, 0x80($sp) -/* 09FEA4 8009F2A4 10000013 */ b .L8009F2F4 -/* 09FEA8 8009F2A8 000F3080 */ sll $a2, $t7, 2 -.L8009F2AC: -/* 09FEAC 8009F2AC 8FA60080 */ lw $a2, 0x80($sp) -/* 09FEB0 8009F2B0 3C188016 */ lui $t8, %hi(gGPCurrentRaceRankByPlayerId - 0x2C4) # 0x8016 -/* 09FEB4 8009F2B4 0006C880 */ sll $t9, $a2, 2 -/* 09FEB8 8009F2B8 0319C021 */ addu $t8, $t8, $t9 -/* 09FEBC 8009F2BC 8F1840F4 */ lw $t8, %lo(gGPCurrentRaceRankByPlayerId - 0x2C4)($t8) # 0x40f4($t8) -/* 09FEC0 8009F2C0 03203025 */ move $a2, $t9 -/* 09FEC4 8009F2C4 1300000B */ beqz $t8, .L8009F2F4 -/* 09FEC8 8009F2C8 00000000 */ nop -/* 09FECC 8009F2CC 10000009 */ b .L8009F2F4 -/* 09FED0 8009F2D0 24030001 */ li $v1, 1 -.L8009F2D4: -/* 09FED4 8009F2D4 3C0F800E */ lui $t7, %hi(gPlayerWinningIndex) # $t7, 0x800e -/* 09FED8 8009F2D8 8DEFC5E8 */ lw $t7, %lo(gPlayerWinningIndex)($t7) -/* 09FEDC 8009F2DC 8FAE0080 */ lw $t6, 0x80($sp) -/* 09FEE0 8009F2E0 0006C080 */ sll $t8, $a2, 2 -/* 09FEE4 8009F2E4 25F900B1 */ addiu $t9, $t7, 0xb1 -/* 09FEE8 8009F2E8 11D90002 */ beq $t6, $t9, .L8009F2F4 -/* 09FEEC 8009F2EC 03003025 */ move $a2, $t8 -/* 09FEF0 8009F2F0 24030001 */ li $v1, 1 -.L8009F2F4: -/* 09FEF4 8009F2F4 10600006 */ beqz $v1, .L8009F310 -/* 09FEF8 8009F2F8 3C04800F */ lui $a0, %hi(D_800E8320) # 0x800f -/* 09FEFC 8009F2FC 00051880 */ sll $v1, $a1, 2 -/* 09FF00 8009F300 3C04800F */ lui $a0, %hi(gCharacterDefeatAnimation) # 0x800f -/* 09FF04 8009F304 00832021 */ addu $a0, $a0, $v1 -/* 09FF08 8009F308 10000004 */ b .L8009F31C -/* 09FF0C 8009F30C 8C848420 */ lw $a0, %lo(gCharacterDefeatAnimation)($a0) # -0x7be0($a0) -.L8009F310: -/* 09FF10 8009F310 00051880 */ sll $v1, $a1, 2 -/* 09FF14 8009F314 00832021 */ addu $a0, $a0, $v1 -/* 09FF18 8009F318 8C848320 */ lw $a0, %lo(D_800E8320)($a0) # -0x7ce0($a0) -.L8009F31C: -/* 09FF1C 8009F31C AFBF007C */ sw $ra, 0x7c($sp) -/* 09FF20 8009F320 AFA30020 */ sw $v1, 0x20($sp) -/* 09FF24 8009F324 AFA60024 */ sw $a2, 0x24($sp) -/* 09FF28 8009F328 0C026455 */ jal segmented_to_virtual_dupe_2 -/* 09FF2C 8009F32C AFA7003C */ sw $a3, 0x3c($sp) -/* 09FF30 8009F330 8FA5003C */ lw $a1, 0x3c($sp) -/* 09FF34 8009F334 0C02691E */ jal func_8009A478 -/* 09FF38 8009F338 00402025 */ move $a0, $v0 -/* 09FF3C 8009F33C 8FA30020 */ lw $v1, 0x20($sp) -/* 09FF40 8009F340 8FBF007C */ lw $ra, 0x7c($sp) -/* 09FF44 8009F344 3C04800E */ lui $a0, %hi(D_800E7D54) -/* 09FF48 8009F348 00832021 */ addu $a0, $a0, $v1 -/* 09FF4C 8009F34C AFE20018 */ sw $v0, 0x18($ra) -/* 09FF50 8009F350 0C026449 */ jal segmented_to_virtual_dupe -/* 09FF54 8009F354 8C847D54 */ lw $a0, %lo(D_800E7D54)($a0) -/* 09FF58 8009F358 00402025 */ move $a0, $v0 -/* 09FF5C 8009F35C 0C0265AF */ jal load_menu_img_comp_type -/* 09FF60 8009F360 00002825 */ move $a1, $zero -/* 09FF64 8009F364 8FA60024 */ lw $a2, 0x24($sp) -/* 09FF68 8009F368 3C04800E */ lui $a0, %hi(D_800E7FF0) -/* 09FF6C 8009F36C 00862021 */ addu $a0, $a0, $a2 -/* 09FF70 8009F370 0C026449 */ jal segmented_to_virtual_dupe -/* 09FF74 8009F374 8C847FF0 */ lw $a0, %lo(D_800E7FF0)($a0) -/* 09FF78 8009F378 0C026461 */ jal load_menu_img -/* 09FF7C 8009F37C 00402025 */ move $a0, $v0 -/* 09FF80 8009F380 10000094 */ b .L8009F5D4 -/* 09FF84 8009F384 8FBF001C */ lw $ra, 0x1c($sp) -glabel L8009F388 -/* 09FF88 8009F388 3C048019 */ lui $a0, %hi(playerHUD+0x8) # $a0, 0x8019 -/* 09FF8C 8009F38C 3C05800F */ lui $a1, %hi(gCharacterSelections) # $a1, 0x800f -/* 09FF90 8009F390 AFBF007C */ sw $ra, 0x7c($sp) -/* 09FF94 8009F394 80A586A8 */ lb $a1, %lo(gCharacterSelections)($a1) -/* 09FF98 8009F398 0C02D408 */ jal func_800B5020 -/* 09FF9C 8009F39C 8C84CA78 */ lw $a0, %lo(playerHUD+0x8)($a0) -/* 09FFA0 8009F3A0 8FBF007C */ lw $ra, 0x7c($sp) -/* 09FFA4 8009F3A4 AFE2001C */ sw $v0, 0x1c($ra) -/* 09FFA8 8009F3A8 0C02D486 */ jal func_800B5218 -/* 09FFAC 8009F3AC 00000000 */ nop -/* 09FFB0 8009F3B0 8FBF007C */ lw $ra, 0x7c($sp) -/* 09FFB4 8009F3B4 3C0F8016 */ lui $t7, %hi(D_80162DD4) # $t7, 0x8016 -/* 09FFB8 8009F3B8 24030001 */ li $v1, 1 -/* 09FFBC 8009F3BC AFE20020 */ sw $v0, 0x20($ra) -/* 09FFC0 8009F3C0 95EF2DD4 */ lhu $t7, %lo(D_80162DD4)($t7) -/* 09FFC4 8009F3C4 506F000B */ beql $v1, $t7, .L8009F3F4 -/* 09FFC8 8009F3C8 8FF9001C */ lw $t9, 0x1c($ra) -/* 09FFCC 8009F3CC AFBF007C */ sw $ra, 0x7c($sp) -/* 09FFD0 8009F3D0 0C001471 */ jal func_800051C4 -/* 09FFD4 8009F3D4 00000000 */ nop -/* 09FFD8 8009F3D8 28413C01 */ slti $at, $v0, 0x3c01 -/* 09FFDC 8009F3DC 14200004 */ bnez $at, .L8009F3F0 -/* 09FFE0 8009F3E0 8FBF007C */ lw $ra, 0x7c($sp) -/* 09FFE4 8009F3E4 240E0001 */ li $t6, 1 -/* 09FFE8 8009F3E8 3C018016 */ lui $at, %hi(D_80162DD4) # $at, 0x8016 -/* 09FFEC 8009F3EC A42E2DD4 */ sh $t6, %lo(D_80162DD4)($at) -.L8009F3F0: -/* 09FFF0 8009F3F0 8FF9001C */ lw $t9, 0x1c($ra) -.L8009F3F4: -/* 09FFF4 8009F3F4 3C028019 */ lui $v0, %hi(gCupSelection) # $v0, 0x8019 -/* 09FFF8 8009F3F8 2442EE09 */ addiu $v0, %lo(gCupSelection) # addiu $v0, $v0, -0x11f7 -/* 09FFFC 8009F3FC 53200005 */ beql $t9, $zero, .L8009F414 -/* 0A0000 8009F400 804F0000 */ lb $t7, ($v0) -/* 0A0004 8009F404 8FF80020 */ lw $t8, 0x20($ra) -/* 0A0008 8009F408 53000072 */ beql $t8, $zero, .L8009F5D4 -/* 0A000C 8009F40C 8FBF001C */ lw $ra, 0x1c($sp) -/* 0A0010 8009F410 804F0000 */ lb $t7, ($v0) -.L8009F414: -/* 0A0014 8009F414 3C198019 */ lui $t9, %hi(gCourseIndexInCup) # $t9, 0x8019 -/* 0A0018 8009F418 8339EE0B */ lb $t9, %lo(gCourseIndexInCup)($t9) -/* 0A001C 8009F41C 000F7080 */ sll $t6, $t7, 2 -/* 0A0020 8009F420 0C02D567 */ jal func_800B559C -/* 0A0024 8009F424 01D92021 */ addu $a0, $t6, $t9 -/* 0A0028 8009F428 1000006A */ b .L8009F5D4 -/* 0A002C 8009F42C 8FBF001C */ lw $ra, 0x1c($sp) -glabel L8009F430 -/* 0A0030 8009F430 3C028019 */ lui $v0, %hi(gTimeTrialDataCourseIndex) # $v0, 0x8019 -/* 0A0034 8009F434 8042EDF7 */ lb $v0, %lo(gTimeTrialDataCourseIndex)($v0) -/* 0A0038 8009F438 3C04800E */ lui $a0, %hi(D_800E7E34) -/* 0A003C 8009F43C AFBF007C */ sw $ra, 0x7c($sp) -/* 0A0040 8009F440 04410003 */ bgez $v0, .L8009F450 -/* 0A0044 8009F444 0002C083 */ sra $t8, $v0, 2 -/* 0A0048 8009F448 24410003 */ addiu $at, $v0, 3 -/* 0A004C 8009F44C 0001C083 */ sra $t8, $at, 2 -.L8009F450: -/* 0A0050 8009F450 001878C0 */ sll $t7, $t8, 3 -/* 0A0054 8009F454 04410004 */ bgez $v0, .L8009F468 -/* 0A0058 8009F458 304E0003 */ andi $t6, $v0, 3 -/* 0A005C 8009F45C 11C00002 */ beqz $t6, .L8009F468 -/* 0A0060 8009F460 00000000 */ nop -/* 0A0064 8009F464 25CEFFFC */ addiu $t6, $t6, -4 -.L8009F468: -/* 0A0068 8009F468 000EC840 */ sll $t9, $t6, 1 -/* 0A006C 8009F46C 01F9C021 */ addu $t8, $t7, $t9 -/* 0A0070 8009F470 3C0E800F */ lui $t6, %hi(gCupCourseOrder) -/* 0A0074 8009F474 01D87021 */ addu $t6, $t6, $t8 -/* 0A0078 8009F478 85CE2BB4 */ lh $t6, %lo(gCupCourseOrder)($t6) -/* 0A007C 8009F47C 000E7880 */ sll $t7, $t6, 2 -/* 0A0080 8009F480 008F2021 */ addu $a0, $a0, $t7 -/* 0A0084 8009F484 0C026455 */ jal segmented_to_virtual_dupe_2 -/* 0A0088 8009F488 8C847E34 */ lw $a0, %lo(D_800E7E34)($a0) -/* 0A008C 8009F48C 0C0268DD */ jal animate_character_select_menu -/* 0A0090 8009F490 00402025 */ move $a0, $v0 -/* 0A0094 8009F494 8FBF007C */ lw $ra, 0x7c($sp) -/* 0A0098 8009F498 3C198019 */ lui $t9, %hi(gTimeTrialDataCourseIndex) # $t9, 0x8019 -/* 0A009C 8009F49C 3C040200 */ lui $a0, %hi(D_02004A0C) # $a0, 0x200 -/* 0A00A0 8009F4A0 AFE20018 */ sw $v0, 0x18($ra) -/* 0A00A4 8009F4A4 8339EDF7 */ lb $t9, %lo(gTimeTrialDataCourseIndex)($t9) -/* 0A00A8 8009F4A8 24844A0C */ addiu $a0, %lo(D_02004A0C) # addiu $a0, $a0, 0x4a0c -/* 0A00AC 8009F4AC AFF9001C */ sw $t9, 0x1c($ra) -/* 0A00B0 8009F4B0 0C026449 */ jal segmented_to_virtual_dupe -/* 0A00B4 8009F4B4 00000000 */ nop -/* 0A00B8 8009F4B8 00402025 */ move $a0, $v0 -/* 0A00BC 8009F4BC 0C0265AF */ jal load_menu_img_comp_type -/* 0A00C0 8009F4C0 00002825 */ move $a1, $zero -/* 0A00C4 8009F4C4 0C01BBD8 */ jal func_8006EF60 -/* 0A00C8 8009F4C8 00000000 */ nop -/* 0A00CC 8009F4CC 0C02D6E5 */ jal controller_pak_1_status -/* 0A00D0 8009F4D0 00000000 */ nop -/* 0A00D4 8009F4D4 14400005 */ bnez $v0, .L8009F4EC -/* 0A00D8 8009F4D8 00000000 */ nop -/* 0A00DC 8009F4DC 0C02D9C2 */ jal func_800B6708 -/* 0A00E0 8009F4E0 00000000 */ nop -/* 0A00E4 8009F4E4 1000003B */ b .L8009F5D4 -/* 0A00E8 8009F4E8 8FBF001C */ lw $ra, 0x1c($sp) -.L8009F4EC: -/* 0A00EC 8009F4EC 3C028019 */ lui $v0, %hi(D_8018EE10) # $v0, 0x8019 -/* 0A00F0 8009F4F0 2442EE10 */ addiu $v0, %lo(D_8018EE10) # addiu $v0, $v0, -0x11f0 -/* 0A00F4 8009F4F4 A0400004 */ sb $zero, 4($v0) -/* 0A00F8 8009F4F8 10000035 */ b .L8009F5D0 -/* 0A00FC 8009F4FC A0400084 */ sb $zero, 0x84($v0) -glabel L8009F500 -/* 0A0100 8009F500 3C188019 */ lui $t8, %hi(gSoundMode) # $t8, 0x8019 -/* 0A0104 8009F504 9318EDF2 */ lbu $t8, %lo(gSoundMode)($t8) -/* 0A0108 8009F508 10000031 */ b .L8009F5D0 -/* 0A010C 8009F50C AFF80004 */ sw $t8, 4($ra) -glabel L8009F510 -/* 0A0110 8009F510 3C040200 */ lui $a0, %hi(D_02004638) # $a0, 0x200 -/* 0A0114 8009F514 0C026449 */ jal segmented_to_virtual_dupe -/* 0A0118 8009F518 24844638 */ addiu $a0, %lo(D_02004638) # addiu $a0, $a0, 0x4638 -/* 0A011C 8009F51C 00402025 */ move $a0, $v0 -/* 0A0120 8009F520 0C0265AF */ jal load_menu_img_comp_type -/* 0A0124 8009F524 00002825 */ move $a1, $zero -/* 0A0128 8009F528 1000002A */ b .L8009F5D4 -/* 0A012C 8009F52C 8FBF001C */ lw $ra, 0x1c($sp) -glabel L8009F530 -/* 0A0130 8009F530 3C018019 */ lui $at, %hi(D_8018ED90) # $at, 0x8019 -/* 0A0134 8009F534 10000026 */ b .L8009F5D0 -/* 0A0138 8009F538 A020ED90 */ sb $zero, %lo(D_8018ED90)($at) -.L8009F53C: -/* 0A013C 8009F53C 244274D8 */ addiu $v0, $v0, %lo(D_802874D8) # 0x74d8 -/* 0A0140 8009F540 804E001E */ lb $t6, 0x1e($v0) -/* 0A0144 8009F544 804F001D */ lb $t7, 0x1d($v0) -/* 0A0148 8009F548 3C05800F */ lui $a1, %hi(D_800EFD64) # 0x800f -/* 0A014C 8009F54C 00AE2821 */ addu $a1, $a1, $t6 -/* 0A0150 8009F550 29E10003 */ slti $at, $t7, 3 -/* 0A0154 8009F554 14200003 */ bnez $at, .L8009F564 -/* 0A0158 8009F558 80A5FD64 */ lb $a1, %lo(D_800EFD64)($a1) # -0x29c($a1) -/* 0A015C 8009F55C 10000002 */ b .L8009F568 -/* 0A0160 8009F560 24020001 */ li $v0, 1 -.L8009F564: -/* 0A0164 8009F564 00001025 */ move $v0, $zero -.L8009F568: -/* 0A0168 8009F568 10400006 */ beqz $v0, .L8009F584 -/* 0A016C 8009F56C 00051880 */ sll $v1, $a1, 2 -/* 0A0170 8009F570 00051880 */ sll $v1, $a1, 2 -/* 0A0174 8009F574 3C04800F */ lui $a0, %hi(gCharacterDefeatAnimation) # 0x800f -/* 0A0178 8009F578 00832021 */ addu $a0, $a0, $v1 -/* 0A017C 8009F57C 10000004 */ b .L8009F590 -/* 0A0180 8009F580 8C848420 */ lw $a0, %lo(gCharacterDefeatAnimation)($a0) # -0x7be0($a0) -.L8009F584: -/* 0A0184 8009F584 3C04800F */ lui $a0, %hi(D_800E8320) # 0x800f -/* 0A0188 8009F588 00832021 */ addu $a0, $a0, $v1 -/* 0A018C 8009F58C 8C848320 */ lw $a0, %lo(D_800E8320)($a0) # -0x7ce0($a0) -.L8009F590: -/* 0A0190 8009F590 AFBF007C */ sw $ra, 0x7c($sp) -/* 0A0194 8009F594 0C026455 */ jal segmented_to_virtual_dupe_2 -/* 0A0198 8009F598 AFA30020 */ sw $v1, 0x20($sp) -/* 0A019C 8009F59C 00402025 */ move $a0, $v0 -/* 0A01A0 8009F5A0 0C02691E */ jal func_8009A478 -/* 0A01A4 8009F5A4 00002825 */ move $a1, $zero -/* 0A01A8 8009F5A8 8FA30020 */ lw $v1, 0x20($sp) -/* 0A01AC 8009F5AC 8FBF007C */ lw $ra, 0x7c($sp) -/* 0A01B0 8009F5B0 3C04800E */ lui $a0, %hi(D_800E7D54) -/* 0A01B4 8009F5B4 00832021 */ addu $a0, $a0, $v1 -/* 0A01B8 8009F5B8 AFE20018 */ sw $v0, 0x18($ra) -/* 0A01BC 8009F5BC 0C026449 */ jal segmented_to_virtual_dupe -/* 0A01C0 8009F5C0 8C847D54 */ lw $a0, %lo(D_800E7D54)($a0) -/* 0A01C4 8009F5C4 00402025 */ move $a0, $v0 -/* 0A01C8 8009F5C8 0C0265AF */ jal load_menu_img_comp_type -/* 0A01CC 8009F5CC 00002825 */ move $a1, $zero -.L8009F5D0: -glabel L8009F5D0 -/* 0A01D0 8009F5D0 8FBF001C */ lw $ra, 0x1c($sp) -.L8009F5D4: -/* 0A01D4 8009F5D4 27BD0080 */ addiu $sp, $sp, 0x80 -/* 0A01D8 8009F5D8 03E00008 */ jr $ra -/* 0A01DC 8009F5DC 00000000 */ nop diff --git a/asm/non_matchings/menu_items/func_80096CD8.s b/asm/non_matchings/menu_items/func_80096CD8.s deleted file mode 100644 index a9e29a38a..000000000 --- a/asm/non_matchings/menu_items/func_80096CD8.s +++ /dev/null @@ -1,391 +0,0 @@ -glabel func_80096CD8 -/* 0978D8 80096CD8 27BDFF18 */ addiu $sp, $sp, -0xe8 -/* 0978DC 80096CDC AFBF0054 */ sw $ra, 0x54($sp) -/* 0978E0 80096CE0 AFB40040 */ sw $s4, 0x40($sp) -/* 0978E4 80096CE4 AFB20038 */ sw $s2, 0x38($sp) -/* 0978E8 80096CE8 AFB00030 */ sw $s0, 0x30($sp) -/* 0978EC 80096CEC 2CE10002 */ sltiu $at, $a3, 2 -/* 0978F0 80096CF0 00808025 */ move $s0, $a0 -/* 0978F4 80096CF4 00C09025 */ move $s2, $a2 -/* 0978F8 80096CF8 00A0A025 */ move $s4, $a1 -/* 0978FC 80096CFC AFBE0050 */ sw $fp, 0x50($sp) -/* 097900 80096D00 AFB7004C */ sw $s7, 0x4c($sp) -/* 097904 80096D04 AFB60048 */ sw $s6, 0x48($sp) -/* 097908 80096D08 AFB50044 */ sw $s5, 0x44($sp) -/* 09790C 80096D0C AFB3003C */ sw $s3, 0x3c($sp) -/* 097910 80096D10 AFB10034 */ sw $s1, 0x34($sp) -/* 097914 80096D14 AFA700F4 */ sw $a3, 0xf4($sp) -/* 097918 80096D18 241F0001 */ li $ra, 1 -/* 09791C 80096D1C AFA000C8 */ sw $zero, 0xc8($sp) -/* 097920 80096D20 AFA000C4 */ sw $zero, 0xc4($sp) -/* 097924 80096D24 14200007 */ bnez $at, .L80096D44 -/* 097928 80096D28 00E07025 */ move $t6, $a3 -/* 09792C 80096D2C 8FB800F4 */ lw $t8, 0xf4($sp) -.L80096D30: -/* 097930 80096D30 001F7840 */ sll $t7, $ra, 1 -/* 097934 80096D34 01E0F825 */ move $ra, $t7 -/* 097938 80096D38 01F8082B */ sltu $at, $t7, $t8 -/* 09793C 80096D3C 5420FFFC */ bnel $at, $zero, .L80096D30 -/* 097940 80096D40 8FB800F4 */ lw $t8, 0xf4($sp) -.L80096D44: -/* 097944 80096D44 24190400 */ li $t9, 1024 -/* 097948 80096D48 033F001A */ div $zero, $t9, $ra -/* 09794C 80096D4C 00001012 */ mflo $v0 -/* 097950 80096D50 8FA500F8 */ lw $a1, 0xf8($sp) -/* 097954 80096D54 17E00002 */ bnez $ra, .L80096D60 -/* 097958 80096D58 00000000 */ nop -/* 09795C 80096D5C 0007000D */ break 7 -.L80096D60: -/* 097960 80096D60 2401FFFF */ li $at, -1 -/* 097964 80096D64 17E10004 */ bne $ra, $at, .L80096D78 -/* 097968 80096D68 3C018000 */ lui $at, 0x8000 -/* 09796C 80096D6C 17210002 */ bne $t9, $at, .L80096D78 -/* 097970 80096D70 00000000 */ nop -/* 097974 80096D74 0006000D */ break 6 -.L80096D78: -/* 097978 80096D78 AFA200CC */ sw $v0, 0xcc($sp) -/* 09797C 80096D7C 04410003 */ bgez $v0, .L80096D8C -/* 097980 80096D80 00027043 */ sra $t6, $v0, 1 -/* 097984 80096D84 24410001 */ addiu $at, $v0, 1 -/* 097988 80096D88 00017043 */ sra $t6, $at, 1 -.L80096D8C: -/* 09798C 80096D8C 00AE082B */ sltu $at, $a1, $t6 -/* 097990 80096D90 1020000F */ beqz $at, .L80096DD0 -/* 097994 80096D94 8FA200CC */ lw $v0, 0xcc($sp) -/* 097998 80096D98 04410003 */ bgez $v0, .L80096DA8 -/* 09799C 80096D9C 00027843 */ sra $t7, $v0, 1 -/* 0979A0 80096DA0 24410001 */ addiu $at, $v0, 1 -/* 0979A4 80096DA4 00017843 */ sra $t7, $at, 1 -.L80096DA8: -/* 0979A8 80096DA8 01E01025 */ move $v0, $t7 -/* 0979AC 80096DAC 00401825 */ move $v1, $v0 -.L80096DB0: -/* 0979B0 80096DB0 04610003 */ bgez $v1, .L80096DC0 -/* 0979B4 80096DB4 00031043 */ sra $v0, $v1, 1 -/* 0979B8 80096DB8 24610001 */ addiu $at, $v1, 1 -/* 0979BC 80096DBC 00011043 */ sra $v0, $at, 1 -.L80096DC0: -/* 0979C0 80096DC0 00A2082B */ sltu $at, $a1, $v0 -/* 0979C4 80096DC4 5420FFFA */ bnel $at, $zero, .L80096DB0 -/* 0979C8 80096DC8 00401825 */ move $v1, $v0 -/* 0979CC 80096DCC AFA300CC */ sw $v1, 0xcc($sp) -.L80096DD0: -/* 0979D0 80096DD0 2BE10002 */ slti $at, $ra, 2 -/* 0979D4 80096DD4 1420000B */ bnez $at, .L80096E04 -/* 0979D8 80096DD8 03E08825 */ move $s1, $ra -.L80096DDC: -/* 0979DC 80096DDC 8FB900C8 */ lw $t9, 0xc8($sp) -/* 0979E0 80096DE0 06210003 */ bgez $s1, .L80096DF0 -/* 0979E4 80096DE4 0011C043 */ sra $t8, $s1, 1 -/* 0979E8 80096DE8 26210001 */ addiu $at, $s1, 1 -/* 0979EC 80096DEC 0001C043 */ sra $t8, $at, 1 -.L80096DF0: -/* 0979F0 80096DF0 2B010002 */ slti $at, $t8, 2 -/* 0979F4 80096DF4 272E0001 */ addiu $t6, $t9, 1 -/* 0979F8 80096DF8 03008825 */ move $s1, $t8 -/* 0979FC 80096DFC 1020FFF7 */ beqz $at, .L80096DDC -/* 097A00 80096E00 AFAE00C8 */ sw $t6, 0xc8($sp) -.L80096E04: -/* 097A04 80096E04 8FB100CC */ lw $s1, 0xcc($sp) -/* 097A08 80096E08 2A210002 */ slti $at, $s1, 2 -/* 097A0C 80096E0C 1420000B */ bnez $at, .L80096E3C -/* 097A10 80096E10 00000000 */ nop -.L80096E14: -/* 097A14 80096E14 8FB900C4 */ lw $t9, 0xc4($sp) -/* 097A18 80096E18 06210003 */ bgez $s1, .L80096E28 -/* 097A1C 80096E1C 0011C043 */ sra $t8, $s1, 1 -/* 097A20 80096E20 26210001 */ addiu $at, $s1, 1 -/* 097A24 80096E24 0001C043 */ sra $t8, $at, 1 -.L80096E28: -/* 097A28 80096E28 2B010002 */ slti $at, $t8, 2 -/* 097A2C 80096E2C 272E0001 */ addiu $t6, $t9, 1 -/* 097A30 80096E30 03008825 */ move $s1, $t8 -/* 097A34 80096E34 1020FFF7 */ beqz $at, .L80096E14 -/* 097A38 80096E38 AFAE00C4 */ sw $t6, 0xc4($sp) -.L80096E3C: -/* 097A3C 80096E3C 06810006 */ bgez $s4, .L80096E58 -/* 097A40 80096E40 8FB900F4 */ lw $t9, 0xf4($sp) -/* 097A44 80096E44 8FAF00F4 */ lw $t7, 0xf4($sp) -/* 097A48 80096E48 01F4C023 */ subu $t8, $t7, $s4 -/* 097A4C 80096E4C AFB800F4 */ sw $t8, 0xf4($sp) -/* 097A50 80096E50 10000007 */ b .L80096E70 -/* 097A54 80096E54 0000A025 */ move $s4, $zero -.L80096E58: -/* 097A58 80096E58 02997021 */ addu $t6, $s4, $t9 -/* 097A5C 80096E5C 2DC10141 */ sltiu $at, $t6, 0x141 -/* 097A60 80096E60 14200003 */ bnez $at, .L80096E70 -/* 097A64 80096E64 240F0140 */ li $t7, 320 -/* 097A68 80096E68 01F4C023 */ subu $t8, $t7, $s4 -/* 097A6C 80096E6C AFB800F4 */ sw $t8, 0xf4($sp) -.L80096E70: -/* 097A70 80096E70 06410004 */ bgez $s2, .L80096E84 -/* 097A74 80096E74 8FAF00F4 */ lw $t7, 0xf4($sp) -/* 097A78 80096E78 00B22823 */ subu $a1, $a1, $s2 -/* 097A7C 80096E7C 10000006 */ b .L80096E98 -/* 097A80 80096E80 00009025 */ move $s2, $zero -.L80096E84: -/* 097A84 80096E84 0245C821 */ addu $t9, $s2, $a1 -/* 097A88 80096E88 2F2100F1 */ sltiu $at, $t9, 0xf1 -/* 097A8C 80096E8C 14200002 */ bnez $at, .L80096E98 -/* 097A90 80096E90 240E00F0 */ li $t6, 240 -/* 097A94 80096E94 01D22823 */ subu $a1, $t6, $s2 -.L80096E98: -/* 097A98 80096E98 15E00003 */ bnez $t7, .L80096EA8 -/* 097A9C 80096E9C 00000000 */ nop -/* 097AA0 80096EA0 100000E8 */ b .L80097244 -/* 097AA4 80096EA4 02001025 */ move $v0, $s0 -.L80096EA8: -/* 097AA8 80096EA8 14A00003 */ bnez $a1, .L80096EB8 -/* 097AAC 80096EAC 24040064 */ li $a0, 100 -/* 097AB0 80096EB0 100000E4 */ b .L80097244 -/* 097AB4 80096EB4 02001025 */ move $v0, $s0 -.L80096EB8: -/* 097AB8 80096EB8 8FB800F4 */ lw $t8, 0xf4($sp) -/* 097ABC 80096EBC AFBF00D0 */ sw $ra, 0xd0($sp) -/* 097AC0 80096EC0 02459821 */ addu $s3, $s2, $a1 -/* 097AC4 80096EC4 02986021 */ addu $t4, $s4, $t8 -/* 097AC8 80096EC8 0C0ADF8D */ jal random_int -/* 097ACC 80096ECC AFAC0084 */ sw $t4, 0x84($sp) -/* 097AD0 80096ED0 8FA70084 */ lw $a3, 0x84($sp) -/* 097AD4 80096ED4 00408825 */ move $s1, $v0 -/* 097AD8 80096ED8 02002025 */ move $a0, $s0 -/* 097ADC 80096EDC 02802825 */ move $a1, $s4 -/* 097AE0 80096EE0 02403025 */ move $a2, $s2 -/* 097AE4 80096EE4 AFB30010 */ sw $s3, 0x10($sp) -/* 097AE8 80096EE8 AFA00014 */ sw $zero, 0x14($sp) -/* 097AEC 80096EEC AFA00018 */ sw $zero, 0x18($sp) -/* 097AF0 80096EF0 AFA0001C */ sw $zero, 0x1c($sp) -/* 097AF4 80096EF4 0C02637E */ jal draw_box -/* 097AF8 80096EF8 AFA20020 */ sw $v0, 0x20($sp) -/* 097AFC 80096EFC 8FAC0084 */ lw $t4, 0x84($sp) -/* 097B00 80096F00 8FBF00D0 */ lw $ra, 0xd0($sp) -/* 097B04 80096F04 26310096 */ addiu $s1, $s1, 0x96 -/* 097B08 80096F08 3C0EB900 */ lui $t6, (0xB900031D >> 16) # lui $t6, 0xb900 -/* 097B0C 80096F0C 3C19E700 */ lui $t9, 0xe700 -/* 097B10 80096F10 35CE031D */ ori $t6, (0xB900031D & 0xFFFF) # ori $t6, $t6, 0x31d -/* 097B14 80096F14 3C0F0050 */ lui $t7, (0x00504240 >> 16) # lui $t7, 0x50 -/* 097B18 80096F18 322300FF */ andi $v1, $s1, 0xff -/* 097B1C 80096F1C AC590000 */ sw $t9, ($v0) -/* 097B20 80096F20 35EF4240 */ ori $t7, (0x00504240 & 0xFFFF) # ori $t7, $t7, 0x4240 -/* 097B24 80096F24 AC4E0008 */ sw $t6, 8($v0) -/* 097B28 80096F28 3C18FA00 */ lui $t8, 0xfa00 -/* 097B2C 80096F2C AC4F000C */ sw $t7, 0xc($v0) -/* 097B30 80096F30 AC580010 */ sw $t8, 0x10($v0) -/* 097B34 80096F34 00037400 */ sll $t6, $v1, 0x10 -/* 097B38 80096F38 0003CE00 */ sll $t9, $v1, 0x18 -/* 097B3C 80096F3C 032E7825 */ or $t7, $t9, $t6 -/* 097B40 80096F40 0003C200 */ sll $t8, $v1, 8 -/* 097B44 80096F44 01F8C825 */ or $t9, $t7, $t8 -/* 097B48 80096F48 3C18FF2F */ lui $t8, (0xFF2FFFFF >> 16) # lui $t8, 0xff2f -/* 097B4C 80096F4C 3C0FFC11 */ lui $t7, (0xFC119623 >> 16) # lui $t7, 0xfc11 -/* 097B50 80096F50 03237025 */ or $t6, $t9, $v1 -/* 097B54 80096F54 35EF9623 */ ori $t7, (0xFC119623 & 0xFFFF) # ori $t7, $t7, 0x9623 -/* 097B58 80096F58 3718FFFF */ ori $t8, (0xFF2FFFFF & 0xFFFF) # ori $t8, $t8, 0xffff -/* 097B5C 80096F5C 0253082B */ sltu $at, $s2, $s3 -/* 097B60 80096F60 AC400004 */ sw $zero, 4($v0) -/* 097B64 80096F64 AC4E0014 */ sw $t6, 0x14($v0) -/* 097B68 80096F68 AC58001C */ sw $t8, 0x1c($v0) -/* 097B6C 80096F6C AC4F0018 */ sw $t7, 0x18($v0) -/* 097B70 80096F70 24500020 */ addiu $s0, $v0, 0x20 -/* 097B74 80096F74 102000B2 */ beqz $at, .L80097240 -/* 097B78 80096F78 0240F025 */ move $fp, $s2 -/* 097B7C 80096F7C 8FB900CC */ lw $t9, 0xcc($sp) -.L80096F80: -/* 097B80 80096F80 8FAD00CC */ lw $t5, 0xcc($sp) -/* 097B84 80096F84 02808825 */ move $s1, $s4 -/* 097B88 80096F88 033E7021 */ addu $t6, $t9, $fp -/* 097B8C 80096F8C 026E082B */ sltu $at, $s3, $t6 -/* 097B90 80096F90 10200006 */ beqz $at, .L80096FAC -/* 097B94 80096F94 AFAE007C */ sw $t6, 0x7c($sp) -/* 097B98 80096F98 027E6823 */ subu $t5, $s3, $fp -/* 097B9C 80096F9C 51A000A9 */ beql $t5, $zero, .L80097244 -/* 097BA0 80096FA0 02001025 */ move $v0, $s0 -/* 097BA4 80096FA4 10000001 */ b .L80096FAC -/* 097BA8 80096FA8 02808825 */ move $s1, $s4 -.L80096FAC: -/* 097BAC 80096FAC 028C082B */ sltu $at, $s4, $t4 -/* 097BB0 80096FB0 502000A0 */ beql $at, $zero, .L80097234 -/* 097BB4 80096FB4 8FBE007C */ lw $fp, 0x7c($sp) -/* 097BB8 80096FB8 AFB30080 */ sw $s3, 0x80($sp) -/* 097BBC 80096FBC AFB400EC */ sw $s4, 0xec($sp) -.L80096FC0: -/* 097BC0 80096FC0 03F15021 */ addu $t2, $ra, $s1 -/* 097BC4 80096FC4 018A082B */ sltu $at, $t4, $t2 -/* 097BC8 80096FC8 8FAF0080 */ lw $t7, 0x80($sp) -/* 097BCC 80096FCC 1020001E */ beqz $at, .L80097048 -/* 097BD0 80096FD0 8FB800EC */ lw $t8, 0xec($sp) -/* 097BD4 80096FD4 0191A023 */ subu $s4, $t4, $s1 -/* 097BD8 80096FD8 16800004 */ bnez $s4, .L80096FEC -/* 097BDC 80096FDC 8FA500F4 */ lw $a1, 0xf4($sp) -/* 097BE0 80096FE0 0300A025 */ move $s4, $t8 -/* 097BE4 80096FE4 10000092 */ b .L80097230 -/* 097BE8 80096FE8 01E09825 */ move $s3, $t7 -.L80096FEC: -/* 097BEC 80096FEC 8FA200C4 */ lw $v0, 0xc4($sp) -/* 097BF0 80096FF0 24A5FFFF */ addiu $a1, $a1, -1 -/* 097BF4 80096FF4 8FA300C8 */ lw $v1, 0xc8($sp) -/* 097BF8 80096FF8 30B90FFF */ andi $t9, $a1, 0xfff -/* 097BFC 80096FFC 3C01FD70 */ lui $at, 0xfd70 -/* 097C00 80097000 03212825 */ or $a1, $t9, $at -/* 097C04 80097004 3058000F */ andi $t8, $v0, 0xf -/* 097C08 80097008 00181380 */ sll $v0, $t8, 0xe -/* 097C0C 8009700C 3C010700 */ lui $at, 0x700 -/* 097C10 80097010 3079000F */ andi $t9, $v1, 0xf -/* 097C14 80097014 00191900 */ sll $v1, $t9, 4 -/* 097C18 80097018 0041C025 */ or $t8, $v0, $at -/* 097C1C 8009701C 0303B025 */ or $s6, $t8, $v1 -/* 097C20 80097020 001E9080 */ sll $s2, $fp, 2 -/* 097C24 80097024 03CD9821 */ addu $s3, $fp, $t5 -/* 097C28 80097028 0013C880 */ sll $t9, $s3, 2 -/* 097C2C 8009702C 324F0FFF */ andi $t7, $s2, 0xfff -/* 097C30 80097030 001EC140 */ sll $t8, $fp, 5 -/* 097C34 80097034 330BFFFF */ andi $t3, $t8, 0xffff -/* 097C38 80097038 01E09025 */ move $s2, $t7 -/* 097C3C 8009703C 33330FFF */ andi $s3, $t9, 0xfff -/* 097C40 80097040 10000019 */ b .L800970A8 -/* 097C44 80097044 0043B825 */ or $s7, $v0, $v1 -.L80097048: -/* 097C48 80097048 8FA500F4 */ lw $a1, 0xf4($sp) -/* 097C4C 8009704C 8FA200C4 */ lw $v0, 0xc4($sp) -/* 097C50 80097050 8FA300C8 */ lw $v1, 0xc8($sp) -/* 097C54 80097054 24A5FFFF */ addiu $a1, $a1, -1 -/* 097C58 80097058 30B90FFF */ andi $t9, $a1, 0xfff -/* 097C5C 8009705C 3C01FD70 */ lui $at, 0xfd70 -/* 097C60 80097060 03212825 */ or $a1, $t9, $at -/* 097C64 80097064 3058000F */ andi $t8, $v0, 0xf -/* 097C68 80097068 00181380 */ sll $v0, $t8, 0xe -/* 097C6C 8009706C 3C010700 */ lui $at, 0x700 -/* 097C70 80097070 3079000F */ andi $t9, $v1, 0xf -/* 097C74 80097074 00191900 */ sll $v1, $t9, 4 -/* 097C78 80097078 0041C025 */ or $t8, $v0, $at -/* 097C7C 8009707C 0303B025 */ or $s6, $t8, $v1 -/* 097C80 80097080 001E9080 */ sll $s2, $fp, 2 -/* 097C84 80097084 03CD9821 */ addu $s3, $fp, $t5 -/* 097C88 80097088 0013C880 */ sll $t9, $s3, 2 -/* 097C8C 8009708C 324F0FFF */ andi $t7, $s2, 0xfff -/* 097C90 80097090 001EC140 */ sll $t8, $fp, 5 -/* 097C94 80097094 330BFFFF */ andi $t3, $t8, 0xffff -/* 097C98 80097098 01E09025 */ move $s2, $t7 -/* 097C9C 8009709C 33330FFF */ andi $s3, $t9, 0xfff -/* 097CA0 800970A0 0043B825 */ or $s7, $v0, $v1 -/* 097CA4 800970A4 03E0A025 */ move $s4, $ra -.L800970A8: -/* 097CA8 800970A8 0200A825 */ move $s5, $s0 -/* 097CAC 800970AC AEA50000 */ sw $a1, ($s5) -/* 097CB0 800970B0 AFBF00D0 */ sw $ra, 0xd0($sp) -/* 097CB4 800970B4 AFAD00D4 */ sw $t5, 0xd4($sp) -/* 097CB8 800970B8 AFAC0084 */ sw $t4, 0x84($sp) -/* 097CBC 800970BC AFAB0058 */ sw $t3, 0x58($sp) -/* 097CC0 800970C0 AFAA0078 */ sw $t2, 0x78($sp) -/* 097CC4 800970C4 26100008 */ addiu $s0, $s0, 8 -/* 097CC8 800970C8 0C0ADF8D */ jal random_int -/* 097CCC 800970CC 24040080 */ li $a0, 128 -/* 097CD0 800970D0 3C0E0B00 */ lui $t6, %hi(D_0B002A00) # $t6, 0xb00 -/* 097CD4 800970D4 02343021 */ addu $a2, $s1, $s4 -/* 097CD8 800970D8 00D13823 */ subu $a3, $a2, $s1 -/* 097CDC 800970DC 25CE2A00 */ addiu $t6, %lo(D_0B002A00) # addiu $t6, $t6, 0x2a00 -/* 097CE0 800970E0 0002C840 */ sll $t9, $v0, 1 -/* 097CE4 800970E4 032EC021 */ addu $t8, $t9, $t6 -/* 097CE8 800970E8 00077840 */ sll $t7, $a3, 1 -/* 097CEC 800970EC 25E70009 */ addiu $a3, $t7, 9 -/* 097CF0 800970F0 8FAA0078 */ lw $t2, 0x78($sp) -/* 097CF4 800970F4 8FAB0058 */ lw $t3, 0x58($sp) -/* 097CF8 800970F8 8FAC0084 */ lw $t4, 0x84($sp) -/* 097CFC 800970FC 0007C8C2 */ srl $t9, $a3, 3 -/* 097D00 80097100 8FAD00D4 */ lw $t5, 0xd4($sp) -/* 097D04 80097104 8FBF00D0 */ lw $ra, 0xd0($sp) -/* 097D08 80097108 AEB80004 */ sw $t8, 4($s5) -/* 097D0C 8009710C 332E01FF */ andi $t6, $t9, 0x1ff -/* 097D10 80097110 02001825 */ move $v1, $s0 -/* 097D14 80097114 26100008 */ addiu $s0, $s0, 8 -/* 097D18 80097118 000EC240 */ sll $t8, $t6, 9 -/* 097D1C 8009711C 3C01F570 */ lui $at, 0xf570 -/* 097D20 80097120 03013825 */ or $a3, $t8, $at -/* 097D24 80097124 02002025 */ move $a0, $s0 -/* 097D28 80097128 AC670000 */ sw $a3, ($v1) -/* 097D2C 8009712C AC760004 */ sw $s6, 4($v1) -/* 097D30 80097130 00112880 */ sll $a1, $s1, 2 -/* 097D34 80097134 30AE0FFF */ andi $t6, $a1, 0xfff -/* 097D38 80097138 3C19E600 */ lui $t9, 0xe600 -/* 097D3C 8009713C AC990000 */ sw $t9, ($a0) -/* 097D40 80097140 000E2B00 */ sll $a1, $t6, 0xc -/* 097D44 80097144 AC800004 */ sw $zero, 4($a0) -/* 097D48 80097148 3C01F400 */ lui $at, 0xf400 -/* 097D4C 8009714C 00A17825 */ or $t7, $a1, $at -/* 097D50 80097150 00062080 */ sll $a0, $a2, 2 -/* 097D54 80097154 26100008 */ addiu $s0, $s0, 8 -/* 097D58 80097158 02004025 */ move $t0, $s0 -/* 097D5C 8009715C 308E0FFF */ andi $t6, $a0, 0xfff -/* 097D60 80097160 01F2C825 */ or $t9, $t7, $s2 -/* 097D64 80097164 000E2300 */ sll $a0, $t6, 0xc -/* 097D68 80097168 3C010700 */ lui $at, 0x700 -/* 097D6C 8009716C 00817825 */ or $t7, $a0, $at -/* 097D70 80097170 AD190000 */ sw $t9, ($t0) -/* 097D74 80097174 26100008 */ addiu $s0, $s0, 8 -/* 097D78 80097178 02001025 */ move $v0, $s0 -/* 097D7C 8009717C 01F3C825 */ or $t9, $t7, $s3 -/* 097D80 80097180 AD190004 */ sw $t9, 4($t0) -/* 097D84 80097184 26100008 */ addiu $s0, $s0, 8 -/* 097D88 80097188 3C0EE700 */ lui $t6, 0xe700 -/* 097D8C 8009718C AC4E0000 */ sw $t6, ($v0) -/* 097D90 80097190 02001825 */ move $v1, $s0 -/* 097D94 80097194 AC400004 */ sw $zero, 4($v0) -/* 097D98 80097198 26100008 */ addiu $s0, $s0, 8 -/* 097D9C 8009719C 02004825 */ move $t1, $s0 -/* 097DA0 800971A0 3C01F200 */ lui $at, 0xf200 -/* 097DA4 800971A4 00A1C025 */ or $t8, $a1, $at -/* 097DA8 800971A8 AC770004 */ sw $s7, 4($v1) -/* 097DAC 800971AC AC670000 */ sw $a3, ($v1) -/* 097DB0 800971B0 03127825 */ or $t7, $t8, $s2 -/* 097DB4 800971B4 26100008 */ addiu $s0, $s0, 8 -/* 097DB8 800971B8 0093C825 */ or $t9, $a0, $s3 -/* 097DBC 800971BC AD390004 */ sw $t9, 4($t1) -/* 097DC0 800971C0 AD2F0000 */ sw $t7, ($t1) -/* 097DC4 800971C4 02001025 */ move $v0, $s0 -/* 097DC8 800971C8 3C01E400 */ lui $at, 0xe400 -/* 097DCC 800971CC 00817025 */ or $t6, $a0, $at -/* 097DD0 800971D0 01D3C025 */ or $t8, $t6, $s3 -/* 097DD4 800971D4 26100008 */ addiu $s0, $s0, 8 -/* 097DD8 800971D8 00B27825 */ or $t7, $a1, $s2 -/* 097DDC 800971DC AC4F0004 */ sw $t7, 4($v0) -/* 097DE0 800971E0 02001825 */ move $v1, $s0 -/* 097DE4 800971E4 AC580000 */ sw $t8, ($v0) -/* 097DE8 800971E8 3C19B300 */ lui $t9, 0xb300 -/* 097DEC 800971EC AC790000 */ sw $t9, ($v1) -/* 097DF0 800971F0 0011CD40 */ sll $t9, $s1, 0x15 -/* 097DF4 800971F4 26100008 */ addiu $s0, $s0, 8 -/* 097DF8 800971F8 02001025 */ move $v0, $s0 -/* 097DFC 800971FC 3C0F0400 */ lui $t7, (0x04000400 >> 16) # lui $t7, 0x400 -/* 097E00 80097200 032B7025 */ or $t6, $t9, $t3 -/* 097E04 80097204 AC6E0004 */ sw $t6, 4($v1) -/* 097E08 80097208 35EF0400 */ ori $t7, (0x04000400 & 0xFFFF) # ori $t7, $t7, 0x400 -/* 097E0C 8009720C 3C18B200 */ lui $t8, 0xb200 -/* 097E10 80097210 014C082B */ sltu $at, $t2, $t4 -/* 097E14 80097214 AC580000 */ sw $t8, ($v0) -/* 097E18 80097218 AC4F0004 */ sw $t7, 4($v0) -/* 097E1C 8009721C 26100008 */ addiu $s0, $s0, 8 -/* 097E20 80097220 1420FF67 */ bnez $at, .L80096FC0 -/* 097E24 80097224 01408825 */ move $s1, $t2 -/* 097E28 80097228 8FB400EC */ lw $s4, 0xec($sp) -/* 097E2C 8009722C 8FB30080 */ lw $s3, 0x80($sp) -.L80097230: -/* 097E30 80097230 8FBE007C */ lw $fp, 0x7c($sp) -.L80097234: -/* 097E34 80097234 03D3082B */ sltu $at, $fp, $s3 -/* 097E38 80097238 5420FF51 */ bnel $at, $zero, .L80096F80 -/* 097E3C 8009723C 8FB900CC */ lw $t9, 0xcc($sp) -.L80097240: -/* 097E40 80097240 02001025 */ move $v0, $s0 -.L80097244: -/* 097E44 80097244 8FBF0054 */ lw $ra, 0x54($sp) -/* 097E48 80097248 8FB00030 */ lw $s0, 0x30($sp) -/* 097E4C 8009724C 8FB10034 */ lw $s1, 0x34($sp) -/* 097E50 80097250 8FB20038 */ lw $s2, 0x38($sp) -/* 097E54 80097254 8FB3003C */ lw $s3, 0x3c($sp) -/* 097E58 80097258 8FB40040 */ lw $s4, 0x40($sp) -/* 097E5C 8009725C 8FB50044 */ lw $s5, 0x44($sp) -/* 097E60 80097260 8FB60048 */ lw $s6, 0x48($sp) -/* 097E64 80097264 8FB7004C */ lw $s7, 0x4c($sp) -/* 097E68 80097268 8FBE0050 */ lw $fp, 0x50($sp) -/* 097E6C 8009726C 03E00008 */ jr $ra -/* 097E70 80097270 27BD00E8 */ addiu $sp, $sp, 0xe8 diff --git a/asm/non_matchings/menu_items/func_80097274.s b/asm/non_matchings/menu_items/func_80097274.s deleted file mode 100644 index 26767175f..000000000 --- a/asm/non_matchings/menu_items/func_80097274.s +++ /dev/null @@ -1,522 +0,0 @@ -glabel func_80097274 -/* 097E74 80097274 27BDFEF0 */ addiu $sp, $sp, -0x110 -/* 097E78 80097278 AFB00018 */ sw $s0, 0x18($sp) -/* 097E7C 8009727C AFBF003C */ sw $ra, 0x3c($sp) -/* 097E80 80097280 AFBE0038 */ sw $fp, 0x38($sp) -/* 097E84 80097284 AFB70034 */ sw $s7, 0x34($sp) -/* 097E88 80097288 AFB60030 */ sw $s6, 0x30($sp) -/* 097E8C 8009728C AFB5002C */ sw $s5, 0x2c($sp) -/* 097E90 80097290 AFB40028 */ sw $s4, 0x28($sp) -/* 097E94 80097294 AFB30024 */ sw $s3, 0x24($sp) -/* 097E98 80097298 AFB20020 */ sw $s2, 0x20($sp) -/* 097E9C 8009729C AFB1001C */ sw $s1, 0x1c($sp) -/* 097EA0 800972A0 AFA50114 */ sw $a1, 0x114($sp) -/* 097EA4 800972A4 AFA60118 */ sw $a2, 0x118($sp) -/* 097EA8 800972A8 AFA7011C */ sw $a3, 0x11c($sp) -/* 097EAC 800972AC 24900008 */ addiu $s0, $a0, 8 -/* 097EB0 800972B0 3C0EE700 */ lui $t6, 0xe700 -/* 097EB4 800972B4 AC8E0000 */ sw $t6, ($a0) -/* 097EB8 800972B8 02001825 */ move $v1, $s0 -/* 097EBC 800972BC 3C0FBA00 */ lui $t7, (0xBA001402 >> 16) # lui $t7, 0xba00 -/* 097EC0 800972C0 AC800004 */ sw $zero, 4($a0) -/* 097EC4 800972C4 35EF1402 */ ori $t7, (0xBA001402 & 0xFFFF) # ori $t7, $t7, 0x1402 -/* 097EC8 800972C8 26100008 */ addiu $s0, $s0, 8 -/* 097ECC 800972CC AC6F0000 */ sw $t7, ($v1) -/* 097ED0 800972D0 3C180010 */ lui $t8, %hi(D_000FFF00) # $t8, 0x10 -/* 097ED4 800972D4 02004825 */ move $t1, $s0 -/* 097ED8 800972D8 AC780004 */ sw $t8, 4($v1) -/* 097EDC 800972DC 3C19BA00 */ lui $t9, (0xBA001001 >> 16) # lui $t9, 0xba00 -/* 097EE0 800972E0 37391001 */ ori $t9, (0xBA001001 & 0xFFFF) # ori $t9, $t9, 0x1001 -/* 097EE4 800972E4 26100008 */ addiu $s0, $s0, 8 -/* 097EE8 800972E8 AD390000 */ sw $t9, ($t1) -/* 097EEC 800972EC AD200004 */ sw $zero, 4($t1) -/* 097EF0 800972F0 02005025 */ move $t2, $s0 -/* 097EF4 800972F4 3C0EFA00 */ lui $t6, 0xfa00 -/* 097EF8 800972F8 AD4E0000 */ sw $t6, ($t2) -/* 097EFC 800972FC 3C0F800E */ lui $t7, %hi(gGlobalTimer) # $t7, 0x800e -/* 097F00 80097300 8DEFC54C */ lw $t7, %lo(gGlobalTimer)($t7) -/* 097F04 80097304 26100008 */ addiu $s0, $s0, 8 -/* 097F08 80097308 02006825 */ move $t5, $s0 -/* 097F0C 8009730C 3C0EFC25 */ lui $t6, (0xFC2527FF >> 16) # lui $t6, 0xfc25 -/* 097F10 80097310 35CE27FF */ ori $t6, (0xFC2527FF & 0xFFFF) # ori $t6, $t6, 0x27ff -/* 097F14 80097314 00801025 */ move $v0, $a0 -/* 097F18 80097318 24080001 */ li $t0, 1 -/* 097F1C 8009731C 00005825 */ move $t3, $zero -/* 097F20 80097320 00006025 */ move $t4, $zero -/* 097F24 80097324 05E10004 */ bgez $t7, .L80097338 -/* 097F28 80097328 31F800FF */ andi $t8, $t7, 0xff -/* 097F2C 8009732C 13000002 */ beqz $t8, .L80097338 -/* 097F30 80097330 00000000 */ nop -/* 097F34 80097334 2718FF00 */ addiu $t8, %lo(D_000FFF00) # addiu $t8, $t8, -0x100 -.L80097338: -/* 097F38 80097338 331900FF */ andi $t9, $t8, 0xff -/* 097F3C 8009733C AD590004 */ sw $t9, 4($t2) -/* 097F40 80097340 3C0F1FFC */ lui $t7, (0x1FFC9238 >> 16) # lui $t7, 0x1ffc -/* 097F44 80097344 35EF9238 */ ori $t7, (0x1FFC9238 & 0xFFFF) # ori $t7, $t7, 0x9238 -/* 097F48 80097348 ADAF0004 */ sw $t7, 4($t5) -/* 097F4C 8009734C ADAE0000 */ sw $t6, ($t5) -/* 097F50 80097350 8FB8013C */ lw $t8, 0x13c($sp) -/* 097F54 80097354 26100008 */ addiu $s0, $s0, 8 -/* 097F58 80097358 8FA40140 */ lw $a0, 0x140($sp) -/* 097F5C 8009735C 2F010002 */ sltiu $at, $t8, 2 -/* 097F60 80097360 14200007 */ bnez $at, .L80097380 -/* 097F64 80097364 240F0400 */ li $t7, 1024 -/* 097F68 80097368 8FAE013C */ lw $t6, 0x13c($sp) -.L8009736C: -/* 097F6C 8009736C 0008C840 */ sll $t9, $t0, 1 -/* 097F70 80097370 03204025 */ move $t0, $t9 -/* 097F74 80097374 032E082B */ sltu $at, $t9, $t6 -/* 097F78 80097378 5420FFFC */ bnel $at, $zero, .L8009736C -/* 097F7C 8009737C 8FAE013C */ lw $t6, 0x13c($sp) -.L80097380: -/* 097F80 80097380 01E8001A */ div $zero, $t7, $t0 -/* 097F84 80097384 15000002 */ bnez $t0, .L80097390 -/* 097F88 80097388 00000000 */ nop -/* 097F8C 8009738C 0007000D */ break 7 -.L80097390: -/* 097F90 80097390 2401FFFF */ li $at, -1 -/* 097F94 80097394 15010004 */ bne $t0, $at, .L800973A8 -/* 097F98 80097398 3C018000 */ lui $at, 0x8000 -/* 097F9C 8009739C 15E10002 */ bne $t7, $at, .L800973A8 -/* 097FA0 800973A0 00000000 */ nop -/* 097FA4 800973A4 0006000D */ break 6 -.L800973A8: -/* 097FA8 800973A8 00001012 */ mflo $v0 -/* 097FAC 800973AC AFA200F4 */ sw $v0, 0xf4($sp) -/* 097FB0 800973B0 04410003 */ bgez $v0, .L800973C0 -/* 097FB4 800973B4 0002C043 */ sra $t8, $v0, 1 -/* 097FB8 800973B8 24410001 */ addiu $at, $v0, 1 -/* 097FBC 800973BC 0001C043 */ sra $t8, $at, 1 -.L800973C0: -/* 097FC0 800973C0 0098082B */ sltu $at, $a0, $t8 -/* 097FC4 800973C4 1020000F */ beqz $at, .L80097404 -/* 097FC8 800973C8 8FA200F4 */ lw $v0, 0xf4($sp) -/* 097FCC 800973CC 04410003 */ bgez $v0, .L800973DC -/* 097FD0 800973D0 0002C843 */ sra $t9, $v0, 1 -/* 097FD4 800973D4 24410001 */ addiu $at, $v0, 1 -/* 097FD8 800973D8 0001C843 */ sra $t9, $at, 1 -.L800973DC: -/* 097FDC 800973DC 03201025 */ move $v0, $t9 -/* 097FE0 800973E0 00401825 */ move $v1, $v0 -.L800973E4: -/* 097FE4 800973E4 04610003 */ bgez $v1, .L800973F4 -/* 097FE8 800973E8 00031043 */ sra $v0, $v1, 1 -/* 097FEC 800973EC 24610001 */ addiu $at, $v1, 1 -/* 097FF0 800973F0 00011043 */ sra $v0, $at, 1 -.L800973F4: -/* 097FF4 800973F4 0082082B */ sltu $at, $a0, $v0 -/* 097FF8 800973F8 5420FFFA */ bnel $at, $zero, .L800973E4 -/* 097FFC 800973FC 00401825 */ move $v1, $v0 -/* 098000 80097400 AFA300F4 */ sw $v1, 0xf4($sp) -.L80097404: -/* 098004 80097404 29010002 */ slti $at, $t0, 2 -/* 098008 80097408 14200009 */ bnez $at, .L80097430 -/* 09800C 8009740C 01001025 */ move $v0, $t0 -.L80097410: -/* 098010 80097410 04410003 */ bgez $v0, .L80097420 -/* 098014 80097414 00027043 */ sra $t6, $v0, 1 -/* 098018 80097418 24410001 */ addiu $at, $v0, 1 -/* 09801C 8009741C 00017043 */ sra $t6, $at, 1 -.L80097420: -/* 098020 80097420 29C10002 */ slti $at, $t6, 2 -/* 098024 80097424 01C01025 */ move $v0, $t6 -/* 098028 80097428 1020FFF9 */ beqz $at, .L80097410 -/* 09802C 8009742C 256B0001 */ addiu $t3, $t3, 1 -.L80097430: -/* 098030 80097430 8FA200F4 */ lw $v0, 0xf4($sp) -/* 098034 80097434 8FA40130 */ lw $a0, 0x130($sp) -/* 098038 80097438 8FB90120 */ lw $t9, 0x120($sp) -/* 09803C 8009743C 28410002 */ slti $at, $v0, 2 -/* 098040 80097440 14200009 */ bnez $at, .L80097468 -/* 098044 80097444 8FAF0128 */ lw $t7, 0x128($sp) -.L80097448: -/* 098048 80097448 04410003 */ bgez $v0, .L80097458 -/* 09804C 8009744C 0002C043 */ sra $t8, $v0, 1 -/* 098050 80097450 24410001 */ addiu $at, $v0, 1 -/* 098054 80097454 0001C043 */ sra $t8, $at, 1 -.L80097458: -/* 098058 80097458 2B010002 */ slti $at, $t8, 2 -/* 09805C 8009745C 03001025 */ move $v0, $t8 -/* 098060 80097460 1020FFF9 */ beqz $at, .L80097448 -/* 098064 80097464 258C0001 */ addiu $t4, $t4, 1 -.L80097468: -/* 098068 80097468 04810005 */ bgez $a0, .L80097480 -/* 09806C 8009746C 8FA20120 */ lw $v0, 0x120($sp) -/* 098070 80097470 03247023 */ subu $t6, $t9, $a0 -/* 098074 80097474 AFAE0120 */ sw $t6, 0x120($sp) -/* 098078 80097478 10000008 */ b .L8009749C -/* 09807C 8009747C 00002025 */ move $a0, $zero -.L80097480: -/* 098080 80097480 01E2C023 */ subu $t8, $t7, $v0 -/* 098084 80097484 0304C821 */ addu $t9, $t8, $a0 -/* 098088 80097488 2B210141 */ slti $at, $t9, 0x141 -/* 09808C 8009748C 14200003 */ bnez $at, .L8009749C -/* 098090 80097490 00441823 */ subu $v1, $v0, $a0 -/* 098094 80097494 24630140 */ addiu $v1, $v1, 0x140 -/* 098098 80097498 AFA30128 */ sw $v1, 0x128($sp) -.L8009749C: -/* 09809C 8009749C 8FAE0134 */ lw $t6, 0x134($sp) -/* 0980A0 800974A0 8FA30128 */ lw $v1, 0x128($sp) -/* 0980A4 800974A4 8FA20124 */ lw $v0, 0x124($sp) -/* 0980A8 800974A8 05C10005 */ bgez $t6, .L800974C0 -/* 0980AC 800974AC 8FAF012C */ lw $t7, 0x12c($sp) -/* 0980B0 800974B0 8FA20124 */ lw $v0, 0x124($sp) -/* 0980B4 800974B4 AFA00134 */ sw $zero, 0x134($sp) -/* 0980B8 800974B8 10000009 */ b .L800974E0 -/* 0980BC 800974BC 004E1023 */ subu $v0, $v0, $t6 -.L800974C0: -/* 0980C0 800974C0 8FB90134 */ lw $t9, 0x134($sp) -/* 0980C4 800974C4 01E2C023 */ subu $t8, $t7, $v0 -/* 0980C8 800974C8 03197021 */ addu $t6, $t8, $t9 -/* 0980CC 800974CC 29C100F1 */ slti $at, $t6, 0xf1 -/* 0980D0 800974D0 14200003 */ bnez $at, .L800974E0 -/* 0980D4 800974D4 00597823 */ subu $t7, $v0, $t9 -/* 0980D8 800974D8 25F800F0 */ addiu $t8, $t7, 0xf0 -/* 0980DC 800974DC AFB8012C */ sw $t8, 0x12c($sp) -.L800974E0: -/* 0980E0 800974E0 8FAE0120 */ lw $t6, 0x120($sp) -/* 0980E4 800974E4 8FB9012C */ lw $t9, 0x12c($sp) -/* 0980E8 800974E8 006E082A */ slt $at, $v1, $t6 -/* 0980EC 800974EC 50200004 */ beql $at, $zero, .L80097500 -/* 0980F0 800974F0 0322082A */ slt $at, $t9, $v0 -/* 0980F4 800974F4 1000013B */ b .L800979E4 -/* 0980F8 800974F8 02001025 */ move $v0, $s0 -/* 0980FC 800974FC 0322082A */ slt $at, $t9, $v0 -.L80097500: -/* 098100 80097500 50200004 */ beql $at, $zero, .L80097514 -/* 098104 80097504 8FAF012C */ lw $t7, 0x12c($sp) -/* 098108 80097508 10000136 */ b .L800979E4 -/* 09810C 8009750C 02001025 */ move $v0, $s0 -/* 098110 80097510 8FAF012C */ lw $t7, 0x12c($sp) -.L80097514: -/* 098114 80097514 AFA40104 */ sw $a0, 0x104($sp) -/* 098118 80097518 00406825 */ move $t5, $v0 -/* 09811C 8009751C 004F082B */ sltu $at, $v0, $t7 -/* 098120 80097520 50200128 */ beql $at, $zero, .L800979C4 -/* 098124 80097524 26040008 */ addiu $a0, $s0, 8 -/* 098128 80097528 AFA40130 */ sw $a0, 0x130($sp) -/* 09812C 8009752C AFA800F8 */ sw $t0, 0xf8($sp) -/* 098130 80097530 AFAB00F0 */ sw $t3, 0xf0($sp) -/* 098134 80097534 AFAC00EC */ sw $t4, 0xec($sp) -.L80097538: -/* 098138 80097538 8FB800F4 */ lw $t8, 0xf4($sp) -/* 09813C 8009753C 8FB9012C */ lw $t9, 0x12c($sp) -/* 098140 80097540 8FAF00F4 */ lw $t7, 0xf4($sp) -/* 098144 80097544 030D7021 */ addu $t6, $t8, $t5 -/* 098148 80097548 032E082B */ sltu $at, $t9, $t6 -/* 09814C 8009754C 10200006 */ beqz $at, .L80097568 -/* 098150 80097550 AFAE0084 */ sw $t6, 0x84($sp) -/* 098154 80097554 032D1023 */ subu $v0, $t9, $t5 -/* 098158 80097558 10400119 */ beqz $v0, .L800979C0 -/* 09815C 8009755C AFA200FC */ sw $v0, 0xfc($sp) -/* 098160 80097560 10000003 */ b .L80097570 -/* 098164 80097564 8FB40120 */ lw $s4, 0x120($sp) -.L80097568: -/* 098168 80097568 AFAF00FC */ sw $t7, 0xfc($sp) -/* 09816C 8009756C 8FB40120 */ lw $s4, 0x120($sp) -.L80097570: -/* 098170 80097570 8FB80120 */ lw $t8, 0x120($sp) -/* 098174 80097574 0303082B */ sltu $at, $t8, $v1 -/* 098178 80097578 50200108 */ beql $at, $zero, .L8009799C -/* 09817C 8009757C 8FB80104 */ lw $t8, 0x104($sp) -/* 098180 80097580 AFA30128 */ sw $v1, 0x128($sp) -.L80097584: -/* 098184 80097584 8FAE00F8 */ lw $t6, 0xf8($sp) -/* 098188 80097588 8FA30128 */ lw $v1, 0x128($sp) -/* 09818C 8009758C 8FA800FC */ lw $t0, 0xfc($sp) -/* 098190 80097590 01D4C821 */ addu $t9, $t6, $s4 -/* 098194 80097594 0079082B */ sltu $at, $v1, $t9 -/* 098198 80097598 1020003A */ beqz $at, .L80097684 -/* 09819C 8009759C AFB90080 */ sw $t9, 0x80($sp) -/* 0981A0 800975A0 00745823 */ subu $t3, $v1, $s4 -/* 0981A4 800975A4 116000FC */ beqz $t3, .L80097998 -/* 0981A8 800975A8 3C01FD00 */ lui $at, 0xfd00 -/* 0981AC 800975AC 83A40117 */ lb $a0, 0x117($sp) -/* 0981B0 800975B0 8FA200EC */ lw $v0, 0xec($sp) -/* 0981B4 800975B4 AFA30128 */ sw $v1, 0x128($sp) -/* 0981B8 800975B8 308F0007 */ andi $t7, $a0, 7 -/* 0981BC 800975BC 000F2540 */ sll $a0, $t7, 0x15 -/* 0981C0 800975C0 8FAF013C */ lw $t7, 0x13c($sp) -/* 0981C4 800975C4 00817025 */ or $t6, $a0, $at -/* 0981C8 800975C8 3C010010 */ lui $at, 0x10 -/* 0981CC 800975CC 01C1C825 */ or $t9, $t6, $at -/* 0981D0 800975D0 3C01F500 */ lui $at, 0xf500 -/* 0981D4 800975D4 25F8FFFF */ addiu $t8, $t7, -1 -/* 0981D8 800975D8 8FA300F0 */ lw $v1, 0xf0($sp) -/* 0981DC 800975DC 330E0FFF */ andi $t6, $t8, 0xfff -/* 0981E0 800975E0 00813825 */ or $a3, $a0, $at -/* 0981E4 800975E4 8FA800FC */ lw $t0, 0xfc($sp) -/* 0981E8 800975E8 3C010010 */ lui $at, 0x10 -/* 0981EC 800975EC 00E17825 */ or $t7, $a3, $at -/* 0981F0 800975F0 032E2825 */ or $a1, $t9, $t6 -/* 0981F4 800975F4 3058000F */ andi $t8, $v0, 0xf -/* 0981F8 800975F8 8FA90134 */ lw $t1, 0x134($sp) -/* 0981FC 800975FC 00181380 */ sll $v0, $t8, 0xe -/* 098200 80097600 3C010700 */ lui $at, 0x700 -/* 098204 80097604 000D3080 */ sll $a2, $t5, 2 -/* 098208 80097608 306E000F */ andi $t6, $v1, 0xf -/* 09820C 8009760C 000E1900 */ sll $v1, $t6, 4 -/* 098210 80097610 30D90FFF */ andi $t9, $a2, 0xfff -/* 098214 80097614 0041C025 */ or $t8, $v0, $at -/* 098218 80097618 01A89821 */ addu $s3, $t5, $t0 -/* 09821C 8009761C 00137080 */ sll $t6, $s3, 2 -/* 098220 80097620 03203025 */ move $a2, $t9 -/* 098224 80097624 31D30FFF */ andi $s3, $t6, 0xfff -/* 098228 80097628 03036025 */ or $t4, $t8, $v1 -/* 09822C 8009762C 3C010100 */ lui $at, 0x100 -/* 098230 80097630 0128C821 */ addu $t9, $t1, $t0 -/* 098234 80097634 00197080 */ sll $t6, $t9, 2 -/* 098238 80097638 0041C025 */ or $t8, $v0, $at -/* 09823C 8009763C 01E03825 */ move $a3, $t7 -/* 098240 80097640 31CF0FFF */ andi $t7, $t6, 0xfff -/* 098244 80097644 0303F825 */ or $ra, $t8, $v1 -/* 098248 80097648 AFAF004C */ sw $t7, 0x4c($sp) -/* 09824C 8009764C 0009C080 */ sll $t8, $t1, 2 -/* 098250 80097650 33190FFF */ andi $t9, $t8, 0xfff -/* 098254 80097654 000D7940 */ sll $t7, $t5, 5 -/* 098258 80097658 31F8FFFF */ andi $t8, $t7, 0xffff -/* 09825C 8009765C AFB80044 */ sw $t8, 0x44($sp) -/* 098260 80097660 8FB8011C */ lw $t8, 0x11c($sp) -/* 098264 80097664 8FAE0118 */ lw $t6, 0x118($sp) -/* 098268 80097668 AFB90048 */ sw $t9, 0x48($sp) -/* 09826C 8009766C 3319FFFF */ andi $t9, $t8, 0xffff -/* 098270 80097670 000E7C00 */ sll $t7, $t6, 0x10 -/* 098274 80097674 01F97025 */ or $t6, $t7, $t9 -/* 098278 80097678 AFAE0040 */ sw $t6, 0x40($sp) -/* 09827C 8009767C 10000036 */ b .L80097758 -/* 098280 80097680 00435025 */ or $t2, $v0, $v1 -.L80097684: -/* 098284 80097684 83A40117 */ lb $a0, 0x117($sp) -/* 098288 80097688 3C01FD00 */ lui $at, 0xfd00 -/* 09828C 8009768C 8FA200EC */ lw $v0, 0xec($sp) -/* 098290 80097690 30980007 */ andi $t8, $a0, 7 -/* 098294 80097694 00182540 */ sll $a0, $t8, 0x15 -/* 098298 80097698 8FB8013C */ lw $t8, 0x13c($sp) -/* 09829C 8009769C 0081C825 */ or $t9, $a0, $at -/* 0982A0 800976A0 3C010010 */ lui $at, 0x10 -/* 0982A4 800976A4 03217025 */ or $t6, $t9, $at -/* 0982A8 800976A8 3C01F500 */ lui $at, 0xf500 -/* 0982AC 800976AC 270FFFFF */ addiu $t7, $t8, -1 -/* 0982B0 800976B0 8FA300F0 */ lw $v1, 0xf0($sp) -/* 0982B4 800976B4 31F90FFF */ andi $t9, $t7, 0xfff -/* 0982B8 800976B8 00813825 */ or $a3, $a0, $at -/* 0982BC 800976BC 3C010010 */ lui $at, 0x10 -/* 0982C0 800976C0 00E1C025 */ or $t8, $a3, $at -/* 0982C4 800976C4 01D92825 */ or $a1, $t6, $t9 -/* 0982C8 800976C8 304F000F */ andi $t7, $v0, 0xf -/* 0982CC 800976CC 8FA90134 */ lw $t1, 0x134($sp) -/* 0982D0 800976D0 000F1380 */ sll $v0, $t7, 0xe -/* 0982D4 800976D4 3C010700 */ lui $at, 0x700 -/* 0982D8 800976D8 000D3080 */ sll $a2, $t5, 2 -/* 0982DC 800976DC 3079000F */ andi $t9, $v1, 0xf -/* 0982E0 800976E0 00191900 */ sll $v1, $t9, 4 -/* 0982E4 800976E4 30CE0FFF */ andi $t6, $a2, 0xfff -/* 0982E8 800976E8 00417825 */ or $t7, $v0, $at -/* 0982EC 800976EC 01A89821 */ addu $s3, $t5, $t0 -/* 0982F0 800976F0 0013C880 */ sll $t9, $s3, 2 -/* 0982F4 800976F4 01C03025 */ move $a2, $t6 -/* 0982F8 800976F8 33330FFF */ andi $s3, $t9, 0xfff -/* 0982FC 800976FC 01E36025 */ or $t4, $t7, $v1 -/* 098300 80097700 3C010100 */ lui $at, 0x100 -/* 098304 80097704 01287021 */ addu $t6, $t1, $t0 -/* 098308 80097708 000EC880 */ sll $t9, $t6, 2 -/* 09830C 8009770C 00417825 */ or $t7, $v0, $at -/* 098310 80097710 03003825 */ move $a3, $t8 -/* 098314 80097714 33380FFF */ andi $t8, $t9, 0xfff -/* 098318 80097718 01E3F825 */ or $ra, $t7, $v1 -/* 09831C 8009771C AFB8004C */ sw $t8, 0x4c($sp) -/* 098320 80097720 00097880 */ sll $t7, $t1, 2 -/* 098324 80097724 31EE0FFF */ andi $t6, $t7, 0xfff -/* 098328 80097728 000DC140 */ sll $t8, $t5, 5 -/* 09832C 8009772C 330FFFFF */ andi $t7, $t8, 0xffff -/* 098330 80097730 AFAF0044 */ sw $t7, 0x44($sp) -/* 098334 80097734 8FAF011C */ lw $t7, 0x11c($sp) -/* 098338 80097738 8FB90118 */ lw $t9, 0x118($sp) -/* 09833C 8009773C AFAE0048 */ sw $t6, 0x48($sp) -/* 098340 80097740 31EEFFFF */ andi $t6, $t7, 0xffff -/* 098344 80097744 0019C400 */ sll $t8, $t9, 0x10 -/* 098348 80097748 030EC825 */ or $t9, $t8, $t6 -/* 09834C 8009774C AFB90040 */ sw $t9, 0x40($sp) -/* 098350 80097750 00435025 */ or $t2, $v0, $v1 -/* 098354 80097754 8FAB00F8 */ lw $t3, 0xf8($sp) -.L80097758: -/* 098358 80097758 02001025 */ move $v0, $s0 -/* 09835C 8009775C AC450000 */ sw $a1, ($v0) -/* 098360 80097760 8FAF0138 */ lw $t7, 0x138($sp) -/* 098364 80097764 028B2021 */ addu $a0, $s4, $t3 -/* 098368 80097768 0094C023 */ subu $t8, $a0, $s4 -/* 09836C 8009776C 00187040 */ sll $t6, $t8, 1 -/* 098370 80097770 25D90009 */ addiu $t9, $t6, 9 -/* 098374 80097774 AC4F0004 */ sw $t7, 4($v0) -/* 098378 80097778 001978C2 */ srl $t7, $t9, 3 -/* 09837C 8009777C 31F801FF */ andi $t8, $t7, 0x1ff -/* 098380 80097780 26100008 */ addiu $s0, $s0, 8 -/* 098384 80097784 02001825 */ move $v1, $s0 -/* 098388 80097788 00187240 */ sll $t6, $t8, 9 -/* 09838C 8009778C 00EE8825 */ or $s1, $a3, $t6 -/* 098390 80097790 00143880 */ sll $a3, $s4, 2 -/* 098394 80097794 26100008 */ addiu $s0, $s0, 8 -/* 098398 80097798 02004025 */ move $t0, $s0 -/* 09839C 8009779C 30EF0FFF */ andi $t7, $a3, 0xfff -/* 0983A0 800977A0 AC710000 */ sw $s1, ($v1) -/* 0983A4 800977A4 AC6C0004 */ sw $t4, 4($v1) -/* 0983A8 800977A8 3C19E600 */ lui $t9, 0xe600 -/* 0983AC 800977AC AD190000 */ sw $t9, ($t0) -/* 0983B0 800977B0 000F3B00 */ sll $a3, $t7, 0xc -/* 0983B4 800977B4 00049080 */ sll $s2, $a0, 2 -/* 0983B8 800977B8 3C01F400 */ lui $at, 0xf400 -/* 0983BC 800977BC 00E17025 */ or $t6, $a3, $at -/* 0983C0 800977C0 32590FFF */ andi $t9, $s2, 0xfff -/* 0983C4 800977C4 26100008 */ addiu $s0, $s0, 8 -/* 0983C8 800977C8 02001025 */ move $v0, $s0 -/* 0983CC 800977CC 00199300 */ sll $s2, $t9, 0xc -/* 0983D0 800977D0 3C010700 */ lui $at, 0x700 -/* 0983D4 800977D4 0241C025 */ or $t8, $s2, $at -/* 0983D8 800977D8 AD000004 */ sw $zero, 4($t0) -/* 0983DC 800977DC 0313B025 */ or $s6, $t8, $s3 -/* 0983E0 800977E0 26100008 */ addiu $s0, $s0, 8 -/* 0983E4 800977E4 01C6A825 */ or $s5, $t6, $a2 -/* 0983E8 800977E8 AC550000 */ sw $s5, ($v0) -/* 0983EC 800977EC 02001825 */ move $v1, $s0 -/* 0983F0 800977F0 AC560004 */ sw $s6, 4($v0) -/* 0983F4 800977F4 26100008 */ addiu $s0, $s0, 8 -/* 0983F8 800977F8 02004825 */ move $t1, $s0 -/* 0983FC 800977FC 3C0EE700 */ lui $t6, 0xe700 -/* 098400 80097800 AC6E0000 */ sw $t6, ($v1) -/* 098404 80097804 26100008 */ addiu $s0, $s0, 8 -/* 098408 80097808 AC600004 */ sw $zero, 4($v1) -/* 09840C 8009780C 02001025 */ move $v0, $s0 -/* 098410 80097810 3C01F200 */ lui $at, 0xf200 -/* 098414 80097814 00E1C825 */ or $t9, $a3, $at -/* 098418 80097818 AD2A0004 */ sw $t2, 4($t1) -/* 09841C 8009781C AD310000 */ sw $s1, ($t1) -/* 098420 80097820 0326B825 */ or $s7, $t9, $a2 -/* 098424 80097824 26100008 */ addiu $s0, $s0, 8 -/* 098428 80097828 02537825 */ or $t7, $s2, $s3 -/* 09842C 8009782C AC4F0004 */ sw $t7, 4($v0) -/* 098430 80097830 AC570000 */ sw $s7, ($v0) -/* 098434 80097834 0200F025 */ move $fp, $s0 -/* 098438 80097838 AFC50000 */ sw $a1, ($fp) -/* 09843C 8009783C AFBF0050 */ sw $ra, 0x50($sp) -/* 098440 80097840 AFAD0108 */ sw $t5, 0x108($sp) -/* 098444 80097844 AFAC0068 */ sw $t4, 0x68($sp) -/* 098448 80097848 AFAB0100 */ sw $t3, 0x100($sp) -/* 09844C 8009784C 26100008 */ addiu $s0, $s0, 8 -/* 098450 80097850 0C0ADF8D */ jal random_int -/* 098454 80097854 24040080 */ li $a0, 128 -/* 098458 80097858 3C0E0B00 */ lui $t6, %hi(D_0B002A00) # $t6, 0xb00 -/* 09845C 8009785C 8FAC0068 */ lw $t4, 0x68($sp) -/* 098460 80097860 25CE2A00 */ addiu $t6, %lo(D_0B002A00) # addiu $t6, $t6, 0x2a00 -/* 098464 80097864 0002C040 */ sll $t8, $v0, 1 -/* 098468 80097868 8FAB0100 */ lw $t3, 0x100($sp) -/* 09846C 8009786C 8FBF0050 */ lw $ra, 0x50($sp) -/* 098470 80097870 030EC821 */ addu $t9, $t8, $t6 -/* 098474 80097874 8FAD0108 */ lw $t5, 0x108($sp) -/* 098478 80097878 02001825 */ move $v1, $s0 -/* 09847C 8009787C AFD90004 */ sw $t9, 4($fp) -/* 098480 80097880 26100008 */ addiu $s0, $s0, 8 -/* 098484 80097884 36250100 */ ori $a1, $s1, 0x100 -/* 098488 80097888 AC650000 */ sw $a1, ($v1) -/* 09848C 8009788C 02002025 */ move $a0, $s0 -/* 098490 80097890 AC6C0004 */ sw $t4, 4($v1) -/* 098494 80097894 26100008 */ addiu $s0, $s0, 8 -/* 098498 80097898 02003025 */ move $a2, $s0 -/* 09849C 8009789C 3C0FE600 */ lui $t7, 0xe600 -/* 0984A0 800978A0 AC8F0000 */ sw $t7, ($a0) -/* 0984A4 800978A4 26100008 */ addiu $s0, $s0, 8 -/* 0984A8 800978A8 AC800004 */ sw $zero, 4($a0) -/* 0984AC 800978AC 02001025 */ move $v0, $s0 -/* 0984B0 800978B0 ACD60004 */ sw $s6, 4($a2) -/* 0984B4 800978B4 ACD50000 */ sw $s5, ($a2) -/* 0984B8 800978B8 26100008 */ addiu $s0, $s0, 8 -/* 0984BC 800978BC 3C18E700 */ lui $t8, 0xe700 -/* 0984C0 800978C0 AC580000 */ sw $t8, ($v0) -/* 0984C4 800978C4 02001825 */ move $v1, $s0 -/* 0984C8 800978C8 AC400004 */ sw $zero, 4($v0) -/* 0984CC 800978CC AC650000 */ sw $a1, ($v1) -/* 0984D0 800978D0 AC7F0004 */ sw $ra, 4($v1) -/* 0984D4 800978D4 8FA50130 */ lw $a1, 0x130($sp) -/* 0984D8 800978D8 3C010100 */ lui $at, 0x100 -/* 0984DC 800978DC 02417025 */ or $t6, $s2, $at -/* 0984E0 800978E0 26100008 */ addiu $s0, $s0, 8 -/* 0984E4 800978E4 02002025 */ move $a0, $s0 -/* 0984E8 800978E8 01D3C825 */ or $t9, $t6, $s3 -/* 0984EC 800978EC 00AB7821 */ addu $t7, $a1, $t3 -/* 0984F0 800978F0 000FC080 */ sll $t8, $t7, 2 -/* 0984F4 800978F4 AC990004 */ sw $t9, 4($a0) -/* 0984F8 800978F8 AC970000 */ sw $s7, ($a0) -/* 0984FC 800978FC 330E0FFF */ andi $t6, $t8, 0xfff -/* 098500 80097900 8FB8004C */ lw $t8, 0x4c($sp) -/* 098504 80097904 000ECB00 */ sll $t9, $t6, 0xc -/* 098508 80097908 3C01E400 */ lui $at, 0xe400 -/* 09850C 8009790C 26100008 */ addiu $s0, $s0, 8 -/* 098510 80097910 03217825 */ or $t7, $t9, $at -/* 098514 80097914 02001025 */ move $v0, $s0 -/* 098518 80097918 01F87025 */ or $t6, $t7, $t8 -/* 09851C 8009791C AC4E0000 */ sw $t6, ($v0) -/* 098520 80097920 8FAE0048 */ lw $t6, 0x48($sp) -/* 098524 80097924 0005C880 */ sll $t9, $a1, 2 -/* 098528 80097928 332F0FFF */ andi $t7, $t9, 0xfff -/* 09852C 8009792C 000FC300 */ sll $t8, $t7, 0xc -/* 098530 80097930 26100008 */ addiu $s0, $s0, 8 -/* 098534 80097934 030EC825 */ or $t9, $t8, $t6 -/* 098538 80097938 AC590004 */ sw $t9, 4($v0) -/* 09853C 8009793C 02001825 */ move $v1, $s0 -/* 098540 80097940 3C0FB300 */ lui $t7, 0xb300 -/* 098544 80097944 AC6F0000 */ sw $t7, ($v1) -/* 098548 80097948 8FB80044 */ lw $t8, 0x44($sp) -/* 09854C 8009794C 00147D40 */ sll $t7, $s4, 0x15 -/* 098550 80097950 26100008 */ addiu $s0, $s0, 8 -/* 098554 80097954 01F87025 */ or $t6, $t7, $t8 -/* 098558 80097958 AC6E0004 */ sw $t6, 4($v1) -/* 09855C 8009795C 02001025 */ move $v0, $s0 -/* 098560 80097960 3C19B200 */ lui $t9, 0xb200 -/* 098564 80097964 AC590000 */ sw $t9, ($v0) -/* 098568 80097968 8FAF0040 */ lw $t7, 0x40($sp) -/* 09856C 8009796C 26100008 */ addiu $s0, $s0, 8 -/* 098570 80097970 AC4F0004 */ sw $t7, 4($v0) -/* 098574 80097974 8FAF0128 */ lw $t7, 0x128($sp) -/* 098578 80097978 8FB40080 */ lw $s4, 0x80($sp) -/* 09857C 8009797C 8FB80130 */ lw $t8, 0x130($sp) -/* 098580 80097980 8FAE00F8 */ lw $t6, 0xf8($sp) -/* 098584 80097984 028F082B */ sltu $at, $s4, $t7 -/* 098588 80097988 030EC821 */ addu $t9, $t8, $t6 -/* 09858C 8009798C 1420FEFD */ bnez $at, .L80097584 -/* 098590 80097990 AFB90130 */ sw $t9, 0x130($sp) -/* 098594 80097994 01E01825 */ move $v1, $t7 -.L80097998: -/* 098598 80097998 8FB80104 */ lw $t8, 0x104($sp) -.L8009799C: -/* 09859C 8009799C 8FAD0084 */ lw $t5, 0x84($sp) -/* 0985A0 800979A0 8FAE0134 */ lw $t6, 0x134($sp) -/* 0985A4 800979A4 AFB80130 */ sw $t8, 0x130($sp) -/* 0985A8 800979A8 8FB8012C */ lw $t8, 0x12c($sp) -/* 0985AC 800979AC 8FB900F4 */ lw $t9, 0xf4($sp) -/* 0985B0 800979B0 01B8082B */ sltu $at, $t5, $t8 -/* 0985B4 800979B4 01D97821 */ addu $t7, $t6, $t9 -/* 0985B8 800979B8 1420FEDF */ bnez $at, .L80097538 -/* 0985BC 800979BC AFAF0134 */ sw $t7, 0x134($sp) -.L800979C0: -/* 0985C0 800979C0 26040008 */ addiu $a0, $s0, 8 -.L800979C4: -/* 0985C4 800979C4 3C0EE700 */ lui $t6, 0xe700 -/* 0985C8 800979C8 AE0E0000 */ sw $t6, ($s0) -/* 0985CC 800979CC AE000004 */ sw $zero, 4($s0) -/* 0985D0 800979D0 3C19BA00 */ lui $t9, (0xBA001402 >> 16) # lui $t9, 0xba00 -/* 0985D4 800979D4 37391402 */ ori $t9, (0xBA001402 & 0xFFFF) # ori $t9, $t9, 0x1402 -/* 0985D8 800979D8 AC990000 */ sw $t9, ($a0) -/* 0985DC 800979DC AC800004 */ sw $zero, 4($a0) -/* 0985E0 800979E0 24820008 */ addiu $v0, $a0, 8 -.L800979E4: -/* 0985E4 800979E4 8FBF003C */ lw $ra, 0x3c($sp) -/* 0985E8 800979E8 8FB00018 */ lw $s0, 0x18($sp) -/* 0985EC 800979EC 8FB1001C */ lw $s1, 0x1c($sp) -/* 0985F0 800979F0 8FB20020 */ lw $s2, 0x20($sp) -/* 0985F4 800979F4 8FB30024 */ lw $s3, 0x24($sp) -/* 0985F8 800979F8 8FB40028 */ lw $s4, 0x28($sp) -/* 0985FC 800979FC 8FB5002C */ lw $s5, 0x2c($sp) -/* 098600 80097A00 8FB60030 */ lw $s6, 0x30($sp) -/* 098604 80097A04 8FB70034 */ lw $s7, 0x34($sp) -/* 098608 80097A08 8FBE0038 */ lw $fp, 0x38($sp) -/* 09860C 80097A0C 03E00008 */ jr $ra -/* 098610 80097A10 27BD0110 */ addiu $sp, $sp, 0x110 diff --git a/asm/non_matchings/menu_items/func_80099AEC.s b/asm/non_matchings/menu_items/func_80099AEC.s deleted file mode 100644 index 8f3778201..000000000 --- a/asm/non_matchings/menu_items/func_80099AEC.s +++ /dev/null @@ -1,240 +0,0 @@ -glabel func_80099AEC -/* 09A6EC 80099AEC 27BDFF68 */ addiu $sp, $sp, -0x98 -/* 09A6F0 80099AF0 3C0E800E */ lui $t6, %hi(gGamestate) # $t6, 0x800e -/* 09A6F4 80099AF4 8DCEC50C */ lw $t6, %lo(gGamestate)($t6) -/* 09A6F8 80099AF8 24010004 */ li $at, 4 -/* 09A6FC 80099AFC AFBF004C */ sw $ra, 0x4c($sp) -/* 09A700 80099B00 AFBE0048 */ sw $fp, 0x48($sp) -/* 09A704 80099B04 AFB70044 */ sw $s7, 0x44($sp) -/* 09A708 80099B08 AFB60040 */ sw $s6, 0x40($sp) -/* 09A70C 80099B0C AFB5003C */ sw $s5, 0x3c($sp) -/* 09A710 80099B10 AFB40038 */ sw $s4, 0x38($sp) -/* 09A714 80099B14 AFB30034 */ sw $s3, 0x34($sp) -/* 09A718 80099B18 AFB20030 */ sw $s2, 0x30($sp) -/* 09A71C 80099B1C AFB1002C */ sw $s1, 0x2c($sp) -/* 09A720 80099B20 15C10004 */ bne $t6, $at, .L80099B34 -/* 09A724 80099B24 AFB00028 */ sw $s0, 0x28($sp) -/* 09A728 80099B28 240F0500 */ li $t7, 1280 -/* 09A72C 80099B2C 10000003 */ b .L80099B3C -/* 09A730 80099B30 AFAF0060 */ sw $t7, 0x60($sp) -.L80099B34: -/* 09A734 80099B34 24181000 */ li $t8, 4096 -/* 09A738 80099B38 AFB80060 */ sw $t8, 0x60($sp) -.L80099B3C: -/* 09A73C 80099B3C 3C028019 */ lui $v0, %hi(D_8018E060) # 0x8019 -/* 09A740 80099B40 2451E060 */ addiu $s1, $v0, %lo(D_8018E060) # -0x1fa0 -/* 09A744 80099B44 8E320000 */ lw $s2, ($s1) -/* 09A748 80099B48 3C148019 */ lui $s4, %hi(gMenuCompressedBuffer) # $s4, 0x8019 -/* 09A74C 80099B4C 0000A825 */ move $s5, $zero -/* 09A750 80099B50 124000B4 */ beqz $s2, .L80099E24 -/* 09A754 80099B54 2694D9B4 */ addiu $s4, %lo(gMenuCompressedBuffer) # addiu $s4, $s4, -0x264c -/* 09A758 80099B58 96430010 */ lhu $v1, 0x10($s2) -/* 09A75C 80099B5C 24101400 */ li $s0, 5120 -/* 09A760 80099B60 10600003 */ beqz $v1, .L80099B70 -/* 09A764 80099B64 00000000 */ nop -/* 09A768 80099B68 10000001 */ b .L80099B70 -/* 09A76C 80099B6C 00608025 */ move $s0, $v1 -.L80099B70: -/* 09A770 80099B70 06010004 */ bgez $s0, .L80099B84 -/* 09A774 80099B74 32190007 */ andi $t9, $s0, 7 -/* 09A778 80099B78 13200002 */ beqz $t9, .L80099B84 -/* 09A77C 80099B7C 00000000 */ nop -/* 09A780 80099B80 2739FFF8 */ addiu $t9, $t9, -8 -.L80099B84: -/* 09A784 80099B84 53200008 */ beql $t9, $zero, .L80099BA8 -/* 09A788 80099B88 8E840000 */ lw $a0, ($s4) -/* 09A78C 80099B8C 06010003 */ bgez $s0, .L80099B9C -/* 09A790 80099B90 001040C3 */ sra $t0, $s0, 3 -/* 09A794 80099B94 26010007 */ addiu $at, $s0, 7 -/* 09A798 80099B98 000140C3 */ sra $t0, $at, 3 -.L80099B9C: -/* 09A79C 80099B9C 000848C0 */ sll $t1, $t0, 3 -/* 09A7A0 80099BA0 25300008 */ addiu $s0, $t1, 8 -/* 09A7A4 80099BA4 8E840000 */ lw $a0, ($s4) -.L80099BA8: -/* 09A7A8 80099BA8 0C0336E0 */ jal osInvalDCache -/* 09A7AC 80099BAC 02002825 */ move $a1, $s0 -/* 09A7B0 80099BB0 8E4A0004 */ lw $t2, 4($s2) -/* 09A7B4 80099BB4 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff -/* 09A7B8 80099BB8 8E8C0000 */ lw $t4, ($s4) -/* 09A7BC 80099BBC 3C168015 */ lui $s6, %hi(gDmaMesgQueue) # $s6, 0x8015 -/* 09A7C0 80099BC0 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 09A7C4 80099BC4 3C020073 */ lui $v0, %hi(_textures_0aSegmentRomStart) # $v0, 0x73 -/* 09A7C8 80099BC8 26D6EF58 */ addiu $s6, %lo(gDmaMesgQueue) # addiu $s6, $s6, -0x10a8 -/* 09A7CC 80099BCC 24429A30 */ addiu $v0, %lo(_textures_0aSegmentRomStart) # addiu $v0, $v0, -0x65d0 -/* 09A7D0 80099BD0 01415824 */ and $t3, $t2, $at -/* 09A7D4 80099BD4 004B3821 */ addu $a3, $v0, $t3 -/* 09A7D8 80099BD8 AFA20058 */ sw $v0, 0x58($sp) -/* 09A7DC 80099BDC AFB60018 */ sw $s6, 0x18($sp) -/* 09A7E0 80099BE0 AFB00014 */ sw $s0, 0x14($sp) -/* 09A7E4 80099BE4 27A4006C */ addiu $a0, $sp, 0x6c -/* 09A7E8 80099BE8 00002825 */ move $a1, $zero -/* 09A7EC 80099BEC 00003025 */ move $a2, $zero -/* 09A7F0 80099BF0 0C03370C */ jal osPiStartDma -/* 09A7F4 80099BF4 AFAC0010 */ sw $t4, 0x10($sp) -/* 09A7F8 80099BF8 27B70068 */ addiu $s7, $sp, 0x68 -/* 09A7FC 80099BFC 02E02825 */ move $a1, $s7 -/* 09A800 80099C00 02C02025 */ move $a0, $s6 -/* 09A804 80099C04 0C0335D4 */ jal osRecvMesg -/* 09A808 80099C08 24060001 */ li $a2, 1 -/* 09A80C 80099C0C 3C1E8019 */ lui $fp, %hi(sMenuTextureMap) # $fp, 0x8019 -/* 09A810 80099C10 27DEE118 */ addiu $fp, %lo(sMenuTextureMap) # addiu $fp, $fp, -0x1ee8 -/* 09A814 80099C14 8E220008 */ lw $v0, 8($s1) -.L80099C18: -/* 09A818 80099C18 8FB30060 */ lw $s3, 0x60($sp) -/* 09A81C 80099C1C 54400006 */ bnel $v0, $zero, .L80099C38 -/* 09A820 80099C20 94430010 */ lhu $v1, 0x10($v0) -/* 09A824 80099C24 26B50001 */ addiu $s5, $s5, 1 -/* 09A828 80099C28 00156E00 */ sll $t5, $s5, 0x18 -/* 09A82C 80099C2C 10000029 */ b .L80099CD4 -/* 09A830 80099C30 000DAE03 */ sra $s5, $t5, 0x18 -/* 09A834 80099C34 94430010 */ lhu $v1, 0x10($v0) -.L80099C38: -/* 09A838 80099C38 00137880 */ sll $t7, $s3, 2 -/* 09A83C 80099C3C 00409025 */ move $s2, $v0 -/* 09A840 80099C40 10600003 */ beqz $v1, .L80099C50 -/* 09A844 80099C44 01E09825 */ move $s3, $t7 -/* 09A848 80099C48 10000002 */ b .L80099C54 -/* 09A84C 80099C4C 00608025 */ move $s0, $v1 -.L80099C50: -/* 09A850 80099C50 24101400 */ li $s0, 5120 -.L80099C54: -/* 09A854 80099C54 06010004 */ bgez $s0, .L80099C68 -/* 09A858 80099C58 32180007 */ andi $t8, $s0, 7 -/* 09A85C 80099C5C 13000002 */ beqz $t8, .L80099C68 -/* 09A860 80099C60 00000000 */ nop -/* 09A864 80099C64 2718FFF8 */ addiu $t8, $t8, -8 -.L80099C68: -/* 09A868 80099C68 53000008 */ beql $t8, $zero, .L80099C8C -/* 09A86C 80099C6C 8E890000 */ lw $t1, ($s4) -/* 09A870 80099C70 06010003 */ bgez $s0, .L80099C80 -/* 09A874 80099C74 0010C8C3 */ sra $t9, $s0, 3 -/* 09A878 80099C78 26010007 */ addiu $at, $s0, 7 -/* 09A87C 80099C7C 0001C8C3 */ sra $t9, $at, 3 -.L80099C80: -/* 09A880 80099C80 001940C0 */ sll $t0, $t9, 3 -/* 09A884 80099C84 25100008 */ addiu $s0, $t0, 8 -/* 09A888 80099C88 8E890000 */ lw $t1, ($s4) -.L80099C8C: -/* 09A88C 80099C8C 02002825 */ move $a1, $s0 -/* 09A890 80099C90 0C0336E0 */ jal osInvalDCache -/* 09A894 80099C94 02692021 */ addu $a0, $s3, $t1 -/* 09A898 80099C98 8E4B0004 */ lw $t3, 4($s2) -/* 09A89C 80099C9C 8E8D0000 */ lw $t5, ($s4) -/* 09A8A0 80099CA0 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff -/* 09A8A4 80099CA4 8FAA0058 */ lw $t2, 0x58($sp) -/* 09A8A8 80099CA8 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 09A8AC 80099CAC 01616024 */ and $t4, $t3, $at -/* 09A8B0 80099CB0 026D7021 */ addu $t6, $s3, $t5 -/* 09A8B4 80099CB4 AFAE0010 */ sw $t6, 0x10($sp) -/* 09A8B8 80099CB8 AFB60018 */ sw $s6, 0x18($sp) -/* 09A8BC 80099CBC AFB00014 */ sw $s0, 0x14($sp) -/* 09A8C0 80099CC0 27A4006C */ addiu $a0, $sp, 0x6c -/* 09A8C4 80099CC4 00002825 */ move $a1, $zero -/* 09A8C8 80099CC8 00003025 */ move $a2, $zero -/* 09A8CC 80099CCC 0C03370C */ jal osPiStartDma -/* 09A8D0 80099CD0 014C3821 */ addu $a3, $t2, $t4 -.L80099CD4: -/* 09A8D4 80099CD4 8E2F0004 */ lw $t7, 4($s1) -/* 09A8D8 80099CD8 3C098019 */ lui $t1, %hi(gMenuTextureBuffer) # $t1, 0x8019 -/* 09A8DC 80099CDC 8D29D9B0 */ lw $t1, %lo(gMenuTextureBuffer)($t1) -/* 09A8E0 80099CE0 000FC0C0 */ sll $t8, $t7, 3 -/* 09A8E4 80099CE4 031EC821 */ addu $t9, $t8, $fp -/* 09A8E8 80099CE8 8F220004 */ lw $v0, 4($t9) -/* 09A8EC 80099CEC 8E840000 */ lw $a0, ($s4) -/* 09A8F0 80099CF0 00024040 */ sll $t0, $v0, 1 -/* 09A8F4 80099CF4 0C010034 */ jal mio0decode -/* 09A8F8 80099CF8 01092821 */ addu $a1, $t0, $t1 -/* 09A8FC 80099CFC AE200000 */ sw $zero, ($s1) -/* 09A900 80099D00 16A00048 */ bnez $s5, .L80099E24 -/* 09A904 80099D04 26310008 */ addiu $s1, $s1, 8 -/* 09A908 80099D08 8FB30060 */ lw $s3, 0x60($sp) -/* 09A90C 80099D0C 02C02025 */ move $a0, $s6 -/* 09A910 80099D10 02E02825 */ move $a1, $s7 -/* 09A914 80099D14 00135880 */ sll $t3, $s3, 2 -/* 09A918 80099D18 01609825 */ move $s3, $t3 -/* 09A91C 80099D1C 0C0335D4 */ jal osRecvMesg -/* 09A920 80099D20 24060001 */ li $a2, 1 -/* 09A924 80099D24 8E220008 */ lw $v0, 8($s1) -/* 09A928 80099D28 54400006 */ bnel $v0, $zero, .L80099D44 -/* 09A92C 80099D2C 94430010 */ lhu $v1, 0x10($v0) -/* 09A930 80099D30 26B50001 */ addiu $s5, $s5, 1 -/* 09A934 80099D34 00155600 */ sll $t2, $s5, 0x18 -/* 09A938 80099D38 10000026 */ b .L80099DD4 -/* 09A93C 80099D3C 000AAE03 */ sra $s5, $t2, 0x18 -/* 09A940 80099D40 94430010 */ lhu $v1, 0x10($v0) -.L80099D44: -/* 09A944 80099D44 00409025 */ move $s2, $v0 -/* 09A948 80099D48 24101400 */ li $s0, 5120 -/* 09A94C 80099D4C 10600003 */ beqz $v1, .L80099D5C -/* 09A950 80099D50 00000000 */ nop -/* 09A954 80099D54 10000001 */ b .L80099D5C -/* 09A958 80099D58 00608025 */ move $s0, $v1 -.L80099D5C: -/* 09A95C 80099D5C 06010004 */ bgez $s0, .L80099D70 -/* 09A960 80099D60 320D0007 */ andi $t5, $s0, 7 -/* 09A964 80099D64 11A00002 */ beqz $t5, .L80099D70 -/* 09A968 80099D68 00000000 */ nop -/* 09A96C 80099D6C 25ADFFF8 */ addiu $t5, $t5, -8 -.L80099D70: -/* 09A970 80099D70 51A00008 */ beql $t5, $zero, .L80099D94 -/* 09A974 80099D74 8E840000 */ lw $a0, ($s4) -/* 09A978 80099D78 06010003 */ bgez $s0, .L80099D88 -/* 09A97C 80099D7C 001070C3 */ sra $t6, $s0, 3 -/* 09A980 80099D80 26010007 */ addiu $at, $s0, 7 -/* 09A984 80099D84 000170C3 */ sra $t6, $at, 3 -.L80099D88: -/* 09A988 80099D88 000E78C0 */ sll $t7, $t6, 3 -/* 09A98C 80099D8C 25F00008 */ addiu $s0, $t7, 8 -/* 09A990 80099D90 8E840000 */ lw $a0, ($s4) -.L80099D94: -/* 09A994 80099D94 0C0336E0 */ jal osInvalDCache -/* 09A998 80099D98 02002825 */ move $a1, $s0 -/* 09A99C 80099D9C 8E590004 */ lw $t9, 4($s2) -/* 09A9A0 80099DA0 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff -/* 09A9A4 80099DA4 8FB80058 */ lw $t8, 0x58($sp) -/* 09A9A8 80099DA8 8E890000 */ lw $t1, ($s4) -/* 09A9AC 80099DAC 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 09A9B0 80099DB0 03214024 */ and $t0, $t9, $at -/* 09A9B4 80099DB4 AFB60018 */ sw $s6, 0x18($sp) -/* 09A9B8 80099DB8 AFB00014 */ sw $s0, 0x14($sp) -/* 09A9BC 80099DBC 27A4006C */ addiu $a0, $sp, 0x6c -/* 09A9C0 80099DC0 00002825 */ move $a1, $zero -/* 09A9C4 80099DC4 00003025 */ move $a2, $zero -/* 09A9C8 80099DC8 03083821 */ addu $a3, $t8, $t0 -/* 09A9CC 80099DCC 0C03370C */ jal osPiStartDma -/* 09A9D0 80099DD0 AFA90010 */ sw $t1, 0x10($sp) -.L80099DD4: -/* 09A9D4 80099DD4 8E2B0004 */ lw $t3, 4($s1) -/* 09A9D8 80099DD8 3C0F8019 */ lui $t7, %hi(gMenuTextureBuffer) # $t7, 0x8019 -/* 09A9DC 80099DDC 8DEFD9B0 */ lw $t7, %lo(gMenuTextureBuffer)($t7) -/* 09A9E0 80099DE0 000B50C0 */ sll $t2, $t3, 3 -/* 09A9E4 80099DE4 015E6021 */ addu $t4, $t2, $fp -/* 09A9E8 80099DE8 8D820004 */ lw $v0, 4($t4) -/* 09A9EC 80099DEC 8E8D0000 */ lw $t5, ($s4) -/* 09A9F0 80099DF0 00027040 */ sll $t6, $v0, 1 -/* 09A9F4 80099DF4 01CF2821 */ addu $a1, $t6, $t7 -/* 09A9F8 80099DF8 0C010034 */ jal mio0decode -/* 09A9FC 80099DFC 026D2021 */ addu $a0, $s3, $t5 -/* 09AA00 80099E00 AE200000 */ sw $zero, ($s1) -/* 09AA04 80099E04 16A00007 */ bnez $s5, .L80099E24 -/* 09AA08 80099E08 26310008 */ addiu $s1, $s1, 8 -/* 09AA0C 80099E0C 02C02025 */ move $a0, $s6 -/* 09AA10 80099E10 02E02825 */ move $a1, $s7 -/* 09AA14 80099E14 0C0335D4 */ jal osRecvMesg -/* 09AA18 80099E18 24060001 */ li $a2, 1 -/* 09AA1C 80099E1C 1000FF7E */ b .L80099C18 -/* 09AA20 80099E20 8E220008 */ lw $v0, 8($s1) -.L80099E24: -/* 09AA24 80099E24 8FBF004C */ lw $ra, 0x4c($sp) -/* 09AA28 80099E28 8FB00028 */ lw $s0, 0x28($sp) -/* 09AA2C 80099E2C 8FB1002C */ lw $s1, 0x2c($sp) -/* 09AA30 80099E30 8FB20030 */ lw $s2, 0x30($sp) -/* 09AA34 80099E34 8FB30034 */ lw $s3, 0x34($sp) -/* 09AA38 80099E38 8FB40038 */ lw $s4, 0x38($sp) -/* 09AA3C 80099E3C 8FB5003C */ lw $s5, 0x3c($sp) -/* 09AA40 80099E40 8FB60040 */ lw $s6, 0x40($sp) -/* 09AA44 80099E44 8FB70044 */ lw $s7, 0x44($sp) -/* 09AA48 80099E48 8FBE0048 */ lw $fp, 0x48($sp) -/* 09AA4C 80099E4C 03E00008 */ jr $ra -/* 09AA50 80099E50 27BD0098 */ addiu $sp, $sp, 0x98 diff --git a/asm/non_matchings/menu_items/func_80099EC4.s b/asm/non_matchings/menu_items/func_80099EC4.s deleted file mode 100644 index c2233a0ca..000000000 --- a/asm/non_matchings/menu_items/func_80099EC4.s +++ /dev/null @@ -1,244 +0,0 @@ -glabel func_80099EC4 -/* 09AAC4 80099EC4 27BDFF70 */ addiu $sp, $sp, -0x90 -/* 09AAC8 80099EC8 AFB1002C */ sw $s1, 0x2c($sp) -/* 09AACC 80099ECC 3C028019 */ lui $v0, %hi(D_8018E0E8) # 0x8019 -/* 09AAD0 80099ED0 2451E0E8 */ addiu $s1, $v0, %lo(D_8018E0E8) # -0x1f18 -/* 09AAD4 80099ED4 AFBF004C */ sw $ra, 0x4c($sp) -/* 09AAD8 80099ED8 AFBE0048 */ sw $fp, 0x48($sp) -/* 09AADC 80099EDC AFB70044 */ sw $s7, 0x44($sp) -/* 09AAE0 80099EE0 AFB60040 */ sw $s6, 0x40($sp) -/* 09AAE4 80099EE4 AFB5003C */ sw $s5, 0x3c($sp) -/* 09AAE8 80099EE8 AFB40038 */ sw $s4, 0x38($sp) -/* 09AAEC 80099EEC AFB30034 */ sw $s3, 0x34($sp) -/* 09AAF0 80099EF0 AFB20030 */ sw $s2, 0x30($sp) -/* 09AAF4 80099EF4 AFB00028 */ sw $s0, 0x28($sp) -/* 09AAF8 80099EF8 8E320000 */ lw $s2, ($s1) -/* 09AAFC 80099EFC 3C138019 */ lui $s3, %hi(gMenuCompressedBuffer) # $s3, 0x8019 -/* 09AB00 80099F00 0000A025 */ move $s4, $zero -/* 09AB04 80099F04 124000C0 */ beqz $s2, .L8009A208 -/* 09AB08 80099F08 2673D9B4 */ addiu $s3, %lo(gMenuCompressedBuffer) # addiu $s3, $s3, -0x264c -/* 09AB0C 80099F0C 96430010 */ lhu $v1, 0x10($s2) -/* 09AB10 80099F10 24101400 */ li $s0, 5120 -/* 09AB14 80099F14 10600003 */ beqz $v1, .L80099F24 -/* 09AB18 80099F18 00000000 */ nop -/* 09AB1C 80099F1C 10000001 */ b .L80099F24 -/* 09AB20 80099F20 00608025 */ move $s0, $v1 -.L80099F24: -/* 09AB24 80099F24 06010004 */ bgez $s0, .L80099F38 -/* 09AB28 80099F28 320E0007 */ andi $t6, $s0, 7 -/* 09AB2C 80099F2C 11C00002 */ beqz $t6, .L80099F38 -/* 09AB30 80099F30 00000000 */ nop -/* 09AB34 80099F34 25CEFFF8 */ addiu $t6, $t6, -8 -.L80099F38: -/* 09AB38 80099F38 51C00008 */ beql $t6, $zero, .L80099F5C -/* 09AB3C 80099F3C 8E640000 */ lw $a0, ($s3) -/* 09AB40 80099F40 06010003 */ bgez $s0, .L80099F50 -/* 09AB44 80099F44 001078C3 */ sra $t7, $s0, 3 -/* 09AB48 80099F48 26010007 */ addiu $at, $s0, 7 -/* 09AB4C 80099F4C 000178C3 */ sra $t7, $at, 3 -.L80099F50: -/* 09AB50 80099F50 000FC0C0 */ sll $t8, $t7, 3 -/* 09AB54 80099F54 27100008 */ addiu $s0, $t8, 8 -/* 09AB58 80099F58 8E640000 */ lw $a0, ($s3) -.L80099F5C: -/* 09AB5C 80099F5C 0C0336E0 */ jal osInvalDCache -/* 09AB60 80099F60 02002825 */ move $a1, $s0 -/* 09AB64 80099F64 8E590004 */ lw $t9, 4($s2) -/* 09AB68 80099F68 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff -/* 09AB6C 80099F6C 8E690000 */ lw $t1, ($s3) -/* 09AB70 80099F70 3C158015 */ lui $s5, %hi(gDmaMesgQueue) # $s5, 0x8015 -/* 09AB74 80099F74 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 09AB78 80099F78 3C1E0073 */ lui $fp, %hi(_textures_0aSegmentRomStart) # $fp, 0x73 -/* 09AB7C 80099F7C 26B5EF58 */ addiu $s5, %lo(gDmaMesgQueue) # addiu $s5, $s5, -0x10a8 -/* 09AB80 80099F80 27DE9A30 */ addiu $fp, %lo(_textures_0aSegmentRomStart) # addiu $fp, $fp, -0x65d0 -/* 09AB84 80099F84 03214024 */ and $t0, $t9, $at -/* 09AB88 80099F88 03C83821 */ addu $a3, $fp, $t0 -/* 09AB8C 80099F8C AFB50018 */ sw $s5, 0x18($sp) -/* 09AB90 80099F90 AFB00014 */ sw $s0, 0x14($sp) -/* 09AB94 80099F94 27A40068 */ addiu $a0, $sp, 0x68 -/* 09AB98 80099F98 00002825 */ move $a1, $zero -/* 09AB9C 80099F9C 00003025 */ move $a2, $zero -/* 09ABA0 80099FA0 0C03370C */ jal osPiStartDma -/* 09ABA4 80099FA4 AFA90010 */ sw $t1, 0x10($sp) -/* 09ABA8 80099FA8 27B60064 */ addiu $s6, $sp, 0x64 -/* 09ABAC 80099FAC 02C02825 */ move $a1, $s6 -/* 09ABB0 80099FB0 02A02025 */ move $a0, $s5 -/* 09ABB4 80099FB4 0C0335D4 */ jal osRecvMesg -/* 09ABB8 80099FB8 24060001 */ li $a2, 1 -/* 09ABBC 80099FBC 3C17802C */ lui $s7, %hi(D_802BFB80) # $s7, 0x802c -/* 09ABC0 80099FC0 26F7FB80 */ addiu $s7, %lo(D_802BFB80) # addiu $s7, $s7, -0x480 -/* 09ABC4 80099FC4 8E220008 */ lw $v0, 8($s1) -.L80099FC8: -/* 09ABC8 80099FC8 54400006 */ bnel $v0, $zero, .L80099FE4 -/* 09ABCC 80099FCC 94430010 */ lhu $v1, 0x10($v0) -/* 09ABD0 80099FD0 26940001 */ addiu $s4, $s4, 1 -/* 09ABD4 80099FD4 00145600 */ sll $t2, $s4, 0x18 -/* 09ABD8 80099FD8 10000027 */ b .L8009A078 -/* 09ABDC 80099FDC 000AA603 */ sra $s4, $t2, 0x18 -/* 09ABE0 80099FE0 94430010 */ lhu $v1, 0x10($v0) -.L80099FE4: -/* 09ABE4 80099FE4 00409025 */ move $s2, $v0 -/* 09ABE8 80099FE8 24101400 */ li $s0, 5120 -/* 09ABEC 80099FEC 10600003 */ beqz $v1, .L80099FFC -/* 09ABF0 80099FF0 00000000 */ nop -/* 09ABF4 80099FF4 10000001 */ b .L80099FFC -/* 09ABF8 80099FF8 00608025 */ move $s0, $v1 -.L80099FFC: -/* 09ABFC 80099FFC 06010004 */ bgez $s0, .L8009A010 -/* 09AC00 8009A000 320C0007 */ andi $t4, $s0, 7 -/* 09AC04 8009A004 11800002 */ beqz $t4, .L8009A010 -/* 09AC08 8009A008 00000000 */ nop -/* 09AC0C 8009A00C 258CFFF8 */ addiu $t4, $t4, -8 -.L8009A010: -/* 09AC10 8009A010 51800008 */ beql $t4, $zero, .L8009A034 -/* 09AC14 8009A014 8E640000 */ lw $a0, ($s3) -/* 09AC18 8009A018 06010003 */ bgez $s0, .L8009A028 -/* 09AC1C 8009A01C 001068C3 */ sra $t5, $s0, 3 -/* 09AC20 8009A020 26010007 */ addiu $at, $s0, 7 -/* 09AC24 8009A024 000168C3 */ sra $t5, $at, 3 -.L8009A028: -/* 09AC28 8009A028 000D70C0 */ sll $t6, $t5, 3 -/* 09AC2C 8009A02C 25D00008 */ addiu $s0, $t6, 8 -/* 09AC30 8009A030 8E640000 */ lw $a0, ($s3) -.L8009A034: -/* 09AC34 8009A034 02002825 */ move $a1, $s0 -/* 09AC38 8009A038 0C0336E0 */ jal osInvalDCache -/* 09AC3C 8009A03C 24841400 */ addiu $a0, $a0, 0x1400 -/* 09AC40 8009A040 8E4F0004 */ lw $t7, 4($s2) -/* 09AC44 8009A044 8E790000 */ lw $t9, ($s3) -/* 09AC48 8009A048 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff -/* 09AC4C 8009A04C 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 09AC50 8009A050 01E1C024 */ and $t8, $t7, $at -/* 09AC54 8009A054 27281400 */ addiu $t0, $t9, 0x1400 -/* 09AC58 8009A058 AFA80010 */ sw $t0, 0x10($sp) -/* 09AC5C 8009A05C 03D83821 */ addu $a3, $fp, $t8 -/* 09AC60 8009A060 AFB50018 */ sw $s5, 0x18($sp) -/* 09AC64 8009A064 AFB00014 */ sw $s0, 0x14($sp) -/* 09AC68 8009A068 27A40068 */ addiu $a0, $sp, 0x68 -/* 09AC6C 8009A06C 00002825 */ move $a1, $zero -/* 09AC70 8009A070 0C03370C */ jal osPiStartDma -/* 09AC74 8009A074 00003025 */ move $a2, $zero -.L8009A078: -/* 09AC78 8009A078 86220004 */ lh $v0, 4($s1) -/* 09AC7C 8009A07C 86290006 */ lh $t1, 6($s1) -/* 09AC80 8009A080 8E640000 */ lw $a0, ($s3) -/* 09AC84 8009A084 00095400 */ sll $t2, $t1, 0x10 -/* 09AC88 8009A088 02EA5821 */ addu $t3, $s7, $t2 -/* 09AC8C 8009A08C 04410003 */ bgez $v0, .L8009A09C -/* 09AC90 8009A090 00026043 */ sra $t4, $v0, 1 -/* 09AC94 8009A094 24410001 */ addiu $at, $v0, 1 -/* 09AC98 8009A098 00016043 */ sra $t4, $at, 1 -.L8009A09C: -/* 09AC9C 8009A09C 000C6BC0 */ sll $t5, $t4, 0xf -/* 09ACA0 8009A0A0 016D7021 */ addu $t6, $t3, $t5 -/* 09ACA4 8009A0A4 04410004 */ bgez $v0, .L8009A0B8 -/* 09ACA8 8009A0A8 304F0001 */ andi $t7, $v0, 1 -/* 09ACAC 8009A0AC 11E00002 */ beqz $t7, .L8009A0B8 -/* 09ACB0 8009A0B0 00000000 */ nop -/* 09ACB4 8009A0B4 25EFFFFE */ addiu $t7, $t7, -2 -.L8009A0B8: -/* 09ACB8 8009A0B8 000FC340 */ sll $t8, $t7, 0xd -/* 09ACBC 8009A0BC 01D82821 */ addu $a1, $t6, $t8 -/* 09ACC0 8009A0C0 0C010034 */ jal mio0decode -/* 09ACC4 8009A0C4 24A54000 */ addiu $a1, $a1, 0x4000 -/* 09ACC8 8009A0C8 AE200000 */ sw $zero, ($s1) -/* 09ACCC 8009A0CC 1680004E */ bnez $s4, .L8009A208 -/* 09ACD0 8009A0D0 26310008 */ addiu $s1, $s1, 8 -/* 09ACD4 8009A0D4 02A02025 */ move $a0, $s5 -/* 09ACD8 8009A0D8 02C02825 */ move $a1, $s6 -/* 09ACDC 8009A0DC 0C0335D4 */ jal osRecvMesg -/* 09ACE0 8009A0E0 24060001 */ li $a2, 1 -/* 09ACE4 8009A0E4 8E220008 */ lw $v0, 8($s1) -/* 09ACE8 8009A0E8 54400006 */ bnel $v0, $zero, .L8009A104 -/* 09ACEC 8009A0EC 94430010 */ lhu $v1, 0x10($v0) -/* 09ACF0 8009A0F0 26940001 */ addiu $s4, $s4, 1 -/* 09ACF4 8009A0F4 0014CE00 */ sll $t9, $s4, 0x18 -/* 09ACF8 8009A0F8 10000025 */ b .L8009A190 -/* 09ACFC 8009A0FC 0019A603 */ sra $s4, $t9, 0x18 -/* 09AD00 8009A100 94430010 */ lhu $v1, 0x10($v0) -.L8009A104: -/* 09AD04 8009A104 00409025 */ move $s2, $v0 -/* 09AD08 8009A108 24101400 */ li $s0, 5120 -/* 09AD0C 8009A10C 10600003 */ beqz $v1, .L8009A11C -/* 09AD10 8009A110 00000000 */ nop -/* 09AD14 8009A114 10000001 */ b .L8009A11C -/* 09AD18 8009A118 00608025 */ move $s0, $v1 -.L8009A11C: -/* 09AD1C 8009A11C 06010004 */ bgez $s0, .L8009A130 -/* 09AD20 8009A120 32090007 */ andi $t1, $s0, 7 -/* 09AD24 8009A124 11200002 */ beqz $t1, .L8009A130 -/* 09AD28 8009A128 00000000 */ nop -/* 09AD2C 8009A12C 2529FFF8 */ addiu $t1, $t1, -8 -.L8009A130: -/* 09AD30 8009A130 51200008 */ beql $t1, $zero, .L8009A154 -/* 09AD34 8009A134 8E640000 */ lw $a0, ($s3) -/* 09AD38 8009A138 06010003 */ bgez $s0, .L8009A148 -/* 09AD3C 8009A13C 001050C3 */ sra $t2, $s0, 3 -/* 09AD40 8009A140 26010007 */ addiu $at, $s0, 7 -/* 09AD44 8009A144 000150C3 */ sra $t2, $at, 3 -.L8009A148: -/* 09AD48 8009A148 000A60C0 */ sll $t4, $t2, 3 -/* 09AD4C 8009A14C 25900008 */ addiu $s0, $t4, 8 -/* 09AD50 8009A150 8E640000 */ lw $a0, ($s3) -.L8009A154: -/* 09AD54 8009A154 0C0336E0 */ jal osInvalDCache -/* 09AD58 8009A158 02002825 */ move $a1, $s0 -/* 09AD5C 8009A15C 8E4B0004 */ lw $t3, 4($s2) -/* 09AD60 8009A160 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff -/* 09AD64 8009A164 8E6F0000 */ lw $t7, ($s3) -/* 09AD68 8009A168 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 09AD6C 8009A16C 01616824 */ and $t5, $t3, $at -/* 09AD70 8009A170 03CD3821 */ addu $a3, $fp, $t5 -/* 09AD74 8009A174 AFB50018 */ sw $s5, 0x18($sp) -/* 09AD78 8009A178 AFB00014 */ sw $s0, 0x14($sp) -/* 09AD7C 8009A17C 27A40068 */ addiu $a0, $sp, 0x68 -/* 09AD80 8009A180 00002825 */ move $a1, $zero -/* 09AD84 8009A184 00003025 */ move $a2, $zero -/* 09AD88 8009A188 0C03370C */ jal osPiStartDma -/* 09AD8C 8009A18C AFAF0010 */ sw $t7, 0x10($sp) -.L8009A190: -/* 09AD90 8009A190 86220004 */ lh $v0, 4($s1) -/* 09AD94 8009A194 862E0006 */ lh $t6, 6($s1) -/* 09AD98 8009A198 8E640000 */ lw $a0, ($s3) -/* 09AD9C 8009A19C 000EC400 */ sll $t8, $t6, 0x10 -/* 09ADA0 8009A1A0 02F8C821 */ addu $t9, $s7, $t8 -/* 09ADA4 8009A1A4 24841400 */ addiu $a0, $a0, 0x1400 -/* 09ADA8 8009A1A8 04410003 */ bgez $v0, .L8009A1B8 -/* 09ADAC 8009A1AC 00024043 */ sra $t0, $v0, 1 -/* 09ADB0 8009A1B0 24410001 */ addiu $at, $v0, 1 -/* 09ADB4 8009A1B4 00014043 */ sra $t0, $at, 1 -.L8009A1B8: -/* 09ADB8 8009A1B8 00084BC0 */ sll $t1, $t0, 0xf -/* 09ADBC 8009A1BC 03295021 */ addu $t2, $t9, $t1 -/* 09ADC0 8009A1C0 04410004 */ bgez $v0, .L8009A1D4 -/* 09ADC4 8009A1C4 304C0001 */ andi $t4, $v0, 1 -/* 09ADC8 8009A1C8 11800002 */ beqz $t4, .L8009A1D4 -/* 09ADCC 8009A1CC 00000000 */ nop -/* 09ADD0 8009A1D0 258CFFFE */ addiu $t4, $t4, -2 -.L8009A1D4: -/* 09ADD4 8009A1D4 000C5B40 */ sll $t3, $t4, 0xd -/* 09ADD8 8009A1D8 014B2821 */ addu $a1, $t2, $t3 -/* 09ADDC 8009A1DC 0C010034 */ jal mio0decode -/* 09ADE0 8009A1E0 24A54000 */ addiu $a1, $a1, 0x4000 -/* 09ADE4 8009A1E4 AE200000 */ sw $zero, ($s1) -/* 09ADE8 8009A1E8 16800007 */ bnez $s4, .L8009A208 -/* 09ADEC 8009A1EC 26310008 */ addiu $s1, $s1, 8 -/* 09ADF0 8009A1F0 02A02025 */ move $a0, $s5 -/* 09ADF4 8009A1F4 02C02825 */ move $a1, $s6 -/* 09ADF8 8009A1F8 0C0335D4 */ jal osRecvMesg -/* 09ADFC 8009A1FC 24060001 */ li $a2, 1 -/* 09AE00 8009A200 1000FF71 */ b .L80099FC8 -/* 09AE04 8009A204 8E220008 */ lw $v0, 8($s1) -.L8009A208: -/* 09AE08 8009A208 8FBF004C */ lw $ra, 0x4c($sp) -/* 09AE0C 8009A20C 8FB00028 */ lw $s0, 0x28($sp) -/* 09AE10 8009A210 8FB1002C */ lw $s1, 0x2c($sp) -/* 09AE14 8009A214 8FB20030 */ lw $s2, 0x30($sp) -/* 09AE18 8009A218 8FB30034 */ lw $s3, 0x34($sp) -/* 09AE1C 8009A21C 8FB40038 */ lw $s4, 0x38($sp) -/* 09AE20 8009A220 8FB5003C */ lw $s5, 0x3c($sp) -/* 09AE24 8009A224 8FB60040 */ lw $s6, 0x40($sp) -/* 09AE28 8009A228 8FB70044 */ lw $s7, 0x44($sp) -/* 09AE2C 8009A22C 8FBE0048 */ lw $fp, 0x48($sp) -/* 09AE30 8009A230 03E00008 */ jr $ra -/* 09AE34 8009A234 27BD0090 */ addiu $sp, $sp, 0x90 diff --git a/asm/non_matchings/menu_items/func_800A1FB0.s b/asm/non_matchings/menu_items/func_800A1FB0.s deleted file mode 100644 index d4f1fa44d..000000000 --- a/asm/non_matchings/menu_items/func_800A1FB0.s +++ /dev/null @@ -1,989 +0,0 @@ -.section .late_rodata - -glabel jpt_800F1B5C -.word L800A2054, L800A2054, L800A2054, L800A2054 -.word L800A2C7C, L800A2C7C, L800A2C7C, L800A2C7C -.word L800A2C7C, L800A2118, L800A2118, L800A21E4 -.word L800A2C7C, L800A2C7C, L800A2C7C, L800A2C7C -.word L800A2C7C, L800A2C7C, L800A2C7C, L800A23DC -.word L800A23DC, L800A223C, L800A223C, L800A223C -.word L800A223C, L800A2C7C, L800A2C7C, L800A2C7C -.word L800A2C7C, L800A23DC, L800A23DC, L800A22AC -.word L800A22AC, L800A22AC, L800A22AC, L800A26A8 -.word L800A26A8, L800A29D0, L800A29D0, L800A29D0 -.word L800A2C7C, L800A2C7C, L800A2C7C, L800A2C7C -.word L800A2314, L800A2314, L800A2C7C, L800A2C7C -.word L800A2C7C, L800A2384, L800A2384 - -glabel D_800F1C28 -.float 0.9 - -glabel D_800F1C2C -.float 0.9 - -glabel D_800F1C30 -.float 0.8 - -glabel D_800F1C34 -.float 0.9 - -glabel D_800F1C38 -.float 0.6 - -glabel D_800F1C3C -.float 0.8 - -glabel D_800F1C40 -.float 0.6 - -glabel D_800F1C44 -.float 0.6 - -glabel jpt_800F1C48 -.word L800A2CA0, L800A2CA0, L800A2CBC, L800A2CBC -.word L800A2CBC, L800A2CBC, L800A2CBC, L800A2CBC -.word L800A2CBC, L800A2CBC, L800A2CA0, L800A2CA0 -.word L800A2CBC, L800A2CBC, L800A2CBC, L800A2CBC -.word L800A2CA0, L800A2CA0 - -.section .text - -glabel func_800A1FB0 -/* 0A2BB0 800A1FB0 27BDFF18 */ addiu $sp, $sp, -0xe8 -/* 0A2BB4 800A1FB4 AFB00048 */ sw $s0, 0x48($sp) -/* 0A2BB8 800A1FB8 3C108015 */ lui $s0, %hi(gDisplayListHead) # $s0, 0x8015 -/* 0A2BBC 800A1FBC 26100298 */ addiu $s0, %lo(gDisplayListHead) # addiu $s0, $s0, 0x298 -/* 0A2BC0 800A1FC0 AFBF006C */ sw $ra, 0x6c($sp) -/* 0A2BC4 800A1FC4 AFA400E8 */ sw $a0, 0xe8($sp) -/* 0A2BC8 800A1FC8 240E00F0 */ li $t6, 240 -/* 0A2BCC 800A1FCC 240F0064 */ li $t7, 100 -/* 0A2BD0 800A1FD0 AFBE0068 */ sw $fp, 0x68($sp) -/* 0A2BD4 800A1FD4 AFB70064 */ sw $s7, 0x64($sp) -/* 0A2BD8 800A1FD8 AFB60060 */ sw $s6, 0x60($sp) -/* 0A2BDC 800A1FDC AFB5005C */ sw $s5, 0x5c($sp) -/* 0A2BE0 800A1FE0 AFB40058 */ sw $s4, 0x58($sp) -/* 0A2BE4 800A1FE4 AFB30054 */ sw $s3, 0x54($sp) -/* 0A2BE8 800A1FE8 AFB20050 */ sw $s2, 0x50($sp) -/* 0A2BEC 800A1FEC AFB1004C */ sw $s1, 0x4c($sp) -/* 0A2BF0 800A1FF0 F7B80040 */ sdc1 $f24, 0x40($sp) -/* 0A2BF4 800A1FF4 F7B60038 */ sdc1 $f22, 0x38($sp) -/* 0A2BF8 800A1FF8 F7B40030 */ sdc1 $f20, 0x30($sp) -/* 0A2BFC 800A1FFC AFAF0020 */ sw $t7, 0x20($sp) -/* 0A2C00 800A2000 AFAE0010 */ sw $t6, 0x10($sp) -/* 0A2C04 800A2004 8E040000 */ lw $a0, ($s0) -/* 0A2C08 800A2008 AFA00014 */ sw $zero, 0x14($sp) -/* 0A2C0C 800A200C AFA00018 */ sw $zero, 0x18($sp) -/* 0A2C10 800A2010 AFA0001C */ sw $zero, 0x1c($sp) -/* 0A2C14 800A2014 00002825 */ move $a1, $zero -/* 0A2C18 800A2018 00003025 */ move $a2, $zero -/* 0A2C1C 800A201C 0C02637E */ jal draw_box -/* 0A2C20 800A2020 24070140 */ li $a3, 320 -/* 0A2C24 800A2024 AE020000 */ sw $v0, ($s0) -/* 0A2C28 800A2028 3C038019 */ lui $v1, %hi(gSubMenuSelection) # $v1, 0x8019 -/* 0A2C2C 800A202C 8063EDEC */ lb $v1, %lo(gSubMenuSelection)($v1) -/* 0A2C30 800A2030 2478FFEB */ addiu $t8, $v1, -0x15 -/* 0A2C34 800A2034 2F010033 */ sltiu $at, $t8, 0x33 -/* 0A2C38 800A2038 10200310 */ beqz $at, .L800A2C7C -/* 0A2C3C 800A203C 0018C080 */ sll $t8, $t8, 2 -/* 0A2C40 800A2040 3C01800F */ lui $at, %hi(jpt_800F1B5C) -/* 0A2C44 800A2044 00380821 */ addu $at, $at, $t8 -/* 0A2C48 800A2048 8C381B5C */ lw $t8, %lo(jpt_800F1B5C)($at) -/* 0A2C4C 800A204C 03000008 */ jr $t8 -/* 0A2C50 800A2050 00000000 */ nop -glabel L800A2054 -/* 0A2C54 800A2054 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0A2C58 800A2058 4481B000 */ mtc1 $at, $f22 -/* 0A2C5C 800A205C 3C01800F */ lui $at, %hi(D_800F1C28) # $at, 0x800f -/* 0A2C60 800A2060 3C11800E */ lui $s1, %hi(gTextOptionMenu) # $s1, 0x800e -/* 0A2C64 800A2064 26317868 */ addiu $s1, %lo(gTextOptionMenu) # addiu $s1, $s1, 0x7868 -/* 0A2C68 800A2068 C4341C28 */ lwc1 $f20, %lo(D_800F1C28)($at) -/* 0A2C6C 800A206C 00009025 */ move $s2, $zero -/* 0A2C70 800A2070 2464FFEB */ addiu $a0, $v1, -0x15 -/* 0A2C74 800A2074 24100055 */ li $s0, 85 -/* 0A2C78 800A2078 24130004 */ li $s3, 4 -.L800A207C: -/* 0A2C7C 800A207C 02402825 */ move $a1, $s2 -/* 0A2C80 800A2080 0C024889 */ jal set_text_color_rainbow_if_selected -/* 0A2C84 800A2084 24060003 */ li $a2, 3 -/* 0A2C88 800A2088 24040032 */ li $a0, 50 -/* 0A2C8C 800A208C 02002825 */ move $a1, $s0 -/* 0A2C90 800A2090 8E260000 */ lw $a2, ($s1) -/* 0A2C94 800A2094 00003825 */ move $a3, $zero -/* 0A2C98 800A2098 E7B40010 */ swc1 $f20, 0x10($sp) -/* 0A2C9C 800A209C 0C024CC9 */ jal print_text_mode_1 -/* 0A2CA0 800A20A0 E7B60014 */ swc1 $f22, 0x14($sp) -/* 0A2CA4 800A20A4 3C048019 */ lui $a0, %hi(gSubMenuSelection) # $a0, 0x8019 -/* 0A2CA8 800A20A8 8084EDEC */ lb $a0, %lo(gSubMenuSelection)($a0) -/* 0A2CAC 800A20AC 26310004 */ addiu $s1, $s1, 4 -/* 0A2CB0 800A20B0 24190032 */ li $t9, 50 -/* 0A2CB4 800A20B4 2484FFEB */ addiu $a0, $a0, -0x15 -/* 0A2CB8 800A20B8 56440004 */ bnel $s2, $a0, .L800A20CC -/* 0A2CBC 800A20BC 26520001 */ addiu $s2, $s2, 1 -/* 0A2CC0 800A20C0 A7B900E0 */ sh $t9, 0xe0($sp) -/* 0A2CC4 800A20C4 A7B000E2 */ sh $s0, 0xe2($sp) -/* 0A2CC8 800A20C8 26520001 */ addiu $s2, $s2, 1 -.L800A20CC: -/* 0A2CCC 800A20CC 1653FFEB */ bne $s2, $s3, .L800A207C -/* 0A2CD0 800A20D0 26100023 */ addiu $s0, $s0, 0x23 -/* 0A2CD4 800A20D4 0C024C36 */ jal set_text_color -/* 0A2CD8 800A20D8 24040001 */ li $a0, 1 -/* 0A2CDC 800A20DC 3C088019 */ lui $t0, %hi(gSoundMode) # $t0, 0x8019 -/* 0A2CE0 800A20E0 9108EDF2 */ lbu $t0, %lo(gSoundMode)($t0) -/* 0A2CE4 800A20E4 3C06800E */ lui $a2, %hi(gSoundModeNames) -/* 0A2CE8 800A20E8 240400E6 */ li $a0, 230 -/* 0A2CEC 800A20EC 00084880 */ sll $t1, $t0, 2 -/* 0A2CF0 800A20F0 00C93021 */ addu $a2, $a2, $t1 -/* 0A2CF4 800A20F4 8CC67710 */ lw $a2, %lo(gSoundModeNames)($a2) -/* 0A2CF8 800A20F8 24050078 */ li $a1, 120 -/* 0A2CFC 800A20FC 00003825 */ move $a3, $zero -/* 0A2D00 800A2100 E7B60010 */ swc1 $f22, 0x10($sp) -/* 0A2D04 800A2104 0C024DBB */ jal print_text1_center_mode_1 -/* 0A2D08 800A2108 E7B60014 */ swc1 $f22, 0x14($sp) -/* 0A2D0C 800A210C 3C038019 */ lui $v1, %hi(gSubMenuSelection) # $v1, 0x8019 -/* 0A2D10 800A2110 100002DA */ b .L800A2C7C -/* 0A2D14 800A2114 8063EDEC */ lb $v1, %lo(gSubMenuSelection)($v1) -glabel L800A2118 -/* 0A2D18 800A2118 0C024C36 */ jal set_text_color -/* 0A2D1C 800A211C 24040003 */ li $a0, 3 -/* 0A2D20 800A2120 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0A2D24 800A2124 3C11800E */ lui $s1, %hi(D_800E7878) # $s1, 0x800e -/* 0A2D28 800A2128 3C12800E */ lui $s2, %hi(D_800E7884) # $s2, 0x800e -/* 0A2D2C 800A212C 4481B000 */ mtc1 $at, $f22 -/* 0A2D30 800A2130 26527884 */ addiu $s2, %lo(D_800E7884) # addiu $s2, $s2, 0x7884 -/* 0A2D34 800A2134 26317878 */ addiu $s1, %lo(D_800E7878) # addiu $s1, $s1, 0x7878 -/* 0A2D38 800A2138 24100055 */ li $s0, 85 -.L800A213C: -/* 0A2D3C 800A213C 24040028 */ li $a0, 40 -/* 0A2D40 800A2140 02002825 */ move $a1, $s0 -/* 0A2D44 800A2144 8E260000 */ lw $a2, ($s1) -/* 0A2D48 800A2148 00003825 */ move $a3, $zero -/* 0A2D4C 800A214C E7B60010 */ swc1 $f22, 0x10($sp) -/* 0A2D50 800A2150 0C024CC9 */ jal print_text_mode_1 -/* 0A2D54 800A2154 E7B60014 */ swc1 $f22, 0x14($sp) -/* 0A2D58 800A2158 26310004 */ addiu $s1, $s1, 4 -/* 0A2D5C 800A215C 0232082B */ sltu $at, $s1, $s2 -/* 0A2D60 800A2160 1420FFF6 */ bnez $at, .L800A213C -/* 0A2D64 800A2164 26100014 */ addiu $s0, $s0, 0x14 -/* 0A2D68 800A2168 3C048019 */ lui $a0, %hi(gSubMenuSelection) # $a0, 0x8019 -/* 0A2D6C 800A216C 8084EDEC */ lb $a0, %lo(gSubMenuSelection)($a0) -/* 0A2D70 800A2170 3C11800E */ lui $s1, %hi(D_800E7840) # $s1, 0x800e -/* 0A2D74 800A2174 26317840 */ addiu $s1, %lo(D_800E7840) # addiu $s1, $s1, 0x7840 -/* 0A2D78 800A2178 00009025 */ move $s2, $zero -/* 0A2D7C 800A217C 24100096 */ li $s0, 150 -/* 0A2D80 800A2180 2484FFE2 */ addiu $a0, $a0, -0x1e -.L800A2184: -/* 0A2D84 800A2184 02402825 */ move $a1, $s2 -/* 0A2D88 800A2188 0C024889 */ jal set_text_color_rainbow_if_selected -/* 0A2D8C 800A218C 24060001 */ li $a2, 1 -/* 0A2D90 800A2190 24040084 */ li $a0, 132 -/* 0A2D94 800A2194 02002825 */ move $a1, $s0 -/* 0A2D98 800A2198 8E260000 */ lw $a2, ($s1) -/* 0A2D9C 800A219C 00003825 */ move $a3, $zero -/* 0A2DA0 800A21A0 E7B60010 */ swc1 $f22, 0x10($sp) -/* 0A2DA4 800A21A4 0C024CC9 */ jal print_text_mode_1 -/* 0A2DA8 800A21A8 E7B60014 */ swc1 $f22, 0x14($sp) -/* 0A2DAC 800A21AC 3C038019 */ lui $v1, %hi(gSubMenuSelection) # $v1, 0x8019 -/* 0A2DB0 800A21B0 8063EDEC */ lb $v1, %lo(gSubMenuSelection)($v1) -/* 0A2DB4 800A21B4 26310004 */ addiu $s1, $s1, 4 -/* 0A2DB8 800A21B8 24010002 */ li $at, 2 -/* 0A2DBC 800A21BC 2464FFE2 */ addiu $a0, $v1, -0x1e -/* 0A2DC0 800A21C0 16440003 */ bne $s2, $a0, .L800A21D0 -/* 0A2DC4 800A21C4 240A0084 */ li $t2, 132 -/* 0A2DC8 800A21C8 A7AA00E0 */ sh $t2, 0xe0($sp) -/* 0A2DCC 800A21CC A7B000E2 */ sh $s0, 0xe2($sp) -.L800A21D0: -/* 0A2DD0 800A21D0 26520001 */ addiu $s2, $s2, 1 -/* 0A2DD4 800A21D4 1641FFEB */ bne $s2, $at, .L800A2184 -/* 0A2DD8 800A21D8 26100019 */ addiu $s0, $s0, 0x19 -/* 0A2DDC 800A21DC 100002A8 */ b .L800A2C80 -/* 0A2DE0 800A21E0 246FFFD8 */ addiu $t7, $v1, -0x28 -glabel L800A21E4 -/* 0A2DE4 800A21E4 0C024C36 */ jal set_text_color -/* 0A2DE8 800A21E8 24040003 */ li $a0, 3 -/* 0A2DEC 800A21EC 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0A2DF0 800A21F0 3C11800E */ lui $s1, %hi(D_800E7884) # $s1, 0x800e -/* 0A2DF4 800A21F4 3C12800E */ lui $s2, %hi(D_800E7890) # $s2, 0x800e -/* 0A2DF8 800A21F8 4481B000 */ mtc1 $at, $f22 -/* 0A2DFC 800A21FC 26527890 */ addiu $s2, %lo(D_800E7890) # addiu $s2, $s2, 0x7890 -/* 0A2E00 800A2200 26317884 */ addiu $s1, %lo(D_800E7884) # addiu $s1, $s1, 0x7884 -/* 0A2E04 800A2204 24100055 */ li $s0, 85 -.L800A2208: -/* 0A2E08 800A2208 24040032 */ li $a0, 50 -/* 0A2E0C 800A220C 02002825 */ move $a1, $s0 -/* 0A2E10 800A2210 8E260000 */ lw $a2, ($s1) -/* 0A2E14 800A2214 00003825 */ move $a3, $zero -/* 0A2E18 800A2218 E7B60010 */ swc1 $f22, 0x10($sp) -/* 0A2E1C 800A221C 0C024CC9 */ jal print_text_mode_1 -/* 0A2E20 800A2220 E7B60014 */ swc1 $f22, 0x14($sp) -/* 0A2E24 800A2224 26310004 */ addiu $s1, $s1, 4 -/* 0A2E28 800A2228 1632FFF7 */ bne $s1, $s2, .L800A2208 -/* 0A2E2C 800A222C 26100014 */ addiu $s0, $s0, 0x14 -/* 0A2E30 800A2230 3C038019 */ lui $v1, %hi(gSubMenuSelection) # $v1, 0x8019 -/* 0A2E34 800A2234 10000291 */ b .L800A2C7C -/* 0A2E38 800A2238 8063EDEC */ lb $v1, %lo(gSubMenuSelection)($v1) -glabel L800A223C -/* 0A2E3C 800A223C 0C024C36 */ jal set_text_color -/* 0A2E40 800A2240 24040002 */ li $a0, 2 -/* 0A2E44 800A2244 3C028019 */ lui $v0, %hi(gSubMenuSelection) # $v0, 0x8019 -/* 0A2E48 800A2248 8042EDEC */ lb $v0, %lo(gSubMenuSelection)($v0) -/* 0A2E4C 800A224C 3C0D800E */ lui $t5, %hi(D_800E78D0) # $t5, 0x800e -/* 0A2E50 800A2250 25AD78D0 */ addiu $t5, %lo(D_800E78D0) # addiu $t5, $t5, 0x78d0 -/* 0A2E54 800A2254 2442FFD6 */ addiu $v0, $v0, -0x2a -/* 0A2E58 800A2258 00025880 */ sll $t3, $v0, 2 -/* 0A2E5C 800A225C 01625823 */ subu $t3, $t3, $v0 -/* 0A2E60 800A2260 000B6080 */ sll $t4, $t3, 2 -/* 0A2E64 800A2264 3C01800F */ lui $at, %hi(D_800F1C2C) # $at, 0x800f -/* 0A2E68 800A2268 C4341C2C */ lwc1 $f20, %lo(D_800F1C2C)($at) -/* 0A2E6C 800A226C 018D8821 */ addu $s1, $t4, $t5 -/* 0A2E70 800A2270 24100055 */ li $s0, 85 -/* 0A2E74 800A2274 24120091 */ li $s2, 145 -.L800A2278: -/* 0A2E78 800A2278 24040032 */ li $a0, 50 -/* 0A2E7C 800A227C 02002825 */ move $a1, $s0 -/* 0A2E80 800A2280 8E260000 */ lw $a2, ($s1) -/* 0A2E84 800A2284 00003825 */ move $a3, $zero -/* 0A2E88 800A2288 E7B40010 */ swc1 $f20, 0x10($sp) -/* 0A2E8C 800A228C 0C024CC9 */ jal print_text_mode_1 -/* 0A2E90 800A2290 E7B40014 */ swc1 $f20, 0x14($sp) -/* 0A2E94 800A2294 26100014 */ addiu $s0, $s0, 0x14 -/* 0A2E98 800A2298 1612FFF7 */ bne $s0, $s2, .L800A2278 -/* 0A2E9C 800A229C 26310004 */ addiu $s1, $s1, 4 -/* 0A2EA0 800A22A0 3C038019 */ lui $v1, %hi(gSubMenuSelection) # $v1, 0x8019 -/* 0A2EA4 800A22A4 10000275 */ b .L800A2C7C -/* 0A2EA8 800A22A8 8063EDEC */ lb $v1, %lo(gSubMenuSelection)($v1) -glabel L800A22AC -/* 0A2EAC 800A22AC 0C024C36 */ jal set_text_color -/* 0A2EB0 800A22B0 24040002 */ li $a0, 2 -/* 0A2EB4 800A22B4 3C028019 */ lui $v0, %hi(gSubMenuSelection) # $v0, 0x8019 -/* 0A2EB8 800A22B8 8042EDEC */ lb $v0, %lo(gSubMenuSelection)($v0) -/* 0A2EBC 800A22BC 3C18800E */ lui $t8, %hi(D_800E7890) # $t8, 0x800e -/* 0A2EC0 800A22C0 27187890 */ addiu $t8, %lo(D_800E7890) # addiu $t8, $t8, 0x7890 -/* 0A2EC4 800A22C4 244EFFCC */ addiu $t6, $v0, -0x34 -/* 0A2EC8 800A22C8 000E7900 */ sll $t7, $t6, 4 -/* 0A2ECC 800A22CC 3C01800F */ lui $at, %hi(D_800F1C30) # $at, 0x800f -/* 0A2ED0 800A22D0 C4341C30 */ lwc1 $f20, %lo(D_800F1C30)($at) -/* 0A2ED4 800A22D4 01F88821 */ addu $s1, $t7, $t8 -/* 0A2ED8 800A22D8 24100055 */ li $s0, 85 -/* 0A2EDC 800A22DC 241200A5 */ li $s2, 165 -.L800A22E0: -/* 0A2EE0 800A22E0 24040023 */ li $a0, 35 -/* 0A2EE4 800A22E4 02002825 */ move $a1, $s0 -/* 0A2EE8 800A22E8 8E260000 */ lw $a2, ($s1) -/* 0A2EEC 800A22EC 00003825 */ move $a3, $zero -/* 0A2EF0 800A22F0 E7B40010 */ swc1 $f20, 0x10($sp) -/* 0A2EF4 800A22F4 0C024CC9 */ jal print_text_mode_1 -/* 0A2EF8 800A22F8 E7B40014 */ swc1 $f20, 0x14($sp) -/* 0A2EFC 800A22FC 26100014 */ addiu $s0, $s0, 0x14 -/* 0A2F00 800A2300 1612FFF7 */ bne $s0, $s2, .L800A22E0 -/* 0A2F04 800A2304 26310004 */ addiu $s1, $s1, 4 -/* 0A2F08 800A2308 3C038019 */ lui $v1, %hi(gSubMenuSelection) # $v1, 0x8019 -/* 0A2F0C 800A230C 1000025B */ b .L800A2C7C -/* 0A2F10 800A2310 8063EDEC */ lb $v1, %lo(gSubMenuSelection)($v1) -glabel L800A2314 -/* 0A2F14 800A2314 0C024C36 */ jal set_text_color -/* 0A2F18 800A2318 24040002 */ li $a0, 2 -/* 0A2F1C 800A231C 3C028019 */ lui $v0, %hi(gSubMenuSelection) # $v0, 0x8019 -/* 0A2F20 800A2320 8042EDEC */ lb $v0, %lo(gSubMenuSelection)($v0) -/* 0A2F24 800A2324 3C09800E */ lui $t1, %hi(D_800E7900) # $t1, 0x800e -/* 0A2F28 800A2328 25297900 */ addiu $t1, %lo(D_800E7900) # addiu $t1, $t1, 0x7900 -/* 0A2F2C 800A232C 2442FFBF */ addiu $v0, $v0, -0x41 -/* 0A2F30 800A2330 0002C880 */ sll $t9, $v0, 2 -/* 0A2F34 800A2334 0322C823 */ subu $t9, $t9, $v0 -/* 0A2F38 800A2338 00194080 */ sll $t0, $t9, 2 -/* 0A2F3C 800A233C 3C01800F */ lui $at, %hi(D_800F1C34) # $at, 0x800f -/* 0A2F40 800A2340 C4341C34 */ lwc1 $f20, %lo(D_800F1C34)($at) -/* 0A2F44 800A2344 01098821 */ addu $s1, $t0, $t1 -/* 0A2F48 800A2348 24100055 */ li $s0, 85 -/* 0A2F4C 800A234C 24120091 */ li $s2, 145 -.L800A2350: -/* 0A2F50 800A2350 24040041 */ li $a0, 65 -/* 0A2F54 800A2354 02002825 */ move $a1, $s0 -/* 0A2F58 800A2358 8E260000 */ lw $a2, ($s1) -/* 0A2F5C 800A235C 00003825 */ move $a3, $zero -/* 0A2F60 800A2360 E7B40010 */ swc1 $f20, 0x10($sp) -/* 0A2F64 800A2364 0C024CC9 */ jal print_text_mode_1 -/* 0A2F68 800A2368 E7B40014 */ swc1 $f20, 0x14($sp) -/* 0A2F6C 800A236C 26100014 */ addiu $s0, $s0, 0x14 -/* 0A2F70 800A2370 1612FFF7 */ bne $s0, $s2, .L800A2350 -/* 0A2F74 800A2374 26310004 */ addiu $s1, $s1, 4 -/* 0A2F78 800A2378 3C038019 */ lui $v1, %hi(gSubMenuSelection) # $v1, 0x8019 -/* 0A2F7C 800A237C 1000023F */ b .L800A2C7C -/* 0A2F80 800A2380 8063EDEC */ lb $v1, %lo(gSubMenuSelection)($v1) -glabel L800A2384 -/* 0A2F84 800A2384 0C024C36 */ jal set_text_color -/* 0A2F88 800A2388 24040003 */ li $a0, 3 -/* 0A2F8C 800A238C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0A2F90 800A2390 3C11800E */ lui $s1, %hi(D_800E7A48) # $s1, 0x800e -/* 0A2F94 800A2394 3C12800E */ lui $s2, %hi(D_800E7A54) # $s2, 0x800e -/* 0A2F98 800A2398 4481B000 */ mtc1 $at, $f22 -/* 0A2F9C 800A239C 26527A54 */ addiu $s2, %lo(D_800E7A54) # addiu $s2, $s2, 0x7a54 -/* 0A2FA0 800A23A0 26317A48 */ addiu $s1, %lo(D_800E7A48) # addiu $s1, $s1, 0x7a48 -/* 0A2FA4 800A23A4 24100055 */ li $s0, 85 -.L800A23A8: -/* 0A2FA8 800A23A8 24040050 */ li $a0, 80 -/* 0A2FAC 800A23AC 02002825 */ move $a1, $s0 -/* 0A2FB0 800A23B0 8E260000 */ lw $a2, ($s1) -/* 0A2FB4 800A23B4 00003825 */ move $a3, $zero -/* 0A2FB8 800A23B8 E7B60010 */ swc1 $f22, 0x10($sp) -/* 0A2FBC 800A23BC 0C024CC9 */ jal print_text_mode_1 -/* 0A2FC0 800A23C0 E7B60014 */ swc1 $f22, 0x14($sp) -/* 0A2FC4 800A23C4 26310004 */ addiu $s1, $s1, 4 -/* 0A2FC8 800A23C8 1632FFF7 */ bne $s1, $s2, .L800A23A8 -/* 0A2FCC 800A23CC 26100014 */ addiu $s0, $s0, 0x14 -/* 0A2FD0 800A23D0 3C038019 */ lui $v1, %hi(gSubMenuSelection) # $v1, 0x8019 -/* 0A2FD4 800A23D4 10000229 */ b .L800A2C7C -/* 0A2FD8 800A23D8 8063EDEC */ lb $v1, %lo(gSubMenuSelection)($v1) -glabel L800A23DC -/* 0A2FDC 800A23DC 24010028 */ li $at, 40 -/* 0A2FE0 800A23E0 1061000B */ beq $v1, $at, .L800A2410 -/* 0A2FE4 800A23E4 24150028 */ li $s5, 40 -/* 0A2FE8 800A23E8 24010029 */ li $at, 41 -/* 0A2FEC 800A23EC 10610008 */ beq $v1, $at, .L800A2410 -/* 0A2FF0 800A23F0 24010032 */ li $at, 50 -/* 0A2FF4 800A23F4 10610008 */ beq $v1, $at, .L800A2418 -/* 0A2FF8 800A23F8 24150032 */ li $s5, 50 -/* 0A2FFC 800A23FC 24010033 */ li $at, 51 -/* 0A3000 800A2400 10610005 */ beq $v1, $at, .L800A2418 -/* 0A3004 800A2404 8FB400C0 */ lw $s4, 0xc0($sp) -/* 0A3008 800A2408 10000004 */ b .L800A241C -/* 0A300C 800A240C 8FB500C4 */ lw $s5, 0xc4($sp) -.L800A2410: -/* 0A3010 800A2410 10000002 */ b .L800A241C -/* 0A3014 800A2414 0000A025 */ move $s4, $zero -.L800A2418: -/* 0A3018 800A2418 24140001 */ li $s4, 1 -.L800A241C: -/* 0A301C 800A241C 0C024C36 */ jal set_text_color -/* 0A3020 800A2420 26840001 */ addiu $a0, $s4, 1 -/* 0A3024 800A2424 3C01800F */ lui $at, %hi(D_800F1C38) # $at, 0x800f -/* 0A3028 800A2428 C4361C38 */ lwc1 $f22, %lo(D_800F1C38)($at) -/* 0A302C 800A242C 00145080 */ sll $t2, $s4, 2 -/* 0A3030 800A2430 3C06800E */ lui $a2, %hi(D_800E7920) -/* 0A3034 800A2434 00CA3021 */ addu $a2, $a2, $t2 -/* 0A3038 800A2438 8CC67920 */ lw $a2, %lo(D_800E7920)($a2) -/* 0A303C 800A243C 240400A0 */ li $a0, 160 -/* 0A3040 800A2440 24050055 */ li $a1, 85 -/* 0A3044 800A2444 00003825 */ move $a3, $zero -/* 0A3048 800A2448 E7B60010 */ swc1 $f22, 0x10($sp) -/* 0A304C 800A244C 0C024DBB */ jal print_text1_center_mode_1 -/* 0A3050 800A2450 E7B60014 */ swc1 $f22, 0x14($sp) -/* 0A3054 800A2454 00146900 */ sll $t5, $s4, 4 -/* 0A3058 800A2458 01B46821 */ addu $t5, $t5, $s4 -/* 0A305C 800A245C 3C013F40 */ li $at, 0x3F400000 # 0.750000 -/* 0A3060 800A2460 4481C000 */ mtc1 $at, $f24 -/* 0A3064 800A2464 000D68C0 */ sll $t5, $t5, 3 -/* 0A3068 800A2468 01B46821 */ addu $t5, $t5, $s4 -/* 0A306C 800A246C 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0A3070 800A2470 3C0C800E */ lui $t4, %hi(D_800E7918) # $t4, 0x800e -/* 0A3074 800A2474 258C7918 */ addiu $t4, %lo(D_800E7918) # addiu $t4, $t4, 0x7918 -/* 0A3078 800A2478 25AE002A */ addiu $t6, $t5, 0x2a -/* 0A307C 800A247C 240B005C */ li $t3, 92 -/* 0A3080 800A2480 3C17800E */ lui $s7, %hi(gGlobalTimer) # $s7, 0x800e -/* 0A3084 800A2484 4481A000 */ mtc1 $at, $f20 -/* 0A3088 800A2488 26F7C54C */ addiu $s7, %lo(gGlobalTimer) # addiu $s7, $s7, -0x3ab4 -/* 0A308C 800A248C AFAB0088 */ sw $t3, 0x88($sp) -/* 0A3090 800A2490 AFAE0078 */ sw $t6, 0x78($sp) -/* 0A3094 800A2494 AFAC0084 */ sw $t4, 0x84($sp) -/* 0A3098 800A2498 24160020 */ li $s6, 32 -/* 0A309C 800A249C 2413002A */ li $s3, 42 -/* 0A30A0 800A24A0 241E0003 */ li $fp, 3 -.L800A24A4: -/* 0A30A4 800A24A4 0C024C36 */ jal set_text_color -/* 0A30A8 800A24A8 03C02025 */ move $a0, $fp -/* 0A30AC 800A24AC 8FAF0084 */ lw $t7, 0x84($sp) -/* 0A30B0 800A24B0 8FA40088 */ lw $a0, 0x88($sp) -/* 0A30B4 800A24B4 2405007D */ li $a1, 125 -/* 0A30B8 800A24B8 8DE60000 */ lw $a2, ($t7) -/* 0A30BC 800A24BC E7B80014 */ swc1 $f24, 0x14($sp) -/* 0A30C0 800A24C0 E7B80010 */ swc1 $f24, 0x10($sp) -/* 0A30C4 800A24C4 0C024DBB */ jal print_text1_center_mode_1 -/* 0A30C8 800A24C8 00003825 */ move $a3, $zero -/* 0A30CC 800A24CC 00008025 */ move $s0, $zero -/* 0A30D0 800A24D0 24120096 */ li $s2, 150 -.L800A24D4: -/* 0A30D4 800A24D4 8FB80078 */ lw $t8, 0x78($sp) -/* 0A30D8 800A24D8 1278000F */ beq $s3, $t8, .L800A2518 -/* 0A30DC 800A24DC 00000000 */ nop -/* 0A30E0 800A24E0 3C198019 */ lui $t9, %hi(gSubMenuSelection) # $t9, 0x8019 -/* 0A30E4 800A24E4 8339EDEC */ lb $t9, %lo(gSubMenuSelection)($t9) -/* 0A30E8 800A24E8 02002825 */ move $a1, $s0 -/* 0A30EC 800A24EC 24060001 */ li $a2, 1 -/* 0A30F0 800A24F0 0C024870 */ jal text_rainbow_effect -/* 0A30F4 800A24F4 03352023 */ subu $a0, $t9, $s5 -/* 0A30F8 800A24F8 3C088019 */ lui $t0, %hi(gSubMenuSelection) # $t0, 0x8019 -/* 0A30FC 800A24FC 8108EDEC */ lb $t0, %lo(gSubMenuSelection)($t0) -/* 0A3100 800A2500 01154823 */ subu $t1, $t0, $s5 -/* 0A3104 800A2504 5609001C */ bnel $s0, $t1, .L800A2578 -/* 0A3108 800A2508 26110001 */ addiu $s1, $s0, 1 -/* 0A310C 800A250C A7B600E0 */ sh $s6, 0xe0($sp) -/* 0A3110 800A2510 10000018 */ b .L800A2574 -/* 0A3114 800A2514 A7B200E2 */ sh $s2, 0xe2($sp) -.L800A2518: -/* 0A3118 800A2518 12800014 */ beqz $s4, .L800A256C -/* 0A311C 800A251C 8FAA00E8 */ lw $t2, 0xe8($sp) -/* 0A3120 800A2520 8D4B0020 */ lw $t3, 0x20($t2) -/* 0A3124 800A2524 160B0011 */ bne $s0, $t3, .L800A256C -/* 0A3128 800A2528 00000000 */ nop -/* 0A312C 800A252C 8EEC0000 */ lw $t4, ($s7) -/* 0A3130 800A2530 019E001A */ div $zero, $t4, $fp -/* 0A3134 800A2534 00002010 */ mfhi $a0 -/* 0A3138 800A2538 17C00002 */ bnez $fp, .L800A2544 -/* 0A313C 800A253C 00000000 */ nop -/* 0A3140 800A2540 0007000D */ break 7 -.L800A2544: -/* 0A3144 800A2544 2401FFFF */ li $at, -1 -/* 0A3148 800A2548 17C10004 */ bne $fp, $at, .L800A255C -/* 0A314C 800A254C 3C018000 */ lui $at, 0x8000 -/* 0A3150 800A2550 15810002 */ bne $t4, $at, .L800A255C -/* 0A3154 800A2554 00000000 */ nop -/* 0A3158 800A2558 0006000D */ break 6 -.L800A255C: -/* 0A315C 800A255C 0C024C36 */ jal set_text_color -/* 0A3160 800A2560 00000000 */ nop -/* 0A3164 800A2564 10000004 */ b .L800A2578 -/* 0A3168 800A2568 26110001 */ addiu $s1, $s0, 1 -.L800A256C: -/* 0A316C 800A256C 0C024C36 */ jal set_text_color -/* 0A3170 800A2570 24040001 */ li $a0, 1 -.L800A2574: -/* 0A3174 800A2574 26110001 */ addiu $s1, $s0, 1 -.L800A2578: -/* 0A3178 800A2578 02202025 */ move $a0, $s1 -/* 0A317C 800A257C 0C029E25 */ jal convert_number_to_ascii -/* 0A3180 800A2580 27A500B8 */ addiu $a1, $sp, 0xb8 -/* 0A3184 800A2584 02C02025 */ move $a0, $s6 -/* 0A3188 800A2588 02402825 */ move $a1, $s2 -/* 0A318C 800A258C 27A600B9 */ addiu $a2, $sp, 0xb9 -/* 0A3190 800A2590 00003825 */ move $a3, $zero -/* 0A3194 800A2594 E7B60010 */ swc1 $f22, 0x10($sp) -/* 0A3198 800A2598 0C024CC9 */ jal print_text_mode_1 -/* 0A319C 800A259C E7B60014 */ swc1 $f22, 0x14($sp) -/* 0A31A0 800A25A0 2401002A */ li $at, 42 -/* 0A31A4 800A25A4 16610006 */ bne $s3, $at, .L800A25C0 -/* 0A31A8 800A25A8 3C0F8019 */ lui $t7, %hi(gSomeDLBuffer) # $t7, 0x8019 -/* 0A31AC 800A25AC 3C0E8019 */ lui $t6, %hi(D_8018EE10) # $t6, 0x8019 -/* 0A31B0 800A25B0 25CEEE10 */ addiu $t6, %lo(D_8018EE10) # addiu $t6, $t6, -0x11f0 -/* 0A31B4 800A25B4 001069C0 */ sll $t5, $s0, 7 -/* 0A31B8 800A25B8 10000004 */ b .L800A25CC -/* 0A31BC 800A25BC 01AE1821 */ addu $v1, $t5, $t6 -.L800A25C0: -/* 0A31C0 800A25C0 8DEFD9C0 */ lw $t7, %lo(gSomeDLBuffer)($t7) -/* 0A31C4 800A25C4 0010C1C0 */ sll $t8, $s0, 7 -/* 0A31C8 800A25C8 01F81821 */ addu $v1, $t7, $t8 -.L800A25CC: -/* 0A31CC 800A25CC 90790004 */ lbu $t9, 4($v1) -/* 0A31D0 800A25D0 02602025 */ move $a0, $s3 -/* 0A31D4 800A25D4 02402825 */ move $a1, $s2 -/* 0A31D8 800A25D8 1720000B */ bnez $t9, .L800A2608 -/* 0A31DC 800A25DC 3C0D800F */ lui $t5, %hi(gCupCourseOrder) -/* 0A31E0 800A25E0 3C06800E */ lui $a2, %hi(D_800E7A44) # $a2, 0x800e -/* 0A31E4 800A25E4 8CC67A44 */ lw $a2, %lo(D_800E7A44)($a2) -/* 0A31E8 800A25E8 02602025 */ move $a0, $s3 -/* 0A31EC 800A25EC 02402825 */ move $a1, $s2 -/* 0A31F0 800A25F0 00003825 */ move $a3, $zero -/* 0A31F4 800A25F4 E7B40010 */ swc1 $f20, 0x10($sp) -/* 0A31F8 800A25F8 0C024CC9 */ jal print_text_mode_1 -/* 0A31FC 800A25FC E7B40014 */ swc1 $f20, 0x14($sp) -/* 0A3200 800A2600 10000019 */ b .L800A2668 -/* 0A3204 800A2604 24010002 */ li $at, 2 -.L800A2608: -/* 0A3208 800A2608 80620005 */ lb $v0, 5($v1) -/* 0A320C 800A260C 3C06800E */ lui $a2, %hi(gCourseNamesDup2) -/* 0A3210 800A2610 E7B40014 */ swc1 $f20, 0x14($sp) -/* 0A3214 800A2614 04410003 */ bgez $v0, .L800A2624 -/* 0A3218 800A2618 00024083 */ sra $t0, $v0, 2 -/* 0A321C 800A261C 24410003 */ addiu $at, $v0, 3 -/* 0A3220 800A2620 00014083 */ sra $t0, $at, 2 -.L800A2624: -/* 0A3224 800A2624 000848C0 */ sll $t1, $t0, 3 -/* 0A3228 800A2628 04410004 */ bgez $v0, .L800A263C -/* 0A322C 800A262C 304A0003 */ andi $t2, $v0, 3 -/* 0A3230 800A2630 11400002 */ beqz $t2, .L800A263C -/* 0A3234 800A2634 00000000 */ nop -/* 0A3238 800A2638 254AFFFC */ addiu $t2, $t2, -4 -.L800A263C: -/* 0A323C 800A263C 000A5840 */ sll $t3, $t2, 1 -/* 0A3240 800A2640 012B6021 */ addu $t4, $t1, $t3 -/* 0A3244 800A2644 01AC6821 */ addu $t5, $t5, $t4 -/* 0A3248 800A2648 85AD2BB4 */ lh $t5, %lo(gCupCourseOrder)($t5) -/* 0A324C 800A264C E7B40010 */ swc1 $f20, 0x10($sp) -/* 0A3250 800A2650 00003825 */ move $a3, $zero -/* 0A3254 800A2654 000D7080 */ sll $t6, $t5, 2 -/* 0A3258 800A2658 00CE3021 */ addu $a2, $a2, $t6 -/* 0A325C 800A265C 0C024CC9 */ jal print_text_mode_1 -/* 0A3260 800A2660 8CC675C4 */ lw $a2, %lo(gCourseNamesDup2)($a2) -/* 0A3264 800A2664 24010002 */ li $at, 2 -.L800A2668: -/* 0A3268 800A2668 02208025 */ move $s0, $s1 -/* 0A326C 800A266C 1621FF99 */ bne $s1, $at, .L800A24D4 -/* 0A3270 800A2670 2652001E */ addiu $s2, $s2, 0x1e -/* 0A3274 800A2674 8FAF0088 */ lw $t7, 0x88($sp) -/* 0A3278 800A2678 8FB90084 */ lw $t9, 0x84($sp) -/* 0A327C 800A267C 26730089 */ addiu $s3, $s3, 0x89 -/* 0A3280 800A2680 2401013C */ li $at, 316 -/* 0A3284 800A2684 25F80082 */ addiu $t8, $t7, 0x82 -/* 0A3288 800A2688 27280004 */ addiu $t0, $t9, 4 -/* 0A328C 800A268C AFA80084 */ sw $t0, 0x84($sp) -/* 0A3290 800A2690 AFB80088 */ sw $t8, 0x88($sp) -/* 0A3294 800A2694 1661FF83 */ bne $s3, $at, .L800A24A4 -/* 0A3298 800A2698 26D60089 */ addiu $s6, $s6, 0x89 -/* 0A329C 800A269C 3C038019 */ lui $v1, %hi(gSubMenuSelection) # $v1, 0x8019 -/* 0A32A0 800A26A0 10000176 */ b .L800A2C7C -/* 0A32A4 800A26A4 8063EDEC */ lb $v1, %lo(gSubMenuSelection)($v1) -glabel L800A26A8 -/* 0A32A8 800A26A8 0C024C36 */ jal set_text_color -/* 0A32AC 800A26AC 24040002 */ li $a0, 2 -/* 0A32B0 800A26B0 3C10800E */ lui $s0, %hi(D_800E7928) # $s0, 0x800e -/* 0A32B4 800A26B4 3C01800F */ lui $at, %hi(D_800F1C3C) # $at, 0x800f -/* 0A32B8 800A26B8 3C12800E */ lui $s2, %hi(D_800E7930) # $s2, 0x800e -/* 0A32BC 800A26BC 26527930 */ addiu $s2, %lo(D_800E7930) # addiu $s2, $s2, 0x7930 -/* 0A32C0 800A26C0 C4341C3C */ lwc1 $f20, %lo(D_800F1C3C)($at) -/* 0A32C4 800A26C4 26107928 */ addiu $s0, %lo(D_800E7928) # addiu $s0, $s0, 0x7928 -/* 0A32C8 800A26C8 2411004D */ li $s1, 77 -.L800A26CC: -/* 0A32CC 800A26CC 240400A0 */ li $a0, 160 -/* 0A32D0 800A26D0 02202825 */ move $a1, $s1 -/* 0A32D4 800A26D4 8E060000 */ lw $a2, ($s0) -/* 0A32D8 800A26D8 00003825 */ move $a3, $zero -/* 0A32DC 800A26DC E7B40010 */ swc1 $f20, 0x10($sp) -/* 0A32E0 800A26E0 0C024DBB */ jal print_text1_center_mode_1 -/* 0A32E4 800A26E4 E7B40014 */ swc1 $f20, 0x14($sp) -/* 0A32E8 800A26E8 26100004 */ addiu $s0, $s0, 4 -/* 0A32EC 800A26EC 0212082B */ sltu $at, $s0, $s2 -/* 0A32F0 800A26F0 1420FFF6 */ bnez $at, .L800A26CC -/* 0A32F4 800A26F4 26310014 */ addiu $s1, $s1, 0x14 -/* 0A32F8 800A26F8 3C013F40 */ li $at, 0x3F400000 # 0.750000 -/* 0A32FC 800A26FC 4481C000 */ mtc1 $at, $f24 -/* 0A3300 800A2700 3C01800F */ lui $at, %hi(D_800F1C40) # $at, 0x800f -/* 0A3304 800A2704 C4361C40 */ lwc1 $f22, %lo(D_800F1C40)($at) -/* 0A3308 800A2708 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0A330C 800A270C 3C09800E */ lui $t1, %hi(D_800E7918) # $t1, 0x800e -/* 0A3310 800A2710 25297918 */ addiu $t1, %lo(D_800E7918) # addiu $t1, $t1, 0x7918 -/* 0A3314 800A2714 240A005C */ li $t2, 92 -/* 0A3318 800A2718 3C17800E */ lui $s7, %hi(gGlobalTimer) # $s7, 0x800e -/* 0A331C 800A271C 4481A000 */ mtc1 $at, $f20 -/* 0A3320 800A2720 26F7C54C */ addiu $s7, %lo(gGlobalTimer) # addiu $s7, $s7, -0x3ab4 -/* 0A3324 800A2724 AFAA0088 */ sw $t2, 0x88($sp) -/* 0A3328 800A2728 AFA90084 */ sw $t1, 0x84($sp) -/* 0A332C 800A272C 24160020 */ li $s6, 32 -/* 0A3330 800A2730 2413002A */ li $s3, 42 -/* 0A3334 800A2734 241E0003 */ li $fp, 3 -/* 0A3338 800A2738 27B500A8 */ addiu $s5, $sp, 0xa8 -/* 0A333C 800A273C 2414002A */ li $s4, 42 -.L800A2740: -/* 0A3340 800A2740 0C024C36 */ jal set_text_color -/* 0A3344 800A2744 03C02025 */ move $a0, $fp -/* 0A3348 800A2748 8FAB0084 */ lw $t3, 0x84($sp) -/* 0A334C 800A274C 8FA40088 */ lw $a0, 0x88($sp) -/* 0A3350 800A2750 2405007D */ li $a1, 125 -/* 0A3354 800A2754 8D660000 */ lw $a2, ($t3) -/* 0A3358 800A2758 E7B80014 */ swc1 $f24, 0x14($sp) -/* 0A335C 800A275C E7B80010 */ swc1 $f24, 0x10($sp) -/* 0A3360 800A2760 0C024DBB */ jal print_text1_center_mode_1 -/* 0A3364 800A2764 00003825 */ move $a3, $zero -/* 0A3368 800A2768 00008025 */ move $s0, $zero -/* 0A336C 800A276C 24120096 */ li $s2, 150 -.L800A2770: -/* 0A3370 800A2770 5674001A */ bnel $s3, $s4, .L800A27DC -/* 0A3374 800A2774 8FAF00E8 */ lw $t7, 0xe8($sp) -/* 0A3378 800A2778 8FAC00E8 */ lw $t4, 0xe8($sp) -/* 0A337C 800A277C 8D8D001C */ lw $t5, 0x1c($t4) -/* 0A3380 800A2780 160D0011 */ bne $s0, $t5, .L800A27C8 -/* 0A3384 800A2784 00000000 */ nop -/* 0A3388 800A2788 8EEE0000 */ lw $t6, ($s7) -/* 0A338C 800A278C 01DE001A */ div $zero, $t6, $fp -/* 0A3390 800A2790 00002010 */ mfhi $a0 -/* 0A3394 800A2794 17C00002 */ bnez $fp, .L800A27A0 -/* 0A3398 800A2798 00000000 */ nop -/* 0A339C 800A279C 0007000D */ break 7 -.L800A27A0: -/* 0A33A0 800A27A0 2401FFFF */ li $at, -1 -/* 0A33A4 800A27A4 17C10004 */ bne $fp, $at, .L800A27B8 -/* 0A33A8 800A27A8 3C018000 */ lui $at, 0x8000 -/* 0A33AC 800A27AC 15C10002 */ bne $t6, $at, .L800A27B8 -/* 0A33B0 800A27B0 00000000 */ nop -/* 0A33B4 800A27B4 0006000D */ break 6 -.L800A27B8: -/* 0A33B8 800A27B8 0C024C36 */ jal set_text_color -/* 0A33BC 800A27BC 00000000 */ nop -/* 0A33C0 800A27C0 1000001C */ b .L800A2834 -/* 0A33C4 800A27C4 26110001 */ addiu $s1, $s0, 1 -.L800A27C8: -/* 0A33C8 800A27C8 0C024C36 */ jal set_text_color -/* 0A33CC 800A27CC 24040001 */ li $a0, 1 -/* 0A33D0 800A27D0 10000018 */ b .L800A2834 -/* 0A33D4 800A27D4 26110001 */ addiu $s1, $s0, 1 -/* 0A33D8 800A27D8 8FAF00E8 */ lw $t7, 0xe8($sp) -.L800A27DC: -/* 0A33DC 800A27DC 8DF80020 */ lw $t8, 0x20($t7) -/* 0A33E0 800A27E0 16180011 */ bne $s0, $t8, .L800A2828 -/* 0A33E4 800A27E4 00000000 */ nop -/* 0A33E8 800A27E8 8EF90000 */ lw $t9, ($s7) -/* 0A33EC 800A27EC 033E001A */ div $zero, $t9, $fp -/* 0A33F0 800A27F0 00002010 */ mfhi $a0 -/* 0A33F4 800A27F4 17C00002 */ bnez $fp, .L800A2800 -/* 0A33F8 800A27F8 00000000 */ nop -/* 0A33FC 800A27FC 0007000D */ break 7 -.L800A2800: -/* 0A3400 800A2800 2401FFFF */ li $at, -1 -/* 0A3404 800A2804 17C10004 */ bne $fp, $at, .L800A2818 -/* 0A3408 800A2808 3C018000 */ lui $at, 0x8000 -/* 0A340C 800A280C 17210002 */ bne $t9, $at, .L800A2818 -/* 0A3410 800A2810 00000000 */ nop -/* 0A3414 800A2814 0006000D */ break 6 -.L800A2818: -/* 0A3418 800A2818 0C024C36 */ jal set_text_color -/* 0A341C 800A281C 00000000 */ nop -/* 0A3420 800A2820 10000004 */ b .L800A2834 -/* 0A3424 800A2824 26110001 */ addiu $s1, $s0, 1 -.L800A2828: -/* 0A3428 800A2828 0C024C36 */ jal set_text_color -/* 0A342C 800A282C 24040001 */ li $a0, 1 -/* 0A3430 800A2830 26110001 */ addiu $s1, $s0, 1 -.L800A2834: -/* 0A3434 800A2834 02202025 */ move $a0, $s1 -/* 0A3438 800A2838 0C029E25 */ jal convert_number_to_ascii -/* 0A343C 800A283C 02A02825 */ move $a1, $s5 -/* 0A3440 800A2840 02C02025 */ move $a0, $s6 -/* 0A3444 800A2844 02402825 */ move $a1, $s2 -/* 0A3448 800A2848 27A600A9 */ addiu $a2, $sp, 0xa9 -/* 0A344C 800A284C 00003825 */ move $a3, $zero -/* 0A3450 800A2850 E7B60010 */ swc1 $f22, 0x10($sp) -/* 0A3454 800A2854 0C024CC9 */ jal print_text_mode_1 -/* 0A3458 800A2858 E7B60014 */ swc1 $f22, 0x14($sp) -/* 0A345C 800A285C 2401002A */ li $at, 42 -/* 0A3460 800A2860 16610006 */ bne $s3, $at, .L800A287C -/* 0A3464 800A2864 3C098019 */ lui $t1, %hi(gSomeDLBuffer) # $t1, 0x8019 -/* 0A3468 800A2868 3C0A8019 */ lui $t2, %hi(D_8018EE10) # $t2, 0x8019 -/* 0A346C 800A286C 254AEE10 */ addiu $t2, %lo(D_8018EE10) # addiu $t2, $t2, -0x11f0 -/* 0A3470 800A2870 001041C0 */ sll $t0, $s0, 7 -/* 0A3474 800A2874 10000004 */ b .L800A2888 -/* 0A3478 800A2878 010A1821 */ addu $v1, $t0, $t2 -.L800A287C: -/* 0A347C 800A287C 8D29D9C0 */ lw $t1, %lo(gSomeDLBuffer)($t1) -/* 0A3480 800A2880 001059C0 */ sll $t3, $s0, 7 -/* 0A3484 800A2884 012B1821 */ addu $v1, $t1, $t3 -.L800A2888: -/* 0A3488 800A2888 906C0004 */ lbu $t4, 4($v1) -/* 0A348C 800A288C 02602025 */ move $a0, $s3 -/* 0A3490 800A2890 02402825 */ move $a1, $s2 -/* 0A3494 800A2894 1580000B */ bnez $t4, .L800A28C4 -/* 0A3498 800A2898 3C08800F */ lui $t0, %hi(gCupCourseOrder) -/* 0A349C 800A289C 3C06800E */ lui $a2, %hi(D_800E7A44) # $a2, 0x800e -/* 0A34A0 800A28A0 8CC67A44 */ lw $a2, %lo(D_800E7A44)($a2) -/* 0A34A4 800A28A4 02602025 */ move $a0, $s3 -/* 0A34A8 800A28A8 02402825 */ move $a1, $s2 -/* 0A34AC 800A28AC 00003825 */ move $a3, $zero -/* 0A34B0 800A28B0 E7B40010 */ swc1 $f20, 0x10($sp) -/* 0A34B4 800A28B4 0C024CC9 */ jal print_text_mode_1 -/* 0A34B8 800A28B8 E7B40014 */ swc1 $f20, 0x14($sp) -/* 0A34BC 800A28BC 10000019 */ b .L800A2924 -/* 0A34C0 800A28C0 24010002 */ li $at, 2 -.L800A28C4: -/* 0A34C4 800A28C4 80620005 */ lb $v0, 5($v1) -/* 0A34C8 800A28C8 3C06800E */ lui $a2, %hi(gCourseNamesDup2) -/* 0A34CC 800A28CC E7B40014 */ swc1 $f20, 0x14($sp) -/* 0A34D0 800A28D0 04410003 */ bgez $v0, .L800A28E0 -/* 0A34D4 800A28D4 00026883 */ sra $t5, $v0, 2 -/* 0A34D8 800A28D8 24410003 */ addiu $at, $v0, 3 -/* 0A34DC 800A28DC 00016883 */ sra $t5, $at, 2 -.L800A28E0: -/* 0A34E0 800A28E0 000D70C0 */ sll $t6, $t5, 3 -/* 0A34E4 800A28E4 04410004 */ bgez $v0, .L800A28F8 -/* 0A34E8 800A28E8 304F0003 */ andi $t7, $v0, 3 -/* 0A34EC 800A28EC 11E00002 */ beqz $t7, .L800A28F8 -/* 0A34F0 800A28F0 00000000 */ nop -/* 0A34F4 800A28F4 25EFFFFC */ addiu $t7, $t7, -4 -.L800A28F8: -/* 0A34F8 800A28F8 000FC040 */ sll $t8, $t7, 1 -/* 0A34FC 800A28FC 01D8C821 */ addu $t9, $t6, $t8 -/* 0A3500 800A2900 01194021 */ addu $t0, $t0, $t9 -/* 0A3504 800A2904 85082BB4 */ lh $t0, %lo(gCupCourseOrder)($t0) -/* 0A3508 800A2908 E7B40010 */ swc1 $f20, 0x10($sp) -/* 0A350C 800A290C 00003825 */ move $a3, $zero -/* 0A3510 800A2910 00085080 */ sll $t2, $t0, 2 -/* 0A3514 800A2914 00CA3021 */ addu $a2, $a2, $t2 -/* 0A3518 800A2918 0C024CC9 */ jal print_text_mode_1 -/* 0A351C 800A291C 8CC675C4 */ lw $a2, %lo(gCourseNamesDup2)($a2) -/* 0A3520 800A2920 24010002 */ li $at, 2 -.L800A2924: -/* 0A3524 800A2924 02208025 */ move $s0, $s1 -/* 0A3528 800A2928 1621FF91 */ bne $s1, $at, .L800A2770 -/* 0A352C 800A292C 2652001E */ addiu $s2, $s2, 0x1e -/* 0A3530 800A2930 8FA90088 */ lw $t1, 0x88($sp) -/* 0A3534 800A2934 8FAC0084 */ lw $t4, 0x84($sp) -/* 0A3538 800A2938 26730089 */ addiu $s3, $s3, 0x89 -/* 0A353C 800A293C 2A61013C */ slti $at, $s3, 0x13c -/* 0A3540 800A2940 252B0082 */ addiu $t3, $t1, 0x82 -/* 0A3544 800A2944 258D0004 */ addiu $t5, $t4, 4 -/* 0A3548 800A2948 AFAD0084 */ sw $t5, 0x84($sp) -/* 0A354C 800A294C AFAB0088 */ sw $t3, 0x88($sp) -/* 0A3550 800A2950 1420FF7B */ bnez $at, .L800A2740 -/* 0A3554 800A2954 26D60089 */ addiu $s6, $s6, 0x89 -/* 0A3558 800A2958 3C13800E */ lui $s3, %hi(D_800E7930) # $s3, 0x800e -/* 0A355C 800A295C 26737930 */ addiu $s3, %lo(D_800E7930) # addiu $s3, $s3, 0x7930 -/* 0A3560 800A2960 00009025 */ move $s2, $zero -/* 0A3564 800A2964 2411006E */ li $s1, 110 -.L800A2968: -/* 0A3568 800A2968 3C048019 */ lui $a0, %hi(gSubMenuSelection) # $a0, 0x8019 -/* 0A356C 800A296C 8084EDEC */ lb $a0, %lo(gSubMenuSelection)($a0) -/* 0A3570 800A2970 240F00D2 */ li $t7, 210 -/* 0A3574 800A2974 02002825 */ move $a1, $s0 -/* 0A3578 800A2978 2484FFC8 */ addiu $a0, $a0, -0x38 -/* 0A357C 800A297C 16440003 */ bne $s2, $a0, .L800A298C -/* 0A3580 800A2980 00000000 */ nop -/* 0A3584 800A2984 A7B100E0 */ sh $s1, 0xe0($sp) -/* 0A3588 800A2988 A7AF00E2 */ sh $t7, 0xe2($sp) -.L800A298C: -/* 0A358C 800A298C 0C024870 */ jal text_rainbow_effect -/* 0A3590 800A2990 24060003 */ li $a2, 3 -/* 0A3594 800A2994 02202025 */ move $a0, $s1 -/* 0A3598 800A2998 240500D2 */ li $a1, 210 -/* 0A359C 800A299C 8E660000 */ lw $a2, ($s3) -/* 0A35A0 800A29A0 00003825 */ move $a3, $zero -/* 0A35A4 800A29A4 E7B80010 */ swc1 $f24, 0x10($sp) -/* 0A35A8 800A29A8 0C024CC9 */ jal print_text_mode_1 -/* 0A35AC 800A29AC E7B80014 */ swc1 $f24, 0x14($sp) -/* 0A35B0 800A29B0 26520001 */ addiu $s2, $s2, 1 -/* 0A35B4 800A29B4 24010002 */ li $at, 2 -/* 0A35B8 800A29B8 26310032 */ addiu $s1, $s1, 0x32 -/* 0A35BC 800A29BC 1641FFEA */ bne $s2, $at, .L800A2968 -/* 0A35C0 800A29C0 26730004 */ addiu $s3, $s3, 4 -/* 0A35C4 800A29C4 3C038019 */ lui $v1, %hi(gSubMenuSelection) # $v1, 0x8019 -/* 0A35C8 800A29C8 100000AC */ b .L800A2C7C -/* 0A35CC 800A29CC 8063EDEC */ lb $v1, %lo(gSubMenuSelection)($v1) -glabel L800A29D0 -/* 0A35D0 800A29D0 2475FFC6 */ addiu $s5, $v1, -0x3a -/* 0A35D4 800A29D4 06A10003 */ bgez $s5, .L800A29E4 -/* 0A35D8 800A29D8 00157043 */ sra $t6, $s5, 1 -/* 0A35DC 800A29DC 26A10001 */ addiu $at, $s5, 1 -/* 0A35E0 800A29E0 00017043 */ sra $t6, $at, 1 -.L800A29E4: -/* 0A35E4 800A29E4 01C0A825 */ move $s5, $t6 -/* 0A35E8 800A29E8 0C024C36 */ jal set_text_color -/* 0A35EC 800A29EC 24040002 */ li $a0, 2 -/* 0A35F0 800A29F0 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0A35F4 800A29F4 4481B000 */ mtc1 $at, $f22 -/* 0A35F8 800A29F8 3C19800E */ lui $t9, %hi(D_800E7938) # $t9, 0x800e -/* 0A35FC 800A29FC 27397938 */ addiu $t9, %lo(D_800E7938) # addiu $t9, $t9, 0x7938 -/* 0A3600 800A2A00 0015C080 */ sll $t8, $s5, 2 -/* 0A3604 800A2A04 03191021 */ addu $v0, $t8, $t9 -/* 0A3608 800A2A08 8C460000 */ lw $a2, ($v0) -/* 0A360C 800A2A0C AFA20078 */ sw $v0, 0x78($sp) -/* 0A3610 800A2A10 240400A0 */ li $a0, 160 -/* 0A3614 800A2A14 24050055 */ li $a1, 85 -/* 0A3618 800A2A18 00003825 */ move $a3, $zero -/* 0A361C 800A2A1C E7B60010 */ swc1 $f22, 0x10($sp) -/* 0A3620 800A2A20 0C024DBB */ jal print_text1_center_mode_1 -/* 0A3624 800A2A24 E7B60014 */ swc1 $f22, 0x14($sp) -/* 0A3628 800A2A28 3C013F40 */ li $at, 0x3F400000 # 0.750000 -/* 0A362C 800A2A2C 4481C000 */ mtc1 $at, $f24 -/* 0A3630 800A2A30 3C01800F */ lui $at, %hi(D_800F1C44) # $at, 0x800f -/* 0A3634 800A2A34 C4361C44 */ lwc1 $f22, %lo(D_800F1C44)($at) -/* 0A3638 800A2A38 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 0A363C 800A2A3C 3C0A800E */ lui $t2, %hi(D_800E7918) # $t2, 0x800e -/* 0A3640 800A2A40 254A7918 */ addiu $t2, %lo(D_800E7918) # addiu $t2, $t2, 0x7918 -/* 0A3644 800A2A44 2408005C */ li $t0, 92 -/* 0A3648 800A2A48 3C17800E */ lui $s7, %hi(gGlobalTimer) # $s7, 0x800e -/* 0A364C 800A2A4C 3C15800E */ lui $s5, %hi(D_800E7938) # $s5, 0x800e -/* 0A3650 800A2A50 4481A000 */ mtc1 $at, $f20 -/* 0A3654 800A2A54 26B57938 */ addiu $s5, %lo(D_800E7938) # addiu $s5, $s5, 0x7938 -/* 0A3658 800A2A58 26F7C54C */ addiu $s7, %lo(gGlobalTimer) # addiu $s7, $s7, -0x3ab4 -/* 0A365C 800A2A5C AFA80088 */ sw $t0, 0x88($sp) -/* 0A3660 800A2A60 AFAA0084 */ sw $t2, 0x84($sp) -/* 0A3664 800A2A64 24160020 */ li $s6, 32 -/* 0A3668 800A2A68 2413002A */ li $s3, 42 -/* 0A366C 800A2A6C 241E0003 */ li $fp, 3 -/* 0A3670 800A2A70 2414002A */ li $s4, 42 -.L800A2A74: -/* 0A3674 800A2A74 0C024C36 */ jal set_text_color -/* 0A3678 800A2A78 03C02025 */ move $a0, $fp -/* 0A367C 800A2A7C 8FA90084 */ lw $t1, 0x84($sp) -/* 0A3680 800A2A80 8FA40088 */ lw $a0, 0x88($sp) -/* 0A3684 800A2A84 2405007D */ li $a1, 125 -/* 0A3688 800A2A88 8D260000 */ lw $a2, ($t1) -/* 0A368C 800A2A8C E7B80014 */ swc1 $f24, 0x14($sp) -/* 0A3690 800A2A90 E7B80010 */ swc1 $f24, 0x10($sp) -/* 0A3694 800A2A94 0C024DBB */ jal print_text1_center_mode_1 -/* 0A3698 800A2A98 00003825 */ move $a3, $zero -/* 0A369C 800A2A9C 00008025 */ move $s0, $zero -/* 0A36A0 800A2AA0 24120096 */ li $s2, 150 -.L800A2AA4: -/* 0A36A4 800A2AA4 1674001F */ bne $s3, $s4, .L800A2B24 -/* 0A36A8 800A2AA8 8FAB00E8 */ lw $t3, 0xe8($sp) -/* 0A36AC 800A2AAC 8D6C001C */ lw $t4, 0x1c($t3) -/* 0A36B0 800A2AB0 8FAD0078 */ lw $t5, 0x78($sp) -/* 0A36B4 800A2AB4 160C0017 */ bne $s0, $t4, .L800A2B14 -/* 0A36B8 800A2AB8 00000000 */ nop -/* 0A36BC 800A2ABC 55B50006 */ bnel $t5, $s5, .L800A2AD8 -/* 0A36C0 800A2AC0 8EEF0000 */ lw $t7, ($s7) -/* 0A36C4 800A2AC4 0C024C36 */ jal set_text_color -/* 0A36C8 800A2AC8 24040002 */ li $a0, 2 -/* 0A36CC 800A2ACC 10000020 */ b .L800A2B50 -/* 0A36D0 800A2AD0 26110001 */ addiu $s1, $s0, 1 -/* 0A36D4 800A2AD4 8EEF0000 */ lw $t7, ($s7) -.L800A2AD8: -/* 0A36D8 800A2AD8 01FE001A */ div $zero, $t7, $fp -/* 0A36DC 800A2ADC 00002010 */ mfhi $a0 -/* 0A36E0 800A2AE0 17C00002 */ bnez $fp, .L800A2AEC -/* 0A36E4 800A2AE4 00000000 */ nop -/* 0A36E8 800A2AE8 0007000D */ break 7 -.L800A2AEC: -/* 0A36EC 800A2AEC 2401FFFF */ li $at, -1 -/* 0A36F0 800A2AF0 17C10004 */ bne $fp, $at, .L800A2B04 -/* 0A36F4 800A2AF4 3C018000 */ lui $at, 0x8000 -/* 0A36F8 800A2AF8 15E10002 */ bne $t7, $at, .L800A2B04 -/* 0A36FC 800A2AFC 00000000 */ nop -/* 0A3700 800A2B00 0006000D */ break 6 -.L800A2B04: -/* 0A3704 800A2B04 0C024C36 */ jal set_text_color -/* 0A3708 800A2B08 00000000 */ nop -/* 0A370C 800A2B0C 10000010 */ b .L800A2B50 -/* 0A3710 800A2B10 26110001 */ addiu $s1, $s0, 1 -.L800A2B14: -/* 0A3714 800A2B14 0C024C36 */ jal set_text_color -/* 0A3718 800A2B18 24040001 */ li $a0, 1 -/* 0A371C 800A2B1C 1000000C */ b .L800A2B50 -/* 0A3720 800A2B20 26110001 */ addiu $s1, $s0, 1 -.L800A2B24: -/* 0A3724 800A2B24 8FAE00E8 */ lw $t6, 0xe8($sp) -/* 0A3728 800A2B28 8DD80020 */ lw $t8, 0x20($t6) -/* 0A372C 800A2B2C 16180005 */ bne $s0, $t8, .L800A2B44 -/* 0A3730 800A2B30 00000000 */ nop -/* 0A3734 800A2B34 0C024C36 */ jal set_text_color -/* 0A3738 800A2B38 24040002 */ li $a0, 2 -/* 0A373C 800A2B3C 10000004 */ b .L800A2B50 -/* 0A3740 800A2B40 26110001 */ addiu $s1, $s0, 1 -.L800A2B44: -/* 0A3744 800A2B44 0C024C36 */ jal set_text_color -/* 0A3748 800A2B48 24040001 */ li $a0, 1 -/* 0A374C 800A2B4C 26110001 */ addiu $s1, $s0, 1 -.L800A2B50: -/* 0A3750 800A2B50 02202025 */ move $a0, $s1 -/* 0A3754 800A2B54 0C029E25 */ jal convert_number_to_ascii -/* 0A3758 800A2B58 27A50098 */ addiu $a1, $sp, 0x98 -/* 0A375C 800A2B5C 02C02025 */ move $a0, $s6 -/* 0A3760 800A2B60 02402825 */ move $a1, $s2 -/* 0A3764 800A2B64 27A60099 */ addiu $a2, $sp, 0x99 -/* 0A3768 800A2B68 00003825 */ move $a3, $zero -/* 0A376C 800A2B6C E7B60010 */ swc1 $f22, 0x10($sp) -/* 0A3770 800A2B70 0C024CC9 */ jal print_text_mode_1 -/* 0A3774 800A2B74 E7B60014 */ swc1 $f22, 0x14($sp) -/* 0A3778 800A2B78 2401002A */ li $at, 42 -/* 0A377C 800A2B7C 16610006 */ bne $s3, $at, .L800A2B98 -/* 0A3780 800A2B80 3C0A8019 */ lui $t2, %hi(gSomeDLBuffer) # $t2, 0x8019 -/* 0A3784 800A2B84 3C088019 */ lui $t0, %hi(D_8018EE10) # $t0, 0x8019 -/* 0A3788 800A2B88 2508EE10 */ addiu $t0, %lo(D_8018EE10) # addiu $t0, $t0, -0x11f0 -/* 0A378C 800A2B8C 0010C9C0 */ sll $t9, $s0, 7 -/* 0A3790 800A2B90 10000004 */ b .L800A2BA4 -/* 0A3794 800A2B94 03281821 */ addu $v1, $t9, $t0 -.L800A2B98: -/* 0A3798 800A2B98 8D4AD9C0 */ lw $t2, %lo(gSomeDLBuffer)($t2) -/* 0A379C 800A2B9C 001049C0 */ sll $t1, $s0, 7 -/* 0A37A0 800A2BA0 01491821 */ addu $v1, $t2, $t1 -.L800A2BA4: -/* 0A37A4 800A2BA4 906B0004 */ lbu $t3, 4($v1) -/* 0A37A8 800A2BA8 02602025 */ move $a0, $s3 -/* 0A37AC 800A2BAC 02402825 */ move $a1, $s2 -/* 0A37B0 800A2BB0 1560000B */ bnez $t3, .L800A2BE0 -/* 0A37B4 800A2BB4 3C19800F */ lui $t9, %hi(gCupCourseOrder) -/* 0A37B8 800A2BB8 3C06800E */ lui $a2, %hi(D_800E7A44) # $a2, 0x800e -/* 0A37BC 800A2BBC 8CC67A44 */ lw $a2, %lo(D_800E7A44)($a2) -/* 0A37C0 800A2BC0 02602025 */ move $a0, $s3 -/* 0A37C4 800A2BC4 02402825 */ move $a1, $s2 -/* 0A37C8 800A2BC8 00003825 */ move $a3, $zero -/* 0A37CC 800A2BCC E7B40010 */ swc1 $f20, 0x10($sp) -/* 0A37D0 800A2BD0 0C024CC9 */ jal print_text_mode_1 -/* 0A37D4 800A2BD4 E7B40014 */ swc1 $f20, 0x14($sp) -/* 0A37D8 800A2BD8 10000019 */ b .L800A2C40 -/* 0A37DC 800A2BDC 24010002 */ li $at, 2 -.L800A2BE0: -/* 0A37E0 800A2BE0 80620005 */ lb $v0, 5($v1) -/* 0A37E4 800A2BE4 3C06800E */ lui $a2, %hi(gCourseNamesDup2) -/* 0A37E8 800A2BE8 E7B40014 */ swc1 $f20, 0x14($sp) -/* 0A37EC 800A2BEC 04410003 */ bgez $v0, .L800A2BFC -/* 0A37F0 800A2BF0 00026083 */ sra $t4, $v0, 2 -/* 0A37F4 800A2BF4 24410003 */ addiu $at, $v0, 3 -/* 0A37F8 800A2BF8 00016083 */ sra $t4, $at, 2 -.L800A2BFC: -/* 0A37FC 800A2BFC 000C68C0 */ sll $t5, $t4, 3 -/* 0A3800 800A2C00 04410004 */ bgez $v0, .L800A2C14 -/* 0A3804 800A2C04 304F0003 */ andi $t7, $v0, 3 -/* 0A3808 800A2C08 11E00002 */ beqz $t7, .L800A2C14 -/* 0A380C 800A2C0C 00000000 */ nop -/* 0A3810 800A2C10 25EFFFFC */ addiu $t7, $t7, -4 -.L800A2C14: -/* 0A3814 800A2C14 000F7040 */ sll $t6, $t7, 1 -/* 0A3818 800A2C18 01AEC021 */ addu $t8, $t5, $t6 -/* 0A381C 800A2C1C 0338C821 */ addu $t9, $t9, $t8 -/* 0A3820 800A2C20 87392BB4 */ lh $t9, %lo(gCupCourseOrder)($t9) -/* 0A3824 800A2C24 E7B40010 */ swc1 $f20, 0x10($sp) -/* 0A3828 800A2C28 00003825 */ move $a3, $zero -/* 0A382C 800A2C2C 00194080 */ sll $t0, $t9, 2 -/* 0A3830 800A2C30 00C83021 */ addu $a2, $a2, $t0 -/* 0A3834 800A2C34 0C024CC9 */ jal print_text_mode_1 -/* 0A3838 800A2C38 8CC675C4 */ lw $a2, %lo(gCourseNamesDup2)($a2) -/* 0A383C 800A2C3C 24010002 */ li $at, 2 -.L800A2C40: -/* 0A3840 800A2C40 02208025 */ move $s0, $s1 -/* 0A3844 800A2C44 1621FF97 */ bne $s1, $at, .L800A2AA4 -/* 0A3848 800A2C48 2652001E */ addiu $s2, $s2, 0x1e -/* 0A384C 800A2C4C 8FAA0088 */ lw $t2, 0x88($sp) -/* 0A3850 800A2C50 8FAB0084 */ lw $t3, 0x84($sp) -/* 0A3854 800A2C54 26730089 */ addiu $s3, $s3, 0x89 -/* 0A3858 800A2C58 2401013C */ li $at, 316 -/* 0A385C 800A2C5C 25490082 */ addiu $t1, $t2, 0x82 -/* 0A3860 800A2C60 256C0004 */ addiu $t4, $t3, 4 -/* 0A3864 800A2C64 AFAC0084 */ sw $t4, 0x84($sp) -/* 0A3868 800A2C68 AFA90088 */ sw $t1, 0x88($sp) -/* 0A386C 800A2C6C 1661FF81 */ bne $s3, $at, .L800A2A74 -/* 0A3870 800A2C70 26D60089 */ addiu $s6, $s6, 0x89 -/* 0A3874 800A2C74 3C038019 */ lui $v1, %hi(gSubMenuSelection) # $v1, 0x8019 -/* 0A3878 800A2C78 8063EDEC */ lb $v1, %lo(gSubMenuSelection)($v1) -.L800A2C7C: -glabel L800A2C7C -/* 0A387C 800A2C7C 246FFFD8 */ addiu $t7, $v1, -0x28 -.L800A2C80: -/* 0A3880 800A2C80 2DE10012 */ sltiu $at, $t7, 0x12 -/* 0A3884 800A2C84 1020000D */ beqz $at, .L800A2CBC -/* 0A3888 800A2C88 000F7880 */ sll $t7, $t7, 2 -/* 0A388C 800A2C8C 3C01800F */ lui $at, %hi(jpt_800F1C48) -/* 0A3890 800A2C90 002F0821 */ addu $at, $at, $t7 -/* 0A3894 800A2C94 8C2F1C48 */ lw $t7, %lo(jpt_800F1C48)($at) -/* 0A3898 800A2C98 01E00008 */ jr $t7 -/* 0A389C 800A2C9C 00000000 */ nop -glabel L800A2CA0 -/* 0A38A0 800A2CA0 87AD00E0 */ lh $t5, 0xe0($sp) -/* 0A38A4 800A2CA4 87B800E2 */ lh $t8, 0xe2($sp) -/* 0A38A8 800A2CA8 25AEFFFB */ addiu $t6, $t5, -5 -/* 0A38AC 800A2CAC 2719FFFA */ addiu $t9, $t8, -6 -/* 0A38B0 800A2CB0 A7AE00E0 */ sh $t6, 0xe0($sp) -/* 0A38B4 800A2CB4 10000007 */ b .L800A2CD4 -/* 0A38B8 800A2CB8 A7B900E2 */ sh $t9, 0xe2($sp) -.L800A2CBC: -glabel L800A2CBC -/* 0A38BC 800A2CBC 87A800E0 */ lh $t0, 0xe0($sp) -/* 0A38C0 800A2CC0 87A900E2 */ lh $t1, 0xe2($sp) -/* 0A38C4 800A2CC4 250AFFF6 */ addiu $t2, $t0, -0xa -/* 0A38C8 800A2CC8 252BFFF8 */ addiu $t3, $t1, -8 -/* 0A38CC 800A2CCC A7AA00E0 */ sh $t2, 0xe0($sp) -/* 0A38D0 800A2CD0 A7AB00E2 */ sh $t3, 0xe2($sp) -.L800A2CD4: -/* 0A38D4 800A2CD4 8FA400E8 */ lw $a0, 0xe8($sp) -/* 0A38D8 800A2CD8 0C0299AA */ jal func_800A66A8 -/* 0A38DC 800A2CDC 27A500E0 */ addiu $a1, $sp, 0xe0 -/* 0A38E0 800A2CE0 8FBF006C */ lw $ra, 0x6c($sp) -/* 0A38E4 800A2CE4 D7B40030 */ ldc1 $f20, 0x30($sp) -/* 0A38E8 800A2CE8 D7B60038 */ ldc1 $f22, 0x38($sp) -/* 0A38EC 800A2CEC D7B80040 */ ldc1 $f24, 0x40($sp) -/* 0A38F0 800A2CF0 8FB00048 */ lw $s0, 0x48($sp) -/* 0A38F4 800A2CF4 8FB1004C */ lw $s1, 0x4c($sp) -/* 0A38F8 800A2CF8 8FB20050 */ lw $s2, 0x50($sp) -/* 0A38FC 800A2CFC 8FB30054 */ lw $s3, 0x54($sp) -/* 0A3900 800A2D00 8FB40058 */ lw $s4, 0x58($sp) -/* 0A3904 800A2D04 8FB5005C */ lw $s5, 0x5c($sp) -/* 0A3908 800A2D08 8FB60060 */ lw $s6, 0x60($sp) -/* 0A390C 800A2D0C 8FB70064 */ lw $s7, 0x64($sp) -/* 0A3910 800A2D10 8FBE0068 */ lw $fp, 0x68($sp) -/* 0A3914 800A2D14 03E00008 */ jr $ra -/* 0A3918 800A2D18 27BD00E8 */ addiu $sp, $sp, 0xe8 diff --git a/asm/non_matchings/menu_items/func_800AB314.s b/asm/non_matchings/menu_items/func_800AB314.s deleted file mode 100644 index e2cd168de..000000000 --- a/asm/non_matchings/menu_items/func_800AB314.s +++ /dev/null @@ -1,433 +0,0 @@ -glabel func_800AB314 -/* 0ABF14 800AB314 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 0ABF18 800AB318 AFBF0014 */ sw $ra, 0x14($sp) -/* 0ABF1C 800AB31C 00803025 */ move $a2, $a0 -/* 0ABF20 800AB320 27A30024 */ addiu $v1, $sp, 0x24 -/* 0ABF24 800AB324 00002825 */ move $a1, $zero -.L800AB328: -/* 0ABF28 800AB328 24A4005F */ addiu $a0, $a1, 0x5f -/* 0ABF2C 800AB32C AFA3001C */ sw $v1, 0x1c($sp) -/* 0ABF30 800AB330 AFA5003C */ sw $a1, 0x3c($sp) -/* 0ABF34 800AB334 0C02ABBD */ jal find_menu_items_dupe -/* 0ABF38 800AB338 AFA60040 */ sw $a2, 0x40($sp) -/* 0ABF3C 800AB33C 8FA5003C */ lw $a1, 0x3c($sp) -/* 0ABF40 800AB340 8FA3001C */ lw $v1, 0x1c($sp) -/* 0ABF44 800AB344 8FA60040 */ lw $a2, 0x40($sp) -/* 0ABF48 800AB348 24A50001 */ addiu $a1, $a1, 1 -/* 0ABF4C 800AB34C 28A10004 */ slti $at, $a1, 4 -/* 0ABF50 800AB350 24630004 */ addiu $v1, $v1, 4 -/* 0ABF54 800AB354 1420FFF4 */ bnez $at, .L800AB328 -/* 0ABF58 800AB358 AC62FFFC */ sw $v0, -4($v1) -/* 0ABF5C 800AB35C 3C0E800E */ lui $t6, %hi(gModeSelection) # $t6, 0x800e -/* 0ABF60 800AB360 8DCEC53C */ lw $t6, %lo(gModeSelection)($t6) -/* 0ABF64 800AB364 3C0F8019 */ lui $t7, %hi(gSubMenuSelection) # $t7, 0x8019 -/* 0ABF68 800AB368 51C00053 */ beql $t6, $zero, .L800AB4B8 -/* 0ABF6C 800AB36C 8CC20004 */ lw $v0, 4($a2) -/* 0ABF70 800AB370 81EFEDEC */ lb $t7, %lo(gSubMenuSelection)($t7) -/* 0ABF74 800AB374 24040001 */ li $a0, 1 -/* 0ABF78 800AB378 24030003 */ li $v1, 3 -/* 0ABF7C 800AB37C 108F003A */ beq $a0, $t7, .L800AB468 -/* 0ABF80 800AB380 3C028019 */ lui $v0, %hi(gCourseIndexInCup) # $v0, 0x8019 -/* 0ABF84 800AB384 ACC00004 */ sw $zero, 4($a2) -/* 0ABF88 800AB388 ACC00020 */ sw $zero, 0x20($a2) -/* 0ABF8C 800AB38C 2442EE0B */ addiu $v0, %lo(gCourseIndexInCup) # addiu $v0, $v0, -0x11f5 -/* 0ABF90 800AB390 80580000 */ lb $t8, ($v0) -/* 0ABF94 800AB394 8FB90024 */ lw $t9, 0x24($sp) -/* 0ABF98 800AB398 8FAB0024 */ lw $t3, 0x24($sp) -/* 0ABF9C 800AB39C 57000008 */ bnel $t8, $zero, .L800AB3C0 -/* 0ABFA0 800AB3A0 A1600015 */ sb $zero, 0x15($t3) -/* 0ABFA4 800AB3A4 A3240015 */ sb $a0, 0x15($t9) -/* 0ABFA8 800AB3A8 8CCA001C */ lw $t2, 0x1c($a2) -/* 0ABFAC 800AB3AC 51400005 */ beql $t2, $zero, .L800AB3C4 -/* 0ABFB0 800AB3B0 804C0000 */ lb $t4, ($v0) -/* 0ABFB4 800AB3B4 10000002 */ b .L800AB3C0 -/* 0ABFB8 800AB3B8 ACC0001C */ sw $zero, 0x1c($a2) -/* 0ABFBC 800AB3BC A1600015 */ sb $zero, 0x15($t3) -.L800AB3C0: -/* 0ABFC0 800AB3C0 804C0000 */ lb $t4, ($v0) -.L800AB3C4: -/* 0ABFC4 800AB3C4 24010001 */ li $at, 1 -/* 0ABFC8 800AB3C8 8FAF0028 */ lw $t7, 0x28($sp) -/* 0ABFCC 800AB3CC 15810008 */ bne $t4, $at, .L800AB3F0 -/* 0ABFD0 800AB3D0 8FAD0028 */ lw $t5, 0x28($sp) -/* 0ABFD4 800AB3D4 A1A40015 */ sb $a0, 0x15($t5) -/* 0ABFD8 800AB3D8 8CCE001C */ lw $t6, 0x1c($a2) -/* 0ABFDC 800AB3DC 24010001 */ li $at, 1 -/* 0ABFE0 800AB3E0 51C10005 */ beql $t6, $at, .L800AB3F8 -/* 0ABFE4 800AB3E4 80580000 */ lb $t8, ($v0) -/* 0ABFE8 800AB3E8 10000002 */ b .L800AB3F4 -/* 0ABFEC 800AB3EC ACC4001C */ sw $a0, 0x1c($a2) -.L800AB3F0: -/* 0ABFF0 800AB3F0 A1E00015 */ sb $zero, 0x15($t7) -.L800AB3F4: -/* 0ABFF4 800AB3F4 80580000 */ lb $t8, ($v0) -.L800AB3F8: -/* 0ABFF8 800AB3F8 24010002 */ li $at, 2 -/* 0ABFFC 800AB3FC 8FAC002C */ lw $t4, 0x2c($sp) -/* 0AC000 800AB400 17010009 */ bne $t8, $at, .L800AB428 -/* 0AC004 800AB404 8FB9002C */ lw $t9, 0x2c($sp) -/* 0AC008 800AB408 A3240015 */ sb $a0, 0x15($t9) -/* 0AC00C 800AB40C 8CCA001C */ lw $t2, 0x1c($a2) -/* 0AC010 800AB410 24010002 */ li $at, 2 -/* 0AC014 800AB414 240B0002 */ li $t3, 2 -/* 0AC018 800AB418 51410005 */ beql $t2, $at, .L800AB430 -/* 0AC01C 800AB41C 804D0000 */ lb $t5, ($v0) -/* 0AC020 800AB420 10000002 */ b .L800AB42C -/* 0AC024 800AB424 ACCB001C */ sw $t3, 0x1c($a2) -.L800AB428: -/* 0AC028 800AB428 A1800015 */ sb $zero, 0x15($t4) -.L800AB42C: -/* 0AC02C 800AB42C 804D0000 */ lb $t5, ($v0) -.L800AB430: -/* 0AC030 800AB430 24010003 */ li $at, 3 -/* 0AC034 800AB434 8FB80030 */ lw $t8, 0x30($sp) -/* 0AC038 800AB438 15A10009 */ bne $t5, $at, .L800AB460 -/* 0AC03C 800AB43C 8FAE0030 */ lw $t6, 0x30($sp) -/* 0AC040 800AB440 A1C40015 */ sb $a0, 0x15($t6) -/* 0AC044 800AB444 8CCF001C */ lw $t7, 0x1c($a2) -/* 0AC048 800AB448 24010003 */ li $at, 3 -/* 0AC04C 800AB44C 24030003 */ li $v1, 3 -/* 0AC050 800AB450 51E10129 */ beql $t7, $at, .L800AB8F8 -/* 0AC054 800AB454 8FBF0014 */ lw $ra, 0x14($sp) -/* 0AC058 800AB458 10000126 */ b .L800AB8F4 -/* 0AC05C 800AB45C ACC3001C */ sw $v1, 0x1c($a2) -.L800AB460: -/* 0AC060 800AB460 10000124 */ b .L800AB8F4 -/* 0AC064 800AB464 A3000015 */ sb $zero, 0x15($t8) -.L800AB468: -/* 0AC068 800AB468 ACC30004 */ sw $v1, 4($a2) -/* 0AC06C 800AB46C 8FB90024 */ lw $t9, 0x24($sp) -/* 0AC070 800AB470 24020006 */ li $v0, 6 -/* 0AC074 800AB474 A3240015 */ sb $a0, 0x15($t9) -/* 0AC078 800AB478 8FAA0024 */ lw $t2, 0x24($sp) -/* 0AC07C 800AB47C A1420014 */ sb $v0, 0x14($t2) -/* 0AC080 800AB480 8FAB0028 */ lw $t3, 0x28($sp) -/* 0AC084 800AB484 A1640015 */ sb $a0, 0x15($t3) -/* 0AC088 800AB488 8FAC0028 */ lw $t4, 0x28($sp) -/* 0AC08C 800AB48C A1820014 */ sb $v0, 0x14($t4) -/* 0AC090 800AB490 8FAD002C */ lw $t5, 0x2c($sp) -/* 0AC094 800AB494 A1A40015 */ sb $a0, 0x15($t5) -/* 0AC098 800AB498 8FAE002C */ lw $t6, 0x2c($sp) -/* 0AC09C 800AB49C A1C20014 */ sb $v0, 0x14($t6) -/* 0AC0A0 800AB4A0 8FAF0030 */ lw $t7, 0x30($sp) -/* 0AC0A4 800AB4A4 A1E40015 */ sb $a0, 0x15($t7) -/* 0AC0A8 800AB4A8 8FB80030 */ lw $t8, 0x30($sp) -/* 0AC0AC 800AB4AC 10000111 */ b .L800AB8F4 -/* 0AC0B0 800AB4B0 A3020014 */ sb $v0, 0x14($t8) -/* 0AC0B4 800AB4B4 8CC20004 */ lw $v0, 4($a2) -.L800AB4B8: -/* 0AC0B8 800AB4B8 3C038019 */ lui $v1, %hi(gCupSelection) # 0x8019 -/* 0AC0BC 800AB4BC 24040001 */ li $a0, 1 -/* 0AC0C0 800AB4C0 5040000C */ beql $v0, $zero, .L800AB4F4 -/* 0AC0C4 800AB4C4 8CD9001C */ lw $t9, 0x1c($a2) -/* 0AC0C8 800AB4C8 1044002F */ beq $v0, $a0, .L800AB588 -/* 0AC0CC 800AB4CC 3C038019 */ lui $v1, %hi(gCupSelection) # $v1, 0x8019 -/* 0AC0D0 800AB4D0 24010002 */ li $at, 2 -/* 0AC0D4 800AB4D4 1041005C */ beq $v0, $at, .L800AB648 -/* 0AC0D8 800AB4D8 3C0D8019 */ lui $t5, %hi(gSubMenuSelection) # 0x8019 -/* 0AC0DC 800AB4DC 24030003 */ li $v1, 3 -/* 0AC0E0 800AB4E0 1043006A */ beq $v0, $v1, .L800AB68C -/* 0AC0E4 800AB4E4 3C198019 */ lui $t9, %hi(gSubMenuSelection) # 0x8019 -/* 0AC0E8 800AB4E8 1000006F */ b .L800AB6A8 -/* 0AC0EC 800AB4EC 00000000 */ nop -/* 0AC0F0 800AB4F0 8CD9001C */ lw $t9, 0x1c($a2) -.L800AB4F4: -/* 0AC0F4 800AB4F4 2463EE09 */ addiu $v1, %lo(gCupSelection) # addiu $v1, $v1, -0x11f7 -/* 0AC0F8 800AB4F8 806B0000 */ lb $t3, ($v1) -/* 0AC0FC 800AB4FC 07210003 */ bgez $t9, .L800AB50C -/* 0AC100 800AB500 00195083 */ sra $t2, $t9, 2 -/* 0AC104 800AB504 27210003 */ addiu $at, $t9, 3 -/* 0AC108 800AB508 00015083 */ sra $t2, $at, 2 -.L800AB50C: -/* 0AC10C 800AB50C 554B0010 */ bnel $t2, $t3, .L800AB550 -/* 0AC110 800AB510 ACC00020 */ sw $zero, 0x20($a2) -/* 0AC114 800AB514 8CCC0020 */ lw $t4, 0x20($a2) -/* 0AC118 800AB518 24040001 */ li $a0, 1 -/* 0AC11C 800AB51C 258D0001 */ addiu $t5, $t4, 1 -/* 0AC120 800AB520 29A10033 */ slti $at, $t5, 0x33 -/* 0AC124 800AB524 14200007 */ bnez $at, .L800AB544 -/* 0AC128 800AB528 ACCD0020 */ sw $t5, 0x20($a2) -/* 0AC12C 800AB52C ACC40004 */ sw $a0, 4($a2) -/* 0AC130 800AB530 ACC00020 */ sw $zero, 0x20($a2) -/* 0AC134 800AB534 806F0000 */ lb $t7, ($v1) -/* 0AC138 800AB538 000FC080 */ sll $t8, $t7, 2 -/* 0AC13C 800AB53C 27190001 */ addiu $t9, $t8, 1 -/* 0AC140 800AB540 ACD9001C */ sw $t9, 0x1c($a2) -.L800AB544: -/* 0AC144 800AB544 10000006 */ b .L800AB560 -/* 0AC148 800AB548 24040001 */ li $a0, 1 -/* 0AC14C 800AB54C ACC00020 */ sw $zero, 0x20($a2) -.L800AB550: -/* 0AC150 800AB550 806A0000 */ lb $t2, ($v1) -/* 0AC154 800AB554 24040001 */ li $a0, 1 -/* 0AC158 800AB558 000A5880 */ sll $t3, $t2, 2 -/* 0AC15C 800AB55C ACCB001C */ sw $t3, 0x1c($a2) -.L800AB560: -/* 0AC160 800AB560 3C0C8019 */ lui $t4, %hi(gSubMenuSelection) # $t4, 0x8019 -/* 0AC164 800AB564 818CEDEC */ lb $t4, %lo(gSubMenuSelection)($t4) -/* 0AC168 800AB568 24030003 */ li $v1, 3 -/* 0AC16C 800AB56C 240D0002 */ li $t5, 2 -/* 0AC170 800AB570 146C0003 */ bne $v1, $t4, .L800AB580 -/* 0AC174 800AB574 00000000 */ nop -/* 0AC178 800AB578 ACCD0004 */ sw $t5, 4($a2) -/* 0AC17C 800AB57C ACC00020 */ sw $zero, 0x20($a2) -.L800AB580: -/* 0AC180 800AB580 10000049 */ b .L800AB6A8 -/* 0AC184 800AB584 8CC20004 */ lw $v0, 4($a2) -.L800AB588: -/* 0AC188 800AB588 8CCE001C */ lw $t6, 0x1c($a2) -/* 0AC18C 800AB58C 2463EE09 */ addiu $v1, $v1, %lo(gCupSelection) # -0x11f7 -/* 0AC190 800AB590 80780000 */ lb $t8, ($v1) -/* 0AC194 800AB594 05C10003 */ bgez $t6, .L800AB5A4 -/* 0AC198 800AB598 000E7883 */ sra $t7, $t6, 2 -/* 0AC19C 800AB59C 25C10003 */ addiu $at, $t6, 3 -/* 0AC1A0 800AB5A0 00017883 */ sra $t7, $at, 2 -.L800AB5A4: -/* 0AC1A4 800AB5A4 11F80006 */ beq $t7, $t8, .L800AB5C0 -/* 0AC1A8 800AB5A8 00001025 */ move $v0, $zero -/* 0AC1AC 800AB5AC ACC00004 */ sw $zero, 4($a2) -/* 0AC1B0 800AB5B0 ACC00020 */ sw $zero, 0x20($a2) -/* 0AC1B4 800AB5B4 ACC0001C */ sw $zero, 0x1c($a2) -/* 0AC1B8 800AB5B8 1000003B */ b .L800AB6A8 -/* 0AC1BC 800AB5BC 24030003 */ li $v1, 3 -.L800AB5C0: -/* 0AC1C0 800AB5C0 8CD90020 */ lw $t9, 0x20($a2) -/* 0AC1C4 800AB5C4 272A0001 */ addiu $t2, $t9, 1 -/* 0AC1C8 800AB5C8 2941001F */ slti $at, $t2, 0x1f -/* 0AC1CC 800AB5CC 14200015 */ bnez $at, .L800AB624 -/* 0AC1D0 800AB5D0 ACCA0020 */ sw $t2, 0x20($a2) -/* 0AC1D4 800AB5D4 8CCE001C */ lw $t6, 0x1c($a2) -/* 0AC1D8 800AB5D8 ACC00020 */ sw $zero, 0x20($a2) -/* 0AC1DC 800AB5DC 806C0000 */ lb $t4, ($v1) -/* 0AC1E0 800AB5E0 24030003 */ li $v1, 3 -/* 0AC1E4 800AB5E4 8CC20004 */ lw $v0, 4($a2) -/* 0AC1E8 800AB5E8 000C6880 */ sll $t5, $t4, 2 -/* 0AC1EC 800AB5EC 05C10004 */ bgez $t6, .L800AB600 -/* 0AC1F0 800AB5F0 31CF0003 */ andi $t7, $t6, 3 -/* 0AC1F4 800AB5F4 11E00002 */ beqz $t7, .L800AB600 -/* 0AC1F8 800AB5F8 00000000 */ nop -/* 0AC1FC 800AB5FC 25EFFFFC */ addiu $t7, $t7, -4 -.L800AB600: -/* 0AC200 800AB600 25F80001 */ addiu $t8, $t7, 1 -/* 0AC204 800AB604 07010004 */ bgez $t8, .L800AB618 -/* 0AC208 800AB608 33190003 */ andi $t9, $t8, 3 -/* 0AC20C 800AB60C 13200002 */ beqz $t9, .L800AB618 -/* 0AC210 800AB610 00000000 */ nop -/* 0AC214 800AB614 2739FFFC */ addiu $t9, $t9, -4 -.L800AB618: -/* 0AC218 800AB618 01B95021 */ addu $t2, $t5, $t9 -/* 0AC21C 800AB61C 10000022 */ b .L800AB6A8 -/* 0AC220 800AB620 ACCA001C */ sw $t2, 0x1c($a2) -.L800AB624: -/* 0AC224 800AB624 3C0B8019 */ lui $t3, %hi(gSubMenuSelection) # $t3, 0x8019 -/* 0AC228 800AB628 816BEDEC */ lb $t3, %lo(gSubMenuSelection)($t3) -/* 0AC22C 800AB62C 24030003 */ li $v1, 3 -/* 0AC230 800AB630 146B0003 */ bne $v1, $t3, .L800AB640 -/* 0AC234 800AB634 240C0002 */ li $t4, 2 -/* 0AC238 800AB638 ACCC0004 */ sw $t4, 4($a2) -/* 0AC23C 800AB63C ACC00020 */ sw $zero, 0x20($a2) -.L800AB640: -/* 0AC240 800AB640 10000019 */ b .L800AB6A8 -/* 0AC244 800AB644 8CC20004 */ lw $v0, 4($a2) -.L800AB648: -/* 0AC248 800AB648 8CCE0020 */ lw $t6, 0x20($a2) -/* 0AC24C 800AB64C 24030003 */ li $v1, 3 -/* 0AC250 800AB650 25CF0001 */ addiu $t7, $t6, 1 -/* 0AC254 800AB654 29E1001A */ slti $at, $t7, 0x1a -/* 0AC258 800AB658 14200003 */ bnez $at, .L800AB668 -/* 0AC25C 800AB65C ACCF0020 */ sw $t7, 0x20($a2) -/* 0AC260 800AB660 ACC30004 */ sw $v1, 4($a2) -/* 0AC264 800AB664 ACC00020 */ sw $zero, 0x20($a2) -.L800AB668: -/* 0AC268 800AB668 81ADEDEC */ lb $t5, %lo(gSubMenuSelection)($t5) # -0x1214($t5) -/* 0AC26C 800AB66C 24030003 */ li $v1, 3 -/* 0AC270 800AB670 106D0004 */ beq $v1, $t5, .L800AB684 -/* 0AC274 800AB674 00000000 */ nop -/* 0AC278 800AB678 ACC00004 */ sw $zero, 4($a2) -/* 0AC27C 800AB67C ACC00020 */ sw $zero, 0x20($a2) -/* 0AC280 800AB680 ACC0001C */ sw $zero, 0x1c($a2) -.L800AB684: -/* 0AC284 800AB684 10000008 */ b .L800AB6A8 -/* 0AC288 800AB688 8CC20004 */ lw $v0, 4($a2) -.L800AB68C: -/* 0AC28C 800AB68C 8339EDEC */ lb $t9, %lo(gSubMenuSelection)($t9) # -0x1214($t9) -/* 0AC290 800AB690 10790005 */ beq $v1, $t9, .L800AB6A8 -/* 0AC294 800AB694 00000000 */ nop -/* 0AC298 800AB698 ACC00004 */ sw $zero, 4($a2) -/* 0AC29C 800AB69C ACC00020 */ sw $zero, 0x20($a2) -/* 0AC2A0 800AB6A0 ACC0001C */ sw $zero, 0x1c($a2) -/* 0AC2A4 800AB6A4 00001025 */ move $v0, $zero -.L800AB6A8: -/* 0AC2A8 800AB6A8 5040000A */ beql $v0, $zero, .L800AB6D4 -/* 0AC2AC 800AB6AC 8CCA001C */ lw $t2, 0x1c($a2) -/* 0AC2B0 800AB6B0 10440007 */ beq $v0, $a0, .L800AB6D0 -/* 0AC2B4 800AB6B4 24010002 */ li $at, 2 -/* 0AC2B8 800AB6B8 10410042 */ beq $v0, $at, .L800AB7C4 -/* 0AC2BC 800AB6BC 00002825 */ move $a1, $zero -/* 0AC2C0 800AB6C0 1043007C */ beq $v0, $v1, .L800AB8B4 -/* 0AC2C4 800AB6C4 8FAD0024 */ lw $t5, 0x24($sp) -/* 0AC2C8 800AB6C8 1000008B */ b .L800AB8F8 -/* 0AC2CC 800AB6CC 8FBF0014 */ lw $ra, 0x14($sp) -.L800AB6D0: -/* 0AC2D0 800AB6D0 8CCA001C */ lw $t2, 0x1c($a2) -.L800AB6D4: -/* 0AC2D4 800AB6D4 8FAC0024 */ lw $t4, 0x24($sp) -/* 0AC2D8 800AB6D8 8FAE0024 */ lw $t6, 0x24($sp) -/* 0AC2DC 800AB6DC 314B0003 */ andi $t3, $t2, 3 -/* 0AC2E0 800AB6E0 55600004 */ bnel $t3, $zero, .L800AB6F4 -/* 0AC2E4 800AB6E4 A1C00015 */ sb $zero, 0x15($t6) -/* 0AC2E8 800AB6E8 10000002 */ b .L800AB6F4 -/* 0AC2EC 800AB6EC A1840015 */ sb $a0, 0x15($t4) -/* 0AC2F0 800AB6F0 A1C00015 */ sb $zero, 0x15($t6) -.L800AB6F4: -/* 0AC2F4 800AB6F4 8FAF0024 */ lw $t7, 0x24($sp) -/* 0AC2F8 800AB6F8 24020006 */ li $v0, 6 -/* 0AC2FC 800AB6FC 24010001 */ li $at, 1 -/* 0AC300 800AB700 A1E20014 */ sb $v0, 0x14($t7) -/* 0AC304 800AB704 8CD8001C */ lw $t8, 0x1c($a2) -/* 0AC308 800AB708 8FAA0028 */ lw $t2, 0x28($sp) -/* 0AC30C 800AB70C 8FB90028 */ lw $t9, 0x28($sp) -/* 0AC310 800AB710 07010004 */ bgez $t8, .L800AB724 -/* 0AC314 800AB714 330D0003 */ andi $t5, $t8, 3 -/* 0AC318 800AB718 11A00002 */ beqz $t5, .L800AB724 -/* 0AC31C 800AB71C 00000000 */ nop -/* 0AC320 800AB720 25ADFFFC */ addiu $t5, $t5, -4 -.L800AB724: -/* 0AC324 800AB724 55A10004 */ bnel $t5, $at, .L800AB738 -/* 0AC328 800AB728 A1400015 */ sb $zero, 0x15($t2) -/* 0AC32C 800AB72C 10000002 */ b .L800AB738 -/* 0AC330 800AB730 A3240015 */ sb $a0, 0x15($t9) -/* 0AC334 800AB734 A1400015 */ sb $zero, 0x15($t2) -.L800AB738: -/* 0AC338 800AB738 8FAB0028 */ lw $t3, 0x28($sp) -/* 0AC33C 800AB73C 24010002 */ li $at, 2 -/* 0AC340 800AB740 A1620014 */ sb $v0, 0x14($t3) -/* 0AC344 800AB744 8CCC001C */ lw $t4, 0x1c($a2) -/* 0AC348 800AB748 8FB8002C */ lw $t8, 0x2c($sp) -/* 0AC34C 800AB74C 8FAF002C */ lw $t7, 0x2c($sp) -/* 0AC350 800AB750 05810004 */ bgez $t4, .L800AB764 -/* 0AC354 800AB754 318E0003 */ andi $t6, $t4, 3 -/* 0AC358 800AB758 11C00002 */ beqz $t6, .L800AB764 -/* 0AC35C 800AB75C 00000000 */ nop -/* 0AC360 800AB760 25CEFFFC */ addiu $t6, $t6, -4 -.L800AB764: -/* 0AC364 800AB764 55C10004 */ bnel $t6, $at, .L800AB778 -/* 0AC368 800AB768 A3000015 */ sb $zero, 0x15($t8) -/* 0AC36C 800AB76C 10000002 */ b .L800AB778 -/* 0AC370 800AB770 A1E40015 */ sb $a0, 0x15($t7) -/* 0AC374 800AB774 A3000015 */ sb $zero, 0x15($t8) -.L800AB778: -/* 0AC378 800AB778 8FAD002C */ lw $t5, 0x2c($sp) -/* 0AC37C 800AB77C 24010003 */ li $at, 3 -/* 0AC380 800AB780 A1A20014 */ sb $v0, 0x14($t5) -/* 0AC384 800AB784 8CD9001C */ lw $t9, 0x1c($a2) -/* 0AC388 800AB788 8FAC0030 */ lw $t4, 0x30($sp) -/* 0AC38C 800AB78C 8FAB0030 */ lw $t3, 0x30($sp) -/* 0AC390 800AB790 07210004 */ bgez $t9, .L800AB7A4 -/* 0AC394 800AB794 332A0003 */ andi $t2, $t9, 3 -/* 0AC398 800AB798 11400002 */ beqz $t2, .L800AB7A4 -/* 0AC39C 800AB79C 00000000 */ nop -/* 0AC3A0 800AB7A0 254AFFFC */ addiu $t2, $t2, -4 -.L800AB7A4: -/* 0AC3A4 800AB7A4 55410004 */ bnel $t2, $at, .L800AB7B8 -/* 0AC3A8 800AB7A8 A1800015 */ sb $zero, 0x15($t4) -/* 0AC3AC 800AB7AC 10000002 */ b .L800AB7B8 -/* 0AC3B0 800AB7B0 A1640015 */ sb $a0, 0x15($t3) -/* 0AC3B4 800AB7B4 A1800015 */ sb $zero, 0x15($t4) -.L800AB7B8: -/* 0AC3B8 800AB7B8 8FAE0030 */ lw $t6, 0x30($sp) -/* 0AC3BC 800AB7BC 1000004D */ b .L800AB8F4 -/* 0AC3C0 800AB7C0 A1C20014 */ sb $v0, 0x14($t6) -.L800AB7C4: -/* 0AC3C4 800AB7C4 27A30024 */ addiu $v1, $sp, 0x24 -/* 0AC3C8 800AB7C8 24090008 */ li $t1, 8 -/* 0AC3CC 800AB7CC 24080005 */ li $t0, 5 -/* 0AC3D0 800AB7D0 24070004 */ li $a3, 4 -/* 0AC3D4 800AB7D4 24020006 */ li $v0, 6 -.L800AB7D8: -/* 0AC3D8 800AB7D8 8CCF001C */ lw $t7, 0x1c($a2) -/* 0AC3DC 800AB7DC 05E10004 */ bgez $t7, .L800AB7F0 -/* 0AC3E0 800AB7E0 31F80003 */ andi $t8, $t7, 3 -/* 0AC3E4 800AB7E4 13000002 */ beqz $t8, .L800AB7F0 -/* 0AC3E8 800AB7E8 00000000 */ nop -/* 0AC3EC 800AB7EC 2718FFFC */ addiu $t8, $t8, -4 -.L800AB7F0: -/* 0AC3F0 800AB7F0 14B80004 */ bne $a1, $t8, .L800AB804 -/* 0AC3F4 800AB7F4 00000000 */ nop -/* 0AC3F8 800AB7F8 8C6D0000 */ lw $t5, ($v1) -/* 0AC3FC 800AB7FC 1000000C */ b .L800AB830 -/* 0AC400 800AB800 A1A20014 */ sb $v0, 0x14($t5) -.L800AB804: -/* 0AC404 800AB804 00A80019 */ multu $a1, $t0 -/* 0AC408 800AB808 8CD90020 */ lw $t9, 0x20($a2) -/* 0AC40C 800AB80C 00005012 */ mflo $t2 -/* 0AC410 800AB810 032A082A */ slt $at, $t9, $t2 -/* 0AC414 800AB814 50200005 */ beql $at, $zero, .L800AB82C -/* 0AC418 800AB818 8C6C0000 */ lw $t4, ($v1) -/* 0AC41C 800AB81C 8C6B0000 */ lw $t3, ($v1) -/* 0AC420 800AB820 10000003 */ b .L800AB830 -/* 0AC424 800AB824 A1670014 */ sb $a3, 0x14($t3) -/* 0AC428 800AB828 8C6C0000 */ lw $t4, ($v1) -.L800AB82C: -/* 0AC42C 800AB82C A1890014 */ sb $t1, 0x14($t4) -.L800AB830: -/* 0AC430 800AB830 8C6E0000 */ lw $t6, ($v1) -/* 0AC434 800AB834 24AF0001 */ addiu $t7, $a1, 1 -/* 0AC438 800AB838 A1C40015 */ sb $a0, 0x15($t6) -/* 0AC43C 800AB83C 8CD8001C */ lw $t8, 0x1c($a2) -/* 0AC440 800AB840 07010004 */ bgez $t8, .L800AB854 -/* 0AC444 800AB844 330D0003 */ andi $t5, $t8, 3 -/* 0AC448 800AB848 11A00002 */ beqz $t5, .L800AB854 -/* 0AC44C 800AB84C 00000000 */ nop -/* 0AC450 800AB850 25ADFFFC */ addiu $t5, $t5, -4 -.L800AB854: -/* 0AC454 800AB854 15ED0004 */ bne $t7, $t5, .L800AB868 -/* 0AC458 800AB858 00000000 */ nop -/* 0AC45C 800AB85C 8C790004 */ lw $t9, 4($v1) -/* 0AC460 800AB860 1000000D */ b .L800AB898 -/* 0AC464 800AB864 A3220014 */ sb $v0, 0x14($t9) -.L800AB868: -/* 0AC468 800AB868 00A80019 */ multu $a1, $t0 -/* 0AC46C 800AB86C 8CCA0020 */ lw $t2, 0x20($a2) -/* 0AC470 800AB870 00005812 */ mflo $t3 -/* 0AC474 800AB874 256C0005 */ addiu $t4, $t3, 5 -/* 0AC478 800AB878 014C082A */ slt $at, $t2, $t4 -/* 0AC47C 800AB87C 50200005 */ beql $at, $zero, .L800AB894 -/* 0AC480 800AB880 8C780004 */ lw $t8, 4($v1) -/* 0AC484 800AB884 8C6E0004 */ lw $t6, 4($v1) -/* 0AC488 800AB888 10000003 */ b .L800AB898 -/* 0AC48C 800AB88C A1C70014 */ sb $a3, 0x14($t6) -/* 0AC490 800AB890 8C780004 */ lw $t8, 4($v1) -.L800AB894: -/* 0AC494 800AB894 A3090014 */ sb $t1, 0x14($t8) -.L800AB898: -/* 0AC498 800AB898 8C6F0004 */ lw $t7, 4($v1) -/* 0AC49C 800AB89C 24A50002 */ addiu $a1, $a1, 2 -/* 0AC4A0 800AB8A0 24630008 */ addiu $v1, $v1, 8 -/* 0AC4A4 800AB8A4 14A7FFCC */ bne $a1, $a3, .L800AB7D8 -/* 0AC4A8 800AB8A8 A1E40015 */ sb $a0, 0x15($t7) -/* 0AC4AC 800AB8AC 10000012 */ b .L800AB8F8 -/* 0AC4B0 800AB8B0 8FBF0014 */ lw $ra, 0x14($sp) -.L800AB8B4: -/* 0AC4B4 800AB8B4 A1A40015 */ sb $a0, 0x15($t5) -/* 0AC4B8 800AB8B8 8FB90024 */ lw $t9, 0x24($sp) -/* 0AC4BC 800AB8BC 24020006 */ li $v0, 6 -/* 0AC4C0 800AB8C0 A3220014 */ sb $v0, 0x14($t9) -/* 0AC4C4 800AB8C4 8FAB0028 */ lw $t3, 0x28($sp) -/* 0AC4C8 800AB8C8 A1640015 */ sb $a0, 0x15($t3) -/* 0AC4CC 800AB8CC 8FAA0028 */ lw $t2, 0x28($sp) -/* 0AC4D0 800AB8D0 A1420014 */ sb $v0, 0x14($t2) -/* 0AC4D4 800AB8D4 8FAC002C */ lw $t4, 0x2c($sp) -/* 0AC4D8 800AB8D8 A1840015 */ sb $a0, 0x15($t4) -/* 0AC4DC 800AB8DC 8FAE002C */ lw $t6, 0x2c($sp) -/* 0AC4E0 800AB8E0 A1C20014 */ sb $v0, 0x14($t6) -/* 0AC4E4 800AB8E4 8FB80030 */ lw $t8, 0x30($sp) -/* 0AC4E8 800AB8E8 A3040015 */ sb $a0, 0x15($t8) -/* 0AC4EC 800AB8EC 8FAF0030 */ lw $t7, 0x30($sp) -/* 0AC4F0 800AB8F0 A1E20014 */ sb $v0, 0x14($t7) -.L800AB8F4: -/* 0AC4F4 800AB8F4 8FBF0014 */ lw $ra, 0x14($sp) -.L800AB8F8: -/* 0AC4F8 800AB8F8 27BD0040 */ addiu $sp, $sp, 0x40 -/* 0AC4FC 800AB8FC 03E00008 */ jr $ra -/* 0AC500 800AB900 00000000 */ nop diff --git a/asm/non_matchings/menu_items/render_lap_times.s b/asm/non_matchings/menu_items/render_lap_times.s deleted file mode 100644 index 3e88d3e63..000000000 --- a/asm/non_matchings/menu_items/render_lap_times.s +++ /dev/null @@ -1,215 +0,0 @@ -.section .rodata - -glabel D_800F0C54 -.asciiz "'" -.balign 4 - -glabel D_800F0C58 -.asciiz "\"" -.balign 4 - -.section .late_rodata - -glabel D_800F1DC8 -.float 0.65 - -.section .text - -glabel render_lap_times -/* 0A534C 800A474C 27BDFFB0 */ addiu $sp, $sp, -0x50 -/* 0A5350 800A4750 3C0E800E */ lui $t6, %hi(gGamestate) # $t6, 0x800e -/* 0A5354 800A4754 8DCEC50C */ lw $t6, %lo(gGamestate)($t6) -/* 0A5358 800A4758 24010004 */ li $at, 4 -/* 0A535C 800A475C AFBF0024 */ sw $ra, 0x24($sp) -/* 0A5360 800A4760 F7B40018 */ sdc1 $f20, 0x18($sp) -/* 0A5364 800A4764 AFA40050 */ sw $a0, 0x50($sp) -/* 0A5368 800A4768 AFA50054 */ sw $a1, 0x54($sp) -/* 0A536C 800A476C 15C10003 */ bne $t6, $at, .L800A477C -/* 0A5370 800A4770 AFA60058 */ sw $a2, 0x58($sp) -/* 0A5374 800A4774 10000003 */ b .L800A4784 -/* 0A5378 800A4778 AFA00030 */ sw $zero, 0x30($sp) -.L800A477C: -/* 0A537C 800A477C 240F0001 */ li $t7, 1 -/* 0A5380 800A4780 AFAF0030 */ sw $t7, 0x30($sp) -.L800A4784: -/* 0A5384 800A4784 8FB80050 */ lw $t8, 0x50($sp) -/* 0A5388 800A4788 2B010005 */ slti $at, $t8, 5 -/* 0A538C 800A478C 50200012 */ beql $at, $zero, .L800A47D8 -/* 0A5390 800A4790 8FA80030 */ lw $t0, 0x30($sp) -/* 0A5394 800A4794 8FB90030 */ lw $t9, 0x30($sp) -/* 0A5398 800A4798 8FA40050 */ lw $a0, 0x50($sp) -/* 0A539C 800A479C 3C058019 */ lui $a1, %hi(gTimeTrialDataCourseIndex) # $a1, 0x8019 -/* 0A53A0 800A47A0 17200005 */ bnez $t9, .L800A47B8 -/* 0A53A4 800A47A4 00000000 */ nop -/* 0A53A8 800A47A8 0C02D389 */ jal func_800B4E24 -/* 0A53AC 800A47AC 03002025 */ move $a0, $t8 -/* 0A53B0 800A47B0 10000004 */ b .L800A47C4 -/* 0A53B4 800A47B4 AFA20048 */ sw $v0, 0x48($sp) -.L800A47B8: -/* 0A53B8 800A47B8 0C02D3AD */ jal func_800B4EB4 -/* 0A53BC 800A47BC 80A5EDF7 */ lb $a1, %lo(gTimeTrialDataCourseIndex)($a1) -/* 0A53C0 800A47C0 AFA20048 */ sw $v0, 0x48($sp) -.L800A47C4: -/* 0A53C4 800A47C4 0C024C36 */ jal set_text_color -/* 0A53C8 800A47C8 24040001 */ li $a0, 1 -/* 0A53CC 800A47CC 1000000D */ b .L800A4804 -/* 0A53D0 800A47D0 8FA90050 */ lw $t1, 0x50($sp) -/* 0A53D4 800A47D4 8FA80030 */ lw $t0, 0x30($sp) -.L800A47D8: -/* 0A53D8 800A47D8 3C048019 */ lui $a0, %hi(gTimeTrialDataCourseIndex) # $a0, 0x8019 -/* 0A53DC 800A47DC 15000005 */ bnez $t0, .L800A47F4 -/* 0A53E0 800A47E0 00000000 */ nop -/* 0A53E4 800A47E4 0C02D3CB */ jal func_800B4F2C -/* 0A53E8 800A47E8 00000000 */ nop -/* 0A53EC 800A47EC 10000004 */ b .L800A4800 -/* 0A53F0 800A47F0 AFA20048 */ sw $v0, 0x48($sp) -.L800A47F4: -/* 0A53F4 800A47F4 0C02D3EC */ jal func_800B4FB0 -/* 0A53F8 800A47F8 8084EDF7 */ lb $a0, %lo(gTimeTrialDataCourseIndex)($a0) -/* 0A53FC 800A47FC AFA20048 */ sw $v0, 0x48($sp) -.L800A4800: -/* 0A5400 800A4800 8FA90050 */ lw $t1, 0x50($sp) -.L800A4804: -/* 0A5404 800A4804 3C01800F */ lui $at, %hi(D_800F1DC8) # $at, 0x800f -/* 0A5408 800A4808 C4341DC8 */ lwc1 $f20, %lo(D_800F1DC8)($at) -/* 0A540C 800A480C 8FA40054 */ lw $a0, 0x54($sp) -/* 0A5410 800A4810 3C06800E */ lui $a2, %hi(D_800E7744) -/* 0A5414 800A4814 00095080 */ sll $t2, $t1, 2 -/* 0A5418 800A4818 00CA3021 */ addu $a2, $a2, $t2 -/* 0A541C 800A481C 8CC67744 */ lw $a2, %lo(D_800E7744)($a2) -/* 0A5420 800A4820 8FA50058 */ lw $a1, 0x58($sp) -/* 0A5424 800A4824 24070002 */ li $a3, 2 -/* 0A5428 800A4828 E7B40010 */ swc1 $f20, 0x10($sp) -/* 0A542C 800A482C E7B40014 */ swc1 $f20, 0x14($sp) -/* 0A5430 800A4830 0C024E72 */ jal func_800939C8 -/* 0A5434 800A4834 24840014 */ addiu $a0, $a0, 0x14 -/* 0A5438 800A4838 8FAB0030 */ lw $t3, 0x30($sp) -/* 0A543C 800A483C 55600024 */ bnel $t3, $zero, .L800A48D0 -/* 0A5440 800A4840 24020003 */ li $v0, 3 -/* 0A5444 800A4844 0C02ABBD */ jal find_menu_items_dupe -/* 0A5448 800A4848 240400BB */ li $a0, 187 -/* 0A544C 800A484C 8FAC0050 */ lw $t4, 0x50($sp) -/* 0A5450 800A4850 29810005 */ slti $at, $t4, 5 -/* 0A5454 800A4854 50200010 */ beql $at, $zero, .L800A4898 -/* 0A5458 800A4858 8C590020 */ lw $t9, 0x20($v0) -/* 0A545C 800A485C 8C4D001C */ lw $t5, 0x1c($v0) -/* 0A5460 800A4860 3C0E800E */ lui $t6, %hi(gGlobalTimer) # $t6, 0x800e -/* 0A5464 800A4864 24020003 */ li $v0, 3 -/* 0A5468 800A4868 158D0008 */ bne $t4, $t5, .L800A488C -/* 0A546C 800A486C 00000000 */ nop -/* 0A5470 800A4870 8DCEC54C */ lw $t6, %lo(gGlobalTimer)($t6) -/* 0A5474 800A4874 24010003 */ li $at, 3 -/* 0A5478 800A4878 01C1001A */ div $zero, $t6, $at -/* 0A547C 800A487C 00007810 */ mfhi $t7 -/* 0A5480 800A4880 AFAF0040 */ sw $t7, 0x40($sp) -/* 0A5484 800A4884 10000013 */ b .L800A48D4 -/* 0A5488 800A4888 00000000 */ nop -.L800A488C: -/* 0A548C 800A488C 10000011 */ b .L800A48D4 -/* 0A5490 800A4890 AFA20040 */ sw $v0, 0x40($sp) -/* 0A5494 800A4894 8C590020 */ lw $t9, 0x20($v0) -.L800A4898: -/* 0A5498 800A4898 24020003 */ li $v0, 3 -/* 0A549C 800A489C 13200009 */ beqz $t9, .L800A48C4 -/* 0A54A0 800A48A0 00000000 */ nop -/* 0A54A4 800A48A4 3C02800E */ lui $v0, %hi(gGlobalTimer) # $v0, 0x800e -/* 0A54A8 800A48A8 8C42C54C */ lw $v0, %lo(gGlobalTimer)($v0) -/* 0A54AC 800A48AC 24010003 */ li $at, 3 -/* 0A54B0 800A48B0 0041001A */ div $zero, $v0, $at -/* 0A54B4 800A48B4 0000C010 */ mfhi $t8 -/* 0A54B8 800A48B8 AFB80040 */ sw $t8, 0x40($sp) -/* 0A54BC 800A48BC 10000005 */ b .L800A48D4 -/* 0A54C0 800A48C0 00000000 */ nop -.L800A48C4: -/* 0A54C4 800A48C4 10000003 */ b .L800A48D4 -/* 0A54C8 800A48C8 AFA20040 */ sw $v0, 0x40($sp) -/* 0A54CC 800A48CC 24020003 */ li $v0, 3 -.L800A48D0: -/* 0A54D0 800A48D0 AFA20040 */ sw $v0, 0x40($sp) -.L800A48D4: -/* 0A54D4 800A48D4 0C024C36 */ jal set_text_color -/* 0A54D8 800A48D8 8FA40040 */ lw $a0, 0x40($sp) -/* 0A54DC 800A48DC 8FA40048 */ lw $a0, 0x48($sp) -/* 0A54E0 800A48E0 3C01000F */ lui $at, (0x000FFFFF >> 16) # lui $at, 0xf -/* 0A54E4 800A48E4 3421FFFF */ ori $at, (0x000FFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 0A54E8 800A48E8 00814024 */ and $t0, $a0, $at -/* 0A54EC 800A48EC 01002025 */ move $a0, $t0 -/* 0A54F0 800A48F0 AFA8002C */ sw $t0, 0x2c($sp) -/* 0A54F4 800A48F4 0C029E3D */ jal get_time_record_minutes -/* 0A54F8 800A48F8 27A50038 */ addiu $a1, $sp, 0x38 -/* 0A54FC 800A48FC 8FA40054 */ lw $a0, 0x54($sp) -/* 0A5500 800A4900 8FA50058 */ lw $a1, 0x58($sp) -/* 0A5504 800A4904 27A60038 */ addiu $a2, $sp, 0x38 -/* 0A5508 800A4908 00003825 */ move $a3, $zero -/* 0A550C 800A490C E7B40010 */ swc1 $f20, 0x10($sp) -/* 0A5510 800A4910 E7B40014 */ swc1 $f20, 0x14($sp) -/* 0A5514 800A4914 0C024E72 */ jal func_800939C8 -/* 0A5518 800A4918 24840027 */ addiu $a0, $a0, 0x27 -/* 0A551C 800A491C 8FA40054 */ lw $a0, 0x54($sp) -/* 0A5520 800A4920 3C06800F */ lui $a2, %hi(D_800F0C54) # $a2, 0x800f -/* 0A5524 800A4924 24C60C54 */ addiu $a2, %lo(D_800F0C54) # addiu $a2, $a2, 0xc54 -/* 0A5528 800A4928 8FA50058 */ lw $a1, 0x58($sp) -/* 0A552C 800A492C 00003825 */ move $a3, $zero -/* 0A5530 800A4930 E7B40010 */ swc1 $f20, 0x10($sp) -/* 0A5534 800A4934 E7B40014 */ swc1 $f20, 0x14($sp) -/* 0A5538 800A4938 0C024CC9 */ jal print_text_mode_1 -/* 0A553C 800A493C 24840032 */ addiu $a0, $a0, 0x32 -/* 0A5540 800A4940 8FA4002C */ lw $a0, 0x2c($sp) -/* 0A5544 800A4944 0C029E51 */ jal get_time_record_seconds -/* 0A5548 800A4948 27A50038 */ addiu $a1, $sp, 0x38 -/* 0A554C 800A494C 8FA40054 */ lw $a0, 0x54($sp) -/* 0A5550 800A4950 8FA50058 */ lw $a1, 0x58($sp) -/* 0A5554 800A4954 27A60038 */ addiu $a2, $sp, 0x38 -/* 0A5558 800A4958 00003825 */ move $a3, $zero -/* 0A555C 800A495C E7B40010 */ swc1 $f20, 0x10($sp) -/* 0A5560 800A4960 E7B40014 */ swc1 $f20, 0x14($sp) -/* 0A5564 800A4964 0C024E72 */ jal func_800939C8 -/* 0A5568 800A4968 2484003B */ addiu $a0, $a0, 0x3b -/* 0A556C 800A496C 8FA40054 */ lw $a0, 0x54($sp) -/* 0A5570 800A4970 3C06800F */ lui $a2, %hi(D_800F0C58) # $a2, 0x800f -/* 0A5574 800A4974 24C60C58 */ addiu $a2, %lo(D_800F0C58) # addiu $a2, $a2, 0xc58 -/* 0A5578 800A4978 8FA50058 */ lw $a1, 0x58($sp) -/* 0A557C 800A497C 00003825 */ move $a3, $zero -/* 0A5580 800A4980 E7B40010 */ swc1 $f20, 0x10($sp) -/* 0A5584 800A4984 E7B40014 */ swc1 $f20, 0x14($sp) -/* 0A5588 800A4988 0C024CC9 */ jal print_text_mode_1 -/* 0A558C 800A498C 24840046 */ addiu $a0, $a0, 0x46 -/* 0A5590 800A4990 8FA4002C */ lw $a0, 0x2c($sp) -/* 0A5594 800A4994 0C029E69 */ jal get_time_record_centiseconds -/* 0A5598 800A4998 27A50038 */ addiu $a1, $sp, 0x38 -/* 0A559C 800A499C 8FA40054 */ lw $a0, 0x54($sp) -/* 0A55A0 800A49A0 8FA50058 */ lw $a1, 0x58($sp) -/* 0A55A4 800A49A4 27A60038 */ addiu $a2, $sp, 0x38 -/* 0A55A8 800A49A8 00003825 */ move $a3, $zero -/* 0A55AC 800A49AC E7B40010 */ swc1 $f20, 0x10($sp) -/* 0A55B0 800A49B0 E7B40014 */ swc1 $f20, 0x14($sp) -/* 0A55B4 800A49B4 0C024E72 */ jal func_800939C8 -/* 0A55B8 800A49B8 24840050 */ addiu $a0, $a0, 0x50 -/* 0A55BC 800A49BC 8FA9002C */ lw $t1, 0x2c($sp) -/* 0A55C0 800A49C0 3C010009 */ lui $at, (0x000927C0 >> 16) # lui $at, 9 -/* 0A55C4 800A49C4 342127C0 */ ori $at, (0x000927C0 & 0xFFFF) # ori $at, $at, 0x27c0 -/* 0A55C8 800A49C8 0121082B */ sltu $at, $t1, $at -/* 0A55CC 800A49CC 10200005 */ beqz $at, .L800A49E4 -/* 0A55D0 800A49D0 8FA40054 */ lw $a0, 0x54($sp) -/* 0A55D4 800A49D4 8FA20048 */ lw $v0, 0x48($sp) -/* 0A55D8 800A49D8 00025502 */ srl $t2, $v0, 0x14 -/* 0A55DC 800A49DC 10000002 */ b .L800A49E8 -/* 0A55E0 800A49E0 01401025 */ move $v0, $t2 -.L800A49E4: -/* 0A55E4 800A49E4 24020008 */ li $v0, 8 -.L800A49E8: -/* 0A55E8 800A49E8 00025880 */ sll $t3, $v0, 2 -/* 0A55EC 800A49EC 3C06800E */ lui $a2, %hi(D_800E76A8) -/* 0A55F0 800A49F0 00CB3021 */ addu $a2, $a2, $t3 -/* 0A55F4 800A49F4 8CC676A8 */ lw $a2, %lo(D_800E76A8)($a2) -/* 0A55F8 800A49F8 24840078 */ addiu $a0, $a0, 0x78 -/* 0A55FC 800A49FC 8FA50058 */ lw $a1, 0x58($sp) -/* 0A5600 800A4A00 00003825 */ move $a3, $zero -/* 0A5604 800A4A04 E7B40010 */ swc1 $f20, 0x10($sp) -/* 0A5608 800A4A08 0C024DBB */ jal print_text1_center_mode_1 -/* 0A560C 800A4A0C E7B40014 */ swc1 $f20, 0x14($sp) -/* 0A5610 800A4A10 8FBF0024 */ lw $ra, 0x24($sp) -/* 0A5614 800A4A14 D7B40018 */ ldc1 $f20, 0x18($sp) -/* 0A5618 800A4A18 27BD0050 */ addiu $sp, $sp, 0x50 -/* 0A561C 800A4A1C 03E00008 */ jr $ra -/* 0A5620 800A4A20 00000000 */ nop diff --git a/asm/non_matchings/menu_items/render_menus.s b/asm/non_matchings/menu_items/render_menus.s deleted file mode 100644 index f25c72942..000000000 --- a/asm/non_matchings/menu_items/render_menus.s +++ /dev/null @@ -1,1451 +0,0 @@ -.section .rodata - -glabel D_800F0C14 -.asciiz "'" -.balign 4 - -glabel D_800F0C18 -.asciiz "\"" -.balign 4 - -.section .late_rodata - -glabel jpt_800F15E4 -.word L800A08BC, L800A08BC, L800A08BC, L800A08BC -.word L800A08BC, L800A08BC, L800A08BC, L800A08BC -.word L800A08BC, L800A08BC, L800A08BC, L800A08BC -.word L800A08BC, L800A08BC, L800A08BC, L800A08BC -.word L800A08BC, L800A08BC, L800A08BC, L800A08BC -.word L800A08BC, L800A08BC, L800A08BC, L800A08BC -.word L800A08BC, L800A08BC, L800A08BC, L800A08BC -.word L800A08BC, L800A08BC, L800A08BC, L800A08BC -.word L800A08BC, L800A08BC, L800A08BC, L800A08BC -.word L800A08BC, L800A08BC, L800A08BC, L800A08BC -.word L800A08BC, L800A08BC, L800A08BC, L800A08BC -.word L800A08BC, L800A08BC, L800A08BC, L800A08BC -.word L800A08BC, L800A08BC, L800A08BC, L800A08BC -.word L800A08BC, L800A08BC, L800A08BC, L800A08BC -.word L800A08BC, L800A08BC, L800A08BC, L800A08BC -.word L800A08BC, L800A08BC, L800A08BC - -glabel jpt_800F16E0 -.word L800A07FC, L800A080C, L800A081C, L800A082C -.word L800A083C, L800A084C - -glabel jpt_800F16F8 -.word L800A0240, L800A0280, L800A0280, L800A0280 -.word L800A0280, L800A08C4, L800A01F8, L800A01F8 -.word L800A01F8, L800A01F8, L800A01F8, L800A02A4 -.word L800A0620, L800A0270, L800A0270, L800A0270 -.word L800A0270, L800A08C4, L800A08C4, L800A02DC -.word L800A02DC, L800A036C, L800A037C, L800A03F4 -.word L800A08C4, L800A08C4, L800A08C4, L800A08C4 -.word L800A035C, L800A08C4, L800A08C4, L800A08C4 -.word L800A08C4, L800A08C4, L800A08C4, L800A08C4 -.word L800A08C4, L800A08C4, L800A0404, L800A0404 -.word L800A0404, L800A0404, L800A0568, L800A0568 -.word L800A0568, L800A0568, L800A0568, L800A0568 -.word L800A0568, L800A0568, L800A0568, L800A0568 -.word L800A0568, L800A0568, L800A0568, L800A0568 -.word L800A0568, L800A0568, L800A0428, L800A0558 -.word L800A08C4, L800A08C4, L800A08C4, L800A08C4 -.word L800A08C4, L800A08C4, L800A08C4, L800A08C4 -.word L800A0578, L800A05C4, L800A0610, L800A08C4 -.word L800A08C4, L800A08C4, L800A08C4, L800A08C4 -.word L800A08C4, L800A08C4, L800A01DC, L800A01DC -.word L800A08C4, L800A08C4, L800A08C4, L800A08C4 -.word L800A08C4, L800A08C4, L800A08C4, L800A08C4 -.word L800A0644, L800A0654, L800A0664, L800A08C4 -.word L800A08C4, L800A0674, L800A0684, L800A0694 -.word L800A0694, L800A0694, L800A0694, L800A08C4 -.word L800A08C4, L800A08C4, L800A08C4, L800A071C -.word L800A072C, L800A08C4, L800A073C, L800A075C -.word L800A08C4, L800A08C4, L800A08C4, L800A08C4 -.word L800A08C4, L800A08C4, L800A08C4, L800A08C4 -.word L800A08C4, L800A074C, L800A08C4, L800A08C4 -.word L800A08C4, L800A08C4, L800A08C4, L800A08C4 -.word L800A08C4, L800A08C4, L800A08C4, L800A08C4 -.word L8009F6FC, L8009F714, L8009F72C, L8009F74C -.word L8009F804, L8009F820, L8009F830, L8009F830 -.word L800A08C4, L800A08C4, L800A08C4, L800A08C4 -.word L800A08C4, L800A08C4, L800A08C4, L800A08C4 -.word L800A08C4, L800A08C4, L800A08C4, L800A08C4 -.word L800A076C, L800A077C, L800A078C, L800A079C -.word L800A07AC, L800A08C4, L800A08C4, L800A08C4 -.word L800A08C4, L800A08C4, L800A07BC, L800A07CC -.word L800A08C4, L800A08C4, L800A08C4, L800A08C4 -.word L800A08C4, L800A08C4, L800A08C4, L800A08C4 -.word L8009F6CC, L8009F6E4, L800A08C4, L800A08C4 -.word L800A08C4, L800A08C4, L800A08C4, L800A08C4 -.word L800A08C4, L800A08C4, L800A08C4, L800A08C4 -.word L800A08C4, L800A08C4, L800A08C4, L800A08C4 -.word L800A08C4, L800A08C4, L800A08C4, L800A08C4 -.word L800A07EC - -glabel jpt_800F19EC -.word L8009F844, L8009F874, L8009F8B8, L8009FB24 -.word L8009F904, L800A08C4, L800A08C4, L800A08C4 -.word L800A08C4, L8009FD14, L8009FD34, L8009FD34 -.word L8009FD34, L8009FD34, L8009FD58, L8009FD90 -.word L8009FD90, L8009FE9C, L8009FE9C, L8009FE9C -.word L8009FE9C, L8009FE9C, L8009FE9C, L8009FE9C -.word L8009FE9C, L800A08C4, L800A00CC, L800A08C4 -.word L800A08C4, L800A08C4, L800A08C4, L800A08C4 -.word L800A08C4, L800A08C4, L8009FCD8, L8009FCD8 -.word L8009FCD8, L800A08C4, L800A08C4, L800A08C4 -.word L800A08C4, L800A00DC, L800A01BC, L800A01BC -.word L800A01BC, L800A01BC, L800A01BC, L800A01BC -.word L800A01BC, L800A01BC, L800A0184, L800A00FC -.word L800A00FC, L800A00FC, L800A00FC - -glabel D_800F1AC8 -.float 0.9 - -glabel D_800F1ACC -.float 0.9 - -glabel jpt_800F1AD0 -.word L8009FF0C, L8009FF0C, L8009FF0C, L8009FF0C -.word L8009FF50, L8009FF50, L8009FF90, L8009FF90 - -glabel D_800F1AF0 -.float 0.6 - -glabel D_800F1AF4 -.float 0.8 - -glabel D_800F1AF8 -.float 0.8 - -glabel D_800F1AFC -.float 0.55 - -.section .text - -glabel render_menus -/* 0A01E0 8009F5E0 27BDFF50 */ addiu $sp, $sp, -0xb0 -/* 0A01E4 8009F5E4 AFBF0034 */ sw $ra, 0x34($sp) -/* 0A01E8 8009F5E8 AFB10030 */ sw $s1, 0x30($sp) -/* 0A01EC 8009F5EC AFB0002C */ sw $s0, 0x2c($sp) -/* 0A01F0 8009F5F0 808E0015 */ lb $t6, 0x15($a0) -/* 0A01F4 8009F5F4 3C108015 */ lui $s0, %hi(gDisplayListHead) # $s0, 0x8015 -/* 0A01F8 8009F5F8 00808825 */ move $s1, $a0 -/* 0A01FC 8009F5FC 11C004B1 */ beqz $t6, .L800A08C4 -/* 0A0200 8009F600 26100298 */ addiu $s0, %lo(gDisplayListHead) # addiu $s0, $s0, 0x298 -/* 0A0204 8009F604 8E030000 */ lw $v1, ($s0) -/* 0A0208 8009F608 3C18E700 */ lui $t8, 0xe700 -/* 0A020C 8009F60C 246F0008 */ addiu $t7, $v1, 8 -/* 0A0210 8009F610 AE0F0000 */ sw $t7, ($s0) -/* 0A0214 8009F614 AC600004 */ sw $zero, 4($v1) -/* 0A0218 8009F618 AC780000 */ sw $t8, ($v1) -/* 0A021C 8009F61C 8C880000 */ lw $t0, ($a0) -/* 0A0220 8009F620 2901010F */ slti $at, $t0, 0x10f -/* 0A0224 8009F624 14200015 */ bnez $at, .L8009F67C -/* 0A0228 8009F628 01002025 */ move $a0, $t0 -/* 0A022C 8009F62C 28810131 */ slti $at, $a0, 0x131 -/* 0A0230 8009F630 1420000A */ bnez $at, .L8009F65C -/* 0A0234 8009F634 2489FED5 */ addiu $t1, $a0, -0x12b -/* 0A0238 8009F638 2499FE70 */ addiu $t9, $a0, -0x190 -/* 0A023C 8009F63C 2F21003F */ sltiu $at, $t9, 0x3f -/* 0A0240 8009F640 102004A0 */ beqz $at, .L800A08C4 -/* 0A0244 8009F644 0019C880 */ sll $t9, $t9, 2 -/* 0A0248 8009F648 3C01800F */ lui $at, %hi(jpt_800F15E4) -/* 0A024C 8009F64C 00390821 */ addu $at, $at, $t9 -/* 0A0250 8009F650 8C3915E4 */ lw $t9, %lo(jpt_800F15E4)($at) -/* 0A0254 8009F654 03200008 */ jr $t9 -/* 0A0258 8009F658 00000000 */ nop -.L8009F65C: -/* 0A025C 8009F65C 2D210006 */ sltiu $at, $t1, 6 -/* 0A0260 8009F660 10200498 */ beqz $at, .L800A08C4 -/* 0A0264 8009F664 00094880 */ sll $t1, $t1, 2 -/* 0A0268 8009F668 3C01800F */ lui $at, %hi(jpt_800F16E0) -/* 0A026C 8009F66C 00290821 */ addu $at, $at, $t1 -/* 0A0270 8009F670 8C2916E0 */ lw $t1, %lo(jpt_800F16E0)($at) -/* 0A0274 8009F674 01200008 */ jr $t1 -/* 0A0278 8009F678 00000000 */ nop -.L8009F67C: -/* 0A027C 8009F67C 28810038 */ slti $at, $a0, 0x38 -/* 0A0280 8009F680 1420000A */ bnez $at, .L8009F6AC -/* 0A0284 8009F684 248BFFFF */ addiu $t3, $a0, -1 -/* 0A0288 8009F688 248AFFAE */ addiu $t2, $a0, -0x52 -/* 0A028C 8009F68C 2D4100BD */ sltiu $at, $t2, 0xbd -/* 0A0290 8009F690 1020048C */ beqz $at, .L800A08C4 -/* 0A0294 8009F694 000A5080 */ sll $t2, $t2, 2 -/* 0A0298 8009F698 3C01800F */ lui $at, %hi(jpt_800F16F8) -/* 0A029C 8009F69C 002A0821 */ addu $at, $at, $t2 -/* 0A02A0 8009F6A0 8C2A16F8 */ lw $t2, %lo(jpt_800F16F8)($at) -/* 0A02A4 8009F6A4 01400008 */ jr $t2 -/* 0A02A8 8009F6A8 00000000 */ nop -.L8009F6AC: -/* 0A02AC 8009F6AC 2D610037 */ sltiu $at, $t3, 0x37 -/* 0A02B0 8009F6B0 10200484 */ beqz $at, .L800A08C4 -/* 0A02B4 8009F6B4 000B5880 */ sll $t3, $t3, 2 -/* 0A02B8 8009F6B8 3C01800F */ lui $at, %hi(jpt_800F19EC) -/* 0A02BC 8009F6BC 002B0821 */ addu $at, $at, $t3 -/* 0A02C0 8009F6C0 8C2B19EC */ lw $t3, %lo(jpt_800F19EC)($at) -/* 0A02C4 8009F6C4 01600008 */ jr $t3 -/* 0A02C8 8009F6C8 00000000 */ nop -glabel L8009F6CC -/* 0A02CC 8009F6CC 3C048015 */ lui $a0, %hi(gGfxPool) # $a0, 0x8015 -/* 0A02D0 8009F6D0 8C84EF40 */ lw $a0, %lo(gGfxPool)($a0) -/* 0A02D4 8009F6D4 0C025198 */ jal func_80094660 -/* 0A02D8 8009F6D8 8E25001C */ lw $a1, 0x1c($s1) -/* 0A02DC 8009F6DC 1000047A */ b .L800A08C8 -/* 0A02E0 8009F6E0 8FBF0034 */ lw $ra, 0x34($sp) -glabel L8009F6E4 -/* 0A02E4 8009F6E4 3C048015 */ lui $a0, %hi(gGfxPool) # $a0, 0x8015 -/* 0A02E8 8009F6E8 8C84EF40 */ lw $a0, %lo(gGfxPool)($a0) -/* 0A02EC 8009F6EC 0C0251ED */ jal render_checkered_flag -/* 0A02F0 8009F6F0 8E25001C */ lw $a1, 0x1c($s1) -/* 0A02F4 8009F6F4 10000474 */ b .L800A08C8 -/* 0A02F8 8009F6F8 8FBF0034 */ lw $ra, 0x34($sp) -glabel L8009F6FC -/* 0A02FC 8009F6FC 3C050200 */ lui $a1, %hi(D_020014C8) # $a1, 0x200 -/* 0A0300 8009F700 24A514C8 */ addiu $a1, %lo(D_020014C8) # addiu $a1, $a1, 0x14c8 -/* 0A0304 8009F704 0C026E74 */ jal func_8009B9D0 -/* 0A0308 8009F708 8E040000 */ lw $a0, ($s0) -/* 0A030C 8009F70C 1000046D */ b .L800A08C4 -/* 0A0310 8009F710 AE020000 */ sw $v0, ($s0) -glabel L8009F714 -/* 0A0314 8009F714 3C050200 */ lui $a1, %hi(D_02001540) # $a1, 0x200 -/* 0A0318 8009F718 24A51540 */ addiu $a1, %lo(D_02001540) # addiu $a1, $a1, 0x1540 -/* 0A031C 8009F71C 0C026E74 */ jal func_8009B9D0 -/* 0A0320 8009F720 8E040000 */ lw $a0, ($s0) -/* 0A0324 8009F724 10000467 */ b .L800A08C4 -/* 0A0328 8009F728 AE020000 */ sw $v0, ($s0) -glabel L8009F72C -/* 0A032C 8009F72C 0C028278 */ jal func_800A09E0 -/* 0A0330 8009F730 02202025 */ move $a0, $s1 -/* 0A0334 8009F734 0C0282B4 */ jal func_800A0AD0 -/* 0A0338 8009F738 02202025 */ move $a0, $s1 -/* 0A033C 8009F73C 0C0282E0 */ jal func_800A0B80 -/* 0A0340 8009F740 02202025 */ move $a0, $s1 -/* 0A0344 8009F744 10000460 */ b .L800A08C8 -/* 0A0348 8009F748 8FBF0034 */ lw $ra, 0x34($sp) -glabel L8009F74C -/* 0A034C 8009F74C 8E030000 */ lw $v1, ($s0) -/* 0A0350 8009F750 3C11FA00 */ lui $s1, 0xfa00 -/* 0A0354 8009F754 240D00FF */ li $t5, 255 -/* 0A0358 8009F758 246C0008 */ addiu $t4, $v1, 8 -/* 0A035C 8009F75C AE0C0000 */ sw $t4, ($s0) -/* 0A0360 8009F760 3C050200 */ lui $a1, %hi(D_020015A4) # $a1, 0x200 -/* 0A0364 8009F764 AC6D0004 */ sw $t5, 4($v1) -/* 0A0368 8009F768 AC710000 */ sw $s1, ($v1) -/* 0A036C 8009F76C 8E040000 */ lw $a0, ($s0) -/* 0A0370 8009F770 0C026E74 */ jal func_8009B9D0 -/* 0A0374 8009F774 24A515A4 */ addiu $a1, %lo(D_020015A4) # addiu $a1, $a1, 0x15a4 -/* 0A0378 8009F778 AE020000 */ sw $v0, ($s0) -/* 0A037C 8009F77C 244E0008 */ addiu $t6, $v0, 8 -/* 0A0380 8009F780 AE0E0000 */ sw $t6, ($s0) -/* 0A0384 8009F784 3C0F3200 */ lui $t7, (0x320000FF >> 16) # lui $t7, 0x3200 -/* 0A0388 8009F788 35EF00FF */ ori $t7, (0x320000FF & 0xFFFF) # ori $t7, $t7, 0xff -/* 0A038C 8009F78C AC4F0004 */ sw $t7, 4($v0) -/* 0A0390 8009F790 AC510000 */ sw $s1, ($v0) -/* 0A0394 8009F794 3C050200 */ lui $a1, %hi(D_020015CC) # $a1, 0x200 -/* 0A0398 8009F798 24A515CC */ addiu $a1, %lo(D_020015CC) # addiu $a1, $a1, 0x15cc -/* 0A039C 8009F79C 0C026E74 */ jal func_8009B9D0 -/* 0A03A0 8009F7A0 8E040000 */ lw $a0, ($s0) -/* 0A03A4 8009F7A4 AE020000 */ sw $v0, ($s0) -/* 0A03A8 8009F7A8 24580008 */ addiu $t8, $v0, 8 -/* 0A03AC 8009F7AC AE180000 */ sw $t8, ($s0) -/* 0A03B0 8009F7B0 3C190032 */ lui $t9, (0x003200FF >> 16) -/* 0A03B4 8009F7B4 373900FF */ ori $t9, (0x003200FF & 0xFFFF) # ori $t9, $t9, 0xff -/* 0A03B8 8009F7B8 AC590004 */ sw $t9, 4($v0) -/* 0A03BC 8009F7BC AC510000 */ sw $s1, ($v0) -/* 0A03C0 8009F7C0 3C050200 */ lui $a1, %hi(D_02001630) # $a1, 0x200 -/* 0A03C4 8009F7C4 24A51630 */ addiu $a1, %lo(D_02001630) # addiu $a1, $a1, 0x1630 -/* 0A03C8 8009F7C8 0C026E74 */ jal func_8009B9D0 -/* 0A03CC 8009F7CC 8E040000 */ lw $a0, ($s0) -/* 0A03D0 8009F7D0 AE020000 */ sw $v0, ($s0) -/* 0A03D4 8009F7D4 24490008 */ addiu $t1, $v0, 8 -/* 0A03D8 8009F7D8 AE090000 */ sw $t1, ($s0) -/* 0A03DC 8009F7DC 3C0A3232 */ lui $t2, (0x323200FF >> 16) # lui $t2, 0x3232 -/* 0A03E0 8009F7E0 354A00FF */ ori $t2, (0x323200FF & 0xFFFF) # ori $t2, $t2, 0xff -/* 0A03E4 8009F7E4 AC4A0004 */ sw $t2, 4($v0) -/* 0A03E8 8009F7E8 AC510000 */ sw $s1, ($v0) -/* 0A03EC 8009F7EC 3C050200 */ lui $a1, %hi(D_02001658) # $a1, 0x200 -/* 0A03F0 8009F7F0 24A51658 */ addiu $a1, %lo(D_02001658) # addiu $a1, $a1, 0x1658 -/* 0A03F4 8009F7F4 0C026E74 */ jal func_8009B9D0 -/* 0A03F8 8009F7F8 8E040000 */ lw $a0, ($s0) -/* 0A03FC 8009F7FC 10000431 */ b .L800A08C4 -/* 0A0400 8009F800 AE020000 */ sw $v0, ($s0) -glabel L8009F804 -/* 0A0404 8009F804 8E240018 */ lw $a0, %lo(D_FA000018)($s1) -/* 0A0408 8009F808 8E25000C */ lw $a1, %lo(D_FA00000C)($s1) -/* 0A040C 8009F80C 8E260010 */ lw $a2, %lo(D_FA000010)($s1) -/* 0A0410 8009F810 0C0269DB */ jal func_8009A76C -/* 0A0414 8009F814 2407FFFF */ li $a3, -1 -/* 0A0418 8009F818 1000042B */ b .L800A08C8 -/* 0A041C 8009F81C 8FBF0034 */ lw $ra, 0x34($sp) -glabel L8009F820 -/* 0A0420 8009F820 0C02837F */ jal func_800A0DFC -/* 0A0424 8009F824 00000000 */ nop -/* 0A0428 8009F828 10000427 */ b .L800A08C8 -/* 0A042C 8009F82C 8FBF0034 */ lw $ra, 0x34($sp) -glabel L8009F830 -/* 0A0430 8009F830 02202025 */ move $a0, $s1 -/* 0A0434 8009F834 0C0283AE */ jal func_800A0EB8 -/* 0A0438 8009F838 2505FF28 */ addiu $a1, $t0, -0xd8 -/* 0A043C 8009F83C 10000422 */ b .L800A08C8 -/* 0A0440 8009F840 8FBF0034 */ lw $ra, 0x34($sp) -glabel L8009F844 -/* 0A0444 8009F844 0C02D557 */ jal has_unlocked_extra_mode -/* 0A0448 8009F848 00000000 */ nop -/* 0A044C 8009F84C 00025880 */ sll $t3, $v0, 2 -/* 0A0450 8009F850 3C05800E */ lui $a1, %hi(gMenuTexturesBackground) -/* 0A0454 8009F854 00AB2821 */ addu $a1, $a1, $t3 -/* 0A0458 8009F858 8CA57D4C */ lw $a1, %lo(gMenuTexturesBackground)($a1) -/* 0A045C 8009F85C 8E040000 */ lw $a0, ($s0) -/* 0A0460 8009F860 8E26000C */ lw $a2, %lo(D_FA00000C)($s1) -/* 0A0464 8009F864 0C026E9D */ jal render_menu_textures -/* 0A0468 8009F868 8E270010 */ lw $a3, %lo(D_FA000010)($s1) -/* 0A046C 8009F86C 10000415 */ b .L800A08C4 -/* 0A0470 8009F870 AE020000 */ sw $v0, ($s0) -glabel L8009F874 -/* 0A0474 8009F874 8E24000C */ lw $a0, %lo(D_FA00000C)($s1) -/* 0A0478 8009F878 8E250010 */ lw $a1, %lo(D_FA000010)($s1) -/* 0A047C 8009F87C 248400A0 */ addiu $a0, $a0, 0xa0 -/* 0A0480 8009F880 24A50047 */ addiu $a1, $a1, 0x47 -/* 0A0484 8009F884 00057400 */ sll $t6, $a1, 0x10 -/* 0A0488 8009F888 00046400 */ sll $t4, $a0, 0x10 -/* 0A048C 8009F88C 000C2403 */ sra $a0, $t4, 0x10 -/* 0A0490 8009F890 0C013235 */ jal render_game_logo -/* 0A0494 8009F894 000E2C03 */ sra $a1, $t6, 0x10 -/* 0A0498 8009F898 3C050200 */ lui $a1, %hi(seg2_copyright_1996_texture) # $a1, 0x200 -/* 0A049C 8009F89C 24A545E8 */ addiu $a1, %lo(seg2_copyright_1996_texture) # addiu $a1, $a1, 0x45e8 -/* 0A04A0 8009F8A0 8E040000 */ lw $a0, ($s0) -/* 0A04A4 8009F8A4 8E26000C */ lw $a2, %lo(D_FA00000C)($s1) -/* 0A04A8 8009F8A8 0C026E9D */ jal render_menu_textures -/* 0A04AC 8009F8AC 8E270010 */ lw $a3, %lo(D_FA000010)($s1) -/* 0A04B0 8009F8B0 10000404 */ b .L800A08C4 -/* 0A04B4 8009F8B4 AE020000 */ sw $v0, ($s0) -glabel L8009F8B8 -/* 0A04B8 8009F8B8 3C18800E */ lui $t8, %hi(gGlobalTimer) # $t8, 0x800e -/* 0A04BC 8009F8BC 8F18C54C */ lw $t8, %lo(gGlobalTimer)($t8) -/* 0A04C0 8009F8C0 3C050200 */ lui $a1, %hi(seg2_push_start_button_texture) # $a1, 0x200 -/* 0A04C4 8009F8C4 24A54610 */ addiu $a1, %lo(seg2_push_start_button_texture) # addiu $a1, $a1, 0x4610 -/* 0A04C8 8009F8C8 07010003 */ bgez $t8, .L8009F8D8 -/* 0A04CC 8009F8CC 0018C8C3 */ sra $t9, $t8, 3 -/* 0A04D0 8009F8D0 27010007 */ addiu $at, $t8, 7 -/* 0A04D4 8009F8D4 0001C8C3 */ sra $t9, $at, 3 -.L8009F8D8: -/* 0A04D8 8009F8D8 24010003 */ li $at, 3 -/* 0A04DC 8009F8DC 0321001A */ div $zero, $t9, $at -/* 0A04E0 8009F8E0 00004810 */ mfhi $t1 -/* 0A04E4 8009F8E4 512003F8 */ beql $t1, $zero, .L800A08C8 -/* 0A04E8 8009F8E8 8FBF0034 */ lw $ra, 0x34($sp) -/* 0A04EC 8009F8EC 8E040000 */ lw $a0, ($s0) -/* 0A04F0 8009F8F0 8E26000C */ lw $a2, %lo(D_FA00000C)($s1) -/* 0A04F4 8009F8F4 0C026E9D */ jal render_menu_textures -/* 0A04F8 8009F8F8 8E270010 */ lw $a3, %lo(D_FA000010)($s1) -/* 0A04FC 8009F8FC 100003F1 */ b .L800A08C4 -/* 0A0500 8009F900 AE020000 */ sw $v0, ($s0) -glabel L8009F904 -/* 0A0504 8009F904 3C11800E */ lui $s1, %hi(gCourseNamesDup) # $s1, 0x800e -/* 0A0508 8009F908 26317574 */ addiu $s1, %lo(gCourseNamesDup) # addiu $s1, $s1, 0x7574 -/* 0A050C 8009F90C 0C024C0D */ jal get_string_width -/* 0A0510 8009F910 8E240000 */ lw $a0, ($s1) -/* 0A0514 8009F914 244A0005 */ addiu $t2, $v0, 5 -/* 0A0518 8009F918 448A2000 */ mtc1 $t2, $f4 -/* 0A051C 8009F91C 3C01800F */ lui $at, %hi(D_800F1AC8) # $at, 0x800f -/* 0A0520 8009F920 C4281AC8 */ lwc1 $f8, %lo(D_800F1AC8)($at) -/* 0A0524 8009F924 468021A0 */ cvt.s.w $f6, $f4 -/* 0A0528 8009F928 240D00A0 */ li $t5, 160 -/* 0A052C 8009F92C 240E00A4 */ li $t6, 164 -/* 0A0530 8009F930 240F0096 */ li $t7, 150 -/* 0A0534 8009F934 AFAF0020 */ sw $t7, 0x20($sp) -/* 0A0538 8009F938 AFAE0010 */ sw $t6, 0x10($sp) -/* 0A053C 8009F93C 46083282 */ mul.s $f10, $f6, $f8 -/* 0A0540 8009F940 8E040000 */ lw $a0, ($s0) -/* 0A0544 8009F944 2406007B */ li $a2, 123 -/* 0A0548 8009F948 AFA00014 */ sw $zero, 0x14($sp) -/* 0A054C 8009F94C AFA00018 */ sw $zero, 0x18($sp) -/* 0A0550 8009F950 AFA0001C */ sw $zero, 0x1c($sp) -/* 0A0554 8009F954 4600540D */ trunc.w.s $f16, $f10 -/* 0A0558 8009F958 44038000 */ mfc1 $v1, $f16 -/* 0A055C 8009F95C 00000000 */ nop -/* 0A0560 8009F960 04610003 */ bgez $v1, .L8009F970 -/* 0A0564 8009F964 00036043 */ sra $t4, $v1, 1 -/* 0A0568 8009F968 24610001 */ addiu $at, $v1, 1 -/* 0A056C 8009F96C 00016043 */ sra $t4, $at, 1 -.L8009F970: -/* 0A0570 8009F970 01801825 */ move $v1, $t4 -/* 0A0574 8009F974 01AC2823 */ subu $a1, $t5, $t4 -/* 0A0578 8009F978 0C02637E */ jal draw_box -/* 0A057C 8009F97C 258700A0 */ addiu $a3, $t4, 0xa0 -/* 0A0580 8009F980 AE020000 */ sw $v0, ($s0) -/* 0A0584 8009F984 0C024C36 */ jal set_text_color -/* 0A0588 8009F988 24040001 */ li $a0, 1 -/* 0A058C 8009F98C 3C01800F */ lui $at, %hi(D_800F1ACC) # $at, 0x800f -/* 0A0590 8009F990 C4201ACC */ lwc1 $f0, %lo(D_800F1ACC)($at) -/* 0A0594 8009F994 2404009B */ li $a0, 155 -/* 0A0598 8009F998 2405008C */ li $a1, 140 -/* 0A059C 8009F99C 8E260000 */ lw $a2, ($s1) -/* 0A05A0 8009F9A0 00003825 */ move $a3, $zero -/* 0A05A4 8009F9A4 E7A00010 */ swc1 $f0, 0x10($sp) -/* 0A05A8 8009F9A8 0C024DBB */ jal print_text1_center_mode_1 -/* 0A05AC 8009F9AC E7A00014 */ swc1 $f0, 0x14($sp) -/* 0A05B0 8009F9B0 00002025 */ move $a0, $zero -/* 0A05B4 8009F9B4 0C02D3AD */ jal func_800B4EB4 -/* 0A05B8 8009F9B8 24050007 */ li $a1, 7 -/* 0A05BC 8009F9BC 3C01000F */ lui $at, (0x000FFFFF >> 16) -/* 0A05C0 8009F9C0 3421FFFF */ ori $at, (0x000FFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 0A05C4 8009F9C4 00411824 */ and $v1, $v0, $at -/* 0A05C8 8009F9C8 28611EAA */ slti $at, $v1, 0x1eaa -/* 0A05CC 8009F9CC 1020000C */ beqz $at, .L8009FA00 -/* 0A05D0 8009F9D0 00608825 */ move $s1, $v1 -/* 0A05D4 8009F9D4 3C04800E */ lui $a0, %hi(gGlobalTimer) # $a0, 0x800e -/* 0A05D8 8009F9D8 8C84C54C */ lw $a0, %lo(gGlobalTimer)($a0) -/* 0A05DC 8009F9DC 04810004 */ bgez $a0, .L8009F9F0 -/* 0A05E0 8009F9E0 30980001 */ andi $t8, $a0, 1 -/* 0A05E4 8009F9E4 13000002 */ beqz $t8, .L8009F9F0 -/* 0A05E8 8009F9E8 00000000 */ nop -/* 0A05EC 8009F9EC 2718FFFE */ addiu $t8, $t8, -2 -.L8009F9F0: -/* 0A05F0 8009F9F0 0C024C36 */ jal set_text_color -/* 0A05F4 8009F9F4 03002025 */ move $a0, $t8 -/* 0A05F8 8009F9F8 1000000F */ b .L8009FA38 -/* 0A05FC 8009F9FC 27B00080 */ addiu $s0, $sp, 0x80 -.L8009FA00: -/* 0A0600 8009FA00 28612329 */ slti $at, $v1, 0x2329 -/* 0A0604 8009FA04 10200009 */ beqz $at, .L8009FA2C -/* 0A0608 8009FA08 3C04800E */ lui $a0, %hi(gGlobalTimer) # $a0, 0x800e -/* 0A060C 8009FA0C 8C84C54C */ lw $a0, %lo(gGlobalTimer)($a0) -/* 0A0610 8009FA10 24010003 */ li $at, 3 -/* 0A0614 8009FA14 0081001A */ div $zero, $a0, $at -/* 0A0618 8009FA18 00002010 */ mfhi $a0 -/* 0A061C 8009FA1C 0C024C36 */ jal set_text_color -/* 0A0620 8009FA20 00000000 */ nop -/* 0A0624 8009FA24 10000004 */ b .L8009FA38 -/* 0A0628 8009FA28 27B00080 */ addiu $s0, $sp, 0x80 -.L8009FA2C: -/* 0A062C 8009FA2C 0C024C36 */ jal set_text_color -/* 0A0630 8009FA30 24040003 */ li $a0, 3 -/* 0A0634 8009FA34 27B00080 */ addiu $s0, $sp, 0x80 -.L8009FA38: -/* 0A0638 8009FA38 02002825 */ move $a1, $s0 -/* 0A063C 8009FA3C 0C029E3D */ jal get_time_record_minutes -/* 0A0640 8009FA40 02202025 */ move $a0, $s1 -/* 0A0644 8009FA44 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0A0648 8009FA48 44810000 */ mtc1 $at, $f0 -/* 0A064C 8009FA4C 24040077 */ li $a0, 119 -/* 0A0650 8009FA50 240500A0 */ li $a1, 160 -/* 0A0654 8009FA54 02003025 */ move $a2, $s0 -/* 0A0658 8009FA58 00003825 */ move $a3, $zero -/* 0A065C 8009FA5C E7A00010 */ swc1 $f0, 0x10($sp) -/* 0A0660 8009FA60 0C024E72 */ jal func_800939C8 -/* 0A0664 8009FA64 E7A00014 */ swc1 $f0, 0x14($sp) -/* 0A0668 8009FA68 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0A066C 8009FA6C 44810000 */ mtc1 $at, $f0 -/* 0A0670 8009FA70 3C06800F */ lui $a2, %hi(D_800F0C14) # $a2, 0x800f -/* 0A0674 8009FA74 24C60C14 */ addiu $a2, %lo(D_800F0C14) # addiu $a2, $a2, 0xc14 -/* 0A0678 8009FA78 2404008B */ li $a0, 139 -/* 0A067C 8009FA7C 240500A0 */ li $a1, 160 -/* 0A0680 8009FA80 00003825 */ move $a3, $zero -/* 0A0684 8009FA84 E7A00010 */ swc1 $f0, 0x10($sp) -/* 0A0688 8009FA88 0C024CC9 */ jal print_text_mode_1 -/* 0A068C 8009FA8C E7A00014 */ swc1 $f0, 0x14($sp) -/* 0A0690 8009FA90 02202025 */ move $a0, $s1 -/* 0A0694 8009FA94 0C029E51 */ jal get_time_record_seconds -/* 0A0698 8009FA98 02002825 */ move $a1, $s0 -/* 0A069C 8009FA9C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0A06A0 8009FAA0 44810000 */ mtc1 $at, $f0 -/* 0A06A4 8009FAA4 24040094 */ li $a0, 148 -/* 0A06A8 8009FAA8 240500A0 */ li $a1, 160 -/* 0A06AC 8009FAAC 02003025 */ move $a2, $s0 -/* 0A06B0 8009FAB0 00003825 */ move $a3, $zero -/* 0A06B4 8009FAB4 E7A00010 */ swc1 $f0, 0x10($sp) -/* 0A06B8 8009FAB8 0C024E72 */ jal func_800939C8 -/* 0A06BC 8009FABC E7A00014 */ swc1 $f0, 0x14($sp) -/* 0A06C0 8009FAC0 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0A06C4 8009FAC4 44810000 */ mtc1 $at, $f0 -/* 0A06C8 8009FAC8 3C06800F */ lui $a2, %hi(D_800F0C18) # $a2, 0x800f -/* 0A06CC 8009FACC 24C60C18 */ addiu $a2, %lo(D_800F0C18) # addiu $a2, $a2, 0xc18 -/* 0A06D0 8009FAD0 240400A7 */ li $a0, 167 -/* 0A06D4 8009FAD4 240500A0 */ li $a1, 160 -/* 0A06D8 8009FAD8 00003825 */ move $a3, $zero -/* 0A06DC 8009FADC E7A00010 */ swc1 $f0, 0x10($sp) -/* 0A06E0 8009FAE0 0C024CC9 */ jal print_text_mode_1 -/* 0A06E4 8009FAE4 E7A00014 */ swc1 $f0, 0x14($sp) -/* 0A06E8 8009FAE8 02202025 */ move $a0, $s1 -/* 0A06EC 8009FAEC 0C029E69 */ jal get_time_record_centiseconds -/* 0A06F0 8009FAF0 02002825 */ move $a1, $s0 -/* 0A06F4 8009FAF4 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0A06F8 8009FAF8 44819000 */ mtc1 $at, $f18 -/* 0A06FC 8009FAFC 44812000 */ mtc1 $at, $f4 -/* 0A0700 8009FB00 240400B4 */ li $a0, 180 -/* 0A0704 8009FB04 240500A0 */ li $a1, 160 -/* 0A0708 8009FB08 02003025 */ move $a2, $s0 -/* 0A070C 8009FB0C 00003825 */ move $a3, $zero -/* 0A0710 8009FB10 E7B20010 */ swc1 $f18, 0x10($sp) -/* 0A0714 8009FB14 0C024E72 */ jal func_800939C8 -/* 0A0718 8009FB18 E7A40014 */ swc1 $f4, 0x14($sp) -/* 0A071C 8009FB1C 1000036A */ b .L800A08C8 -/* 0A0720 8009FB20 8FBF0034 */ lw $ra, 0x34($sp) -glabel L8009FB24 -/* 0A0724 8009FB24 3C11800E */ lui $s1, %hi(gTextNoController) # $s1, 0x800e -/* 0A0728 8009FB28 263177A0 */ addiu $s1, %lo(gTextNoController) # addiu $s1, $s1, 0x77a0 -/* 0A072C 8009FB2C 0C024C0D */ jal get_string_width -/* 0A0730 8009FB30 8E240000 */ lw $a0, ($s1) -/* 0A0734 8009FB34 8E240004 */ lw $a0, 4($s1) -/* 0A0738 8009FB38 0C024C0D */ jal get_string_width -/* 0A073C 8009FB3C AFA20058 */ sw $v0, 0x58($sp) -/* 0A0740 8009FB40 8FA80058 */ lw $t0, 0x58($sp) -/* 0A0744 8009FB44 0102082A */ slt $at, $t0, $v0 -/* 0A0748 8009FB48 50200003 */ beql $at, $zero, .L8009FB58 -/* 0A074C 8009FB4C 44883000 */ mtc1 $t0, $f6 -/* 0A0750 8009FB50 00404025 */ move $t0, $v0 -/* 0A0754 8009FB54 44883000 */ mtc1 $t0, $f6 -.L8009FB58: -/* 0A0758 8009FB58 3C013F40 */ li $at, 0x3F400000 # 0.750000 -/* 0A075C 8009FB5C 44810000 */ mtc1 $at, $f0 -/* 0A0760 8009FB60 46803220 */ cvt.s.w $f8, $f6 -/* 0A0764 8009FB64 240B00A0 */ li $t3, 160 -/* 0A0768 8009FB68 240E00B6 */ li $t6, 182 -/* 0A076C 8009FB6C 24180096 */ li $t8, 150 -/* 0A0770 8009FB70 AFB80020 */ sw $t8, 0x20($sp) -/* 0A0774 8009FB74 8E040000 */ lw $a0, ($s0) -/* 0A0778 8009FB78 46004282 */ mul.s $f10, $f8, $f0 -/* 0A077C 8009FB7C 44804000 */ mtc1 $zero, $f8 -/* 0A0780 8009FB80 AFA00014 */ sw $zero, 0x14($sp) -/* 0A0784 8009FB84 AFA00018 */ sw $zero, 0x18($sp) -/* 0A0788 8009FB88 AFA0001C */ sw $zero, 0x1c($sp) -/* 0A078C 8009FB8C 4600540D */ trunc.w.s $f16, $f10 -/* 0A0790 8009FB90 44028000 */ mfc1 $v0, $f16 -/* 0A0794 8009FB94 44808000 */ mtc1 $zero, $f16 -/* 0A0798 8009FB98 04410003 */ bgez $v0, .L8009FBA8 -/* 0A079C 8009FB9C 00025043 */ sra $t2, $v0, 1 -/* 0A07A0 8009FBA0 24410001 */ addiu $at, $v0, 1 -/* 0A07A4 8009FBA4 00015043 */ sra $t2, $at, 1 -.L8009FBA8: -/* 0A07A8 8009FBA8 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 0A07AC 8009FBAC 44819000 */ mtc1 $at, $f18 -/* 0A07B0 8009FBB0 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 -/* 0A07B4 8009FBB4 44814800 */ mtc1 $at, $f9 -/* 0A07B8 8009FBB8 46120102 */ mul.s $f4, $f0, $f18 -/* 0A07BC 8009FBBC 3C014030 */ li $at, 0x40300000 # 2.750000 -/* 0A07C0 8009FBC0 44818800 */ mtc1 $at, $f17 -/* 0A07C4 8009FBC4 01401025 */ move $v0, $t2 -/* 0A07C8 8009FBC8 244700A0 */ addiu $a3, $v0, 0xa0 -/* 0A07CC 8009FBCC 016A2823 */ subu $a1, $t3, $t2 -/* 0A07D0 8009FBD0 460021A1 */ cvt.d.s $f6, $f4 -/* 0A07D4 8009FBD4 46283280 */ add.d $f10, $f6, $f8 -/* 0A07D8 8009FBD8 46305482 */ mul.d $f18, $f10, $f16 -/* 0A07DC 8009FBDC 4620910D */ trunc.w.d $f4, $f18 -/* 0A07E0 8009FBE0 44032000 */ mfc1 $v1, $f4 -/* 0A07E4 8009FBE4 00000000 */ nop -/* 0A07E8 8009FBE8 04610003 */ bgez $v1, .L8009FBF8 -/* 0A07EC 8009FBEC 00036843 */ sra $t5, $v1, 1 -/* 0A07F0 8009FBF0 24610001 */ addiu $at, $v1, 1 -/* 0A07F4 8009FBF4 00016843 */ sra $t5, $at, 1 -.L8009FBF8: -/* 0A07F8 8009FBF8 25AF00B6 */ addiu $t7, $t5, 0xb6 -/* 0A07FC 8009FBFC AFAF0010 */ sw $t7, 0x10($sp) -/* 0A0800 8009FC00 01A01825 */ move $v1, $t5 -/* 0A0804 8009FC04 0C02637E */ jal draw_box -/* 0A0808 8009FC08 01CD3023 */ subu $a2, $t6, $t5 -/* 0A080C 8009FC0C AE020000 */ sw $v0, ($s0) -/* 0A0810 8009FC10 0C024C36 */ jal set_text_color -/* 0A0814 8009FC14 24040004 */ li $a0, 4 -/* 0A0818 8009FC18 3C013F40 */ li $at, 0x3F400000 # 0.750000 -/* 0A081C 8009FC1C 44810000 */ mtc1 $at, $f0 -/* 0A0820 8009FC20 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0A0824 8009FC24 44815000 */ mtc1 $at, $f10 -/* 0A0828 8009FC28 241900A0 */ li $t9, 160 -/* 0A082C 8009FC2C 44993000 */ mtc1 $t9, $f6 -/* 0A0830 8009FC30 46005402 */ mul.s $f16, $f10, $f0 -/* 0A0834 8009FC34 240A00B4 */ li $t2, 180 -/* 0A0838 8009FC38 3C02800E */ lui $v0, %hi(gTextNoController) # $v0, 0x800e -/* 0A083C 8009FC3C 244277A0 */ addiu $v0, %lo(gTextNoController) # addiu $v0, $v0, 0x77a0 -/* 0A0840 8009FC40 00001825 */ move $v1, $zero -/* 0A0844 8009FC44 46803220 */ cvt.s.w $f8, $f6 -/* 0A0848 8009FC48 448A3000 */ mtc1 $t2, $f6 -/* 0A084C 8009FC4C 00000000 */ nop -/* 0A0850 8009FC50 468030A0 */ cvt.s.w $f2, $f6 -/* 0A0854 8009FC54 46104481 */ sub.s $f18, $f8, $f16 -/* 0A0858 8009FC58 E7A20038 */ swc1 $f2, 0x38($sp) -/* 0A085C 8009FC5C 4600910D */ trunc.w.s $f4, $f18 -/* 0A0860 8009FC60 44042000 */ mfc1 $a0, $f4 -/* 0A0864 8009FC64 00000000 */ nop -/* 0A0868 8009FC68 AFA4003C */ sw $a0, 0x3c($sp) -.L8009FC6C: -/* 0A086C 8009FC6C 44835000 */ mtc1 $v1, $f10 -/* 0A0870 8009FC70 C7A20038 */ lwc1 $f2, 0x38($sp) -/* 0A0874 8009FC74 8FA4003C */ lw $a0, 0x3c($sp) -/* 0A0878 8009FC78 46805220 */ cvt.s.w $f8, $f10 -/* 0A087C 8009FC7C 8C460000 */ lw $a2, ($v0) -/* 0A0880 8009FC80 00003825 */ move $a3, $zero -/* 0A0884 8009FC84 E7A00010 */ swc1 $f0, 0x10($sp) -/* 0A0888 8009FC88 E7A00014 */ swc1 $f0, 0x14($sp) -/* 0A088C 8009FC8C AFA20040 */ sw $v0, 0x40($sp) -/* 0A0890 8009FC90 46004402 */ mul.s $f16, $f8, $f0 -/* 0A0894 8009FC94 AFA30044 */ sw $v1, 0x44($sp) -/* 0A0898 8009FC98 46101480 */ add.s $f18, $f2, $f16 -/* 0A089C 8009FC9C 4600910D */ trunc.w.s $f4, $f18 -/* 0A08A0 8009FCA0 44052000 */ mfc1 $a1, $f4 -/* 0A08A4 8009FCA4 0C024DBB */ jal print_text1_center_mode_1 -/* 0A08A8 8009FCA8 00000000 */ nop -/* 0A08AC 8009FCAC 8FA20040 */ lw $v0, 0x40($sp) -/* 0A08B0 8009FCB0 8FA30044 */ lw $v1, 0x44($sp) -/* 0A08B4 8009FCB4 3C0C800E */ lui $t4, %hi(gTextBattleIntroduction) # $t4, 0x800e -/* 0A08B8 8009FCB8 3C013F40 */ li $at, 0x3F400000 # 0.750000 -/* 0A08BC 8009FCBC 258C77A8 */ addiu $t4, %lo(gTextBattleIntroduction) # addiu $t4, $t4, 0x77a8 -/* 0A08C0 8009FCC0 44810000 */ mtc1 $at, $f0 -/* 0A08C4 8009FCC4 24420004 */ addiu $v0, $v0, 4 -/* 0A08C8 8009FCC8 144CFFE8 */ bne $v0, $t4, .L8009FC6C -/* 0A08CC 8009FCCC 24630012 */ addiu $v1, $v1, 0x12 -/* 0A08D0 8009FCD0 100002FD */ b .L800A08C8 -/* 0A08D4 8009FCD4 8FBF0034 */ lw $ra, 0x34($sp) -glabel L8009FCD8 -/* 0A08D8 8009FCD8 0C02D557 */ jal has_unlocked_extra_mode -/* 0A08DC 8009FCDC 00000000 */ nop -/* 0A08E0 8009FCE0 00026880 */ sll $t5, $v0, 2 -/* 0A08E4 8009FCE4 3C05800E */ lui $a1, %hi(gMenuTexturesBackground) -/* 0A08E8 8009FCE8 00AD2821 */ addu $a1, $a1, $t5 -/* 0A08EC 8009FCEC 8E26000C */ lw $a2, 0xc($s1) -/* 0A08F0 8009FCF0 8E270010 */ lw $a3, 0x10($s1) -/* 0A08F4 8009FCF4 240E0003 */ li $t6, 3 -/* 0A08F8 8009FCF8 AFAE0010 */ sw $t6, 0x10($sp) -/* 0A08FC 8009FCFC AFA00014 */ sw $zero, 0x14($sp) -/* 0A0900 8009FD00 8CA57D4C */ lw $a1, %lo(gMenuTexturesBackground)($a1) -/* 0A0904 8009FD04 0C026F27 */ jal func_8009BC9C -/* 0A0908 8009FD08 8E040000 */ lw $a0, ($s0) -/* 0A090C 8009FD0C 100002ED */ b .L800A08C4 -/* 0A0910 8009FD10 AE020000 */ sw $v0, ($s0) -glabel L8009FD14 -/* 0A0914 8009FD14 3C050200 */ lui $a1, %hi(seg2_game_select_texture) # $a1, 0x200 -/* 0A0918 8009FD18 24A54660 */ addiu $a1, %lo(seg2_game_select_texture) # addiu $a1, $a1, 0x4660 -/* 0A091C 8009FD1C 8E040000 */ lw $a0, ($s0) -/* 0A0920 8009FD20 8E26000C */ lw $a2, 0xc($s1) -/* 0A0924 8009FD24 0C026E9D */ jal render_menu_textures -/* 0A0928 8009FD28 8E270010 */ lw $a3, 0x10($s1) -/* 0A092C 8009FD2C 100002E5 */ b .L800A08C4 -/* 0A0930 8009FD30 AE020000 */ sw $v0, ($s0) -glabel L8009FD34 -/* 0A0934 8009FD34 2504FFF5 */ addiu $a0, $t0, -0xb -/* 0A0938 8009FD38 AFA400AC */ sw $a0, 0xac($sp) -/* 0A093C 8009FD3C 0C02A09C */ jal func_800A8270 -/* 0A0940 8009FD40 02202825 */ move $a1, $s1 -/* 0A0944 8009FD44 8FA500AC */ lw $a1, 0xac($sp) -/* 0A0948 8009FD48 0C0283E9 */ jal func_800A0FA4 -/* 0A094C 8009FD4C 02202025 */ move $a0, $s1 -/* 0A0950 8009FD50 100002DD */ b .L800A08C8 -/* 0A0954 8009FD54 8FBF0034 */ lw $ra, 0x34($sp) -glabel L8009FD58 -/* 0A0958 8009FD58 0C02A159 */ jal func_800A8564 -/* 0A095C 8009FD5C 02202025 */ move $a0, $s1 -/* 0A0960 8009FD60 8E26000C */ lw $a2, 0xc($s1) -/* 0A0964 8009FD64 8E270010 */ lw $a3, 0x10($s1) -/* 0A0968 8009FD68 240F0002 */ li $t7, 2 -/* 0A096C 8009FD6C AFAF0010 */ sw $t7, 0x10($sp) -/* 0A0970 8009FD70 8E38001C */ lw $t8, 0x1c($s1) -/* 0A0974 8009FD74 3C050200 */ lui $a1, %hi(D_0200487C) # $a1, 0x200 -/* 0A0978 8009FD78 24A5487C */ addiu $a1, %lo(D_0200487C) # addiu $a1, $a1, 0x487c -/* 0A097C 8009FD7C 8E040000 */ lw $a0, ($s0) -/* 0A0980 8009FD80 0C026F27 */ jal func_8009BC9C -/* 0A0984 8009FD84 AFB80014 */ sw $t8, 0x14($sp) -/* 0A0988 8009FD88 100002CE */ b .L800A08C4 -/* 0A098C 8009FD8C AE020000 */ sw $v0, ($s0) -glabel L8009FD90 -/* 0A0990 8009FD90 8E23001C */ lw $v1, 0x1c($s1) -/* 0A0994 8009FD94 2506FFF1 */ addiu $a2, $t0, -0xf -/* 0A0998 8009FD98 3C098019 */ lui $t1, %hi(gMainMenuSelection) # $t1, 0x8019 -/* 0A099C 8009FD9C 28610020 */ slti $at, $v1, 0x20 -/* 0A09A0 8009FDA0 50200030 */ beql $at, $zero, .L8009FE64 -/* 0A09A4 8009FDA4 2518FFF6 */ addiu $t8, $t0, -0xa -/* 0A09A8 8009FDA8 000340C0 */ sll $t0, $v1, 3 -/* 0A09AC 8009FDAC 01034023 */ subu $t0, $t0, $v1 -/* 0A09B0 8009FDB0 00084080 */ sll $t0, $t0, 2 -/* 0A09B4 8009FDB4 01034021 */ addu $t0, $t0, $v1 -/* 0A09B8 8009FDB8 00084040 */ sll $t0, $t0, 1 -/* 0A09BC 8009FDBC 8129EDED */ lb $t1, %lo(gMainMenuSelection)($t1) -/* 0A09C0 8009FDC0 05010003 */ bgez $t0, .L8009FDD0 -/* 0A09C4 8009FDC4 0008C983 */ sra $t9, $t0, 6 -/* 0A09C8 8009FDC8 2501003F */ addiu $at, $t0, 0x3f -/* 0A09CC 8009FDCC 0001C983 */ sra $t9, $at, 6 -.L8009FDD0: -/* 0A09D0 8009FDD0 14C9000F */ bne $a2, $t1, .L8009FE10 -/* 0A09D4 8009FDD4 03204025 */ move $t0, $t9 -/* 0A09D8 8009FDD8 8E22000C */ lw $v0, 0xc($s1) -/* 0A09DC 8009FDDC 8E230010 */ lw $v1, 0x10($s1) -/* 0A09E0 8009FDE0 8E040000 */ lw $a0, ($s0) -/* 0A09E4 8009FDE4 00593823 */ subu $a3, $v0, $t9 -/* 0A09E8 8009FDE8 246A0012 */ addiu $t2, $v1, 0x12 -/* 0A09EC 8009FDEC AFAA0010 */ sw $t2, 0x10($sp) -/* 0A09F0 8009FDF0 24E70039 */ addiu $a3, $a3, 0x39 -/* 0A09F4 8009FDF4 00592821 */ addu $a1, $v0, $t9 -/* 0A09F8 8009FDF8 0C025673 */ jal draw_flash_select_case_fast -/* 0A09FC 8009FDFC 00603025 */ move $a2, $v1 -/* 0A0A00 8009FE00 AE020000 */ sw $v0, ($s0) -/* 0A0A04 8009FE04 8E23001C */ lw $v1, 0x1c($s1) -/* 0A0A08 8009FE08 10000015 */ b .L8009FE60 -/* 0A0A0C 8009FE0C 8E280000 */ lw $t0, ($s1) -.L8009FE10: -/* 0A0A10 8009FE10 8E22000C */ lw $v0, 0xc($s1) -/* 0A0A14 8009FE14 8E260010 */ lw $a2, 0x10($s1) -/* 0A0A18 8009FE18 240C0001 */ li $t4, 1 -/* 0A0A1C 8009FE1C 240D0001 */ li $t5, 1 -/* 0A0A20 8009FE20 240E0001 */ li $t6, 1 -/* 0A0A24 8009FE24 240F00FF */ li $t7, 255 -/* 0A0A28 8009FE28 00483823 */ subu $a3, $v0, $t0 -/* 0A0A2C 8009FE2C 24CB0012 */ addiu $t3, $a2, 0x12 -/* 0A0A30 8009FE30 AFAB0010 */ sw $t3, 0x10($sp) -/* 0A0A34 8009FE34 24E70039 */ addiu $a3, $a3, 0x39 -/* 0A0A38 8009FE38 AFAF0020 */ sw $t7, 0x20($sp) -/* 0A0A3C 8009FE3C AFAE001C */ sw $t6, 0x1c($sp) -/* 0A0A40 8009FE40 AFAD0018 */ sw $t5, 0x18($sp) -/* 0A0A44 8009FE44 AFAC0014 */ sw $t4, 0x14($sp) -/* 0A0A48 8009FE48 8E040000 */ lw $a0, ($s0) -/* 0A0A4C 8009FE4C 0C026306 */ jal draw_box_fill -/* 0A0A50 8009FE50 00482821 */ addu $a1, $v0, $t0 -/* 0A0A54 8009FE54 AE020000 */ sw $v0, ($s0) -/* 0A0A58 8009FE58 8E23001C */ lw $v1, 0x1c($s1) -/* 0A0A5C 8009FE5C 8E280000 */ lw $t0, ($s1) -.L8009FE60: -/* 0A0A60 8009FE60 2518FFF6 */ addiu $t8, $t0, -0xa -.L8009FE64: -/* 0A0A64 8009FE64 AFB800A8 */ sw $t8, 0xa8($sp) -/* 0A0A68 8009FE68 00184880 */ sll $t1, $t8, 2 -/* 0A0A6C 8009FE6C 3C05800F */ lui $a1, %hi(D_800E8254) # 0x800f -/* 0A0A70 8009FE70 00A92821 */ addu $a1, $a1, $t1 -/* 0A0A74 8009FE74 8E270010 */ lw $a3, 0x10($s1) -/* 0A0A78 8009FE78 8E26000C */ lw $a2, 0xc($s1) -/* 0A0A7C 8009FE7C 240A0002 */ li $t2, 2 -/* 0A0A80 8009FE80 AFAA0010 */ sw $t2, 0x10($sp) -/* 0A0A84 8009FE84 AFA30014 */ sw $v1, 0x14($sp) -/* 0A0A88 8009FE88 8CA58254 */ lw $a1, %lo(D_800E8254)($a1) # -0x7dac($a1) -/* 0A0A8C 8009FE8C 0C026F27 */ jal func_8009BC9C -/* 0A0A90 8009FE90 8E040000 */ lw $a0, ($s0) -/* 0A0A94 8009FE94 1000028B */ b .L800A08C4 -/* 0A0A98 8009FE98 AE020000 */ sw $v0, ($s0) -glabel L8009FE9C -/* 0A0A9C 8009FE9C 3C028019 */ lui $v0, %hi(gPlayerCount) # $v0, 0x8019 -/* 0A0AA0 8009FEA0 8042EDF3 */ lb $v0, %lo(gPlayerCount)($v0) -/* 0A0AA4 8009FEA4 3C03800F */ lui $v1, %hi((gGameModeMenuColumn - 1)) # 0x800f -/* 0A0AA8 8009FEA8 3C06800F */ lui $a2, %hi((gGameModeSubMenuColumn - 3)) # 0x800f -/* 0A0AAC 8009FEAC 00621821 */ addu $v1, $v1, $v0 -/* 0A0AB0 8009FEB0 806386AB */ lb $v1, %lo((gGameModeMenuColumn - 1))($v1) # -0x7955($v1) -/* 0A0AB4 8009FEB4 00026880 */ sll $t5, $v0, 2 -/* 0A0AB8 8009FEB8 00025880 */ sll $t3, $v0, 2 -/* 0A0ABC 8009FEBC 01A26823 */ subu $t5, $t5, $v0 -/* 0A0AC0 8009FEC0 000D6880 */ sll $t5, $t5, 2 -/* 0A0AC4 8009FEC4 01625823 */ subu $t3, $t3, $v0 -/* 0A0AC8 8009FEC8 00037080 */ sll $t6, $v1, 2 -/* 0A0ACC 8009FECC 01AE7821 */ addu $t7, $t5, $t6 -/* 0A0AD0 8009FED0 3C05800F */ lui $a1, %hi((gGameModePlayerSelection - 0xC)) # 0x800f -/* 0A0AD4 8009FED4 2518FFEE */ addiu $t8, $t0, -0x12 -/* 0A0AD8 8009FED8 01636021 */ addu $t4, $t3, $v1 -/* 0A0ADC 8009FEDC 00CC3021 */ addu $a2, $a2, $t4 -/* 0A0AE0 8009FEE0 00AF2821 */ addu $a1, $a1, $t7 -/* 0A0AE4 8009FEE4 2F010008 */ sltiu $at, $t8, 8 -/* 0A0AE8 8009FEE8 80C686AD */ lb $a2, %lo((gGameModeSubMenuColumn - 3))($a2) # -0x7953($a2) -/* 0A0AEC 8009FEEC 10200037 */ beqz $at, .L8009FFCC -/* 0A0AF0 8009FEF0 8CA52B70 */ lw $a1, %lo((gGameModePlayerSelection - 0xC))($a1) # 0x2b70($a1) -/* 0A0AF4 8009FEF4 0018C080 */ sll $t8, $t8, 2 -/* 0A0AF8 8009FEF8 3C01800F */ lui $at, %hi(jpt_800F1AD0) -/* 0A0AFC 8009FEFC 00380821 */ addu $at, $at, $t8 -/* 0A0B00 8009FF00 8C381AD0 */ lw $t8, %lo(jpt_800F1AD0)($at) -/* 0A0B04 8009FF04 03000008 */ jr $t8 -/* 0A0B08 8009FF08 00000000 */ nop -glabel L8009FF0C -/* 0A0B0C 8009FF0C 10A00005 */ beqz $a1, .L8009FF24 -/* 0A0B10 8009FF10 24190012 */ li $t9, 18 -/* 0A0B14 8009FF14 24010002 */ li $at, 2 -/* 0A0B18 8009FF18 50A10003 */ beql $a1, $at, .L8009FF28 -/* 0A0B1C 8009FF1C 00084880 */ sll $t1, $t0, 2 -/* 0A0B20 8009FF20 2406FFFF */ li $a2, -1 -.L8009FF24: -/* 0A0B24 8009FF24 00084880 */ sll $t1, $t0, 2 -.L8009FF28: -/* 0A0B28 8009FF28 3C04800F */ lui $a0, %hi(D_800E8294-0x48) # 0x800f -/* 0A0B2C 8009FF2C 00892021 */ addu $a0, $a0, $t1 -/* 0A0B30 8009FF30 AFB900A8 */ sw $t9, 0xa8($sp) -/* 0A0B34 8009FF34 8C84824C */ lw $a0, %lo(D_800E8294-0x48)($a0) # -0x7db4($a0) -/* 0A0B38 8009FF38 0C026449 */ jal segmented_to_virtual_dupe -/* 0A0B3C 8009FF3C AFA600AC */ sw $a2, 0xac($sp) -/* 0A0B40 8009FF40 8FA600AC */ lw $a2, 0xac($sp) -/* 0A0B44 8009FF44 AFA2009C */ sw $v0, 0x9c($sp) -/* 0A0B48 8009FF48 10000020 */ b .L8009FFCC -/* 0A0B4C 8009FF4C 8FA500A8 */ lw $a1, 0xa8($sp) -glabel L8009FF50 -/* 0A0B50 8009FF50 24010002 */ li $at, 2 -/* 0A0B54 8009FF54 10A10003 */ beq $a1, $at, .L8009FF64 -/* 0A0B58 8009FF58 00085080 */ sll $t2, $t0, 2 -/* 0A0B5C 8009FF5C 1000001B */ b .L8009FFCC -/* 0A0B60 8009FF60 2406FFFF */ li $a2, -1 -.L8009FF64: -/* 0A0B64 8009FF64 3C04800F */ lui $a0, %hi(D_800E82A4-0x58) # 0x800f -/* 0A0B68 8009FF68 24050016 */ li $a1, 22 -/* 0A0B6C 8009FF6C 008A2021 */ addu $a0, $a0, $t2 -/* 0A0B70 8009FF70 8C84824C */ lw $a0, %lo(D_800E82A4-0x58)($a0) # -0x7db4($a0) -/* 0A0B74 8009FF74 AFA500A8 */ sw $a1, 0xa8($sp) -/* 0A0B78 8009FF78 0C026449 */ jal segmented_to_virtual_dupe -/* 0A0B7C 8009FF7C AFA600AC */ sw $a2, 0xac($sp) -/* 0A0B80 8009FF80 8FA600AC */ lw $a2, 0xac($sp) -/* 0A0B84 8009FF84 AFA2009C */ sw $v0, 0x9c($sp) -/* 0A0B88 8009FF88 10000010 */ b .L8009FFCC -/* 0A0B8C 8009FF8C 8FA500A8 */ lw $a1, 0xa8($sp) -glabel L8009FF90 -/* 0A0B90 8009FF90 24010001 */ li $at, 1 -/* 0A0B94 8009FF94 10A10003 */ beq $a1, $at, .L8009FFA4 -/* 0A0B98 8009FF98 00085880 */ sll $t3, $t0, 2 -/* 0A0B9C 8009FF9C 1000000B */ b .L8009FFCC -/* 0A0BA0 8009FFA0 2406FFFF */ li $a2, -1 -.L8009FFA4: -/* 0A0BA4 8009FFA4 3C04800F */ lui $a0, %hi(D_800E82AC-0x60) # 0x800f -/* 0A0BA8 8009FFA8 24050018 */ li $a1, 24 -/* 0A0BAC 8009FFAC 008B2021 */ addu $a0, $a0, $t3 -/* 0A0BB0 8009FFB0 8C84824C */ lw $a0, %lo(D_800E82AC-0x60)($a0) # -0x7db4($a0) -/* 0A0BB4 8009FFB4 AFA500A8 */ sw $a1, 0xa8($sp) -/* 0A0BB8 8009FFB8 0C026449 */ jal segmented_to_virtual_dupe -/* 0A0BBC 8009FFBC AFA600AC */ sw $a2, 0xac($sp) -/* 0A0BC0 8009FFC0 8FA600AC */ lw $a2, 0xac($sp) -/* 0A0BC4 8009FFC4 AFA2009C */ sw $v0, 0x9c($sp) -/* 0A0BC8 8009FFC8 8FA500A8 */ lw $a1, 0xa8($sp) -.L8009FFCC: -/* 0A0BCC 8009FFCC 2401FFFF */ li $at, -1 -/* 0A0BD0 8009FFD0 10C1023C */ beq $a2, $at, .L800A08C4 -/* 0A0BD4 8009FFD4 3C028019 */ lui $v0, %hi(gMainMenuSelection) # $v0, 0x8019 -/* 0A0BD8 8009FFD8 8042EDED */ lb $v0, %lo(gMainMenuSelection)($v0) -/* 0A0BDC 8009FFDC 240E0001 */ li $t6, 1 -/* 0A0BE0 8009FFE0 240F00FF */ li $t7, 255 -/* 0A0BE4 8009FFE4 28410005 */ slti $at, $v0, 5 -/* 0A0BE8 8009FFE8 54200024 */ bnel $at, $zero, .L800A007C -/* 0A0BEC 8009FFEC 8E25000C */ lw $a1, 0xc($s1) -/* 0A0BF0 8009FFF0 8E2C0000 */ lw $t4, ($s1) -/* 0A0BF4 8009FFF4 28410006 */ slti $at, $v0, 6 -/* 0A0BF8 8009FFF8 01856823 */ subu $t5, $t4, $a1 -/* 0A0BFC 8009FFFC 54CD001F */ bnel $a2, $t5, .L800A007C -/* 0A0C00 800A0000 8E25000C */ lw $a1, 0xc($s1) -/* 0A0C04 800A0004 14200011 */ bnez $at, .L800A004C -/* 0A0C08 800A0008 240F00FF */ li $t7, 255 -/* 0A0C0C 800A000C 8E25000C */ lw $a1, 0xc($s1) -/* 0A0C10 800A0010 8E260010 */ lw $a2, 0x10($s1) -/* 0A0C14 800A0014 241800F9 */ li $t8, 249 -/* 0A0C18 800A0018 241900DC */ li $t9, 220 -/* 0A0C1C 800A001C 240900FF */ li $t1, 255 -/* 0A0C20 800A0020 24CE0011 */ addiu $t6, $a2, 0x11 -/* 0A0C24 800A0024 AFAE0010 */ sw $t6, 0x10($sp) -/* 0A0C28 800A0028 AFA90020 */ sw $t1, 0x20($sp) -/* 0A0C2C 800A002C AFB9001C */ sw $t9, 0x1c($sp) -/* 0A0C30 800A0030 AFB80018 */ sw $t8, 0x18($sp) -/* 0A0C34 800A0034 AFAF0014 */ sw $t7, 0x14($sp) -/* 0A0C38 800A0038 8E040000 */ lw $a0, ($s0) -/* 0A0C3C 800A003C 0C026306 */ jal draw_box_fill -/* 0A0C40 800A0040 24A7003F */ addiu $a3, $a1, 0x3f -/* 0A0C44 800A0044 1000001A */ b .L800A00B0 -/* 0A0C48 800A0048 AE020000 */ sw $v0, ($s0) -.L800A004C: -/* 0A0C4C 800A004C 8E230010 */ lw $v1, 0x10($s1) -/* 0A0C50 800A0050 8E22000C */ lw $v0, 0xc($s1) -/* 0A0C54 800A0054 8E040000 */ lw $a0, ($s0) -/* 0A0C58 800A0058 246A0011 */ addiu $t2, $v1, 0x11 -/* 0A0C5C 800A005C AFAA0010 */ sw $t2, 0x10($sp) -/* 0A0C60 800A0060 00603025 */ move $a2, $v1 -/* 0A0C64 800A0064 00402825 */ move $a1, $v0 -/* 0A0C68 800A0068 0C025668 */ jal draw_flash_select_case_slow -/* 0A0C6C 800A006C 2447003F */ addiu $a3, $v0, 0x3f -/* 0A0C70 800A0070 1000000F */ b .L800A00B0 -/* 0A0C74 800A0074 AE020000 */ sw $v0, ($s0) -/* 0A0C78 800A0078 8E25000C */ lw $a1, 0xc($s1) -.L800A007C: -/* 0A0C7C 800A007C 8E260010 */ lw $a2, 0x10($s1) -/* 0A0C80 800A0080 240C0001 */ li $t4, 1 -/* 0A0C84 800A0084 240D0001 */ li $t5, 1 -/* 0A0C88 800A0088 24CB0011 */ addiu $t3, $a2, 0x11 -/* 0A0C8C 800A008C AFAB0010 */ sw $t3, 0x10($sp) -/* 0A0C90 800A0090 AFAD0018 */ sw $t5, 0x18($sp) -/* 0A0C94 800A0094 AFAC0014 */ sw $t4, 0x14($sp) -/* 0A0C98 800A0098 AFAF0020 */ sw $t7, 0x20($sp) -/* 0A0C9C 800A009C AFAE001C */ sw $t6, 0x1c($sp) -/* 0A0CA0 800A00A0 8E040000 */ lw $a0, ($s0) -/* 0A0CA4 800A00A4 0C026306 */ jal draw_box_fill -/* 0A0CA8 800A00A8 24A7003F */ addiu $a3, $a1, 0x3f -/* 0A0CAC 800A00AC AE020000 */ sw $v0, ($s0) -.L800A00B0: -/* 0A0CB0 800A00B0 8E040000 */ lw $a0, ($s0) -/* 0A0CB4 800A00B4 8FA5009C */ lw $a1, 0x9c($sp) -/* 0A0CB8 800A00B8 8E26000C */ lw $a2, 0xc($s1) -/* 0A0CBC 800A00BC 0C026E9D */ jal render_menu_textures -/* 0A0CC0 800A00C0 8E270010 */ lw $a3, 0x10($s1) -/* 0A0CC4 800A00C4 100001FF */ b .L800A08C4 -/* 0A0CC8 800A00C8 AE020000 */ sw $v0, ($s0) -glabel L800A00CC -/* 0A0CCC 800A00CC 0C028433 */ jal func_800A10CC -/* 0A0CD0 800A00D0 02202025 */ move $a0, $s1 -/* 0A0CD4 800A00D4 100001FC */ b .L800A08C8 -/* 0A0CD8 800A00D8 8FBF0034 */ lw $ra, 0x34($sp) -glabel L800A00DC -/* 0A0CDC 800A00DC 3C050200 */ lui $a1, %hi(D_02004B4C) # $a1, 0x200 -/* 0A0CE0 800A00E0 24A54B4C */ addiu $a1, %lo(D_02004B4C) # addiu $a1, $a1, 0x4b4c -/* 0A0CE4 800A00E4 8E040000 */ lw $a0, ($s0) -/* 0A0CE8 800A00E8 8E26000C */ lw $a2, 0xc($s1) -/* 0A0CEC 800A00EC 0C026E9D */ jal render_menu_textures -/* 0A0CF0 800A00F0 8E270010 */ lw $a3, 0x10($s1) -/* 0A0CF4 800A00F4 100001F3 */ b .L800A08C4 -/* 0A0CF8 800A00F8 AE020000 */ sw $v0, ($s0) -glabel L800A00FC -/* 0A0CFC 800A00FC 2505FFCC */ addiu $a1, $t0, -0x34 -/* 0A0D00 800A0100 3C188019 */ lui $t8, %hi(gCharacterGridSelections) # 0x8019 -/* 0A0D04 800A0104 0305C021 */ addu $t8, $t8, $a1 -/* 0A0D08 800A0108 8318EDE4 */ lb $t8, %lo(gCharacterGridSelections)($t8) # -0x121c($t8) -/* 0A0D0C 800A010C 3C198019 */ lui $t9, %hi(gCharacterGridIsSelected) # 0x8019 -/* 0A0D10 800A0110 0325C821 */ addu $t9, $t9, $a1 -/* 0A0D14 800A0114 530001EC */ beql $t8, $zero, .L800A08C8 -/* 0A0D18 800A0118 8FBF0034 */ lw $ra, 0x34($sp) -/* 0A0D1C 800A011C 8339EDE8 */ lb $t9, %lo(gCharacterGridIsSelected)($t9) # -0x1218($t9) -/* 0A0D20 800A0120 3C06800E */ lui $a2, %hi(gGlobalTimer) # $a2, 0x800e -/* 0A0D24 800A0124 17200003 */ bnez $t9, .L800A0134 -/* 0A0D28 800A0128 00000000 */ nop -/* 0A0D2C 800A012C 10000011 */ b .L800A0174 -/* 0A0D30 800A0130 240600FF */ li $a2, 255 -.L800A0134: -/* 0A0D34 800A0134 8CC6C54C */ lw $a2, %lo(gGlobalTimer)($a2) -/* 0A0D38 800A0138 04C10004 */ bgez $a2, .L800A014C -/* 0A0D3C 800A013C 30C9000F */ andi $t1, $a2, 0xf -/* 0A0D40 800A0140 11200002 */ beqz $t1, .L800A014C -/* 0A0D44 800A0144 00000000 */ nop -/* 0A0D48 800A0148 2529FFF0 */ addiu $t1, $t1, -0x10 -.L800A014C: -/* 0A0D4C 800A014C 29210008 */ slti $at, $t1, 8 -/* 0A0D50 800A0150 14200005 */ bnez $at, .L800A0168 -/* 0A0D54 800A0154 01203025 */ move $a2, $t1 -/* 0A0D58 800A0158 00093023 */ negu $a2, $t1 -/* 0A0D5C 800A015C 000650C0 */ sll $t2, $a2, 3 -/* 0A0D60 800A0160 10000003 */ b .L800A0170 -/* 0A0D64 800A0164 25460080 */ addiu $a2, $t2, 0x80 -.L800A0168: -/* 0A0D68 800A0168 000658C0 */ sll $t3, $a2, 3 -/* 0A0D6C 800A016C 01603025 */ move $a2, $t3 -.L800A0170: -/* 0A0D70 800A0170 24C600BF */ addiu $a2, $a2, 0xbf -.L800A0174: -/* 0A0D74 800A0174 0C028474 */ jal render_cursor_player -/* 0A0D78 800A0178 02202025 */ move $a0, $s1 -/* 0A0D7C 800A017C 100001D2 */ b .L800A08C8 -/* 0A0D80 800A0180 8FBF0034 */ lw $ra, 0x34($sp) -glabel L800A0184 -/* 0A0D84 800A0184 0C02A159 */ jal func_800A8564 -/* 0A0D88 800A0188 02202025 */ move $a0, $s1 -/* 0A0D8C 800A018C 8E26000C */ lw $a2, 0xc($s1) -/* 0A0D90 800A0190 8E270010 */ lw $a3, 0x10($s1) -/* 0A0D94 800A0194 240C0002 */ li $t4, 2 -/* 0A0D98 800A0198 AFAC0010 */ sw $t4, 0x10($sp) -/* 0A0D9C 800A019C 8E2D001C */ lw $t5, 0x1c($s1) -/* 0A0DA0 800A01A0 3C050200 */ lui $a1, %hi(D_02004B74) # $a1, 0x200 -/* 0A0DA4 800A01A4 24A54B74 */ addiu $a1, %lo(D_02004B74) # addiu $a1, $a1, 0x4b74 -/* 0A0DA8 800A01A8 8E040000 */ lw $a0, ($s0) -/* 0A0DAC 800A01AC 0C026F27 */ jal func_8009BC9C -/* 0A0DB0 800A01B0 AFAD0014 */ sw $t5, 0x14($sp) -/* 0A0DB4 800A01B4 100001C3 */ b .L800A08C4 -/* 0A0DB8 800A01B8 AE020000 */ sw $v0, ($s0) -glabel L800A01BC -/* 0A0DBC 800A01BC 00087080 */ sll $t6, $t0, 2 -/* 0A0DC0 800A01C0 3C04800E */ lui $a0, %hi(D_800E7D54 - 0xAC) -/* 0A0DC4 800A01C4 008E2021 */ addu $a0, $a0, $t6 -/* 0A0DC8 800A01C8 0C026449 */ jal segmented_to_virtual_dupe -/* 0A0DCC 800A01CC 8C847CA8 */ lw $a0, %lo(D_800E7D54 - 0xAC)($a0) -/* 0A0DD0 800A01D0 02202025 */ move $a0, $s1 -/* 0A0DD4 800A01D4 0C0284AF */ jal func_800A12BC -/* 0A0DD8 800A01D8 00402825 */ move $a1, $v0 -glabel L800A01DC -/* 0A0DDC 800A01DC 8E240018 */ lw $a0, 0x18($s1) -/* 0A0DE0 800A01E0 8E25000C */ lw $a1, 0xc($s1) -/* 0A0DE4 800A01E4 8E260010 */ lw $a2, 0x10($s1) -/* 0A0DE8 800A01E8 0C0269DB */ jal func_8009A76C -/* 0A0DEC 800A01EC 8E27001C */ lw $a3, 0x1c($s1) -/* 0A0DF0 800A01F0 100001B5 */ b .L800A08C8 -/* 0A0DF4 800A01F4 8FBF0034 */ lw $ra, 0x34($sp) -glabel L800A01F8 -/* 0A0DF8 800A01F8 0C02A2A6 */ jal func_800A8A98 -/* 0A0DFC 800A01FC 02202025 */ move $a0, $s1 -/* 0A0E00 800A0200 8E2F0000 */ lw $t7, ($s1) -/* 0A0E04 800A0204 3C04800F */ lui $a0, %hi(D_800E817C) # 0x800f -/* 0A0E08 800A0208 000FC080 */ sll $t8, $t7, 2 -/* 0A0E0C 800A020C 00982021 */ addu $a0, $a0, $t8 -/* 0A0E10 800A0210 0C026449 */ jal segmented_to_virtual_dupe -/* 0A0E14 800A0214 8C84817C */ lw $a0, %lo(D_800E817C)($a0) # -0x7e84($a0) -/* 0A0E18 800A0218 8E040000 */ lw $a0, ($s0) -/* 0A0E1C 800A021C 00402825 */ move $a1, $v0 -/* 0A0E20 800A0220 8E26000C */ lw $a2, 0xc($s1) -/* 0A0E24 800A0224 0C026E9D */ jal render_menu_textures -/* 0A0E28 800A0228 8E270010 */ lw $a3, 0x10($s1) -/* 0A0E2C 800A022C AE020000 */ sw $v0, ($s0) -/* 0A0E30 800A0230 0C02A329 */ jal func_800A8CA4 -/* 0A0E34 800A0234 02202025 */ move $a0, $s1 -/* 0A0E38 800A0238 100001A3 */ b .L800A08C8 -/* 0A0E3C 800A023C 8FBF0034 */ lw $ra, 0x34($sp) -glabel L800A0240 -/* 0A0E40 800A0240 0008C880 */ sll $t9, $t0, 2 -/* 0A0E44 800A0244 3C04800F */ lui $a0, %hi(D_800E817C) # 0x800f -/* 0A0E48 800A0248 00992021 */ addu $a0, $a0, $t9 -/* 0A0E4C 800A024C 0C026449 */ jal segmented_to_virtual_dupe -/* 0A0E50 800A0250 8C84817C */ lw $a0, %lo(D_800E817C)($a0) # -0x7e84($a0) -/* 0A0E54 800A0254 8E040000 */ lw $a0, ($s0) -/* 0A0E58 800A0258 00402825 */ move $a1, $v0 -/* 0A0E5C 800A025C 8E26000C */ lw $a2, 0xc($s1) -/* 0A0E60 800A0260 0C026E9D */ jal render_menu_textures -/* 0A0E64 800A0264 8E270010 */ lw $a3, 0x10($s1) -/* 0A0E68 800A0268 10000196 */ b .L800A08C4 -/* 0A0E6C 800A026C AE020000 */ sw $v0, ($s0) -glabel L800A0270 -/* 0A0E70 800A0270 0C028540 */ jal func_800A1500 -/* 0A0E74 800A0274 02202025 */ move $a0, $s1 -/* 0A0E78 800A0278 10000193 */ b .L800A08C8 -/* 0A0E7C 800A027C 8FBF0034 */ lw $ra, 0x34($sp) -glabel L800A0280 -/* 0A0E80 800A0280 2504FFAD */ addiu $a0, $t0, -0x53 -/* 0A0E84 800A0284 AFA400AC */ sw $a0, 0xac($sp) -/* 0A0E88 800A0288 0C02A243 */ jal func_800A890C -/* 0A0E8C 800A028C 02202825 */ move $a1, $s1 -/* 0A0E90 800A0290 8FA500AC */ lw $a1, 0xac($sp) -/* 0A0E94 800A0294 0C02850F */ jal func_800A143C -/* 0A0E98 800A0298 02202025 */ move $a0, $s1 -/* 0A0E9C 800A029C 1000018A */ b .L800A08C8 -/* 0A0EA0 800A02A0 8FBF0034 */ lw $ra, 0x34($sp) -glabel L800A02A4 -/* 0A0EA4 800A02A4 0C02A159 */ jal func_800A8564 -/* 0A0EA8 800A02A8 02202025 */ move $a0, $s1 -/* 0A0EAC 800A02AC 8E26000C */ lw $a2, 0xc($s1) -/* 0A0EB0 800A02B0 8E270010 */ lw $a3, 0x10($s1) -/* 0A0EB4 800A02B4 24090002 */ li $t1, 2 -/* 0A0EB8 800A02B8 AFA90010 */ sw $t1, 0x10($sp) -/* 0A0EBC 800A02BC 8E2A001C */ lw $t2, 0x1c($s1) -/* 0A0EC0 800A02C0 3C050200 */ lui $a1, %hi(D_02004E80) # $a1, 0x200 -/* 0A0EC4 800A02C4 24A54E80 */ addiu $a1, %lo(D_02004E80) # addiu $a1, $a1, 0x4e80 -/* 0A0EC8 800A02C8 8E040000 */ lw $a0, ($s0) -/* 0A0ECC 800A02CC 0C026F27 */ jal func_8009BC9C -/* 0A0ED0 800A02D0 AFAA0014 */ sw $t2, 0x14($sp) -/* 0A0ED4 800A02D4 1000017B */ b .L800A08C4 -/* 0A0ED8 800A02D8 AE020000 */ sw $v0, ($s0) -glabel L800A02DC -/* 0A0EDC 800A02DC 24010065 */ li $at, 101 -/* 0A0EE0 800A02E0 15010004 */ bne $t0, $at, .L800A02F4 -/* 0A0EE4 800A02E4 02202025 */ move $a0, $s1 -/* 0A0EE8 800A02E8 3C01800F */ lui $at, %hi(D_800F1AF0) # $at, 0x800f -/* 0A0EEC 800A02EC 10000003 */ b .L800A02FC -/* 0A0EF0 800A02F0 C4201AF0 */ lwc1 $f0, %lo(D_800F1AF0)($at) -.L800A02F4: -/* 0A0EF4 800A02F4 3C01800F */ lui $at, %hi(D_800F1AF4) # $at, 0x800f -/* 0A0EF8 800A02F8 C4201AF4 */ lwc1 $f0, %lo(D_800F1AF4)($at) -.L800A02FC: -/* 0A0EFC 800A02FC 0C02A1BA */ jal func_800A86E8 -/* 0A0F00 800A0300 E7A0004C */ swc1 $f0, 0x4c($sp) -/* 0A0F04 800A0304 0C024C36 */ jal set_text_color -/* 0A0F08 800A0308 24040003 */ li $a0, 3 -/* 0A0F0C 800A030C 8E2B0000 */ lw $t3, ($s1) -/* 0A0F10 800A0310 3C01800F */ lui $at, %hi(D_800F1AF8) # $at, 0x800f -/* 0A0F14 800A0314 C7A0004C */ lwc1 $f0, 0x4c($sp) -/* 0A0F18 800A0318 C4261AF8 */ lwc1 $f6, %lo(D_800F1AF8)($at) -/* 0A0F1C 800A031C 8E24000C */ lw $a0, 0xc($s1) -/* 0A0F20 800A0320 8E250010 */ lw $a1, 0x10($s1) -/* 0A0F24 800A0324 3C06800E */ lui $a2, %hi(gBestTimeText - 0x194) -/* 0A0F28 800A0328 000B6080 */ sll $t4, $t3, 2 -/* 0A0F2C 800A032C 00CC3021 */ addu $a2, $a2, $t4 -/* 0A0F30 800A0330 8CC67594 */ lw $a2, %lo(gBestTimeText - 0x194)($a2) -/* 0A0F34 800A0334 00003825 */ move $a3, $zero -/* 0A0F38 800A0338 E7A00010 */ swc1 $f0, 0x10($sp) -/* 0A0F3C 800A033C E7A60014 */ swc1 $f6, 0x14($sp) -/* 0A0F40 800A0340 24840008 */ addiu $a0, $a0, 8 -/* 0A0F44 800A0344 0C024CC9 */ jal print_text_mode_1 -/* 0A0F48 800A0348 24A50010 */ addiu $a1, $a1, 0x10 -/* 0A0F4C 800A034C 0C02A1D3 */ jal func_800A874C -/* 0A0F50 800A0350 02202025 */ move $a0, $s1 -/* 0A0F54 800A0354 1000015C */ b .L800A08C8 -/* 0A0F58 800A0358 8FBF0034 */ lw $ra, 0x34($sp) -glabel L800A035C -/* 0A0F5C 800A035C 0C02A385 */ jal render_battle_introduction -/* 0A0F60 800A0360 02202025 */ move $a0, $s1 -/* 0A0F64 800A0364 10000158 */ b .L800A08C8 -/* 0A0F68 800A0368 8FBF0034 */ lw $ra, 0x34($sp) -glabel L800A036C -/* 0A0F6C 800A036C 0C02A3B0 */ jal func_800A8EC0 -/* 0A0F70 800A0370 02202025 */ move $a0, $s1 -/* 0A0F74 800A0374 10000154 */ b .L800A08C8 -/* 0A0F78 800A0378 8FBF0034 */ lw $ra, 0x34($sp) -glabel L800A037C -/* 0A0F7C 800A037C 8E25000C */ lw $a1, 0xc($s1) -/* 0A0F80 800A0380 8E260010 */ lw $a2, 0x10($s1) -/* 0A0F84 800A0384 240E0001 */ li $t6, 1 -/* 0A0F88 800A0388 240F0001 */ li $t7, 1 -/* 0A0F8C 800A038C 24180001 */ li $t8, 1 -/* 0A0F90 800A0390 241900FF */ li $t9, 255 -/* 0A0F94 800A0394 24CD0011 */ addiu $t5, $a2, 0x11 -/* 0A0F98 800A0398 AFAD0010 */ sw $t5, 0x10($sp) -/* 0A0F9C 800A039C AFB90020 */ sw $t9, 0x20($sp) -/* 0A0FA0 800A03A0 AFB8001C */ sw $t8, 0x1c($sp) -/* 0A0FA4 800A03A4 AFAF0018 */ sw $t7, 0x18($sp) -/* 0A0FA8 800A03A8 AFAE0014 */ sw $t6, 0x14($sp) -/* 0A0FAC 800A03AC 8E040000 */ lw $a0, ($s0) -/* 0A0FB0 800A03B0 0C026306 */ jal draw_box_fill -/* 0A0FB4 800A03B4 24A7003F */ addiu $a3, $a1, 0x3f -/* 0A0FB8 800A03B8 AE020000 */ sw $v0, ($s0) -/* 0A0FBC 800A03BC 3C09800E */ lui $t1, %hi(gCCSelection) # $t1, 0x800e -/* 0A0FC0 800A03C0 8D29C548 */ lw $t1, %lo(gCCSelection)($t1) -/* 0A0FC4 800A03C4 3C04800F */ lui $a0, %hi(D_800E8294) # 0x800f -/* 0A0FC8 800A03C8 00095080 */ sll $t2, $t1, 2 -/* 0A0FCC 800A03CC 008A2021 */ addu $a0, $a0, $t2 -/* 0A0FD0 800A03D0 0C026449 */ jal segmented_to_virtual_dupe -/* 0A0FD4 800A03D4 8C848294 */ lw $a0, %lo(D_800E8294)($a0) # -0x7d6c($a0) -/* 0A0FD8 800A03D8 8E040000 */ lw $a0, ($s0) -/* 0A0FDC 800A03DC 00402825 */ move $a1, $v0 -/* 0A0FE0 800A03E0 8E26000C */ lw $a2, 0xc($s1) -/* 0A0FE4 800A03E4 0C026E9D */ jal render_menu_textures -/* 0A0FE8 800A03E8 8E270010 */ lw $a3, 0x10($s1) -/* 0A0FEC 800A03EC 10000135 */ b .L800A08C4 -/* 0A0FF0 800A03F0 AE020000 */ sw $v0, ($s0) -glabel L800A03F4 -/* 0A0FF4 800A03F4 0C02A3D2 */ jal func_800A8F48 -/* 0A0FF8 800A03F8 02202025 */ move $a0, $s1 -/* 0A0FFC 800A03FC 10000132 */ b .L800A08C8 -/* 0A1000 800A0400 8FBF0034 */ lw $ra, 0x34($sp) -glabel L800A0404 -/* 0A1004 800A0404 2504FF88 */ addiu $a0, $t0, -0x78 -/* 0A1008 800A0408 AFA400AC */ sw $a0, 0xac($sp) -/* 0A100C 800A040C 0C02A435 */ jal func_800A90D4 -/* 0A1010 800A0410 02202825 */ move $a1, $s1 -/* 0A1014 800A0414 8FA500AC */ lw $a1, 0xac($sp) -/* 0A1018 800A0418 0C02850F */ jal func_800A143C -/* 0A101C 800A041C 02202025 */ move $a0, $s1 -/* 0A1020 800A0420 10000129 */ b .L800A08C8 -/* 0A1024 800A0424 8FBF0034 */ lw $ra, 0x34($sp) -glabel L800A0428 -/* 0A1028 800A0428 3C028019 */ lui $v0, %hi(gMainMenuSelection) # $v0, 0x8019 -/* 0A102C 800A042C 8042EDED */ lb $v0, %lo(gMainMenuSelection)($v0) -/* 0A1030 800A0430 8FAB00A8 */ lw $t3, 0xa8($sp) -/* 0A1034 800A0434 240D0001 */ li $t5, 1 -/* 0A1038 800A0438 28410005 */ slti $at, $v0, 5 -/* 0A103C 800A043C 14200023 */ bnez $at, .L800A04CC -/* 0A1040 800A0440 240E00FF */ li $t6, 255 -/* 0A1044 800A0444 8FA600AC */ lw $a2, 0xac($sp) -/* 0A1048 800A0448 010B6023 */ subu $t4, $t0, $t3 -/* 0A104C 800A044C 28410006 */ slti $at, $v0, 6 -/* 0A1050 800A0450 54CC001F */ bnel $a2, $t4, .L800A04D0 -/* 0A1054 800A0454 8E25000C */ lw $a1, 0xc($s1) -/* 0A1058 800A0458 14200011 */ bnez $at, .L800A04A0 -/* 0A105C 800A045C 240E00FF */ li $t6, 255 -/* 0A1060 800A0460 8E25000C */ lw $a1, 0xc($s1) -/* 0A1064 800A0464 8E260010 */ lw $a2, 0x10($s1) -/* 0A1068 800A0468 240F00F9 */ li $t7, 249 -/* 0A106C 800A046C 241800DC */ li $t8, 220 -/* 0A1070 800A0470 241900FF */ li $t9, 255 -/* 0A1074 800A0474 24CD0011 */ addiu $t5, $a2, 0x11 -/* 0A1078 800A0478 AFAD0010 */ sw $t5, 0x10($sp) -/* 0A107C 800A047C AFB90020 */ sw $t9, 0x20($sp) -/* 0A1080 800A0480 AFB8001C */ sw $t8, 0x1c($sp) -/* 0A1084 800A0484 AFAF0018 */ sw $t7, 0x18($sp) -/* 0A1088 800A0488 AFAE0014 */ sw $t6, 0x14($sp) -/* 0A108C 800A048C 8E040000 */ lw $a0, ($s0) -/* 0A1090 800A0490 0C026306 */ jal draw_box_fill -/* 0A1094 800A0494 24A7003F */ addiu $a3, $a1, 0x3f -/* 0A1098 800A0498 1000001A */ b .L800A0504 -/* 0A109C 800A049C AE020000 */ sw $v0, ($s0) -.L800A04A0: -/* 0A10A0 800A04A0 8E230010 */ lw $v1, 0x10($s1) -/* 0A10A4 800A04A4 8E22000C */ lw $v0, 0xc($s1) -/* 0A10A8 800A04A8 8E040000 */ lw $a0, ($s0) -/* 0A10AC 800A04AC 24690011 */ addiu $t1, $v1, 0x11 -/* 0A10B0 800A04B0 AFA90010 */ sw $t1, 0x10($sp) -/* 0A10B4 800A04B4 00603025 */ move $a2, $v1 -/* 0A10B8 800A04B8 00402825 */ move $a1, $v0 -/* 0A10BC 800A04BC 0C025668 */ jal draw_flash_select_case_slow -/* 0A10C0 800A04C0 2447003F */ addiu $a3, $v0, 0x3f -/* 0A10C4 800A04C4 1000000F */ b .L800A0504 -/* 0A10C8 800A04C8 AE020000 */ sw $v0, ($s0) -.L800A04CC: -/* 0A10CC 800A04CC 8E25000C */ lw $a1, 0xc($s1) -.L800A04D0: -/* 0A10D0 800A04D0 8E260010 */ lw $a2, 0x10($s1) -/* 0A10D4 800A04D4 240B0001 */ li $t3, 1 -/* 0A10D8 800A04D8 240C0001 */ li $t4, 1 -/* 0A10DC 800A04DC 24CA0011 */ addiu $t2, $a2, 0x11 -/* 0A10E0 800A04E0 AFAA0010 */ sw $t2, 0x10($sp) -/* 0A10E4 800A04E4 AFAC0018 */ sw $t4, 0x18($sp) -/* 0A10E8 800A04E8 AFAB0014 */ sw $t3, 0x14($sp) -/* 0A10EC 800A04EC AFAE0020 */ sw $t6, 0x20($sp) -/* 0A10F0 800A04F0 AFAD001C */ sw $t5, 0x1c($sp) -/* 0A10F4 800A04F4 8E040000 */ lw $a0, ($s0) -/* 0A10F8 800A04F8 0C026306 */ jal draw_box_fill -/* 0A10FC 800A04FC 24A7003F */ addiu $a3, $a1, 0x3f -/* 0A1100 800A0500 AE020000 */ sw $v0, ($s0) -.L800A0504: -/* 0A1104 800A0504 3C050200 */ lui $a1, %hi(seg2_data_texture) # $a1, 0x200 -/* 0A1108 800A0508 24A54A34 */ addiu $a1, %lo(seg2_data_texture) # addiu $a1, $a1, 0x4a34 -/* 0A110C 800A050C 8E040000 */ lw $a0, ($s0) -/* 0A1110 800A0510 8E26000C */ lw $a2, 0xc($s1) -/* 0A1114 800A0514 0C026E9D */ jal render_menu_textures -/* 0A1118 800A0518 8E270010 */ lw $a3, 0x10($s1) -/* 0A111C 800A051C AE020000 */ sw $v0, ($s0) -/* 0A1120 800A0520 0C024C36 */ jal set_text_color -/* 0A1124 800A0524 24040003 */ li $a0, 3 -/* 0A1128 800A0528 3C01800F */ lui $at, %hi(D_800F1AFC) # $at, 0x800f -/* 0A112C 800A052C C4201AFC */ lwc1 $f0, %lo(D_800F1AFC)($at) -/* 0A1130 800A0530 3C06800E */ lui $a2, %hi(gTextMenuData) # $a2, 0x800e -/* 0A1134 800A0534 24C677B4 */ addiu $a2, %lo(gTextMenuData) # addiu $a2, $a2, 0x77b4 -/* 0A1138 800A0538 24040125 */ li $a0, 293 -/* 0A113C 800A053C 2405001C */ li $a1, 28 -/* 0A1140 800A0540 00003825 */ move $a3, $zero -/* 0A1144 800A0544 E7A00010 */ swc1 $f0, 0x10($sp) -/* 0A1148 800A0548 0C024DAE */ jal print_text1_left -/* 0A114C 800A054C E7A00014 */ swc1 $f0, 0x14($sp) -/* 0A1150 800A0550 100000DD */ b .L800A08C8 -/* 0A1154 800A0554 8FBF0034 */ lw $ra, 0x34($sp) -glabel L800A0558 -/* 0A1158 800A0558 0C0285E0 */ jal func_800A1780 -/* 0A115C 800A055C 02202025 */ move $a0, $s1 -/* 0A1160 800A0560 100000D9 */ b .L800A08C8 -/* 0A1164 800A0564 8FBF0034 */ lw $ra, 0x34($sp) -glabel L800A0568 -/* 0A1168 800A0568 0C02857B */ jal func_800A15EC -/* 0A116C 800A056C 02202025 */ move $a0, $s1 -/* 0A1170 800A0570 100000D5 */ b .L800A08C8 -/* 0A1174 800A0574 8FBF0034 */ lw $ra, 0x34($sp) -glabel L800A0578 -/* 0A1178 800A0578 0C024C36 */ jal set_text_color -/* 0A117C 800A057C 24040004 */ li $a0, 4 -/* 0A1180 800A0580 3C0F800E */ lui $t7, %hi(D_800DC540) # $t7, 0x800e -/* 0A1184 800A0584 8DEFC540 */ lw $t7, %lo(D_800DC540)($t7) -/* 0A1188 800A0588 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0A118C 800A058C 44814000 */ mtc1 $at, $f8 -/* 0A1190 800A0590 C62A0024 */ lwc1 $f10, 0x24($s1) -/* 0A1194 800A0594 3C06800E */ lui $a2, %hi(gCupNames) -/* 0A1198 800A0598 000FC080 */ sll $t8, $t7, 2 -/* 0A119C 800A059C 00D83021 */ addu $a2, $a2, $t8 -/* 0A11A0 800A05A0 8E24000C */ lw $a0, 0xc($s1) -/* 0A11A4 800A05A4 8E250010 */ lw $a1, 0x10($s1) -/* 0A11A8 800A05A8 8E27001C */ lw $a3, 0x1c($s1) -/* 0A11AC 800A05AC 8CC67500 */ lw $a2, %lo(gCupNames)($a2) -/* 0A11B0 800A05B0 E7A80014 */ swc1 $f8, 0x14($sp) -/* 0A11B4 800A05B4 0C024DAE */ jal print_text1_left -/* 0A11B8 800A05B8 E7AA0010 */ swc1 $f10, 0x10($sp) -/* 0A11BC 800A05BC 100000C2 */ b .L800A08C8 -/* 0A11C0 800A05C0 8FBF0034 */ lw $ra, 0x34($sp) -glabel L800A05C4 -/* 0A11C4 800A05C4 0C024C36 */ jal set_text_color -/* 0A11C8 800A05C8 24040005 */ li $a0, 5 -/* 0A11CC 800A05CC 3C19800E */ lui $t9, %hi(gCurrentCourseId) # $t9, 0x800e -/* 0A11D0 800A05D0 8739C5A0 */ lh $t9, %lo(gCurrentCourseId)($t9) -/* 0A11D4 800A05D4 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0A11D8 800A05D8 44819000 */ mtc1 $at, $f18 -/* 0A11DC 800A05DC C6300024 */ lwc1 $f16, 0x24($s1) -/* 0A11E0 800A05E0 3C06800E */ lui $a2, %hi(gCourseNames) -/* 0A11E4 800A05E4 00194880 */ sll $t1, $t9, 2 -/* 0A11E8 800A05E8 00C93021 */ addu $a2, $a2, $t1 -/* 0A11EC 800A05EC 8E24000C */ lw $a0, 0xc($s1) -/* 0A11F0 800A05F0 8E250010 */ lw $a1, 0x10($s1) -/* 0A11F4 800A05F4 8E27001C */ lw $a3, 0x1c($s1) -/* 0A11F8 800A05F8 8CC67524 */ lw $a2, %lo(gCourseNames)($a2) -/* 0A11FC 800A05FC E7B20014 */ swc1 $f18, 0x14($sp) -/* 0A1200 800A0600 0C024CC9 */ jal print_text_mode_1 -/* 0A1204 800A0604 E7B00010 */ swc1 $f16, 0x10($sp) -/* 0A1208 800A0608 100000AF */ b .L800A08C8 -/* 0A120C 800A060C 8FBF0034 */ lw $ra, 0x34($sp) -glabel L800A0610 -/* 0A1210 800A0610 0C028B47 */ jal func_800A2D1C -/* 0A1214 800A0614 02202025 */ move $a0, $s1 -/* 0A1218 800A0618 100000AB */ b .L800A08C8 -/* 0A121C 800A061C 8FBF0034 */ lw $ra, 0x34($sp) -glabel L800A0620 -/* 0A1220 800A0620 240A004A */ li $t2, 74 -/* 0A1224 800A0624 AFAA0010 */ sw $t2, 0x10($sp) -/* 0A1228 800A0628 8E040000 */ lw $a0, ($s0) -/* 0A122C 800A062C 24050019 */ li $a1, 25 -/* 0A1230 800A0630 24060072 */ li $a2, 114 -/* 0A1234 800A0634 0C025B36 */ jal func_80096CD8 -/* 0A1238 800A0638 2407007C */ li $a3, 124 -/* 0A123C 800A063C 100000A1 */ b .L800A08C4 -/* 0A1240 800A0640 AE020000 */ sw $v0, ($s0) -glabel L800A0644 -/* 0A1244 800A0644 0C028BAE */ jal func_800A2EB8 -/* 0A1248 800A0648 02202025 */ move $a0, $s1 -/* 0A124C 800A064C 1000009E */ b .L800A08C8 -/* 0A1250 800A0650 8FBF0034 */ lw $ra, 0x34($sp) -glabel L800A0654 -/* 0A1254 800A0654 0C028D2A */ jal func_800A34A8 -/* 0A1258 800A0658 02202025 */ move $a0, $s1 -/* 0A125C 800A065C 1000009A */ b .L800A08C8 -/* 0A1260 800A0660 8FBF0034 */ lw $ra, 0x34($sp) -glabel L800A0664 -/* 0A1264 800A0664 0C029855 */ jal func_800A6154 -/* 0A1268 800A0668 02202025 */ move $a0, $s1 -/* 0A126C 800A066C 10000096 */ b .L800A08C8 -/* 0A1270 800A0670 8FBF0034 */ lw $ra, 0x34($sp) -glabel L800A0674 -/* 0A1274 800A0674 0C02980D */ jal func_800A6034 -/* 0A1278 800A0678 02202025 */ move $a0, $s1 -/* 0A127C 800A067C 10000092 */ b .L800A08C8 -/* 0A1280 800A0680 8FBF0034 */ lw $ra, 0x34($sp) -glabel L800A0684 -/* 0A1284 800A0684 0C0298E3 */ jal func_800A638C -/* 0A1288 800A0688 02202025 */ move $a0, $s1 -/* 0A128C 800A068C 1000008E */ b .L800A08C8 -/* 0A1290 800A0690 8FBF0034 */ lw $ra, 0x34($sp) -glabel L800A0694 -/* 0A1294 800A0694 8E2B0004 */ lw $t3, 4($s1) -/* 0A1298 800A0698 2502FF4F */ addiu $v0, $t0, -0xb1 -/* 0A129C 800A069C 3C0C800F */ lui $t4, %hi(gCharacterSelections) # 0x800f -/* 0A12A0 800A06A0 11600088 */ beqz $t3, .L800A08C4 -/* 0A12A4 800A06A4 01826021 */ addu $t4, $t4, $v0 -/* 0A12A8 800A06A8 818C86A8 */ lb $t4, %lo(gCharacterSelections)($t4) # -0x7958($t4) -/* 0A12AC 800A06AC 3C06800F */ lui $a2, %hi(D_800EFD64) # 0x800f -/* 0A12B0 800A06B0 3C04800E */ lui $a0, %hi(D_800E7D54) -/* 0A12B4 800A06B4 00CC3021 */ addu $a2, $a2, $t4 -/* 0A12B8 800A06B8 80C6FD64 */ lb $a2, %lo(D_800EFD64)($a2) # -0x29c($a2) -/* 0A12BC 800A06BC AFA200A8 */ sw $v0, 0xa8($sp) -/* 0A12C0 800A06C0 00066880 */ sll $t5, $a2, 2 -/* 0A12C4 800A06C4 008D2021 */ addu $a0, $a0, $t5 -/* 0A12C8 800A06C8 0C026449 */ jal segmented_to_virtual_dupe -/* 0A12CC 800A06CC 8C847D54 */ lw $a0, %lo(D_800E7D54)($a0) -/* 0A12D0 800A06D0 8E040000 */ lw $a0, ($s0) -/* 0A12D4 800A06D4 00402825 */ move $a1, $v0 -/* 0A12D8 800A06D8 8E26000C */ lw $a2, 0xc($s1) -/* 0A12DC 800A06DC 0C026E9D */ jal render_menu_textures -/* 0A12E0 800A06E0 8E270010 */ lw $a3, 0x10($s1) -/* 0A12E4 800A06E4 AE020000 */ sw $v0, ($s0) -/* 0A12E8 800A06E8 8E2E001C */ lw $t6, 0x1c($s1) -/* 0A12EC 800A06EC 8E260010 */ lw $a2, 0x10($s1) -/* 0A12F0 800A06F0 8E25000C */ lw $a1, 0xc($s1) -/* 0A12F4 800A06F4 8E240018 */ lw $a0, 0x18($s1) -/* 0A12F8 800A06F8 8FA700A8 */ lw $a3, 0xa8($sp) -/* 0A12FC 800A06FC 0C0269FB */ jal func_8009A7EC -/* 0A1300 800A0700 AFAE0010 */ sw $t6, 0x10($sp) -/* 0A1304 800A0704 02202025 */ move $a0, $s1 -/* 0A1308 800A0708 8FA500A8 */ lw $a1, 0xa8($sp) -/* 0A130C 800A070C 0C028474 */ jal render_cursor_player -/* 0A1310 800A0710 240600FF */ li $a2, 255 -/* 0A1314 800A0714 1000006C */ b .L800A08C8 -/* 0A1318 800A0718 8FBF0034 */ lw $ra, 0x34($sp) -glabel L800A071C -/* 0A131C 800A071C 0C028F21 */ jal time_trials_finish_text_render -/* 0A1320 800A0720 02202025 */ move $a0, $s1 -/* 0A1324 800A0724 10000068 */ b .L800A08C8 -/* 0A1328 800A0728 8FBF0034 */ lw $ra, 0x34($sp) -glabel L800A072C -/* 0A132C 800A072C 0C028F98 */ jal func_800A3E60 -/* 0A1330 800A0730 02202025 */ move $a0, $s1 -/* 0A1334 800A0734 10000064 */ b .L800A08C8 -/* 0A1338 800A0738 8FBF0034 */ lw $ra, 0x34($sp) -glabel L800A073C -/* 0A133C 800A073C 0C029289 */ jal render_menu_item_announce_ghost -/* 0A1340 800A0740 02202025 */ move $a0, $s1 -/* 0A1344 800A0744 10000060 */ b .L800A08C8 -/* 0A1348 800A0748 8FBF0034 */ lw $ra, 0x34($sp) -glabel L800A074C -/* 0A134C 800A074C 0C0292CE */ jal render_pause_menu -/* 0A1350 800A0750 02202025 */ move $a0, $s1 -/* 0A1354 800A0754 1000005C */ b .L800A08C8 -/* 0A1358 800A0758 8FBF0034 */ lw $ra, 0x34($sp) -glabel L800A075C -/* 0A135C 800A075C 0C0295CE */ jal render_menu_item_end_course_option -/* 0A1360 800A0760 02202025 */ move $a0, $s1 -/* 0A1364 800A0764 10000058 */ b .L800A08C8 -/* 0A1368 800A0768 8FBF0034 */ lw $ra, 0x34($sp) -glabel L800A076C -/* 0A136C 800A076C 0C028649 */ jal render_menu_item_data_course_image -/* 0A1370 800A0770 02202025 */ move $a0, $s1 -/* 0A1374 800A0774 10000054 */ b .L800A08C8 -/* 0A1378 800A0778 8FBF0034 */ lw $ra, 0x34($sp) -glabel L800A077C -/* 0A137C 800A077C 0C028688 */ jal render_menu_item_data_course_info -/* 0A1380 800A0780 02202025 */ move $a0, $s1 -/* 0A1384 800A0784 10000050 */ b .L800A08C8 -/* 0A1388 800A0788 8FBF0034 */ lw $ra, 0x34($sp) -glabel L800A078C -/* 0A138C 800A078C 0C0286F8 */ jal menu_item_data_course_selectable -/* 0A1390 800A0790 02202025 */ move $a0, $s1 -/* 0A1394 800A0794 1000004C */ b .L800A08C8 -/* 0A1398 800A0798 8FBF0034 */ lw $ra, 0x34($sp) -glabel L800A079C -/* 0A139C 800A079C 0C028778 */ jal func_800A1DE0 -/* 0A13A0 800A07A0 02202025 */ move $a0, $s1 -/* 0A13A4 800A07A4 10000048 */ b .L800A08C8 -/* 0A13A8 800A07A8 8FBF0034 */ lw $ra, 0x34($sp) -glabel L800A07AC -/* 0A13AC 800A07AC 0C0287CC */ jal func_800A1F30 -/* 0A13B0 800A07B0 02202025 */ move $a0, $s1 -/* 0A13B4 800A07B4 10000044 */ b .L800A08C8 -/* 0A13B8 800A07B8 8FBF0034 */ lw $ra, 0x34($sp) -glabel L800A07BC -/* 0A13BC 800A07BC 0C0287EC */ jal func_800A1FB0 -/* 0A13C0 800A07C0 02202025 */ move $a0, $s1 -/* 0A13C4 800A07C4 10000040 */ b .L800A08C8 -/* 0A13C8 800A07C8 8FBF0034 */ lw $ra, 0x34($sp) -glabel L800A07CC -/* 0A13CC 800A07CC 3C050200 */ lui $a1, %hi(D_02004638) # $a1, 0x200 -/* 0A13D0 800A07D0 24A54638 */ addiu $a1, %lo(D_02004638) # addiu $a1, $a1, 0x4638 -/* 0A13D4 800A07D4 8E040000 */ lw $a0, ($s0) -/* 0A13D8 800A07D8 8E26000C */ lw $a2, 0xc($s1) -/* 0A13DC 800A07DC 0C026E9D */ jal render_menu_textures -/* 0A13E0 800A07E0 8E270010 */ lw $a3, 0x10($s1) -/* 0A13E4 800A07E4 10000037 */ b .L800A08C4 -/* 0A13E8 800A07E8 AE020000 */ sw $v0, ($s0) -glabel L800A07EC -/* 0A13EC 800A07EC 0C029C3A */ jal func_800A70E8 -/* 0A13F0 800A07F0 02202025 */ move $a0, $s1 -/* 0A13F4 800A07F4 10000034 */ b .L800A08C8 -/* 0A13F8 800A07F8 8FBF0034 */ lw $ra, 0x34($sp) -glabel L800A07FC -/* 0A13FC 800A07FC 0C029C96 */ jal func_800A7258 -/* 0A1400 800A0800 02202025 */ move $a0, $s1 -/* 0A1404 800A0804 10000030 */ b .L800A08C8 -/* 0A1408 800A0808 8FBF0034 */ lw $ra, 0x34($sp) -glabel L800A080C -/* 0A140C 800A080C 0C029CBF */ jal func_800A72FC -/* 0A1410 800A0810 02202025 */ move $a0, $s1 -/* 0A1414 800A0814 1000002C */ b .L800A08C8 -/* 0A1418 800A0818 8FBF0034 */ lw $ra, 0x34($sp) -glabel L800A081C -/* 0A141C 800A081C 0C029D12 */ jal func_800A7448 -/* 0A1420 800A0820 02202025 */ move $a0, $s1 -/* 0A1424 800A0824 10000028 */ b .L800A08C8 -/* 0A1428 800A0828 8FBF0034 */ lw $ra, 0x34($sp) -glabel L800A082C -/* 0A142C 800A082C 0C029D68 */ jal func_800A75A0 -/* 0A1430 800A0830 02202025 */ move $a0, $s1 -/* 0A1434 800A0834 10000024 */ b .L800A08C8 -/* 0A1438 800A0838 8FBF0034 */ lw $ra, 0x34($sp) -glabel L800A083C -/* 0A143C 800A083C 0C029D87 */ jal func_800A761C -/* 0A1440 800A0840 02202025 */ move $a0, $s1 -/* 0A1444 800A0844 10000020 */ b .L800A08C8 -/* 0A1448 800A0848 8FBF0034 */ lw $ra, 0x34($sp) -glabel L800A084C -/* 0A144C 800A084C 8E2F0004 */ lw $t7, 4($s1) -/* 0A1450 800A0850 3C188028 */ lui $t8, %hi(D_802874D8+0x1E) # $t8, 0x8028 -/* 0A1454 800A0854 51E0001C */ beql $t7, $zero, .L800A08C8 -/* 0A1458 800A0858 8FBF0034 */ lw $ra, 0x34($sp) -/* 0A145C 800A085C 831874F6 */ lb $t8, %lo(D_802874D8+0x1E)($t8) -/* 0A1460 800A0860 3C06800F */ lui $a2, %hi(D_800EFD64) # 0x800f -/* 0A1464 800A0864 3C04800E */ lui $a0, %hi(D_800E7D54) -/* 0A1468 800A0868 00D83021 */ addu $a2, $a2, $t8 -/* 0A146C 800A086C 80C6FD64 */ lb $a2, %lo(D_800EFD64)($a2) # -0x29c($a2) -/* 0A1470 800A0870 0006C880 */ sll $t9, $a2, 2 -/* 0A1474 800A0874 00992021 */ addu $a0, $a0, $t9 -/* 0A1478 800A0878 0C026449 */ jal segmented_to_virtual_dupe -/* 0A147C 800A087C 8C847D54 */ lw $a0, %lo(D_800E7D54)($a0) -/* 0A1480 800A0880 8E040000 */ lw $a0, ($s0) -/* 0A1484 800A0884 00402825 */ move $a1, $v0 -/* 0A1488 800A0888 8E26000C */ lw $a2, 0xc($s1) -/* 0A148C 800A088C 0C026E9D */ jal render_menu_textures -/* 0A1490 800A0890 8E270010 */ lw $a3, 0x10($s1) -/* 0A1494 800A0894 AE020000 */ sw $v0, ($s0) -/* 0A1498 800A0898 8E29001C */ lw $t1, 0x1c($s1) -/* 0A149C 800A089C 8E260010 */ lw $a2, 0x10($s1) -/* 0A14A0 800A08A0 8E25000C */ lw $a1, 0xc($s1) -/* 0A14A4 800A08A4 8E240018 */ lw $a0, 0x18($s1) -/* 0A14A8 800A08A8 00003825 */ move $a3, $zero -/* 0A14AC 800A08AC 0C0269FB */ jal func_8009A7EC -/* 0A14B0 800A08B0 AFA90010 */ sw $t1, 0x10($sp) -/* 0A14B4 800A08B4 10000004 */ b .L800A08C8 -/* 0A14B8 800A08B8 8FBF0034 */ lw $ra, 0x34($sp) -glabel L800A08BC -/* 0A14BC 800A08BC 0C029DE4 */ jal menu_item_credits_render -/* 0A14C0 800A08C0 02202025 */ move $a0, $s1 -.L800A08C4: -glabel L800A08C4 -/* 0A14C4 800A08C4 8FBF0034 */ lw $ra, 0x34($sp) -.L800A08C8: -/* 0A14C8 800A08C8 8FB0002C */ lw $s0, 0x2c($sp) -/* 0A14CC 800A08CC 8FB10030 */ lw $s1, 0x30($sp) -/* 0A14D0 800A08D0 03E00008 */ jr $ra -/* 0A14D4 800A08D4 27BD00B0 */ addiu $sp, $sp, 0xb0 diff --git a/asm/non_matchings/menus/main_menu_act.s b/asm/non_matchings/menus/main_menu_act.s deleted file mode 100644 index 482b91605..000000000 --- a/asm/non_matchings/menus/main_menu_act.s +++ /dev/null @@ -1,769 +0,0 @@ -.section .late_rodata - -glabel jpt_800F2DFC -.word L800B2A6C, L800B3468, L800B3468, L800B2AA4 -.word L800B2D30, L800B2F70, L800B32B4 -.word L800B32B4, L800B2F70 - -.section .text -glabel main_menu_act -/* 0B35D8 800B29D8 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 0B35DC 800B29DC AFBF0014 */ sw $ra, 0x14($sp) -/* 0B35E0 800B29E0 AFA50034 */ sw $a1, 0x34($sp) -/* 0B35E4 800B29E4 9498000C */ lhu $t8, 0xc($a0) -/* 0B35E8 800B29E8 948F0006 */ lhu $t7, 6($a0) -/* 0B35EC 800B29EC 3C09800E */ lui $t1, %hi(gEnableDebugMode) # $t1, 0x800e -/* 0B35F0 800B29F0 9529C520 */ lhu $t1, %lo(gEnableDebugMode)($t1) -/* 0B35F4 800B29F4 01F81825 */ or $v1, $t7, $t8 -/* 0B35F8 800B29F8 30AEFFFF */ andi $t6, $a1, 0xffff -/* 0B35FC 800B29FC 3079FFFF */ andi $t9, $v1, 0xffff -/* 0B3600 800B2A00 01C02825 */ move $a1, $t6 -/* 0B3604 800B2A04 15200007 */ bnez $t1, .L800B2A24 -/* 0B3608 800B2A08 03201825 */ move $v1, $t9 -/* 0B360C 800B2A0C 332A1000 */ andi $t2, $t9, 0x1000 -/* 0B3610 800B2A10 51400005 */ beql $t2, $zero, .L800B2A28 -/* 0B3614 800B2A14 A7A3002E */ sh $v1, 0x2e($sp) -/* 0B3618 800B2A18 37238000 */ ori $v1, $t9, 0x8000 -/* 0B361C 800B2A1C 306BFFFF */ andi $t3, $v1, 0xffff -/* 0B3620 800B2A20 01601825 */ move $v1, $t3 -.L800B2A24: -/* 0B3624 800B2A24 A7A3002E */ sh $v1, 0x2e($sp) -.L800B2A28: -/* 0B3628 800B2A28 0C02D148 */ jal is_screen_being_faded -/* 0B362C 800B2A2C A7A50036 */ sh $a1, 0x36($sp) -/* 0B3630 800B2A30 97A3002E */ lhu $v1, 0x2e($sp) -/* 0B3634 800B2A34 144002A8 */ bnez $v0, .L800B34D8 -/* 0B3638 800B2A38 97A50036 */ lhu $a1, 0x36($sp) -/* 0B363C 800B2A3C 3C088019 */ lui $t0, %hi(gMainMenuSelection) # $t0, 0x8019 -/* 0B3640 800B2A40 2508EDED */ addiu $t0, %lo(gMainMenuSelection) # addiu $t0, $t0, -0x1213 -/* 0B3644 800B2A44 910C0000 */ lbu $t4, ($t0) -/* 0B3648 800B2A48 3C188019 */ lui $t8, %hi(gPlayerCount) # 0x8019 -/* 0B364C 800B2A4C 2D810009 */ sltiu $at, $t4, 9 -/* 0B3650 800B2A50 10200293 */ beqz $at, .L800B34A0 -/* 0B3654 800B2A54 000C6080 */ sll $t4, $t4, 2 -/* 0B3658 800B2A58 3C01800F */ lui $at, %hi(jpt_800F2DFC) # 0x800f -/* 0B365C 800B2A5C 002C0821 */ addu $at, $at, $t4 -/* 0B3660 800B2A60 8C2C2DFC */ lw $t4, %lo(jpt_800F2DFC)($at) # 0x2dfc($at) -/* 0B3664 800B2A64 01800008 */ jr $t4 -/* 0B3668 800B2A68 00000000 */ nop -glabel L800B2A6C # case 0 -/* 0B366C 800B2A6C 3C0D8019 */ lui $t5, %hi(gPlayerCount) # $t5, 0x8019 -/* 0B3670 800B2A70 81ADEDF3 */ lb $t5, %lo(gPlayerCount)($t5) -/* 0B3674 800B2A74 3C0F800F */ lui $t7, %hi((gGameModeMenuColumn - 1)) # 0x800f -/* 0B3678 800B2A78 3C03800F */ lui $v1, %hi((gGameModePlayerSelection - 0xC)) # 0x800f -/* 0B367C 800B2A7C 01ED7821 */ addu $t7, $t7, $t5 -/* 0B3680 800B2A80 81EF86AB */ lb $t7, %lo((gGameModeMenuColumn - 1))($t7) # -0x7955($t7) -/* 0B3684 800B2A84 000D7080 */ sll $t6, $t5, 2 -/* 0B3688 800B2A88 01CD7023 */ subu $t6, $t6, $t5 -/* 0B368C 800B2A8C 000E7080 */ sll $t6, $t6, 2 -/* 0B3690 800B2A90 000FC080 */ sll $t8, $t7, 2 -/* 0B3694 800B2A94 01D8C821 */ addu $t9, $t6, $t8 -/* 0B3698 800B2A98 00791821 */ addu $v1, $v1, $t9 -/* 0B369C 800B2A9C 1000028C */ b .L800B34D0 -/* 0B36A0 800B2AA0 8C632B70 */ lw $v1, %lo((gGameModePlayerSelection - 0xC))($v1) # 0x2b70($v1) -glabel L800B2AA4 # case 3 -/* 0B36A4 800B2AA4 30690100 */ andi $t1, $v1, 0x100 -/* 0B36A8 800B2AA8 11200010 */ beqz $t1, .L800B2AEC -/* 0B36AC 800B2AAC 00603025 */ move $a2, $v1 -/* 0B36B0 800B2AB0 3C028019 */ lui $v0, %hi(gPlayerCount) # $v0, 0x8019 -/* 0B36B4 800B2AB4 8042EDF3 */ lb $v0, %lo(gPlayerCount)($v0) -/* 0B36B8 800B2AB8 28410004 */ slti $at, $v0, 4 -/* 0B36BC 800B2ABC 1020000B */ beqz $at, .L800B2AEC -/* 0B36C0 800B2AC0 244A0001 */ addiu $t2, $v0, 1 -/* 0B36C4 800B2AC4 3C018019 */ lui $at, %hi(gPlayerCount) # $at, 0x8019 -/* 0B36C8 800B2AC8 A02AEDF3 */ sb $t2, %lo(gPlayerCount)($at) -/* 0B36CC 800B2ACC 0C02D12B */ jal reset_cycle_flash_menu -/* 0B36D0 800B2AD0 AFA3001C */ sw $v1, 0x1c($sp) -/* 0B36D4 800B2AD4 3C044900 */ lui $a0, (0x49008000 >> 16) # lui $a0, 0x4900 -/* 0B36D8 800B2AD8 0C032384 */ jal play_sound2 -/* 0B36DC 800B2ADC 34848000 */ ori $a0, (0x49008000 & 0xFFFF) # ori $a0, $a0, 0x8000 -/* 0B36E0 800B2AE0 3C088019 */ lui $t0, %hi(gMainMenuSelection) # $t0, 0x8019 -/* 0B36E4 800B2AE4 2508EDED */ addiu $t0, %lo(gMainMenuSelection) # addiu $t0, $t0, -0x1213 -/* 0B36E8 800B2AE8 8FA6001C */ lw $a2, 0x1c($sp) -.L800B2AEC: -/* 0B36EC 800B2AEC 3C028019 */ lui $v0, %hi(gPlayerCount) # $v0, 0x8019 -/* 0B36F0 800B2AF0 30CB0200 */ andi $t3, $a2, 0x200 -/* 0B36F4 800B2AF4 11600010 */ beqz $t3, .L800B2B38 -/* 0B36F8 800B2AF8 8042EDF3 */ lb $v0, %lo(gPlayerCount)($v0) -/* 0B36FC 800B2AFC 28410002 */ slti $at, $v0, 2 -/* 0B3700 800B2B00 1420000D */ bnez $at, .L800B2B38 -/* 0B3704 800B2B04 244CFFFF */ addiu $t4, $v0, -1 -/* 0B3708 800B2B08 3C018019 */ lui $at, %hi(gPlayerCount) # $at, 0x8019 -/* 0B370C 800B2B0C A02CEDF3 */ sb $t4, %lo(gPlayerCount)($at) -/* 0B3710 800B2B10 0C02D12B */ jal reset_cycle_flash_menu -/* 0B3714 800B2B14 AFA6001C */ sw $a2, 0x1c($sp) -/* 0B3718 800B2B18 3C044900 */ lui $a0, (0x49008000 >> 16) # lui $a0, 0x4900 -/* 0B371C 800B2B1C 0C032384 */ jal play_sound2 -/* 0B3720 800B2B20 34848000 */ ori $a0, (0x49008000 & 0xFFFF) # ori $a0, $a0, 0x8000 -/* 0B3724 800B2B24 3C028019 */ lui $v0, %hi(gPlayerCount) # $v0, 0x8019 -/* 0B3728 800B2B28 3C088019 */ lui $t0, %hi(gMainMenuSelection) # $t0, 0x8019 -/* 0B372C 800B2B2C 2508EDED */ addiu $t0, %lo(gMainMenuSelection) # addiu $t0, $t0, -0x1213 -/* 0B3730 800B2B30 8042EDF3 */ lb $v0, %lo(gPlayerCount)($v0) -/* 0B3734 800B2B34 8FA6001C */ lw $a2, 0x1c($sp) -.L800B2B38: -/* 0B3738 800B2B38 3C04800E */ lui $a0, %hi(gPlayerCountSelection1) # $a0, 0x800e -/* 0B373C 800B2B3C 2484C538 */ addiu $a0, %lo(gPlayerCountSelection1) # addiu $a0, $a0, -0x3ac8 -/* 0B3740 800B2B40 24070001 */ li $a3, 1 -/* 0B3744 800B2B44 AC820000 */ sw $v0, ($a0) -/* 0B3748 800B2B48 1047000A */ beq $v0, $a3, .L800B2B74 -/* 0B374C 800B2B4C 00401825 */ move $v1, $v0 -/* 0B3750 800B2B50 24010002 */ li $at, 2 -/* 0B3754 800B2B54 1061000A */ beq $v1, $at, .L800B2B80 -/* 0B3758 800B2B58 24040003 */ li $a0, 3 -/* 0B375C 800B2B5C 1064000B */ beq $v1, $a0, .L800B2B8C -/* 0B3760 800B2B60 24010004 */ li $at, 4 -/* 0B3764 800B2B64 10610009 */ beq $v1, $at, .L800B2B8C -/* 0B3768 800B2B68 00000000 */ nop -/* 0B376C 800B2B6C 1000000A */ b .L800B2B98 -/* 0B3770 800B2B70 30CD4000 */ andi $t5, $a2, 0x4000 -.L800B2B74: -/* 0B3774 800B2B74 3C01800E */ lui $at, %hi(gScreenModeSelection) # $at, 0x800e -/* 0B3778 800B2B78 10000006 */ b .L800B2B94 -/* 0B377C 800B2B7C AC20C530 */ sw $zero, %lo(gScreenModeSelection)($at) -.L800B2B80: -/* 0B3780 800B2B80 3C01800E */ lui $at, %hi(gScreenModeSelection) # $at, 0x800e -/* 0B3784 800B2B84 10000003 */ b .L800B2B94 -/* 0B3788 800B2B88 AC27C530 */ sw $a3, %lo(gScreenModeSelection)($at) -.L800B2B8C: -/* 0B378C 800B2B8C 3C01800E */ lui $at, %hi(gScreenModeSelection) # $at, 0x800e -/* 0B3790 800B2B90 AC24C530 */ sw $a0, %lo(gScreenModeSelection)($at) -.L800B2B94: -/* 0B3794 800B2B94 30CD4000 */ andi $t5, $a2, 0x4000 -.L800B2B98: -/* 0B3798 800B2B98 11A00019 */ beqz $t5, .L800B2C00 -/* 0B379C 800B2B9C 30CA8000 */ andi $t2, $a2, 0x8000 -/* 0B37A0 800B2BA0 0C02783C */ jal func_8009E0F0 -/* 0B37A4 800B2BA4 24040014 */ li $a0, 20 -/* 0B37A8 800B2BA8 0C0328CC */ jal func_800CA330 -/* 0B37AC 800B2BAC 24040019 */ li $a0, 25 -/* 0B37B0 800B2BB0 24070001 */ li $a3, 1 -/* 0B37B4 800B2BB4 3C018019 */ lui $at, %hi(gMenuFadeType) # $at, 0x8019 -/* 0B37B8 800B2BB8 3C044900 */ lui $a0, (0x49008002 >> 16) # lui $a0, 0x4900 -/* 0B37BC 800B2BBC AC27EDE0 */ sw $a3, %lo(gMenuFadeType)($at) -/* 0B37C0 800B2BC0 0C032384 */ jal play_sound2 -/* 0B37C4 800B2BC4 34848002 */ ori $a0, (0x49008002 & 0xFFFF) # ori $a0, $a0, 0x8002 -/* 0B37C8 800B2BC8 3C0F8019 */ lui $t7, %hi(gPlayerCount) # $t7, 0x8019 -/* 0B37CC 800B2BCC 81EFEDF3 */ lb $t7, %lo(gPlayerCount)($t7) -/* 0B37D0 800B2BD0 3C18800F */ lui $t8, %hi((gGameModeMenuColumn - 1)) # 0x800f -/* 0B37D4 800B2BD4 3C03800F */ lui $v1, %hi((gGameModePlayerSelection - 0xC)) # 0x800f -/* 0B37D8 800B2BD8 030FC021 */ addu $t8, $t8, $t7 -/* 0B37DC 800B2BDC 831886AB */ lb $t8, %lo((gGameModeMenuColumn - 1))($t8) # -0x7955($t8) -/* 0B37E0 800B2BE0 000F7080 */ sll $t6, $t7, 2 -/* 0B37E4 800B2BE4 01CF7023 */ subu $t6, $t6, $t7 -/* 0B37E8 800B2BE8 000E7080 */ sll $t6, $t6, 2 -/* 0B37EC 800B2BEC 0018C880 */ sll $t9, $t8, 2 -/* 0B37F0 800B2BF0 01D94821 */ addu $t1, $t6, $t9 -/* 0B37F4 800B2BF4 00691821 */ addu $v1, $v1, $t1 -/* 0B37F8 800B2BF8 10000235 */ b .L800B34D0 -/* 0B37FC 800B2BFC 8C632B70 */ lw $v1, %lo((gGameModePlayerSelection - 0xC))($v1) # 0x2b70($v1) -.L800B2C00: -/* 0B3800 800B2C00 11400015 */ beqz $t2, .L800B2C58 -/* 0B3804 800B2C04 30D90020 */ andi $t9, $a2, 0x20 -/* 0B3808 800B2C08 240B0004 */ li $t3, 4 -/* 0B380C 800B2C0C 0C02D12B */ jal reset_cycle_flash_menu -/* 0B3810 800B2C10 A10B0000 */ sb $t3, ($t0) -/* 0B3814 800B2C14 3C044900 */ lui $a0, (0x49008001 >> 16) # lui $a0, 0x4900 -/* 0B3818 800B2C18 0C032384 */ jal play_sound2 -/* 0B381C 800B2C1C 34848001 */ ori $a0, (0x49008001 & 0xFFFF) # ori $a0, $a0, 0x8001 -/* 0B3820 800B2C20 3C0C8019 */ lui $t4, %hi(gPlayerCount) # $t4, 0x8019 -/* 0B3824 800B2C24 818CEDF3 */ lb $t4, %lo(gPlayerCount)($t4) -/* 0B3828 800B2C28 3C0F800F */ lui $t7, %hi((gGameModeMenuColumn - 1)) # 0x800f -/* 0B382C 800B2C2C 3C03800F */ lui $v1, %hi((gGameModePlayerSelection - 0xC)) # 0x800f -/* 0B3830 800B2C30 01EC7821 */ addu $t7, $t7, $t4 -/* 0B3834 800B2C34 81EF86AB */ lb $t7, %lo((gGameModeMenuColumn - 1))($t7) # -0x7955($t7) -/* 0B3838 800B2C38 000C6880 */ sll $t5, $t4, 2 -/* 0B383C 800B2C3C 01AC6823 */ subu $t5, $t5, $t4 -/* 0B3840 800B2C40 000D6880 */ sll $t5, $t5, 2 -/* 0B3844 800B2C44 000FC080 */ sll $t8, $t7, 2 -/* 0B3848 800B2C48 01B87021 */ addu $t6, $t5, $t8 -/* 0B384C 800B2C4C 006E1821 */ addu $v1, $v1, $t6 -/* 0B3850 800B2C50 1000021F */ b .L800B34D0 -/* 0B3854 800B2C54 8C632B70 */ lw $v1, %lo((gGameModePlayerSelection - 0xC))($v1) # 0x2b70($v1) -.L800B2C58: -/* 0B3858 800B2C58 13200014 */ beqz $t9, .L800B2CAC -/* 0B385C 800B2C5C 30CD0010 */ andi $t5, $a2, 0x10 -/* 0B3860 800B2C60 0C0278A0 */ jal func_8009E280 -/* 0B3864 800B2C64 A1070000 */ sb $a3, ($t0) -/* 0B3868 800B2C68 3C044900 */ lui $a0, (0x49009010 >> 16) # lui $a0, 0x4900 -/* 0B386C 800B2C6C 0C032384 */ jal play_sound2 -/* 0B3870 800B2C70 34849010 */ ori $a0, (0x49009010 & 0xFFFF) # ori $a0, $a0, 0x9010 -/* 0B3874 800B2C74 3C098019 */ lui $t1, %hi(gPlayerCount) # $t1, 0x8019 -/* 0B3878 800B2C78 8129EDF3 */ lb $t1, %lo(gPlayerCount)($t1) -/* 0B387C 800B2C7C 3C0B800F */ lui $t3, %hi((gGameModeMenuColumn - 1)) # 0x800f -/* 0B3880 800B2C80 3C03800F */ lui $v1, %hi((gGameModePlayerSelection - 0xC)) # 0x800f -/* 0B3884 800B2C84 01695821 */ addu $t3, $t3, $t1 -/* 0B3888 800B2C88 816B86AB */ lb $t3, %lo((gGameModeMenuColumn - 1))($t3) # -0x7955($t3) -/* 0B388C 800B2C8C 00095080 */ sll $t2, $t1, 2 -/* 0B3890 800B2C90 01495023 */ subu $t2, $t2, $t1 -/* 0B3894 800B2C94 000A5080 */ sll $t2, $t2, 2 -/* 0B3898 800B2C98 000B6080 */ sll $t4, $t3, 2 -/* 0B389C 800B2C9C 014C7821 */ addu $t7, $t2, $t4 -/* 0B38A0 800B2CA0 006F1821 */ addu $v1, $v1, $t7 -/* 0B38A4 800B2CA4 1000020A */ b .L800B34D0 -/* 0B38A8 800B2CA8 8C632B70 */ lw $v1, %lo((gGameModePlayerSelection - 0xC))($v1) # 0x2b70($v1) -.L800B2CAC: -/* 0B38AC 800B2CAC 11A00015 */ beqz $t5, .L800B2D04 -/* 0B38B0 800B2CB0 00026080 */ sll $t4, $v0, 2 -/* 0B38B4 800B2CB4 24180002 */ li $t8, 2 -/* 0B38B8 800B2CB8 0C027896 */ jal func_8009E258 -/* 0B38BC 800B2CBC A1180000 */ sb $t8, ($t0) -/* 0B38C0 800B2CC0 3C044900 */ lui $a0, (0x49009011 >> 16) # lui $a0, 0x4900 -/* 0B38C4 800B2CC4 0C032384 */ jal play_sound2 -/* 0B38C8 800B2CC8 34849011 */ ori $a0, (0x49009011 & 0xFFFF) # ori $a0, $a0, 0x9011 -/* 0B38CC 800B2CCC 3C0E8019 */ lui $t6, %hi(gPlayerCount) # $t6, 0x8019 -/* 0B38D0 800B2CD0 81CEEDF3 */ lb $t6, %lo(gPlayerCount)($t6) -/* 0B38D4 800B2CD4 3C09800F */ lui $t1, %hi((gGameModeMenuColumn - 1)) # 0x800f -/* 0B38D8 800B2CD8 3C03800F */ lui $v1, %hi((gGameModePlayerSelection - 0xC)) # 0x800f -/* 0B38DC 800B2CDC 012E4821 */ addu $t1, $t1, $t6 -/* 0B38E0 800B2CE0 812986AB */ lb $t1, %lo((gGameModeMenuColumn - 1))($t1) # -0x7955($t1) -/* 0B38E4 800B2CE4 000EC880 */ sll $t9, $t6, 2 -/* 0B38E8 800B2CE8 032EC823 */ subu $t9, $t9, $t6 -/* 0B38EC 800B2CEC 0019C880 */ sll $t9, $t9, 2 -/* 0B38F0 800B2CF0 00095880 */ sll $t3, $t1, 2 -/* 0B38F4 800B2CF4 032B5021 */ addu $t2, $t9, $t3 -/* 0B38F8 800B2CF8 006A1821 */ addu $v1, $v1, $t2 -/* 0B38FC 800B2CFC 100001F4 */ b .L800B34D0 -/* 0B3900 800B2D00 8C632B70 */ lw $v1, %lo((gGameModePlayerSelection - 0xC))($v1) # 0x2b70($v1) -.L800B2D04: -/* 0B3904 800B2D04 3C0F800F */ lui $t7, %hi((gGameModeMenuColumn - 1)) # 0x800f -/* 0B3908 800B2D08 01E27821 */ addu $t7, $t7, $v0 -/* 0B390C 800B2D0C 81EF86AB */ lb $t7, %lo((gGameModeMenuColumn - 1))($t7) # -0x7955($t7) -/* 0B3910 800B2D10 01826023 */ subu $t4, $t4, $v0 -/* 0B3914 800B2D14 000C6080 */ sll $t4, $t4, 2 -/* 0B3918 800B2D18 000F6880 */ sll $t5, $t7, 2 -/* 0B391C 800B2D1C 018DC021 */ addu $t8, $t4, $t5 -/* 0B3920 800B2D20 3C03800F */ lui $v1, %hi((gGameModePlayerSelection - 0xC)) # 0x800f -/* 0B3924 800B2D24 00781821 */ addu $v1, $v1, $t8 -/* 0B3928 800B2D28 100001E9 */ b .L800B34D0 -/* 0B392C 800B2D2C 8C632B70 */ lw $v1, %lo((gGameModePlayerSelection - 0xC))($v1) # 0x2b70($v1) -glabel L800B2D30 # case 4 -/* 0B3930 800B2D30 306E0400 */ andi $t6, $v1, 0x400 -/* 0B3934 800B2D34 11C00017 */ beqz $t6, .L800B2D94 -/* 0B3938 800B2D38 00603025 */ move $a2, $v1 -/* 0B393C 800B2D3C 3C028019 */ lui $v0, %hi(gPlayerCount) # $v0, 0x8019 -/* 0B3940 800B2D40 8042EDF3 */ lb $v0, %lo(gPlayerCount)($v0) -/* 0B3944 800B2D44 3C09800F */ lui $t1, %hi(gGameModeMenuColumn) # $t1, 0x800f -/* 0B3948 800B2D48 252986AC */ addiu $t1, %lo(gGameModeMenuColumn) # addiu $t1, $t1, -0x7954 -/* 0B394C 800B2D4C 3C19800F */ lui $t9, %hi((gPlayerModeSelection - 1)) # 0x800f -/* 0B3950 800B2D50 0322C821 */ addu $t9, $t9, $v0 -/* 0B3954 800B2D54 00491821 */ addu $v1, $v0, $t1 -/* 0B3958 800B2D58 8064FFFF */ lb $a0, -1($v1) -/* 0B395C 800B2D5C 83392B5F */ lb $t9, %lo((gPlayerModeSelection - 1))($t9) # 0x2b5f($t9) -/* 0B3960 800B2D60 248B0001 */ addiu $t3, $a0, 1 -/* 0B3964 800B2D64 0099082A */ slt $at, $a0, $t9 -/* 0B3968 800B2D68 5020000B */ beql $at, $zero, .L800B2D98 -/* 0B396C 800B2D6C 30CA0800 */ andi $t2, $a2, 0x800 -/* 0B3970 800B2D70 A06BFFFF */ sb $t3, -1($v1) -/* 0B3974 800B2D74 0C02D12B */ jal reset_cycle_flash_menu -/* 0B3978 800B2D78 AFA6001C */ sw $a2, 0x1c($sp) -/* 0B397C 800B2D7C 3C044900 */ lui $a0, (0x49008000 >> 16) # lui $a0, 0x4900 -/* 0B3980 800B2D80 0C032384 */ jal play_sound2 -/* 0B3984 800B2D84 34848000 */ ori $a0, (0x49008000 & 0xFFFF) # ori $a0, $a0, 0x8000 -/* 0B3988 800B2D88 3C088019 */ lui $t0, %hi(gMainMenuSelection) # $t0, 0x8019 -/* 0B398C 800B2D8C 2508EDED */ addiu $t0, %lo(gMainMenuSelection) # addiu $t0, $t0, -0x1213 -/* 0B3990 800B2D90 8FA6001C */ lw $a2, 0x1c($sp) -.L800B2D94: -/* 0B3994 800B2D94 30CA0800 */ andi $t2, $a2, 0x800 -.L800B2D98: -/* 0B3998 800B2D98 11400011 */ beqz $t2, .L800B2DE0 -/* 0B399C 800B2D9C 3C0F8019 */ lui $t7, %hi(gPlayerCount) # $t7, 0x8019 -/* 0B39A0 800B2DA0 81EFEDF3 */ lb $t7, %lo(gPlayerCount)($t7) -/* 0B39A4 800B2DA4 3C0C800F */ lui $t4, %hi(gGameModeMenuColumn) # $t4, 0x800f -/* 0B39A8 800B2DA8 258C86AC */ addiu $t4, %lo(gGameModeMenuColumn) # addiu $t4, $t4, -0x7954 -/* 0B39AC 800B2DAC 01EC1821 */ addu $v1, $t7, $t4 -/* 0B39B0 800B2DB0 8064FFFF */ lb $a0, -1($v1) -/* 0B39B4 800B2DB4 1880000A */ blez $a0, .L800B2DE0 -/* 0B39B8 800B2DB8 248DFFFF */ addiu $t5, $a0, -1 -/* 0B39BC 800B2DBC A06DFFFF */ sb $t5, -1($v1) -/* 0B39C0 800B2DC0 0C02D12B */ jal reset_cycle_flash_menu -/* 0B39C4 800B2DC4 AFA6001C */ sw $a2, 0x1c($sp) -/* 0B39C8 800B2DC8 3C044900 */ lui $a0, (0x49008000 >> 16) # lui $a0, 0x4900 -/* 0B39CC 800B2DCC 0C032384 */ jal play_sound2 -/* 0B39D0 800B2DD0 34848000 */ ori $a0, (0x49008000 & 0xFFFF) # ori $a0, $a0, 0x8000 -/* 0B39D4 800B2DD4 3C088019 */ lui $t0, %hi(gMainMenuSelection) # $t0, 0x8019 -/* 0B39D8 800B2DD8 2508EDED */ addiu $t0, %lo(gMainMenuSelection) # addiu $t0, $t0, -0x1213 -/* 0B39DC 800B2DDC 8FA6001C */ lw $a2, 0x1c($sp) -.L800B2DE0: -/* 0B39E0 800B2DE0 30D84000 */ andi $t8, $a2, 0x4000 -/* 0B39E4 800B2DE4 13000015 */ beqz $t8, .L800B2E3C -/* 0B39E8 800B2DE8 3C028019 */ lui $v0, %hi(gPlayerCount) # $v0, 0x8019 -/* 0B39EC 800B2DEC 24040003 */ li $a0, 3 -/* 0B39F0 800B2DF0 0C02D12B */ jal reset_cycle_flash_menu -/* 0B39F4 800B2DF4 A1040000 */ sb $a0, ($t0) -/* 0B39F8 800B2DF8 3C044900 */ lui $a0, (0x49008002 >> 16) # lui $a0, 0x4900 -/* 0B39FC 800B2DFC 0C032384 */ jal play_sound2 -/* 0B3A00 800B2E00 34848002 */ ori $a0, (0x49008002 & 0xFFFF) # ori $a0, $a0, 0x8002 -/* 0B3A04 800B2E04 3C0E8019 */ lui $t6, %hi(gPlayerCount) # $t6, 0x8019 -/* 0B3A08 800B2E08 81CEEDF3 */ lb $t6, %lo(gPlayerCount)($t6) -/* 0B3A0C 800B2E0C 3C19800F */ lui $t9, %hi((gGameModeMenuColumn - 1)) # 0x800f -/* 0B3A10 800B2E10 3C03800F */ lui $v1, %hi((gGameModePlayerSelection - 0xC)) # 0x800f -/* 0B3A14 800B2E14 032EC821 */ addu $t9, $t9, $t6 -/* 0B3A18 800B2E18 833986AB */ lb $t9, %lo((gGameModeMenuColumn - 1))($t9) # -0x7955($t9) -/* 0B3A1C 800B2E1C 000E4880 */ sll $t1, $t6, 2 -/* 0B3A20 800B2E20 012E4823 */ subu $t1, $t1, $t6 -/* 0B3A24 800B2E24 00094880 */ sll $t1, $t1, 2 -/* 0B3A28 800B2E28 00195880 */ sll $t3, $t9, 2 -/* 0B3A2C 800B2E2C 012B5021 */ addu $t2, $t1, $t3 -/* 0B3A30 800B2E30 006A1821 */ addu $v1, $v1, $t2 -/* 0B3A34 800B2E34 100001A6 */ b .L800B34D0 -/* 0B3A38 800B2E38 8C632B70 */ lw $v1, %lo((gGameModePlayerSelection - 0xC))($v1) # 0x2b70($v1) -.L800B2E3C: -/* 0B3A3C 800B2E3C 8042EDF3 */ lb $v0, %lo(gPlayerCount)($v0) -/* 0B3A40 800B2E40 3C04800F */ lui $a0, %hi((gGameModeMenuColumn - 1)) # 0x800f -/* 0B3A44 800B2E44 30CF8000 */ andi $t7, $a2, 0x8000 -/* 0B3A48 800B2E48 00822021 */ addu $a0, $a0, $v0 -/* 0B3A4C 800B2E4C 11E0003F */ beqz $t7, .L800B2F4C -/* 0B3A50 800B2E50 808486AB */ lb $a0, %lo((gGameModeMenuColumn - 1))($a0) # -0x7955($a0) -/* 0B3A54 800B2E54 00026080 */ sll $t4, $v0, 2 -/* 0B3A58 800B2E58 01826023 */ subu $t4, $t4, $v0 -/* 0B3A5C 800B2E5C 000C6080 */ sll $t4, $t4, 2 -/* 0B3A60 800B2E60 00046880 */ sll $t5, $a0, 2 -/* 0B3A64 800B2E64 018DC021 */ addu $t8, $t4, $t5 -/* 0B3A68 800B2E68 3C03800F */ lui $v1, %hi((gGameModePlayerSelection - 0xC)) # 0x800f -/* 0B3A6C 800B2E6C 00781821 */ addu $v1, $v1, $t8 -/* 0B3A70 800B2E70 8C632B70 */ lw $v1, %lo((gGameModePlayerSelection - 0xC))($v1) # 0x2b70($v1) -/* 0B3A74 800B2E74 3C044900 */ lui $a0, (0x4900900A >> 16) # lui $a0, 0x4900 -/* 0B3A78 800B2E78 24190005 */ li $t9, 5 -/* 0B3A7C 800B2E7C 1060000D */ beqz $v1, .L800B2EB4 -/* 0B3A80 800B2E80 3484900A */ ori $a0, (0x4900900A & 0xFFFF) # ori $a0, $a0, 0x900a -/* 0B3A84 800B2E84 24070001 */ li $a3, 1 -/* 0B3A88 800B2E88 10670014 */ beq $v1, $a3, .L800B2EDC -/* 0B3A8C 800B2E8C 240B0005 */ li $t3, 5 -/* 0B3A90 800B2E90 24010002 */ li $at, 2 -/* 0B3A94 800B2E94 1061000B */ beq $v1, $at, .L800B2EC4 -/* 0B3A98 800B2E98 24090005 */ li $t1, 5 -/* 0B3A9C 800B2E9C 24040003 */ li $a0, 3 -/* 0B3AA0 800B2EA0 10640014 */ beq $v1, $a0, .L800B2EF4 -/* 0B3AA4 800B2EA4 240A0006 */ li $t2, 6 -/* 0B3AA8 800B2EA8 240E0006 */ li $t6, 6 -/* 0B3AAC 800B2EAC 10000015 */ b .L800B2F04 -/* 0B3AB0 800B2EB0 A10E0000 */ sb $t6, ($t0) -.L800B2EB4: # case 0 -/* 0B3AB4 800B2EB4 0C032384 */ jal play_sound2 -/* 0B3AB8 800B2EB8 A1190000 */ sb $t9, ($t0) -/* 0B3ABC 800B2EBC 10000011 */ b .L800B2F04 -/* 0B3AC0 800B2EC0 00000000 */ nop -.L800B2EC4: -/* 0B3AC4 800B2EC4 3C044900 */ lui $a0, (0x4900900C >> 16) # lui $a0, 0x4900 -/* 0B3AC8 800B2EC8 A1090000 */ sb $t1, ($t0) -/* 0B3ACC 800B2ECC 0C032384 */ jal play_sound2 -/* 0B3AD0 800B2ED0 3484900C */ ori $a0, (0x4900900C & 0xFFFF) # ori $a0, $a0, 0x900c -/* 0B3AD4 800B2ED4 1000000B */ b .L800B2F04 -/* 0B3AD8 800B2ED8 00000000 */ nop -.L800B2EDC: -/* 0B3ADC 800B2EDC 3C044900 */ lui $a0, (0x4900900B >> 16) # lui $a0, 0x4900 -/* 0B3AE0 800B2EE0 A10B0000 */ sb $t3, ($t0) -/* 0B3AE4 800B2EE4 0C032384 */ jal play_sound2 -/* 0B3AE8 800B2EE8 3484900B */ ori $a0, (0x4900900B & 0xFFFF) # ori $a0, $a0, 0x900b -/* 0B3AEC 800B2EEC 10000005 */ b .L800B2F04 -/* 0B3AF0 800B2EF0 00000000 */ nop -.L800B2EF4: -/* 0B3AF4 800B2EF4 3C044900 */ lui $a0, (0x4900900D >> 16) # lui $a0, 0x4900 -/* 0B3AF8 800B2EF8 A10A0000 */ sb $t2, ($t0) -/* 0B3AFC 800B2EFC 0C032384 */ jal play_sound2 -/* 0B3B00 800B2F00 3484900D */ ori $a0, (0x4900900D & 0xFFFF) # ori $a0, $a0, 0x900d -.L800B2F04: -/* 0B3B04 800B2F04 0C02D12B */ jal reset_cycle_flash_menu -/* 0B3B08 800B2F08 00000000 */ nop -/* 0B3B0C 800B2F0C 3C0F8019 */ lui $t7, %hi(gPlayerCount) # $t7, 0x8019 -/* 0B3B10 800B2F10 81EFEDF3 */ lb $t7, %lo(gPlayerCount)($t7) -/* 0B3B14 800B2F14 3C0D800F */ lui $t5, %hi((gGameModeMenuColumn - 1)) # 0x800f -/* 0B3B18 800B2F18 3C03800F */ lui $v1, %hi((gGameModePlayerSelection - 0xC)) # 0x800f -/* 0B3B1C 800B2F1C 01AF6821 */ addu $t5, $t5, $t7 -/* 0B3B20 800B2F20 81AD86AB */ lb $t5, %lo((gGameModeMenuColumn - 1))($t5) # -0x7955($t5) -/* 0B3B24 800B2F24 000F6080 */ sll $t4, $t7, 2 -/* 0B3B28 800B2F28 018F6023 */ subu $t4, $t4, $t7 -/* 0B3B2C 800B2F2C 000C6080 */ sll $t4, $t4, 2 -/* 0B3B30 800B2F30 000DC080 */ sll $t8, $t5, 2 -/* 0B3B34 800B2F34 01987021 */ addu $t6, $t4, $t8 -/* 0B3B38 800B2F38 3C018019 */ lui $at, %hi(gMenuTimingCounter) # $at, 0x8019 -/* 0B3B3C 800B2F3C 006E1821 */ addu $v1, $v1, $t6 -/* 0B3B40 800B2F40 AC20EE00 */ sw $zero, %lo(gMenuTimingCounter)($at) -/* 0B3B44 800B2F44 10000162 */ b .L800B34D0 -/* 0B3B48 800B2F48 8C632B70 */ lw $v1, %lo((gGameModePlayerSelection - 0xC))($v1) # 0x2b70($v1) -.L800B2F4C: -/* 0B3B4C 800B2F4C 0002C880 */ sll $t9, $v0, 2 -/* 0B3B50 800B2F50 0322C823 */ subu $t9, $t9, $v0 -/* 0B3B54 800B2F54 0019C880 */ sll $t9, $t9, 2 -/* 0B3B58 800B2F58 00044880 */ sll $t1, $a0, 2 -/* 0B3B5C 800B2F5C 03295821 */ addu $t3, $t9, $t1 -/* 0B3B60 800B2F60 3C03800F */ lui $v1, %hi((gGameModePlayerSelection - 0xC)) # 0x800f -/* 0B3B64 800B2F64 006B1821 */ addu $v1, $v1, $t3 -/* 0B3B68 800B2F68 10000159 */ b .L800B34D0 -/* 0B3B6C 800B2F6C 8C632B70 */ lw $v1, %lo((gGameModePlayerSelection - 0xC))($v1) # 0x2b70($v1) -glabel L800B2F70 # case 5, 8 -/* 0B3B70 800B2F70 14A00023 */ bnez $a1, .L800B3000 -/* 0B3B74 800B2F74 00603025 */ move $a2, $v1 -/* 0B3B78 800B2F78 3C0A8019 */ lui $t2, %hi(gMenuTimingCounter) # $t2, 0x8019 -/* 0B3B7C 800B2F7C 8D4AEE00 */ lw $t2, %lo(gMenuTimingCounter)($t2) -/* 0B3B80 800B2F80 3C018019 */ lui $at, %hi(gMenuTimingCounter) # $at, 0x8019 -/* 0B3B84 800B2F84 3C028019 */ lui $v0, %hi(gPlayerCount) # $v0, 0x8019 -/* 0B3B88 800B2F88 254F0001 */ addiu $t7, $t2, 1 -/* 0B3B8C 800B2F8C AC2FEE00 */ sw $t7, %lo(gMenuTimingCounter)($at) -/* 0B3B90 800B2F90 24010064 */ li $at, 100 -/* 0B3B94 800B2F94 11E10005 */ beq $t7, $at, .L800B2FAC -/* 0B3B98 800B2F98 2401012C */ li $at, 300 -/* 0B3B9C 800B2F9C 01E1001A */ div $zero, $t7, $at -/* 0B3BA0 800B2FA0 00006810 */ mfhi $t5 -/* 0B3BA4 800B2FA4 15A00016 */ bnez $t5, .L800B3000 -/* 0B3BA8 800B2FA8 00000000 */ nop -.L800B2FAC: -/* 0B3BAC 800B2FAC 8042EDF3 */ lb $v0, %lo(gPlayerCount)($v0) -/* 0B3BB0 800B2FB0 3C18800F */ lui $t8, %hi((gGameModeMenuColumn - 1)) # 0x800f -/* 0B3BB4 800B2FB4 3C03800F */ lui $v1, %hi((gGameModePlayerSelection - 0xC)) # 0x800f -/* 0B3BB8 800B2FB8 0302C021 */ addu $t8, $t8, $v0 -/* 0B3BBC 800B2FBC 831886AB */ lb $t8, %lo((gGameModeMenuColumn - 1))($t8) # -0x7955($t8) -/* 0B3BC0 800B2FC0 00026080 */ sll $t4, $v0, 2 -/* 0B3BC4 800B2FC4 01826023 */ subu $t4, $t4, $v0 -/* 0B3BC8 800B2FC8 000C6080 */ sll $t4, $t4, 2 -/* 0B3BCC 800B2FCC 00187080 */ sll $t6, $t8, 2 -/* 0B3BD0 800B2FD0 018EC821 */ addu $t9, $t4, $t6 -/* 0B3BD4 800B2FD4 00791821 */ addu $v1, $v1, $t9 -/* 0B3BD8 800B2FD8 8C632B70 */ lw $v1, %lo((gGameModePlayerSelection - 0xC))($v1) # 0x2b70($v1) -/* 0B3BDC 800B2FDC 3C044900 */ lui $a0, (0x4900900E >> 16) # lui $a0, 0x4900 -/* 0B3BE0 800B2FE0 24010002 */ li $at, 2 -/* 0B3BE4 800B2FE4 10600003 */ beqz $v1, .L800B2FF4 -/* 0B3BE8 800B2FE8 3484900E */ ori $a0, (0x4900900E & 0xFFFF) # ori $a0, $a0, 0x900e -/* 0B3BEC 800B2FEC 14610004 */ bne $v1, $at, .L800B3000 -/* 0B3BF0 800B2FF0 00000000 */ nop -.L800B2FF4: -/* 0B3BF4 800B2FF4 0C032384 */ jal play_sound2 -/* 0B3BF8 800B2FF8 AFA6001C */ sw $a2, 0x1c($sp) -/* 0B3BFC 800B2FFC 8FA6001C */ lw $a2, 0x1c($sp) -.L800B3000: -/* 0B3C00 800B3000 3C028019 */ lui $v0, %hi(gPlayerCount) # $v0, 0x8019 -/* 0B3C04 800B3004 8042EDF3 */ lb $v0, %lo(gPlayerCount)($v0) -/* 0B3C08 800B3008 3C0B800F */ lui $t3, %hi((gGameModeMenuColumn - 1)) # 0x800f -/* 0B3C0C 800B300C 3C0F800F */ lui $t7, %hi(gGameModeSubMenuColumn) # $t7, 0x800f -/* 0B3C10 800B3010 01625821 */ addu $t3, $t3, $v0 -/* 0B3C14 800B3014 816B86AB */ lb $t3, %lo((gGameModeMenuColumn - 1))($t3) # -0x7955($t3) -/* 0B3C18 800B3018 00024880 */ sll $t1, $v0, 2 -/* 0B3C1C 800B301C 01224823 */ subu $t1, $t1, $v0 -/* 0B3C20 800B3020 25EF86B0 */ addiu $t7, %lo(gGameModeSubMenuColumn) # addiu $t7, $t7, -0x7950 -/* 0B3C24 800B3024 012B5021 */ addu $t2, $t1, $t3 -/* 0B3C28 800B3028 014F1821 */ addu $v1, $t2, $t7 -/* 0B3C2C 800B302C 8064FFFD */ lb $a0, -3($v1) -/* 0B3C30 800B3030 30CD0800 */ andi $t5, $a2, 0x800 -/* 0B3C34 800B3034 11A0000C */ beqz $t5, .L800B3068 -/* 0B3C38 800B3038 00802825 */ move $a1, $a0 -/* 0B3C3C 800B303C 1880000A */ blez $a0, .L800B3068 -/* 0B3C40 800B3040 2498FFFF */ addiu $t8, $a0, -1 -/* 0B3C44 800B3044 A078FFFD */ sb $t8, -3($v1) -/* 0B3C48 800B3048 AFA40028 */ sw $a0, 0x28($sp) -/* 0B3C4C 800B304C 0C02D12B */ jal reset_cycle_flash_menu -/* 0B3C50 800B3050 AFA6001C */ sw $a2, 0x1c($sp) -/* 0B3C54 800B3054 3C044900 */ lui $a0, (0x49008000 >> 16) # lui $a0, 0x4900 -/* 0B3C58 800B3058 0C032384 */ jal play_sound2 -/* 0B3C5C 800B305C 34848000 */ ori $a0, (0x49008000 & 0xFFFF) # ori $a0, $a0, 0x8000 -/* 0B3C60 800B3060 8FA50028 */ lw $a1, 0x28($sp) -/* 0B3C64 800B3064 8FA6001C */ lw $a2, 0x1c($sp) -.L800B3068: -/* 0B3C68 800B3068 30CC0400 */ andi $t4, $a2, 0x400 -/* 0B3C6C 800B306C 11800038 */ beqz $t4, .L800B3150 -/* 0B3C70 800B3070 00000000 */ nop -/* 0B3C74 800B3074 AFA00024 */ sw $zero, 0x24($sp) -/* 0B3C78 800B3078 AFA50028 */ sw $a1, 0x28($sp) -/* 0B3C7C 800B307C 0C02D557 */ jal has_unlocked_extra_mode -/* 0B3C80 800B3080 AFA6001C */ sw $a2, 0x1c($sp) -/* 0B3C84 800B3084 8FA30024 */ lw $v1, 0x24($sp) -/* 0B3C88 800B3088 8FA50028 */ lw $a1, 0x28($sp) -/* 0B3C8C 800B308C 10400011 */ beqz $v0, .L800B30D4 -/* 0B3C90 800B3090 8FA6001C */ lw $a2, 0x1c($sp) -/* 0B3C94 800B3094 3C028019 */ lui $v0, %hi(gPlayerCount) # $v0, 0x8019 -/* 0B3C98 800B3098 8042EDF3 */ lb $v0, %lo(gPlayerCount)($v0) -/* 0B3C9C 800B309C 3C04800F */ lui $a0, %hi((gGameModeMenuColumn - 1)) # 0x800f -/* 0B3CA0 800B30A0 3C09800F */ lui $t1, %hi((sGameModePlayerColumnExtra - 3)) # 0x800f -/* 0B3CA4 800B30A4 00822021 */ addu $a0, $a0, $v0 -/* 0B3CA8 800B30A8 808486AB */ lb $a0, %lo((gGameModeMenuColumn - 1))($a0) # -0x7955($a0) -/* 0B3CAC 800B30AC 00027080 */ sll $t6, $v0, 2 -/* 0B3CB0 800B30B0 01C27023 */ subu $t6, $t6, $v0 -/* 0B3CB4 800B30B4 01C4C821 */ addu $t9, $t6, $a0 -/* 0B3CB8 800B30B8 01394821 */ addu $t1, $t1, $t9 -/* 0B3CBC 800B30BC 81292B6D */ lb $t1, %lo((sGameModePlayerColumnExtra - 3))($t1) # 0x2b6d($t1) -/* 0B3CC0 800B30C0 00A9082A */ slt $at, $a1, $t1 -/* 0B3CC4 800B30C4 10200012 */ beqz $at, .L800B3110 -/* 0B3CC8 800B30C8 00000000 */ nop -/* 0B3CCC 800B30CC 10000010 */ b .L800B3110 -/* 0B3CD0 800B30D0 24030001 */ li $v1, 1 -.L800B30D4: -/* 0B3CD4 800B30D4 3C028019 */ lui $v0, %hi(gPlayerCount) # $v0, 0x8019 -/* 0B3CD8 800B30D8 8042EDF3 */ lb $v0, %lo(gPlayerCount)($v0) -/* 0B3CDC 800B30DC 3C04800F */ lui $a0, %hi((gGameModeMenuColumn - 1)) # 0x800f -/* 0B3CE0 800B30E0 3C0F800F */ lui $t7, %hi((sGameModePlayerColumnDefault - 3)) # 0x800f -/* 0B3CE4 800B30E4 00822021 */ addu $a0, $a0, $v0 -/* 0B3CE8 800B30E8 808486AB */ lb $a0, %lo((gGameModeMenuColumn - 1))($a0) # -0x7955($a0) -/* 0B3CEC 800B30EC 00025880 */ sll $t3, $v0, 2 -/* 0B3CF0 800B30F0 01625823 */ subu $t3, $t3, $v0 -/* 0B3CF4 800B30F4 01645021 */ addu $t2, $t3, $a0 -/* 0B3CF8 800B30F8 01EA7821 */ addu $t7, $t7, $t2 -/* 0B3CFC 800B30FC 81EF2B61 */ lb $t7, %lo((sGameModePlayerColumnDefault - 3))($t7) # 0x2b61($t7) -/* 0B3D00 800B3100 00AF082A */ slt $at, $a1, $t7 -/* 0B3D04 800B3104 10200002 */ beqz $at, .L800B3110 -/* 0B3D08 800B3108 00000000 */ nop -/* 0B3D0C 800B310C 24030001 */ li $v1, 1 -.L800B3110: -/* 0B3D10 800B3110 1060000F */ beqz $v1, .L800B3150 -/* 0B3D14 800B3114 00026880 */ sll $t5, $v0, 2 -/* 0B3D18 800B3118 01A26823 */ subu $t5, $t5, $v0 -/* 0B3D1C 800B311C 3C0C800F */ lui $t4, %hi(gGameModeSubMenuColumn) # $t4, 0x800f -/* 0B3D20 800B3120 258C86B0 */ addiu $t4, %lo(gGameModeSubMenuColumn) # addiu $t4, $t4, -0x7950 -/* 0B3D24 800B3124 01A4C021 */ addu $t8, $t5, $a0 -/* 0B3D28 800B3128 030C1821 */ addu $v1, $t8, $t4 -/* 0B3D2C 800B312C 806EFFFD */ lb $t6, -3($v1) -/* 0B3D30 800B3130 AFA6001C */ sw $a2, 0x1c($sp) -/* 0B3D34 800B3134 25D90001 */ addiu $t9, $t6, 1 -/* 0B3D38 800B3138 0C02D12B */ jal reset_cycle_flash_menu -/* 0B3D3C 800B313C A079FFFD */ sb $t9, -3($v1) -/* 0B3D40 800B3140 3C044900 */ lui $a0, (0x49008000 >> 16) # lui $a0, 0x4900 -/* 0B3D44 800B3144 0C032384 */ jal play_sound2 -/* 0B3D48 800B3148 34848000 */ ori $a0, (0x49008000 & 0xFFFF) # ori $a0, $a0, 0x8000 -/* 0B3D4C 800B314C 8FA6001C */ lw $a2, 0x1c($sp) -.L800B3150: -/* 0B3D50 800B3150 3C028019 */ lui $v0, %hi(gPlayerCount) # $v0, 0x8019 -/* 0B3D54 800B3154 8042EDF3 */ lb $v0, %lo(gPlayerCount)($v0) -/* 0B3D58 800B3158 3C04800F */ lui $a0, %hi((gGameModeMenuColumn - 1)) # 0x800f -/* 0B3D5C 800B315C 3C05800F */ lui $a1, %hi((gGameModeSubMenuColumn - 3)) # 0x800f -/* 0B3D60 800B3160 00822021 */ addu $a0, $a0, $v0 -/* 0B3D64 800B3164 808486AB */ lb $a0, %lo((gGameModeMenuColumn - 1))($a0) # -0x7955($a0) -/* 0B3D68 800B3168 00024880 */ sll $t1, $v0, 2 -/* 0B3D6C 800B316C 01224823 */ subu $t1, $t1, $v0 -/* 0B3D70 800B3170 01245821 */ addu $t3, $t1, $a0 -/* 0B3D74 800B3174 3C088019 */ lui $t0, %hi(gMainMenuSelection) # $t0, 0x8019 -/* 0B3D78 800B3178 00AB2821 */ addu $a1, $a1, $t3 -/* 0B3D7C 800B317C 30CA4000 */ andi $t2, $a2, 0x4000 -/* 0B3D80 800B3180 2508EDED */ addiu $t0, %lo(gMainMenuSelection) # addiu $t0, $t0, -0x1213 -/* 0B3D84 800B3184 11400015 */ beqz $t2, .L800B31DC -/* 0B3D88 800B3188 80A586AD */ lb $a1, %lo((gGameModeSubMenuColumn - 3))($a1) # -0x7953($a1) -/* 0B3D8C 800B318C 240F0004 */ li $t7, 4 -/* 0B3D90 800B3190 0C02D12B */ jal reset_cycle_flash_menu -/* 0B3D94 800B3194 A10F0000 */ sb $t7, ($t0) -/* 0B3D98 800B3198 3C044900 */ lui $a0, (0x49008002 >> 16) # lui $a0, 0x4900 -/* 0B3D9C 800B319C 0C032384 */ jal play_sound2 -/* 0B3DA0 800B31A0 34848002 */ ori $a0, (0x49008002 & 0xFFFF) # ori $a0, $a0, 0x8002 -/* 0B3DA4 800B31A4 3C0D8019 */ lui $t5, %hi(gPlayerCount) # $t5, 0x8019 -/* 0B3DA8 800B31A8 81ADEDF3 */ lb $t5, %lo(gPlayerCount)($t5) -/* 0B3DAC 800B31AC 3C0C800F */ lui $t4, %hi((gGameModeMenuColumn - 1)) # 0x800f -/* 0B3DB0 800B31B0 3C03800F */ lui $v1, %hi((gGameModePlayerSelection - 0xC)) # 0x800f -/* 0B3DB4 800B31B4 018D6021 */ addu $t4, $t4, $t5 -/* 0B3DB8 800B31B8 818C86AB */ lb $t4, %lo((gGameModeMenuColumn - 1))($t4) # -0x7955($t4) -/* 0B3DBC 800B31BC 000DC080 */ sll $t8, $t5, 2 -/* 0B3DC0 800B31C0 030DC023 */ subu $t8, $t8, $t5 -/* 0B3DC4 800B31C4 0018C080 */ sll $t8, $t8, 2 -/* 0B3DC8 800B31C8 000C7080 */ sll $t6, $t4, 2 -/* 0B3DCC 800B31CC 030EC821 */ addu $t9, $t8, $t6 -/* 0B3DD0 800B31D0 00791821 */ addu $v1, $v1, $t9 -/* 0B3DD4 800B31D4 100000BE */ b .L800B34D0 -/* 0B3DD8 800B31D8 8C632B70 */ lw $v1, %lo((gGameModePlayerSelection - 0xC))($v1) # 0x2b70($v1) -.L800B31DC: -/* 0B3DDC 800B31DC 30C98000 */ andi $t1, $a2, 0x8000 -/* 0B3DE0 800B31E0 1120002C */ beqz $t1, .L800B3294 -/* 0B3DE4 800B31E4 0002C880 */ sll $t9, $v0, 2 -/* 0B3DE8 800B31E8 0C02D12B */ jal reset_cycle_flash_menu -/* 0B3DEC 800B31EC AFA50028 */ sw $a1, 0x28($sp) -/* 0B3DF0 800B31F0 3C028019 */ lui $v0, %hi(gPlayerCount) # $v0, 0x8019 -/* 0B3DF4 800B31F4 8042EDF3 */ lb $v0, %lo(gPlayerCount)($v0) -/* 0B3DF8 800B31F8 24070001 */ li $a3, 1 -/* 0B3DFC 800B31FC 8FA50028 */ lw $a1, 0x28($sp) -/* 0B3E00 800B3200 14E2000E */ bne $a3, $v0, .L800B323C -/* 0B3E04 800B3204 3C0B800F */ lui $t3, %hi((gGameModeMenuColumn - 1)) # 0x800f -/* 0B3E08 800B3208 01625821 */ addu $t3, $t3, $v0 -/* 0B3E0C 800B320C 816B86AB */ lb $t3, %lo((gGameModeMenuColumn - 1))($t3) # -0x7955($t3) -/* 0B3E10 800B3210 54EB000B */ bnel $a3, $t3, .L800B3240 -/* 0B3E14 800B3214 240A0006 */ li $t2, 6 -/* 0B3E18 800B3218 54A70009 */ bnel $a1, $a3, .L800B3240 -/* 0B3E1C 800B321C 240A0006 */ li $t2, 6 -/* 0B3E20 800B3220 0C027896 */ jal func_8009E258 -/* 0B3E24 800B3224 00000000 */ nop -/* 0B3E28 800B3228 3C044900 */ lui $a0, (0x49009011 >> 16) # lui $a0, 0x4900 -/* 0B3E2C 800B322C 0C032384 */ jal play_sound2 -/* 0B3E30 800B3230 34849011 */ ori $a0, (0x49009011 & 0xFFFF) # ori $a0, $a0, 0x9011 -/* 0B3E34 800B3234 10000009 */ b .L800B325C -/* 0B3E38 800B3238 00000000 */ nop -.L800B323C: -/* 0B3E3C 800B323C 240A0006 */ li $t2, 6 -.L800B3240: -/* 0B3E40 800B3240 3C018019 */ lui $at, %hi(gMainMenuSelection) # $at, 0x8019 -/* 0B3E44 800B3244 3C044900 */ lui $a0, (0x49008001 >> 16) # lui $a0, 0x4900 -/* 0B3E48 800B3248 A02AEDED */ sb $t2, %lo(gMainMenuSelection)($at) -/* 0B3E4C 800B324C 0C032384 */ jal play_sound2 -/* 0B3E50 800B3250 34848001 */ ori $a0, (0x49008001 & 0xFFFF) # ori $a0, $a0, 0x8001 -/* 0B3E54 800B3254 3C018019 */ lui $at, %hi(gMenuTimingCounter) # $at, 0x8019 -/* 0B3E58 800B3258 AC20EE00 */ sw $zero, %lo(gMenuTimingCounter)($at) -.L800B325C: -/* 0B3E5C 800B325C 3C0F8019 */ lui $t7, %hi(gPlayerCount) # $t7, 0x8019 -/* 0B3E60 800B3260 81EFEDF3 */ lb $t7, %lo(gPlayerCount)($t7) -/* 0B3E64 800B3264 3C0C800F */ lui $t4, %hi((gGameModeMenuColumn - 1)) # 0x800f -/* 0B3E68 800B3268 3C03800F */ lui $v1, %hi((gGameModePlayerSelection - 0xC)) # 0x800f -/* 0B3E6C 800B326C 018F6021 */ addu $t4, $t4, $t7 -/* 0B3E70 800B3270 818C86AB */ lb $t4, %lo((gGameModeMenuColumn - 1))($t4) # -0x7955($t4) -/* 0B3E74 800B3274 000F6880 */ sll $t5, $t7, 2 -/* 0B3E78 800B3278 01AF6823 */ subu $t5, $t5, $t7 -/* 0B3E7C 800B327C 000D6880 */ sll $t5, $t5, 2 -/* 0B3E80 800B3280 000CC080 */ sll $t8, $t4, 2 -/* 0B3E84 800B3284 01B87021 */ addu $t6, $t5, $t8 -/* 0B3E88 800B3288 006E1821 */ addu $v1, $v1, $t6 -/* 0B3E8C 800B328C 10000090 */ b .L800B34D0 -/* 0B3E90 800B3290 8C632B70 */ lw $v1, %lo((gGameModePlayerSelection - 0xC))($v1) # 0x2b70($v1) -.L800B3294: -/* 0B3E94 800B3294 0322C823 */ subu $t9, $t9, $v0 -/* 0B3E98 800B3298 0019C880 */ sll $t9, $t9, 2 -/* 0B3E9C 800B329C 00044880 */ sll $t1, $a0, 2 -/* 0B3EA0 800B32A0 03295821 */ addu $t3, $t9, $t1 -/* 0B3EA4 800B32A4 3C03800F */ lui $v1, %hi((gGameModePlayerSelection - 0xC)) # 0x800f -/* 0B3EA8 800B32A8 006B1821 */ addu $v1, $v1, $t3 -/* 0B3EAC 800B32AC 10000088 */ b .L800B34D0 -/* 0B3EB0 800B32B0 8C632B70 */ lw $v1, %lo((gGameModePlayerSelection - 0xC))($v1) # 0x2b70($v1) -glabel L800B32B4 # case 6, 7 -/* 0B3EB4 800B32B4 14A00014 */ bnez $a1, .L800B3308 -/* 0B3EB8 800B32B8 00603025 */ move $a2, $v1 -/* 0B3EBC 800B32BC 3C0A8019 */ lui $t2, %hi(gMenuTimingCounter) # $t2, 0x8019 -/* 0B3EC0 800B32C0 8D4AEE00 */ lw $t2, %lo(gMenuTimingCounter)($t2) -/* 0B3EC4 800B32C4 3C018019 */ lui $at, %hi(gMenuTimingCounter) # $at, 0x8019 -/* 0B3EC8 800B32C8 3C044900 */ lui $a0, (0x4900900F >> 16) # lui $a0, 0x4900 -/* 0B3ECC 800B32CC 254F0001 */ addiu $t7, $t2, 1 -/* 0B3ED0 800B32D0 AC2FEE00 */ sw $t7, %lo(gMenuTimingCounter)($at) -/* 0B3ED4 800B32D4 2401003C */ li $at, 60 -/* 0B3ED8 800B32D8 11E10006 */ beq $t7, $at, .L800B32F4 -/* 0B3EDC 800B32DC 3484900F */ ori $a0, (0x4900900F & 0xFFFF) # ori $a0, $a0, 0x900f -/* 0B3EE0 800B32E0 2401012C */ li $at, 300 -/* 0B3EE4 800B32E4 01E1001A */ div $zero, $t7, $at -/* 0B3EE8 800B32E8 00006010 */ mfhi $t4 -/* 0B3EEC 800B32EC 55800007 */ bnel $t4, $zero, .L800B330C -/* 0B3EF0 800B32F0 30CD4000 */ andi $t5, $a2, 0x4000 -.L800B32F4: -/* 0B3EF4 800B32F4 0C032384 */ jal play_sound2 -/* 0B3EF8 800B32F8 AFA6001C */ sw $a2, 0x1c($sp) -/* 0B3EFC 800B32FC 3C088019 */ lui $t0, %hi(gMainMenuSelection) # $t0, 0x8019 -/* 0B3F00 800B3300 2508EDED */ addiu $t0, %lo(gMainMenuSelection) # addiu $t0, $t0, -0x1213 -/* 0B3F04 800B3304 8FA6001C */ lw $a2, 0x1c($sp) -.L800B3308: -/* 0B3F08 800B3308 30CD4000 */ andi $t5, $a2, 0x4000 -.L800B330C: -/* 0B3F0C 800B330C 11A00032 */ beqz $t5, .L800B33D8 -/* 0B3F10 800B3310 30D98000 */ andi $t9, $a2, 0x8000 -/* 0B3F14 800B3314 3C028019 */ lui $v0, %hi(gPlayerCount) # $v0, 0x8019 -/* 0B3F18 800B3318 8042EDF3 */ lb $v0, %lo(gPlayerCount)($v0) -/* 0B3F1C 800B331C 3C0E800F */ lui $t6, %hi((gGameModeMenuColumn - 1)) # 0x800f -/* 0B3F20 800B3320 3C03800F */ lui $v1, %hi((gGameModePlayerSelection - 0xC)) # 0x800f -/* 0B3F24 800B3324 01C27021 */ addu $t6, $t6, $v0 -/* 0B3F28 800B3328 81CE86AB */ lb $t6, %lo((gGameModeMenuColumn - 1))($t6) # -0x7955($t6) -/* 0B3F2C 800B332C 0002C080 */ sll $t8, $v0, 2 -/* 0B3F30 800B3330 0302C023 */ subu $t8, $t8, $v0 -/* 0B3F34 800B3334 0018C080 */ sll $t8, $t8, 2 -/* 0B3F38 800B3338 000EC880 */ sll $t9, $t6, 2 -/* 0B3F3C 800B333C 03194821 */ addu $t1, $t8, $t9 -/* 0B3F40 800B3340 00691821 */ addu $v1, $v1, $t1 -/* 0B3F44 800B3344 8C632B70 */ lw $v1, %lo((gGameModePlayerSelection - 0xC))($v1) # 0x2b70($v1) -/* 0B3F48 800B3348 24070001 */ li $a3, 1 -/* 0B3F4C 800B334C 240B0005 */ li $t3, 5 -/* 0B3F50 800B3350 10600009 */ beqz $v1, .L800B3378 -/* 0B3F54 800B3354 00000000 */ nop -/* 0B3F58 800B3358 10670007 */ beq $v1, $a3, .L800B3378 -/* 0B3F5C 800B335C 24010002 */ li $at, 2 -/* 0B3F60 800B3360 10610005 */ beq $v1, $at, .L800B3378 -/* 0B3F64 800B3364 24040003 */ li $a0, 3 -/* 0B3F68 800B3368 10640005 */ beq $v1, $a0, .L800B3380 -/* 0B3F6C 800B336C 240A0004 */ li $t2, 4 -/* 0B3F70 800B3370 10000004 */ b .L800B3384 -/* 0B3F74 800B3374 A10A0000 */ sb $t2, ($t0) -.L800B3378: -/* 0B3F78 800B3378 10000002 */ b .L800B3384 -/* 0B3F7C 800B337C A10B0000 */ sb $t3, ($t0) -.L800B3380: -/* 0B3F80 800B3380 A10A0000 */ sb $t2, ($t0) -.L800B3384: -/* 0B3F84 800B3384 0C02D12B */ jal reset_cycle_flash_menu -/* 0B3F88 800B3388 00000000 */ nop -/* 0B3F8C 800B338C 3C044900 */ lui $a0, (0x49008002 >> 16) # lui $a0, 0x4900 -/* 0B3F90 800B3390 0C032384 */ jal play_sound2 -/* 0B3F94 800B3394 34848002 */ ori $a0, (0x49008002 & 0xFFFF) # ori $a0, $a0, 0x8002 -/* 0B3F98 800B3398 3C0F8019 */ lui $t7, %hi(gPlayerCount) # $t7, 0x8019 -/* 0B3F9C 800B339C 81EFEDF3 */ lb $t7, %lo(gPlayerCount)($t7) -/* 0B3FA0 800B33A0 3C0D800F */ lui $t5, %hi((gGameModeMenuColumn - 1)) # 0x800f -/* 0B3FA4 800B33A4 3C03800F */ lui $v1, %hi((gGameModePlayerSelection - 0xC)) # 0x800f -/* 0B3FA8 800B33A8 01AF6821 */ addu $t5, $t5, $t7 -/* 0B3FAC 800B33AC 81AD86AB */ lb $t5, %lo((gGameModeMenuColumn - 1))($t5) # -0x7955($t5) -/* 0B3FB0 800B33B0 000F6080 */ sll $t4, $t7, 2 -/* 0B3FB4 800B33B4 018F6023 */ subu $t4, $t4, $t7 -/* 0B3FB8 800B33B8 000C6080 */ sll $t4, $t4, 2 -/* 0B3FBC 800B33BC 000D7080 */ sll $t6, $t5, 2 -/* 0B3FC0 800B33C0 018EC021 */ addu $t8, $t4, $t6 -/* 0B3FC4 800B33C4 3C018019 */ lui $at, %hi(gMenuTimingCounter) # $at, 0x8019 -/* 0B3FC8 800B33C8 00781821 */ addu $v1, $v1, $t8 -/* 0B3FCC 800B33CC AC20EE00 */ sw $zero, %lo(gMenuTimingCounter)($at) -/* 0B3FD0 800B33D0 1000003F */ b .L800B34D0 -/* 0B3FD4 800B33D4 8C632B70 */ lw $v1, %lo((gGameModePlayerSelection - 0xC))($v1) # 0x2b70($v1) -.L800B33D8: -/* 0B3FD8 800B33D8 13200016 */ beqz $t9, .L800B3434 -/* 0B3FDC 800B33DC 3C0C8019 */ lui $t4, %hi(gPlayerCount) # $t4, 0x8019 -/* 0B3FE0 800B33E0 0C027870 */ jal func_8009E1C0 -/* 0B3FE4 800B33E4 00000000 */ nop -/* 0B3FE8 800B33E8 3C044900 */ lui $a0, (0x49008016 >> 16) # lui $a0, 0x4900 -/* 0B3FEC 800B33EC 0C032384 */ jal play_sound2 -/* 0B3FF0 800B33F0 34848016 */ ori $a0, (0x49008016 & 0xFFFF) # ori $a0, $a0, 0x8016 -/* 0B3FF4 800B33F4 0C02CA32 */ jal setup_game_mode_selected -/* 0B3FF8 800B33F8 00000000 */ nop -/* 0B3FFC 800B33FC 3C098019 */ lui $t1, %hi(gPlayerCount) # $t1, 0x8019 -/* 0B4000 800B3400 8129EDF3 */ lb $t1, %lo(gPlayerCount)($t1) -/* 0B4004 800B3404 3C0A800F */ lui $t2, %hi((gGameModeMenuColumn - 1)) # 0x800f -/* 0B4008 800B3408 3C03800F */ lui $v1, %hi((gGameModePlayerSelection - 0xC)) # 0x800f -/* 0B400C 800B340C 01495021 */ addu $t2, $t2, $t1 -/* 0B4010 800B3410 814A86AB */ lb $t2, %lo((gGameModeMenuColumn - 1))($t2) # -0x7955($t2) -/* 0B4014 800B3414 00095880 */ sll $t3, $t1, 2 -/* 0B4018 800B3418 01695823 */ subu $t3, $t3, $t1 -/* 0B401C 800B341C 000B5880 */ sll $t3, $t3, 2 -/* 0B4020 800B3420 000A7880 */ sll $t7, $t2, 2 -/* 0B4024 800B3424 016F6821 */ addu $t5, $t3, $t7 -/* 0B4028 800B3428 006D1821 */ addu $v1, $v1, $t5 -/* 0B402C 800B342C 10000028 */ b .L800B34D0 -/* 0B4030 800B3430 8C632B70 */ lw $v1, %lo((gGameModePlayerSelection - 0xC))($v1) # 0x2b70($v1) -.L800B3434: -/* 0B4034 800B3434 818CEDF3 */ lb $t4, %lo(gPlayerCount)($t4) -/* 0B4038 800B3438 3C18800F */ lui $t8, %hi((gGameModeMenuColumn - 1)) # 0x800f -/* 0B403C 800B343C 3C03800F */ lui $v1, %hi((gGameModePlayerSelection - 0xC)) # 0x800f -/* 0B4040 800B3440 030CC021 */ addu $t8, $t8, $t4 -/* 0B4044 800B3444 831886AB */ lb $t8, %lo((gGameModeMenuColumn - 1))($t8) # -0x7955($t8) -/* 0B4048 800B3448 000C7080 */ sll $t6, $t4, 2 -/* 0B404C 800B344C 01CC7023 */ subu $t6, $t6, $t4 -/* 0B4050 800B3450 000E7080 */ sll $t6, $t6, 2 -/* 0B4054 800B3454 0018C880 */ sll $t9, $t8, 2 -/* 0B4058 800B3458 01D94821 */ addu $t1, $t6, $t9 -/* 0B405C 800B345C 00691821 */ addu $v1, $v1, $t1 -/* 0B4060 800B3460 1000001B */ b .L800B34D0 -/* 0B4064 800B3464 8C632B70 */ lw $v1, %lo((gGameModePlayerSelection - 0xC))($v1) # 0x2b70($v1) -glabel L800B3468 # case 1, 2 -/* 0B4068 800B3468 3C0A8019 */ lui $t2, %hi(gPlayerCount) # $t2, 0x8019 -/* 0B406C 800B346C 814AEDF3 */ lb $t2, %lo(gPlayerCount)($t2) -/* 0B4070 800B3470 3C0F800F */ lui $t7, %hi((gGameModeMenuColumn - 1)) # 0x800f -/* 0B4074 800B3474 3C03800F */ lui $v1, %hi((gGameModePlayerSelection - 0xC)) # 0x800f -/* 0B4078 800B3478 01EA7821 */ addu $t7, $t7, $t2 -/* 0B407C 800B347C 81EF86AB */ lb $t7, %lo((gGameModeMenuColumn - 1))($t7) # -0x7955($t7) -/* 0B4080 800B3480 000A5880 */ sll $t3, $t2, 2 -/* 0B4084 800B3484 016A5823 */ subu $t3, $t3, $t2 -/* 0B4088 800B3488 000B5880 */ sll $t3, $t3, 2 -/* 0B408C 800B348C 000F6880 */ sll $t5, $t7, 2 -/* 0B4090 800B3490 016D6021 */ addu $t4, $t3, $t5 -/* 0B4094 800B3494 006C1821 */ addu $v1, $v1, $t4 -/* 0B4098 800B3498 1000000D */ b .L800B34D0 -/* 0B409C 800B349C 8C632B70 */ lw $v1, %lo((gGameModePlayerSelection - 0xC))($v1) # 0x2b70($v1) -.L800B34A0: # default -/* 0B40A0 800B34A0 8318EDF3 */ lb $t8, %lo(gPlayerCount)($t8) # -0x120d($t8) -/* 0B40A4 800B34A4 3C19800F */ lui $t9, %hi((gGameModeMenuColumn - 1)) # 0x800f -/* 0B40A8 800B34A8 3C03800F */ lui $v1, %hi((gGameModePlayerSelection - 0xC)) # 0x800f -/* 0B40AC 800B34AC 0338C821 */ addu $t9, $t9, $t8 -/* 0B40B0 800B34B0 833986AB */ lb $t9, %lo((gGameModeMenuColumn - 1))($t9) # -0x7955($t9) -/* 0B40B4 800B34B4 00187080 */ sll $t6, $t8, 2 -/* 0B40B8 800B34B8 01D87023 */ subu $t6, $t6, $t8 -/* 0B40BC 800B34BC 000E7080 */ sll $t6, $t6, 2 -/* 0B40C0 800B34C0 00194880 */ sll $t1, $t9, 2 -/* 0B40C4 800B34C4 01C95021 */ addu $t2, $t6, $t1 -/* 0B40C8 800B34C8 006A1821 */ addu $v1, $v1, $t2 -/* 0B40CC 800B34CC 8C632B70 */ lw $v1, %lo((gGameModePlayerSelection - 0xC))($v1) # 0x2b70($v1) -.L800B34D0: -/* 0B40D0 800B34D0 3C01800E */ lui $at, %hi(gModeSelection) # $at, 0x800e -/* 0B40D4 800B34D4 AC23C53C */ sw $v1, %lo(gModeSelection)($at) -.L800B34D8: -/* 0B40D8 800B34D8 8FBF0014 */ lw $ra, 0x14($sp) -/* 0B40DC 800B34DC 27BD0030 */ addiu $sp, $sp, 0x30 -/* 0B40E0 800B34E0 03E00008 */ jr $ra -/* 0B40E4 800B34E4 00000000 */ nop diff --git a/asm/non_matchings/menus/player_select_menu_act.s b/asm/non_matchings/menus/player_select_menu_act.s deleted file mode 100644 index 7adc12d10..000000000 --- a/asm/non_matchings/menus/player_select_menu_act.s +++ /dev/null @@ -1,423 +0,0 @@ -glabel player_select_menu_act -/* 0B4154 800B3554 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 0B4158 800B3558 AFBF001C */ sw $ra, 0x1c($sp) -/* 0B415C 800B355C AFB00018 */ sw $s0, 0x18($sp) -/* 0B4160 800B3560 AFA50044 */ sw $a1, 0x44($sp) -/* 0B4164 800B3564 948F000C */ lhu $t7, 0xc($a0) -/* 0B4168 800B3568 948E0006 */ lhu $t6, 6($a0) -/* 0B416C 800B356C 3C19800E */ lui $t9, %hi(gEnableDebugMode) # $t9, 0x800e -/* 0B4170 800B3570 9739C520 */ lhu $t9, %lo(gEnableDebugMode)($t9) -/* 0B4174 800B3574 01CF1825 */ or $v1, $t6, $t7 -/* 0B4178 800B3578 3078FFFF */ andi $t8, $v1, 0xffff -/* 0B417C 800B357C 17200007 */ bnez $t9, .L800B359C -/* 0B4180 800B3580 03001825 */ move $v1, $t8 -/* 0B4184 800B3584 33081000 */ andi $t0, $t8, 0x1000 -/* 0B4188 800B3588 11000004 */ beqz $t0, .L800B359C -/* 0B418C 800B358C 00000000 */ nop -/* 0B4190 800B3590 37038000 */ ori $v1, $t8, 0x8000 -/* 0B4194 800B3594 3069FFFF */ andi $t1, $v1, 0xffff -/* 0B4198 800B3598 01201825 */ move $v1, $t1 -.L800B359C: -/* 0B419C 800B359C 0C02D148 */ jal is_screen_being_faded -/* 0B41A0 800B35A0 A7A30036 */ sh $v1, 0x36($sp) -/* 0B41A4 800B35A4 14400167 */ bnez $v0, .L800B3B44 -/* 0B41A8 800B35A8 97A30036 */ lhu $v1, 0x36($sp) -/* 0B41AC 800B35AC 3C028019 */ lui $v0, %hi(gPlayerSelectMenuSelection) # $v0, 0x8019 -/* 0B41B0 800B35B0 8042EDEE */ lb $v0, %lo(gPlayerSelectMenuSelection)($v0) -/* 0B41B4 800B35B4 24010001 */ li $at, 1 -/* 0B41B8 800B35B8 97AB0046 */ lhu $t3, 0x46($sp) -/* 0B41BC 800B35BC 1041000A */ beq $v0, $at, .L800B35E8 -/* 0B41C0 800B35C0 24010002 */ li $at, 2 -/* 0B41C4 800B35C4 10410125 */ beq $v0, $at, .L800B3A5C -/* 0B41C8 800B35C8 97A90046 */ lhu $t1, 0x46($sp) -/* 0B41CC 800B35CC 24010003 */ li $at, 3 -/* 0B41D0 800B35D0 10410122 */ beq $v0, $at, .L800B3A5C -/* 0B41D4 800B35D4 97AA0046 */ lhu $t2, 0x46($sp) -/* 0B41D8 800B35D8 3C038019 */ lui $v1, %hi(gCharacterGridSelections) # 0x8019 -/* 0B41DC 800B35DC 006A1821 */ addu $v1, $v1, $t2 -/* 0B41E0 800B35E0 10000150 */ b .L800B3B24 -/* 0B41E4 800B35E4 8063EDE4 */ lb $v1, %lo(gCharacterGridSelections)($v1) # -0x121c($v1) -.L800B35E8: # case 1 -/* 0B41E8 800B35E8 3C108019 */ lui $s0, %hi(gCharacterGridSelections) # $s0, 0x8019 -/* 0B41EC 800B35EC 2610EDE4 */ addiu $s0, %lo(gCharacterGridSelections) # addiu $s0, $s0, -0x121c -/* 0B41F0 800B35F0 020B6021 */ addu $t4, $s0, $t3 -/* 0B41F4 800B35F4 AFAC0028 */ sw $t4, 0x28($sp) -/* 0B41F8 800B35F8 818E0000 */ lb $t6, ($t4) -/* 0B41FC 800B35FC 00603025 */ move $a2, $v1 -/* 0B4200 800B3600 306F4000 */ andi $t7, $v1, 0x4000 -/* 0B4204 800B3604 15C0000A */ bnez $t6, .L800B3630 -/* 0B4208 800B3608 30D84000 */ andi $t8, $a2, 0x4000 -/* 0B420C 800B360C 51E0014E */ beql $t7, $zero, .L800B3B48 -/* 0B4210 800B3610 8FBF001C */ lw $ra, 0x1c($sp) -/* 0B4214 800B3614 0C027882 */ jal func_8009E208 -/* 0B4218 800B3618 00000000 */ nop -/* 0B421C 800B361C 3C044900 */ lui $a0, (0x49008002 >> 16) # lui $a0, 0x4900 -/* 0B4220 800B3620 0C032384 */ jal play_sound2 -/* 0B4224 800B3624 34848002 */ ori $a0, (0x49008002 & 0xFFFF) # ori $a0, $a0, 0x8002 -/* 0B4228 800B3628 10000147 */ b .L800B3B48 -/* 0B422C 800B362C 8FBF001C */ lw $ra, 0x1c($sp) -.L800B3630: -/* 0B4230 800B3630 13000014 */ beqz $t8, .L800B3684 -/* 0B4234 800B3634 97B90046 */ lhu $t9, 0x46($sp) -/* 0B4238 800B3638 3C038019 */ lui $v1, %hi(gCharacterGridIsSelected) # $v1, 0x8019 -/* 0B423C 800B363C 2463EDE8 */ addiu $v1, %lo(gCharacterGridIsSelected) # addiu $v1, $v1, -0x1218 -/* 0B4240 800B3640 00793821 */ addu $a3, $v1, $t9 -/* 0B4244 800B3644 80E80000 */ lb $t0, ($a3) -/* 0B4248 800B3648 3C044900 */ lui $a0, (0x49008002 >> 16) # lui $a0, 0x4900 -/* 0B424C 800B364C 34848002 */ ori $a0, (0x49008002 & 0xFFFF) # ori $a0, $a0, 0x8002 -/* 0B4250 800B3650 11000006 */ beqz $t0, .L800B366C -/* 0B4254 800B3654 00000000 */ nop -/* 0B4258 800B3658 A0E00000 */ sb $zero, ($a3) -/* 0B425C 800B365C 0C032384 */ jal play_sound2 -/* 0B4260 800B3660 AFA6002C */ sw $a2, 0x2c($sp) -/* 0B4264 800B3664 10000007 */ b .L800B3684 -/* 0B4268 800B3668 8FA6002C */ lw $a2, 0x2c($sp) -.L800B366C: -/* 0B426C 800B366C 0C027882 */ jal func_8009E208 -/* 0B4270 800B3670 AFA6002C */ sw $a2, 0x2c($sp) -/* 0B4274 800B3674 3C044900 */ lui $a0, (0x49008002 >> 16) # lui $a0, 0x4900 -/* 0B4278 800B3678 0C032384 */ jal play_sound2 -/* 0B427C 800B367C 34848002 */ ori $a0, (0x49008002 & 0xFFFF) # ori $a0, $a0, 0x8002 -/* 0B4280 800B3680 8FA6002C */ lw $a2, 0x2c($sp) -.L800B3684: -/* 0B4284 800B3684 97A90046 */ lhu $t1, 0x46($sp) -/* 0B4288 800B3688 3C038019 */ lui $v1, %hi(gCharacterGridIsSelected) # $v1, 0x8019 -/* 0B428C 800B368C 2463EDE8 */ addiu $v1, %lo(gCharacterGridIsSelected) # addiu $v1, $v1, -0x1218 -/* 0B4290 800B3690 30CA8000 */ andi $t2, $a2, 0x8000 -/* 0B4294 800B3694 11400017 */ beqz $t2, .L800B36F4 -/* 0B4298 800B3698 00693821 */ addu $a3, $v1, $t1 -/* 0B429C 800B369C 80EB0000 */ lb $t3, ($a3) -/* 0B42A0 800B36A0 240C0001 */ li $t4, 1 -/* 0B42A4 800B36A4 3C05800F */ lui $a1, %hi((sCharacterGridOrder - 1)) # 0x800f -/* 0B42A8 800B36A8 55600013 */ bnel $t3, $zero, .L800B36F8 -/* 0B42AC 800B36AC 00002025 */ move $a0, $zero -/* 0B42B0 800B36B0 8FAD0028 */ lw $t5, 0x28($sp) -/* 0B42B4 800B36B4 A0EC0000 */ sb $t4, ($a3) -/* 0B42B8 800B36B8 3C012900 */ lui $at, (0x2900800E >> 16) # lui $at, 0x2900 -/* 0B42BC 800B36BC 81AE0000 */ lb $t6, ($t5) -/* 0B42C0 800B36C0 3421800E */ ori $at, (0x2900800E & 0xFFFF) # ori $at, $at, 0x800e -/* 0B42C4 800B36C4 AFA70020 */ sw $a3, 0x20($sp) -/* 0B42C8 800B36C8 00AE2821 */ addu $a1, $a1, $t6 -/* 0B42CC 800B36CC 80A52BAB */ lb $a1, %lo((sCharacterGridOrder - 1))($a1) # 0x2bab($a1) -/* 0B42D0 800B36D0 AFA6002C */ sw $a2, 0x2c($sp) -/* 0B42D4 800B36D4 93A40047 */ lbu $a0, 0x47($sp) -/* 0B42D8 800B36D8 00057900 */ sll $t7, $a1, 4 -/* 0B42DC 800B36DC 0C03243D */ jal func_800C90F4 -/* 0B42E0 800B36E0 01E12821 */ addu $a1, $t7, $at -/* 0B42E4 800B36E4 3C038019 */ lui $v1, %hi(gCharacterGridIsSelected) # $v1, 0x8019 -/* 0B42E8 800B36E8 2463EDE8 */ addiu $v1, %lo(gCharacterGridIsSelected) # addiu $v1, $v1, -0x1218 -/* 0B42EC 800B36EC 8FA6002C */ lw $a2, 0x2c($sp) -/* 0B42F0 800B36F0 8FA70020 */ lw $a3, 0x20($sp) -.L800B36F4: -/* 0B42F4 800B36F4 00002025 */ move $a0, $zero -.L800B36F8: -/* 0B42F8 800B36F8 00001025 */ move $v0, $zero -/* 0B42FC 800B36FC 0202C021 */ addu $t8, $s0, $v0 -.L800B3700: -/* 0B4300 800B3700 83190000 */ lb $t9, ($t8) -/* 0B4304 800B3704 00624021 */ addu $t0, $v1, $v0 -/* 0B4308 800B3708 24420001 */ addiu $v0, $v0, 1 -/* 0B430C 800B370C 13200006 */ beqz $t9, .L800B3728 -/* 0B4310 800B3710 00025600 */ sll $t2, $v0, 0x18 -/* 0B4314 800B3714 81090000 */ lb $t1, ($t0) -/* 0B4318 800B3718 55200004 */ bnel $t1, $zero, .L800B372C -/* 0B431C 800B371C 000A1603 */ sra $v0, $t2, 0x18 -/* 0B4320 800B3720 10000005 */ b .L800B3738 -/* 0B4324 800B3724 24040001 */ li $a0, 1 -.L800B3728: -/* 0B4328 800B3728 000A1603 */ sra $v0, $t2, 0x18 -.L800B372C: -/* 0B432C 800B372C 28410004 */ slti $at, $v0, 4 -/* 0B4330 800B3730 5420FFF3 */ bnel $at, $zero, .L800B3700 -/* 0B4334 800B3734 0202C021 */ addu $t8, $s0, $v0 -.L800B3738: -/* 0B4338 800B3738 1480000B */ bnez $a0, .L800B3768 -/* 0B433C 800B373C 240C0002 */ li $t4, 2 -/* 0B4340 800B3740 3C018019 */ lui $at, %hi(gPlayerSelectMenuSelection) # $at, 0x8019 -/* 0B4344 800B3744 A02CEDEE */ sb $t4, %lo(gPlayerSelectMenuSelection)($at) -/* 0B4348 800B3748 AFA6002C */ sw $a2, 0x2c($sp) -/* 0B434C 800B374C 0C02D12B */ jal reset_cycle_flash_menu -/* 0B4350 800B3750 AFA70020 */ sw $a3, 0x20($sp) -/* 0B4354 800B3754 3C038019 */ lui $v1, %hi(gMenuTimingCounter) # $v1, 0x8019 -/* 0B4358 800B3758 2463EE00 */ addiu $v1, %lo(gMenuTimingCounter) # addiu $v1, $v1, -0x1200 -/* 0B435C 800B375C 8FA6002C */ lw $a2, 0x2c($sp) -/* 0B4360 800B3760 8FA70020 */ lw $a3, 0x20($sp) -/* 0B4364 800B3764 AC600000 */ sw $zero, ($v1) -.L800B3768: -/* 0B4368 800B3768 80EE0000 */ lb $t6, ($a3) -/* 0B436C 800B376C 8FAD0028 */ lw $t5, 0x28($sp) -/* 0B4370 800B3770 30C20100 */ andi $v0, $a2, 0x100 -/* 0B4374 800B3774 15C000EB */ bnez $t6, .L800B3B24 -/* 0B4378 800B3778 81A30000 */ lb $v1, ($t5) -/* 0B437C 800B377C 00038600 */ sll $s0, $v1, 0x18 -/* 0B4380 800B3780 00107E03 */ sra $t7, $s0, 0x18 -/* 0B4384 800B3784 10400017 */ beqz $v0, .L800B37E4 -/* 0B4388 800B3788 01E08025 */ move $s0, $t7 -/* 0B438C 800B378C 30D80400 */ andi $t8, $a2, 0x400 -/* 0B4390 800B3790 13000014 */ beqz $t8, .L800B37E4 -/* 0B4394 800B3794 24010001 */ li $at, 1 -/* 0B4398 800B3798 10610005 */ beq $v1, $at, .L800B37B0 -/* 0B439C 800B379C 00601025 */ move $v0, $v1 -/* 0B43A0 800B37A0 24010002 */ li $at, 2 -/* 0B43A4 800B37A4 10410002 */ beq $v0, $at, .L800B37B0 -/* 0B43A8 800B37A8 24010003 */ li $at, 3 -/* 0B43AC 800B37AC 144100E5 */ bne $v0, $at, .L800B3B44 -.L800B37B0: -/* 0B43B0 800B37B0 24700005 */ addiu $s0, $v1, 5 -/* 0B43B4 800B37B4 0010CE00 */ sll $t9, $s0, 0x18 -/* 0B43B8 800B37B8 00192603 */ sra $a0, $t9, 0x18 -/* 0B43BC 800B37BC 0C02CD3A */ jal is_character_spot_free -/* 0B43C0 800B37C0 00808025 */ move $s0, $a0 -/* 0B43C4 800B37C4 104000DF */ beqz $v0, .L800B3B44 -/* 0B43C8 800B37C8 8FA90028 */ lw $t1, 0x28($sp) -/* 0B43CC 800B37CC 3C044900 */ lui $a0, (0x49008000 >> 16) # lui $a0, 0x4900 -/* 0B43D0 800B37D0 A1300000 */ sb $s0, ($t1) -/* 0B43D4 800B37D4 0C032384 */ jal play_sound2 -/* 0B43D8 800B37D8 34848000 */ ori $a0, (0x49008000 & 0xFFFF) # ori $a0, $a0, 0x8000 -/* 0B43DC 800B37DC 100000DA */ b .L800B3B48 -/* 0B43E0 800B37E0 8FBF001C */ lw $ra, 0x1c($sp) -.L800B37E4: -/* 0B43E4 800B37E4 30C40200 */ andi $a0, $a2, 0x200 -/* 0B43E8 800B37E8 10800016 */ beqz $a0, .L800B3844 -/* 0B43EC 800B37EC 30CA0400 */ andi $t2, $a2, 0x400 -/* 0B43F0 800B37F0 11400014 */ beqz $t2, .L800B3844 -/* 0B43F4 800B37F4 24010002 */ li $at, 2 -/* 0B43F8 800B37F8 10610005 */ beq $v1, $at, .L800B3810 -/* 0B43FC 800B37FC 00601025 */ move $v0, $v1 -/* 0B4400 800B3800 24010003 */ li $at, 3 -/* 0B4404 800B3804 10410002 */ beq $v0, $at, .L800B3810 -/* 0B4408 800B3808 24010004 */ li $at, 4 -/* 0B440C 800B380C 144100CD */ bne $v0, $at, .L800B3B44 -.L800B3810: -/* 0B4410 800B3810 24700003 */ addiu $s0, $v1, 3 -/* 0B4414 800B3814 00105E00 */ sll $t3, $s0, 0x18 -/* 0B4418 800B3818 000B2603 */ sra $a0, $t3, 0x18 -/* 0B441C 800B381C 0C02CD3A */ jal is_character_spot_free -/* 0B4420 800B3820 00808025 */ move $s0, $a0 -/* 0B4424 800B3824 104000C7 */ beqz $v0, .L800B3B44 -/* 0B4428 800B3828 8FAD0028 */ lw $t5, 0x28($sp) -/* 0B442C 800B382C 3C044900 */ lui $a0, (0x49008000 >> 16) # lui $a0, 0x4900 -/* 0B4430 800B3830 A1B00000 */ sb $s0, ($t5) -/* 0B4434 800B3834 0C032384 */ jal play_sound2 -/* 0B4438 800B3838 34848000 */ ori $a0, (0x49008000 & 0xFFFF) # ori $a0, $a0, 0x8000 -/* 0B443C 800B383C 100000C2 */ b .L800B3B48 -/* 0B4440 800B3840 8FBF001C */ lw $ra, 0x1c($sp) -.L800B3844: -/* 0B4444 800B3844 10400016 */ beqz $v0, .L800B38A0 -/* 0B4448 800B3848 30CE0800 */ andi $t6, $a2, 0x800 -/* 0B444C 800B384C 11C00014 */ beqz $t6, .L800B38A0 -/* 0B4450 800B3850 24010005 */ li $at, 5 -/* 0B4454 800B3854 10610005 */ beq $v1, $at, .L800B386C -/* 0B4458 800B3858 00601025 */ move $v0, $v1 -/* 0B445C 800B385C 24010006 */ li $at, 6 -/* 0B4460 800B3860 10410002 */ beq $v0, $at, .L800B386C -/* 0B4464 800B3864 24010007 */ li $at, 7 -/* 0B4468 800B3868 144100B6 */ bne $v0, $at, .L800B3B44 -.L800B386C: -/* 0B446C 800B386C 2470FFFD */ addiu $s0, $v1, -3 -/* 0B4470 800B3870 00107E00 */ sll $t7, $s0, 0x18 -/* 0B4474 800B3874 000F2603 */ sra $a0, $t7, 0x18 -/* 0B4478 800B3878 0C02CD3A */ jal is_character_spot_free -/* 0B447C 800B387C 00808025 */ move $s0, $a0 -/* 0B4480 800B3880 104000B0 */ beqz $v0, .L800B3B44 -/* 0B4484 800B3884 8FB90028 */ lw $t9, 0x28($sp) -/* 0B4488 800B3888 3C044900 */ lui $a0, (0x49008000 >> 16) # lui $a0, 0x4900 -/* 0B448C 800B388C A3300000 */ sb $s0, ($t9) -/* 0B4490 800B3890 0C032384 */ jal play_sound2 -/* 0B4494 800B3894 34848000 */ ori $a0, (0x49008000 & 0xFFFF) # ori $a0, $a0, 0x8000 -/* 0B4498 800B3898 100000AB */ b .L800B3B48 -/* 0B449C 800B389C 8FBF001C */ lw $ra, 0x1c($sp) -.L800B38A0: -/* 0B44A0 800B38A0 10800016 */ beqz $a0, .L800B38FC -/* 0B44A4 800B38A4 30C80800 */ andi $t0, $a2, 0x800 -/* 0B44A8 800B38A8 11000014 */ beqz $t0, .L800B38FC -/* 0B44AC 800B38AC 24010006 */ li $at, 6 -/* 0B44B0 800B38B0 10610005 */ beq $v1, $at, .L800B38C8 -/* 0B44B4 800B38B4 00601025 */ move $v0, $v1 -/* 0B44B8 800B38B8 24010007 */ li $at, 7 -/* 0B44BC 800B38BC 10410002 */ beq $v0, $at, .L800B38C8 -/* 0B44C0 800B38C0 24010008 */ li $at, 8 -/* 0B44C4 800B38C4 1441009F */ bne $v0, $at, .L800B3B44 -.L800B38C8: -/* 0B44C8 800B38C8 2470FFFB */ addiu $s0, $v1, -5 -/* 0B44CC 800B38CC 00104E00 */ sll $t1, $s0, 0x18 -/* 0B44D0 800B38D0 00092603 */ sra $a0, $t1, 0x18 -/* 0B44D4 800B38D4 0C02CD3A */ jal is_character_spot_free -/* 0B44D8 800B38D8 00808025 */ move $s0, $a0 -/* 0B44DC 800B38DC 10400099 */ beqz $v0, .L800B3B44 -/* 0B44E0 800B38E0 8FAB0028 */ lw $t3, 0x28($sp) -/* 0B44E4 800B38E4 3C044900 */ lui $a0, (0x49008000 >> 16) # lui $a0, 0x4900 -/* 0B44E8 800B38E8 A1700000 */ sb $s0, ($t3) -/* 0B44EC 800B38EC 0C032384 */ jal play_sound2 -/* 0B44F0 800B38F0 34848000 */ ori $a0, (0x49008000 & 0xFFFF) # ori $a0, $a0, 0x8000 -/* 0B44F4 800B38F4 10000094 */ b .L800B3B48 -/* 0B44F8 800B38F8 8FBF001C */ lw $ra, 0x1c($sp) -.L800B38FC: -/* 0B44FC 800B38FC 1040001E */ beqz $v0, .L800B3978 -/* 0B4500 800B3900 24010004 */ li $at, 4 -/* 0B4504 800B3904 1061008F */ beq $v1, $at, .L800B3B44 -/* 0B4508 800B3908 24010008 */ li $at, 8 -/* 0B450C 800B390C 1061008D */ beq $v1, $at, .L800B3B44 -/* 0B4510 800B3910 24700001 */ addiu $s0, $v1, 1 -/* 0B4514 800B3914 00106600 */ sll $t4, $s0, 0x18 -/* 0B4518 800B3918 000C8603 */ sra $s0, $t4, 0x18 -.L800B391C: -/* 0B451C 800B391C 0C02CD3A */ jal is_character_spot_free -/* 0B4520 800B3920 02002025 */ move $a0, $s0 -/* 0B4524 800B3924 10400008 */ beqz $v0, .L800B3948 -/* 0B4528 800B3928 24010005 */ li $at, 5 -/* 0B452C 800B392C 8FAE0028 */ lw $t6, 0x28($sp) -/* 0B4530 800B3930 3C044900 */ lui $a0, (0x49008000 >> 16) # lui $a0, 0x4900 -/* 0B4534 800B3934 34848000 */ ori $a0, (0x49008000 & 0xFFFF) # ori $a0, $a0, 0x8000 -/* 0B4538 800B3938 0C032384 */ jal play_sound2 -/* 0B453C 800B393C A1D00000 */ sb $s0, ($t6) -/* 0B4540 800B3940 10000081 */ b .L800B3B48 -/* 0B4544 800B3944 8FBF001C */ lw $ra, 0x1c($sp) -.L800B3948: -/* 0B4548 800B3948 26100001 */ addiu $s0, $s0, 1 -/* 0B454C 800B394C 00107E00 */ sll $t7, $s0, 0x18 -/* 0B4550 800B3950 000FC603 */ sra $t8, $t7, 0x18 -/* 0B4554 800B3954 1301007B */ beq $t8, $at, .L800B3B44 -/* 0B4558 800B3958 03008025 */ move $s0, $t8 -/* 0B455C 800B395C 24010009 */ li $at, 9 -/* 0B4560 800B3960 13010078 */ beq $t8, $at, .L800B3B44 -/* 0B4564 800B3964 2B01000A */ slti $at, $t8, 0xa -/* 0B4568 800B3968 1420FFEC */ bnez $at, .L800B391C -/* 0B456C 800B396C 00000000 */ nop -/* 0B4570 800B3970 10000075 */ b .L800B3B48 -/* 0B4574 800B3974 8FBF001C */ lw $ra, 0x1c($sp) -.L800B3978: -/* 0B4578 800B3978 1080001E */ beqz $a0, .L800B39F4 -/* 0B457C 800B397C 30CC0800 */ andi $t4, $a2, 0x800 -/* 0B4580 800B3980 24010001 */ li $at, 1 -/* 0B4584 800B3984 1061006F */ beq $v1, $at, .L800B3B44 -/* 0B4588 800B3988 24010005 */ li $at, 5 -/* 0B458C 800B398C 1061006D */ beq $v1, $at, .L800B3B44 -/* 0B4590 800B3990 2470FFFF */ addiu $s0, $v1, -1 -/* 0B4594 800B3994 0010CE00 */ sll $t9, $s0, 0x18 -/* 0B4598 800B3998 00198603 */ sra $s0, $t9, 0x18 -.L800B399C: -/* 0B459C 800B399C 0C02CD3A */ jal is_character_spot_free -/* 0B45A0 800B39A0 02002025 */ move $a0, $s0 -/* 0B45A4 800B39A4 10400008 */ beqz $v0, .L800B39C8 -/* 0B45A8 800B39A8 24010004 */ li $at, 4 -/* 0B45AC 800B39AC 8FA90028 */ lw $t1, 0x28($sp) -/* 0B45B0 800B39B0 3C044900 */ lui $a0, (0x49008000 >> 16) # lui $a0, 0x4900 -/* 0B45B4 800B39B4 34848000 */ ori $a0, (0x49008000 & 0xFFFF) # ori $a0, $a0, 0x8000 -/* 0B45B8 800B39B8 0C032384 */ jal play_sound2 -/* 0B45BC 800B39BC A1300000 */ sb $s0, ($t1) -/* 0B45C0 800B39C0 10000061 */ b .L800B3B48 -/* 0B45C4 800B39C4 8FBF001C */ lw $ra, 0x1c($sp) -.L800B39C8: -/* 0B45C8 800B39C8 2610FFFF */ addiu $s0, $s0, -1 -/* 0B45CC 800B39CC 00105600 */ sll $t2, $s0, 0x18 -/* 0B45D0 800B39D0 000A5E03 */ sra $t3, $t2, 0x18 -/* 0B45D4 800B39D4 1160005B */ beqz $t3, .L800B3B44 -/* 0B45D8 800B39D8 01608025 */ move $s0, $t3 -/* 0B45DC 800B39DC 5161005A */ beql $t3, $at, .L800B3B48 -/* 0B45E0 800B39E0 8FBF001C */ lw $ra, 0x1c($sp) -/* 0B45E4 800B39E4 0561FFED */ bgez $t3, .L800B399C -/* 0B45E8 800B39E8 00000000 */ nop -/* 0B45EC 800B39EC 10000056 */ b .L800B3B48 -/* 0B45F0 800B39F0 8FBF001C */ lw $ra, 0x1c($sp) -.L800B39F4: -/* 0B45F4 800B39F4 11800007 */ beqz $t4, .L800B3A14 -/* 0B45F8 800B39F8 30C20400 */ andi $v0, $a2, 0x400 -/* 0B45FC 800B39FC 28610005 */ slti $at, $v1, 5 -/* 0B4600 800B3A00 14200004 */ bnez $at, .L800B3A14 -/* 0B4604 800B3A04 00000000 */ nop -/* 0B4608 800B3A08 2470FFFC */ addiu $s0, $v1, -4 -/* 0B460C 800B3A0C 00106E00 */ sll $t5, $s0, 0x18 -/* 0B4610 800B3A10 000D8603 */ sra $s0, $t5, 0x18 -.L800B3A14: -/* 0B4614 800B3A14 10400006 */ beqz $v0, .L800B3A30 -/* 0B4618 800B3A18 28610005 */ slti $at, $v1, 5 -/* 0B461C 800B3A1C 10200004 */ beqz $at, .L800B3A30 -/* 0B4620 800B3A20 00000000 */ nop -/* 0B4624 800B3A24 24700004 */ addiu $s0, $v1, 4 -/* 0B4628 800B3A28 00107E00 */ sll $t7, $s0, 0x18 -/* 0B462C 800B3A2C 000F8603 */ sra $s0, $t7, 0x18 -.L800B3A30: -/* 0B4630 800B3A30 0C02CD3A */ jal is_character_spot_free -/* 0B4634 800B3A34 02002025 */ move $a0, $s0 -/* 0B4638 800B3A38 10400005 */ beqz $v0, .L800B3A50 -/* 0B463C 800B3A3C 8FB90028 */ lw $t9, 0x28($sp) -/* 0B4640 800B3A40 3C044900 */ lui $a0, (0x49008000 >> 16) # lui $a0, 0x4900 -/* 0B4644 800B3A44 A3300000 */ sb $s0, ($t9) -/* 0B4648 800B3A48 0C032384 */ jal play_sound2 -/* 0B464C 800B3A4C 34848000 */ ori $a0, (0x49008000 & 0xFFFF) # ori $a0, $a0, 0x8000 -.L800B3A50: -/* 0B4650 800B3A50 8FA80028 */ lw $t0, 0x28($sp) -/* 0B4654 800B3A54 10000033 */ b .L800B3B24 -/* 0B4658 800B3A58 81030000 */ lb $v1, ($t0) -.L800B3A5C: # case 2, 3 -/* 0B465C 800B3A5C 15200011 */ bnez $t1, .L800B3AA4 -/* 0B4660 800B3A60 00603025 */ move $a2, $v1 -/* 0B4664 800B3A64 3C038019 */ lui $v1, %hi(gMenuTimingCounter) # $v1, 0x8019 -/* 0B4668 800B3A68 2463EE00 */ addiu $v1, %lo(gMenuTimingCounter) # addiu $v1, $v1, -0x1200 -/* 0B466C 800B3A6C 8C6A0000 */ lw $t2, ($v1) -/* 0B4670 800B3A70 2401003C */ li $at, 60 -/* 0B4674 800B3A74 3C044900 */ lui $a0, (0x4900900F >> 16) # lui $a0, 0x4900 -/* 0B4678 800B3A78 254B0001 */ addiu $t3, $t2, 1 -/* 0B467C 800B3A7C 11610005 */ beq $t3, $at, .L800B3A94 -/* 0B4680 800B3A80 AC6B0000 */ sw $t3, ($v1) -/* 0B4684 800B3A84 2401012C */ li $at, 300 -/* 0B4688 800B3A88 0161001A */ div $zero, $t3, $at -/* 0B468C 800B3A8C 00006010 */ mfhi $t4 -/* 0B4690 800B3A90 15800004 */ bnez $t4, .L800B3AA4 -.L800B3A94: -/* 0B4694 800B3A94 3484900F */ ori $a0, (0x4900900F & 0xFFFF) # ori $a0, $a0, 0x900f -/* 0B4698 800B3A98 0C032384 */ jal play_sound2 -/* 0B469C 800B3A9C AFA6002C */ sw $a2, 0x2c($sp) -/* 0B46A0 800B3AA0 8FA6002C */ lw $a2, 0x2c($sp) -.L800B3AA4: -/* 0B46A4 800B3AA4 30CD4000 */ andi $t5, $a2, 0x4000 -/* 0B46A8 800B3AA8 11A00011 */ beqz $t5, .L800B3AF0 -/* 0B46AC 800B3AAC 30C88000 */ andi $t0, $a2, 0x8000 -/* 0B46B0 800B3AB0 97AF0046 */ lhu $t7, 0x46($sp) -/* 0B46B4 800B3AB4 3C038019 */ lui $v1, %hi(gCharacterGridIsSelected) # $v1, 0x8019 -/* 0B46B8 800B3AB8 2463EDE8 */ addiu $v1, %lo(gCharacterGridIsSelected) # addiu $v1, $v1, -0x1218 -/* 0B46BC 800B3ABC 240E0001 */ li $t6, 1 -/* 0B46C0 800B3AC0 3C018019 */ lui $at, %hi(gPlayerSelectMenuSelection) # $at, 0x8019 -/* 0B46C4 800B3AC4 A02EEDEE */ sb $t6, %lo(gPlayerSelectMenuSelection)($at) -/* 0B46C8 800B3AC8 3C044900 */ lui $a0, (0x49008002 >> 16) # lui $a0, 0x4900 -/* 0B46CC 800B3ACC 006FC021 */ addu $t8, $v1, $t7 -/* 0B46D0 800B3AD0 A3000000 */ sb $zero, ($t8) -/* 0B46D4 800B3AD4 0C032384 */ jal play_sound2 -/* 0B46D8 800B3AD8 34848002 */ ori $a0, (0x49008002 & 0xFFFF) # ori $a0, $a0, 0x8002 -/* 0B46DC 800B3ADC 97B90046 */ lhu $t9, 0x46($sp) -/* 0B46E0 800B3AE0 3C038019 */ lui $v1, %hi(gCharacterGridSelections) # 0x8019 -/* 0B46E4 800B3AE4 00791821 */ addu $v1, $v1, $t9 -/* 0B46E8 800B3AE8 1000000E */ b .L800B3B24 -/* 0B46EC 800B3AEC 8063EDE4 */ lb $v1, %lo(gCharacterGridSelections)($v1) # -0x121c($v1) -.L800B3AF0: -/* 0B46F0 800B3AF0 51000009 */ beql $t0, $zero, .L800B3B18 -/* 0B46F4 800B3AF4 97A90046 */ lhu $t1, 0x46($sp) -/* 0B46F8 800B3AF8 0C027870 */ jal func_8009E1C0 -/* 0B46FC 800B3AFC 00000000 */ nop -/* 0B4700 800B3B00 3C044900 */ lui $a0, (0x49008016 >> 16) # lui $a0, 0x4900 -/* 0B4704 800B3B04 0C032384 */ jal play_sound2 -/* 0B4708 800B3B08 34848016 */ ori $a0, (0x49008016 & 0xFFFF) # ori $a0, $a0, 0x8016 -/* 0B470C 800B3B0C 0C003C49 */ jal func_8000F124 -/* 0B4710 800B3B10 00000000 */ nop -/* 0B4714 800B3B14 97A90046 */ lhu $t1, 0x46($sp) -.L800B3B18: -/* 0B4718 800B3B18 3C038019 */ lui $v1, %hi(gCharacterGridSelections) # 0x8019 -/* 0B471C 800B3B1C 00691821 */ addu $v1, $v1, $t1 -/* 0B4720 800B3B20 8063EDE4 */ lb $v1, %lo(gCharacterGridSelections)($v1) # -0x121c($v1) -.L800B3B24: -/* 0B4724 800B3B24 10600007 */ beqz $v1, .L800B3B44 -/* 0B4728 800B3B28 3C0A800F */ lui $t2, %hi((sCharacterGridOrder - 1)) # 0x800f -/* 0B472C 800B3B2C 97AB0046 */ lhu $t3, 0x46($sp) -/* 0B4730 800B3B30 01435021 */ addu $t2, $t2, $v1 -/* 0B4734 800B3B34 814A2BAB */ lb $t2, %lo((sCharacterGridOrder - 1))($t2) # 0x2bab($t2) -/* 0B4738 800B3B38 3C01800F */ lui $at, %hi(gCharacterSelections) # 0x800f -/* 0B473C 800B3B3C 002B0821 */ addu $at, $at, $t3 -/* 0B4740 800B3B40 A02A86A8 */ sb $t2, %lo(gCharacterSelections)($at) # -0x7958($at) -.L800B3B44: -/* 0B4744 800B3B44 8FBF001C */ lw $ra, 0x1c($sp) -.L800B3B48: -/* 0B4748 800B3B48 8FB00018 */ lw $s0, 0x18($sp) -/* 0B474C 800B3B4C 27BD0040 */ addiu $sp, $sp, 0x40 -/* 0B4750 800B3B50 03E00008 */ jr $ra -/* 0B4754 800B3B54 00000000 */ nop diff --git a/asm/non_matchings/render_objects/draw_minimap_character.s b/asm/non_matchings/render_objects/draw_minimap_character.s deleted file mode 100644 index f8ffe103c..000000000 --- a/asm/non_matchings/render_objects/draw_minimap_character.s +++ /dev/null @@ -1,167 +0,0 @@ -glabel draw_minimap_character -/* 04FD68 8004F168 000570C0 */ sll $t6, $a1, 3 -/* 04FD6C 8004F16C 01C57023 */ subu $t6, $t6, $a1 -/* 04FD70 8004F170 000E7100 */ sll $t6, $t6, 4 -/* 04FD74 8004F174 01C57023 */ subu $t6, $t6, $a1 -/* 04FD78 8004F178 3C0F800E */ lui $t7, %hi(gPlayerOne) # $t7, 0x800e -/* 04FD7C 8004F17C 8DEFC4DC */ lw $t7, %lo(gPlayerOne)($t7) -/* 04FD80 8004F180 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 04FD84 8004F184 000E7080 */ sll $t6, $t6, 2 -/* 04FD88 8004F188 01C57023 */ subu $t6, $t6, $a1 -/* 04FD8C 8004F18C 000E70C0 */ sll $t6, $t6, 3 -/* 04FD90 8004F190 AFBF002C */ sw $ra, 0x2c($sp) -/* 04FD94 8004F194 AFA40030 */ sw $a0, 0x30($sp) -/* 04FD98 8004F198 AFA60038 */ sw $a2, 0x38($sp) -/* 04FD9C 8004F19C 01CF1821 */ addu $v1, $t6, $t7 -/* 04FDA0 8004F1A0 94780000 */ lhu $t8, ($v1) -/* 04FDA4 8004F1A4 00A03825 */ move $a3, $a1 -/* 04FDA8 8004F1A8 3C018019 */ lui $at, %hi(gMiniMapMarkerScale) # $at, 0x8019 -/* 04FDAC 8004F1AC 33198000 */ andi $t9, $t8, 0x8000 -/* 04FDB0 8004F1B0 13200088 */ beqz $t9, .L8004F3D4 -/* 04FDB4 8004F1B4 00044040 */ sll $t0, $a0, 1 -/* 04FDB8 8004F1B8 C420D2A0 */ lwc1 $f0, %lo(gMiniMapMarkerScale)($at) -/* 04FDBC 8004F1BC C4640014 */ lwc1 $f4, 0x14($v1) -/* 04FDC0 8004F1C0 3C098019 */ lui $t1, %hi(gMiniMapFinishLineX) # 0x8019 -/* 04FDC4 8004F1C4 C466001C */ lwc1 $f6, 0x1c($v1) -/* 04FDC8 8004F1C8 46002082 */ mul.s $f2, $f4, $f0 -/* 04FDCC 8004F1CC 01284821 */ addu $t1, $t1, $t0 -/* 04FDD0 8004F1D0 3C0A8019 */ lui $t2, %hi(D_8018D2F0) # $t2, 0x8019 -/* 04FDD4 8004F1D4 3C0C8019 */ lui $t4, %hi(D_8018D2B0) # $t4, 0x8019 -/* 04FDD8 8004F1D8 858CD2B0 */ lh $t4, %lo(D_8018D2B0)($t4) -/* 04FDDC 8004F1DC 854AD2F0 */ lh $t2, %lo(D_8018D2F0)($t2) -/* 04FDE0 8004F1E0 8529D2C0 */ lh $t1, %lo(gMiniMapFinishLineX)($t1) # -0x2d40($t1) -/* 04FDE4 8004F1E4 4600120D */ trunc.w.s $f8, $f2 -/* 04FDE8 8004F1E8 46003302 */ mul.s $f12, $f6, $f0 -/* 04FDEC 8004F1EC 3C0F8019 */ lui $t7, %hi(gMiniMapX) # $t7, 0x8019 -/* 04FDF0 8004F1F0 85EFD2E0 */ lh $t7, %lo(gMiniMapX)($t7) -/* 04FDF4 8004F1F4 01001025 */ move $v0, $t0 -/* 04FDF8 8004F1F8 012A5821 */ addu $t3, $t1, $t2 -/* 04FDFC 8004F1FC 05810003 */ bgez $t4, .L8004F20C -/* 04FE00 8004F200 000C6843 */ sra $t5, $t4, 1 -/* 04FE04 8004F204 25810001 */ addiu $at, $t4, 1 -/* 04FE08 8004F208 00016843 */ sra $t5, $at, 1 -.L8004F20C: -/* 04FE0C 8004F20C 44084000 */ mfc1 $t0, $f8 -/* 04FE10 8004F210 016D7023 */ subu $t6, $t3, $t5 -/* 04FE14 8004F214 3C0D8019 */ lui $t5, %hi(gMiniMapFinishLineY) # 0x8019 -/* 04FE18 8004F218 01CFC021 */ addu $t8, $t6, $t7 -/* 04FE1C 8004F21C 3C0E8019 */ lui $t6, %hi(D_8018D2F8) # $t6, 0x8019 -/* 04FE20 8004F220 01A26821 */ addu $t5, $t5, $v0 -/* 04FE24 8004F224 00084C00 */ sll $t1, $t0, 0x10 -/* 04FE28 8004F228 85ADD2D8 */ lh $t5, %lo(gMiniMapFinishLineY)($t5) # -0x2d28($t5) -/* 04FE2C 8004F22C 85CED2F8 */ lh $t6, %lo(D_8018D2F8)($t6) -/* 04FE30 8004F230 3C198019 */ lui $t9, %hi(D_8018D2B8) # $t9, 0x8019 -/* 04FE34 8004F234 4600628D */ trunc.w.s $f10, $f12 -/* 04FE38 8004F238 8739D2B8 */ lh $t9, %lo(D_8018D2B8)($t9) -/* 04FE3C 8004F23C 00095403 */ sra $t2, $t1, 0x10 -/* 04FE40 8004F240 030A2021 */ addu $a0, $t8, $t2 -/* 04FE44 8004F244 3C188019 */ lui $t8, %hi(gMiniMapY) # $t8, 0x8019 -/* 04FE48 8004F248 01AE7821 */ addu $t7, $t5, $t6 -/* 04FE4C 8004F24C 8718D2E8 */ lh $t8, %lo(gMiniMapY)($t8) -/* 04FE50 8004F250 440E5000 */ mfc1 $t6, $f10 -/* 04FE54 8004F254 00046400 */ sll $t4, $a0, 0x10 -/* 04FE58 8004F258 000C5C03 */ sra $t3, $t4, 0x10 -/* 04FE5C 8004F25C 01602025 */ move $a0, $t3 -/* 04FE60 8004F260 07210003 */ bgez $t9, .L8004F270 -/* 04FE64 8004F264 00194043 */ sra $t0, $t9, 1 -/* 04FE68 8004F268 27210001 */ addiu $at, $t9, 1 -/* 04FE6C 8004F26C 00014043 */ sra $t0, $at, 1 -.L8004F270: -/* 04FE70 8004F270 01E84823 */ subu $t1, $t7, $t0 -/* 04FE74 8004F274 8FA80038 */ lw $t0, 0x38($sp) -/* 04FE78 8004F278 01385021 */ addu $t2, $t1, $t8 -/* 04FE7C 8004F27C 014E2821 */ addu $a1, $t2, $t6 -/* 04FE80 8004F280 0005CC00 */ sll $t9, $a1, 0x10 -/* 04FE84 8004F284 24010008 */ li $at, 8 -/* 04FE88 8004F288 1101003F */ beq $t0, $at, .L8004F388 -/* 04FE8C 8004F28C 00192C03 */ sra $a1, $t9, 0x10 -/* 04FE90 8004F290 00074880 */ sll $t1, $a3, 2 -/* 04FE94 8004F294 3C188016 */ lui $t8, %hi(gGPCurrentRaceRankByPlayerId) -/* 04FE98 8004F298 0309C021 */ addu $t8, $t8, $t1 -/* 04FE9C 8004F29C 8F1843B8 */ lw $t8, %lo(gGPCurrentRaceRankByPlayerId)($t8) -/* 04FEA0 8004F2A0 3C02800E */ lui $v0, %hi(gModeSelection) # $v0, 0x800e -/* 04FEA4 8004F2A4 3C073F80 */ lui $a3, 0x3f80 -/* 04FEA8 8004F2A8 1700001F */ bnez $t8, .L8004F328 -/* 04FEAC 8004F2AC 8FAD0038 */ lw $t5, 0x38($sp) -/* 04FEB0 8004F2B0 8C42C53C */ lw $v0, %lo(gModeSelection)($v0) -/* 04FEB4 8004F2B4 24010003 */ li $at, 3 -/* 04FEB8 8004F2B8 1041001B */ beq $v0, $at, .L8004F328 -/* 04FEBC 8004F2BC 24010001 */ li $at, 1 -/* 04FEC0 8004F2C0 10410019 */ beq $v0, $at, .L8004F328 -/* 04FEC4 8004F2C4 3C0A0D03 */ lui $t2, %hi(common_texture_minimap_kart_character) # $t2, 0xd03 -/* 04FEC8 8004F2C8 8466002E */ lh $a2, 0x2e($v1) -/* 04FECC 8004F2CC 34018000 */ li $at, 32768 -/* 04FED0 8004F2D0 000869C0 */ sll $t5, $t0, 7 -/* 04FED4 8004F2D4 00C13021 */ addu $a2, $a2, $at -/* 04FED8 8004F2D8 30CCFFFF */ andi $t4, $a2, 0xffff -/* 04FEDC 8004F2DC 01803025 */ move $a2, $t4 -/* 04FEE0 8004F2E0 254ACCD8 */ addiu $t2, %lo(common_texture_minimap_kart_character) # addiu $t2, $t2, -0x3328 -/* 04FEE4 8004F2E4 3C190D00 */ lui $t9, %hi(common_vtx_player_minimap_icon) # $t9, 0xd00 -/* 04FEE8 8004F2E8 27395470 */ addiu $t9, %lo(common_vtx_player_minimap_icon) # addiu $t9, $t9, 0x5470 -/* 04FEEC 8004F2EC 01AA7021 */ addu $t6, $t5, $t2 -/* 04FEF0 8004F2F0 240C0008 */ li $t4, 8 -/* 04FEF4 8004F2F4 240F0008 */ li $t7, 8 -/* 04FEF8 8004F2F8 24090008 */ li $t1, 8 -/* 04FEFC 8004F2FC 24180008 */ li $t8, 8 -/* 04FF00 8004F300 AFB80020 */ sw $t8, 0x20($sp) -/* 04FF04 8004F304 AFA9001C */ sw $t1, 0x1c($sp) -/* 04FF08 8004F308 AFAF0018 */ sw $t7, 0x18($sp) -/* 04FF0C 8004F30C AFAC0024 */ sw $t4, 0x24($sp) -/* 04FF10 8004F310 AFAE0010 */ sw $t6, 0x10($sp) -/* 04FF14 8004F314 AFB90014 */ sw $t9, 0x14($sp) -/* 04FF18 8004F318 0C011909 */ jal func_80046424 -/* 04FF1C 8004F31C 3C073F80 */ lui $a3, 0x3f80 -/* 04FF20 8004F320 1000002D */ b .L8004F3D8 -/* 04FF24 8004F324 8FBF002C */ lw $ra, 0x2c($sp) -.L8004F328: -/* 04FF28 8004F328 8466002E */ lh $a2, 0x2e($v1) -/* 04FF2C 8004F32C 34018000 */ li $at, 32768 -/* 04FF30 8004F330 3C0E0D03 */ lui $t6, %hi(common_texture_minimap_kart_character) # $t6, 0xd03 -/* 04FF34 8004F334 00C13021 */ addu $a2, $a2, $at -/* 04FF38 8004F338 30C8FFFF */ andi $t0, $a2, 0xffff -/* 04FF3C 8004F33C 01003025 */ move $a2, $t0 -/* 04FF40 8004F340 25CECCD8 */ addiu $t6, %lo(common_texture_minimap_kart_character) # addiu $t6, $t6, -0x3328 -/* 04FF44 8004F344 000D51C0 */ sll $t2, $t5, 7 -/* 04FF48 8004F348 3C0F0D00 */ lui $t7, %hi(common_vtx_player_minimap_icon) # $t7, 0xd00 -/* 04FF4C 8004F34C 25EF5470 */ addiu $t7, %lo(common_vtx_player_minimap_icon) # addiu $t7, $t7, 0x5470 -/* 04FF50 8004F350 014EC821 */ addu $t9, $t2, $t6 -/* 04FF54 8004F354 24080008 */ li $t0, 8 -/* 04FF58 8004F358 24090008 */ li $t1, 8 -/* 04FF5C 8004F35C 24180008 */ li $t8, 8 -/* 04FF60 8004F360 240C0008 */ li $t4, 8 -/* 04FF64 8004F364 AFAC0020 */ sw $t4, 0x20($sp) -/* 04FF68 8004F368 AFB8001C */ sw $t8, 0x1c($sp) -/* 04FF6C 8004F36C AFA90018 */ sw $t1, 0x18($sp) -/* 04FF70 8004F370 AFA80024 */ sw $t0, 0x24($sp) -/* 04FF74 8004F374 AFB90010 */ sw $t9, 0x10($sp) -/* 04FF78 8004F378 0C0118EC */ jal func_800463B0 -/* 04FF7C 8004F37C AFAF0014 */ sw $t7, 0x14($sp) -/* 04FF80 8004F380 10000015 */ b .L8004F3D8 -/* 04FF84 8004F384 8FBF002C */ lw $ra, 0x2c($sp) -.L8004F388: -/* 04FF88 8004F388 00075880 */ sll $t3, $a3, 2 -/* 04FF8C 8004F38C 3C0D8016 */ lui $t5, %hi(gGPCurrentRaceRankByPlayerId) -/* 04FF90 8004F390 01AB6821 */ addu $t5, $t5, $t3 -/* 04FF94 8004F394 8DAD43B8 */ lw $t5, %lo(gGPCurrentRaceRankByPlayerId)($t5) -/* 04FF98 8004F398 24070008 */ li $a3, 8 -/* 04FF9C 8004F39C 24060008 */ li $a2, 8 -/* 04FFA0 8004F3A0 15A00009 */ bnez $t5, .L8004F3C8 -/* 04FFA4 8004F3A4 3C0E0D03 */ lui $t6, %hi(common_texture_minimap_progress_dot) # $t6, 0xd03 -/* 04FFA8 8004F3A8 3C0A0D03 */ lui $t2, %hi(common_texture_minimap_progress_dot) # $t2, 0xd03 -/* 04FFAC 8004F3AC 254AD0D8 */ addiu $t2, %lo(common_texture_minimap_progress_dot) # addiu $t2, $t2, -0x2f28 -/* 04FFB0 8004F3B0 AFAA0010 */ sw $t2, 0x10($sp) -/* 04FFB4 8004F3B4 24060008 */ li $a2, 8 -/* 04FFB8 8004F3B8 0C013114 */ jal func_8004C450 -/* 04FFBC 8004F3BC 24070008 */ li $a3, 8 -/* 04FFC0 8004F3C0 10000005 */ b .L8004F3D8 -/* 04FFC4 8004F3C4 8FBF002C */ lw $ra, 0x2c($sp) -.L8004F3C8: -/* 04FFC8 8004F3C8 25CED0D8 */ addiu $t6, %lo(common_texture_minimap_progress_dot) # addiu $t6, $t6, -0x2f28 -/* 04FFCC 8004F3CC 0C0130D9 */ jal draw_hud_2d_texture -/* 04FFD0 8004F3D0 AFAE0010 */ sw $t6, 0x10($sp) -.L8004F3D4: -/* 04FFD4 8004F3D4 8FBF002C */ lw $ra, 0x2c($sp) -.L8004F3D8: -/* 04FFD8 8004F3D8 27BD0030 */ addiu $sp, $sp, 0x30 -/* 04FFDC 8004F3DC 03E00008 */ jr $ra -/* 04FFE0 8004F3E0 00000000 */ nop diff --git a/asm/non_matchings/render_objects/func_80050E34.s b/asm/non_matchings/render_objects/func_80050E34.s deleted file mode 100644 index 917397616..000000000 --- a/asm/non_matchings/render_objects/func_80050E34.s +++ /dev/null @@ -1,433 +0,0 @@ -glabel func_80050E34 -/* 051A34 80050E34 000470C0 */ sll $t6, $a0, 3 -/* 051A38 80050E38 01C47023 */ subu $t6, $t6, $a0 -/* 051A3C 80050E3C 000E7100 */ sll $t6, $t6, 4 -/* 051A40 80050E40 01C47023 */ subu $t6, $t6, $a0 -/* 051A44 80050E44 3C0F800E */ lui $t7, %hi(gPlayerOne) # $t7, 0x800e -/* 051A48 80050E48 8DEFC4DC */ lw $t7, %lo(gPlayerOne)($t7) -/* 051A4C 80050E4C 000E7080 */ sll $t6, $t6, 2 -/* 051A50 80050E50 01C47023 */ subu $t6, $t6, $a0 -/* 051A54 80050E54 27BDFF28 */ addiu $sp, $sp, -0xd8 -/* 051A58 80050E58 000E70C0 */ sll $t6, $t6, 3 -/* 051A5C 80050E5C 01CF1021 */ addu $v0, $t6, $t7 -/* 051A60 80050E60 3C0E800E */ lui $t6, %hi(gPlayerCountSelection1) # $t6, 0x800e -/* 051A64 80050E64 8DCEC538 */ lw $t6, %lo(gPlayerCountSelection1)($t6) -/* 051A68 80050E68 AFB00024 */ sw $s0, 0x24($sp) -/* 051A6C 80050E6C 3C108016 */ lui $s0, %hi(gLapCountByPlayerId) # 0x8016 -/* 051A70 80050E70 0004C080 */ sll $t8, $a0, 2 -/* 051A74 80050E74 0004C940 */ sll $t9, $a0, 5 -/* 051A78 80050E78 3C0D8019 */ lui $t5, %hi(D_8018CE10) # 0x8019 -/* 051A7C 80050E7C AFBF002C */ sw $ra, 0x2c($sp) -/* 051A80 80050E80 AFB10028 */ sw $s1, 0x28($sp) -/* 051A84 80050E84 AFA500DC */ sw $a1, 0xdc($sp) -/* 051A88 80050E88 AFA200AC */ sw $v0, 0xac($sp) -/* 051A8C 80050E8C 02188021 */ addu $s0, $s0, $t8 -/* 051A90 80050E90 01B96821 */ addu $t5, $t5, $t9 -/* 051A94 80050E94 24010001 */ li $at, 1 -/* 051A98 80050E98 00803825 */ move $a3, $a0 -/* 051A9C 80050E9C 8E104390 */ lw $s0, %lo(gLapCountByPlayerId)($s0) # 0x4390($s0) -/* 051AA0 80050EA0 94510254 */ lhu $s1, 0x254($v0) -/* 051AA4 80050EA4 15C10004 */ bne $t6, $at, .L80050EB8 -/* 051AA8 80050EA8 8DADCE24 */ lw $t5, %lo(D_8018CE10 + 0x14)($t5) # -0x31dc($t5) -/* 051AAC 80050EAC 240F0012 */ li $t7, 18 -/* 051AB0 80050EB0 10000003 */ b .L80050EC0 -/* 051AB4 80050EB4 AFAF00C4 */ sw $t7, 0xc4($sp) -.L80050EB8: -/* 051AB8 80050EB8 24180078 */ li $t8, 120 -/* 051ABC 80050EBC AFB800C4 */ sw $t8, 0xc4($sp) -.L80050EC0: -/* 051AC0 80050EC0 30E4FFFF */ andi $a0, $a3, 0xffff -/* 051AC4 80050EC4 27A500D0 */ addiu $a1, $sp, 0xd0 -/* 051AC8 80050EC8 27A600CC */ addiu $a2, $sp, 0xcc -/* 051ACC 80050ECC 0C014191 */ jal func_80050644 -/* 051AD0 80050ED0 AFAD00D4 */ sw $t5, 0xd4($sp) -/* 051AD4 80050ED4 24010002 */ li $at, 2 -/* 051AD8 80050ED8 10410003 */ beq $v0, $at, .L80050EE8 -/* 051ADC 80050EDC 8FAD00D4 */ lw $t5, 0xd4($sp) -/* 051AE0 80050EE0 24010003 */ li $at, 3 -/* 051AE4 80050EE4 14410003 */ bne $v0, $at, .L80050EF4 -.L80050EE8: -/* 051AE8 80050EE8 24190001 */ li $t9, 1 -/* 051AEC 80050EEC 10000002 */ b .L80050EF8 -/* 051AF0 80050EF0 AFB900B8 */ sw $t9, 0xb8($sp) -.L80050EF4: -/* 051AF4 80050EF4 AFA000B8 */ sw $zero, 0xb8($sp) -.L80050EF8: -/* 051AF8 80050EF8 3C0E800E */ lui $t6, %hi(gCurrentCourseId) # $t6, 0x800e -/* 051AFC 80050EFC 85CEC5A0 */ lh $t6, %lo(gCurrentCourseId)($t6) -/* 051B00 80050F00 24010004 */ li $at, 4 -/* 051B04 80050F04 3C18FD10 */ lui $t8, 0xfd10 -/* 051B08 80050F08 15C10062 */ bne $t6, $at, .L80051094 -/* 051B0C 80050F0C 00115080 */ sll $t2, $s1, 2 -/* 051B10 80050F10 2A010003 */ slti $at, $s0, 3 -/* 051B14 80050F14 1020005F */ beqz $at, .L80051094 -/* 051B18 80050F18 3C108015 */ lui $s0, %hi(gDisplayListHead) # $s0, 0x8015 -/* 051B1C 80050F1C 26100298 */ addiu $s0, %lo(gDisplayListHead) # addiu $s0, $s0, 0x298 -/* 051B20 80050F20 8E020000 */ lw $v0, ($s0) -/* 051B24 80050F24 3C190D00 */ lui $t9, %hi(D_0D007DB8) # $t9, 0xd00 -/* 051B28 80050F28 27397DB8 */ addiu $t9, %lo(D_0D007DB8) # addiu $t9, $t9, 0x7db8 -/* 051B2C 80050F2C 244F0008 */ addiu $t7, $v0, 8 -/* 051B30 80050F30 AE0F0000 */ sw $t7, ($s0) -/* 051B34 80050F34 3C180600 */ lui $t8, 0x600 -/* 051B38 80050F38 AC580000 */ sw $t8, ($v0) -/* 051B3C 80050F3C AC590004 */ sw $t9, 4($v0) -/* 051B40 80050F40 8E020000 */ lw $v0, ($s0) -/* 051B44 80050F44 3C180D02 */ lui $t8, %hi(common_tlut_portrait_bomb_kart_and_question_mark) # $t8, 0xd02 -/* 051B48 80050F48 2718B4D8 */ addiu $t8, %lo(common_tlut_portrait_bomb_kart_and_question_mark) # addiu $t8, $t8, -0x4b28 -/* 051B4C 80050F4C 244E0008 */ addiu $t6, $v0, 8 -/* 051B50 80050F50 AE0E0000 */ sw $t6, ($s0) -/* 051B54 80050F54 3C0FFD10 */ lui $t7, 0xfd10 -/* 051B58 80050F58 AC4F0000 */ sw $t7, ($v0) -/* 051B5C 80050F5C AC580004 */ sw $t8, 4($v0) -/* 051B60 80050F60 8E020000 */ lw $v0, ($s0) -/* 051B64 80050F64 3C0EE800 */ lui $t6, 0xe800 -/* 051B68 80050F68 3C18F500 */ lui $t8, (0xF5000100 >> 16) # lui $t8, 0xf500 -/* 051B6C 80050F6C 24590008 */ addiu $t9, $v0, 8 -/* 051B70 80050F70 AE190000 */ sw $t9, ($s0) -/* 051B74 80050F74 AC400004 */ sw $zero, 4($v0) -/* 051B78 80050F78 AC4E0000 */ sw $t6, ($v0) -/* 051B7C 80050F7C 8E020000 */ lw $v0, ($s0) -/* 051B80 80050F80 3C190700 */ lui $t9, 0x700 -/* 051B84 80050F84 37180100 */ ori $t8, (0xF5000100 & 0xFFFF) # ori $t8, $t8, 0x100 -/* 051B88 80050F88 244F0008 */ addiu $t7, $v0, 8 -/* 051B8C 80050F8C AE0F0000 */ sw $t7, ($s0) -/* 051B90 80050F90 AC590004 */ sw $t9, 4($v0) -/* 051B94 80050F94 AC580000 */ sw $t8, ($v0) -/* 051B98 80050F98 8E020000 */ lw $v0, ($s0) -/* 051B9C 80050F9C 3C0FE600 */ lui $t7, 0xe600 -/* 051BA0 80050FA0 3C19F000 */ lui $t9, 0xf000 -/* 051BA4 80050FA4 244E0008 */ addiu $t6, $v0, 8 -/* 051BA8 80050FA8 AE0E0000 */ sw $t6, ($s0) -/* 051BAC 80050FAC AC400004 */ sw $zero, 4($v0) -/* 051BB0 80050FB0 AC4F0000 */ sw $t7, ($v0) -/* 051BB4 80050FB4 8E020000 */ lw $v0, ($s0) -/* 051BB8 80050FB8 3C0E073F */ lui $t6, (0x073FC000 >> 16) # lui $t6, 0x73f -/* 051BBC 80050FBC 35CEC000 */ ori $t6, (0x073FC000 & 0xFFFF) # ori $t6, $t6, 0xc000 -/* 051BC0 80050FC0 24580008 */ addiu $t8, $v0, 8 -/* 051BC4 80050FC4 AE180000 */ sw $t8, ($s0) -/* 051BC8 80050FC8 AC4E0004 */ sw $t6, 4($v0) -/* 051BCC 80050FCC AC590000 */ sw $t9, ($v0) -/* 051BD0 80050FD0 8E020000 */ lw $v0, ($s0) -/* 051BD4 80050FD4 3C18E700 */ lui $t8, 0xe700 -/* 051BD8 80050FD8 3C040D02 */ lui $a0, %hi(common_texture_portrait_question_mark) # $a0, 0xd02 -/* 051BDC 80050FDC 244F0008 */ addiu $t7, $v0, 8 -/* 051BE0 80050FE0 AE0F0000 */ sw $t7, ($s0) -/* 051BE4 80050FE4 AC400004 */ sw $zero, 4($v0) -/* 051BE8 80050FE8 AC580000 */ sw $t8, ($v0) -/* 051BEC 80050FEC AFAD00D4 */ sw $t5, 0xd4($sp) -/* 051BF0 80050FF0 2484DAD8 */ addiu $a0, %lo(common_texture_portrait_question_mark) # addiu $a0, $a0, -0x2528 -/* 051BF4 80050FF4 24050020 */ li $a1, 32 -/* 051BF8 80050FF8 0C0114A9 */ jal rsp_load_texture -/* 051BFC 80050FFC 24060020 */ li $a2, 32 -/* 051C00 80051000 8FAD00D4 */ lw $t5, 0xd4($sp) -/* 051C04 80051004 3C0E8016 */ lui $t6, %hi(gObjectList) # $t6, 0x8016 -/* 051C08 80051008 25CE5C18 */ addiu $t6, %lo(gObjectList) # addiu $t6, $t6, 0x5c18 -/* 051C0C 8005100C 000DC8C0 */ sll $t9, $t5, 3 -/* 051C10 80051010 032DC823 */ subu $t9, $t9, $t5 -/* 051C14 80051014 0019C940 */ sll $t9, $t9, 5 -/* 051C18 80051018 8FAF00D0 */ lw $t7, 0xd0($sp) -/* 051C1C 8005101C 032E8821 */ addu $s1, $t9, $t6 -/* 051C20 80051020 8FAE00CC */ lw $t6, 0xcc($sp) -/* 051C24 80051024 8FB900C4 */ lw $t9, 0xc4($sp) -/* 051C28 80051028 25F80020 */ addiu $t8, $t7, 0x20 -/* 051C2C 8005102C 44983000 */ mtc1 $t8, $f6 -/* 051C30 80051030 032E7821 */ addu $t7, $t9, $t6 -/* 051C34 80051034 448F8000 */ mtc1 $t7, $f16 -/* 051C38 80051038 46803220 */ cvt.s.w $f8, $f6 -/* 051C3C 8005103C C6240028 */ lwc1 $f4, 0x28($s1) -/* 051C40 80051040 C626002C */ lwc1 $f6, 0x2c($s1) -/* 051C44 80051044 26240004 */ addiu $a0, $s1, 4 -/* 051C48 80051048 262500BE */ addiu $a1, $s1, 0xbe -/* 051C4C 8005104C 468084A0 */ cvt.s.w $f18, $f16 -/* 051C50 80051050 8E260000 */ lw $a2, ($s1) -/* 051C54 80051054 46082280 */ add.s $f10, $f4, $f8 -/* 051C58 80051058 C6280030 */ lwc1 $f8, 0x30($s1) -/* 051C5C 8005105C 46123100 */ add.s $f4, $f6, $f18 -/* 051C60 80051060 E62A0004 */ swc1 $f10, 4($s1) -/* 051C64 80051064 E628000C */ swc1 $f8, 0xc($s1) -/* 051C68 80051068 0C010B80 */ jal rsp_set_matrix_transformation -/* 051C6C 8005106C E6240008 */ swc1 $f4, 8($s1) -/* 051C70 80051070 8E020000 */ lw $v0, ($s0) -/* 051C74 80051074 3C0E0D00 */ lui $t6, %hi(D_0D0069E0) # $t6, 0xd00 -/* 051C78 80051078 25CE69E0 */ addiu $t6, %lo(D_0D0069E0) # addiu $t6, $t6, 0x69e0 -/* 051C7C 8005107C 24580008 */ addiu $t8, $v0, 8 -/* 051C80 80051080 AE180000 */ sw $t8, ($s0) -/* 051C84 80051084 3C190600 */ lui $t9, 0x600 -/* 051C88 80051088 AC590000 */ sw $t9, ($v0) -/* 051C8C 8005108C 10000106 */ b .L800514A8 -/* 051C90 80051090 AC4E0004 */ sw $t6, 4($v0) -.L80051094: -/* 051C94 80051094 3C108015 */ lui $s0, %hi(gDisplayListHead) # $s0, 0x8015 -/* 051C98 80051098 26100298 */ addiu $s0, %lo(gDisplayListHead) # addiu $s0, $s0, 0x298 -/* 051C9C 8005109C 8E020000 */ lw $v0, ($s0) -/* 051CA0 800510A0 3C19800E */ lui $t9, %hi(gPortraitTLUTs) -/* 051CA4 800510A4 032AC821 */ addu $t9, $t9, $t2 -/* 051CA8 800510A8 244F0008 */ addiu $t7, $v0, 8 -/* 051CAC 800510AC AE0F0000 */ sw $t7, ($s0) -/* 051CB0 800510B0 AC580000 */ sw $t8, ($v0) -/* 051CB4 800510B4 8F39457C */ lw $t9, %lo(gPortraitTLUTs)($t9) -/* 051CB8 800510B8 3C0FE800 */ lui $t7, 0xe800 -/* 051CBC 800510BC 3C048016 */ lui $a0, %hi(D_801656C0) # $a0, 0x8016 -/* 051CC0 800510C0 AC590004 */ sw $t9, 4($v0) -/* 051CC4 800510C4 8E020000 */ lw $v0, ($s0) -/* 051CC8 800510C8 3C19F500 */ lui $t9, (0xF5000100 >> 16) # lui $t9, 0xf500 -/* 051CCC 800510CC 37390100 */ ori $t9, (0xF5000100 & 0xFFFF) # ori $t9, $t9, 0x100 -/* 051CD0 800510D0 244E0008 */ addiu $t6, $v0, 8 -/* 051CD4 800510D4 AE0E0000 */ sw $t6, ($s0) -/* 051CD8 800510D8 AC400004 */ sw $zero, 4($v0) -/* 051CDC 800510DC AC4F0000 */ sw $t7, ($v0) -/* 051CE0 800510E0 8E020000 */ lw $v0, ($s0) -/* 051CE4 800510E4 3C0E0700 */ lui $t6, 0x700 -/* 051CE8 800510E8 3C058016 */ lui $a1, %hi(D_801656D0) # $a1, 0x8016 -/* 051CEC 800510EC 24580008 */ addiu $t8, $v0, 8 -/* 051CF0 800510F0 AE180000 */ sw $t8, ($s0) -/* 051CF4 800510F4 AC4E0004 */ sw $t6, 4($v0) -/* 051CF8 800510F8 AC590000 */ sw $t9, ($v0) -/* 051CFC 800510FC 8E020000 */ lw $v0, ($s0) -/* 051D00 80051100 3C18E600 */ lui $t8, 0xe600 -/* 051D04 80051104 3C0EF000 */ lui $t6, 0xf000 -/* 051D08 80051108 244F0008 */ addiu $t7, $v0, 8 -/* 051D0C 8005110C AE0F0000 */ sw $t7, ($s0) -/* 051D10 80051110 AC400004 */ sw $zero, 4($v0) -/* 051D14 80051114 AC580000 */ sw $t8, ($v0) -/* 051D18 80051118 8E020000 */ lw $v0, ($s0) -/* 051D1C 8005111C 3C0F073F */ lui $t7, (0x073FC000 >> 16) # lui $t7, 0x73f -/* 051D20 80051120 35EFC000 */ ori $t7, (0x073FC000 & 0xFFFF) # ori $t7, $t7, 0xc000 -/* 051D24 80051124 24590008 */ addiu $t9, $v0, 8 -/* 051D28 80051128 AE190000 */ sw $t9, ($s0) -/* 051D2C 8005112C AC4F0004 */ sw $t7, 4($v0) -/* 051D30 80051130 AC4E0000 */ sw $t6, ($v0) -/* 051D34 80051134 8E020000 */ lw $v0, ($s0) -/* 051D38 80051138 3C19E700 */ lui $t9, 0xe700 -/* 051D3C 8005113C 3C0F0600 */ lui $t7, 0x600 -/* 051D40 80051140 24580008 */ addiu $t8, $v0, 8 -/* 051D44 80051144 AE180000 */ sw $t8, ($s0) -/* 051D48 80051148 AC400004 */ sw $zero, 4($v0) -/* 051D4C 8005114C AC590000 */ sw $t9, ($v0) -/* 051D50 80051150 8E020000 */ lw $v0, ($s0) -/* 051D54 80051154 3C180D00 */ lui $t8, %hi(D_0D007DB8) # $t8, 0xd00 -/* 051D58 80051158 27187DB8 */ addiu $t8, %lo(D_0D007DB8) # addiu $t8, $t8, 0x7db8 -/* 051D5C 8005115C 244E0008 */ addiu $t6, $v0, 8 -/* 051D60 80051160 AE0E0000 */ sw $t6, ($s0) -/* 051D64 80051164 AC580004 */ sw $t8, 4($v0) -/* 051D68 80051168 AC4F0000 */ sw $t7, ($v0) -/* 051D6C 8005116C 8FB900AC */ lw $t9, 0xac($sp) -/* 051D70 80051170 3C068016 */ lui $a2, %hi(D_801656E0) # $a2, 0x8016 -/* 051D74 80051174 24070080 */ li $a3, 128 -/* 051D78 80051178 8F2E00BC */ lw $t6, 0xbc($t9) -/* 051D7C 8005117C 000DC8C0 */ sll $t9, $t5, 3 -/* 051D80 80051180 032DC823 */ subu $t9, $t9, $t5 -/* 051D84 80051184 31CF0200 */ andi $t7, $t6, 0x200 -/* 051D88 80051188 11E00014 */ beqz $t7, .L800511DC -/* 051D8C 8005118C 0019C940 */ sll $t9, $t9, 5 -/* 051D90 80051190 000D70C0 */ sll $t6, $t5, 3 -/* 051D94 80051194 01CD7023 */ subu $t6, $t6, $t5 -/* 051D98 80051198 3C0F8016 */ lui $t7, %hi(gObjectList) # $t7, 0x8016 -/* 051D9C 8005119C 25EF5C18 */ addiu $t7, %lo(gObjectList) # addiu $t7, $t7, 0x5c18 -/* 051DA0 800511A0 000E7140 */ sll $t6, $t6, 5 -/* 051DA4 800511A4 24180080 */ li $t8, 128 -/* 051DA8 800511A8 AFB80010 */ sw $t8, 0x10($sp) -/* 051DAC 800511AC 01CF8821 */ addu $s1, $t6, $t7 -/* 051DB0 800511B0 863800A0 */ lh $t8, 0xa0($s1) -/* 051DB4 800511B4 24190080 */ li $t9, 128 -/* 051DB8 800511B8 AFB90014 */ sw $t9, 0x14($sp) -/* 051DBC 800511BC 948456C0 */ lhu $a0, %lo(D_801656C0)($a0) -/* 051DC0 800511C0 94A556D0 */ lhu $a1, %lo(D_801656D0)($a1) -/* 051DC4 800511C4 94C656E0 */ lhu $a2, %lo(D_801656E0)($a2) -/* 051DC8 800511C8 AFAA003C */ sw $t2, 0x3c($sp) -/* 051DCC 800511CC 0C012D85 */ jal func_8004B614 -/* 051DD0 800511D0 AFB80018 */ sw $t8, 0x18($sp) -/* 051DD4 800511D4 10000008 */ b .L800511F8 -/* 051DD8 800511D8 8FAA003C */ lw $t2, 0x3c($sp) -.L800511DC: -/* 051DDC 800511DC 3C0E8016 */ lui $t6, %hi(gObjectList) # $t6, 0x8016 -/* 051DE0 800511E0 25CE5C18 */ addiu $t6, %lo(gObjectList) # addiu $t6, $t6, 0x5c18 -/* 051DE4 800511E4 032E8821 */ addu $s1, $t9, $t6 -/* 051DE8 800511E8 862400A0 */ lh $a0, 0xa0($s1) -/* 051DEC 800511EC 0C012CAF */ jal set_transparency -/* 051DF0 800511F0 AFAA003C */ sw $t2, 0x3c($sp) -/* 051DF4 800511F4 8FAA003C */ lw $t2, 0x3c($sp) -.L800511F8: -/* 051DF8 800511F8 3C04800E */ lui $a0, %hi(gPortraitTextures) -/* 051DFC 800511FC 008A2021 */ addu $a0, $a0, $t2 -/* 051E00 80051200 8C84459C */ lw $a0, %lo(gPortraitTextures)($a0) -/* 051E04 80051204 24050020 */ li $a1, 32 -/* 051E08 80051208 0C0114A9 */ jal rsp_load_texture -/* 051E0C 8005120C 24060020 */ li $a2, 32 -/* 051E10 80051210 8FAF00D0 */ lw $t7, 0xd0($sp) -/* 051E14 80051214 8FB900C4 */ lw $t9, 0xc4($sp) -/* 051E18 80051218 8FAE00CC */ lw $t6, 0xcc($sp) -/* 051E1C 8005121C 25F80020 */ addiu $t8, $t7, 0x20 -/* 051E20 80051220 44988000 */ mtc1 $t8, $f16 -/* 051E24 80051224 032E7821 */ addu $t7, $t9, $t6 -/* 051E28 80051228 448F2000 */ mtc1 $t7, $f4 -/* 051E2C 8005122C 468081A0 */ cvt.s.w $f6, $f16 -/* 051E30 80051230 C62A0028 */ lwc1 $f10, 0x28($s1) -/* 051E34 80051234 C630002C */ lwc1 $f16, 0x2c($s1) -/* 051E38 80051238 26240004 */ addiu $a0, $s1, 4 -/* 051E3C 8005123C 262500BE */ addiu $a1, $s1, 0xbe -/* 051E40 80051240 46802220 */ cvt.s.w $f8, $f4 -/* 051E44 80051244 AFA50038 */ sw $a1, 0x38($sp) -/* 051E48 80051248 AFA4003C */ sw $a0, 0x3c($sp) -/* 051E4C 8005124C 8E260000 */ lw $a2, ($s1) -/* 051E50 80051250 46065480 */ add.s $f18, $f10, $f6 -/* 051E54 80051254 C6260030 */ lwc1 $f6, 0x30($s1) -/* 051E58 80051258 46088280 */ add.s $f10, $f16, $f8 -/* 051E5C 8005125C E6320004 */ swc1 $f18, 4($s1) -/* 051E60 80051260 E626000C */ swc1 $f6, 0xc($s1) -/* 051E64 80051264 0C010B80 */ jal rsp_set_matrix_transformation -/* 051E68 80051268 E62A0008 */ swc1 $f10, 8($s1) -/* 051E6C 8005126C 8FB800B8 */ lw $t8, 0xb8($sp) -/* 051E70 80051270 3C0E0600 */ lui $t6, 0x600 -/* 051E74 80051274 3C190600 */ lui $t9, 0x600 -/* 051E78 80051278 13000009 */ beqz $t8, .L800512A0 -/* 051E7C 8005127C 24050008 */ li $a1, 8 -/* 051E80 80051280 8E020000 */ lw $v0, ($s0) -/* 051E84 80051284 3C0F0D00 */ lui $t7, %hi(D_0D0069F8) # $t7, 0xd00 -/* 051E88 80051288 25EF69F8 */ addiu $t7, %lo(D_0D0069F8) # addiu $t7, $t7, 0x69f8 -/* 051E8C 8005128C 24590008 */ addiu $t9, $v0, 8 -/* 051E90 80051290 AE190000 */ sw $t9, ($s0) -/* 051E94 80051294 AC4F0004 */ sw $t7, 4($v0) -/* 051E98 80051298 10000008 */ b .L800512BC -/* 051E9C 8005129C AC4E0000 */ sw $t6, ($v0) -.L800512A0: -/* 051EA0 800512A0 8E020000 */ lw $v0, ($s0) -/* 051EA4 800512A4 3C0E0D00 */ lui $t6, %hi(D_0D0069E0) # $t6, 0xd00 -/* 051EA8 800512A8 25CE69E0 */ addiu $t6, %lo(D_0D0069E0) # addiu $t6, $t6, 0x69e0 -/* 051EAC 800512AC 24580008 */ addiu $t8, $v0, 8 -/* 051EB0 800512B0 AE180000 */ sw $t8, ($s0) -/* 051EB4 800512B4 AC4E0004 */ sw $t6, 4($v0) -/* 051EB8 800512B8 AC590000 */ sw $t9, ($v0) -.L800512BC: -/* 051EBC 800512BC 8E020000 */ lw $v0, ($s0) -/* 051EC0 800512C0 3C190D02 */ lui $t9, %hi(common_tlut_hud_type_C_rank_tiny_font) # $t9, 0xd02 -/* 051EC4 800512C4 27399E58 */ addiu $t9, %lo(common_tlut_hud_type_C_rank_tiny_font) # addiu $t9, $t9, -0x61a8 -/* 051EC8 800512C8 244F0008 */ addiu $t7, $v0, 8 -/* 051ECC 800512CC AE0F0000 */ sw $t7, ($s0) -/* 051ED0 800512D0 3C18FD10 */ lui $t8, 0xfd10 -/* 051ED4 800512D4 AC580000 */ sw $t8, ($v0) -/* 051ED8 800512D8 AC590004 */ sw $t9, 4($v0) -/* 051EDC 800512DC 8E020000 */ lw $v0, ($s0) -/* 051EE0 800512E0 3C0FE800 */ lui $t7, 0xe800 -/* 051EE4 800512E4 3C19F500 */ lui $t9, (0xF5000100 >> 16) # lui $t9, 0xf500 -/* 051EE8 800512E8 244E0008 */ addiu $t6, $v0, 8 -/* 051EEC 800512EC AE0E0000 */ sw $t6, ($s0) -/* 051EF0 800512F0 AC400004 */ sw $zero, 4($v0) -/* 051EF4 800512F4 AC4F0000 */ sw $t7, ($v0) -/* 051EF8 800512F8 8E020000 */ lw $v0, ($s0) -/* 051EFC 800512FC 3C0E0700 */ lui $t6, 0x700 -/* 051F00 80051300 37390100 */ ori $t9, (0xF5000100 & 0xFFFF) # ori $t9, $t9, 0x100 -/* 051F04 80051304 24580008 */ addiu $t8, $v0, 8 -/* 051F08 80051308 AE180000 */ sw $t8, ($s0) -/* 051F0C 8005130C AC4E0004 */ sw $t6, 4($v0) -/* 051F10 80051310 AC590000 */ sw $t9, ($v0) -/* 051F14 80051314 8E020000 */ lw $v0, ($s0) -/* 051F18 80051318 3C18E600 */ lui $t8, 0xe600 -/* 051F1C 8005131C 3C0EF000 */ lui $t6, 0xf000 -/* 051F20 80051320 244F0008 */ addiu $t7, $v0, 8 -/* 051F24 80051324 AE0F0000 */ sw $t7, ($s0) -/* 051F28 80051328 AC400004 */ sw $zero, 4($v0) -/* 051F2C 8005132C AC580000 */ sw $t8, ($v0) -/* 051F30 80051330 8E020000 */ lw $v0, ($s0) -/* 051F34 80051334 3C0F073F */ lui $t7, (0x073FC000 >> 16) # lui $t7, 0x73f -/* 051F38 80051338 35EFC000 */ ori $t7, (0x073FC000 & 0xFFFF) # ori $t7, $t7, 0xc000 -/* 051F3C 8005133C 24590008 */ addiu $t9, $v0, 8 -/* 051F40 80051340 AE190000 */ sw $t9, ($s0) -/* 051F44 80051344 AC4F0004 */ sw $t7, 4($v0) -/* 051F48 80051348 AC4E0000 */ sw $t6, ($v0) -/* 051F4C 8005134C 8E020000 */ lw $v0, ($s0) -/* 051F50 80051350 3C19E700 */ lui $t9, 0xe700 -/* 051F54 80051354 24060008 */ li $a2, 8 -/* 051F58 80051358 24580008 */ addiu $t8, $v0, 8 -/* 051F5C 8005135C AE180000 */ sw $t8, ($s0) -/* 051F60 80051360 AC400004 */ sw $zero, 4($v0) -/* 051F64 80051364 AC590000 */ sw $t9, ($v0) -/* 051F68 80051368 8FAE00DC */ lw $t6, 0xdc($sp) -/* 051F6C 8005136C 3C190D02 */ lui $t9, %hi(common_texture_hud_type_C_rank_tiny_font) # $t9, 0xd02 -/* 051F70 80051370 2739A058 */ addiu $t9, %lo(common_texture_hud_type_C_rank_tiny_font) # addiu $t9, $t9, -0x5fa8 -/* 051F74 80051374 000E7980 */ sll $t7, $t6, 6 -/* 051F78 80051378 25F80040 */ addiu $t8, $t7, 0x40 -/* 051F7C 8005137C 0C0114A9 */ jal rsp_load_texture -/* 051F80 80051380 03192021 */ addu $a0, $t8, $t9 -/* 051F84 80051384 8FAE00B8 */ lw $t6, 0xb8($sp) -/* 051F88 80051388 8FA400D0 */ lw $a0, 0xd0($sp) -/* 051F8C 8005138C 8FB900C4 */ lw $t9, 0xc4($sp) -/* 051F90 80051390 11C0000C */ beqz $t6, .L800513C4 -/* 051F94 80051394 2484001B */ addiu $a0, $a0, 0x1b -/* 051F98 80051398 8FAF00C4 */ lw $t7, 0xc4($sp) -/* 051F9C 8005139C 8FB800CC */ lw $t8, 0xcc($sp) -/* 051FA0 800513A0 8FA400D0 */ lw $a0, 0xd0($sp) -/* 051FA4 800513A4 00003025 */ move $a2, $zero -/* 051FA8 800513A8 01F82821 */ addu $a1, $t7, $t8 -/* 051FAC 800513AC 24A50004 */ addiu $a1, $a1, 4 -/* 051FB0 800513B0 3C073F80 */ lui $a3, 0x3f80 -/* 051FB4 800513B4 0C0108CC */ jal func_80042330 -/* 051FB8 800513B8 24840026 */ addiu $a0, $a0, 0x26 -/* 051FBC 800513BC 10000008 */ b .L800513E0 -/* 051FC0 800513C0 8E020000 */ lw $v0, ($s0) -.L800513C4: -/* 051FC4 800513C4 8FAE00CC */ lw $t6, 0xcc($sp) -/* 051FC8 800513C8 00003025 */ move $a2, $zero -/* 051FCC 800513CC 3C073F80 */ lui $a3, 0x3f80 -/* 051FD0 800513D0 032E2821 */ addu $a1, $t9, $t6 -/* 051FD4 800513D4 0C0108CC */ jal func_80042330 -/* 051FD8 800513D8 24A50004 */ addiu $a1, $a1, 4 -/* 051FDC 800513DC 8E020000 */ lw $v0, ($s0) -.L800513E0: -/* 051FE0 800513E0 3C190D00 */ lui $t9, %hi(D_0D006950) # $t9, 0xd00 -/* 051FE4 800513E4 27396950 */ addiu $t9, %lo(D_0D006950) # addiu $t9, $t9, 0x6950 -/* 051FE8 800513E8 244F0008 */ addiu $t7, $v0, 8 -/* 051FEC 800513EC AE0F0000 */ sw $t7, ($s0) -/* 051FF0 800513F0 3C180600 */ lui $t8, 0x600 -/* 051FF4 800513F4 AC580000 */ sw $t8, ($v0) -/* 051FF8 800513F8 AC590004 */ sw $t9, 4($v0) -/* 051FFC 800513FC 3C0F800E */ lui $t7, %hi(gPlayerOne) # $t7, 0x800e -/* 052000 80051400 8DEFC4DC */ lw $t7, %lo(gPlayerOne)($t7) -/* 052004 80051404 8FAE00AC */ lw $t6, 0xac($sp) -/* 052008 80051408 3C18800E */ lui $t8, %hi(gScreenModeSelection) # $t8, 0x800e -/* 05200C 8005140C 55CF0027 */ bnel $t6, $t7, .L800514AC -/* 052010 80051410 8FBF002C */ lw $ra, 0x2c($sp) -/* 052014 80051414 8F18C530 */ lw $t8, %lo(gScreenModeSelection)($t8) -/* 052018 80051418 3C0F0D00 */ lui $t7, %hi(D_0D007A40) # $t7, 0xd00 -/* 05201C 8005141C 25EF7A40 */ addiu $t7, %lo(D_0D007A40) # addiu $t7, $t7, 0x7a40 -/* 052020 80051420 17000021 */ bnez $t8, .L800514A8 -/* 052024 80051424 3C0E0600 */ lui $t6, 0x600 -/* 052028 80051428 8E020000 */ lw $v0, ($s0) -/* 05202C 8005142C 3C180D00 */ lui $t8, %hi(D_0D0069E0) # $t8, 0xd00 -/* 052030 80051430 271869E0 */ addiu $t8, %lo(D_0D0069E0) # addiu $t8, $t8, 0x69e0 -/* 052034 80051434 24590008 */ addiu $t9, $v0, 8 -/* 052038 80051438 AE190000 */ sw $t9, ($s0) -/* 05203C 8005143C AC4F0004 */ sw $t7, 4($v0) -/* 052040 80051440 AC4E0000 */ sw $t6, ($v0) -/* 052044 80051444 3C048019 */ lui $a0, %hi(D_8018D3E4) # $a0, 0x8019 -/* 052048 80051448 3C058019 */ lui $a1, %hi(D_8018D3E8) # $a1, 0x8019 -/* 05204C 8005144C 3C068019 */ lui $a2, %hi(D_8018D3EC) # $a2, 0x8019 -/* 052050 80051450 8CC6D3EC */ lw $a2, %lo(D_8018D3EC)($a2) -/* 052054 80051454 8CA5D3E8 */ lw $a1, %lo(D_8018D3E8)($a1) -/* 052058 80051458 8C84D3E4 */ lw $a0, %lo(D_8018D3E4)($a0) -/* 05205C 8005145C AFB80034 */ sw $t8, 0x34($sp) -/* 052060 80051460 0C012CD7 */ jal func_8004B35C -/* 052064 80051464 240700FF */ li $a3, 255 -/* 052068 80051468 3C040D02 */ lui $a0, %hi(common_texture_character_portrait_border) # $a0, 0xd02 -/* 05206C 8005146C 2484A2D8 */ addiu $a0, %lo(common_texture_character_portrait_border) # addiu $a0, $a0, -0x5d28 -/* 052070 80051470 24050020 */ li $a1, 32 -/* 052074 80051474 0C011249 */ jal func_80044924 -/* 052078 80051478 24060020 */ li $a2, 32 -/* 05207C 8005147C 8FA4003C */ lw $a0, 0x3c($sp) -/* 052080 80051480 8FA50038 */ lw $a1, 0x38($sp) -/* 052084 80051484 0C010B80 */ jal rsp_set_matrix_transformation -/* 052088 80051488 8E260000 */ lw $a2, ($s1) -/* 05208C 8005148C 8E020000 */ lw $v0, ($s0) -/* 052090 80051490 3C0E0600 */ lui $t6, 0x600 -/* 052094 80051494 24590008 */ addiu $t9, $v0, 8 -/* 052098 80051498 AE190000 */ sw $t9, ($s0) -/* 05209C 8005149C AC4E0000 */ sw $t6, ($v0) -/* 0520A0 800514A0 8FAF0034 */ lw $t7, 0x34($sp) -/* 0520A4 800514A4 AC4F0004 */ sw $t7, 4($v0) -.L800514A8: -/* 0520A8 800514A8 8FBF002C */ lw $ra, 0x2c($sp) -.L800514AC: -/* 0520AC 800514AC 8FB00024 */ lw $s0, 0x24($sp) -/* 0520B0 800514B0 8FB10028 */ lw $s1, 0x28($sp) -/* 0520B4 800514B4 03E00008 */ jr $ra -/* 0520B8 800514B8 27BD00D8 */ addiu $sp, $sp, 0xd8 diff --git a/asm/non_matchings/save/func_800B5218.s b/asm/non_matchings/save/func_800B5218.s deleted file mode 100644 index a1ab62bae..000000000 --- a/asm/non_matchings/save/func_800B5218.s +++ /dev/null @@ -1,92 +0,0 @@ -glabel func_800B5218 -/* 0B5E18 800B5218 3C0E8019 */ lui $t6, %hi(gCupSelection) # $t6, 0x8019 -/* 0B5E1C 800B521C 81CEEE09 */ lb $t6, %lo(gCupSelection)($t6) -/* 0B5E20 800B5220 3C188019 */ lui $t8, %hi(gCourseIndexInCup) # $t8, 0x8019 -/* 0B5E24 800B5224 8318EE0B */ lb $t8, %lo(gCourseIndexInCup)($t8) -/* 0B5E28 800B5228 3C09800F */ lui $t1, %hi(gCharacterSelections) # $t1, 0x800f -/* 0B5E2C 800B522C 812986A8 */ lb $t1, %lo(gCharacterSelections)($t1) -/* 0B5E30 800B5230 27BDFFB8 */ addiu $sp, $sp, -0x48 -/* 0B5E34 800B5234 000E7880 */ sll $t7, $t6, 2 -/* 0B5E38 800B5238 3C058019 */ lui $a1, %hi(playerHUD+0x4) # $a1, 0x8019 -/* 0B5E3C 800B523C 3C068019 */ lui $a2, %hi(playerHUD) # $a2, 0x8019 -/* 0B5E40 800B5240 01F8C821 */ addu $t9, $t7, $t8 -/* 0B5E44 800B5244 AFBF0014 */ sw $ra, 0x14($sp) -/* 0B5E48 800B5248 AFB90038 */ sw $t9, 0x38($sp) -/* 0B5E4C 800B524C 24070001 */ li $a3, 1 -/* 0B5E50 800B5250 24C6CA70 */ addiu $a2, %lo(playerHUD) # addiu $a2, $a2, -0x3590 -/* 0B5E54 800B5254 24A5CA74 */ addiu $a1, %lo(playerHUD+0x4) # addiu $a1, $a1, -0x358c -/* 0B5E58 800B5258 24020001 */ li $v0, 1 -/* 0B5E5C 800B525C 24080003 */ li $t0, 3 -/* 0B5E60 800B5260 AFA90028 */ sw $t1, 0x28($sp) -.L800B5264: -/* 0B5E64 800B5264 8CA30020 */ lw $v1, 0x20($a1) -/* 0B5E68 800B5268 8CC40020 */ lw $a0, 0x20($a2) -/* 0B5E6C 800B526C 240A0001 */ li $t2, 1 -/* 0B5E70 800B5270 00025880 */ sll $t3, $v0, 2 -/* 0B5E74 800B5274 0064082A */ slt $at, $v1, $a0 -/* 0B5E78 800B5278 10200005 */ beqz $at, .L800B5290 -/* 0B5E7C 800B527C 3C0C8019 */ lui $t4, %hi(playerHUD) # $t4, 0x8019 -/* 0B5E80 800B5280 258CCA70 */ addiu $t4, %lo(playerHUD) # addiu $t4, $t4, -0x3590 -/* 0B5E84 800B5284 004A3804 */ sllv $a3, $t2, $v0 -/* 0B5E88 800B5288 10000005 */ b .L800B52A0 -/* 0B5E8C 800B528C 016C3021 */ addu $a2, $t3, $t4 -.L800B5290: -/* 0B5E90 800B5290 14830003 */ bne $a0, $v1, .L800B52A0 -/* 0B5E94 800B5294 240D0001 */ li $t5, 1 -/* 0B5E98 800B5298 004D7004 */ sllv $t6, $t5, $v0 -/* 0B5E9C 800B529C 00EE3825 */ or $a3, $a3, $t6 -.L800B52A0: -/* 0B5EA0 800B52A0 24420001 */ addiu $v0, $v0, 1 -/* 0B5EA4 800B52A4 1448FFEF */ bne $v0, $t0, .L800B5264 -/* 0B5EA8 800B52A8 24A50004 */ addiu $a1, $a1, 4 -/* 0B5EAC 800B52AC AFA60018 */ sw $a2, 0x18($sp) -/* 0B5EB0 800B52B0 0C02D3CB */ jal func_800B4F2C -/* 0B5EB4 800B52B4 AFA70024 */ sw $a3, 0x24($sp) -/* 0B5EB8 800B52B8 8FA60018 */ lw $a2, 0x18($sp) -/* 0B5EBC 800B52BC 3C01000F */ lui $at, (0x000FFFFF >> 16) # lui $at, 0xf -/* 0B5EC0 800B52C0 3421FFFF */ ori $at, (0x000FFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 0B5EC4 800B52C4 8CC50020 */ lw $a1, 0x20($a2) -/* 0B5EC8 800B52C8 00417824 */ and $t7, $v0, $at -/* 0B5ECC 800B52CC 8FA70024 */ lw $a3, 0x24($sp) -/* 0B5ED0 800B52D0 00AF082B */ sltu $at, $a1, $t7 -/* 0B5ED4 800B52D4 10200021 */ beqz $at, .L800B535C -/* 0B5ED8 800B52D8 00001025 */ move $v0, $zero -/* 0B5EDC 800B52DC 8FA30038 */ lw $v1, 0x38($sp) -/* 0B5EE0 800B52E0 3C0C8019 */ lui $t4, %hi(gSaveData) # $t4, 0x8019 -/* 0B5EE4 800B52E4 258CEB90 */ addiu $t4, %lo(gSaveData) # addiu $t4, $t4, -0x1470 -/* 0B5EE8 800B52E8 04610003 */ bgez $v1, .L800B52F8 -/* 0B5EEC 800B52EC 0003C083 */ sra $t8, $v1, 2 -/* 0B5EF0 800B52F0 24610003 */ addiu $at, $v1, 3 -/* 0B5EF4 800B52F4 0001C083 */ sra $t8, $at, 2 -.L800B52F8: -/* 0B5EF8 800B52F8 0018C880 */ sll $t9, $t8, 2 -/* 0B5EFC 800B52FC 0338C823 */ subu $t9, $t9, $t8 -/* 0B5F00 800B5300 0019C940 */ sll $t9, $t9, 5 -/* 0B5F04 800B5304 04610004 */ bgez $v1, .L800B5318 -/* 0B5F08 800B5308 30690003 */ andi $t1, $v1, 3 -/* 0B5F0C 800B530C 11200002 */ beqz $t1, .L800B5318 -/* 0B5F10 800B5310 00000000 */ nop -/* 0B5F14 800B5314 2529FFFC */ addiu $t1, -4 -.L800B5318: -/* 0B5F18 800B5318 00095080 */ sll $t2, $t1, 2 -/* 0B5F1C 800B531C 01495023 */ subu $t2, $t2, $t1 -/* 0B5F20 800B5320 000A50C0 */ sll $t2, $t2, 3 -/* 0B5F24 800B5324 032A5821 */ addu $t3, $t9, $t2 -/* 0B5F28 800B5328 016C1021 */ addu $v0, $t3, $t4 -/* 0B5F2C 800B532C 2444000F */ addiu $a0, $v0, 0xf -/* 0B5F30 800B5330 AFA20020 */ sw $v0, 0x20($sp) -/* 0B5F34 800B5334 8FA60028 */ lw $a2, 0x28($sp) -/* 0B5F38 800B5338 0C02D373 */ jal populate_time_trial_record -/* 0B5F3C 800B533C AFA70024 */ sw $a3, 0x24($sp) -/* 0B5F40 800B5340 8FA20020 */ lw $v0, 0x20($sp) -/* 0B5F44 800B5344 240D0001 */ li $t5, 1 -/* 0B5F48 800B5348 A04D0012 */ sb $t5, 0x12($v0) -/* 0B5F4C 800B534C 0C02D178 */ jal func_800B45E0 -/* 0B5F50 800B5350 8FA40038 */ lw $a0, 0x38($sp) -/* 0B5F54 800B5354 10000001 */ b .L800B535C -/* 0B5F58 800B5358 8FA20024 */ lw $v0, 0x24($sp) -.L800B535C: -/* 0B5F5C 800B535C 8FBF0014 */ lw $ra, 0x14($sp) -/* 0B5F60 800B5360 27BD0048 */ addiu $sp, $sp, 0x48 -/* 0B5F64 800B5364 03E00008 */ jr $ra -/* 0B5F68 800B5368 00000000 */ nop diff --git a/asm/non_matchings/save/func_800B68F4.s b/asm/non_matchings/save/func_800B68F4.s deleted file mode 100644 index 55079f337..000000000 --- a/asm/non_matchings/save/func_800B68F4.s +++ /dev/null @@ -1,52 +0,0 @@ -glabel func_800B68F4 -/* 0B74F4 800B68F4 3C028019 */ lui $v0, %hi(gSomeDLBuffer) # $v0, 0x8019 -/* 0B74F8 800B68F8 8C42D9C0 */ lw $v0, %lo(gSomeDLBuffer)($v0) -/* 0B74FC 800B68FC 000471C0 */ sll $t6, $a0, 7 -/* 0B7500 800B6900 24870001 */ addiu $a3, $a0, 1 -/* 0B7504 800B6904 01C21821 */ addu $v1, $t6, $v0 -/* 0B7508 800B6908 906F0000 */ lbu $t7, ($v1) -/* 0B750C 800B690C 90780001 */ lbu $t8, 1($v1) -/* 0B7510 800B6910 90690002 */ lbu $t1, 2($v1) -/* 0B7514 800B6914 01E70019 */ multu $t7, $a3 -/* 0B7518 800B6918 24040043 */ li $a0, 67 -/* 0B751C 800B691C 24060003 */ li $a2, 3 -/* 0B7520 800B6920 00002812 */ mflo $a1 -/* 0B7524 800B6924 00000000 */ nop -/* 0B7528 800B6928 00000000 */ nop -/* 0B752C 800B692C 03070019 */ multu $t8, $a3 -/* 0B7530 800B6930 0000C812 */ mflo $t9 -/* 0B7534 800B6934 00B92821 */ addu $a1, $a1, $t9 -/* 0B7538 800B6938 24A50001 */ addiu $a1, $a1, 1 -/* 0B753C 800B693C 01270019 */ multu $t1, $a3 -/* 0B7540 800B6940 00005012 */ mflo $t2 -/* 0B7544 800B6944 00AA2821 */ addu $a1, $a1, $t2 -/* 0B7548 800B6948 24A50002 */ addiu $a1, $a1, 2 -.L800B694C: -/* 0B754C 800B694C 00661021 */ addu $v0, $v1, $a2 -/* 0B7550 800B6950 904B0000 */ lbu $t3, ($v0) -/* 0B7554 800B6954 904E0001 */ lbu $t6, 1($v0) -/* 0B7558 800B6958 90590002 */ lbu $t9, 2($v0) -/* 0B755C 800B695C 01670019 */ multu $t3, $a3 -/* 0B7560 800B6960 904B0003 */ lbu $t3, 3($v0) -/* 0B7564 800B6964 00006012 */ mflo $t4 -/* 0B7568 800B6968 01866821 */ addu $t5, $t4, $a2 -/* 0B756C 800B696C 00AD2821 */ addu $a1, $a1, $t5 -/* 0B7570 800B6970 01C70019 */ multu $t6, $a3 -/* 0B7574 800B6974 00007812 */ mflo $t7 -/* 0B7578 800B6978 01E6C021 */ addu $t8, $t7, $a2 -/* 0B757C 800B697C 00B82821 */ addu $a1, $a1, $t8 -/* 0B7580 800B6980 03270019 */ multu $t9, $a3 -/* 0B7584 800B6984 24A50001 */ addiu $a1, $a1, 1 -/* 0B7588 800B6988 00004812 */ mflo $t1 -/* 0B758C 800B698C 01265021 */ addu $t2, $t1, $a2 -/* 0B7590 800B6990 00AA2821 */ addu $a1, $a1, $t2 -/* 0B7594 800B6994 01670019 */ multu $t3, $a3 -/* 0B7598 800B6998 24A50002 */ addiu $a1, $a1, 2 -/* 0B759C 800B699C 00006012 */ mflo $t4 -/* 0B75A0 800B69A0 01866821 */ addu $t5, $t4, $a2 -/* 0B75A4 800B69A4 00AD2821 */ addu $a1, $a1, $t5 -/* 0B75A8 800B69A8 24C60004 */ addiu $a2, $a2, 4 -/* 0B75AC 800B69AC 14C4FFE7 */ bne $a2, $a0, .L800B694C -/* 0B75B0 800B69B0 24A50003 */ addiu $a1, $a1, 3 -/* 0B75B4 800B69B4 03E00008 */ jr $ra -/* 0B75B8 800B69B8 30A200FF */ andi $v0, $a1, 0xff diff --git a/include/PR/abi.h b/include/PR/abi.h index aea3437ab..25cbf9f1c 100644 --- a/include/PR/abi.h +++ b/include/PR/abi.h @@ -819,6 +819,11 @@ typedef short ENVMIX_STATE[40]; _a->words.w1 = _SHIFTL(i, 16, 16) | _SHIFTL(o, 0, 16); \ } +/* + * See aEnvMixer for more info. + */ +#define aEnvSetup1Alt(pkt,initialVolReverb,rampReverbL,rampReverbR,rampLeft,rampRight) { Acmd *_a = (Acmd *)pkt; _a->words.w0 = (_SHIFTL(A_ENVSETUP1, 24, 8) | _SHIFTL(initialVolReverb, 16, 8) | (_SHIFTL(rampReverbL, 8, 8)) | _SHIFTL(rampReverbR, 0, 8)); _a->words.w1 = _SHIFTL(rampLeft, 16, 16) | _SHIFTL(rampRight, 0, 16); } + /* * See aEnvMixer for more info. */ diff --git a/permuter_settings.toml b/permuter_settings.toml index 96202e62e..c07b36170 100644 --- a/permuter_settings.toml +++ b/permuter_settings.toml @@ -22,6 +22,7 @@ compiler_type = "ido" "_SHIFT[LR]" = "void" "ALIGN.*" = "int" "aClearBuffer" = "void" +"aEnvSetup1Alt" = "void" "aEnvSetup1" = "void" "aEnvSetup2" = "void" "aEnvMixer" = "void" diff --git a/src/audio/external.c b/src/audio/external.c index ecd9f8482..34f83e646 100644 --- a/src/audio/external.c +++ b/src/audio/external.c @@ -227,16 +227,16 @@ s8 func_800C15D0(u8 bank, u8 soundId, u8 channel) { return var_a0; } -// This is likely functionally equivallent. -#ifdef NON_MATCHING -// https://decomp.me/scratch/99CQl s8 func_800C16E8(f32 arg0, f32 arg1, u8 cameraId) { f32 var_f0; f32 var_f14; + f32 new_var; + f32 *new_var2; f32 var_f16; f32 var_f18; f32 var_f20; f32 var_f2; + new_var2 = &var_f0; if (D_800EA1C0 == 0) { if (D_800EA0F4 != 0) { @@ -245,9 +245,9 @@ s8 func_800C16E8(f32 arg0, f32 arg1, u8 cameraId) { var_f16 = 10.0f; var_f18 = 2.5f; } else { - var_f2 = 100.0f; + var_f0 = 100.0f; + var_f2 = *new_var2; var_f14 = 200.0f; - if (1) {} var_f16 = 5.0f; var_f18 = 3.3333333f; } @@ -256,16 +256,17 @@ s8 func_800C16E8(f32 arg0, f32 arg1, u8 cameraId) { if (var_f2 < var_f20) { var_f20 = var_f2; } - var_f0 = (arg1 < 0.0f) ? -arg1 : arg1; - if (var_f2 < var_f0) { + new_var = arg0; + var_f0 = (arg1 < 0.0f) ? -arg1 : arg1; + if (var_f2 < (var_f0 = *new_var2)) { var_f0 = var_f2; } - if ((arg0 == 0.0f) && (arg1 == 0.0f)) { + if ((new_var == 0.0f) && (arg1 == 0.0f)) { var_f2 = 0.5f; - } else if ((arg0 >= 0.0f) && (var_f0 <= var_f20)) { + } else if ((new_var >= 0.0f) && (var_f0 <= var_f20)) { var_f2 = 1.0f - ((var_f14 - var_f20) / (var_f16 * (var_f14 - var_f0))); - } else if ((arg0 < 0.0f) && (var_f0 <= var_f20)) { + } else if ((new_var < 0.0f) && (var_f0 <= var_f20)) { var_f2 = (var_f14 - var_f20) / (var_f16 * (var_f14 - var_f0)); } else { var_f2 = (arg0 / (var_f18 * var_f0)) + 0.5f; @@ -280,9 +281,6 @@ s8 func_800C16E8(f32 arg0, f32 arg1, u8 cameraId) { } return (cameraId & 1) * 0x7F; } -#else -GLOBAL_ASM("asm/non_matchings/audio/external/func_800C16E8.s") -#endif f32 func_800C1934(u8 bank, u8 soundId) { f32 phi_f2; @@ -341,8 +339,8 @@ void func_800C19D0(u8 arg0, u8 arg1, u8 arg2) { struct Unk_8018EFD8* func_800C1C88(u8 arg0, Vec3f position, f32* velocity, f32* arg3, u8 arg4, u32 soundBits) { struct Unk_8018EFD8* temp_a1; - struct Unk_8018EFD8* temp_v1; - u8 temp_t7; + UNUSED struct Unk_8018EFD8* temp_v1; + UNUSED u8 temp_t7; u8 why1; if (D_8018EFD8[D_8018FB90].next != 0xFF) { @@ -1104,6 +1102,7 @@ void func_800C3724(void) { D_801930D0[seqPlayerIndex].unk_040--; continue; } + if (gSequencePlayers[seqPlayerIndex].enabled != 0) { continue; } @@ -1294,7 +1293,7 @@ void func_800C4398(void) { u8 soundIndex; u8 var_a3; struct Sound* var_a2; - s32 pad; + UNUSED s32 pad; u8 var_t2; u32 var_t3; @@ -1350,7 +1349,7 @@ void func_800C4398(void) { } if ((sSoundBanks[bank][sSoundBankFreeListFront[bank]].next != 0xFF) && (soundIndex != 0)) { var_t2 = soundIndex = sSoundBankFreeListFront[bank]; - sSoundBanks[bank][soundIndex].unk00 = &(*var_a2->position)[0]; + sSoundBanks[bank][soundIndex].unk00 = (Vec3f*)&(*var_a2->position)[0]; sSoundBanks[bank][soundIndex].unk04 = &(*var_a2->position)[1]; sSoundBanks[bank][soundIndex].unk08 = &(*var_a2->position)[2]; sSoundBanks[bank][soundIndex].cameraId = var_a2->cameraId; @@ -1395,159 +1394,163 @@ void delete_sound_from_bank(u8 bankId, u8 soundId) { temp->soundStatus = 0; } -// Guessing this is `select_current_sounds`? -#ifdef NON_MATCHING -// https://decomp.me/scratch/cqBii -struct why { +struct ActiveSfx { u32 priority; u8 soundIndex; }; +#define AUDIO_MK_CMD(b0,b1,b2,b3) ((((b0) & 0xFF) << 0x18) | (((b1) & 0xFF) << 0x10) | (((b2) & 0xFF) << 0x8) | (((b3) & 0xFF) << 0)) void func_800C4888(u8 bankId) { - u8 i; u8 j; + u8 numChannels; + u8 chosenEntryIndex; + u8 i; u8 k; - u8 latestSoundIndex; - u8 var_s2; - u8 var_v1; + u8 numChosenSfx; + u8 needNewSfx; u8 soundIndex; - u8 var_t1; - u8 someTemp; + u8 requestedPriority; + u8 temp_t8; f32 var_f0; - s32 requestedPriority; - struct why sp7C[8]; - s32 temp_t8; - struct SoundCharacteristics* temp_t2; + struct ActiveSfx* activeSfx; + struct ActiveSfx chosenSfx[8]; + struct SoundCharacteristics* entry; - var_s2 = 0; + numChosenSfx = 0; for (i = 0; i < 8; i++) { - sp7C[i].priority = 0x7FFFFFFF; - sp7C[i].soundIndex = 0xFF; + chosenSfx[i].priority = 0x7FFFFFFF; + chosenSfx[i].soundIndex = 0xFF; } - latestSoundIndex = 0; + soundIndex = sSoundBanks[bankId][0].next; + k = 0; while (soundIndex != 0xFF) { - temp_t2 = &sSoundBanks[bankId][soundIndex]; - if ((temp_t2->soundStatus == 1) && ((temp_t2->soundBits & 0x08000000) == 0x08000000)) { - temp_t2->freshness -= 1; + if ((sSoundBanks[bankId][soundIndex].soundStatus == 1) && ((sSoundBanks[bankId][soundIndex].soundBits & 0x08000000) == 0x08000000)) { + sSoundBanks[bankId][soundIndex].freshness -= 1; } - if (temp_t2->freshness == 0) { + + if (sSoundBanks[bankId][soundIndex].freshness == 0) { delete_sound_from_bank(bankId, soundIndex); - } else if (temp_t2->soundStatus != 0) { - if (D_800EA1C8 == *temp_t2->unk00) { - temp_t2->distance = 0.0f; + } else if (sSoundBanks[bankId][soundIndex].soundStatus != 0) { + entry = &sSoundBanks[bankId][soundIndex]; + + if (&D_800EA1C8 == entry[0].unk00) { + entry->distance = 0.0f; } else { - temp_t2->distance = ((*temp_t2->unk00)[0] * (*temp_t2->unk00)[0]) + (*temp_t2->unk08 * *temp_t2->unk08); + entry->distance = + (*entry->unk00[0] * *entry->unk00[0]) + (*entry->unk08 * *entry->unk08); } - requestedPriority = ((u32) (temp_t2->soundBits & 0xFF00) >> 8) & 0xFF; - if (temp_t2->soundBits & 0x100000) { - temp_t2->priority = - (0xFF - requestedPriority) * (0xFF - requestedPriority) * 0x5A4; // 0x5a4 = 1444 = 38 * 38 + requestedPriority = (((u32) (entry->soundBits & 0xFF00)) >> 8); + if (entry->soundBits & 0x100000) { + entry->priority = ((0xFF - requestedPriority) * (0xFF - requestedPriority)) * (38 * 38); } else { - temp_t2->priority = (u32) temp_t2->distance + ((0xFF - requestedPriority) * (0xFF - requestedPriority) * - 0x5A4); // 0x5a4 = 1444 = 38 * 38 - if (*temp_t2->unk08 > 0.0f) { - temp_t2->priority += (s32) (*temp_t2->unk08 * 6.0f); + entry->priority = + ((u32) entry->distance) + (((0xFF - requestedPriority) * (0xFF - requestedPriority)) * (38 * 38)); + + if ((*entry->unk08) > 0.0f) { + entry->priority += (s32) ((*entry->unk08) * 6.0f); } } - temp_t8 = ((u32) (temp_t2->soundBits & 0x30000) >> 0x10) & 0xFF; - if (temp_t8 != 0) { - var_f0 = 4000000.0f / (f32) (temp_t8 * temp_t8); + temp_t8 = (((u32) (entry->soundBits & 0x30000)) >> 0x10); + if (temp_t8) { + var_f0 = (2000.0f * 2000.0f) / ((f32) (temp_t8 * temp_t8)); } else { - var_f0 = 1e10f; + var_f0 = 1e5f * 1e5f; } - if (var_f0 < temp_t2->distance) { - if (temp_t2->soundStatus == 4) { - func_800CBBE8((temp_t2->unk2C << 8) | 0x06020000, 0); - if (temp_t2->soundBits & 0x08000000) { + if (var_f0 < entry->distance) { + if (entry->soundStatus == 4) { + func_800CBBE8(AUDIO_MK_CMD(0x06, 2, entry->unk2C, 0), 0); + if (entry->soundBits & 0x08000000) { delete_sound_from_bank(bankId, soundIndex); - soundIndex = latestSoundIndex; + soundIndex = k; } } } else { - var_t1 = D_800EA188[D_800EA1C0][bankId]; - for (i = 0; i < var_t1; i++) { - if (sp7C[i].priority >= temp_t2->priority) { - if (var_s2 < var_t1) { - var_s2++; + numChannels = D_800EA188[D_800EA1C0][bankId]; + for (i = 0; i < numChannels; i++) { + if (chosenSfx[i].priority >= entry->priority) { + if (numChosenSfx < D_800EA188[D_800EA1C0][bankId]) { + numChosenSfx++; } - for (j = var_t1 - 1; j > i; j--) { - sp7C[j].priority = sp7C[j - 1].priority; - sp7C[j].soundIndex = sp7C[j - 1].soundIndex; + for (j = numChannels - 1; j > i; j--) { + chosenSfx[j].priority = chosenSfx[j - 1].priority; + chosenSfx[j].soundIndex = chosenSfx[j - 1].soundIndex; } - sp7C[i].priority = temp_t2->priority; - sp7C[i].soundIndex = soundIndex; - i = var_t1; + + chosenSfx[i].priority = entry->priority; + chosenSfx[i].soundIndex = soundIndex; + i = numChannels; } } } - latestSoundIndex = soundIndex; + k = soundIndex; } - soundIndex = sSoundBanks[bankId][latestSoundIndex].next; + soundIndex = sSoundBanks[bankId][k].next; } - var_t1 = D_800EA188[D_800EA1C0][bankId]; - for (i = 0; i < var_s2; i++) { - someTemp = sSoundBanks[bankId][sp7C[i].soundIndex].soundStatus; - if (someTemp == 1) { - sSoundBanks[bankId][sp7C[i].soundIndex].soundStatus = 2; - } else if (someTemp == 4) { - sSoundBanks[bankId][sp7C[i].soundIndex].soundStatus = 3; + + numChannels = D_800EA188[D_800EA1C0][bankId]; + for (i = 0; i < numChosenSfx; i++) { + if (sSoundBanks[bankId][chosenSfx[i].soundIndex].soundStatus == 1) { + sSoundBanks[bankId][chosenSfx[i].soundIndex].soundStatus = 2; + } else if (sSoundBanks[bankId][chosenSfx[i].soundIndex].soundStatus == 4) { + sSoundBanks[bankId][chosenSfx[i].soundIndex].soundStatus = 3; } } - for (i = 0; i < var_t1; i++) { - var_v1 = 0; - soundIndex = D_80192AB8[bankId][i][4]; - if (soundIndex == 0xFF) { - var_v1 = 1; + + for (i = 0; i < numChannels; i++) { + needNewSfx = false; + activeSfx = (struct ActiveSfx*)&D_80192AB8[bankId][i]; + + if (activeSfx->soundIndex == 0xFF) { + needNewSfx = true; } else { - temp_t2 = &sSoundBanks[bankId][soundIndex]; - if (temp_t2->soundStatus == 4) { - if (temp_t2->soundBits & 0x08000000) { - delete_sound_from_bank(bankId, soundIndex); - var_v1 = 1; + entry = &sSoundBanks[bankId][activeSfx->soundIndex]; + if (entry->soundStatus == 4) { + if (entry->soundBits & 0x08000000) { + delete_sound_from_bank(bankId, activeSfx->soundIndex); } else { - temp_t2->soundStatus = 1; - var_v1 = 1; + entry->soundStatus = 1; } - } else if (temp_t2->soundStatus == 0) { - D_80192AB8[bankId][i][4] = 0xFF; - var_v1 = 1; + needNewSfx = true; + } else if (entry->soundStatus == 0) { + activeSfx->soundIndex = 0xFF; + needNewSfx = true; } else { - for (j = 0; j < var_t1; j++) { - if (soundIndex == sp7C[j].soundIndex) { - sp7C[j].soundIndex = 0xFF; - j = var_t1; + for (j = 0; j < numChannels; j++) { + if (activeSfx->soundIndex == chosenSfx[j].soundIndex) { + chosenSfx[j].soundIndex = 0xFF; + j = numChannels; } } + numChosenSfx--; } } - var_s2--; - if (var_v1 == 1) { - for (j = 0; j < var_t1; j++) { - soundIndex = sp7C[j].soundIndex; - if ((soundIndex != 0xFF) && (sSoundBanks[bankId][soundIndex].soundStatus != 3)) { - for (k = 0; k < var_t1; k++) { - if (soundIndex == D_80192AB8[bankId][k][4]) { - var_v1 = 0; - k = var_t1; + + if (needNewSfx == true) { + for (j = 0; j < numChannels; j++) { + chosenEntryIndex = chosenSfx[j].soundIndex; + if ((chosenEntryIndex != 0xFF) && (sSoundBanks[bankId][chosenEntryIndex].soundStatus != 3)) { + for (k = 0; k < numChannels; k++) { + if (chosenEntryIndex == ((struct ActiveSfx*)(D_80192AB8[bankId]))[k].soundIndex) { + needNewSfx = false; + k = numChannels; } } - if (var_v1 == 1) { - D_80192AB8[bankId][i][4] = soundIndex; - sp7C[j].soundIndex = 0xFF; - j = var_t1 + 1; - var_s2--; + + if (needNewSfx == true) { + activeSfx->soundIndex = chosenEntryIndex; + chosenSfx[j].soundIndex = 0xFF; + j = numChannels + 1; + numChosenSfx--; } } } - if (j == var_t1) { - D_80192AB8[bankId][i][4] = 0xFF; + + if (j == numChannels) { + activeSfx->soundIndex = 0xFF; } } } } -#else -GLOBAL_ASM("asm/non_matchings/audio/external/func_800C4888.s") -#endif void func_800C4FE4(u8 bankId) { u8 soundId; @@ -3444,7 +3447,7 @@ void func_800CAC08() { } } -void func_800CAC60(UNUSED s32 arg0) { +void func_800CAC60(UNUSED u8 arg0) { if ((D_800EA108 == 0) && (D_800EA0F0 == 0)) { play_sound(SOUND_ACTION_EXPLOSION_2, &D_800EA1C8, 0U, &D_800EA1D4, &D_800EA1D4, &D_800EA1DC); if ((D_800EA10C[0] != 1) && (D_800EA10C[1] != 1)) { diff --git a/src/audio/external.h b/src/audio/external.h index 2c7409357..2e827d1a8 100644 --- a/src/audio/external.h +++ b/src/audio/external.h @@ -311,7 +311,7 @@ void func_800CA984(u8); void func_800CAACC(u8); void func_800CAB4C(u8); void func_800CAC08(void); -void func_800CAC60(s32); +void func_800CAC60(u8); void func_800CAD40(s32); void func_800CAEC4(u8, f32); void func_800CAFC0(u8); diff --git a/src/audio/synthesis.c b/src/audio/synthesis.c index d8f5c68b8..bfb2452ae 100644 --- a/src/audio/synthesis.c +++ b/src/audio/synthesis.c @@ -327,54 +327,51 @@ Acmd* synthesis_do_one_audio_update(s16* aiBuf, s32 bufLen, Acmd* acmd, s32 upda return acmd; } -#ifdef NON_MATCHING -// generated by m2c commit beb457dabfc7a01ec6540a5404a6a05097a13602 on Nov-01-2023 Acmd* synthesis_process_note(s32 noteIndex, struct NoteSubEu* noteSubEu, struct NoteSynthesisState* synthesisState, UNUSED s16* aiBuf, s32 inBuf, Acmd* cmd, s32 updateIndex) { - UNUSED s32 pad[4]; - struct AudioBankSample* audioBookSample; - s16* curLoadedBook; - struct AdpcmLoop* loopInfo; - s32 noteFinished; - s32 restart; - s32 flags; - u16 resamplingRateFixedPoint; + s32 pad[3]; + struct AudioBankSample *audioBookSample; // sp130 + struct AdpcmLoop *loopInfo; // sp12C + s16 *curLoadedBook; // sp128 + s32 pad4; s32 nSamplesToLoad; - - s32 spFC; - UNUSED s32 pad2[2]; - + s32 noteFinished; // sp11C + s32 restart; // sp118 + s32 flags; + u16 resamplingRateFixedPoint; // sp112 + s32 pad2[1]; + u16 headsetPanRight; s32 loopInfo_2; - u8* sampleAddr; s32 a1; - - s32 samplesLenAdjusted; + s32 spFC; // spFC + s32 pad3; s32 nAdpcmSamplesProcessed; - s32 endPos; - s32 nSamplesToProcess; - - UNUSED s32 pad3; - - s32 s3; - s32 leftRight; s32 s4; + u8 *sampleAddr; // spEC + s32 s3; + s32 samplesLenAdjusted; // spE4 + s32 leftRight; + s32 endPos; // spDC + s32 nSamplesToProcess; // spD8 u32 samplesLenFixedPoint; s32 var_s6; s32 nSamplesInThisIteration; u32 var_t2; - u8* var_a0_2; - + u8 *var_a0_2; s32 s5Aligned; s32 temp_t6; - s32 nParts; - s32 curPart; s32 aligned; - UNUSED s32 pad4; - s32 resampledTempLen; /* compiler-managed */ + struct AudioBankSample *bankSample; + s32 nParts; // spB0 + s32 curPart; // spAC + s32 pad5; + s16 addr; + s32 resampledTempLen; // spA0 u16 noteSamplesDmemAddrBeforeResampling; - UNUSED s32 pad6[1]; - struct Note* note; - u16 addr; + s32 samplesRemaining; + s32 s1; + u32 nEntries; + struct Note *note; curLoadedBook = NULL; note = &gNotes[noteIndex]; @@ -392,9 +389,9 @@ Acmd* synthesis_process_note(s32 noteIndex, struct NoteSubEu* noteSubEu, struct resamplingRateFixedPoint = noteSubEu->resamplingRateFixedPoint; nParts = noteSubEu->hasTwoAdpcmParts + 1; - samplesLenFixedPoint = (resamplingRateFixedPoint * inBuf * 2) + synthesisState->samplePosFrac; - nSamplesToLoad = (samplesLenFixedPoint >> 0x10); - synthesisState->samplePosFrac = samplesLenFixedPoint & 0xFFFF; // m2c didn't have & 0xFFFF + samplesLenFixedPoint = ((resamplingRateFixedPoint * inBuf) * 2) + synthesisState->samplePosFrac; + nSamplesToLoad = samplesLenFixedPoint >> 0x10; + synthesisState->samplePosFrac = samplesLenFixedPoint & 0xFFFF; if (noteSubEu->isSyntheticWave) { cmd = load_wave_samples(cmd, noteSubEu, synthesisState, nSamplesToLoad); @@ -405,36 +402,30 @@ Acmd* synthesis_process_note(s32 noteIndex, struct NoteSubEu* noteSubEu, struct audioBookSample = noteSubEu->sound.audioBankSound->sample; loopInfo = audioBookSample->loop; endPos = loopInfo->end; - sampleAddr = audioBookSample->sampleAddr; // book? + sampleAddr = audioBookSample->sampleAddr; resampledTempLen = 0; for (curPart = 0; curPart < nParts; curPart++) { + bankSample = audioBookSample; nAdpcmSamplesProcessed = 0; s4 = 0; if (nParts == 1) { samplesLenAdjusted = nSamplesToLoad; } else if (nSamplesToLoad & 1) { - samplesLenAdjusted = (nSamplesToLoad & ~1) + (curPart * 2); + samplesLenAdjusted = (nSamplesToLoad & (~1)) + (curPart * 2); } else { samplesLenAdjusted = nSamplesToLoad; } - // sm64 also has if (audioBookSample->codec == CODEC_A) { - if (curLoadedBook != (*audioBookSample->book).book) { - u32 nEntries; - curLoadedBook = audioBookSample->book->book; // or just one book? - nEntries = 16 * audioBookSample->book->order * audioBookSample->book->npredictors; - aLoadADPCM(cmd++, nEntries, VIRTUAL_TO_PHYSICAL2(noteSubEu->bookOffset + curLoadedBook)); - // noteSubEu here unsure but seems better? + if (curLoadedBook != (*bankSample->book).book) { + curLoadedBook = bankSample->book->book; + nEntries = (16 * bankSample->book->order) * bankSample->book->npredictors; + aLoadADPCM(cmd++, nEntries, VIRTUAL_TO_PHYSICAL2(noteSubEu->bookOffset+curLoadedBook)); } if (noteSubEu->bookOffset != 0) { curLoadedBook = &gUnknownData_800F6290[0]; } while (nAdpcmSamplesProcessed != samplesLenAdjusted) { - - s32 samplesRemaining; - s32 s1; - noteFinished = false; restart = false; @@ -465,23 +456,20 @@ Acmd* synthesis_process_note(s32 noteIndex, struct NoteSubEu* noteSubEu, struct noteFinished = 1; } } - // var_t2 = 0; // unsure + if (loopInfo_2 != 0) { temp_t6 = ((synthesisState->samplePosInt - s3) + 16) / 16; // diff from sm64 sh - if (audioBookSample->loaded == 0x81) { // sm64 has audioBookSample->medium + if (bankSample->loaded == 0x81) { var_a0_2 = (temp_t6 * 9) + sampleAddr; } else { var_a0_2 = dma_sample_data((uintptr_t) (temp_t6 * 9) + sampleAddr, ALIGN(((loopInfo_2 * 9) + 16), 4), flags, &synthesisState->sampleDmaIndex); - // unsure flags? } - var_t2 = ((uintptr_t) var_a0_2 & 0xF); - + var_t2 = ((uintptr_t) var_a0_2) & 0xF; aligned = ALIGN(((loopInfo_2 * 9) + 16), 4); - addr = (0x540 - aligned) & 0xFFFF; // DMEM_ADDR_COMPRESSED_ADPCM_DATA - + addr = (0x540 - aligned); // DMEM_ADDR_COMPRESSED_ADPCM_DATA aLoadBuffer(cmd++, VIRTUAL_TO_PHYSICAL2(var_a0_2 - var_t2), addr, aligned); } else { s1 = 0; // ? @@ -489,7 +477,7 @@ Acmd* synthesis_process_note(s32 noteIndex, struct NoteSubEu* noteSubEu, struct } if (synthesisState->restart != false) { - aSetLoop(cmd++, VIRTUAL_TO_PHYSICAL2(audioBookSample->loop->state)); + aSetLoop(cmd++, VIRTUAL_TO_PHYSICAL2(bankSample->loop->state)); flags = A_LOOP; synthesisState->restart = false; @@ -499,21 +487,15 @@ Acmd* synthesis_process_note(s32 noteIndex, struct NoteSubEu* noteSubEu, struct if (nAdpcmSamplesProcessed == 0) { aligned = ALIGN(((loopInfo_2 * 9) + 16), 4); - addr = (0x540 - aligned) & 0xFFFF; - aSetBuffer(cmd++, 0, addr + var_t2, 0x1A0, - s1 * 2); // unsure - // s1 or s3 here? + addr = (0x540 - aligned); + aSetBuffer(cmd++, 0, addr + var_t2, 0x1A0, s1 * 2); aADPCMdec(cmd++, flags, VIRTUAL_TO_PHYSICAL2(synthesisState->synthesisBuffers->adpcmdecState)); spFC = s3 * 2; - } else { - aligned = ALIGN(((loopInfo_2 * 9) + 16), 4); - addr = (0x540 - aligned) & 0xFFFF; - aSetBuffer(cmd++, 0, addr + var_t2, 0x1A0 + s5Aligned, s1 * 2); // unsure - + addr = (0x540 - aligned); + aSetBuffer(cmd++, 0, addr + var_t2, 0x1A0 + s5Aligned, s1 * 2); aADPCMdec(cmd++, flags, VIRTUAL_TO_PHYSICAL2(synthesisState->synthesisBuffers->adpcmdecState)); - aDMEMMove(cmd++, 0x1A0 + s5Aligned + (s3 * 2), 0x1A0 + s4, nSamplesInThisIteration * 2); } @@ -524,31 +506,32 @@ Acmd* synthesis_process_note(s32 noteIndex, struct NoteSubEu* noteSubEu, struct s4 = (s1 * 2) + 0x20; break; case 2: - s4 += nSamplesInThisIteration * 2; + s4 = (nSamplesInThisIteration * 2) + s4; break; default: if (s4 != 0) { - s4 += nSamplesInThisIteration * 2; + s4 = (nSamplesInThisIteration * 2) + s4; } else { s4 = (s3 + nSamplesInThisIteration) * 2; } break; } - flags = 0; + flags = 0; if (noteFinished) { aClearBuffer(cmd++, 0x1A0 + s4, (samplesLenAdjusted - nAdpcmSamplesProcessed) * 2); - noteSubEu->finished = 1; // sm64 says = 1 + noteSubEu->finished = 1; note->noteSubEu.finished = 1; - + note->noteSubEu.enabled = 0; func_800B6FB4(updateIndex, noteIndex); + break; + } + + if (restart) { + synthesisState->restart = true; + synthesisState->samplePosInt = loopInfo->start; } else { - if (restart) { - synthesisState->restart = true; - synthesisState->samplePosInt = loopInfo->start; - } else { - synthesisState->samplePosInt += nSamplesToProcess; - } + synthesisState->samplePosInt += nSamplesToProcess; } } @@ -572,7 +555,6 @@ Acmd* synthesis_process_note(s32 noteIndex, struct NoteSubEu* noteSubEu, struct resampledTempLen + DMEM_ADDR_RESAMPLED); break; } - break; } if (noteSubEu->finished != false) { break; @@ -585,27 +567,21 @@ Acmd* synthesis_process_note(s32 noteIndex, struct NoteSubEu* noteSubEu, struct noteSubEu->needsInit = false; } - cmd = final_resample(cmd, synthesisState, inBuf * 2, resamplingRateFixedPoint, noteSamplesDmemAddrBeforeResampling, - flags); - - if ((noteSubEu->headsetPanRight) || (synthesisState->prevHeadsetPanRight)) { - leftRight = 1; // According to m2c this is a new var. Perhaps flags? - } else if ((noteSubEu->headsetPanLeft) || (synthesisState->prevHeadsetPanLeft)) { + cmd = final_resample(cmd, synthesisState, inBuf * 2, resamplingRateFixedPoint, noteSamplesDmemAddrBeforeResampling, flags); + headsetPanRight = noteSubEu->headsetPanRight; + if ((headsetPanRight & 0xFFFF) || synthesisState->prevHeadsetPanRight) { + leftRight = 1; + } else if (noteSubEu->headsetPanLeft || synthesisState->prevHeadsetPanLeft) { leftRight = 2; } else { leftRight = 0; } cmd = func_800B86A0(cmd, noteSubEu, synthesisState, inBuf, 0, leftRight, flags); - if (noteSubEu->usesHeadsetPanEffects) { - // synthesisState->restart = 1; cmd = note_apply_headset_pan_effects(cmd, noteSubEu, synthesisState, inBuf * 2, flags, leftRight); } return cmd; } -#else -GLOBAL_ASM("asm/non_matchings/audio/synthesis/synthesis_process_note.s") -#endif Acmd* load_wave_samples(Acmd* acmd, struct NoteSubEu* noteSubEu, struct NoteSynthesisState* synthesisState, s32 nSamplesToLoad) { @@ -631,67 +607,81 @@ Acmd* final_resample(Acmd* acmd, struct NoteSynthesisState* synthesisState, s32 return acmd; } -#ifdef NON_MATCHING -// I wish I knew what was up with this function -// It doesn't quite match either the EU or Shindou versions -// of process_envelope. -// What's here appears to have the right "shape" based on -// the M2C output, but beyond that I can't really tell what's -// going on Acmd* func_800B86A0(Acmd* cmd, struct NoteSubEu* note, struct NoteSynthesisState* synthesisState, s32 nSamples, u16 inBuf, s32 headsetPanSettings, UNUSED u32 flags) { + UNUSED s32 pad[2]; u16 sourceRight; u16 sourceLeft; u16 targetLeft; u16 targetRight; - s32 rampLeft; - s32 rampRight; - UNUSED s32 sourceReverbVol; - UNUSED s16 rampReverb; - UNUSED s32 reverbVolDiff = 0; + s16 rampLeft; + s16 rampRight; sourceLeft = synthesisState->curVolLeft; sourceRight = synthesisState->curVolRight; - targetLeft = note->targetVolLeft; - targetRight = note->targetVolRight; - targetLeft <<= 4; - targetRight <<= 4; + + targetLeft = (note->targetVolLeft) << 4; + targetRight = (note->targetVolRight) << 4; - rampLeft = (targetLeft - sourceLeft) / (nSamples >> 3); - rampRight = (targetRight - sourceRight) / (nSamples >> 3); - synthesisState->curVolLeft = sourceLeft + rampLeft * (nSamples >> 3); - synthesisState->curVolRight = sourceRight + rampRight * (nSamples >> 3); + rampLeft = ((targetLeft - sourceLeft) / (nSamples >> 3)); + rampRight = ((targetRight - sourceRight) / (nSamples >> 3)); + targetLeft = sourceLeft + rampLeft * (nSamples >> 3); + targetRight = sourceRight + rampRight * (nSamples >> 3); + + synthesisState->curVolLeft = targetLeft; + synthesisState->curVolRight = targetRight; if (note->usesHeadsetPanEffects) { aClearBuffer(cmd++, DMEM_ADDR_NOTE_PAN_TEMP, DEFAULT_LEN_1CH); - aEnvSetup1(cmd++, note->reverbVol, (((sourceLeft & 0xFF) << 8) | (sourceRight & 0xFF)), rampRight, rampLeft); + aEnvSetup1Alt(cmd++, note->reverbVol, sourceLeft, sourceRight, (u32)rampLeft, (u32)rampRight); aEnvSetup2(cmd++, sourceLeft, sourceRight); - switch (headsetPanSettings) { + switch (headsetPanSettings) {; case 1: - aEnvMixer(cmd++, inBuf, nSamples, 0, note->stereoStrongRight, note->stereoStrongLeft, - DMEM_ADDR_NOTE_PAN_TEMP, DMEM_ADDR_RIGHT_CH, DMEM_ADDR_WET_LEFT_CH, DMEM_ADDR_WET_RIGHT_CH); + aEnvMixer(cmd++, + inBuf, nSamples, + 0, + note->stereoStrongRight, note->stereoStrongLeft, + DMEM_ADDR_NOTE_PAN_TEMP, + DMEM_ADDR_RIGHT_CH, + DMEM_ADDR_WET_LEFT_CH, + DMEM_ADDR_WET_RIGHT_CH); break; case 2: - aEnvMixer(cmd++, inBuf, nSamples, 0, note->stereoStrongRight, note->stereoStrongLeft, DMEM_ADDR_LEFT_CH, - DMEM_ADDR_NOTE_PAN_TEMP, DMEM_ADDR_WET_LEFT_CH, DMEM_ADDR_WET_RIGHT_CH); + aEnvMixer(cmd++, + inBuf, nSamples, + 0, + note->stereoStrongRight, note->stereoStrongLeft, + DMEM_ADDR_LEFT_CH, + DMEM_ADDR_NOTE_PAN_TEMP, + DMEM_ADDR_WET_LEFT_CH, + DMEM_ADDR_WET_RIGHT_CH); break; default: - aEnvMixer(cmd++, inBuf, nSamples, 0, note->stereoStrongRight, note->stereoStrongLeft, DMEM_ADDR_LEFT_CH, - DMEM_ADDR_RIGHT_CH, DMEM_ADDR_WET_LEFT_CH, DMEM_ADDR_WET_RIGHT_CH); + aEnvMixer(cmd++, + inBuf, nSamples, + 0, + note->stereoStrongRight, note->stereoStrongLeft, + DMEM_ADDR_LEFT_CH, + DMEM_ADDR_RIGHT_CH, + DMEM_ADDR_WET_LEFT_CH, + DMEM_ADDR_WET_RIGHT_CH); break; } } else { - aEnvSetup1(cmd++, note->reverbVol, (((sourceLeft & 0xFF) << 8) | (sourceRight & 0xFF)), rampLeft, rampRight); + aEnvSetup1Alt(cmd++, note->reverbVol, sourceLeft, sourceRight, (u32)rampLeft, (u32)rampRight); aEnvSetup2(cmd++, sourceLeft, sourceRight); - aEnvMixer(cmd++, inBuf, nSamples, 0, note->stereoStrongRight, note->stereoStrongLeft, DMEM_ADDR_LEFT_CH, - DMEM_ADDR_RIGHT_CH, DMEM_ADDR_WET_LEFT_CH, DMEM_ADDR_WET_RIGHT_CH); + aEnvMixer(cmd++, + inBuf, nSamples, + 0, + note->stereoStrongRight, note->stereoStrongLeft, + DMEM_ADDR_LEFT_CH, + DMEM_ADDR_RIGHT_CH, + DMEM_ADDR_WET_LEFT_CH, + DMEM_ADDR_WET_RIGHT_CH); } return cmd; } -#else -GLOBAL_ASM("asm/non_matchings/audio/synthesis/func_800B86A0.s") -#endif Acmd* note_apply_headset_pan_effects(Acmd* acmd, struct NoteSubEu* noteSubEu, struct NoteSynthesisState* note, s32 bufLen, s32 flags, s32 leftRight) { diff --git a/src/code_80057C60.c b/src/code_80057C60.c index 659b2257f..e295de381 100644 --- a/src/code_80057C60.c +++ b/src/code_80057C60.c @@ -3368,11 +3368,6 @@ void func_8005ED48(Player* player, s16 arg1, s32 arg2, UNUSED s8 arg3, UNUSED s8 } } -#ifdef NON_MATCHING -// Its close, there's some register allocation issue though -// Permuter hasn't found anything -// https://decomp.me/scratch/WjMqd - void func_8005F90C(Player* player, s16 arg1, s32 arg2, UNUSED s8 arg3, UNUSED s8 arg4) { s32 var_t1; u8 surfaceType; @@ -3386,12 +3381,12 @@ void func_8005F90C(Player* player, s16 arg1, s32 arg2, UNUSED s8 arg3, UNUSED s8 var_f2 = player->pos[1] - player->boundingBoxSize; var_f12 = player->pos[2]; var_t1 = 1; - surfaceType = player->tyres[BACK_LEFT].surfaceType; + surfaceType = player->tyres[BACK_LEFT].surfaceType & 0xFF; } else { var_f0 = player->pos[0]; var_f2 = player->pos[1] - player->boundingBoxSize; var_f12 = player->pos[2]; - surfaceType = player->tyres[BACK_RIGHT].surfaceType; + surfaceType = player->tyres[BACK_RIGHT].surfaceType & 0xFF; } switch (surfaceType) { case DIRT: @@ -3552,9 +3547,6 @@ void func_8005F90C(Player* player, s16 arg1, s32 arg2, UNUSED s8 arg3, UNUSED s8 break; } } -#else -GLOBAL_ASM("asm/non_matchings/code_80057C60/func_8005F90C.s") -#endif void func_80060504(Player* player, s16 arg1, s32 arg2, UNUSED s8 arg3, UNUSED s8 arg4) { UNUSED s32 thing1; @@ -5067,9 +5059,6 @@ void func_800658A0(Player* player, UNUSED s8 arg1, s16 arg2, s8 arg3) { } } -#ifdef NON_MATCHING -// Something about the handling of the prim/env colors is off, -// its causing a huge diff. Can't figure out what's up. void func_80065AB0(Player* player, UNUSED s8 arg1, s16 arg2, s8 arg3) { Vec3f spB4; Vec3s spAC; @@ -5122,13 +5111,7 @@ void func_80065AB0(Player* player, UNUSED s8 arg1, s16 arg2, s8 arg3) { gMatrixEffectCount += 1; } } -#else -GLOBAL_ASM("asm/non_matchings/code_80057C60/func_80065AB0.s") -#endif -#ifdef NON_MATCHING -// https://decomp.me/scratch/KEz08 -// Something is very wrong with the handling of prim/evn colors, but I can't figuer out what. void func_80065F0C(Player* player, UNUSED s8 arg1, s16 arg2, s8 arg3) { Vec3f spDC; Vec3s spD4; @@ -5136,10 +5119,9 @@ void func_80065F0C(Player* player, UNUSED s8 arg1, s16 arg2, s8 arg3) { s16 primGreen; s16 primBlue; s16 primAlpha; - u8 envRed; + s16 envRed; s16 envGreen; s16 envBlue; - if ((player->unk_258[10 + arg2].unk_01C == 1) && (player->unk_258[10 + arg2].unk_01E != 0)) { spDC[0] = player->unk_258[10 + arg2].unk_000[0]; spDC[1] = player->unk_258[10 + arg2].unk_000[1]; @@ -5147,33 +5129,23 @@ void func_80065F0C(Player* player, UNUSED s8 arg1, s16 arg2, s8 arg3) { spD4[0] = 0; spD4[1] = player->unk_048[arg3]; spD4[2] = 0; - func_800652D4(spDC, spD4, player->unk_258[10 + arg2].unk_00C * player->size); - if ((s32) player->unk_258[10 + arg2].unk_014 != 8) { - primRed = - ((D_800E47DC[player->unk_258[10 + arg2].unk_038] >> 0x10) & 0xFF) - player->unk_258[10 + arg2].unk_03A; - primGreen = - ((D_800E47DC[player->unk_258[10 + arg2].unk_038] >> 0x08) & 0xFF) - player->unk_258[10 + arg2].unk_03A; - primBlue = - ((D_800E47DC[player->unk_258[10 + arg2].unk_038] >> 0x00) & 0xFF) - player->unk_258[10 + arg2].unk_03A; - envRed = - ((D_800E480C[player->unk_258[10 + arg2].unk_038] >> 0x10) & 0xFF) - player->unk_258[10 + arg2].unk_03A; - envGreen = - ((D_800E480C[player->unk_258[10 + arg2].unk_038] >> 0x08) & 0xFF) - player->unk_258[10 + arg2].unk_03A; - envBlue = - ((D_800E480C[player->unk_258[10 + arg2].unk_038] >> 0x00) & 0xFF) - player->unk_258[10 + arg2].unk_03A; + func_800652D4(&spDC[0], &spD4[0], player->unk_258[10 + arg2].unk_00C * player->size); + if (((s32) player->unk_258[10 + arg2].unk_014) != 8) { + primRed = ((D_800E47DC[player->unk_258[10 + arg2].unk_038] >> 0x10) & 0xFF) - player->unk_258[10 + arg2].unk_03A; + primGreen = ((D_800E47DC[player->unk_258[10 + arg2].unk_038] >> 0x08) & 0xFF) - player->unk_258[10 + arg2].unk_03A; + primBlue = ((D_800E47DC[player->unk_258[10 + arg2].unk_038] >> 0x00) & 0xFF) - player->unk_258[10 + arg2].unk_03A; + envRed = ((D_800E480C[player->unk_258[10 + arg2].unk_038] >> 0x10) & 0xFF) - player->unk_258[10 + arg2].unk_03A; + envGreen = ((D_800E480C[player->unk_258[10 + arg2].unk_038] >> 0x08) & 0xFF) - player->unk_258[10 + arg2].unk_03A; + envBlue = ((D_800E480C[player->unk_258[10 + arg2].unk_038] >> 0x00) & 0xFF) - player->unk_258[10 + arg2].unk_03A; primAlpha = player->unk_258[10 + arg2].unk_03E; if (player->unk_258[10 + arg2].unk_040 == 0) { gSPDisplayList(gDisplayListHead++, D_0D008DB8); - gDPLoadTextureBlock(gDisplayListHead++, D_8018D494, G_IM_FMT_I, G_IM_SIZ_8b, 32, 32, 0, - G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, - G_TX_NOLOD, G_TX_NOLOD); + gDPLoadTextureBlock(gDisplayListHead++, D_8018D494, G_IM_FMT_I, G_IM_SIZ_8b, 32, 32, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); func_8004B72C(primRed, primGreen, primBlue, envRed, envGreen, envBlue, primAlpha); gSPDisplayList(gDisplayListHead++, D_0D008E48); } else { gSPDisplayList(gDisplayListHead++, D_0D008DB8); - gDPLoadTextureBlock(gDisplayListHead++, D_8018D494, G_IM_FMT_I, G_IM_SIZ_8b, 32, 32, 0, - G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, - G_TX_NOLOD, G_TX_NOLOD); + gDPLoadTextureBlock(gDisplayListHead++, D_8018D494, G_IM_FMT_I, G_IM_SIZ_8b, 32, 32, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); func_8004B72C(primRed, primGreen, primBlue, envRed, envGreen, envBlue, primAlpha); gDPSetAlphaCompare(gDisplayListHead++, G_AC_DITHER); gSPDisplayList(gDisplayListHead++, D_0D008E48); @@ -5184,9 +5156,7 @@ void func_80065F0C(Player* player, UNUSED s8 arg1, s16 arg2, s8 arg3) { primBlue = player->unk_258[10 + arg2].unk_03C; gSPDisplayList(gDisplayListHead++, D_0D008C90); gDPSetTextureLUT(gDisplayListHead++, G_TT_NONE); - gDPLoadTextureBlock(gDisplayListHead++, D_8018D498, G_IM_FMT_RGBA, G_IM_SIZ_16b, 32, 64, 0, - G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOMASK, - G_TX_NOLOD, G_TX_NOLOD); + gDPLoadTextureBlock(gDisplayListHead++, D_8018D498, G_IM_FMT_RGBA, G_IM_SIZ_16b, 32, 64, 0, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); func_8004B35C(primRed, primGreen, primBlue, 0x000000FF); gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_TEX_EDGE, G_RM_AA_ZB_TEX_EDGE2); gSPVertex(gDisplayListHead++, D_800E8C00, 4, 0); @@ -5195,9 +5165,6 @@ void func_80065F0C(Player* player, UNUSED s8 arg1, s16 arg2, s8 arg3) { gMatrixEffectCount += 1; } } -#else -GLOBAL_ASM("asm/non_matchings/code_80057C60/func_80065F0C.s") -#endif void func_800664E0(Player* player, UNUSED s8 arg1, s16 arg2, s8 arg3) { Vec3f sp54; diff --git a/src/cpu_vehicles_camera_path.c b/src/cpu_vehicles_camera_path.c index 27a443894..d05ab8162 100644 --- a/src/cpu_vehicles_camera_path.c +++ b/src/cpu_vehicles_camera_path.c @@ -556,7 +556,7 @@ s16 get_angle_between_path(Vec3f arg0, Vec3f arg1) { s16 temp_ret; s16 phi_v1; - temp_ret = get_angle_between_two_vectors(arg0, arg1); + temp_ret = get_angle_between_points(arg0, arg1); phi_v1 = temp_ret; if (gIsMirrorMode != 0) { phi_v1 = -temp_ret; @@ -948,150 +948,145 @@ s32 is_path_point_in_range(u16 pathPoint, u16 currentPathPoint, u16 backwardRang return var_v1; } -// cpu utils function - +// cpu util functions #include "cpu_vehicles_camera_path/cpu_speed_control.inc.c" -#ifdef NON_MATCHING -// generated by m2c commit 05102b12b75400ad2be8bd0872404237b36e1702 on Feb-20-2024 -// static ? D_800DCAF4; /* unable to generate initializer: unknown type */ -// static ? D_800DCB34; /* unable to generate initializer: unknown type */ -// static ? *D_800DCBB4[0x15] = { -// &D_800DCB34, -// &D_800DCAF4, -// &D_800DCAF4, -// &D_800DCAF4, -// &D_800DCAF4, -// &D_800DCAF4, -// &D_800DCAF4, -// &D_800DCAF4, -// &D_800DCAF4, -// &D_800DCAF4, -// &D_800DCAF4, -// &D_800DCAF4, -// &D_800DCAF4, -// &D_800DCAF4, -// &D_800DCAF4, -// &D_800DCAF4, -// &D_800DCAF4, -// &D_800DCAF4, -// &D_800DCAF4, -// &D_800DCAF4, -// &D_800DCAF4, -// }; - bool func_800088D8(s32 playerId, s16 arg1, s16 arg2) { Player* player; - f32 interp; - s16 rank; - s16 var_a0_4; - s16 var_t1; - s16 var_v0; s16* temp_a3; - s32 temp_a2; - s32 arg1_times_8; - s32 var_a0_2; s32 progress; - s32 var_a1_4; + f32 temp_f0; + s16 var_t1; + u16* var_a0_3; + s16 temp; + s16 temp2; s32 i; + s32 var_a0; + s16 var_v0; + s16 var_a0_4; + s32* var_v1; + s16 STEMP_V1; + s16 STEMP_V0; + s16 rank; D_80163128[playerId] = -1; D_80163150[playerId] = -1; - if (gModeSelection == TIME_TRIALS) { - return true; + if (gModeSelection == 1) { + return 1; } if (arg1 < 0) { - return true; - } else if (arg1 >= 4) { + return 1; + } + if (arg1 >= 4) { arg1 = 3; } if (D_80163330[playerId] == 1) { - return true; + return 1; } player = &gPlayers[playerId]; - if (player->type & PLAYER_HUMAN) { - return true; + if (player->type & 0x4000) { + return 1; } - arg1_times_8 = arg1 * 8; - temp_a3 = &GET_COURSE_800DCBB4(arg1_times_8); + + temp_a3 = &GET_COURSE_800DCBB4(arg1 * 8); if (arg2 == 0) { if (gDemoMode == 1) { - temp_a2 = gNumPathPointsTraversed[playerId] - gNumPathPointsTraversed[D_80164378[7]]; - if (temp_a2 < 0) { - temp_a2 = -temp_a2; + STEMP_V0 = gNumPathPointsTraversed[playerId]; + STEMP_V1 = gNumPathPointsTraversed[D_80164378[7]]; + progress = STEMP_V0 - STEMP_V1; + if (progress < 0) { + progress = -progress; } - if (arg1_times_8 < 24) { - interp = gLapCompletionPercentByPlayerId[playerId]; - D_80163150[playerId] = temp_a3[8] * interp + temp_a3[0] * (1.0f - interp); + if (arg1 < 3) { + STEMP_V0 = temp_a3[0]; + STEMP_V1 = temp_a3[8]; + temp_f0 = gLapCompletionPercentByPlayerId[playerId]; + var_a0 = (STEMP_V1 * temp_f0) + (STEMP_V0 * (1.0f - temp_f0)); } else { - D_80163150[playerId] = temp_a3[0]; + var_a0 = temp_a3[0]; } - if (D_80163150[playerId] < temp_a2 && player->speed / 18.0f * 216.0f >= 20.0f) { - return false; + D_80163150[playerId] = var_a0; + if ((D_80163150[playerId] < progress) && (((player->speed / 18.0f) * 216.0f) >= 20.0f)) { + return 0; } - return true; + return 1; } - progress = gNumPathPointsTraversed[playerId] - gNumPathPointsTraversed[gBestRankedHumanPlayer]; - rank = gGPCurrentRaceRankByPlayerId[2 + (gBestRankedHumanPlayer * 4)]; - if (gPathCountByPathIndex[0] * 2 / 3 < progress && rank >= 6) { - progress = gNumPathPointsTraversed[playerId] - gNumPathPointsTraversed[gLapCountByPlayerId[-26 + rank * 2]]; + + STEMP_V0 = gNumPathPointsTraversed[playerId]; + STEMP_V1 = gNumPathPointsTraversed[gBestRankedHumanPlayer]; + progress = STEMP_V0 - STEMP_V1; + rank = gGPCurrentRaceRankByPlayerId[gBestRankedHumanPlayer]; + if (((((gPathCountByPathIndex[0] * 2) / 3)) < progress) && ((rank) >= 6)) { + STEMP_V0 = gNumPathPointsTraversed[playerId]; + STEMP_V1 = temp = gNumPathPointsTraversed[D_80164378[rank - 1]]; + progress = STEMP_V0 - STEMP_V1; } if (progress < 0) { progress = -progress; } - if (arg1_times_8 < 24) { - interp = gLapCompletionPercentByPlayerId[playerId]; - var_a0_2 = temp_a3[8] * interp + temp_a3[0] * (1.0f - interp); + if (arg1 < 3) { + STEMP_V0 = temp_a3[0]; + STEMP_V1 = temp_a3[8]; + temp_f0 = gLapCompletionPercentByPlayerId[playerId]; + var_a0 = (STEMP_V1 * temp_f0) + (STEMP_V0 * (1.0f - temp_f0)); } else { - var_a0_2 = temp_a3[0]; + var_a0 = temp_a3[0]; } - D_80163150[playerId] = (gCCSelection + 1) * var_a0_2; - if (D_80163150[playerId] < progress && player->speed / 18.0f * 216.0f >= 20.0f) { - return false; + D_80163150[playerId] = var_a0 = (gCCSelection + 1) * var_a0; + if ((var_a0 < progress) && (((player->speed / 18.0f) * 216.0f) >= 20.0f)) { + return 0; } - return true; - } else { - var_a1_4 = gNumPathPointsTraversed[(s16) *D_80163344] - gNumPathPointsTraversed[playerId]; - if (var_a1_4 < 0) { - var_a1_4 = -var_a1_4; - } - var_v0 = 0; - for (i = 0; i < 2; i++) { - if (gGPCurrentRaceRankByPlayerId[D_80163344[i]] < arg2) { - var_v0++; - } - } - var_a0_4 = 0; - for (i = 0; i < gPlayerCount; i++) { - if (gGPCurrentRaceRankByPlayerId[i] < arg2) { - var_a0_4++; - } - } - var_t1 = (arg2 - var_v0) - var_a0_4; - if (var_v0 > 0 || var_a0_4 > 0) { - var_t1++; - } - D_80164538[playerId] = var_t1; - if (var_t1 < 0 || var_t1 >= 8) { - return false; - } - if (arg1_times_8 < 24) { - temp_a3 = &temp_a3[var_t1]; - interp = gLapCompletionPercentByPlayerId[playerId]; - D_80163150[playerId] = temp_a3[8] * interp + temp_a3[0] * (1.0f - interp); - } else { - D_80163150[playerId] = temp_a3[var_t1]; - } - D_80163128[playerId] = var_a1_4; - if (D_80163150[playerId] < var_a1_4) { - return true; - } - return false; + return 1; } + + temp2 = D_80163344[0]; + STEMP_V0 = gNumPathPointsTraversed[playerId]; + STEMP_V1 = gNumPathPointsTraversed[temp2]; + progress = STEMP_V1 - STEMP_V0; + if (progress < 0) { + progress = -progress; + } + + var_v0 = 0; + for (i = 0; i < 2; i++) { + if (gGPCurrentRaceRankByPlayerId[D_80163344[i] & 0xFFFF] < arg2) { + var_v0++; + } + } + + var_a0_4 = 0; + for (i = 0; i < gPlayerCount; i++) { + if (gGPCurrentRaceRankByPlayerId[i] < arg2) { + var_a0_4++; + } + } + + // FAKE + var_t1 = (arg2 - (var_v0 & 0xFFFF)) - var_a0_4; + arg2 -= var_v0; + + if ((var_v0 > 0) || (var_a0_4 > 0)) { + var_t1++; + } + D_80164538[playerId] = var_t1; + if ((var_t1 < 0) || (var_t1 >= 8)) { + return 0; + } + if (arg1 < 3) { + STEMP_V0 = temp_a3[var_t1 + 0]; + STEMP_V1 = temp_a3[var_t1 + 8]; + temp_f0 = gLapCompletionPercentByPlayerId[playerId]; + var_a0 = (STEMP_V1 * temp_f0) + (STEMP_V0 * (1.0f - temp_f0)); + } else { + var_a0 = temp_a3[var_t1]; + } + D_80163128[playerId] = progress; + D_80163150[playerId] = var_a0; + if (var_a0 < progress) { + return 1; + } + return 0; } -#else -GLOBAL_ASM("asm/non_matchings/cpu_vehicles_camera_path/func_800088D8.s") -#endif void set_current_path(s32 pathIndex) { gCurrentTrackPath = gTrackPaths[pathIndex]; @@ -1188,7 +1183,7 @@ void update_cpu_path_completion(s32 playerId, Player* player) { posY = player->pos[1]; posZ = player->pos[2]; if (cpu_enteringPathIntersection[playerId] == 1) { - gPlayerPathIndex = update_player_path_selection(playerId, random_int(4U)); + gPlayerPathIndex = update_player_path_selection(playerId, random_int(4)); sSomeNearestPathPoint = update_player_path(posX, posY, posZ, 0, player, playerId, gPlayerPathIndex); gNearestPathPointByPlayerId[playerId] = sSomeNearestPathPoint; update_player_completion(playerId); @@ -1212,22 +1207,18 @@ f32 func_80009258(UNUSED s32 playerId, f32 arg1, f32 arg2) { return gCourseTimer - ((COURSE_TIMER_ITER_f * temp_f2) / (temp_f2 + temp_f12)); } -#ifdef NON_MATCHING -// Weird stack issue, can't figure out how to get rid of it void update_player_path_completion(s32 playerId, Player* player) { f32 playerX; f32 playerY; f32 playerZ; s32 var_v0; - s32 var_v1; + UNUSED s16 pad; f32 previousPlayerZ; - UNUSED s16 stackPadding0; - s16 var_t0; - UNUSED s32 stackPadding1; playerX = player->pos[0]; playerY = player->pos[1]; playerZ = player->pos[2]; + previousPlayerZ = gPreviousPlayerZ[playerId]; gIsPlayerNewPathPoint = false; D_80163240[playerId] = 0; sSomeNearestPathPoint = update_player_path(playerX, playerY, playerZ, gNearestPathPointByPlayerId[playerId], player, @@ -1244,8 +1235,8 @@ void update_player_path_completion(s32 playerId, Player* player) { } if ((sSomeNearestPathPoint < 0x14) || ((gPathCountByPathIndex[gPlayerPathIndex] - 0x14) < sSomeNearestPathPoint) || (gCurrentCourseId == COURSE_KALAMARI_DESERT)) { - var_v1 = 0; - var_t0 = 0; + s16 var_v1 = 0; + s16 var_t0 = 0; if (gCurrentCourseId == COURSE_KALAMARI_DESERT) { D_801634EC = 0; if (player->effects & 0x200) { @@ -1280,15 +1271,15 @@ void update_player_path_completion(s32 playerId, Player* player) { gLapCountByPlayerId[playerId]++; if ((gModeSelection == 0) && (gLapCountByPlayerId[playerId] == 5)) { if (gGPCurrentRaceRankByPlayerIdDup[playerId] == 7) { - for (var_v0 = 0; var_v0 < NUM_PLAYERS; var_v0++) { - gLapCountByPlayerId[var_v0]--; - } + // clang-format off + for (var_v0 = 0; var_v0 < NUM_PLAYERS; var_v0++) { gLapCountByPlayerId[var_v0]--; } // has to be one line to match + // clang-format on } } D_80163240[playerId] = 1; update_player_completion(playerId); reset_cpu_behaviour(playerId); - cpu_ItemStrategy[playerId].timer = 0; + cpu_ItemStrategy[playerId].numItemUse = 0; if ((D_8016348C == 0) && !(player->type & PLAYER_CINEMATIC_MODE)) { gTimePlayerLastTouchedFinishLine[playerId] = func_80009258(playerId, previousPlayerZ, playerZ); } @@ -1320,9 +1311,6 @@ void update_player_path_completion(s32 playerId, Player* player) { } update_player_position_factor(playerId, sSomeNearestPathPoint, gPlayerPathIndex); } -#else -GLOBAL_ASM("asm/non_matchings/cpu_vehicles_camera_path/update_player_path_completion.s") -#endif void update_vehicles(void) { s32 i; @@ -1404,52 +1392,22 @@ void update_player_timer_sound(s32 playerId, UNUSED Player* unused) { } } -#ifdef NON_MATCHING -#define FAKEMATCH1 0 -#define FAKEMATCH2 0 -// https://decomp.me/scratch/uJCh3 -// Lots of register allocation differences, but messing around seems to suggest they stem from 2 specific areas -// MISMATCH1: something about the loading of `playerId` is off -// MISMATCH2: something about the handling of the math is off. Not sure exactly what though -// MISMATCH3: there's a small instruction ordering issue concerning `gCourseMaxX`. No idea what to do about it -// FAKEMATCH1 is the best improvement I've seen yet, MISMATCH2/3 become the only issues. - void update_player(s32 playerId) { - UNUSED s32 stackPadding00; - UNUSED s32 stackPadding01; - UNUSED s32 stackPadding02; - UNUSED s32 stackPadding03; - UNUSED s32 stackPadding04; - UNUSED s32 stackPadding05; - UNUSED s32 stackPadding06; - UNUSED s32 stackPadding07; - UNUSED s32 stackPadding08; - UNUSED s32 stackPadding09; - UNUSED s32 stackPadding0A; - UNUSED s32 stackPadding0B; - UNUSED s32 stackPadding0C; - UNUSED s32 stackPadding0D; + UNUSED s32 pad[14]; s16 var_a0_2; s16 newAngle; - UNUSED s32 stackPadding0E; - UNUSED s32 stackPadding0F; - UNUSED s32 stackPadding10; - UNUSED s32 stackPadding11; - UNUSED s32 stackPadding12; - UNUSED s32 stackPadding13; - UNUSED s32 stackPadding14; - UNUSED s32 stackPadding15; - UNUSED s32 stackPadding16; - UNUSED s32 stackPadding17; - UNUSED s32 stackPadding18; - u16 stackPadding19; u16 pathIndex; + f32 distX; f32 minAngle; + s16 angle; s16 steeringSensitivity; + + s32 maxAngle; Player* player; + UNUSED s32 pad3[10]; TrackPathPoint* pathPoint; f32 onePointFive = 1.5f; @@ -1469,19 +1427,13 @@ void update_player(s32 playerId) { return; } D_801633E0[playerId] = 0; - if (player->pos[0] < gCourseMinX) { - D_801633E0[playerId] = 1; - } - if (gCourseMaxX < player->pos[0]) { - D_801633E0[playerId] = 2; - } - if (player->pos[2] < gCourseMinZ) { - D_801633E0[playerId] = 3; - } - // MISMATCH3 - if (gCourseMaxZ < player->pos[2]) { - D_801633E0[playerId] = 4; - } + // clang-format off + if (player->pos[0] < gCourseMinX) { D_801633E0[playerId] = 1; } + if (gCourseMaxX < player->pos[0]) { D_801633E0[playerId] = 2; } + if (player->pos[2] < gCourseMinZ) { D_801633E0[playerId] = 3; } + if (gCourseMaxZ < player->pos[2]) { D_801633E0[playerId] = 4; } + // clang-format on + if (!(player->unk_0CA & 2) && !(player->unk_0CA & 8)) { gPlayerPathIndex = gPathIndexByPlayerId[playerId]; set_current_path(gPlayerPathIndex); @@ -1560,7 +1512,7 @@ void update_player(s32 playerId) { break; default: break; - case COURSE_SKYSCRAPER: + case COURSE_TOADS_TURNPIKE: update_player_track_position_factor_from_box_trucks(playerId); update_player_track_position_factor_from_buses(playerId); update_player_track_position_factor_from_tanker_truck(playerId); @@ -1601,7 +1553,7 @@ void update_player(s32 playerId) { set_track_offset_position(pathIndex, D_80163090[playerId], gPlayerPathIndex); } } - player->rotation[1] = -get_angle_between_two_vectors(player->pos, gOffsetPosition); + player->rotation[1] = -get_angle_between_points(player->pos, gOffsetPosition); } else { player->rotation[1] = gPathExpectedRotation[gPlayerPathIndex] @@ -1616,7 +1568,7 @@ void update_player(s32 playerId) { player->effects |= UNKNOWN_EFFECT_0x10; } if (D_801630E8[playerId] != 0) { - sPlayerAngle[playerId] = -get_angle_between_two_vectors(player->oldPos, player->pos); + sPlayerAngle[playerId] = -get_angle_between_points(player->oldPos, player->pos); var_a0_2 = (gCurrentPathPointExpectedRotationPath[(sSomeNearestPathPoint + 2) % gSelectedPathCount] * 0x168) / @@ -1658,13 +1610,8 @@ void update_player(s32 playerId) { break; } } - // MISMATCH1 -#if FAKEMATCH2 == 1 - stackPadding00 = (playerId & 1) != (gIncrementUpdatePlayer & 1); - if (stackPadding00) { -#else + if ((playerId & 1) != (gIncrementUpdatePlayer & 1)) { -#endif apply_cpu_turn(player, gPreviousAngleSteering[playerId]); regulate_cpu_speed(playerId, gPreviousCpuTargetSpeed[playerId], player); return; @@ -1691,18 +1638,12 @@ void update_player(s32 playerId) { pathIndex %= gSelectedPathCount; set_track_offset_position(pathIndex, -0.7f, gPlayerPathIndex); } + if (1) { } if (1) { } if (1) { } if (1) { } if (1) { } if (1) { } if (gPlayerPathIndex == 0) { func_8000B140(playerId); if (D_80162FF8[playerId] > 0) { pathIndex = gCurrentNearestPathPoint + 5; -#if FAKEMATCH1 == 1 - if (1) {} - if (1) {} - if (1) {} - if (1) {} - if (1) {} - if (1) {} -#endif + pathIndex %= gSelectedPathCount; set_track_offset_position(pathIndex, D_80163090[playerId], gPlayerPathIndex); } @@ -1728,15 +1669,10 @@ void update_player(s32 playerId) { gPreviousPlayerAiOffsetZ[playerId] = gOffsetPosition[2]; minAngle = onePointFive * 182.0f; maxAngle = -onePointFive * 182.0f; - // MISMATCH2 - // This fixes part of the register allocation problems, makes fixing others - // harder though. Needs more investigation - // angle = (-get_angle_between_two_vectors(player->pos, gOffsetPosition)) - (var_a1 = - // player->rotation[1]); - stackPadding19 = -get_angle_between_two_vectors(player->pos, gOffsetPosition) - player->rotation[1]; - newAngle = stackPadding19; - angle = newAngle; - if ((s16) minAngle < newAngle) { + + angle = -get_angle_between_points(player->pos, gOffsetPosition); + angle -= (newAngle = player->rotation[1]); + if ((s16) minAngle < angle) { angle = minAngle; } if (angle < (s16) maxAngle) { @@ -1811,11 +1747,6 @@ void update_player(s32 playerId) { } } } -#undef FAKEMATCH1 -#undef FAKEMATCH2 -#else -GLOBAL_ASM("asm/non_matchings/cpu_vehicles_camera_path/update_player.s") -#endif void func_8000B140(s32 playerId) { s32 i; @@ -1830,11 +1761,11 @@ void func_8000B140(s32 playerId) { f32 temp_f0_2; f32 var_f18; f32 var_f20; - s32 pad[5]; + UNUSED s32 pad[5]; s16 spB0[8]; - f32 stackPadding8; + UNUSED f32 pad2; s16 sp9C[8]; - f32 stackPadding9; + UNUSED f32 pad3; f32 temp_f2; f32 sp74[8]; s32 temp_a1_2; @@ -2685,7 +2616,7 @@ void func_80015C94(Camera* camera, UNUSED Player* unusedPlayer, UNUSED s32 arg2, } camera->pos[0] = midX; camera->pos[2] = midZ; - temp_f2_2 = get_surface_height(midX, (midY + 30.0), midZ); + temp_f2_2 = get_surface_height(midX, midY + 30.0, midZ); if ((temp_f2_2 < (midY - 20.0)) || (temp_f2_2 >= 3000.0)) { camera->pos[1] = midY + 10.0; } else { @@ -2888,53 +2819,46 @@ void func_80016C3C(UNUSED s32 playerId, UNUSED f32 arg1, s32 cameraId) { } void func_80017054(Camera* camera, UNUSED Player* player, UNUSED s32 index, s32 cameraId); -#ifdef NON_MATCHING -// https://decomp.me/scratch/Ck7hV -// Really crazy diff, permuter only able to find fakematches for improvements (and they're big improvements) -// There's something really, really wrong with the empty `if` statement void func_80017054(Camera* camera, UNUSED Player* player, UNUSED s32 index, s32 cameraId) { - UNUSED s32 stackPadding0; - UNUSED s32 stackPadding1; + s32 stackPadding0; + s32 stackPadding1; f32 spAC; f32 spA8; f32 spA4; - UNUSED s32 stackPadding2; - UNUSED s32 stackPadding3; + s32 stackPadding2; + s32 stackPadding3; f32 sp98; f32 sp94; f32 sp90; f32 sp8C; f32 sp88; f32 sp84; - UNUSED f32 stackPadding4; - UNUSED f32 stackPadding5; - UNUSED f32 stackPadding6; - UNUSED s32 stackPadding7; - UNUSED s32 stackPadding8; + f32 sp80; + f32 sp7C; + f32 sp78; + s32 stackPadding7; + s32 stackPadding8; s16 sp6E; s16 sp6C; - UNUSED s32 stackPadding9; - UNUSED s32 stackPaddingA; - UNUSED s32 stackPaddingB; + f32 stackPadding9; + s32 playerId; + f32 temp_f0; s32 pathIndex; - UNUSED s32 stackPaddingC; s32 sp58; s16 sp56; - s32 playerId; playerId = camera->playerId; - pathIndex = D_80163DD8[cameraId]; D_80164648[cameraId] += (D_80164658[cameraId] - D_80164648[cameraId]) * 0.5f; + pathIndex = D_80163DD8[cameraId]; sp58 = gPathCountByPathIndex[pathIndex]; D_80163238 = playerId; sp56 = gNearestPathPointByCameraId[cameraId]; - gNearestPathPointByCameraId[cameraId] = - func_8000D33C(camera->pos[0], camera->pos[1], camera->pos[2], gNearestPathPointByCameraId[cameraId], pathIndex); - if (gCurrentCourseId == COURSE_YOSHI_VALLEY) { + gNearestPathPointByCameraId[cameraId] = func_8000D33C(camera->pos[0], camera->pos[1], camera->pos[2], gNearestPathPointByCameraId[cameraId], pathIndex); + if (gCurrentCourseId == 4) { if ((sp56 != gNearestPathPointByCameraId[cameraId]) && (gNearestPathPointByCameraId[cameraId] == 1)) { - pathIndex = (D_80163DD8[cameraId] = random_int(4U)); - gNearestPathPointByCameraId[cameraId] = func_8000D33C(camera->pos[0], camera->pos[1], camera->pos[2], - gNearestPathPointByCameraId[cameraId], pathIndex); + D_80163DD8[cameraId] = random_int(4); + pathIndex = D_80163DD8[cameraId]; + gNearestPathPointByCameraId[cameraId] = func_8000D33C(camera->pos[0], camera->pos[1], camera->pos[2], gNearestPathPointByCameraId[cameraId], pathIndex); } } sp6E = (gNearestPathPointByCameraId[cameraId] + 0xA) % sp58; @@ -2945,6 +2869,7 @@ void func_80017054(Camera* camera, UNUSED Player* player, UNUSED s32 index, s32 set_track_offset_position(sp6C, D_80164688[cameraId], pathIndex); sp8C += gOffsetPosition[0] * 0.5; sp84 += gOffsetPosition[2] * 0.5; + sp6E = (gNearestPathPointByCameraId[cameraId] + 5) % sp58; sp6C = (gNearestPathPointByCameraId[cameraId] + 6) % sp58; sp88 = (gTrackPaths[pathIndex][sp6E].posY + gTrackPaths[pathIndex][sp6C].posY) * 0.5f; @@ -2957,33 +2882,35 @@ void func_80017054(Camera* camera, UNUSED Player* player, UNUSED s32 index, s32 sp98 += gOffsetPosition[0] * 0.5; sp90 += gOffsetPosition[2] * 0.5; sp94 = (gTrackPaths[pathIndex][sp6E].posY + gTrackPaths[pathIndex][sp6C].posY) * 0.5f; - stackPadding4 = sp98 - D_801645F8[cameraId]; - stackPadding5 = sp90 - D_80164618[cameraId]; - stackPadding6 = sp94 - D_80164638[cameraId]; - spAC = sqrtf(((sp98 * sp98) + (sp94 * sp94)) + (sp90 * sp90)); - if (spAC != 0.0) { - sp98 = D_801645F8[cameraId] + ((D_80164648[cameraId] * stackPadding4) / spAC); - sp94 = D_80164618[cameraId] + ((D_80164648[cameraId] * stackPadding5) / spAC); - sp90 = D_80164638[cameraId] + ((D_80164648[cameraId] * stackPadding6) / spAC); + + sp80 = sp98 - D_801645F8[cameraId]; + sp7C = sp94 - D_80164618[cameraId]; + sp78 = sp90 - D_80164638[cameraId]; + temp_f0 = sqrtf(((sp80 * sp80) + (sp7C * sp7C)) + (sp78 * sp78)); + + if (temp_f0 != 0.0) { + sp98 = D_801645F8[cameraId] + (((stackPadding9 = D_80164648[cameraId]) * sp80) / temp_f0); + sp94 = D_80164618[cameraId] + ((D_80164648[cameraId] * sp7C) / temp_f0); + sp90 = D_80164638[cameraId] + ((D_80164648[cameraId] * sp78) / temp_f0); } else { sp98 = D_801645F8[cameraId]; sp94 = D_80164618[cameraId]; sp90 = D_80164638[cameraId]; } - if ((!(sp98 < (-10000.0))) && (sp98 > 10000.0)) { - if (sp98 && sp98) {} + + if (sp98 < -10000.0 || sp98 > 10000.0) { + if (sp8C < -10000.0 || sp8C > 10000.0) {} } camera->pos[0] = sp98; - camera->pos[1] = sp94 + 10.0; camera->pos[2] = sp90; - if (1) {} - if (1) {} - if (1) {} - if (1) {} - if (1) {} + camera->pos[1] = sp94 + 10.0; + D_801645F8[cameraId] = sp98; - D_80164638[cameraId] = sp90; D_80164618[cameraId] = sp94; + D_80164638[cameraId] = sp90; + + if (sp8C < -10000.0 || sp8C > 10000.0) {} + if (sp84 < -10000.0 || sp84 > 10000.0) {} camera->lookAt[0] = sp8C; camera->lookAt[1] = sp88 + 8.0; camera->lookAt[2] = sp84; @@ -2995,9 +2922,6 @@ void func_80017054(Camera* camera, UNUSED Player* player, UNUSED s32 index, s32 camera->rot[0] = atan2s(sqrtf((spAC * spAC) + (spA4 * spA4)), spA8); camera->rot[2] = 0; } -#else -GLOBAL_ASM("asm/non_matchings/cpu_vehicles_camera_path/func_80017054.s") -#endif void func_80017720(s32 playerId, UNUSED f32 arg1, s32 cameraId, s16 pathIndex) { Camera* camera = cameras + cameraId; @@ -3380,7 +3304,7 @@ void func_80019118(s32 playerId, f32 arg1, s32 cameraId, UNUSED s16 pathIndex) { D_80164638[cameraId] = gOffsetPosition[2]; temp_f2 = (f32) gTrackPaths[0][gNearestPathPointByCameraId[cameraId]].posY; - temp_f12 = get_surface_height(gOffsetPosition[0], (f32) (temp_f2 + 30.0), gOffsetPosition[2]); + temp_f12 = get_surface_height(gOffsetPosition[0], (temp_f2 + 30.0), gOffsetPosition[2]); if ((temp_f12 < (temp_f2 - 20.0)) || (temp_f12 >= 3000.0)) { D_80164618[cameraId] = (f32) (temp_f2 + 10.0); @@ -3949,503 +3873,582 @@ void func_8001AAAC(s16 arg0, s16 arg1, s16 arg2) { #include "cpu_vehicles_camera_path/cpu_item_strategy.inc.c" -#ifdef NON_MATCHING -// By the looks of this function is probably something like `cpu_use_item_strategy` -// The use of several different actor types might make getting a match hard(er), -// might have to get creative/ugly with just a single generic `Actor` variable. -// https://decomp.me/scratch/FOlbG void cpu_use_item_strategy(s32 playerId) { - bool isNoProblem; - Player* player; - TrackPathPoint* pathPoint; - CpuItemStrategyData* temp_s0; + Player* player = &gPlayerOne[playerId]; struct Actor* actor; - struct ShellActor* shell; - struct BananaActor* banana; - struct FakeItemBox* fakeItemBox; - struct BananaBunchParent* bananaBunchParent; + CpuItemStrategyData* cpuStrategy = &cpu_ItemStrategy[playerId]; + TrackPathPoint* pathPoint; + bool isValidBanana1; + bool isValidBanana2; - player = &gPlayerOne[playerId]; - if (((gModeSelection != ((s32) 1)) && (((u16) D_801646CC) != ((u16) 1))) && - (!(player->type & PLAYER_CINEMATIC_MODE))) { - temp_s0 = &cpu_ItemStrategy[playerId]; - switch (temp_s0->branch) { - case CPU_STRATEGY_WAIT_NEXT_ITEM: - temp_s0->actorIndex = -1; - if ((((playerId * 0x14) + 0x64) < gNumPathPointsTraversed[playerId]) && (temp_s0->timer >= 0x259) && - (temp_s0->numItemUse < 3) && (gLapCountByPlayerId[playerId] < 3)) { - cpu_decisions_branch_item(playerId, &temp_s0->branch, - cpu_gen_random_item((s16) gLapCountByPlayerId[playerId], - gGPCurrentRaceRankByPlayerId[playerId])); - } else { - func_8001ABE0(playerId, temp_s0); +// Only used in this function +#define BANANA_ACTOR(actor) ((struct BananaActor*)(actor)) +#define SHELL_ACTOR(actor) ((struct ShellActor*)(actor)) +#define FAKE_ITEMBOX_ACTOR(actor) ((struct FakeItemBox*)(actor)) +#define BANANA_BUNCH_ACTOR(actor) ((struct BananaBunchParent*)(actor)) + + if (gModeSelection == TIME_TRIALS) { + return; + } + + if ((u16) D_801646CC == 1) { + return; + } + + if (player->type & PLAYER_CINEMATIC_MODE) { + return; + } + + switch (cpuStrategy->branch) { + case CPU_STRATEGY_WAIT_NEXT_ITEM: + cpuStrategy->actorIndex = -1; + if ((((playerId * 20) + 100) < gNumPathPointsTraversed[playerId]) && (cpuStrategy->timer >= 0x259) && + (cpuStrategy->numItemUse < 3) && (gLapCountByPlayerId[playerId] < 3)) { + cpu_decisions_branch_item(playerId, &cpuStrategy->branch, + cpu_gen_random_item((s16) gLapCountByPlayerId[playerId], + gGPCurrentRaceRankByPlayerId[playerId])); + } else { + func_8001ABE0(playerId, cpuStrategy); + } + break; + + case CPU_STRATEGY_ITEM_BANANA: + // never true + if ((gLapCountByPlayerId[playerId] > 0) && (gGPCurrentRaceRankByPlayerId[playerId] > gGPCurrentRaceRankByPlayerId[gBestRankedHumanPlayer]) && (gGPCurrentRaceRankByPlayerId[gBestRankedHumanPlayer] == FIRST_PLACE)) { + switch (player->characterId) { + case DK: + if (is_path_point_in_range(gNearestPathPointByPlayerId[playerId], + gNearestPathPointByPlayerId[gBestRankedHumanPlayer], 40, 2, + gSelectedPathCount) > 0) { + cpuStrategy->branch = CPU_STRATEGY_THROW_BANANA; + } + break; + + case PEACH: + if (is_path_point_in_range(gNearestPathPointByPlayerId[playerId], + gNearestPathPointByPlayerId[gBestRankedHumanPlayer], 4, 2, + gSelectedPathCount) > 0) { + cpuStrategy->branch = CPU_STRATEGY_THROW_BANANA; + } + break; + + default: + if (is_path_point_in_range(gNearestPathPointByPlayerId[playerId], + gNearestPathPointByPlayerId[gBestRankedHumanPlayer], 10, 2, + gSelectedPathCount) > 0) { + cpuStrategy->branch = CPU_STRATEGY_THROW_BANANA; + } + break; } - break; - - case CPU_STRATEGY_ITEM_BANANA: - // never true - if ((gLapCountByPlayerId[playerId] > 0) && - (gGPCurrentRaceRankByPlayerId[gBestRankedHumanPlayer] > gGPCurrentRaceRankByPlayerId[playerId]) && - (gGPCurrentRaceRankByPlayerId[gBestRankedHumanPlayer] == FIRST_PLACE)) { - switch (player->characterId) { - case DK: - if (is_path_point_in_range(gNearestPathPointByPlayerId[playerId], - gNearestPathPointByPlayerId[gBestRankedHumanPlayer], 0x0028U, 2U, - (u16) ((s32) gSelectedPathCount)) > 0) { - temp_s0->branch = CPU_STRATEGY_THROW_BANANA; - } - break; - - case PEACH: - if (is_path_point_in_range(gNearestPathPointByPlayerId[playerId], - gNearestPathPointByPlayerId[gBestRankedHumanPlayer], 4U, 2U, - (u16) ((s32) gSelectedPathCount)) > 0) { - temp_s0->branch = CPU_STRATEGY_THROW_BANANA; - } - break; - - default: - if (is_path_point_in_range(gNearestPathPointByPlayerId[playerId], - gNearestPathPointByPlayerId[gBestRankedHumanPlayer], 0x000AU, 2U, - (u16) ((s32) gSelectedPathCount)) > 0) { - temp_s0->branch = CPU_STRATEGY_THROW_BANANA; - } - break; - } - } else if (temp_s0->branch == CPU_STRATEGY_ITEM_BANANA) { - temp_s0->actorIndex = use_banana_item(player); - if ((temp_s0->actorIndex >= 0) && (temp_s0->actorIndex < 0x64)) { - player->soundEffects |= HOLD_BANANA_SOUND_EFFECT; - temp_s0->branch = CPU_STRATEGY_HOLD_BANANA; - temp_s0->timer = 0; - temp_s0->numItemUse += 1; - temp_s0->timeBeforeThrow = (random_int(3U) * 0x14) + 0xA; - } else { - temp_s0->branch = CPU_STRATEGY_WAIT_NEXT_ITEM; - temp_s0->timer = 0; - } - } - break; - - case CPU_STRATEGY_HOLD_BANANA: - banana = (struct BananaActor*) &gActorList[temp_s0->actorIndex]; - if ((!(banana->flags & 0x8000)) || (banana->type != ACTOR_BANANA) || (banana->state != HELD_BANANA) || - (playerId != banana->playerId)) { - temp_s0->branch = CPU_STRATEGY_WAIT_NEXT_ITEM; - temp_s0->timer = 0; - player->soundEffects &= ~HOLD_BANANA_SOUND_EFFECT; - } else if (temp_s0->timeBeforeThrow < temp_s0->timer) { - temp_s0->branch = CPU_STRATEGY_DROP_BANANA; - } - break; - - case CPU_STRATEGY_DROP_BANANA: - banana = (struct BananaActor*) &gActorList[temp_s0->actorIndex]; - if ((((!(banana->flags & 0x8000)) || (banana->type != ACTOR_BANANA)) || - (banana->state != HELD_BANANA)) || - (playerId != banana->playerId)) { - if (playerId != banana->playerId) {} - } else { - banana->state = DROPPED_BANANA; - banana->velocity[0] = 0.0f; - banana->velocity[1] = 0.0f; - banana->velocity[2] = 0.0f; - if (D_801631E0[playerId] == ((u16) true)) { - banana->pos[1] = - get_surface_height(player->pos[0], (f32) (((f64) player->pos[1]) + 30.0), player->pos[2]) + - (banana->boundingBoxSize + 1.0f); - } - } - player->soundEffects &= ~HOLD_BANANA_SOUND_EFFECT; - temp_s0->timer = 0; - temp_s0->branch = CPU_STRATEGY_WAIT_NEXT_ITEM; - break; - - case CPU_STRATEGY_THROW_BANANA: - temp_s0->actorIndex = use_banana_item(player); - if ((temp_s0->actorIndex >= 0) && (temp_s0->actorIndex < 0x64)) { - banana = (struct BananaActor*) &gActorList[temp_s0->actorIndex]; - banana->state = BANANA_ON_GROUND; + } else if (cpuStrategy->branch == CPU_STRATEGY_ITEM_BANANA) { + cpuStrategy->actorIndex = use_banana_item(player); + if ((cpuStrategy->actorIndex >= 0) && (cpuStrategy->actorIndex < 100)) { player->soundEffects |= HOLD_BANANA_SOUND_EFFECT; - temp_s0->branch = CPU_STRATEGY_HOLD_THROW_BANANA; - temp_s0->timer = 0; - temp_s0->numItemUse += 1; - pathPoint = &gTrackPaths[gPathIndexByPlayerId[0]] - [(gNearestPathPointByPlayerId[gBestRankedHumanPlayer] + 0x1E) % - gPathCountByPathIndex[gPathIndexByPlayerId[gBestRankedHumanPlayer]]]; - banana->velocity[0] = (pathPoint->posX - player->pos[0]) / 20.0; - banana->velocity[1] = ((pathPoint->posY - player->pos[1]) / 20.0) + 4.0; - banana->velocity[2] = (pathPoint->posZ - player->pos[2]) / 20.0; - banana->pos[1] = player->pos[1]; - func_800C92CC(playerId, SOUND_ARG_LOAD(0x29, 0x00, 0x80, 0x09)); - func_800C98B8(player->pos, player->velocity, SOUND_ARG_LOAD(0x19, 0x01, 0x80, 0x14)); + cpuStrategy->branch = CPU_STRATEGY_HOLD_BANANA; + cpuStrategy->timer = 0; + cpuStrategy->numItemUse += 1; + cpuStrategy->timeBeforeThrow = (random_int(3) * 20) + 10; } else { - temp_s0->branch = CPU_STRATEGY_WAIT_NEXT_ITEM; - temp_s0->timer = 0; + cpuStrategy->branch = CPU_STRATEGY_WAIT_NEXT_ITEM; + cpuStrategy->timer = 0; } - break; + } + break; - case CPU_STRATEGY_HOLD_THROW_BANANA: - banana = (struct BananaActor*) &gActorList[temp_s0->actorIndex]; - if ((((!(banana->flags & 0x8000)) || (banana->type != ACTOR_BANANA)) || - (banana->state != BANANA_ON_GROUND)) || - (playerId != banana->playerId)) { - temp_s0->branch = CPU_STRATEGY_WAIT_NEXT_ITEM; - temp_s0->timer = 0; - player->soundEffects &= ~HOLD_BANANA_SOUND_EFFECT; - } else { - banana->velocity[1] -= 0.4; - banana->pos[0] += banana->velocity[0]; - banana->pos[1] += banana->velocity[1]; - banana->pos[2] += banana->velocity[2]; - if (temp_s0->timer >= 0x15) { - temp_s0->branch = CPU_STRATEGY_END_THROW_BANANA; - } - } - break; + case CPU_STRATEGY_HOLD_BANANA: + actor = &gActorList[cpuStrategy->actorIndex]; + if ((!(BANANA_ACTOR(actor)->flags & 0x8000)) || (BANANA_ACTOR(actor)->type != ACTOR_BANANA) || (BANANA_ACTOR(actor)->state != HELD_BANANA) || + (playerId != BANANA_ACTOR(actor)->playerId)) { - case CPU_STRATEGY_END_THROW_BANANA: - banana = (struct BananaActor*) &gActorList[temp_s0->actorIndex]; - if ((((!(banana->flags & 0x8000)) || (banana->type != ACTOR_BANANA)) || - (banana->state != BANANA_ON_GROUND)) || - (playerId != banana->playerId)) { - if (playerId != banana->playerId) {} - } else { - banana->state = DROPPED_BANANA; - banana->velocity[0] = 0.0f; - banana->velocity[1] = 0.0f; - banana->velocity[2] = 0.0f; - banana->pos[1] = - get_surface_height(banana->pos[0], (f32) (((f64) banana->pos[1]) + 30.0), banana->pos[2]) + - (banana->boundingBoxSize + 1.0f); - } + // FAKE + if (!(BANANA_ACTOR(actor)->flags & 0x8000)) {} + if (BANANA_ACTOR(actor)->type != 6) {} + if (BANANA_ACTOR(actor)->state != 0) {} + if (BANANA_ACTOR(actor)->rot[0] != playerId) {} + + cpuStrategy->branch = CPU_STRATEGY_WAIT_NEXT_ITEM; + cpuStrategy->timer = 0; player->soundEffects &= ~HOLD_BANANA_SOUND_EFFECT; - temp_s0->branch = CPU_STRATEGY_WAIT_NEXT_ITEM; - temp_s0->timer = 0; - break; + } else if (cpuStrategy->timeBeforeThrow < cpuStrategy->timer) { + cpuStrategy->branch = CPU_STRATEGY_DROP_BANANA; + } + break; - case CPU_STRATEGY_ITEM_GREEN_SHELL: - if (((s32) gNumActors) < 0x50) { - temp_s0->actorIndex = use_green_shell_item(player); - if ((temp_s0->actorIndex >= 0) && (temp_s0->actorIndex < 0x64)) { - temp_s0->branch = CPU_STRATEGY_HOLD_GREEN_SHELL; - temp_s0->timer = 0; - temp_s0->numItemUse += 1; - temp_s0->timeBeforeThrow = (random_int(3U) * 0x14) + 0xA; - } else { - temp_s0->branch = CPU_STRATEGY_WAIT_NEXT_ITEM; - } + case CPU_STRATEGY_DROP_BANANA: + actor = &gActorList[cpuStrategy->actorIndex]; + if ((((!(BANANA_ACTOR(actor)->flags & 0x8000)) || (BANANA_ACTOR(actor)->type != ACTOR_BANANA)) || + (BANANA_ACTOR(actor)->state != HELD_BANANA)) || + (playerId != BANANA_ACTOR(actor)->playerId)) { + + // FAKE + if (!(BANANA_ACTOR(actor)->flags & 0x8000)) {} + if (BANANA_ACTOR(actor)->type != 6) {} + if (BANANA_ACTOR(actor)->state != 0) {} + if (BANANA_ACTOR(actor)->rot[0] != playerId) {} + + } else { + BANANA_ACTOR(actor)->state = DROPPED_BANANA; + BANANA_ACTOR(actor)->velocity[0] = 0.0f; + BANANA_ACTOR(actor)->velocity[1] = 0.0f; + BANANA_ACTOR(actor)->velocity[2] = 0.0f; + if (D_801631E0[playerId] == true) { + BANANA_ACTOR(actor)->pos[1] = + get_surface_height(player->pos[0], player->pos[1] + 30.0, player->pos[2]) + + (BANANA_ACTOR(actor)->boundingBoxSize + 1.0f); + } + } + player->soundEffects &= ~HOLD_BANANA_SOUND_EFFECT; + cpuStrategy->timer = 0; + cpuStrategy->branch = CPU_STRATEGY_WAIT_NEXT_ITEM; + break; + + case CPU_STRATEGY_THROW_BANANA: + cpuStrategy->actorIndex = use_banana_item(player); + if ((cpuStrategy->actorIndex >= 0) && (cpuStrategy->actorIndex < 100)) { + actor = &gActorList[cpuStrategy->actorIndex]; + BANANA_ACTOR(actor)->state = BANANA_ON_GROUND; + player->soundEffects |= HOLD_BANANA_SOUND_EFFECT; + cpuStrategy->branch = CPU_STRATEGY_HOLD_THROW_BANANA; + cpuStrategy->timer = 0; + cpuStrategy->numItemUse += 1; + pathPoint = &gTrackPaths[gPathIndexByPlayerId[0]] + [(gNearestPathPointByPlayerId[gBestRankedHumanPlayer] + 30) % + gPathCountByPathIndex[gPathIndexByPlayerId[gBestRankedHumanPlayer]]]; + BANANA_ACTOR(actor)->velocity[0] = (pathPoint->posX - player->pos[0]) / 20.0; + BANANA_ACTOR(actor)->velocity[1] = ((pathPoint->posY - player->pos[1]) / 20.0) + 4.0; + BANANA_ACTOR(actor)->velocity[2] = (pathPoint->posZ - player->pos[2]) / 20.0; + BANANA_ACTOR(actor)->pos[1] = player->pos[1]; + func_800C92CC(playerId, SOUND_ARG_LOAD(0x29, 0x00, 0x80, 0x09)); + func_800C98B8(player->pos, player->velocity, SOUND_ARG_LOAD(0x19, 0x01, 0x80, 0x14)); + } else { + cpuStrategy->timer = 0; + cpuStrategy->branch = CPU_STRATEGY_WAIT_NEXT_ITEM; + } + break; + + case CPU_STRATEGY_HOLD_THROW_BANANA: + actor = &gActorList[cpuStrategy->actorIndex]; + if ((((!(BANANA_ACTOR(actor)->flags & 0x8000)) || (BANANA_ACTOR(actor)->type != ACTOR_BANANA)) || + (BANANA_ACTOR(actor)->state != BANANA_ON_GROUND)) || + (playerId != BANANA_ACTOR(actor)->playerId)) { + + // FAKE + if (!(BANANA_ACTOR(actor)->flags & 0x8000)) {} + if (BANANA_ACTOR(actor)->type != 6) {} + if (BANANA_ACTOR(actor)->state != 0) {} + if (BANANA_ACTOR(actor)->rot[0] != playerId) {} + + cpuStrategy->timer = 0; + cpuStrategy->branch = CPU_STRATEGY_WAIT_NEXT_ITEM; + player->soundEffects &= ~HOLD_BANANA_SOUND_EFFECT; + } else { + BANANA_ACTOR(actor)->velocity[1] -= 0.4; + BANANA_ACTOR(actor)->pos[0] += BANANA_ACTOR(actor)->velocity[0]; + BANANA_ACTOR(actor)->pos[1] += BANANA_ACTOR(actor)->velocity[1]; + BANANA_ACTOR(actor)->pos[2] += BANANA_ACTOR(actor)->velocity[2]; + if (cpuStrategy->timer > 20) { + cpuStrategy->branch = CPU_STRATEGY_END_THROW_BANANA; + } + } + break; + + case CPU_STRATEGY_END_THROW_BANANA: + actor = &gActorList[cpuStrategy->actorIndex]; + if ((((!(BANANA_ACTOR(actor)->flags & 0x8000)) || (BANANA_ACTOR(actor)->type != ACTOR_BANANA)) || + (BANANA_ACTOR(actor)->state != BANANA_ON_GROUND)) || + (playerId != BANANA_ACTOR(actor)->playerId)) { + + // FAKE + if (!(BANANA_ACTOR(actor)->flags & 0x8000)) {} + if (BANANA_ACTOR(actor)->type != 6) {} + if (BANANA_ACTOR(actor)->state != 0) {} + if (BANANA_ACTOR(actor)->rot[0] != playerId) {} + + } else { + BANANA_ACTOR(actor)->state = DROPPED_BANANA; + BANANA_ACTOR(actor)->velocity[0] = 0.0f; + BANANA_ACTOR(actor)->velocity[1] = 0.0f; + BANANA_ACTOR(actor)->velocity[2] = 0.0f; + BANANA_ACTOR(actor)->pos[1] = + get_surface_height(BANANA_ACTOR(actor)->pos[0], BANANA_ACTOR(actor)->pos[1] + 30.0, BANANA_ACTOR(actor)->pos[2]) + + (BANANA_ACTOR(actor)->boundingBoxSize + 1.0f); + } + player->soundEffects &= ~HOLD_BANANA_SOUND_EFFECT; + cpuStrategy->branch = CPU_STRATEGY_WAIT_NEXT_ITEM; + cpuStrategy->timer = 0; + break; + + case CPU_STRATEGY_ITEM_GREEN_SHELL: + if (gNumActors < 80) { + cpuStrategy->actorIndex = use_green_shell_item(player); + if ((cpuStrategy->actorIndex >= 0) && (cpuStrategy->actorIndex < 100)) { + cpuStrategy->branch = CPU_STRATEGY_HOLD_GREEN_SHELL; + cpuStrategy->timer = 0; + cpuStrategy->numItemUse += 1; + cpuStrategy->timeBeforeThrow = (random_int(3) * 20) + 10; } else { - temp_s0->branch = CPU_STRATEGY_WAIT_NEXT_ITEM; + cpuStrategy->branch = CPU_STRATEGY_WAIT_NEXT_ITEM; } - break; + } else { + cpuStrategy->branch = CPU_STRATEGY_WAIT_NEXT_ITEM; + } + break; - case CPU_STRATEGY_HOLD_GREEN_SHELL: - actor = &gActorList[temp_s0->actorIndex]; - if ((((!(actor->flags & 0x8000)) || (actor->type != ACTOR_GREEN_SHELL)) || - (actor->state != HELD_SHELL)) || - (playerId != actor->rot[2])) { - temp_s0->branch = CPU_STRATEGY_WAIT_NEXT_ITEM; - temp_s0->timer = 0; - } else if (temp_s0->timeBeforeThrow < temp_s0->timer) { - temp_s0->branch = CPU_STRATEGY_THROW_GREEN_SHELL; - temp_s0->timer = 0; - } - break; + case CPU_STRATEGY_HOLD_GREEN_SHELL: + actor = &gActorList[cpuStrategy->actorIndex]; + if ((((!(actor->flags & 0x8000)) || (actor->type != ACTOR_GREEN_SHELL)) || + (actor->state != HELD_SHELL)) || + (playerId != actor->rot[2])) { - case CPU_STRATEGY_THROW_GREEN_SHELL: - actor = &gActorList[temp_s0->actorIndex]; - if ((((!(actor->flags & 0x8000)) || (actor->type != ACTOR_GREEN_SHELL)) || - (actor->state != HELD_SHELL)) || - (playerId != actor->rot[2])) { - temp_s0->branch = CPU_STRATEGY_WAIT_NEXT_ITEM; - temp_s0->timer = 0; + // FAKE + if (!(actor->flags & 0x8000)) {} + if (actor->type != 7) {} + if (actor->state != 0) {} + if (actor->rot[0] != playerId) {} + + cpuStrategy->branch = CPU_STRATEGY_WAIT_NEXT_ITEM; + cpuStrategy->timer = 0; + } else if (cpuStrategy->timeBeforeThrow < cpuStrategy->timer) { + cpuStrategy->branch = CPU_STRATEGY_THROW_GREEN_SHELL; + cpuStrategy->timer = 0; + } + break; + + case CPU_STRATEGY_THROW_GREEN_SHELL: + actor = &gActorList[cpuStrategy->actorIndex]; + if ((((!(actor->flags & 0x8000)) || (actor->type != ACTOR_GREEN_SHELL)) || + (actor->state != HELD_SHELL)) || + (playerId != actor->rot[2])) { + + // FAKE + if (!(actor->flags & 0x8000)) {} + if (actor->type != 7) {} + if (actor->state != 0) {} + if (actor->rot[0] != playerId) {} + + cpuStrategy->branch = CPU_STRATEGY_WAIT_NEXT_ITEM; + cpuStrategy->timer = 0; + } else { + actor->state = RELEASED_SHELL; + cpuStrategy->timer = 0; + cpuStrategy->branch = CPU_STRATEGY_WAIT_NEXT_ITEM; + } + break; + + case CPU_STRATEGY_ITEM_RED_SHELL: + if (gNumActors < 80) { + cpuStrategy->actorIndex = use_red_shell_item(player); + if ((cpuStrategy->actorIndex >= 0) && (cpuStrategy->actorIndex < 100)) { + cpuStrategy->branch = CPU_STRATEGY_HOLD_RED_SHELL; + cpuStrategy->timer = 0; + cpuStrategy->numItemUse += 1; + cpuStrategy->timeBeforeThrow = (random_int(3) * 20) + 10; } else { - actor->state = RELEASED_SHELL; - temp_s0->timer = 0; - temp_s0->branch = CPU_STRATEGY_WAIT_NEXT_ITEM; + cpuStrategy->branch = CPU_STRATEGY_WAIT_NEXT_ITEM; } - break; + } else { + cpuStrategy->branch = CPU_STRATEGY_WAIT_NEXT_ITEM; + } + break; - case CPU_STRATEGY_ITEM_RED_SHELL: - if (((s32) gNumActors) < 0x50) { - temp_s0->actorIndex = use_red_shell_item(player); - if ((temp_s0->actorIndex >= 0) && (temp_s0->actorIndex < 0x64)) { - temp_s0->branch = CPU_STRATEGY_HOLD_RED_SHELL; - temp_s0->timer = 0; - temp_s0->numItemUse += 1; - temp_s0->timeBeforeThrow = (random_int(3U) * 0x14) + 0xA; - } else { - temp_s0->branch = CPU_STRATEGY_WAIT_NEXT_ITEM; - } + case CPU_STRATEGY_HOLD_RED_SHELL: + actor = &gActorList[cpuStrategy->actorIndex]; + if ((((!(SHELL_ACTOR(actor)->flags & 0x8000)) || (SHELL_ACTOR(actor)->type != ACTOR_RED_SHELL)) || + (SHELL_ACTOR(actor)->state != HELD_SHELL)) || + (playerId != SHELL_ACTOR(actor)->playerId)) { + + // FAKE + if (!(actor->flags & 0x8000)) {} + if (actor->type != 8) {} + if (actor->state != 0) {} + if (actor->rot[0] != playerId) {} + + cpuStrategy->branch = CPU_STRATEGY_WAIT_NEXT_ITEM; + cpuStrategy->timer = 0; + } else if (cpuStrategy->timeBeforeThrow < cpuStrategy->timer) { + cpuStrategy->branch = CPU_STRATEGY_THROW_RED_SHELL; + } + break; + + case CPU_STRATEGY_THROW_RED_SHELL: + clear_expired_strategies(cpuStrategy); + actor = &gActorList[cpuStrategy->actorIndex]; + if ((((!(SHELL_ACTOR(actor)->flags & 0x8000)) || (SHELL_ACTOR(actor)->type != ACTOR_RED_SHELL)) || + (SHELL_ACTOR(actor)->state != HELD_SHELL)) || + (playerId != SHELL_ACTOR(actor)->playerId)) { + + // FAKE + if (!(actor->flags & 0x8000)) {} + if (actor->type != 8) {} + if (actor->state != 0) {} + if (actor->rot[0] != playerId) {} + + cpuStrategy->branch = CPU_STRATEGY_WAIT_NEXT_ITEM; + cpuStrategy->timer = 0; + } else { + SHELL_ACTOR(actor)->state = RELEASED_SHELL; + cpuStrategy->timer = 0; + cpuStrategy->branch = CPU_STRATEGY_WAIT_NEXT_ITEM; + } + break; + + case CPU_STRATEGY_ITEM_BANANA_BUNCH: + if (gNumActors < 80) { + cpuStrategy->actorIndex = use_banana_bunch_item(player); + if ((cpuStrategy->actorIndex >= 0) && (cpuStrategy->actorIndex < 100)) { + cpuStrategy->branch = CPU_STRATEGY_WAIT_INIT_BANANA_BUNCH; + cpuStrategy->timer = 0; + cpuStrategy->numItemUse += 1; + cpuStrategy->timeBeforeThrow = (random_int(3) * 20) + 60; } else { - temp_s0->branch = CPU_STRATEGY_WAIT_NEXT_ITEM; + cpuStrategy->branch = CPU_STRATEGY_WAIT_NEXT_ITEM; } - break; + } else { + cpuStrategy->branch = CPU_STRATEGY_WAIT_NEXT_ITEM; + } + break; - case CPU_STRATEGY_HOLD_RED_SHELL: - shell = (struct ShellActor*) &gActorList[temp_s0->actorIndex]; - if ((((!(shell->flags & 0x8000)) || (shell->type != ACTOR_RED_SHELL)) || - (shell->state != HELD_SHELL)) || - (playerId != shell->playerId)) { - temp_s0->branch = CPU_STRATEGY_WAIT_NEXT_ITEM; - temp_s0->timer = 0; - } else if (temp_s0->timeBeforeThrow < temp_s0->timer) { - temp_s0->branch = CPU_STRATEGY_THROW_RED_SHELL; + case CPU_STRATEGY_WAIT_INIT_BANANA_BUNCH: + actor = &gActorList[cpuStrategy->actorIndex]; + if (BANANA_BUNCH_ACTOR(actor)->state == 6) { + + // FAKE + if (BANANA_BUNCH_ACTOR(actor)->state != -1) {} + if (BANANA_BUNCH_ACTOR(actor)->state == 6) {} + + isValidBanana2 = false; + + if (BANANA_BUNCH_ACTOR(actor)->bananaIndices[4] != (-1)) { + isValidBanana2 = true; } - break; + if (BANANA_BUNCH_ACTOR(actor)->bananaIndices[3] != (-1)) { + isValidBanana2 = true; + } + if (BANANA_BUNCH_ACTOR(actor)->bananaIndices[2] != (-1)) { + isValidBanana2 = true; + } + if (BANANA_BUNCH_ACTOR(actor)->bananaIndices[1] != (-1)) { + isValidBanana2 = true; + } + if (BANANA_BUNCH_ACTOR(actor)->bananaIndices[0] != (-1)) { + isValidBanana2 = true; + } + if ((BANANA_BUNCH_ACTOR(actor)->type != ACTOR_BANANA_BUNCH) || (isValidBanana2 == false)) { + if (BANANA_BUNCH_ACTOR(actor)->type != 14) {} + cpuStrategy->branch = CPU_STRATEGY_WAIT_NEXT_ITEM; + cpuStrategy->timer = 0; + } else if (cpuStrategy->timeBeforeThrow < cpuStrategy->timer) { + cpuStrategy->branch = CPU_STRATEGY_DROP_BANANA_BUNCH; + cpuStrategy->numDroppedBananaBunch = 0; + cpuStrategy->timer = 0; + } + } + break; - case CPU_STRATEGY_THROW_RED_SHELL: - clear_expired_strategies(temp_s0); - shell = (struct ShellActor*) &gActorList[temp_s0->actorIndex]; - if ((((!(shell->flags & 0x8000)) || (shell->type != ACTOR_RED_SHELL)) || - (shell->state != HELD_SHELL)) || - (playerId != shell->playerId)) { - temp_s0->branch = CPU_STRATEGY_WAIT_NEXT_ITEM; - temp_s0->timer = 0; + case CPU_STRATEGY_DROP_BANANA_BUNCH: + if (((cpuStrategy->timer) % 10) == 0) { + if (cpuStrategy->numDroppedBananaBunch < 5) { + isValidBanana1 = 0; + actor = &gActorList[cpuStrategy->actorIndex]; + switch (cpuStrategy->numDroppedBananaBunch) { + case 0: + if (BANANA_BUNCH_ACTOR(actor)->bananaIndices[4] != (-1)) { + isValidBanana1 = true; + } + break; + + case 1: + if (BANANA_BUNCH_ACTOR(actor)->bananaIndices[3] != (-1)) { + isValidBanana1 = true; + } + break; + + case 2: + if (BANANA_BUNCH_ACTOR(actor)->bananaIndices[2] != (-1)) { + isValidBanana1 = true; + } + break; + + case 3: + if (BANANA_BUNCH_ACTOR(actor)->bananaIndices[1] != (-1)) { + isValidBanana1 = true; + } + break; + + case 4: + if (BANANA_BUNCH_ACTOR(actor)->bananaIndices[0] != (-1)) { + isValidBanana1 = true; + } + break; + } + + if (((BANANA_BUNCH_ACTOR(actor)->type == ACTOR_BANANA_BUNCH) && (BANANA_BUNCH_ACTOR(actor)->state == 6)) && + (isValidBanana1 == true)) { + drop_banana_in_banana_bunch((struct BananaBunchParent*)actor); + } + cpuStrategy->numDroppedBananaBunch += 1; } else { - shell->state = RELEASED_SHELL; - temp_s0->timer = 0; - temp_s0->branch = CPU_STRATEGY_WAIT_NEXT_ITEM; + cpuStrategy->branch = CPU_STRATEGY_WAIT_NEXT_ITEM; + cpuStrategy->timer = 0; } - break; + } + break; - case CPU_STRATEGY_ITEM_BANANA_BUNCH: - if (((s32) gNumActors) < 0x50) { - temp_s0->actorIndex = use_banana_bunch_item(player); - if ((temp_s0->actorIndex >= 0) && (temp_s0->actorIndex < 0x64)) { - temp_s0->branch = CPU_STRATEGY_WAIT_INIT_BANANA_BUNCH; - temp_s0->timer = 0; - temp_s0->numItemUse += 1; - temp_s0->timeBeforeThrow = (random_int(3U) * 0x14) + 0x3C; - } else { - temp_s0->branch = CPU_STRATEGY_WAIT_NEXT_ITEM; - } - } else { - temp_s0->branch = CPU_STRATEGY_WAIT_NEXT_ITEM; + case CPU_STRATEGY_ITEM_FAKE_ITEM_BOX: + cpuStrategy->actorIndex = use_fake_itembox_item(player); + if ((cpuStrategy->actorIndex >= 0) && (cpuStrategy->actorIndex < 100)) { + cpuStrategy->branch = CPU_STRATEGY_HOLD_FAKE_ITEM_BOX; + cpuStrategy->timer = 0; + cpuStrategy->numItemUse += 1; + cpuStrategy->timeBeforeThrow = (random_int(3) * 20) + 10; + } else { + cpuStrategy->branch = CPU_STRATEGY_WAIT_NEXT_ITEM; + } + break; + + case CPU_STRATEGY_HOLD_FAKE_ITEM_BOX: + actor = &gActorList[cpuStrategy->actorIndex]; + if ((((!(FAKE_ITEMBOX_ACTOR(actor)->flags & 0x8000)) || (FAKE_ITEMBOX_ACTOR(actor)->type != ACTOR_FAKE_ITEM_BOX)) || + (FAKE_ITEMBOX_ACTOR(actor)->state != 0)) || + (playerId != ((s32) FAKE_ITEMBOX_ACTOR(actor)->playerId))) { + + // FAKE + if (!(actor->flags & 0x8000)) {} + if (actor->type != 13) {} + if (actor->state != 0) {} + if (actor->rot[0] != playerId) {} + + cpuStrategy->branch = CPU_STRATEGY_WAIT_NEXT_ITEM; + cpuStrategy->timer = 0; + } else if (cpuStrategy->timeBeforeThrow < cpuStrategy->timer) { + cpuStrategy->branch = CPU_STRATEGY_THROW_FAKE_ITEM_BOX; + } + break; + + case CPU_STRATEGY_THROW_FAKE_ITEM_BOX: + actor = &gActorList[cpuStrategy->actorIndex]; + if ((((!(FAKE_ITEMBOX_ACTOR(actor)->flags & 0x8000)) || (FAKE_ITEMBOX_ACTOR(actor)->type != ACTOR_FAKE_ITEM_BOX)) || + (FAKE_ITEMBOX_ACTOR(actor)->state != 0)) || + (playerId != ((s32) FAKE_ITEMBOX_ACTOR(actor)->playerId))) { + + // FAKE + if (!(FAKE_ITEMBOX_ACTOR(actor)->flags & 0x8000)) {} + if (FAKE_ITEMBOX_ACTOR(actor)->type != 13) {} + if (FAKE_ITEMBOX_ACTOR(actor)->state != 0) {} + if (FAKE_ITEMBOX_ACTOR(actor)->rot[0] != playerId) {} + + } else { + func_802A1064((struct FakeItemBox*)actor); + if (D_801631E0[playerId] == true) { + FAKE_ITEMBOX_ACTOR(actor)->pos[1] = + get_surface_height(FAKE_ITEMBOX_ACTOR(actor)->pos[0], FAKE_ITEMBOX_ACTOR(actor)->pos[1] + 30.0, FAKE_ITEMBOX_ACTOR(actor)->pos[2]) + + FAKE_ITEMBOX_ACTOR(actor)->boundingBoxSize; } - break; + } + cpuStrategy->branch = CPU_STRATEGY_WAIT_NEXT_ITEM; + cpuStrategy->timer = 0; + break; - case CPU_STRATEGY_WAIT_INIT_BANANA_BUNCH: - bananaBunchParent = (struct BananaBunchParent*) &gActorList[temp_s0->actorIndex]; - if (bananaBunchParent->state == 6) { - isNoProblem = false; - if (bananaBunchParent->bananaIndices[4] != (-1)) { - isNoProblem = true; - } - if (bananaBunchParent->bananaIndices[3] != (-1)) { - isNoProblem = true; - } - if (bananaBunchParent->bananaIndices[2] != (-1)) { - isNoProblem = true; - } - if (bananaBunchParent->bananaIndices[1] != (-1)) { - isNoProblem = true; - } - if (bananaBunchParent->bananaIndices[0] != (-1)) { - isNoProblem = true; - } - if ((bananaBunchParent->type != ACTOR_BANANA_BUNCH) || (isNoProblem == false)) { - temp_s0->branch = CPU_STRATEGY_WAIT_NEXT_ITEM; - temp_s0->timer = 0; - } else if (temp_s0->timeBeforeThrow < temp_s0->timer) { - temp_s0->branch = CPU_STRATEGY_DROP_BANANA_BUNCH; - temp_s0->numDroppedBananaBunch = 0; - temp_s0->timer = 0; - } - } - break; + case CPU_STRATEGY_ITEM_THUNDERBOLT: + use_thunder_item(player); + func_800CAC60(playerId); + func_8009E5BC(); + cpuStrategy->branch = CPU_STRATEGY_END_THUNDERBOLT; + cpuStrategy->timer = 0; + cpuStrategy->numItemUse += 1; + break; - case CPU_STRATEGY_DROP_BANANA_BUNCH: - if ((((s16) temp_s0->timer) % 10) == 0) { - if (temp_s0->numDroppedBananaBunch < 5) { - bananaBunchParent = (struct BananaBunchParent*) &gActorList[temp_s0->actorIndex]; - isNoProblem = 0; - switch (temp_s0->numDroppedBananaBunch) { - case 0: - if (bananaBunchParent->bananaIndices[4] != (-1)) { - isNoProblem = true; - } - break; + case CPU_STRATEGY_END_THUNDERBOLT: + if (cpuStrategy->timer >= 0xF1) { + func_800CAD40((s32) ((u8) playerId)); + cpuStrategy->branch = CPU_STRATEGY_WAIT_NEXT_ITEM; + cpuStrategy->timer = 0; + } + break; - case 1: - if (bananaBunchParent->bananaIndices[3] != (-1)) { - isNoProblem = true; - } - break; + case CPU_STRATEGY_ITEM_STAR: + player->soundEffects |= STAR_SOUND_EFFECT; + cpuStrategy->branch = CPU_STRATEGY_END_ITEM_STAR; + cpuStrategy->timer = 0; + cpuStrategy->numItemUse += 1; + break; - case 2: - if (bananaBunchParent->bananaIndices[2] != (-1)) { - isNoProblem = true; - } - break; + case CPU_STRATEGY_END_ITEM_STAR: + if (!(player->effects & STAR_EFFECT)) { + cpuStrategy->branch = CPU_STRATEGY_WAIT_NEXT_ITEM; + } + cpuStrategy->timer = 0; + break; - case 3: - if (bananaBunchParent->bananaIndices[1] != (-1)) { - isNoProblem = true; - } - break; + case CPU_STRATEGY_ITEM_BOO: + player->soundEffects |= BOO_SOUND_EFFECT; + cpuStrategy->branch = CPU_STRATEGY_WAIT_END_BOO; + cpuStrategy->timer = 0; + cpuStrategy->numItemUse += 1; + break; - case 4: - if (bananaBunchParent->bananaIndices[0] != (-1)) { - isNoProblem = true; - } - break; - } + case CPU_STRATEGY_WAIT_END_BOO: + if (!(player->effects & BOO_EFFECT)) { + cpuStrategy->branch = CPU_STRATEGY_WAIT_NEXT_ITEM; + } + cpuStrategy->timer = 0; + break; - if (((bananaBunchParent->type == ACTOR_BANANA_BUNCH) && (bananaBunchParent->state == 6)) && - (isNoProblem == true)) { - drop_banana_in_banana_bunch(bananaBunchParent); - } - temp_s0->numDroppedBananaBunch += 1; - } else { - temp_s0->branch = CPU_STRATEGY_WAIT_NEXT_ITEM; - temp_s0->timer = 0; - } - } - break; + case CPU_STRATEGY_ITEM_MUSHROOM: + player->soundEffects |= BOOST_SOUND_EFFECT; + cpuStrategy->branch = CPU_STRATEGY_WAIT_NEXT_ITEM; + cpuStrategy->timer = 0; + cpuStrategy->numItemUse += 1; + break; - case CPU_STRATEGY_ITEM_FAKE_ITEM_BOX: - temp_s0->actorIndex = use_fake_itembox_item(player); - if ((temp_s0->actorIndex >= 0) && (temp_s0->actorIndex < 0x64)) { - temp_s0->branch = CPU_STRATEGY_HOLD_FAKE_ITEM_BOX; - temp_s0->timer = 0; - temp_s0->numItemUse += 1; - temp_s0->timeBeforeThrow = (random_int(3U) * 0x14) + 0xA; - } else { - temp_s0->branch = CPU_STRATEGY_WAIT_NEXT_ITEM; - } - break; - - case CPU_STRATEGY_HOLD_FAKE_ITEM_BOX: - fakeItemBox = (struct FakeItemBox*) &gActorList[temp_s0->actorIndex]; - if ((((!(fakeItemBox->flags & 0x8000)) || (fakeItemBox->type != ACTOR_FAKE_ITEM_BOX)) || - (fakeItemBox->state != 0)) || - (playerId != ((s32) fakeItemBox->playerId))) { - temp_s0->branch = CPU_STRATEGY_WAIT_NEXT_ITEM; - temp_s0->timer = 0; - } else if (temp_s0->timeBeforeThrow < temp_s0->timer) { - temp_s0->branch = CPU_STRATEGY_THROW_FAKE_ITEM_BOX; - } - break; - - case CPU_STRATEGY_THROW_FAKE_ITEM_BOX: - fakeItemBox = (struct FakeItemBox*) &gActorList[temp_s0->actorIndex]; - if ((((!(fakeItemBox->flags & 0x8000)) || (fakeItemBox->type != ACTOR_FAKE_ITEM_BOX)) || - (fakeItemBox->state != 0)) || - (playerId != ((s32) fakeItemBox->playerId))) { - if (playerId != fakeItemBox->rot[0]) {} - } else { - func_802A1064(fakeItemBox); - if (D_801631E0[playerId] == true) { - fakeItemBox->pos[1] = - get_surface_height(fakeItemBox->pos[0], fakeItemBox->pos[1] + 30.0, fakeItemBox->pos[2]) + - fakeItemBox->boundingBoxSize; - } - } - temp_s0->branch = CPU_STRATEGY_WAIT_NEXT_ITEM; - temp_s0->timer = 0; - break; - - case CPU_STRATEGY_ITEM_THUNDERBOLT: - use_thunder_item(player); - func_800CAC60(playerId); - func_8009E5BC(); - temp_s0->branch = CPU_STRATEGY_END_THUNDERBOLT; - temp_s0->timer = 0; - temp_s0->numItemUse += 1; - break; - - case CPU_STRATEGY_END_THUNDERBOLT: - if (temp_s0->timer >= 0xF1) { - func_800CAD40((s32) ((u8) playerId)); - temp_s0->branch = CPU_STRATEGY_WAIT_NEXT_ITEM; - temp_s0->timer = 0; - } - break; - - case CPU_STRATEGY_ITEM_STAR: - player->soundEffects |= STAR_SOUND_EFFECT; - temp_s0->branch = CPU_STRATEGY_END_ITEM_STAR; - temp_s0->timer = 0; - temp_s0->numItemUse += 1; - break; - - case CPU_STRATEGY_END_ITEM_STAR: - if (!(player->effects & STAR_EFFECT)) { - temp_s0->branch = CPU_STRATEGY_WAIT_NEXT_ITEM; - } - temp_s0->timer = 0; - break; - - case CPU_STRATEGY_ITEM_BOO: - player->soundEffects |= BOO_SOUND_EFFECT; - temp_s0->branch = CPU_STRATEGY_WAIT_END_BOO; - temp_s0->timer = 0; - temp_s0->numItemUse += 1; - break; - - case CPU_STRATEGY_WAIT_END_BOO: - if (!(player->effects & BOO_EFFECT)) { - temp_s0->branch = CPU_STRATEGY_WAIT_NEXT_ITEM; - } - temp_s0->timer = 0; - break; - - case CPU_STRATEGY_ITEM_MUSHROOM: + case CPU_STRATEGY_ITEM_DOUBLE_MUSHROOM: + if (cpuStrategy->timer >= 0x3D) { player->soundEffects |= BOOST_SOUND_EFFECT; - temp_s0->branch = CPU_STRATEGY_WAIT_NEXT_ITEM; - temp_s0->timer = 0; - temp_s0->numItemUse += 1; - break; + cpuStrategy->branch = CPU_STRATEGY_ITEM_MUSHROOM; + cpuStrategy->timer = 0; + } + break; - case CPU_STRATEGY_ITEM_DOUBLE_MUSHROOM: - if (temp_s0->timer >= 0x3D) { - player->soundEffects |= BOOST_SOUND_EFFECT; - temp_s0->branch = CPU_STRATEGY_ITEM_MUSHROOM; - temp_s0->timer = 0; + case CPU_STRATEGY_ITEM_TRIPLE_MUSHROOM: + if (cpuStrategy->timer >= 0x3D) { + player->soundEffects |= BOOST_SOUND_EFFECT; + cpuStrategy->branch = CPU_STRATEGY_ITEM_DOUBLE_MUSHROOM; + cpuStrategy->timer = 0; + } + break; + + case CPU_STRATEGY_ITEM_SUPER_MUSHROOM: + cpuStrategy->branch = CPU_STRATEGY_USE_SUPER_MUSHROOM; + cpuStrategy->timer = 0; + cpuStrategy->timeBeforeThrow = 0x0258; + break; + + case CPU_STRATEGY_USE_SUPER_MUSHROOM: + if ((((s16) cpuStrategy->timer) % 60) == 0) { + player->soundEffects |= BOOST_SOUND_EFFECT; + if (cpuStrategy->timeBeforeThrow < cpuStrategy->timer) { + cpuStrategy->timer = 0; + cpuStrategy->branch = CPU_STRATEGY_WAIT_NEXT_ITEM; } - break; + } + break; - case CPU_STRATEGY_ITEM_TRIPLE_MUSHROOM: - if (temp_s0->timer >= 0x3D) { - player->soundEffects |= BOOST_SOUND_EFFECT; - temp_s0->branch = CPU_STRATEGY_ITEM_DOUBLE_MUSHROOM; - temp_s0->timer = 0; - } - break; + default: + break; + } - case CPU_STRATEGY_ITEM_SUPER_MUSHROOM: - temp_s0->branch = CPU_STRATEGY_USE_SUPER_MUSHROOM; - temp_s0->timer = 0; - temp_s0->timeBeforeThrow = 0x0258; - break; - - case CPU_STRATEGY_USE_SUPER_MUSHROOM: - if ((((s16) temp_s0->timer) % 60) == 0) { - player->soundEffects |= BOOST_SOUND_EFFECT; - if (temp_s0->timeBeforeThrow < temp_s0->timer) { - temp_s0->branch = CPU_STRATEGY_WAIT_NEXT_ITEM; - temp_s0->timer = 0; - } - } - break; - - default: - break; - } - - if (temp_s0->timer < 0x2710) { - temp_s0->timer += 1; - } - if (player->effects & (BOO_EFFECT | BOOST_EFFECT | STAR_EFFECT)) { // 0x80002200 - temp_s0->timer = 0; - } + if (cpuStrategy->timer < 10000) { + cpuStrategy->timer += 1; + } + if (player->effects & (BOO_EFFECT | BOOST_EFFECT | STAR_EFFECT)) { // 0x80002200 + cpuStrategy->timer = 0; } } -#else -GLOBAL_ASM("asm/non_matchings/cpu_vehicles_camera_path/cpu_use_item_strategy.s") -#endif + +#undef BANANA_ACTOR +#undef SHELL_ACTOR +#undef FAKE_ITEMBOX_ACTOR +#undef BANANA_BUNCH void func_8001BE78(void) { Player* temp_s1; diff --git a/src/cpu_vehicles_camera_path/bomb_kart.inc.c b/src/cpu_vehicles_camera_path/bomb_kart.inc.c index 8ad48aea0..f2facdcdf 100644 --- a/src/cpu_vehicles_camera_path/bomb_kart.inc.c +++ b/src/cpu_vehicles_camera_path/bomb_kart.inc.c @@ -183,7 +183,7 @@ void func_8000DF8C(s32 bombKartId) { D_80162FC0[0] = temp_v0_2->posX + sp118; D_80162FC0[1] = temp_v0_2->posY; D_80162FC0[2] = temp_v0_2->posZ + temp_f0_3; - spC2 = (get_angle_between_two_vectors(D_80162FB0, D_80162FC0) * 0xFFFF) / 65520; + spC2 = (get_angle_between_points(D_80162FB0, D_80162FC0) * 0xFFFF) / 65520; break; case 2: var_s1 = (var_s1 + 4) % 360; @@ -203,7 +203,7 @@ void func_8000DF8C(s32 bombKartId) { D_80162FC0[0] = temp_v0_2->posX + sp118; D_80162FC0[1] = temp_v0_2->posY; D_80162FC0[2] = temp_v0_2->posZ + temp_f0_3; - spC2 = (get_angle_between_two_vectors(D_80162FB0, D_80162FC0) * 0xFFFF) / 65520; + spC2 = (get_angle_between_points(D_80162FB0, D_80162FC0) * 0xFFFF) / 65520; break; case 3: var_f20 = bombKart->yPos + 3.5f; @@ -227,7 +227,7 @@ void func_8000DF8C(s32 bombKartId) { D_80162FC0[0] = temp_v0_4->posX; D_80162FC0[1] = temp_v0_4->posY; D_80162FC0[2] = temp_v0_4->posZ; - spC2 = (get_angle_between_two_vectors(D_80162FB0, D_80162FC0) * 0xFFFF) / 65520; + spC2 = (get_angle_between_points(D_80162FB0, D_80162FC0) * 0xFFFF) / 65520; } else { D_80162FB0[0] = var_f22; D_80162FB0[1] = var_f20; @@ -235,7 +235,7 @@ void func_8000DF8C(s32 bombKartId) { D_80162FC0[0] = -2409.197f; D_80162FC0[1] = 0.0f; D_80162FC0[2] = -355.254f; - spC2 = (get_angle_between_two_vectors(D_80162FB0, D_80162FC0) * 0xFFFF) / 65520; + spC2 = (get_angle_between_points(D_80162FB0, D_80162FC0) * 0xFFFF) / 65520; } temp_f14 = ((D_80162FB0[0] + D_80162FC0[0]) * 0.5f) - var_f22; temp_f16 = ((D_80162FB0[2] + D_80162FC0[2]) * 0.5f) - var_f24; @@ -265,7 +265,7 @@ void func_8000DF8C(s32 bombKartId) { D_80162FC0[1] = temp_v0_4->posY; D_80162FC0[2] = temp_v0_4->posZ; var_f20 += 3.0f - (var_s1 * 0.3f); - spC2 = (get_angle_between_two_vectors(D_80162FB0, D_80162FC0) * 0xFFFF) / 65520; + spC2 = (get_angle_between_points(D_80162FB0, D_80162FC0) * 0xFFFF) / 65520; break; default: break; diff --git a/src/cpu_vehicles_camera_path/path_calc.inc.c b/src/cpu_vehicles_camera_path/path_calc.inc.c index ddf1b850b..0a61d2b89 100644 --- a/src/cpu_vehicles_camera_path/path_calc.inc.c +++ b/src/cpu_vehicles_camera_path/path_calc.inc.c @@ -243,7 +243,7 @@ s16 calculate_angle_path(s32 pathIndex, s32 pathPointIndex) { sp24[0] = temp_v0->posX; sp24[1] = temp_v0->posY; sp24[2] = temp_v0->posZ; - ret = get_angle_between_two_vectors(sp30, sp24); + ret = get_angle_between_points(sp30, sp24); return -ret; } diff --git a/src/cpu_vehicles_camera_path/vehicle_utils.inc.c b/src/cpu_vehicles_camera_path/vehicle_utils.inc.c index 270520d04..2c3572f67 100644 --- a/src/cpu_vehicles_camera_path/vehicle_utils.inc.c +++ b/src/cpu_vehicles_camera_path/vehicle_utils.inc.c @@ -754,7 +754,7 @@ void update_vehicle_follow_pathPoint(VehicleStuff* vehicle) { sp34[0] = vehicle->position[1]; sp34[1] = 0.0f; sp34[2] = sqrtf((temp_f0_3 * temp_f0_3) + (temp_f2_2 * temp_f2_2)); - thing = get_angle_between_two_vectors(sp40, sp34); + thing = get_angle_between_points(sp40, sp34); adjust_angle(&vehicle->rotation[0], -thing, 100); vehicle->velocity[0] = vehicle->position[0] - sp5C; vehicle->velocity[1] = vehicle->position[1] - sp58; diff --git a/src/crash_screen.c b/src/crash_screen.c index 8e009e8cf..18a4cab31 100644 --- a/src/crash_screen.c +++ b/src/crash_screen.c @@ -79,9 +79,9 @@ void crash_screen_draw_square(u16* framebuffer) { s32 j; for (h = 0; h < 2; h++) { - for (i = (h * BORDER_WIDTH) + SQUARE_Y; i < (((SQUARE_Y2 - (h * BORDER_WIDTH)))); i++) { - for (j = (h * BORDER_WIDTH) + SQUARE_X; j < (((SQUARE_X2 - (h * BORDER_WIDTH)))); j++) { - framebuffer[(i * 320) + j] = (h == 0) ? (0xF801) : (0xFFFF); + for (i = (h * BORDER_WIDTH) + SQUARE_Y; i < (SQUARE_Y2 - (h * BORDER_WIDTH)); i++) { + for (j = (h * BORDER_WIDTH) + SQUARE_X; j < (SQUARE_X2 - (h * BORDER_WIDTH)); j++) { + framebuffer[(i * 320) + j] = (h == 0) ? (RED_COLOUR) : (WHITE_COLOUR); } } } diff --git a/src/effects.c b/src/effects.c index a57157f34..6b48a36cb 100644 --- a/src/effects.c +++ b/src/effects.c @@ -1891,7 +1891,7 @@ void func_80090970(Player* player, s8 playerId, s8 arg2) { case 2: func_80090178(player, playerId, sp44, sp38); // Fakematch found by Verti, who knows what's going on here - player->rotation[1] = (u16) -get_angle_between_two_vectors(sp44, sp38) & 0xFFFF; + player->rotation[1] = (u16) -get_angle_between_points(sp44, sp38) & 0xFFFF; player->pos[0] = sp44[0]; player->pos[1] = sp44[1] + 40.0f; player->pos[2] = sp44[2]; diff --git a/src/menu_items.c b/src/menu_items.c index 97538074f..57c7e46ba 100644 --- a/src/menu_items.c +++ b/src/menu_items.c @@ -1747,40 +1747,40 @@ s32 func_80092EE4(char* character) { temp_t6 = (character[1] + 0x80); var_v1 = 2; - switch (character[0]) { /* switch 3; irregular */ - case -95: /* switch 3 */ - switch (temp_t6) { /* switch 1 */ - case 0x22: /* switch 1 */ - case 0x24: /* switch 1 */ + switch (character[0]) { + case -95: + switch (temp_t6) { + case 0x22: + case 0x24: var_v1 = 0x000000EA; break; - case 0x23: /* switch 1 */ + case 0x23: var_v1 = 0x000000E9; break; - case 0x25: /* switch 1 */ + case 0x25: var_v1 = 0x000000D0; break; - case 0x2A: /* switch 1 */ + case 0x2A: var_v1 = 0x000000E8; break; - case 0x30: /* switch 1 */ + case 0x30: var_v1 = 0x000000EB; break; - case 0x47: /* switch 1 */ + case 0x47: var_v1 = 0x000000D1; break; - case 0x49: /* switch 1 */ + case 0x49: var_v1 = 0x000000D2; break; - case 0x5C: /* switch 1 */ + case 0x5C: var_v1 = 0x000000D3; break; - case 0x3C: /* switch 1 */ - case 0x3D: /* switch 1 */ - case 0x5D: /* switch 1 */ + case 0x3C: + case 0x3D: + case 0x5D: var_v1 = 0x000000D4; break; - default: /* switch 1 */ + default: break; } break; @@ -2910,112 +2910,107 @@ Gfx* func_800963F0(Gfx* displayListHead, s8 arg1, s32 arg2, s32 arg3, f32 arg4, } extern u8 D_0B002A00[]; -#ifdef NON_MATCHING -// https://decomp.me/scratch/xV83r -// Possibly a missed variable rename or just weird diffs. - -// I don't know what this actually meant to be. Its plausible that its meant to be a reference to -// `gTextureTitleChocoMountain` That would be weird though because this function doesn't draw that picture at all. So -// its plausible that its instead using it as some form semi-random data for the static pattern? - -// This function is responsible for drawing a near unnoticeable static pattern -// over the course images when loading the cup selection screen -// Try locking the word at `8018DC80` to see something like 0x20 just before confirming character selection to make it -// last longer - -Gfx* func_80096CD8(Gfx* displayListHead, s32 arg1, s32 arg2, u32 width, u32 arg4) { - u32 var_s1_3; - u32 var_fp; - u32 var_v0; - u32 var_a1; - s32 var_ra = 1; - s32 spCC; +/** + * + * This function is responsible for drawing a near unnoticeable static pattern + * over the course images when loading the cup selection screen. + * It may or may not use gTextureTitleChocoMountain to create that pattern. + * Try locking the word at `8018DC80` to see something like 0x20 just before confirming character selection to make it + * last longer + */ +Gfx* func_80096CD8(Gfx* displayListHead, s32 xPos, s32 yPos, u32 width, u32 height) { + u32 x; + u32 y; + UNUSED s32 pad; + u32 rectXoffset; + u32 rectYoffset; + s32 tileWidth = 1; + s32 tileHeight; s32 masks = 0; s32 maskt = 0; - s32 rand; + s32 rnd; - while (var_ra < (s32) width) { - var_ra *= 2; + while ((u32)tileWidth < width) { + tileWidth *= 2; } - spCC = 0x400 / var_ra; - - while ((spCC / 2) > (s32) arg4) { - spCC /= 2; + tileHeight = 1024 / tileWidth; + while ((u32)(tileHeight / 2) > height) { + tileHeight /= 2; } - rand = var_ra; - while (rand > 1) { - rand /= 2; + rnd = tileWidth; + while (rnd > 1) { + rnd /= 2; masks += 1; } - rand = spCC; - while (rand > 1) { - rand /= 2; + rnd = tileHeight; + while (rnd > 1) { + rnd /= 2; maskt += 1; } - if (arg1 < 0) { - width -= arg1; - arg1 = 0; - } else if ((arg1 + width) > SCREEN_WIDTH) { - width = SCREEN_WIDTH - arg1; + if (xPos < 0) { + width -= xPos; + xPos = 0; + } else if ((xPos + width) > SCREEN_WIDTH) { + width = SCREEN_WIDTH - xPos; } - if (arg2 < 0) { - arg4 -= arg2; - arg2 = 0; - } else if ((arg2 + arg4) > SCREEN_HEIGHT) { - arg4 = SCREEN_HEIGHT - arg2; + if (yPos < 0) { + height -= yPos; + yPos = 0; + } else if ((yPos + height) > SCREEN_HEIGHT) { + height = SCREEN_HEIGHT - yPos; } if (width == 0) { return displayListHead; } - if (arg4 == 0) { + if (height == 0) { return displayListHead; } - rand = random_int(100); - displayListHead = draw_box(displayListHead, arg1, arg2, arg1 + width, arg2 + arg4, 0, 0, 0, rand); - rand += 150; + rnd = random_int(100); + displayListHead = draw_box(displayListHead, xPos, yPos, xPos + width, yPos + height, 0, 0, 0, rnd); + rnd += 150; + gDPPipeSync(displayListHead++); gDPSetRenderMode(displayListHead++, G_RM_XLU_SURF, G_RM_XLU_SURF2); - gDPSetPrimColor(displayListHead++, 0, 0, rand, rand, rand, rand); + gDPSetPrimColor(displayListHead++, 0, 0, rnd, rnd, rnd, rnd); gDPSetCombineMode(displayListHead++, G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM); - for (var_fp = arg2; var_fp < (arg2 + arg4); var_fp += spCC) { - if ((var_fp + spCC) > (arg2 + arg4)) { - var_v0 = (arg2 + arg4) - var_fp; - if (var_v0 == 0) { + + for (y = yPos; y < (yPos + height); y += tileHeight) { + if ((y + tileHeight) > (yPos + height)) { + rectYoffset = yPos + height - y; + if (rectYoffset == 0) { break; } } else { - var_v0 = spCC; + rectYoffset = tileHeight; } - for (var_s1_3 = arg1; var_s1_3 < (arg1 + width); var_s1_3 += var_ra) { - if ((var_s1_3 + var_ra) > (arg1 + width)) { - var_a1 = (arg1 + width) - var_s1_3; - if (var_a1 == 0) { + for (x = xPos; x < xPos + width; x += tileWidth) { + if (x + tileWidth > xPos + width) { + rectXoffset = xPos + width - x; + if (rectXoffset == 0) { break; } - } else { - var_a1 = var_ra; - } - gDPLoadTextureTile(displayListHead++, D_0B002A00 + (random_int(128) * 2), G_IM_FMT_IA, G_IM_SIZ_16b, width, - arg4, var_s1_3, var_fp, var_s1_3 + var_a1, var_fp + var_v0, 0, G_TX_NOMIRROR | G_TX_WRAP, - G_TX_NOMIRROR | G_TX_WRAP, masks, maskt, G_TX_NOLOD, G_TX_NOLOD); + } else + rectXoffset = tileWidth; - gSPTextureRectangle(displayListHead++, var_s1_3 * 4, var_fp * 4, (var_s1_3 + var_a1) * 4, - (var_fp + var_v0) * 4, 0, (var_s1_3 * 32) & 0xFFFF, (var_fp * 32) & 0xFFFF, 1024, 1024); + gDPLoadTextureTile( + displayListHead++, (D_0B002A00 + random_int(128) * 2), G_IM_FMT_IA, G_IM_SIZ_16b, width, height, x, y, + x + rectXoffset, y + rectYoffset, 0, G_TX_WRAP, G_TX_WRAP, masks, maskt, G_TX_NOLOD, G_TX_NOLOD + ); + gSPTextureRectangle( + displayListHead++, x << 2, y << 2, (x + rectXoffset) << 2, (y + rectYoffset) << 2, G_TX_RENDERTILE, + (x * 32) & 0xFFFF, (y * 32) & 0xFFFF, 1024, 1024 + ); } } return displayListHead; } -#else -GLOBAL_ASM("asm/non_matchings/menu_items/func_80096CD8.s") -#endif -#ifdef NON_MATCHING Gfx* func_80097274(Gfx* displayListHead, s8 arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6, s32 arg7, s32 arg8, s32 arg9, UNUSED u16* argA, u32 argB, u32 argC, UNUSED s32 argD) { u32 var_a1_2 = arg4; @@ -3028,103 +3023,82 @@ Gfx* func_80097274(Gfx* displayListHead, s8 arg1, s32 arg2, s32 arg3, s32 arg4, s32 sp68 = 0; s32 sp64 = 0; s32 var_v0_2; - gDPPipeSync(displayListHead++); gDPSetCycleType(displayListHead++, G_CYC_2CYCLE); gDPSetTextureLOD(displayListHead++, G_TL_TILE); gDPSetPrimColor(displayListHead++, 0, 0, 0, 0, 0, gGlobalTimer % 256); - gDPSetCombineLERP(displayListHead++, TEXEL1, TEXEL0, PRIMITIVE_ALPHA, TEXEL0, TEXEL1, TEXEL0, PRIMITIVE, TEXEL0, 0, - 0, 0, COMBINED, 0, 0, 0, COMBINED); - - while (var_t0 < (s32) argB) { + gDPSetCombineLERP(displayListHead++, TEXEL1, TEXEL0, PRIMITIVE_ALPHA, TEXEL0, TEXEL1, TEXEL0, PRIMITIVE, TEXEL0, 0, 0, 0, COMBINED, 0, 0, 0, COMBINED); + while ((u32)var_t0 < argB) { var_t0 *= 2; } - temp_lo = 0x400 / var_t0; - - while ((temp_lo / 2) > (s32) argC) { + while((u32)(temp_lo / 2) > argC) { temp_lo /= 2; } - var_v0_2 = var_t0; while (var_v0_2 > 1) { var_v0_2 /= 2; sp68 += 1; } var_v0_2 = temp_lo; - while (var_v0_2 > 1) { var_v0_2 /= 2; sp64 += 1; } - if (arg8 < 0) { arg4 -= arg8; arg8 = 0; - } else if (((arg6 - arg4) + arg8) > SCREEN_WIDTH) { - arg6 = (arg4 - arg8) + SCREEN_WIDTH; + } else if (((arg6 - arg4) + arg8) > 320) { + arg6 = (arg4 - arg8) + 320; } - if (arg9 < 0) { arg5 -= arg9; arg9 = 0; - } else if (((arg7 - arg5) + arg9) > SCREEN_HEIGHT) { - arg7 = (arg5 - arg9) + SCREEN_HEIGHT; + } else if (((arg7 - arg5) + arg9) > 240) { + arg7 = (arg5 - arg9) + 240; } - if (arg6 < arg4) { return displayListHead; } if (arg7 < arg5) { return displayListHead; } - sp7C = arg8; - for (var_s3 = arg5; var_s3 < (u32) arg7; var_s3 += temp_lo) { - - if (arg7 < (s32) (temp_lo + var_s3)) { - var_s4 = arg7 - var_s3; - if (!var_s4) { - break; - } - } else { - var_s4 = temp_lo; - } - - for (var_a1_2 = arg4; var_a1_2 < (u32) arg6; var_a1_2 += var_t0) { - - if (arg6 < (s32) (var_t0 + var_a1_2)) { - var_s2 = arg6 - var_a1_2; - if (!var_s2) { + sp7C = arg8; + for (var_s3 = arg5; var_s3 < (u32)arg7; var_s3 += temp_lo) { + if ((u32)arg7 < temp_lo + var_s3) { + var_s4 = arg7 - var_s3; + if (!var_s4) { break; } } else { - var_s2 = var_t0; + var_s4 = temp_lo; } - - gDPLoadMultiTile(displayListHead++, arg1, 0, G_TX_RENDERTILE, arg2, G_IM_SIZ_16b, argB, argC, var_a1_2, - var_s3, var_a1_2 + var_s2, var_s3 + var_s4, 0, G_TX_WRAP, G_TX_WRAP, sp68, sp64, - G_TX_NOLOD, G_TX_NOLOD); - - gDPLoadMultiTile(displayListHead++, D_0B002A00 + random_int(128) * 2, 256, G_TX_RENDERTILE + 1, arg2, - G_IM_SIZ_16b, argB, argC, var_a1_2, var_s3, var_a1_2 + var_s2, var_s3 + var_s4, 0, - G_TX_WRAP, G_TX_WRAP, sp68, sp64, G_TX_NOLOD, G_TX_NOLOD); - - gSPTextureRectangle(displayListHead++, arg8 * 4, arg9 * 4, (arg8 + var_s2) * 4, (arg9 + var_s4) * 4, 0, - (var_a1_2 * 32) & 0xFFFF, (var_s3 * 32) & 0xFFFF, arg2, arg3); - - arg8 += var_t0; - } - - arg8 = sp7C; - arg9 += temp_lo; - } + for (var_a1_2 = arg4; var_a1_2 < (u32)arg6; var_a1_2 += var_t0) { + if ((u32)arg6 < var_t0 + var_a1_2) { + var_s2 = arg6 - var_a1_2; + if (!var_s2) { + break; + } + } else { + var_s2 = var_t0; + } + gDPLoadMultiTile(displayListHead++, argA, 0, G_TX_RENDERTILE, arg1, G_IM_SIZ_16b, + argB, argC, var_a1_2, var_s3, var_a1_2 + var_s2, var_s3 + var_s4, 0, + G_TX_WRAP, G_TX_WRAP, sp68, sp64, G_TX_NOLOD, G_TX_NOLOD); + gDPLoadMultiTile(displayListHead++, D_0B002A00 + random_int(128) * 2, 256, G_TX_RENDERTILE+1, arg1, G_IM_SIZ_16b, + argB, argC, var_a1_2, var_s3, var_a1_2 + var_s2, var_s3 + var_s4, 0, + G_TX_WRAP, G_TX_WRAP, sp68, sp64, G_TX_NOLOD, G_TX_NOLOD); + gSPTextureRectangle(displayListHead++, arg8 * 4, arg9 * 4, (arg8 + var_s2) * 4, (arg9 + var_s4) * 4, 0, + (var_a1_2 * 32) & 0xFFFF, (var_s3 * 32) & 0xFFFF, arg2, arg3); + arg8 += var_t0; + } + arg8 = sp7C; + arg9 += temp_lo; + } gDPPipeSync(displayListHead++); gDPSetCycleType(displayListHead++, G_CYC_1CYCLE); return displayListHead; } -#else -GLOBAL_ASM("asm/non_matchings/menu_items/func_80097274.s") -#endif Gfx* func_80097A14(Gfx* displayListHead, s8 arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6, s32 arg7, u8* arg8, u32 arg9, u32 argA) { @@ -3727,29 +3701,22 @@ void func_80099E60(MenuTexture* arg0, s32 arg1, s32 arg2) { var_v1->unk6 = arg2; } -#ifdef NON_MATCHING -// https://decomp.me/scratch/rUXbD -// Some fakematch nonsense, may or may not be necessary -// Issue is with instruction ordering near the first `osPiStartDma` call void func_80099EC4(void) { s8 var_s4; s32 var_s0; - UNUSED s32 stackPadding0; - UNUSED s32 stackPadding1; + UNUSED s32 pad[2]; OSIoMesg sp68; OSMesg sp64; s32 huh; - u8* test; - MenuTexture* temp_s2; - struct_8018E0E8_entry* var_s1; + MenuTexture *temp_s2; + struct_8018E0E8_entry *var_s1; var_s4 = 0; var_s1 = D_8018E0E8; temp_s2 = var_s1->mk64Texture; - - if (temp_s2 == NULL) - return; - + + if (temp_s2 == NULL) return; + huh = temp_s2->size; if (huh != 0) { var_s0 = huh; @@ -3759,12 +3726,9 @@ void func_80099EC4(void) { if (var_s0 % 8) { var_s0 = ((var_s0 / 8) * 8) + 8; } - osInvalDCache(gMenuCompressedBuffer, var_s0); - test = &_textures_0aSegmentRomStart[SEGMENT_OFFSET(temp_s2->textureData)]; - osPiStartDma(&sp68, 0, 0, (uintptr_t) test, gMenuCompressedBuffer, var_s0, &gDmaMesgQueue); + osInvalDCache((void*)gMenuCompressedBuffer, var_s0); + osPiStartDma(&sp68, 0, 0, (u32)_textures_0aSegmentRomStart + SEGMENT_OFFSET(temp_s2->textureData), gMenuCompressedBuffer, var_s0, &gDmaMesgQueue); if ((var_s0 && var_s0) && var_s0) {} - // osPiStartDma(&sp68, 0, 0, &_textures_0aSegmentRomStart[SEGMENT_OFFSET(temp_s2->textureData)], - // gMenuCompressedBuffer, var_s0, &gDmaMesgQueue); osRecvMesg(&gDmaMesgQueue, &sp64, 1); while (1) { if ((var_s1 + 1)->mk64Texture == NULL) { @@ -3780,16 +3744,13 @@ void func_80099EC4(void) { if (var_s0 % 8) { var_s0 = ((var_s0 / 8) * 8) + 8; } - osInvalDCache(gMenuCompressedBuffer + 0x1400, var_s0); - osPiStartDma(&sp68, 0, 0, (uintptr_t) &_textures_0aSegmentRomStart[SEGMENT_OFFSET(temp_s2->textureData)], - gMenuCompressedBuffer + 0x1400, var_s0, &gDmaMesgQueue); + osInvalDCache(gMenuCompressedBuffer + 0x500, var_s0); + osPiStartDma(&sp68, 0, 0, (u32)_textures_0aSegmentRomStart + SEGMENT_OFFSET(temp_s2->textureData), gMenuCompressedBuffer + 0x500, var_s0, &gDmaMesgQueue); } - mio0decode((u8*) gMenuCompressedBuffer, - (u8*) D_802BFB80.arraySize4[var_s1->unk6][var_s1->unk4 / 2][(var_s1->unk4 % 2) + 2].pixel_index_array); + mio0decode((u8*)gMenuCompressedBuffer, D_802BFB80.arraySize4[var_s1->unk6][var_s1->unk4 / 2][(var_s1->unk4 % 2) + 2].pixel_index_array); var_s1->mk64Texture = NULL; var_s1++; - if (var_s4 != 0) - break; + if (var_s4 != 0) break; osRecvMesg(&gDmaMesgQueue, &sp64, 1); if ((var_s1 + 1)->mk64Texture == NULL) { var_s4 += 1; @@ -3805,21 +3766,15 @@ void func_80099EC4(void) { var_s0 = ((var_s0 / 8) * 8) + 8; } osInvalDCache(gMenuCompressedBuffer, var_s0); - osPiStartDma(&sp68, 0, 0, (uintptr_t) &_textures_0aSegmentRomStart[SEGMENT_OFFSET(temp_s2->textureData)], - gMenuCompressedBuffer, var_s0, &gDmaMesgQueue); + osPiStartDma(&sp68, 0, 0, (u32)_textures_0aSegmentRomStart + SEGMENT_OFFSET(temp_s2->textureData), gMenuCompressedBuffer, var_s0, &gDmaMesgQueue); } - mio0decode((u8*) gMenuCompressedBuffer + 0x1400, - (u8*) D_802BFB80.arraySize4[var_s1->unk6][var_s1->unk4 / 2][(var_s1->unk4 % 2) + 2].pixel_index_array); + mio0decode((u8*)(gMenuCompressedBuffer + 0x500), D_802BFB80.arraySize4[var_s1->unk6][var_s1->unk4 / 2][(var_s1->unk4 % 2) + 2].pixel_index_array); var_s1->mk64Texture = NULL; var_s1++; - if (var_s4 != 0) - break; + if (var_s4 != 0) break; osRecvMesg(&gDmaMesgQueue, &sp64, 1); } } -#else -GLOBAL_ASM("asm/non_matchings/menu_items/func_80099EC4.s") -#endif void func_8009A238(MenuTexture* arg0, s32 arg1) { s32 var_a3; @@ -4321,19 +4276,19 @@ Gfx* func_8009BC9C(Gfx* arg0, MenuTexture* arg1, s32 arg2, s32 arg3, s32 arg4, s } temp_v0_3 = (u8*) func_8009B8C4(var_s0->textureData); if (temp_v0_3 != 0) { - switch (arg4) { /* switch 1; irregular */ - case 1: /* switch 1 */ + switch (arg4) { + case 1: arg0 = func_80097AE4(arg0, 0, var_s0->dX + arg2, var_s0->dY + arg3, temp_v0_3, arg5); break; - case 2: /* switch 1 */ + case 2: arg0 = func_80097E58(arg0, 0, 0, 0U, var_s0->width, var_s0->height, var_s0->dX + arg2, var_s0->dY + arg3, temp_v0_3, var_s0->width, var_s0->height, arg5); break; - case 3: /* switch 1 */ + case 3: arg0 = func_80097A14(arg0, 0, 0, 0, var_s0->width, var_s0->height, var_s0->dX + arg2, var_s0->dY + arg3, temp_v0_3, var_s0->width, var_s0->height); break; - case 4: /* switch 1 */ + case 4: arg0 = func_80097274(arg0, 0, 0x00000400, 0x00000400, 0, 0, var_s0->width, var_s0->height, var_s0->dX + arg2, var_s0->dY + arg3, (u16*) temp_v0_3, var_s0->width, var_s0->height, arg5); @@ -4405,7 +4360,7 @@ Gfx* func_8009C204(Gfx* arg0, MenuTexture* arg1, s32 arg2, s32 arg3, s32 arg4) { var_s1 = segmented_to_virtual_dupe(arg1); while (var_s1->textureData != NULL) { var_s2 = 0; - switch (var_s1->type) { /* irregular */ + switch (var_s1->type) { case 0: gSPDisplayList(arg0++, D_02007708); break; @@ -4421,13 +4376,13 @@ Gfx* func_8009C204(Gfx* arg0, MenuTexture* arg1, s32 arg2, s32 arg3, s32 arg4) { break; } temp_t0 = (u8*) func_8009B8C4(var_s1->textureData); - switch (arg4) { /* switch 1; irregular */ - case 2: /* switch 1 */ + switch (arg4) { + case 2: arg0 = func_800963F0(arg0, var_s2, 0x00000400, 0x00000400, 0.5f, 0.5f, 0, 0, var_s1->width, var_s1->height, var_s1->dX + arg2, var_s1->dY + arg3, temp_t0, var_s1->width, var_s1->height); break; - case 3: /* switch 1 */ + case 3: arg0 = func_800963F0(arg0, var_s2, 0x00000400, 0x00000400, 0.457f, 0.5f, 0, 0, var_s1->width, var_s1->height, var_s1->dX + arg2, var_s1->dY + arg3, temp_t0, var_s1->width, var_s1->height); @@ -4721,31 +4676,31 @@ void func_8009CE64(s32 arg0) { var_a1 = 0; temp_v0 = find_menu_items(0x000000C7); if (temp_v0 != NULL) { - switch (temp_v0->state) { /* switch 1 */ - case 12: /* switch 1 */ + switch (temp_v0->state) { + case 12: func_802903B0(); var_a1 = 1; break; - case 13: /* switch 1 */ - case 22: /* switch 1 */ - case 42: /* switch 1 */ + case 13: + case 22: + case 42: func_80290388(); var_a1 = 1; break; - case 14: /* switch 1 */ - case 23: /* switch 1 */ - case 43: /* switch 1 */ + case 14: + case 23: + case 43: func_80290360(); var_a1 = 1; break; - case 15: /* switch 1 */ - case 24: /* switch 1 */ - case 32: /* switch 1 */ - case 44: /* switch 1 */ + case 15: + case 24: + case 32: + case 44: func_80290338(); var_a1 = 1; break; - default: /* switch 1 */ + default: D_8018E7AC[arg0] = 5; break; } @@ -5339,63 +5294,53 @@ void func_8009E5FC(s32 arg0) { void clear_menus(void) { s32 index; - for (index = 0; index < MENU_ITEMS_MAX; index++) { + for (index = 0; index < ARRAY_COUNT(gMenuItems); index++) { gMenuItems[index].type = 0; } } -#ifdef NON_MATCHING -// https://decomp.me/scratch/1BHpa -// Stack differences, can't figure out how to fix them void add_menu_item(s32 type, s32 column, s32 row, s8 priority) { - MenuItem* var_ra; - s32 stackPadding0; - UNUSED s32 stackPadding1; - UNUSED s32 stackPadding2; - s32 temp_v0_6; - s32 var_v0; - s32 var_v1_3; - s32 temp_a1; - UNUSED MenuTexture* mk64Texture; + MenuItem* menuItem; + s8 temp_a1; + s32 i; MkAnimation* var_a0; - s32 one = 1; - var_v0 = 0; - var_ra = gMenuItems; + i = 0; + menuItem = gMenuItems; while (true) { - if (var_ra->type == 0) { + if (menuItem->type == 0) { break; } - var_v0++; - if (var_v0 > MENU_ITEMS_MAX) { + i++; + if (i > ARRAY_COUNT(gMenuItems)) { while (true) {} } - var_ra++; + menuItem++; } - var_ra->type = type; - var_ra->state = 0; - var_ra->subState = 0; - var_ra->column = column; - var_ra->row = row; - var_ra->priority = (u8) priority; - var_ra->visible = one; - var_ra->param1 = 0; - var_ra->param2 = 0; + menuItem->type = type; + menuItem->state = 0; + menuItem->subState = 0; + menuItem->column = column; + menuItem->row = row; + menuItem->priority = priority; + menuItem->visible = 1; + menuItem->param1 = 0; + menuItem->param2 = 0; switch (type) { case MENU_ITEM_UI_LOGO_INTRO: sIntroModelTimer = 0; - sIntroModelMotionSpeed = 0.0f; + sIntroModelMotionSpeed = 0; sIntroModelSpeed = 3.0f; gIntroModelZEye = 2500; - gIntroModelRotX = 0; + gIntroModelRotX = 0.0f; gIntroModelRotY = -270.0f; - gIntroModelRotZ = 0; - gIntroModelPosX = 0; - gIntroModelPosY = 0; - gIntroModelPosZ = 0; + gIntroModelRotZ = 0.0f; + gIntroModelPosX = 0.0f; + gIntroModelPosY = 0.0f; + gIntroModelPosZ = 0.0f; gIntroModelScale = 3; - var_ra->param1 = -1; - var_ra->param2 = one; + menuItem->param1 = -1; + menuItem->param2 = 1; break; case START_MENU_FLAG: gIntroModelZEye = 1800; @@ -5404,35 +5349,35 @@ void add_menu_item(s32 type, s32 column, s32 row, s8 priority) { gIntroModelRotZ = -18.0f; gIntroModelPosX = -270.0f; gIntroModelPosY = 750.0f; - gIntroModelPosZ = 0; + gIntroModelPosZ = 0.0f; gIntroModelScale = 1.0f; - var_ra->param1 = -1; - var_ra->param2 = one; + menuItem->param1 = -1; + menuItem->param2 = 1; break; case MENU_ITEM_TYPE_0D2: load_menu_img_comp_type(D_020014C8, LOAD_MENU_IMG_TKMK00_ONCE); func_8009B954(D_020014C8); - sGfxPtr = render_menu_textures(sGfxPtr, D_020014C8, var_ra->column, var_ra->row); + sGfxPtr = render_menu_textures(sGfxPtr, D_020014C8, menuItem->column, menuItem->row); func_8009B998(); break; case MENU_ITEM_TYPE_0D3: load_menu_img_comp_type(D_02001540, LOAD_MENU_IMG_TKMK00_ONCE); func_8009B954(D_02001540); - sGfxPtr = render_menu_textures(sGfxPtr, D_02001540, var_ra->column, var_ra->row); + sGfxPtr = render_menu_textures(sGfxPtr, D_02001540, menuItem->column, menuItem->row); func_8009B998(); break; case MENU_ITEM_TYPE_0D4: load_menu_img_comp_type(D_0200157C, LOAD_MENU_IMG_TKMK00_ONCE); load_menu_img(D_02001874); - var_ra->row = 0x00000069; - for (var_v0 = 0; var_v0 < 133; var_v0++) { - load_menu_img(segmented_to_virtual_dupe(D_800E7AF8[var_v0])); + menuItem->row = 0x69; + for (i = 0; i < 133; i++) { + load_menu_img(segmented_to_virtual_dupe(D_800E7AF8[i])); } break; case MENU_ITEM_TYPE_0D5: load_menu_img(D_020015A4); func_8009B954(D_020015A4); - sGfxPtr = render_menu_textures(sGfxPtr, D_020015A4, var_ra->column, var_ra->row); + sGfxPtr = render_menu_textures(sGfxPtr, D_020015A4, menuItem->column, menuItem->row); gDPLoadTextureBlock(sGfxPtr++, func_8009B8C4(gTexture7ED50C), G_IM_FMT_IA, G_IM_SIZ_16b, 256, 5, 0, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); @@ -5440,23 +5385,23 @@ void add_menu_item(s32 type, s32 column, s32 row, s8 priority) { func_8009B998(); load_menu_img(D_020015CC); func_8009B954(D_020015CC); - sGfxPtr = render_menu_textures(sGfxPtr, D_020015CC, var_ra->column, var_ra->row); + sGfxPtr = render_menu_textures(sGfxPtr, D_020015CC, menuItem->column, menuItem->row); func_8009B998(); load_menu_img(D_02001630); func_8009B954(D_02001630); - sGfxPtr = render_menu_textures(sGfxPtr, D_02001630, var_ra->column, var_ra->row); + sGfxPtr = render_menu_textures(sGfxPtr, D_02001630, menuItem->column, menuItem->row); func_8009B998(); load_menu_img(D_02001658); func_8009B954(D_02001658); - sGfxPtr = render_menu_textures(sGfxPtr, D_02001658, var_ra->column, var_ra->row); + sGfxPtr = render_menu_textures(sGfxPtr, D_02001658, menuItem->column, menuItem->row); func_8009B998(); break; case MENU_ITEM_TYPE_0D6: - var_ra->D_8018DEE0_index = animate_character_select_menu(segmented_to_virtual_dupe_2(D_800E7D34[0])); + menuItem->D_8018DEE0_index = animate_character_select_menu(segmented_to_virtual_dupe_2(D_800E7D34[0])); break; case MENU_ITEM_TYPE_0D7: - for (var_v0 = 0; var_v0 < 10; var_v0++) { - load_menu_img(segmented_to_virtual_dupe(D_800E7D0C[var_v0])); + for (i = 0; i < 10; i++) { + load_menu_img(segmented_to_virtual_dupe(D_800E7D0C[i])); } break; case MENU_ITEM_TYPE_0D8: @@ -5480,11 +5425,11 @@ void add_menu_item(s32 type, s32 column, s32 row, s8 priority) { load_menu_img_comp_type(gMenuTexturesBackground[has_unlocked_extra_mode()], LOAD_MENU_IMG_TKMK00_ONCE); load_menu_img_comp_type(D_02004B74, LOAD_MENU_IMG_TKMK00_ONCE); convert_img_to_greyscale(0, 0x00000019); - adjust_img_colour(0, SCREEN_WIDTH * SCREEN_HEIGHT, D_800E74E8[type - 0x23].red, - D_800E74E8[type - 0x23].green, D_800E74E8[type - 0x23].blue); + adjust_img_colour(0, SCREEN_WIDTH * SCREEN_HEIGHT, D_800E74E8[type - MAIN_MENU_BACKGROUND].red, + D_800E74E8[type - MAIN_MENU_BACKGROUND].green, D_800E74E8[type - MAIN_MENU_BACKGROUND].blue); break; case MENU_ITEM_UI_OK: - var_ra->param1 = 0x00000020; + menuItem->param1 = 0x20; /* fallthrough */ case MENU_ITEM_UI_GAME_SELECT: case MAIN_MENU_DATA_GFX: @@ -5512,7 +5457,7 @@ void add_menu_item(s32 type, s32 column, s32 row, s8 priority) { break; case CHARACTER_SELECT_MENU_OK: load_menu_img_comp_type(D_02004B74, LOAD_MENU_IMG_TKMK00_ONCE); - var_ra->param1 = 0x00000020; + menuItem->param1 = 0x00000020; break; case CHARACTER_SELECT_MENU_1P_CURSOR: case CHARACTER_SELECT_MENU_2P_CURSOR: @@ -5528,17 +5473,17 @@ void add_menu_item(s32 type, s32 column, s32 row, s8 priority) { case CHARACTER_SELECT_MENU_DK: case CHARACTER_SELECT_MENU_WARIO: case CHARACTER_SELECT_MENU_BOWSER: - var_ra->D_8018DEE0_index = + menuItem->D_8018DEE0_index = animate_character_select_menu(segmented_to_virtual_dupe_2(D_800E8320[type - 0x2B])); load_menu_img_comp_type(segmented_to_virtual_dupe(D_800E7D54[type - 0x2B]), LOAD_MENU_IMG_TKMK00_ONCE); break; case MENU_ITEM_TYPE_0A0: case MENU_ITEM_TYPE_0A1: - var_ra->D_8018DEE0_index = + menuItem->D_8018DEE0_index = animate_character_select_menu(segmented_to_virtual_dupe_2(D_800E8320[type - 0xA0])); break; case COURSE_SELECT_OK: - var_ra->param1 = 0x00000020; + menuItem->param1 = 0x00000020; /* fallthrough */ case COURSE_SELECT_MAP_SELECT: case COURSE_SELECT_MUSHROOM_CUP: @@ -5557,29 +5502,29 @@ void add_menu_item(s32 type, s32 column, s32 row, s8 priority) { case MENU_ITEM_TYPE_060: case MENU_ITEM_TYPE_061: case MENU_ITEM_TYPE_062: - var_ra->D_8018DEE0_index = animate_character_select_menu( - segmented_to_virtual_dupe_2(D_800E7E34[gCupCourseOrder[0][var_ra->type - 0x5F]])); + menuItem->D_8018DEE0_index = animate_character_select_menu( + segmented_to_virtual_dupe_2(D_800E7E34[gCupCourseOrder[0][menuItem->type - 0x5F]])); break; case MENU_ITEM_TYPE_05E: - var_ra->param2 = random_int(4U) + 2; + menuItem->param2 = random_int(4) + 2; break; case MENU_ITEM_TYPE_065: case MENU_ITEM_TYPE_066: - var_ra->column = D_800E7248[type - 0x65].column; - var_ra->row = D_800E7248[type - 0x65].row; + menuItem->column = D_800E7248[type - 0x65].column; + menuItem->row = D_800E7248[type - 0x65].row; break; case MENU_ITEM_TYPE_067: - var_ra->param1 = (s32) gCupSelection; - var_ra->param2 = func_800B54C0(gCupSelection, gCCSelection); - var_ra->D_8018DEE0_index = animate_character_select_menu( - segmented_to_virtual_dupe_2(D_800E7E20[((gCCSelection / 2) * 4) - var_ra->param2])); - var_ra->column = D_800E7268[0].column; - var_ra->row = D_800E7268[0].row; + menuItem->param1 = (s32) gCupSelection; + menuItem->param2 = func_800B54C0(gCupSelection, gCCSelection); + menuItem->D_8018DEE0_index = animate_character_select_menu( + segmented_to_virtual_dupe_2(D_800E7E20[((gCCSelection / 2) * 4) - menuItem->param2])); + menuItem->column = D_800E7268[0].column; + menuItem->row = D_800E7268[0].row; break; case MENU_ITEM_TYPE_068: load_menu_img_comp_type(segmented_to_virtual_dupe(D_800E8294[gCCSelection]), LOAD_MENU_IMG_TKMK00_ONCE); - var_ra->column = 0x00000037; - var_ra->row = 0x000000C3; + menuItem->column = 0x37; + menuItem->row = 0xC3; break; case MENU_ITEM_TYPE_069: load_menu_img_comp_type(segmented_to_virtual_dupe(D_02004A0C), LOAD_MENU_IMG_TKMK00_ONCE); @@ -5624,62 +5569,64 @@ void add_menu_item(s32 type, s32 column, s32 row, s8 priority) { case MENU_ITEM_TYPE_089: case MENU_ITEM_TYPE_08A: case MENU_ITEM_TYPE_08B: - temp_v0_6 = var_ra->type - MENU_ITEM_TYPE_07C; load_menu_img_comp_type( - segmented_to_virtual_dupe(D_800E7D74[gCupCourseOrder[temp_v0_6 / 4][temp_v0_6 % 4]]), + segmented_to_virtual_dupe(D_800E7D74[gCupCourseOrder[(menuItem->type - MENU_ITEM_TYPE_07C) / 4][(menuItem->type - MENU_ITEM_TYPE_07C) % 4]]), LOAD_MENU_IMG_MIO0_ONCE); - temp_v0_6 = var_ra->type - MENU_ITEM_TYPE_07C; load_menu_img_comp_type( - segmented_to_virtual_dupe(D_800E7DC4[gCupCourseOrder[temp_v0_6 / 4][temp_v0_6 % 4]]), + segmented_to_virtual_dupe(D_800E7DC4[gCupCourseOrder[(menuItem->type - MENU_ITEM_TYPE_07C) / 4][(menuItem->type - MENU_ITEM_TYPE_07C) % 4]]), LOAD_MENU_IMG_TKMK00_ONCE); load_menu_img_comp_type(segmented_to_virtual_dupe(D_02004A0C), LOAD_MENU_IMG_TKMK00_ONCE); break; case MENU_ITEM_TYPE_0B1: case MENU_ITEM_TYPE_0B2: case MENU_ITEM_TYPE_0B3: - case MENU_ITEM_TYPE_0B4: + case MENU_ITEM_TYPE_0B4: { + bool var_v1_3; + UNUSED s32 pad2; + s32 temp_a3 = type - MENU_ITEM_TYPE_0B1; + UNUSED s32 pad[0x3]; temp_a1 = D_800EFD64[gCharacterSelections[type - MENU_ITEM_TYPE_0B1]]; - var_v1_3 = 0; - stackPadding0 = type - MENU_ITEM_TYPE_0B1; + var_v1_3 = false; switch (gModeSelection) { case VERSUS: if (gGPCurrentRaceRankByPlayerId[type - MENU_ITEM_TYPE_0B1] != 0) { - var_v1_3 = 1; + var_v1_3 = true; } break; case BATTLE: if ((type - MENU_ITEM_TYPE_0B1) != gPlayerWinningIndex) { - var_v1_3 = 1; + var_v1_3 = true; } break; default: break; } - if (var_v1_3 != 0) { + if (var_v1_3) { var_a0 = gCharacterDefeatAnimation[temp_a1]; } else { var_a0 = D_800E8320[temp_a1]; } - var_ra->D_8018DEE0_index = func_8009A478(segmented_to_virtual_dupe_2(var_a0), stackPadding0); + menuItem->D_8018DEE0_index = func_8009A478(segmented_to_virtual_dupe_2(var_a0), temp_a3); load_menu_img_comp_type(segmented_to_virtual_dupe(D_800E7D54[temp_a1]), LOAD_MENU_IMG_TKMK00_ONCE); load_menu_img(segmented_to_virtual_dupe(gMenuTexturesBorderPlayer[type - MENU_ITEM_TYPE_0B1])); break; + } case MENU_ITEM_TYPE_0BB: - var_ra->param1 = func_800B5020(playerHUD[0].someTimer, gCharacterSelections[0]); - var_ra->param2 = func_800B5218(); + menuItem->param1 = func_800B5020(playerHUD[0].someTimer, gCharacterSelections[0]); + menuItem->param2 = func_800B5218(); if (D_80162DD4 != 1) { - if (func_800051C4() >= 0x3C01) { + if (func_800051C4() > 0x3C00) { D_80162DD4 = 1; } } - if ((var_ra->param1 == 0) || (var_ra->param2 != 0)) { + if ((menuItem->param1 == 0) || (menuItem->param2 != 0)) { func_800B559C((gCupSelection * 4) + gCourseIndexInCup); } break; case MENU_ITEM_DATA_COURSE_IMAGE: - var_ra->D_8018DEE0_index = animate_character_select_menu(segmented_to_virtual_dupe_2( + menuItem->D_8018DEE0_index = animate_character_select_menu(segmented_to_virtual_dupe_2( D_800E7E34[gCupCourseOrder[gTimeTrialDataCourseIndex / 4][gTimeTrialDataCourseIndex % 4]])); - var_ra->param1 = gTimeTrialDataCourseIndex; + menuItem->param1 = gTimeTrialDataCourseIndex; load_menu_img_comp_type(segmented_to_virtual_dupe(D_02004A0C), LOAD_MENU_IMG_TKMK00_ONCE); func_8006EF60(); if (controller_pak_1_status() == 0) { @@ -5690,7 +5637,7 @@ void add_menu_item(s32 type, s32 column, s32 row, s8 priority) { } break; case MENU_ITEM_TYPE_0F0: - var_ra->state = (s32) gSoundMode; + menuItem->state = (s32) gSoundMode; break; case MENU_ITEM_TYPE_0F1: load_menu_img_comp_type(segmented_to_virtual_dupe(D_02004638), LOAD_MENU_IMG_TKMK00_ONCE); @@ -5698,21 +5645,23 @@ void add_menu_item(s32 type, s32 column, s32 row, s8 priority) { case MENU_ITEM_TYPE_0BE: D_8018ED90 = 0; break; - case MENU_ITEM_TYPE_130: + case MENU_ITEM_TYPE_130: { + bool var_v0_2; temp_a1 = D_800EFD64[D_802874D8.unk1E]; if (D_802874D8.unk1D >= 3) { - var_v0 = 1; + var_v0_2 = true; } else { - var_v0 = 0; + var_v0_2 = false; } - if (var_v0 != 0) { + if (var_v0_2) { var_a0 = gCharacterDefeatAnimation[temp_a1]; } else { var_a0 = D_800E8320[temp_a1]; } - var_ra->D_8018DEE0_index = func_8009A478(segmented_to_virtual_dupe_2(var_a0), 0); + menuItem->D_8018DEE0_index = func_8009A478(segmented_to_virtual_dupe_2(var_a0), 0); load_menu_img_comp_type(segmented_to_virtual_dupe(D_800E7D54[temp_a1]), LOAD_MENU_IMG_TKMK00_ONCE); break; + } case MENU_ITEM_TYPE_190: case MENU_ITEM_TYPE_191: case MENU_ITEM_TYPE_192: @@ -5780,35 +5729,22 @@ void add_menu_item(s32 type, s32 column, s32 row, s8 priority) { break; } } -#else -GLOBAL_ASM("asm/non_matchings/menu_items/add_menu_item.s") -#endif -#ifdef NON_MATCHING -// https://decomp.me/scratch/MatRp -// Biggest diff left is in the case 0x12 though 0x19 handling. Not really sure what's going on there -// There's also a diff in the handling of gTextNoController in case 0x4. Not sure what's going on there either void render_menus(MenuItem* arg0) { s32 var_a1; s32 var_v1; - UNUSED s32 stackPadding0; - UNUSED s32 stackPadding1; - MenuTexture* sp9C; - UNUSED s32 stackPadding2; + UNUSED s32 pad[2]; + MenuTexture* texture; s32 temp_a0; s32 temp_t2; s32 temp_t5; s32 temp_t9; s32 temp_v1; + UNUSED s32 pad2; char sp80[3]; - s32 var_t0; - UNUSED s32 var_a2; f32 why = 0.75f; s32 one = 1; - f32 floatone = 1; - UNUSED s32 stackPadding3; - UNUSED s32 stackPadding4; - f32 scaleX; + UNUSED s32 pad3; if (arg0->visible) { gDPPipeSync(gDisplayListHead++); @@ -5868,9 +5804,10 @@ void render_menus(MenuItem* arg0) { render_menu_textures(gDisplayListHead, seg2_push_start_button_texture, arg0->column, arg0->row); } break; - case MENU_ITEM_UI_START_RECORD_TIME: /* switch 6 */ - var_t0 = (s32) ((f32) (get_string_width(gCourseNamesDup[0]) + 5) * 0.9f) / 2; - gDisplayListHead = draw_box(gDisplayListHead, 0xA0 - var_t0, 0x0000007B, var_t0 + 0xA0, 0x000000A4, 0, + case MENU_ITEM_UI_START_RECORD_TIME: { + s32 strWidth; + strWidth = (s32) ((f32) (get_string_width(gCourseNamesDup[0]) + 5) * 0.9f) / 2; + gDisplayListHead = draw_box(gDisplayListHead, 0xA0 - strWidth, 0x0000007B, strWidth + 0xA0, 0x000000A4, 0, 0, 0, 0x00000096); set_text_color(TEXT_GREEN); print_text1_center_mode_1(0x0000009B, 0x0000008C, gCourseNamesDup[0], 0, 0.9f, 0.9f); @@ -5891,54 +5828,58 @@ void render_menus(MenuItem* arg0) { get_time_record_centiseconds(temp_v1, sp80); func_800939C8(0x000000B4, 0x000000A0, sp80, 0, 1.0f, 1.0f); break; - case MENU_ITEM_UI_NO_CONTROLLER: /* switch 6 */ - var_t0 = get_string_width(gTextNoController[0]); + } + case MENU_ITEM_UI_NO_CONTROLLER: { + s32 strWidth; + UNUSED s32 padCont[2]; + strWidth = get_string_width(gTextNoController[0]); temp_v1 = get_string_width(gTextNoController[1]); - if (var_t0 < temp_v1) { - var_t0 = temp_v1; + if (strWidth < temp_v1) { + strWidth = temp_v1; } - temp_t2 = (s32) (var_t0 * why) / 2; + temp_t2 = (s32) (strWidth * why) / 2; temp_t5 = (s32) (((why * 2) + 0.5) * 16.0) / 2; gDisplayListHead = draw_box(gDisplayListHead, 0xA0 - temp_t2, 0xB6 - temp_t5, temp_t2 + 0xA0, temp_t5 + 0xB6, 0, 0, 0, 0x00000096); set_text_color(TEXT_BLUE_GREEN_RED_CYCLE_1); - for (temp_t9 = 0; temp_t9 < 2; temp_t9++) { - print_text1_center_mode_1(0xA0 * one - floatone * why, - (s32) (0xB4 * one + ((f32) (temp_t9 * 0x12) * why)), - gTextNoController[temp_t9], 0, why, why); + for (strWidth = 0; strWidth < 2; strWidth++) { + print_text1_center_mode_1(0xA0 * one - 1 * why, + (s32) (0xB4 * one + ((f32) (strWidth * 0x12) * why)), + gTextNoController[strWidth], 0, why, why); } break; - case MAIN_MENU_BACKGROUND: /* switch 6 */ - case CHARACTER_SELECT_BACKGROUND: /* switch 6 */ - case COURSE_SELECT_BACKGROUND: /* switch 6 */ + } + case MAIN_MENU_BACKGROUND: + case CHARACTER_SELECT_BACKGROUND: + case COURSE_SELECT_BACKGROUND: gDisplayListHead = func_8009BC9C(gDisplayListHead, gMenuTexturesBackground[has_unlocked_extra_mode()], arg0->column, arg0->row, 3, 0); break; - case MENU_ITEM_UI_GAME_SELECT: /* switch 6 */ + case MENU_ITEM_UI_GAME_SELECT: gDisplayListHead = render_menu_textures(gDisplayListHead, seg2_game_select_texture, arg0->column, arg0->row); break; - case MENU_ITEM_UI_1P_GAME: /* switch 6 */ - case MENU_ITEM_UI_2P_GAME: /* switch 6 */ - case MENU_ITEM_UI_3P_GAME: /* switch 6 */ - case MENU_ITEM_UI_4P_GAME: /* switch 6 */ - var_a1 = arg0->type - 0xB; + case MENU_ITEM_UI_1P_GAME: + case MENU_ITEM_UI_2P_GAME: + case MENU_ITEM_UI_3P_GAME: + case MENU_ITEM_UI_4P_GAME: + var_a1 = arg0->type - MENU_ITEM_UI_1P_GAME; func_800A8270(var_a1, arg0); func_800A0FA4(arg0, var_a1); break; - case MENU_ITEM_UI_OK: /* switch 6 */ + case MENU_ITEM_UI_OK: func_800A8564(arg0); gDisplayListHead = func_8009BC9C(gDisplayListHead, D_0200487C, arg0->column, arg0->row, 2, arg0->param1); break; - case MAIN_MENU_OPTION_GFX: /* switch 6 */ - case MAIN_MENU_DATA_GFX: /* switch 6 */ + case MAIN_MENU_OPTION_GFX: + case MAIN_MENU_DATA_GFX: var_a1 = arg0->type - 0xF; if (arg0->param1 < 0x20) { temp_t9 = (arg0->param1 * 0x3A) / 64; if (var_a1 == gMainMenuSelection) { gDisplayListHead = - draw_flash_select_case_fast(gDisplayListHead, arg0->column + temp_t9, arg0->row, + draw_flash_select_case_fast(gDisplayListHead, arg0->column + temp_t9, (u32)arg0->row, (arg0->column - temp_t9) + 0x39, arg0->row + 0x12); } else { gDisplayListHead = @@ -5958,48 +5899,52 @@ void render_menus(MenuItem* arg0) { case MENU_ITEM_TYPE_017: /* switch 6 */ case MAIN_MENU_TIME_TRIALS_BEGIN: /* switch 6 */ case MAIN_MENU_TIME_TRIALS_DATA: /* switch 6 */ - var_v1 = gGameModeSubMenuColumn[gPlayerCount - 1][gGameModeMenuColumn[gPlayerCount - 1]]; - var_a1 = gGameModePlayerSelection[gPlayerCount - 1][gGameModeMenuColumn[gPlayerCount - 1]]; + var_a1 = gGameModeSubMenuColumn[gPlayerCount - 1][gGameModeMenuColumn[gPlayerCount - 1]]; + var_v1 = gGameModePlayerSelection[gPlayerCount - 1][gGameModeMenuColumn[gPlayerCount - 1]]; switch (arg0->type) { /* switch 5 */ case MAIN_MENU_50CC: /* switch 5 */ case MAIN_MENU_100CC: /* switch 5 */ case MAIN_MENU_150CC: /* switch 5 */ case MAIN_MENU_EXTRA_CC: /* switch 5 */ - switch (var_a1) { + switch(var_v1) { case 0: case 2: break; default: - var_v1 = -1; + var_a1 = -1; break; } - var_a1 = MAIN_MENU_50CC; - sp9C = segmented_to_virtual_dupe(D_800E8294[arg0->type - MAIN_MENU_50CC]); + var_v1 = MAIN_MENU_50CC; + texture = segmented_to_virtual_dupe(D_800E8294[arg0->type - MAIN_MENU_50CC]); break; case MENU_ITEM_TYPE_016: /* switch 5 */ case MENU_ITEM_TYPE_017: /* switch 5 */ - if (var_a1 != 2) { - var_v1 = -1; + if (var_v1 != 2) { + var_a1 = -1; + break; } else { - var_a1 = MENU_ITEM_TYPE_016; - sp9C = segmented_to_virtual_dupe(D_800E82A4[arg0->type - MENU_ITEM_TYPE_016]); + var_v1 = MENU_ITEM_TYPE_016; + texture = segmented_to_virtual_dupe(D_800E82A4[arg0->type - MENU_ITEM_TYPE_016]); } break; case MAIN_MENU_TIME_TRIALS_BEGIN: /* switch 5 */ case MAIN_MENU_TIME_TRIALS_DATA: /* switch 5 */ - if (var_a1 != 1) { - var_v1 = -1; + if (var_v1 != 1) { + var_a1 = -1; + break; } else { - var_a1 = MAIN_MENU_TIME_TRIALS_BEGIN; - sp9C = segmented_to_virtual_dupe(D_800E82AC[arg0->type - MAIN_MENU_TIME_TRIALS_BEGIN]); + var_v1 = MAIN_MENU_TIME_TRIALS_BEGIN; + texture = segmented_to_virtual_dupe(D_800E82AC[arg0->type - MAIN_MENU_TIME_TRIALS_BEGIN]); } break; + default: + break; } - if (var_v1 == -1) { + if (var_a1 == -1) { break; } - if ((gMainMenuSelection >= MAIN_MENU_MODE_SUB_SELECT) && (var_v1 == (arg0->type - var_a1))) { + if ((gMainMenuSelection >= MAIN_MENU_MODE_SUB_SELECT) && (var_a1 == (arg0->type - var_v1))) { if (gMainMenuSelection > MAIN_MENU_MODE_SUB_SELECT) { gDisplayListHead = draw_box_fill(gDisplayListHead, arg0->column, arg0->row, arg0->column + 0x3F, @@ -6012,7 +5957,7 @@ void render_menus(MenuItem* arg0) { gDisplayListHead = draw_box_fill(gDisplayListHead, arg0->column, arg0->row, arg0->column + 0x3F, arg0->row + 0x11, 1, 1, 1, 0x000000FF); } - gDisplayListHead = render_menu_textures(gDisplayListHead, sp9C, arg0->column, arg0->row); + gDisplayListHead = render_menu_textures(gDisplayListHead, texture, arg0->column, arg0->row); break; case MENU_ITEM_TYPE_01B: /* switch 6 */ func_800A10CC(arg0); @@ -6027,7 +5972,7 @@ void render_menus(MenuItem* arg0) { temp_a0 = arg0->type - CHARACTER_SELECT_MENU_1P_CURSOR; if (gCharacterGridSelections[temp_a0]) { if (gCharacterGridIsSelected[temp_a0] == 0) { - temp_t2 = 0x000000FF; + temp_t2 = 255; } else { temp_t2 = gGlobalTimer % 16; if (temp_t2 >= 8) { @@ -6035,7 +5980,7 @@ void render_menus(MenuItem* arg0) { } else { temp_t2 *= 8; } - temp_t2 += 0xBF; + temp_t2 += 191; } render_cursor_player(arg0, temp_a0, temp_t2); } @@ -6087,7 +6032,7 @@ void render_menus(MenuItem* arg0) { case COURSE_SELECT_FLOWER_CUP: /* switch 6 */ case COURSE_SELECT_STAR_CUP: /* switch 6 */ case COURSE_SELECT_SPECIAL_CUP: /* switch 6 */ - var_a1 = arg0->type - 0x53; + var_a1 = arg0->type - COURSE_SELECT_MUSHROOM_CUP; func_800A890C(var_a1, arg0); func_800A143C(arg0, var_a1); break; @@ -6097,7 +6042,8 @@ void render_menus(MenuItem* arg0) { func_8009BC9C(gDisplayListHead, D_02004E80, arg0->column, arg0->row, 2, arg0->param1); break; case MENU_ITEM_TYPE_065: /* switch 6 */ - case MENU_ITEM_TYPE_066: /* switch 6 */ + case MENU_ITEM_TYPE_066: { + f32 scaleX; if (arg0->type == MENU_ITEM_TYPE_065) { scaleX = 0.6f; } else { @@ -6109,6 +6055,7 @@ void render_menus(MenuItem* arg0) { 0.8f); func_800A874C(arg0); break; + } case MENU_ITEM_TYPE_06E: /* switch 6 */ render_battle_introduction(arg0); break; @@ -6128,7 +6075,7 @@ void render_menus(MenuItem* arg0) { case MENU_ITEM_TYPE_079: /* switch 6 */ case MENU_ITEM_TYPE_07A: /* switch 6 */ case MENU_ITEM_TYPE_07B: /* switch 6 */ - var_a1 = arg0->type - 0x78; + var_a1 = arg0->type - MENU_ITEM_TYPE_078; func_800A90D4(var_a1, arg0); func_800A143C(arg0, var_a1); break; @@ -6140,7 +6087,7 @@ void render_menus(MenuItem* arg0) { arg0->row + 0x11, 0x000000FF, 0x000000F9, 0x000000DC, 0x000000FF); } else { gDisplayListHead = draw_flash_select_case_slow( - gDisplayListHead, arg0->column ^ 0, arg0->row ^ 0, arg0->column + 0x3F, arg0->row + 0x11); + gDisplayListHead, arg0->column ^ 0, one = arg0->row ^ 0, arg0->column + 0x3F, arg0->row + 0x11); } } else { gDisplayListHead = draw_box_fill(gDisplayListHead, arg0->column, arg0->row, arg0->column + 0x3F, @@ -6207,9 +6154,10 @@ void render_menus(MenuItem* arg0) { case MENU_ITEM_TYPE_0B4: /* switch 6 */ if (arg0->state != 0) { var_v1 = arg0->type - MENU_ITEM_TYPE_0B1; + one = D_800EFD64[gCharacterSelections[var_v1]]; gDisplayListHead = render_menu_textures( gDisplayListHead, - segmented_to_virtual_dupe(D_800E7D54[D_800EFD64[gCharacterSelections[var_v1]]]), arg0->column, + segmented_to_virtual_dupe(D_800E7D54[one]), arg0->column, arg0->row); func_8009A7EC(arg0->D_8018DEE0_index, arg0->column, arg0->row, var_v1, arg0->param1); render_cursor_player(arg0, var_v1, 0x000000FF); @@ -6271,8 +6219,9 @@ void render_menus(MenuItem* arg0) { break; case MENU_ITEM_TYPE_130: /* switch 6 */ if (arg0->state != 0) { + var_a1 = D_800EFD64[D_802874D8.unk1E]; gDisplayListHead = render_menu_textures( - gDisplayListHead, segmented_to_virtual_dupe(D_800E7D54[D_800EFD64[D_802874D8.unk1E]]), + gDisplayListHead, segmented_to_virtual_dupe(D_800E7D54[var_a1]), arg0->column, arg0->row); func_8009A7EC(arg0->D_8018DEE0_index, arg0->column, arg0->row, 0, arg0->param1); } @@ -6345,9 +6294,6 @@ void render_menus(MenuItem* arg0) { } } } -#else -GLOBAL_ASM("asm/non_matchings/menu_items/render_menus.s") -#endif void func_800A08D8(u8 arg0, s32 column, s32 row) { if (arg0 >= 0x10) { @@ -6615,11 +6561,11 @@ void func_800A1500(MenuItem* arg0) { var_a1 = 1; break; } - switch (var_a1) { /* switch 1; irregular */ - case 0: /* switch 1 */ + switch (var_a1) { + case 0: func_8009A76C(arg0->D_8018DEE0_index, 0x00000017, 0x00000070, -1); break; - case 1: /* switch 1 */ + case 1: temp_v0_2 = &D_800E7168[arg0->type - 0x5F]; func_8009A76C(arg0->D_8018DEE0_index, temp_v0_2->column, temp_v0_2->row, -2); break; @@ -6802,111 +6748,105 @@ void func_800A1F30(UNUSED MenuItem* unused) { } } -#ifdef NON_MATCHING -// Register allocation stuff, minor stack diffs void func_800A1FB0(MenuItem* arg0) { Unk_D_800E70A0 spE0; - UNUSED s32 stackPadding0; - UNUSED s32 stackPadding1; - UNUSED s32 stackPadding2; - UNUSED s32 stackPadding3; - UNUSED s32 stackPadding4; - UNUSED s32 stackPadding5; + s32 var_s1; + UNUSED s32 pad[2]; + UNUSED s32 temp; + UNUSED s32 pad2[2]; s32 var_s5; s32 var_s4; - UNUSED s32 stackPadding6; + s32 j; char spB8[3]; - UNUSED s32 stackPadding7; - UNUSED s32 stackPadding8; - s32 var_s1; + UNUSED s32 pad3[2]; + s32 i; char spA8[3]; - s32 var_s2; - UNUSED s32 temp_v0; - UNUSED s32 stackPadding9; + UNUSED s32 pad4[3]; char sp98[3]; struct_8018EE10_entry* var_v1; gDisplayListHead = draw_box(gDisplayListHead, 0, 0, 0x00000140, 0x000000F0, 0, 0, 0, 0x00000064); - switch (gSubMenuSelection) { /* switch 1 */ - case SUB_MENU_OPTION_RETURN_GAME_SELECT: /* switch 1 */ - case SUB_MENU_OPTION_SOUND_MODE: /* switch 1 */ - case SUB_MENU_OPTION_COPY_CONTROLLER_PAK: /* switch 1 */ - case SUB_MENU_OPTION_ERASE_ALL_DATA: /* switch 1 */ - for (stackPadding0 = 0; stackPadding0 < ARRAY_COUNT(gTextOptionMenu); stackPadding0++) { - set_text_color_rainbow_if_selected(gSubMenuSelection - SUB_MENU_OPTION_MIN, stackPadding0, 3); - print_text_mode_1(0x00000032, 0x55 + (0x23 * stackPadding0), gTextOptionMenu[stackPadding0], 0, 0.9f, + switch (gSubMenuSelection) { + case SUB_MENU_OPTION_RETURN_GAME_SELECT: + case SUB_MENU_OPTION_SOUND_MODE: + case SUB_MENU_OPTION_COPY_CONTROLLER_PAK: + case SUB_MENU_OPTION_ERASE_ALL_DATA: + for (i = 0; i < ARRAY_COUNT(gTextOptionMenu); i++) { + set_text_color_rainbow_if_selected(gSubMenuSelection - SUB_MENU_OPTION_MIN, i, 3); + print_text_mode_1(0x00000032, 0x55 + (0x23 * i), gTextOptionMenu[i], 0, 0.9f, 1.0f); - if (stackPadding0 == (gSubMenuSelection - SUB_MENU_OPTION_MIN)) { + if (i == (gSubMenuSelection - SUB_MENU_OPTION_MIN)) { spE0.column = 0x0032; - spE0.row = 0x55 + (0x23 * stackPadding0); + spE0.row = 0x55 + (0x23 * i); } } set_text_color(TEXT_GREEN); print_text1_center_mode_1(0x000000E6, 0x55 + 0x23, gSoundModeNames[gSoundMode], 0, 1.0f, 1.0f); break; - case SUB_MENU_ERASE_QUIT: /* switch 1 */ - case SUB_MENU_ERASE_ERASE: /* switch 1 */ + case SUB_MENU_ERASE_QUIT: + case SUB_MENU_ERASE_ERASE: set_text_color(TEXT_YELLOW); - for (stackPadding0 = 0; stackPadding0 < ARRAY_COUNT(D_800E7878); stackPadding0++) { - print_text_mode_1(0x00000028, 0x55 + (0x14 * stackPadding0), D_800E7878[stackPadding0], 0, 1.0f, 1.0f); + for (i = 0; i < ARRAY_COUNT(D_800E7878); i++) { + print_text_mode_1(0x00000028, 0x55 + (0x14 * i), D_800E7878[i], 0, 1.0f, 1.0f); } - for (stackPadding0 = 0; stackPadding0 < ARRAY_COUNT(D_800E7840); stackPadding0++) { - set_text_color_rainbow_if_selected(gSubMenuSelection - SUB_MENU_ERASE_MIN, stackPadding0, 1); - print_text_mode_1(0x00000084, 0x96 + (0x19 * stackPadding0), D_800E7840[stackPadding0], 0, 1.0f, 1.0f); - if (stackPadding0 == (gSubMenuSelection - SUB_MENU_ERASE_MIN)) { + for (i = 0; i < ARRAY_COUNT(D_800E7840); i++) { + set_text_color_rainbow_if_selected(gSubMenuSelection - SUB_MENU_ERASE_MIN, i, 1); + print_text_mode_1(0x00000084, 0x96 + (0x19 * i), D_800E7840[i], 0, 1.0f, 1.0f); + if (i == (gSubMenuSelection - SUB_MENU_ERASE_MIN)) { spE0.column = 0x0084; - spE0.row = 0x96 + (0x19 * stackPadding0); + spE0.row = 0x96 + (0x19 * i); } } break; - case SUB_MENU_SAVE_DATA_ERASED: /* switch 1 */ + case SUB_MENU_SAVE_DATA_ERASED: set_text_color(TEXT_YELLOW); - for (stackPadding0 = 0; stackPadding0 < ARRAY_COUNT(D_800E7884); stackPadding0++) { - print_text_mode_1(0x00000032, 0x55 + (0x14 * stackPadding0), D_800E7884[stackPadding0], 0, 1.0f, 1.0f); + for (i = 0; i < ARRAY_COUNT(D_800E7884); i++) { + print_text_mode_1(0x00000032, 0x55 + (0x14 * i), D_800E7884[i], 0, 1.0f, 1.0f); } break; - case SUB_MENU_COPY_PAK_ERROR_NO_GHOST_DATA: /* switch 1 */ - case SUB_MENU_COPY_PAK_ERROR_NO_GAME_DATA: /* switch 1 */ - case SUB_MENU_COPY_PAK_ERROR_NO_PAK_2P: /* switch 1 */ - case SUB_MENU_COPY_PAK_ERROR_BAD_READ_2P: /* switch 1 */ + case SUB_MENU_COPY_PAK_ERROR_NO_GHOST_DATA: + case SUB_MENU_COPY_PAK_ERROR_NO_GAME_DATA: + case SUB_MENU_COPY_PAK_ERROR_NO_PAK_2P: + case SUB_MENU_COPY_PAK_ERROR_BAD_READ_2P: set_text_color(TEXT_RED); var_s1 = gSubMenuSelection - SUB_MENU_COPY_PAK_ERROR_2P_MIN; - for (stackPadding0 = 0; stackPadding0 < ARRAY_COUNT(D_800E78D0) / 4; stackPadding0++) { // 12 / 4 = 3 - print_text_mode_1(0x00000032, 0x55 + (0x14 * stackPadding0), D_800E78D0[(var_s1 * 3) + stackPadding0], + for (i = 0; i < ARRAY_COUNT(D_800E78D0) / 4; i++) { // 12 / 4 = 3 + print_text_mode_1(0x00000032, 0x55 + (0x14 * i), D_800E78D0[(var_s1 * 3) + i], 0, 0.9f, 0.9f); } break; - case SUB_MENU_COPY_PAK_ERROR_NO_PAK_1P: /* switch 1 */ - case SUB_MENU_COPY_PAK_ERROR_BAD_READ_1P: /* switch 1 */ - case SUB_MENU_COPY_PAK_ERROR_CANT_CREATE_1P: /* switch 1 */ - case SUB_MENU_COPY_PAK_ERROR_NO_PAGES_1P: /* switch 1 */ + case SUB_MENU_COPY_PAK_ERROR_NO_PAK_1P: + case SUB_MENU_COPY_PAK_ERROR_BAD_READ_1P: + case SUB_MENU_COPY_PAK_ERROR_CANT_CREATE_1P: + case SUB_MENU_COPY_PAK_ERROR_NO_PAGES_1P: + j++; j--; // FAKE set_text_color(TEXT_RED); var_s1 = gSubMenuSelection - SUB_MENU_COPY_PAK_ERROR_1P_MIN; - for (stackPadding0 = 0; stackPadding0 < ARRAY_COUNT(D_800E7890) / 4; stackPadding0++) { // 16 / 4 = 4 - print_text_mode_1(0x00000023, 0x55 + (0x14 * stackPadding0), D_800E7890[(var_s1 * 4) + stackPadding0], + for (i = 0; i < ARRAY_COUNT(D_800E7890) / 4; i++) { // 16 / 4 = 4 + print_text_mode_1(0x00000023, 0x55 + (0x14 * i), D_800E7890[(var_s1 * 4) + i], 0, 0.8f, 0.8f); } break; - case SUB_MENU_COPY_PAK_UNABLE_COPY_FROM_1P: /* switch 1 */ - case SUB_MENU_COPY_PAK_UNABLE_READ_FROM_2P: /* switch 1 */ + case SUB_MENU_COPY_PAK_UNABLE_COPY_FROM_1P: + case SUB_MENU_COPY_PAK_UNABLE_READ_FROM_2P: set_text_color(TEXT_RED); var_s1 = gSubMenuSelection - SUB_MENU_COPY_PAK_UNABLE_ERROR_MIN; - for (stackPadding0 = 0; stackPadding0 < ARRAY_COUNT(D_800E7900) / 2; stackPadding0++) { // 6 / 2 = 3 - print_text_mode_1(0x00000041, 0x55 + (0x14 * stackPadding0), D_800E7900[(var_s1 * 3) + stackPadding0], + for (i = 0; i < ARRAY_COUNT(D_800E7900) / 2; i++) { // 6 / 2 = 3 + print_text_mode_1(0x00000041, 0x55 + (0x14 * i), D_800E7900[(var_s1 * 3) + i], 0, 0.9f, 0.9f); } break; - case SUB_MENU_COPY_PAK_CREATE_GAME_DATA_INIT: /* switch 1 */ - case SUB_MENU_COPY_PAK_CREATE_GAME_DATA_DONE: /* switch 1 */ + case SUB_MENU_COPY_PAK_CREATE_GAME_DATA_INIT: + case SUB_MENU_COPY_PAK_CREATE_GAME_DATA_DONE: set_text_color(TEXT_YELLOW); - for (stackPadding0 = 0; stackPadding0 < ARRAY_COUNT(D_800E7A48); stackPadding0++) { - print_text_mode_1(0x00000050, 0x55 + (0x14 * stackPadding0), D_800E7A48[stackPadding0], 0, 1.0f, 1.0f); + for (i = 0; i < ARRAY_COUNT(D_800E7A48); i++) { + print_text_mode_1(0x00000050, 0x55 + (0x14 * i), D_800E7A48[i], 0, 1.0f, 1.0f); } break; - case SUB_MENU_COPY_PAK_FROM_GHOST1_1P: /* switch 1 */ - case SUB_MENU_COPY_PAK_FROM_GHOST2_1P: /* switch 1 */ - case SUB_MENU_COPY_PAK_TO_GHOST1_2P: /* switch 1 */ - case SUB_MENU_COPY_PAK_TO_GHOST2_2P: /* switch 1 */ + case SUB_MENU_COPY_PAK_FROM_GHOST1_1P: + case SUB_MENU_COPY_PAK_FROM_GHOST2_1P: + case SUB_MENU_COPY_PAK_TO_GHOST1_2P: + case SUB_MENU_COPY_PAK_TO_GHOST2_2P: switch (gSubMenuSelection) { case SUB_MENU_COPY_PAK_FROM_GHOST1_1P: case SUB_MENU_COPY_PAK_FROM_GHOST2_1P: @@ -6918,105 +6858,104 @@ void func_800A1FB0(MenuItem* arg0) { var_s5 = SUB_MENU_COPY_PAK_TO_GHOST_MIN; var_s4 = 1; default: - // var_s5 = spC4; - // var_s4 = spC0; break; } - set_text_color(var_s4 + 1); - print_text1_center_mode_1(0x000000A0, 0x00000055, D_800E7920[var_s4], 0, 0.6f, 0.6f); - for (var_s1 = 0; var_s1 < ARRAY_COUNT(D_800E7918); var_s1++) { + temp = var_s4; // only semi-fake + set_text_color(temp + 1); + print_text1_center_mode_1(0x000000A0, 0x00000055, D_800E7920[temp], 0, 0.6f, 0.6f); + for (i = 0; i < ARRAY_COUNT(D_800E7918); i++) { set_text_color(TEXT_YELLOW); - print_text1_center_mode_1(0x5C + (0x82 * var_s1), 0x0000007D, D_800E7918[var_s1], 0, 0.75f, 0.75f); - for (var_s2 = 0; var_s2 < 2; var_s2++) { - if (var_s1 != var_s4) { - text_rainbow_effect(gSubMenuSelection - var_s5, var_s2, TEXT_GREEN); - if (var_s2 == (gSubMenuSelection - var_s5)) { - spE0.column = 0x20 + (0x89 * var_s1); - spE0.row = 0x96 + (0x1E * var_s2); + print_text1_center_mode_1(0x5C + (0x82 * i), 0x0000007D, D_800E7918[i], 0, 0.75f, 0.75f); + for (j = 0; j < 2; j++) { + if (i != temp) { + text_rainbow_effect(gSubMenuSelection - var_s5, j, TEXT_GREEN); + if (j == (gSubMenuSelection - var_s5)) { + spE0.column = 0x20 + (0x89 * i); + spE0.row = 0x96 + (0x1E * j); } - } else if ((var_s4 != 0) && (var_s2 == arg0->param2)) { + } else if ((temp != 0) && (j == arg0->param2)) { set_text_color((s32) gGlobalTimer % 3); } else { set_text_color(TEXT_GREEN); } - convert_number_to_ascii(var_s2 + 1, &spB8[0]); - print_text_mode_1(0x20 + (0x89 * var_s1), 0x96 + (0x1E * var_s2), &spB8[1], 0, 0.6f, 0.6f); - if (var_s1 == 0) { - var_v1 = &D_8018EE10[var_s2]; + convert_number_to_ascii(j + 1, &spB8[0]); + print_text_mode_1(0x20 + (0x89 * i), 0x96 + (0x1E * j), &spB8[1], 0, 0.6f, 0.6f); + if (i == 0) { + var_v1 = &D_8018EE10[j]; } else { - var_v1 = &((struct_8018EE10_entry*) gSomeDLBuffer)[var_s2]; + var_v1 = &((struct_8018EE10_entry*) gSomeDLBuffer)[j]; } if (var_v1->ghostDataSaved == 0) { - print_text_mode_1(0x2A + (var_s1 * 0x89), 0x96 + (0x1E * var_s2), D_800E7A44, 0, 0.5f, 0.5f); + print_text_mode_1(0x2A + (i * 0x89), 0x96 + (0x1E * j), D_800E7A44, 0, 0.5f, 0.5f); } else { print_text_mode_1( - 0x2A + (var_s1 * 0x89), 0x96 + (0x1E * var_s2), + 0x2A + (i * 0x89), 0x96 + (0x1E * j), gCourseNamesDup2[gCupCourseOrder[var_v1->courseIndex / 4][var_v1->courseIndex % 4]], 0, 0.5f, 0.5f); } } } break; - case SUB_MENU_COPY_PAK_PROMPT_QUIT: /* switch 1 */ - case SUB_MENU_COPY_PAK_PROMPT_COPY: /* switch 1 */ + case SUB_MENU_COPY_PAK_PROMPT_QUIT: + case SUB_MENU_COPY_PAK_PROMPT_COPY: set_text_color(TEXT_RED); - for (var_s1 = 0; var_s1 < ARRAY_COUNT(D_800E7928); var_s1++) { - print_text1_center_mode_1(0x000000A0, 0x4D + (0x14 * var_s1), D_800E7928[var_s1], 0, 0.8f, 0.8f); + for (i = 0; i < ARRAY_COUNT(D_800E7928); i++) { + print_text1_center_mode_1(0x000000A0, 0x4D + (0x14 * i), D_800E7928[i], 0, 0.8f, 0.8f); } - for (var_s1 = 0; var_s1 < ARRAY_COUNT(D_800E7918); var_s1++) { + for (i = 0; i < ARRAY_COUNT(D_800E7918); i++) { set_text_color(TEXT_YELLOW); - print_text1_center_mode_1(0x5C + (0x82 * var_s1), 0x0000007D, D_800E7918[var_s1], 0, 0.75f, 0.75f); - for (var_s2 = 0; var_s2 != 2; var_s2++) { - if (var_s1 == 0) { - if (var_s2 == arg0->param1) { + print_text1_center_mode_1(0x5C + (0x82 * i), 0x0000007D, D_800E7918[i], 0, 0.75f, 0.75f); + for (j = 0; j != 2; j++) { + if (i == 0) { + if (j == arg0->param1) { set_text_color((s32) gGlobalTimer % 3); } else { set_text_color(TEXT_GREEN); } - } else if (var_s2 == arg0->param2) { + } else if (j == arg0->param2) { set_text_color((s32) gGlobalTimer % 3); } else { set_text_color(TEXT_GREEN); } - convert_number_to_ascii(var_s2 + 1, &spA8[0]); - print_text_mode_1(0x20 + (0x89 * var_s1), 0x96 + (0x1E * var_s2), &spA8[1], 0, 0.6f, 0.6f); - if (var_s1 == 0) { - var_v1 = &D_8018EE10[var_s2]; + convert_number_to_ascii(j + 1, &spA8[0]); + print_text_mode_1(0x20 + (0x89 * i), 0x96 + (0x1E * j), &spA8[1], 0, 0.6f, 0.6f); + if (i == 0) { + do {} while(0); // FAKE + var_v1 = &D_8018EE10[j]; } else { - var_v1 = &((struct_8018EE10_entry*) gSomeDLBuffer)[var_s2]; + var_v1 = &((struct_8018EE10_entry*) gSomeDLBuffer)[j]; } if (var_v1->ghostDataSaved == 0) { - print_text_mode_1(0x2A + (var_s1 * 0x89), 0x96 + (0x1E * var_s2), D_800E7A44, 0, 0.5f, 0.5f); + print_text_mode_1(0x2A + (i * 0x89), 0x96 + (0x1E * j), D_800E7A44, 0, 0.5f, 0.5f); } else { print_text_mode_1( - 0x2A + (var_s1 * 0x89), 0x96 + (0x1E * var_s2), + 0x2A + (i * 0x89), 0x96 + (0x1E * j), gCourseNamesDup2[gCupCourseOrder[var_v1->courseIndex / 4][var_v1->courseIndex % 4]], 0, 0.5f, 0.5f); } } } - // Register allocation diffs here - for (var_s2 = 0; var_s2 < ARRAY_COUNT(D_800E7930); var_s2++) { - if (var_s2 == (gSubMenuSelection - SUB_MENU_COPY_PAK_PROMPT_MIN)) { - spE0.column = 0x6E + (0x32 * var_s2); + for (i = 0; i < ARRAY_COUNT(D_800E7930); i++) { + if (i == (gSubMenuSelection - SUB_MENU_COPY_PAK_PROMPT_MIN)) { + spE0.column = 0x6E + (0x32 * i); spE0.row = 0x00D2; } - text_rainbow_effect((gSubMenuSelection - SUB_MENU_COPY_PAK_PROMPT_MIN), var_s2, TEXT_YELLOW); - print_text_mode_1(0x6E + (0x32 * var_s2), 0x000000D2, D_800E7930[var_s2], 0, 0.75f, 0.75f); + text_rainbow_effect((gSubMenuSelection - SUB_MENU_COPY_PAK_PROMPT_MIN), j, TEXT_YELLOW); + print_text_mode_1(0x6E + (0x32 * i), 0x000000D2, D_800E7930[i], 0, 0.75f, 0.75f); } break; - case SUB_MENU_COPY_PAK_START: /* switch 1 */ - case SUB_MENU_COPY_PAK_COPYING: /* switch 1 */ - case SUB_MENU_COPY_PAK_COMPLETED: /* switch 1 */ + case SUB_MENU_COPY_PAK_START: + case SUB_MENU_COPY_PAK_COPYING: + case SUB_MENU_COPY_PAK_COMPLETED: var_s5 = (gSubMenuSelection - SUB_MENU_COPY_PAK_ACTION_MIN) / 2; set_text_color(TEXT_RED); print_text1_center_mode_1(0x000000A0, 0x00000055, D_800E7938[var_s5], 0, 1.0f, 1.0f); - for (var_s1 = 0; var_s1 < ARRAY_COUNT(D_800E7918); var_s1++) { + for (i = 0; i < ARRAY_COUNT(D_800E7918); i++) { set_text_color(TEXT_YELLOW); - print_text1_center_mode_1(0x5C + (0x82 * var_s1), 0x0000007D, D_800E7918[var_s1], 0, 0.75f, 0.75f); - for (var_s2 = 0; var_s2 < 2; var_s2++) { - if (var_s1 == 0) { - if (var_s2 == arg0->param1) { + print_text1_center_mode_1(0x5C + (0x82 * i), 0x0000007D, D_800E7918[i], 0, 0.75f, 0.75f); + for (j = 0; j < 2; j++) { + if (i == 0) { + if (j == arg0->param1) { if (var_s5 == 0) { set_text_color(TEXT_RED); } else { @@ -7025,23 +6964,23 @@ void func_800A1FB0(MenuItem* arg0) { } else { set_text_color(TEXT_GREEN); } - } else if (var_s2 == arg0->param2) { + } else if (j == arg0->param2) { set_text_color(TEXT_RED); } else { set_text_color(TEXT_GREEN); } - convert_number_to_ascii(var_s2 + 1, &sp98[0]); - print_text_mode_1(0x20 + (0x89 * var_s1), 0x96 + (0x1E * var_s2), &sp98[1], 0, 0.6f, 0.6f); - if (var_s1 == 0) { - var_v1 = &D_8018EE10[var_s2]; + convert_number_to_ascii(j + 1, &sp98[0]); + print_text_mode_1(0x20 + (0x89 * i), 0x96 + (0x1E * j), &sp98[1], 0, 0.6f, 0.6f); + if (i == 0) { + var_v1 = &D_8018EE10[j]; } else { - var_v1 = &((struct_8018EE10_entry*) gSomeDLBuffer)[var_s2]; + var_v1 = &((struct_8018EE10_entry*) gSomeDLBuffer)[j]; } if (var_v1->ghostDataSaved == 0) { - print_text_mode_1(0x2A + (var_s1 * 0x89), 0x96 + (0x1E * var_s2), D_800E7A44, 0, 0.5f, 0.5f); + print_text_mode_1(0x2A + (i * 0x89), 0x96 + (0x1E * j), D_800E7A44, 0, 0.5f, 0.5f); } else { print_text_mode_1( - 0x2A + (var_s1 * 0x89), 0x96 + (0x1E * var_s2), + 0x2A + (i * 0x89), 0x96 + (0x1E * j), gCourseNamesDup2[gCupCourseOrder[var_v1->courseIndex / 4][var_v1->courseIndex % 4]], 0, 0.5f, 0.5f); } @@ -7066,9 +7005,6 @@ void func_800A1FB0(MenuItem* arg0) { } func_800A66A8(arg0, (Unk_D_800E70A0*) &spE0); } -#else -GLOBAL_ASM("asm/non_matchings/menu_items/func_800A1FB0.s") -#endif void func_800A2D1C(MenuItem* arg0) { switch (D_80164A28) { @@ -7390,15 +7326,15 @@ void func_800A3E60(MenuItem* arg0) { for (var_s1 = 0; var_s1 < 4; var_s1++) { render_lap_time(var_s1, arg0->column + 0x26, ((0xF * var_s1) - arg0->row) + 0x37); } - switch (arg0->state) { /* switch 1 */ - case 1: /* switch 1 */ - case 5: /* switch 1 */ - case 6: /* switch 1 */ - case 7: /* switch 1 */ - case 8: /* switch 1 */ - case 9: /* switch 1 */ - case 10: /* switch 1 */ - case 30: /* switch 1 */ + switch (arg0->state) { + case 1: + case 5: + case 6: + case 7: + case 8: + case 9: + case 10: + case 30: for (var_s1 = 0; var_s1 < 6; var_s1++) { var_v1 = 0; text_rainbow_effect(arg0->state - 5, var_s1, 1); @@ -7425,20 +7361,20 @@ void func_800A3E60(MenuItem* arg0) { } } break; - case 11: /* switch 1 */ - case 12: /* switch 1 */ - case 13: /* switch 1 */ - case 14: /* switch 1 */ - case 15: /* switch 1 */ - case 16: /* switch 1 */ + case 11: + case 12: + case 13: + case 14: + case 15: + case 16: set_text_color(TEXT_YELLOW); var_v1 = arg0->state - 11; for (var_s1 = 0; var_s1 < 7; var_s1++) { print_text_mode_1(0x000000A2, 0x8C + (0xD * var_s1), D_800E798C[(var_v1 * 7) + var_s1], 0, 0.6f, 0.6f); } break; - case 17: /* switch 1 */ - case 18: /* switch 1 */ + case 17: + case 18: set_text_color(TEXT_GREEN); for (var_s1 = 0; var_s1 < 2; var_s1++) { print_text_mode_1(0x000000A5, arg0->row + (0xD * var_s1) + 0x8C, D_800E7A3C[var_s1], 0, 0.7f, 0.7f); @@ -7457,14 +7393,14 @@ void func_800A3E60(MenuItem* arg0) { } } break; - case 19: /* switch 1 */ + case 19: set_text_color(TEXT_YELLOW); for (var_s1 = 0; var_s1 < 3; var_s1++) { print_text_mode_1(0x000000AA, (0xD * var_s1) + 0x93, D_800E7A48[var_s1], 0, 0.8f, 0.8f); } break; - case 20: /* switch 1 */ - case 21: /* switch 1 */ + case 20: + case 21: if (var_s1 && var_s1) {} set_text_color(TEXT_YELLOW); for (var_s1 = 0; var_s1 < 3; var_s1++) { @@ -7475,13 +7411,13 @@ void func_800A3E60(MenuItem* arg0) { print_text_mode_1(0xC8 - arg0->column, 0xB9 + (0xF * var_s1), D_800E7A6C[var_s1], 0, 0.75f, 0.75f); } break; - case 25: /* switch 1 */ + case 25: set_text_color(TEXT_YELLOW); for (var_s1 = 0; var_s1 < 3; var_s1++) { print_text_mode_1(0x000000A3, (0xD * var_s1) + 0x93, D_800E7A74[var_s1], 0, 0.67f, 0.67f); } break; - case 26: /* switch 1 */ + case 26: set_text_color(TEXT_YELLOW); for (var_s1 = 0; var_s1 < 2; var_s1++) { print_text_mode_1(0x000000AA, (0xD * var_s1) + 0x93, D_800E7A80[var_s1], 0, 0.75f, 0.75f); @@ -7557,21 +7493,16 @@ void render_lap_time(s32 lapNumber, s32 column, s32 row) { func_800939C8(column + 0x55, row, sp34, 0, 0.7f, 0.7f); } -#ifdef NON_MATCHING -// https://decomp.me/scratch/mWCHC -// The majority of th diff is from the handling of `textColor`. There is something super fucky there. -// The permuter found a decent improvement with making `textColor` a `volatile` variable but that -// seems wrong for several reasons - void render_lap_times(s32 recordType, s32 column, s32 row) { - UNUSED s32 stackPadding0; + UNUSED s32 pad; u32 timeRecord; + UNUSED s32 pad2; s32 textColor; s32 temp_t0; - s32 characterId; char sp38[3]; - MenuItem* temp_v0; + MenuItem* item; s32 sp30; + if (gGamestate == RACING) { sp30 = 0; } else { @@ -7587,27 +7518,24 @@ void render_lap_times(s32 recordType, s32 column, s32 row) { } else { if (sp30 == 0) { timeRecord = func_800B4F2C(); - } else { + } + else { timeRecord = func_800B4FB0(gTimeTrialDataCourseIndex); } } func_800939C8(column + 0x14, row, D_800E7744[recordType], 2, 0.65f, 0.65f); if (sp30 == 0) { - temp_v0 = find_menu_items_dupe(MENU_ITEM_TYPE_0BB); + item = find_menu_items_dupe(0x000000BB); if (recordType < 5) { - if (recordType == temp_v0->param1) { + if (recordType == item->param1) { textColor = gGlobalTimer % 3; } else { textColor = TEXT_YELLOW; } + } else if (item->param2 != 0) { + textColor = gGlobalTimer % 3; } else { - // huh? textColor = TEXT_YELLOW; - if (temp_v0->param2 != 0) { - textColor = gGlobalTimer; - textColor %= 3; - } else { - } } } else { textColor = TEXT_YELLOW; @@ -7617,22 +7545,18 @@ void render_lap_times(s32 recordType, s32 column, s32 row) { get_time_record_minutes(temp_t0, sp38); func_800939C8(column + 0x27, row, sp38, 0, 0.65f, 0.65f); print_text_mode_1(column + 0x32, row, "'", 0, 0.65f, 0.65f); - if (!textColor) {} get_time_record_seconds(temp_t0, sp38); func_800939C8(column + 0x3B, row, sp38, 0, 0.65f, 0.65f); print_text_mode_1(column + 0x46, row, "\"", 0, 0.65f, 0.65f); get_time_record_centiseconds(temp_t0, sp38); func_800939C8(column + 0x50, row, sp38, 0, 0.65f, 0.65f); - if (temp_t0 < 0x927C0) { - characterId = timeRecord >> 0x14; + if ((u32)temp_t0 < 600000U) { + textColor = timeRecord >> 0x14; } else { - characterId = 8; + textColor = 8; } - print_text1_center_mode_1(column + 0x78, row, D_800E76A8[characterId], 0, 0.65f, 0.65f); + print_text1_center_mode_1(column + 0x78, row, D_800E76A8[textColor], 0, 0.65f, 0.65f); } -#else -GLOBAL_ASM("asm/non_matchings/menu_items/render_lap_times.s") -#endif void render_menu_item_announce_ghost(MenuItem* arg0) { UNUSED s32 stackPadding0; @@ -7886,14 +7810,14 @@ void render_menu_item_end_course_option(MenuItem* arg0) { set_text_color(TEXT_YELLOW); print_text1_center_mode_2(0x000000A0, 0x00000050, gCourseNamesDup[gCupCourseOrder[gCupSelection][gCourseIndexInCup]], 0, 1.0f, 1.0f); - switch (arg0->state) { /* switch 1 */ - case 1: /* switch 1 */ - case 11: /* switch 1 */ - case 12: /* switch 1 */ - case 13: /* switch 1 */ - case 14: /* switch 1 */ - case 15: /* switch 1 */ - case 16: /* switch 1 */ + switch (arg0->state) { + case 1: + case 11: + case 12: + case 13: + case 14: + case 15: + case 16: set_text_color(TEXT_RED); print_text1_center_mode_2(0x0000009D, 0x00000060, gBestTimeText[0], 0, 0.8f, 0.8f); temp_a0 = func_800B4E24(0); @@ -7923,12 +7847,12 @@ void render_menu_item_end_course_option(MenuItem* arg0) { gTextPauseButton[var_s1 + 1], 0, 0.75f, 0.75f); } break; - case 21: /* switch 1 */ - case 22: /* switch 1 */ - case 23: /* switch 1 */ - case 24: /* switch 1 */ - case 25: /* switch 1 */ - case 26: /* switch 1 */ + case 21: + case 22: + case 23: + case 24: + case 25: + case 26: set_text_color(TEXT_YELLOW); temp_v0 = arg0->state - 0x15; for (var_s1 = 0; var_s1 < 7; var_s1++) { @@ -7936,8 +7860,8 @@ void render_menu_item_end_course_option(MenuItem* arg0) { 0.8f); } break; - case 30: /* switch 1 */ - case 31: /* switch 1 */ + case 30: + case 31: set_text_color(TEXT_GREEN); for (var_s1 = 0; var_s1 < 2; var_s1++) { print_text_mode_1(0x0000005A, arg0->row + (0xD * var_s1) + 0x6E, D_800E7A3C[var_s1], 0, 0.8f, 0.8f); @@ -7956,14 +7880,14 @@ void render_menu_item_end_course_option(MenuItem* arg0) { } } break; - case 32: /* switch 1 */ + case 32: set_text_color(TEXT_YELLOW); for (var_s1 = 0; var_s1 < 3; var_s1++) { print_text_mode_1(0x00000064, (0xD * var_s1) + 0x6E, D_800E7A48[var_s1], 0, 0.8f, 0.8f); } break; - case 35: /* switch 1 */ - case 36: /* switch 1 */ + case 35: + case 36: set_text_color(TEXT_YELLOW); for (var_s1 = 0; var_s1 < 3; var_s1++) { print_text_mode_1(0x00000055, arg0->row + (0xD * var_s1) + 0x6E, D_800E7A60[var_s1], 0, 0.8f, 0.8f); @@ -7973,13 +7897,13 @@ void render_menu_item_end_course_option(MenuItem* arg0) { print_text_mode_1(0x7D - arg0->column, 0x9B + (0xF * var_s1), D_800E7A6C[var_s1], 0, 0.8f, 0.8f); } break; - case 40: /* switch 1 */ + case 40: set_text_color(TEXT_YELLOW); for (var_s1 = 0; var_s1 < 3; var_s1++) { print_text_mode_1(0x00000055, (0xD * var_s1) + 0x6E, D_800E7A74[var_s1], 0, 0.8f, 0.8f); } break; - case 41: /* switch 1 */ + case 41: set_text_color(TEXT_YELLOW); for (var_s1 = 0; var_s1 < 2; var_s1++) { print_text_mode_1(0x0000005D, (0xD * var_s1) + 0x6E, D_800E7A80[var_s1], 0, 0.8f, 0.8f); @@ -8483,7 +8407,7 @@ void handle_menus_with_pri_arg(s32 priSpecial) { s32 type; MenuItem* entry; - for (i = 0; i < MENU_ITEMS_MAX; i++) { + for (i = 0; i < ARRAY_COUNT(gMenuItems); i++) { isRendered = false; entry = &gMenuItems[i]; type = entry->type; @@ -8869,7 +8793,7 @@ void handle_menus_with_pri_arg(s32 priSpecial) { } for (j = 0; j < MENU_ITEM_PRIORITY_MAX; j++) { - for (i = 0; i < MENU_ITEMS_MAX; i++) { + for (i = 0; i < ARRAY_COUNT(gMenuItems); i++) { isRendered = false; entry = &gMenuItems[i]; if (entry && entry) {} // ? @@ -9433,7 +9357,7 @@ void update_ok_menu_item(MenuItem* arg0) { s32 sp4; s32 var_v0; - switch (arg0->type) { /* irregular */ + switch (arg0->type) { default: var_v0 = sp4; // wut? break; @@ -9447,14 +9371,14 @@ void update_ok_menu_item(MenuItem* arg0) { var_v0 = D_800F0CA8[gPlayerSelectMenuSelection - 1]; break; } - switch (var_v0) { /* switch 1; irregular */ - case 0: /* switch 1 */ + switch (var_v0) { + case 0: arg0->param1 = 0; break; - case 1: /* switch 1 */ + case 1: arg0->param1 = 0x00000020; break; - case 2: /* switch 1 */ + case 2: if (arg0->param1 > 0) { arg0->param1 = (arg0->param1 - (arg0->param1 / 12)) - 2; if (arg0->param1 < 0) { @@ -9462,7 +9386,7 @@ void update_ok_menu_item(MenuItem* arg0) { } } break; - case 3: /* switch 1 */ + case 3: if (arg0->param1 < 0x20) { arg0->param1 += 2; if (arg0->param1 >= 0x20) { @@ -9586,23 +9510,23 @@ void func_800A9E58(MenuItem* arg0) { s32 sp1C; s32 temp_a1; - switch (arg0->type) { /* switch 1 */ - case 18: /* switch 1 */ - case 19: /* switch 1 */ - case 20: /* switch 1 */ - case 21: /* switch 1 */ + switch (arg0->type) { + case 18: + case 19: + case 20: + case 21: sp24 = 18; sp1C = 2; sp20 = 0; break; - case 22: /* switch 1 */ - case 23: /* switch 1 */ + case 22: + case 23: sp24 = 22; sp20 = 2; sp1C = 2; break; - case 24: /* switch 1 */ - case 25: /* switch 1 */ + case 24: + case 25: sp24 = 24; sp20 = 1; sp1C = 1; @@ -9748,17 +9672,17 @@ void func_800AA2EC(MenuItem* arg0) { if (gControllerPak1State != 0) { var_t1 = 0; switch (osPfsFindFile(&gControllerPak1FileHandle, gCompanyCode, gGameCode, (u8*) gGameName, - (u8*) gExtCode, &gControllerPak1FileNote)) { /* switch 1; irregular */ - case 5: /* switch 1 */ + (u8*) gExtCode, &gControllerPak1FileNote)) { + case 5: break; - case 0: /* switch 1 */ + case 0: arg0->state = 1; var_t1 = 1; break; - case 2: /* switch 1 */ + case 2: gControllerPak1State = 0; break; - default: /* switch 1 */ + default: gControllerPak1State = 0; break; } @@ -10291,139 +10215,125 @@ void func_800AB290(MenuItem* arg0) { } } -#ifdef NON_MATCHING -// Decent work has been done, but not quite right -// https://decomp.me/scratch/YLbkC -void func_800AB314(MenuItem* arg0) { - s32 var_a1; - s32 one = 1; - s32 four = 4; - MenuItem* sp24[4]; - s32 var_v0; +void func_800AB314(MenuItem* item) { + s32 i; + UNUSED s32 pad[2]; + MenuItem* _items[4]; // Added _ to help distinguish between the function argument and this - for (var_a1 = 0; var_a1 < 4; var_a1++) { - sp24[var_a1] = find_menu_items_dupe(var_a1 + 0x5F); + for (i = 0; i < 4; i++) { + _items[i] = find_menu_items_dupe(i + 0x5F); } - switch (gModeSelection) { - default: - if (gSubMenuSelection != SUB_MENU_MAP_SELECT_CUP) { - arg0->state = 0; - arg0->param2 = 0; - for (var_a1 = 0; var_a1 < 4; var_a1++) { - if (gCourseIndexInCup == var_a1) { - sp24[var_a1]->visible = one; - if (arg0->param1 != var_a1) { - arg0->param1 = var_a1; - } - } else { - sp24[var_a1]->visible = 0; + if (gModeSelection != 0) { + if (gSubMenuSelection != SUB_MENU_MAP_SELECT_CUP) { + item->state = 0; + item->param2 = 0; + + for (i = 0; i < 4; i++) { + if (gCourseIndexInCup == i) { + _items[i]->visible = 1; + if (item->param1 != i) { + item->param1 = i; } - } - } else { - arg0->state = 3; - for (var_a1 = 0; var_a1 < 4; var_a1++) { - sp24[var_a1]->visible = one; - sp24[var_a1]->priority = 6; + } else { + _items[i]->visible = 0; } } - break; - case 0: - switch (arg0->state) { /* irregular */ - case 0: - if ((arg0->param1 / 4) == gCupSelection) { - arg0->param2++; - if (arg0->param2 >= 0x33) { - arg0->state = one; - arg0->param2 = 0; - var_v0 = gCupSelection * 4; - arg0->param1 = var_v0 + 1; - } - } else { - arg0->param2 = 0; - arg0->param1 = gCupSelection * 4; - } - if (gSubMenuSelection == SUB_MENU_MAP_SELECT_OK) { - arg0->state = 2; - arg0->param2 = 0; - } - break; - case 1: - if ((arg0->param1 / 4) != gCupSelection) { - arg0->state = 0; - arg0->param2 = 0; - arg0->param1 = 0; - } else { - arg0->param2++; - if (arg0->param2 >= 0x1F) { - arg0->param2 = 0; - arg0->param1 = (gCupSelection * 4) + (((arg0->param1 % 4) + one) % 4); - } else { - if (gSubMenuSelection == SUB_MENU_MAP_SELECT_OK) { - arg0->state = 2; - arg0->param2 = 0; - } - } - } - break; - case 2: - arg0->param2++; - if (arg0->param2 >= 0x1A) { - arg0->state = 3; - arg0->param2 = 0; - } - if (gSubMenuSelection != SUB_MENU_MAP_SELECT_OK) { - arg0->state = 0; - arg0->param2 = 0; - arg0->param1 = 0; - } - break; - case 3: - if (gSubMenuSelection != SUB_MENU_MAP_SELECT_OK) { - arg0->state = 0; - arg0->param2 = 0; - arg0->param1 = 0; - } - break; + } else { + item->state = 3; + for (i = 0; i < 4; i++) { + _items[i]->visible = 1; + _items[i]->priority = 6; } - switch (arg0->state) { - case 0: - case 1: - for (var_a1 = 0; var_a1 < 4; var_a1++) { - if ((arg0->param1 % 4) == var_a1) { - sp24[var_a1]->visible = one; - } else { - sp24[var_a1]->visible = 0; - } - sp24[var_a1]->priority = 6; + } + } else { + switch (item->state) { + case 0: + if (gCupSelection == (item->param1 / 4)) { + if (++item->param2 > 50) { + item->state = 1; + item->param2 = 0; + item->param1 = (gCupSelection * 4) + 1; } + } else { + item->param2 = 0; + item->param1 = gCupSelection * 4; + } + if (gSubMenuSelection == SUB_MENU_MAP_SELECT_OK) { + item->state = 2; + item->param2 = 0; + } + break; + case 1: + if (gCupSelection != (item->param1 / 4)) { + item->state = 0; + item->param2 = 0; + item->param1 = 0; break; - case 2: - for (var_a1 = 0; var_a1 < 4; var_a1++) { - if (var_a1 == (arg0->param1 % 4)) { - sp24[var_a1]->priority = 6; - } else if (arg0->param2 < (var_a1 * 5)) { - sp24[var_a1]->priority = four; - } else { - sp24[var_a1]->priority = 8; - } - sp24[var_a1]->visible = one; + } + + if (++item->param2 > 30) { + item->param2 = 0; + item->param1 = (gCupSelection * 4) + (((item->param1 % 4) + 1) % 4); + break; + } + if (gSubMenuSelection == SUB_MENU_MAP_SELECT_OK) { + item->state = 2; + item->param2 = 0; + } + break; + case 2: + if (++item->param2 > 25) { + item->state = 3; + item->param2 = 0; + } + if (gSubMenuSelection != SUB_MENU_MAP_SELECT_OK) { + item->state = 0; + item->param2 = 0; + item->param1 = 0; + } + break; + case 3: + if (gSubMenuSelection != SUB_MENU_MAP_SELECT_OK) { + item->state = 0; + item->param2 = 0; + item->param1 = 0; + } + break; + } + + switch (item->state) { + case 0: + case 1: + for (i = 0; i < 4; i++) { + if ((item->param1 % 4) == i) { + _items[i]->visible = 1; + } else { + _items[i]->visible = 0; } - break; - case 3: - for (var_a1 = 0; var_a1 < 4; var_a1++) { - sp24[var_a1]->visible = one; - sp24[var_a1]->priority = 6; + _items[i]->priority = 6; + } + break; + case 2: + for (i = 0; i < 4; i++) { + if ((item->param1 % 4) == i) { + _items[i]->priority = 6; + } else if (item->param2 < (i * 5)) { + _items[i]->priority = 4; + } else { + _items[i]->priority = 8; } - break; - default: - break; - } - break; + _items[i]->visible = 1; + } + break; + case 3: + for (i = 0; i < 4; i++) { + _items[i]->visible = 1; + _items[i]->priority = 6; + } + break; + } } } -#else -GLOBAL_ASM("asm/non_matchings/menu_items/func_800AB314.s") -#endif void func_800AB904(MenuItem* arg0) { Unk_D_800E70A0* temp_a1; @@ -11033,13 +10943,13 @@ void func_800ACF40(MenuItem* arg0) { break; case 2: var_v1 = 0; - switch (gModeSelection) { /* switch 1; irregular */ - case 2: /* switch 1 */ + switch (gModeSelection) { + case 2: if (gGPCurrentRaceRankByPlayerId[temp_a2] != 0) { var_v1 = 1; } break; - case 3: /* switch 1 */ + case 3: if (temp_a2 != gPlayerWinningIndex) { var_v1 = 1; } @@ -11284,13 +11194,13 @@ void func_800AD2E8(MenuItem* arg0) { } } break; - case 11: /* switch 1 */ - case 12: /* switch 1 */ - case 13: /* switch 1 */ - case 14: /* switch 1 */ - case 15: /* switch 1 */ - case 16: /* switch 1 */ - case 26: /* switch 1 */ + case 11: + case 12: + case 13: + case 14: + case 15: + case 16: + case 26: if (gControllerOne->buttonPressed & 0xD000) { arg0->state = 0x0000000A; play_sound2(SOUND_MENU_GO_BACK); @@ -11299,8 +11209,8 @@ void func_800AD2E8(MenuItem* arg0) { } } break; - case 17: /* switch 1 */ - case 18: /* switch 1 */ + case 17: + case 18: arg0->param2 = arg0->state - 0x11; if (func_800B639C((gCupSelection * 4) + gCourseIndexInCup) != arg0->param2) { if ((gControllerOne->buttonPressed | gControllerOne->stickPressed) & 0x800) { @@ -11345,7 +11255,7 @@ void func_800AD2E8(MenuItem* arg0) { } } break; - case 19: /* switch 1 */ + case 19: if ((arg0->param1 == 1) && (func_800B6A68() != 0)) { arg0->state = 0x0000000F; return; @@ -11356,8 +11266,8 @@ void func_800AD2E8(MenuItem* arg0) { } } break; - case 20: /* switch 1 */ - case 21: /* switch 1 */ + case 20: + case 21: if (((gControllerOne->buttonPressed | gControllerOne->stickPressed) & 0x800) && (arg0->state >= 0x15)) { arg0->state--; play_sound2(SOUND_MENU_CURSOR_MOVE); @@ -11396,7 +11306,7 @@ void func_800AD2E8(MenuItem* arg0) { } } break; - case 25: /* switch 1 */ + case 25: if (arg0->param1 == 1) { if (osPfsFindFile(&gControllerPak1FileHandle, gCompanyCode, gGameCode, (u8*) gGameName, (u8*) gExtCode, &gControllerPak1FileNote) != 0) { @@ -11416,7 +11326,7 @@ void func_800AD2E8(MenuItem* arg0) { return; } break; - case 30: /* switch 1 */ + case 30: arg0->row = arg0->param2; if (arg0->param2 < 0xF0) { arg0->param2 += 0x10; @@ -11452,7 +11362,7 @@ void func_800AD2E8(MenuItem* arg0) { D_8015F894 = 4; func_800CA330(0x19U); break; - case 31: /* switch 1 */ + case 31: arg0->type = 0; break; } @@ -11547,8 +11457,8 @@ void func_800AE218(MenuItem* arg0) { if (arg0->state != 0) { D_800DC5B8 = 0; } - switch (arg0->state) { /* switch 1 */ - case 0: /* switch 1 */ + switch (arg0->state) { + case 0: if (arg0->param1 < 0x1E) { arg0->param1++; } @@ -11560,20 +11470,20 @@ void func_800AE218(MenuItem* arg0) { arg0->param1 = 0; } break; - default: /* switch 1 */ + default: break; - case 1: /* switch 1 */ + case 1: arg0->param1 += 3; if (arg0->param1 >= 0x8D) { arg0->state = 0x0000000F; } break; - case 11: /* switch 1 */ - case 12: /* switch 1 */ - case 13: /* switch 1 */ - case 14: /* switch 1 */ - case 15: /* switch 1 */ - case 16: /* switch 1 */ + case 11: + case 12: + case 13: + case 14: + case 15: + case 16: if (is_screen_being_faded() == 0) { if ((gControllerOne->buttonPressed | gControllerOne->stickPressed) & 0x800) { if (arg0->state >= 0xC) { @@ -11686,13 +11596,13 @@ void func_800AE218(MenuItem* arg0) { } } break; - case 21: /* switch 1 */ - case 22: /* switch 1 */ - case 23: /* switch 1 */ - case 24: /* switch 1 */ - case 25: /* switch 1 */ - case 26: /* switch 1 */ - case 41: /* switch 1 */ + case 21: + case 22: + case 23: + case 24: + case 25: + case 26: + case 41: if (gControllerOne->buttonPressed & 0xD000) { arg0->state = 0x00000010; play_sound2(SOUND_MENU_GO_BACK); @@ -11701,8 +11611,8 @@ void func_800AE218(MenuItem* arg0) { } } break; - case 30: /* switch 1 */ - case 31: /* switch 1 */ + case 30: + case 31: arg0->param2 = (u32) arg0->state - 0x1E; if (func_800B639C((gCupSelection * 4) + gCourseIndexInCup) != arg0->param2) { if ((gControllerOne->buttonPressed | gControllerOne->stickPressed) & 0x800) { @@ -11745,7 +11655,7 @@ void func_800AE218(MenuItem* arg0) { } } break; - case 32: /* switch 1 */ + case 32: if ((arg0->param1 == 1) && (func_800B6A68() != 0)) { arg0->state = 0x00000019; } else { @@ -11755,8 +11665,8 @@ void func_800AE218(MenuItem* arg0) { } } break; - case 35: /* switch 1 */ - case 36: /* switch 1 */ + case 35: + case 36: if (((gControllerOne->buttonPressed | gControllerOne->stickPressed) & 0x800) && ((s32) (u32) arg0->state >= 0x24)) { arg0->state--; @@ -11793,7 +11703,7 @@ void func_800AE218(MenuItem* arg0) { } } break; - case 40: /* switch 1 */ + case 40: if (arg0->param1 == 1) { if (osPfsFindFile(&gControllerPak1FileHandle, gCompanyCode, gGameCode, (u8*) gGameName, (u8*) gExtCode, &gControllerPak1FileNote) != 0) { diff --git a/src/menu_items.h b/src/menu_items.h index 937abd855..13b2c0d62 100644 --- a/src/menu_items.h +++ b/src/menu_items.h @@ -27,7 +27,7 @@ typedef struct { /* 0x08 */ s32 subState; // This is used but I can't tell what for /* 0x0C */ s32 column; /* 0x10 */ s32 row; - /* 0x14 */ u8 priority; // priority/depth/z-level. Higher values are drawn on top of lower values + /* 0x14 */ s8 priority; // priority/depth/z-level. Higher values are drawn on top of lower values // If equal, later entries in gMenuItems are on top /* 0x15 */ bool8 visible; // active? If 1 its displayed, if 0 its not // These seem to be generic space available for use by the struct, no 1 purpose for any given member @@ -397,7 +397,7 @@ Gfx* func_800959F8(Gfx*, Vtx*); Gfx* func_80095BD0(Gfx*, u8*, f32, f32, u32, u32, f32, f32); Gfx* func_80095E10(Gfx*, s8, s32, s32, s32, s32, s32, s32, s32, s32, u8*, u32, u32); Gfx* func_800963F0(Gfx*, s8, s32, s32, f32, f32, s32, s32, s32, s32, s32, s32, u8*, u32, u32); -Gfx* func_80096CD8(Gfx*, s32, s32, u32, u32); +Gfx* func_80096CD8(Gfx* displayListHead, s32 xPos, s32 yPos, u32 width, u32 height); Gfx* func_80097274(Gfx* displayListHead, s8 arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6, s32 arg7, s32 arg8, s32 arg9, u16* argA, u32 argB, u32 argC, s32 argD); Gfx* func_80097A14(Gfx*, s8, s32, s32, s32, s32, s32, s32, u8*, u32, u32); diff --git a/src/menus.c b/src/menus.c index 629758223..51f61d330 100644 --- a/src/menus.c +++ b/src/menus.c @@ -639,7 +639,7 @@ void data_menu_act(struct Controller* controller, UNUSED u16 controllerIdx) { u16 btnAndStick = (controller->buttonPressed | controller->stickPressed); // Make pressing Start have the same effect as pressing A - if ((gEnableDebugMode == 0) && ((btnAndStick & START_BUTTON) != 0)) { + if (!gEnableDebugMode && ((btnAndStick & START_BUTTON) != 0)) { btnAndStick |= A_BUTTON; } @@ -1172,7 +1172,7 @@ void splash_menu_act(struct Controller* controller, u16 controllerIdx) { } play_sound2(SOUND_MENU_SELECT); break; - } else if (btnAndStick & CONT_L) { + } else if (btnAndStick & L_TRIG) { reset_save_data_grand_prix_points_and_sound_mode(); for (i = 0; i < 16; i++) { func_800B5404(i / 4, i); @@ -1206,7 +1206,7 @@ void splash_menu_act(struct Controller* controller, u16 controllerIdx) { func_800CA330(0x19); gDebugMenuSelection = DEBUG_MENU_OPTION_SELECTED; - if (controller->button & CONT_L) { + if (controller->button & L_TRIG) { gDemoMode = DEMO_MODE_ACTIVE; } else { gDemoMode = DEMO_MODE_INACTIVE; @@ -1226,7 +1226,7 @@ void splash_menu_act(struct Controller* controller, u16 controllerIdx) { gDebugMenuSelection = DEBUG_MENU_OPTION_SELECTED; gDebugGotoScene = DEBUG_GOTO_CREDITS_SEQUENCE_DEFAULT; play_sound2(SOUND_MENU_OK_CLICKED); - } else if (btnAndStick & CONT_R) { + } else if (btnAndStick & R_TRIG) { gDebugMenuSelection = DEBUG_MENU_DISABLED; play_sound2(SOUND_MENU_SELECT); } @@ -1234,7 +1234,7 @@ void splash_menu_act(struct Controller* controller, u16 controllerIdx) { } } -void setup_game_mode_selected(void) { +void setup_selected_game_mode(void) { // For Grand Prix and Versus, this will be the CC mode selected. For Time Trials, it will // be whether 'Begin' or 'Data' is selected. Not used for Battle. s8 subMenuMode = gGameModeSubMenuColumn[gPlayerCount - 1][gGameModeMenuColumn[gPlayerCount - 1]]; @@ -1268,38 +1268,31 @@ void setup_game_mode_selected(void) { /** * Navigation of the main game mode select screen */ -#ifdef NON_MATCHING -// https://decomp.me/scratch/93qj8 -// nonmatching: regalloc; controllerIdx is not AND-ed back into $a1, reg chaos follows void main_menu_act(struct Controller* controller, u16 controllerIdx) { - u16 btnAndStick; // sp2E - s32 subMode; - bool cursorMoved; - s32 newMode; // temp_v1_2? + u16 btnAndStick; + s32 subMode; // subMode + bool cursorMoved; // cursorMoved btnAndStick = controller->buttonPressed | controller->stickPressed; - if (!gEnableDebugMode && (btnAndStick & START_BUTTON)) { + if ((gEnableDebugMode == 0) && (btnAndStick & START_BUTTON)) { btnAndStick |= A_BUTTON; } - if (!is_screen_being_faded()) { + if (is_screen_being_faded() == 0) { switch (gMainMenuSelection) { - case MAIN_MENU_NONE: { - newMode = gGameModePlayerSelection[gPlayerCount - 1][gGameModeMenuColumn[gPlayerCount - 1]]; + case MAIN_MENU_NONE: break; - } - case MAIN_MENU_PLAYER_SELECT: { - if ((btnAndStick & R_JPAD) && gPlayerCount < 4) { + case MAIN_MENU_PLAYER_SELECT: + if ((btnAndStick & R_JPAD) && (gPlayerCount < 4)) { gPlayerCount += 1; reset_cycle_flash_menu(); play_sound2(SOUND_MENU_CURSOR_MOVE); } - if ((btnAndStick & L_JPAD) && gPlayerCount >= 2) { + if ((btnAndStick & L_JPAD) && (gPlayerCount >= 2)) { gPlayerCount -= 1; reset_cycle_flash_menu(); play_sound2(SOUND_MENU_CURSOR_MOVE); } - // L800B2B38 gPlayerCountSelection1 = gPlayerCount; switch (gPlayerCountSelection1) { case 1: @@ -1313,36 +1306,33 @@ void main_menu_act(struct Controller* controller, u16 controllerIdx) { gScreenModeSelection = SCREEN_MODE_3P_4P_SPLITSCREEN; break; } - // L800B2B94 if (btnAndStick & B_BUTTON) { func_8009E0F0(0x14); func_800CA330(0x19); gMenuFadeType = MENU_FADE_TYPE_BACK; play_sound2(SOUND_MENU_GO_BACK); - newMode = gGameModePlayerSelection[gPlayerCount - 1][gGameModeMenuColumn[gPlayerCount - 1]]; - } else if (btnAndStick & A_BUTTON) { - // L800B2C00 + break; + } + if (btnAndStick & A_BUTTON) { gMainMenuSelection = MAIN_MENU_MODE_SELECT; reset_cycle_flash_menu(); play_sound2(SOUND_MENU_SELECT); - newMode = gGameModePlayerSelection[gPlayerCount - 1][gGameModeMenuColumn[gPlayerCount - 1]]; - } else if (btnAndStick & CONT_L) { - // L800B2C58 + break; + } + if (btnAndStick & L_TRIG) { gMainMenuSelection = MAIN_MENU_OPTION; func_8009E280(); play_sound2(SOUND_MENU_OPTION); - newMode = gGameModePlayerSelection[gPlayerCount - 1][gGameModeMenuColumn[gPlayerCount - 1]]; - } else if (btnAndStick & CONT_R) { + break; + } + if (btnAndStick & R_TRIG) { gMainMenuSelection = MAIN_MENU_DATA; func_8009E258(); play_sound2(SOUND_MENU_DATA); - newMode = gGameModePlayerSelection[gPlayerCount - 1][gGameModeMenuColumn[gPlayerCount - 1]]; - } else { - newMode = gGameModePlayerSelection[gPlayerCount - 1][gGameModeMenuColumn[gPlayerCount - 1]]; + break; } break; - } - case MAIN_MENU_MODE_SELECT: { + case MAIN_MENU_MODE_SELECT: if (btnAndStick & D_JPAD) { if (gGameModeMenuColumn[gPlayerCount - 1] < gPlayerModeSelection[gPlayerCount - 1]) { gGameModeMenuColumn[gPlayerCount - 1] += 1; @@ -1350,7 +1340,6 @@ void main_menu_act(struct Controller* controller, u16 controllerIdx) { play_sound2(SOUND_MENU_CURSOR_MOVE); } } - // L800B2D94 if (btnAndStick & U_JPAD) { if (gGameModeMenuColumn[gPlayerCount - 1] > 0) { gGameModeMenuColumn[gPlayerCount - 1] -= 1; @@ -1358,15 +1347,18 @@ void main_menu_act(struct Controller* controller, u16 controllerIdx) { play_sound2(SOUND_MENU_CURSOR_MOVE); } } - // L800B2DE0 if (btnAndStick & B_BUTTON) { gMainMenuSelection = MAIN_MENU_PLAYER_SELECT; reset_cycle_flash_menu(); play_sound2(SOUND_MENU_GO_BACK); - newMode = gGameModePlayerSelection[gPlayerCount - 1][gGameModeMenuColumn[gPlayerCount - 1]]; - } else if (btnAndStick & A_BUTTON) { - // L800B2E3C + break; + } + + if (btnAndStick & A_BUTTON) { switch (gGameModePlayerSelection[gPlayerCount - 1][gGameModeMenuColumn[gPlayerCount - 1]]) { + default: + gMainMenuSelection = MAIN_MENU_OK_SELECT; + break; case 0: gMainMenuSelection = MAIN_MENU_MODE_SUB_SELECT; play_sound2(SOUND_MENU_GP); @@ -1383,91 +1375,80 @@ void main_menu_act(struct Controller* controller, u16 controllerIdx) { gMainMenuSelection = MAIN_MENU_OK_SELECT; play_sound2(SOUND_MENU_BATTLE); break; - default: - gMainMenuSelection = MAIN_MENU_OK_SELECT; - break; } - // L800B2F04 reset_cycle_flash_menu(); gMenuTimingCounter = 0; - newMode = gGameModePlayerSelection[gPlayerCount - 1][gGameModeMenuColumn[gPlayerCount - 1]]; - } else { - newMode = gGameModePlayerSelection[gPlayerCount - 1][gGameModeMenuColumn[gPlayerCount - 1]]; + break; } break; - } case MAIN_MENU_MODE_SUB_SELECT: - case MAIN_MENU_MODE_SUB_SELECT_GO_BACK: { + case MAIN_MENU_MODE_SUB_SELECT_GO_BACK: if (controllerIdx == PLAYER_ONE) { gMenuTimingCounter++; - if ((gMenuTimingCounter == 100 || gMenuTimingCounter % 300 == 0)) { - // L800B2FAC - if (gGameModePlayerSelection[gPlayerCount - 1][gGameModeMenuColumn[gPlayerCount - 1]] == 0 || - gGameModePlayerSelection[gPlayerCount - 1][gGameModeMenuColumn[gPlayerCount - 1]] == 2) { - play_sound2(SOUND_MENU_SELECT_LEVEL); + if ((gMenuTimingCounter == 100) || !(gMenuTimingCounter % 300)) { + switch (gGameModePlayerSelection[gPlayerCount - 1][gGameModeMenuColumn[gPlayerCount - 1]]) { + case 0: + case 2: + play_sound2(SOUND_MENU_SELECT_LEVEL); + break; + default: + break; } } } - // L800B3000 + subMode = gGameModeSubMenuColumn[gPlayerCount - 1][gGameModeMenuColumn[gPlayerCount - 1]]; if ((btnAndStick & U_JPAD) && (subMode > 0)) { gGameModeSubMenuColumn[gPlayerCount - 1][gGameModeMenuColumn[gPlayerCount - 1]] -= 1; reset_cycle_flash_menu(); play_sound2(SOUND_MENU_CURSOR_MOVE); } - // L800B3068 if (btnAndStick & D_JPAD) { cursorMoved = false; if (has_unlocked_extra_mode()) { - if (subMode < - sGameModePlayerColumnExtra[gPlayerCount - 1][gGameModeMenuColumn[gPlayerCount - 1]]) { + if (subMode < sGameModePlayerColumnExtra[gPlayerCount - 1][gGameModeMenuColumn[gPlayerCount - 1]]) { cursorMoved = true; } } else { - // L800B30D4 - if (subMode < - sGameModePlayerColumnDefault[gPlayerCount - 1][gGameModeMenuColumn[gPlayerCount - 1]]) { + if (subMode < sGameModePlayerColumnDefault[gPlayerCount - 1][gGameModeMenuColumn[gPlayerCount - 1]]) { cursorMoved = true; } } - // L800B3110 if (cursorMoved) { gGameModeSubMenuColumn[gPlayerCount - 1][gGameModeMenuColumn[gPlayerCount - 1]]++; reset_cycle_flash_menu(); play_sound2(SOUND_MENU_CURSOR_MOVE); } } - // L800B3150 subMode = gGameModeSubMenuColumn[gPlayerCount - 1][gGameModeMenuColumn[gPlayerCount - 1]]; + if (btnAndStick & B_BUTTON) { gMainMenuSelection = MAIN_MENU_MODE_SELECT; reset_cycle_flash_menu(); play_sound2(SOUND_MENU_GO_BACK); - newMode = gGameModePlayerSelection[gPlayerCount - 1][gGameModeMenuColumn[gPlayerCount - 1]]; - } else if (btnAndStick & A_BUTTON) { - // L800B31DC + break; + } + if (btnAndStick & A_BUTTON) { reset_cycle_flash_menu(); - if (gPlayerCount == 1 && gGameModeMenuColumn[gPlayerCount - 1] == 1 && subMode == 1) { // DATA + if ((gPlayerCount == 1) && ((gGameModeMenuColumn - 1)[gPlayerCount] == 1) && (subMode == 1)) { func_8009E258(); play_sound2(SOUND_MENU_DATA); - } else { // BEGIN + } else { gMainMenuSelection = MAIN_MENU_OK_SELECT; play_sound2(SOUND_MENU_SELECT); gMenuTimingCounter = 0; } - newMode = gGameModePlayerSelection[gPlayerCount - 1][gGameModeMenuColumn[gPlayerCount - 1]]; - } else { - // L800B3294 - newMode = gGameModePlayerSelection[gPlayerCount - 1][gGameModeMenuColumn[gPlayerCount - 1]]; + break; } break; - } case MAIN_MENU_OK_SELECT: - case MAIN_MENU_OK_SELECT_GO_BACK: { - if ((controllerIdx == PLAYER_ONE) && (++gMenuTimingCounter == 60 || gMenuTimingCounter % 300 == 0)) { - play_sound2(SOUND_MENU_OK); + case MAIN_MENU_OK_SELECT_GO_BACK: + if (controllerIdx == PLAYER_ONE) { + gMenuTimingCounter++; + if ((gMenuTimingCounter == 60) || !(gMenuTimingCounter % 300)) { + play_sound2(SOUND_MENU_OK); + } } - // L800B330C if (btnAndStick & B_BUTTON) { switch (gGameModePlayerSelection[gPlayerCount - 1][gGameModeMenuColumn[gPlayerCount - 1]]) { case 0: @@ -1475,43 +1456,32 @@ void main_menu_act(struct Controller* controller, u16 controllerIdx) { case 2: gMainMenuSelection = MAIN_MENU_MODE_SUB_SELECT; break; - case 3: default: + case 3: gMainMenuSelection = MAIN_MENU_MODE_SELECT; break; } - // L800B3384 reset_cycle_flash_menu(); play_sound2(SOUND_MENU_GO_BACK); gMenuTimingCounter = 0; - newMode = gGameModePlayerSelection[gPlayerCount - 1][gGameModeMenuColumn[gPlayerCount - 1]]; - } else if (btnAndStick & A_BUTTON) { - // L800B33D8 + break; + } + if (btnAndStick & A_BUTTON) { func_8009E1C0(); play_sound2(SOUND_MENU_OK_CLICKED); - setup_game_mode_selected(); - newMode = gGameModePlayerSelection[gPlayerCount - 1][gGameModeMenuColumn[gPlayerCount - 1]]; - } else { - newMode = gGameModePlayerSelection[gPlayerCount - 1][gGameModeMenuColumn[gPlayerCount - 1]]; + setup_selected_game_mode(); + break; } break; - } case MAIN_MENU_OPTION: - case MAIN_MENU_DATA: { - newMode = gGameModePlayerSelection[gPlayerCount - 1][gGameModeMenuColumn[gPlayerCount - 1]]; + case MAIN_MENU_DATA: break; - } - default: { - newMode = gGameModePlayerSelection[gPlayerCount - 1][gGameModeMenuColumn[gPlayerCount - 1]]; + default: break; - } } - gModeSelection = newMode; + gModeSelection = gGameModePlayerSelection[gPlayerCount - 1][gGameModeMenuColumn[gPlayerCount - 1]]; } } -#else -GLOBAL_ASM("asm/non_matchings/menus/main_menu_act.s") -#endif /** * Check if there is no currently selected and/or @@ -1531,57 +1501,50 @@ bool is_character_spot_free(s32 gridId) { * Navigation of the player select screen * Grid positions are from right to left, then top to bottom */ -#ifdef NON_MATCHING -// https://decomp.me/scratch/6R4jX -// nonmatching: the gCharacterGridSelections pointer is not promoted to $s0 void player_select_menu_act(struct Controller* controller, u16 controllerIdx) { - s8* bar; - s8 selected; s8 i; - s8 savedSelection; + s8 j; + s32 selected; u16 btnAndStick; - btnAndStick = (controller->buttonPressed) | (controller->stickPressed); - if (!gEnableDebugMode && btnAndStick & CONT_START) { + btnAndStick = (controller->buttonPressed | controller->stickPressed); + if (!gEnableDebugMode && (btnAndStick & START_BUTTON)) { btnAndStick |= A_BUTTON; } if (!is_screen_being_faded()) { switch (gPlayerSelectMenuSelection) { - case PLAYER_SELECT_MENU_MAIN: { - savedSelection = gCharacterGridSelections[controllerIdx]; - if (savedSelection == 0) { + case PLAYER_SELECT_MENU_MAIN: + if (gCharacterGridSelections[controllerIdx] == 0) { if (btnAndStick & B_BUTTON) { func_8009E208(); - play_sound2(0x49008002); + play_sound2(SOUND_MENU_GO_BACK); } return; } - // L800B3630 + if (btnAndStick & B_BUTTON) { - if (gCharacterGridIsSelected[controllerIdx]) { + if (gCharacterGridIsSelected[controllerIdx] != false) { gCharacterGridIsSelected[controllerIdx] = false; play_sound2(SOUND_MENU_GO_BACK); } else { func_8009E208(); - play_sound2(0x49008002); + play_sound2(SOUND_MENU_GO_BACK); } } - // L800B3684 + if ((btnAndStick & A_BUTTON) && (gCharacterGridIsSelected[controllerIdx] == 0)) { gCharacterGridIsSelected[controllerIdx] = true; - i = sCharacterGridOrder[gCharacterGridSelections[controllerIdx] - 1]; - func_800C90F4(controllerIdx, 0x2900800e + (i << 4)); + func_800C90F4(controllerIdx, ((sCharacterGridOrder - 1)[gCharacterGridSelections[controllerIdx]] * 0x10) + 0x2900800E); } - // L800B36F4 + selected = false; for (i = 0; i < ARRAY_COUNT(gCharacterGridSelections); i++) { - if ((gCharacterGridSelections[i] != 0) && (gCharacterGridIsSelected[i] == 0)) { + if ((gCharacterGridSelections[i] != 0) && (gCharacterGridIsSelected[i] == false)) { selected = true; break; } } - // L800B3738 if (!selected) { gPlayerSelectMenuSelection = PLAYER_SELECT_MENU_OK; @@ -1589,112 +1552,108 @@ void player_select_menu_act(struct Controller* controller, u16 controllerIdx) { gMenuTimingCounter = 0; } - // L800B3768 - if (gCharacterGridIsSelected[controllerIdx] == 0) { - if ((btnAndStick & CONT_RIGHT) && (btnAndStick & CONT_DOWN)) { - if (savedSelection == 1 || savedSelection == 2 || savedSelection == 3) { - // L800B37B0 - savedSelection += 5; - if (is_character_spot_free(savedSelection)) { - gCharacterGridSelections[controllerIdx] = savedSelection; - play_sound2(0x49008000); - } + if (gCharacterGridIsSelected[controllerIdx] != false) { + break; + } + j = gCharacterGridSelections[controllerIdx]; + if ((btnAndStick & R_JPAD) && (btnAndStick & D_JPAD)) { + if ((gCharacterGridSelections[controllerIdx] == 1U) || (gCharacterGridSelections[controllerIdx] == 2U) || (gCharacterGridSelections[controllerIdx] == 3U)) { + j = gCharacterGridSelections[controllerIdx] + 5; + if (is_character_spot_free(j)) { + gCharacterGridSelections[controllerIdx] = j; + play_sound2(SOUND_MENU_CURSOR_MOVE); } - return; } - // L800B37E4 - if ((btnAndStick & CONT_LEFT) && (btnAndStick & CONT_DOWN)) { - if (savedSelection == 2 || savedSelection == 3 || savedSelection == 4) { - savedSelection += 3; - if (is_character_spot_free(savedSelection)) { - gCharacterGridSelections[controllerIdx] = savedSelection; - play_sound2(0x49008000); - } + return; + } + if ((btnAndStick & L_JPAD) && (btnAndStick & D_JPAD)) { + if ((gCharacterGridSelections[controllerIdx] == 2U) || (gCharacterGridSelections[controllerIdx] == 3U) || (gCharacterGridSelections[controllerIdx] == 4U)) { + j = gCharacterGridSelections[controllerIdx] + 3; + if (is_character_spot_free(j)) { + gCharacterGridSelections[controllerIdx] = j; + play_sound2(SOUND_MENU_CURSOR_MOVE); } - return; } - // L800B3844 - if ((btnAndStick & CONT_RIGHT) && (btnAndStick & CONT_UP)) { - if (savedSelection == 5 || savedSelection == 6 || savedSelection == 7) { - savedSelection -= 3; - if (is_character_spot_free(savedSelection)) { - gCharacterGridSelections[controllerIdx] = savedSelection; - play_sound2(0x49008000); - } + return; + } + if ((btnAndStick & R_JPAD) && (btnAndStick & U_JPAD)) { + if ((gCharacterGridSelections[controllerIdx] == 5U) || (gCharacterGridSelections[controllerIdx] == 6U) || (gCharacterGridSelections[controllerIdx] == 7U)) { + j = gCharacterGridSelections[controllerIdx] - 3; + if (is_character_spot_free(j)) { + gCharacterGridSelections[controllerIdx] = j; + play_sound2(SOUND_MENU_CURSOR_MOVE); } - return; } - // L800B38A0 - if ((btnAndStick & CONT_LEFT) && (btnAndStick & CONT_UP)) { - if (savedSelection == 6 || savedSelection == 7 || savedSelection == 8) { - savedSelection -= 5; - if (is_character_spot_free(savedSelection)) { - gCharacterGridSelections[controllerIdx] = savedSelection; - play_sound2(0x49008000); - } + return; + } + + if ((btnAndStick & L_JPAD) && (btnAndStick & U_JPAD)) { + if ((gCharacterGridSelections[controllerIdx] == 6U) || (gCharacterGridSelections[controllerIdx] == 7U) || (gCharacterGridSelections[controllerIdx] == 8U)) { + j = gCharacterGridSelections[controllerIdx] - 5; + if (is_character_spot_free(j)) { + gCharacterGridSelections[controllerIdx] = j; + play_sound2(SOUND_MENU_CURSOR_MOVE); } - return; } - // L800B38FC - if (btnAndStick & CONT_RIGHT) { - if (savedSelection == 4 || savedSelection == 8) - return; - savedSelection += 1; + return; + + } + if (btnAndStick & R_JPAD) { + if ((gCharacterGridSelections[controllerIdx] != 4U) && (gCharacterGridSelections[controllerIdx] != 8U)) { + j = gCharacterGridSelections[controllerIdx] + 1; do { - // L800B391C - if (is_character_spot_free(savedSelection)) { - gCharacterGridSelections[controllerIdx] = savedSelection; - play_sound2(0x49008000); // play_sound2(0x49008000); + if (is_character_spot_free(j)) { + gCharacterGridSelections[controllerIdx] = j; + play_sound2(SOUND_MENU_CURSOR_MOVE); + return; + } + + j++; + if (j == 5 || j == 9) { break; } - savedSelection += 1; - if ((savedSelection == 5) || (savedSelection == 9)) - return; - } while (savedSelection < 10); - return; + } while (j < 10); } - // L800B3978 - if (btnAndStick & CONT_LEFT) { - if (savedSelection == 1 || savedSelection == 5) - return; - savedSelection -= 1; + return; + } + if (btnAndStick & L_JPAD) { + if ((gCharacterGridSelections[controllerIdx] != 1U) && (gCharacterGridSelections[controllerIdx] != 5U)) { + j = gCharacterGridSelections[controllerIdx] - 1; do { - if (is_character_spot_free(savedSelection)) { - gCharacterGridSelections[controllerIdx] = savedSelection; - play_sound2(0x49008000); + if (is_character_spot_free(j)) { + gCharacterGridSelections[controllerIdx] = j; + play_sound2(SOUND_MENU_CURSOR_MOVE); + return; + } + + j--; + if (j == 0 || j == 4) { break; } - savedSelection -= 1; - if ((savedSelection == 0) || (savedSelection == 4)) - return; - } while (savedSelection >= 0); - return; - } - // L800B39F4 - if ((btnAndStick & CONT_UP) && (savedSelection >= 5)) { - savedSelection = savedSelection - 4; - } - if ((btnAndStick & CONT_DOWN) && (savedSelection < 5)) { - savedSelection = savedSelection + 4; - } - // L800B3A30 - if (is_character_spot_free(savedSelection)) { - gCharacterGridSelections[controllerIdx] = savedSelection; - play_sound2(0x49008000); + } while (j >= 0); } + return; + } + + if ((btnAndStick & U_JPAD) && (gCharacterGridSelections[controllerIdx] >= 5)) { + j = gCharacterGridSelections[controllerIdx] - 4; + } + if ((btnAndStick & D_JPAD) && (gCharacterGridSelections[controllerIdx] < 5)) { + j = gCharacterGridSelections[controllerIdx] + 4; + } + if (is_character_spot_free(j)) { + gCharacterGridSelections[controllerIdx] = j; + play_sound2(SOUND_MENU_CURSOR_MOVE); } break; - } - case 2: - case 3: + case PLAYER_SELECT_MENU_OK: + case PLAYER_SELECT_MENU_OK_GO_BACK: if (controllerIdx == 0) { gMenuTimingCounter++; - if ((gMenuTimingCounter == 60) || ((gMenuTimingCounter % 300) == 0)) { - // L800B3A94 - play_sound2(0x4900900F); + if (gMenuTimingCounter == 0x3C || !(gMenuTimingCounter % 300)) { + play_sound2(SOUND_MENU_OK); } } - // L800B3AA4 if (btnAndStick & B_BUTTON) { gPlayerSelectMenuSelection = PLAYER_SELECT_MENU_MAIN; gCharacterGridIsSelected[controllerIdx] = false; @@ -1703,23 +1662,19 @@ void player_select_menu_act(struct Controller* controller, u16 controllerIdx) { } if (btnAndStick & A_BUTTON) { func_8009E1C0(); - play_sound2(0x49008016); + play_sound2(SOUND_MENU_OK_CLICKED); func_8000F124(); } break; default: break; } - // L800B3B24 + if (gCharacterGridSelections[controllerIdx] != 0) { - gCharacterSelections[controllerIdx] = sCharacterGridOrder[gCharacterGridSelections[controllerIdx] - 1]; + gCharacterSelections[controllerIdx] = (sCharacterGridOrder - 1)[gCharacterGridSelections[controllerIdx]]; } } - // L800B3B44 } -#else -GLOBAL_ASM("asm/non_matchings/menus/player_select_menu_act.s") -#endif /** * Navigation of the map select course menu screen @@ -1731,7 +1686,7 @@ void course_select_menu_act(struct Controller* arg0, u16 controllerIdx) { btnAndStick |= A_BUTTON; } - if (is_screen_being_faded() == 0) { + if (!is_screen_being_faded()) { switch (gSubMenuSelection) { case SUB_MENU_MAP_SELECT_CUP: if ((btnAndStick & R_JPAD) != 0) { diff --git a/src/menus.h b/src/menus.h index 036ea2cff..8b16558a6 100644 --- a/src/menus.h +++ b/src/menus.h @@ -200,7 +200,7 @@ void course_data_menu_act(struct Controller*, u16); void logo_intro_menu_act(struct Controller*, u16); void controller_pak_menu_act(struct Controller*, u16); void splash_menu_act(struct Controller*, u16); -void setup_game_mode_selected(void); +void setup_selected_game_mode(void); void main_menu_act(struct Controller*, u16); bool is_character_spot_free(s32); void player_select_menu_act(struct Controller*, u16); diff --git a/src/player_controller.c b/src/player_controller.c index fe30bad17..90259b6f4 100644 --- a/src/player_controller.c +++ b/src/player_controller.c @@ -1548,7 +1548,7 @@ void func_8002B9CC(Player* player, s8 arg1, UNUSED s32 arg2) { func_8008C73C(player, arg1); } } - temp = (-(s16) get_angle_between_two_vectors(player->pos, &player->oldPos[0])); + temp = (-(s16) get_angle_between_points(player->pos, &player->oldPos[0])); temp2 = (player->rotation[1] - player->unk_0C0); temp = temp - temp2; player->unk_234 = temp / 182; @@ -1590,7 +1590,7 @@ void func_8002BB9C(Player* player, f32* arg1, f32* arg2, UNUSED s8 arg3, UNUSED mtxf_translate_vec3f_mat3(sp4C, sp64); - var_v0 = -(s16) get_angle_between_two_vectors(sp58, sp4C); + var_v0 = -(s16) get_angle_between_points(sp58, sp4C); t0 = player->rotation[1]; var_v0 = 0x10000 + (t0 - var_v0); var_v0 /= 182; @@ -2005,7 +2005,7 @@ void func_8002D028(Player* player, s8 arg1) { sp4C[1] = 0; sp4C[2] = D_80165230[D_80165270[arg1]]; - temp = -(s16) get_angle_between_two_vectors(player->pos, sp4C); + temp = -(s16) get_angle_between_points(player->pos, sp4C); temp2 = player->rotation[1]; temp = (temp - temp2); diff --git a/src/racing/math_util.c b/src/racing/math_util.c index 5d915feea..545710d81 100644 --- a/src/racing/math_util.c +++ b/src/racing/math_util.c @@ -81,7 +81,7 @@ f32 func_802B51E8(Vec3f arg0, Vec3f arg1) { return (sub_x * sub_x) + (sub_y * sub_y) + sub_z + sub_z; } -s32 get_angle_between_two_vectors(Vec3f arg0, Vec3f arg1) { +s32 get_angle_between_points(Vec3f arg0, Vec3f arg1) { f32 temp_v1; f32 temp_v2; temp_v1 = arg1[0] - arg0[0]; @@ -90,7 +90,7 @@ s32 get_angle_between_two_vectors(Vec3f arg0, Vec3f arg1) { return atan2s(temp_v1, temp_v2); } -// get_angle_between_two_vectors +// get_angle_between_points u32 func_802B5258(Vec3f arg0, Vec3s arg1) { f32 temp_v1; f32 temp_v2; @@ -1155,7 +1155,7 @@ f32 is_within_render_distance(Vec3f cameraPos, Vec3f objectPos, u16 orientationY return -1.0f; } - angleObject = get_angle_between_two_vectors(cameraPos, objectPos); + angleObject = get_angle_between_points(cameraPos, objectPos); minus_fov_angle = (orientationY - extended_fov); plus_fov_angle = (orientationY + extended_fov); diff --git a/src/racing/math_util.h b/src/racing/math_util.h index 7898dca7b..eb98acc74 100644 --- a/src/racing/math_util.h +++ b/src/racing/math_util.h @@ -18,7 +18,7 @@ void func_802B5794(Mat4, Vec3f, Vec3f); s32 func_802B4F60(s32, Vec3f, s32, f32, f32); s32 render_set_position(Mat4, s32); f32 func_802B51E8(Vec3f, Vec3f); -s32 get_angle_between_two_vectors(Vec3f, Vec3f); +s32 get_angle_between_points(Vec3f, Vec3f); u32 func_802B5258(Vec3f, Vec3s); void func_802B5794(Mat4, Vec3f, Vec3f); void vec3f_set(Vec3f, f32, f32, f32); diff --git a/src/render_objects.c b/src/render_objects.c index 8e832e9c2..decc90be1 100644 --- a/src/render_objects.c +++ b/src/render_objects.c @@ -1467,7 +1467,7 @@ void func_8004B310(s32 alpha) { gDPSetPrimColor(gDisplayListHead++, 0, 0, 0x00, 0x00, 0x00, alpha); } -void func_8004B35C(s32 red, s32 green, s32 blue, s32 alpha) { +void func_8004B35C(u32 red, u32 green, u32 blue, u32 alpha) { gDPSetCombineMode(gDisplayListHead++, G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM); gDPSetPrimColor(gDisplayListHead++, 0, 0, red, green, blue, alpha); } @@ -1518,7 +1518,7 @@ void func_8004B6C4(s32 red, s32 green, s32 blue) { gDPSetPrimColor(gDisplayListHead++, 0, 0, red, green, blue, 0xFF); } -void func_8004B72C(s32 primRed, s32 primGreen, s32 primBlue, s32 envRed, s32 envGreen, s32 envBlue, s32 primAlpha) { +void func_8004B72C(u32 primRed, u32 primGreen, u32 primBlue, u32 envRed, u32 envGreen, u32 envBlue, u32 primAlpha) { gDPSetPrimColor(gDisplayListHead++, 0, 0, primRed, primGreen, primBlue, primAlpha); gDPSetEnvColor(gDisplayListHead++, envRed, envGreen, envBlue, 0xFF); gDPSetCombineLERP(gDisplayListHead++, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0, @@ -2465,59 +2465,34 @@ void render_mini_map_finish_line(s32 arg0) { #endif } -#ifdef NON_MATCHING -// https://decomp.me/scratch/FxA1w -/** - * characterId of 8 appears to be a type of null check or control flow alteration. - */ -#define EXPLICIT_AND 1 void draw_minimap_character(s32 arg0, s32 playerId, s32 characterId) { f32 thing0; f32 thing1; s16 x; s16 y; - Player* player = &gPlayerOne[playerId]; + Player *player = &gPlayerOne[playerId]; if (player->type & (1 << 15)) { thing0 = player->pos[0] * gMiniMapMarkerScale; thing1 = player->pos[2] * gMiniMapMarkerScale; - x = ((gMiniMapFinishLineX[arg0] + D_8018D2F0) - (D_8018D2B0 / 2)) + gMiniMapX + (s16) (thing0); - y = ((gMiniMapFinishLineY[arg0] + D_8018D2F8) - (D_8018D2B8 / 2)) + gMiniMapY + (s16) (thing1); + x = ((gMiniMapFinishLineX[arg0] + D_8018D2F0) - (D_8018D2B0 / 2)) + gMiniMapX + (s16)(thing0); + y = ((gMiniMapFinishLineY[arg0] + D_8018D2F8) - (D_8018D2B8 / 2)) + gMiniMapY + (s16)(thing1); + // huh? if (characterId != 8) { if ((gGPCurrentRaceRankByPlayerId[playerId] == 0) && (gModeSelection != 3) && (gModeSelection != 1)) { -#if EXPLICIT_AND == 1 - func_80046424(x, y, (player->rotation[1] + 0x8000) & 0xFFFF, 1.0f, - (u8*) common_texture_minimap_kart_character[characterId], common_vtx_player_minimap_icon, - 8, 8, 8, 8); -#else - func_80046424(x, y, player->rotation[1] + 0x8000, 1.0f, - (u8*) common_texture_minimap_kart_character[characterId], common_vtx_player_minimap_icon, - 8, 8, 8, 8); -#endif + func_80046424(x, y, player->rotation[1] + 0x8000, 1.0f, (u8*)&common_texture_minimap_kart_mario[characterId * 64], common_vtx_player_minimap_icon, 8, 8, 8, 8); } else { -#if EXPLICIT_AND == 1 - func_800463B0(x, y, (player->rotation[1] + 0x8000) & 0xFFFF, 1.0f, - (u8*) common_texture_minimap_kart_character[characterId], common_vtx_player_minimap_icon, - 8, 8, 8, 8); -#else - func_800463B0(x, y, player->rotation[1] + 0x8000, 1.0f, - (u8*) common_texture_minimap_kart_character[characterId], common_vtx_player_minimap_icon, - 8, 8, 8, 8); -#endif + func_800463B0(x, y, player->rotation[1] + 0x8000, 1.0f, (u8*)&common_texture_minimap_kart_mario[characterId * 64], common_vtx_player_minimap_icon, 8, 8, 8, 8); } } else { if (gGPCurrentRaceRankByPlayerId[playerId] == 0) { - func_8004C450(x, y, 8, 8, (u8*) common_texture_minimap_progress_dot); + func_8004C450(x, y, 8, 8, (u8 *) common_texture_minimap_progress_dot); } else { - draw_hud_2d_texture(x, y, 8, 8, (u8*) common_texture_minimap_progress_dot); + draw_hud_2d_texture(x, y, 8, 8, (u8 *) common_texture_minimap_progress_dot); } } } } -#undef EXPLICIT_AND -#else -GLOBAL_ASM("asm/non_matchings/render_objects/draw_minimap_character.s") -#endif // WTF is up with the gPlayerOne access in this function? void func_8004F3E4(s32 arg0) { @@ -2965,25 +2940,19 @@ void func_80050C68(void) { } } -#ifdef NON_MATCHING - -// Something about the handling of the `player` variable is weird. -// All commands are present and correct, 2 of them are out of position -// https://decomp.me/scratch/PvJ5D void func_80050E34(s32 playerId, s32 arg1) { s32 objectIndex; s32 spD0; s32 spCC; - UNUSED s32 stackPadding; + Player *dummy = &gPlayerOne[playerId]; s32 spC4; s32 lapCount; s32 characterId; s32 spB8; s32 temp_v0_2; Object* object; - Player* player; + Player *player = &gPlayerOne[playerId]; - player = &gPlayerOne[playerId]; lapCount = gLapCountByPlayerId[playerId]; characterId = player->characterId; objectIndex = D_8018CE10[playerId].objectIndex; @@ -3048,9 +3017,6 @@ void func_80050E34(s32 playerId, s32 arg1) { } } } -#else -GLOBAL_ASM("asm/non_matchings/render_objects/func_80050E34.s") -#endif void func_800514BC(void) { s32 temp_a0; diff --git a/src/render_objects.h b/src/render_objects.h index 96c5b5a22..05b65f2a5 100644 --- a/src/render_objects.h +++ b/src/render_objects.h @@ -193,7 +193,7 @@ void set_color_render(s32, s32, s32, s32, s32, s32, s32); void func_8004B254(s32, s32, s32); void set_transparency(s32); void func_8004B310(s32); -void func_8004B35C(s32, s32, s32, s32); +void func_8004B35C(u32, u32, u32, u32); void func_8004B3C8(s32); void func_8004B414(s32, s32, s32, s32); void func_8004B480(s32, s32, s32); @@ -202,7 +202,7 @@ void func_8004B554(s32); void func_8004B5A8(s32, s32, s32, s32); void func_8004B614(s32, s32, s32, s32, s32, s32, s32); void func_8004B6C4(s32, s32, s32); -void func_8004B72C(s32, s32, s32, s32, s32, s32, s32); +void func_8004B72C(u32, u32, u32, u32, u32, u32, u32); void render_texture_rectangle_wrap(s32, s32, s32, s32, s32); void func_8004BB34(void); void func_8004BB3C(s32, s32, s32, s32, f32); diff --git a/src/save.c b/src/save.c index 05c7db830..e4c3af6f0 100644 --- a/src/save.c +++ b/src/save.c @@ -1,6 +1,7 @@ #include #include #include +#include "stddef.h" #include "save.h" @@ -118,7 +119,7 @@ u8 checksum_time_trial_records(s32 courseIdx) { u8 compute_save_data_checksum_1(void) { u8* grandPrixPoints = (u8*) &gSaveData.main.saveInfo.grandPrixPoints; - s32 i; + u32 i; s32 crc = 0; for (i = 0; i < sizeof(SaveInfo); i++) { @@ -313,19 +314,12 @@ s32 func_800B5020(u32 time, s32 charId) { return i; } -#ifdef NON_MATCHING -/** - * This one is some stack weirdness. If you remove the padding a ton of - * stack locations are wrong. Adding more padding doesn't help matters - * and no amount of reordering of the function variables fixes it either. - **/ s32 func_800B5218(void) { u8* recordPointer; - s32 prevLapTime; + UNUSED s32 pad; s32 fastestLapIndex; s32 recordIndex; - UNUSED s32 padding; - s32 thisLapTime; + UNUSED s32 pad2[2]; s32 checkLapIndex; s32 character; s32 lapBitmask; @@ -336,12 +330,10 @@ s32 func_800B5218(void) { fastestLapIndex = 0; character = *gCharacterSelections; for (checkLapIndex = 1; checkLapIndex != 3; checkLapIndex++) { - prevLapTime = playerHUD->lapDurations[checkLapIndex]; - thisLapTime = playerHUD->lapDurations[fastestLapIndex]; - if (prevLapTime < thisLapTime) { + if ((s32)playerHUD->lapDurations[checkLapIndex] < (s32)playerHUD->lapDurations[fastestLapIndex]) { lapBitmask = 1 << checkLapIndex; fastestLapIndex = checkLapIndex; - } else if (thisLapTime == prevLapTime) { + } else if ((s32)playerHUD->lapDurations[fastestLapIndex] == (s32)playerHUD->lapDurations[checkLapIndex]) { lapBitmask |= 1 << checkLapIndex; } } @@ -355,9 +347,6 @@ s32 func_800B5218(void) { return 0; } } -#else -GLOBAL_ASM("asm/non_matchings/save/func_800B5218.s") -#endif void func_800B536C(s32 arg0) { u8* points; @@ -530,7 +519,7 @@ void update_save_data_backup(void) { u8 compute_save_data_checksum_backup_1(void) { u8* backupGrandPrixPoints = gSaveData.backup.saveInfo.grandPrixPoints; - s32 i; + u32 i; s32 crc = 0; for (i = 0; i < sizeof(SaveInfo); i++) { @@ -961,24 +950,21 @@ u8 func_800B6828(s32 arg0) { return checksum; } -#ifdef NON_MATCHING u8 func_800B68F4(s32 arg0) { - s32 multiplier = arg0 + 1; - u32 checksum; - s32 i; - checksum = 0; - for (i = 0; i < 0x43; i++) { - u8* addr = &((u8*) gSomeDLBuffer)[arg0]; - checksum += addr[i] * multiplier + i; + struct_8018EE10_entry* var_v0 = gSomeDLBuffer; + u8 *addr = (u8*)(var_v0 + arg0); + s32 i = 0; + u32 checksum = 0; + + for (i = 0; i < (s32)offsetof(struct_8018EE10_entry, pad_43); i++) { + checksum += (addr[i] * (arg0 + 1)) + i; } + return checksum; } -#else -GLOBAL_ASM("asm/non_matchings/save/func_800B68F4.s") -#endif s32 func_800B69BC(s32 arg0) { - s32 i; + u32 i; struct_8018EE10_entry* plz = &D_8018EE10[arg0]; plz->ghostDataSaved = false; diff --git a/src/update_objects.c b/src/update_objects.c index fb543e35a..91a0368e5 100644 --- a/src/update_objects.c +++ b/src/update_objects.c @@ -6588,7 +6588,7 @@ void func_8008275C(s32 objectIndex) { gObjectList[objectIndex].offset[2] *= 2.0; object_calculate_new_pos_offset(objectIndex); gObjectList[objectIndex].direction_angle[1] = - get_angle_between_two_vectors(gObjectList[objectIndex].unk_01C, gObjectList[objectIndex].pos); + get_angle_between_points(gObjectList[objectIndex].unk_01C, gObjectList[objectIndex].pos); break; } func_800873F4(objectIndex); @@ -7691,7 +7691,7 @@ void update_chain_chomps(void) { func_800859C8(objectIndex, var_s4); vec3f_copy(object->unk_01C, object->offset); func_8000D940(object->offset, &object->unk_084[8], object->unk_034, object->surfaceHeight, 0); - object->direction_angle[1] = get_angle_between_two_vectors(object->unk_01C, object->offset); + object->direction_angle[1] = get_angle_between_points(object->unk_01C, object->offset); object_calculate_new_pos_offset(objectIndex); func_80089CBC(objectIndex, 30.0f); } diff --git a/yamls/us/common_data.yml b/yamls/us/common_data.yml index 468579b29..a5261084e 100644 --- a/yamls/us/common_data.yml +++ b/yamls/us/common_data.yml @@ -48,9 +48,6 @@ common_texture_particle_smoke: range: [0x2BC58, 0x2C858] mode: APPEND - common_texture_minimap_kart_character: - range: [0x2CCD8, 0x2D058] - mode: APPEND common_tlut_finish_line_banner: symbol: common_tlut_finish_line_banner type: texture