From 0f3bc7ca1a847575be40d234a6f136f315056b60 Mon Sep 17 00:00:00 2001 From: Tyler McGavran Date: Fri, 3 Nov 2023 00:09:47 -0400 Subject: [PATCH] 3 matches in code_80057C60 (#480) Signed-off-by: Taggerung --- .../code_80057C60/func_8006A50C.s | 185 ------ .../code_80057C60/func_8006A7C0.s | 586 ------------------ .../code_80057C60/func_8006AFD0.s | 556 ----------------- src/code_80057C60.c | 491 ++++----------- src/code_80057C60.h | 23 +- 5 files changed, 156 insertions(+), 1685 deletions(-) delete mode 100644 asm/non_matchings/code_80057C60/func_8006A50C.s delete mode 100644 asm/non_matchings/code_80057C60/func_8006A7C0.s delete mode 100644 asm/non_matchings/code_80057C60/func_8006AFD0.s diff --git a/asm/non_matchings/code_80057C60/func_8006A50C.s b/asm/non_matchings/code_80057C60/func_8006A50C.s deleted file mode 100644 index d08cd1d0f..000000000 --- a/asm/non_matchings/code_80057C60/func_8006A50C.s +++ /dev/null @@ -1,185 +0,0 @@ -.section .late_rodata - -glabel D_800EE7D0 -.float 0.1 -.word 0x00000000 - -glabel D_800EE7D8 -.double -3.8 - -.section .text - -glabel func_8006A50C -/* 06B10C 8006A50C 27BDFFB8 */ addiu $sp, $sp, -0x48 -/* 06B110 8006A510 AFB00024 */ sw $s0, 0x24($sp) -/* 06B114 8006A514 44856000 */ mtc1 $a1, $f12 -/* 06B118 8006A518 00078600 */ sll $s0, $a3, 0x18 -/* 06B11C 8006A51C 83A5005B */ lb $a1, 0x5b($sp) -/* 06B120 8006A520 00107603 */ sra $t6, $s0, 0x18 -/* 06B124 8006A524 000E7880 */ sll $t7, $t6, 2 -/* 06B128 8006A528 01EE7823 */ subu $t7, $t7, $t6 -/* 06B12C 8006A52C 000F7840 */ sll $t7, $t7, 1 -/* 06B130 8006A530 3C198019 */ lui $t9, %hi(gPlayerBalloonStatus) # $t9, 0x8019 -/* 06B134 8006A534 00051040 */ sll $v0, $a1, 1 -/* 06B138 8006A538 01E2C021 */ addu $t8, $t7, $v0 -/* 06B13C 8006A53C 2739D5F0 */ addiu $t9, %lo(gPlayerBalloonStatus) # addiu $t9, $t9, -0x2a10 -/* 06B140 8006A540 03194021 */ addu $t0, $t8, $t9 -/* 06B144 8006A544 A5000000 */ sh $zero, ($t0) -/* 06B148 8006A548 000E4880 */ sll $t1, $t6, 2 -/* 06B14C 8006A54C 3C01800F */ lui $at, %hi(D_800EE7D0) # $at, 0x800f -/* 06B150 8006A550 C424E7D0 */ lwc1 $f4, %lo(D_800EE7D0)($at) -/* 06B154 8006A554 012E4823 */ subu $t1, $t1, $t6 -/* 06B158 8006A558 00094880 */ sll $t1, $t1, 2 -/* 06B15C 8006A55C 00051880 */ sll $v1, $a1, 2 -/* 06B160 8006A560 01235021 */ addu $t2, $t1, $v1 -/* 06B164 8006A564 3C018019 */ lui $at, %hi(D_8018D650) -/* 06B168 8006A568 000E5880 */ sll $t3, $t6, 2 -/* 06B16C 8006A56C 002A0821 */ addu $at, $at, $t2 -/* 06B170 8006A570 016E5823 */ subu $t3, $t3, $t6 -/* 06B174 8006A574 44800000 */ mtc1 $zero, $f0 -/* 06B178 8006A578 000B5880 */ sll $t3, $t3, 2 -/* 06B17C 8006A57C E424D650 */ swc1 $f4, %lo(D_8018D650)($at) -/* 06B180 8006A580 3C018019 */ lui $at, %hi(D_8018D6B0) -/* 06B184 8006A584 01636021 */ addu $t4, $t3, $v1 -/* 06B188 8006A588 000E6880 */ sll $t5, $t6, 2 -/* 06B18C 8006A58C 01C08025 */ move $s0, $t6 -/* 06B190 8006A590 002C0821 */ addu $at, $at, $t4 -/* 06B194 8006A594 01AE6823 */ subu $t5, $t5, $t6 -/* 06B198 8006A598 000D6880 */ sll $t5, $t5, 2 -/* 06B19C 8006A59C E420D6B0 */ swc1 $f0, %lo(D_8018D6B0)($at) -/* 06B1A0 8006A5A0 3C018019 */ lui $at, %hi(D_8018D710) -/* 06B1A4 8006A5A4 01A37021 */ addu $t6, $t5, $v1 -/* 06B1A8 8006A5A8 00107880 */ sll $t7, $s0, 2 -/* 06B1AC 8006A5AC 002E0821 */ addu $at, $at, $t6 -/* 06B1B0 8006A5B0 01F07823 */ subu $t7, $t7, $s0 -/* 06B1B4 8006A5B4 000F7840 */ sll $t7, $t7, 1 -/* 06B1B8 8006A5B8 E420D710 */ swc1 $f0, %lo(D_8018D710)($at) -/* 06B1BC 8006A5BC 3C018019 */ lui $at, %hi(D_8018D770) -/* 06B1C0 8006A5C0 01E2C021 */ addu $t8, $t7, $v0 -/* 06B1C4 8006A5C4 0010C880 */ sll $t9, $s0, 2 -/* 06B1C8 8006A5C8 00380821 */ addu $at, $at, $t8 -/* 06B1CC 8006A5CC 0330C823 */ subu $t9, $t9, $s0 -/* 06B1D0 8006A5D0 A420D770 */ sh $zero, %lo(D_8018D770)($at) -/* 06B1D4 8006A5D4 0019C840 */ sll $t9, $t9, 1 -/* 06B1D8 8006A5D8 03224821 */ addu $t1, $t9, $v0 -/* 06B1DC 8006A5DC 3C018019 */ lui $at, %hi(D_8018D7A0) -/* 06B1E0 8006A5E0 00105080 */ sll $t2, $s0, 2 -/* 06B1E4 8006A5E4 00290821 */ addu $at, $at, $t1 -/* 06B1E8 8006A5E8 01505023 */ subu $t2, $t2, $s0 -/* 06B1EC 8006A5EC A420D7A0 */ sh $zero, %lo(D_8018D7A0)($at) -/* 06B1F0 8006A5F0 000A5040 */ sll $t2, $t2, 1 -/* 06B1F4 8006A5F4 01425821 */ addu $t3, $t2, $v0 -/* 06B1F8 8006A5F8 3C018019 */ lui $at, %hi(D_8018D7D0) -/* 06B1FC 8006A5FC 00106880 */ sll $t5, $s0, 2 -/* 06B200 8006A600 002B0821 */ addu $at, $at, $t3 -/* 06B204 8006A604 01B06823 */ subu $t5, $t5, $s0 -/* 06B208 8006A608 A420D7D0 */ sh $zero, %lo(D_8018D7D0)($at) -/* 06B20C 8006A60C 000D6840 */ sll $t5, $t5, 1 -/* 06B210 8006A610 01A27021 */ addu $t6, $t5, $v0 -/* 06B214 8006A614 3C018019 */ lui $at, %hi(D_8018D800) -/* 06B218 8006A618 0010C080 */ sll $t8, $s0, 2 -/* 06B21C 8006A61C 002E0821 */ addu $at, $at, $t6 -/* 06B220 8006A620 240C0005 */ li $t4, 5 -/* 06B224 8006A624 0310C023 */ subu $t8, $t8, $s0 -/* 06B228 8006A628 A42CD800 */ sh $t4, %lo(D_8018D800)($at) -/* 06B22C 8006A62C 0018C040 */ sll $t8, $t8, 1 -/* 06B230 8006A630 0302C821 */ addu $t9, $t8, $v0 -/* 06B234 8006A634 3C018019 */ lui $at, %hi(D_8018D830) -/* 06B238 8006A638 00390821 */ addu $at, $at, $t9 -/* 06B23C 8006A63C 240F0001 */ li $t7, 1 -/* 06B240 8006A640 AFBF002C */ sw $ra, 0x2c($sp) -/* 06B244 8006A644 AFB10028 */ sw $s1, 0x28($sp) -/* 06B248 8006A648 AFA70054 */ sw $a3, 0x54($sp) -/* 06B24C 8006A64C A42FD830 */ sh $t7, %lo(D_8018D830)($at) -/* 06B250 8006A650 8489002E */ lh $t1, 0x2e($a0) -/* 06B254 8006A654 00106080 */ sll $t4, $s0, 2 -/* 06B258 8006A658 848B00C0 */ lh $t3, 0xc0($a0) -/* 06B25C 8006A65C 01906023 */ subu $t4, $t4, $s0 -/* 06B260 8006A660 000C6040 */ sll $t4, $t4, 1 -/* 06B264 8006A664 01827021 */ addu $t6, $t4, $v0 -/* 06B268 8006A668 3C018019 */ lui $at, %hi(D_8018D620) -/* 06B26C 8006A66C 00095023 */ negu $t2, $t1 -/* 06B270 8006A670 002E0821 */ addu $at, $at, $t6 -/* 06B274 8006A674 014B6823 */ subu $t5, $t2, $t3 -/* 06B278 8006A678 A42DD620 */ sh $t5, %lo(D_8018D620)($at) -/* 06B27C 8006A67C 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 06B280 8006A680 44867000 */ mtc1 $a2, $f14 -/* 06B284 8006A684 44813000 */ mtc1 $at, $f6 -/* 06B288 8006A688 3C01800F */ lui $at, %hi(D_800EE7D8) -/* 06B28C 8006A68C D42AE7D8 */ ldc1 $f10, %lo(D_800EE7D8)($at) -/* 06B290 8006A690 46007221 */ cvt.d.s $f8, $f14 -/* 06B294 8006A694 00808825 */ move $s1, $a0 -/* 06B298 8006A698 462A4400 */ add.d $f16, $f8, $f10 -/* 06B29C 8006A69C E7A60010 */ swc1 $f6, 0x10($sp) -/* 06B2A0 8006A6A0 44076000 */ mfc1 $a3, $f12 -/* 06B2A4 8006A6A4 27A40044 */ addiu $a0, $sp, 0x44 -/* 06B2A8 8006A6A8 462084A0 */ cvt.s.d $f18, $f16 -/* 06B2AC 8006A6AC 27A6003C */ addiu $a2, $sp, 0x3c -/* 06B2B0 8006A6B0 27A50040 */ addiu $a1, $sp, 0x40 -/* 06B2B4 8006A6B4 E7B20014 */ swc1 $f18, 0x14($sp) -/* 06B2B8 8006A6B8 8638002E */ lh $t8, 0x2e($s1) -/* 06B2BC 8006A6BC AFA80034 */ sw $t0, 0x34($sp) -/* 06B2C0 8006A6C0 AFA30030 */ sw $v1, 0x30($sp) -/* 06B2C4 8006A6C4 00187823 */ negu $t7, $t8 -/* 06B2C8 8006A6C8 AFAF0018 */ sw $t7, 0x18($sp) -/* 06B2CC 8006A6CC AFA20038 */ sw $v0, 0x38($sp) -/* 06B2D0 8006A6D0 0C018AC6 */ jal func_80062B18 -/* 06B2D4 8006A6D4 AFA0001C */ sw $zero, 0x1c($sp) -/* 06B2D8 8006A6D8 C6240014 */ lwc1 $f4, 0x14($s1) -/* 06B2DC 8006A6DC C7A60044 */ lwc1 $f6, 0x44($sp) -/* 06B2E0 8006A6E0 8FA30030 */ lw $v1, 0x30($sp) -/* 06B2E4 8006A6E4 0010C880 */ sll $t9, $s0, 2 -/* 06B2E8 8006A6E8 46062200 */ add.s $f8, $f4, $f6 -/* 06B2EC 8006A6EC 0330C823 */ subu $t9, $t9, $s0 -/* 06B2F0 8006A6F0 0019C880 */ sll $t9, $t9, 2 -/* 06B2F4 8006A6F4 3C018019 */ lui $at, %hi(D_8018D4D0) -/* 06B2F8 8006A6F8 03234821 */ addu $t1, $t9, $v1 -/* 06B2FC 8006A6FC 00290821 */ addu $at, $at, $t1 -/* 06B300 8006A700 E428D4D0 */ swc1 $f8, %lo(D_8018D4D0)($at) -/* 06B304 8006A704 C62A001C */ lwc1 $f10, 0x1c($s1) -/* 06B308 8006A708 C7B0003C */ lwc1 $f16, 0x3c($sp) -/* 06B30C 8006A70C 00105080 */ sll $t2, $s0, 2 -/* 06B310 8006A710 01505023 */ subu $t2, $t2, $s0 -/* 06B314 8006A714 46105480 */ add.s $f18, $f10, $f16 -/* 06B318 8006A718 000A5080 */ sll $t2, $t2, 2 -/* 06B31C 8006A71C 3C018019 */ lui $at, %hi(D_8018D590) -/* 06B320 8006A720 01435821 */ addu $t3, $t2, $v1 -/* 06B324 8006A724 002B0821 */ addu $at, $at, $t3 -/* 06B328 8006A728 E432D590 */ swc1 $f18, %lo(D_8018D590)($at) -/* 06B32C 8006A72C C6260070 */ lwc1 $f6, 0x70($s1) -/* 06B330 8006A730 C6240018 */ lwc1 $f4, 0x18($s1) -/* 06B334 8006A734 C7AA0040 */ lwc1 $f10, 0x40($sp) -/* 06B338 8006A738 00106080 */ sll $t4, $s0, 2 -/* 06B33C 8006A73C 46062201 */ sub.s $f8, $f4, $f6 -/* 06B340 8006A740 01906023 */ subu $t4, $t4, $s0 -/* 06B344 8006A744 000C6080 */ sll $t4, $t4, 2 -/* 06B348 8006A748 8FA80034 */ lw $t0, 0x34($sp) -/* 06B34C 8006A74C 460A4400 */ add.s $f16, $f8, $f10 -/* 06B350 8006A750 3C018019 */ lui $at, %hi(D_8018D530) -/* 06B354 8006A754 01836821 */ addu $t5, $t4, $v1 -/* 06B358 8006A758 002D0821 */ addu $at, $at, $t5 -/* 06B35C 8006A75C E430D530 */ swc1 $f16, %lo(D_8018D530)($at) -/* 06B360 8006A760 950E0000 */ lhu $t6, ($t0) -/* 06B364 8006A764 8FA20038 */ lw $v0, 0x38($sp) -/* 06B368 8006A768 0010C880 */ sll $t9, $s0, 2 -/* 06B36C 8006A76C 0330C823 */ subu $t9, $t9, $s0 -/* 06B370 8006A770 87AF005E */ lh $t7, 0x5e($sp) -/* 06B374 8006A774 0019C840 */ sll $t9, $t9, 1 -/* 06B378 8006A778 35D80001 */ ori $t8, $t6, 1 -/* 06B37C 8006A77C 3C018019 */ lui $at, %hi(D_8018D860) -/* 06B380 8006A780 00105080 */ sll $t2, $s0, 2 -/* 06B384 8006A784 A5180000 */ sh $t8, ($t0) -/* 06B388 8006A788 03224821 */ addu $t1, $t9, $v0 -/* 06B38C 8006A78C 00290821 */ addu $at, $at, $t1 -/* 06B390 8006A790 01505023 */ subu $t2, $t2, $s0 -/* 06B394 8006A794 8FBF002C */ lw $ra, 0x2c($sp) -/* 06B398 8006A798 000A5040 */ sll $t2, $t2, 1 -/* 06B39C 8006A79C A42FD860 */ sh $t7, %lo(D_8018D860)($at) -/* 06B3A0 8006A7A0 3C018019 */ lui $at, %hi(D_8018D890) -/* 06B3A4 8006A7A4 01425821 */ addu $t3, $t2, $v0 -/* 06B3A8 8006A7A8 002B0821 */ addu $at, $at, $t3 -/* 06B3AC 8006A7AC 8FB00024 */ lw $s0, 0x24($sp) -/* 06B3B0 8006A7B0 8FB10028 */ lw $s1, 0x28($sp) -/* 06B3B4 8006A7B4 A420D890 */ sh $zero, %lo(D_8018D890)($at) -/* 06B3B8 8006A7B8 03E00008 */ jr $ra -/* 06B3BC 8006A7BC 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/non_matchings/code_80057C60/func_8006A7C0.s b/asm/non_matchings/code_80057C60/func_8006A7C0.s deleted file mode 100644 index b41cd5cbb..000000000 --- a/asm/non_matchings/code_80057C60/func_8006A7C0.s +++ /dev/null @@ -1,586 +0,0 @@ -.section .late_rodata - -glabel D_800EE7E0 -.double 0.0006 - -glabel D_800EE7E8 -.double -0.003 - -glabel D_800EE7F0 -.double 0.05 - -glabel D_800EE7F8 -.float 0.05 -.word 0x00000000 - -glabel D_800EE800 -.double -0.05 - -glabel D_800EE808 -.float -0.05 -.word 0x00000000 - -glabel D_800EE810 -.double 0.06 - -glabel D_800EE818 -.float 0.06 -.word 0x00000000 - -glabel D_800EE820 -.double -0.06 - -glabel D_800EE828 -.float -0.06 -.word 0x00000000 - -glabel D_800EE830 -.double -3.2 - -glabel D_800EE838 -.double 0.2 - -.section .data - -glabel D_800E4914 -.float 9.0, 10.0, 9.0, 8.0 -.float 10.0, 9.5, 9.5, 11.0 - -.section .text - -glabel func_8006A7C0 -/* 06B3C0 8006A7C0 27BDFF60 */ addiu $sp, $sp, -0xa0 -/* 06B3C4 8006A7C4 3C18800E */ lui $t8, %hi(D_800E4914) # $t8, 0x800e -/* 06B3C8 8006A7C8 AFBF002C */ sw $ra, 0x2c($sp) -/* 06B3CC 8006A7CC AFB10028 */ sw $s1, 0x28($sp) -/* 06B3D0 8006A7D0 AFB00024 */ sw $s0, 0x24($sp) -/* 06B3D4 8006A7D4 AFA500A4 */ sw $a1, 0xa4($sp) -/* 06B3D8 8006A7D8 AFA600A8 */ sw $a2, 0xa8($sp) -/* 06B3DC 8006A7DC AFA700AC */ sw $a3, 0xac($sp) -/* 06B3E0 8006A7E0 27184914 */ addiu $t8, %lo(D_800E4914) # addiu $t8, $t8, 0x4914 -/* 06B3E4 8006A7E4 8F010000 */ lw $at, ($t8) -/* 06B3E8 8006A7E8 8F0C0004 */ lw $t4, 4($t8) -/* 06B3EC 8006A7EC 27AF0080 */ addiu $t7, $sp, 0x80 -/* 06B3F0 8006A7F0 ADE10000 */ sw $at, ($t7) -/* 06B3F4 8006A7F4 8F010008 */ lw $at, 8($t8) -/* 06B3F8 8006A7F8 ADEC0004 */ sw $t4, 4($t7) -/* 06B3FC 8006A7FC 8F0C000C */ lw $t4, 0xc($t8) -/* 06B400 8006A800 ADE10008 */ sw $at, 8($t7) -/* 06B404 8006A804 8F010010 */ lw $at, 0x10($t8) -/* 06B408 8006A808 ADEC000C */ sw $t4, 0xc($t7) -/* 06B40C 8006A80C 8F0C0014 */ lw $t4, 0x14($t8) -/* 06B410 8006A810 ADE10010 */ sw $at, 0x10($t7) -/* 06B414 8006A814 8F010018 */ lw $at, 0x18($t8) -/* 06B418 8006A818 ADEC0014 */ sw $t4, 0x14($t7) -/* 06B41C 8006A81C 8F0C001C */ lw $t4, 0x1c($t8) -/* 06B420 8006A820 ADE10018 */ sw $at, 0x18($t7) -/* 06B424 8006A824 3C014190 */ li $at, 0x41900000 # 18.000000 -/* 06B428 8006A828 ADEC001C */ sw $t4, 0x1c($t7) -/* 06B42C 8006A82C C48C0094 */ lwc1 $f12, 0x94($a0) -/* 06B430 8006A830 44812000 */ mtc1 $at, $f4 -/* 06B434 8006A834 3C014358 */ li $at, 0x43580000 # 216.000000 -/* 06B438 8006A838 44815000 */ mtc1 $at, $f10 -/* 06B43C 8006A83C 46046183 */ div.s $f6, $f12, $f4 -/* 06B440 8006A840 3C014120 */ li $at, 0x41200000 # 10.000000 -/* 06B444 8006A844 44819000 */ mtc1 $at, $f18 -/* 06B448 8006A848 00078600 */ sll $s0, $a3, 0x18 -/* 06B44C 8006A84C 00107603 */ sra $t6, $s0, 0x18 -/* 06B450 8006A850 83AD00B3 */ lb $t5, 0xb3($sp) -/* 06B454 8006A854 01C08025 */ move $s0, $t6 -/* 06B458 8006A858 000E7080 */ sll $t6, $t6, 2 -/* 06B45C 8006A85C 01D07023 */ subu $t6, $t6, $s0 -/* 06B460 8006A860 000E7040 */ sll $t6, $t6, 1 -/* 06B464 8006A864 3C198019 */ lui $t9, %hi(gPlayerBalloonStatus) # $t9, 0x8019 -/* 06B468 8006A868 000D4040 */ sll $t0, $t5, 1 -/* 06B46C 8006A86C 01C85821 */ addu $t3, $t6, $t0 -/* 06B470 8006A870 2739D5F0 */ addiu $t9, %lo(gPlayerBalloonStatus) # addiu $t9, $t9, -0x2a10 -/* 06B474 8006A874 01797821 */ addu $t7, $t3, $t9 -/* 06B478 8006A878 AFAF0058 */ sw $t7, 0x58($sp) -/* 06B47C 8006A87C 24010002 */ li $at, 2 -/* 06B480 8006A880 00107080 */ sll $t6, $s0, 2 -/* 06B484 8006A884 00808825 */ move $s1, $a0 -/* 06B488 8006A888 01D07023 */ subu $t6, $t6, $s0 -/* 06B48C 8006A88C 000D4880 */ sll $t1, $t5, 2 -/* 06B490 8006A890 46003207 */ neg.s $f8, $f6 -/* 06B494 8006A894 460A4402 */ mul.s $f16, $f8, $f10 -/* 06B498 8006A898 46128103 */ div.s $f4, $f16, $f18 -/* 06B49C 8006A89C E7A4006C */ swc1 $f4, 0x6c($sp) -/* 06B4A0 8006A8A0 95F80000 */ lhu $t8, ($t7) -/* 06B4A4 8006A8A4 330C0002 */ andi $t4, $t8, 2 -/* 06B4A8 8006A8A8 5181008E */ beql $t4, $at, .L8006AAE4 -/* 06B4AC 8006A8AC 00105880 */ sll $t3, $s0, 2 -/* 06B4B0 8006A8B0 46006187 */ neg.s $f6, $f12 -/* 06B4B4 8006A8B4 3C01800F */ lui $at, %hi(D_800EE7E0) -/* 06B4B8 8006A8B8 D42AE7E0 */ ldc1 $f10, %lo(D_800EE7E0)($at) -/* 06B4BC 8006A8BC 46003221 */ cvt.d.s $f8, $f6 -/* 06B4C0 8006A8C0 3C01800F */ lui $at, %hi(D_800EE7E8) -/* 06B4C4 8006A8C4 462A4402 */ mul.d $f16, $f8, $f10 -/* 06B4C8 8006A8C8 000E7080 */ sll $t6, $t6, 2 -/* 06B4CC 8006A8CC 3C198019 */ lui $t9, %hi(D_8018D650) # $t9, 0x8019 -/* 06B4D0 8006A8D0 D432E7E8 */ ldc1 $f18, %lo(D_800EE7E8)($at) -/* 06B4D4 8006A8D4 2739D650 */ addiu $t9, %lo(D_8018D650) # addiu $t9, $t9, -0x29b0 -/* 06B4D8 8006A8D8 01C95821 */ addu $t3, $t6, $t1 -/* 06B4DC 8006A8DC 01792821 */ addu $a1, $t3, $t9 -/* 06B4E0 8006A8E0 C4A60000 */ lwc1 $f6, ($a1) -/* 06B4E4 8006A8E4 46309100 */ add.d $f4, $f18, $f16 -/* 06B4E8 8006A8E8 3C01800F */ lui $at, %hi(D_800EE7F0) -/* 06B4EC 8006A8EC 00107880 */ sll $t7, $s0, 2 -/* 06B4F0 8006A8F0 46003221 */ cvt.d.s $f8, $f6 -/* 06B4F4 8006A8F4 00106880 */ sll $t5, $s0, 2 -/* 06B4F8 8006A8F8 46244280 */ add.d $f10, $f8, $f4 -/* 06B4FC 8006A8FC 01F07823 */ subu $t7, $t7, $s0 -/* 06B500 8006A900 01B06823 */ subu $t5, $t5, $s0 -/* 06B504 8006A904 000F7880 */ sll $t7, $t7, 2 -/* 06B508 8006A908 462054A0 */ cvt.s.d $f18, $f10 -/* 06B50C 8006A90C 3C0C8019 */ lui $t4, %hi(D_8018D6B0) # $t4, 0x8019 -/* 06B510 8006A910 000D6880 */ sll $t5, $t5, 2 -/* 06B514 8006A914 3C0B8019 */ lui $t3, %hi(D_8018D710) # $t3, 0x8019 -/* 06B518 8006A918 E4B20000 */ swc1 $f18, ($a1) -/* 06B51C 8006A91C C4A20000 */ lwc1 $f2, ($a1) -/* 06B520 8006A920 D430E7F0 */ ldc1 $f16, %lo(D_800EE7F0)($at) -/* 06B524 8006A924 258CD6B0 */ addiu $t4, %lo(D_8018D6B0) # addiu $t4, $t4, -0x2950 -/* 06B528 8006A928 46001021 */ cvt.d.s $f0, $f2 -/* 06B52C 8006A92C 01E9C021 */ addu $t8, $t7, $t1 -/* 06B530 8006A930 4620803E */ c.le.d $f16, $f0 -/* 06B534 8006A934 256BD710 */ addiu $t3, %lo(D_8018D710) # addiu $t3, $t3, -0x28f0 -/* 06B538 8006A938 01A97021 */ addu $t6, $t5, $t1 -/* 06B53C 8006A93C 030C1821 */ addu $v1, $t8, $t4 -/* 06B540 8006A940 45000006 */ bc1f .L8006A95C -/* 06B544 8006A944 01CB5021 */ addu $t2, $t6, $t3 -/* 06B548 8006A948 3C01800F */ lui $at, %hi(D_800EE7F8) # $at, 0x800f -/* 06B54C 8006A94C C426E7F8 */ lwc1 $f6, %lo(D_800EE7F8)($at) -/* 06B550 8006A950 E4A60000 */ swc1 $f6, ($a1) -/* 06B554 8006A954 C4A20000 */ lwc1 $f2, ($a1) -/* 06B558 8006A958 46001021 */ cvt.d.s $f0, $f2 -.L8006A95C: -/* 06B55C 8006A95C 3C01800F */ lui $at, %hi(D_800EE800) -/* 06B560 8006A960 D428E800 */ ldc1 $f8, %lo(D_800EE800)($at) -/* 06B564 8006A964 3C01800F */ lui $at, %hi(D_800EE808) # $at, 0x800f -/* 06B568 8006A968 2404000B */ li $a0, 11 -/* 06B56C 8006A96C 4628003E */ c.le.d $f0, $f8 -/* 06B570 8006A970 00000000 */ nop -/* 06B574 8006A974 45020005 */ bc1fl .L8006A98C -/* 06B578 8006A978 C46A0000 */ lwc1 $f10, ($v1) -/* 06B57C 8006A97C C424E808 */ lwc1 $f4, %lo(D_800EE808)($at) -/* 06B580 8006A980 E4A40000 */ swc1 $f4, ($a1) -/* 06B584 8006A984 C4A20000 */ lwc1 $f2, ($a1) -/* 06B588 8006A988 C46A0000 */ lwc1 $f10, ($v1) -.L8006A98C: -/* 06B58C 8006A98C 3C01800F */ lui $at, %hi(D_800EE810) -/* 06B590 8006A990 46025480 */ add.s $f18, $f10, $f2 -/* 06B594 8006A994 E4720000 */ swc1 $f18, ($v1) -/* 06B598 8006A998 C46C0000 */ lwc1 $f12, ($v1) -/* 06B59C 8006A99C D430E810 */ ldc1 $f16, %lo(D_800EE810)($at) -/* 06B5A0 8006A9A0 3C01800F */ lui $at, %hi(D_800EE818) # $at, 0x800f -/* 06B5A4 8006A9A4 46006021 */ cvt.d.s $f0, $f12 -/* 06B5A8 8006A9A8 4620803E */ c.le.d $f16, $f0 -/* 06B5AC 8006A9AC 00000000 */ nop -/* 06B5B0 8006A9B0 45000005 */ bc1f .L8006A9C8 -/* 06B5B4 8006A9B4 00000000 */ nop -/* 06B5B8 8006A9B8 C426E818 */ lwc1 $f6, %lo(D_800EE818)($at) -/* 06B5BC 8006A9BC E4660000 */ swc1 $f6, ($v1) -/* 06B5C0 8006A9C0 C46C0000 */ lwc1 $f12, ($v1) -/* 06B5C4 8006A9C4 46006021 */ cvt.d.s $f0, $f12 -.L8006A9C8: -/* 06B5C8 8006A9C8 3C01800F */ lui $at, %hi(D_800EE820) -/* 06B5CC 8006A9CC D428E820 */ ldc1 $f8, %lo(D_800EE820)($at) -/* 06B5D0 8006A9D0 3C01800F */ lui $at, %hi(D_800EE828) # $at, 0x800f -/* 06B5D4 8006A9D4 4628003E */ c.le.d $f0, $f8 -/* 06B5D8 8006A9D8 00000000 */ nop -/* 06B5DC 8006A9DC 45020005 */ bc1fl .L8006A9F4 -/* 06B5E0 8006A9E0 C54A0000 */ lwc1 $f10, ($t2) -/* 06B5E4 8006A9E4 C424E828 */ lwc1 $f4, %lo(D_800EE828)($at) -/* 06B5E8 8006A9E8 E4640000 */ swc1 $f4, ($v1) -/* 06B5EC 8006A9EC C46C0000 */ lwc1 $f12, ($v1) -/* 06B5F0 8006A9F0 C54A0000 */ lwc1 $f10, ($t2) -.L8006A9F4: -/* 06B5F4 8006A9F4 44800000 */ mtc1 $zero, $f0 -/* 06B5F8 8006A9F8 460C5480 */ add.s $f18, $f10, $f12 -/* 06B5FC 8006A9FC E5520000 */ swc1 $f18, ($t2) -/* 06B600 8006AA00 C5500000 */ lwc1 $f16, ($t2) -/* 06B604 8006AA04 4600803C */ c.lt.s $f16, $f0 -/* 06B608 8006AA08 00000000 */ nop -/* 06B60C 8006AA0C 45020014 */ bc1fl .L8006AA60 -/* 06B610 8006AA10 862F002E */ lh $t7, 0x2e($s1) -/* 06B614 8006AA14 AFA30060 */ sw $v1, 0x60($sp) -/* 06B618 8006AA18 AFA50050 */ sw $a1, 0x50($sp) -/* 06B61C 8006AA1C AFA8005C */ sw $t0, 0x5c($sp) -/* 06B620 8006AA20 0C0ADF8D */ jal random_int -/* 06B624 8006AA24 AFAA004C */ sw $t2, 0x4c($sp) -/* 06B628 8006AA28 2401000A */ li $at, 10 -/* 06B62C 8006AA2C 0041001A */ div $zero, $v0, $at -/* 06B630 8006AA30 0000C812 */ mflo $t9 -/* 06B634 8006AA34 44993000 */ mtc1 $t9, $f6 -/* 06B638 8006AA38 44800000 */ mtc1 $zero, $f0 -/* 06B63C 8006AA3C 8FA30060 */ lw $v1, 0x60($sp) -/* 06B640 8006AA40 46803220 */ cvt.s.w $f8, $f6 -/* 06B644 8006AA44 8FA50050 */ lw $a1, 0x50($sp) -/* 06B648 8006AA48 8FAA004C */ lw $t2, 0x4c($sp) -/* 06B64C 8006AA4C 8FA8005C */ lw $t0, 0x5c($sp) -/* 06B650 8006AA50 E4600000 */ swc1 $f0, ($v1) -/* 06B654 8006AA54 E5400000 */ swc1 $f0, ($t2) -/* 06B658 8006AA58 E4A80000 */ swc1 $f8, ($a1) -/* 06B65C 8006AA5C 862F002E */ lh $t7, 0x2e($s1) -.L8006AA60: -/* 06B660 8006AA60 00107080 */ sll $t6, $s0, 2 -/* 06B664 8006AA64 862C00C0 */ lh $t4, 0xc0($s1) -/* 06B668 8006AA68 01D07023 */ subu $t6, $t6, $s0 -/* 06B66C 8006AA6C 000E7040 */ sll $t6, $t6, 1 -/* 06B670 8006AA70 01C85821 */ addu $t3, $t6, $t0 -/* 06B674 8006AA74 3C018019 */ lui $at, %hi(D_8018D620) -/* 06B678 8006AA78 000FC023 */ negu $t8, $t7 -/* 06B67C 8006AA7C 002B0821 */ addu $at, $at, $t3 -/* 06B680 8006AA80 030C6823 */ subu $t5, $t8, $t4 -/* 06B684 8006AA84 A42DD620 */ sh $t5, %lo(D_8018D620)($at) -/* 06B688 8006AA88 3C014336 */ li $at, 0x43360000 # 182.000000 -/* 06B68C 8006AA8C 44815000 */ mtc1 $at, $f10 -/* 06B690 8006AA90 C6240094 */ lwc1 $f4, 0x94($s1) -/* 06B694 8006AA94 0010C880 */ sll $t9, $s0, 2 -/* 06B698 8006AA98 0330C823 */ subu $t9, $t9, $s0 -/* 06B69C 8006AA9C 460A2482 */ mul.s $f18, $f4, $f10 -/* 06B6A0 8006AAA0 0019C840 */ sll $t9, $t9, 1 -/* 06B6A4 8006AAA4 3C188019 */ lui $t8, %hi(D_8018D890) # $t8, 0x8019 -/* 06B6A8 8006AAA8 2718D890 */ addiu $t8, %lo(D_8018D890) # addiu $t8, $t8, -0x2770 -/* 06B6AC 8006AAAC 03287821 */ addu $t7, $t9, $t0 -/* 06B6B0 8006AAB0 3C063DCC */ lui $a2, (0x3DCCCCCD >> 16) # lui $a2, 0x3dcc -/* 06B6B4 8006AAB4 34C6CCCD */ ori $a2, (0x3DCCCCCD & 0xFFFF) # ori $a2, $a2, 0xcccd -/* 06B6B8 8006AAB8 4600940D */ trunc.w.s $f16, $f18 -/* 06B6BC 8006AABC 01F82021 */ addu $a0, $t7, $t8 -/* 06B6C0 8006AAC0 AFA8005C */ sw $t0, 0x5c($sp) -/* 06B6C4 8006AAC4 44058000 */ mfc1 $a1, $f16 -/* 06B6C8 8006AAC8 00000000 */ nop -/* 06B6CC 8006AACC 00057400 */ sll $t6, $a1, 0x10 -/* 06B6D0 8006AAD0 0C00898D */ jal move_s16_towards -/* 06B6D4 8006AAD4 000E2C03 */ sra $a1, $t6, 0x10 -/* 06B6D8 8006AAD8 8FA8005C */ lw $t0, 0x5c($sp) -/* 06B6DC 8006AADC C62C0094 */ lwc1 $f12, 0x94($s1) -/* 06B6E0 8006AAE0 00105880 */ sll $t3, $s0, 2 -.L8006AAE4: -/* 06B6E4 8006AAE4 01705823 */ subu $t3, $t3, $s0 -/* 06B6E8 8006AAE8 83A900B3 */ lb $t1, 0xb3($sp) -/* 06B6EC 8006AAEC 000B5840 */ sll $t3, $t3, 1 -/* 06B6F0 8006AAF0 0168C821 */ addu $t9, $t3, $t0 -/* 06B6F4 8006AAF4 3C0F8019 */ lui $t7, %hi(D_8018D830) # $t7, 0x8019 -/* 06B6F8 8006AAF8 00106080 */ sll $t4, $s0, 2 -/* 06B6FC 8006AAFC 01906023 */ subu $t4, $t4, $s0 -/* 06B700 8006AB00 25EFD830 */ addiu $t7, %lo(D_8018D830) # addiu $t7, $t7, -0x27d0 -/* 06B704 8006AB04 032F3021 */ addu $a2, $t9, $t7 -/* 06B708 8006AB08 000C6080 */ sll $t4, $t4, 2 -/* 06B70C 8006AB0C 00105880 */ sll $t3, $s0, 2 -/* 06B710 8006AB10 0009C080 */ sll $t8, $t1, 2 -/* 06B714 8006AB14 01987021 */ addu $t6, $t4, $t8 -/* 06B718 8006AB18 01705823 */ subu $t3, $t3, $s0 -/* 06B71C 8006AB1C 84CC0000 */ lh $t4, ($a2) -/* 06B720 8006AB20 000B5840 */ sll $t3, $t3, 1 -/* 06B724 8006AB24 3C0F8019 */ lui $t7, %hi(D_8018D620) # $t7, 0x8019 -/* 06B728 8006AB28 25EFD620 */ addiu $t7, %lo(D_8018D620) # addiu $t7, $t7, -0x29e0 -/* 06B72C 8006AB2C 0168C821 */ addu $t9, $t3, $t0 -/* 06B730 8006AB30 03004825 */ move $t1, $t8 -/* 06B734 8006AB34 3C0D8019 */ lui $t5, %hi(D_8018D710) # $t5, 0x8019 -/* 06B738 8006AB38 24070001 */ li $a3, 1 -/* 06B73C 8006AB3C 25ADD710 */ addiu $t5, %lo(D_8018D710) # addiu $t5, $t5, -0x28f0 -/* 06B740 8006AB40 032FC021 */ addu $t8, $t9, $t7 -/* 06B744 8006AB44 AFB80050 */ sw $t8, 0x50($sp) -/* 06B748 8006AB48 14EC001C */ bne $a3, $t4, .L8006ABBC -/* 06B74C 8006AB4C 01CD5021 */ addu $t2, $t6, $t5 -/* 06B750 8006AB50 0010C880 */ sll $t9, $s0, 2 -/* 06B754 8006AB54 0330C823 */ subu $t9, $t9, $s0 -/* 06B758 8006AB58 00107080 */ sll $t6, $s0, 2 -/* 06B75C 8006AB5C 01D07023 */ subu $t6, $t6, $s0 -/* 06B760 8006AB60 0019C840 */ sll $t9, $t9, 1 -/* 06B764 8006AB64 3C188019 */ lui $t8, %hi(D_8018D800) # $t8, 0x8019 -/* 06B768 8006AB68 2718D800 */ addiu $t8, %lo(D_8018D800) # addiu $t8, $t8, -0x2800 -/* 06B76C 8006AB6C 03287821 */ addu $t7, $t9, $t0 -/* 06B770 8006AB70 000E7040 */ sll $t6, $t6, 1 -/* 06B774 8006AB74 01C86821 */ addu $t5, $t6, $t0 -/* 06B778 8006AB78 01F82821 */ addu $a1, $t7, $t8 -/* 06B77C 8006AB7C 84AE0000 */ lh $t6, ($a1) -/* 06B780 8006AB80 3C0B8019 */ lui $t3, %hi(D_8018D770) # $t3, 0x8019 -/* 06B784 8006AB84 256BD770 */ addiu $t3, %lo(D_8018D770) # addiu $t3, $t3, -0x2890 -/* 06B788 8006AB88 448E2000 */ mtc1 $t6, $f4 -/* 06B78C 8006AB8C 01AB1021 */ addu $v0, $t5, $t3 -/* 06B790 8006AB90 844C0000 */ lh $t4, ($v0) -/* 06B794 8006AB94 468022A0 */ cvt.s.w $f10, $f4 -/* 06B798 8006AB98 448C3000 */ mtc1 $t4, $f6 -/* 06B79C 8006AB9C 00000000 */ nop -/* 06B7A0 8006ABA0 46803220 */ cvt.s.w $f8, $f6 -/* 06B7A4 8006ABA4 460C5481 */ sub.s $f18, $f10, $f12 -/* 06B7A8 8006ABA8 46124400 */ add.s $f16, $f8, $f18 -/* 06B7AC 8006ABAC 4600818D */ trunc.w.s $f6, $f16 -/* 06B7B0 8006ABB0 440B3000 */ mfc1 $t3, $f6 -/* 06B7B4 8006ABB4 1000001C */ b .L8006AC28 -/* 06B7B8 8006ABB8 A44B0000 */ sh $t3, ($v0) -.L8006ABBC: -/* 06B7BC 8006ABBC 00106080 */ sll $t4, $s0, 2 -/* 06B7C0 8006ABC0 01906023 */ subu $t4, $t4, $s0 -/* 06B7C4 8006ABC4 0010C880 */ sll $t9, $s0, 2 -/* 06B7C8 8006ABC8 0330C823 */ subu $t9, $t9, $s0 -/* 06B7CC 8006ABCC 000C6040 */ sll $t4, $t4, 1 -/* 06B7D0 8006ABD0 3C0D8019 */ lui $t5, %hi(D_8018D800) # $t5, 0x8019 -/* 06B7D4 8006ABD4 25ADD800 */ addiu $t5, %lo(D_8018D800) # addiu $t5, $t5, -0x2800 -/* 06B7D8 8006ABD8 01887021 */ addu $t6, $t4, $t0 -/* 06B7DC 8006ABDC 0019C840 */ sll $t9, $t9, 1 -/* 06B7E0 8006ABE0 03287821 */ addu $t7, $t9, $t0 -/* 06B7E4 8006ABE4 01CD2821 */ addu $a1, $t6, $t5 -/* 06B7E8 8006ABE8 84B90000 */ lh $t9, ($a1) -/* 06B7EC 8006ABEC 3C188019 */ lui $t8, %hi(D_8018D770) # $t8, 0x8019 -/* 06B7F0 8006ABF0 2718D770 */ addiu $t8, %lo(D_8018D770) # addiu $t8, $t8, -0x2890 -/* 06B7F4 8006ABF4 44994000 */ mtc1 $t9, $f8 -/* 06B7F8 8006ABF8 01F81021 */ addu $v0, $t7, $t8 -/* 06B7FC 8006ABFC 844B0000 */ lh $t3, ($v0) -/* 06B800 8006AC00 468044A0 */ cvt.s.w $f18, $f8 -/* 06B804 8006AC04 448B2000 */ mtc1 $t3, $f4 -/* 06B808 8006AC08 00000000 */ nop -/* 06B80C 8006AC0C 468022A0 */ cvt.s.w $f10, $f4 -/* 06B810 8006AC10 460C9400 */ add.s $f16, $f18, $f12 -/* 06B814 8006AC14 46105180 */ add.s $f6, $f10, $f16 -/* 06B818 8006AC18 4600310D */ trunc.w.s $f4, $f6 -/* 06B81C 8006AC1C 44182000 */ mfc1 $t8, $f4 -/* 06B820 8006AC20 00000000 */ nop -/* 06B824 8006AC24 A4580000 */ sh $t8, ($v0) -.L8006AC28: -/* 06B828 8006AC28 84430000 */ lh $v1, ($v0) -/* 06B82C 8006AC2C 00106880 */ sll $t5, $s0, 2 -/* 06B830 8006AC30 01B06823 */ subu $t5, $t5, $s0 -/* 06B834 8006AC34 2861000B */ slti $at, $v1, 0xb -/* 06B838 8006AC38 14200004 */ bnez $at, .L8006AC4C -/* 06B83C 8006AC3C 000D6840 */ sll $t5, $t5, 1 -/* 06B840 8006AC40 240C000B */ li $t4, 11 -/* 06B844 8006AC44 A44C0000 */ sh $t4, ($v0) -/* 06B848 8006AC48 84430000 */ lh $v1, ($v0) -.L8006AC4C: -/* 06B84C 8006AC4C 2861FFF6 */ slti $at, $v1, -0xa -/* 06B850 8006AC50 10200004 */ beqz $at, .L8006AC64 -/* 06B854 8006AC54 01A85821 */ addu $t3, $t5, $t0 -/* 06B858 8006AC58 240EFFF5 */ li $t6, -11 -/* 06B85C 8006AC5C A44E0000 */ sh $t6, ($v0) -/* 06B860 8006AC60 84430000 */ lh $v1, ($v0) -.L8006AC64: -/* 06B864 8006AC64 3C198019 */ lui $t9, %hi(D_8018D7A0) # $t9, 0x8019 -/* 06B868 8006AC68 2739D7A0 */ addiu $t9, %lo(D_8018D7A0) # addiu $t9, $t9, -0x2860 -/* 06B86C 8006AC6C 01791021 */ addu $v0, $t3, $t9 -/* 06B870 8006AC70 844F0000 */ lh $t7, ($v0) -/* 06B874 8006AC74 00106880 */ sll $t5, $s0, 2 -/* 06B878 8006AC78 01B06823 */ subu $t5, $t5, $s0 -/* 06B87C 8006AC7C 01E3C021 */ addu $t8, $t7, $v1 -/* 06B880 8006AC80 A4580000 */ sh $t8, ($v0) -/* 06B884 8006AC84 84440000 */ lh $a0, ($v0) -/* 06B888 8006AC88 000D6840 */ sll $t5, $t5, 1 -/* 06B88C 8006AC8C 01A85821 */ addu $t3, $t5, $t0 -/* 06B890 8006AC90 28810029 */ slti $at, $a0, 0x29 -/* 06B894 8006AC94 14200004 */ bnez $at, .L8006ACA8 -/* 06B898 8006AC98 3C198019 */ lui $t9, %hi(D_8018D7D0) # $t9, 0x8019 -/* 06B89C 8006AC9C 240C0029 */ li $t4, 41 -/* 06B8A0 8006ACA0 A44C0000 */ sh $t4, ($v0) -/* 06B8A4 8006ACA4 84440000 */ lh $a0, ($v0) -.L8006ACA8: -/* 06B8A8 8006ACA8 2881FFD8 */ slti $at, $a0, -0x28 -/* 06B8AC 8006ACAC 10200004 */ beqz $at, .L8006ACC0 -/* 06B8B0 8006ACB0 2739D7D0 */ addiu $t9, %lo(D_8018D7D0) # addiu $t9, $t9, -0x2830 -/* 06B8B4 8006ACB4 240EFFD7 */ li $t6, -41 -/* 06B8B8 8006ACB8 A44E0000 */ sh $t6, ($v0) -/* 06B8BC 8006ACBC 84440000 */ lh $a0, ($v0) -.L8006ACC0: -/* 06B8C0 8006ACC0 01791821 */ addu $v1, $t3, $t9 -/* 06B8C4 8006ACC4 846F0000 */ lh $t7, ($v1) -/* 06B8C8 8006ACC8 01E4C021 */ addu $t8, $t7, $a0 -/* 06B8CC 8006ACCC A4780000 */ sh $t8, ($v1) -/* 06B8D0 8006ACD0 846C0000 */ lh $t4, ($v1) -/* 06B8D4 8006ACD4 24040008 */ li $a0, 8 -/* 06B8D8 8006ACD8 2981038E */ slti $at, $t4, 0x38e -/* 06B8DC 8006ACDC 54200015 */ bnel $at, $zero, .L8006AD34 -/* 06B8E0 8006ACE0 846B0000 */ lh $t3, ($v1) -/* 06B8E4 8006ACE4 AFA30060 */ sw $v1, 0x60($sp) -/* 06B8E8 8006ACE8 AFA50034 */ sw $a1, 0x34($sp) -/* 06B8EC 8006ACEC AFA6003C */ sw $a2, 0x3c($sp) -/* 06B8F0 8006ACF0 AFA8005C */ sw $t0, 0x5c($sp) -/* 06B8F4 8006ACF4 AFA90054 */ sw $t1, 0x54($sp) -/* 06B8F8 8006ACF8 0C0ADF8D */ jal random_int -/* 06B8FC 8006ACFC AFAA004C */ sw $t2, 0x4c($sp) -/* 06B900 8006AD00 8FA6003C */ lw $a2, 0x3c($sp) -/* 06B904 8006AD04 8FA50034 */ lw $a1, 0x34($sp) -/* 06B908 8006AD08 24070001 */ li $a3, 1 -/* 06B90C 8006AD0C 84CD0000 */ lh $t5, ($a2) -/* 06B910 8006AD10 00027023 */ negu $t6, $v0 -/* 06B914 8006AD14 8FA30060 */ lw $v1, 0x60($sp) -/* 06B918 8006AD18 8FA8005C */ lw $t0, 0x5c($sp) -/* 06B91C 8006AD1C 8FA90054 */ lw $t1, 0x54($sp) -/* 06B920 8006AD20 8FAA004C */ lw $t2, 0x4c($sp) -/* 06B924 8006AD24 10ED0002 */ beq $a3, $t5, .L8006AD30 -/* 06B928 8006AD28 A4AE0000 */ sh $t6, ($a1) -/* 06B92C 8006AD2C A4C70000 */ sh $a3, ($a2) -.L8006AD30: -/* 06B930 8006AD30 846B0000 */ lh $t3, ($v1) -.L8006AD34: -/* 06B934 8006AD34 24040008 */ li $a0, 8 -/* 06B938 8006AD38 2961FC73 */ slti $at, $t3, -0x38d -/* 06B93C 8006AD3C 50200012 */ beql $at, $zero, .L8006AD88 -/* 06B940 8006AD40 962F0254 */ lhu $t7, 0x254($s1) -/* 06B944 8006AD44 AFA50034 */ sw $a1, 0x34($sp) -/* 06B948 8006AD48 AFA6003C */ sw $a2, 0x3c($sp) -/* 06B94C 8006AD4C AFA8005C */ sw $t0, 0x5c($sp) -/* 06B950 8006AD50 AFA90054 */ sw $t1, 0x54($sp) -/* 06B954 8006AD54 0C0ADF8D */ jal random_int -/* 06B958 8006AD58 AFAA004C */ sw $t2, 0x4c($sp) -/* 06B95C 8006AD5C 8FA6003C */ lw $a2, 0x3c($sp) -/* 06B960 8006AD60 8FA50034 */ lw $a1, 0x34($sp) -/* 06B964 8006AD64 2403FFFF */ li $v1, -1 -/* 06B968 8006AD68 84D90000 */ lh $t9, ($a2) -/* 06B96C 8006AD6C 8FA8005C */ lw $t0, 0x5c($sp) -/* 06B970 8006AD70 8FA90054 */ lw $t1, 0x54($sp) -/* 06B974 8006AD74 8FAA004C */ lw $t2, 0x4c($sp) -/* 06B978 8006AD78 10790002 */ beq $v1, $t9, .L8006AD84 -/* 06B97C 8006AD7C A4A20000 */ sh $v0, ($a1) -/* 06B980 8006AD80 A4C30000 */ sh $v1, ($a2) -.L8006AD84: -/* 06B984 8006AD84 962F0254 */ lhu $t7, 0x254($s1) -.L8006AD88: -/* 06B988 8006AD88 C5520000 */ lwc1 $f18, ($t2) -/* 06B98C 8006AD8C 3C01800F */ lui $at, %hi(D_800EE830) -/* 06B990 8006AD90 000FC080 */ sll $t8, $t7, 2 -/* 06B994 8006AD94 03B86021 */ addu $t4, $sp, $t8 -/* 06B998 8006AD98 C5880080 */ lwc1 $f8, 0x80($t4) -/* 06B99C 8006AD9C D424E830 */ ldc1 $f4, %lo(D_800EE830)($at) -/* 06B9A0 8006ADA0 C7B000A8 */ lwc1 $f16, 0xa8($sp) -/* 06B9A4 8006ADA4 46124281 */ sub.s $f10, $f8, $f18 -/* 06B9A8 8006ADA8 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 06B9AC 8006ADAC C7B2006C */ lwc1 $f18, 0x6c($sp) -/* 06B9B0 8006ADB0 460081A1 */ cvt.d.s $f6, $f16 -/* 06B9B4 8006ADB4 E7AA0010 */ swc1 $f10, 0x10($sp) -/* 06B9B8 8006ADB8 44815000 */ mtc1 $at, $f10 -/* 06B9BC 8006ADBC 46243200 */ add.d $f8, $f6, $f4 -/* 06B9C0 8006ADC0 8FAE0050 */ lw $t6, 0x50($sp) -/* 06B9C4 8006ADC4 460A9402 */ mul.s $f16, $f18, $f10 -/* 06B9C8 8006ADC8 27A40078 */ addiu $a0, $sp, 0x78 -/* 06B9CC 8006ADCC 27A50074 */ addiu $a1, $sp, 0x74 -/* 06B9D0 8006ADD0 27A60070 */ addiu $a2, $sp, 0x70 -/* 06B9D4 8006ADD4 8FA700A4 */ lw $a3, 0xa4($sp) -/* 06B9D8 8006ADD8 460081A1 */ cvt.d.s $f6, $f16 -/* 06B9DC 8006ADDC 46264100 */ add.d $f4, $f8, $f6 -/* 06B9E0 8006ADE0 462024A0 */ cvt.s.d $f18, $f4 -/* 06B9E4 8006ADE4 E7B20014 */ swc1 $f18, 0x14($sp) -/* 06B9E8 8006ADE8 85CD0000 */ lh $t5, ($t6) -/* 06B9EC 8006ADEC 000D5823 */ negu $t3, $t5 -/* 06B9F0 8006ADF0 AFAB0018 */ sw $t3, 0x18($sp) -/* 06B9F4 8006ADF4 86390206 */ lh $t9, 0x206($s1) -/* 06B9F8 8006ADF8 AFA90054 */ sw $t1, 0x54($sp) -/* 06B9FC 8006ADFC AFA8005C */ sw $t0, 0x5c($sp) -/* 06BA00 8006AE00 00197823 */ negu $t7, $t9 -/* 06BA04 8006AE04 000FC040 */ sll $t8, $t7, 1 -/* 06BA08 8006AE08 0C018AC6 */ jal func_80062B18 -/* 06BA0C 8006AE0C AFB8001C */ sw $t8, 0x1c($sp) -/* 06BA10 8006AE10 8FAC0058 */ lw $t4, 0x58($sp) -/* 06BA14 8006AE14 24010002 */ li $at, 2 -/* 06BA18 8006AE18 0010C880 */ sll $t9, $s0, 2 -/* 06BA1C 8006AE1C 958E0000 */ lhu $t6, ($t4) -/* 06BA20 8006AE20 8FA8005C */ lw $t0, 0x5c($sp) -/* 06BA24 8006AE24 8FA90054 */ lw $t1, 0x54($sp) -/* 06BA28 8006AE28 31CD0002 */ andi $t5, $t6, 2 -/* 06BA2C 8006AE2C 11A10029 */ beq $t5, $at, .L8006AED4 -/* 06BA30 8006AE30 0330C823 */ subu $t9, $t9, $s0 -/* 06BA34 8006AE34 C62A0018 */ lwc1 $f10, 0x18($s1) -/* 06BA38 8006AE38 C6300070 */ lwc1 $f16, 0x70($s1) -/* 06BA3C 8006AE3C C7A60074 */ lwc1 $f6, 0x74($sp) -/* 06BA40 8006AE40 00105880 */ sll $t3, $s0, 2 -/* 06BA44 8006AE44 46105201 */ sub.s $f8, $f10, $f16 -/* 06BA48 8006AE48 01705823 */ subu $t3, $t3, $s0 -/* 06BA4C 8006AE4C 000B5880 */ sll $t3, $t3, 2 -/* 06BA50 8006AE50 0169C821 */ addu $t9, $t3, $t1 -/* 06BA54 8006AE54 46064100 */ add.s $f4, $f8, $f6 -/* 06BA58 8006AE58 3C018019 */ lui $at, %hi(D_8018D530) -/* 06BA5C 8006AE5C 00390821 */ addu $at, $at, $t9 -/* 06BA60 8006AE60 C7AA0078 */ lwc1 $f10, 0x78($sp) -/* 06BA64 8006AE64 E424D530 */ swc1 $f4, %lo(D_8018D530)($at) -/* 06BA68 8006AE68 C6320014 */ lwc1 $f18, 0x14($s1) -/* 06BA6C 8006AE6C 00107880 */ sll $t7, $s0, 2 -/* 06BA70 8006AE70 01F07823 */ subu $t7, $t7, $s0 -/* 06BA74 8006AE74 460A9400 */ add.s $f16, $f18, $f10 -/* 06BA78 8006AE78 000F7880 */ sll $t7, $t7, 2 -/* 06BA7C 8006AE7C 01E9C021 */ addu $t8, $t7, $t1 -/* 06BA80 8006AE80 3C018019 */ lui $at, %hi(D_8018D4D0) -/* 06BA84 8006AE84 00380821 */ addu $at, $at, $t8 -/* 06BA88 8006AE88 E430D4D0 */ swc1 $f16, %lo(D_8018D4D0)($at) -/* 06BA8C 8006AE8C C628001C */ lwc1 $f8, 0x1c($s1) -/* 06BA90 8006AE90 C7A60070 */ lwc1 $f6, 0x70($sp) -/* 06BA94 8006AE94 00106080 */ sll $t4, $s0, 2 -/* 06BA98 8006AE98 01906023 */ subu $t4, $t4, $s0 -/* 06BA9C 8006AE9C 46064100 */ add.s $f4, $f8, $f6 -/* 06BAA0 8006AEA0 000C6080 */ sll $t4, $t4, 2 -/* 06BAA4 8006AEA4 01897021 */ addu $t6, $t4, $t1 -/* 06BAA8 8006AEA8 3C018019 */ lui $at, %hi(D_8018D590) -/* 06BAAC 8006AEAC 00106880 */ sll $t5, $s0, 2 -/* 06BAB0 8006AEB0 002E0821 */ addu $at, $at, $t6 -/* 06BAB4 8006AEB4 01B06823 */ subu $t5, $t5, $s0 -/* 06BAB8 8006AEB8 E424D590 */ swc1 $f4, %lo(D_8018D590)($at) -/* 06BABC 8006AEBC 000D6840 */ sll $t5, $t5, 1 -/* 06BAC0 8006AEC0 01A85821 */ addu $t3, $t5, $t0 -/* 06BAC4 8006AEC4 3C018019 */ lui $at, %hi(D_8018D8D0) -/* 06BAC8 8006AEC8 002B0821 */ addu $at, $at, $t3 -/* 06BACC 8006AECC 1000003B */ b .L8006AFBC -/* 06BAD0 8006AED0 A420D8D0 */ sh $zero, %lo(D_8018D8D0)($at) -.L8006AED4: -/* 06BAD4 8006AED4 0019C880 */ sll $t9, $t9, 2 -/* 06BAD8 8006AED8 3C188019 */ lui $t8, %hi(D_8018D530) # $t8, 0x8019 -/* 06BADC 8006AEDC 2718D530 */ addiu $t8, %lo(D_8018D530) # addiu $t8, $t8, -0x2ad0 -/* 06BAE0 8006AEE0 03297821 */ addu $t7, $t9, $t1 -/* 06BAE4 8006AEE4 01F81021 */ addu $v0, $t7, $t8 -/* 06BAE8 8006AEE8 C4520000 */ lwc1 $f18, ($v0) -/* 06BAEC 8006AEEC 3C01800F */ lui $at, %hi(D_800EE838) -/* 06BAF0 8006AEF0 D430E838 */ ldc1 $f16, %lo(D_800EE838)($at) -/* 06BAF4 8006AEF4 460092A1 */ cvt.d.s $f10, $f18 -/* 06BAF8 8006AEF8 00106080 */ sll $t4, $s0, 2 -/* 06BAFC 8006AEFC 01906023 */ subu $t4, $t4, $s0 -/* 06BB00 8006AF00 46305200 */ add.d $f8, $f10, $f16 -/* 06BB04 8006AF04 000C6040 */ sll $t4, $t4, 1 -/* 06BB08 8006AF08 3C0D8019 */ lui $t5, %hi(D_8018D8D0) # $t5, 0x8019 -/* 06BB0C 8006AF0C 25ADD8D0 */ addiu $t5, %lo(D_8018D8D0) # addiu $t5, $t5, -0x2730 -/* 06BB10 8006AF10 01887021 */ addu $t6, $t4, $t0 -/* 06BB14 8006AF14 01CD1821 */ addu $v1, $t6, $t5 -/* 06BB18 8006AF18 846B0000 */ lh $t3, ($v1) -/* 06BB1C 8006AF1C 00107880 */ sll $t7, $s0, 2 -/* 06BB20 8006AF20 462041A0 */ cvt.s.d $f6, $f8 -/* 06BB24 8006AF24 01F07823 */ subu $t7, $t7, $s0 -/* 06BB28 8006AF28 000F7840 */ sll $t7, $t7, 1 -/* 06BB2C 8006AF2C 3C0C8019 */ lui $t4, %hi(D_8018D890) # $t4, 0x8019 -/* 06BB30 8006AF30 258CD890 */ addiu $t4, %lo(D_8018D890) # addiu $t4, $t4, -0x2770 -/* 06BB34 8006AF34 01E8C021 */ addu $t8, $t7, $t0 -/* 06BB38 8006AF38 3C063DCC */ lui $a2, (0x3DCCCCCD >> 16) # lui $a2, 0x3dcc -/* 06BB3C 8006AF3C 25790001 */ addiu $t9, $t3, 1 -/* 06BB40 8006AF40 E4460000 */ swc1 $f6, ($v0) -/* 06BB44 8006AF44 A4790000 */ sh $t9, ($v1) -/* 06BB48 8006AF48 34C6CCCD */ ori $a2, (0x3DCCCCCD & 0xFFFF) # ori $a2, $a2, 0xcccd -/* 06BB4C 8006AF4C 030C2021 */ addu $a0, $t8, $t4 -/* 06BB50 8006AF50 AFA30060 */ sw $v1, 0x60($sp) -/* 06BB54 8006AF54 00002825 */ move $a1, $zero -/* 06BB58 8006AF58 0C00898D */ jal move_s16_towards -/* 06BB5C 8006AF5C AFA8005C */ sw $t0, 0x5c($sp) -/* 06BB60 8006AF60 8FA8005C */ lw $t0, 0x5c($sp) -/* 06BB64 8006AF64 00107080 */ sll $t6, $s0, 2 -/* 06BB68 8006AF68 01D07023 */ subu $t6, $t6, $s0 -/* 06BB6C 8006AF6C 000E7040 */ sll $t6, $t6, 1 -/* 06BB70 8006AF70 3C0B8019 */ lui $t3, %hi(D_8018D860) # $t3, 0x8019 -/* 06BB74 8006AF74 256BD860 */ addiu $t3, %lo(D_8018D860) # addiu $t3, $t3, -0x27a0 -/* 06BB78 8006AF78 3C063DCC */ lui $a2, (0x3DCCCCCD >> 16) # lui $a2, 0x3dcc -/* 06BB7C 8006AF7C 01C86821 */ addu $t5, $t6, $t0 -/* 06BB80 8006AF80 01AB2021 */ addu $a0, $t5, $t3 -/* 06BB84 8006AF84 34C6CCCD */ ori $a2, (0x3DCCCCCD & 0xFFFF) # ori $a2, $a2, 0xcccd -/* 06BB88 8006AF88 0C00898D */ jal move_s16_towards -/* 06BB8C 8006AF8C 00002825 */ move $a1, $zero -/* 06BB90 8006AF90 8FA30060 */ lw $v1, 0x60($sp) -/* 06BB94 8006AF94 00102E00 */ sll $a1, $s0, 0x18 -/* 06BB98 8006AF98 00057E03 */ sra $t7, $a1, 0x18 -/* 06BB9C 8006AF9C 84790000 */ lh $t9, ($v1) -/* 06BBA0 8006AFA0 01E02825 */ move $a1, $t7 -/* 06BBA4 8006AFA4 02202025 */ move $a0, $s1 -/* 06BBA8 8006AFA8 2B210078 */ slti $at, $t9, 0x78 -/* 06BBAC 8006AFAC 54200004 */ bnel $at, $zero, .L8006AFC0 -/* 06BBB0 8006AFB0 8FBF002C */ lw $ra, 0x2c($sp) -/* 06BBB4 8006AFB4 0C01AE5D */ jal func_8006B974 -/* 06BBB8 8006AFB8 83A600B3 */ lb $a2, 0xb3($sp) -.L8006AFBC: -/* 06BBBC 8006AFBC 8FBF002C */ lw $ra, 0x2c($sp) -.L8006AFC0: -/* 06BBC0 8006AFC0 8FB00024 */ lw $s0, 0x24($sp) -/* 06BBC4 8006AFC4 8FB10028 */ lw $s1, 0x28($sp) -/* 06BBC8 8006AFC8 03E00008 */ jr $ra -/* 06BBCC 8006AFCC 27BD00A0 */ addiu $sp, $sp, 0xa0 diff --git a/asm/non_matchings/code_80057C60/func_8006AFD0.s b/asm/non_matchings/code_80057C60/func_8006AFD0.s deleted file mode 100644 index 972b4e7c1..000000000 --- a/asm/non_matchings/code_80057C60/func_8006AFD0.s +++ /dev/null @@ -1,556 +0,0 @@ -.section .late_rodata - -glabel D_800EE840 -.float 0.3 -.word 0x00000000 - -glabel D_800EE848 -.double 1.8 - -glabel D_800EE850 -.float 1.8 -.word 0x00000000 - -glabel D_800EE858 -.double 0.3 - -glabel D_800EE860 -.float 0.3 - -.section .data - -glabel D_800E4934 -.word 0x00c80100, 0x00007001, 0x00107951, 0x00005970 -.word 0x00705500, 0x007a7e00, 0x00772c24, 0x00301458 - -glabel D_800E4954 -.word 0x00dc0000, 0x00008c06, 0x00000051, 0x00000000 -.word 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -.section .text - -glabel func_8006AFD0 -/* 06BBD0 8006AFD0 27BDFE80 */ addiu $sp, $sp, -0x180 -/* 06BBD4 8006AFD4 3C19800E */ lui $t9, %hi(D_800E4934) # $t9, 0x800e -/* 06BBD8 8006AFD8 AFBF0034 */ sw $ra, 0x34($sp) -/* 06BBDC 8006AFDC AFB00030 */ sw $s0, 0x30($sp) -/* 06BBE0 8006AFE0 F7B40028 */ sdc1 $f20, 0x28($sp) -/* 06BBE4 8006AFE4 AFA50184 */ sw $a1, 0x184($sp) -/* 06BBE8 8006AFE8 AFA60188 */ sw $a2, 0x188($sp) -/* 06BBEC 8006AFEC AFA7018C */ sw $a3, 0x18c($sp) -/* 06BBF0 8006AFF0 27394934 */ addiu $t9, %lo(D_800E4934) # addiu $t9, $t9, 0x4934 -/* 06BBF4 8006AFF4 8F210000 */ lw $at, ($t9) -/* 06BBF8 8006AFF8 27AA00F0 */ addiu $t2, $sp, 0xf0 -/* 06BBFC 8006AFFC 00077E00 */ sll $t7, $a3, 0x18 -/* 06BC00 8006B000 AD410000 */ sw $at, ($t2) -/* 06BC04 8006B004 8F380004 */ lw $t8, 4($t9) -/* 06BC08 8006B008 000F3E03 */ sra $a3, $t7, 0x18 -/* 06BC0C 8006B00C 3C0F800E */ lui $t7, %hi(D_800E4954) # $t7, 0x800e -/* 06BC10 8006B010 AD580004 */ sw $t8, 4($t2) -/* 06BC14 8006B014 8F210008 */ lw $at, 8($t9) -/* 06BC18 8006B018 25EF4954 */ addiu $t7, %lo(D_800E4954) # addiu $t7, $t7, 0x4954 -/* 06BC1C 8006B01C 27AB00D0 */ addiu $t3, $sp, 0xd0 -/* 06BC20 8006B020 AD410008 */ sw $at, 8($t2) -/* 06BC24 8006B024 8F38000C */ lw $t8, 0xc($t9) -/* 06BC28 8006B028 00058600 */ sll $s0, $a1, 0x18 -/* 06BC2C 8006B02C 00107603 */ sra $t6, $s0, 0x18 -/* 06BC30 8006B030 AD58000C */ sw $t8, 0xc($t2) -/* 06BC34 8006B034 8F210010 */ lw $at, 0x10($t9) -/* 06BC38 8006B038 01C08025 */ move $s0, $t6 -/* 06BC3C 8006B03C AD410010 */ sw $at, 0x10($t2) -/* 06BC40 8006B040 8F380014 */ lw $t8, 0x14($t9) -/* 06BC44 8006B044 AD580014 */ sw $t8, 0x14($t2) -/* 06BC48 8006B048 8F210018 */ lw $at, 0x18($t9) -/* 06BC4C 8006B04C AD410018 */ sw $at, 0x18($t2) -/* 06BC50 8006B050 8F38001C */ lw $t8, 0x1c($t9) -/* 06BC54 8006B054 AD58001C */ sw $t8, 0x1c($t2) -/* 06BC58 8006B058 8DE10000 */ lw $at, ($t7) -/* 06BC5C 8006B05C AD610000 */ sw $at, ($t3) -/* 06BC60 8006B060 8DF80004 */ lw $t8, 4($t7) -/* 06BC64 8006B064 AD780004 */ sw $t8, 4($t3) -/* 06BC68 8006B068 8DE10008 */ lw $at, 8($t7) -/* 06BC6C 8006B06C AD610008 */ sw $at, 8($t3) -/* 06BC70 8006B070 8DF8000C */ lw $t8, 0xc($t7) -/* 06BC74 8006B074 AD78000C */ sw $t8, 0xc($t3) -/* 06BC78 8006B078 8DE10010 */ lw $at, 0x10($t7) -/* 06BC7C 8006B07C AD610010 */ sw $at, 0x10($t3) -/* 06BC80 8006B080 8DF80014 */ lw $t8, 0x14($t7) -/* 06BC84 8006B084 AD780014 */ sw $t8, 0x14($t3) -/* 06BC88 8006B088 8DE10018 */ lw $at, 0x18($t7) -/* 06BC8C 8006B08C AD610018 */ sw $at, 0x18($t3) -/* 06BC90 8006B090 8DF8001C */ lw $t8, 0x1c($t7) -/* 06BC94 8006B094 AD78001C */ sw $t8, 0x1c($t3) -/* 06BC98 8006B098 94880254 */ lhu $t0, 0x254($a0) -/* 06BC9C 8006B09C 0008C880 */ sll $t9, $t0, 2 -/* 06BCA0 8006B0A0 01597021 */ addu $t6, $t2, $t9 -/* 06BCA4 8006B0A4 8DC20000 */ lw $v0, ($t6) -/* 06BCA8 8006B0A8 03204025 */ move $t0, $t9 -/* 06BCAC 8006B0AC 00027C03 */ sra $t7, $v0, 0x10 -/* 06BCB0 8006B0B0 31F800FF */ andi $t8, $t7, 0xff -/* 06BCB4 8006B0B4 0002CA03 */ sra $t9, $v0, 8 -/* 06BCB8 8006B0B8 A7B80128 */ sh $t8, 0x128($sp) -/* 06BCBC 8006B0BC 332E00FF */ andi $t6, $t9, 0xff -/* 06BCC0 8006B0C0 304F00FF */ andi $t7, $v0, 0xff -/* 06BCC4 8006B0C4 A7AE0126 */ sh $t6, 0x126($sp) -/* 06BCC8 8006B0C8 A7AF0124 */ sh $t7, 0x124($sp) -/* 06BCCC 8006B0CC 0168C021 */ addu $t8, $t3, $t0 -/* 06BCD0 8006B0D0 8F030000 */ lw $v1, ($t8) -/* 06BCD4 8006B0D4 0003CC03 */ sra $t9, $v1, 0x10 -/* 06BCD8 8006B0D8 332E00FF */ andi $t6, $t9, 0xff -/* 06BCDC 8006B0DC A7AE0122 */ sh $t6, 0x122($sp) -/* 06BCE0 8006B0E0 00037A03 */ sra $t7, $v1, 8 -/* 06BCE4 8006B0E4 31F800FF */ andi $t8, $t7, 0xff -/* 06BCE8 8006B0E8 00077040 */ sll $t6, $a3, 1 -/* 06BCEC 8006B0EC 008E7821 */ addu $t7, $a0, $t6 -/* 06BCF0 8006B0F0 307900FF */ andi $t9, $v1, 0xff -/* 06BCF4 8006B0F4 A7B80120 */ sh $t8, 0x120($sp) -/* 06BCF8 8006B0F8 A7B9011E */ sh $t9, 0x11e($sp) -/* 06BCFC 8006B0FC AFAF0054 */ sw $t7, 0x54($sp) -/* 06BD00 8006B100 85EE0048 */ lh $t6, 0x48($t7) -/* 06BD04 8006B104 8498002E */ lh $t8, 0x2e($a0) -/* 06BD08 8006B108 849900C0 */ lh $t9, 0xc0($a0) -/* 06BD0C 8006B10C 030E7821 */ addu $t7, $t8, $t6 -/* 06BD10 8006B110 01F94821 */ addu $t1, $t7, $t9 -/* 06BD14 8006B114 3138FFFF */ andi $t8, $t1, 0xffff -/* 06BD18 8006B118 03004825 */ move $t1, $t8 -/* 06BD1C 8006B11C 05210003 */ bgez $t1, .L8006B12C -/* 06BD20 8006B120 000971C3 */ sra $t6, $t1, 7 -/* 06BD24 8006B124 2521007F */ addiu $at, $t1, 0x7f -/* 06BD28 8006B128 000171C3 */ sra $t6, $at, 7 -.L8006B12C: -/* 06BD2C 8006B12C 01C0C025 */ move $t8, $t6 -/* 06BD30 8006B130 001875C0 */ sll $t6, $t8, 0x17 -/* 06BD34 8006B134 14F00004 */ bne $a3, $s0, .L8006B148 -/* 06BD38 8006B138 000E4C03 */ sra $t1, $t6, 0x10 -/* 06BD3C 8006B13C 3C01800F */ lui $at, %hi(D_800EE840) # $at, 0x800f -/* 06BD40 8006B140 10000038 */ b .L8006B224 -/* 06BD44 8006B144 C434E840 */ lwc1 $f20, %lo(D_800EE840)($at) -.L8006B148: -/* 06BD48 8006B148 C4920014 */ lwc1 $f18, 0x14($a0) -/* 06BD4C 8006B14C C490001C */ lwc1 $f16, 0x1c($a0) -/* 06BD50 8006B150 0007C880 */ sll $t9, $a3, 2 -/* 06BD54 8006B154 0327C823 */ subu $t9, $t9, $a3 -/* 06BD58 8006B158 0019C8C0 */ sll $t9, $t9, 3 -/* 06BD5C 8006B15C 0327C823 */ subu $t9, $t9, $a3 -/* 06BD60 8006B160 3C188016 */ lui $t8, %hi(cameras) # $t8, 0x8016 -/* 06BD64 8006B164 0019C8C0 */ sll $t9, $t9, 3 -/* 06BD68 8006B168 271846F0 */ addiu $t8, %lo(cameras) # addiu $t8, $t8, 0x46f0 -/* 06BD6C 8006B16C 03381021 */ addu $v0, $t9, $t8 -/* 06BD70 8006B170 C44E0000 */ lwc1 $f14, ($v0) -/* 06BD74 8006B174 C44C0008 */ lwc1 $f12, 8($v0) -/* 06BD78 8006B178 3C0E800E */ lui $t6, %hi(gActiveScreenMode) # $t6, 0x800e -/* 06BD7C 8006B17C 8DCEC52C */ lw $t6, %lo(gActiveScreenMode)($t6) -/* 06BD80 8006B180 460E9501 */ sub.s $f20, $f18, $f14 -/* 06BD84 8006B184 24010003 */ li $at, 3 -/* 06BD88 8006B188 11C1000B */ beq $t6, $at, .L8006B1B8 -/* 06BD8C 8006B18C 460C8001 */ sub.s $f0, $f16, $f12 -/* 06BD90 8006B190 4614A402 */ mul.s $f16, $f20, $f20 -/* 06BD94 8006B194 A7A9011C */ sh $t1, 0x11c($sp) -/* 06BD98 8006B198 46000482 */ mul.s $f18, $f0, $f0 -/* 06BD9C 8006B19C 0C033850 */ jal sqrtf -/* 06BDA0 8006B1A0 46128300 */ add.s $f12, $f16, $f18 -/* 06BDA4 8006B1A4 3C014396 */ li $at, 0x43960000 # 300.000000 -/* 06BDA8 8006B1A8 44812000 */ mtc1 $at, $f4 -/* 06BDAC 8006B1AC 87A9011C */ lh $t1, 0x11c($sp) -/* 06BDB0 8006B1B0 1000000A */ b .L8006B1DC -/* 06BDB4 8006B1B4 46040503 */ div.s $f20, $f0, $f4 -.L8006B1B8: -/* 06BDB8 8006B1B8 4614A182 */ mul.s $f6, $f20, $f20 -/* 06BDBC 8006B1BC A7A9011C */ sh $t1, 0x11c($sp) -/* 06BDC0 8006B1C0 46000202 */ mul.s $f8, $f0, $f0 -/* 06BDC4 8006B1C4 0C033850 */ jal sqrtf -/* 06BDC8 8006B1C8 46083300 */ add.s $f12, $f6, $f8 -/* 06BDCC 8006B1CC 3C014348 */ li $at, 0x43480000 # 200.000000 -/* 06BDD0 8006B1D0 44815000 */ mtc1 $at, $f10 -/* 06BDD4 8006B1D4 87A9011C */ lh $t1, 0x11c($sp) -/* 06BDD8 8006B1D8 460A0503 */ div.s $f20, $f0, $f10 -.L8006B1DC: -/* 06BDDC 8006B1DC 3C01800F */ lui $at, %hi(D_800EE848) -/* 06BDE0 8006B1E0 D430E848 */ ldc1 $f16, %lo(D_800EE848)($at) -/* 06BDE4 8006B1E4 4600A021 */ cvt.d.s $f0, $f20 -/* 06BDE8 8006B1E8 3C01800F */ lui $at, %hi(D_800EE850) # $at, 0x800f -/* 06BDEC 8006B1EC 4620803E */ c.le.d $f16, $f0 -/* 06BDF0 8006B1F0 00000000 */ nop -/* 06BDF4 8006B1F4 45000003 */ bc1f .L8006B204 -/* 06BDF8 8006B1F8 00000000 */ nop -/* 06BDFC 8006B1FC C434E850 */ lwc1 $f20, %lo(D_800EE850)($at) -/* 06BE00 8006B200 4600A021 */ cvt.d.s $f0, $f20 -.L8006B204: -/* 06BE04 8006B204 3C01800F */ lui $at, %hi(D_800EE858) -/* 06BE08 8006B208 D432E858 */ ldc1 $f18, %lo(D_800EE858)($at) -/* 06BE0C 8006B20C 3C01800F */ lui $at, %hi(D_800EE860) # $at, 0x800f -/* 06BE10 8006B210 4632003E */ c.le.d $f0, $f18 -/* 06BE14 8006B214 00000000 */ nop -/* 06BE18 8006B218 45020003 */ bc1fl .L8006B228 -/* 06BE1C 8006B21C 87A2018A */ lh $v0, 0x18a($sp) -/* 06BE20 8006B220 C434E860 */ lwc1 $f20, %lo(D_800EE860)($at) -.L8006B224: -/* 06BE24 8006B224 87A2018A */ lh $v0, 0x18a($sp) -.L8006B228: -/* 06BE28 8006B228 0010C880 */ sll $t9, $s0, 2 -/* 06BE2C 8006B22C 0330C823 */ subu $t9, $t9, $s0 -/* 06BE30 8006B230 0019C880 */ sll $t9, $t9, 2 -/* 06BE34 8006B234 00027880 */ sll $t7, $v0, 2 -/* 06BE38 8006B238 032FC021 */ addu $t8, $t9, $t7 -/* 06BE3C 8006B23C 3C018019 */ lui $at, %hi(D_8018D4D0) -/* 06BE40 8006B240 00107080 */ sll $t6, $s0, 2 -/* 06BE44 8006B244 00380821 */ addu $at, $at, $t8 -/* 06BE48 8006B248 01D07023 */ subu $t6, $t6, $s0 -/* 06BE4C 8006B24C C424D4D0 */ lwc1 $f4, %lo(D_8018D4D0)($at) -/* 06BE50 8006B250 01E01025 */ move $v0, $t7 -/* 06BE54 8006B254 000E7080 */ sll $t6, $t6, 2 -/* 06BE58 8006B258 01CF7821 */ addu $t7, $t6, $t7 -/* 06BE5C 8006B25C 3C018019 */ lui $at, %hi(D_8018D530) -/* 06BE60 8006B260 0010C880 */ sll $t9, $s0, 2 -/* 06BE64 8006B264 002F0821 */ addu $at, $at, $t7 -/* 06BE68 8006B268 0330C823 */ subu $t9, $t9, $s0 -/* 06BE6C 8006B26C C426D530 */ lwc1 $f6, %lo(D_8018D530)($at) -/* 06BE70 8006B270 0019C880 */ sll $t9, $t9, 2 -/* 06BE74 8006B274 0322C021 */ addu $t8, $t9, $v0 -/* 06BE78 8006B278 3C018019 */ lui $at, %hi(D_8018D590) -/* 06BE7C 8006B27C 00380821 */ addu $at, $at, $t8 -/* 06BE80 8006B280 C428D590 */ lwc1 $f8, %lo(D_8018D590)($at) -/* 06BE84 8006B284 3124FFFF */ andi $a0, $t1, 0xffff -/* 06BE88 8006B288 AFA40044 */ sw $a0, 0x44($sp) -/* 06BE8C 8006B28C E7A40134 */ swc1 $f4, 0x134($sp) -/* 06BE90 8006B290 E7A60138 */ swc1 $f6, 0x138($sp) -/* 06BE94 8006B294 0C0AE00E */ jal coss -/* 06BE98 8006B298 E7A8013C */ swc1 $f8, 0x13c($sp) -/* 06BE9C 8006B29C 87A2018A */ lh $v0, 0x18a($sp) -/* 06BEA0 8006B2A0 00107880 */ sll $t7, $s0, 2 -/* 06BEA4 8006B2A4 01F07823 */ subu $t7, $t7, $s0 -/* 06BEA8 8006B2A8 000F7840 */ sll $t7, $t7, 1 -/* 06BEAC 8006B2AC 3C188019 */ lui $t8, %hi(D_8018D890) # $t8, 0x8019 -/* 06BEB0 8006B2B0 00027040 */ sll $t6, $v0, 1 -/* 06BEB4 8006B2B4 01EEC821 */ addu $t9, $t7, $t6 -/* 06BEB8 8006B2B8 2718D890 */ addiu $t8, %lo(D_8018D890) # addiu $t8, $t8, -0x2770 -/* 06BEBC 8006B2BC 03381821 */ addu $v1, $t9, $t8 -/* 06BEC0 8006B2C0 01C01025 */ move $v0, $t6 -/* 06BEC4 8006B2C4 846E0000 */ lh $t6, ($v1) -/* 06BEC8 8006B2C8 97A40046 */ lhu $a0, 0x46($sp) -/* 06BECC 8006B2CC 000E7880 */ sll $t7, $t6, 2 -/* 06BED0 8006B2D0 448F5000 */ mtc1 $t7, $f10 -/* 06BED4 8006B2D4 8FAE0054 */ lw $t6, 0x54($sp) -/* 06BED8 8006B2D8 46805420 */ cvt.s.w $f16, $f10 -/* 06BEDC 8006B2DC 46100482 */ mul.s $f18, $f0, $f16 -/* 06BEE0 8006B2E0 46009107 */ neg.s $f4, $f18 -/* 06BEE4 8006B2E4 4600218D */ trunc.w.s $f6, $f4 -/* 06BEE8 8006B2E8 44183000 */ mfc1 $t8, $f6 -/* 06BEEC 8006B2EC 00000000 */ nop -/* 06BEF0 8006B2F0 A7B8012C */ sh $t8, 0x12c($sp) -/* 06BEF4 8006B2F4 85CF0048 */ lh $t7, 0x48($t6) -/* 06BEF8 8006B2F8 AFA3003C */ sw $v1, 0x3c($sp) -/* 06BEFC 8006B2FC AFA20040 */ sw $v0, 0x40($sp) -/* 06BF00 8006B300 0C0AE00E */ jal coss -/* 06BF04 8006B304 A7AF012E */ sh $t7, 0x12e($sp) -/* 06BF08 8006B308 E7A00058 */ swc1 $f0, 0x58($sp) -/* 06BF0C 8006B30C 0C0AE006 */ jal sins -/* 06BF10 8006B310 97A40046 */ lhu $a0, 0x46($sp) -/* 06BF14 8006B314 8FA20040 */ lw $v0, 0x40($sp) -/* 06BF18 8006B318 0010C880 */ sll $t9, $s0, 2 -/* 06BF1C 8006B31C 0330C823 */ subu $t9, $t9, $s0 -/* 06BF20 8006B320 0019C840 */ sll $t9, $t9, 1 -/* 06BF24 8006B324 3C0E8019 */ lui $t6, %hi(D_8018D860) -/* 06BF28 8006B328 0322C021 */ addu $t8, $t9, $v0 -/* 06BF2C 8006B32C 01D87021 */ addu $t6, $t6, $t8 -/* 06BF30 8006B330 85CED860 */ lh $t6, %lo(D_8018D860)($t6) -/* 06BF34 8006B334 00107880 */ sll $t7, $s0, 2 -/* 06BF38 8006B338 01F07823 */ subu $t7, $t7, $s0 -/* 06BF3C 8006B33C 448E4000 */ mtc1 $t6, $f8 -/* 06BF40 8006B340 8FAE003C */ lw $t6, 0x3c($sp) -/* 06BF44 8006B344 000F7840 */ sll $t7, $t7, 1 -/* 06BF48 8006B348 468042A0 */ cvt.s.w $f10, $f8 -/* 06BF4C 8006B34C 01E2C821 */ addu $t9, $t7, $v0 -/* 06BF50 8006B350 C7B00058 */ lwc1 $f16, 0x58($sp) -/* 06BF54 8006B354 85CF0000 */ lh $t7, ($t6) -/* 06BF58 8006B358 3C188019 */ lui $t8, %hi(D_8018D7D0) -/* 06BF5C 8006B35C 0319C021 */ addu $t8, $t8, $t9 -/* 06BF60 8006B360 46105482 */ mul.s $f18, $f10, $f16 -/* 06BF64 8006B364 000FC8C0 */ sll $t9, $t7, 3 -/* 06BF68 8006B368 44995000 */ mtc1 $t9, $f10 -/* 06BF6C 8006B36C 8718D7D0 */ lh $t8, %lo(D_8018D7D0)($t8) -/* 06BF70 8006B370 27A40140 */ addiu $a0, $sp, 0x140 -/* 06BF74 8006B374 27A50134 */ addiu $a1, $sp, 0x134 -/* 06BF78 8006B378 46805420 */ cvt.s.w $f16, $f10 -/* 06BF7C 8006B37C 44982000 */ mtc1 $t8, $f4 -/* 06BF80 8006B380 27A6012C */ addiu $a2, $sp, 0x12c -/* 06BF84 8006B384 468021A0 */ cvt.s.w $f6, $f4 -/* 06BF88 8006B388 46100102 */ mul.s $f4, $f0, $f16 -/* 06BF8C 8006B38C 46123201 */ sub.s $f8, $f6, $f18 -/* 06BF90 8006B390 46044181 */ sub.s $f6, $f8, $f4 -/* 06BF94 8006B394 4600348D */ trunc.w.s $f18, $f6 -/* 06BF98 8006B398 440E9000 */ mfc1 $t6, $f18 -/* 06BF9C 8006B39C 0C008784 */ jal mtxf_translate_rotate -/* 06BFA0 8006B3A0 A7AE0130 */ sh $t6, 0x130($sp) -/* 06BFA4 8006B3A4 27B00140 */ addiu $s0, $sp, 0x140 -/* 06BFA8 8006B3A8 4405A000 */ mfc1 $a1, $f20 -/* 06BFAC 8006B3AC 0C0087E1 */ jal mtxf_scale2 -/* 06BFB0 8006B3B0 02002025 */ move $a0, $s0 -/* 06BFB4 8006B3B4 3C198016 */ lui $t9, %hi(gMatrixEffectCount) # $t9, 0x8016 -/* 06BFB8 8006B3B8 87394AF0 */ lh $t9, %lo(gMatrixEffectCount)($t9) -/* 06BFBC 8006B3BC 3C0F8015 */ lui $t7, %hi(gGfxPool) # $t7, 0x8015 -/* 06BFC0 8006B3C0 8DEFEF40 */ lw $t7, %lo(gGfxPool)($t7) -/* 06BFC4 8006B3C4 0019C180 */ sll $t8, $t9, 6 -/* 06BFC8 8006B3C8 3401FAC0 */ li $at, 64192 -/* 06BFCC 8006B3CC 01F82021 */ addu $a0, $t7, $t8 -/* 06BFD0 8006B3D0 00812021 */ addu $a0, $a0, $at -/* 06BFD4 8006B3D4 0C008860 */ jal convert_to_fixed_point_matrix -/* 06BFD8 8006B3D8 02002825 */ move $a1, $s0 -/* 06BFDC 8006B3DC 3C038015 */ lui $v1, %hi(gDisplayListHead) # $v1, 0x8015 -/* 06BFE0 8006B3E0 24630298 */ addiu $v1, %lo(gDisplayListHead) # addiu $v1, $v1, 0x298 -/* 06BFE4 8006B3E4 8C620000 */ lw $v0, ($v1) -/* 06BFE8 8006B3E8 3C190102 */ lui $t9, (0x01020040 >> 16) # lui $t9, 0x102 -/* 06BFEC 8006B3EC 37390040 */ ori $t9, (0x01020040 & 0xFFFF) # ori $t9, $t9, 0x40 -/* 06BFF0 8006B3F0 244E0008 */ addiu $t6, $v0, 8 -/* 06BFF4 8006B3F4 AC6E0000 */ sw $t6, ($v1) -/* 06BFF8 8006B3F8 3C188016 */ lui $t8, %hi(gMatrixEffectCount) # $t8, 0x8016 -/* 06BFFC 8006B3FC AC590000 */ sw $t9, ($v0) -/* 06C000 8006B400 87184AF0 */ lh $t8, %lo(gMatrixEffectCount)($t8) -/* 06C004 8006B404 3C0F8015 */ lui $t7, %hi(gGfxPool) # $t7, 0x8015 -/* 06C008 8006B408 8DEFEF40 */ lw $t7, %lo(gGfxPool)($t7) -/* 06C00C 8006B40C 00187180 */ sll $t6, $t8, 6 -/* 06C010 8006B410 3401FAC0 */ li $at, 64192 -/* 06C014 8006B414 01EEC821 */ addu $t9, $t7, $t6 -/* 06C018 8006B418 0321C021 */ addu $t8, $t9, $at -/* 06C01C 8006B41C 3C011FFF */ lui $at, (0x1FFFFFFF >> 16) # lui $at, 0x1fff -/* 06C020 8006B420 3421FFFF */ ori $at, (0x1FFFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 06C024 8006B424 03017824 */ and $t7, $t8, $at -/* 06C028 8006B428 AC4F0004 */ sw $t7, 4($v0) -/* 06C02C 8006B42C 8C620000 */ lw $v0, ($v1) -/* 06C030 8006B430 3C190D01 */ lui $t9, %hi(D_0D008DB8) # $t9, 0xd01 -/* 06C034 8006B434 3C100600 */ lui $s0, 0x600 -/* 06C038 8006B438 244E0008 */ addiu $t6, $v0, 8 -/* 06C03C 8006B43C AC6E0000 */ sw $t6, ($v1) -/* 06C040 8006B440 27398DB8 */ addiu $t9, %lo(D_0D008DB8) # addiu $t9, $t9, -0x7248 -/* 06C044 8006B444 AC590004 */ sw $t9, 4($v0) -/* 06C048 8006B448 AC500000 */ sw $s0, ($v0) -/* 06C04C 8006B44C 8C620000 */ lw $v0, ($v1) -/* 06C050 8006B450 3C0E800E */ lui $t6, %hi(D_800E52D0) # $t6, 0x800e -/* 06C054 8006B454 25CE52D0 */ addiu $t6, %lo(D_800E52D0) # addiu $t6, $t6, 0x52d0 -/* 06C058 8006B458 24580008 */ addiu $t8, $v0, 8 -/* 06C05C 8006B45C AC780000 */ sw $t8, ($v1) -/* 06C060 8006B460 3C0FFD10 */ lui $t7, 0xfd10 -/* 06C064 8006B464 AC4F0000 */ sw $t7, ($v0) -/* 06C068 8006B468 AC4E0004 */ sw $t6, 4($v0) -/* 06C06C 8006B46C 8C620000 */ lw $v0, ($v1) -/* 06C070 8006B470 3C18E800 */ lui $t8, 0xe800 -/* 06C074 8006B474 3C0EF500 */ lui $t6, (0xF5000100 >> 16) # lui $t6, 0xf500 -/* 06C078 8006B478 24590008 */ addiu $t9, $v0, 8 -/* 06C07C 8006B47C AC790000 */ sw $t9, ($v1) -/* 06C080 8006B480 AC580000 */ sw $t8, ($v0) -/* 06C084 8006B484 AC400004 */ sw $zero, 4($v0) -/* 06C088 8006B488 8C620000 */ lw $v0, ($v1) -/* 06C08C 8006B48C 3C190700 */ lui $t9, 0x700 -/* 06C090 8006B490 35CE0100 */ ori $t6, (0xF5000100 & 0xFFFF) # ori $t6, $t6, 0x100 -/* 06C094 8006B494 244F0008 */ addiu $t7, $v0, 8 -/* 06C098 8006B498 AC6F0000 */ sw $t7, ($v1) -/* 06C09C 8006B49C AC4E0000 */ sw $t6, ($v0) -/* 06C0A0 8006B4A0 AC590004 */ sw $t9, 4($v0) -/* 06C0A4 8006B4A4 8C620000 */ lw $v0, ($v1) -/* 06C0A8 8006B4A8 3C0FE600 */ lui $t7, 0xe600 -/* 06C0AC 8006B4AC 3C19F000 */ lui $t9, 0xf000 -/* 06C0B0 8006B4B0 24580008 */ addiu $t8, $v0, 8 -/* 06C0B4 8006B4B4 AC780000 */ sw $t8, ($v1) -/* 06C0B8 8006B4B8 AC4F0000 */ sw $t7, ($v0) -/* 06C0BC 8006B4BC AC400004 */ sw $zero, 4($v0) -/* 06C0C0 8006B4C0 8C620000 */ lw $v0, ($v1) -/* 06C0C4 8006B4C4 3C18073F */ lui $t8, (0x073FC000 >> 16) # lui $t8, 0x73f -/* 06C0C8 8006B4C8 3718C000 */ ori $t8, (0x073FC000 & 0xFFFF) # ori $t8, $t8, 0xc000 -/* 06C0CC 8006B4CC 244E0008 */ addiu $t6, $v0, 8 -/* 06C0D0 8006B4D0 AC6E0000 */ sw $t6, ($v1) -/* 06C0D4 8006B4D4 AC590000 */ sw $t9, ($v0) -/* 06C0D8 8006B4D8 AC580004 */ sw $t8, 4($v0) -/* 06C0DC 8006B4DC 8C620000 */ lw $v0, ($v1) -/* 06C0E0 8006B4E0 3C0EE700 */ lui $t6, 0xe700 -/* 06C0E4 8006B4E4 34198000 */ li $t9, 32768 -/* 06C0E8 8006B4E8 244F0008 */ addiu $t7, $v0, 8 -/* 06C0EC 8006B4EC AC6F0000 */ sw $t7, ($v1) -/* 06C0F0 8006B4F0 AFA200B0 */ sw $v0, 0xb0($sp) -/* 06C0F4 8006B4F4 AC4E0000 */ sw $t6, ($v0) -/* 06C0F8 8006B4F8 AC400004 */ sw $zero, 4($v0) -/* 06C0FC 8006B4FC 8C620000 */ lw $v0, ($v1) -/* 06C100 8006B500 3C0FBA00 */ lui $t7, (0xBA000E02 >> 16) # lui $t7, 0xba00 -/* 06C104 8006B504 35EF0E02 */ ori $t7, (0xBA000E02 & 0xFFFF) # ori $t7, $t7, 0xe02 -/* 06C108 8006B508 24580008 */ addiu $t8, $v0, 8 -/* 06C10C 8006B50C AC780000 */ sw $t8, ($v1) -/* 06C110 8006B510 AFA200AC */ sw $v0, 0xac($sp) -/* 06C114 8006B514 AC4F0000 */ sw $t7, ($v0) -/* 06C118 8006B518 8FB800AC */ lw $t8, 0xac($sp) -/* 06C11C 8006B51C AF190004 */ sw $t9, 4($t8) -/* 06C120 8006B520 87AE011E */ lh $t6, 0x11e($sp) -/* 06C124 8006B524 87AF0120 */ lh $t7, 0x120($sp) -/* 06C128 8006B528 241900D8 */ li $t9, 216 -/* 06C12C 8006B52C AFB90018 */ sw $t9, 0x18($sp) -/* 06C130 8006B530 87A70122 */ lh $a3, 0x122($sp) -/* 06C134 8006B534 87A60124 */ lh $a2, 0x124($sp) -/* 06C138 8006B538 87A50126 */ lh $a1, 0x126($sp) -/* 06C13C 8006B53C 87A40128 */ lh $a0, 0x128($sp) -/* 06C140 8006B540 AFAE0014 */ sw $t6, 0x14($sp) -/* 06C144 8006B544 0C012D85 */ jal func_8004B614 -/* 06C148 8006B548 AFAF0010 */ sw $t7, 0x10($sp) -/* 06C14C 8006B54C 3C038015 */ lui $v1, %hi(gDisplayListHead) # $v1, 0x8015 -/* 06C150 8006B550 24630298 */ addiu $v1, %lo(gDisplayListHead) # addiu $v1, $v1, 0x298 -/* 06C154 8006B554 8C620000 */ lw $v0, ($v1) -/* 06C158 8006B558 3C0FB900 */ lui $t7, (0xB900031D >> 16) # lui $t7, 0xb900 -/* 06C15C 8006B55C 3C0E0050 */ lui $t6, (0x00505978 >> 16) # lui $t6, 0x50 -/* 06C160 8006B560 24580008 */ addiu $t8, $v0, 8 -/* 06C164 8006B564 AC780000 */ sw $t8, ($v1) -/* 06C168 8006B568 35CE5978 */ ori $t6, (0x00505978 & 0xFFFF) # ori $t6, $t6, 0x5978 -/* 06C16C 8006B56C 35EF031D */ ori $t7, (0xB900031D & 0xFFFF) # ori $t7, $t7, 0x31d -/* 06C170 8006B570 AC4F0000 */ sw $t7, ($v0) -/* 06C174 8006B574 AC4E0004 */ sw $t6, 4($v0) -/* 06C178 8006B578 8C620000 */ lw $v0, ($v1) -/* 06C17C 8006B57C 3C18FD50 */ lui $t8, 0xfd50 -/* 06C180 8006B580 3C0F8019 */ lui $t7, %hi(D_8018D4BC) # $t7, 0x8019 -/* 06C184 8006B584 24590008 */ addiu $t9, $v0, 8 -/* 06C188 8006B588 AC790000 */ sw $t9, ($v1) -/* 06C18C 8006B58C AC580000 */ sw $t8, ($v0) -/* 06C190 8006B590 8DEFD4BC */ lw $t7, %lo(D_8018D4BC)($t7) -/* 06C194 8006B594 3C180708 */ lui $t8, (0x07080200 >> 16) # lui $t8, 0x708 -/* 06C198 8006B598 37180200 */ ori $t8, (0x07080200 & 0xFFFF) # ori $t8, $t8, 0x200 -/* 06C19C 8006B59C AC4F0004 */ sw $t7, 4($v0) -/* 06C1A0 8006B5A0 8C620000 */ lw $v0, ($v1) -/* 06C1A4 8006B5A4 3C19F550 */ lui $t9, 0xf550 -/* 06C1A8 8006B5A8 3C1F0D01 */ lui $ra, %hi(common_square_plain_render) # $ra, 0xd01 -/* 06C1AC 8006B5AC 244E0008 */ addiu $t6, $v0, 8 -/* 06C1B0 8006B5B0 AC6E0000 */ sw $t6, ($v1) -/* 06C1B4 8006B5B4 AC580004 */ sw $t8, 4($v0) -/* 06C1B8 8006B5B8 AC590000 */ sw $t9, ($v0) -/* 06C1BC 8006B5BC 8C620000 */ lw $v0, ($v1) -/* 06C1C0 8006B5C0 3C0EE600 */ lui $t6, 0xe600 -/* 06C1C4 8006B5C4 3C18F300 */ lui $t8, 0xf300 -/* 06C1C8 8006B5C8 244F0008 */ addiu $t7, $v0, 8 -/* 06C1CC 8006B5CC AC6F0000 */ sw $t7, ($v1) -/* 06C1D0 8006B5D0 AC400004 */ sw $zero, 4($v0) -/* 06C1D4 8006B5D4 AC4E0000 */ sw $t6, ($v0) -/* 06C1D8 8006B5D8 8C620000 */ lw $v0, ($v1) -/* 06C1DC 8006B5DC 3C0F073F */ lui $t7, (0x073FF100 >> 16) # lui $t7, 0x73f -/* 06C1E0 8006B5E0 35EFF100 */ ori $t7, (0x073FF100 & 0xFFFF) # ori $t7, $t7, 0xf100 -/* 06C1E4 8006B5E4 24590008 */ addiu $t9, $v0, 8 -/* 06C1E8 8006B5E8 AC790000 */ sw $t9, ($v1) -/* 06C1EC 8006B5EC AC4F0004 */ sw $t7, 4($v0) -/* 06C1F0 8006B5F0 AC580000 */ sw $t8, ($v0) -/* 06C1F4 8006B5F4 8C620000 */ lw $v0, ($v1) -/* 06C1F8 8006B5F8 3C19E700 */ lui $t9, 0xe700 -/* 06C1FC 8006B5FC 3C0FF548 */ lui $t7, (0xF5481000 >> 16) # lui $t7, 0xf548 -/* 06C200 8006B600 244E0008 */ addiu $t6, $v0, 8 -/* 06C204 8006B604 AC6E0000 */ sw $t6, ($v1) -/* 06C208 8006B608 AC400004 */ sw $zero, 4($v0) -/* 06C20C 8006B60C AC590000 */ sw $t9, ($v0) -/* 06C210 8006B610 8C620000 */ lw $v0, ($v1) -/* 06C214 8006B614 3C0E0008 */ lui $t6, (0x00080200 >> 16) # lui $t6, 8 -/* 06C218 8006B618 35CE0200 */ ori $t6, (0x00080200 & 0xFFFF) # ori $t6, $t6, 0x200 -/* 06C21C 8006B61C 24580008 */ addiu $t8, $v0, 8 -/* 06C220 8006B620 AC780000 */ sw $t8, ($v1) -/* 06C224 8006B624 35EF1000 */ ori $t7, (0xF5481000 & 0xFFFF) # ori $t7, $t7, 0x1000 -/* 06C228 8006B628 AC4F0000 */ sw $t7, ($v0) -/* 06C22C 8006B62C AC4E0004 */ sw $t6, 4($v0) -/* 06C230 8006B630 8C620000 */ lw $v0, ($v1) -/* 06C234 8006B634 3C0F000F */ lui $t7, (0x000FC07C >> 16) # lui $t7, 0xf -/* 06C238 8006B638 35EFC07C */ ori $t7, (0x000FC07C & 0xFFFF) # ori $t7, $t7, 0xc07c -/* 06C23C 8006B63C 24590008 */ addiu $t9, $v0, 8 -/* 06C240 8006B640 AC790000 */ sw $t9, ($v1) -/* 06C244 8006B644 3C18F200 */ lui $t8, 0xf200 -/* 06C248 8006B648 AC580000 */ sw $t8, ($v0) -/* 06C24C 8006B64C AC4F0004 */ sw $t7, 4($v0) -/* 06C250 8006B650 8C620000 */ lw $v0, ($v1) -/* 06C254 8006B654 3C18800E */ lui $t8, %hi(gBalloonVertexPlane1) # $t8, 0x800e -/* 06C258 8006B658 3C190400 */ lui $t9, (0x0400103F >> 16) # lui $t9, 0x400 -/* 06C25C 8006B65C 244E0008 */ addiu $t6, $v0, 8 -/* 06C260 8006B660 AC6E0000 */ sw $t6, ($v1) -/* 06C264 8006B664 3739103F */ ori $t9, (0x0400103F & 0xFFFF) # ori $t9, $t9, 0x103f -/* 06C268 8006B668 27185250 */ addiu $t8, %lo(gBalloonVertexPlane1) # addiu $t8, $t8, 0x5250 -/* 06C26C 8006B66C AC580004 */ sw $t8, 4($v0) -/* 06C270 8006B670 AC590000 */ sw $t9, ($v0) -/* 06C274 8006B674 8C620000 */ lw $v0, ($v1) -/* 06C278 8006B678 27FF8C78 */ addiu $ra, %lo(common_square_plain_render) # addiu $ra, $ra, -0x7388 -/* 06C27C 8006B67C 3C19FD50 */ lui $t9, 0xfd50 -/* 06C280 8006B680 244F0008 */ addiu $t7, $v0, 8 -/* 06C284 8006B684 AC6F0000 */ sw $t7, ($v1) -/* 06C288 8006B688 AC5F0004 */ sw $ra, 4($v0) -/* 06C28C 8006B68C AC500000 */ sw $s0, ($v0) -/* 06C290 8006B690 8C620000 */ lw $v0, ($v1) -/* 06C294 8006B694 3C188019 */ lui $t8, %hi(D_8018D4C0) # $t8, 0x8019 -/* 06C298 8006B698 244E0008 */ addiu $t6, $v0, 8 -/* 06C29C 8006B69C AC6E0000 */ sw $t6, ($v1) -/* 06C2A0 8006B6A0 AC590000 */ sw $t9, ($v0) -/* 06C2A4 8006B6A4 8F18D4C0 */ lw $t8, %lo(D_8018D4C0)($t8) -/* 06C2A8 8006B6A8 3C19F550 */ lui $t9, 0xf550 -/* 06C2AC 8006B6AC 270FFFC0 */ addiu $t7, $t8, -0x40 -/* 06C2B0 8006B6B0 AC4F0004 */ sw $t7, 4($v0) -/* 06C2B4 8006B6B4 8C620000 */ lw $v0, ($v1) -/* 06C2B8 8006B6B8 3C180708 */ lui $t8, (0x07080200 >> 16) # lui $t8, 0x708 -/* 06C2BC 8006B6BC 37180200 */ ori $t8, (0x07080200 & 0xFFFF) # ori $t8, $t8, 0x200 -/* 06C2C0 8006B6C0 244E0008 */ addiu $t6, $v0, 8 -/* 06C2C4 8006B6C4 AC6E0000 */ sw $t6, ($v1) -/* 06C2C8 8006B6C8 AC580004 */ sw $t8, 4($v0) -/* 06C2CC 8006B6CC AC590000 */ sw $t9, ($v0) -/* 06C2D0 8006B6D0 8C620000 */ lw $v0, ($v1) -/* 06C2D4 8006B6D4 3C0EE600 */ lui $t6, 0xe600 -/* 06C2D8 8006B6D8 3C18F300 */ lui $t8, 0xf300 -/* 06C2DC 8006B6DC 244F0008 */ addiu $t7, $v0, 8 -/* 06C2E0 8006B6E0 AC6F0000 */ sw $t7, ($v1) -/* 06C2E4 8006B6E4 AC400004 */ sw $zero, 4($v0) -/* 06C2E8 8006B6E8 AC4E0000 */ sw $t6, ($v0) -/* 06C2EC 8006B6EC 8C620000 */ lw $v0, ($v1) -/* 06C2F0 8006B6F0 3C0F073F */ lui $t7, (0x073FF100 >> 16) # lui $t7, 0x73f -/* 06C2F4 8006B6F4 35EFF100 */ ori $t7, (0x073FF100 & 0xFFFF) # ori $t7, $t7, 0xf100 -/* 06C2F8 8006B6F8 24590008 */ addiu $t9, $v0, 8 -/* 06C2FC 8006B6FC AC790000 */ sw $t9, ($v1) -/* 06C300 8006B700 AC4F0004 */ sw $t7, 4($v0) -/* 06C304 8006B704 AC580000 */ sw $t8, ($v0) -/* 06C308 8006B708 8C620000 */ lw $v0, ($v1) -/* 06C30C 8006B70C 3C19E700 */ lui $t9, 0xe700 -/* 06C310 8006B710 3C0FF548 */ lui $t7, (0xF5481000 >> 16) # lui $t7, 0xf548 -/* 06C314 8006B714 244E0008 */ addiu $t6, $v0, 8 -/* 06C318 8006B718 AC6E0000 */ sw $t6, ($v1) -/* 06C31C 8006B71C AC400004 */ sw $zero, 4($v0) -/* 06C320 8006B720 AC590000 */ sw $t9, ($v0) -/* 06C324 8006B724 8C620000 */ lw $v0, ($v1) -/* 06C328 8006B728 3C0E0008 */ lui $t6, (0x00080200 >> 16) # lui $t6, 8 -/* 06C32C 8006B72C 35CE0200 */ ori $t6, (0x00080200 & 0xFFFF) # ori $t6, $t6, 0x200 -/* 06C330 8006B730 24580008 */ addiu $t8, $v0, 8 -/* 06C334 8006B734 AC780000 */ sw $t8, ($v1) -/* 06C338 8006B738 35EF1000 */ ori $t7, (0xF5481000 & 0xFFFF) # ori $t7, $t7, 0x1000 -/* 06C33C 8006B73C AC4F0000 */ sw $t7, ($v0) -/* 06C340 8006B740 AC4E0004 */ sw $t6, 4($v0) -/* 06C344 8006B744 8C620000 */ lw $v0, ($v1) -/* 06C348 8006B748 3C0F000F */ lui $t7, (0x000FC07C >> 16) # lui $t7, 0xf -/* 06C34C 8006B74C 35EFC07C */ ori $t7, (0x000FC07C & 0xFFFF) # ori $t7, $t7, 0xc07c -/* 06C350 8006B750 24590008 */ addiu $t9, $v0, 8 -/* 06C354 8006B754 AC790000 */ sw $t9, ($v1) -/* 06C358 8006B758 3C18F200 */ lui $t8, 0xf200 -/* 06C35C 8006B75C AC580000 */ sw $t8, ($v0) -/* 06C360 8006B760 AC4F0004 */ sw $t7, 4($v0) -/* 06C364 8006B764 8C620000 */ lw $v0, ($v1) -/* 06C368 8006B768 3C18800E */ lui $t8, %hi(gBalloonVertexPlane2) # $t8, 0x800e -/* 06C36C 8006B76C 3C190400 */ lui $t9, (0x0400103F >> 16) # lui $t9, 0x400 -/* 06C370 8006B770 244E0008 */ addiu $t6, $v0, 8 -/* 06C374 8006B774 AC6E0000 */ sw $t6, ($v1) -/* 06C378 8006B778 3739103F */ ori $t9, (0x0400103F & 0xFFFF) # ori $t9, $t9, 0x103f -/* 06C37C 8006B77C 27185290 */ addiu $t8, %lo(gBalloonVertexPlane2) # addiu $t8, $t8, 0x5290 -/* 06C380 8006B780 AC580004 */ sw $t8, 4($v0) -/* 06C384 8006B784 AC590000 */ sw $t9, ($v0) -/* 06C388 8006B788 8C620000 */ lw $v0, ($v1) -/* 06C38C 8006B78C 3C180001 */ lui $t8, (0x00010001 >> 16) # lui $t8, 1 -/* 06C390 8006B790 37180001 */ ori $t8, (0x00010001 & 0xFFFF) # ori $t8, $t8, 1 -/* 06C394 8006B794 244F0008 */ addiu $t7, $v0, 8 -/* 06C398 8006B798 AC6F0000 */ sw $t7, ($v1) -/* 06C39C 8006B79C AC5F0004 */ sw $ra, 4($v0) -/* 06C3A0 8006B7A0 AC500000 */ sw $s0, ($v0) -/* 06C3A4 8006B7A4 8C620000 */ lw $v0, ($v1) -/* 06C3A8 8006B7A8 3C19BB00 */ lui $t9, 0xbb00 -/* 06C3AC 8006B7AC 244E0008 */ addiu $t6, $v0, 8 -/* 06C3B0 8006B7B0 AC6E0000 */ sw $t6, ($v1) -/* 06C3B4 8006B7B4 AC580004 */ sw $t8, 4($v0) -/* 06C3B8 8006B7B8 AC590000 */ sw $t9, ($v0) -/* 06C3BC 8006B7BC 3C028016 */ lui $v0, %hi(gMatrixEffectCount) # $v0, 0x8016 -/* 06C3C0 8006B7C0 24424AF0 */ addiu $v0, %lo(gMatrixEffectCount) # addiu $v0, $v0, 0x4af0 -/* 06C3C4 8006B7C4 844F0000 */ lh $t7, ($v0) -/* 06C3C8 8006B7C8 8FBF0034 */ lw $ra, 0x34($sp) -/* 06C3CC 8006B7CC 8FB00030 */ lw $s0, 0x30($sp) -/* 06C3D0 8006B7D0 D7B40028 */ ldc1 $f20, 0x28($sp) -/* 06C3D4 8006B7D4 25EE0001 */ addiu $t6, $t7, 1 -/* 06C3D8 8006B7D8 A44E0000 */ sh $t6, ($v0) -/* 06C3DC 8006B7DC 03E00008 */ jr $ra -/* 06C3E0 8006B7E0 27BD0180 */ addiu $sp, $sp, 0x180 diff --git a/src/code_80057C60.c b/src/code_80057C60.c index 245979686..e1a042c9e 100644 --- a/src/code_80057C60.c +++ b/src/code_80057C60.c @@ -5415,397 +5415,182 @@ void func_8006A280(Player *player, s8 arg1, s16 arg2, s8 arg3) { } } -#ifdef MIPS_TO_C -//generated by m2c commit beb457dabfc7a01ec6540a5404a6a05097a13602 on Oct-14-2023 -extern ? D_8018D4D0; -extern ? D_8018D530; -extern ? D_8018D590; -extern ? D_8018D620; -extern ? D_8018D650; -extern ? D_8018D6B0; -extern ? D_8018D710; -extern ? D_8018D770; -extern ? D_8018D7A0; -extern ? D_8018D7D0; -extern ? D_8018D800; -extern ? D_8018D830; -extern ? D_8018D860; -extern ? D_8018D890; - void func_8006A50C(Player *player, f32 arg1, f32 arg2, s8 arg3, s8 arg4, s16 arg5) { - f32 sp44; - f32 sp40; - f32 sp3C; - s32 sp38; - u16 *sp34; - s32 sp30; - s32 temp_v0; - s32 temp_v1; - u16 *temp_t0; + f32 someX; + f32 someY; + f32 someZ; - temp_v0 = arg4 * 2; - temp_t0 = (arg3 * 6) + temp_v0 + gPlayerBalloonStatus; - *temp_t0 = 0; - temp_v1 = arg4 * 4; - *(&D_8018D650 + ((arg3 * 0xC) + temp_v1)) = 0.1f; - *(&D_8018D6B0 + ((arg3 * 0xC) + temp_v1)) = 0.0f; - *(&D_8018D710 + ((arg3 * 0xC) + temp_v1)) = 0.0f; - *(&D_8018D770 + ((arg3 * 6) + temp_v0)) = 0; - *(&D_8018D7A0 + ((arg3 * 6) + temp_v0)) = 0; - *(&D_8018D7D0 + ((arg3 * 6) + temp_v0)) = 0; - *(&D_8018D800 + ((arg3 * 6) + temp_v0)) = 5; - *(&D_8018D830 + ((arg3 * 6) + temp_v0)) = 1; - *(&D_8018D620 + ((arg3 * 6) + temp_v0)) = -player->unk_02C[1] - player->unk_0C0; - sp34 = temp_t0; - sp30 = temp_v1; - sp38 = temp_v0; - func_80062B18(&sp44, &sp40, &sp3C, arg1, 4.0f, (f32) ((f64) arg2 + -3.8), (u16) (s32) -player->unk_02C[1], (u16) 0); - *(&D_8018D4D0 + ((arg3 * 0xC) + sp30)) = player->pos[0] + sp44; - *(&D_8018D590 + ((arg3 * 0xC) + sp30)) = player->pos[2] + sp3C; - *(&D_8018D530 + ((arg3 * 0xC) + sp30)) = (player->pos[1] - player->boundingBoxSize) + sp40; - *sp34 |= 1; - *(&D_8018D860 + ((arg3 * 6) + sp38)) = arg5; - *(&D_8018D890 + ((arg3 * 6) + sp38)) = 0; + gPlayerBalloonStatus[arg3][arg4] = 0; + D_8018D650[arg3][arg4] = 0.1f; + D_8018D6B0[arg3][arg4] = 0.0f; + D_8018D710[arg3][arg4] = 0.0f; + D_8018D770[arg3][arg4] = 0; + D_8018D7A0[arg3][arg4] = 0; + D_8018D7D0[arg3][arg4] = 0; + D_8018D800[arg3][arg4] = 5; + D_8018D830[arg3][arg4] = 1; + D_8018D620[arg3][arg4] = -player->unk_02C[1] - player->unk_0C0; + func_80062B18(&someX, &someY, &someZ, arg1, 4.0f, arg2 + -3.8, -player->unk_02C[1], 0); + D_8018D4D0[arg3][arg4] = player->pos[0] + someX; + D_8018D590[arg3][arg4] = player->pos[2] + someZ; + D_8018D530[arg3][arg4] = (player->pos[1] - player->boundingBoxSize) + someY; + gPlayerBalloonStatus[arg3][arg4] |= 1; + D_8018D860[arg3][arg4] = arg5; + D_8018D890[arg3][arg4] = 0; } -#else -GLOBAL_ASM("asm/non_matchings/code_80057C60/func_8006A50C.s") -#endif - -#ifdef MIPS_TO_C -//generated by m2c commit beb457dabfc7a01ec6540a5404a6a05097a13602 on Oct-14-2023 -extern ? D_8018D4D0; -extern ? D_8018D530; -extern ? D_8018D590; -extern ? D_8018D620; -extern ? D_8018D650; -extern ? D_8018D6B0; -extern ? D_8018D710; -extern ? D_8018D770; -extern ? D_8018D7A0; -extern ? D_8018D7D0; -extern ? D_8018D800; -extern ? D_8018D830; -extern ? D_8018D860; -extern ? D_8018D890; -extern ? D_8018D8D0; -static ? D_800E4914; /* unable to generate initializer */ void func_8006A7C0(Player *player, f32 arg1, f32 arg2, s8 arg3, s8 arg4) { - ? sp80; - f32 sp78; - f32 sp74; - f32 sp70; + f32 sp80[] = { + 9.0f, 10.0f, 9.0f, 8.0f, + 10.0f, 9.5f, 9.5f, 11.0f, + }; + s32 stackPadding0; + f32 someX; + f32 someY; + f32 someZ; f32 sp6C; - f32 *sp60; - s32 sp5C; - u16 *sp58; - s32 sp54; - f32 *sp50; - f32 *sp4C; - s16 *sp3C; - s16 *sp34; - f32 *temp_a1; - f32 *temp_t2; - f32 *temp_v0_2; - f32 *temp_v1; - f32 *temp_v1_2; - f32 *temp_v1_3; - f32 *var_t2; - f32 temp_f8; - f32 var_f12; - f64 var_f0; - f64 var_f0_2; - s16 *temp_a2; - s16 *temp_v0; - s16 *var_a1; - s16 *var_v0; - s32 temp_t1; - s32 temp_t8; - s32 var_t0; - s32 var_t1; - u16 *temp_t7; + s32 stackPadding1; + s32 stackPadding2; - sp80.unk0 = (s32) D_800E4914.unk0; - sp80.unk4 = (s32) D_800E4914.unk4; - sp80.unk8 = (s32) D_800E4914.unk8; - sp80.unkC = (s32) D_800E4914.unkC; - sp80.unk10 = (s32) D_800E4914.unk10; - sp80.unk14 = (s32) D_800E4914.unk14; - sp80.unk18 = (s32) D_800E4914.unk18; - sp80.unk1C = (s32) D_800E4914.unk1C; - var_f12 = player->unk_094; - var_t0 = arg4 * 2; - temp_t7 = (arg3 * 6) + var_t0 + gPlayerBalloonStatus; - sp58 = temp_t7; - temp_t1 = arg4 * 4; - sp6C = (-(var_f12 / 18.0f) * 216.0f) / 10.0f; - if ((*temp_t7 & 2) != 2) { - temp_a1 = (arg3 * 0xC) + temp_t1 + &D_8018D650; - *temp_a1 = (f32) ((f64) *temp_a1 + (-0.003 + ((f64) -var_f12 * 0.0006))); - var_f0 = (f64) *temp_a1; - temp_v1 = (arg3 * 0xC) + temp_t1 + &D_8018D6B0; - temp_t2 = (arg3 * 0xC) + temp_t1 + &D_8018D710; - if (var_f0 >= 0.05) { - *temp_a1 = 0.05f; - var_f0 = (f64) *temp_a1; + sp6C = (-(player->unk_094 / 18.0f) * 216.0f) / 10.0f; + if ((gPlayerBalloonStatus[arg3][arg4] & 2) != 2) { + D_8018D650[arg3][arg4] += -0.003 + (-player->unk_094 * 0.0006); + if (D_8018D650[arg3][arg4] >= 0.05) { + D_8018D650[arg3][arg4] = 0.05f; } - if (var_f0 <= -0.05) { - *temp_a1 = -0.05f; + if (D_8018D650[arg3][arg4] <= -0.05) { + D_8018D650[arg3][arg4] = -0.05f; } - *temp_v1 += *temp_a1; - var_f0_2 = (f64) *temp_v1; - if (var_f0_2 >= 0.06) { - *temp_v1 = 0.06f; - var_f0_2 = (f64) *temp_v1; + D_8018D6B0[arg3][arg4] += D_8018D650[arg3][arg4]; + if (D_8018D6B0[arg3][arg4] >= 0.06) { + D_8018D6B0[arg3][arg4] = 0.06f; } - if (var_f0_2 <= -0.06) { - *temp_v1 = -0.06f; + if (D_8018D6B0[arg3][arg4] <= -0.06) { + D_8018D6B0[arg3][arg4] = -0.06f; } - *temp_t2 += *temp_v1; - if (*temp_t2 < 0.0f) { - sp60 = temp_v1; - sp50 = temp_a1; - sp5C = var_t0; - sp4C = temp_t2; - temp_f8 = (f32) (random_int(0x000BU) / 10); - *temp_v1 = 0.0f; - *temp_t2 = 0.0f; - *temp_a1 = temp_f8; + D_8018D710[arg3][arg4] += D_8018D6B0[arg3][arg4]; + if (D_8018D710[arg3][arg4] < 0.0f) { + D_8018D650[arg3][arg4] = random_int(0x000BU) / 10; + D_8018D6B0[arg3][arg4] = 0.0f; + D_8018D710[arg3][arg4] = 0.0f; } - *(&D_8018D620 + ((arg3 * 6) + var_t0)) = -player->unk_02C[1] - player->unk_0C0; - sp5C = var_t0; - move_s16_towards((arg3 * 6) + var_t0 + &D_8018D890, (s16) (s32) (player->unk_094 * 182.0f), 0.1f); - var_f12 = player->unk_094; + D_8018D620[arg3][arg4] = -player->unk_02C[1] - player->unk_0C0; + move_s16_towards(&D_8018D890[arg3][arg4], player->unk_094 * 182.0f, 0.1f); } - temp_a2 = (arg3 * 6) + var_t0 + &D_8018D830; - temp_t8 = arg4 * 4; - var_t1 = temp_t8; - sp50 = (arg3 * 6) + var_t0 + &D_8018D620; - var_t2 = (arg3 * 0xC) + temp_t8 + &D_8018D710; - if (*temp_a2 == 1) { - var_a1 = (arg3 * 6) + var_t0 + &D_8018D800; - var_v0 = (arg3 * 6) + var_t0 + &D_8018D770; - *var_v0 = (s16) (s32) ((f32) *var_v0 + ((f32) *var_a1 - var_f12)); + if (D_8018D830[arg3][arg4] == 1) { + D_8018D770[arg3][arg4] += D_8018D800[arg3][arg4] - player->unk_094; } else { - var_a1 = (arg3 * 6) + var_t0 + &D_8018D800; - var_v0 = (arg3 * 6) + var_t0 + &D_8018D770; - *var_v0 = (s16) (s32) ((f32) *var_v0 + ((f32) *var_a1 + var_f12)); + D_8018D770[arg3][arg4] += D_8018D800[arg3][arg4] + player->unk_094; } - if (*var_v0 >= 0xB) { - *var_v0 = 0x000B; + if (D_8018D770[arg3][arg4] >= 0xB) { + D_8018D770[arg3][arg4] = 0x000B; } - if (*var_v0 < -0xA) { - *var_v0 = -0x000B; + if (D_8018D770[arg3][arg4] < -0xA) { + D_8018D770[arg3][arg4] = -0x000B; } - temp_v0 = (arg3 * 6) + var_t0 + &D_8018D7A0; - *temp_v0 += *var_v0; - if (*temp_v0 >= 0x29) { - *temp_v0 = 0x0029; + D_8018D7A0[arg3][arg4] += D_8018D770[arg3][arg4]; + if (D_8018D7A0[arg3][arg4] >= 0x29) { + D_8018D7A0[arg3][arg4] = 0x0029; } - if (*temp_v0 < -0x28) { - *temp_v0 = -0x0029; + if (D_8018D7A0[arg3][arg4] < -0x28) { + D_8018D7A0[arg3][arg4] = -0x0029; } - temp_v1_2 = (arg3 * 6) + var_t0 + &D_8018D7D0; - *temp_v1_2 = (s16) (*temp_v1_2 + *temp_v0); - if (*temp_v1_2 >= 0x38E) { - sp60 = temp_v1_2; - sp34 = var_a1; - sp3C = temp_a2; - sp5C = var_t0; - sp54 = var_t1; - sp4C = var_t2; - *var_a1 = -random_int(8U); - if (*temp_a2 != 1) { - *temp_a2 = 1; + D_8018D7D0[arg3][arg4] += D_8018D7A0[arg3][arg4]; + if (D_8018D7D0[arg3][arg4] >= 0x38E) { + D_8018D800[arg3][arg4] = -random_int(8U); + if (D_8018D830[arg3][arg4] != 1) { + D_8018D830[arg3][arg4] = 1; } } - if (*temp_v1_2 < -0x38D) { - sp34 = var_a1; - sp3C = temp_a2; - sp5C = var_t0; - sp54 = var_t1; - sp4C = var_t2; - *var_a1 = random_int(8U); - if (*temp_a2 != -1) { - *temp_a2 = -1; + if (D_8018D7D0[arg3][arg4] < -0x38D) { + D_8018D800[arg3][arg4] = random_int(8U); + if (D_8018D830[arg3][arg4] != -1) { + D_8018D830[arg3][arg4] = -1; } } - sp54 = var_t1; - sp5C = var_t0; - func_80062B18(&sp78, &sp74, &sp70, arg1, (sp + (player->characterId * 4))->unk80 - *var_t2, (f32) ((f64) arg2 + -3.2 + (f64) (sp6C * 1.0f)), (u16) (s32) -*sp50, (u16) (player->unk_206 * -2)); - if ((*sp58 & 2) != 2) { - *(&D_8018D530 + ((arg3 * 0xC) + sp54)) = (player->pos[1] - player->boundingBoxSize) + sp74; - *(&D_8018D4D0 + ((arg3 * 0xC) + sp54)) = player->pos[0] + sp78; - *(&D_8018D590 + ((arg3 * 0xC) + sp54)) = player->pos[2] + sp70; - *(&D_8018D8D0 + ((arg3 * 6) + sp5C)) = 0; - return; - } - temp_v0_2 = (arg3 * 0xC) + sp54 + &D_8018D530; - temp_v1_3 = (arg3 * 6) + sp5C + &D_8018D8D0; - *temp_v0_2 = (f32) ((f64) *temp_v0_2 + 0.2); - *temp_v1_3 = (s16) (*temp_v1_3 + 1); - sp60 = temp_v1_3; - move_s16_towards((arg3 * 6) + sp5C + &D_8018D890, 0, 0.1f); - move_s16_towards((arg3 * 6) + sp5C + &D_8018D860, 0, 0.1f); - if (*temp_v1_3 >= 0x78) { - func_8006B974((s32) player, arg3, arg4); + func_80062B18(&someX, &someY, &someZ, arg1, sp80[player->characterId] - D_8018D710[arg3][arg4], arg2 + -3.2 + (sp6C * 1), -D_8018D620[arg3][arg4], -player->unk_206 * 2); + if ((gPlayerBalloonStatus[arg3][arg4] & 2) != 2) { + D_8018D530[arg3][arg4] = (player->pos[1] - player->boundingBoxSize) + someY; + D_8018D4D0[arg3][arg4] = player->pos[0] + someX; + D_8018D590[arg3][arg4] = player->pos[2] + someZ; + D_8018D8D0[arg3][arg4] = 0; + } else { + D_8018D530[arg3][arg4] += 0.2; + D_8018D8D0[arg3][arg4] += 1; + move_s16_towards(&D_8018D890[arg3][arg4], 0, 0.1f); + move_s16_towards(&D_8018D860[arg3][arg4], 0, 0.1f); + if (D_8018D8D0[arg3][arg4] >= 0x78) { + func_8006B974((s32) player, arg3, arg4); + } } } -#else -GLOBAL_ASM("asm/non_matchings/code_80057C60/func_8006A7C0.s") -#endif -#ifdef MIPS_TO_C -//generated by m2c commit beb457dabfc7a01ec6540a5404a6a05097a13602 on Oct-14-2023 -extern ? D_8018D4D0; -extern ? D_8018D530; -extern ? D_8018D590; -extern ? D_8018D7D0; -extern ? D_8018D860; -extern ? D_8018D890; -static ? gBalloonVertexPlane1; /* unable to generate initializer */ -static ? gBalloonVertexPlane2; /* unable to generate initializer */ -static ? D_800E52D0; /* unable to generate initializer */ -static ? D_800E4934; /* unable to generate initializer */ -static ? D_800E4954; /* unable to generate initializer */ - -void func_8006AFD0(Player *player, s16 arg1, s8 arg2, s8 arg3) { - f32 sp13C; - f32 sp138; - f32 sp134; - s16 sp130; - s16 sp12E; - s16 sp12C; - s16 sp128; - s16 sp126; - s16 sp124; - s16 sp122; - s16 sp120; - s16 sp11E; - s16 sp11C; - Gfx *spB0; - Gfx *spAC; - f32 sp58; - void *sp54; - s32 sp44; - s32 sp40; - s16 *sp3C; - Camera *temp_v0_2; - Gfx *temp_v0_10; - Gfx *temp_v0_11; - Gfx *temp_v0_12; - Gfx *temp_v0_13; - Gfx *temp_v0_14; - Gfx *temp_v0_15; - Gfx *temp_v0_16; - Gfx *temp_v0_17; - Gfx *temp_v0_18; - Gfx *temp_v0_19; - Gfx *temp_v0_20; - Gfx *temp_v0_21; - Gfx *temp_v0_22; - Gfx *temp_v0_23; - Gfx *temp_v0_24; - Gfx *temp_v0_25; - Gfx *temp_v0_26; - Gfx *temp_v0_27; - Gfx *temp_v0_28; - Gfx *temp_v0_29; - Gfx *temp_v0_30; - Gfx *temp_v0_31; - Gfx *temp_v0_3; - Gfx *temp_v0_4; - Gfx *temp_v0_5; - Gfx *temp_v0_6; - Gfx *temp_v0_7; - Gfx *temp_v0_8; - Gfx *temp_v0_9; - f32 temp_f0; - f32 temp_f20; - f32 var_f20; - f64 var_f0; - s16 *temp_v1_2; +void func_8006AFD0(Player *player, s8 arg1, s16 arg2, s8 arg3) { + Mat4 sp140; + Vec3f sp134; + Vec3s sp12C; + s16 stackPadding; + s16 primRed; + s16 primGreen; + s16 primBlue; + s16 envRed; + s16 envGreen; + s16 envBlue; s16 temp_t1; - s32 temp_a0; - s32 temp_t6; - s32 temp_t7; - s32 temp_v0; - s32 temp_v1; - u16 temp_t0; + f32 xdiff; + f32 zdiff; + f32 var_f20; + s32 primColors[] = { + MAKE_RGB(0xC8, 0x01, 0x00), MAKE_RGB(0x00, 0x70, 0x01), MAKE_RGB(0x10, 0x79, 0x51), MAKE_RGB(0x00, 0x59, 0x70), + MAKE_RGB(0x70, 0x55, 0x00), MAKE_RGB(0x7A, 0x7E, 0x00), MAKE_RGB(0x77, 0x2C, 0x24), MAKE_RGB(0x30, 0x14, 0x58), + }; + s32 envColors[] = { + MAKE_RGB(0xDC, 0x00, 0x00), MAKE_RGB(0x00, 0x8C, 0x06), MAKE_RGB(0x00, 0x00, 0x51), MAKE_RGB(0x00, 0x00, 0x00), + MAKE_RGB(0x00, 0x00, 0x00), MAKE_RGB(0x00, 0x00, 0x00), MAKE_RGB(0x00, 0x00, 0x00), MAKE_RGB(0x00, 0x00, 0x00), + }; - spF0[0].unk0 = D_800E4934.unk0; - spF0[0].unk4 = (s32) D_800E4934.unk4; - spF0[0].unk8 = (s32) D_800E4934.unk8; - spF0[0].unkC = (s32) D_800E4934.unkC; - spF0[0].unk10 = (s32) D_800E4934.unk10; - spF0[0].unk14 = (s32) D_800E4934.unk14; - spF0[0].unk18 = (s32) D_800E4934.unk18; - spF0[0].unk1C = (s32) D_800E4934.unk1C; - spD0[0].unk0 = D_800E4954.unk0; - spD0[0].unk4 = (s32) D_800E4954.unk4; - spD0[0].unk8 = (s32) D_800E4954.unk8; - spD0[0].unkC = (s32) D_800E4954.unkC; - spD0[0].unk10 = (s32) D_800E4954.unk10; - spD0[0].unk14 = (s32) D_800E4954.unk14; - spD0[0].unk18 = (s32) D_800E4954.unk18; - spD0[0].unk1C = (s32) D_800E4954.unk1C; - temp_t0 = player->characterId; - temp_v0 = (&spF0[0])[temp_t0]; - sp128 = (temp_v0 >> 0x10) & 0xFF; - sp126 = (temp_v0 >> 8) & 0xFF; - sp124 = temp_v0 & 0xFF; - temp_v1 = (&spD0[0])[temp_t0]; - sp122 = (temp_v1 >> 0x10) & 0xFF; - sp120 = (temp_v1 >> 8) & 0xFF; - sp11E = temp_v1 & 0xFF; - sp54 = player + (arg3 * 2); - temp_t1 = ((s32) ((player->unk_02C[1] + player->unk_048[arg3] + player->unk_0C0) & 0xFFFF) / 128) << 7; - if (arg3 == (s8) arg1) { + primRed = (primColors[player->characterId] >> 0x10) & 0xFF; + primGreen = (primColors[player->characterId] >> 0x08) & 0xFF; + primBlue = (primColors[player->characterId] >> 0x00) & 0xFF; + envRed = (envColors[player->characterId] >> 0x10) & 0xFF; + envGreen = (envColors[player->characterId] >> 0x08) & 0xFF; + envBlue = (envColors[player->characterId] >> 0x00) & 0xFF; + temp_t1 = (((player->unk_048[arg3] + player->unk_02C[1] + player->unk_0C0) & 0xFFFF) / 128); + temp_t1 <<= 7; + if (arg3 == arg1) { var_f20 = 0.3f; } else { - temp_v0_2 = &cameras[arg3]; - temp_f20 = player->pos[0] - temp_v0_2->pos[0]; - temp_f0 = player->pos[2] - temp_v0_2->pos[2]; + // wut? + xdiff = (var_f20 = player->pos[0] - cameras[arg3].pos[0]); + zdiff = player->pos[2] - cameras[arg3].pos[2]; if (gActiveScreenMode != 3) { - sp11C = temp_t1; - var_f20 = sqrtf((temp_f20 * temp_f20) + (temp_f0 * temp_f0)) / 300.0f; + var_f20 = sqrtf((xdiff * xdiff) + (zdiff * zdiff)) / 300.0f; } else { - sp11C = temp_t1; - var_f20 = sqrtf((temp_f20 * temp_f20) + (temp_f0 * temp_f0)) / 200.0f; + var_f20 = sqrtf((xdiff * xdiff) + (zdiff * zdiff)) / 200.0f; } - var_f0 = (f64) var_f20; - if (var_f0 >= 1.8) { + if (var_f20 >= 1.8) { var_f20 = 1.8f; - var_f0 = (f64) 1.8f; } - if (var_f0 <= 0.3) { + if (var_f20 <= 0.3) { var_f20 = 0.3f; } } - temp_t7 = (s16) arg2 * 4; - temp_a0 = temp_t1 & 0xFFFF; - sp44 = temp_a0; - sp134 = *(&D_8018D4D0 + (((s8) arg1 * 0xC) + temp_t7)); - sp138 = *(&D_8018D530 + (((s8) arg1 * 0xC) + temp_t7)); - sp13C = *(&D_8018D590 + (((s8) arg1 * 0xC) + temp_t7)); - temp_t6 = (s16) arg2 * 2; - temp_v1_2 = ((s8) arg1 * 6) + temp_t6 + &D_8018D890; - sp12C = (s16) (s32) -(coss((u16) temp_a0) * (f32) (*temp_v1_2 * 4)); - sp3C = temp_v1_2; - sp40 = temp_t6; - sp12E = sp54->unk48; - sp58 = coss(unksp46); - sp130 = (s16) (s32) (((f32) *(&D_8018D7D0 + (((s8) arg1 * 6) + temp_t6)) - ((f32) *(&D_8018D860 + (((s8) arg1 * 6) + temp_t6)) * sp58)) - (sins(unksp46) * (f32) (*sp3C * 8))); - mtxf_translate_rotate((f32 (*)[4]) &sp140[0], &sp134, &sp12C); - mtxf_scale2((f32 (*)[4]) &sp140[0], var_f20); - convert_to_fixed_point_matrix(&gGfxPool->mtxEffect[gMatrixEffectCount], (f32 (*)[4]) &sp140[0]); + sp134[0] = D_8018D4D0[arg1][arg2]; + sp134[1] = D_8018D530[arg1][arg2]; + sp134[2] = D_8018D590[arg1][arg2]; + sp12C[0] = -((D_8018D890[arg1][arg2] * 4) * coss(temp_t1)); + sp12C[1] = player->unk_048[arg3]; + sp12C[2] = D_8018D7D0[arg1][arg2] - (D_8018D860[arg1][arg2] * coss(temp_t1)) - ((D_8018D890[arg1][arg2] * 8) * sins(temp_t1)); + mtxf_translate_rotate(sp140, sp134, sp12C); + mtxf_scale2(sp140, var_f20); + convert_to_fixed_point_matrix(&gGfxPool->mtxEffect[gMatrixEffectCount], sp140); - gSPMatrix(gDisplayListHead++, PHYSICAL_TO_VIRTUAL(&gGfxPool->mtxEffect[gMatrixEffectCount], G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxEffect[gMatrixEffectCount]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(gDisplayListHead++, D_0D008DB8); - gDPLoadTLUT_pal256(gDisplayListHead++, 0x800E52D0); + gDPLoadTLUT_pal256(gDisplayListHead++, D_800E52D0); gDPSetTextureLUT(gDisplayListHead++, G_TT_RGBA16); - func_8004B614((s32) sp128, (s32) sp126, (s32) sp124, (s32) sp122, (s32) sp120, (s32) sp11E, 0x000000D8); + func_8004B614(primRed, primGreen, primBlue, envRed, envGreen, envBlue, 0x000000D8); gDPSetRenderMode(gDisplayListHead++, AA_EN | Z_CMP | Z_UPD | IM_RD | CVG_DST_WRAP | ZMODE_XLU | CVG_X_ALPHA | FORCE_BL | GBL_c1(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_1MA), AA_EN | Z_CMP | Z_UPD | IM_RD | CVG_DST_WRAP | ZMODE_XLU | CVG_X_ALPHA | FORCE_BL | GBL_c2(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_1MA)); gDPLoadTextureBlock(gDisplayListHead++, D_8018D4BC, G_IM_FMT_CI, G_IM_SIZ_8b, 64, 32, 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); @@ -5817,9 +5602,6 @@ void func_8006AFD0(Player *player, s16 arg1, s8 arg2, s8 arg3) { gSPTexture(gDisplayListHead++, 0x0001, 0x0001, 0, G_TX_RENDERTILE, G_OFF); gMatrixEffectCount++; } -#else -GLOBAL_ASM("asm/non_matchings/code_80057C60/func_8006AFD0.s") -#endif void func_8006B7E4(Player* player, s8 arg1) { func_8006A50C(player, 0.0f, 0.0f, arg1, (s8) 0, (s16) 0); @@ -5879,11 +5661,6 @@ void func_8006BA94(Player* player, s8 playerIndex, s8 arg2) { } } -// data/data_code_80071F00_2.s -extern Vtx gBalloonVertexPlane1[]; -extern Vtx gBalloonVertexPlane2[]; -extern u8 D_800E52D0[]; - void render_balloon(Vec3f arg0, f32 arg1, s16 arg2, s16 arg3) { Mat4 sp108; Vec3f spFC; diff --git a/src/code_80057C60.h b/src/code_80057C60.h index 3b6ce7492..190656611 100644 --- a/src/code_80057C60.h +++ b/src/code_80057C60.h @@ -196,7 +196,7 @@ void func_8006A01C(Player*, s8, s16, s8); void func_8006A280(Player*, s8, s16, s8); void func_8006A50C(Player*, f32, f32, s8, s8, s16); void func_8006A7C0(Player*, f32, f32, s8, s8); -void func_8006AFD0(Player*, s16, s8, s8); +void func_8006AFD0(Player*, s8, s16, s8); void func_8006B7E4(Player*, s8); void func_8006B87C(Player*, s8); @@ -229,12 +229,33 @@ void func_8006E848(Player*, s8, s8); void func_8006E8C4(Player*, s8, s8); void func_8006E940(Player*, s8, s8); +// data/data_code_80071F00_2.s +extern Vtx gBalloonVertexPlane1[]; +extern Vtx gBalloonVertexPlane2[]; +extern u8 D_800E52D0[]; + extern s16 D_800E4730[]; extern u8 **D_800E4770[]; extern u8 **D_800E47A0[]; extern s32 D_800E47DC[]; extern s32 D_800E480C[]; +extern Vec3f D_8018D4D0[]; +extern Vec3f D_8018D530[]; +extern Vec3f D_8018D590[]; +extern Vec3s D_8018D620[]; +extern Vec3f D_8018D650[]; +extern Vec3f D_8018D6B0[]; +extern Vec3f D_8018D710[]; +extern Vec3s D_8018D770[]; +extern Vec3s D_8018D7A0[]; +extern Vec3s D_8018D7D0[]; +extern Vec3s D_8018D800[]; +extern Vec3s D_8018D830[]; +extern Vec3s D_8018D860[]; +extern Vec3s D_8018D890[]; +extern Vec3s D_8018D8D0[]; + extern s8 D_801657B2; extern s8 D_801657C8; extern s32 D_8018D22C;