From 0923e944204da352b7b45fd75682bfc6d5744c1b Mon Sep 17 00:00:00 2001 From: Tyler McGavran Date: Sat, 11 Jun 2022 17:55:45 -0400 Subject: [PATCH] Match all but one function in code_802B0210.c (#217) Required getting the .rodata for that file correct too. Matched a couple other funtions here and there as well. Signed-off-by: Taggerung --- .../code_802B0210/func_802B02B4.s | 68 - .../code_802B0210/func_802B039C.s | 52 - .../code_802B0210/func_802B0464.s | 36 - .../code_802B0210/func_802B04E8.s | 37 - .../code_802B0210/func_802B0648.s | 87 - .../code_802B0210/func_802B0788.s | 152 -- .../code_802B0210/func_802B17F4.s | 63 - .../code_802B0210/func_802B18E4.s | 69 - .../code_802B0210/func_802B19EC.s | 184 -- .../code_802B0210/func_802B1C9C.s | 110 -- .../code_802B0210/func_802B1E48.s | 112 -- .../code_802B0210/func_802B2914.s | 216 --- .../code_802B0210/func_802B2C40.s | 79 - .../code_802B0210/func_802B2FA0.s | 100 -- .../code_802B0210/func_802B3B44.s | 214 --- .../code_802B0210/func_802B3E7C.s | 90 - .../code_802B0210/func_802B3FD0.s | 82 - .../code_802B0210/update_obj_banana.s | 595 ------- .../code_802B0210/update_obj_banana_bunch.s | 268 --- .../code_802B0210/update_obj_green_shell.s | 570 ------- .../code_802B0210/update_obj_red_blue_shell.s | 814 --------- .../code_802B0210/update_obj_triple_shell.s | 633 ------- asm/non_matchings/memory/func_802AC098.s | 34 - data/data_121DA0_2.s | 38 +- data/data_121DA0_2_2.s | 146 -- data/data_121DA0_2_3.s | 66 + include/actor_types.h | 5 +- mk64.ld | 3 + src/code_800029B0.c | 21 +- src/code_80091750.h | 1 + src/code_802B0210.c | 1499 +++++++---------- src/code_802B0210.h | 48 +- src/math_util.c | 4 +- src/math_util.h | 4 +- src/memory.c | 41 +- src/memory.h | 2 + 36 files changed, 740 insertions(+), 5803 deletions(-) delete mode 100644 asm/non_matchings/code_802B0210/func_802B02B4.s delete mode 100644 asm/non_matchings/code_802B0210/func_802B039C.s delete mode 100644 asm/non_matchings/code_802B0210/func_802B0464.s delete mode 100644 asm/non_matchings/code_802B0210/func_802B04E8.s delete mode 100644 asm/non_matchings/code_802B0210/func_802B0648.s delete mode 100644 asm/non_matchings/code_802B0210/func_802B0788.s delete mode 100644 asm/non_matchings/code_802B0210/func_802B17F4.s delete mode 100644 asm/non_matchings/code_802B0210/func_802B18E4.s delete mode 100644 asm/non_matchings/code_802B0210/func_802B19EC.s delete mode 100644 asm/non_matchings/code_802B0210/func_802B1C9C.s delete mode 100644 asm/non_matchings/code_802B0210/func_802B1E48.s delete mode 100644 asm/non_matchings/code_802B0210/func_802B2914.s delete mode 100644 asm/non_matchings/code_802B0210/func_802B2C40.s delete mode 100644 asm/non_matchings/code_802B0210/func_802B2FA0.s delete mode 100644 asm/non_matchings/code_802B0210/func_802B3B44.s delete mode 100644 asm/non_matchings/code_802B0210/func_802B3E7C.s delete mode 100644 asm/non_matchings/code_802B0210/func_802B3FD0.s delete mode 100644 asm/non_matchings/code_802B0210/update_obj_banana.s delete mode 100644 asm/non_matchings/code_802B0210/update_obj_banana_bunch.s delete mode 100644 asm/non_matchings/code_802B0210/update_obj_green_shell.s delete mode 100644 asm/non_matchings/code_802B0210/update_obj_red_blue_shell.s delete mode 100644 asm/non_matchings/code_802B0210/update_obj_triple_shell.s delete mode 100644 asm/non_matchings/memory/func_802AC098.s create mode 100644 data/data_121DA0_2_3.s diff --git a/asm/non_matchings/code_802B0210/func_802B02B4.s b/asm/non_matchings/code_802B0210/func_802B02B4.s deleted file mode 100644 index a7a23c1e0..000000000 --- a/asm/non_matchings/code_802B0210/func_802B02B4.s +++ /dev/null @@ -1,68 +0,0 @@ -glabel func_802B02B4 -/* 1198C4 802B02B4 848E0004 */ lh $t6, 4($a0) -/* 1198C8 802B02B8 3C188016 */ lui $t8, %hi(gActorList) # $t8, 0x8016 -/* 1198CC 802B02BC 2718F9B8 */ addiu $t8, %lo(gActorList) # addiu $t8, $t8, -0x648 -/* 1198D0 802B02C0 000E78C0 */ sll $t7, $t6, 3 -/* 1198D4 802B02C4 01EE7823 */ subu $t7, $t7, $t6 -/* 1198D8 802B02C8 000F7900 */ sll $t7, $t7, 4 -/* 1198DC 802B02CC 01F81021 */ addu $v0, $t7, $t8 -/* 1198E0 802B02D0 84590004 */ lh $t9, 4($v0) -/* 1198E4 802B02D4 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -/* 1198E8 802B02D8 240C8000 */ li $t4, -32768 -/* 1198EC 802B02DC 2728FFFF */ addiu $t0, $t9, -1 -/* 1198F0 802B02E0 A4480004 */ sh $t0, 4($v0) -/* 1198F4 802B02E4 C4840008 */ lwc1 $f4, 8($a0) -/* 1198F8 802B02E8 240D003C */ li $t5, 60 -/* 1198FC 802B02EC 240E0005 */ li $t6, 5 -/* 119900 802B02F0 4600218D */ trunc.w.s $f6, $f4 -/* 119904 802B02F4 44033000 */ mfc1 $v1, $f6 -/* 119908 802B02F8 00000000 */ nop -/* 11990C 802B02FC 00035400 */ sll $t2, $v1, 0x10 -/* 119910 802B0300 000A5C03 */ sra $t3, $t2, 0x10 -/* 119914 802B0304 51600009 */ beql $t3, $zero, .L802B032C -/* 119918 802B0308 44814000 */ mtc1 $at, $f8 -/* 11991C 802B030C 24010001 */ li $at, 1 -/* 119920 802B0310 11610008 */ beq $t3, $at, .L802B0334 -/* 119924 802B0314 24010002 */ li $at, 2 -/* 119928 802B0318 5161000B */ beql $t3, $at, .L802B0348 -/* 11992C 802B031C 3C01BF80 */ lui $at, 0xbf80 -/* 119930 802B0320 1000000D */ b .L802B0358 -/* 119934 802B0324 3C014040 */ li $at, 0x40400000 # 3.000000 -/* 119938 802B0328 44814000 */ mtc1 $at, $f8 -.L802B032C: -/* 11993C 802B032C 10000009 */ b .L802B0354 -/* 119940 802B0330 E4480024 */ swc1 $f8, 0x24($v0) -.L802B0334: -/* 119944 802B0334 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -/* 119948 802B0338 44815000 */ mtc1 $at, $f10 -/* 11994C 802B033C 10000005 */ b .L802B0354 -/* 119950 802B0340 E44A0028 */ swc1 $f10, 0x28($v0) -/* 119954 802B0344 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -.L802B0348: -/* 119958 802B0348 44818000 */ mtc1 $at, $f16 -/* 11995C 802B034C 00000000 */ nop -/* 119960 802B0350 E450002C */ swc1 $f16, 0x2c($v0) -.L802B0354: -/* 119964 802B0354 3C014040 */ li $at, 0x40400000 # 3.000000 -.L802B0358: -/* 119968 802B0358 44819000 */ mtc1 $at, $f18 -/* 11996C 802B035C 24020007 */ li $v0, 7 -/* 119970 802B0360 A48C0002 */ sh $t4, 2($a0) -/* 119974 802B0364 A4800012 */ sh $zero, 0x12($a0) -/* 119978 802B0368 A48D0004 */ sh $t5, 4($a0) -/* 11997C 802B036C 10A20006 */ beq $a1, $v0, .L802B0388 -/* 119980 802B0370 E4920028 */ swc1 $f18, 0x28($a0) -/* 119984 802B0374 24010008 */ li $at, 8 -/* 119988 802B0378 50A10006 */ beql $a1, $at, .L802B0394 -/* 11998C 802B037C A4820006 */ sh $v0, 6($a0) -/* 119990 802B0380 03E00008 */ jr $ra -/* 119994 802B0384 00000000 */ nop - -.L802B0388: -/* 119998 802B0388 03E00008 */ jr $ra -/* 11999C 802B038C A48E0006 */ sh $t6, 6($a0) - -/* 1199A0 802B0390 A4820006 */ sh $v0, 6($a0) -.L802B0394: -/* 1199A4 802B0394 03E00008 */ jr $ra -/* 1199A8 802B0398 00000000 */ nop diff --git a/asm/non_matchings/code_802B0210/func_802B039C.s b/asm/non_matchings/code_802B0210/func_802B039C.s deleted file mode 100644 index cc3146a3d..000000000 --- a/asm/non_matchings/code_802B0210/func_802B039C.s +++ /dev/null @@ -1,52 +0,0 @@ -glabel func_802B039C -/* 1199AC 802B039C 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 1199B0 802B03A0 AFB00018 */ sw $s0, 0x18($sp) -/* 1199B4 802B03A4 AFBF001C */ sw $ra, 0x1c($sp) -/* 1199B8 802B03A8 240E0001 */ li $t6, 1 -/* 1199BC 802B03AC 240F00B4 */ li $t7, 180 -/* 1199C0 802B03B0 00808025 */ move $s0, $a0 -/* 1199C4 802B03B4 A48E0006 */ sh $t6, 6($a0) -/* 1199C8 802B03B8 A48F0004 */ sh $t7, 4($a0) -/* 1199CC 802B03BC 0C0ADF8D */ jal random_int -/* 1199D0 802B03C0 240400C8 */ li $a0, 200 -/* 1199D4 802B03C4 2458FF9C */ addiu $t8, $v0, -0x64 -/* 1199D8 802B03C8 44982000 */ mtc1 $t8, $f4 -/* 1199DC 802B03CC 3C01802C */ lui $at, %hi(D_802B9E80) -/* 1199E0 802B03D0 D42A9E80 */ ldc1 $f10, %lo(D_802B9E80)($at) -/* 1199E4 802B03D4 468021A0 */ cvt.s.w $f6, $f4 -/* 1199E8 802B03D8 240400C8 */ li $a0, 200 -/* 1199EC 802B03DC 46003221 */ cvt.d.s $f8, $f6 -/* 1199F0 802B03E0 462A4402 */ mul.d $f16, $f8, $f10 -/* 1199F4 802B03E4 462084A0 */ cvt.s.d $f18, $f16 -/* 1199F8 802B03E8 0C0ADF8D */ jal random_int -/* 1199FC 802B03EC E6120024 */ swc1 $f18, 0x24($s0) -/* 119A00 802B03F0 44822000 */ mtc1 $v0, $f4 -/* 119A04 802B03F4 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 119A08 802B03F8 04410004 */ bgez $v0, .L802B040C -/* 119A0C 802B03FC 468021A0 */ cvt.s.w $f6, $f4 -/* 119A10 802B0400 44814000 */ mtc1 $at, $f8 -/* 119A14 802B0404 00000000 */ nop -/* 119A18 802B0408 46083180 */ add.s $f6, $f6, $f8 -.L802B040C: -/* 119A1C 802B040C 3C01802C */ lui $at, %hi(D_802B9E88) -/* 119A20 802B0410 D4309E88 */ ldc1 $f16, %lo(D_802B9E88)($at) -/* 119A24 802B0414 460032A1 */ cvt.d.s $f10, $f6 -/* 119A28 802B0418 240400C8 */ li $a0, 200 -/* 119A2C 802B041C 46305482 */ mul.d $f18, $f10, $f16 -/* 119A30 802B0420 46209120 */ cvt.s.d $f4, $f18 -/* 119A34 802B0424 0C0ADF8D */ jal random_int -/* 119A38 802B0428 E6040028 */ swc1 $f4, 0x28($s0) -/* 119A3C 802B042C 2459FF9C */ addiu $t9, $v0, -0x64 -/* 119A40 802B0430 44994000 */ mtc1 $t9, $f8 -/* 119A44 802B0434 3C01802C */ lui $at, %hi(D_802B9E90) -/* 119A48 802B0438 D4309E90 */ ldc1 $f16, %lo(D_802B9E90)($at) -/* 119A4C 802B043C 468041A0 */ cvt.s.w $f6, $f8 -/* 119A50 802B0440 460032A1 */ cvt.d.s $f10, $f6 -/* 119A54 802B0444 46305482 */ mul.d $f18, $f10, $f16 -/* 119A58 802B0448 46209120 */ cvt.s.d $f4, $f18 -/* 119A5C 802B044C E604002C */ swc1 $f4, 0x2c($s0) -/* 119A60 802B0450 8FBF001C */ lw $ra, 0x1c($sp) -/* 119A64 802B0454 8FB00018 */ lw $s0, 0x18($sp) -/* 119A68 802B0458 27BD0020 */ addiu $sp, $sp, 0x20 -/* 119A6C 802B045C 03E00008 */ jr $ra -/* 119A70 802B0460 00000000 */ nop diff --git a/asm/non_matchings/code_802B0210/func_802B0464.s b/asm/non_matchings/code_802B0210/func_802B0464.s deleted file mode 100644 index 23969bdce..000000000 --- a/asm/non_matchings/code_802B0210/func_802B0464.s +++ /dev/null @@ -1,36 +0,0 @@ -glabel func_802B0464 -/* 119A74 802B0464 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 119A78 802B0468 AFB00018 */ sw $s0, 0x18($sp) -/* 119A7C 802B046C 00048400 */ sll $s0, $a0, 0x10 -/* 119A80 802B0470 AFB30024 */ sw $s3, 0x24($sp) -/* 119A84 802B0474 3C138016 */ lui $s3, %hi(gActorList) # $s3, 0x8016 -/* 119A88 802B0478 00107403 */ sra $t6, $s0, 0x10 -/* 119A8C 802B047C AFB40028 */ sw $s4, 0x28($sp) -/* 119A90 802B0480 AFB20020 */ sw $s2, 0x20($sp) -/* 119A94 802B0484 2412FFFF */ li $s2, -1 -/* 119A98 802B0488 24140070 */ li $s4, 112 -/* 119A9C 802B048C 01C08025 */ move $s0, $t6 -/* 119AA0 802B0490 2673F9B8 */ addiu $s3, %lo(gActorList) # addiu $s3, $s3, -0x648 -/* 119AA4 802B0494 AFBF002C */ sw $ra, 0x2c($sp) -/* 119AA8 802B0498 AFB1001C */ sw $s1, 0x1c($sp) -/* 119AAC 802B049C AFA40030 */ sw $a0, 0x30($sp) -/* 119AB0 802B04A0 5212000A */ beql $s0, $s2, .L802B04CC -/* 119AB4 802B04A4 8FBF002C */ lw $ra, 0x2c($sp) -.L802B04A8: -/* 119AB8 802B04A8 02140019 */ multu $s0, $s4 -/* 119ABC 802B04AC 00007812 */ mflo $t7 -/* 119AC0 802B04B0 026F2021 */ addu $a0, $s3, $t7 -/* 119AC4 802B04B4 0C0AC0E7 */ jal func_802B039C -/* 119AC8 802B04B8 00808825 */ move $s1, $a0 -/* 119ACC 802B04BC 86300014 */ lh $s0, 0x14($s1) -/* 119AD0 802B04C0 1612FFF9 */ bne $s0, $s2, .L802B04A8 -/* 119AD4 802B04C4 00000000 */ nop -/* 119AD8 802B04C8 8FBF002C */ lw $ra, 0x2c($sp) -.L802B04CC: -/* 119ADC 802B04CC 8FB00018 */ lw $s0, 0x18($sp) -/* 119AE0 802B04D0 8FB1001C */ lw $s1, 0x1c($sp) -/* 119AE4 802B04D4 8FB20020 */ lw $s2, 0x20($sp) -/* 119AE8 802B04D8 8FB30024 */ lw $s3, 0x24($sp) -/* 119AEC 802B04DC 8FB40028 */ lw $s4, 0x28($sp) -/* 119AF0 802B04E0 03E00008 */ jr $ra -/* 119AF4 802B04E4 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/non_matchings/code_802B0210/func_802B04E8.s b/asm/non_matchings/code_802B0210/func_802B04E8.s deleted file mode 100644 index 5a2c7d94c..000000000 --- a/asm/non_matchings/code_802B0210/func_802B04E8.s +++ /dev/null @@ -1,37 +0,0 @@ -glabel func_802B04E8 -/* 119AF8 802B04E8 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 119AFC 802B04EC AFB00018 */ sw $s0, 0x18($sp) -/* 119B00 802B04F0 00058400 */ sll $s0, $a1, 0x10 -/* 119B04 802B04F4 AFB30024 */ sw $s3, 0x24($sp) -/* 119B08 802B04F8 3C138016 */ lui $s3, %hi(gActorList) # $s3, 0x8016 -/* 119B0C 802B04FC 00107403 */ sra $t6, $s0, 0x10 -/* 119B10 802B0500 AFB40028 */ sw $s4, 0x28($sp) -/* 119B14 802B0504 AFB20020 */ sw $s2, 0x20($sp) -/* 119B18 802B0508 2412FFFF */ li $s2, -1 -/* 119B1C 802B050C 24140070 */ li $s4, 112 -/* 119B20 802B0510 01C08025 */ move $s0, $t6 -/* 119B24 802B0514 2673F9B8 */ addiu $s3, %lo(gActorList) # addiu $s3, $s3, -0x648 -/* 119B28 802B0518 AFBF002C */ sw $ra, 0x2c($sp) -/* 119B2C 802B051C AFB1001C */ sw $s1, 0x1c($sp) -/* 119B30 802B0520 AFA40030 */ sw $a0, 0x30($sp) -/* 119B34 802B0524 AFA50034 */ sw $a1, 0x34($sp) -/* 119B38 802B0528 5212000A */ beql $s0, $s2, .L802B0554 -/* 119B3C 802B052C 8FBF002C */ lw $ra, 0x2c($sp) -.L802B0530: -/* 119B40 802B0530 02140019 */ multu $s0, $s4 -/* 119B44 802B0534 00007812 */ mflo $t7 -/* 119B48 802B0538 026F2021 */ addu $a0, $s3, $t7 -/* 119B4C 802B053C 0C0AC0E7 */ jal func_802B039C -/* 119B50 802B0540 00808825 */ move $s1, $a0 -/* 119B54 802B0544 86300012 */ lh $s0, 0x12($s1) -/* 119B58 802B0548 1612FFF9 */ bne $s0, $s2, .L802B0530 -/* 119B5C 802B054C 00000000 */ nop -/* 119B60 802B0550 8FBF002C */ lw $ra, 0x2c($sp) -.L802B0554: -/* 119B64 802B0554 8FB00018 */ lw $s0, 0x18($sp) -/* 119B68 802B0558 8FB1001C */ lw $s1, 0x1c($sp) -/* 119B6C 802B055C 8FB20020 */ lw $s2, 0x20($sp) -/* 119B70 802B0560 8FB30024 */ lw $s3, 0x24($sp) -/* 119B74 802B0564 8FB40028 */ lw $s4, 0x28($sp) -/* 119B78 802B0568 03E00008 */ jr $ra -/* 119B7C 802B056C 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/non_matchings/code_802B0210/func_802B0648.s b/asm/non_matchings/code_802B0210/func_802B0648.s deleted file mode 100644 index f934ba642..000000000 --- a/asm/non_matchings/code_802B0210/func_802B0648.s +++ /dev/null @@ -1,87 +0,0 @@ -glabel func_802B0648 -/* 119C58 802B0648 848E001C */ lh $t6, 0x1c($a0) -/* 119C5C 802B064C 8482001A */ lh $v0, 0x1a($a0) -/* 119C60 802B0650 2405FFFF */ li $a1, -1 -/* 119C64 802B0654 25CFFFFF */ addiu $t7, $t6, -1 -/* 119C68 802B0658 10A2000A */ beq $a1, $v0, .L802B0684 -/* 119C6C 802B065C A48F001C */ sh $t7, 0x1c($a0) -/* 119C70 802B0660 24070070 */ li $a3, 112 -/* 119C74 802B0664 00470019 */ multu $v0, $a3 -/* 119C78 802B0668 3C068016 */ lui $a2, %hi(gActorList) # $a2, 0x8016 -/* 119C7C 802B066C 24C6F9B8 */ addiu $a2, %lo(gActorList) # addiu $a2, $a2, -0x648 -/* 119C80 802B0670 A485001A */ sh $a1, 0x1a($a0) -/* 119C84 802B0674 0000C012 */ mflo $t8 -/* 119C88 802B0678 00D81821 */ addu $v1, $a2, $t8 -/* 119C8C 802B067C 10000031 */ b .L802B0744 -/* 119C90 802B0680 44800000 */ mtc1 $zero, $f0 -.L802B0684: -/* 119C94 802B0684 84820018 */ lh $v0, 0x18($a0) -/* 119C98 802B0688 24070070 */ li $a3, 112 -/* 119C9C 802B068C 50A2000A */ beql $a1, $v0, .L802B06B8 -/* 119CA0 802B0690 84820016 */ lh $v0, 0x16($a0) -/* 119CA4 802B0694 00470019 */ multu $v0, $a3 -/* 119CA8 802B0698 3C068016 */ lui $a2, %hi(gActorList) # $a2, 0x8016 -/* 119CAC 802B069C 24C6F9B8 */ addiu $a2, %lo(gActorList) # addiu $a2, $a2, -0x648 -/* 119CB0 802B06A0 A4850018 */ sh $a1, 0x18($a0) -/* 119CB4 802B06A4 0000C812 */ mflo $t9 -/* 119CB8 802B06A8 00D91821 */ addu $v1, $a2, $t9 -/* 119CBC 802B06AC 10000025 */ b .L802B0744 -/* 119CC0 802B06B0 44800000 */ mtc1 $zero, $f0 -/* 119CC4 802B06B4 84820016 */ lh $v0, 0x16($a0) -.L802B06B8: -/* 119CC8 802B06B8 24070070 */ li $a3, 112 -/* 119CCC 802B06BC 50A2000A */ beql $a1, $v0, .L802B06E8 -/* 119CD0 802B06C0 84820014 */ lh $v0, 0x14($a0) -/* 119CD4 802B06C4 00470019 */ multu $v0, $a3 -/* 119CD8 802B06C8 3C068016 */ lui $a2, %hi(gActorList) # $a2, 0x8016 -/* 119CDC 802B06CC 24C6F9B8 */ addiu $a2, %lo(gActorList) # addiu $a2, $a2, -0x648 -/* 119CE0 802B06D0 A4850016 */ sh $a1, 0x16($a0) -/* 119CE4 802B06D4 00004012 */ mflo $t0 -/* 119CE8 802B06D8 00C81821 */ addu $v1, $a2, $t0 -/* 119CEC 802B06DC 10000019 */ b .L802B0744 -/* 119CF0 802B06E0 44800000 */ mtc1 $zero, $f0 -/* 119CF4 802B06E4 84820014 */ lh $v0, 0x14($a0) -.L802B06E8: -/* 119CF8 802B06E8 24070070 */ li $a3, 112 -/* 119CFC 802B06EC 50A2000A */ beql $a1, $v0, .L802B0718 -/* 119D00 802B06F0 84820012 */ lh $v0, 0x12($a0) -/* 119D04 802B06F4 00470019 */ multu $v0, $a3 -/* 119D08 802B06F8 3C068016 */ lui $a2, %hi(gActorList) # $a2, 0x8016 -/* 119D0C 802B06FC 24C6F9B8 */ addiu $a2, %lo(gActorList) # addiu $a2, $a2, -0x648 -/* 119D10 802B0700 A4850014 */ sh $a1, 0x14($a0) -/* 119D14 802B0704 00004812 */ mflo $t1 -/* 119D18 802B0708 00C91821 */ addu $v1, $a2, $t1 -/* 119D1C 802B070C 1000000D */ b .L802B0744 -/* 119D20 802B0710 44800000 */ mtc1 $zero, $f0 -/* 119D24 802B0714 84820012 */ lh $v0, 0x12($a0) -.L802B0718: -/* 119D28 802B0718 24070070 */ li $a3, 112 -/* 119D2C 802B071C 10A20018 */ beq $a1, $v0, .L802B0780 -/* 119D30 802B0720 00000000 */ nop -/* 119D34 802B0724 00470019 */ multu $v0, $a3 -/* 119D38 802B0728 3C068016 */ lui $a2, %hi(gActorList) # $a2, 0x8016 -/* 119D3C 802B072C 24C6F9B8 */ addiu $a2, %lo(gActorList) # addiu $a2, $a2, -0x648 -/* 119D40 802B0730 A4850012 */ sh $a1, 0x12($a0) -/* 119D44 802B0734 00005012 */ mflo $t2 -/* 119D48 802B0738 00CA1821 */ addu $v1, $a2, $t2 -/* 119D4C 802B073C 00000000 */ nop -/* 119D50 802B0740 44800000 */ mtc1 $zero, $f0 -.L802B0744: -/* 119D54 802B0744 84620012 */ lh $v0, 0x12($v1) -/* 119D58 802B0748 3C013FC0 */ li $at, 0x3FC00000 # 1.500000 -/* 119D5C 802B074C 44812000 */ mtc1 $at, $f4 -/* 119D60 802B0750 240B0001 */ li $t3, 1 -/* 119D64 802B0754 240C00B4 */ li $t4, 180 -/* 119D68 802B0758 A46B0006 */ sh $t3, 6($v1) -/* 119D6C 802B075C A46C0004 */ sh $t4, 4($v1) -/* 119D70 802B0760 E4600024 */ swc1 $f0, 0x24($v1) -/* 119D74 802B0764 E460002C */ swc1 $f0, 0x2c($v1) -/* 119D78 802B0768 10450005 */ beq $v0, $a1, .L802B0780 -/* 119D7C 802B076C E4640028 */ swc1 $f4, 0x28($v1) -/* 119D80 802B0770 00470019 */ multu $v0, $a3 -/* 119D84 802B0774 00006812 */ mflo $t5 -/* 119D88 802B0778 00CD7021 */ addu $t6, $a2, $t5 -/* 119D8C 802B077C A5C50014 */ sh $a1, 0x14($t6) -.L802B0780: -/* 119D90 802B0780 03E00008 */ jr $ra -/* 119D94 802B0784 00000000 */ nop diff --git a/asm/non_matchings/code_802B0210/func_802B0788.s b/asm/non_matchings/code_802B0210/func_802B0788.s deleted file mode 100644 index aa400aefa..000000000 --- a/asm/non_matchings/code_802B0210/func_802B0788.s +++ /dev/null @@ -1,152 +0,0 @@ -glabel func_802B0788 -/* 119D98 802B0788 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 119D9C 802B078C AFBF0014 */ sw $ra, 0x14($sp) -/* 119DA0 802B0790 AFA40040 */ sw $a0, 0x40($sp) -/* 119DA4 802B0794 AFA60048 */ sw $a2, 0x48($sp) -/* 119DA8 802B0798 84AE001C */ lh $t6, 0x1c($a1) -/* 119DAC 802B079C 84A7001A */ lh $a3, 0x1a($a1) -/* 119DB0 802B07A0 2403FFFF */ li $v1, -1 -/* 119DB4 802B07A4 25CFFFFF */ addiu $t7, $t6, -1 -/* 119DB8 802B07A8 1067000A */ beq $v1, $a3, .L802B07D4 -/* 119DBC 802B07AC A4AF001C */ sh $t7, 0x1c($a1) -/* 119DC0 802B07B0 24080070 */ li $t0, 112 -/* 119DC4 802B07B4 00E80019 */ multu $a3, $t0 -/* 119DC8 802B07B8 3C068016 */ lui $a2, %hi(gActorList) # $a2, 0x8016 -/* 119DCC 802B07BC 24C6F9B8 */ addiu $a2, %lo(gActorList) # addiu $a2, $a2, -0x648 -/* 119DD0 802B07C0 A4A3001A */ sh $v1, 0x1a($a1) -/* 119DD4 802B07C4 0000C012 */ mflo $t8 -/* 119DD8 802B07C8 00D81021 */ addu $v0, $a2, $t8 -/* 119DDC 802B07CC 10000031 */ b .L802B0894 -/* 119DE0 802B07D0 84450012 */ lh $a1, 0x12($v0) -.L802B07D4: -/* 119DE4 802B07D4 84A40018 */ lh $a0, 0x18($a1) -/* 119DE8 802B07D8 24080070 */ li $t0, 112 -/* 119DEC 802B07DC 5064000A */ beql $v1, $a0, .L802B0808 -/* 119DF0 802B07E0 84A40016 */ lh $a0, 0x16($a1) -/* 119DF4 802B07E4 00880019 */ multu $a0, $t0 -/* 119DF8 802B07E8 3C068016 */ lui $a2, %hi(gActorList) # $a2, 0x8016 -/* 119DFC 802B07EC 24C6F9B8 */ addiu $a2, %lo(gActorList) # addiu $a2, $a2, -0x648 -/* 119E00 802B07F0 A4A30018 */ sh $v1, 0x18($a1) -/* 119E04 802B07F4 0000C812 */ mflo $t9 -/* 119E08 802B07F8 00D91021 */ addu $v0, $a2, $t9 -/* 119E0C 802B07FC 10000025 */ b .L802B0894 -/* 119E10 802B0800 84450012 */ lh $a1, 0x12($v0) -/* 119E14 802B0804 84A40016 */ lh $a0, 0x16($a1) -.L802B0808: -/* 119E18 802B0808 24080070 */ li $t0, 112 -/* 119E1C 802B080C 5064000A */ beql $v1, $a0, .L802B0838 -/* 119E20 802B0810 84A40014 */ lh $a0, 0x14($a1) -/* 119E24 802B0814 00880019 */ multu $a0, $t0 -/* 119E28 802B0818 3C068016 */ lui $a2, %hi(gActorList) # $a2, 0x8016 -/* 119E2C 802B081C 24C6F9B8 */ addiu $a2, %lo(gActorList) # addiu $a2, $a2, -0x648 -/* 119E30 802B0820 A4A30016 */ sh $v1, 0x16($a1) -/* 119E34 802B0824 00004812 */ mflo $t1 -/* 119E38 802B0828 00C91021 */ addu $v0, $a2, $t1 -/* 119E3C 802B082C 10000019 */ b .L802B0894 -/* 119E40 802B0830 84450012 */ lh $a1, 0x12($v0) -/* 119E44 802B0834 84A40014 */ lh $a0, 0x14($a1) -.L802B0838: -/* 119E48 802B0838 24080070 */ li $t0, 112 -/* 119E4C 802B083C 5064000A */ beql $v1, $a0, .L802B0868 -/* 119E50 802B0840 84A40012 */ lh $a0, 0x12($a1) -/* 119E54 802B0844 00880019 */ multu $a0, $t0 -/* 119E58 802B0848 3C068016 */ lui $a2, %hi(gActorList) # $a2, 0x8016 -/* 119E5C 802B084C 24C6F9B8 */ addiu $a2, %lo(gActorList) # addiu $a2, $a2, -0x648 -/* 119E60 802B0850 A4A30014 */ sh $v1, 0x14($a1) -/* 119E64 802B0854 00005012 */ mflo $t2 -/* 119E68 802B0858 00CA1021 */ addu $v0, $a2, $t2 -/* 119E6C 802B085C 1000000D */ b .L802B0894 -/* 119E70 802B0860 84450012 */ lh $a1, 0x12($v0) -/* 119E74 802B0864 84A40012 */ lh $a0, 0x12($a1) -.L802B0868: -/* 119E78 802B0868 24080070 */ li $t0, 112 -/* 119E7C 802B086C 50640051 */ beql $v1, $a0, .L802B09B4 -/* 119E80 802B0870 8FBF0014 */ lw $ra, 0x14($sp) -/* 119E84 802B0874 00880019 */ multu $a0, $t0 -/* 119E88 802B0878 3C068016 */ lui $a2, %hi(gActorList) # $a2, 0x8016 -/* 119E8C 802B087C 24C6F9B8 */ addiu $a2, %lo(gActorList) # addiu $a2, $a2, -0x648 -/* 119E90 802B0880 A4A30012 */ sh $v1, 0x12($a1) -/* 119E94 802B0884 00005812 */ mflo $t3 -/* 119E98 802B0888 00CB1021 */ addu $v0, $a2, $t3 -/* 119E9C 802B088C 00000000 */ nop -/* 119EA0 802B0890 84450012 */ lh $a1, 0x12($v0) -.L802B0894: -/* 119EA4 802B0894 240C0001 */ li $t4, 1 -/* 119EA8 802B0898 240D001E */ li $t5, 30 -/* 119EAC 802B089C A44C0006 */ sh $t4, 6($v0) -/* 119EB0 802B08A0 10650005 */ beq $v1, $a1, .L802B08B8 -/* 119EB4 802B08A4 A44D0004 */ sh $t5, 4($v0) -/* 119EB8 802B08A8 00A80019 */ multu $a1, $t0 -/* 119EBC 802B08AC 00007012 */ mflo $t6 -/* 119EC0 802B08B0 00CE2021 */ addu $a0, $a2, $t6 -/* 119EC4 802B08B4 A4830014 */ sh $v1, 0x14($a0) -.L802B08B8: -/* 119EC8 802B08B8 8FAF0048 */ lw $t7, 0x48($sp) -/* 119ECC 802B08BC 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 119ED0 802B08C0 44812000 */ mtc1 $at, $f4 -/* 119ED4 802B08C4 C5E20094 */ lwc1 $f2, 0x94($t7) -/* 119ED8 802B08C8 87B80042 */ lh $t8, 0x42($sp) -/* 119EDC 802B08CC 87B90042 */ lh $t9, 0x42($sp) -/* 119EE0 802B08D0 4604103C */ c.lt.s $f2, $f4 -/* 119EE4 802B08D4 27A40034 */ addiu $a0, $sp, 0x34 -/* 119EE8 802B08D8 24050000 */ li $a1, 0 -/* 119EEC 802B08DC 45020010 */ bc1fl .L802B0920 -/* 119EF0 802B08E0 44994000 */ mtc1 $t9, $f8 -/* 119EF4 802B08E4 44983000 */ mtc1 $t8, $f6 -/* 119EF8 802B08E8 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 119EFC 802B08EC 44816000 */ mtc1 $at, $f12 -/* 119F00 802B08F0 46803220 */ cvt.s.w $f8, $f6 -/* 119F04 802B08F4 3C0141F0 */ li $at, 0x41F00000 # 30.000000 -/* 119F08 802B08F8 44815000 */ mtc1 $at, $f10 -/* 119F0C 802B08FC 3C0141A0 */ li $at, 0x41A00000 # 20.000000 -/* 119F10 802B0900 44819000 */ mtc1 $at, $f18 -/* 119F14 802B0904 3C013FC0 */ li $at, 0x3FC00000 # 1.500000 -/* 119F18 802B0908 460A4401 */ sub.s $f16, $f8, $f10 -/* 119F1C 802B090C 44813000 */ mtc1 $at, $f6 -/* 119F20 802B0910 46128103 */ div.s $f4, $f16, $f18 -/* 119F24 802B0914 10000013 */ b .L802B0964 -/* 119F28 802B0918 46062000 */ add.s $f0, $f4, $f6 -/* 119F2C 802B091C 44994000 */ mtc1 $t9, $f8 -.L802B0920: -/* 119F30 802B0920 3C0141F0 */ li $at, 0x41F00000 # 30.000000 -/* 119F34 802B0924 44818000 */ mtc1 $at, $f16 -/* 119F38 802B0928 468042A0 */ cvt.s.w $f10, $f8 -/* 119F3C 802B092C 3C0141A0 */ li $at, 0x41A00000 # 20.000000 -/* 119F40 802B0930 44812000 */ mtc1 $at, $f4 -/* 119F44 802B0934 3C013FC0 */ li $at, 0x3FC00000 # 1.500000 -/* 119F48 802B0938 44814000 */ mtc1 $at, $f8 -/* 119F4C 802B093C 3C013F40 */ li $at, 0x3F400000 # 0.750000 -/* 119F50 802B0940 46105481 */ sub.s $f18, $f10, $f16 -/* 119F54 802B0944 44815000 */ mtc1 $at, $f10 -/* 119F58 802B0948 3C014090 */ li $at, 0x40900000 # 4.500000 -/* 119F5C 802B094C 46049183 */ div.s $f6, $f18, $f4 -/* 119F60 802B0950 44819000 */ mtc1 $at, $f18 -/* 119F64 802B0954 460A1402 */ mul.s $f16, $f2, $f10 -/* 119F68 802B0958 46128100 */ add.s $f4, $f16, $f18 -/* 119F6C 802B095C 46083000 */ add.s $f0, $f6, $f8 -/* 119F70 802B0960 46002300 */ add.s $f12, $f4, $f0 -.L802B0964: -/* 119F74 802B0964 44060000 */ mfc1 $a2, $f0 -/* 119F78 802B0968 44076000 */ mfc1 $a3, $f12 -/* 119F7C 802B096C 0C0AD4A7 */ jal vec3f_set -/* 119F80 802B0970 AFA20030 */ sw $v0, 0x30($sp) -/* 119F84 802B0974 8FA30048 */ lw $v1, 0x48($sp) -/* 119F88 802B0978 27A40034 */ addiu $a0, $sp, 0x34 -/* 119F8C 802B097C 8469002E */ lh $t1, 0x2e($v1) -/* 119F90 802B0980 846A00C0 */ lh $t2, 0xc0($v1) -/* 119F94 802B0984 012A2821 */ addu $a1, $t1, $t2 -/* 119F98 802B0988 00055C00 */ sll $t3, $a1, 0x10 -/* 119F9C 802B098C 0C0AD931 */ jal func_802B64C4 -/* 119FA0 802B0990 000B2C03 */ sra $a1, $t3, 0x10 -/* 119FA4 802B0994 8FA20030 */ lw $v0, 0x30($sp) -/* 119FA8 802B0998 C7A60034 */ lwc1 $f6, 0x34($sp) -/* 119FAC 802B099C E4460024 */ swc1 $f6, 0x24($v0) -/* 119FB0 802B09A0 C7A80038 */ lwc1 $f8, 0x38($sp) -/* 119FB4 802B09A4 E4480028 */ swc1 $f8, 0x28($v0) -/* 119FB8 802B09A8 C7AA003C */ lwc1 $f10, 0x3c($sp) -/* 119FBC 802B09AC E44A002C */ swc1 $f10, 0x2c($v0) -/* 119FC0 802B09B0 8FBF0014 */ lw $ra, 0x14($sp) -.L802B09B4: -/* 119FC4 802B09B4 27BD0040 */ addiu $sp, $sp, 0x40 -/* 119FC8 802B09B8 03E00008 */ jr $ra -/* 119FCC 802B09BC 00000000 */ nop diff --git a/asm/non_matchings/code_802B0210/func_802B17F4.s b/asm/non_matchings/code_802B0210/func_802B17F4.s deleted file mode 100644 index ffd3a73b7..000000000 --- a/asm/non_matchings/code_802B0210/func_802B17F4.s +++ /dev/null @@ -1,63 +0,0 @@ -glabel func_802B17F4 -/* 11AE04 802B17F4 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 11AE08 802B17F8 3C0E802C */ lui $t6, %hi(D_802B9140) # $t6, 0x802c -/* 11AE0C 802B17FC AFBF0014 */ sw $ra, 0x14($sp) -/* 11AE10 802B1800 AFA40040 */ sw $a0, 0x40($sp) -/* 11AE14 802B1804 25CE9140 */ addiu $t6, %lo(D_802B9140) # addiu $t6, $t6, -0x6ec0 -/* 11AE18 802B1808 8DC10000 */ lw $at, ($t6) -/* 11AE1C 802B180C 27A60034 */ addiu $a2, $sp, 0x34 -/* 11AE20 802B1810 3C08802C */ lui $t0, %hi(D_802B914C) # $t0, 0x802c -/* 11AE24 802B1814 ACC10000 */ sw $at, ($a2) -/* 11AE28 802B1818 8DD90004 */ lw $t9, 4($t6) -/* 11AE2C 802B181C 2508914C */ addiu $t0, %lo(D_802B914C) # addiu $t0, $t0, -0x6eb4 -/* 11AE30 802B1820 27A5002C */ addiu $a1, $sp, 0x2c -/* 11AE34 802B1824 ACD90004 */ sw $t9, 4($a2) -/* 11AE38 802B1828 8DC10008 */ lw $at, 8($t6) -/* 11AE3C 802B182C 3C0C802C */ lui $t4, %hi(D_802B9154) # $t4, 0x802c -/* 11AE40 802B1830 258C9154 */ addiu $t4, %lo(D_802B9154) # addiu $t4, $t4, -0x6eac -/* 11AE44 802B1834 ACC10008 */ sw $at, 8($a2) -/* 11AE48 802B1838 8D010000 */ lw $at, ($t0) -/* 11AE4C 802B183C 27A40020 */ addiu $a0, $sp, 0x20 -/* 11AE50 802B1840 2407000E */ li $a3, 14 -/* 11AE54 802B1844 ACA10000 */ sw $at, ($a1) -/* 11AE58 802B1848 95010004 */ lhu $at, 4($t0) -/* 11AE5C 802B184C A4A10004 */ sh $at, 4($a1) -/* 11AE60 802B1850 8D810000 */ lw $at, ($t4) -/* 11AE64 802B1854 AC810000 */ sw $at, ($a0) -/* 11AE68 802B1858 8D8F0004 */ lw $t7, 4($t4) -/* 11AE6C 802B185C AC8F0004 */ sw $t7, 4($a0) -/* 11AE70 802B1860 8D810008 */ lw $at, 8($t4) -/* 11AE74 802B1864 0C0A7B22 */ jal func_8029EC88 -/* 11AE78 802B1868 AC810008 */ sw $at, 8($a0) -/* 11AE7C 802B186C 00022400 */ sll $a0, $v0, 0x10 -/* 11AE80 802B1870 00047403 */ sra $t6, $a0, 0x10 -/* 11AE84 802B1874 01C02025 */ move $a0, $t6 -/* 11AE88 802B1878 04410003 */ bgez $v0, .L802B1888 -/* 11AE8C 802B187C 8FA50040 */ lw $a1, 0x40($sp) -/* 11AE90 802B1880 10000014 */ b .L802B18D4 -/* 11AE94 802B1884 01C01025 */ move $v0, $t6 -.L802B1888: -/* 11AE98 802B1888 0004C8C0 */ sll $t9, $a0, 3 -/* 11AE9C 802B188C 0324C823 */ subu $t9, $t9, $a0 -/* 11AEA0 802B1890 3C0A8016 */ lui $t2, %hi(gActorList) # $t2, 0x8016 -/* 11AEA4 802B1894 254AF9B8 */ addiu $t2, %lo(gActorList) # addiu $t2, $t2, -0x648 -/* 11AEA8 802B1898 0019C900 */ sll $t9, $t9, 4 -/* 11AEAC 802B189C 032A1821 */ addu $v1, $t9, $t2 -/* 11AEB0 802B18A0 A4600006 */ sh $zero, 6($v1) -/* 11AEB4 802B18A4 3C09800E */ lui $t1, %hi(gPlayerOne) # $t1, 0x800e -/* 11AEB8 802B18A8 8D29C4DC */ lw $t1, %lo(gPlayerOne)($t1) -/* 11AEBC 802B18AC 24010DD8 */ li $at, 3544 -/* 11AEC0 802B18B0 00801025 */ move $v0, $a0 -/* 11AEC4 802B18B4 00A94023 */ subu $t0, $a1, $t1 -/* 11AEC8 802B18B8 0101001A */ div $zero, $t0, $at -/* 11AECC 802B18BC 00005812 */ mflo $t3 -/* 11AED0 802B18C0 A46B0010 */ sh $t3, 0x10($v1) -/* 11AED4 802B18C4 8CB8000C */ lw $t8, 0xc($a1) -/* 11AED8 802B18C8 3C010004 */ lui $at, 4 -/* 11AEDC 802B18CC 03016825 */ or $t5, $t8, $at -/* 11AEE0 802B18D0 ACAD000C */ sw $t5, 0xc($a1) -.L802B18D4: -/* 11AEE4 802B18D4 8FBF0014 */ lw $ra, 0x14($sp) -/* 11AEE8 802B18D8 27BD0040 */ addiu $sp, $sp, 0x40 -/* 11AEEC 802B18DC 03E00008 */ jr $ra -/* 11AEF0 802B18E0 00000000 */ nop diff --git a/asm/non_matchings/code_802B0210/func_802B18E4.s b/asm/non_matchings/code_802B0210/func_802B18E4.s deleted file mode 100644 index 385b00765..000000000 --- a/asm/non_matchings/code_802B0210/func_802B18E4.s +++ /dev/null @@ -1,69 +0,0 @@ -glabel func_802B18E4 -/* 11AEF4 802B18E4 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 11AEF8 802B18E8 3C0F802C */ lui $t7, %hi(D_802B9160) # $t7, 0x802c -/* 11AEFC 802B18EC AFBF0014 */ sw $ra, 0x14($sp) -/* 11AF00 802B18F0 AFA40040 */ sw $a0, 0x40($sp) -/* 11AF04 802B18F4 AFA50044 */ sw $a1, 0x44($sp) -/* 11AF08 802B18F8 25EF9160 */ addiu $t7, %lo(D_802B9160) # addiu $t7, $t7, -0x6ea0 -/* 11AF0C 802B18FC 8DE10000 */ lw $at, ($t7) -/* 11AF10 802B1900 27A60034 */ addiu $a2, $sp, 0x34 -/* 11AF14 802B1904 3C09802C */ lui $t1, %hi(D_802B916C) # $t1, 0x802c -/* 11AF18 802B1908 ACC10000 */ sw $at, ($a2) -/* 11AF1C 802B190C 8DE80004 */ lw $t0, 4($t7) -/* 11AF20 802B1910 2529916C */ addiu $t1, %lo(D_802B916C) # addiu $t1, $t1, -0x6e94 -/* 11AF24 802B1914 00053C00 */ sll $a3, $a1, 0x10 -/* 11AF28 802B1918 ACC80004 */ sw $t0, 4($a2) -/* 11AF2C 802B191C 8DE10008 */ lw $at, 8($t7) -/* 11AF30 802B1920 27A5002C */ addiu $a1, $sp, 0x2c -/* 11AF34 802B1924 3C0D802C */ lui $t5, %hi(D_802B9174) # $t5, 0x802c -/* 11AF38 802B1928 ACC10008 */ sw $at, 8($a2) -/* 11AF3C 802B192C 8D210000 */ lw $at, ($t1) -/* 11AF40 802B1930 25AD9174 */ addiu $t5, %lo(D_802B9174) # addiu $t5, $t5, -0x6e8c -/* 11AF44 802B1934 27A40020 */ addiu $a0, $sp, 0x20 -/* 11AF48 802B1938 ACA10000 */ sw $at, ($a1) -/* 11AF4C 802B193C 95210004 */ lhu $at, 4($t1) -/* 11AF50 802B1940 00077403 */ sra $t6, $a3, 0x10 -/* 11AF54 802B1944 01C03825 */ move $a3, $t6 -/* 11AF58 802B1948 A4A10004 */ sh $at, 4($a1) -/* 11AF5C 802B194C 8DA10000 */ lw $at, ($t5) -/* 11AF60 802B1950 AC810000 */ sw $at, ($a0) -/* 11AF64 802B1954 8DB80004 */ lw $t8, 4($t5) -/* 11AF68 802B1958 AC980004 */ sw $t8, 4($a0) -/* 11AF6C 802B195C 8DA10008 */ lw $at, 8($t5) -/* 11AF70 802B1960 0C0A7B22 */ jal func_8029EC88 -/* 11AF74 802B1964 AC810008 */ sw $at, 8($a0) -/* 11AF78 802B1968 00022400 */ sll $a0, $v0, 0x10 -/* 11AF7C 802B196C 00047C03 */ sra $t7, $a0, 0x10 -/* 11AF80 802B1970 04410003 */ bgez $v0, .L802B1980 -/* 11AF84 802B1974 01E02025 */ move $a0, $t7 -/* 11AF88 802B1978 10000018 */ b .L802B19DC -/* 11AF8C 802B197C 01E01025 */ move $v0, $t7 -.L802B1980: -/* 11AF90 802B1980 000440C0 */ sll $t0, $a0, 3 -/* 11AF94 802B1984 01044023 */ subu $t0, $t0, $a0 -/* 11AF98 802B1988 3C0B8016 */ lui $t3, %hi(gActorList) # $t3, 0x8016 -/* 11AF9C 802B198C 256BF9B8 */ addiu $t3, %lo(gActorList) # addiu $t3, $t3, -0x648 -/* 11AFA0 802B1990 00084100 */ sll $t0, $t0, 4 -/* 11AFA4 802B1994 010B1821 */ addu $v1, $t0, $t3 -/* 11AFA8 802B1998 240A05B0 */ li $t2, 1456 -/* 11AFAC 802B199C 24098000 */ li $t1, -32768 -/* 11AFB0 802B19A0 A4600006 */ sh $zero, 6($v1) -/* 11AFB4 802B19A4 A46A0010 */ sh $t2, 0x10($v1) -/* 11AFB8 802B19A8 A4690012 */ sh $t1, 0x12($v1) -/* 11AFBC 802B19AC 3C19800E */ lui $t9, %hi(gPlayerOne) # $t9, 0x800e -/* 11AFC0 802B19B0 8F39C4DC */ lw $t9, %lo(gPlayerOne)($t9) -/* 11AFC4 802B19B4 8FAC0040 */ lw $t4, 0x40($sp) -/* 11AFC8 802B19B8 24010DD8 */ li $at, 3544 -/* 11AFCC 802B19BC 44802000 */ mtc1 $zero, $f4 -/* 11AFD0 802B19C0 01997023 */ subu $t6, $t4, $t9 -/* 11AFD4 802B19C4 01C1001A */ div $zero, $t6, $at -/* 11AFD8 802B19C8 00006812 */ mflo $t5 -/* 11AFDC 802B19CC A46D0014 */ sh $t5, 0x14($v1) -/* 11AFE0 802B19D0 A4600004 */ sh $zero, 4($v1) -/* 11AFE4 802B19D4 00801025 */ move $v0, $a0 -/* 11AFE8 802B19D8 E4640008 */ swc1 $f4, 8($v1) -.L802B19DC: -/* 11AFEC 802B19DC 8FBF0014 */ lw $ra, 0x14($sp) -/* 11AFF0 802B19E0 27BD0040 */ addiu $sp, $sp, 0x40 -/* 11AFF4 802B19E4 03E00008 */ jr $ra -/* 11AFF8 802B19E8 00000000 */ nop diff --git a/asm/non_matchings/code_802B0210/func_802B19EC.s b/asm/non_matchings/code_802B0210/func_802B19EC.s deleted file mode 100644 index 56f359b24..000000000 --- a/asm/non_matchings/code_802B0210/func_802B19EC.s +++ /dev/null @@ -1,184 +0,0 @@ -glabel func_802B19EC -/* 11AFFC 802B19EC 27BDFFA0 */ addiu $sp, $sp, -0x60 -/* 11B000 802B19F0 3C0E802C */ lui $t6, %hi(D_802B9180) # $t6, 0x802c -/* 11B004 802B19F4 AFBF002C */ sw $ra, 0x2c($sp) -/* 11B008 802B19F8 AFB10028 */ sw $s1, 0x28($sp) -/* 11B00C 802B19FC AFB00024 */ sw $s0, 0x24($sp) -/* 11B010 802B1A00 AFA40060 */ sw $a0, 0x60($sp) -/* 11B014 802B1A04 AFA60068 */ sw $a2, 0x68($sp) -/* 11B018 802B1A08 AFA7006C */ sw $a3, 0x6c($sp) -/* 11B01C 802B1A0C 25CE9180 */ addiu $t6, %lo(D_802B9180) # addiu $t6, $t6, -0x6e80 -/* 11B020 802B1A10 8DC10000 */ lw $at, ($t6) -/* 11B024 802B1A14 27B00054 */ addiu $s0, $sp, 0x54 -/* 11B028 802B1A18 3C09802C */ lui $t1, %hi(D_802B918C) # $t1, 0x802c -/* 11B02C 802B1A1C AE010000 */ sw $at, ($s0) -/* 11B030 802B1A20 8DD90004 */ lw $t9, 4($t6) -/* 11B034 802B1A24 2529918C */ addiu $t1, %lo(D_802B918C) # addiu $t1, $t1, -0x6e74 -/* 11B038 802B1A28 27A8004C */ addiu $t0, $sp, 0x4c -/* 11B03C 802B1A2C AE190004 */ sw $t9, 4($s0) -/* 11B040 802B1A30 8DC10008 */ lw $at, 8($t6) -/* 11B044 802B1A34 44802000 */ mtc1 $zero, $f4 -/* 11B048 802B1A38 00A08825 */ move $s1, $a1 -/* 11B04C 802B1A3C AE010008 */ sw $at, 8($s0) -/* 11B050 802B1A40 8D210000 */ lw $at, ($t1) -/* 11B054 802B1A44 24A50174 */ addiu $a1, $a1, 0x174 -/* 11B058 802B1A48 27A40040 */ addiu $a0, $sp, 0x40 -/* 11B05C 802B1A4C AD010000 */ sw $at, ($t0) -/* 11B060 802B1A50 95210004 */ lhu $at, 4($t1) -/* 11B064 802B1A54 A5010004 */ sh $at, 4($t0) -/* 11B068 802B1A58 E7A40040 */ swc1 $f4, 0x40($sp) -/* 11B06C 802B1A5C C4A6FEFC */ lwc1 $f6, -0x104($a1) -/* 11B070 802B1A60 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 11B074 802B1A64 44818000 */ mtc1 $at, $f16 -/* 11B078 802B1A68 46003207 */ neg.s $f8, $f6 -/* 11B07C 802B1A6C E7A80044 */ swc1 $f8, 0x44($sp) -/* 11B080 802B1A70 C4AAFEFC */ lwc1 $f10, -0x104($a1) -/* 11B084 802B1A74 46105481 */ sub.s $f18, $f10, $f16 -/* 11B088 802B1A78 0C0AD8EE */ jal func_802B63B8 -/* 11B08C 802B1A7C E7B20048 */ swc1 $f18, 0x48($sp) -/* 11B090 802B1A80 C7A40040 */ lwc1 $f4, 0x40($sp) -/* 11B094 802B1A84 C6260014 */ lwc1 $f6, 0x14($s1) -/* 11B098 802B1A88 C7AA0044 */ lwc1 $f10, 0x44($sp) -/* 11B09C 802B1A8C 27A40040 */ addiu $a0, $sp, 0x40 -/* 11B0A0 802B1A90 46062200 */ add.s $f8, $f4, $f6 -/* 11B0A4 802B1A94 C7A40048 */ lwc1 $f4, 0x48($sp) -/* 11B0A8 802B1A98 27A5004C */ addiu $a1, $sp, 0x4c -/* 11B0AC 802B1A9C 02003025 */ move $a2, $s0 -/* 11B0B0 802B1AA0 E7A80040 */ swc1 $f8, 0x40($sp) -/* 11B0B4 802B1AA4 C6300018 */ lwc1 $f16, 0x18($s1) -/* 11B0B8 802B1AA8 87A7006A */ lh $a3, 0x6a($sp) -/* 11B0BC 802B1AAC 46105480 */ add.s $f18, $f10, $f16 -/* 11B0C0 802B1AB0 E7B20044 */ swc1 $f18, 0x44($sp) -/* 11B0C4 802B1AB4 C626001C */ lwc1 $f6, 0x1c($s1) -/* 11B0C8 802B1AB8 46062200 */ add.s $f8, $f4, $f6 -/* 11B0CC 802B1ABC 0C0A7B22 */ jal func_8029EC88 -/* 11B0D0 802B1AC0 E7A80048 */ swc1 $f8, 0x48($sp) -/* 11B0D4 802B1AC4 00021C00 */ sll $v1, $v0, 0x10 -/* 11B0D8 802B1AC8 00036C03 */ sra $t5, $v1, 0x10 -/* 11B0DC 802B1ACC 0441000A */ bgez $v0, .L802B1AF8 -/* 11B0E0 802B1AD0 01A01825 */ move $v1, $t5 -/* 11B0E4 802B1AD4 97AF006E */ lhu $t7, 0x6e($sp) -/* 11B0E8 802B1AD8 8FB80060 */ lw $t8, 0x60($sp) -/* 11B0EC 802B1ADC 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -/* 11B0F0 802B1AE0 44815000 */ mtc1 $at, $f10 -/* 11B0F4 802B1AE4 000F7080 */ sll $t6, $t7, 2 -/* 11B0F8 802B1AE8 030EC821 */ addu $t9, $t8, $t6 -/* 11B0FC 802B1AEC 2402FFFF */ li $v0, -1 -/* 11B100 802B1AF0 10000065 */ b .L802B1C88 -/* 11B104 802B1AF4 E72A0024 */ swc1 $f10, 0x24($t9) -.L802B1AF8: -/* 11B108 802B1AF8 C6300014 */ lwc1 $f16, 0x14($s1) -/* 11B10C 802B1AFC 000358C0 */ sll $t3, $v1, 3 -/* 11B110 802B1B00 01635823 */ subu $t3, $t3, $v1 -/* 11B114 802B1B04 E7B00040 */ swc1 $f16, 0x40($sp) -/* 11B118 802B1B08 C6320018 */ lwc1 $f18, 0x18($s1) -/* 11B11C 802B1B0C 3C0A8016 */ lui $t2, %hi(gActorList) # $t2, 0x8016 -/* 11B120 802B1B10 254AF9B8 */ addiu $t2, %lo(gActorList) # addiu $t2, $t2, -0x648 -/* 11B124 802B1B14 000B5900 */ sll $t3, $t3, 4 -/* 11B128 802B1B18 016A8021 */ addu $s0, $t3, $t2 -/* 11B12C 802B1B1C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 11B130 802B1B20 44814000 */ mtc1 $at, $f8 -/* 11B134 802B1B24 C606000C */ lwc1 $f6, 0xc($s0) -/* 11B138 802B1B28 E7B20044 */ swc1 $f18, 0x44($sp) -/* 11B13C 802B1B2C C624001C */ lwc1 $f4, 0x1c($s1) -/* 11B140 802B1B30 46083280 */ add.s $f10, $f6, $f8 -/* 11B144 802B1B34 C7B20040 */ lwc1 $f18, 0x40($sp) -/* 11B148 802B1B38 E7A40048 */ swc1 $f4, 0x48($sp) -/* 11B14C 802B1B3C C7A60048 */ lwc1 $f6, 0x48($sp) -/* 11B150 802B1B40 C7A40044 */ lwc1 $f4, 0x44($sp) -/* 11B154 802B1B44 C6100020 */ lwc1 $f16, 0x20($s0) -/* 11B158 802B1B48 44055000 */ mfc1 $a1, $f10 -/* 11B15C 802B1B4C 26040030 */ addiu $a0, $s0, 0x30 -/* 11B160 802B1B50 8E060018 */ lw $a2, 0x18($s0) -/* 11B164 802B1B54 8E07001C */ lw $a3, 0x1c($s0) -/* 11B168 802B1B58 E7B20014 */ swc1 $f18, 0x14($sp) -/* 11B16C 802B1B5C E7A6001C */ swc1 $f6, 0x1c($sp) -/* 11B170 802B1B60 E7A40018 */ swc1 $f4, 0x18($sp) -/* 11B174 802B1B64 0C0AB654 */ jal func_802AD950 -/* 11B178 802B1B68 E7B00010 */ swc1 $f16, 0x10($sp) -/* 11B17C 802B1B6C 0C0AD38C */ jal func_802B4E30 -/* 11B180 802B1B70 02002025 */ move $a0, $s0 -/* 11B184 802B1B74 87A2006A */ lh $v0, 0x6a($sp) -/* 11B188 802B1B78 24089000 */ li $t0, -28672 -/* 11B18C 802B1B7C 24010007 */ li $at, 7 -/* 11B190 802B1B80 10410006 */ beq $v0, $at, .L802B1B9C -/* 11B194 802B1B84 A6080002 */ sh $t0, 2($s0) -/* 11B198 802B1B88 24010008 */ li $at, 8 -/* 11B19C 802B1B8C 50410007 */ beql $v0, $at, .L802B1BAC -/* 11B1A0 802B1B90 240C0006 */ li $t4, 6 -/* 11B1A4 802B1B94 10000007 */ b .L802B1BB4 -/* 11B1A8 802B1B98 240D8000 */ li $t5, -32768 -.L802B1B9C: -/* 11B1AC 802B1B9C 24090004 */ li $t1, 4 -/* 11B1B0 802B1BA0 10000003 */ b .L802B1BB0 -/* 11B1B4 802B1BA4 A6090006 */ sh $t1, 6($s0) -/* 11B1B8 802B1BA8 240C0006 */ li $t4, 6 -.L802B1BAC: -/* 11B1BC 802B1BAC A60C0006 */ sh $t4, 6($s0) -.L802B1BB0: -/* 11B1C0 802B1BB0 240D8000 */ li $t5, -32768 -.L802B1BB4: -/* 11B1C4 802B1BB4 A6000010 */ sh $zero, 0x10($s0) -/* 11B1C8 802B1BB8 A60D0012 */ sh $t5, 0x12($s0) -/* 11B1CC 802B1BBC 3C0F800E */ lui $t7, %hi(gPlayerOne) # $t7, 0x800e -/* 11B1D0 802B1BC0 8DEFC4DC */ lw $t7, %lo(gPlayerOne)($t7) -/* 11B1D4 802B1BC4 24010DD8 */ li $at, 3544 -/* 11B1D8 802B1BC8 8FA50060 */ lw $a1, 0x60($sp) -/* 11B1DC 802B1BCC 022FC023 */ subu $t8, $s1, $t7 -/* 11B1E0 802B1BD0 0301001A */ div $zero, $t8, $at -/* 11B1E4 802B1BD4 3C048016 */ lui $a0, %hi(gActorList) # $a0, 0x8016 -/* 11B1E8 802B1BD8 2484F9B8 */ addiu $a0, %lo(gActorList) # addiu $a0, $a0, -0x648 -/* 11B1EC 802B1BDC 24030070 */ li $v1, 112 -/* 11B1F0 802B1BE0 00A4C823 */ subu $t9, $a1, $a0 -/* 11B1F4 802B1BE4 00007012 */ mflo $t6 -/* 11B1F8 802B1BE8 97A6006E */ lhu $a2, 0x6e($sp) -/* 11B1FC 802B1BEC A60E0014 */ sh $t6, 0x14($s0) -/* 11B200 802B1BF0 0323001A */ div $zero, $t9, $v1 -/* 11B204 802B1BF4 44864000 */ mtc1 $a2, $f8 -/* 11B208 802B1BF8 00005812 */ mflo $t3 -/* 11B20C 802B1BFC A60B0004 */ sh $t3, 4($s0) -/* 11B210 802B1C00 14600002 */ bnez $v1, .L802B1C0C -/* 11B214 802B1C04 00000000 */ nop -/* 11B218 802B1C08 0007000D */ break 7 -.L802B1C0C: -/* 11B21C 802B1C0C 2401FFFF */ li $at, -1 -/* 11B220 802B1C10 14610004 */ bne $v1, $at, .L802B1C24 -/* 11B224 802B1C14 3C018000 */ lui $at, 0x8000 -/* 11B228 802B1C18 17210002 */ bne $t9, $at, .L802B1C24 -/* 11B22C 802B1C1C 00000000 */ nop -/* 11B230 802B1C20 0006000D */ break 6 -.L802B1C24: -/* 11B234 802B1C24 02045023 */ subu $t2, $s0, $a0 -/* 11B238 802B1C28 04C10005 */ bgez $a2, .L802B1C40 -/* 11B23C 802B1C2C 468042A0 */ cvt.s.w $f10, $f8 -/* 11B240 802B1C30 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 11B244 802B1C34 44818000 */ mtc1 $at, $f16 -/* 11B248 802B1C38 00000000 */ nop -/* 11B24C 802B1C3C 46105280 */ add.s $f10, $f10, $f16 -.L802B1C40: -/* 11B250 802B1C40 0143001A */ div $zero, $t2, $v1 -/* 11B254 802B1C44 00004012 */ mflo $t0 -/* 11B258 802B1C48 44889000 */ mtc1 $t0, $f18 -/* 11B25C 802B1C4C 00064880 */ sll $t1, $a2, 2 -/* 11B260 802B1C50 E60A0008 */ swc1 $f10, 8($s0) -/* 11B264 802B1C54 46809120 */ cvt.s.w $f4, $f18 -/* 11B268 802B1C58 00A96021 */ addu $t4, $a1, $t1 -/* 11B26C 802B1C5C 14600002 */ bnez $v1, .L802B1C68 -/* 11B270 802B1C60 00000000 */ nop -/* 11B274 802B1C64 0007000D */ break 7 -.L802B1C68: -/* 11B278 802B1C68 2401FFFF */ li $at, -1 -/* 11B27C 802B1C6C 14610004 */ bne $v1, $at, .L802B1C80 -/* 11B280 802B1C70 3C018000 */ lui $at, 0x8000 -/* 11B284 802B1C74 15410002 */ bne $t2, $at, .L802B1C80 -/* 11B288 802B1C78 00000000 */ nop -/* 11B28C 802B1C7C 0006000D */ break 6 -.L802B1C80: -/* 11B290 802B1C80 E5840024 */ swc1 $f4, 0x24($t4) -/* 11B294 802B1C84 24020001 */ li $v0, 1 -.L802B1C88: -/* 11B298 802B1C88 8FBF002C */ lw $ra, 0x2c($sp) -/* 11B29C 802B1C8C 8FB00024 */ lw $s0, 0x24($sp) -/* 11B2A0 802B1C90 8FB10028 */ lw $s1, 0x28($sp) -/* 11B2A4 802B1C94 03E00008 */ jr $ra -/* 11B2A8 802B1C98 27BD0060 */ addiu $sp, $sp, 0x60 diff --git a/asm/non_matchings/code_802B0210/func_802B1C9C.s b/asm/non_matchings/code_802B0210/func_802B1C9C.s deleted file mode 100644 index 826836504..000000000 --- a/asm/non_matchings/code_802B0210/func_802B1C9C.s +++ /dev/null @@ -1,110 +0,0 @@ -glabel func_802B1C9C -/* 11B2AC 802B1C9C 27BDFFA0 */ addiu $sp, $sp, -0x60 -/* 11B2B0 802B1CA0 3C0E802C */ lui $t6, %hi(D_802B9194) # $t6, 0x802c -/* 11B2B4 802B1CA4 AFBF002C */ sw $ra, 0x2c($sp) -/* 11B2B8 802B1CA8 AFB10028 */ sw $s1, 0x28($sp) -/* 11B2BC 802B1CAC AFB00024 */ sw $s0, 0x24($sp) -/* 11B2C0 802B1CB0 25CE9194 */ addiu $t6, %lo(D_802B9194) # addiu $t6, $t6, -0x6e6c -/* 11B2C4 802B1CB4 8DC10000 */ lw $at, ($t6) -/* 11B2C8 802B1CB8 27B00054 */ addiu $s0, $sp, 0x54 -/* 11B2CC 802B1CBC 3C09802C */ lui $t1, %hi(D_802B91A0) # $t1, 0x802c -/* 11B2D0 802B1CC0 AE010000 */ sw $at, ($s0) -/* 11B2D4 802B1CC4 8DD90004 */ lw $t9, 4($t6) -/* 11B2D8 802B1CC8 252991A0 */ addiu $t1, %lo(D_802B91A0) # addiu $t1, $t1, -0x6e60 -/* 11B2DC 802B1CCC 27A8004C */ addiu $t0, $sp, 0x4c -/* 11B2E0 802B1CD0 AE190004 */ sw $t9, 4($s0) -/* 11B2E4 802B1CD4 8DC10008 */ lw $at, 8($t6) -/* 11B2E8 802B1CD8 44802000 */ mtc1 $zero, $f4 -/* 11B2EC 802B1CDC 00808825 */ move $s1, $a0 -/* 11B2F0 802B1CE0 AE010008 */ sw $at, 8($s0) -/* 11B2F4 802B1CE4 8D210000 */ lw $at, ($t1) -/* 11B2F8 802B1CE8 26250174 */ addiu $a1, $s1, 0x174 -/* 11B2FC 802B1CEC AD010000 */ sw $at, ($t0) -/* 11B300 802B1CF0 95210004 */ lhu $at, 4($t1) -/* 11B304 802B1CF4 A5010004 */ sh $at, 4($t0) -/* 11B308 802B1CF8 E7A40040 */ swc1 $f4, 0x40($sp) -/* 11B30C 802B1CFC C4860070 */ lwc1 $f6, 0x70($a0) -/* 11B310 802B1D00 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 11B314 802B1D04 44818000 */ mtc1 $at, $f16 -/* 11B318 802B1D08 46003207 */ neg.s $f8, $f6 -/* 11B31C 802B1D0C E7A80044 */ swc1 $f8, 0x44($sp) -/* 11B320 802B1D10 C48A0070 */ lwc1 $f10, 0x70($a0) -/* 11B324 802B1D14 27A40040 */ addiu $a0, $sp, 0x40 -/* 11B328 802B1D18 46105481 */ sub.s $f18, $f10, $f16 -/* 11B32C 802B1D1C 0C0AD8EE */ jal func_802B63B8 -/* 11B330 802B1D20 E7B20048 */ swc1 $f18, 0x48($sp) -/* 11B334 802B1D24 C7A40040 */ lwc1 $f4, 0x40($sp) -/* 11B338 802B1D28 C6260014 */ lwc1 $f6, 0x14($s1) -/* 11B33C 802B1D2C C7AA0044 */ lwc1 $f10, 0x44($sp) -/* 11B340 802B1D30 27A40040 */ addiu $a0, $sp, 0x40 -/* 11B344 802B1D34 46062200 */ add.s $f8, $f4, $f6 -/* 11B348 802B1D38 C7A40048 */ lwc1 $f4, 0x48($sp) -/* 11B34C 802B1D3C 27A5004C */ addiu $a1, $sp, 0x4c -/* 11B350 802B1D40 02003025 */ move $a2, $s0 -/* 11B354 802B1D44 E7A80040 */ swc1 $f8, 0x40($sp) -/* 11B358 802B1D48 C6300018 */ lwc1 $f16, 0x18($s1) -/* 11B35C 802B1D4C 24070007 */ li $a3, 7 -/* 11B360 802B1D50 46105480 */ add.s $f18, $f10, $f16 -/* 11B364 802B1D54 E7B20044 */ swc1 $f18, 0x44($sp) -/* 11B368 802B1D58 C626001C */ lwc1 $f6, 0x1c($s1) -/* 11B36C 802B1D5C 46062200 */ add.s $f8, $f4, $f6 -/* 11B370 802B1D60 0C0A7B22 */ jal func_8029EC88 -/* 11B374 802B1D64 E7A80048 */ swc1 $f8, 0x48($sp) -/* 11B378 802B1D68 00021C00 */ sll $v1, $v0, 0x10 -/* 11B37C 802B1D6C 00036C03 */ sra $t5, $v1, 0x10 -/* 11B380 802B1D70 04410003 */ bgez $v0, .L802B1D80 -/* 11B384 802B1D74 01A01825 */ move $v1, $t5 -/* 11B388 802B1D78 1000002E */ b .L802B1E34 -/* 11B38C 802B1D7C 01A01025 */ move $v0, $t5 -.L802B1D80: -/* 11B390 802B1D80 C62A0014 */ lwc1 $f10, 0x14($s1) -/* 11B394 802B1D84 0003C0C0 */ sll $t8, $v1, 3 -/* 11B398 802B1D88 0303C023 */ subu $t8, $t8, $v1 -/* 11B39C 802B1D8C E7AA0040 */ swc1 $f10, 0x40($sp) -/* 11B3A0 802B1D90 C6300018 */ lwc1 $f16, 0x18($s1) -/* 11B3A4 802B1D94 3C0F8016 */ lui $t7, %hi(gActorList) # $t7, 0x8016 -/* 11B3A8 802B1D98 25EFF9B8 */ addiu $t7, %lo(gActorList) # addiu $t7, $t7, -0x648 -/* 11B3AC 802B1D9C 0018C100 */ sll $t8, $t8, 4 -/* 11B3B0 802B1DA0 030F8021 */ addu $s0, $t8, $t7 -/* 11B3B4 802B1DA4 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 11B3B8 802B1DA8 44813000 */ mtc1 $at, $f6 -/* 11B3BC 802B1DAC C604000C */ lwc1 $f4, 0xc($s0) -/* 11B3C0 802B1DB0 E7B00044 */ swc1 $f16, 0x44($sp) -/* 11B3C4 802B1DB4 C632001C */ lwc1 $f18, 0x1c($s1) -/* 11B3C8 802B1DB8 46062200 */ add.s $f8, $f4, $f6 -/* 11B3CC 802B1DBC C7B00040 */ lwc1 $f16, 0x40($sp) -/* 11B3D0 802B1DC0 E7B20048 */ swc1 $f18, 0x48($sp) -/* 11B3D4 802B1DC4 C7A40048 */ lwc1 $f4, 0x48($sp) -/* 11B3D8 802B1DC8 C7B20044 */ lwc1 $f18, 0x44($sp) -/* 11B3DC 802B1DCC C60A0020 */ lwc1 $f10, 0x20($s0) -/* 11B3E0 802B1DD0 44054000 */ mfc1 $a1, $f8 -/* 11B3E4 802B1DD4 A7A3003E */ sh $v1, 0x3e($sp) -/* 11B3E8 802B1DD8 26040030 */ addiu $a0, $s0, 0x30 -/* 11B3EC 802B1DDC 8E060018 */ lw $a2, 0x18($s0) -/* 11B3F0 802B1DE0 8E07001C */ lw $a3, 0x1c($s0) -/* 11B3F4 802B1DE4 E7B00014 */ swc1 $f16, 0x14($sp) -/* 11B3F8 802B1DE8 E7A4001C */ swc1 $f4, 0x1c($sp) -/* 11B3FC 802B1DEC E7B20018 */ swc1 $f18, 0x18($sp) -/* 11B400 802B1DF0 0C0AB654 */ jal func_802AD950 -/* 11B404 802B1DF4 E7AA0010 */ swc1 $f10, 0x10($sp) -/* 11B408 802B1DF8 0C0AD38C */ jal func_802B4E30 -/* 11B40C 802B1DFC 02002025 */ move $a0, $s0 -/* 11B410 802B1E00 240E8000 */ li $t6, -32768 -/* 11B414 802B1E04 A6000006 */ sh $zero, 6($s0) -/* 11B418 802B1E08 A6000010 */ sh $zero, 0x10($s0) -/* 11B41C 802B1E0C A60E0012 */ sh $t6, 0x12($s0) -/* 11B420 802B1E10 3C19800E */ lui $t9, %hi(gPlayerOne) # $t9, 0x800e -/* 11B424 802B1E14 8F39C4DC */ lw $t9, %lo(gPlayerOne)($t9) -/* 11B428 802B1E18 24010DD8 */ li $at, 3544 -/* 11B42C 802B1E1C 87A2003E */ lh $v0, 0x3e($sp) -/* 11B430 802B1E20 02395823 */ subu $t3, $s1, $t9 -/* 11B434 802B1E24 0161001A */ div $zero, $t3, $at -/* 11B438 802B1E28 00005012 */ mflo $t2 -/* 11B43C 802B1E2C A60A0014 */ sh $t2, 0x14($s0) -/* 11B440 802B1E30 00000000 */ nop -.L802B1E34: -/* 11B444 802B1E34 8FBF002C */ lw $ra, 0x2c($sp) -/* 11B448 802B1E38 8FB00024 */ lw $s0, 0x24($sp) -/* 11B44C 802B1E3C 8FB10028 */ lw $s1, 0x28($sp) -/* 11B450 802B1E40 03E00008 */ jr $ra -/* 11B454 802B1E44 27BD0060 */ addiu $sp, $sp, 0x60 diff --git a/asm/non_matchings/code_802B0210/func_802B1E48.s b/asm/non_matchings/code_802B0210/func_802B1E48.s deleted file mode 100644 index 202de8d30..000000000 --- a/asm/non_matchings/code_802B0210/func_802B1E48.s +++ /dev/null @@ -1,112 +0,0 @@ -glabel func_802B1E48 -/* 11B458 802B1E48 27BDFFA0 */ addiu $sp, $sp, -0x60 -/* 11B45C 802B1E4C 3C0E802C */ lui $t6, %hi(D_802B91A8) # $t6, 0x802c -/* 11B460 802B1E50 AFBF002C */ sw $ra, 0x2c($sp) -/* 11B464 802B1E54 AFB10028 */ sw $s1, 0x28($sp) -/* 11B468 802B1E58 AFB00024 */ sw $s0, 0x24($sp) -/* 11B46C 802B1E5C 25CE91A8 */ addiu $t6, %lo(D_802B91A8) # addiu $t6, $t6, -0x6e58 -/* 11B470 802B1E60 8DC10000 */ lw $at, ($t6) -/* 11B474 802B1E64 27B00054 */ addiu $s0, $sp, 0x54 -/* 11B478 802B1E68 3C09802C */ lui $t1, %hi(D_802B91B4) # $t1, 0x802c -/* 11B47C 802B1E6C AE010000 */ sw $at, ($s0) -/* 11B480 802B1E70 8DD90004 */ lw $t9, 4($t6) -/* 11B484 802B1E74 252991B4 */ addiu $t1, %lo(D_802B91B4) # addiu $t1, $t1, -0x6e4c -/* 11B488 802B1E78 27A8004C */ addiu $t0, $sp, 0x4c -/* 11B48C 802B1E7C AE190004 */ sw $t9, 4($s0) -/* 11B490 802B1E80 8DC10008 */ lw $at, 8($t6) -/* 11B494 802B1E84 44802000 */ mtc1 $zero, $f4 -/* 11B498 802B1E88 00808825 */ move $s1, $a0 -/* 11B49C 802B1E8C AE010008 */ sw $at, 8($s0) -/* 11B4A0 802B1E90 8D210000 */ lw $at, ($t1) -/* 11B4A4 802B1E94 26250174 */ addiu $a1, $s1, 0x174 -/* 11B4A8 802B1E98 AD010000 */ sw $at, ($t0) -/* 11B4AC 802B1E9C 95210004 */ lhu $at, 4($t1) -/* 11B4B0 802B1EA0 A5010004 */ sh $at, 4($t0) -/* 11B4B4 802B1EA4 E7A40040 */ swc1 $f4, 0x40($sp) -/* 11B4B8 802B1EA8 C4860070 */ lwc1 $f6, 0x70($a0) -/* 11B4BC 802B1EAC 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 11B4C0 802B1EB0 44818000 */ mtc1 $at, $f16 -/* 11B4C4 802B1EB4 46003207 */ neg.s $f8, $f6 -/* 11B4C8 802B1EB8 E7A80044 */ swc1 $f8, 0x44($sp) -/* 11B4CC 802B1EBC C48A0070 */ lwc1 $f10, 0x70($a0) -/* 11B4D0 802B1EC0 27A40040 */ addiu $a0, $sp, 0x40 -/* 11B4D4 802B1EC4 46105481 */ sub.s $f18, $f10, $f16 -/* 11B4D8 802B1EC8 0C0AD8EE */ jal func_802B63B8 -/* 11B4DC 802B1ECC E7B20048 */ swc1 $f18, 0x48($sp) -/* 11B4E0 802B1ED0 C7A40040 */ lwc1 $f4, 0x40($sp) -/* 11B4E4 802B1ED4 C6260014 */ lwc1 $f6, 0x14($s1) -/* 11B4E8 802B1ED8 C7AA0044 */ lwc1 $f10, 0x44($sp) -/* 11B4EC 802B1EDC 27A40040 */ addiu $a0, $sp, 0x40 -/* 11B4F0 802B1EE0 46062200 */ add.s $f8, $f4, $f6 -/* 11B4F4 802B1EE4 C7A40048 */ lwc1 $f4, 0x48($sp) -/* 11B4F8 802B1EE8 27A5004C */ addiu $a1, $sp, 0x4c -/* 11B4FC 802B1EEC 02003025 */ move $a2, $s0 -/* 11B500 802B1EF0 E7A80040 */ swc1 $f8, 0x40($sp) -/* 11B504 802B1EF4 C6300018 */ lwc1 $f16, 0x18($s1) -/* 11B508 802B1EF8 24070008 */ li $a3, 8 -/* 11B50C 802B1EFC 46105480 */ add.s $f18, $f10, $f16 -/* 11B510 802B1F00 E7B20044 */ swc1 $f18, 0x44($sp) -/* 11B514 802B1F04 C626001C */ lwc1 $f6, 0x1c($s1) -/* 11B518 802B1F08 46062200 */ add.s $f8, $f4, $f6 -/* 11B51C 802B1F0C 0C0A7B22 */ jal func_8029EC88 -/* 11B520 802B1F10 E7A80048 */ swc1 $f8, 0x48($sp) -/* 11B524 802B1F14 00021C00 */ sll $v1, $v0, 0x10 -/* 11B528 802B1F18 00036C03 */ sra $t5, $v1, 0x10 -/* 11B52C 802B1F1C 04410003 */ bgez $v0, .L802B1F2C -/* 11B530 802B1F20 01A01825 */ move $v1, $t5 -/* 11B534 802B1F24 10000030 */ b .L802B1FE8 -/* 11B538 802B1F28 01A01025 */ move $v0, $t5 -.L802B1F2C: -/* 11B53C 802B1F2C C62A0014 */ lwc1 $f10, 0x14($s1) -/* 11B540 802B1F30 0003C0C0 */ sll $t8, $v1, 3 -/* 11B544 802B1F34 0303C023 */ subu $t8, $t8, $v1 -/* 11B548 802B1F38 E7AA0040 */ swc1 $f10, 0x40($sp) -/* 11B54C 802B1F3C C6300018 */ lwc1 $f16, 0x18($s1) -/* 11B550 802B1F40 3C0F8016 */ lui $t7, %hi(gActorList) # $t7, 0x8016 -/* 11B554 802B1F44 25EFF9B8 */ addiu $t7, %lo(gActorList) # addiu $t7, $t7, -0x648 -/* 11B558 802B1F48 0018C100 */ sll $t8, $t8, 4 -/* 11B55C 802B1F4C 030F8021 */ addu $s0, $t8, $t7 -/* 11B560 802B1F50 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 11B564 802B1F54 44813000 */ mtc1 $at, $f6 -/* 11B568 802B1F58 C604000C */ lwc1 $f4, 0xc($s0) -/* 11B56C 802B1F5C E7B00044 */ swc1 $f16, 0x44($sp) -/* 11B570 802B1F60 C632001C */ lwc1 $f18, 0x1c($s1) -/* 11B574 802B1F64 46062200 */ add.s $f8, $f4, $f6 -/* 11B578 802B1F68 C7B00040 */ lwc1 $f16, 0x40($sp) -/* 11B57C 802B1F6C E7B20048 */ swc1 $f18, 0x48($sp) -/* 11B580 802B1F70 C7A40048 */ lwc1 $f4, 0x48($sp) -/* 11B584 802B1F74 C7B20044 */ lwc1 $f18, 0x44($sp) -/* 11B588 802B1F78 C60A0020 */ lwc1 $f10, 0x20($s0) -/* 11B58C 802B1F7C 44054000 */ mfc1 $a1, $f8 -/* 11B590 802B1F80 A7A3003E */ sh $v1, 0x3e($sp) -/* 11B594 802B1F84 26040030 */ addiu $a0, $s0, 0x30 -/* 11B598 802B1F88 8E060018 */ lw $a2, 0x18($s0) -/* 11B59C 802B1F8C 8E07001C */ lw $a3, 0x1c($s0) -/* 11B5A0 802B1F90 E7B00014 */ swc1 $f16, 0x14($sp) -/* 11B5A4 802B1F94 E7A4001C */ swc1 $f4, 0x1c($sp) -/* 11B5A8 802B1F98 E7B20018 */ swc1 $f18, 0x18($sp) -/* 11B5AC 802B1F9C 0C0AB654 */ jal func_802AD950 -/* 11B5B0 802B1FA0 E7AA0010 */ swc1 $f10, 0x10($sp) -/* 11B5B4 802B1FA4 0C0AD38C */ jal func_802B4E30 -/* 11B5B8 802B1FA8 02002025 */ move $a0, $s0 -/* 11B5BC 802B1FAC A6000006 */ sh $zero, 6($s0) -/* 11B5C0 802B1FB0 A6000010 */ sh $zero, 0x10($s0) -/* 11B5C4 802B1FB4 862E002E */ lh $t6, 0x2e($s1) -/* 11B5C8 802B1FB8 24018000 */ li $at, -32768 -/* 11B5CC 802B1FBC 3C0B800E */ lui $t3, %hi(gPlayerOne) # $t3, 0x800e -/* 11B5D0 802B1FC0 01C1C821 */ addu $t9, $t6, $at -/* 11B5D4 802B1FC4 A6190012 */ sh $t9, 0x12($s0) -/* 11B5D8 802B1FC8 8D6BC4DC */ lw $t3, %lo(gPlayerOne)($t3) -/* 11B5DC 802B1FCC 24010DD8 */ li $at, 3544 -/* 11B5E0 802B1FD0 87A2003E */ lh $v0, 0x3e($sp) -/* 11B5E4 802B1FD4 022B5023 */ subu $t2, $s1, $t3 -/* 11B5E8 802B1FD8 0141001A */ div $zero, $t2, $at -/* 11B5EC 802B1FDC 00004012 */ mflo $t0 -/* 11B5F0 802B1FE0 A6080014 */ sh $t0, 0x14($s0) -/* 11B5F4 802B1FE4 00000000 */ nop -.L802B1FE8: -/* 11B5F8 802B1FE8 8FBF002C */ lw $ra, 0x2c($sp) -/* 11B5FC 802B1FEC 8FB00024 */ lw $s0, 0x24($sp) -/* 11B600 802B1FF0 8FB10028 */ lw $s1, 0x28($sp) -/* 11B604 802B1FF4 03E00008 */ jr $ra -/* 11B608 802B1FF8 27BD0060 */ addiu $sp, $sp, 0x60 diff --git a/asm/non_matchings/code_802B0210/func_802B2914.s b/asm/non_matchings/code_802B0210/func_802B2914.s deleted file mode 100644 index cf9d418eb..000000000 --- a/asm/non_matchings/code_802B0210/func_802B2914.s +++ /dev/null @@ -1,216 +0,0 @@ -glabel func_802B2914 -/* 11BF24 802B2914 27BDFF90 */ addiu $sp, $sp, -0x70 -/* 11BF28 802B2918 44802000 */ mtc1 $zero, $f4 -/* 11BF2C 802B291C AFBF0034 */ sw $ra, 0x34($sp) -/* 11BF30 802B2920 AFB20030 */ sw $s2, 0x30($sp) -/* 11BF34 802B2924 AFB1002C */ sw $s1, 0x2c($sp) -/* 11BF38 802B2928 AFB00028 */ sw $s0, 0x28($sp) -/* 11BF3C 802B292C AFA60078 */ sw $a2, 0x78($sp) -/* 11BF40 802B2930 E7A4004C */ swc1 $f4, 0x4c($sp) -/* 11BF44 802B2934 C4A60070 */ lwc1 $f6, 0x70($a1) -/* 11BF48 802B2938 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 11BF4C 802B293C 44818000 */ mtc1 $at, $f16 -/* 11BF50 802B2940 46003207 */ neg.s $f8, $f6 -/* 11BF54 802B2944 27B0004C */ addiu $s0, $sp, 0x4c -/* 11BF58 802B2948 E7A80050 */ swc1 $f8, 0x50($sp) -/* 11BF5C 802B294C C4AA0070 */ lwc1 $f10, 0x70($a1) -/* 11BF60 802B2950 00A08825 */ move $s1, $a1 -/* 11BF64 802B2954 00809025 */ move $s2, $a0 -/* 11BF68 802B2958 46105480 */ add.s $f18, $f10, $f16 -/* 11BF6C 802B295C 02002025 */ move $a0, $s0 -/* 11BF70 802B2960 24A50174 */ addiu $a1, $a1, 0x174 -/* 11BF74 802B2964 46009107 */ neg.s $f4, $f18 -/* 11BF78 802B2968 0C0AD8EE */ jal func_802B63B8 -/* 11BF7C 802B296C E7A40054 */ swc1 $f4, 0x54($sp) -/* 11BF80 802B2970 C7A6004C */ lwc1 $f6, 0x4c($sp) -/* 11BF84 802B2974 C6280014 */ lwc1 $f8, 0x14($s1) -/* 11BF88 802B2978 C7B00050 */ lwc1 $f16, 0x50($sp) -/* 11BF8C 802B297C 02002025 */ move $a0, $s0 -/* 11BF90 802B2980 46083280 */ add.s $f10, $f6, $f8 -/* 11BF94 802B2984 C7A60054 */ lwc1 $f6, 0x54($sp) -/* 11BF98 802B2988 27A50058 */ addiu $a1, $sp, 0x58 -/* 11BF9C 802B298C 27A60060 */ addiu $a2, $sp, 0x60 -/* 11BFA0 802B2990 E7AA004C */ swc1 $f10, 0x4c($sp) -/* 11BFA4 802B2994 C6320018 */ lwc1 $f18, 0x18($s1) -/* 11BFA8 802B2998 24070006 */ li $a3, 6 -/* 11BFAC 802B299C 46128100 */ add.s $f4, $f16, $f18 -/* 11BFB0 802B29A0 E7A40050 */ swc1 $f4, 0x50($sp) -/* 11BFB4 802B29A4 C628001C */ lwc1 $f8, 0x1c($s1) -/* 11BFB8 802B29A8 46083280 */ add.s $f10, $f6, $f8 -/* 11BFBC 802B29AC E7AA0054 */ swc1 $f10, 0x54($sp) -/* 11BFC0 802B29B0 C6300034 */ lwc1 $f16, 0x34($s1) -/* 11BFC4 802B29B4 E7B00060 */ swc1 $f16, 0x60($sp) -/* 11BFC8 802B29B8 C6320038 */ lwc1 $f18, 0x38($s1) -/* 11BFCC 802B29BC E7B20064 */ swc1 $f18, 0x64($sp) -/* 11BFD0 802B29C0 C624003C */ lwc1 $f4, 0x3c($s1) -/* 11BFD4 802B29C4 A7A00058 */ sh $zero, 0x58($sp) -/* 11BFD8 802B29C8 A7A0005A */ sh $zero, 0x5a($sp) -/* 11BFDC 802B29CC A7A0005C */ sh $zero, 0x5c($sp) -/* 11BFE0 802B29D0 0C0A7B22 */ jal func_8029EC88 -/* 11BFE4 802B29D4 E7A40068 */ swc1 $f4, 0x68($sp) -/* 11BFE8 802B29D8 00021C00 */ sll $v1, $v0, 0x10 -/* 11BFEC 802B29DC 04400092 */ bltz $v0, .L802B2C28 -/* 11BFF0 802B29E0 00037403 */ sra $t6, $v1, 0x10 -/* 11BFF4 802B29E4 24090070 */ li $t1, 112 -/* 11BFF8 802B29E8 01C90019 */ multu $t6, $t1 -/* 11BFFC 802B29EC C6260014 */ lwc1 $f6, 0x14($s1) -/* 11C000 802B29F0 3C088016 */ lui $t0, %hi(gActorList) # $t0, 0x8016 -/* 11C004 802B29F4 2508F9B8 */ addiu $t0, %lo(gActorList) # addiu $t0, $t0, -0x648 -/* 11C008 802B29F8 E7A6004C */ swc1 $f6, 0x4c($sp) -/* 11C00C 802B29FC C6280018 */ lwc1 $f8, 0x18($s1) -/* 11C010 802B2A00 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 11C014 802B2A04 44819000 */ mtc1 $at, $f18 -/* 11C018 802B2A08 E7A80050 */ swc1 $f8, 0x50($sp) -/* 11C01C 802B2A0C C62A001C */ lwc1 $f10, 0x1c($s1) -/* 11C020 802B2A10 00007812 */ mflo $t7 -/* 11C024 802B2A14 010F8021 */ addu $s0, $t0, $t7 -/* 11C028 802B2A18 C610000C */ lwc1 $f16, 0xc($s0) -/* 11C02C 802B2A1C E7AA0054 */ swc1 $f10, 0x54($sp) -/* 11C030 802B2A20 C7AA0050 */ lwc1 $f10, 0x50($sp) -/* 11C034 802B2A24 46128100 */ add.s $f4, $f16, $f18 -/* 11C038 802B2A28 C7B00054 */ lwc1 $f16, 0x54($sp) -/* 11C03C 802B2A2C C6060020 */ lwc1 $f6, 0x20($s0) -/* 11C040 802B2A30 C7A8004C */ lwc1 $f8, 0x4c($sp) -/* 11C044 802B2A34 44052000 */ mfc1 $a1, $f4 -/* 11C048 802B2A38 26040030 */ addiu $a0, $s0, 0x30 -/* 11C04C 802B2A3C 8E060018 */ lw $a2, 0x18($s0) -/* 11C050 802B2A40 8E07001C */ lw $a3, 0x1c($s0) -/* 11C054 802B2A44 A7AE006E */ sh $t6, 0x6e($sp) -/* 11C058 802B2A48 E7AA0018 */ swc1 $f10, 0x18($sp) -/* 11C05C 802B2A4C E7B0001C */ swc1 $f16, 0x1c($sp) -/* 11C060 802B2A50 E7A60010 */ swc1 $f6, 0x10($sp) -/* 11C064 802B2A54 0C0AB654 */ jal func_802AD950 -/* 11C068 802B2A58 E7A80014 */ swc1 $f8, 0x14($sp) -/* 11C06C 802B2A5C 0C0AD38C */ jal func_802B4E30 -/* 11C070 802B2A60 02002025 */ move $a0, $s0 -/* 11C074 802B2A64 3C06800E */ lui $a2, %hi(gPlayerOne) # $a2, 0x800e -/* 11C078 802B2A68 24C6C4DC */ addiu $a2, %lo(gPlayerOne) # addiu $a2, $a2, -0x3b24 -/* 11C07C 802B2A6C 8CD90000 */ lw $t9, ($a2) -/* 11C080 802B2A70 24070DD8 */ li $a3, 3544 -/* 11C084 802B2A74 3C088016 */ lui $t0, %hi(gActorList) # $t0, 0x8016 -/* 11C088 802B2A78 02395023 */ subu $t2, $s1, $t9 -/* 11C08C 802B2A7C 0147001A */ div $zero, $t2, $a3 -/* 11C090 802B2A80 00005812 */ mflo $t3 -/* 11C094 802B2A84 2508F9B8 */ addiu $t0, %lo(gActorList) # addiu $t0, $t0, -0x648 -/* 11C098 802B2A88 02486023 */ subu $t4, $s2, $t0 -/* 11C09C 802B2A8C 87A4007A */ lh $a0, 0x7a($sp) -/* 11C0A0 802B2A90 2402FFFF */ li $v0, -1 -/* 11C0A4 802B2A94 24189000 */ li $t8, -28672 -/* 11C0A8 802B2A98 240E0014 */ li $t6, 20 -/* 11C0AC 802B2A9C 87A3006E */ lh $v1, 0x6e($sp) -/* 11C0B0 802B2AA0 24090070 */ li $t1, 112 -/* 11C0B4 802B2AA4 A6180002 */ sh $t8, 2($s0) -/* 11C0B8 802B2AA8 14E00002 */ bnez $a3, .L802B2AB4 -/* 11C0BC 802B2AAC 00000000 */ nop -/* 11C0C0 802B2AB0 0007000D */ break 7 -.L802B2AB4: -/* 11C0C4 802B2AB4 2401FFFF */ li $at, -1 -/* 11C0C8 802B2AB8 14E10004 */ bne $a3, $at, .L802B2ACC -/* 11C0CC 802B2ABC 3C018000 */ lui $at, 0x8000 -/* 11C0D0 802B2AC0 15410002 */ bne $t2, $at, .L802B2ACC -/* 11C0D4 802B2AC4 00000000 */ nop -/* 11C0D8 802B2AC8 0006000D */ break 6 -.L802B2ACC: -/* 11C0DC 802B2ACC 24010070 */ li $at, 112 -/* 11C0E0 802B2AD0 0181001A */ div $zero, $t4, $at -/* 11C0E4 802B2AD4 00006812 */ mflo $t5 -/* 11C0E8 802B2AD8 2C810005 */ sltiu $at, $a0, 5 -/* 11C0EC 802B2ADC A60B0010 */ sh $t3, 0x10($s0) -/* 11C0F0 802B2AE0 A60D0008 */ sh $t5, 8($s0) -/* 11C0F4 802B2AE4 A6020014 */ sh $v0, 0x14($s0) -/* 11C0F8 802B2AE8 A60E0004 */ sh $t6, 4($s0) -/* 11C0FC 802B2AEC 10200037 */ beqz $at, .L802B2BCC -/* 11C100 802B2AF0 A604000A */ sh $a0, 0xa($s0) -/* 11C104 802B2AF4 00047880 */ sll $t7, $a0, 2 -/* 11C108 802B2AF8 3C01802C */ lui $at, %hi(jpt_802B9EF4) -/* 11C10C 802B2AFC 002F0821 */ addu $at, $at, $t7 -/* 11C110 802B2B00 8C2F9EF4 */ lw $t7, %lo(jpt_802B9EF4)($at) -/* 11C114 802B2B04 01E00008 */ jr $t7 -/* 11C118 802B2B08 00000000 */ nop -glabel L802B2B0C -/* 11C11C 802B2B0C 24180002 */ li $t8, 2 -/* 11C120 802B2B10 A6180006 */ sh $t8, 6($s0) -/* 11C124 802B2B14 A6430012 */ sh $v1, 0x12($s2) -/* 11C128 802B2B18 1000002C */ b .L802B2BCC -/* 11C12C 802B2B1C A6020012 */ sh $v0, 0x12($s0) -glabel L802B2B20 -/* 11C130 802B2B20 24190003 */ li $t9, 3 -/* 11C134 802B2B24 A6190006 */ sh $t9, 6($s0) -/* 11C138 802B2B28 864A0012 */ lh $t2, 0x12($s2) -/* 11C13C 802B2B2C A6430014 */ sh $v1, 0x14($s2) -/* 11C140 802B2B30 A60A0012 */ sh $t2, 0x12($s0) -/* 11C144 802B2B34 864B0012 */ lh $t3, 0x12($s2) -/* 11C148 802B2B38 01690019 */ multu $t3, $t1 -/* 11C14C 802B2B3C 00006012 */ mflo $t4 -/* 11C150 802B2B40 010C1021 */ addu $v0, $t0, $t4 -/* 11C154 802B2B44 10000021 */ b .L802B2BCC -/* 11C158 802B2B48 A4430014 */ sh $v1, 0x14($v0) -glabel L802B2B4C -/* 11C15C 802B2B4C 240D0003 */ li $t5, 3 -/* 11C160 802B2B50 A60D0006 */ sh $t5, 6($s0) -/* 11C164 802B2B54 864E0014 */ lh $t6, 0x14($s2) -/* 11C168 802B2B58 A6430016 */ sh $v1, 0x16($s2) -/* 11C16C 802B2B5C A60E0012 */ sh $t6, 0x12($s0) -/* 11C170 802B2B60 864F0014 */ lh $t7, 0x14($s2) -/* 11C174 802B2B64 01E90019 */ multu $t7, $t1 -/* 11C178 802B2B68 0000C012 */ mflo $t8 -/* 11C17C 802B2B6C 01181021 */ addu $v0, $t0, $t8 -/* 11C180 802B2B70 10000016 */ b .L802B2BCC -/* 11C184 802B2B74 A4430014 */ sh $v1, 0x14($v0) -glabel L802B2B78 -/* 11C188 802B2B78 24190003 */ li $t9, 3 -/* 11C18C 802B2B7C A6190006 */ sh $t9, 6($s0) -/* 11C190 802B2B80 864A0016 */ lh $t2, 0x16($s2) -/* 11C194 802B2B84 A6430018 */ sh $v1, 0x18($s2) -/* 11C198 802B2B88 A60A0012 */ sh $t2, 0x12($s0) -/* 11C19C 802B2B8C 864B0016 */ lh $t3, 0x16($s2) -/* 11C1A0 802B2B90 01690019 */ multu $t3, $t1 -/* 11C1A4 802B2B94 00006012 */ mflo $t4 -/* 11C1A8 802B2B98 010C1021 */ addu $v0, $t0, $t4 -/* 11C1AC 802B2B9C 1000000B */ b .L802B2BCC -/* 11C1B0 802B2BA0 A4430014 */ sh $v1, 0x14($v0) -glabel L802B2BA4 -/* 11C1B4 802B2BA4 240D0003 */ li $t5, 3 -/* 11C1B8 802B2BA8 A60D0006 */ sh $t5, 6($s0) -/* 11C1BC 802B2BAC 864E0018 */ lh $t6, 0x18($s2) -/* 11C1C0 802B2BB0 A643001A */ sh $v1, 0x1a($s2) -/* 11C1C4 802B2BB4 A60E0012 */ sh $t6, 0x12($s0) -/* 11C1C8 802B2BB8 864F0018 */ lh $t7, 0x18($s2) -/* 11C1CC 802B2BBC 01E90019 */ multu $t7, $t1 -/* 11C1D0 802B2BC0 0000C012 */ mflo $t8 -/* 11C1D4 802B2BC4 01181021 */ addu $v0, $t0, $t8 -/* 11C1D8 802B2BC8 A4430014 */ sh $v1, 0x14($v0) -.L802B2BCC: -/* 11C1DC 802B2BCC 96390000 */ lhu $t9, ($s1) -/* 11C1E0 802B2BD0 332A4000 */ andi $t2, $t9, 0x4000 -/* 11C1E4 802B2BD4 51400015 */ beql $t2, $zero, .L802B2C2C -/* 11C1E8 802B2BD8 8FBF0034 */ lw $ra, 0x34($sp) -/* 11C1EC 802B2BDC 8CCB0000 */ lw $t3, ($a2) -/* 11C1F0 802B2BE0 3C051900 */ lui $a1, (0x19008012 >> 16) # lui $a1, 0x1900 -/* 11C1F4 802B2BE4 34A58012 */ ori $a1, (0x19008012 & 0xFFFF) # ori $a1, $a1, 0x8012 -/* 11C1F8 802B2BE8 022B6023 */ subu $t4, $s1, $t3 -/* 11C1FC 802B2BEC 0187001A */ div $zero, $t4, $a3 -/* 11C200 802B2BF0 00002012 */ mflo $a0 -/* 11C204 802B2BF4 308D00FF */ andi $t5, $a0, 0xff -/* 11C208 802B2BF8 14E00002 */ bnez $a3, .L802B2C04 -/* 11C20C 802B2BFC 00000000 */ nop -/* 11C210 802B2C00 0007000D */ break 7 -.L802B2C04: -/* 11C214 802B2C04 2401FFFF */ li $at, -1 -/* 11C218 802B2C08 14E10004 */ bne $a3, $at, .L802B2C1C -/* 11C21C 802B2C0C 3C018000 */ lui $at, 0x8000 -/* 11C220 802B2C10 15810002 */ bne $t4, $at, .L802B2C1C -/* 11C224 802B2C14 00000000 */ nop -/* 11C228 802B2C18 0006000D */ break 6 -.L802B2C1C: -/* 11C22C 802B2C1C 01A02025 */ move $a0, $t5 -/* 11C230 802B2C20 0C032418 */ jal func_800C9060 -/* 11C234 802B2C24 00000000 */ nop -.L802B2C28: -/* 11C238 802B2C28 8FBF0034 */ lw $ra, 0x34($sp) -.L802B2C2C: -/* 11C23C 802B2C2C 8FB00028 */ lw $s0, 0x28($sp) -/* 11C240 802B2C30 8FB1002C */ lw $s1, 0x2c($sp) -/* 11C244 802B2C34 8FB20030 */ lw $s2, 0x30($sp) -/* 11C248 802B2C38 03E00008 */ jr $ra -/* 11C24C 802B2C3C 27BD0070 */ addiu $sp, $sp, 0x70 diff --git a/asm/non_matchings/code_802B0210/func_802B2C40.s b/asm/non_matchings/code_802B0210/func_802B2C40.s deleted file mode 100644 index 877d5484e..000000000 --- a/asm/non_matchings/code_802B0210/func_802B2C40.s +++ /dev/null @@ -1,79 +0,0 @@ -glabel func_802B2C40 -/* 11C250 802B2C40 44802000 */ mtc1 $zero, $f4 -/* 11C254 802B2C44 27BDFFA0 */ addiu $sp, $sp, -0x60 -/* 11C258 802B2C48 AFBF001C */ sw $ra, 0x1c($sp) -/* 11C25C 802B2C4C AFB00018 */ sw $s0, 0x18($sp) -/* 11C260 802B2C50 E7A40024 */ swc1 $f4, 0x24($sp) -/* 11C264 802B2C54 C4860070 */ lwc1 $f6, 0x70($a0) -/* 11C268 802B2C58 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 11C26C 802B2C5C 44818000 */ mtc1 $at, $f16 -/* 11C270 802B2C60 46003207 */ neg.s $f8, $f6 -/* 11C274 802B2C64 00808025 */ move $s0, $a0 -/* 11C278 802B2C68 E7A80028 */ swc1 $f8, 0x28($sp) -/* 11C27C 802B2C6C C48A0070 */ lwc1 $f10, 0x70($a0) -/* 11C280 802B2C70 27A40024 */ addiu $a0, $sp, 0x24 -/* 11C284 802B2C74 26050174 */ addiu $a1, $s0, 0x174 -/* 11C288 802B2C78 46105480 */ add.s $f18, $f10, $f16 -/* 11C28C 802B2C7C 46009107 */ neg.s $f4, $f18 -/* 11C290 802B2C80 0C0AD8EE */ jal func_802B63B8 -/* 11C294 802B2C84 E7A4002C */ swc1 $f4, 0x2c($sp) -/* 11C298 802B2C88 C7A60024 */ lwc1 $f6, 0x24($sp) -/* 11C29C 802B2C8C C6080014 */ lwc1 $f8, 0x14($s0) -/* 11C2A0 802B2C90 C7B00028 */ lwc1 $f16, 0x28($sp) -/* 11C2A4 802B2C94 27A40024 */ addiu $a0, $sp, 0x24 -/* 11C2A8 802B2C98 46083280 */ add.s $f10, $f6, $f8 -/* 11C2AC 802B2C9C C7A6002C */ lwc1 $f6, 0x2c($sp) -/* 11C2B0 802B2CA0 27A50030 */ addiu $a1, $sp, 0x30 -/* 11C2B4 802B2CA4 27A60038 */ addiu $a2, $sp, 0x38 -/* 11C2B8 802B2CA8 E7AA0024 */ swc1 $f10, 0x24($sp) -/* 11C2BC 802B2CAC C6120018 */ lwc1 $f18, 0x18($s0) -/* 11C2C0 802B2CB0 2407000D */ li $a3, 13 -/* 11C2C4 802B2CB4 46128100 */ add.s $f4, $f16, $f18 -/* 11C2C8 802B2CB8 E7A40028 */ swc1 $f4, 0x28($sp) -/* 11C2CC 802B2CBC C608001C */ lwc1 $f8, 0x1c($s0) -/* 11C2D0 802B2CC0 46083280 */ add.s $f10, $f6, $f8 -/* 11C2D4 802B2CC4 E7AA002C */ swc1 $f10, 0x2c($sp) -/* 11C2D8 802B2CC8 C6100034 */ lwc1 $f16, 0x34($s0) -/* 11C2DC 802B2CCC E7B00038 */ swc1 $f16, 0x38($sp) -/* 11C2E0 802B2CD0 C6120038 */ lwc1 $f18, 0x38($s0) -/* 11C2E4 802B2CD4 E7B2003C */ swc1 $f18, 0x3c($sp) -/* 11C2E8 802B2CD8 C604003C */ lwc1 $f4, 0x3c($s0) -/* 11C2EC 802B2CDC A7A00030 */ sh $zero, 0x30($sp) -/* 11C2F0 802B2CE0 A7A00032 */ sh $zero, 0x32($sp) -/* 11C2F4 802B2CE4 A7A00034 */ sh $zero, 0x34($sp) -/* 11C2F8 802B2CE8 0C0A7B22 */ jal func_8029EC88 -/* 11C2FC 802B2CEC E7A40040 */ swc1 $f4, 0x40($sp) -/* 11C300 802B2CF0 00022400 */ sll $a0, $v0, 0x10 -/* 11C304 802B2CF4 00047403 */ sra $t6, $a0, 0x10 -/* 11C308 802B2CF8 04410003 */ bgez $v0, .L802B2D08 -/* 11C30C 802B2CFC 01C02025 */ move $a0, $t6 -/* 11C310 802B2D00 10000016 */ b .L802B2D5C -/* 11C314 802B2D04 01C01025 */ move $v0, $t6 -.L802B2D08: -/* 11C318 802B2D08 3C19800E */ lui $t9, %hi(gPlayerOne) # $t9, 0x800e -/* 11C31C 802B2D0C 8F39C4DC */ lw $t9, %lo(gPlayerOne)($t9) -/* 11C320 802B2D10 24010DD8 */ li $at, 3544 -/* 11C324 802B2D14 000478C0 */ sll $t7, $a0, 3 -/* 11C328 802B2D18 02194023 */ subu $t0, $s0, $t9 -/* 11C32C 802B2D1C 0101001A */ div $zero, $t0, $at -/* 11C330 802B2D20 00004812 */ mflo $t1 -/* 11C334 802B2D24 44893000 */ mtc1 $t1, $f6 -/* 11C338 802B2D28 01E47823 */ subu $t7, $t7, $a0 -/* 11C33C 802B2D2C 3C188016 */ lui $t8, %hi(gActorList) # $t8, 0x8016 -/* 11C340 802B2D30 46803220 */ cvt.s.w $f8, $f6 -/* 11C344 802B2D34 2718F9B8 */ addiu $t8, %lo(gActorList) # addiu $t8, $t8, -0x648 -/* 11C348 802B2D38 000F7900 */ sll $t7, $t7, 4 -/* 11C34C 802B2D3C 01F81821 */ addu $v1, $t7, $t8 -/* 11C350 802B2D40 A4600006 */ sh $zero, 6($v1) -/* 11C354 802B2D44 3C010004 */ lui $at, 4 -/* 11C358 802B2D48 E4680024 */ swc1 $f8, 0x24($v1) -/* 11C35C 802B2D4C 8E0A000C */ lw $t2, 0xc($s0) -/* 11C360 802B2D50 00801025 */ move $v0, $a0 -/* 11C364 802B2D54 01415825 */ or $t3, $t2, $at -/* 11C368 802B2D58 AE0B000C */ sw $t3, 0xc($s0) -.L802B2D5C: -/* 11C36C 802B2D5C 8FBF001C */ lw $ra, 0x1c($sp) -/* 11C370 802B2D60 8FB00018 */ lw $s0, 0x18($sp) -/* 11C374 802B2D64 27BD0060 */ addiu $sp, $sp, 0x60 -/* 11C378 802B2D68 03E00008 */ jr $ra -/* 11C37C 802B2D6C 00000000 */ nop diff --git a/asm/non_matchings/code_802B0210/func_802B2FA0.s b/asm/non_matchings/code_802B0210/func_802B2FA0.s deleted file mode 100644 index 00d7133ac..000000000 --- a/asm/non_matchings/code_802B0210/func_802B2FA0.s +++ /dev/null @@ -1,100 +0,0 @@ -glabel func_802B2FA0 -/* 11C5B0 802B2FA0 3C0E800E */ lui $t6, %hi(gPlayerOne) # $t6, 0x800e -/* 11C5B4 802B2FA4 8DCEC4DC */ lw $t6, %lo(gPlayerOne)($t6) -/* 11C5B8 802B2FA8 24010DD8 */ li $at, 3544 -/* 11C5BC 802B2FAC 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 11C5C0 802B2FB0 008E7823 */ subu $t7, $a0, $t6 -/* 11C5C4 802B2FB4 01E1001A */ div $zero, $t7, $at -/* 11C5C8 802B2FB8 0000C012 */ mflo $t8 -/* 11C5CC 802B2FBC AFBF0014 */ sw $ra, 0x14($sp) -/* 11C5D0 802B2FC0 AFB8001C */ sw $t8, 0x1c($sp) -/* 11C5D4 802B2FC4 84990010 */ lh $t9, 0x10($a0) -/* 11C5D8 802B2FC8 2728FFFF */ addiu $t0, $t9, -1 -/* 11C5DC 802B2FCC 2D01000F */ sltiu $at, $t0, 0xf -/* 11C5E0 802B2FD0 10200040 */ beqz $at, .L802B30D4 -/* 11C5E4 802B2FD4 00084080 */ sll $t0, $t0, 2 -/* 11C5E8 802B2FD8 3C01802C */ lui $at, %hi(jpt_802B9F08) -/* 11C5EC 802B2FDC 00280821 */ addu $at, $at, $t0 -/* 11C5F0 802B2FE0 8C289F08 */ lw $t0, %lo(jpt_802B9F08)($at) -/* 11C5F4 802B2FE4 01000008 */ jr $t0 -/* 11C5F8 802B2FE8 00000000 */ nop -glabel L802B2FEC -/* 11C5FC 802B2FEC 0C0AC727 */ jal func_802B1C9C -/* 11C600 802B2FF0 00000000 */ nop -/* 11C604 802B2FF4 10000037 */ b .L802B30D4 -/* 11C608 802B2FF8 00000000 */ nop -glabel L802B2FFC -/* 11C60C 802B2FFC 0C0AC792 */ jal func_802B1E48 -/* 11C610 802B3000 00000000 */ nop -/* 11C614 802B3004 10000033 */ b .L802B30D4 -/* 11C618 802B3008 00000000 */ nop -glabel L802B300C -/* 11C61C 802B300C 0C0AC7FF */ jal func_802B1FFC -/* 11C620 802B3010 00000000 */ nop -/* 11C624 802B3014 1000002F */ b .L802B30D4 -/* 11C628 802B3018 00000000 */ nop -glabel L802B301C -/* 11C62C 802B301C 0C0ACB5C */ jal func_802B2D70 -/* 11C630 802B3020 00000000 */ nop -/* 11C634 802B3024 1000002B */ b .L802B30D4 -/* 11C638 802B3028 00000000 */ nop -glabel L802B302C -/* 11C63C 802B302C 0C0AC5FD */ jal func_802B17F4 -/* 11C640 802B3030 00000000 */ nop -/* 11C644 802B3034 10000027 */ b .L802B30D4 -/* 11C648 802B3038 00000000 */ nop -glabel L802B303C -/* 11C64C 802B303C 8C89000C */ lw $t1, 0xc($a0) -/* 11C650 802B3040 352A0200 */ ori $t2, $t1, 0x200 -/* 11C654 802B3044 10000023 */ b .L802B30D4 -/* 11C658 802B3048 AC8A000C */ sw $t2, 0xc($a0) -glabel L802B304C -/* 11C65C 802B304C 8C8B000C */ lw $t3, 0xc($a0) -/* 11C660 802B3050 356C0200 */ ori $t4, $t3, 0x200 -/* 11C664 802B3054 1000001F */ b .L802B30D4 -/* 11C668 802B3058 AC8C000C */ sw $t4, 0xc($a0) -glabel L802B305C -/* 11C66C 802B305C 8C8D000C */ lw $t5, 0xc($a0) -/* 11C670 802B3060 35AE0200 */ ori $t6, $t5, 0x200 -/* 11C674 802B3064 1000001B */ b .L802B30D4 -/* 11C678 802B3068 AC8E000C */ sw $t6, 0xc($a0) -glabel L802B306C -/* 11C67C 802B306C 8C8F000C */ lw $t7, 0xc($a0) -/* 11C680 802B3070 35F80200 */ ori $t8, $t7, 0x200 -/* 11C684 802B3074 10000017 */ b .L802B30D4 -/* 11C688 802B3078 AC98000C */ sw $t8, 0xc($a0) -glabel L802B307C -/* 11C68C 802B307C 8C99000C */ lw $t9, 0xc($a0) -/* 11C690 802B3080 37280800 */ ori $t0, $t9, 0x800 -/* 11C694 802B3084 10000013 */ b .L802B30D4 -/* 11C698 802B3088 AC88000C */ sw $t0, 0xc($a0) -glabel L802B308C -/* 11C69C 802B308C 8C89000C */ lw $t1, 0xc($a0) -/* 11C6A0 802B3090 352A2000 */ ori $t2, $t1, 0x2000 -/* 11C6A4 802B3094 1000000F */ b .L802B30D4 -/* 11C6A8 802B3098 AC8A000C */ sw $t2, 0xc($a0) -glabel L802B309C -/* 11C6AC 802B309C 0C0ACBAF */ jal func_802B2EBC -/* 11C6B0 802B30A0 00000000 */ nop -/* 11C6B4 802B30A4 1000000B */ b .L802B30D4 -/* 11C6B8 802B30A8 00000000 */ nop -glabel L802B30AC -/* 11C6BC 802B30AC 0C0ACB10 */ jal func_802B2C40 -/* 11C6C0 802B30B0 00000000 */ nop -/* 11C6C4 802B30B4 10000007 */ b .L802B30D4 -/* 11C6C8 802B30B8 00000000 */ nop -glabel L802B30BC -/* 11C6CC 802B30BC 0C0AC639 */ jal func_802B18E4 -/* 11C6D0 802B30C0 24050015 */ li $a1, 21 -/* 11C6D4 802B30C4 10000003 */ b .L802B30D4 -/* 11C6D8 802B30C8 00000000 */ nop -glabel L802B30CC -/* 11C6DC 802B30CC 0C0AC639 */ jal func_802B18E4 -/* 11C6E0 802B30D0 24050016 */ li $a1, 22 -.L802B30D4: -/* 11C6E4 802B30D4 0C01EB27 */ jal func_8007AC9C -/* 11C6E8 802B30D8 8FA4001C */ lw $a0, 0x1c($sp) -/* 11C6EC 802B30DC 8FBF0014 */ lw $ra, 0x14($sp) -/* 11C6F0 802B30E0 27BD0020 */ addiu $sp, $sp, 0x20 -/* 11C6F4 802B30E4 03E00008 */ jr $ra -/* 11C6F8 802B30E8 00000000 */ nop diff --git a/asm/non_matchings/code_802B0210/func_802B3B44.s b/asm/non_matchings/code_802B0210/func_802B3B44.s deleted file mode 100644 index eea56cc22..000000000 --- a/asm/non_matchings/code_802B0210/func_802B3B44.s +++ /dev/null @@ -1,214 +0,0 @@ -glabel func_802B3B44 -/* 11D154 802B3B44 27BDFF40 */ addiu $sp, $sp, -0xc0 -/* 11D158 802B3B48 AFBF0054 */ sw $ra, 0x54($sp) -/* 11D15C 802B3B4C AFB00050 */ sw $s0, 0x50($sp) -/* 11D160 802B3B50 F7BC0048 */ sdc1 $f28, 0x48($sp) -/* 11D164 802B3B54 F7BA0040 */ sdc1 $f26, 0x40($sp) -/* 11D168 802B3B58 F7B80038 */ sdc1 $f24, 0x38($sp) -/* 11D16C 802B3B5C F7B60030 */ sdc1 $f22, 0x30($sp) -/* 11D170 802B3B60 F7B40028 */ sdc1 $f20, 0x28($sp) -/* 11D174 802B3B64 94830012 */ lhu $v1, 0x12($a0) -/* 11D178 802B3B68 3C098016 */ lui $t1, %hi(D_80164490) # $t1, 0x8016 -/* 11D17C 802B3B6C 8D294490 */ lw $t1, %lo(D_80164490)($t1) -/* 11D180 802B3B70 000370C0 */ sll $t6, $v1, 3 -/* 11D184 802B3B74 3C088016 */ lui $t0, %hi(D_80164430) # $t0, 0x8016 -/* 11D188 802B3B78 012E1021 */ addu $v0, $t1, $t6 -/* 11D18C 802B3B7C 844F0000 */ lh $t7, ($v0) -/* 11D190 802B3B80 84580002 */ lh $t8, 2($v0) -/* 11D194 802B3B84 84590004 */ lh $t9, 4($v0) -/* 11D198 802B3B88 95084430 */ lhu $t0, %lo(D_80164430)($t0) -/* 11D19C 802B3B8C 24650001 */ addiu $a1, $v1, 1 -/* 11D1A0 802B3B90 448F2000 */ mtc1 $t7, $f4 -/* 11D1A4 802B3B94 44983000 */ mtc1 $t8, $f6 -/* 11D1A8 802B3B98 44994000 */ mtc1 $t9, $f8 -/* 11D1AC 802B3B9C 30A7FFFF */ andi $a3, $a1, 0xffff -/* 11D1B0 802B3BA0 00E8082A */ slt $at, $a3, $t0 -/* 11D1B4 802B3BA4 00808025 */ move $s0, $a0 -/* 11D1B8 802B3BA8 30A6FFFF */ andi $a2, $a1, 0xffff -/* 11D1BC 802B3BAC 468020A0 */ cvt.s.w $f2, $f4 -/* 11D1C0 802B3BB0 46803320 */ cvt.s.w $f12, $f6 -/* 11D1C4 802B3BB4 14200004 */ bnez $at, .L802B3BC8 -/* 11D1C8 802B3BB8 46804720 */ cvt.s.w $f28, $f8 -/* 11D1CC 802B3BBC 00E83023 */ subu $a2, $a3, $t0 -/* 11D1D0 802B3BC0 30CAFFFF */ andi $t2, $a2, 0xffff -/* 11D1D4 802B3BC4 01403025 */ move $a2, $t2 -.L802B3BC8: -/* 11D1D8 802B3BC8 C6000018 */ lwc1 $f0, 0x18($s0) -/* 11D1DC 802B3BCC C610001C */ lwc1 $f16, 0x1c($s0) -/* 11D1E0 802B3BD0 C6120020 */ lwc1 $f18, 0x20($s0) -/* 11D1E4 802B3BD4 46001501 */ sub.s $f20, $f2, $f0 -/* 11D1E8 802B3BD8 3C0143C8 */ li $at, 0x43C80000 # 400.000000 -/* 11D1EC 802B3BDC 000658C0 */ sll $t3, $a2, 3 -/* 11D1F0 802B3BE0 46106581 */ sub.s $f22, $f12, $f16 -/* 11D1F4 802B3BE4 4614A282 */ mul.s $f10, $f20, $f20 -/* 11D1F8 802B3BE8 012B1021 */ addu $v0, $t1, $t3 -/* 11D1FC 802B3BEC 4612E601 */ sub.s $f24, $f28, $f18 -/* 11D200 802B3BF0 4616B102 */ mul.s $f4, $f22, $f22 -/* 11D204 802B3BF4 E7A00060 */ swc1 $f0, 0x60($sp) -/* 11D208 802B3BF8 E7B0005C */ swc1 $f16, 0x5c($sp) -/* 11D20C 802B3BFC 4618C202 */ mul.s $f8, $f24, $f24 -/* 11D210 802B3C00 E7B20058 */ swc1 $f18, 0x58($sp) -/* 11D214 802B3C04 46045180 */ add.s $f6, $f10, $f4 -/* 11D218 802B3C08 44815000 */ mtc1 $at, $f10 -/* 11D21C 802B3C0C 3C0140A0 */ li $at, 0x40A00000 # 5.000000 -/* 11D220 802B3C10 46083380 */ add.s $f14, $f6, $f8 -/* 11D224 802B3C14 460E503C */ c.lt.s $f10, $f14 -/* 11D228 802B3C18 00000000 */ nop -/* 11D22C 802B3C1C 45020062 */ bc1fl .L802B3DA8 -/* 11D230 802B3C20 44812000 */ mtc1 $at, $f4 -/* 11D234 802B3C24 844C0000 */ lh $t4, ($v0) -/* 11D238 802B3C28 844D0002 */ lh $t5, 2($v0) -/* 11D23C 802B3C2C 844E0004 */ lh $t6, 4($v0) -/* 11D240 802B3C30 448C2000 */ mtc1 $t4, $f4 -/* 11D244 802B3C34 448D3000 */ mtc1 $t5, $f6 -/* 11D248 802B3C38 C7AA0060 */ lwc1 $f10, 0x60($sp) -/* 11D24C 802B3C3C 46802420 */ cvt.s.w $f16, $f4 -/* 11D250 802B3C40 448E4000 */ mtc1 $t6, $f8 -/* 11D254 802B3C44 C7A4005C */ lwc1 $f4, 0x5c($sp) -/* 11D258 802B3C48 468034A0 */ cvt.s.w $f18, $f6 -/* 11D25C 802B3C4C C7A60058 */ lwc1 $f6, 0x58($sp) -/* 11D260 802B3C50 460A8001 */ sub.s $f0, $f16, $f10 -/* 11D264 802B3C54 468046A0 */ cvt.s.w $f26, $f8 -/* 11D268 802B3C58 46000202 */ mul.s $f8, $f0, $f0 -/* 11D26C 802B3C5C 46049081 */ sub.s $f2, $f18, $f4 -/* 11D270 802B3C60 4606D301 */ sub.s $f12, $f26, $f6 -/* 11D274 802B3C64 46021282 */ mul.s $f10, $f2, $f2 -/* 11D278 802B3C68 460A4100 */ add.s $f4, $f8, $f10 -/* 11D27C 802B3C6C 460C6182 */ mul.s $f6, $f12, $f12 -/* 11D280 802B3C70 46062200 */ add.s $f8, $f4, $f6 -/* 11D284 802B3C74 460E403C */ c.lt.s $f8, $f14 -/* 11D288 802B3C78 00000000 */ nop -/* 11D28C 802B3C7C 45000003 */ bc1f .L802B3C8C -/* 11D290 802B3C80 00000000 */ nop -/* 11D294 802B3C84 10000074 */ b .L802B3E58 -/* 11D298 802B3C88 A6060012 */ sh $a2, 0x12($s0) -.L802B3C8C: -/* 11D29C 802B3C8C 0C033850 */ jal sqrtf -/* 11D2A0 802B3C90 46007306 */ mov.s $f12, $f14 -/* 11D2A4 802B3C94 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 11D2A8 802B3C98 4481D000 */ mtc1 $at, $f26 -/* 11D2AC 802B3C9C C6020024 */ lwc1 $f2, 0x24($s0) -/* 11D2B0 802B3CA0 C60E0028 */ lwc1 $f14, 0x28($s0) -/* 11D2B4 802B3CA4 461A0482 */ mul.s $f18, $f0, $f26 -/* 11D2B8 802B3CA8 C610002C */ lwc1 $f16, 0x2c($s0) -/* 11D2BC 802B3CAC 4612A503 */ div.s $f20, $f20, $f18 -/* 11D2C0 802B3CB0 4612B583 */ div.s $f22, $f22, $f18 -/* 11D2C4 802B3CB4 46141080 */ add.s $f2, $f2, $f20 -/* 11D2C8 802B3CB8 46021282 */ mul.s $f10, $f2, $f2 -/* 11D2CC 802B3CBC E7A200AC */ swc1 $f2, 0xac($sp) -/* 11D2D0 802B3CC0 4612C603 */ div.s $f24, $f24, $f18 -/* 11D2D4 802B3CC4 46167380 */ add.s $f14, $f14, $f22 -/* 11D2D8 802B3CC8 460E7102 */ mul.s $f4, $f14, $f14 -/* 11D2DC 802B3CCC E7AE00A8 */ swc1 $f14, 0xa8($sp) -/* 11D2E0 802B3CD0 46045180 */ add.s $f6, $f10, $f4 -/* 11D2E4 802B3CD4 46188400 */ add.s $f16, $f16, $f24 -/* 11D2E8 802B3CD8 46108202 */ mul.s $f8, $f16, $f16 -/* 11D2EC 802B3CDC E7B000A4 */ swc1 $f16, 0xa4($sp) -/* 11D2F0 802B3CE0 0C033850 */ jal sqrtf -/* 11D2F4 802B3CE4 46083300 */ add.s $f12, $f6, $f8 -/* 11D2F8 802B3CE8 3C0140C0 */ li $at, 0x40C00000 # 6.000000 -/* 11D2FC 802B3CEC 44819000 */ mtc1 $at, $f18 -/* 11D300 802B3CF0 C7A200AC */ lwc1 $f2, 0xac($sp) -/* 11D304 802B3CF4 C7AE00A8 */ lwc1 $f14, 0xa8($sp) -/* 11D308 802B3CF8 4600903C */ c.lt.s $f18, $f0 -/* 11D30C 802B3CFC C7B000A4 */ lwc1 $f16, 0xa4($sp) -/* 11D310 802B3D00 45020006 */ bc1fl .L802B3D1C -/* 11D314 802B3D04 C60A0018 */ lwc1 $f10, 0x18($s0) -/* 11D318 802B3D08 46120303 */ div.s $f12, $f0, $f18 -/* 11D31C 802B3D0C 460C1083 */ div.s $f2, $f2, $f12 -/* 11D320 802B3D10 460C7383 */ div.s $f14, $f14, $f12 -/* 11D324 802B3D14 460C8403 */ div.s $f16, $f16, $f12 -/* 11D328 802B3D18 C60A0018 */ lwc1 $f10, 0x18($s0) -.L802B3D1C: -/* 11D32C 802B3D1C E6020024 */ swc1 $f2, 0x24($s0) -/* 11D330 802B3D20 E60E0028 */ swc1 $f14, 0x28($s0) -/* 11D334 802B3D24 E610002C */ swc1 $f16, 0x2c($s0) -/* 11D338 802B3D28 E7AA0068 */ swc1 $f10, 0x68($sp) -/* 11D33C 802B3D2C C604001C */ lwc1 $f4, 0x1c($s0) -/* 11D340 802B3D30 4405D000 */ mfc1 $a1, $f26 -/* 11D344 802B3D34 26040030 */ addiu $a0, $s0, 0x30 -/* 11D348 802B3D38 E7A4006C */ swc1 $f4, 0x6c($sp) -/* 11D34C 802B3D3C C6060020 */ lwc1 $f6, 0x20($s0) -/* 11D350 802B3D40 E7A60070 */ swc1 $f6, 0x70($sp) -/* 11D354 802B3D44 C6080018 */ lwc1 $f8, 0x18($s0) -/* 11D358 802B3D48 C604001C */ lwc1 $f4, 0x1c($s0) -/* 11D35C 802B3D4C 46024280 */ add.s $f10, $f8, $f2 -/* 11D360 802B3D50 C6080020 */ lwc1 $f8, 0x20($s0) -/* 11D364 802B3D54 460E2180 */ add.s $f6, $f4, $f14 -/* 11D368 802B3D58 E60A0018 */ swc1 $f10, 0x18($s0) -/* 11D36C 802B3D5C 8E060018 */ lw $a2, 0x18($s0) -/* 11D370 802B3D60 46104280 */ add.s $f10, $f8, $f16 -/* 11D374 802B3D64 E606001C */ swc1 $f6, 0x1c($s0) -/* 11D378 802B3D68 8E07001C */ lw $a3, 0x1c($s0) -/* 11D37C 802B3D6C E60A0020 */ swc1 $f10, 0x20($s0) -/* 11D380 802B3D70 C6040020 */ lwc1 $f4, 0x20($s0) -/* 11D384 802B3D74 C7AA0070 */ lwc1 $f10, 0x70($sp) -/* 11D388 802B3D78 C7A8006C */ lwc1 $f8, 0x6c($sp) -/* 11D38C 802B3D7C C7A60068 */ lwc1 $f6, 0x68($sp) -/* 11D390 802B3D80 E7A40010 */ swc1 $f4, 0x10($sp) -/* 11D394 802B3D84 E7AA001C */ swc1 $f10, 0x1c($sp) -/* 11D398 802B3D88 E7A80018 */ swc1 $f8, 0x18($sp) -/* 11D39C 802B3D8C 0C0AB654 */ jal func_802AD950 -/* 11D3A0 802B3D90 E7A60014 */ swc1 $f6, 0x14($sp) -/* 11D3A4 802B3D94 0C0AD38C */ jal func_802B4E30 -/* 11D3A8 802B3D98 02002025 */ move $a0, $s0 -/* 11D3AC 802B3D9C 1000002F */ b .L802B3E5C -/* 11D3B0 802B3DA0 8FBF0054 */ lw $ra, 0x54($sp) -/* 11D3B4 802B3DA4 44812000 */ mtc1 $at, $f4 -.L802B3DA8: -/* 11D3B8 802B3DA8 000678C0 */ sll $t7, $a2, 3 -/* 11D3BC 802B3DAC 012F1021 */ addu $v0, $t1, $t7 -/* 11D3C0 802B3DB0 460E203C */ c.lt.s $f4, $f14 -/* 11D3C4 802B3DB4 00000000 */ nop -/* 11D3C8 802B3DB8 45020009 */ bc1fl .L802B3DE0 -/* 11D3CC 802B3DBC 84580000 */ lh $t8, ($v0) -/* 11D3D0 802B3DC0 C606000C */ lwc1 $f6, 0xc($s0) -/* 11D3D4 802B3DC4 E6020018 */ swc1 $f2, 0x18($s0) -/* 11D3D8 802B3DC8 E61C0020 */ swc1 $f28, 0x20($s0) -/* 11D3DC 802B3DCC 460C3200 */ add.s $f8, $f6, $f12 -/* 11D3E0 802B3DD0 A6060012 */ sh $a2, 0x12($s0) -/* 11D3E4 802B3DD4 10000020 */ b .L802B3E58 -/* 11D3E8 802B3DD8 E608001C */ swc1 $f8, 0x1c($s0) -/* 11D3EC 802B3DDC 84580000 */ lh $t8, ($v0) -.L802B3DE0: -/* 11D3F0 802B3DE0 84590002 */ lh $t9, 2($v0) -/* 11D3F4 802B3DE4 844A0004 */ lh $t2, 4($v0) -/* 11D3F8 802B3DE8 44985000 */ mtc1 $t8, $f10 -/* 11D3FC 802B3DEC 44992000 */ mtc1 $t9, $f4 -/* 11D400 802B3DF0 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 11D404 802B3DF4 46805420 */ cvt.s.w $f16, $f10 -/* 11D408 802B3DF8 44810000 */ mtc1 $at, $f0 -/* 11D40C 802B3DFC 448A3000 */ mtc1 $t2, $f6 -/* 11D410 802B3E00 468024A0 */ cvt.s.w $f18, $f4 -/* 11D414 802B3E04 46101200 */ add.s $f8, $f2, $f16 -/* 11D418 802B3E08 46126100 */ add.s $f4, $f12, $f18 -/* 11D41C 802B3E0C 46004282 */ mul.s $f10, $f8, $f0 -/* 11D420 802B3E10 C608000C */ lwc1 $f8, 0xc($s0) -/* 11D424 802B3E14 468036A0 */ cvt.s.w $f26, $f6 -/* 11D428 802B3E18 46002182 */ mul.s $f6, $f4, $f0 -/* 11D42C 802B3E1C E60A0018 */ swc1 $f10, 0x18($s0) -/* 11D430 802B3E20 461AE100 */ add.s $f4, $f28, $f26 -/* 11D434 802B3E24 46083280 */ add.s $f10, $f6, $f8 -/* 11D438 802B3E28 46002182 */ mul.s $f6, $f4, $f0 -/* 11D43C 802B3E2C 46028201 */ sub.s $f8, $f16, $f2 -/* 11D440 802B3E30 E60A001C */ swc1 $f10, 0x1c($s0) -/* 11D444 802B3E34 460C9101 */ sub.s $f4, $f18, $f12 -/* 11D448 802B3E38 46004282 */ mul.s $f10, $f8, $f0 -/* 11D44C 802B3E3C E6060020 */ swc1 $f6, 0x20($s0) -/* 11D450 802B3E40 461CD201 */ sub.s $f8, $f26, $f28 -/* 11D454 802B3E44 46002182 */ mul.s $f6, $f4, $f0 -/* 11D458 802B3E48 E60A0024 */ swc1 $f10, 0x24($s0) -/* 11D45C 802B3E4C 46004282 */ mul.s $f10, $f8, $f0 -/* 11D460 802B3E50 E6060028 */ swc1 $f6, 0x28($s0) -/* 11D464 802B3E54 E60A002C */ swc1 $f10, 0x2c($s0) -.L802B3E58: -/* 11D468 802B3E58 8FBF0054 */ lw $ra, 0x54($sp) -.L802B3E5C: -/* 11D46C 802B3E5C D7B40028 */ ldc1 $f20, 0x28($sp) -/* 11D470 802B3E60 D7B60030 */ ldc1 $f22, 0x30($sp) -/* 11D474 802B3E64 D7B80038 */ ldc1 $f24, 0x38($sp) -/* 11D478 802B3E68 D7BA0040 */ ldc1 $f26, 0x40($sp) -/* 11D47C 802B3E6C D7BC0048 */ ldc1 $f28, 0x48($sp) -/* 11D480 802B3E70 8FB00050 */ lw $s0, 0x50($sp) -/* 11D484 802B3E74 03E00008 */ jr $ra -/* 11D488 802B3E78 27BD00C0 */ addiu $sp, $sp, 0xc0 diff --git a/asm/non_matchings/code_802B0210/func_802B3E7C.s b/asm/non_matchings/code_802B0210/func_802B3E7C.s deleted file mode 100644 index 6bd8fc20e..000000000 --- a/asm/non_matchings/code_802B0210/func_802B3E7C.s +++ /dev/null @@ -1,90 +0,0 @@ -glabel func_802B3E7C -/* 11D48C 802B3E7C 27BDFFB8 */ addiu $sp, $sp, -0x48 -/* 11D490 802B3E80 AFBF002C */ sw $ra, 0x2c($sp) -/* 11D494 802B3E84 AFB00028 */ sw $s0, 0x28($sp) -/* 11D498 802B3E88 C4A20014 */ lwc1 $f2, 0x14($a1) -/* 11D49C 802B3E8C C4840018 */ lwc1 $f4, 0x18($a0) -/* 11D4A0 802B3E90 C4AE001C */ lwc1 $f14, 0x1c($a1) -/* 11D4A4 802B3E94 C4860020 */ lwc1 $f6, 0x20($a0) -/* 11D4A8 802B3E98 46041081 */ sub.s $f2, $f2, $f4 -/* 11D4AC 802B3E9C 00808025 */ move $s0, $a0 -/* 11D4B0 802B3EA0 AFA5004C */ sw $a1, 0x4c($sp) -/* 11D4B4 802B3EA4 46067381 */ sub.s $f14, $f14, $f6 -/* 11D4B8 802B3EA8 46021202 */ mul.s $f8, $f2, $f2 -/* 11D4BC 802B3EAC E7A20044 */ swc1 $f2, 0x44($sp) -/* 11D4C0 802B3EB0 460E7282 */ mul.s $f10, $f14, $f14 -/* 11D4C4 802B3EB4 E7AE0040 */ swc1 $f14, 0x40($sp) -/* 11D4C8 802B3EB8 0C033850 */ jal sqrtf -/* 11D4CC 802B3EBC 460A4300 */ add.s $f12, $f8, $f10 -/* 11D4D0 802B3EC0 3C014100 */ li $at, 0x41000000 # 8.000000 -/* 11D4D4 802B3EC4 44819000 */ mtc1 $at, $f18 -/* 11D4D8 802B3EC8 44808000 */ mtc1 $zero, $f16 -/* 11D4DC 802B3ECC 8FA5004C */ lw $a1, 0x4c($sp) -/* 11D4E0 802B3ED0 46120303 */ div.s $f12, $f0, $f18 -/* 11D4E4 802B3ED4 C7A20044 */ lwc1 $f2, 0x44($sp) -/* 11D4E8 802B3ED8 C7AE0040 */ lwc1 $f14, 0x40($sp) -/* 11D4EC 802B3EDC 26040030 */ addiu $a0, $s0, 0x30 -/* 11D4F0 802B3EE0 460C8032 */ c.eq.s $f16, $f12 -/* 11D4F4 802B3EE4 00000000 */ nop -/* 11D4F8 802B3EE8 45020005 */ bc1fl .L802B3F00 -/* 11D4FC 802B3EEC 460C1083 */ div.s $f2, $f2, $f12 -/* 11D500 802B3EF0 46008086 */ mov.s $f2, $f16 -/* 11D504 802B3EF4 10000003 */ b .L802B3F04 -/* 11D508 802B3EF8 46008386 */ mov.s $f14, $f16 -/* 11D50C 802B3EFC 460C1083 */ div.s $f2, $f2, $f12 -.L802B3F00: -/* 11D510 802B3F00 460C7383 */ div.s $f14, $f14, $f12 -.L802B3F04: -/* 11D514 802B3F04 C6040018 */ lwc1 $f4, 0x18($s0) -/* 11D518 802B3F08 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 11D51C 802B3F0C E7A40030 */ swc1 $f4, 0x30($sp) -/* 11D520 802B3F10 C606001C */ lwc1 $f6, 0x1c($s0) -/* 11D524 802B3F14 E7A60034 */ swc1 $f6, 0x34($sp) -/* 11D528 802B3F18 C6080020 */ lwc1 $f8, 0x20($s0) -/* 11D52C 802B3F1C 44813000 */ mtc1 $at, $f6 -/* 11D530 802B3F20 3C01C000 */ li $at, 0xC0000000 # -2.000000 -/* 11D534 802B3F24 E7A80038 */ swc1 $f8, 0x38($sp) -/* 11D538 802B3F28 C60A0018 */ lwc1 $f10, 0x18($s0) -/* 11D53C 802B3F2C C604001C */ lwc1 $f4, 0x1c($s0) -/* 11D540 802B3F30 E6020024 */ swc1 $f2, 0x24($s0) -/* 11D544 802B3F34 46025480 */ add.s $f18, $f10, $f2 -/* 11D548 802B3F38 C60A0020 */ lwc1 $f10, 0x20($s0) -/* 11D54C 802B3F3C E60E002C */ swc1 $f14, 0x2c($s0) -/* 11D550 802B3F40 46062201 */ sub.s $f8, $f4, $f6 -/* 11D554 802B3F44 E6120018 */ swc1 $f18, 0x18($s0) -/* 11D558 802B3F48 44812000 */ mtc1 $at, $f4 -/* 11D55C 802B3F4C 460E5480 */ add.s $f18, $f10, $f14 -/* 11D560 802B3F50 E608001C */ swc1 $f8, 0x1c($s0) -/* 11D564 802B3F54 E6040028 */ swc1 $f4, 0x28($s0) -/* 11D568 802B3F58 E6120020 */ swc1 $f18, 0x20($s0) -/* 11D56C 802B3F5C 8CAE00BC */ lw $t6, 0xbc($a1) -/* 11D570 802B3F60 3C054080 */ lui $a1, 0x4080 -/* 11D574 802B3F64 000E7800 */ sll $t7, $t6, 0 -/* 11D578 802B3F68 05E30006 */ bgezl $t7, .L802B3F84 -/* 11D57C 802B3F6C C6060020 */ lwc1 $f6, 0x20($s0) -/* 11D580 802B3F70 0C0A7F72 */ jal func_8029FDC8 -/* 11D584 802B3F74 02002025 */ move $a0, $s0 -/* 11D588 802B3F78 10000011 */ b .L802B3FC0 -/* 11D58C 802B3F7C 8FBF002C */ lw $ra, 0x2c($sp) -/* 11D590 802B3F80 C6060020 */ lwc1 $f6, 0x20($s0) -.L802B3F84: -/* 11D594 802B3F84 8E060018 */ lw $a2, 0x18($s0) -/* 11D598 802B3F88 8E07001C */ lw $a3, 0x1c($s0) -/* 11D59C 802B3F8C C7A80030 */ lwc1 $f8, 0x30($sp) -/* 11D5A0 802B3F90 C7AA0034 */ lwc1 $f10, 0x34($sp) -/* 11D5A4 802B3F94 C7B20038 */ lwc1 $f18, 0x38($sp) -/* 11D5A8 802B3F98 E7A60010 */ swc1 $f6, 0x10($sp) -/* 11D5AC 802B3F9C E7A80014 */ swc1 $f8, 0x14($sp) -/* 11D5B0 802B3FA0 E7AA0018 */ swc1 $f10, 0x18($sp) -/* 11D5B4 802B3FA4 0C0AB654 */ jal func_802AD950 -/* 11D5B8 802B3FA8 E7B2001C */ swc1 $f18, 0x1c($sp) -/* 11D5BC 802B3FAC 0C0AD38C */ jal func_802B4E30 -/* 11D5C0 802B3FB0 02002025 */ move $a0, $s0 -/* 11D5C4 802B3FB4 0C0AD041 */ jal func_802B4104 -/* 11D5C8 802B3FB8 02002025 */ move $a0, $s0 -/* 11D5CC 802B3FBC 8FBF002C */ lw $ra, 0x2c($sp) -.L802B3FC0: -/* 11D5D0 802B3FC0 8FB00028 */ lw $s0, 0x28($sp) -/* 11D5D4 802B3FC4 27BD0048 */ addiu $sp, $sp, 0x48 -/* 11D5D8 802B3FC8 03E00008 */ jr $ra -/* 11D5DC 802B3FCC 00000000 */ nop diff --git a/asm/non_matchings/code_802B0210/func_802B3FD0.s b/asm/non_matchings/code_802B0210/func_802B3FD0.s deleted file mode 100644 index 7c7891488..000000000 --- a/asm/non_matchings/code_802B0210/func_802B3FD0.s +++ /dev/null @@ -1,82 +0,0 @@ -glabel func_802B3FD0 -/* 11D5E0 802B3FD0 27BDFFB8 */ addiu $sp, $sp, -0x48 -/* 11D5E4 802B3FD4 AFB60038 */ sw $s6, 0x38($sp) -/* 11D5E8 802B3FD8 AFB50034 */ sw $s5, 0x34($sp) -/* 11D5EC 802B3FDC AFB00020 */ sw $s0, 0x20($sp) -/* 11D5F0 802B3FE0 AFBE0040 */ sw $fp, 0x40($sp) -/* 11D5F4 802B3FE4 AFB7003C */ sw $s7, 0x3c($sp) -/* 11D5F8 802B3FE8 AFB40030 */ sw $s4, 0x30($sp) -/* 11D5FC 802B3FEC AFB3002C */ sw $s3, 0x2c($sp) -/* 11D600 802B3FF0 AFB20028 */ sw $s2, 0x28($sp) -/* 11D604 802B3FF4 AFB10024 */ sw $s1, 0x24($sp) -/* 11D608 802B3FF8 F7B40018 */ sdc1 $f20, 0x18($sp) -/* 11D60C 802B3FFC 3C01802C */ lui $at, %hi(D_802B9F68) # $at, 0x802c -/* 11D610 802B4000 3C10800F */ lui $s0, %hi(gPlayers) # $s0, 0x800f -/* 11D614 802B4004 3C158019 */ lui $s5, %hi(gPlayerBalloonCount) # $s5, 0x8019 -/* 11D618 802B4008 3C16800E */ lui $s6, %hi(gPlayerOne) # $s6, 0x800e -/* 11D61C 802B400C 00809025 */ move $s2, $a0 -/* 11D620 802B4010 00A09825 */ move $s3, $a1 -/* 11D624 802B4014 AFBF0044 */ sw $ra, 0x44($sp) -/* 11D628 802B4018 241EFFFF */ li $fp, -1 -/* 11D62C 802B401C C4349F68 */ lwc1 $f20, %lo(D_802B9F68)($at) -/* 11D630 802B4020 26D6C4DC */ addiu $s6, %lo(gPlayerOne) # addiu $s6, $s6, -0x3b24 -/* 11D634 802B4024 26B5D8C0 */ addiu $s5, %lo(gPlayerBalloonCount) # addiu $s5, $s5, -0x2740 -/* 11D638 802B4028 26106990 */ addiu $s0, %lo(gPlayers) # addiu $s0, $s0, 0x6990 -/* 11D63C 802B402C 00008825 */ move $s1, $zero -/* 11D640 802B4030 24140004 */ li $s4, 4 -/* 11D644 802B4034 24170DD8 */ li $s7, 3544 -.L802B4038: -/* 11D648 802B4038 960E0000 */ lhu $t6, ($s0) -/* 11D64C 802B403C 31CF8000 */ andi $t7, $t6, 0x8000 -/* 11D650 802B4040 51E00020 */ beql $t7, $zero, .L802B40C4 -/* 11D654 802B4044 26310001 */ addiu $s1, $s1, 1 -/* 11D658 802B4048 1212001D */ beq $s0, $s2, .L802B40C0 -/* 11D65C 802B404C 0011C040 */ sll $t8, $s1, 1 -/* 11D660 802B4050 02B8C821 */ addu $t9, $s5, $t8 -/* 11D664 802B4054 87280000 */ lh $t0, ($t9) -/* 11D668 802B4058 26040014 */ addiu $a0, $s0, 0x14 -/* 11D66C 802B405C 05020019 */ bltzl $t0, .L802B40C4 -/* 11D670 802B4060 26310001 */ addiu $s1, $s1, 1 -/* 11D674 802B4064 0C0AD47A */ jal func_802B51E8 -/* 11D678 802B4068 26650018 */ addiu $a1, $s3, 0x18 -/* 11D67C 802B406C 4614003C */ c.lt.s $f0, $f20 -/* 11D680 802B4070 00000000 */ nop -/* 11D684 802B4074 45020013 */ bc1fl .L802B40C4 -/* 11D688 802B4078 26310001 */ addiu $s1, $s1, 1 -/* 11D68C 802B407C 8EC90000 */ lw $t1, ($s6) -/* 11D690 802B4080 46000506 */ mov.s $f20, $f0 -/* 11D694 802B4084 02095023 */ subu $t2, $s0, $t1 -/* 11D698 802B4088 0157001A */ div $zero, $t2, $s7 -/* 11D69C 802B408C 0000F012 */ mflo $fp -/* 11D6A0 802B4090 001E5C00 */ sll $t3, $fp, 0x10 -/* 11D6A4 802B4094 000B6403 */ sra $t4, $t3, 0x10 -/* 11D6A8 802B4098 0180F025 */ move $fp, $t4 -/* 11D6AC 802B409C 16E00002 */ bnez $s7, .L802B40A8 -/* 11D6B0 802B40A0 00000000 */ nop -/* 11D6B4 802B40A4 0007000D */ break 7 -.L802B40A8: -/* 11D6B8 802B40A8 2401FFFF */ li $at, -1 -/* 11D6BC 802B40AC 16E10004 */ bne $s7, $at, .L802B40C0 -/* 11D6C0 802B40B0 3C018000 */ lui $at, 0x8000 -/* 11D6C4 802B40B4 15410002 */ bne $t2, $at, .L802B40C0 -/* 11D6C8 802B40B8 00000000 */ nop -/* 11D6CC 802B40BC 0006000D */ break 6 -.L802B40C0: -/* 11D6D0 802B40C0 26310001 */ addiu $s1, $s1, 1 -.L802B40C4: -/* 11D6D4 802B40C4 1634FFDC */ bne $s1, $s4, .L802B4038 -/* 11D6D8 802B40C8 26100DD8 */ addiu $s0, $s0, 0xdd8 -/* 11D6DC 802B40CC 8FBF0044 */ lw $ra, 0x44($sp) -/* 11D6E0 802B40D0 03C01025 */ move $v0, $fp -/* 11D6E4 802B40D4 8FBE0040 */ lw $fp, 0x40($sp) -/* 11D6E8 802B40D8 D7B40018 */ ldc1 $f20, 0x18($sp) -/* 11D6EC 802B40DC 8FB00020 */ lw $s0, 0x20($sp) -/* 11D6F0 802B40E0 8FB10024 */ lw $s1, 0x24($sp) -/* 11D6F4 802B40E4 8FB20028 */ lw $s2, 0x28($sp) -/* 11D6F8 802B40E8 8FB3002C */ lw $s3, 0x2c($sp) -/* 11D6FC 802B40EC 8FB40030 */ lw $s4, 0x30($sp) -/* 11D700 802B40F0 8FB50034 */ lw $s5, 0x34($sp) -/* 11D704 802B40F4 8FB60038 */ lw $s6, 0x38($sp) -/* 11D708 802B40F8 8FB7003C */ lw $s7, 0x3c($sp) -/* 11D70C 802B40FC 03E00008 */ jr $ra -/* 11D710 802B4100 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/non_matchings/code_802B0210/update_obj_banana.s b/asm/non_matchings/code_802B0210/update_obj_banana.s deleted file mode 100644 index ee9007bfb..000000000 --- a/asm/non_matchings/code_802B0210/update_obj_banana.s +++ /dev/null @@ -1,595 +0,0 @@ -glabel update_obj_banana -/* 11B644 802B2034 27BDFF70 */ addiu $sp, $sp, -0x90 -/* 11B648 802B2038 AFBF0024 */ sw $ra, 0x24($sp) -/* 11B64C 802B203C AFB00020 */ sw $s0, 0x20($sp) -/* 11B650 802B2040 848E0010 */ lh $t6, 0x10($a0) -/* 11B654 802B2044 94990006 */ lhu $t9, 6($a0) -/* 11B658 802B2048 3C18800F */ lui $t8, %hi(gPlayers) # $t8, 0x800f -/* 11B65C 802B204C 000E78C0 */ sll $t7, $t6, 3 -/* 11B660 802B2050 01EE7823 */ subu $t7, $t7, $t6 -/* 11B664 802B2054 000F7900 */ sll $t7, $t7, 4 -/* 11B668 802B2058 01EE7823 */ subu $t7, $t7, $t6 -/* 11B66C 802B205C 000F7880 */ sll $t7, $t7, 2 -/* 11B670 802B2060 01EE7823 */ subu $t7, $t7, $t6 -/* 11B674 802B2064 000F78C0 */ sll $t7, $t7, 3 -/* 11B678 802B2068 27186990 */ addiu $t8, %lo(gPlayers) # addiu $t8, $t8, 0x6990 -/* 11B67C 802B206C 2F210006 */ sltiu $at, $t9, 6 -/* 11B680 802B2070 00808025 */ move $s0, $a0 -/* 11B684 802B2074 10200222 */ beqz $at, .L802B2900 -/* 11B688 802B2078 01F81021 */ addu $v0, $t7, $t8 -/* 11B68C 802B207C 0019C880 */ sll $t9, $t9, 2 -/* 11B690 802B2080 3C01802C */ lui $at, %hi(jpt_802B9EC8) -/* 11B694 802B2084 00390821 */ addu $at, $at, $t9 -/* 11B698 802B2088 8C399EC8 */ lw $t9, %lo(jpt_802B9EC8)($at) -/* 11B69C 802B208C 03200008 */ jr $t9 -/* 11B6A0 802B2090 00000000 */ nop -glabel L802B2094 -/* 11B6A4 802B2094 C4440014 */ lwc1 $f4, 0x14($v0) -/* 11B6A8 802B2098 C6060018 */ lwc1 $f6, 0x18($s0) -/* 11B6AC 802B209C C4480018 */ lwc1 $f8, 0x18($v0) -/* 11B6B0 802B20A0 C60A001C */ lwc1 $f10, 0x1c($s0) -/* 11B6B4 802B20A4 46062081 */ sub.s $f2, $f4, $f6 -/* 11B6B8 802B20A8 C6060020 */ lwc1 $f6, 0x20($s0) -/* 11B6BC 802B20AC C444001C */ lwc1 $f4, 0x1c($v0) -/* 11B6C0 802B20B0 460A4381 */ sub.s $f14, $f8, $f10 -/* 11B6C4 802B20B4 46021202 */ mul.s $f8, $f2, $f2 -/* 11B6C8 802B20B8 E7A20048 */ swc1 $f2, 0x48($sp) -/* 11B6CC 802B20BC 46062401 */ sub.s $f16, $f4, $f6 -/* 11B6D0 802B20C0 460E7282 */ mul.s $f10, $f14, $f14 -/* 11B6D4 802B20C4 E7AE0044 */ swc1 $f14, 0x44($sp) -/* 11B6D8 802B20C8 AFA20088 */ sw $v0, 0x88($sp) -/* 11B6DC 802B20CC 46108182 */ mul.s $f6, $f16, $f16 -/* 11B6E0 802B20D0 E7B00040 */ swc1 $f16, 0x40($sp) -/* 11B6E4 802B20D4 460A4100 */ add.s $f4, $f8, $f10 -/* 11B6E8 802B20D8 0C033850 */ jal sqrtf -/* 11B6EC 802B20DC 46062300 */ add.s $f12, $f4, $f6 -/* 11B6F0 802B20E0 3C014120 */ li $at, 0x41200000 # 10.000000 -/* 11B6F4 802B20E4 44814000 */ mtc1 $at, $f8 -/* 11B6F8 802B20E8 44805000 */ mtc1 $zero, $f10 -/* 11B6FC 802B20EC 8FA20088 */ lw $v0, 0x88($sp) -/* 11B700 802B20F0 46080303 */ div.s $f12, $f0, $f8 -/* 11B704 802B20F4 C7A20048 */ lwc1 $f2, 0x48($sp) -/* 11B708 802B20F8 C7AE0044 */ lwc1 $f14, 0x44($sp) -/* 11B70C 802B20FC C7B00040 */ lwc1 $f16, 0x40($sp) -/* 11B710 802B2100 3C01802C */ lui $at, %hi(D_802B9EE0) # $at, 0x802c -/* 11B714 802B2104 460C5032 */ c.eq.s $f10, $f12 -/* 11B718 802B2108 00000000 */ nop -/* 11B71C 802B210C 4502000D */ bc1fl .L802B2144 -/* 11B720 802B2110 460C1083 */ div.s $f2, $f2, $f12 -/* 11B724 802B2114 C4209EE0 */ lwc1 $f0, %lo(D_802B9EE0)($at) -/* 11B728 802B2118 C4440014 */ lwc1 $f4, 0x14($v0) -/* 11B72C 802B211C 46002180 */ add.s $f6, $f4, $f0 -/* 11B730 802B2120 E6060018 */ swc1 $f6, 0x18($s0) -/* 11B734 802B2124 C4480018 */ lwc1 $f8, 0x18($v0) -/* 11B738 802B2128 46004280 */ add.s $f10, $f8, $f0 -/* 11B73C 802B212C E60A001C */ swc1 $f10, 0x1c($s0) -/* 11B740 802B2130 C444001C */ lwc1 $f4, 0x1c($v0) -/* 11B744 802B2134 46002180 */ add.s $f6, $f4, $f0 -/* 11B748 802B2138 10000010 */ b .L802B217C -/* 11B74C 802B213C E6060020 */ swc1 $f6, 0x20($s0) -/* 11B750 802B2140 460C1083 */ div.s $f2, $f2, $f12 -.L802B2144: -/* 11B754 802B2144 C4480014 */ lwc1 $f8, 0x14($v0) -/* 11B758 802B2148 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 11B75C 802B214C 460C7383 */ div.s $f14, $f14, $f12 -/* 11B760 802B2150 46024281 */ sub.s $f10, $f8, $f2 -/* 11B764 802B2154 44814000 */ mtc1 $at, $f8 -/* 11B768 802B2158 E60A0018 */ swc1 $f10, 0x18($s0) -/* 11B76C 802B215C C4440018 */ lwc1 $f4, 0x18($v0) -/* 11B770 802B2160 460C8403 */ div.s $f16, $f16, $f12 -/* 11B774 802B2164 460E2181 */ sub.s $f6, $f4, $f14 -/* 11B778 802B2168 46083281 */ sub.s $f10, $f6, $f8 -/* 11B77C 802B216C E60A001C */ swc1 $f10, 0x1c($s0) -/* 11B780 802B2170 C444001C */ lwc1 $f4, 0x1c($v0) -/* 11B784 802B2174 46102181 */ sub.s $f6, $f4, $f16 -/* 11B788 802B2178 E6060020 */ swc1 $f6, 0x20($s0) -.L802B217C: -/* 11B78C 802B217C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 11B790 802B2180 44815000 */ mtc1 $at, $f10 -/* 11B794 802B2184 C608000C */ lwc1 $f8, 0xc($s0) -/* 11B798 802B2188 C6060020 */ lwc1 $f6, 0x20($s0) -/* 11B79C 802B218C 8E060018 */ lw $a2, 0x18($s0) -/* 11B7A0 802B2190 460A4100 */ add.s $f4, $f8, $f10 -/* 11B7A4 802B2194 8E07001C */ lw $a3, 0x1c($s0) -/* 11B7A8 802B2198 AFA20088 */ sw $v0, 0x88($sp) -/* 11B7AC 802B219C 26040030 */ addiu $a0, $s0, 0x30 -/* 11B7B0 802B21A0 44052000 */ mfc1 $a1, $f4 -/* 11B7B4 802B21A4 0C0AB772 */ jal func_802ADDC8 -/* 11B7B8 802B21A8 E7A60010 */ swc1 $f6, 0x10($sp) -/* 11B7BC 802B21AC 0C0AD38C */ jal func_802B4E30 -/* 11B7C0 802B21B0 02002025 */ move $a0, $s0 -/* 11B7C4 802B21B4 8FA20088 */ lw $v0, 0x88($sp) -/* 11B7C8 802B21B8 3C0A800E */ lui $t2, %hi(D_800DC51C) # $t2, 0x800e -/* 11B7CC 802B21BC 94480000 */ lhu $t0, ($v0) -/* 11B7D0 802B21C0 31094000 */ andi $t1, $t0, 0x4000 -/* 11B7D4 802B21C4 512001CF */ beql $t1, $zero, .L802B2904 -/* 11B7D8 802B21C8 8FBF0024 */ lw $ra, 0x24($sp) -/* 11B7DC 802B21CC 954AC51C */ lhu $t2, %lo(D_800DC51C)($t2) -/* 11B7E0 802B21D0 3C03800E */ lui $v1, %hi(gControllerOne) # $v1, 0x800e -/* 11B7E4 802B21D4 24180001 */ li $t8, 1 -/* 11B7E8 802B21D8 11400003 */ beqz $t2, .L802B21E8 -/* 11B7EC 802B21DC 241900B4 */ li $t9, 180 -/* 11B7F0 802B21E0 10000006 */ b .L802B21FC -/* 11B7F4 802B21E4 8C63C4BC */ lw $v1, %lo(gControllerOne)($v1) -.L802B21E8: -/* 11B7F8 802B21E8 860B0010 */ lh $t3, 0x10($s0) -/* 11B7FC 802B21EC 3C0D800F */ lui $t5, %hi(gControllers) # $t5, 0x800f -/* 11B800 802B21F0 25AD6910 */ addiu $t5, %lo(gControllers) # addiu $t5, $t5, 0x6910 -/* 11B804 802B21F4 000B6100 */ sll $t4, $t3, 4 -/* 11B808 802B21F8 018D1821 */ addu $v1, $t4, $t5 -.L802B21FC: -/* 11B80C 802B21FC 94660008 */ lhu $a2, 8($v1) -/* 11B810 802B2200 3C01FFFB */ lui $at, (0xFFFBFFFF >> 16) # lui $at, 0xfffb -/* 11B814 802B2204 3421FFFF */ ori $at, (0xFFFBFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 11B818 802B2208 30CE2000 */ andi $t6, $a2, 0x2000 -/* 11B81C 802B220C 11C001BC */ beqz $t6, .L802B2900 -/* 11B820 802B2210 30CFDFFF */ andi $t7, $a2, 0xdfff -/* 11B824 802B2214 A46F0008 */ sh $t7, 8($v1) -/* 11B828 802B2218 A6180006 */ sh $t8, 6($s0) -/* 11B82C 802B221C A6190004 */ sh $t9, 4($s0) -/* 11B830 802B2220 8C48000C */ lw $t0, 0xc($v0) -/* 11B834 802B2224 3C0A800E */ lui $t2, %hi(gPlayerOne) # $t2, 0x800e -/* 11B838 802B2228 3C051900 */ lui $a1, (0x19008012 >> 16) # lui $a1, 0x1900 -/* 11B83C 802B222C 01014824 */ and $t1, $t0, $at -/* 11B840 802B2230 AC49000C */ sw $t1, 0xc($v0) -/* 11B844 802B2234 8D4AC4DC */ lw $t2, %lo(gPlayerOne)($t2) -/* 11B848 802B2238 24010DD8 */ li $at, 3544 -/* 11B84C 802B223C AFA30080 */ sw $v1, 0x80($sp) -/* 11B850 802B2240 004A2023 */ subu $a0, $v0, $t2 -/* 11B854 802B2244 0081001A */ div $zero, $a0, $at -/* 11B858 802B2248 00005812 */ mflo $t3 -/* 11B85C 802B224C 316400FF */ andi $a0, $t3, 0xff -/* 11B860 802B2250 AFA20088 */ sw $v0, 0x88($sp) -/* 11B864 802B2254 0C032418 */ jal func_800C9060 -/* 11B868 802B2258 34A58012 */ ori $a1, (0x19008012 & 0xFFFF) # ori $a1, $a1, 0x8012 -/* 11B86C 802B225C 8FA30080 */ lw $v1, 0x80($sp) -/* 11B870 802B2260 3C0141F0 */ li $at, 0x41F00000 # 30.000000 -/* 11B874 802B2264 44815000 */ mtc1 $at, $f10 -/* 11B878 802B2268 846D0002 */ lh $t5, 2($v1) -/* 11B87C 802B226C 8FA20088 */ lw $v0, 0x88($sp) -/* 11B880 802B2270 448D4000 */ mtc1 $t5, $f8 -/* 11B884 802B2274 00000000 */ nop -/* 11B888 802B2278 46804020 */ cvt.s.w $f0, $f8 -/* 11B88C 802B227C 4600503C */ c.lt.s $f10, $f0 -/* 11B890 802B2280 00000000 */ nop -/* 11B894 802B2284 45020037 */ bc1fl .L802B2364 -/* 11B898 802B2288 44801000 */ mtc1 $zero, $f2 -/* 11B89C 802B228C 84640000 */ lh $a0, ($v1) -/* 11B8A0 802B2290 2881000A */ slti $at, $a0, 0xa -/* 11B8A4 802B2294 10200032 */ beqz $at, .L802B2360 -/* 11B8A8 802B2298 2881FFF7 */ slti $at, $a0, -9 -/* 11B8AC 802B229C 14200030 */ bnez $at, .L802B2360 -/* 11B8B0 802B22A0 27A40068 */ addiu $a0, $sp, 0x68 -/* 11B8B4 802B22A4 3C0141F0 */ li $at, 0x41F00000 # 30.000000 -/* 11B8B8 802B22A8 44812000 */ mtc1 $at, $f4 -/* 11B8BC 802B22AC 3C0141A0 */ li $at, 0x41A00000 # 20.000000 -/* 11B8C0 802B22B0 44813000 */ mtc1 $at, $f6 -/* 11B8C4 802B22B4 46040001 */ sub.s $f0, $f0, $f4 -/* 11B8C8 802B22B8 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 11B8CC 802B22BC 44815000 */ mtc1 $at, $f10 -/* 11B8D0 802B22C0 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 11B8D4 802B22C4 46060203 */ div.s $f8, $f0, $f6 -/* 11B8D8 802B22C8 44812000 */ mtc1 $at, $f4 -/* 11B8DC 802B22CC C4420094 */ lwc1 $f2, 0x94($v0) -/* 11B8E0 802B22D0 3C013F40 */ li $at, 0x3F400000 # 0.750000 -/* 11B8E4 802B22D4 4604103C */ c.lt.s $f2, $f4 -/* 11B8E8 802B22D8 00000000 */ nop -/* 11B8EC 802B22DC 45000005 */ bc1f .L802B22F4 -/* 11B8F0 802B22E0 460A4000 */ add.s $f0, $f8, $f10 -/* 11B8F4 802B22E4 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 11B8F8 802B22E8 44816000 */ mtc1 $at, $f12 -/* 11B8FC 802B22EC 10000008 */ b .L802B2310 -/* 11B900 802B22F0 44801000 */ mtc1 $zero, $f2 -.L802B22F4: -/* 11B904 802B22F4 44813000 */ mtc1 $at, $f6 -/* 11B908 802B22F8 3C014060 */ li $at, 0x40600000 # 3.500000 -/* 11B90C 802B22FC 44815000 */ mtc1 $at, $f10 -/* 11B910 802B2300 46061202 */ mul.s $f8, $f2, $f6 -/* 11B914 802B2304 460A4100 */ add.s $f4, $f8, $f10 -/* 11B918 802B2308 46002300 */ add.s $f12, $f4, $f0 -/* 11B91C 802B230C 44801000 */ mtc1 $zero, $f2 -.L802B2310: -/* 11B920 802B2310 44060000 */ mfc1 $a2, $f0 -/* 11B924 802B2314 44076000 */ mfc1 $a3, $f12 -/* 11B928 802B2318 44051000 */ mfc1 $a1, $f2 -/* 11B92C 802B231C 0C0AD4A7 */ jal vec3f_set -/* 11B930 802B2320 AFA20088 */ sw $v0, 0x88($sp) -/* 11B934 802B2324 8FA20088 */ lw $v0, 0x88($sp) -/* 11B938 802B2328 27A40068 */ addiu $a0, $sp, 0x68 -/* 11B93C 802B232C 844E002E */ lh $t6, 0x2e($v0) -/* 11B940 802B2330 844F00C0 */ lh $t7, 0xc0($v0) -/* 11B944 802B2334 01CF2821 */ addu $a1, $t6, $t7 -/* 11B948 802B2338 0005C400 */ sll $t8, $a1, 0x10 -/* 11B94C 802B233C 0C0AD931 */ jal func_802B64C4 -/* 11B950 802B2340 00182C03 */ sra $a1, $t8, 0x10 -/* 11B954 802B2344 C7A60068 */ lwc1 $f6, 0x68($sp) -/* 11B958 802B2348 E6060024 */ swc1 $f6, 0x24($s0) -/* 11B95C 802B234C C7A8006C */ lwc1 $f8, 0x6c($sp) -/* 11B960 802B2350 E6080028 */ swc1 $f8, 0x28($s0) -/* 11B964 802B2354 C7AA0070 */ lwc1 $f10, 0x70($sp) -/* 11B968 802B2358 10000169 */ b .L802B2900 -/* 11B96C 802B235C E60A002C */ swc1 $f10, 0x2c($s0) -.L802B2360: -/* 11B970 802B2360 44801000 */ mtc1 $zero, $f2 -.L802B2364: -/* 11B974 802B2364 3C013FC0 */ li $at, 0x3FC00000 # 1.500000 -/* 11B978 802B2368 44812000 */ mtc1 $at, $f4 -/* 11B97C 802B236C E6020024 */ swc1 $f2, 0x24($s0) -/* 11B980 802B2370 E602002C */ swc1 $f2, 0x2c($s0) -/* 11B984 802B2374 10000162 */ b .L802B2900 -/* 11B988 802B2378 E6040028 */ swc1 $f4, 0x28($s0) -glabel L802B237C -/* 11B98C 802B237C 86020004 */ lh $v0, 4($s0) -/* 11B990 802B2380 3C0D8016 */ lui $t5, %hi(D_8015F6F0) # $t5, 0x8016 -/* 11B994 802B2384 10400008 */ beqz $v0, .L802B23A8 -/* 11B998 802B2388 2448FFFF */ addiu $t0, $v0, -1 -/* 11B99C 802B238C A6080004 */ sh $t0, 4($s0) -/* 11B9A0 802B2390 86090004 */ lh $t1, 4($s0) -/* 11B9A4 802B2394 55200005 */ bnel $t1, $zero, .L802B23AC -/* 11B9A8 802B2398 C6060018 */ lwc1 $f6, 0x18($s0) -/* 11B9AC 802B239C 860A0002 */ lh $t2, 2($s0) -/* 11B9B0 802B23A0 314BEFFF */ andi $t3, $t2, 0xefff -/* 11B9B4 802B23A4 A60B0002 */ sh $t3, 2($s0) -.L802B23A8: -/* 11B9B8 802B23A8 C6060018 */ lwc1 $f6, 0x18($s0) -.L802B23AC: -/* 11B9BC 802B23AC C6080024 */ lwc1 $f8, 0x24($s0) -/* 11B9C0 802B23B0 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -/* 11B9C4 802B23B4 C6000028 */ lwc1 $f0, 0x28($s0) -/* 11B9C8 802B23B8 46083280 */ add.s $f10, $f6, $f8 -/* 11B9CC 802B23BC C606002C */ lwc1 $f6, 0x2c($s0) -/* 11B9D0 802B23C0 C6040020 */ lwc1 $f4, 0x20($s0) -/* 11B9D4 802B23C4 E60A0018 */ swc1 $f10, 0x18($s0) -/* 11B9D8 802B23C8 44815000 */ mtc1 $at, $f10 -/* 11B9DC 802B23CC 46062200 */ add.s $f8, $f4, $f6 -/* 11B9E0 802B23D0 3C01802C */ lui $at, %hi(D_802B9EE4) # $at, 0x802c -/* 11B9E4 802B23D4 4600503C */ c.lt.s $f10, $f0 -/* 11B9E8 802B23D8 E6080020 */ swc1 $f8, 0x20($s0) -/* 11B9EC 802B23DC 45020006 */ bc1fl .L802B23F8 -/* 11B9F0 802B23E0 C608001C */ lwc1 $f8, 0x1c($s0) -/* 11B9F4 802B23E4 C4249EE4 */ lwc1 $f4, %lo(D_802B9EE4)($at) -/* 11B9F8 802B23E8 46040181 */ sub.s $f6, $f0, $f4 -/* 11B9FC 802B23EC E6060028 */ swc1 $f6, 0x28($s0) -/* 11BA00 802B23F0 C6000028 */ lwc1 $f0, 0x28($s0) -/* 11BA04 802B23F4 C608001C */ lwc1 $f8, 0x1c($s0) -.L802B23F8: -/* 11BA08 802B23F8 3C0C8016 */ lui $t4, %hi(D_8015F6F2) # $t4, 0x8016 -/* 11BA0C 802B23FC C60C0020 */ lwc1 $f12, 0x20($s0) -/* 11BA10 802B2400 46004280 */ add.s $f10, $f8, $f0 -/* 11BA14 802B2404 E60A001C */ swc1 $f10, 0x1c($s0) -/* 11BA18 802B2408 858CF6F2 */ lh $t4, %lo(D_8015F6F2)($t4) -/* 11BA1C 802B240C 448C2000 */ mtc1 $t4, $f4 -/* 11BA20 802B2410 00000000 */ nop -/* 11BA24 802B2414 468021A0 */ cvt.s.w $f6, $f4 -/* 11BA28 802B2418 4606603C */ c.lt.s $f12, $f6 -/* 11BA2C 802B241C 00000000 */ nop -/* 11BA30 802B2420 45010027 */ bc1t .L802B24C0 -/* 11BA34 802B2424 00000000 */ nop -/* 11BA38 802B2428 85ADF6F0 */ lh $t5, %lo(D_8015F6F0)($t5) -/* 11BA3C 802B242C 3C0E8016 */ lui $t6, %hi(D_8015F6EA) # $t6, 0x8016 -/* 11BA40 802B2430 448D4000 */ mtc1 $t5, $f8 -/* 11BA44 802B2434 00000000 */ nop -/* 11BA48 802B2438 468042A0 */ cvt.s.w $f10, $f8 -/* 11BA4C 802B243C 460C503C */ c.lt.s $f10, $f12 -/* 11BA50 802B2440 00000000 */ nop -/* 11BA54 802B2444 4501001E */ bc1t .L802B24C0 -/* 11BA58 802B2448 00000000 */ nop -/* 11BA5C 802B244C 85CEF6EA */ lh $t6, %lo(D_8015F6EA)($t6) -/* 11BA60 802B2450 C6000018 */ lwc1 $f0, 0x18($s0) -/* 11BA64 802B2454 3C0F8016 */ lui $t7, %hi(D_8015F6E8) # $t7, 0x8016 -/* 11BA68 802B2458 448E2000 */ mtc1 $t6, $f4 -/* 11BA6C 802B245C 00000000 */ nop -/* 11BA70 802B2460 468021A0 */ cvt.s.w $f6, $f4 -/* 11BA74 802B2464 4606003C */ c.lt.s $f0, $f6 -/* 11BA78 802B2468 00000000 */ nop -/* 11BA7C 802B246C 45010014 */ bc1t .L802B24C0 -/* 11BA80 802B2470 00000000 */ nop -/* 11BA84 802B2474 85EFF6E8 */ lh $t7, %lo(D_8015F6E8)($t7) -/* 11BA88 802B2478 3C188016 */ lui $t8, %hi(D_8015F6EE) # $t8, 0x8016 -/* 11BA8C 802B247C 448F4000 */ mtc1 $t7, $f8 -/* 11BA90 802B2480 00000000 */ nop -/* 11BA94 802B2484 468042A0 */ cvt.s.w $f10, $f8 -/* 11BA98 802B2488 4600503C */ c.lt.s $f10, $f0 -/* 11BA9C 802B248C 00000000 */ nop -/* 11BAA0 802B2490 4501000B */ bc1t .L802B24C0 -/* 11BAA4 802B2494 00000000 */ nop -/* 11BAA8 802B2498 8718F6EE */ lh $t8, %lo(D_8015F6EE)($t8) -/* 11BAAC 802B249C C602001C */ lwc1 $f2, 0x1c($s0) -/* 11BAB0 802B24A0 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 11BAB4 802B24A4 44982000 */ mtc1 $t8, $f4 -/* 11BAB8 802B24A8 00000000 */ nop -/* 11BABC 802B24AC 468021A0 */ cvt.s.w $f6, $f4 -/* 11BAC0 802B24B0 4606103C */ c.lt.s $f2, $f6 -/* 11BAC4 802B24B4 00000000 */ nop -/* 11BAC8 802B24B8 45020006 */ bc1fl .L802B24D4 -/* 11BACC 802B24BC C608000C */ lwc1 $f8, 0xc($s0) -.L802B24C0: -/* 11BAD0 802B24C0 0C0A7F72 */ jal func_8029FDC8 -/* 11BAD4 802B24C4 02002025 */ move $a0, $s0 -/* 11BAD8 802B24C8 1000010E */ b .L802B2904 -/* 11BADC 802B24CC 8FBF0024 */ lw $ra, 0x24($sp) -/* 11BAE0 802B24D0 C608000C */ lwc1 $f8, 0xc($s0) -.L802B24D4: -/* 11BAE4 802B24D4 44815000 */ mtc1 $at, $f10 -/* 11BAE8 802B24D8 44060000 */ mfc1 $a2, $f0 -/* 11BAEC 802B24DC 44071000 */ mfc1 $a3, $f2 -/* 11BAF0 802B24E0 460A4100 */ add.s $f4, $f8, $f10 -/* 11BAF4 802B24E4 E7AC0010 */ swc1 $f12, 0x10($sp) -/* 11BAF8 802B24E8 26040030 */ addiu $a0, $s0, 0x30 -/* 11BAFC 802B24EC 44052000 */ mfc1 $a1, $f4 -/* 11BB00 802B24F0 0C0AB772 */ jal func_802ADDC8 -/* 11BB04 802B24F4 00000000 */ nop -/* 11BB08 802B24F8 24190001 */ li $t9, 1 -/* 11BB0C 802B24FC 3328FFFF */ andi $t0, $t9, 0xffff -/* 11BB10 802B2500 110000FF */ beqz $t0, .L802B2900 -/* 11BB14 802B2504 A6190034 */ sh $t9, 0x34($s0) -/* 11BB18 802B2508 C6060044 */ lwc1 $f6, 0x44($s0) -/* 11BB1C 802B250C 44804000 */ mtc1 $zero, $f8 -/* 11BB20 802B2510 00000000 */ nop -/* 11BB24 802B2514 4608303C */ c.lt.s $f6, $f8 -/* 11BB28 802B2518 00000000 */ nop -/* 11BB2C 802B251C 450200F9 */ bc1fl .L802B2904 -/* 11BB30 802B2520 8FBF0024 */ lw $ra, 0x24($sp) -/* 11BB34 802B2524 C60A0060 */ lwc1 $f10, 0x60($s0) -/* 11BB38 802B2528 240B0004 */ li $t3, 4 -/* 11BB3C 802B252C 46005107 */ neg.s $f4, $f10 -/* 11BB40 802B2530 E7A40074 */ swc1 $f4, 0x74($sp) -/* 11BB44 802B2534 C6060064 */ lwc1 $f6, 0x64($s0) -/* 11BB48 802B2538 46003207 */ neg.s $f8, $f6 -/* 11BB4C 802B253C E7A80078 */ swc1 $f8, 0x78($sp) -/* 11BB50 802B2540 C60A0068 */ lwc1 $f10, 0x68($s0) -/* 11BB54 802B2544 C7A80074 */ lwc1 $f8, 0x74($sp) -/* 11BB58 802B2548 46005107 */ neg.s $f4, $f10 -/* 11BB5C 802B254C E7A4007C */ swc1 $f4, 0x7c($sp) -/* 11BB60 802B2550 C6000044 */ lwc1 $f0, 0x44($s0) -/* 11BB64 802B2554 C6060018 */ lwc1 $f6, 0x18($s0) -/* 11BB68 802B2558 86090002 */ lh $t1, 2($s0) -/* 11BB6C 802B255C 46004282 */ mul.s $f10, $f8, $f0 -/* 11BB70 802B2560 C608001C */ lwc1 $f8, 0x1c($s0) -/* 11BB74 802B2564 312AEFFF */ andi $t2, $t1, 0xefff -/* 11BB78 802B2568 460A3100 */ add.s $f4, $f6, $f10 -/* 11BB7C 802B256C E6040018 */ swc1 $f4, 0x18($s0) -/* 11BB80 802B2570 C7A60078 */ lwc1 $f6, 0x78($sp) -/* 11BB84 802B2574 46003282 */ mul.s $f10, $f6, $f0 -/* 11BB88 802B2578 C6060020 */ lwc1 $f6, 0x20($s0) -/* 11BB8C 802B257C 460A4100 */ add.s $f4, $f8, $f10 -/* 11BB90 802B2580 E604001C */ swc1 $f4, 0x1c($s0) -/* 11BB94 802B2584 C7A8007C */ lwc1 $f8, 0x7c($sp) -/* 11BB98 802B2588 A60A0002 */ sh $t2, 2($s0) -/* 11BB9C 802B258C A60B0006 */ sh $t3, 6($s0) -/* 11BBA0 802B2590 46004282 */ mul.s $f10, $f8, $f0 -/* 11BBA4 802B2594 460A3100 */ add.s $f4, $f6, $f10 -/* 11BBA8 802B2598 100000D9 */ b .L802B2900 -/* 11BBAC 802B259C E6040020 */ swc1 $f4, 0x20($s0) -glabel L802B25A0 -/* 11BBB0 802B25A0 44800000 */ mtc1 $zero, $f0 -/* 11BBB4 802B25A4 3C01C0A0 */ li $at, 0xC0A00000 # -5.000000 -/* 11BBB8 802B25A8 44811000 */ mtc1 $at, $f2 -/* 11BBBC 802B25AC E7A00068 */ swc1 $f0, 0x68($sp) -/* 11BBC0 802B25B0 E7A0006C */ swc1 $f0, 0x6c($sp) -/* 11BBC4 802B25B4 E7A20070 */ swc1 $f2, 0x70($sp) -/* 11BBC8 802B25B8 844D00C0 */ lh $t5, 0xc0($v0) -/* 11BBCC 802B25BC 844C002E */ lh $t4, 0x2e($v0) -/* 11BBD0 802B25C0 AFA20088 */ sw $v0, 0x88($sp) -/* 11BBD4 802B25C4 27A40068 */ addiu $a0, $sp, 0x68 -/* 11BBD8 802B25C8 018D2821 */ addu $a1, $t4, $t5 -/* 11BBDC 802B25CC 00057400 */ sll $t6, $a1, 0x10 -/* 11BBE0 802B25D0 0C0AD931 */ jal func_802B64C4 -/* 11BBE4 802B25D4 000E2C03 */ sra $a1, $t6, 0x10 -/* 11BBE8 802B25D8 8FA20088 */ lw $v0, 0x88($sp) -/* 11BBEC 802B25DC C7A80068 */ lwc1 $f8, 0x68($sp) -/* 11BBF0 802B25E0 C7AA006C */ lwc1 $f10, 0x6c($sp) -/* 11BBF4 802B25E4 C4460014 */ lwc1 $f6, 0x14($v0) -/* 11BBF8 802B25E8 C4440018 */ lwc1 $f4, 0x18($v0) -/* 11BBFC 802B25EC 46064480 */ add.s $f18, $f8, $f6 -/* 11BC00 802B25F0 C7A80070 */ lwc1 $f8, 0x70($sp) -/* 11BC04 802B25F4 C446001C */ lwc1 $f6, 0x1c($v0) -/* 11BC08 802B25F8 46045000 */ add.s $f0, $f10, $f4 -/* 11BC0C 802B25FC 46064280 */ add.s $f10, $f8, $f6 -/* 11BC10 802B2600 E7AA0034 */ swc1 $f10, 0x34($sp) -/* 11BC14 802B2604 C6040018 */ lwc1 $f4, 0x18($s0) -/* 11BC18 802B2608 C608001C */ lwc1 $f8, 0x1c($s0) -/* 11BC1C 802B260C C6060020 */ lwc1 $f6, 0x20($s0) -/* 11BC20 802B2610 46049081 */ sub.s $f2, $f18, $f4 -/* 11BC24 802B2614 E7B2003C */ swc1 $f18, 0x3c($sp) -/* 11BC28 802B2618 E7A00038 */ swc1 $f0, 0x38($sp) -/* 11BC2C 802B261C 46080381 */ sub.s $f14, $f0, $f8 -/* 11BC30 802B2620 46021102 */ mul.s $f4, $f2, $f2 -/* 11BC34 802B2624 E7A20048 */ swc1 $f2, 0x48($sp) -/* 11BC38 802B2628 46065401 */ sub.s $f16, $f10, $f6 -/* 11BC3C 802B262C 460E7202 */ mul.s $f8, $f14, $f14 -/* 11BC40 802B2630 E7AE0044 */ swc1 $f14, 0x44($sp) -/* 11BC44 802B2634 46108182 */ mul.s $f6, $f16, $f16 -/* 11BC48 802B2638 E7B00040 */ swc1 $f16, 0x40($sp) -/* 11BC4C 802B263C 46082280 */ add.s $f10, $f4, $f8 -/* 11BC50 802B2640 0C033850 */ jal sqrtf -/* 11BC54 802B2644 46065300 */ add.s $f12, $f10, $f6 -/* 11BC58 802B2648 44802000 */ mtc1 $zero, $f4 -/* 11BC5C 802B264C 8FA20088 */ lw $v0, 0x88($sp) -/* 11BC60 802B2650 C7A20048 */ lwc1 $f2, 0x48($sp) -/* 11BC64 802B2654 46040032 */ c.eq.s $f0, $f4 -/* 11BC68 802B2658 C7AE0044 */ lwc1 $f14, 0x44($sp) -/* 11BC6C 802B265C C7B00040 */ lwc1 $f16, 0x40($sp) -/* 11BC70 802B2660 C7B2003C */ lwc1 $f18, 0x3c($sp) -/* 11BC74 802B2664 4500000C */ bc1f .L802B2698 -/* 11BC78 802B2668 3C01802C */ lui $at, %hi(D_802B9EE8) # $at, 0x802c -/* 11BC7C 802B266C C4209EE8 */ lwc1 $f0, %lo(D_802B9EE8)($at) -/* 11BC80 802B2670 C4480014 */ lwc1 $f8, 0x14($v0) -/* 11BC84 802B2674 46004280 */ add.s $f10, $f8, $f0 -/* 11BC88 802B2678 E60A0018 */ swc1 $f10, 0x18($s0) -/* 11BC8C 802B267C C4460018 */ lwc1 $f6, 0x18($v0) -/* 11BC90 802B2680 46003100 */ add.s $f4, $f6, $f0 -/* 11BC94 802B2684 E604001C */ swc1 $f4, 0x1c($s0) -/* 11BC98 802B2688 C448001C */ lwc1 $f8, 0x1c($v0) -/* 11BC9C 802B268C 46004280 */ add.s $f10, $f8, $f0 -/* 11BCA0 802B2690 10000011 */ b .L802B26D8 -/* 11BCA4 802B2694 E60A0020 */ swc1 $f10, 0x20($s0) -.L802B2698: -/* 11BCA8 802B2698 46001083 */ div.s $f2, $f2, $f0 -/* 11BCAC 802B269C C7A60068 */ lwc1 $f6, 0x68($sp) -/* 11BCB0 802B26A0 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 11BCB4 802B26A4 46007383 */ div.s $f14, $f14, $f0 -/* 11BCB8 802B26A8 46029101 */ sub.s $f4, $f18, $f2 -/* 11BCBC 802B26AC 46043200 */ add.s $f8, $f6, $f4 -/* 11BCC0 802B26B0 44812000 */ mtc1 $at, $f4 -/* 11BCC4 802B26B4 E6080018 */ swc1 $f8, 0x18($s0) -/* 11BCC8 802B26B8 C7AA0038 */ lwc1 $f10, 0x38($sp) -/* 11BCCC 802B26BC 46008403 */ div.s $f16, $f16, $f0 -/* 11BCD0 802B26C0 460E5181 */ sub.s $f6, $f10, $f14 -/* 11BCD4 802B26C4 46043201 */ sub.s $f8, $f6, $f4 -/* 11BCD8 802B26C8 E608001C */ swc1 $f8, 0x1c($s0) -/* 11BCDC 802B26CC C7AA0034 */ lwc1 $f10, 0x34($sp) -/* 11BCE0 802B26D0 46105181 */ sub.s $f6, $f10, $f16 -/* 11BCE4 802B26D4 E6060020 */ swc1 $f6, 0x20($s0) -.L802B26D8: -/* 11BCE8 802B26D8 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 11BCEC 802B26DC 44814000 */ mtc1 $at, $f8 -/* 11BCF0 802B26E0 C604000C */ lwc1 $f4, 0xc($s0) -/* 11BCF4 802B26E4 C6060020 */ lwc1 $f6, 0x20($s0) -/* 11BCF8 802B26E8 8E060018 */ lw $a2, 0x18($s0) -/* 11BCFC 802B26EC 46082280 */ add.s $f10, $f4, $f8 -/* 11BD00 802B26F0 8E07001C */ lw $a3, 0x1c($s0) -/* 11BD04 802B26F4 26040030 */ addiu $a0, $s0, 0x30 -/* 11BD08 802B26F8 E7A60010 */ swc1 $f6, 0x10($sp) -/* 11BD0C 802B26FC 44055000 */ mfc1 $a1, $f10 -/* 11BD10 802B2700 0C0AB772 */ jal func_802ADDC8 -/* 11BD14 802B2704 00000000 */ nop -/* 11BD18 802B2708 0C0AD38C */ jal func_802B4E30 -/* 11BD1C 802B270C 02002025 */ move $a0, $s0 -/* 11BD20 802B2710 1000007C */ b .L802B2904 -/* 11BD24 802B2714 8FBF0024 */ lw $ra, 0x24($sp) -glabel L802B2718 -/* 11BD28 802B2718 86180012 */ lh $t8, 0x12($s0) -/* 11BD2C 802B271C 3C088016 */ lui $t0, %hi(gActorList) # $t0, 0x8016 -/* 11BD30 802B2720 2508F9B8 */ addiu $t0, %lo(gActorList) # addiu $t0, $t0, -0x648 -/* 11BD34 802B2724 0018C8C0 */ sll $t9, $t8, 3 -/* 11BD38 802B2728 0338C823 */ subu $t9, $t9, $t8 -/* 11BD3C 802B272C 0019C900 */ sll $t9, $t9, 4 -/* 11BD40 802B2730 03281021 */ addu $v0, $t9, $t0 -/* 11BD44 802B2734 C4440018 */ lwc1 $f4, 0x18($v0) -/* 11BD48 802B2738 C6080018 */ lwc1 $f8, 0x18($s0) -/* 11BD4C 802B273C C44A001C */ lwc1 $f10, 0x1c($v0) -/* 11BD50 802B2740 C606001C */ lwc1 $f6, 0x1c($s0) -/* 11BD54 802B2744 46082081 */ sub.s $f2, $f4, $f8 -/* 11BD58 802B2748 C6080020 */ lwc1 $f8, 0x20($s0) -/* 11BD5C 802B274C C4440020 */ lwc1 $f4, 0x20($v0) -/* 11BD60 802B2750 46065381 */ sub.s $f14, $f10, $f6 -/* 11BD64 802B2754 46021282 */ mul.s $f10, $f2, $f2 -/* 11BD68 802B2758 E7A20048 */ swc1 $f2, 0x48($sp) -/* 11BD6C 802B275C 46082401 */ sub.s $f16, $f4, $f8 -/* 11BD70 802B2760 460E7182 */ mul.s $f6, $f14, $f14 -/* 11BD74 802B2764 E7AE0044 */ swc1 $f14, 0x44($sp) -/* 11BD78 802B2768 AFA20084 */ sw $v0, 0x84($sp) -/* 11BD7C 802B276C 46108202 */ mul.s $f8, $f16, $f16 -/* 11BD80 802B2770 E7B00040 */ swc1 $f16, 0x40($sp) -/* 11BD84 802B2774 46065100 */ add.s $f4, $f10, $f6 -/* 11BD88 802B2778 0C033850 */ jal sqrtf -/* 11BD8C 802B277C 46082300 */ add.s $f12, $f4, $f8 -/* 11BD90 802B2780 3C0140A0 */ li $at, 0x40A00000 # 5.000000 -/* 11BD94 802B2784 44815000 */ mtc1 $at, $f10 -/* 11BD98 802B2788 44803000 */ mtc1 $zero, $f6 -/* 11BD9C 802B278C 8FA20084 */ lw $v0, 0x84($sp) -/* 11BDA0 802B2790 460A0303 */ div.s $f12, $f0, $f10 -/* 11BDA4 802B2794 C7A20048 */ lwc1 $f2, 0x48($sp) -/* 11BDA8 802B2798 C7AE0044 */ lwc1 $f14, 0x44($sp) -/* 11BDAC 802B279C C7B00040 */ lwc1 $f16, 0x40($sp) -/* 11BDB0 802B27A0 3C01802C */ lui $at, %hi(D_802B9EEC) # $at, 0x802c -/* 11BDB4 802B27A4 460C3032 */ c.eq.s $f6, $f12 -/* 11BDB8 802B27A8 00000000 */ nop -/* 11BDBC 802B27AC 4502000D */ bc1fl .L802B27E4 -/* 11BDC0 802B27B0 460C1083 */ div.s $f2, $f2, $f12 -/* 11BDC4 802B27B4 C4209EEC */ lwc1 $f0, %lo(D_802B9EEC)($at) -/* 11BDC8 802B27B8 C4440018 */ lwc1 $f4, 0x18($v0) -/* 11BDCC 802B27BC 46002200 */ add.s $f8, $f4, $f0 -/* 11BDD0 802B27C0 E6080018 */ swc1 $f8, 0x18($s0) -/* 11BDD4 802B27C4 C44A001C */ lwc1 $f10, 0x1c($v0) -/* 11BDD8 802B27C8 46005180 */ add.s $f6, $f10, $f0 -/* 11BDDC 802B27CC E606001C */ swc1 $f6, 0x1c($s0) -/* 11BDE0 802B27D0 C4440020 */ lwc1 $f4, 0x20($v0) -/* 11BDE4 802B27D4 46002200 */ add.s $f8, $f4, $f0 -/* 11BDE8 802B27D8 10000010 */ b .L802B281C -/* 11BDEC 802B27DC E6080020 */ swc1 $f8, 0x20($s0) -/* 11BDF0 802B27E0 460C1083 */ div.s $f2, $f2, $f12 -.L802B27E4: -/* 11BDF4 802B27E4 C44A0018 */ lwc1 $f10, 0x18($v0) -/* 11BDF8 802B27E8 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 11BDFC 802B27EC 460C7383 */ div.s $f14, $f14, $f12 -/* 11BE00 802B27F0 46025181 */ sub.s $f6, $f10, $f2 -/* 11BE04 802B27F4 44815000 */ mtc1 $at, $f10 -/* 11BE08 802B27F8 E6060018 */ swc1 $f6, 0x18($s0) -/* 11BE0C 802B27FC C444001C */ lwc1 $f4, 0x1c($v0) -/* 11BE10 802B2800 460C8403 */ div.s $f16, $f16, $f12 -/* 11BE14 802B2804 460E2201 */ sub.s $f8, $f4, $f14 -/* 11BE18 802B2808 460A4181 */ sub.s $f6, $f8, $f10 -/* 11BE1C 802B280C E606001C */ swc1 $f6, 0x1c($s0) -/* 11BE20 802B2810 C4440020 */ lwc1 $f4, 0x20($v0) -/* 11BE24 802B2814 46102201 */ sub.s $f8, $f4, $f16 -/* 11BE28 802B2818 E6080020 */ swc1 $f8, 0x20($s0) -.L802B281C: -/* 11BE2C 802B281C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 11BE30 802B2820 44813000 */ mtc1 $at, $f6 -/* 11BE34 802B2824 C60A000C */ lwc1 $f10, 0xc($s0) -/* 11BE38 802B2828 C6080020 */ lwc1 $f8, 0x20($s0) -/* 11BE3C 802B282C 8E060018 */ lw $a2, 0x18($s0) -/* 11BE40 802B2830 46065100 */ add.s $f4, $f10, $f6 -/* 11BE44 802B2834 8E07001C */ lw $a3, 0x1c($s0) -/* 11BE48 802B2838 26040030 */ addiu $a0, $s0, 0x30 -/* 11BE4C 802B283C E7A80010 */ swc1 $f8, 0x10($sp) -/* 11BE50 802B2840 44052000 */ mfc1 $a1, $f4 -/* 11BE54 802B2844 0C0AB772 */ jal func_802ADDC8 -/* 11BE58 802B2848 00000000 */ nop -/* 11BE5C 802B284C 0C0AD38C */ jal func_802B4E30 -/* 11BE60 802B2850 02002025 */ move $a0, $s0 -/* 11BE64 802B2854 1000002B */ b .L802B2904 -/* 11BE68 802B2858 8FBF0024 */ lw $ra, 0x24($sp) -glabel L802B285C -/* 11BE6C 802B285C 3C01C0A0 */ li $at, 0xC0A00000 # -5.000000 -/* 11BE70 802B2860 44811000 */ mtc1 $at, $f2 -/* 11BE74 802B2864 3C01802C */ lui $at, %hi(D_802B9EF0) # $at, 0x802c -/* 11BE78 802B2868 C4269EF0 */ lwc1 $f6, %lo(D_802B9EF0)($at) -/* 11BE7C 802B286C C60A0028 */ lwc1 $f10, 0x28($s0) -/* 11BE80 802B2870 46065101 */ sub.s $f4, $f10, $f6 -/* 11BE84 802B2874 E6040028 */ swc1 $f4, 0x28($s0) -/* 11BE88 802B2878 C6000028 */ lwc1 $f0, 0x28($s0) -/* 11BE8C 802B287C 4602003C */ c.lt.s $f0, $f2 -/* 11BE90 802B2880 00000000 */ nop -/* 11BE94 802B2884 45020004 */ bc1fl .L802B2898 -/* 11BE98 802B2888 860F0004 */ lh $t7, 4($s0) -/* 11BE9C 802B288C E6020028 */ swc1 $f2, 0x28($s0) -/* 11BEA0 802B2890 C6000028 */ lwc1 $f0, 0x28($s0) -/* 11BEA4 802B2894 860F0004 */ lh $t7, 4($s0) -.L802B2898: -/* 11BEA8 802B2898 C608001C */ lwc1 $f8, 0x1c($s0) -/* 11BEAC 802B289C 86090010 */ lh $t1, 0x10($s0) -/* 11BEB0 802B28A0 25F8FFFF */ addiu $t8, $t7, -1 -/* 11BEB4 802B28A4 860B0012 */ lh $t3, 0x12($s0) -/* 11BEB8 802B28A8 860D0014 */ lh $t5, 0x14($s0) -/* 11BEBC 802B28AC A6180004 */ sh $t8, 4($s0) -/* 11BEC0 802B28B0 46004280 */ add.s $f10, $f8, $f0 -/* 11BEC4 802B28B4 86190004 */ lh $t9, 4($s0) -/* 11BEC8 802B28B8 252A016C */ addiu $t2, $t1, 0x16c -/* 11BECC 802B28BC 256CFA50 */ addiu $t4, $t3, -0x5b0 -/* 11BED0 802B28C0 25AE038E */ addiu $t6, $t5, 0x38e -/* 11BED4 802B28C4 E60A001C */ swc1 $f10, 0x1c($s0) -/* 11BED8 802B28C8 A60A0010 */ sh $t2, 0x10($s0) -/* 11BEDC 802B28CC A60C0012 */ sh $t4, 0x12($s0) -/* 11BEE0 802B28D0 1720000B */ bnez $t9, .L802B2900 -/* 11BEE4 802B28D4 A60E0014 */ sh $t6, 0x14($s0) -/* 11BEE8 802B28D8 0C0A7A15 */ jal destroy_actor -/* 11BEEC 802B28DC 02002025 */ move $a0, $s0 -/* 11BEF0 802B28E0 10000008 */ b .L802B2904 -/* 11BEF4 802B28E4 8FBF0024 */ lw $ra, 0x24($sp) -glabel L802B28E8 -/* 11BEF8 802B28E8 86080002 */ lh $t0, 2($s0) -/* 11BEFC 802B28EC 3509C000 */ ori $t1, $t0, 0xc000 -/* 11BF00 802B28F0 A6090002 */ sh $t1, 2($s0) -/* 11BF04 802B28F4 860A0002 */ lh $t2, 2($s0) -/* 11BF08 802B28F8 314BEFFF */ andi $t3, $t2, 0xefff -/* 11BF0C 802B28FC A60B0002 */ sh $t3, 2($s0) -.L802B2900: -/* 11BF10 802B2900 8FBF0024 */ lw $ra, 0x24($sp) -.L802B2904: -/* 11BF14 802B2904 8FB00020 */ lw $s0, 0x20($sp) -/* 11BF18 802B2908 27BD0090 */ addiu $sp, $sp, 0x90 -/* 11BF1C 802B290C 03E00008 */ jr $ra -/* 11BF20 802B2910 00000000 */ nop diff --git a/asm/non_matchings/code_802B0210/update_obj_banana_bunch.s b/asm/non_matchings/code_802B0210/update_obj_banana_bunch.s deleted file mode 100644 index 91b187b80..000000000 --- a/asm/non_matchings/code_802B0210/update_obj_banana_bunch.s +++ /dev/null @@ -1,268 +0,0 @@ -glabel update_obj_banana_bunch -/* 11A038 802B0A28 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 11A03C 802B0A2C AFBF001C */ sw $ra, 0x1c($sp) -/* 11A040 802B0A30 AFB00018 */ sw $s0, 0x18($sp) -/* 11A044 802B0A34 848E0010 */ lh $t6, 0x10($a0) -/* 11A048 802B0A38 94990006 */ lhu $t9, 6($a0) -/* 11A04C 802B0A3C 3C18800F */ lui $t8, %hi(gPlayers) # $t8, 0x800f -/* 11A050 802B0A40 000E78C0 */ sll $t7, $t6, 3 -/* 11A054 802B0A44 01EE7823 */ subu $t7, $t7, $t6 -/* 11A058 802B0A48 000F7900 */ sll $t7, $t7, 4 -/* 11A05C 802B0A4C 01EE7823 */ subu $t7, $t7, $t6 -/* 11A060 802B0A50 000F7880 */ sll $t7, $t7, 2 -/* 11A064 802B0A54 01EE7823 */ subu $t7, $t7, $t6 -/* 11A068 802B0A58 000F78C0 */ sll $t7, $t7, 3 -/* 11A06C 802B0A5C 27186990 */ addiu $t8, %lo(gPlayers) # addiu $t8, $t8, 0x6990 -/* 11A070 802B0A60 2F210007 */ sltiu $at, $t9, 7 -/* 11A074 802B0A64 00808025 */ move $s0, $a0 -/* 11A078 802B0A68 102000E5 */ beqz $at, .L802B0E00 -/* 11A07C 802B0A6C 01F83821 */ addu $a3, $t7, $t8 -/* 11A080 802B0A70 0019C880 */ sll $t9, $t9, 2 -/* 11A084 802B0A74 3C01802C */ lui $at, %hi(jpt_802B9E98) -/* 11A088 802B0A78 00390821 */ addu $at, $at, $t9 -/* 11A08C 802B0A7C 8C399E98 */ lw $t9, %lo(jpt_802B9E98)($at) -/* 11A090 802B0A80 03200008 */ jr $t9 -/* 11A094 802B0A84 00000000 */ nop -glabel L802B0A88 -/* 11A098 802B0A88 02002025 */ move $a0, $s0 -/* 11A09C 802B0A8C 00E02825 */ move $a1, $a3 -/* 11A0A0 802B0A90 0C0ACA45 */ jal func_802B2914 -/* 11A0A4 802B0A94 00003025 */ move $a2, $zero -/* 11A0A8 802B0A98 24020004 */ li $v0, 4 -/* 11A0AC 802B0A9C 24050001 */ li $a1, 1 -/* 11A0B0 802B0AA0 A6020004 */ sh $v0, 4($s0) -/* 11A0B4 802B0AA4 A6050006 */ sh $a1, 6($s0) -/* 11A0B8 802B0AA8 100000D5 */ b .L802B0E00 -/* 11A0BC 802B0AAC A605001C */ sh $a1, 0x1c($s0) -glabel L802B0AB0 -/* 11A0C0 802B0AB0 86090004 */ lh $t1, 4($s0) -/* 11A0C4 802B0AB4 02002025 */ move $a0, $s0 -/* 11A0C8 802B0AB8 00E02825 */ move $a1, $a3 -/* 11A0CC 802B0ABC 252AFFFF */ addiu $t2, $t1, -1 -/* 11A0D0 802B0AC0 A60A0004 */ sh $t2, 4($s0) -/* 11A0D4 802B0AC4 860B0004 */ lh $t3, 4($s0) -/* 11A0D8 802B0AC8 556000CE */ bnel $t3, $zero, .L802B0E04 -/* 11A0DC 802B0ACC 8FBF001C */ lw $ra, 0x1c($sp) -/* 11A0E0 802B0AD0 0C0ACA45 */ jal func_802B2914 -/* 11A0E4 802B0AD4 24060001 */ li $a2, 1 -/* 11A0E8 802B0AD8 860D001C */ lh $t5, 0x1c($s0) -/* 11A0EC 802B0ADC 24020004 */ li $v0, 4 -/* 11A0F0 802B0AE0 240C0002 */ li $t4, 2 -/* 11A0F4 802B0AE4 25AE0001 */ addiu $t6, $t5, 1 -/* 11A0F8 802B0AE8 A6020004 */ sh $v0, 4($s0) -/* 11A0FC 802B0AEC A60C0006 */ sh $t4, 6($s0) -/* 11A100 802B0AF0 100000C3 */ b .L802B0E00 -/* 11A104 802B0AF4 A60E001C */ sh $t6, 0x1c($s0) -glabel L802B0AF8 -/* 11A108 802B0AF8 860F0004 */ lh $t7, 4($s0) -/* 11A10C 802B0AFC 02002025 */ move $a0, $s0 -/* 11A110 802B0B00 00E02825 */ move $a1, $a3 -/* 11A114 802B0B04 25F8FFFF */ addiu $t8, $t7, -1 -/* 11A118 802B0B08 A6180004 */ sh $t8, 4($s0) -/* 11A11C 802B0B0C 86190004 */ lh $t9, 4($s0) -/* 11A120 802B0B10 572000BC */ bnel $t9, $zero, .L802B0E04 -/* 11A124 802B0B14 8FBF001C */ lw $ra, 0x1c($sp) -/* 11A128 802B0B18 0C0ACA45 */ jal func_802B2914 -/* 11A12C 802B0B1C 24060002 */ li $a2, 2 -/* 11A130 802B0B20 860A001C */ lh $t2, 0x1c($s0) -/* 11A134 802B0B24 24020004 */ li $v0, 4 -/* 11A138 802B0B28 24090003 */ li $t1, 3 -/* 11A13C 802B0B2C 254B0001 */ addiu $t3, $t2, 1 -/* 11A140 802B0B30 A6020004 */ sh $v0, 4($s0) -/* 11A144 802B0B34 A6090006 */ sh $t1, 6($s0) -/* 11A148 802B0B38 100000B1 */ b .L802B0E00 -/* 11A14C 802B0B3C A60B001C */ sh $t3, 0x1c($s0) -glabel L802B0B40 -/* 11A150 802B0B40 860C0004 */ lh $t4, 4($s0) -/* 11A154 802B0B44 02002025 */ move $a0, $s0 -/* 11A158 802B0B48 00E02825 */ move $a1, $a3 -/* 11A15C 802B0B4C 258DFFFF */ addiu $t5, $t4, -1 -/* 11A160 802B0B50 A60D0004 */ sh $t5, 4($s0) -/* 11A164 802B0B54 860E0004 */ lh $t6, 4($s0) -/* 11A168 802B0B58 55C000AA */ bnel $t6, $zero, .L802B0E04 -/* 11A16C 802B0B5C 8FBF001C */ lw $ra, 0x1c($sp) -/* 11A170 802B0B60 0C0ACA45 */ jal func_802B2914 -/* 11A174 802B0B64 24060003 */ li $a2, 3 -/* 11A178 802B0B68 860F001C */ lh $t7, 0x1c($s0) -/* 11A17C 802B0B6C 24020004 */ li $v0, 4 -/* 11A180 802B0B70 A6020004 */ sh $v0, 4($s0) -/* 11A184 802B0B74 25F80001 */ addiu $t8, $t7, 1 -/* 11A188 802B0B78 A6020006 */ sh $v0, 6($s0) -/* 11A18C 802B0B7C 100000A0 */ b .L802B0E00 -/* 11A190 802B0B80 A618001C */ sh $t8, 0x1c($s0) -glabel L802B0B84 -/* 11A194 802B0B84 86190004 */ lh $t9, 4($s0) -/* 11A198 802B0B88 02002025 */ move $a0, $s0 -/* 11A19C 802B0B8C 00E02825 */ move $a1, $a3 -/* 11A1A0 802B0B90 2729FFFF */ addiu $t1, $t9, -1 -/* 11A1A4 802B0B94 A6090004 */ sh $t1, 4($s0) -/* 11A1A8 802B0B98 860A0004 */ lh $t2, 4($s0) -/* 11A1AC 802B0B9C 55400099 */ bnel $t2, $zero, .L802B0E04 -/* 11A1B0 802B0BA0 8FBF001C */ lw $ra, 0x1c($sp) -/* 11A1B4 802B0BA4 0C0ACA45 */ jal func_802B2914 -/* 11A1B8 802B0BA8 24060004 */ li $a2, 4 -/* 11A1BC 802B0BAC 860C001C */ lh $t4, 0x1c($s0) -/* 11A1C0 802B0BB0 24020004 */ li $v0, 4 -/* 11A1C4 802B0BB4 240B0005 */ li $t3, 5 -/* 11A1C8 802B0BB8 258D0001 */ addiu $t5, $t4, 1 -/* 11A1CC 802B0BBC A6020004 */ sh $v0, 4($s0) -/* 11A1D0 802B0BC0 A60B0006 */ sh $t3, 6($s0) -/* 11A1D4 802B0BC4 1000008E */ b .L802B0E00 -/* 11A1D8 802B0BC8 A60D001C */ sh $t5, 0x1c($s0) -glabel L802B0BCC -/* 11A1DC 802B0BCC 860F0012 */ lh $t7, 0x12($s0) -/* 11A1E0 802B0BD0 24030070 */ li $v1, 112 -/* 11A1E4 802B0BD4 3C028016 */ lui $v0, %hi(gActorList) # $v0, 0x8016 -/* 11A1E8 802B0BD8 01E30019 */ multu $t7, $v1 -/* 11A1EC 802B0BDC 2442F9B8 */ addiu $v0, %lo(gActorList) # addiu $v0, $v0, -0x648 -/* 11A1F0 802B0BE0 240E0006 */ li $t6, 6 -/* 11A1F4 802B0BE4 A60E0006 */ sh $t6, 6($s0) -/* 11A1F8 802B0BE8 0000C012 */ mflo $t8 -/* 11A1FC 802B0BEC 00582021 */ addu $a0, $v0, $t8 -/* 11A200 802B0BF0 84990002 */ lh $t9, 2($a0) -/* 11A204 802B0BF4 37295000 */ ori $t1, $t9, 0x5000 -/* 11A208 802B0BF8 A4890002 */ sh $t1, 2($a0) -/* 11A20C 802B0BFC 860A0014 */ lh $t2, 0x14($s0) -/* 11A210 802B0C00 01430019 */ multu $t2, $v1 -/* 11A214 802B0C04 00005812 */ mflo $t3 -/* 11A218 802B0C08 004B2821 */ addu $a1, $v0, $t3 -/* 11A21C 802B0C0C 84AC0002 */ lh $t4, 2($a1) -/* 11A220 802B0C10 358D5000 */ ori $t5, $t4, 0x5000 -/* 11A224 802B0C14 A4AD0002 */ sh $t5, 2($a1) -/* 11A228 802B0C18 860E0016 */ lh $t6, 0x16($s0) -/* 11A22C 802B0C1C 01C30019 */ multu $t6, $v1 -/* 11A230 802B0C20 00007812 */ mflo $t7 -/* 11A234 802B0C24 004F3021 */ addu $a2, $v0, $t7 -/* 11A238 802B0C28 84D80002 */ lh $t8, 2($a2) -/* 11A23C 802B0C2C 37195000 */ ori $t9, $t8, 0x5000 -/* 11A240 802B0C30 A4D90002 */ sh $t9, 2($a2) -/* 11A244 802B0C34 86090018 */ lh $t1, 0x18($s0) -/* 11A248 802B0C38 01230019 */ multu $t1, $v1 -/* 11A24C 802B0C3C 00005012 */ mflo $t2 -/* 11A250 802B0C40 004A3821 */ addu $a3, $v0, $t2 -/* 11A254 802B0C44 84EB0002 */ lh $t3, 2($a3) -/* 11A258 802B0C48 356C5000 */ ori $t4, $t3, 0x5000 -/* 11A25C 802B0C4C A4EC0002 */ sh $t4, 2($a3) -/* 11A260 802B0C50 860D001A */ lh $t5, 0x1a($s0) -/* 11A264 802B0C54 01A30019 */ multu $t5, $v1 -/* 11A268 802B0C58 00007012 */ mflo $t6 -/* 11A26C 802B0C5C 004E4021 */ addu $t0, $v0, $t6 -/* 11A270 802B0C60 850F0002 */ lh $t7, 2($t0) -/* 11A274 802B0C64 35F85000 */ ori $t8, $t7, 0x5000 -/* 11A278 802B0C68 10000065 */ b .L802B0E00 -/* 11A27C 802B0C6C A5180002 */ sh $t8, 2($t0) -glabel L802B0C70 -/* 11A280 802B0C70 86040012 */ lh $a0, 0x12($s0) -/* 11A284 802B0C74 AFA7002C */ sw $a3, 0x2c($sp) -/* 11A288 802B0C78 0C0AC270 */ jal func_802B09C0 -/* 11A28C 802B0C7C AFA00024 */ sw $zero, 0x24($sp) -/* 11A290 802B0C80 24050001 */ li $a1, 1 -/* 11A294 802B0C84 8FA30024 */ lw $v1, 0x24($sp) -/* 11A298 802B0C88 14450002 */ bne $v0, $a1, .L802B0C94 -/* 11A29C 802B0C8C 8FA7002C */ lw $a3, 0x2c($sp) -/* 11A2A0 802B0C90 00A01825 */ move $v1, $a1 -.L802B0C94: -/* 11A2A4 802B0C94 86040014 */ lh $a0, 0x14($s0) -/* 11A2A8 802B0C98 AFA7002C */ sw $a3, 0x2c($sp) -/* 11A2AC 802B0C9C 0C0AC270 */ jal func_802B09C0 -/* 11A2B0 802B0CA0 AFA30024 */ sw $v1, 0x24($sp) -/* 11A2B4 802B0CA4 24050001 */ li $a1, 1 -/* 11A2B8 802B0CA8 8FA30024 */ lw $v1, 0x24($sp) -/* 11A2BC 802B0CAC 14450002 */ bne $v0, $a1, .L802B0CB8 -/* 11A2C0 802B0CB0 8FA7002C */ lw $a3, 0x2c($sp) -/* 11A2C4 802B0CB4 24630001 */ addiu $v1, $v1, 1 -.L802B0CB8: -/* 11A2C8 802B0CB8 86040016 */ lh $a0, 0x16($s0) -/* 11A2CC 802B0CBC AFA7002C */ sw $a3, 0x2c($sp) -/* 11A2D0 802B0CC0 0C0AC270 */ jal func_802B09C0 -/* 11A2D4 802B0CC4 AFA30024 */ sw $v1, 0x24($sp) -/* 11A2D8 802B0CC8 24050001 */ li $a1, 1 -/* 11A2DC 802B0CCC 8FA30024 */ lw $v1, 0x24($sp) -/* 11A2E0 802B0CD0 14450002 */ bne $v0, $a1, .L802B0CDC -/* 11A2E4 802B0CD4 8FA7002C */ lw $a3, 0x2c($sp) -/* 11A2E8 802B0CD8 24630001 */ addiu $v1, $v1, 1 -.L802B0CDC: -/* 11A2EC 802B0CDC 86040018 */ lh $a0, 0x18($s0) -/* 11A2F0 802B0CE0 AFA7002C */ sw $a3, 0x2c($sp) -/* 11A2F4 802B0CE4 0C0AC270 */ jal func_802B09C0 -/* 11A2F8 802B0CE8 AFA30024 */ sw $v1, 0x24($sp) -/* 11A2FC 802B0CEC 24050001 */ li $a1, 1 -/* 11A300 802B0CF0 8FA30024 */ lw $v1, 0x24($sp) -/* 11A304 802B0CF4 14450002 */ bne $v0, $a1, .L802B0D00 -/* 11A308 802B0CF8 8FA7002C */ lw $a3, 0x2c($sp) -/* 11A30C 802B0CFC 24630001 */ addiu $v1, $v1, 1 -.L802B0D00: -/* 11A310 802B0D00 8604001A */ lh $a0, 0x1a($s0) -/* 11A314 802B0D04 AFA7002C */ sw $a3, 0x2c($sp) -/* 11A318 802B0D08 0C0AC270 */ jal func_802B09C0 -/* 11A31C 802B0D0C AFA30024 */ sw $v1, 0x24($sp) -/* 11A320 802B0D10 24050001 */ li $a1, 1 -/* 11A324 802B0D14 8FA30024 */ lw $v1, 0x24($sp) -/* 11A328 802B0D18 14450002 */ bne $v0, $a1, .L802B0D24 -/* 11A32C 802B0D1C 8FA7002C */ lw $a3, 0x2c($sp) -/* 11A330 802B0D20 24630001 */ addiu $v1, $v1, 1 -.L802B0D24: -/* 11A334 802B0D24 1460000A */ bnez $v1, .L802B0D50 -/* 11A338 802B0D28 02002025 */ move $a0, $s0 -/* 11A33C 802B0D2C 0C0A7A15 */ jal destroy_actor -/* 11A340 802B0D30 AFA7002C */ sw $a3, 0x2c($sp) -/* 11A344 802B0D34 8FA7002C */ lw $a3, 0x2c($sp) -/* 11A348 802B0D38 3C01FFFB */ lui $at, (0xFFFBFFFF >> 16) # lui $at, 0xfffb -/* 11A34C 802B0D3C 3421FFFF */ ori $at, (0xFFFBFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 11A350 802B0D40 8CF9000C */ lw $t9, 0xc($a3) -/* 11A354 802B0D44 03214824 */ and $t1, $t9, $at -/* 11A358 802B0D48 1000002D */ b .L802B0E00 -/* 11A35C 802B0D4C ACE9000C */ sw $t1, 0xc($a3) -.L802B0D50: -/* 11A360 802B0D50 94EA0000 */ lhu $t2, ($a3) -/* 11A364 802B0D54 314B4000 */ andi $t3, $t2, 0x4000 -/* 11A368 802B0D58 5160002A */ beql $t3, $zero, .L802B0E04 -/* 11A36C 802B0D5C 8FBF001C */ lw $ra, 0x1c($sp) -/* 11A370 802B0D60 860C0010 */ lh $t4, 0x10($s0) -/* 11A374 802B0D64 3C0E800F */ lui $t6, %hi(gControllers) # $t6, 0x800f -/* 11A378 802B0D68 25CE6910 */ addiu $t6, %lo(gControllers) # addiu $t6, $t6, 0x6910 -/* 11A37C 802B0D6C 000C6900 */ sll $t5, $t4, 4 -/* 11A380 802B0D70 01AE1021 */ addu $v0, $t5, $t6 -/* 11A384 802B0D74 94430006 */ lhu $v1, 6($v0) -/* 11A388 802B0D78 3C19800E */ lui $t9, %hi(gPlayerOne) # $t9, 0x800e -/* 11A38C 802B0D7C 24010DD8 */ li $at, 3544 -/* 11A390 802B0D80 306F2000 */ andi $t7, $v1, 0x2000 -/* 11A394 802B0D84 11E0001E */ beqz $t7, .L802B0E00 -/* 11A398 802B0D88 3078DFFF */ andi $t8, $v1, 0xdfff -/* 11A39C 802B0D8C A4580006 */ sh $t8, 6($v0) -/* 11A3A0 802B0D90 8F39C4DC */ lw $t9, %lo(gPlayerOne)($t9) -/* 11A3A4 802B0D94 3C051900 */ lui $a1, (0x19008012 >> 16) # lui $a1, 0x1900 -/* 11A3A8 802B0D98 34A58012 */ ori $a1, (0x19008012 & 0xFFFF) # ori $a1, $a1, 0x8012 -/* 11A3AC 802B0D9C 00F92023 */ subu $a0, $a3, $t9 -/* 11A3B0 802B0DA0 0081001A */ div $zero, $a0, $at -/* 11A3B4 802B0DA4 00004812 */ mflo $t1 -/* 11A3B8 802B0DA8 312400FF */ andi $a0, $t1, 0xff -/* 11A3BC 802B0DAC AFA7002C */ sw $a3, 0x2c($sp) -/* 11A3C0 802B0DB0 0C032418 */ jal func_800C9060 -/* 11A3C4 802B0DB4 AFA20028 */ sw $v0, 0x28($sp) -/* 11A3C8 802B0DB8 8FA20028 */ lw $v0, 0x28($sp) -/* 11A3CC 802B0DBC 8FA7002C */ lw $a3, 0x2c($sp) -/* 11A3D0 802B0DC0 84440002 */ lh $a0, 2($v0) -/* 11A3D4 802B0DC4 2881001F */ slti $at, $a0, 0x1f -/* 11A3D8 802B0DC8 1420000B */ bnez $at, .L802B0DF8 -/* 11A3DC 802B0DCC 00000000 */ nop -/* 11A3E0 802B0DD0 84430000 */ lh $v1, ($v0) -/* 11A3E4 802B0DD4 28610028 */ slti $at, $v1, 0x28 -/* 11A3E8 802B0DD8 10200007 */ beqz $at, .L802B0DF8 -/* 11A3EC 802B0DDC 2861FFD9 */ slti $at, $v1, -0x27 -/* 11A3F0 802B0DE0 14200005 */ bnez $at, .L802B0DF8 -/* 11A3F4 802B0DE4 02002825 */ move $a1, $s0 -/* 11A3F8 802B0DE8 0C0AC1E2 */ jal func_802B0788 -/* 11A3FC 802B0DEC 00E03025 */ move $a2, $a3 -/* 11A400 802B0DF0 10000004 */ b .L802B0E04 -/* 11A404 802B0DF4 8FBF001C */ lw $ra, 0x1c($sp) -.L802B0DF8: -/* 11A408 802B0DF8 0C0AC192 */ jal func_802B0648 -/* 11A40C 802B0DFC 02002025 */ move $a0, $s0 -.L802B0E00: -/* 11A410 802B0E00 8FBF001C */ lw $ra, 0x1c($sp) -.L802B0E04: -/* 11A414 802B0E04 8FB00018 */ lw $s0, 0x18($sp) -/* 11A418 802B0E08 27BD0038 */ addiu $sp, $sp, 0x38 -/* 11A41C 802B0E0C 03E00008 */ jr $ra -/* 11A420 802B0E10 00000000 */ nop diff --git a/asm/non_matchings/code_802B0210/update_obj_green_shell.s b/asm/non_matchings/code_802B0210/update_obj_green_shell.s deleted file mode 100644 index ce95168f7..000000000 --- a/asm/non_matchings/code_802B0210/update_obj_green_shell.s +++ /dev/null @@ -1,570 +0,0 @@ -glabel update_obj_green_shell -/* 11C8D4 802B32C4 3C0E8016 */ lui $t6, %hi(D_8015F6F2) # $t6, 0x8016 -/* 11C8D8 802B32C8 85CEF6F2 */ lh $t6, %lo(D_8015F6F2)($t6) -/* 11C8DC 802B32CC 27BDFF70 */ addiu $sp, $sp, -0x90 -/* 11C8E0 802B32D0 AFBF002C */ sw $ra, 0x2c($sp) -/* 11C8E4 802B32D4 448E2000 */ mtc1 $t6, $f4 -/* 11C8E8 802B32D8 AFB10028 */ sw $s1, 0x28($sp) -/* 11C8EC 802B32DC AFB00024 */ sw $s0, 0x24($sp) -/* 11C8F0 802B32E0 468021A0 */ cvt.s.w $f6, $f4 -/* 11C8F4 802B32E4 C4820020 */ lwc1 $f2, 0x20($a0) -/* 11C8F8 802B32E8 00808025 */ move $s0, $a0 -/* 11C8FC 802B32EC C4800018 */ lwc1 $f0, 0x18($a0) -/* 11C900 802B32F0 C48C001C */ lwc1 $f12, 0x1c($a0) -/* 11C904 802B32F4 3C0F8016 */ lui $t7, %hi(D_8015F6F0) # $t7, 0x8016 -/* 11C908 802B32F8 4606103C */ c.lt.s $f2, $f6 -/* 11C90C 802B32FC 00000000 */ nop -/* 11C910 802B3300 45010024 */ bc1t .L802B3394 -/* 11C914 802B3304 00000000 */ nop -/* 11C918 802B3308 85EFF6F0 */ lh $t7, %lo(D_8015F6F0)($t7) -/* 11C91C 802B330C 3C188016 */ lui $t8, %hi(D_8015F6EA) # $t8, 0x8016 -/* 11C920 802B3310 448F4000 */ mtc1 $t7, $f8 -/* 11C924 802B3314 00000000 */ nop -/* 11C928 802B3318 468042A0 */ cvt.s.w $f10, $f8 -/* 11C92C 802B331C 4602503C */ c.lt.s $f10, $f2 -/* 11C930 802B3320 00000000 */ nop -/* 11C934 802B3324 4501001B */ bc1t .L802B3394 -/* 11C938 802B3328 00000000 */ nop -/* 11C93C 802B332C 8718F6EA */ lh $t8, %lo(D_8015F6EA)($t8) -/* 11C940 802B3330 3C198016 */ lui $t9, %hi(D_8015F6E8) # $t9, 0x8016 -/* 11C944 802B3334 44989000 */ mtc1 $t8, $f18 -/* 11C948 802B3338 00000000 */ nop -/* 11C94C 802B333C 46809120 */ cvt.s.w $f4, $f18 -/* 11C950 802B3340 4604003C */ c.lt.s $f0, $f4 -/* 11C954 802B3344 00000000 */ nop -/* 11C958 802B3348 45010012 */ bc1t .L802B3394 -/* 11C95C 802B334C 00000000 */ nop -/* 11C960 802B3350 8739F6E8 */ lh $t9, %lo(D_8015F6E8)($t9) -/* 11C964 802B3354 3C088016 */ lui $t0, %hi(D_8015F6EE) # $t0, 0x8016 -/* 11C968 802B3358 44993000 */ mtc1 $t9, $f6 -/* 11C96C 802B335C 00000000 */ nop -/* 11C970 802B3360 46803220 */ cvt.s.w $f8, $f6 -/* 11C974 802B3364 4600403C */ c.lt.s $f8, $f0 -/* 11C978 802B3368 00000000 */ nop -/* 11C97C 802B336C 45010009 */ bc1t .L802B3394 -/* 11C980 802B3370 00000000 */ nop -/* 11C984 802B3374 8508F6EE */ lh $t0, %lo(D_8015F6EE)($t0) -/* 11C988 802B3378 44885000 */ mtc1 $t0, $f10 -/* 11C98C 802B337C 00000000 */ nop -/* 11C990 802B3380 468054A0 */ cvt.s.w $f18, $f10 -/* 11C994 802B3384 4612603C */ c.lt.s $f12, $f18 -/* 11C998 802B3388 00000000 */ nop -/* 11C99C 802B338C 45020004 */ bc1fl .L802B33A0 -/* 11C9A0 802B3390 86090010 */ lh $t1, 0x10($s0) -.L802B3394: -/* 11C9A4 802B3394 0C0A7F72 */ jal func_8029FDC8 -/* 11C9A8 802B3398 02002025 */ move $a0, $s0 -/* 11C9AC 802B339C 86090010 */ lh $t1, 0x10($s0) -.L802B33A0: -/* 11C9B0 802B33A0 960B0006 */ lhu $t3, 6($s0) -/* 11C9B4 802B33A4 252A071C */ addiu $t2, $t1, 0x71c -/* 11C9B8 802B33A8 2D610006 */ sltiu $at, $t3, 6 -/* 11C9BC 802B33AC 102001E0 */ beqz $at, .L802B3B30 -/* 11C9C0 802B33B0 A60A0010 */ sh $t2, 0x10($s0) -/* 11C9C4 802B33B4 000B5880 */ sll $t3, $t3, 2 -/* 11C9C8 802B33B8 3C01802C */ lui $at, %hi(jpt_802B9F44) -/* 11C9CC 802B33BC 002B0821 */ addu $at, $at, $t3 -/* 11C9D0 802B33C0 8C2B9F44 */ lw $t3, %lo(jpt_802B9F44)($at) -/* 11C9D4 802B33C4 01600008 */ jr $t3 -/* 11C9D8 802B33C8 00000000 */ nop -glabel L802B33CC -/* 11C9DC 802B33CC 860C0014 */ lh $t4, 0x14($s0) -/* 11C9E0 802B33D0 3C0E800F */ lui $t6, %hi(gPlayers) # $t6, 0x800f -/* 11C9E4 802B33D4 25CE6990 */ addiu $t6, %lo(gPlayers) # addiu $t6, $t6, 0x6990 -/* 11C9E8 802B33D8 000C68C0 */ sll $t5, $t4, 3 -/* 11C9EC 802B33DC 01AC6823 */ subu $t5, $t5, $t4 -/* 11C9F0 802B33E0 000D6900 */ sll $t5, $t5, 4 -/* 11C9F4 802B33E4 01AC6823 */ subu $t5, $t5, $t4 -/* 11C9F8 802B33E8 000D6880 */ sll $t5, $t5, 2 -/* 11C9FC 802B33EC 01AC6823 */ subu $t5, $t5, $t4 -/* 11CA00 802B33F0 000D68C0 */ sll $t5, $t5, 3 -/* 11CA04 802B33F4 01AE8821 */ addu $s1, $t5, $t6 -/* 11CA08 802B33F8 26240110 */ addiu $a0, $s1, 0x110 -/* 11CA0C 802B33FC 0C0AC084 */ jal func_802B0210 -/* 11CA10 802B3400 26050030 */ addiu $a1, $s0, 0x30 -/* 11CA14 802B3404 44808000 */ mtc1 $zero, $f16 -/* 11CA18 802B3408 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 11CA1C 802B340C 44819000 */ mtc1 $at, $f18 -/* 11CA20 802B3410 E7B0006C */ swc1 $f16, 0x6c($sp) -/* 11CA24 802B3414 C6240070 */ lwc1 $f4, 0x70($s1) -/* 11CA28 802B3418 27A4006C */ addiu $a0, $sp, 0x6c -/* 11CA2C 802B341C 26250174 */ addiu $a1, $s1, 0x174 -/* 11CA30 802B3420 E7A40070 */ swc1 $f4, 0x70($sp) -/* 11CA34 802B3424 C608000C */ lwc1 $f8, 0xc($s0) -/* 11CA38 802B3428 C6260070 */ lwc1 $f6, 0x70($s1) -/* 11CA3C 802B342C 46083280 */ add.s $f10, $f6, $f8 -/* 11CA40 802B3430 46125100 */ add.s $f4, $f10, $f18 -/* 11CA44 802B3434 46002187 */ neg.s $f6, $f4 -/* 11CA48 802B3438 0C0AD8EE */ jal func_802B63B8 -/* 11CA4C 802B343C E7A60074 */ swc1 $f6, 0x74($sp) -/* 11CA50 802B3440 C7A8006C */ lwc1 $f8, 0x6c($sp) -/* 11CA54 802B3444 C62A0014 */ lwc1 $f10, 0x14($s1) -/* 11CA58 802B3448 460A4480 */ add.s $f18, $f8, $f10 -/* 11CA5C 802B344C E6120018 */ swc1 $f18, 0x18($s0) -/* 11CA60 802B3450 C62A001C */ lwc1 $f10, 0x1c($s1) -/* 11CA64 802B3454 C7A80074 */ lwc1 $f8, 0x74($sp) -/* 11CA68 802B3458 C7A60070 */ lwc1 $f6, 0x70($sp) -/* 11CA6C 802B345C C6240018 */ lwc1 $f4, 0x18($s1) -/* 11CA70 802B3460 460A4480 */ add.s $f18, $f8, $f10 -/* 11CA74 802B3464 C60C0018 */ lwc1 $f12, 0x18($s0) -/* 11CA78 802B3468 46062381 */ sub.s $f14, $f4, $f6 -/* 11CA7C 802B346C E6120020 */ swc1 $f18, 0x20($s0) -/* 11CA80 802B3470 9627011A */ lhu $a3, 0x11a($s1) -/* 11CA84 802B3474 8E060020 */ lw $a2, 0x20($s0) -/* 11CA88 802B3478 0C0AAF8C */ jal func_802ABE30 -/* 11CA8C 802B347C E7AE0054 */ swc1 $f14, 0x54($sp) -/* 11CA90 802B3480 C7AE0054 */ lwc1 $f14, 0x54($sp) -/* 11CA94 802B3484 3C0140A0 */ li $at, 0x40A00000 # 5.000000 -/* 11CA98 802B3488 44812000 */ mtc1 $at, $f4 -/* 11CA9C 802B348C 46007081 */ sub.s $f2, $f14, $f0 -/* 11CAA0 802B3490 44808000 */ mtc1 $zero, $f16 -/* 11CAA4 802B3494 3C01C0A0 */ li $at, 0xC0A00000 # -5.000000 -/* 11CAA8 802B3498 4604103C */ c.lt.s $f2, $f4 -/* 11CAAC 802B349C 00000000 */ nop -/* 11CAB0 802B34A0 4502000C */ bc1fl .L802B34D4 -/* 11CAB4 802B34A4 E60E001C */ swc1 $f14, 0x1c($s0) -/* 11CAB8 802B34A8 44816000 */ mtc1 $at, $f12 -/* 11CABC 802B34AC 00000000 */ nop -/* 11CAC0 802B34B0 4602603C */ c.lt.s $f12, $f2 -/* 11CAC4 802B34B4 00000000 */ nop -/* 11CAC8 802B34B8 45020006 */ bc1fl .L802B34D4 -/* 11CACC 802B34BC E60E001C */ swc1 $f14, 0x1c($s0) -/* 11CAD0 802B34C0 C606000C */ lwc1 $f6, 0xc($s0) -/* 11CAD4 802B34C4 46003200 */ add.s $f8, $f6, $f0 -/* 11CAD8 802B34C8 10000002 */ b .L802B34D4 -/* 11CADC 802B34CC E608001C */ swc1 $f8, 0x1c($s0) -/* 11CAE0 802B34D0 E60E001C */ swc1 $f14, 0x1c($s0) -.L802B34D4: -/* 11CAE4 802B34D4 962F0000 */ lhu $t7, ($s1) -/* 11CAE8 802B34D8 31F84000 */ andi $t8, $t7, 0x4000 -/* 11CAEC 802B34DC 53000195 */ beql $t8, $zero, .L802B3B34 -/* 11CAF0 802B34E0 8FBF002C */ lw $ra, 0x2c($sp) -/* 11CAF4 802B34E4 86190014 */ lh $t9, 0x14($s0) -/* 11CAF8 802B34E8 3C09800F */ lui $t1, %hi(gControllers) # $t1, 0x800f -/* 11CAFC 802B34EC 25296910 */ addiu $t1, %lo(gControllers) # addiu $t1, $t1, 0x6910 -/* 11CB00 802B34F0 00194100 */ sll $t0, $t9, 4 -/* 11CB04 802B34F4 01091021 */ addu $v0, $t0, $t1 -/* 11CB08 802B34F8 94430008 */ lhu $v1, 8($v0) -/* 11CB0C 802B34FC 306A2000 */ andi $t2, $v1, 0x2000 -/* 11CB10 802B3500 5140018C */ beql $t2, $zero, .L802B3B34 -/* 11CB14 802B3504 8FBF002C */ lw $ra, 0x2c($sp) -/* 11CB18 802B3508 844C0002 */ lh $t4, 2($v0) -/* 11CB1C 802B350C 306BDFFF */ andi $t3, $v1, 0xdfff -/* 11CB20 802B3510 A44B0008 */ sh $t3, 8($v0) -/* 11CB24 802B3514 2981FFD3 */ slti $at, $t4, -0x2d -/* 11CB28 802B3518 10200034 */ beqz $at, .L802B35EC -/* 11CB2C 802B351C 240B0001 */ li $t3, 1 -/* 11CB30 802B3520 3C014100 */ li $at, 0x41000000 # 8.000000 -/* 11CB34 802B3524 44811000 */ mtc1 $at, $f2 -/* 11CB38 802B3528 C6200094 */ lwc1 $f0, 0x94($s1) -/* 11CB3C 802B352C 3C01802C */ lui $at, %hi(D_802B9F5C) # $at, 0x802c -/* 11CB40 802B3530 4600103C */ c.lt.s $f2, $f0 -/* 11CB44 802B3534 00000000 */ nop -/* 11CB48 802B3538 45020005 */ bc1fl .L802B3550 -/* 11CB4C 802B353C 46001487 */ neg.s $f18, $f2 -/* 11CB50 802B3540 C42A9F5C */ lwc1 $f10, %lo(D_802B9F5C)($at) -/* 11CB54 802B3544 460A0082 */ mul.s $f2, $f0, $f10 -/* 11CB58 802B3548 00000000 */ nop -/* 11CB5C 802B354C 46001487 */ neg.s $f18, $f2 -.L802B3550: -/* 11CB60 802B3550 E7B0006C */ swc1 $f16, 0x6c($sp) -/* 11CB64 802B3554 E7B00070 */ swc1 $f16, 0x70($sp) -/* 11CB68 802B3558 E7B20074 */ swc1 $f18, 0x74($sp) -/* 11CB6C 802B355C 862E00C0 */ lh $t6, 0xc0($s1) -/* 11CB70 802B3560 862D002E */ lh $t5, 0x2e($s1) -/* 11CB74 802B3564 27A4006C */ addiu $a0, $sp, 0x6c -/* 11CB78 802B3568 01AE2821 */ addu $a1, $t5, $t6 -/* 11CB7C 802B356C 00057C00 */ sll $t7, $a1, 0x10 -/* 11CB80 802B3570 0C0AD931 */ jal func_802B64C4 -/* 11CB84 802B3574 000F2C03 */ sra $a1, $t7, 0x10 -/* 11CB88 802B3578 C7A4006C */ lwc1 $f4, 0x6c($sp) -/* 11CB8C 802B357C 24190002 */ li $t9, 2 -/* 11CB90 802B3580 3C051900 */ lui $a1, (0x19008004 >> 16) # lui $a1, 0x1900 -/* 11CB94 802B3584 E6040024 */ swc1 $f4, 0x24($s0) -/* 11CB98 802B3588 C7A60070 */ lwc1 $f6, 0x70($sp) -/* 11CB9C 802B358C 34A58004 */ ori $a1, (0x19008004 & 0xFFFF) # ori $a1, $a1, 0x8004 -/* 11CBA0 802B3590 92040015 */ lbu $a0, 0x15($s0) -/* 11CBA4 802B3594 E6060028 */ swc1 $f6, 0x28($s0) -/* 11CBA8 802B3598 C7A80074 */ lwc1 $f8, 0x74($sp) -/* 11CBAC 802B359C A6190006 */ sh $t9, 6($s0) -/* 11CBB0 802B35A0 0C032418 */ jal func_800C9060 -/* 11CBB4 802B35A4 E608002C */ swc1 $f8, 0x2c($s0) -/* 11CBB8 802B35A8 96250254 */ lhu $a1, 0x254($s1) -/* 11CBBC 802B35AC 3C012900 */ lui $at, (0x29008000 >> 16) # lui $at, 0x2900 -/* 11CBC0 802B35B0 34218000 */ ori $at, (0x29008000 & 0xFFFF) # ori $at, $at, 0x8000 -/* 11CBC4 802B35B4 00054100 */ sll $t0, $a1, 4 -/* 11CBC8 802B35B8 01012821 */ addu $a1, $t0, $at -/* 11CBCC 802B35BC 0C03243D */ jal func_800C90F4 -/* 11CBD0 802B35C0 92040015 */ lbu $a0, 0x15($s0) -/* 11CBD4 802B35C4 3C098016 */ lui $t1, %hi(gActorList) # $t1, 0x8016 -/* 11CBD8 802B35C8 2529F9B8 */ addiu $t1, %lo(gActorList) # addiu $t1, $t1, -0x648 -/* 11CBDC 802B35CC 02092023 */ subu $a0, $s0, $t1 -/* 11CBE0 802B35D0 24010070 */ li $at, 112 -/* 11CBE4 802B35D4 0081001A */ div $zero, $a0, $at -/* 11CBE8 802B35D8 00002012 */ mflo $a0 -/* 11CBEC 802B35DC 0C003B72 */ jal func_8000EDC8 -/* 11CBF0 802B35E0 00000000 */ nop -/* 11CBF4 802B35E4 10000153 */ b .L802B3B34 -/* 11CBF8 802B35E8 8FBF002C */ lw $ra, 0x2c($sp) -.L802B35EC: -/* 11CBFC 802B35EC A60B0006 */ sh $t3, 6($s0) -/* 11CC00 802B35F0 862C00C0 */ lh $t4, 0xc0($s1) -/* 11CC04 802B35F4 240D78E3 */ li $t5, 30947 -/* 11CC08 802B35F8 240E871C */ li $t6, -30948 -/* 11CC0C 802B35FC 19800003 */ blez $t4, .L802B360C -/* 11CC10 802B3600 00000000 */ nop -/* 11CC14 802B3604 1000014A */ b .L802B3B30 -/* 11CC18 802B3608 A60D0012 */ sh $t5, 0x12($s0) -.L802B360C: -/* 11CC1C 802B360C 10000148 */ b .L802B3B30 -/* 11CC20 802B3610 A60E0012 */ sh $t6, 0x12($s0) -glabel L802B3614 -/* 11CC24 802B3614 860F0014 */ lh $t7, 0x14($s0) -/* 11CC28 802B3618 86020012 */ lh $v0, 0x12($s0) -/* 11CC2C 802B361C 3C19800F */ lui $t9, %hi(gPlayers) # $t9, 0x800f -/* 11CC30 802B3620 000FC0C0 */ sll $t8, $t7, 3 -/* 11CC34 802B3624 030FC023 */ subu $t8, $t8, $t7 -/* 11CC38 802B3628 0018C100 */ sll $t8, $t8, 4 -/* 11CC3C 802B362C 030FC023 */ subu $t8, $t8, $t7 -/* 11CC40 802B3630 0018C080 */ sll $t8, $t8, 2 -/* 11CC44 802B3634 030FC023 */ subu $t8, $t8, $t7 -/* 11CC48 802B3638 0018C0C0 */ sll $t8, $t8, 3 -/* 11CC4C 802B363C 27396990 */ addiu $t9, %lo(gPlayers) # addiu $t9, $t9, 0x6990 -/* 11CC50 802B3640 1840001E */ blez $v0, .L802B36BC -/* 11CC54 802B3644 03198821 */ addu $s1, $t8, $t9 -/* 11CC58 802B3648 2448F1C8 */ addiu $t0, $v0, -0xe38 -/* 11CC5C 802B364C A6080012 */ sh $t0, 0x12($s0) -/* 11CC60 802B3650 86090012 */ lh $t1, 0x12($s0) -/* 11CC64 802B3654 240A0002 */ li $t2, 2 -/* 11CC68 802B3658 240B001E */ li $t3, 30 -/* 11CC6C 802B365C 05210032 */ bgez $t1, .L802B3728 -/* 11CC70 802B3660 3C051900 */ lui $a1, (0x19008004 >> 16) # lui $a1, 0x1900 -/* 11CC74 802B3664 A60A0006 */ sh $t2, 6($s0) -/* 11CC78 802B3668 A60B0004 */ sh $t3, 4($s0) -/* 11CC7C 802B366C 92040015 */ lbu $a0, 0x15($s0) -/* 11CC80 802B3670 0C032418 */ jal func_800C9060 -/* 11CC84 802B3674 34A58004 */ ori $a1, (0x19008004 & 0xFFFF) # ori $a1, $a1, 0x8004 -/* 11CC88 802B3678 96250254 */ lhu $a1, 0x254($s1) -/* 11CC8C 802B367C 3C012900 */ lui $at, (0x29008000 >> 16) # lui $at, 0x2900 -/* 11CC90 802B3680 34218000 */ ori $at, (0x29008000 & 0xFFFF) # ori $at, $at, 0x8000 -/* 11CC94 802B3684 00056100 */ sll $t4, $a1, 4 -/* 11CC98 802B3688 01812821 */ addu $a1, $t4, $at -/* 11CC9C 802B368C 0C03243D */ jal func_800C90F4 -/* 11CCA0 802B3690 92040015 */ lbu $a0, 0x15($s0) -/* 11CCA4 802B3694 3C0D8016 */ lui $t5, %hi(gActorList) # $t5, 0x8016 -/* 11CCA8 802B3698 25ADF9B8 */ addiu $t5, %lo(gActorList) # addiu $t5, $t5, -0x648 -/* 11CCAC 802B369C 020D2023 */ subu $a0, $s0, $t5 -/* 11CCB0 802B36A0 24010070 */ li $at, 112 -/* 11CCB4 802B36A4 0081001A */ div $zero, $a0, $at -/* 11CCB8 802B36A8 00002012 */ mflo $a0 -/* 11CCBC 802B36AC 0C003B72 */ jal func_8000EDC8 -/* 11CCC0 802B36B0 00000000 */ nop -/* 11CCC4 802B36B4 1000001D */ b .L802B372C -/* 11CCC8 802B36B8 860C0006 */ lh $t4, 6($s0) -.L802B36BC: -/* 11CCCC 802B36BC 244F0E38 */ addiu $t7, $v0, 0xe38 -/* 11CCD0 802B36C0 A60F0012 */ sh $t7, 0x12($s0) -/* 11CCD4 802B36C4 86180012 */ lh $t8, 0x12($s0) -/* 11CCD8 802B36C8 24190002 */ li $t9, 2 -/* 11CCDC 802B36CC 2408001E */ li $t0, 30 -/* 11CCE0 802B36D0 1B000015 */ blez $t8, .L802B3728 -/* 11CCE4 802B36D4 3C051900 */ lui $a1, (0x19008004 >> 16) # lui $a1, 0x1900 -/* 11CCE8 802B36D8 A6190006 */ sh $t9, 6($s0) -/* 11CCEC 802B36DC A6080004 */ sh $t0, 4($s0) -/* 11CCF0 802B36E0 92040015 */ lbu $a0, 0x15($s0) -/* 11CCF4 802B36E4 0C032418 */ jal func_800C9060 -/* 11CCF8 802B36E8 34A58004 */ ori $a1, (0x19008004 & 0xFFFF) # ori $a1, $a1, 0x8004 -/* 11CCFC 802B36EC 96250254 */ lhu $a1, 0x254($s1) -/* 11CD00 802B36F0 3C012900 */ lui $at, (0x29008000 >> 16) # lui $at, 0x2900 -/* 11CD04 802B36F4 34218000 */ ori $at, (0x29008000 & 0xFFFF) # ori $at, $at, 0x8000 -/* 11CD08 802B36F8 00054900 */ sll $t1, $a1, 4 -/* 11CD0C 802B36FC 01212821 */ addu $a1, $t1, $at -/* 11CD10 802B3700 0C03243D */ jal func_800C90F4 -/* 11CD14 802B3704 92040015 */ lbu $a0, 0x15($s0) -/* 11CD18 802B3708 3C0A8016 */ lui $t2, %hi(gActorList) # $t2, 0x8016 -/* 11CD1C 802B370C 254AF9B8 */ addiu $t2, %lo(gActorList) # addiu $t2, $t2, -0x648 -/* 11CD20 802B3710 020A2023 */ subu $a0, $s0, $t2 -/* 11CD24 802B3714 24010070 */ li $at, 112 -/* 11CD28 802B3718 0081001A */ div $zero, $a0, $at -/* 11CD2C 802B371C 00002012 */ mflo $a0 -/* 11CD30 802B3720 0C003B72 */ jal func_8000EDC8 -/* 11CD34 802B3724 00000000 */ nop -.L802B3728: -/* 11CD38 802B3728 860C0006 */ lh $t4, 6($s0) -.L802B372C: -/* 11CD3C 802B372C 24010002 */ li $at, 2 -/* 11CD40 802B3730 1581001D */ bne $t4, $at, .L802B37A8 -/* 11CD44 802B3734 3C014100 */ li $at, 0x41000000 # 8.000000 -/* 11CD48 802B3738 44811000 */ mtc1 $at, $f2 -/* 11CD4C 802B373C C6200094 */ lwc1 $f0, 0x94($s1) -/* 11CD50 802B3740 44808000 */ mtc1 $zero, $f16 -/* 11CD54 802B3744 3C01802C */ lui $at, %hi(D_802B9F60) # $at, 0x802c -/* 11CD58 802B3748 4600103C */ c.lt.s $f2, $f0 -/* 11CD5C 802B374C 00000000 */ nop -/* 11CD60 802B3750 45020005 */ bc1fl .L802B3768 -/* 11CD64 802B3754 E7B0006C */ swc1 $f16, 0x6c($sp) -/* 11CD68 802B3758 C42A9F60 */ lwc1 $f10, %lo(D_802B9F60)($at) -/* 11CD6C 802B375C 460A0082 */ mul.s $f2, $f0, $f10 -/* 11CD70 802B3760 00000000 */ nop -/* 11CD74 802B3764 E7B0006C */ swc1 $f16, 0x6c($sp) -.L802B3768: -/* 11CD78 802B3768 E7B00070 */ swc1 $f16, 0x70($sp) -/* 11CD7C 802B376C E7A20074 */ swc1 $f2, 0x74($sp) -/* 11CD80 802B3770 862E00C0 */ lh $t6, 0xc0($s1) -/* 11CD84 802B3774 862D002E */ lh $t5, 0x2e($s1) -/* 11CD88 802B3778 27A4006C */ addiu $a0, $sp, 0x6c -/* 11CD8C 802B377C 01AE2821 */ addu $a1, $t5, $t6 -/* 11CD90 802B3780 00057C00 */ sll $t7, $a1, 0x10 -/* 11CD94 802B3784 0C0AD931 */ jal func_802B64C4 -/* 11CD98 802B3788 000F2C03 */ sra $a1, $t7, 0x10 -/* 11CD9C 802B378C C7B2006C */ lwc1 $f18, 0x6c($sp) -/* 11CDA0 802B3790 E6120024 */ swc1 $f18, 0x24($s0) -/* 11CDA4 802B3794 C7A40070 */ lwc1 $f4, 0x70($sp) -/* 11CDA8 802B3798 E6040028 */ swc1 $f4, 0x28($s0) -/* 11CDAC 802B379C C7A60074 */ lwc1 $f6, 0x74($sp) -/* 11CDB0 802B37A0 100000E3 */ b .L802B3B30 -/* 11CDB4 802B37A4 E606002C */ swc1 $f6, 0x2c($s0) -.L802B37A8: -/* 11CDB8 802B37A8 0C0AE006 */ jal sins -/* 11CDBC 802B37AC 96040012 */ lhu $a0, 0x12($s0) -/* 11CDC0 802B37B0 3C0140C0 */ li $at, 0x40C00000 # 6.000000 -/* 11CDC4 802B37B4 44814000 */ mtc1 $at, $f8 -/* 11CDC8 802B37B8 00000000 */ nop -/* 11CDCC 802B37BC 46080282 */ mul.s $f10, $f0, $f8 -/* 11CDD0 802B37C0 E7AA006C */ swc1 $f10, 0x6c($sp) -/* 11CDD4 802B37C4 C6240070 */ lwc1 $f4, 0x70($s1) -/* 11CDD8 802B37C8 C612000C */ lwc1 $f18, 0xc($s0) -/* 11CDDC 802B37CC 46049181 */ sub.s $f6, $f18, $f4 -/* 11CDE0 802B37D0 E7A60070 */ swc1 $f6, 0x70($sp) -/* 11CDE4 802B37D4 0C0AE00E */ jal coss -/* 11CDE8 802B37D8 96040012 */ lhu $a0, 0x12($s0) -/* 11CDEC 802B37DC 3C0140C0 */ li $at, 0x40C00000 # 6.000000 -/* 11CDF0 802B37E0 44814000 */ mtc1 $at, $f8 -/* 11CDF4 802B37E4 27A4006C */ addiu $a0, $sp, 0x6c -/* 11CDF8 802B37E8 26250174 */ addiu $a1, $s1, 0x174 -/* 11CDFC 802B37EC 46080282 */ mul.s $f10, $f0, $f8 -/* 11CE00 802B37F0 0C0AD8EE */ jal func_802B63B8 -/* 11CE04 802B37F4 E7AA0074 */ swc1 $f10, 0x74($sp) -/* 11CE08 802B37F8 C7B2006C */ lwc1 $f18, 0x6c($sp) -/* 11CE0C 802B37FC C6240014 */ lwc1 $f4, 0x14($s1) -/* 11CE10 802B3800 46049180 */ add.s $f6, $f18, $f4 -/* 11CE14 802B3804 E6060018 */ swc1 $f6, 0x18($s0) -/* 11CE18 802B3808 C62A0018 */ lwc1 $f10, 0x18($s1) -/* 11CE1C 802B380C C7A80070 */ lwc1 $f8, 0x70($sp) -/* 11CE20 802B3810 460A4480 */ add.s $f18, $f8, $f10 -/* 11CE24 802B3814 E612001C */ swc1 $f18, 0x1c($s0) -/* 11CE28 802B3818 C626001C */ lwc1 $f6, 0x1c($s1) -/* 11CE2C 802B381C C7A40074 */ lwc1 $f4, 0x74($sp) -/* 11CE30 802B3820 46062200 */ add.s $f8, $f4, $f6 -/* 11CE34 802B3824 100000C2 */ b .L802B3B30 -/* 11CE38 802B3828 E6080020 */ swc1 $f8, 0x20($s0) -glabel L802B382C -/* 11CE3C 802B382C 86020004 */ lh $v0, 4($s0) -/* 11CE40 802B3830 3C01C000 */ li $at, 0xC0000000 # -2.000000 -/* 11CE44 802B3834 44810000 */ mtc1 $at, $f0 -/* 11CE48 802B3838 18400009 */ blez $v0, .L802B3860 -/* 11CE4C 802B383C 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 11CE50 802B3840 2459FFFF */ addiu $t9, $v0, -1 -/* 11CE54 802B3844 A6190004 */ sh $t9, 4($s0) -/* 11CE58 802B3848 86080004 */ lh $t0, 4($s0) -/* 11CE5C 802B384C 55000005 */ bnel $t0, $zero, .L802B3864 -/* 11CE60 802B3850 C60A0028 */ lwc1 $f10, 0x28($s0) -/* 11CE64 802B3854 86090002 */ lh $t1, 2($s0) -/* 11CE68 802B3858 312AEFFF */ andi $t2, $t1, 0xefff -/* 11CE6C 802B385C A60A0002 */ sh $t2, 2($s0) -.L802B3860: -/* 11CE70 802B3860 C60A0028 */ lwc1 $f10, 0x28($s0) -.L802B3864: -/* 11CE74 802B3864 44819000 */ mtc1 $at, $f18 -/* 11CE78 802B3868 00000000 */ nop -/* 11CE7C 802B386C 46125101 */ sub.s $f4, $f10, $f18 -/* 11CE80 802B3870 E6040028 */ swc1 $f4, 0x28($s0) -/* 11CE84 802B3874 C6060028 */ lwc1 $f6, 0x28($s0) -/* 11CE88 802B3878 4600303C */ c.lt.s $f6, $f0 -/* 11CE8C 802B387C 00000000 */ nop -/* 11CE90 802B3880 45020003 */ bc1fl .L802B3890 -/* 11CE94 802B3884 C6080018 */ lwc1 $f8, 0x18($s0) -/* 11CE98 802B3888 E6000028 */ swc1 $f0, 0x28($s0) -/* 11CE9C 802B388C C6080018 */ lwc1 $f8, 0x18($s0) -.L802B3890: -/* 11CEA0 802B3890 26040030 */ addiu $a0, $s0, 0x30 -/* 11CEA4 802B3894 3C054080 */ lui $a1, 0x4080 -/* 11CEA8 802B3898 E7A80078 */ swc1 $f8, 0x78($sp) -/* 11CEAC 802B389C C60A001C */ lwc1 $f10, 0x1c($s0) -/* 11CEB0 802B38A0 E7AA007C */ swc1 $f10, 0x7c($sp) -/* 11CEB4 802B38A4 C6120020 */ lwc1 $f18, 0x20($s0) -/* 11CEB8 802B38A8 E7B20080 */ swc1 $f18, 0x80($sp) -/* 11CEBC 802B38AC C6040018 */ lwc1 $f4, 0x18($s0) -/* 11CEC0 802B38B0 C6060024 */ lwc1 $f6, 0x24($s0) -/* 11CEC4 802B38B4 C60A001C */ lwc1 $f10, 0x1c($s0) -/* 11CEC8 802B38B8 C6120028 */ lwc1 $f18, 0x28($s0) -/* 11CECC 802B38BC 46062200 */ add.s $f8, $f4, $f6 -/* 11CED0 802B38C0 C6060020 */ lwc1 $f6, 0x20($s0) -/* 11CED4 802B38C4 46125100 */ add.s $f4, $f10, $f18 -/* 11CED8 802B38C8 E6080018 */ swc1 $f8, 0x18($s0) -/* 11CEDC 802B38CC C608002C */ lwc1 $f8, 0x2c($s0) -/* 11CEE0 802B38D0 8E060018 */ lw $a2, 0x18($s0) -/* 11CEE4 802B38D4 E604001C */ swc1 $f4, 0x1c($s0) -/* 11CEE8 802B38D8 46083280 */ add.s $f10, $f6, $f8 -/* 11CEEC 802B38DC 8E07001C */ lw $a3, 0x1c($s0) -/* 11CEF0 802B38E0 E60A0020 */ swc1 $f10, 0x20($s0) -/* 11CEF4 802B38E4 C6120020 */ lwc1 $f18, 0x20($s0) -/* 11CEF8 802B38E8 C7A80080 */ lwc1 $f8, 0x80($sp) -/* 11CEFC 802B38EC C7A6007C */ lwc1 $f6, 0x7c($sp) -/* 11CF00 802B38F0 C7A40078 */ lwc1 $f4, 0x78($sp) -/* 11CF04 802B38F4 AFA40034 */ sw $a0, 0x34($sp) -/* 11CF08 802B38F8 E7B20010 */ swc1 $f18, 0x10($sp) -/* 11CF0C 802B38FC E7A8001C */ swc1 $f8, 0x1c($sp) -/* 11CF10 802B3900 E7A60018 */ swc1 $f6, 0x18($sp) -/* 11CF14 802B3904 0C0AB654 */ jal func_802AD950 -/* 11CF18 802B3908 E7A40014 */ swc1 $f4, 0x14($sp) -/* 11CF1C 802B390C 0C0AD38C */ jal func_802B4E30 -/* 11CF20 802B3910 02002025 */ move $a0, $s0 -/* 11CF24 802B3914 44808000 */ mtc1 $zero, $f16 -/* 11CF28 802B3918 C60A003C */ lwc1 $f10, 0x3c($s0) -/* 11CF2C 802B391C 8FA40034 */ lw $a0, 0x34($sp) -/* 11CF30 802B3920 26110024 */ addiu $s1, $s0, 0x24 -/* 11CF34 802B3924 4610503C */ c.lt.s $f10, $f16 -/* 11CF38 802B3928 00000000 */ nop -/* 11CF3C 802B392C 45010006 */ bc1t .L802B3948 -/* 11CF40 802B3930 00000000 */ nop -/* 11CF44 802B3934 C6120040 */ lwc1 $f18, 0x40($s0) -/* 11CF48 802B3938 4610903C */ c.lt.s $f18, $f16 -/* 11CF4C 802B393C 00000000 */ nop -/* 11CF50 802B3940 4502007C */ bc1fl .L802B3B34 -/* 11CF54 802B3944 8FBF002C */ lw $ra, 0x2c($sp) -.L802B3948: -/* 11CF58 802B3948 0C0AB026 */ jal func_802AC098 -/* 11CF5C 802B394C 02202825 */ move $a1, $s1 -/* 11CF60 802B3950 3C061900 */ lui $a2, (0x19008054 >> 16) # lui $a2, 0x1900 -/* 11CF64 802B3954 34C68054 */ ori $a2, (0x19008054 & 0xFFFF) # ori $a2, $a2, 0x8054 -/* 11CF68 802B3958 26040018 */ addiu $a0, $s0, 0x18 -/* 11CF6C 802B395C 0C03262E */ jal func_800C98B8 -/* 11CF70 802B3960 02202825 */ move $a1, $s1 -/* 11CF74 802B3964 860B0002 */ lh $t3, 2($s0) -/* 11CF78 802B3968 356C0080 */ ori $t4, $t3, 0x80 -/* 11CF7C 802B396C 10000070 */ b .L802B3B30 -/* 11CF80 802B3970 A60C0002 */ sh $t4, 2($s0) -glabel L802B3974 -/* 11CF84 802B3974 860D0014 */ lh $t5, 0x14($s0) -/* 11CF88 802B3978 86180004 */ lh $t8, 4($s0) -/* 11CF8C 802B397C 3C088016 */ lui $t0, %hi(gActorList) # $t0, 0x8016 -/* 11CF90 802B3980 000D70C0 */ sll $t6, $t5, 3 -/* 11CF94 802B3984 0018C8C0 */ sll $t9, $t8, 3 -/* 11CF98 802B3988 01CD7023 */ subu $t6, $t6, $t5 -/* 11CF9C 802B398C 0338C823 */ subu $t9, $t9, $t8 -/* 11CFA0 802B3990 000E7100 */ sll $t6, $t6, 4 -/* 11CFA4 802B3994 0019C900 */ sll $t9, $t9, 4 -/* 11CFA8 802B3998 2508F9B8 */ addiu $t0, %lo(gActorList) # addiu $t0, $t0, -0x648 -/* 11CFAC 802B399C 03281021 */ addu $v0, $t9, $t0 -/* 11CFB0 802B39A0 01CD7023 */ subu $t6, $t6, $t5 -/* 11CFB4 802B39A4 84490000 */ lh $t1, ($v0) -/* 11CFB8 802B39A8 000E7080 */ sll $t6, $t6, 2 -/* 11CFBC 802B39AC 3C0F800F */ lui $t7, %hi(gPlayers) # $t7, 0x800f -/* 11CFC0 802B39B0 01CD7023 */ subu $t6, $t6, $t5 -/* 11CFC4 802B39B4 000E70C0 */ sll $t6, $t6, 3 -/* 11CFC8 802B39B8 25EF6990 */ addiu $t7, %lo(gPlayers) # addiu $t7, $t7, 0x6990 -/* 11CFCC 802B39BC 24010015 */ li $at, 21 -/* 11CFD0 802B39C0 11210005 */ beq $t1, $at, .L802B39D8 -/* 11CFD4 802B39C4 01CF8821 */ addu $s1, $t6, $t7 -/* 11CFD8 802B39C8 0C0A7F72 */ jal func_8029FDC8 -/* 11CFDC 802B39CC 02002025 */ move $a0, $s0 -/* 11CFE0 802B39D0 10000058 */ b .L802B3B34 -/* 11CFE4 802B39D4 8FBF002C */ lw $ra, 0x2c($sp) -.L802B39D8: -/* 11CFE8 802B39D8 860A0012 */ lh $t2, 0x12($s0) -/* 11CFEC 802B39DC 844B0010 */ lh $t3, 0x10($v0) -/* 11CFF0 802B39E0 014B6021 */ addu $t4, $t2, $t3 -/* 11CFF4 802B39E4 A60C0012 */ sh $t4, 0x12($s0) -/* 11CFF8 802B39E8 0C0AE006 */ jal sins -/* 11CFFC 802B39EC 3184FFFF */ andi $a0, $t4, 0xffff -/* 11D000 802B39F0 3C014100 */ li $at, 0x41000000 # 8.000000 -/* 11D004 802B39F4 44816000 */ mtc1 $at, $f12 -/* 11D008 802B39F8 00000000 */ nop -/* 11D00C 802B39FC 460C0102 */ mul.s $f4, $f0, $f12 -/* 11D010 802B3A00 E7A4006C */ swc1 $f4, 0x6c($sp) -/* 11D014 802B3A04 C6280070 */ lwc1 $f8, 0x70($s1) -/* 11D018 802B3A08 C606000C */ lwc1 $f6, 0xc($s0) -/* 11D01C 802B3A0C 46083281 */ sub.s $f10, $f6, $f8 -/* 11D020 802B3A10 E7AA0070 */ swc1 $f10, 0x70($sp) -/* 11D024 802B3A14 0C0AE00E */ jal coss -/* 11D028 802B3A18 96040012 */ lhu $a0, 0x12($s0) -/* 11D02C 802B3A1C 3C014100 */ li $at, 0x41000000 # 8.000000 -/* 11D030 802B3A20 44816000 */ mtc1 $at, $f12 -/* 11D034 802B3A24 27A4006C */ addiu $a0, $sp, 0x6c -/* 11D038 802B3A28 26250174 */ addiu $a1, $s1, 0x174 -/* 11D03C 802B3A2C 460C0482 */ mul.s $f18, $f0, $f12 -/* 11D040 802B3A30 0C0AD8EE */ jal func_802B63B8 -/* 11D044 802B3A34 E7B20074 */ swc1 $f18, 0x74($sp) -/* 11D048 802B3A38 C6040018 */ lwc1 $f4, 0x18($s0) -/* 11D04C 802B3A3C C7AA006C */ lwc1 $f10, 0x6c($sp) -/* 11D050 802B3A40 26040030 */ addiu $a0, $s0, 0x30 -/* 11D054 802B3A44 E7A40078 */ swc1 $f4, 0x78($sp) -/* 11D058 802B3A48 C606001C */ lwc1 $f6, 0x1c($s0) -/* 11D05C 802B3A4C 3C054080 */ lui $a1, 0x4080 -/* 11D060 802B3A50 E7A6007C */ swc1 $f6, 0x7c($sp) -/* 11D064 802B3A54 C6080020 */ lwc1 $f8, 0x20($s0) -/* 11D068 802B3A58 E7A80080 */ swc1 $f8, 0x80($sp) -/* 11D06C 802B3A5C C6320014 */ lwc1 $f18, 0x14($s1) -/* 11D070 802B3A60 46125100 */ add.s $f4, $f10, $f18 -/* 11D074 802B3A64 E6040018 */ swc1 $f4, 0x18($s0) -/* 11D078 802B3A68 C6280018 */ lwc1 $f8, 0x18($s1) -/* 11D07C 802B3A6C C7A60070 */ lwc1 $f6, 0x70($sp) -/* 11D080 802B3A70 8E060018 */ lw $a2, 0x18($s0) -/* 11D084 802B3A74 46083280 */ add.s $f10, $f6, $f8 -/* 11D088 802B3A78 E60A001C */ swc1 $f10, 0x1c($s0) -/* 11D08C 802B3A7C C624001C */ lwc1 $f4, 0x1c($s1) -/* 11D090 802B3A80 C7B20074 */ lwc1 $f18, 0x74($sp) -/* 11D094 802B3A84 8E07001C */ lw $a3, 0x1c($s0) -/* 11D098 802B3A88 46049180 */ add.s $f6, $f18, $f4 -/* 11D09C 802B3A8C E6060020 */ swc1 $f6, 0x20($s0) -/* 11D0A0 802B3A90 C6080020 */ lwc1 $f8, 0x20($s0) -/* 11D0A4 802B3A94 C7A40080 */ lwc1 $f4, 0x80($sp) -/* 11D0A8 802B3A98 C7B2007C */ lwc1 $f18, 0x7c($sp) -/* 11D0AC 802B3A9C C7AA0078 */ lwc1 $f10, 0x78($sp) -/* 11D0B0 802B3AA0 E7A80010 */ swc1 $f8, 0x10($sp) -/* 11D0B4 802B3AA4 E7A4001C */ swc1 $f4, 0x1c($sp) -/* 11D0B8 802B3AA8 E7B20018 */ swc1 $f18, 0x18($sp) -/* 11D0BC 802B3AAC 0C0AB654 */ jal func_802AD950 -/* 11D0C0 802B3AB0 E7AA0014 */ swc1 $f10, 0x14($sp) -/* 11D0C4 802B3AB4 0C0AD38C */ jal func_802B4E30 -/* 11D0C8 802B3AB8 02002025 */ move $a0, $s0 -/* 11D0CC 802B3ABC 1000001D */ b .L802B3B34 -/* 11D0D0 802B3AC0 8FBF002C */ lw $ra, 0x2c($sp) -glabel L802B3AC4 -/* 11D0D4 802B3AC4 3C01C0A0 */ li $at, 0xC0A00000 # -5.000000 -/* 11D0D8 802B3AC8 44816000 */ mtc1 $at, $f12 -/* 11D0DC 802B3ACC 3C01802C */ lui $at, %hi(D_802B9F64) # $at, 0x802c -/* 11D0E0 802B3AD0 C4289F64 */ lwc1 $f8, %lo(D_802B9F64)($at) -/* 11D0E4 802B3AD4 C6060028 */ lwc1 $f6, 0x28($s0) -/* 11D0E8 802B3AD8 46083281 */ sub.s $f10, $f6, $f8 -/* 11D0EC 802B3ADC E60A0028 */ swc1 $f10, 0x28($s0) -/* 11D0F0 802B3AE0 C6000028 */ lwc1 $f0, 0x28($s0) -/* 11D0F4 802B3AE4 460C003C */ c.lt.s $f0, $f12 -/* 11D0F8 802B3AE8 00000000 */ nop -/* 11D0FC 802B3AEC 45020004 */ bc1fl .L802B3B00 -/* 11D100 802B3AF0 860F0004 */ lh $t7, 4($s0) -/* 11D104 802B3AF4 E60C0028 */ swc1 $f12, 0x28($s0) -/* 11D108 802B3AF8 C6000028 */ lwc1 $f0, 0x28($s0) -/* 11D10C 802B3AFC 860F0004 */ lh $t7, 4($s0) -.L802B3B00: -/* 11D110 802B3B00 C612001C */ lwc1 $f18, 0x1c($s0) -/* 11D114 802B3B04 860D0012 */ lh $t5, 0x12($s0) -/* 11D118 802B3B08 25F8FFFF */ addiu $t8, $t7, -1 -/* 11D11C 802B3B0C A6180004 */ sh $t8, 4($s0) -/* 11D120 802B3B10 46009100 */ add.s $f4, $f18, $f0 -/* 11D124 802B3B14 86190004 */ lh $t9, 4($s0) -/* 11D128 802B3B18 25AE05B0 */ addiu $t6, $t5, 0x5b0 -/* 11D12C 802B3B1C A60E0012 */ sh $t6, 0x12($s0) -/* 11D130 802B3B20 17200003 */ bnez $t9, .L802B3B30 -/* 11D134 802B3B24 E604001C */ swc1 $f4, 0x1c($s0) -/* 11D138 802B3B28 0C0A7A15 */ jal destroy_actor -/* 11D13C 802B3B2C 02002025 */ move $a0, $s0 -.L802B3B30: -glabel L802B3B30 -/* 11D140 802B3B30 8FBF002C */ lw $ra, 0x2c($sp) -.L802B3B34: -/* 11D144 802B3B34 8FB00024 */ lw $s0, 0x24($sp) -/* 11D148 802B3B38 8FB10028 */ lw $s1, 0x28($sp) -/* 11D14C 802B3B3C 03E00008 */ jr $ra -/* 11D150 802B3B40 27BD0090 */ addiu $sp, $sp, 0x90 diff --git a/asm/non_matchings/code_802B0210/update_obj_red_blue_shell.s b/asm/non_matchings/code_802B0210/update_obj_red_blue_shell.s deleted file mode 100644 index 556fe6e1e..000000000 --- a/asm/non_matchings/code_802B0210/update_obj_red_blue_shell.s +++ /dev/null @@ -1,814 +0,0 @@ -glabel update_obj_red_blue_shell -/* 11D828 802B4218 3C0F8016 */ lui $t7, %hi(D_8015F6F2) # $t7, 0x8016 -/* 11D82C 802B421C 85EFF6F2 */ lh $t7, %lo(D_8015F6F2)($t7) -/* 11D830 802B4220 27BDFF50 */ addiu $sp, $sp, -0xb0 -/* 11D834 802B4224 AFBF002C */ sw $ra, 0x2c($sp) -/* 11D838 802B4228 448F2000 */ mtc1 $t7, $f4 -/* 11D83C 802B422C AFB10028 */ sw $s1, 0x28($sp) -/* 11D840 802B4230 AFB00024 */ sw $s0, 0x24($sp) -/* 11D844 802B4234 468021A0 */ cvt.s.w $f6, $f4 -/* 11D848 802B4238 C4820020 */ lwc1 $f2, 0x20($a0) -/* 11D84C 802B423C 848E0000 */ lh $t6, ($a0) -/* 11D850 802B4240 C4800018 */ lwc1 $f0, 0x18($a0) -/* 11D854 802B4244 C48C001C */ lwc1 $f12, 0x1c($a0) -/* 11D858 802B4248 00808025 */ move $s0, $a0 -/* 11D85C 802B424C 4606103C */ c.lt.s $f2, $f6 -/* 11D860 802B4250 3C188016 */ lui $t8, %hi(D_8015F6F0) # $t8, 0x8016 -/* 11D864 802B4254 A7AE0056 */ sh $t6, 0x56($sp) -/* 11D868 802B4258 45010024 */ bc1t .L802B42EC -/* 11D86C 802B425C 00000000 */ nop -/* 11D870 802B4260 8718F6F0 */ lh $t8, %lo(D_8015F6F0)($t8) -/* 11D874 802B4264 3C198016 */ lui $t9, %hi(D_8015F6EA) # $t9, 0x8016 -/* 11D878 802B4268 44984000 */ mtc1 $t8, $f8 -/* 11D87C 802B426C 00000000 */ nop -/* 11D880 802B4270 468042A0 */ cvt.s.w $f10, $f8 -/* 11D884 802B4274 4602503C */ c.lt.s $f10, $f2 -/* 11D888 802B4278 00000000 */ nop -/* 11D88C 802B427C 4501001B */ bc1t .L802B42EC -/* 11D890 802B4280 00000000 */ nop -/* 11D894 802B4284 8739F6EA */ lh $t9, %lo(D_8015F6EA)($t9) -/* 11D898 802B4288 3C088016 */ lui $t0, %hi(D_8015F6E8) # $t0, 0x8016 -/* 11D89C 802B428C 44998000 */ mtc1 $t9, $f16 -/* 11D8A0 802B4290 00000000 */ nop -/* 11D8A4 802B4294 468084A0 */ cvt.s.w $f18, $f16 -/* 11D8A8 802B4298 4612003C */ c.lt.s $f0, $f18 -/* 11D8AC 802B429C 00000000 */ nop -/* 11D8B0 802B42A0 45010012 */ bc1t .L802B42EC -/* 11D8B4 802B42A4 00000000 */ nop -/* 11D8B8 802B42A8 8508F6E8 */ lh $t0, %lo(D_8015F6E8)($t0) -/* 11D8BC 802B42AC 3C098016 */ lui $t1, %hi(D_8015F6EE) # $t1, 0x8016 -/* 11D8C0 802B42B0 44882000 */ mtc1 $t0, $f4 -/* 11D8C4 802B42B4 00000000 */ nop -/* 11D8C8 802B42B8 468021A0 */ cvt.s.w $f6, $f4 -/* 11D8CC 802B42BC 4600303C */ c.lt.s $f6, $f0 -/* 11D8D0 802B42C0 00000000 */ nop -/* 11D8D4 802B42C4 45010009 */ bc1t .L802B42EC -/* 11D8D8 802B42C8 00000000 */ nop -/* 11D8DC 802B42CC 8529F6EE */ lh $t1, %lo(D_8015F6EE)($t1) -/* 11D8E0 802B42D0 44894000 */ mtc1 $t1, $f8 -/* 11D8E4 802B42D4 00000000 */ nop -/* 11D8E8 802B42D8 468042A0 */ cvt.s.w $f10, $f8 -/* 11D8EC 802B42DC 460A603C */ c.lt.s $f12, $f10 -/* 11D8F0 802B42E0 00000000 */ nop -/* 11D8F4 802B42E4 45020004 */ bc1fl .L802B42F8 -/* 11D8F8 802B42E8 860A0010 */ lh $t2, 0x10($s0) -.L802B42EC: -/* 11D8FC 802B42EC 0C0A7F72 */ jal func_8029FDC8 -/* 11D900 802B42F0 02002025 */ move $a0, $s0 -/* 11D904 802B42F4 860A0010 */ lh $t2, 0x10($s0) -.L802B42F8: -/* 11D908 802B42F8 960C0006 */ lhu $t4, 6($s0) -/* 11D90C 802B42FC 254B071C */ addiu $t3, $t2, 0x71c -/* 11D910 802B4300 2D81000A */ sltiu $at, $t4, 0xa -/* 11D914 802B4304 102002C5 */ beqz $at, .L802B4E1C -/* 11D918 802B4308 A60B0010 */ sh $t3, 0x10($s0) -/* 11D91C 802B430C 000C6080 */ sll $t4, $t4, 2 -/* 11D920 802B4310 3C01802C */ lui $at, %hi(jpt_802B9F6C) -/* 11D924 802B4314 002C0821 */ addu $at, $at, $t4 -/* 11D928 802B4318 8C2C9F6C */ lw $t4, %lo(jpt_802B9F6C)($at) -/* 11D92C 802B431C 01800008 */ jr $t4 -/* 11D930 802B4320 00000000 */ nop -glabel L802B4324 -/* 11D934 802B4324 860D0014 */ lh $t5, 0x14($s0) -/* 11D938 802B4328 3C0F800F */ lui $t7, %hi(gPlayers) # $t7, 0x800f -/* 11D93C 802B432C 25EF6990 */ addiu $t7, %lo(gPlayers) # addiu $t7, $t7, 0x6990 -/* 11D940 802B4330 000D70C0 */ sll $t6, $t5, 3 -/* 11D944 802B4334 01CD7023 */ subu $t6, $t6, $t5 -/* 11D948 802B4338 000E7100 */ sll $t6, $t6, 4 -/* 11D94C 802B433C 01CD7023 */ subu $t6, $t6, $t5 -/* 11D950 802B4340 000E7080 */ sll $t6, $t6, 2 -/* 11D954 802B4344 01CD7023 */ subu $t6, $t6, $t5 -/* 11D958 802B4348 000E70C0 */ sll $t6, $t6, 3 -/* 11D95C 802B434C 01CF8821 */ addu $s1, $t6, $t7 -/* 11D960 802B4350 26240110 */ addiu $a0, $s1, 0x110 -/* 11D964 802B4354 0C0AC084 */ jal func_802B0210 -/* 11D968 802B4358 26050030 */ addiu $a1, $s0, 0x30 -/* 11D96C 802B435C 44801000 */ mtc1 $zero, $f2 -/* 11D970 802B4360 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 11D974 802B4364 44814000 */ mtc1 $at, $f8 -/* 11D978 802B4368 E7A2008C */ swc1 $f2, 0x8c($sp) -/* 11D97C 802B436C C6300070 */ lwc1 $f16, 0x70($s1) -/* 11D980 802B4370 27A4008C */ addiu $a0, $sp, 0x8c -/* 11D984 802B4374 26250174 */ addiu $a1, $s1, 0x174 -/* 11D988 802B4378 E7B00090 */ swc1 $f16, 0x90($sp) -/* 11D98C 802B437C C604000C */ lwc1 $f4, 0xc($s0) -/* 11D990 802B4380 C6320070 */ lwc1 $f18, 0x70($s1) -/* 11D994 802B4384 46049180 */ add.s $f6, $f18, $f4 -/* 11D998 802B4388 46083280 */ add.s $f10, $f6, $f8 -/* 11D99C 802B438C 46005407 */ neg.s $f16, $f10 -/* 11D9A0 802B4390 0C0AD8EE */ jal func_802B63B8 -/* 11D9A4 802B4394 E7B00094 */ swc1 $f16, 0x94($sp) -/* 11D9A8 802B4398 C7B2008C */ lwc1 $f18, 0x8c($sp) -/* 11D9AC 802B439C C6240014 */ lwc1 $f4, 0x14($s1) -/* 11D9B0 802B43A0 46049180 */ add.s $f6, $f18, $f4 -/* 11D9B4 802B43A4 E6060018 */ swc1 $f6, 0x18($s0) -/* 11D9B8 802B43A8 C632001C */ lwc1 $f18, 0x1c($s1) -/* 11D9BC 802B43AC C7B00094 */ lwc1 $f16, 0x94($sp) -/* 11D9C0 802B43B0 C7AA0090 */ lwc1 $f10, 0x90($sp) -/* 11D9C4 802B43B4 C6280018 */ lwc1 $f8, 0x18($s1) -/* 11D9C8 802B43B8 46128100 */ add.s $f4, $f16, $f18 -/* 11D9CC 802B43BC C60C0018 */ lwc1 $f12, 0x18($s0) -/* 11D9D0 802B43C0 460A4381 */ sub.s $f14, $f8, $f10 -/* 11D9D4 802B43C4 E6040020 */ swc1 $f4, 0x20($s0) -/* 11D9D8 802B43C8 9627011A */ lhu $a3, 0x11a($s1) -/* 11D9DC 802B43CC 8E060020 */ lw $a2, 0x20($s0) -/* 11D9E0 802B43D0 0C0AAF8C */ jal func_802ABE30 -/* 11D9E4 802B43D4 E7AE0068 */ swc1 $f14, 0x68($sp) -/* 11D9E8 802B43D8 C7AE0068 */ lwc1 $f14, 0x68($sp) -/* 11D9EC 802B43DC 3C0140A0 */ li $at, 0x40A00000 # 5.000000 -/* 11D9F0 802B43E0 44813000 */ mtc1 $at, $f6 -/* 11D9F4 802B43E4 46007081 */ sub.s $f2, $f14, $f0 -/* 11D9F8 802B43E8 3C01C0A0 */ li $at, 0xC0A00000 # -5.000000 -/* 11D9FC 802B43EC 3C08800E */ lui $t0, %hi(D_800DC51C) # $t0, 0x800e -/* 11DA00 802B43F0 3C02800E */ lui $v0, %hi(gControllerOne) # 0x800e -/* 11DA04 802B43F4 4606103C */ c.lt.s $f2, $f6 -/* 11DA08 802B43F8 240E0001 */ li $t6, 1 -/* 11DA0C 802B43FC 4502000C */ bc1fl .L802B4430 -/* 11DA10 802B4400 E60E001C */ swc1 $f14, 0x1c($s0) -/* 11DA14 802B4404 44816000 */ mtc1 $at, $f12 -/* 11DA18 802B4408 00000000 */ nop -/* 11DA1C 802B440C 4602603C */ c.lt.s $f12, $f2 -/* 11DA20 802B4410 00000000 */ nop -/* 11DA24 802B4414 45020006 */ bc1fl .L802B4430 -/* 11DA28 802B4418 E60E001C */ swc1 $f14, 0x1c($s0) -/* 11DA2C 802B441C C608000C */ lwc1 $f8, 0xc($s0) -/* 11DA30 802B4420 46004280 */ add.s $f10, $f8, $f0 -/* 11DA34 802B4424 10000002 */ b .L802B4430 -/* 11DA38 802B4428 E60A001C */ swc1 $f10, 0x1c($s0) -/* 11DA3C 802B442C E60E001C */ swc1 $f14, 0x1c($s0) -.L802B4430: -/* 11DA40 802B4430 96380000 */ lhu $t8, ($s1) -/* 11DA44 802B4434 33194000 */ andi $t9, $t8, 0x4000 -/* 11DA48 802B4438 1320000D */ beqz $t9, .L802B4470 -/* 11DA4C 802B443C 00000000 */ nop -/* 11DA50 802B4440 9508C51C */ lhu $t0, %lo(D_800DC51C)($t0) -/* 11DA54 802B4444 3C02800E */ lui $v0, %hi(gControllerOne) # $v0, 0x800e -/* 11DA58 802B4448 51000004 */ beql $t0, $zero, .L802B445C -/* 11DA5C 802B444C 86090014 */ lh $t1, 0x14($s0) -/* 11DA60 802B4450 10000008 */ b .L802B4474 -/* 11DA64 802B4454 8C42C4BC */ lw $v0, %lo(gControllerOne)($v0) -/* 11DA68 802B4458 86090014 */ lh $t1, 0x14($s0) -.L802B445C: -/* 11DA6C 802B445C 3C0B800F */ lui $t3, %hi(gControllers) # $t3, 0x800f -/* 11DA70 802B4460 256B6910 */ addiu $t3, %lo(gControllers) # addiu $t3, $t3, 0x6910 -/* 11DA74 802B4464 00095100 */ sll $t2, $t1, 4 -/* 11DA78 802B4468 10000002 */ b .L802B4474 -/* 11DA7C 802B446C 014B1021 */ addu $v0, $t2, $t3 -.L802B4470: -/* 11DA80 802B4470 8C42C4BC */ lw $v0, %lo(gControllerOne)($v0) # -0x3b44($v0) -.L802B4474: -/* 11DA84 802B4474 94430008 */ lhu $v1, 8($v0) -/* 11DA88 802B4478 306C2000 */ andi $t4, $v1, 0x2000 -/* 11DA8C 802B447C 11800267 */ beqz $t4, .L802B4E1C -/* 11DA90 802B4480 306DDFFF */ andi $t5, $v1, 0xdfff -/* 11DA94 802B4484 A44D0008 */ sh $t5, 8($v0) -/* 11DA98 802B4488 A60E0006 */ sh $t6, 6($s0) -/* 11DA9C 802B448C 862F00C0 */ lh $t7, 0xc0($s1) -/* 11DAA0 802B4490 241878E3 */ li $t8, 30947 -/* 11DAA4 802B4494 2419871C */ li $t9, -30948 -/* 11DAA8 802B4498 19E00003 */ blez $t7, .L802B44A8 -/* 11DAAC 802B449C 00000000 */ nop -/* 11DAB0 802B44A0 1000025E */ b .L802B4E1C -/* 11DAB4 802B44A4 A6180012 */ sh $t8, 0x12($s0) -.L802B44A8: -/* 11DAB8 802B44A8 1000025C */ b .L802B4E1C -/* 11DABC 802B44AC A6190012 */ sh $t9, 0x12($s0) -glabel L802B44B0 -/* 11DAC0 802B44B0 86080014 */ lh $t0, 0x14($s0) -/* 11DAC4 802B44B4 86020012 */ lh $v0, 0x12($s0) -/* 11DAC8 802B44B8 3C0A800F */ lui $t2, %hi(gPlayers) # $t2, 0x800f -/* 11DACC 802B44BC 000848C0 */ sll $t1, $t0, 3 -/* 11DAD0 802B44C0 01284823 */ subu $t1, $t1, $t0 -/* 11DAD4 802B44C4 00094900 */ sll $t1, $t1, 4 -/* 11DAD8 802B44C8 01284823 */ subu $t1, $t1, $t0 -/* 11DADC 802B44CC 00094880 */ sll $t1, $t1, 2 -/* 11DAE0 802B44D0 01284823 */ subu $t1, $t1, $t0 -/* 11DAE4 802B44D4 000948C0 */ sll $t1, $t1, 3 -/* 11DAE8 802B44D8 254A6990 */ addiu $t2, %lo(gPlayers) # addiu $t2, $t2, 0x6990 -/* 11DAEC 802B44DC 1840002E */ blez $v0, .L802B4598 -/* 11DAF0 802B44E0 012A8821 */ addu $s1, $t1, $t2 -/* 11DAF4 802B44E4 244BF8E4 */ addiu $t3, $v0, -0x71c -/* 11DAF8 802B44E8 A60B0012 */ sh $t3, 0x12($s0) -/* 11DAFC 802B44EC 860C0012 */ lh $t4, 0x12($s0) -/* 11DB00 802B44F0 3C051900 */ lui $a1, (0x19008004 >> 16) # lui $a1, 0x1900 -/* 11DB04 802B44F4 240D0002 */ li $t5, 2 -/* 11DB08 802B44F8 05810052 */ bgez $t4, .L802B4644 -/* 11DB0C 802B44FC 34A58004 */ ori $a1, (0x19008004 & 0xFFFF) # ori $a1, $a1, 0x8004 -/* 11DB10 802B4500 A60D0006 */ sh $t5, 6($s0) -/* 11DB14 802B4504 0C032418 */ jal func_800C9060 -/* 11DB18 802B4508 92040015 */ lbu $a0, 0x15($s0) -/* 11DB1C 802B450C 96250254 */ lhu $a1, 0x254($s1) -/* 11DB20 802B4510 3C012900 */ lui $at, (0x29008000 >> 16) # lui $at, 0x2900 -/* 11DB24 802B4514 34218000 */ ori $at, (0x29008000 & 0xFFFF) # ori $at, $at, 0x8000 -/* 11DB28 802B4518 00057100 */ sll $t6, $a1, 4 -/* 11DB2C 802B451C 01C12821 */ addu $a1, $t6, $at -/* 11DB30 802B4520 0C03243D */ jal func_800C90F4 -/* 11DB34 802B4524 92040015 */ lbu $a0, 0x15($s0) -/* 11DB38 802B4528 87AF0056 */ lh $t7, 0x56($sp) -/* 11DB3C 802B452C 24010008 */ li $at, 8 -/* 11DB40 802B4530 3C088016 */ lui $t0, %hi(gActorList) # $t0, 0x8016 -/* 11DB44 802B4534 15E1000B */ bne $t7, $at, .L802B4564 -/* 11DB48 802B4538 2508F9B8 */ addiu $t0, %lo(gActorList) # addiu $t0, $t0, -0x648 -/* 11DB4C 802B453C 3C188016 */ lui $t8, %hi(gActorList) # $t8, 0x8016 -/* 11DB50 802B4540 2718F9B8 */ addiu $t8, %lo(gActorList) # addiu $t8, $t8, -0x648 -/* 11DB54 802B4544 02182023 */ subu $a0, $s0, $t8 -/* 11DB58 802B4548 24010070 */ li $at, 112 -/* 11DB5C 802B454C 0081001A */ div $zero, $a0, $at -/* 11DB60 802B4550 00002012 */ mflo $a0 -/* 11DB64 802B4554 0C003B60 */ jal func_8000ED80 -/* 11DB68 802B4558 00000000 */ nop -/* 11DB6C 802B455C 1000003A */ b .L802B4648 -/* 11DB70 802B4560 86090006 */ lh $t1, 6($s0) -.L802B4564: -/* 11DB74 802B4564 02082023 */ subu $a0, $s0, $t0 -/* 11DB78 802B4568 24010070 */ li $at, 112 -/* 11DB7C 802B456C 0081001A */ div $zero, $a0, $at -/* 11DB80 802B4570 00002012 */ mflo $a0 -/* 11DB84 802B4574 0C003B84 */ jal func_8000EE10 -/* 11DB88 802B4578 00000000 */ nop -/* 11DB8C 802B457C 3C065101 */ lui $a2, (0x51018008 >> 16) # lui $a2, 0x5101 -/* 11DB90 802B4580 34C68008 */ ori $a2, (0x51018008 & 0xFFFF) # ori $a2, $a2, 0x8008 -/* 11DB94 802B4584 26040018 */ addiu $a0, $s0, 0x18 -/* 11DB98 802B4588 0C032760 */ jal func_800C9D80 -/* 11DB9C 802B458C 26050024 */ addiu $a1, $s0, 0x24 -/* 11DBA0 802B4590 1000002D */ b .L802B4648 -/* 11DBA4 802B4594 86090006 */ lh $t1, 6($s0) -.L802B4598: -/* 11DBA8 802B4598 244A071C */ addiu $t2, $v0, 0x71c -/* 11DBAC 802B459C A60A0012 */ sh $t2, 0x12($s0) -/* 11DBB0 802B45A0 860B0012 */ lh $t3, 0x12($s0) -/* 11DBB4 802B45A4 3C051900 */ lui $a1, (0x19008004 >> 16) # lui $a1, 0x1900 -/* 11DBB8 802B45A8 240C0002 */ li $t4, 2 -/* 11DBBC 802B45AC 19600025 */ blez $t3, .L802B4644 -/* 11DBC0 802B45B0 34A58004 */ ori $a1, (0x19008004 & 0xFFFF) # ori $a1, $a1, 0x8004 -/* 11DBC4 802B45B4 A60C0006 */ sh $t4, 6($s0) -/* 11DBC8 802B45B8 0C032418 */ jal func_800C9060 -/* 11DBCC 802B45BC 92040015 */ lbu $a0, 0x15($s0) -/* 11DBD0 802B45C0 96250254 */ lhu $a1, 0x254($s1) -/* 11DBD4 802B45C4 3C012900 */ lui $at, (0x29008000 >> 16) # lui $at, 0x2900 -/* 11DBD8 802B45C8 34218000 */ ori $at, (0x29008000 & 0xFFFF) # ori $at, $at, 0x8000 -/* 11DBDC 802B45CC 00056900 */ sll $t5, $a1, 4 -/* 11DBE0 802B45D0 01A12821 */ addu $a1, $t5, $at -/* 11DBE4 802B45D4 0C03243D */ jal func_800C90F4 -/* 11DBE8 802B45D8 92040015 */ lbu $a0, 0x15($s0) -/* 11DBEC 802B45DC 87AE0056 */ lh $t6, 0x56($sp) -/* 11DBF0 802B45E0 24010008 */ li $at, 8 -/* 11DBF4 802B45E4 3C198016 */ lui $t9, %hi(gActorList) # $t9, 0x8016 -/* 11DBF8 802B45E8 15C1000B */ bne $t6, $at, .L802B4618 -/* 11DBFC 802B45EC 2739F9B8 */ addiu $t9, %lo(gActorList) # addiu $t9, $t9, -0x648 -/* 11DC00 802B45F0 3C0F8016 */ lui $t7, %hi(gActorList) # $t7, 0x8016 -/* 11DC04 802B45F4 25EFF9B8 */ addiu $t7, %lo(gActorList) # addiu $t7, $t7, -0x648 -/* 11DC08 802B45F8 020F2023 */ subu $a0, $s0, $t7 -/* 11DC0C 802B45FC 24010070 */ li $at, 112 -/* 11DC10 802B4600 0081001A */ div $zero, $a0, $at -/* 11DC14 802B4604 00002012 */ mflo $a0 -/* 11DC18 802B4608 0C003B60 */ jal func_8000ED80 -/* 11DC1C 802B460C 00000000 */ nop -/* 11DC20 802B4610 1000000D */ b .L802B4648 -/* 11DC24 802B4614 86090006 */ lh $t1, 6($s0) -.L802B4618: -/* 11DC28 802B4618 02192023 */ subu $a0, $s0, $t9 -/* 11DC2C 802B461C 24010070 */ li $at, 112 -/* 11DC30 802B4620 0081001A */ div $zero, $a0, $at -/* 11DC34 802B4624 00002012 */ mflo $a0 -/* 11DC38 802B4628 0C003B84 */ jal func_8000EE10 -/* 11DC3C 802B462C 00000000 */ nop -/* 11DC40 802B4630 3C065101 */ lui $a2, (0x51018008 >> 16) # lui $a2, 0x5101 -/* 11DC44 802B4634 34C68008 */ ori $a2, (0x51018008 & 0xFFFF) # ori $a2, $a2, 0x8008 -/* 11DC48 802B4638 26040018 */ addiu $a0, $s0, 0x18 -/* 11DC4C 802B463C 0C032760 */ jal func_800C9D80 -/* 11DC50 802B4640 26050024 */ addiu $a1, $s0, 0x24 -.L802B4644: -/* 11DC54 802B4644 86090006 */ lh $t1, 6($s0) -.L802B4648: -/* 11DC58 802B4648 24010002 */ li $at, 2 -/* 11DC5C 802B464C 240A001E */ li $t2, 30 -/* 11DC60 802B4650 1521001E */ bne $t1, $at, .L802B46CC -/* 11DC64 802B4654 3C014100 */ li $at, 0x41000000 # 8.000000 -/* 11DC68 802B4658 A60A0004 */ sh $t2, 4($s0) -/* 11DC6C 802B465C 44810000 */ mtc1 $at, $f0 -/* 11DC70 802B4660 C6220094 */ lwc1 $f2, 0x94($s1) -/* 11DC74 802B4664 3C01802C */ lui $at, %hi(D_802B9F94) # $at, 0x802c -/* 11DC78 802B4668 4602003C */ c.lt.s $f0, $f2 -/* 11DC7C 802B466C 00000000 */ nop -/* 11DC80 802B4670 45020005 */ bc1fl .L802B4688 -/* 11DC84 802B4674 44801000 */ mtc1 $zero, $f2 -/* 11DC88 802B4678 C4309F94 */ lwc1 $f16, %lo(D_802B9F94)($at) -/* 11DC8C 802B467C 46101002 */ mul.s $f0, $f2, $f16 -/* 11DC90 802B4680 00000000 */ nop -/* 11DC94 802B4684 44801000 */ mtc1 $zero, $f2 -.L802B4688: -/* 11DC98 802B4688 E7A00094 */ swc1 $f0, 0x94($sp) -/* 11DC9C 802B468C 27A4008C */ addiu $a0, $sp, 0x8c -/* 11DCA0 802B4690 E7A2008C */ swc1 $f2, 0x8c($sp) -/* 11DCA4 802B4694 E7A20090 */ swc1 $f2, 0x90($sp) -/* 11DCA8 802B4698 862C00C0 */ lh $t4, 0xc0($s1) -/* 11DCAC 802B469C 862B002E */ lh $t3, 0x2e($s1) -/* 11DCB0 802B46A0 016C2821 */ addu $a1, $t3, $t4 -/* 11DCB4 802B46A4 00056C00 */ sll $t5, $a1, 0x10 -/* 11DCB8 802B46A8 0C0AD931 */ jal func_802B64C4 -/* 11DCBC 802B46AC 000D2C03 */ sra $a1, $t5, 0x10 -/* 11DCC0 802B46B0 C7B2008C */ lwc1 $f18, 0x8c($sp) -/* 11DCC4 802B46B4 E6120024 */ swc1 $f18, 0x24($s0) -/* 11DCC8 802B46B8 C7A40090 */ lwc1 $f4, 0x90($sp) -/* 11DCCC 802B46BC E6040028 */ swc1 $f4, 0x28($s0) -/* 11DCD0 802B46C0 C7A60094 */ lwc1 $f6, 0x94($sp) -/* 11DCD4 802B46C4 100001D5 */ b .L802B4E1C -/* 11DCD8 802B46C8 E606002C */ swc1 $f6, 0x2c($s0) -.L802B46CC: -/* 11DCDC 802B46CC 0C0AE006 */ jal sins -/* 11DCE0 802B46D0 96040012 */ lhu $a0, 0x12($s0) -/* 11DCE4 802B46D4 3C014100 */ li $at, 0x41000000 # 8.000000 -/* 11DCE8 802B46D8 44814000 */ mtc1 $at, $f8 -/* 11DCEC 802B46DC 00000000 */ nop -/* 11DCF0 802B46E0 46080282 */ mul.s $f10, $f0, $f8 -/* 11DCF4 802B46E4 E7AA008C */ swc1 $f10, 0x8c($sp) -/* 11DCF8 802B46E8 C6320070 */ lwc1 $f18, 0x70($s1) -/* 11DCFC 802B46EC C610000C */ lwc1 $f16, 0xc($s0) -/* 11DD00 802B46F0 46128101 */ sub.s $f4, $f16, $f18 -/* 11DD04 802B46F4 E7A40090 */ swc1 $f4, 0x90($sp) -/* 11DD08 802B46F8 0C0AE00E */ jal coss -/* 11DD0C 802B46FC 96040012 */ lhu $a0, 0x12($s0) -/* 11DD10 802B4700 3C014100 */ li $at, 0x41000000 # 8.000000 -/* 11DD14 802B4704 44813000 */ mtc1 $at, $f6 -/* 11DD18 802B4708 27A4008C */ addiu $a0, $sp, 0x8c -/* 11DD1C 802B470C 26250174 */ addiu $a1, $s1, 0x174 -/* 11DD20 802B4710 46060202 */ mul.s $f8, $f0, $f6 -/* 11DD24 802B4714 0C0AD8EE */ jal func_802B63B8 -/* 11DD28 802B4718 E7A80094 */ swc1 $f8, 0x94($sp) -/* 11DD2C 802B471C C7AA008C */ lwc1 $f10, 0x8c($sp) -/* 11DD30 802B4720 C6300014 */ lwc1 $f16, 0x14($s1) -/* 11DD34 802B4724 46105480 */ add.s $f18, $f10, $f16 -/* 11DD38 802B4728 E6120018 */ swc1 $f18, 0x18($s0) -/* 11DD3C 802B472C C6260018 */ lwc1 $f6, 0x18($s1) -/* 11DD40 802B4730 C7A40090 */ lwc1 $f4, 0x90($sp) -/* 11DD44 802B4734 46062200 */ add.s $f8, $f4, $f6 -/* 11DD48 802B4738 E608001C */ swc1 $f8, 0x1c($s0) -/* 11DD4C 802B473C C630001C */ lwc1 $f16, 0x1c($s1) -/* 11DD50 802B4740 C7AA0094 */ lwc1 $f10, 0x94($sp) -/* 11DD54 802B4744 46105480 */ add.s $f18, $f10, $f16 -/* 11DD58 802B4748 100001B4 */ b .L802B4E1C -/* 11DD5C 802B474C E6120020 */ swc1 $f18, 0x20($s0) -glabel L802B4750 -/* 11DD60 802B4750 860F0014 */ lh $t7, 0x14($s0) -/* 11DD64 802B4754 86080004 */ lh $t0, 4($s0) -/* 11DD68 802B4758 3C19800F */ lui $t9, %hi(gPlayers) # $t9, 0x800f -/* 11DD6C 802B475C 000FC0C0 */ sll $t8, $t7, 3 -/* 11DD70 802B4760 030FC023 */ subu $t8, $t8, $t7 -/* 11DD74 802B4764 0018C100 */ sll $t8, $t8, 4 -/* 11DD78 802B4768 2509FFFF */ addiu $t1, $t0, -1 -/* 11DD7C 802B476C A6090004 */ sh $t1, 4($s0) -/* 11DD80 802B4770 030FC023 */ subu $t8, $t8, $t7 -/* 11DD84 802B4774 860A0004 */ lh $t2, 4($s0) -/* 11DD88 802B4778 0018C080 */ sll $t8, $t8, 2 -/* 11DD8C 802B477C 030FC023 */ subu $t8, $t8, $t7 -/* 11DD90 802B4780 0018C0C0 */ sll $t8, $t8, 3 -/* 11DD94 802B4784 27396990 */ addiu $t9, %lo(gPlayers) # addiu $t9, $t9, 0x6990 -/* 11DD98 802B4788 1540008F */ bnez $t2, .L802B49C8 -/* 11DD9C 802B478C 03198821 */ addu $s1, $t8, $t9 -/* 11DDA0 802B4790 860B0002 */ lh $t3, 2($s0) -/* 11DDA4 802B4794 860D0000 */ lh $t5, ($s0) -/* 11DDA8 802B4798 2401002A */ li $at, 42 -/* 11DDAC 802B479C 316CEFFF */ andi $t4, $t3, 0xefff -/* 11DDB0 802B47A0 15A10021 */ bne $t5, $at, .L802B4828 -/* 11DDB4 802B47A4 A60C0002 */ sh $t4, 2($s0) -/* 11DDB8 802B47A8 3C048016 */ lui $a0, %hi(gPlayerPositionLUT) # $a0, 0x8016 -/* 11DDBC 802B47AC 2484F8F0 */ addiu $a0, %lo(gPlayerPositionLUT) # addiu $a0, $a0, -0x710 -/* 11DDC0 802B47B0 3C01447A */ li $at, 0x447A0000 # 1000.000000 -/* 11DDC4 802B47B4 848E0000 */ lh $t6, ($a0) -/* 11DDC8 802B47B8 44812000 */ mtc1 $at, $f4 -/* 11DDCC 802B47BC 240F0008 */ li $t7, 8 -/* 11DDD0 802B47C0 A60F0006 */ sh $t7, 6($s0) -/* 11DDD4 802B47C4 3C18800E */ lui $t8, %hi(gPlayerOne) # $t8, 0x800e -/* 11DDD8 802B47C8 A60E0004 */ sh $t6, 4($s0) -/* 11DDDC 802B47CC E6040008 */ swc1 $f4, 8($s0) -/* 11DDE0 802B47D0 8F18C4DC */ lw $t8, %lo(gPlayerOne)($t8) -/* 11DDE4 802B47D4 24010DD8 */ li $at, 3544 -/* 11DDE8 802B47D8 3C028016 */ lui $v0, %hi(D_80164438) # 0x8016 -/* 11DDEC 802B47DC 0238C823 */ subu $t9, $s1, $t8 -/* 11DDF0 802B47E0 0321001A */ div $zero, $t9, $at -/* 11DDF4 802B47E4 00004012 */ mflo $t0 -/* 11DDF8 802B47E8 00084840 */ sll $t1, $t0, 1 -/* 11DDFC 802B47EC 00491021 */ addu $v0, $v0, $t1 -/* 11DE00 802B47F0 94424438 */ lhu $v0, %lo(D_80164438)($v0) -/* 11DE04 802B47F4 3C038016 */ lui $v1, %hi(D_80164430) # $v1, 0x8016 -/* 11DE08 802B47F8 94634430 */ lhu $v1, %lo(D_80164430)($v1) -/* 11DE0C 802B47FC 24420008 */ addiu $v0, $v0, 8 -/* 11DE10 802B4800 00025400 */ sll $t2, $v0, 0x10 -/* 11DE14 802B4804 000A5C03 */ sra $t3, $t2, 0x10 -/* 11DE18 802B4808 006B082A */ slt $at, $v1, $t3 -/* 11DE1C 802B480C 10200004 */ beqz $at, .L802B4820 -/* 11DE20 802B4810 01601025 */ move $v0, $t3 -/* 11DE24 802B4814 01631023 */ subu $v0, $t3, $v1 -/* 11DE28 802B4818 00026400 */ sll $t4, $v0, 0x10 -/* 11DE2C 802B481C 000C1403 */ sra $v0, $t4, 0x10 -.L802B4820: -/* 11DE30 802B4820 10000069 */ b .L802B49C8 -/* 11DE34 802B4824 A6020012 */ sh $v0, 0x12($s0) -.L802B4828: -/* 11DE38 802B4828 3C0E800E */ lui $t6, %hi(gModeSelection) # $t6, 0x800e -/* 11DE3C 802B482C 8DCEC53C */ lw $t6, %lo(gModeSelection)($t6) -/* 11DE40 802B4830 24030003 */ li $v1, 3 -/* 11DE44 802B4834 3C01447A */ li $at, 0x447A0000 # 1000.000000 -/* 11DE48 802B4838 146E0016 */ bne $v1, $t6, .L802B4894 -/* 11DE4C 802B483C 02202025 */ move $a0, $s1 -/* 11DE50 802B4840 44813000 */ mtc1 $at, $f6 -/* 11DE54 802B4844 02002825 */ move $a1, $s0 -/* 11DE58 802B4848 0C0ACFF4 */ jal func_802B3FD0 -/* 11DE5C 802B484C E6060008 */ swc1 $f6, 8($s0) -/* 11DE60 802B4850 A6020004 */ sh $v0, 4($s0) -/* 11DE64 802B4854 860F0004 */ lh $t7, 4($s0) -/* 11DE68 802B4858 24030003 */ li $v1, 3 -/* 11DE6C 802B485C 24188000 */ li $t8, -32768 -/* 11DE70 802B4860 05E1000A */ bgez $t7, .L802B488C -/* 11DE74 802B4864 3C014040 */ li $at, 0x40400000 # 3.000000 -/* 11DE78 802B4868 44814000 */ mtc1 $at, $f8 -/* 11DE7C 802B486C 2419003C */ li $t9, 60 -/* 11DE80 802B4870 24080007 */ li $t0, 7 -/* 11DE84 802B4874 A6180002 */ sh $t8, 2($s0) -/* 11DE88 802B4878 A6000012 */ sh $zero, 0x12($s0) -/* 11DE8C 802B487C A6190004 */ sh $t9, 4($s0) -/* 11DE90 802B4880 A6080006 */ sh $t0, 6($s0) -/* 11DE94 802B4884 10000050 */ b .L802B49C8 -/* 11DE98 802B4888 E6080028 */ swc1 $f8, 0x28($s0) -.L802B488C: -/* 11DE9C 802B488C 1000004E */ b .L802B49C8 -/* 11DEA0 802B4890 A6030006 */ sh $v1, 6($s0) -.L802B4894: -/* 11DEA4 802B4894 86220004 */ lh $v0, 4($s1) -/* 11DEA8 802B4898 24090004 */ li $t1, 4 -/* 11DEAC 802B489C 240A0258 */ li $t2, 600 -/* 11DEB0 802B48A0 1440001A */ bnez $v0, .L802B490C -/* 11DEB4 802B48A4 28410005 */ slti $at, $v0, 5 -/* 11DEB8 802B48A8 A6090006 */ sh $t1, 6($s0) -/* 11DEBC 802B48AC A60A0004 */ sh $t2, 4($s0) -/* 11DEC0 802B48B0 3C0B800E */ lui $t3, %hi(gPlayerOne) # $t3, 0x800e -/* 11DEC4 802B48B4 8D6BC4DC */ lw $t3, %lo(gPlayerOne)($t3) -/* 11DEC8 802B48B8 24010DD8 */ li $at, 3544 -/* 11DECC 802B48BC 3C028016 */ lui $v0, %hi(D_80164438) # 0x8016 -/* 11DED0 802B48C0 022B6023 */ subu $t4, $s1, $t3 -/* 11DED4 802B48C4 0181001A */ div $zero, $t4, $at -/* 11DED8 802B48C8 00006812 */ mflo $t5 -/* 11DEDC 802B48CC 000D7040 */ sll $t6, $t5, 1 -/* 11DEE0 802B48D0 004E1021 */ addu $v0, $v0, $t6 -/* 11DEE4 802B48D4 94424438 */ lhu $v0, %lo(D_80164438)($v0) # 0x4438($v0) -/* 11DEE8 802B48D8 3C038016 */ lui $v1, %hi(D_80164430) # $v1, 0x8016 -/* 11DEEC 802B48DC 94634430 */ lhu $v1, %lo(D_80164430)($v1) -/* 11DEF0 802B48E0 24420008 */ addiu $v0, $v0, 8 -/* 11DEF4 802B48E4 00027C00 */ sll $t7, $v0, 0x10 -/* 11DEF8 802B48E8 000FC403 */ sra $t8, $t7, 0x10 -/* 11DEFC 802B48EC 0078082A */ slt $at, $v1, $t8 -/* 11DF00 802B48F0 10200004 */ beqz $at, .L802B4904 -/* 11DF04 802B48F4 03001025 */ move $v0, $t8 -/* 11DF08 802B48F8 03031023 */ subu $v0, $t8, $v1 -/* 11DF0C 802B48FC 0002CC00 */ sll $t9, $v0, 0x10 -/* 11DF10 802B4900 00191403 */ sra $v0, $t9, 0x10 -.L802B4904: -/* 11DF14 802B4904 10000030 */ b .L802B49C8 -/* 11DF18 802B4908 A6020012 */ sh $v0, 0x12($s0) -.L802B490C: -/* 11DF1C 802B490C 14200023 */ bnez $at, .L802B499C -/* 11DF20 802B4910 24090005 */ li $t1, 5 -/* 11DF24 802B4914 3C01447A */ li $at, 0x447A0000 # 1000.000000 -/* 11DF28 802B4918 44815000 */ mtc1 $at, $f10 -/* 11DF2C 802B491C A6090006 */ sh $t1, 6($s0) -/* 11DF30 802B4920 3C0A800E */ lui $t2, %hi(gPlayerOne) # $t2, 0x800e -/* 11DF34 802B4924 E60A0008 */ swc1 $f10, 8($s0) -/* 11DF38 802B4928 8D4AC4DC */ lw $t2, %lo(gPlayerOne)($t2) -/* 11DF3C 802B492C 24010DD8 */ li $at, 3544 -/* 11DF40 802B4930 3C028016 */ lui $v0, %hi(D_80164438) # 0x8016 -/* 11DF44 802B4934 022A5823 */ subu $t3, $s1, $t2 -/* 11DF48 802B4938 0161001A */ div $zero, $t3, $at -/* 11DF4C 802B493C 00006012 */ mflo $t4 -/* 11DF50 802B4940 000C6840 */ sll $t5, $t4, 1 -/* 11DF54 802B4944 004D1021 */ addu $v0, $v0, $t5 -/* 11DF58 802B4948 94424438 */ lhu $v0, %lo(D_80164438)($v0) # 0x4438($v0) -/* 11DF5C 802B494C 3C038016 */ lui $v1, %hi(D_80164430) # $v1, 0x8016 -/* 11DF60 802B4950 94634430 */ lhu $v1, %lo(D_80164430)($v1) -/* 11DF64 802B4954 24420008 */ addiu $v0, $v0, 8 -/* 11DF68 802B4958 00027400 */ sll $t6, $v0, 0x10 -/* 11DF6C 802B495C 000E7C03 */ sra $t7, $t6, 0x10 -/* 11DF70 802B4960 006F082A */ slt $at, $v1, $t7 -/* 11DF74 802B4964 10200004 */ beqz $at, .L802B4978 -/* 11DF78 802B4968 01E01025 */ move $v0, $t7 -/* 11DF7C 802B496C 01E31023 */ subu $v0, $t7, $v1 -/* 11DF80 802B4970 0002C400 */ sll $t8, $v0, 0x10 -/* 11DF84 802B4974 00181403 */ sra $v0, $t8, 0x10 -.L802B4978: -/* 11DF88 802B4978 A6020012 */ sh $v0, 0x12($s0) -/* 11DF8C 802B497C 86280004 */ lh $t0, 4($s1) -/* 11DF90 802B4980 3C048016 */ lui $a0, %hi(gPlayerPositionLUT) # $a0, 0x8016 -/* 11DF94 802B4984 2484F8F0 */ addiu $a0, %lo(gPlayerPositionLUT) # addiu $a0, $a0, -0x710 -/* 11DF98 802B4988 00084840 */ sll $t1, $t0, 1 -/* 11DF9C 802B498C 00895021 */ addu $t2, $a0, $t1 -/* 11DFA0 802B4990 854BFFFE */ lh $t3, -2($t2) -/* 11DFA4 802B4994 1000000C */ b .L802B49C8 -/* 11DFA8 802B4998 A60B0004 */ sh $t3, 4($s0) -.L802B499C: -/* 11DFAC 802B499C 3C01447A */ li $at, 0x447A0000 # 1000.000000 -/* 11DFB0 802B49A0 44818000 */ mtc1 $at, $f16 -/* 11DFB4 802B49A4 A6030006 */ sh $v1, 6($s0) -/* 11DFB8 802B49A8 3C048016 */ lui $a0, %hi(gPlayerPositionLUT) # $a0, 0x8016 -/* 11DFBC 802B49AC E6100008 */ swc1 $f16, 8($s0) -/* 11DFC0 802B49B0 862C0004 */ lh $t4, 4($s1) -/* 11DFC4 802B49B4 2484F8F0 */ addiu $a0, %lo(gPlayerPositionLUT) # addiu $a0, $a0, -0x710 -/* 11DFC8 802B49B8 000C6840 */ sll $t5, $t4, 1 -/* 11DFCC 802B49BC 008D7021 */ addu $t6, $a0, $t5 -/* 11DFD0 802B49C0 85CFFFFE */ lh $t7, -2($t6) -/* 11DFD4 802B49C4 A60F0004 */ sh $t7, 4($s0) -.L802B49C8: -/* 11DFD8 802B49C8 3C01C000 */ li $at, 0xC0000000 # -2.000000 -/* 11DFDC 802B49CC 44810000 */ mtc1 $at, $f0 -/* 11DFE0 802B49D0 C6120028 */ lwc1 $f18, 0x28($s0) -/* 11DFE4 802B49D4 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 -/* 11DFE8 802B49D8 44813800 */ mtc1 $at, $f7 -/* 11DFEC 802B49DC 44803000 */ mtc1 $zero, $f6 -/* 11DFF0 802B49E0 46009121 */ cvt.d.s $f4, $f18 -/* 11DFF4 802B49E4 46262201 */ sub.d $f8, $f4, $f6 -/* 11DFF8 802B49E8 462042A0 */ cvt.s.d $f10, $f8 -/* 11DFFC 802B49EC E60A0028 */ swc1 $f10, 0x28($s0) -/* 11E000 802B49F0 C6100028 */ lwc1 $f16, 0x28($s0) -/* 11E004 802B49F4 4600803C */ c.lt.s $f16, $f0 -/* 11E008 802B49F8 00000000 */ nop -/* 11E00C 802B49FC 45020003 */ bc1fl .L802B4A0C -/* 11E010 802B4A00 C6120018 */ lwc1 $f18, 0x18($s0) -/* 11E014 802B4A04 E6000028 */ swc1 $f0, 0x28($s0) -/* 11E018 802B4A08 C6120018 */ lwc1 $f18, 0x18($s0) -.L802B4A0C: -/* 11E01C 802B4A0C 26040030 */ addiu $a0, $s0, 0x30 -/* 11E020 802B4A10 3C054080 */ lui $a1, 0x4080 -/* 11E024 802B4A14 E7B20038 */ swc1 $f18, 0x38($sp) -/* 11E028 802B4A18 C604001C */ lwc1 $f4, 0x1c($s0) -/* 11E02C 802B4A1C E7A4003C */ swc1 $f4, 0x3c($sp) -/* 11E030 802B4A20 C6060020 */ lwc1 $f6, 0x20($s0) -/* 11E034 802B4A24 E7A60040 */ swc1 $f6, 0x40($sp) -/* 11E038 802B4A28 C6080018 */ lwc1 $f8, 0x18($s0) -/* 11E03C 802B4A2C C60A0024 */ lwc1 $f10, 0x24($s0) -/* 11E040 802B4A30 C612001C */ lwc1 $f18, 0x1c($s0) -/* 11E044 802B4A34 C6040028 */ lwc1 $f4, 0x28($s0) -/* 11E048 802B4A38 460A4400 */ add.s $f16, $f8, $f10 -/* 11E04C 802B4A3C C60A002C */ lwc1 $f10, 0x2c($s0) -/* 11E050 802B4A40 C6080020 */ lwc1 $f8, 0x20($s0) -/* 11E054 802B4A44 46049180 */ add.s $f6, $f18, $f4 -/* 11E058 802B4A48 E6100018 */ swc1 $f16, 0x18($s0) -/* 11E05C 802B4A4C 8E060018 */ lw $a2, 0x18($s0) -/* 11E060 802B4A50 460A4400 */ add.s $f16, $f8, $f10 -/* 11E064 802B4A54 E606001C */ swc1 $f6, 0x1c($s0) -/* 11E068 802B4A58 8E07001C */ lw $a3, 0x1c($s0) -/* 11E06C 802B4A5C E6100020 */ swc1 $f16, 0x20($s0) -/* 11E070 802B4A60 C6120020 */ lwc1 $f18, 0x20($s0) -/* 11E074 802B4A64 C7A80040 */ lwc1 $f8, 0x40($sp) -/* 11E078 802B4A68 C7A6003C */ lwc1 $f6, 0x3c($sp) -/* 11E07C 802B4A6C C7A40038 */ lwc1 $f4, 0x38($sp) -/* 11E080 802B4A70 E7B20010 */ swc1 $f18, 0x10($sp) -/* 11E084 802B4A74 E7A8001C */ swc1 $f8, 0x1c($sp) -/* 11E088 802B4A78 E7A60018 */ swc1 $f6, 0x18($sp) -/* 11E08C 802B4A7C 0C0AB654 */ jal func_802AD950 -/* 11E090 802B4A80 E7A40014 */ swc1 $f4, 0x14($sp) -/* 11E094 802B4A84 0C0AD38C */ jal func_802B4E30 -/* 11E098 802B4A88 02002025 */ move $a0, $s0 -/* 11E09C 802B4A8C 0C0AD041 */ jal func_802B4104 -/* 11E0A0 802B4A90 02002025 */ move $a0, $s0 -/* 11E0A4 802B4A94 100000E2 */ b .L802B4E20 -/* 11E0A8 802B4A98 8FBF002C */ lw $ra, 0x2c($sp) -glabel L802B4A9C -/* 11E0AC 802B4A9C 86180004 */ lh $t8, 4($s0) -/* 11E0B0 802B4AA0 3C08800F */ lui $t0, %hi(gPlayers) # $t0, 0x800f -/* 11E0B4 802B4AA4 25086990 */ addiu $t0, %lo(gPlayers) # addiu $t0, $t0, 0x6990 -/* 11E0B8 802B4AA8 0018C8C0 */ sll $t9, $t8, 3 -/* 11E0BC 802B4AAC 0338C823 */ subu $t9, $t9, $t8 -/* 11E0C0 802B4AB0 0019C900 */ sll $t9, $t9, 4 -/* 11E0C4 802B4AB4 0338C823 */ subu $t9, $t9, $t8 -/* 11E0C8 802B4AB8 0019C880 */ sll $t9, $t9, 2 -/* 11E0CC 802B4ABC 0338C823 */ subu $t9, $t9, $t8 -/* 11E0D0 802B4AC0 0019C8C0 */ sll $t9, $t9, 3 -/* 11E0D4 802B4AC4 03282821 */ addu $a1, $t9, $t0 -/* 11E0D8 802B4AC8 0C0ACF9F */ jal func_802B3E7C -/* 11E0DC 802B4ACC 02002025 */ move $a0, $s0 -/* 11E0E0 802B4AD0 100000D3 */ b .L802B4E20 -/* 11E0E4 802B4AD4 8FBF002C */ lw $ra, 0x2c($sp) -glabel L802B4AD8 -/* 11E0E8 802B4AD8 0C0ACED1 */ jal func_802B3B44 -/* 11E0EC 802B4ADC 02002025 */ move $a0, $s0 -/* 11E0F0 802B4AE0 86020004 */ lh $v0, 4($s0) -/* 11E0F4 802B4AE4 544000CE */ bnel $v0, $zero, .L802B4E20 -/* 11E0F8 802B4AE8 8FBF002C */ lw $ra, 0x2c($sp) -/* 11E0FC 802B4AEC 86090002 */ lh $t1, 2($s0) -/* 11E100 802B4AF0 244BFFFF */ addiu $t3, $v0, -1 -/* 11E104 802B4AF4 312A000F */ andi $t2, $t1, 0xf -/* 11E108 802B4AF8 15400005 */ bnez $t2, .L802B4B10 -/* 11E10C 802B4AFC 00000000 */ nop -/* 11E110 802B4B00 0C0A7F72 */ jal func_8029FDC8 -/* 11E114 802B4B04 02002025 */ move $a0, $s0 -/* 11E118 802B4B08 100000C5 */ b .L802B4E20 -/* 11E11C 802B4B0C 8FBF002C */ lw $ra, 0x2c($sp) -.L802B4B10: -/* 11E120 802B4B10 100000C2 */ b .L802B4E1C -/* 11E124 802B4B14 A60B0004 */ sh $t3, 4($s0) -glabel L802B4B18 -/* 11E128 802B4B18 0C0ACED1 */ jal func_802B3B44 -/* 11E12C 802B4B1C 02002025 */ move $a0, $s0 -/* 11E130 802B4B20 860C0004 */ lh $t4, 4($s0) -/* 11E134 802B4B24 3C0E800F */ lui $t6, %hi(gPlayers) # $t6, 0x800f -/* 11E138 802B4B28 25CE6990 */ addiu $t6, %lo(gPlayers) # addiu $t6, $t6, 0x6990 -/* 11E13C 802B4B2C 000C68C0 */ sll $t5, $t4, 3 -/* 11E140 802B4B30 01AC6823 */ subu $t5, $t5, $t4 -/* 11E144 802B4B34 000D6900 */ sll $t5, $t5, 4 -/* 11E148 802B4B38 01AC6823 */ subu $t5, $t5, $t4 -/* 11E14C 802B4B3C 000D6880 */ sll $t5, $t5, 2 -/* 11E150 802B4B40 01AC6823 */ subu $t5, $t5, $t4 -/* 11E154 802B4B44 000D68C0 */ sll $t5, $t5, 3 -/* 11E158 802B4B48 01AE8821 */ addu $s1, $t5, $t6 -/* 11E15C 802B4B4C C6200014 */ lwc1 $f0, 0x14($s1) -/* 11E160 802B4B50 C60A0018 */ lwc1 $f10, 0x18($s0) -/* 11E164 802B4B54 C622001C */ lwc1 $f2, 0x1c($s1) -/* 11E168 802B4B58 C6100020 */ lwc1 $f16, 0x20($s0) -/* 11E16C 802B4B5C 460A0001 */ sub.s $f0, $f0, $f10 -/* 11E170 802B4B60 3C01802C */ lui $at, %hi(D_802B9F98) # $at, 0x802c -/* 11E174 802B4B64 C4289F98 */ lwc1 $f8, %lo(D_802B9F98)($at) -/* 11E178 802B4B68 46101081 */ sub.s $f2, $f2, $f16 -/* 11E17C 802B4B6C 46000482 */ mul.s $f18, $f0, $f0 -/* 11E180 802B4B70 24030003 */ li $v1, 3 -/* 11E184 802B4B74 46021102 */ mul.s $f4, $f2, $f2 -/* 11E188 802B4B78 46049180 */ add.s $f6, $f18, $f4 -/* 11E18C 802B4B7C 4608303C */ c.lt.s $f6, $f8 -/* 11E190 802B4B80 00000000 */ nop -/* 11E194 802B4B84 450200A6 */ bc1fl .L802B4E20 -/* 11E198 802B4B88 8FBF002C */ lw $ra, 0x2c($sp) -/* 11E19C 802B4B8C 100000A3 */ b .L802B4E1C -/* 11E1A0 802B4B90 A6030006 */ sh $v1, 6($s0) -glabel L802B4B94 -/* 11E1A4 802B4B94 860F0014 */ lh $t7, 0x14($s0) -/* 11E1A8 802B4B98 86080004 */ lh $t0, 4($s0) -/* 11E1AC 802B4B9C 3C0A8016 */ lui $t2, %hi(gActorList) # $t2, 0x8016 -/* 11E1B0 802B4BA0 000FC0C0 */ sll $t8, $t7, 3 -/* 11E1B4 802B4BA4 000848C0 */ sll $t1, $t0, 3 -/* 11E1B8 802B4BA8 030FC023 */ subu $t8, $t8, $t7 -/* 11E1BC 802B4BAC 01284823 */ subu $t1, $t1, $t0 -/* 11E1C0 802B4BB0 0018C100 */ sll $t8, $t8, 4 -/* 11E1C4 802B4BB4 00094900 */ sll $t1, $t1, 4 -/* 11E1C8 802B4BB8 254AF9B8 */ addiu $t2, %lo(gActorList) # addiu $t2, $t2, -0x648 -/* 11E1CC 802B4BBC 012A1021 */ addu $v0, $t1, $t2 -/* 11E1D0 802B4BC0 030FC023 */ subu $t8, $t8, $t7 -/* 11E1D4 802B4BC4 844B0000 */ lh $t3, ($v0) -/* 11E1D8 802B4BC8 0018C080 */ sll $t8, $t8, 2 -/* 11E1DC 802B4BCC 3C19800F */ lui $t9, %hi(gPlayers) # $t9, 0x800f -/* 11E1E0 802B4BD0 030FC023 */ subu $t8, $t8, $t7 -/* 11E1E4 802B4BD4 0018C0C0 */ sll $t8, $t8, 3 -/* 11E1E8 802B4BD8 27396990 */ addiu $t9, %lo(gPlayers) # addiu $t9, $t9, 0x6990 -/* 11E1EC 802B4BDC 24010016 */ li $at, 22 -/* 11E1F0 802B4BE0 11610005 */ beq $t3, $at, .L802B4BF8 -/* 11E1F4 802B4BE4 03198821 */ addu $s1, $t8, $t9 -/* 11E1F8 802B4BE8 0C0A7F72 */ jal func_8029FDC8 -/* 11E1FC 802B4BEC 02002025 */ move $a0, $s0 -/* 11E200 802B4BF0 1000008B */ b .L802B4E20 -/* 11E204 802B4BF4 8FBF002C */ lw $ra, 0x2c($sp) -.L802B4BF8: -/* 11E208 802B4BF8 860C0012 */ lh $t4, 0x12($s0) -/* 11E20C 802B4BFC 844D0010 */ lh $t5, 0x10($v0) -/* 11E210 802B4C00 018D7021 */ addu $t6, $t4, $t5 -/* 11E214 802B4C04 A60E0012 */ sh $t6, 0x12($s0) -/* 11E218 802B4C08 0C0AE006 */ jal sins -/* 11E21C 802B4C0C 31C4FFFF */ andi $a0, $t6, 0xffff -/* 11E220 802B4C10 3C014100 */ li $at, 0x41000000 # 8.000000 -/* 11E224 802B4C14 44815000 */ mtc1 $at, $f10 -/* 11E228 802B4C18 00000000 */ nop -/* 11E22C 802B4C1C 460A0402 */ mul.s $f16, $f0, $f10 -/* 11E230 802B4C20 E7B0008C */ swc1 $f16, 0x8c($sp) -/* 11E234 802B4C24 C6240070 */ lwc1 $f4, 0x70($s1) -/* 11E238 802B4C28 C612000C */ lwc1 $f18, 0xc($s0) -/* 11E23C 802B4C2C 46049181 */ sub.s $f6, $f18, $f4 -/* 11E240 802B4C30 E7A60090 */ swc1 $f6, 0x90($sp) -/* 11E244 802B4C34 0C0AE00E */ jal coss -/* 11E248 802B4C38 96040012 */ lhu $a0, 0x12($s0) -/* 11E24C 802B4C3C 3C014100 */ li $at, 0x41000000 # 8.000000 -/* 11E250 802B4C40 44814000 */ mtc1 $at, $f8 -/* 11E254 802B4C44 27A4008C */ addiu $a0, $sp, 0x8c -/* 11E258 802B4C48 26250174 */ addiu $a1, $s1, 0x174 -/* 11E25C 802B4C4C 46080282 */ mul.s $f10, $f0, $f8 -/* 11E260 802B4C50 0C0AD8EE */ jal func_802B63B8 -/* 11E264 802B4C54 E7AA0094 */ swc1 $f10, 0x94($sp) -/* 11E268 802B4C58 C6100018 */ lwc1 $f16, 0x18($s0) -/* 11E26C 802B4C5C C7A6008C */ lwc1 $f6, 0x8c($sp) -/* 11E270 802B4C60 26040030 */ addiu $a0, $s0, 0x30 -/* 11E274 802B4C64 E7B00038 */ swc1 $f16, 0x38($sp) -/* 11E278 802B4C68 C612001C */ lwc1 $f18, 0x1c($s0) -/* 11E27C 802B4C6C 3C054080 */ lui $a1, 0x4080 -/* 11E280 802B4C70 E7B2003C */ swc1 $f18, 0x3c($sp) -/* 11E284 802B4C74 C6040020 */ lwc1 $f4, 0x20($s0) -/* 11E288 802B4C78 E7A40040 */ swc1 $f4, 0x40($sp) -/* 11E28C 802B4C7C C6280014 */ lwc1 $f8, 0x14($s1) -/* 11E290 802B4C80 46083280 */ add.s $f10, $f6, $f8 -/* 11E294 802B4C84 E60A0018 */ swc1 $f10, 0x18($s0) -/* 11E298 802B4C88 C6320018 */ lwc1 $f18, 0x18($s1) -/* 11E29C 802B4C8C C7B00090 */ lwc1 $f16, 0x90($sp) -/* 11E2A0 802B4C90 8E060018 */ lw $a2, 0x18($s0) -/* 11E2A4 802B4C94 46128100 */ add.s $f4, $f16, $f18 -/* 11E2A8 802B4C98 E604001C */ swc1 $f4, 0x1c($s0) -/* 11E2AC 802B4C9C C628001C */ lwc1 $f8, 0x1c($s1) -/* 11E2B0 802B4CA0 C7A60094 */ lwc1 $f6, 0x94($sp) -/* 11E2B4 802B4CA4 8E07001C */ lw $a3, 0x1c($s0) -/* 11E2B8 802B4CA8 46083280 */ add.s $f10, $f6, $f8 -/* 11E2BC 802B4CAC E60A0020 */ swc1 $f10, 0x20($s0) -/* 11E2C0 802B4CB0 C6100020 */ lwc1 $f16, 0x20($s0) -/* 11E2C4 802B4CB4 C7A60040 */ lwc1 $f6, 0x40($sp) -/* 11E2C8 802B4CB8 C7A4003C */ lwc1 $f4, 0x3c($sp) -/* 11E2CC 802B4CBC C7B20038 */ lwc1 $f18, 0x38($sp) -/* 11E2D0 802B4CC0 E7B00010 */ swc1 $f16, 0x10($sp) -/* 11E2D4 802B4CC4 E7A6001C */ swc1 $f6, 0x1c($sp) -/* 11E2D8 802B4CC8 E7A40018 */ swc1 $f4, 0x18($sp) -/* 11E2DC 802B4CCC 0C0AB654 */ jal func_802AD950 -/* 11E2E0 802B4CD0 E7B20014 */ swc1 $f18, 0x14($sp) -/* 11E2E4 802B4CD4 0C0AD38C */ jal func_802B4E30 -/* 11E2E8 802B4CD8 02002025 */ move $a0, $s0 -/* 11E2EC 802B4CDC 10000050 */ b .L802B4E20 -/* 11E2F0 802B4CE0 8FBF002C */ lw $ra, 0x2c($sp) -glabel L802B4CE4 -/* 11E2F4 802B4CE4 3C01C0A0 */ li $at, 0xC0A00000 # -5.000000 -/* 11E2F8 802B4CE8 44816000 */ mtc1 $at, $f12 -/* 11E2FC 802B4CEC 3C01802C */ lui $at, %hi(D_802B9F9C) # $at, 0x802c -/* 11E300 802B4CF0 C42A9F9C */ lwc1 $f10, %lo(D_802B9F9C)($at) -/* 11E304 802B4CF4 C6080028 */ lwc1 $f8, 0x28($s0) -/* 11E308 802B4CF8 460A4401 */ sub.s $f16, $f8, $f10 -/* 11E30C 802B4CFC E6100028 */ swc1 $f16, 0x28($s0) -/* 11E310 802B4D00 C6000028 */ lwc1 $f0, 0x28($s0) -/* 11E314 802B4D04 460C003C */ c.lt.s $f0, $f12 -/* 11E318 802B4D08 00000000 */ nop -/* 11E31C 802B4D0C 45020004 */ bc1fl .L802B4D20 -/* 11E320 802B4D10 86190004 */ lh $t9, 4($s0) -/* 11E324 802B4D14 E60C0028 */ swc1 $f12, 0x28($s0) -/* 11E328 802B4D18 C6000028 */ lwc1 $f0, 0x28($s0) -/* 11E32C 802B4D1C 86190004 */ lh $t9, 4($s0) -.L802B4D20: -/* 11E330 802B4D20 C612001C */ lwc1 $f18, 0x1c($s0) -/* 11E334 802B4D24 860F0012 */ lh $t7, 0x12($s0) -/* 11E338 802B4D28 2728FFFF */ addiu $t0, $t9, -1 -/* 11E33C 802B4D2C A6080004 */ sh $t0, 4($s0) -/* 11E340 802B4D30 46009100 */ add.s $f4, $f18, $f0 -/* 11E344 802B4D34 86090004 */ lh $t1, 4($s0) -/* 11E348 802B4D38 25F805B0 */ addiu $t8, $t7, 0x5b0 -/* 11E34C 802B4D3C A6180012 */ sh $t8, 0x12($s0) -/* 11E350 802B4D40 15200036 */ bnez $t1, .L802B4E1C -/* 11E354 802B4D44 E604001C */ swc1 $f4, 0x1c($s0) -/* 11E358 802B4D48 0C0A7A15 */ jal destroy_actor -/* 11E35C 802B4D4C 02002025 */ move $a0, $s0 -/* 11E360 802B4D50 10000033 */ b .L802B4E20 -/* 11E364 802B4D54 8FBF002C */ lw $ra, 0x2c($sp) -glabel L802B4D58 -/* 11E368 802B4D58 0C0ACED1 */ jal func_802B3B44 -/* 11E36C 802B4D5C 02002025 */ move $a0, $s0 -/* 11E370 802B4D60 3C048016 */ lui $a0, %hi(gPlayerPositionLUT) # $a0, 0x8016 -/* 11E374 802B4D64 2484F8F0 */ addiu $a0, %lo(gPlayerPositionLUT) # addiu $a0, $a0, -0x710 -/* 11E378 802B4D68 848A0000 */ lh $t2, ($a0) -/* 11E37C 802B4D6C 3C0D800F */ lui $t5, %hi(gPlayers) # $t5, 0x800f -/* 11E380 802B4D70 25AD6990 */ addiu $t5, %lo(gPlayers) # addiu $t5, $t5, 0x6990 -/* 11E384 802B4D74 A60A0004 */ sh $t2, 4($s0) -/* 11E388 802B4D78 848B0000 */ lh $t3, ($a0) -/* 11E38C 802B4D7C C6060018 */ lwc1 $f6, 0x18($s0) -/* 11E390 802B4D80 C6080020 */ lwc1 $f8, 0x20($s0) -/* 11E394 802B4D84 000B60C0 */ sll $t4, $t3, 3 -/* 11E398 802B4D88 018B6023 */ subu $t4, $t4, $t3 -/* 11E39C 802B4D8C 000C6100 */ sll $t4, $t4, 4 -/* 11E3A0 802B4D90 018B6023 */ subu $t4, $t4, $t3 -/* 11E3A4 802B4D94 000C6080 */ sll $t4, $t4, 2 -/* 11E3A8 802B4D98 018B6023 */ subu $t4, $t4, $t3 -/* 11E3AC 802B4D9C 000C60C0 */ sll $t4, $t4, 3 -/* 11E3B0 802B4DA0 018D8821 */ addu $s1, $t4, $t5 -/* 11E3B4 802B4DA4 C6200014 */ lwc1 $f0, 0x14($s1) -/* 11E3B8 802B4DA8 C622001C */ lwc1 $f2, 0x1c($s1) -/* 11E3BC 802B4DAC 3C01802C */ lui $at, %hi(D_802B9FA0) # $at, 0x802c -/* 11E3C0 802B4DB0 46060001 */ sub.s $f0, $f0, $f6 -/* 11E3C4 802B4DB4 C4249FA0 */ lwc1 $f4, %lo(D_802B9FA0)($at) -/* 11E3C8 802B4DB8 240E0009 */ li $t6, 9 -/* 11E3CC 802B4DBC 46081081 */ sub.s $f2, $f2, $f8 -/* 11E3D0 802B4DC0 46000282 */ mul.s $f10, $f0, $f0 -/* 11E3D4 802B4DC4 00000000 */ nop -/* 11E3D8 802B4DC8 46021402 */ mul.s $f16, $f2, $f2 -/* 11E3DC 802B4DCC 46105480 */ add.s $f18, $f10, $f16 -/* 11E3E0 802B4DD0 4604903C */ c.lt.s $f18, $f4 -/* 11E3E4 802B4DD4 00000000 */ nop -/* 11E3E8 802B4DD8 45000010 */ bc1f .L802B4E1C -/* 11E3EC 802B4DDC 00000000 */ nop -/* 11E3F0 802B4DE0 1000000E */ b .L802B4E1C -/* 11E3F4 802B4DE4 A60E0006 */ sh $t6, 6($s0) -glabel L802B4DE8 -/* 11E3F8 802B4DE8 860F0004 */ lh $t7, 4($s0) -/* 11E3FC 802B4DEC 3C19800F */ lui $t9, %hi(gPlayers) # $t9, 0x800f -/* 11E400 802B4DF0 27396990 */ addiu $t9, %lo(gPlayers) # addiu $t9, $t9, 0x6990 -/* 11E404 802B4DF4 000FC0C0 */ sll $t8, $t7, 3 -/* 11E408 802B4DF8 030FC023 */ subu $t8, $t8, $t7 -/* 11E40C 802B4DFC 0018C100 */ sll $t8, $t8, 4 -/* 11E410 802B4E00 030FC023 */ subu $t8, $t8, $t7 -/* 11E414 802B4E04 0018C080 */ sll $t8, $t8, 2 -/* 11E418 802B4E08 030FC023 */ subu $t8, $t8, $t7 -/* 11E41C 802B4E0C 0018C0C0 */ sll $t8, $t8, 3 -/* 11E420 802B4E10 03192821 */ addu $a1, $t8, $t9 -/* 11E424 802B4E14 0C0ACF9F */ jal func_802B3E7C -/* 11E428 802B4E18 02002025 */ move $a0, $s0 -.L802B4E1C: -/* 11E42C 802B4E1C 8FBF002C */ lw $ra, 0x2c($sp) -.L802B4E20: -/* 11E430 802B4E20 8FB00024 */ lw $s0, 0x24($sp) -/* 11E434 802B4E24 8FB10028 */ lw $s1, 0x28($sp) -/* 11E438 802B4E28 03E00008 */ jr $ra -/* 11E43C 802B4E2C 27BD00B0 */ addiu $sp, $sp, 0xb0 diff --git a/asm/non_matchings/code_802B0210/update_obj_triple_shell.s b/asm/non_matchings/code_802B0210/update_obj_triple_shell.s deleted file mode 100644 index b137796bc..000000000 --- a/asm/non_matchings/code_802B0210/update_obj_triple_shell.s +++ /dev/null @@ -1,633 +0,0 @@ -glabel update_obj_triple_shell -/* 11A4A8 802B0E98 27BDFFA8 */ addiu $sp, $sp, -0x58 -/* 11A4AC 802B0E9C AFBF001C */ sw $ra, 0x1c($sp) -/* 11A4B0 802B0EA0 AFB00018 */ sw $s0, 0x18($sp) -/* 11A4B4 802B0EA4 AFA5005C */ sw $a1, 0x5c($sp) -/* 11A4B8 802B0EA8 848F0012 */ lh $t7, 0x12($a0) -/* 11A4BC 802B0EAC 84820010 */ lh $v0, 0x10($a0) -/* 11A4C0 802B0EB0 94990006 */ lhu $t9, 6($a0) -/* 11A4C4 802B0EB4 00053400 */ sll $a2, $a1, 0x10 -/* 11A4C8 802B0EB8 00067403 */ sra $t6, $a2, 0x10 -/* 11A4CC 802B0EBC 01E2C021 */ addu $t8, $t7, $v0 -/* 11A4D0 802B0EC0 2F210005 */ sltiu $at, $t9, 5 -/* 11A4D4 802B0EC4 01C03025 */ move $a2, $t6 -/* 11A4D8 802B0EC8 00808025 */ move $s0, $a0 -/* 11A4DC 802B0ECC 84880014 */ lh $t0, 0x14($a0) -/* 11A4E0 802B0ED0 A4980012 */ sh $t8, 0x12($a0) -/* 11A4E4 802B0ED4 10200242 */ beqz $at, .L802B17E0 -/* 11A4E8 802B0ED8 3303FFFF */ andi $v1, $t8, 0xffff -/* 11A4EC 802B0EDC 0019C880 */ sll $t9, $t9, 2 -/* 11A4F0 802B0EE0 3C01802C */ lui $at, %hi(jpt_802B9EB4) -/* 11A4F4 802B0EE4 00390821 */ addu $at, $at, $t9 -/* 11A4F8 802B0EE8 8C399EB4 */ lw $t9, %lo(jpt_802B9EB4)($at) -/* 11A4FC 802B0EEC 03200008 */ jr $t9 -/* 11A500 802B0EF0 00000000 */ nop -glabel L802B0EF4 -/* 11A504 802B0EF4 000848C0 */ sll $t1, $t0, 3 -/* 11A508 802B0EF8 01284823 */ subu $t1, $t1, $t0 -/* 11A50C 802B0EFC 00094900 */ sll $t1, $t1, 4 -/* 11A510 802B0F00 01284823 */ subu $t1, $t1, $t0 -/* 11A514 802B0F04 00094880 */ sll $t1, $t1, 2 -/* 11A518 802B0F08 01284823 */ subu $t1, $t1, $t0 -/* 11A51C 802B0F0C 3C0A800F */ lui $t2, %hi(gPlayers) # $t2, 0x800f -/* 11A520 802B0F10 254A6990 */ addiu $t2, %lo(gPlayers) # addiu $t2, $t2, 0x6990 -/* 11A524 802B0F14 000948C0 */ sll $t1, $t1, 3 -/* 11A528 802B0F18 012A2821 */ addu $a1, $t1, $t2 -/* 11A52C 802B0F1C 02002025 */ move $a0, $s0 -/* 11A530 802B0F20 00003825 */ move $a3, $zero -/* 11A534 802B0F24 0C0AC67B */ jal func_802B19EC -/* 11A538 802B0F28 A7A8004E */ sh $t0, 0x4e($sp) -/* 11A53C 802B0F2C 2401FFFF */ li $at, -1 -/* 11A540 802B0F30 10410008 */ beq $v0, $at, .L802B0F54 -/* 11A544 802B0F34 87A8004E */ lh $t0, 0x4e($sp) -/* 11A548 802B0F38 3C051900 */ lui $a1, (0x19008012 >> 16) # lui $a1, 0x1900 -/* 11A54C 802B0F3C 34A58012 */ ori $a1, (0x19008012 & 0xFFFF) # ori $a1, $a1, 0x8012 -/* 11A550 802B0F40 0C032418 */ jal func_800C9060 -/* 11A554 802B0F44 310400FF */ andi $a0, $t0, 0xff -/* 11A558 802B0F48 860B0004 */ lh $t3, 4($s0) -/* 11A55C 802B0F4C 256C0001 */ addiu $t4, $t3, 1 -/* 11A560 802B0F50 A60C0004 */ sh $t4, 4($s0) -.L802B0F54: -/* 11A564 802B0F54 240D0001 */ li $t5, 1 -/* 11A568 802B0F58 10000221 */ b .L802B17E0 -/* 11A56C 802B0F5C A60D0006 */ sh $t5, 6($s0) -glabel L802B0F60 -/* 11A570 802B0F60 1840001F */ blez $v0, .L802B0FE0 -/* 11A574 802B0F64 28612AAA */ slti $at, $v1, 0x2aaa -/* 11A578 802B0F68 3401D556 */ li $at, 54614 -/* 11A57C 802B0F6C 0061082A */ slt $at, $v1, $at -/* 11A580 802B0F70 1420021B */ bnez $at, .L802B17E0 -/* 11A584 802B0F74 02002025 */ move $a0, $s0 -/* 11A588 802B0F78 000870C0 */ sll $t6, $t0, 3 -/* 11A58C 802B0F7C 01C87023 */ subu $t6, $t6, $t0 -/* 11A590 802B0F80 000E7100 */ sll $t6, $t6, 4 -/* 11A594 802B0F84 01C87023 */ subu $t6, $t6, $t0 -/* 11A598 802B0F88 000E7080 */ sll $t6, $t6, 2 -/* 11A59C 802B0F8C 01C87023 */ subu $t6, $t6, $t0 -/* 11A5A0 802B0F90 3C0F800F */ lui $t7, %hi(gPlayers) # $t7, 0x800f -/* 11A5A4 802B0F94 25EF6990 */ addiu $t7, %lo(gPlayers) # addiu $t7, $t7, 0x6990 -/* 11A5A8 802B0F98 000E70C0 */ sll $t6, $t6, 3 -/* 11A5AC 802B0F9C 01CF2821 */ addu $a1, $t6, $t7 -/* 11A5B0 802B0FA0 24070001 */ li $a3, 1 -/* 11A5B4 802B0FA4 0C0AC67B */ jal func_802B19EC -/* 11A5B8 802B0FA8 A7A8004E */ sh $t0, 0x4e($sp) -/* 11A5BC 802B0FAC 2401FFFF */ li $at, -1 -/* 11A5C0 802B0FB0 10410008 */ beq $v0, $at, .L802B0FD4 -/* 11A5C4 802B0FB4 87A8004E */ lh $t0, 0x4e($sp) -/* 11A5C8 802B0FB8 3C051900 */ lui $a1, (0x19008012 >> 16) # lui $a1, 0x1900 -/* 11A5CC 802B0FBC 34A58012 */ ori $a1, (0x19008012 & 0xFFFF) # ori $a1, $a1, 0x8012 -/* 11A5D0 802B0FC0 0C032418 */ jal func_800C9060 -/* 11A5D4 802B0FC4 310400FF */ andi $a0, $t0, 0xff -/* 11A5D8 802B0FC8 86180004 */ lh $t8, 4($s0) -/* 11A5DC 802B0FCC 27190001 */ addiu $t9, $t8, 1 -/* 11A5E0 802B0FD0 A6190004 */ sh $t9, 4($s0) -.L802B0FD4: -/* 11A5E4 802B0FD4 24090002 */ li $t1, 2 -/* 11A5E8 802B0FD8 10000201 */ b .L802B17E0 -/* 11A5EC 802B0FDC A6090006 */ sh $t1, 6($s0) -.L802B0FE0: -/* 11A5F0 802B0FE0 102001FF */ beqz $at, .L802B17E0 -/* 11A5F4 802B0FE4 02002025 */ move $a0, $s0 -/* 11A5F8 802B0FE8 000850C0 */ sll $t2, $t0, 3 -/* 11A5FC 802B0FEC 01485023 */ subu $t2, $t2, $t0 -/* 11A600 802B0FF0 000A5100 */ sll $t2, $t2, 4 -/* 11A604 802B0FF4 01485023 */ subu $t2, $t2, $t0 -/* 11A608 802B0FF8 000A5080 */ sll $t2, $t2, 2 -/* 11A60C 802B0FFC 01485023 */ subu $t2, $t2, $t0 -/* 11A610 802B1000 3C0B800F */ lui $t3, %hi(gPlayers) # $t3, 0x800f -/* 11A614 802B1004 256B6990 */ addiu $t3, %lo(gPlayers) # addiu $t3, $t3, 0x6990 -/* 11A618 802B1008 000A50C0 */ sll $t2, $t2, 3 -/* 11A61C 802B100C 014B2821 */ addu $a1, $t2, $t3 -/* 11A620 802B1010 24070001 */ li $a3, 1 -/* 11A624 802B1014 0C0AC67B */ jal func_802B19EC -/* 11A628 802B1018 A7A8004E */ sh $t0, 0x4e($sp) -/* 11A62C 802B101C 2401FFFF */ li $at, -1 -/* 11A630 802B1020 10410008 */ beq $v0, $at, .L802B1044 -/* 11A634 802B1024 87A8004E */ lh $t0, 0x4e($sp) -/* 11A638 802B1028 3C051900 */ lui $a1, (0x19008012 >> 16) # lui $a1, 0x1900 -/* 11A63C 802B102C 34A58012 */ ori $a1, (0x19008012 & 0xFFFF) # ori $a1, $a1, 0x8012 -/* 11A640 802B1030 0C032418 */ jal func_800C9060 -/* 11A644 802B1034 310400FF */ andi $a0, $t0, 0xff -/* 11A648 802B1038 860C0004 */ lh $t4, 4($s0) -/* 11A64C 802B103C 258D0001 */ addiu $t5, $t4, 1 -/* 11A650 802B1040 A60D0004 */ sh $t5, 4($s0) -.L802B1044: -/* 11A654 802B1044 240E0002 */ li $t6, 2 -/* 11A658 802B1048 100001E5 */ b .L802B17E0 -/* 11A65C 802B104C A60E0006 */ sh $t6, 6($s0) -glabel L802B1050 -/* 11A660 802B1050 18400020 */ blez $v0, .L802B10D4 -/* 11A664 802B1054 3401D555 */ li $at, 54613 -/* 11A668 802B1058 28612AAB */ slti $at, $v1, 0x2aab -/* 11A66C 802B105C 142001E0 */ bnez $at, .L802B17E0 -/* 11A670 802B1060 286131C7 */ slti $at, $v1, 0x31c7 -/* 11A674 802B1064 102001DE */ beqz $at, .L802B17E0 -/* 11A678 802B1068 02002025 */ move $a0, $s0 -/* 11A67C 802B106C 000878C0 */ sll $t7, $t0, 3 -/* 11A680 802B1070 01E87823 */ subu $t7, $t7, $t0 -/* 11A684 802B1074 000F7900 */ sll $t7, $t7, 4 -/* 11A688 802B1078 01E87823 */ subu $t7, $t7, $t0 -/* 11A68C 802B107C 000F7880 */ sll $t7, $t7, 2 -/* 11A690 802B1080 01E87823 */ subu $t7, $t7, $t0 -/* 11A694 802B1084 3C18800F */ lui $t8, %hi(gPlayers) # $t8, 0x800f -/* 11A698 802B1088 27186990 */ addiu $t8, %lo(gPlayers) # addiu $t8, $t8, 0x6990 -/* 11A69C 802B108C 000F78C0 */ sll $t7, $t7, 3 -/* 11A6A0 802B1090 01F82821 */ addu $a1, $t7, $t8 -/* 11A6A4 802B1094 24070002 */ li $a3, 2 -/* 11A6A8 802B1098 0C0AC67B */ jal func_802B19EC -/* 11A6AC 802B109C A7A8004E */ sh $t0, 0x4e($sp) -/* 11A6B0 802B10A0 2401FFFF */ li $at, -1 -/* 11A6B4 802B10A4 10410008 */ beq $v0, $at, .L802B10C8 -/* 11A6B8 802B10A8 87A8004E */ lh $t0, 0x4e($sp) -/* 11A6BC 802B10AC 3C051900 */ lui $a1, (0x19008012 >> 16) # lui $a1, 0x1900 -/* 11A6C0 802B10B0 34A58012 */ ori $a1, (0x19008012 & 0xFFFF) # ori $a1, $a1, 0x8012 -/* 11A6C4 802B10B4 0C032418 */ jal func_800C9060 -/* 11A6C8 802B10B8 310400FF */ andi $a0, $t0, 0xff -/* 11A6CC 802B10BC 86190004 */ lh $t9, 4($s0) -/* 11A6D0 802B10C0 27290001 */ addiu $t1, $t9, 1 -/* 11A6D4 802B10C4 A6090004 */ sh $t1, 4($s0) -.L802B10C8: -/* 11A6D8 802B10C8 240A0003 */ li $t2, 3 -/* 11A6DC 802B10CC 100001C4 */ b .L802B17E0 -/* 11A6E0 802B10D0 A60A0006 */ sh $t2, 6($s0) -.L802B10D4: -/* 11A6E4 802B10D4 0061082A */ slt $at, $v1, $at -/* 11A6E8 802B10D8 102001C1 */ beqz $at, .L802B17E0 -/* 11A6EC 802B10DC 3401CE39 */ li $at, 52793 -/* 11A6F0 802B10E0 0061082A */ slt $at, $v1, $at -/* 11A6F4 802B10E4 142001BE */ bnez $at, .L802B17E0 -/* 11A6F8 802B10E8 02002025 */ move $a0, $s0 -/* 11A6FC 802B10EC 000858C0 */ sll $t3, $t0, 3 -/* 11A700 802B10F0 01685823 */ subu $t3, $t3, $t0 -/* 11A704 802B10F4 000B5900 */ sll $t3, $t3, 4 -/* 11A708 802B10F8 01685823 */ subu $t3, $t3, $t0 -/* 11A70C 802B10FC 000B5880 */ sll $t3, $t3, 2 -/* 11A710 802B1100 01685823 */ subu $t3, $t3, $t0 -/* 11A714 802B1104 3C0C800F */ lui $t4, %hi(gPlayers) # $t4, 0x800f -/* 11A718 802B1108 258C6990 */ addiu $t4, %lo(gPlayers) # addiu $t4, $t4, 0x6990 -/* 11A71C 802B110C 000B58C0 */ sll $t3, $t3, 3 -/* 11A720 802B1110 016C2821 */ addu $a1, $t3, $t4 -/* 11A724 802B1114 24070002 */ li $a3, 2 -/* 11A728 802B1118 0C0AC67B */ jal func_802B19EC -/* 11A72C 802B111C A7A8004E */ sh $t0, 0x4e($sp) -/* 11A730 802B1120 2401FFFF */ li $at, -1 -/* 11A734 802B1124 10410008 */ beq $v0, $at, .L802B1148 -/* 11A738 802B1128 87A8004E */ lh $t0, 0x4e($sp) -/* 11A73C 802B112C 3C051900 */ lui $a1, (0x19008012 >> 16) # lui $a1, 0x1900 -/* 11A740 802B1130 34A58012 */ ori $a1, (0x19008012 & 0xFFFF) # ori $a1, $a1, 0x8012 -/* 11A744 802B1134 0C032418 */ jal func_800C9060 -/* 11A748 802B1138 310400FF */ andi $a0, $t0, 0xff -/* 11A74C 802B113C 860D0004 */ lh $t5, 4($s0) -/* 11A750 802B1140 25AE0001 */ addiu $t6, $t5, 1 -/* 11A754 802B1144 A60E0004 */ sh $t6, 4($s0) -.L802B1148: -/* 11A758 802B1148 240F0003 */ li $t7, 3 -/* 11A75C 802B114C 100001A4 */ b .L802B17E0 -/* 11A760 802B1150 A60F0006 */ sh $t7, 6($s0) -glabel L802B1154 -/* 11A764 802B1154 C6040024 */ lwc1 $f4, 0x24($s0) -/* 11A768 802B1158 24050070 */ li $a1, 112 -/* 11A76C 802B115C 3C048016 */ lui $a0, %hi(gActorList) # $a0, 0x8016 -/* 11A770 802B1160 4600218D */ trunc.w.s $f6, $f4 -/* 11A774 802B1164 2484F9B8 */ addiu $a0, %lo(gActorList) # addiu $a0, $a0, -0x648 -/* 11A778 802B1168 24180004 */ li $t8, 4 -/* 11A77C 802B116C A6180006 */ sh $t8, 6($s0) -/* 11A780 802B1170 44093000 */ mfc1 $t1, $f6 -/* 11A784 802B1174 00000000 */ nop -/* 11A788 802B1178 00095400 */ sll $t2, $t1, 0x10 -/* 11A78C 802B117C 000A5C03 */ sra $t3, $t2, 0x10 -/* 11A790 802B1180 01650019 */ multu $t3, $a1 -/* 11A794 802B1184 00006012 */ mflo $t4 -/* 11A798 802B1188 008C1021 */ addu $v0, $a0, $t4 -/* 11A79C 802B118C 844D0002 */ lh $t5, 2($v0) -/* 11A7A0 802B1190 35AE4000 */ ori $t6, $t5, 0x4000 -/* 11A7A4 802B1194 A44E0002 */ sh $t6, 2($v0) -/* 11A7A8 802B1198 C6080028 */ lwc1 $f8, 0x28($s0) -/* 11A7AC 802B119C 4600428D */ trunc.w.s $f10, $f8 -/* 11A7B0 802B11A0 44185000 */ mfc1 $t8, $f10 -/* 11A7B4 802B11A4 00000000 */ nop -/* 11A7B8 802B11A8 0018CC00 */ sll $t9, $t8, 0x10 -/* 11A7BC 802B11AC 00194C03 */ sra $t1, $t9, 0x10 -/* 11A7C0 802B11B0 01250019 */ multu $t1, $a1 -/* 11A7C4 802B11B4 00005012 */ mflo $t2 -/* 11A7C8 802B11B8 008A1021 */ addu $v0, $a0, $t2 -/* 11A7CC 802B11BC 844B0002 */ lh $t3, 2($v0) -/* 11A7D0 802B11C0 356C4000 */ ori $t4, $t3, 0x4000 -/* 11A7D4 802B11C4 A44C0002 */ sh $t4, 2($v0) -/* 11A7D8 802B11C8 C610002C */ lwc1 $f16, 0x2c($s0) -/* 11A7DC 802B11CC 4600848D */ trunc.w.s $f18, $f16 -/* 11A7E0 802B11D0 440E9000 */ mfc1 $t6, $f18 -/* 11A7E4 802B11D4 00000000 */ nop -/* 11A7E8 802B11D8 000E7C00 */ sll $t7, $t6, 0x10 -/* 11A7EC 802B11DC 000FC403 */ sra $t8, $t7, 0x10 -/* 11A7F0 802B11E0 03050019 */ multu $t8, $a1 -/* 11A7F4 802B11E4 0000C812 */ mflo $t9 -/* 11A7F8 802B11E8 00991021 */ addu $v0, $a0, $t9 -/* 11A7FC 802B11EC 84490002 */ lh $t1, 2($v0) -/* 11A800 802B11F0 352A4000 */ ori $t2, $t1, 0x4000 -/* 11A804 802B11F4 1000017A */ b .L802B17E0 -/* 11A808 802B11F8 A44A0002 */ sh $t2, 2($v0) -glabel L802B11FC -/* 11A80C 802B11FC C6040024 */ lwc1 $f4, 0x24($s0) -/* 11A810 802B1200 A7A8004E */ sh $t0, 0x4e($sp) -/* 11A814 802B1204 A7A00032 */ sh $zero, 0x32($sp) -/* 11A818 802B1208 4600218D */ trunc.w.s $f6, $f4 -/* 11A81C 802B120C 44043000 */ mfc1 $a0, $f6 -/* 11A820 802B1210 00000000 */ nop -/* 11A824 802B1214 00046400 */ sll $t4, $a0, 0x10 -/* 11A828 802B1218 0C0AC385 */ jal func_802B0E14 -/* 11A82C 802B121C 000C2403 */ sra $a0, $t4, 0x10 -/* 11A830 802B1220 24010001 */ li $at, 1 -/* 11A834 802B1224 87A30032 */ lh $v1, 0x32($sp) -/* 11A838 802B1228 14410003 */ bne $v0, $at, .L802B1238 -/* 11A83C 802B122C 87A8004E */ lh $t0, 0x4e($sp) -/* 11A840 802B1230 10000005 */ b .L802B1248 -/* 11A844 802B1234 24030001 */ li $v1, 1 -.L802B1238: -/* 11A848 802B1238 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -/* 11A84C 802B123C 44814000 */ mtc1 $at, $f8 -/* 11A850 802B1240 00000000 */ nop -/* 11A854 802B1244 E6080024 */ swc1 $f8, 0x24($s0) -.L802B1248: -/* 11A858 802B1248 C60A0028 */ lwc1 $f10, 0x28($s0) -/* 11A85C 802B124C A7A8004E */ sh $t0, 0x4e($sp) -/* 11A860 802B1250 A7A30032 */ sh $v1, 0x32($sp) -/* 11A864 802B1254 4600540D */ trunc.w.s $f16, $f10 -/* 11A868 802B1258 44048000 */ mfc1 $a0, $f16 -/* 11A86C 802B125C 00000000 */ nop -/* 11A870 802B1260 00047C00 */ sll $t7, $a0, 0x10 -/* 11A874 802B1264 0C0AC385 */ jal func_802B0E14 -/* 11A878 802B1268 000F2403 */ sra $a0, $t7, 0x10 -/* 11A87C 802B126C 24010001 */ li $at, 1 -/* 11A880 802B1270 87A30032 */ lh $v1, 0x32($sp) -/* 11A884 802B1274 14410005 */ bne $v0, $at, .L802B128C -/* 11A888 802B1278 87A8004E */ lh $t0, 0x4e($sp) -/* 11A88C 802B127C 24630001 */ addiu $v1, $v1, 1 -/* 11A890 802B1280 0003CC00 */ sll $t9, $v1, 0x10 -/* 11A894 802B1284 10000005 */ b .L802B129C -/* 11A898 802B1288 00191C03 */ sra $v1, $t9, 0x10 -.L802B128C: -/* 11A89C 802B128C 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -/* 11A8A0 802B1290 44819000 */ mtc1 $at, $f18 -/* 11A8A4 802B1294 00000000 */ nop -/* 11A8A8 802B1298 E6120028 */ swc1 $f18, 0x28($s0) -.L802B129C: -/* 11A8AC 802B129C C604002C */ lwc1 $f4, 0x2c($s0) -/* 11A8B0 802B12A0 A7A8004E */ sh $t0, 0x4e($sp) -/* 11A8B4 802B12A4 A7A30032 */ sh $v1, 0x32($sp) -/* 11A8B8 802B12A8 4600218D */ trunc.w.s $f6, $f4 -/* 11A8BC 802B12AC 44043000 */ mfc1 $a0, $f6 -/* 11A8C0 802B12B0 00000000 */ nop -/* 11A8C4 802B12B4 00045C00 */ sll $t3, $a0, 0x10 -/* 11A8C8 802B12B8 0C0AC385 */ jal func_802B0E14 -/* 11A8CC 802B12BC 000B2403 */ sra $a0, $t3, 0x10 -/* 11A8D0 802B12C0 24010001 */ li $at, 1 -/* 11A8D4 802B12C4 87A30032 */ lh $v1, 0x32($sp) -/* 11A8D8 802B12C8 14410005 */ bne $v0, $at, .L802B12E0 -/* 11A8DC 802B12CC 87A8004E */ lh $t0, 0x4e($sp) -/* 11A8E0 802B12D0 24630001 */ addiu $v1, $v1, 1 -/* 11A8E4 802B12D4 00036C00 */ sll $t5, $v1, 0x10 -/* 11A8E8 802B12D8 10000005 */ b .L802B12F0 -/* 11A8EC 802B12DC 000D1C03 */ sra $v1, $t5, 0x10 -.L802B12E0: -/* 11A8F0 802B12E0 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -/* 11A8F4 802B12E4 44814000 */ mtc1 $at, $f8 -/* 11A8F8 802B12E8 00000000 */ nop -/* 11A8FC 802B12EC E608002C */ swc1 $f8, 0x2c($s0) -.L802B12F0: -/* 11A900 802B12F0 54600006 */ bnel $v1, $zero, .L802B130C -/* 11A904 802B12F4 860F0014 */ lh $t7, 0x14($s0) -/* 11A908 802B12F8 0C0A7A15 */ jal destroy_actor -/* 11A90C 802B12FC 02002025 */ move $a0, $s0 -/* 11A910 802B1300 10000138 */ b .L802B17E4 -/* 11A914 802B1304 8FBF001C */ lw $ra, 0x1c($sp) -/* 11A918 802B1308 860F0014 */ lh $t7, 0x14($s0) -.L802B130C: -/* 11A91C 802B130C 3C19800F */ lui $t9, %hi(gControllers) # $t9, 0x800f -/* 11A920 802B1310 27396910 */ addiu $t9, %lo(gControllers) # addiu $t9, $t9, 0x6910 -/* 11A924 802B1314 000FC100 */ sll $t8, $t7, 4 -/* 11A928 802B1318 03191021 */ addu $v0, $t8, $t9 -/* 11A92C 802B131C 94490006 */ lhu $t1, 6($v0) -/* 11A930 802B1320 44801000 */ mtc1 $zero, $f2 -/* 11A934 802B1324 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 11A938 802B1328 312A2000 */ andi $t2, $t1, 0x2000 -/* 11A93C 802B132C 5140000A */ beql $t2, $zero, .L802B1358 -/* 11A940 802B1330 C6040008 */ lwc1 $f4, 8($s0) -/* 11A944 802B1334 C60A0008 */ lwc1 $f10, 8($s0) -/* 11A948 802B1338 44818000 */ mtc1 $at, $f16 -/* 11A94C 802B133C 00000000 */ nop -/* 11A950 802B1340 46105480 */ add.s $f18, $f10, $f16 -/* 11A954 802B1344 E6120008 */ swc1 $f18, 8($s0) -/* 11A958 802B1348 944B0006 */ lhu $t3, 6($v0) -/* 11A95C 802B134C 316CDFFF */ andi $t4, $t3, 0xdfff -/* 11A960 802B1350 A44C0006 */ sh $t4, 6($v0) -/* 11A964 802B1354 C6040008 */ lwc1 $f4, 8($s0) -.L802B1358: -/* 11A968 802B1358 4604103C */ c.lt.s $f2, $f4 -/* 11A96C 802B135C 00000000 */ nop -/* 11A970 802B1360 45020120 */ bc1fl .L802B17E4 -/* 11A974 802B1364 8FBF001C */ lw $ra, 0x1c($sp) -/* 11A978 802B1368 C6000024 */ lwc1 $f0, 0x24($s0) -/* 11A97C 802B136C 4600103C */ c.lt.s $f2, $f0 -/* 11A980 802B1370 00000000 */ nop -/* 11A984 802B1374 4502005E */ bc1fl .L802B14F0 -/* 11A988 802B1378 C6000028 */ lwc1 $f0, 0x28($s0) -/* 11A98C 802B137C 4600018D */ trunc.w.s $f6, $f0 -/* 11A990 802B1380 24050070 */ li $a1, 112 -/* 11A994 802B1384 3C048016 */ lui $a0, %hi(gActorList) # $a0, 0x8016 -/* 11A998 802B1388 2484F9B8 */ addiu $a0, %lo(gActorList) # addiu $a0, $a0, -0x648 -/* 11A99C 802B138C 440E3000 */ mfc1 $t6, $f6 -/* 11A9A0 802B1390 000848C0 */ sll $t1, $t0, 3 -/* 11A9A4 802B1394 01284823 */ subu $t1, $t1, $t0 -/* 11A9A8 802B1398 000E7C00 */ sll $t7, $t6, 0x10 -/* 11A9AC 802B139C 000FC403 */ sra $t8, $t7, 0x10 -/* 11A9B0 802B13A0 03050019 */ multu $t8, $a1 -/* 11A9B4 802B13A4 00094900 */ sll $t1, $t1, 4 -/* 11A9B8 802B13A8 01284823 */ subu $t1, $t1, $t0 -/* 11A9BC 802B13AC 00094880 */ sll $t1, $t1, 2 -/* 11A9C0 802B13B0 01284823 */ subu $t1, $t1, $t0 -/* 11A9C4 802B13B4 3C0A800F */ lui $t2, %hi(gPlayers) # $t2, 0x800f -/* 11A9C8 802B13B8 254A6990 */ addiu $t2, %lo(gPlayers) # addiu $t2, $t2, 0x6990 -/* 11A9CC 802B13BC 000948C0 */ sll $t1, $t1, 3 -/* 11A9D0 802B13C0 0000C812 */ mflo $t9 -/* 11A9D4 802B13C4 00991021 */ addu $v0, $a0, $t9 -/* 11A9D8 802B13C8 84430012 */ lh $v1, 0x12($v0) -/* 11A9DC 802B13CC 27A40038 */ addiu $a0, $sp, 0x38 -/* 11A9E0 802B13D0 2861038E */ slti $at, $v1, 0x38e -/* 11A9E4 802B13D4 14200003 */ bnez $at, .L802B13E4 -/* 11A9E8 802B13D8 2861FC73 */ slti $at, $v1, -0x38d -/* 11A9EC 802B13DC 54200044 */ bnel $at, $zero, .L802B14F0 -/* 11A9F0 802B13E0 C6000028 */ lwc1 $f0, 0x28($s0) -.L802B13E4: -/* 11A9F4 802B13E4 44800000 */ mtc1 $zero, $f0 -/* 11A9F8 802B13E8 3C014100 */ li $at, 0x41000000 # 8.000000 -/* 11A9FC 802B13EC 44814000 */ mtc1 $at, $f8 -/* 11AA00 802B13F0 012A1821 */ addu $v1, $t1, $t2 -/* 11AA04 802B13F4 E7A00038 */ swc1 $f0, 0x38($sp) -/* 11AA08 802B13F8 E7A0003C */ swc1 $f0, 0x3c($sp) -/* 11AA0C 802B13FC E7A80040 */ swc1 $f8, 0x40($sp) -/* 11AA10 802B1400 846C00C0 */ lh $t4, 0xc0($v1) -/* 11AA14 802B1404 846B002E */ lh $t3, 0x2e($v1) -/* 11AA18 802B1408 AFA30028 */ sw $v1, 0x28($sp) -/* 11AA1C 802B140C AFA20044 */ sw $v0, 0x44($sp) -/* 11AA20 802B1410 016C2821 */ addu $a1, $t3, $t4 -/* 11AA24 802B1414 00056C00 */ sll $t5, $a1, 0x10 -/* 11AA28 802B1418 0C0AD931 */ jal func_802B64C4 -/* 11AA2C 802B141C 000D2C03 */ sra $a1, $t5, 0x10 -/* 11AA30 802B1420 8FA20044 */ lw $v0, 0x44($sp) -/* 11AA34 802B1424 C7AA0038 */ lwc1 $f10, 0x38($sp) -/* 11AA38 802B1428 240F0002 */ li $t7, 2 -/* 11AA3C 802B142C 2418001E */ li $t8, 30 -/* 11AA40 802B1430 E44A0024 */ swc1 $f10, 0x24($v0) -/* 11AA44 802B1434 C7B0003C */ lwc1 $f16, 0x3c($sp) -/* 11AA48 802B1438 3C051900 */ lui $a1, (0x19008004 >> 16) # lui $a1, 0x1900 -/* 11AA4C 802B143C 34A58004 */ ori $a1, (0x19008004 & 0xFFFF) # ori $a1, $a1, 0x8004 -/* 11AA50 802B1440 E4500028 */ swc1 $f16, 0x28($v0) -/* 11AA54 802B1444 C7B20040 */ lwc1 $f18, 0x40($sp) -/* 11AA58 802B1448 A44F0006 */ sh $t7, 6($v0) -/* 11AA5C 802B144C A4580004 */ sh $t8, 4($v0) -/* 11AA60 802B1450 E452002C */ swc1 $f18, 0x2c($v0) -/* 11AA64 802B1454 0C032418 */ jal func_800C9060 -/* 11AA68 802B1458 92040015 */ lbu $a0, 0x15($s0) -/* 11AA6C 802B145C 8FA30028 */ lw $v1, 0x28($sp) -/* 11AA70 802B1460 3C012900 */ lui $at, (0x29008000 >> 16) # lui $at, 0x2900 -/* 11AA74 802B1464 34218000 */ ori $at, (0x29008000 & 0xFFFF) # ori $at, $at, 0x8000 -/* 11AA78 802B1468 94650254 */ lhu $a1, 0x254($v1) -/* 11AA7C 802B146C 92040015 */ lbu $a0, 0x15($s0) -/* 11AA80 802B1470 0005C900 */ sll $t9, $a1, 4 -/* 11AA84 802B1474 0C03243D */ jal func_800C90F4 -/* 11AA88 802B1478 03212821 */ addu $a1, $t9, $at -/* 11AA8C 802B147C 86090000 */ lh $t1, ($s0) -/* 11AA90 802B1480 24010016 */ li $at, 22 -/* 11AA94 802B1484 55210009 */ bnel $t1, $at, .L802B14AC -/* 11AA98 802B1488 C6080024 */ lwc1 $f8, 0x24($s0) -/* 11AA9C 802B148C C6040024 */ lwc1 $f4, 0x24($s0) -/* 11AAA0 802B1490 4600218D */ trunc.w.s $f6, $f4 -/* 11AAA4 802B1494 44043000 */ mfc1 $a0, $f6 -/* 11AAA8 802B1498 0C003B60 */ jal func_8000ED80 -/* 11AAAC 802B149C 00000000 */ nop -/* 11AAB0 802B14A0 10000007 */ b .L802B14C0 -/* 11AAB4 802B14A4 3C01BF80 */ lui $at, 0xbf80 -/* 11AAB8 802B14A8 C6080024 */ lwc1 $f8, 0x24($s0) -.L802B14AC: -/* 11AABC 802B14AC 4600428D */ trunc.w.s $f10, $f8 -/* 11AAC0 802B14B0 44045000 */ mfc1 $a0, $f10 -/* 11AAC4 802B14B4 0C003B72 */ jal func_8000EDC8 -/* 11AAC8 802B14B8 00000000 */ nop -/* 11AACC 802B14BC 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -.L802B14C0: -/* 11AAD0 802B14C0 44818000 */ mtc1 $at, $f16 -/* 11AAD4 802B14C4 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 11AAD8 802B14C8 44812000 */ mtc1 $at, $f4 -/* 11AADC 802B14CC C6120008 */ lwc1 $f18, 8($s0) -/* 11AAE0 802B14D0 860C0004 */ lh $t4, 4($s0) -/* 11AAE4 802B14D4 E6100024 */ swc1 $f16, 0x24($s0) -/* 11AAE8 802B14D8 46049181 */ sub.s $f6, $f18, $f4 -/* 11AAEC 802B14DC 258DFFFF */ addiu $t5, $t4, -1 -/* 11AAF0 802B14E0 A60D0004 */ sh $t5, 4($s0) -/* 11AAF4 802B14E4 100000BE */ b .L802B17E0 -/* 11AAF8 802B14E8 E6060008 */ swc1 $f6, 8($s0) -/* 11AAFC 802B14EC C6000028 */ lwc1 $f0, 0x28($s0) -.L802B14F0: -/* 11AB00 802B14F0 3C048016 */ lui $a0, %hi(gActorList) # $a0, 0x8016 -/* 11AB04 802B14F4 2484F9B8 */ addiu $a0, %lo(gActorList) # addiu $a0, $a0, -0x648 -/* 11AB08 802B14F8 4600103C */ c.lt.s $f2, $f0 -/* 11AB0C 802B14FC 24050070 */ li $a1, 112 -/* 11AB10 802B1500 4502005B */ bc1fl .L802B1670 -/* 11AB14 802B1504 C600002C */ lwc1 $f0, 0x2c($s0) -/* 11AB18 802B1508 4600020D */ trunc.w.s $f8, $f0 -/* 11AB1C 802B150C 000850C0 */ sll $t2, $t0, 3 -/* 11AB20 802B1510 01485023 */ subu $t2, $t2, $t0 -/* 11AB24 802B1514 000A5100 */ sll $t2, $t2, 4 -/* 11AB28 802B1518 440F4000 */ mfc1 $t7, $f8 -/* 11AB2C 802B151C 01485023 */ subu $t2, $t2, $t0 -/* 11AB30 802B1520 000A5080 */ sll $t2, $t2, 2 -/* 11AB34 802B1524 000FC400 */ sll $t8, $t7, 0x10 -/* 11AB38 802B1528 0018CC03 */ sra $t9, $t8, 0x10 -/* 11AB3C 802B152C 03250019 */ multu $t9, $a1 -/* 11AB40 802B1530 01485023 */ subu $t2, $t2, $t0 -/* 11AB44 802B1534 3C0B800F */ lui $t3, %hi(gPlayers) # $t3, 0x800f -/* 11AB48 802B1538 256B6990 */ addiu $t3, %lo(gPlayers) # addiu $t3, $t3, 0x6990 -/* 11AB4C 802B153C 000A50C0 */ sll $t2, $t2, 3 -/* 11AB50 802B1540 00004812 */ mflo $t1 -/* 11AB54 802B1544 00891021 */ addu $v0, $a0, $t1 -/* 11AB58 802B1548 84430012 */ lh $v1, 0x12($v0) -/* 11AB5C 802B154C 28610AA1 */ slti $at, $v1, 0xaa1 -/* 11AB60 802B1550 14200003 */ bnez $at, .L802B1560 -/* 11AB64 802B1554 2861038F */ slti $at, $v1, 0x38f -/* 11AB68 802B1558 54200045 */ bnel $at, $zero, .L802B1670 -/* 11AB6C 802B155C C600002C */ lwc1 $f0, 0x2c($s0) -.L802B1560: -/* 11AB70 802B1560 44800000 */ mtc1 $zero, $f0 -/* 11AB74 802B1564 3C014100 */ li $at, 0x41000000 # 8.000000 -/* 11AB78 802B1568 44815000 */ mtc1 $at, $f10 -/* 11AB7C 802B156C 014B1821 */ addu $v1, $t2, $t3 -/* 11AB80 802B1570 E7A00038 */ swc1 $f0, 0x38($sp) -/* 11AB84 802B1574 E7A0003C */ swc1 $f0, 0x3c($sp) -/* 11AB88 802B1578 E7AA0040 */ swc1 $f10, 0x40($sp) -/* 11AB8C 802B157C 846D00C0 */ lh $t5, 0xc0($v1) -/* 11AB90 802B1580 846C002E */ lh $t4, 0x2e($v1) -/* 11AB94 802B1584 AFA30028 */ sw $v1, 0x28($sp) -/* 11AB98 802B1588 AFA20044 */ sw $v0, 0x44($sp) -/* 11AB9C 802B158C 018D2821 */ addu $a1, $t4, $t5 -/* 11ABA0 802B1590 00057400 */ sll $t6, $a1, 0x10 -/* 11ABA4 802B1594 000E2C03 */ sra $a1, $t6, 0x10 -/* 11ABA8 802B1598 0C0AD931 */ jal func_802B64C4 -/* 11ABAC 802B159C 27A40038 */ addiu $a0, $sp, 0x38 -/* 11ABB0 802B15A0 8FA20044 */ lw $v0, 0x44($sp) -/* 11ABB4 802B15A4 C7B00038 */ lwc1 $f16, 0x38($sp) -/* 11ABB8 802B15A8 8FA30028 */ lw $v1, 0x28($sp) -/* 11ABBC 802B15AC 24180002 */ li $t8, 2 -/* 11ABC0 802B15B0 E4500024 */ swc1 $f16, 0x24($v0) -/* 11ABC4 802B15B4 C7B2003C */ lwc1 $f18, 0x3c($sp) -/* 11ABC8 802B15B8 2419001E */ li $t9, 30 -/* 11ABCC 802B15BC 3C012900 */ lui $at, (0x29008000 >> 16) # lui $at, 0x2900 -/* 11ABD0 802B15C0 E4520028 */ swc1 $f18, 0x28($v0) -/* 11ABD4 802B15C4 C7A40040 */ lwc1 $f4, 0x40($sp) -/* 11ABD8 802B15C8 A4580006 */ sh $t8, 6($v0) -/* 11ABDC 802B15CC A4590004 */ sh $t9, 4($v0) -/* 11ABE0 802B15D0 E444002C */ swc1 $f4, 0x2c($v0) -/* 11ABE4 802B15D4 94650254 */ lhu $a1, 0x254($v1) -/* 11ABE8 802B15D8 34218000 */ ori $at, (0x29008000 & 0xFFFF) # ori $at, $at, 0x8000 -/* 11ABEC 802B15DC 92040015 */ lbu $a0, 0x15($s0) -/* 11ABF0 802B15E0 00054900 */ sll $t1, $a1, 4 -/* 11ABF4 802B15E4 0C03243D */ jal func_800C90F4 -/* 11ABF8 802B15E8 01212821 */ addu $a1, $t1, $at -/* 11ABFC 802B15EC 3C051900 */ lui $a1, (0x19008004 >> 16) # lui $a1, 0x1900 -/* 11AC00 802B15F0 34A58004 */ ori $a1, (0x19008004 & 0xFFFF) # ori $a1, $a1, 0x8004 -/* 11AC04 802B15F4 0C032418 */ jal func_800C9060 -/* 11AC08 802B15F8 92040015 */ lbu $a0, 0x15($s0) -/* 11AC0C 802B15FC 860A0000 */ lh $t2, ($s0) -/* 11AC10 802B1600 24010016 */ li $at, 22 -/* 11AC14 802B1604 55410009 */ bnel $t2, $at, .L802B162C -/* 11AC18 802B1608 C60A0028 */ lwc1 $f10, 0x28($s0) -/* 11AC1C 802B160C C6060028 */ lwc1 $f6, 0x28($s0) -/* 11AC20 802B1610 4600320D */ trunc.w.s $f8, $f6 -/* 11AC24 802B1614 44044000 */ mfc1 $a0, $f8 -/* 11AC28 802B1618 0C003B60 */ jal func_8000ED80 -/* 11AC2C 802B161C 00000000 */ nop -/* 11AC30 802B1620 10000007 */ b .L802B1640 -/* 11AC34 802B1624 3C01BF80 */ lui $at, 0xbf80 -/* 11AC38 802B1628 C60A0028 */ lwc1 $f10, 0x28($s0) -.L802B162C: -/* 11AC3C 802B162C 4600540D */ trunc.w.s $f16, $f10 -/* 11AC40 802B1630 44048000 */ mfc1 $a0, $f16 -/* 11AC44 802B1634 0C003B72 */ jal func_8000EDC8 -/* 11AC48 802B1638 00000000 */ nop -/* 11AC4C 802B163C 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -.L802B1640: -/* 11AC50 802B1640 44819000 */ mtc1 $at, $f18 -/* 11AC54 802B1644 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 11AC58 802B1648 44813000 */ mtc1 $at, $f6 -/* 11AC5C 802B164C C6040008 */ lwc1 $f4, 8($s0) -/* 11AC60 802B1650 860D0004 */ lh $t5, 4($s0) -/* 11AC64 802B1654 E6120028 */ swc1 $f18, 0x28($s0) -/* 11AC68 802B1658 46062201 */ sub.s $f8, $f4, $f6 -/* 11AC6C 802B165C 25AEFFFF */ addiu $t6, $t5, -1 -/* 11AC70 802B1660 A60E0004 */ sh $t6, 4($s0) -/* 11AC74 802B1664 1000005E */ b .L802B17E0 -/* 11AC78 802B1668 E6080008 */ swc1 $f8, 8($s0) -/* 11AC7C 802B166C C600002C */ lwc1 $f0, 0x2c($s0) -.L802B1670: -/* 11AC80 802B1670 4600103C */ c.lt.s $f2, $f0 -/* 11AC84 802B1674 00000000 */ nop -/* 11AC88 802B1678 4502005A */ bc1fl .L802B17E4 -/* 11AC8C 802B167C 8FBF001C */ lw $ra, 0x1c($sp) -/* 11AC90 802B1680 4600028D */ trunc.w.s $f10, $f0 -/* 11AC94 802B1684 000858C0 */ sll $t3, $t0, 3 -/* 11AC98 802B1688 01685823 */ subu $t3, $t3, $t0 -/* 11AC9C 802B168C 000B5900 */ sll $t3, $t3, 4 -/* 11ACA0 802B1690 44185000 */ mfc1 $t8, $f10 -/* 11ACA4 802B1694 01685823 */ subu $t3, $t3, $t0 -/* 11ACA8 802B1698 000B5880 */ sll $t3, $t3, 2 -/* 11ACAC 802B169C 0018CC00 */ sll $t9, $t8, 0x10 -/* 11ACB0 802B16A0 00194C03 */ sra $t1, $t9, 0x10 -/* 11ACB4 802B16A4 01250019 */ multu $t1, $a1 -/* 11ACB8 802B16A8 01685823 */ subu $t3, $t3, $t0 -/* 11ACBC 802B16AC 3C0C800F */ lui $t4, %hi(gPlayers) # $t4, 0x800f -/* 11ACC0 802B16B0 258C6990 */ addiu $t4, %lo(gPlayers) # addiu $t4, $t4, 0x6990 -/* 11ACC4 802B16B4 000B58C0 */ sll $t3, $t3, 3 -/* 11ACC8 802B16B8 00005012 */ mflo $t2 -/* 11ACCC 802B16BC 008A1021 */ addu $v0, $a0, $t2 -/* 11ACD0 802B16C0 84430012 */ lh $v1, 0x12($v0) -/* 11ACD4 802B16C4 27A40038 */ addiu $a0, $sp, 0x38 -/* 11ACD8 802B16C8 2861FC72 */ slti $at, $v1, -0x38e -/* 11ACDC 802B16CC 14200003 */ bnez $at, .L802B16DC -/* 11ACE0 802B16D0 2861F8E5 */ slti $at, $v1, -0x71b -/* 11ACE4 802B16D4 54200043 */ bnel $at, $zero, .L802B17E4 -/* 11ACE8 802B16D8 8FBF001C */ lw $ra, 0x1c($sp) -.L802B16DC: -/* 11ACEC 802B16DC 44800000 */ mtc1 $zero, $f0 -/* 11ACF0 802B16E0 3C014100 */ li $at, 0x41000000 # 8.000000 -/* 11ACF4 802B16E4 44818000 */ mtc1 $at, $f16 -/* 11ACF8 802B16E8 016C1821 */ addu $v1, $t3, $t4 -/* 11ACFC 802B16EC E7A00038 */ swc1 $f0, 0x38($sp) -/* 11AD00 802B16F0 E7A0003C */ swc1 $f0, 0x3c($sp) -/* 11AD04 802B16F4 E7B00040 */ swc1 $f16, 0x40($sp) -/* 11AD08 802B16F8 846E00C0 */ lh $t6, 0xc0($v1) -/* 11AD0C 802B16FC 846D002E */ lh $t5, 0x2e($v1) -/* 11AD10 802B1700 AFA30028 */ sw $v1, 0x28($sp) -/* 11AD14 802B1704 AFA20044 */ sw $v0, 0x44($sp) -/* 11AD18 802B1708 01AE2821 */ addu $a1, $t5, $t6 -/* 11AD1C 802B170C 00057C00 */ sll $t7, $a1, 0x10 -/* 11AD20 802B1710 0C0AD931 */ jal func_802B64C4 -/* 11AD24 802B1714 000F2C03 */ sra $a1, $t7, 0x10 -/* 11AD28 802B1718 8FA20044 */ lw $v0, 0x44($sp) -/* 11AD2C 802B171C C7B20038 */ lwc1 $f18, 0x38($sp) -/* 11AD30 802B1720 24190002 */ li $t9, 2 -/* 11AD34 802B1724 2409001E */ li $t1, 30 -/* 11AD38 802B1728 E4520024 */ swc1 $f18, 0x24($v0) -/* 11AD3C 802B172C C7A4003C */ lwc1 $f4, 0x3c($sp) -/* 11AD40 802B1730 3C051900 */ lui $a1, (0x19008004 >> 16) # lui $a1, 0x1900 -/* 11AD44 802B1734 34A58004 */ ori $a1, (0x19008004 & 0xFFFF) # ori $a1, $a1, 0x8004 -/* 11AD48 802B1738 E4440028 */ swc1 $f4, 0x28($v0) -/* 11AD4C 802B173C C7A60040 */ lwc1 $f6, 0x40($sp) -/* 11AD50 802B1740 A4590006 */ sh $t9, 6($v0) -/* 11AD54 802B1744 A4490004 */ sh $t1, 4($v0) -/* 11AD58 802B1748 E446002C */ swc1 $f6, 0x2c($v0) -/* 11AD5C 802B174C 0C032418 */ jal func_800C9060 -/* 11AD60 802B1750 92040015 */ lbu $a0, 0x15($s0) -/* 11AD64 802B1754 8FA30028 */ lw $v1, 0x28($sp) -/* 11AD68 802B1758 3C012900 */ lui $at, (0x29008000 >> 16) # lui $at, 0x2900 -/* 11AD6C 802B175C 34218000 */ ori $at, (0x29008000 & 0xFFFF) # ori $at, $at, 0x8000 -/* 11AD70 802B1760 94650254 */ lhu $a1, 0x254($v1) -/* 11AD74 802B1764 92040015 */ lbu $a0, 0x15($s0) -/* 11AD78 802B1768 00055100 */ sll $t2, $a1, 4 -/* 11AD7C 802B176C 0C03243D */ jal func_800C90F4 -/* 11AD80 802B1770 01412821 */ addu $a1, $t2, $at -/* 11AD84 802B1774 860B0000 */ lh $t3, ($s0) -/* 11AD88 802B1778 24010016 */ li $at, 22 -/* 11AD8C 802B177C 55610009 */ bnel $t3, $at, .L802B17A4 -/* 11AD90 802B1780 C610002C */ lwc1 $f16, 0x2c($s0) -/* 11AD94 802B1784 C608002C */ lwc1 $f8, 0x2c($s0) -/* 11AD98 802B1788 4600428D */ trunc.w.s $f10, $f8 -/* 11AD9C 802B178C 44045000 */ mfc1 $a0, $f10 -/* 11ADA0 802B1790 0C003B60 */ jal func_8000ED80 -/* 11ADA4 802B1794 00000000 */ nop -/* 11ADA8 802B1798 10000007 */ b .L802B17B8 -/* 11ADAC 802B179C 3C01BF80 */ lui $at, 0xbf80 -/* 11ADB0 802B17A0 C610002C */ lwc1 $f16, 0x2c($s0) -.L802B17A4: -/* 11ADB4 802B17A4 4600848D */ trunc.w.s $f18, $f16 -/* 11ADB8 802B17A8 44049000 */ mfc1 $a0, $f18 -/* 11ADBC 802B17AC 0C003B72 */ jal func_8000EDC8 -/* 11ADC0 802B17B0 00000000 */ nop -/* 11ADC4 802B17B4 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -.L802B17B8: -/* 11ADC8 802B17B8 44812000 */ mtc1 $at, $f4 -/* 11ADCC 802B17BC 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 11ADD0 802B17C0 44814000 */ mtc1 $at, $f8 -/* 11ADD4 802B17C4 C6060008 */ lwc1 $f6, 8($s0) -/* 11ADD8 802B17C8 860E0004 */ lh $t6, 4($s0) -/* 11ADDC 802B17CC E604002C */ swc1 $f4, 0x2c($s0) -/* 11ADE0 802B17D0 46083281 */ sub.s $f10, $f6, $f8 -/* 11ADE4 802B17D4 25CFFFFF */ addiu $t7, $t6, -1 -/* 11ADE8 802B17D8 A60F0004 */ sh $t7, 4($s0) -/* 11ADEC 802B17DC E60A0008 */ swc1 $f10, 8($s0) -.L802B17E0: -/* 11ADF0 802B17E0 8FBF001C */ lw $ra, 0x1c($sp) -.L802B17E4: -/* 11ADF4 802B17E4 8FB00018 */ lw $s0, 0x18($sp) -/* 11ADF8 802B17E8 27BD0058 */ addiu $sp, $sp, 0x58 -/* 11ADFC 802B17EC 03E00008 */ jr $ra -/* 11AE00 802B17F0 00000000 */ nop diff --git a/asm/non_matchings/memory/func_802AC098.s b/asm/non_matchings/memory/func_802AC098.s deleted file mode 100644 index 0a4bdccb4..000000000 --- a/asm/non_matchings/memory/func_802AC098.s +++ /dev/null @@ -1,34 +0,0 @@ -glabel func_802AC098 -/* 1156A8 802AC098 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 1156AC 802AC09C AFBF0014 */ sw $ra, 0x14($sp) -/* 1156B0 802AC0A0 AFA40018 */ sw $a0, 0x18($sp) -/* 1156B4 802AC0A4 AFA5001C */ sw $a1, 0x1c($sp) -/* 1156B8 802AC0A8 C480000C */ lwc1 $f0, 0xc($a0) -/* 1156BC 802AC0AC 44802000 */ mtc1 $zero, $f4 -/* 1156C0 802AC0B0 8FA6001C */ lw $a2, 0x1c($sp) -/* 1156C4 802AC0B4 24840018 */ addiu $a0, $a0, 0x18 -/* 1156C8 802AC0B8 4604003C */ c.lt.s $f0, $f4 -/* 1156CC 802AC0BC 00000000 */ nop -/* 1156D0 802AC0C0 45020005 */ bc1fl .L802AC0D8 -/* 1156D4 802AC0C4 8FAF0018 */ lw $t7, 0x18($sp) -/* 1156D8 802AC0C8 44050000 */ mfc1 $a1, $f0 -/* 1156DC 802AC0CC 0C0AAFD1 */ jal process_shell_collision -/* 1156E0 802AC0D0 3C074000 */ lui $a3, 0x4000 -/* 1156E4 802AC0D4 8FAF0018 */ lw $t7, 0x18($sp) -.L802AC0D8: -/* 1156E8 802AC0D8 44803000 */ mtc1 $zero, $f6 -/* 1156EC 802AC0DC 8FA6001C */ lw $a2, 0x1c($sp) -/* 1156F0 802AC0E0 C5E00010 */ lwc1 $f0, 0x10($t7) -/* 1156F4 802AC0E4 25E40024 */ addiu $a0, $t7, 0x24 -/* 1156F8 802AC0E8 4606003C */ c.lt.s $f0, $f6 -/* 1156FC 802AC0EC 00000000 */ nop -/* 115700 802AC0F0 45020005 */ bc1fl .L802AC108 -/* 115704 802AC0F4 8FBF0014 */ lw $ra, 0x14($sp) -/* 115708 802AC0F8 44050000 */ mfc1 $a1, $f0 -/* 11570C 802AC0FC 0C0AAFD1 */ jal process_shell_collision -/* 115710 802AC100 3C074000 */ lui $a3, 0x4000 -/* 115714 802AC104 8FBF0014 */ lw $ra, 0x14($sp) -.L802AC108: -/* 115718 802AC108 27BD0018 */ addiu $sp, $sp, 0x18 -/* 11571C 802AC10C 03E00008 */ jr $ra -/* 115720 802AC110 00000000 */ nop diff --git a/data/data_121DA0_2.s b/data/data_121DA0_2.s index 9a635b88b..1ee34f46a 100644 --- a/data/data_121DA0_2.s +++ b/data/data_121DA0_2.s @@ -5,42 +5,8 @@ .section .data -glabel D_802B9140 -.word 0x00000000, 0x00000000, 0x00000000 - -glabel D_802B914C -.word 0x00000000, 0x00000000 - -glabel D_802B9154 -.word 0x00000000, 0x00000000, 0x00000000 - -glabel D_802B9160 -.word 0x00000000, 0x00000000, 0x00000000 - -glabel D_802B916C -.word 0x00000000, 0x00000000 - -glabel D_802B9174 -.word 0x00000000, 0x00000000, 0x00000000 - -glabel D_802B9180 -.word 0x00000000, 0x00000000, 0x00000000 - -glabel D_802B918C -.word 0x00000000, 0x00000000 - -glabel D_802B9194 -.word 0x00000000, 0x00000000, 0x00000000 - -glabel D_802B91A0 -.word 0x00000000, 0x00000000 - -glabel D_802B91A8 -.word 0x00000000, 0x00000000, 0x00000000 - -glabel D_802B91B4 -.word 0x00000000, 0x00000000, 0x00000000, 0x0000000d -.word 0x0000000d +# I have no idea where this data belongs. It might be some initalized but unused variable? +.word 0x0000000d, 0x0000000d glabel D_802B91C8 .word 0x00000000, 0x00000000, 0x00000000, 0x00000000 diff --git a/data/data_121DA0_2_2.s b/data/data_121DA0_2_2.s index 4bbc1861e..f41e42a47 100644 --- a/data/data_121DA0_2_2.s +++ b/data/data_121DA0_2_2.s @@ -5,9 +5,6 @@ .section .data - -#.word 0, 0, 0 - glabel D_802B9BB0 .float 30000.0 @@ -177,146 +174,3 @@ glabel D_802B9E6C glabel D_802B9E70 .float -0.1 - -.word 0, 0, 0 - -glabel D_802B9E80 -.double 0.015 - -glabel D_802B9E88 -.double 0.015 - -glabel D_802B9E90 -.double 0.015 - -glabel jpt_802B9E98 -.word L802B0A88, L802B0AB0, L802B0AF8, L802B0B40 -.word L802B0B84, L802B0BCC, L802B0C70 - -glabel jpt_802B9EB4 -.word L802B0EF4, L802B0F60, L802B1050, L802B1154 -.word L802B11FC - -glabel jpt_802B9EC8 -.word L802B2094, L802B237C, L802B25A0, L802B2718 -.word L802B28E8, L802B285C - -glabel D_802B9EE0 -.float 0.2 - -glabel D_802B9EE4 -.float 0.15 - -glabel D_802B9EE8 -.float 0.2 - -glabel D_802B9EEC -.float 0.2 - -glabel D_802B9EF0 -.float 0.3 - -glabel jpt_802B9EF4 -.word L802B2B0C, L802B2B20, L802B2B4C, L802B2B78 -.word L802B2BA4 - -glabel jpt_802B9F08 -.word L802B301C, L802B302C, L802B2FEC, L802B30BC -.word L802B2FFC, L802B30CC, L802B300C, L802B309C -.word L802B30AC, L802B308C, L802B307C, L802B303C -.word L802B304C, L802B305C, L802B306C - -glabel jpt_802B9F44 -.word L802B33CC, L802B3614, L802B382C, L802B3B30 -.word L802B3974, L802B3AC4 - -glabel D_802B9F5C -.float 1.2 - -glabel D_802B9F60 -.float 1.2 - -glabel D_802B9F64 -.float 0.3 - -glabel D_802B9F68 -.float 25000000.0 - -glabel jpt_802B9F6C -.word L802B4324, L802B44B0, L802B4750, L802B4A9C -.word L802B4AD8, L802B4B18, L802B4B94, L802B4CE4 -.word L802B4D58, L802B4DE8 - -glabel D_802B9F94 -.float 1.2 - -glabel D_802B9F98 -.float 40000.0 - -glabel D_802B9F9C -.float 0.3 - -glabel D_802B9FA0 -.float 40000.0 - -.word 0, 0, 0 - -glabel D_802B9FB0 -.double 0.017453292222222222 - -glabel D_802B9FB8 -.double 3.141592653589793 - -glabel D_802B9FC0 -.double 360.0 - -glabel D_802B9FC8 -.double 3.141592653589793 - -glabel D_802B9FD0 -.double 360.0 - -glabel D_802B9FD8 -.float 1000000.0 - -glabel D_802B9FDC -.float -0.01600503 - -glabel D_802B9FE0 -.float 0.002834060 - -glabel D_802B9FE4 -.float -0.074954450 - -glabel D_802B9FE8 -.float 0.042587612 - -glabel D_802B9FEC -.float -0.142025709 - -glabel D_802B9FF0 -.float 0.106367543 - -glabel D_802B9FF4 -.float -0.333330661 - -glabel D_802B9FF8 -.double 1.3375206719956623e-08 - -glabel D_802BA000 -.double 1.5707963267948966 - -glabel D_802BA008 -.double 1.5707963267948966 - -glabel D_802BA010 -.double 50.123870849609375 - -glabel D_802BA018 -.double 3.141592653589793 - -#glabel D_802BA020 -#.double 3.141592653589793 - -#glabel D_802BA028 -#.double 65535.0 diff --git a/data/data_121DA0_2_3.s b/data/data_121DA0_2_3.s new file mode 100644 index 000000000..9d950b7dd --- /dev/null +++ b/data/data_121DA0_2_3.s @@ -0,0 +1,66 @@ +# Mario Kart 64 (U) disassembly and split file +# generated by n64split v0.4a - N64 ROM splitter + +.include "macros.inc" + +.section .data + +glabel D_802B9FB0 +.double 0.017453292222222222 + +glabel D_802B9FB8 +.double 3.141592653589793 + +glabel D_802B9FC0 +.double 360.0 + +glabel D_802B9FC8 +.double 3.141592653589793 + +glabel D_802B9FD0 +.double 360.0 + +glabel D_802B9FD8 +.float 1000000.0 + +glabel D_802B9FDC +.float -0.01600503 + +glabel D_802B9FE0 +.float 0.002834060 + +glabel D_802B9FE4 +.float -0.074954450 + +glabel D_802B9FE8 +.float 0.042587612 + +glabel D_802B9FEC +.float -0.142025709 + +glabel D_802B9FF0 +.float 0.106367543 + +glabel D_802B9FF4 +.float -0.333330661 + +glabel D_802B9FF8 +.double 1.3375206719956623e-08 + +glabel D_802BA000 +.double 1.5707963267948966 + +glabel D_802BA008 +.double 1.5707963267948966 + +glabel D_802BA010 +.double 50.123870849609375 + +glabel D_802BA018 +.double 3.141592653589793 + +#glabel D_802BA020 +#.double 3.141592653589793 + +#glabel D_802BA028 +#.double 65535.0 diff --git a/include/actor_types.h b/include/actor_types.h index 450befb6a..0efe7c7c6 100644 --- a/include/actor_types.h +++ b/include/actor_types.h @@ -245,7 +245,10 @@ struct ShellActor { /* 0x08 */ f32 shellId; // 0, 1, or 2. Indicates which shell in the triplet this one is /* 0x0C */ f32 boundingBoxSize; /* 0x10 */ s16 rotVelocity; // Change in rotAngle on a per-update basis - /* 0x12 */ s16 rotAngle; // Angle of rotation around player (or parent?), not the rotation of the shell itself + union { + /* 0x12 */ s16 rotAngle; // Angle of rotation around player (or parent?), not the rotation of the shell itself + /* 0x12 */ u16 pathIndex; // Index in the set of points that make up the "path" the red/blue shell follows (may be GP mode exclusive) + }; /* 0x14 */ s16 playerId; // Id of the player that "owns" the shell /* 0x16 */ s16 unk_16; /* 0x18 */ Vec3f pos; diff --git a/mk64.ld b/mk64.ld index f1269a9b8..c7b2c9813 100644 --- a/mk64.ld +++ b/mk64.ld @@ -310,11 +310,14 @@ SECTIONS BUILD_DIR/src/memory.o(.data); BUILD_DIR/data/data_121DA0_1.o(.data); BUILD_DIR/courses/courseTable.inc.o(.data); + BUILD_DIR/src/code_802B0210.o(.data); BUILD_DIR/data/data_121DA0_2.o(.data); BUILD_DIR/src/code_8028DF00.o(.rodata); BUILD_DIR/data/data_121DA0_2_1.o(.data); BUILD_DIR/src/code_80296A50.o(.rodata); BUILD_DIR/data/data_121DA0_2_2.o(.data); + BUILD_DIR/src/code_802B0210.o(.rodata); + BUILD_DIR/data/data_121DA0_2_3.o(.data); BUILD_DIR/src/math_util.o(.rodata); } END_SEG(code_8028DF00) diff --git a/src/code_800029B0.c b/src/code_800029B0.c index de73cb207..5860c69a8 100644 --- a/src/code_800029B0.c +++ b/src/code_800029B0.c @@ -8,9 +8,10 @@ extern void func_800C8F44(u16 arg0); extern u16 D_800DC5A8; struct UnkStruct80164490 { - s16 unk0; - s16 unk2; - s16 unk4; + s16 wayPointX; + s16 wayPointY; + s16 wayPointZ; + s16 wayPointSegment; }; extern struct UnkStruct80164490 *D_80164490; @@ -162,18 +163,18 @@ void func_80002A18(void) { func_8029E158(); if (gModeSelection != BATTLE) { - D_8015F8D0.unk4 = (f32) (D_80164490->unk2 - 15);; - D_8015F8D0.unk8 = D_80164490->unk4; + D_8015F8D0.unk4 = (f32) (D_80164490->wayPointY - 15);; + D_8015F8D0.unk8 = D_80164490->wayPointZ; if (gCurrentCourseId == COURSE_TOADS_TURNPIKE) { D_8015F8D0.unk0 = (gIsMirrorMode != 0) ? - D_80164490->unk0 + 138.0f : - D_80164490->unk0 - 138.0f; + D_80164490->wayPointX + 138.0f : + D_80164490->wayPointX - 138.0f; } else if (gCurrentCourseId == COURSE_WARIO_STADIUM) { D_8015F8D0.unk0 = (gIsMirrorMode != 0) ? - D_80164490->unk0 + 12.0f : - D_80164490->unk0 - 12.0f; + D_80164490->wayPointX + 12.0f : + D_80164490->wayPointX - 12.0f; } else { - D_8015F8D0.unk0 = D_80164490->unk0; + D_8015F8D0.unk0 = D_80164490->wayPointX; } } if (D_800DC51C == 0) { diff --git a/src/code_80091750.h b/src/code_80091750.h index ea996b742..fd1582b7e 100644 --- a/src/code_80091750.h +++ b/src/code_80091750.h @@ -137,6 +137,7 @@ void func_8009C918(); void func_8009E1C0(); void func_8009E208(); void func_8009E258(); +void func_8009E5BC(); void func_8009E620(); void add_8018D9E0_entry(s32, s32, s32, s8); void func_800A0AD0(struct_8018D9E0_entry*); diff --git a/src/code_802B0210.c b/src/code_802B0210.c index e5e302554..509c08ef0 100644 --- a/src/code_802B0210.c +++ b/src/code_802B0210.c @@ -4,8 +4,9 @@ #include #include "math_util.h" #include "memory.h" -#include "code_802B0210.h" +#include "code_80091750.h" #include "code_80296A50.h" +#include "code_802B0210.h" void func_802B0210(UnkActorInner *arg0, UnkActorInner *arg1) { arg1->unk30 = arg0->unk30; @@ -55,79 +56,37 @@ void func_802B02B4(struct ShellActor *shell, s32 shellType) { } } -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -extern f64 D_802B9E80; -extern f64 D_802B9E88; -extern f64 D_802B9E90; - -void func_802B039C(void *arg0) { - f32 temp_f6; - s32 temp_v0; - f32 phi_f6; - - arg0->unk6 = 1; - arg0->unk_04 = 0xB4; - arg0->velocity = (random_int(0xC8) - 0x64) * D_802B9E80; - temp_v0 = random_int(0xC8); - temp_f6 = temp_v0; - phi_f6 = temp_f6; - if (temp_v0 < 0) { - phi_f6 = temp_f6 + 4294967296.0f; - } - arg0->unk28 = phi_f6 * D_802B9E88; - arg0->unk2C = (random_int(0xC8) - 0x64) * D_802B9E90; +// Sets velocities for a banana, used when a racer runs into +// a banana bunch. +void func_802B039C(struct BananaActor *banana) { + banana->state = 1; + banana->unk_04 = 0x00B4; + banana->velocity[0] = ((f32) (random_int(0x00C8) - 0x64) * 0.015); + banana->velocity[1] = ((f32) random_int(0x00C8)) * 0.015; + banana->velocity[2] = ((f32) (random_int(0x00C8) - 0x64) * 0.015); } -#else -GLOBAL_ASM("asm/non_matchings/code_802B0210/func_802B039C.s") -#endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 +void func_802B0464(s16 bananaIndex) { + struct BananaActor *banana; -void func_802B0464(s16 arg0) { - s16 temp_s0; - void *temp_a0; - s16 phi_s0; - - phi_s0 = arg0; - if (arg0 != -1) { - do { - temp_a0 = &gActorList + (phi_s0 * 0x70); - func_802B039C(temp_a0); - temp_s0 = temp_a0->unk14; - phi_s0 = temp_s0; - } while (temp_s0 != -1); + if (bananaIndex != -1) { + banana = &gActorList[bananaIndex]; + func_802B039C(banana); + func_802B0464(banana->youngerIndex); } } -#else -GLOBAL_ASM("asm/non_matchings/code_802B0210/func_802B0464.s") -#endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -? func_802B039C(void *); // extern -extern ? gActorList; +void func_802B04E8(struct BananaActor *unused, s16 bananaIndex) { + struct BananaActor *banana; -void func_802B04E8(s32 arg0, s16 arg1) { - s16 temp_s0; - void *temp_a0; - s16 phi_s0; - - phi_s0 = arg1; - if (arg1 != -1) { - do { - temp_a0 = &gActorList + (phi_s0 * 0x70); - func_802B039C(temp_a0); - temp_s0 = temp_a0->unk12; - phi_s0 = temp_s0; - } while (temp_s0 != -1); + if (bananaIndex != -1) { + banana = &gActorList[bananaIndex]; + func_802B039C(banana); + func_802B04E8(banana, banana->elderIndex); } } -#else -GLOBAL_ASM("asm/non_matchings/code_802B0210/func_802B04E8.s") -#endif +// Handle a banana being ran over while it is still part of a banana bunch void func_802B0570(struct BananaActor *banana) { struct BananaBunchParent *temp_v0_2; @@ -148,157 +107,89 @@ void func_802B0570(struct BananaActor *banana) { temp_v0_2->bananaIndices[4] = -1; } -#ifdef MIPS_TO_C -//generated by m2c commit a8f43e46d33dcb7e04d9cdc44a10b3daf4c92c3b +// Drop a banana from a banana bunch? void func_802B0648(struct BananaBunchParent *banana_bunch) { - s16 temp_v0; - s16 temp_v0_2; - s16 temp_v0_3; - s16 temp_v0_4; - s16 temp_v0_5; - s16 temp_v0_6; - s32 temp_lo; - s32 temp_lo_2; - s32 temp_lo_3; - s32 temp_lo_4; - s32 temp_lo_5; - void *phi_v1; + s16 elderIndex; + struct BananaActor *banana; - temp_v0 = banana_bunch->bananaIndices[4]; banana_bunch->bananasAvailable -= 1; - if (temp_v0 != -1) { - temp_lo = temp_v0 * 0x70; + if (banana_bunch->bananaIndices[4] != -1) { + banana = &gActorList[banana_bunch->bananaIndices[4]]; banana_bunch->bananaIndices[4] = -1; - phi_v1 = gActorList + temp_lo; - goto block_10; - } - temp_v0_2 = banana_bunch->bananaIndices[3]; - if (temp_v0_2 != -1) { - temp_lo_2 = temp_v0_2 * 0x70; + } else if (banana_bunch->bananaIndices[3] != -1) { + banana = &gActorList[banana_bunch->bananaIndices[3]]; banana_bunch->bananaIndices[3] = -1; - phi_v1 = gActorList + temp_lo_2; - goto block_10; - } - temp_v0_3 = banana_bunch->bananaIndices[2]; - if (temp_v0_3 != -1) { - temp_lo_3 = temp_v0_3 * 0x70; + } else if (banana_bunch->bananaIndices[2] != -1) { + banana = &gActorList[banana_bunch->bananaIndices[2]]; banana_bunch->bananaIndices[2] = -1; - phi_v1 = gActorList + temp_lo_3; - goto block_10; - } - temp_v0_4 = banana_bunch->bananaIndices[1]; - if (temp_v0_4 != -1) { - temp_lo_4 = temp_v0_4 * 0x70; + } else if (banana_bunch->bananaIndices[1] != -1) { + banana = &gActorList[banana_bunch->bananaIndices[1]]; banana_bunch->bananaIndices[1] = -1; - phi_v1 = gActorList + temp_lo_4; - goto block_10; - } - temp_v0_5 = banana_bunch->bananaIndices[0]; - if (temp_v0_5 != -1) { - temp_lo_5 = temp_v0_5 * 0x70; + } else if (banana_bunch->bananaIndices[0] != -1) { + banana = &gActorList[banana_bunch->bananaIndices[0]]; banana_bunch->bananaIndices[0] = -1; - phi_v1 = gActorList + temp_lo_5; -block_10: - temp_v0_6 = phi_v1->unk12; - phi_v1->unk6 = 1; - phi_v1->unk4 = 0x00B4; - phi_v1->unk24 = 0.0f; - phi_v1->unk2C = 0.0f; - phi_v1->unk28 = 1.5f; - if (temp_v0_6 != -1) { - (gActorList + (temp_v0_6 * 0x70))->unk14 = -1; - } + } else { + return; + } + + banana->state = 1; + banana->unk_04 = 0x00B4; + banana->velocity[0] = 0.0f; + banana->velocity[1] = 1.5f; + banana->velocity[2] = 0.0f; + elderIndex = banana->elderIndex; + if (elderIndex != -1) { + ((struct BananaActor*)&gActorList[elderIndex])->youngerIndex = -1; } } -#else -GLOBAL_ASM("asm/non_matchings/code_802B0210/func_802B0648.s") -#endif - -#ifdef MIPS_TO_C -//generated by m2c commit a8f43e46d33dcb7e04d9cdc44a10b3daf4c92c3b -? func_802B64C4(f32 *, s16); /* extern */ +// Drop a banana from a banana bunch and throw it forward? void func_802B0788(s16 rawStickY, struct BananaBunchParent *banana_bunch, Player *player) { - f32 sp34; - void *sp30; - f32 temp_f0; - f32 temp_f2; - s16 temp_a0; - s16 temp_a0_2; - s16 temp_a0_3; - s16 temp_a0_4; - s16 temp_a1; - s16 temp_a3; - s32 temp_lo; - s32 temp_lo_2; - s32 temp_lo_3; - s32 temp_lo_4; - s32 temp_lo_5; - void *phi_v0; - f32 phi_f0; - f32 phi_f12; + Vec3f velocity; + struct BananaActor *banana; + struct BananaActor *elderBanana; + f32 var_f0; + f32 var_f12; - temp_a3 = banana_bunch->bananaIndices[4]; - banana_bunch->bananasAvailable += -1; - if (temp_a3 != -1) { - temp_lo = temp_a3 * 0x70; + banana_bunch->bananasAvailable -= 1; + if (banana_bunch->bananaIndices[4] != -1) { + banana = (struct BananaActor*)&gActorList[banana_bunch->bananaIndices[4]]; banana_bunch->bananaIndices[4] = -1; - phi_v0 = gActorList + temp_lo; - goto block_10; - } - temp_a0 = banana_bunch->bananaIndices[3]; - if (temp_a0 != -1) { - temp_lo_2 = temp_a0 * 0x70; + } else if (banana_bunch->bananaIndices[3] != -1) { + banana = (struct BananaActor*)&gActorList[banana_bunch->bananaIndices[3]]; banana_bunch->bananaIndices[3] = -1; - phi_v0 = gActorList + temp_lo_2; - goto block_10; - } - temp_a0_2 = banana_bunch->bananaIndices[2]; - if (temp_a0_2 != -1) { - temp_lo_3 = temp_a0_2 * 0x70; + } else if (banana_bunch->bananaIndices[2] != -1) { + banana = (struct BananaActor*)&gActorList[banana_bunch->bananaIndices[2]]; banana_bunch->bananaIndices[2] = -1; - phi_v0 = gActorList + temp_lo_3; - goto block_10; - } - temp_a0_3 = banana_bunch->bananaIndices[1]; - if (temp_a0_3 != -1) { - temp_lo_4 = temp_a0_3 * 0x70; + } else if (banana_bunch->bananaIndices[1] != -1) { + banana = (struct BananaActor*)&gActorList[banana_bunch->bananaIndices[1]]; banana_bunch->bananaIndices[1] = -1; - phi_v0 = gActorList + temp_lo_4; - goto block_10; - } - temp_a0_4 = banana_bunch->bananaIndices[0]; - if (temp_a0_4 != -1) { - temp_lo_5 = temp_a0_4 * 0x70; + } else if (banana_bunch->bananaIndices[0] != -1) { + banana = (struct BananaActor*)&gActorList[banana_bunch->bananaIndices[0]]; banana_bunch->bananaIndices[0] = -1; - phi_v0 = gActorList + temp_lo_5; -block_10: - temp_a1 = phi_v0->unk12; - phi_v0->unk6 = 1; - phi_v0->unk4 = 0x001E; - if (temp_a1 != -1) { - (gActorList + (temp_a1 * 0x70))->unk14 = -1; - } - temp_f2 = player->unk_094; - if (temp_f2 < 2.0f) { - phi_f0 = (((f32) rawStickY - 30.0f) / 20.0f) + 1.5f; - phi_f12 = 4.0f; - } else { - temp_f0 = (((f32) rawStickY - 30.0f) / 20.0f) + 1.5f; - phi_f0 = temp_f0; - phi_f12 = (temp_f2 * 0.75f) + 4.5f + temp_f0; - } - sp30 = phi_v0; - vec3f_set(&sp34, 0.0f, phi_f0, phi_f12); - func_802B64C4(&sp34, (s16) (player->unk_02E + player->unk_0C0)); - sp30->unk24 = sp34; - sp30->unk28 = sp38; - sp30->unk2C = sp3C; + } else { + return; } + + banana->state = 1; + banana->unk_04 = 0x001E; + if (banana->elderIndex != -1) { + elderBanana = (struct BananaActor*)&gActorList[banana->elderIndex]; + elderBanana->youngerIndex = -1; + } + if (player->unk_094 < 2.0f) { + var_f0 = ((rawStickY - 30.0f) / 20.0f) + 1.5f; + var_f12 = 4.0f; + } else { + var_f0 = ((rawStickY - 30.0f) / 20.0f) + 1.5f; + var_f12 = (player->unk_094 * 0.75f) + 4.5f + var_f0; + } + vec3f_set(velocity, 0.0f, var_f0, var_f12); + func_802B64C4(velocity, player->unk_02E + player->unk_0C0); + banana->velocity[0] = velocity[0]; + banana->velocity[1] = velocity[1]; + banana->velocity[2] = velocity[2]; } -#else -GLOBAL_ASM("asm/non_matchings/code_802B0210/func_802B0788.s") -#endif s32 func_802B09C0(s16 bananaId) { struct BananaActor *banana; @@ -315,9 +206,6 @@ s32 func_802B09C0(s16 bananaId) { return 0; } -#ifdef NEEDS_RODATA -// Needs jpt_802B9E98, otherwise this matches - void update_obj_banana_bunch(struct BananaBunchParent *banana_bunch) { s32 pad[2]; Player *owner; @@ -415,9 +303,6 @@ void update_obj_banana_bunch(struct BananaBunchParent *banana_bunch) { break; } } -#else -GLOBAL_ASM("asm/non_matchings/code_802B0210/update_obj_banana_bunch.s") -#endif s32 func_802B0E14(s16 arg0) { struct ShellActor *temp; @@ -437,11 +322,6 @@ s32 func_802B0E14(s16 arg0) { return 0; } -#ifdef NEEDS_RODATA -s32 func_8000ED80(s32); /* extern */ -s32 func_8000EDC8(s32); /* extern */ -void func_802B64C4(Vec3f, s16); /* extern */ - void update_obj_triple_shell(struct TripleShellParent *parent, s16 shellType) { s32 pad4; s32 pad3; @@ -619,14 +499,8 @@ void update_obj_triple_shell(struct TripleShellParent *parent, s16 shellType) { break; } } -#else -GLOBAL_ASM("asm/non_matchings/code_802B0210/update_obj_triple_shell.s") -#endif - -#ifdef NEEDS_RODATA -// The initial values for the starting* variables end up in D_802B9140, D_802B914C, and D_802B9154 -// This function could reasonably be called "spawn_banana_bunch" or something similar +// This function could reasonably be called "spawn_banana_bunch" or similar s32 func_802B17F4(Player *player) { Vec3f startingVelocity = {0.0f, 0.0f, 0.0f}; Vec3s startingRot = {0, 0, 0}; @@ -644,14 +518,8 @@ s32 func_802B17F4(Player *player) { player->unk_00C |= 0x40000; return actorIndex; } -#else -GLOBAL_ASM("asm/non_matchings/code_802B0210/func_802B17F4.s") -#endif - -#ifdef NEEDS_RODATA -// The initial values for the starting* variables end up in D_802B9160, D_802B916C, and D_802B9174 -// This function could reasonably be called "spawn_triple_shell" or something similar +// This function could reasonably be called "spawn_triple_shell" or similar s32 func_802B18E4(Player *player, s16 tripleShellType) { Vec3f startingVelocity = {0.0f, 0.0f, 0.0f}; Vec3s startingRot = {0, 0, 0}; @@ -672,14 +540,8 @@ s32 func_802B18E4(Player *player, s16 tripleShellType) { parent->unk_08 = 0.0f; return actorIndex; } -#else -GLOBAL_ASM("asm/non_matchings/code_802B0210/func_802B18E4.s") -#endif - -#ifdef NEEDS_RODATA -// The initial values for the starting* variables end up in D_802B9180 and D_802B918C -// This function could reasonably be called "spawn_shell_for_triple_shell" or something similar +// This function could reasonably be called "spawn_shell_for_triple_shell" or similar s32 func_802B19EC(struct TripleShellParent *parent, Player *player, s16 shellType, u16 shellId) { Vec3f startingVelocity = {0.0f, 0.0f, 0.0f}; Vec3s startingRot = {0, 0, 0}; @@ -724,14 +586,8 @@ s32 func_802B19EC(struct TripleShellParent *parent, Player *player, s16 shellTyp parent->shellIndices[shellId] = (struct Actor*)shell - gActorList; return 1; } -#else -GLOBAL_ASM("asm/non_matchings/code_802B0210/func_802B19EC.s") -#endif - -#ifdef NEEDS_RODATA -// The initial values for the starting* variables end up in D_802B9194 and D_802B91A0 -// This function could reasonably be called "spawn_green_shell" or something similar +// This function could reasonably be called "spawn_green_shell" or similar s32 func_802B1C9C(Player *player) { Vec3f startingVelocity = {0.0f, 0.0f, 0.0f}; Vec3s startingRot = {0, 0, 0}; @@ -763,14 +619,8 @@ s32 func_802B1C9C(Player *player) { shell->playerId = player - gPlayerOne; return actorIndex; } -#else -GLOBAL_ASM("asm/non_matchings/code_802B0210/func_802B1C9C.s") -#endif - -#if NEEDS_RODATA -// The initial values for the starting* variables end up in D_802B91A8 and D_802B91B4 -// This function could reasonably be called "spawn_red_blue_shell" or something similar +// This function could reasonably be called "spawn_red_shell" or similar s32 func_802B1E48(Player *player) { Vec3f startingVelocity = {0.0f, 0.0f, 0.0f}; Vec3s startingRot = {0, 0, 0}; @@ -802,9 +652,6 @@ s32 func_802B1E48(Player *player) { shell->playerId = player - gPlayerOne; return actorIndex; } -#else -GLOBAL_ASM("asm/non_matchings/code_802B0210/func_802B1E48.s") -#endif // This function could reasonably be called "spawn_blue_shell" // Interestingly blue shells start their life as a red shell, @@ -813,22 +660,6 @@ void func_802B1FFC(Player *player) { gActorList[func_802B1E48(player)].type = ACTOR_BLUE_SPINY_SHELL; } -#ifdef INCORRECT_REGALLOC -//generated by m2c commit a8f43e46d33dcb7e04d9cdc44a10b3daf4c92c3b -void func_802B64C4(Vec3f, s16); /* extern */ -extern u16 D_800DC51C; -extern s16 D_8015F6E8; -extern s16 D_8015F6EA; -extern s16 D_8015F6F0; -extern s16 D_8015F6F2; -extern struct Controller *gControllerOne; -// NEED_RODATA -extern f32 D_802B9EE0;// = 0.2f; -extern f32 D_802B9EE4;// = 0.15f; -extern f32 D_802B9EE8;// = 0.2f; -extern f32 D_802B9EEC;// = 0.2f; -extern f32 D_802B9EF0;// = 0.3f; - void update_obj_banana(struct BananaActor *banana) { f32 pad0; Player *player; @@ -836,38 +667,38 @@ void update_obj_banana(struct BananaActor *banana) { struct Controller *controller; Vec3f someOtherVelocity; Vec3f someVelocity; + f32 temp_f0; + f32 var_f8; + f32 var_f12; f32 pad1; f32 pad2; f32 pad3; - f32 pad4; - f32 pad5; - f32 temp_f0_3; f32 temp_f12; - f32 x_dist; - f32 y_dist; - f32 z_dist; - f32 x_pos; - f32 y_pos; - f32 z_pos; + f32 temp_f2; + f32 temp_f14; + f32 temp_f16; + f32 unkX; + f32 unkY; + f32 unkZ; - player = &gPlayers[banana->playerId]; + player = &gPlayers[banana->rot[0]]; switch (banana->state) { case 0: - x_dist = player->pos[0] - banana->pos[0]; - y_dist = player->pos[1] - banana->pos[1]; - z_dist = player->pos[2] - banana->pos[2]; - temp_f12 = sqrtf((x_dist * x_dist) + (y_dist * y_dist) + (z_dist * z_dist)) / 10.0f; + temp_f2 = player->pos[0] - banana->pos[0]; + temp_f14 = player->pos[1] - banana->pos[1]; + temp_f16 = player->pos[2] - banana->pos[2]; + temp_f12 = sqrtf((temp_f2 * temp_f2) + (temp_f14 * temp_f14) + (temp_f16 * temp_f16)) / 10.0f; if (temp_f12 == 0.0f) { banana->pos[0] = player->pos[0] + 0.2f; banana->pos[1] = player->pos[1] + 0.2f; banana->pos[2] = player->pos[2] + 0.2f; } else { - x_dist /= temp_f12; - y_dist /= temp_f12; - z_dist /= temp_f12; - banana->pos[0] = player->pos[0] - x_dist; - banana->pos[1] = (player->pos[1] - y_dist) - 2.0f; - banana->pos[2] = player->pos[2] - z_dist; + temp_f2 /= temp_f12; + temp_f14 /= temp_f12; + temp_f16 /= temp_f12; + banana->pos[0] = player->pos[0] - temp_f2; + banana->pos[1] = player->pos[1] - temp_f14 - 2.0f; + banana->pos[2] = player->pos[2] - temp_f16; } func_802ADDC8(&banana->unk30, banana->boundingBoxSize + 1.0f, banana->pos[0], banana->pos[1], banana->pos[2]); func_802B4E30((struct Actor *) banana); @@ -875,33 +706,33 @@ void update_obj_banana(struct BananaActor *banana) { if (D_800DC51C != 0) { controller = gControllerOne; } else { - controller = &gControllers[banana->playerId]; + controller = &gControllers[banana->rot[0]]; } if ((controller->buttonDepressed & 0x2000) != 0) { controller->buttonDepressed &= ~0x2000; banana->state = 1; banana->unk_04 = 0x00B4; player->unk_00C &= ~0x40000; - func_800C9060(player - gPlayerOne, 0x19008012); - if (controller->rawStickY > 30.0f) { - if ((controller->rawStickX < 0xA) && (controller->rawStickX >= -9)) { - temp_f0_3 = ((controller->rawStickY - (f32)30) / 20.0f) + 0.5f; - if (player->unk_094 < 2.0f) { - temp_f12 = 4.0f; - } else { - temp_f12 = (player->unk_094 * 0.75f) + 3.5f + temp_f0_3; - } - vec3f_set(someVelocity, 0, temp_f0_3, temp_f12); - func_802B64C4(someVelocity, player->unk_02E + player->unk_0C0); - banana->velocity[0] = someVelocity[0]; - banana->velocity[1] = someVelocity[1]; - banana->velocity[2] = someVelocity[2]; - break; + func_800C9060(player - gPlayerOne, 0x19008012U); + pad1 = controller->rawStickY; + if ((pad1 > 30.0f) && (controller->rawStickX < 10) && (controller->rawStickX >= -9)) { + pad1 = pad1 - ((f32) 30); + pad1 = (pad1 / 20.0f) + 0.5f; + if (player->unk_094 < 2.0f) { + temp_f0 = 4.0f; + } else { + temp_f0 = (player->unk_094 * 0.75f) + 3.5f + pad1; } + vec3f_set(someVelocity, 0, pad1, temp_f0); + func_802B64C4(someVelocity, player->unk_02E + player->unk_0C0); + banana->velocity[0] = someVelocity[0]; + banana->velocity[1] = someVelocity[1]; + banana->velocity[2] = someVelocity[2]; + } else { + banana->velocity[0] = 0; + banana->velocity[1] = 1.5f; + banana->velocity[2] = 0; } - banana->velocity[0] = 0; - banana->velocity[2] = 0; - banana->velocity[1] = 1.5f; } } break; @@ -918,9 +749,7 @@ void update_obj_banana(struct BananaActor *banana) { banana->velocity[1] -= 0.15f; } banana->pos[1] += banana->velocity[1]; - if ((banana->pos[2] < D_8015F6F2) || (D_8015F6F0 < banana->pos[2]) || - (banana->pos[0] < D_8015F6EA) || (D_8015F6E8 < banana->pos[0]) || - (banana->pos[1] < D_8015F6EE)) { + if ((banana->pos[2] < (f32) D_8015F6F2) || ((f32) D_8015F6F0 < banana->pos[2]) || (banana->pos[0] < (f32) D_8015F6EA) || ((f32) D_8015F6E8 < banana->pos[0]) || (banana->pos[1] < (f32) D_8015F6EE)) { func_8029FDC8((struct Actor *) banana); } else { func_802ADDC8(&banana->unk30, banana->boundingBoxSize + 1.0f, banana->pos[0], banana->pos[1], banana->pos[2]); @@ -942,48 +771,47 @@ void update_obj_banana(struct BananaActor *banana) { someVelocity[1] = 0.0f; someVelocity[2] = -5.0f; func_802B64C4(someVelocity, player->unk_02E + player->unk_0C0); - x_pos = someVelocity[0] + player->pos[0]; - y_pos = someVelocity[1] + player->pos[1]; - z_pos = someVelocity[2] + player->pos[2]; - x_dist = x_pos - banana->pos[0]; - y_dist = y_pos - banana->pos[1]; - z_dist = z_pos - banana->pos[2]; - // There lots of regalloc differences throughout this function, but it seems to - // originate with an extra line of assembly near this function call - temp_f12 = sqrtf((x_dist * x_dist) + (y_dist * y_dist) + (z_dist * z_dist)); - if (temp_f12 == 0.0f) { + unkX = player->pos[0] + someVelocity[0]; + unkY = player->pos[1] + someVelocity[1]; + unkZ = player->pos[2] + someVelocity[2]; + temp_f2 = unkX - banana->pos[0]; + temp_f14 = unkY - banana->pos[1]; + temp_f16 = unkZ - banana->pos[2]; + temp_f0 = sqrtf((temp_f2 * temp_f2) + (temp_f14 * temp_f14) + (temp_f16 * temp_f16)); + if (temp_f0 == 0.0f) { banana->pos[0] = player->pos[0] + 0.2f; banana->pos[1] = player->pos[1] + 0.2f; banana->pos[2] = player->pos[2] + 0.2f; } else { - x_dist /= temp_f12; - y_dist /= temp_f12; - z_dist /= temp_f12; - banana->pos[0] = someVelocity[0] + (x_pos - x_dist); - banana->pos[1] = (y_pos - y_dist) - 2.0f; - banana->pos[2] = z_pos - z_dist; + temp_f2 /= temp_f0; + temp_f14 /= temp_f0; + temp_f16 /= temp_f0; + banana->pos[0] = someVelocity[0] + (unkX - temp_f2); + banana->pos[1] = unkY - temp_f14 - 2.0f; + banana->pos[2] = unkZ - temp_f16; } func_802ADDC8(&banana->unk30, banana->boundingBoxSize + 1.0f, banana->pos[0], banana->pos[1], banana->pos[2]); func_802B4E30((struct Actor *) banana); break; case 3: - elderBanana = &gActorList[banana->elderIndex]; - x_dist = elderBanana->pos[0] - banana->pos[0]; - y_dist = elderBanana->pos[1] - banana->pos[1]; - z_dist = elderBanana->pos[2] - banana->pos[2]; - temp_f12 = sqrtf((x_dist * x_dist) + (y_dist * y_dist) + (z_dist * z_dist)) / 5.0f; + elderBanana = (struct BananaActor*)&gActorList[banana->elderIndex]; + temp_f2 = elderBanana->pos[0] - banana->pos[0]; + temp_f14 = elderBanana->pos[1] - banana->pos[1]; + temp_f16 = elderBanana->pos[2] - banana->pos[2]; + temp_f12 = sqrtf((temp_f2 * temp_f2) + (temp_f14 * temp_f14) + (temp_f16 * temp_f16)) / 5.0f; if (temp_f12 == 0.0f) { banana->pos[0] = elderBanana->pos[0] + 0.2f; banana->pos[1] = elderBanana->pos[1] + 0.2f; banana->pos[2] = elderBanana->pos[2] + 0.2f; } else { - x_dist /= temp_f12; - y_dist /= temp_f12; - z_dist /= temp_f12; - banana->pos[0] = elderBanana->pos[0] - x_dist; - banana->pos[1] = (elderBanana->pos[1] - y_dist) - 2.0f; - banana->pos[2] = elderBanana->pos[2] - z_dist; + temp_f2 /= temp_f12; + temp_f14 /= temp_f12; + temp_f16 /= temp_f12; + banana->pos[0] = elderBanana->pos[0] - temp_f2; + banana->pos[1] = elderBanana->pos[1] - temp_f14 - 2.0f; + banana->pos[2] = elderBanana->pos[2] - temp_f16; } + var_f8 = banana->pos[2]; func_802ADDC8(&banana->unk30, banana->boundingBoxSize + 1.0f, banana->pos[0], banana->pos[1], banana->pos[2]); func_802B4E30((struct Actor *) banana); break; @@ -992,11 +820,11 @@ void update_obj_banana(struct BananaActor *banana) { if (banana->velocity[1] < -5.0f) { banana->velocity[1] = -5.0f; } - banana->unk_04 += -1; banana->pos[1] += banana->velocity[1]; banana->rot[0] += 0x16C; banana->rot[1] -= 0x5B0; banana->rot[2] += 0x38E; + banana->unk_04 -= 1; if (banana->unk_04 == 0) { destroy_actor((struct Actor *) banana); } @@ -1009,21 +837,17 @@ void update_obj_banana(struct BananaActor *banana) { break; } } -#else -GLOBAL_ASM("asm/non_matchings/code_802B0210/update_obj_banana.s") -#endif - -#ifdef INCORRECT_REGALLOC -//generated by m2c commit a8f43e46d33dcb7e04d9cdc44a10b3daf4c92c3b +// This function could reasonably be called "spawn_bananas_for_banana_bunch" or similar void func_802B2914(struct BananaBunchParent *banana_bunch, Player *player, s16 bananaId) { - s32 pad; + s16 actorIndex; Vec3f startingVelocity; Vec3s startingRot; Vec3f startingPos; - s32 pad2; - s16 actorIndex; + s32 pad0; + s32 pad1; struct BananaActor *newBanana; + struct BananaActor *tempBanana; startingPos[0] = 0.0f; startingPos[1] = -player->boundingBoxSize; @@ -1040,13 +864,12 @@ void func_802B2914(struct BananaBunchParent *banana_bunch, Player *player, s16 b startingRot[2] = 0; actorIndex = func_8029EC88(startingPos, startingRot, startingVelocity, ACTOR_BANANA); if (actorIndex >= 0) { - newBanana = &gActorList[actorIndex]; + newBanana = (struct BananaActor*)&gActorList[actorIndex]; startingPos[0] = player->pos[0]; startingPos[1] = player->pos[1]; startingPos[2] = player->pos[2]; - // This should be functionally correct, but there's a lot of bad regalloc nonsense going on starting here >:( func_802AD950(&newBanana->unk30, newBanana->boundingBoxSize + 1.0f, newBanana->pos[0], newBanana->pos[1], newBanana->pos[2], startingPos[0], startingPos[1], startingPos[2]); - func_802B4E30(newBanana); + func_802B4E30((struct Actor*)newBanana); newBanana->flags = 0x9000; newBanana->playerId = player - gPlayerOne; newBanana->parentIndex = (struct Actor*)banana_bunch - gActorList; @@ -1063,25 +886,29 @@ void func_802B2914(struct BananaBunchParent *banana_bunch, Player *player, s16 b newBanana->state = 3; banana_bunch->bananaIndices[1] = actorIndex; newBanana->elderIndex = banana_bunch->bananaIndices[0]; - ((struct BananaActor*)&gActorList[banana_bunch->bananaIndices[0]])->youngerIndex = actorIndex; + tempBanana = (struct BananaActor*)&gActorList[banana_bunch->bananaIndices[0]]; + tempBanana->youngerIndex = actorIndex; break; case 2: newBanana->state = 3; banana_bunch->bananaIndices[2] = actorIndex; newBanana->elderIndex = banana_bunch->bananaIndices[1]; - ((struct BananaActor*)&gActorList[banana_bunch->bananaIndices[1]])->youngerIndex = actorIndex; + tempBanana = (struct BananaActor*)&gActorList[banana_bunch->bananaIndices[1]]; + tempBanana->youngerIndex = actorIndex; break; case 3: newBanana->state = 3; banana_bunch->bananaIndices[3] = actorIndex; newBanana->elderIndex = banana_bunch->bananaIndices[2]; - ((struct BananaActor*)&gActorList[banana_bunch->bananaIndices[2]])->youngerIndex = actorIndex; + tempBanana = (struct BananaActor*)&gActorList[banana_bunch->bananaIndices[2]]; + tempBanana->youngerIndex = actorIndex; break; case 4: newBanana->state = 3; banana_bunch->bananaIndices[4] = actorIndex; newBanana->elderIndex = banana_bunch->bananaIndices[3]; - ((struct BananaActor*)&gActorList[banana_bunch->bananaIndices[3]])->youngerIndex = actorIndex; + tempBanana = (struct BananaActor*)&gActorList[banana_bunch->bananaIndices[3]]; + tempBanana->youngerIndex = actorIndex; break; } if ((player->unk_000 & 0x4000) != 0) { @@ -1089,17 +916,11 @@ void func_802B2914(struct BananaBunchParent *banana_bunch, Player *player, s16 b } } } -#else -GLOBAL_ASM("asm/non_matchings/code_802B0210/func_802B2914.s") -#endif - -#ifdef INCORRECT_REGALLOC -// This function could reasonably be called "spawn_fake_item_box" or similar +// This function could reasonably be called "spawn_fake_itembox" or similar s32 func_802B2C40(Player *player) { struct FakeItemBox *itemBox; - s32 pad[4]; - s32 playerId; + s32 pad[5]; s16 actorIndex; Vec3f startingVelocity; Vec3s startingRot; @@ -1122,17 +943,12 @@ s32 func_802B2C40(Player *player) { if (actorIndex < 0) { return actorIndex; } - // Dumb regalloc differences starting here >:( - playerId = player - gPlayerOne; - itemBox = &gActorList[actorIndex]; + itemBox = (struct FakeItemBox*)&gActorList[actorIndex]; + itemBox->playerId = (player - gPlayerOne); itemBox->state = 0; - itemBox->playerId = playerId; player->unk_00C |= 0x40000; return actorIndex; } -#else -GLOBAL_ASM("asm/non_matchings/code_802B0210/func_802B2C40.s") -#endif // This function could reasonably be called "spawn_banana" or similar s32 func_802B2D70(Player *player) { @@ -1192,9 +1008,7 @@ void func_802B2EBC(Player *player) { } } -#ifdef NEEDS_RODATA -// Needs jpt_802B9F08, otherwise this matches - +// Handles item use? void func_802B2FA0(Player *player) { s32 playerId = player - gPlayerOne; @@ -1247,10 +1061,8 @@ void func_802B2FA0(Player *player) { } func_8007AC9C(playerId); } -#else -GLOBAL_ASM("asm/non_matchings/code_802B0210/func_802B2FA0.s") -#endif +// Check if a player is using an item? void func_802B30EC(void) { Player *player; struct Controller *target; @@ -1282,443 +1094,359 @@ void func_802B30EC(void) { } } -#ifdef MIPS_TO_C -//generated by m2c commit a8f43e46d33dcb7e04d9cdc44a10b3daf4c92c3b -? func_8000EDC8(s32); /* extern */ -? func_802AC098(UnkActorInner *, f32 *); /* extern */ -? func_802AD950(UnkActorInner *, ?, f32, f32, f32, f32, f32, f32); /* extern */ -? func_802B63B8(f32 *, f32 *, f32 *); /* extern */ -? func_802B64C4(f32 *, s16); /* extern */ -extern s16 D_8015F6E8; -extern s16 D_8015F6EA; -extern s16 D_8015F6F0; -extern s16 D_8015F6F2; -static f32 D_802B9F5C = 1.2f; -static f32 D_802B9F60 = 1.2f; -static f32 D_802B9F64 = 0.3f; - void update_obj_green_shell(struct ShellActor *shell) { - f32 sp80; - f32 sp7C; - f32 sp78; - f32 sp74; - f32 sp70; - f32 sp6C; - f32 sp54; - UnkActorInner *sp34; - Player *temp_s1; - Player *temp_s1_2; - Player *temp_s1_4; - UnkActorInner *temp_a0; - f32 *temp_s1_3; - f32 temp_f0; - f32 temp_f0_2; - f32 temp_f0_3; - f32 temp_f0_4; - f32 temp_f14; - f32 temp_f2; - f32 temp_f2_2; - s16 temp_t4; - s16 temp_v0_2; - s16 temp_v0_3; - struct Controller *temp_v0; - struct TripleShellParent *temp_v0_4; - u16 temp_t3; - u16 temp_v1; - f32 phi_f2; - f32 phi_f2_2; + Player *player; + f32 pad9; + f32 padA; + Vec3f somePos2; + Vec3f somePosVel; + f32 var_f2; + struct Controller *controller; + struct TripleShellParent *parent; + f32 pad0; + f32 pad1; + f32 pad2; + f32 pad3; + f32 pad4; + f32 pad5; + f32 pad6; + f32 pad7; + f32 pad8; - temp_f2 = shell->pos[2]; - temp_f0 = shell->pos[0]; - if ((temp_f2 < (f32) D_8015F6F2) || ((f32) D_8015F6F0 < temp_f2) || (temp_f0 < (f32) D_8015F6EA) || ((f32) D_8015F6E8 < temp_f0) || (shell->pos[1] < (f32) D_8015F6EE)) { + pad0 = shell->pos[0]; + pad6 = shell->pos[1]; + pad1 = shell->pos[2]; + if ((pad1 < D_8015F6F2) || (D_8015F6F0 < pad1) || (pad0 < D_8015F6EA) || (D_8015F6E8 < pad0) || (pad6 < D_8015F6EE)) { func_8029FDC8((struct Actor *) shell); } - temp_t3 = (u16) shell->state; shell->rotVelocity += 0x71C; - switch (temp_t3) { + switch (shell->state) { case 0: - temp_s1 = &gPlayers[shell->playerId]; - func_802B0210(&temp_s1->unk_110, &shell->unk30); - sp6C = 0.0f; - sp70 = temp_s1->boundingBoxSize; - sp74 = -(temp_s1->boundingBoxSize + shell->boundingBoxSize + 2.0f); - func_802B63B8(&sp6C, temp_s1->unk_174); - shell->pos[0] = sp6C + temp_s1->pos[0]; - temp_f14 = temp_s1->pos[1] - sp70; - shell->pos[2] = sp74 + temp_s1->pos[2]; - sp54 = temp_f14; - temp_f0_2 = func_802ABE30(shell->pos[0], temp_f14, shell->pos[2], temp_s1->unk_110.unk3A); - temp_f2_2 = temp_f14 - temp_f0_2; - if ((temp_f2_2 < 5.0f) && (temp_f2_2 > -5.0f)) { - shell->pos[1] = shell->boundingBoxSize + temp_f0_2; + player = &gPlayers[shell->playerId]; + func_802B0210(&player->unk_110, &shell->unk30); + somePosVel[0] = 0.0f; + somePosVel[1] = player->boundingBoxSize; + somePosVel[2] = -(player->boundingBoxSize + shell->boundingBoxSize + 2.0f); + func_802B63B8(somePosVel, player->unk_174); + shell->pos[0] = player->pos[0] + somePosVel[0]; + pad2 = player->pos[1] - somePosVel[1]; + shell->pos[2] = player->pos[2] + somePosVel[2]; + pad0 = func_802ABE30(shell->pos[0], pad2, shell->pos[2], player->unk_110.unk3A); + pad1 = pad2 - pad0; + if ((pad1 < 5.0f) && (pad1 > -5.0f)) { + shell->pos[1] = shell->boundingBoxSize + pad0; } else { - shell->pos[1] = temp_f14; + shell->pos[1] = pad2; } - if ((temp_s1->unk_000 & 0x4000) != 0) { - temp_v0 = &gControllers[shell->playerId]; - temp_v1 = temp_v0->buttonDepressed; - if ((temp_v1 & 0x2000) != 0) { - temp_v0->buttonDepressed = temp_v1 & 0xDFFF; - if (temp_v0->rawStickY < -0x2D) { - temp_f0_3 = temp_s1->unk_094; - phi_f2 = 8.0f; - if (temp_f0_3 > 8.0f) { - phi_f2 = temp_f0_3 * D_802B9F5C; + if ((player->unk_000 & 0x4000) != 0) { + controller = &gControllers[shell->playerId]; + if ((controller->buttonDepressed & 0x2000) != 0) { + controller->buttonDepressed &= ~0x2000; + if (controller->rawStickY < -0x2D) { + var_f2 = 8.0f; + if (player->unk_094 > 8.0f) { + var_f2 = player->unk_094 * 1.2f; } - sp6C = 0.0f; - sp70 = 0.0f; - sp74 = -phi_f2; - func_802B64C4(&sp6C, (s16) (temp_s1->unk_02E + temp_s1->unk_0C0)); - shell->velocity[0] = sp6C; - shell->velocity[1] = sp70; + somePosVel[0] = 0.0f; + somePosVel[1] = 0.0f; + somePosVel[2] = -var_f2; + func_802B64C4(somePosVel, player->unk_02E + player->unk_0C0); + shell->velocity[0] = somePosVel[0]; + shell->velocity[1] = somePosVel[1]; + shell->velocity[2] = somePosVel[2]; shell->state = 2; - shell->velocity[2] = sp74; - func_800C9060((Player *) shell->unk15, 0x19008004); - func_800C90F4((Player *) shell->unk15, (temp_s1->characterId * 0x10) + 0x29008000); - func_8000EDC8((s32) (shell - gActorList) / 112); + func_800C9060(shell->playerId, 0x19008004U); + func_800C90F4(shell->playerId, (player->characterId * 0x10) + 0x29008000); + func_8000EDC8((struct Actor*)shell - gActorList); return; + } else { + shell->state = 1; + if (player->unk_0C0 > 0) { + shell->rotAngle = 0x78E3; + } else { + shell->rotAngle = -0x78E4; + } } - shell->state = 1; - if (temp_s1->unk_0C0 > 0) { - shell->rotAngle = 0x78E3; - return; - } - shell->rotAngle = -0x78E4; - return; } } - default: - return; + break; case 1: - temp_v0_2 = shell->rotAngle; - temp_s1_2 = &gPlayers[shell->playerId]; - if (temp_v0_2 > 0) { - shell->rotAngle = temp_v0_2 - 0xE38; + player = &gPlayers[shell->playerId]; + if (shell->rotAngle > 0) { + shell->rotAngle -= 0xE38; if (shell->rotAngle < 0) { shell->state = 2; - shell->parentIndex = 0x001E; - func_800C9060((Player *) shell->unk15, 0x19008004); - func_800C90F4((Player *) shell->unk15, (temp_s1_2->characterId * 0x10) + 0x29008000); - func_8000EDC8((s32) (shell - gActorList) / 112); + shell->someTimer = 0x001E; + func_800C9060(shell->playerId, 0x19008004U); + func_800C90F4(shell->playerId, (player->characterId * 0x10) + 0x29008000); + func_8000EDC8((struct Actor*)shell - gActorList); } } else { - shell->rotAngle = temp_v0_2 + 0xE38; + shell->rotAngle += 0xE38; if (shell->rotAngle > 0) { shell->state = 2; - shell->parentIndex = 0x001E; - func_800C9060((Player *) shell->unk15, 0x19008004); - func_800C90F4((Player *) shell->unk15, (temp_s1_2->characterId * 0x10) + 0x29008000); - func_8000EDC8((s32) (shell - gActorList) / 112); + shell->someTimer = 0x001E; + func_800C9060(shell->playerId, 0x19008004U); + func_800C90F4(shell->playerId, (player->characterId * 0x10) + 0x29008000); + func_8000EDC8((struct Actor*)shell - gActorList); } } if (shell->state == 2) { - temp_f0_4 = temp_s1_2->unk_094; - phi_f2_2 = 8.0f; - if (temp_f0_4 > 8.0f) { - phi_f2_2 = temp_f0_4 * D_802B9F60; + var_f2 = 8.0f; + if (player->unk_094 > 8.0f) { + var_f2 = player->unk_094 * 1.2f; } - sp6C = 0.0f; - sp70 = 0.0f; - sp74 = phi_f2_2; - func_802B64C4(&sp6C, (s16) (temp_s1_2->unk_02E + temp_s1_2->unk_0C0)); - shell->velocity[0] = sp6C; - shell->velocity[1] = sp70; - shell->velocity[2] = sp74; - return; + somePosVel[0] = 0.0f; + somePosVel[1] = 0.0f; + somePosVel[2] = var_f2; + func_802B64C4(somePosVel, player->unk_02E + player->unk_0C0); + shell->velocity[0] = somePosVel[0]; + shell->velocity[1] = somePosVel[1]; + shell->velocity[2] = somePosVel[2]; + } else { + somePosVel[0] = sins(shell->rotAngle) * 6.0f; + somePosVel[1] = shell->boundingBoxSize - player->boundingBoxSize; + somePosVel[2] = coss(shell->rotAngle) * 6.0f; + func_802B63B8(somePosVel, player->unk_174); + shell->pos[0] = player->pos[0] + somePosVel[0]; + shell->pos[1] = player->pos[1] + somePosVel[1]; + shell->pos[2] = player->pos[2] + somePosVel[2]; } - sp6C = sins((u16) shell->rotAngle) * 6.0f; - sp70 = shell->boundingBoxSize - temp_s1_2->boundingBoxSize; - sp74 = coss((u16) shell->rotAngle) * 6.0f; - func_802B63B8(&sp6C, temp_s1_2->unk_174); - shell->pos[0] = sp6C + temp_s1_2->pos[0]; - shell->pos[1] = sp70 + temp_s1_2->pos[1]; - shell->pos[2] = sp74 + temp_s1_2->pos[2]; - return; + break; case 2: - temp_v0_3 = shell->parentIndex; - if (temp_v0_3 > 0) { - shell->parentIndex = temp_v0_3 - 1; + if (shell->parentIndex > 0) { + shell->parentIndex -= 1; if (shell->parentIndex == 0) { - shell->flags &= 0xEFFF; + shell->flags &= ~0x1000; } } shell->velocity[1] -= 0.5f; if (shell->velocity[1] < -2.0f) { shell->velocity[1] = -2.0f; } - temp_a0 = &shell->unk30; - sp78 = shell->pos[0]; - sp7C = shell->pos[1]; - sp80 = shell->pos[2]; + somePos2[0] = shell->pos[0]; + somePos2[1] = shell->pos[1]; + somePos2[2] = shell->pos[2]; shell->pos[0] += shell->velocity[0]; shell->pos[1] += shell->velocity[1]; shell->pos[2] += shell->velocity[2]; - sp34 = temp_a0; - func_802AD950(temp_a0, 0x40800000, shell->pos[0], shell->pos[1], shell->pos[2], sp78, sp7C, sp80); + func_802AD950(&shell->unk30, 4.0f, shell->pos[0], shell->pos[1], shell->pos[2], somePos2[0], somePos2[1], somePos2[2]); func_802B4E30((struct Actor *) shell); - temp_s1_3 = shell->velocity; if ((shell->unk30.unk3C < 0.0f) || (shell->unk30.unk40 < 0.0f)) { - func_802AC098(temp_a0, temp_s1_3); - func_800C98B8(shell->pos, temp_s1_3, 0x19008054U); + func_802AC098(&shell->unk30, shell->velocity); + func_800C98B8(shell->pos, shell->velocity, 0x19008054U); shell->flags |= 0x80; - return; } break; case 4: - temp_v0_4 = &gActorList[shell->parentIndex]; - temp_s1_4 = &gPlayers[shell->playerId]; - if (temp_v0_4->type != 0x0015) { + player = &gPlayers[shell->playerId]; + parent = &gActorList[shell->parentIndex]; + if (parent->type != ACTOR_TRIPLE_GREEN_SHELL) { func_8029FDC8((struct Actor *) shell); - return; + } else { + shell->rotAngle += parent->rotVelocity; + somePosVel[0] = sins(shell->rotAngle) * 8.0f; + somePosVel[1] = shell->boundingBoxSize - player->boundingBoxSize; + somePosVel[2] = coss(shell->rotAngle) * 8.0f; + func_802B63B8(somePosVel, player->unk_174); + somePos2[0] = shell->pos[0]; + somePos2[1] = shell->pos[1]; + somePos2[2] = shell->pos[2]; + shell->pos[0] = player->pos[0] + somePosVel[0]; + shell->pos[1] = player->pos[1] + somePosVel[1]; + shell->pos[2] = player->pos[2] + somePosVel[2]; + func_802AD950(&shell->unk30, 4.0f, shell->pos[0], shell->pos[1], shell->pos[2], somePos2[0], somePos2[1], somePos2[2]); + func_802B4E30((struct Actor *) shell); } - temp_t4 = shell->rotAngle + temp_v0_4->rotVelocity; - shell->rotAngle = temp_t4; - sp6C = sins(temp_t4 & 0xFFFF) * 8.0f; - sp70 = shell->boundingBoxSize - temp_s1_4->boundingBoxSize; - sp74 = coss((u16) shell->rotAngle) * 8.0f; - func_802B63B8((bitwise f32 *) 8.0f, &sp6C, temp_s1_4->unk_174); - sp78 = shell->pos[0]; - sp7C = shell->pos[1]; - sp80 = shell->pos[2]; - shell->pos[0] = sp6C + temp_s1_4->pos[0]; - shell->pos[1] = sp70 + temp_s1_4->pos[1]; - shell->pos[2] = sp74 + temp_s1_4->pos[2]; - func_802AD950(&shell->unk30, 0x40800000, shell->pos[0], shell->pos[1], shell->pos[2], sp78, sp7C, sp80); - func_802B4E30((struct Actor *) shell); - return; + break; case 5: - shell->velocity[1] -= D_802B9F64; + // Somehow, this fake match affects stack management up in case 2 + shell->velocity[1] -= (0, 0.3f); if (shell->velocity[1] < -5.0f) { shell->velocity[1] = -5.0f; } - shell->parentIndex -= 1; shell->rotAngle += 0x5B0; + shell->someTimer -= 1; shell->pos[1] += shell->velocity[1]; - if (shell->parentIndex == 0) { + if (shell->someTimer == 0) { destroy_actor((struct Actor *) shell); } break; + default: + break; } } -#else -GLOBAL_ASM("asm/non_matchings/code_802B0210/update_obj_green_shell.s") -#endif - -#ifdef MIPS_TO_C -//generated by m2c commit a8f43e46d33dcb7e04d9cdc44a10b3daf4c92c3b -? func_802AD950(UnkActorInner *, f32, f32, f32, f32, f32, f32, f32); /* extern */ -extern u16 D_80164430; -extern s32 D_80164490; void func_802B3B44(struct ShellActor *shell) { - f32 spAC; - f32 spA8; - f32 spA4; - f32 sp70; - f32 sp6C; - f32 sp68; - f32 sp60; - f32 sp5C; - f32 sp58; + u16 currentWaypoint; + u16 nextWayPoint; f32 temp_f0; f32 temp_f0_2; f32 temp_f0_3; - f32 temp_f10; - f32 temp_f12; - f32 temp_f12_2; f32 temp_f12_3; - f32 temp_f14; f32 temp_f14_2; - f32 temp_f16; f32 temp_f16_2; - f32 temp_f16_3; - f32 temp_f18; - f32 temp_f18_2; - f32 temp_f18_3; + f32 temp_f2; + f32 temp_f12; + f32 temp_f28; f32 temp_f20; f32 temp_f22; - f32 temp_f22_2; f32 temp_f24; + f32 temp_f12_0; + f32 temp_f12_1; + f32 temp_f12_2; + f32 temp_f18_3; + f32 temp_f16_3; f32 temp_f26; - f32 temp_f28; - f32 temp_f2; - f32 temp_f2_2; - f32 temp_f2_3; - s32 temp_a1; - s32 temp_a3; - s32 temp_t1; - u16 temp_t0; - u16 temp_v1; - void *temp_v0; - void *temp_v0_2; - void *temp_v0_3; - s16 phi_a2; - f32 phi_f2; - f32 phi_f14; - f32 phi_f16; + Vec3f origPos; - temp_v1 = (u16) shell->rotAngle; - temp_t1 = D_80164490; - temp_v0 = temp_t1 + (temp_v1 * 8); - temp_t0 = D_80164430; - temp_a1 = temp_v1 + 1; - temp_a3 = temp_a1 & 0xFFFF; - temp_f2 = (f32) temp_v0->unk0; - temp_f12 = (f32) temp_v0->unk2; - temp_f28 = (f32) temp_v0->unk4; - phi_a2 = temp_a1 & 0xFFFF; - if (temp_a3 >= (s32) temp_t0) { - phi_a2 = (temp_a3 - temp_t0) & 0xFFFF; + currentWaypoint = shell->pathIndex; + temp_f2 = D_80164490[currentWaypoint].wayPointX; + temp_f12 = D_80164490[currentWaypoint].wayPointY; + temp_f28 = D_80164490[currentWaypoint].wayPointZ; + nextWayPoint = currentWaypoint + 1; + + if (nextWayPoint >= D_80164430) { + nextWayPoint -= D_80164430; } - temp_f0 = shell->pos[0]; - temp_f16 = shell->pos[1]; - temp_f18 = shell->pos[2]; - temp_f20 = temp_f2 - temp_f0; - temp_f22 = temp_f12 - temp_f16; - temp_v0_2 = temp_t1 + (phi_a2 * 8); - temp_f24 = temp_f28 - temp_f18; - sp60 = temp_f0; - sp5C = temp_f16; - sp58 = temp_f18; - temp_f14 = (temp_f20 * temp_f20) + (temp_f22 * temp_f22) + (temp_f24 * temp_f24); - if (temp_f14 > 400.0f) { - temp_f0_2 = (f32) temp_v0_2->unk0 - sp60; - temp_f2_2 = (f32) temp_v0_2->unk2 - sp5C; - temp_f12_2 = (f32) temp_v0_2->unk4 - sp58; - if (((temp_f0_2 * temp_f0_2) + (temp_f2_2 * temp_f2_2) + (temp_f12_2 * temp_f12_2)) < temp_f14) { - shell->rotAngle = phi_a2; - return; + + temp_f20 = temp_f2 - shell->pos[0]; + temp_f22 = temp_f12 - shell->pos[1]; + temp_f24 = temp_f28 - shell->pos[2]; + temp_f0 = (temp_f20 * temp_f20) + (temp_f22 * temp_f22) + (temp_f24 * temp_f24); + if (temp_f0 > 400.0f) { + temp_f18_3 = D_80164490[nextWayPoint].wayPointX; + temp_f16_3 = D_80164490[nextWayPoint].wayPointY; + temp_f26 = D_80164490[nextWayPoint].wayPointZ; + + temp_f12_0 = temp_f18_3 - shell->pos[0]; + temp_f12_1 = temp_f16_3 - shell->pos[1]; + temp_f12_2 = temp_f26 - shell->pos[2]; + + temp_f0_3 = (temp_f12_0 * temp_f12_0) + (temp_f12_1 * temp_f12_1) + (temp_f12_2 * temp_f12_2); + if (temp_f0_3 < temp_f0) { + shell->pathIndex = nextWayPoint; + } else { + temp_f0_2 = sqrtf(temp_f0) * 4.0f; + temp_f20 /= temp_f0_2; + temp_f22 /= temp_f0_2; + temp_f24 /= temp_f0_2; + + temp_f12_3 = shell->velocity[0]; + temp_f14_2 = shell->velocity[1]; + temp_f16_2 = shell->velocity[2]; + + temp_f12_3 += temp_f20; + temp_f14_2 += temp_f22; + temp_f16_2 += temp_f24; + temp_f0 = sqrtf((temp_f12_3 * temp_f12_3) + (temp_f14_2 * temp_f14_2) + (temp_f16_2 * temp_f16_2)); + if (temp_f0 > 6.0f) { + temp_f0 /= 6.0f; + temp_f12_3 /= temp_f0; + temp_f14_2 /= temp_f0; + temp_f16_2 /= temp_f0; + } + shell->velocity[0] = temp_f12_3; + shell->velocity[1] = temp_f14_2; + shell->velocity[2] = temp_f16_2; + + origPos[0] = shell->pos[0]; + origPos[1] = shell->pos[1]; + origPos[2] = shell->pos[2]; + + shell->pos[0] += temp_f12_3; + shell->pos[1] += temp_f14_2; + shell->pos[2] += temp_f16_2; + func_802AD950(&shell->unk30, 4.0f, shell->pos[0], shell->pos[1], shell->pos[2], origPos[0], origPos[1], origPos[2]); + func_802B4E30((struct Actor *) shell); } - temp_f18_2 = sqrtf(temp_f14) * 4.0f; - temp_f22_2 = temp_f22 / temp_f18_2; - temp_f2_3 = shell->velocity[0] + (temp_f20 / temp_f18_2); - temp_f10 = temp_f2_3 * temp_f2_3; - spAC = temp_f2_3; - temp_f14_2 = shell->velocity[1] + temp_f22_2; - spA8 = temp_f14_2; - temp_f16_2 = shell->velocity[2] + (temp_f24 / temp_f18_2); - spA4 = temp_f16_2; - temp_f0_3 = sqrtf(temp_f10 + (temp_f14_2 * temp_f14_2) + (temp_f16_2 * temp_f16_2)); - phi_f2 = temp_f2_3; - phi_f14 = temp_f14_2; - phi_f16 = temp_f16_2; - if (temp_f0_3 > 6.0f) { - temp_f12_3 = temp_f0_3 / 6.0f; - phi_f2 = temp_f2_3 / temp_f12_3; - phi_f14 = temp_f14_2 / temp_f12_3; - phi_f16 = temp_f16_2 / temp_f12_3; + } else { + if (temp_f0 > 5.0f) { + shell->pos[0] = temp_f2; + shell->pos[1] = shell->boundingBoxSize + temp_f12; + shell->pos[2] = temp_f28; + shell->pathIndex = nextWayPoint; + } else { + temp_f18_3 = D_80164490[nextWayPoint].wayPointX; + temp_f16_3 = D_80164490[nextWayPoint].wayPointY; + temp_f26 = D_80164490[nextWayPoint].wayPointZ; + + shell->pos[0] = (temp_f2 + temp_f18_3) * 0.5f; + shell->pos[1] = ((temp_f12 + temp_f16_3) * 0.5f) + shell->boundingBoxSize; + shell->pos[2] = (temp_f28 + temp_f26) * 0.5f; + + shell->velocity[0] = (temp_f18_3 - temp_f2) * 0.5f; + shell->velocity[1] = (temp_f16_3 - temp_f12) * 0.5f; + shell->velocity[2] = (temp_f26 - temp_f28) * 0.5f; } - shell->velocity[0] = phi_f2; - shell->velocity[1] = phi_f14; - shell->velocity[2] = phi_f16; - sp68 = shell->pos[0]; - sp6C = shell->pos[1]; - sp70 = shell->pos[2]; - shell->pos[0] += phi_f2; - shell->pos[1] += phi_f14; - shell->pos[2] += phi_f16; - func_802AD950(&shell->unk30, 4.0f, shell->pos[0], shell->pos[1], shell->pos[2], sp68, sp6C, sp70); - func_802B4E30((struct Actor *) shell); - return; } - temp_v0_3 = temp_t1 + (phi_a2 * 8); - if (temp_f14 > 5.0f) { - shell->pos[0] = temp_f2; - shell->pos[2] = temp_f28; - shell->rotAngle = phi_a2; - shell->pos[1] = shell->boundingBoxSize + temp_f12; - return; - } - temp_f16_3 = (f32) temp_v0_3->unk0; - temp_f18_3 = (f32) temp_v0_3->unk2; - temp_f26 = (f32) temp_v0_3->unk4; - shell->pos[0] = (temp_f2 + temp_f16_3) * 0.5f; - shell->pos[1] = ((temp_f12 + temp_f18_3) * 0.5f) + shell->boundingBoxSize; - shell->pos[2] = (temp_f28 + temp_f26) * 0.5f; - shell->velocity[0] = (temp_f16_3 - temp_f2) * 0.5f; - shell->velocity[1] = (temp_f18_3 - temp_f12) * 0.5f; - shell->velocity[2] = (temp_f26 - temp_f28) * 0.5f; } -#else -GLOBAL_ASM("asm/non_matchings/code_802B0210/func_802B3B44.s") -#endif - -#ifdef INCORRECT_REGALLOC -//generated by m2c commit a8f43e46d33dcb7e04d9cdc44a10b3daf4c92c3b void func_802B3E7C(struct ShellActor *shell, Player *player) { - f32 x_dist; - f32 z_dist; - f32 xz_dist; - Vec3f oldPosition; f32 x_velocity; f32 z_velocity; + f32 xz_dist; + Vec3f newPosition; - x_dist = player->pos[0]; - x_dist -= shell->pos[0]; - z_dist = player->pos[2]; - z_dist -= shell->pos[2]; - // Dumb register allocation difference occuring here >:( - xz_dist = sqrtf((x_dist * x_dist) + (z_dist * z_dist)) / 8; + x_velocity = player->pos[0]; + x_velocity -= shell->pos[0]; + z_velocity = player->pos[2]; + z_velocity -= shell->pos[2]; + xz_dist = sqrtf((x_velocity * x_velocity) + (z_velocity * z_velocity)) / 8; if (xz_dist == 0.0f) { x_velocity = 0.0f; z_velocity = 0.0f; } else { - x_velocity = x_dist / xz_dist; - // Weird fake match - if (1) {}; - z_velocity = z_dist / xz_dist; + x_velocity /= xz_dist; + z_velocity /= xz_dist; } - oldPosition[0] = shell->pos[0]; - oldPosition[1] = shell->pos[1]; - oldPosition[2] = shell->pos[2]; + + newPosition[0] = shell->pos[0]; + newPosition[1] = shell->pos[1]; + newPosition[2] = shell->pos[2]; shell->pos[0] += x_velocity; shell->pos[1] -= 2.0f; shell->pos[2] += z_velocity; shell->velocity[0] = x_velocity; shell->velocity[1] = -2.0f; shell->velocity[2] = z_velocity; + if (player->unk_0BC & 0x80000000) { func_8029FDC8((struct Actor *) shell); } else { - func_802AD950(&shell->unk30, 4.0f, shell->pos[0], shell->pos[1], shell->pos[2], oldPosition[0], oldPosition[1], oldPosition[2]); + func_802AD950(&shell->unk30, 4.0f, shell->pos[0], shell->pos[1], shell->pos[2], newPosition[0], newPosition[1], newPosition[2]); func_802B4E30((struct Actor *) shell); func_802B4104(shell); } } -#else -GLOBAL_ASM("asm/non_matchings/code_802B0210/func_802B3E7C.s") -#endif - -#ifdef INCORRECT_REGALLOC -// Something to do with red shells -// Only used in Battle mode -// Probably trying to find the player that is not the shell owner, is still alive and is closest to the shell +/** + * Only used in Battle mode + * Likely trying to find the nearest player that is not the shell's owner and is not dead +**/ s16 func_802B3FD0(Player *owner, struct ShellActor *shell) { Player *player; s32 playerIndex; f32 playerToShellDistance; s16 playerId = -1; - f32 minimumDistance = D_802B9F68; // 2.5e7, so a really big starting number + f32 smallestDistance = 25000000.0f; for (playerIndex = 0; playerIndex < 4; playerIndex++) { player = &gPlayers[playerIndex]; - if (((player->unk_000 & 0x8000) != 0) && (player != owner) && (gPlayerBalloonCount[playerIndex] >= 0)) { + if ((player->unk_000 & 0x8000) == 0) {continue;} + if (player == owner) {continue; } + if (gPlayerBalloonCount[playerIndex] < 0) { continue; } // func_802B51E8 is not quite a 3D distance function, it doubles (rather than squares) the Z difference of the positions playerToShellDistance = func_802B51E8(player->pos, shell->pos); - if (playerToShellDistance < minimumDistance) { + if (playerToShellDistance < smallestDistance) { + smallestDistance = playerToShellDistance; playerId = player - gPlayerOne; - minimumDistance = playerToShellDistance; } - } + } return playerId; } -#else -GLOBAL_ASM("asm/non_matchings/code_802B0210/func_802B3FD0.s") -#endif void func_802B4104(struct ShellActor *shell) { if ((shell->unk30.unk3C < 0.0f) && ((shell->unk30.unk48[1] < 0.25f) || (shell->unk30.unk48[1] > -0.25f))) { @@ -1732,325 +1460,278 @@ void func_802B4104(struct ShellActor *shell) { } } -#ifdef MIPS_TO_C -//generated by m2c commit a8f43e46d33dcb7e04d9cdc44a10b3daf4c92c3b -? func_8000ED80(s32); /* extern */ -? func_8000EE10(s32); /* extern */ -? func_802B3B44(struct ShellActor *); /* extern */ -s16 func_802B3FD0(Player *, struct ShellActor *); /* extern */ -? func_802B63B8(f32 *, f32 *); /* extern */ -? func_802B64C4(f32 *, s16); /* extern */ -extern s16 D_8015F6E8; -extern s16 D_8015F6EA; -extern s16 D_8015F6F0; -extern s16 D_8015F6F2; -extern u16 D_80164430; -extern ? D_80164438; -extern struct Controller *gControllerOne; -extern s16 gPlayerPositionLUT; -static f32 D_802B9F94 = 1.2f; -static f32 D_802B9F98 = 40000.0f; -static f32 D_802B9F9C = 0.3f; -static f32 D_802B9FA0 = 40000.0f; - void update_obj_red_blue_shell(struct ShellActor *shell) { - f32 sp94; - f32 sp90; - f32 sp8C; - f32 sp68; - s16 sp56; - f32 sp40; - f32 sp3C; - f32 sp38; - Player *temp_s1; - Player *temp_s1_2; - Player *temp_s1_3; - Player *temp_s1_4; - Player *temp_s1_5; - Player *temp_s1_6; + f32 pad9; + Player *player; f32 temp_f0; - f32 temp_f0_2; - f32 temp_f0_3; - f32 temp_f0_4; f32 temp_f14; f32 temp_f2; - f32 temp_f2_2; - f32 temp_f2_3; - f32 temp_f2_4; - f32 temp_f2_5; - s16 temp_t6; s16 temp_v0; - s16 temp_v0_2; - s16 temp_v0_3; - s16 temp_v0_4; - s16 temp_v0_5; - s16 temp_v0_6; - struct TripleShellParent *temp_v0_7; - u16 temp_t4; - u16 temp_v1; - u16 temp_v1_2; - u16 temp_v1_3; - u16 temp_v1_4; - struct Controller *phi_v0; - f32 phi_f0; - s16 phi_v0_2; - s16 phi_v0_3; - s16 phi_v0_4; + s16 pad3; + Vec3f somePosVel; + struct Controller *controller; + struct TripleShellParent *parent; + f32 pad0; + f32 pad1; + f32 pad2; + f32 pad4; + f32 pad5; + f32 pad6; + f32 pad7; + f32 pad8; + f32 pad10; + f32 pad11; + f32 pad12; + s16 pad13; + s16 pad13_2; + f32 pad14; + f32 pad15; + f32 pad16; + f32 pad17; + Vec3f origPos; - temp_f2 = shell->pos[2]; - temp_f0 = shell->pos[0]; - sp56 = shell->type; - if ((temp_f2 < (f32) D_8015F6F2) || ((f32) D_8015F6F0 < temp_f2) || (temp_f0 < (f32) D_8015F6EA) || ((f32) D_8015F6E8 < temp_f0) || (shell->pos[1] < (f32) D_8015F6EE)) { + pad1 = shell->pos[0]; + pad0 = shell->pos[2]; + pad2 = shell->pos[1]; + pad13 = shell->type; + if ((pad0 < (f32) D_8015F6F2) || ((f32) D_8015F6F0 < pad0) || (pad1 < (f32) D_8015F6EA) || ((f32) D_8015F6E8 < pad1) || (pad2 < (f32) D_8015F6EE)) { func_8029FDC8((struct Actor *) shell); } - temp_t4 = (u16) shell->state; + shell->rotVelocity += 0x71C; - switch (temp_t4) { + switch (shell->state) { case 0: - temp_s1 = &gPlayers[shell->playerId]; - func_802B0210(&temp_s1->unk_110, &shell->unk30); - sp8C = 0.0f; - sp90 = temp_s1->boundingBoxSize; - sp94 = -(temp_s1->boundingBoxSize + shell->boundingBoxSize + 2.0f); - func_802B63B8(&sp8C, temp_s1->unk_174); - shell->pos[0] = sp8C + temp_s1->pos[0]; - temp_f14 = temp_s1->pos[1] - sp90; - shell->pos[2] = sp94 + temp_s1->pos[2]; - sp68 = temp_f14; - temp_f0_2 = func_802ABE30(shell->pos[0], temp_f14, shell->pos[2], temp_s1->unk_110.unk3A); - temp_f2_2 = temp_f14 - temp_f0_2; - if ((temp_f2_2 < 5.0f) && (temp_f2_2 > -5.0f)) { - shell->pos[1] = shell->boundingBoxSize + temp_f0_2; + player = &gPlayers[shell->playerId]; + func_802B0210(&player->unk_110, &shell->unk30); + somePosVel[0] = 0.0f; + somePosVel[1] = player->boundingBoxSize; + somePosVel[2] = -(player->boundingBoxSize + shell->boundingBoxSize + 2.0f); + func_802B63B8(somePosVel, player->unk_174); + shell->pos[0] = player->pos[0] + somePosVel[0]; + pad7 = player->pos[1] - somePosVel[1]; + shell->pos[2] = player->pos[2] + somePosVel[2]; + temp_f0 = func_802ABE30(shell->pos[0], pad7, shell->pos[2], player->unk_110.unk3A); + temp_f2 = pad7 - temp_f0; + + if ((temp_f2 < 5.0f) && (temp_f2 > -5.0f)) { + shell->pos[1] = shell->boundingBoxSize + temp_f0; } else { - shell->pos[1] = temp_f14; + shell->pos[1] = pad7; } - if ((temp_s1->unk_000 & 0x4000) != 0) { + + if ((player->unk_000 & 0x4000) != 0) { if (D_800DC51C != 0) { - goto block_16; + controller = gControllerOne; + } else { + controller = &gControllers[shell->playerId]; } - phi_v0 = &gControllers[shell->playerId]; } else { -block_16: - phi_v0 = gControllerOne; + controller = gControllerOne; } - temp_v1 = phi_v0->buttonDepressed; - if ((temp_v1 & 0x2000) != 0) { - phi_v0->buttonDepressed = temp_v1 & 0xDFFF; + + if ((controller->buttonDepressed & 0x2000) != 0) { + controller->buttonDepressed &= ~0x2000; shell->state = 1; - if (temp_s1->unk_0C0 > 0) { + if (player->unk_0C0 > 0) { shell->rotAngle = 0x78E3; - return; + } else { + shell->rotAngle = -0x78E4; } - shell->rotAngle = -0x78E4; - return; } - default: - return; + break; case 1: - temp_v0 = shell->rotAngle; - temp_s1_2 = &gPlayers[shell->playerId]; - if (temp_v0 > 0) { - shell->rotAngle = temp_v0 - 0x71C; + player = &gPlayers[shell->playerId]; + if (shell->rotAngle > 0) { + shell->rotAngle -= 0x71C; if (shell->rotAngle < 0) { shell->state = 2; - func_800C9060(shell->unk15, 0x19008004); - func_800C90F4(shell->unk15, (temp_s1_2->characterId * 0x10) + 0x29008000); - if (sp56 == 8) { - func_8000ED80((s32) (shell - gActorList) / 112); + func_800C9060(shell->playerId, 0x19008004U); + func_800C90F4(shell->playerId, (player->characterId * 0x10) + 0x29008000); + if (pad13 == ACTOR_RED_SHELL) { + func_8000ED80((struct Actor*)shell - gActorList); } else { - func_8000EE10((s32) (shell - gActorList) / 112); - func_800C9D80((f32 (*)[3]) shell->pos, (f32 (*)[3]) shell->velocity, 0x51018008U); + func_8000EE10((struct Actor*)shell - gActorList); + func_800C9D80(shell->pos, shell->velocity, 0x51018008U); } } } else { - shell->rotAngle = temp_v0 + 0x71C; + shell->rotAngle += 0x71C; if (shell->rotAngle > 0) { shell->state = 2; - func_800C9060(shell->unk15, 0x19008004); - func_800C90F4(shell->unk15, (temp_s1_2->characterId * 0x10) + 0x29008000); - if (sp56 == 8) { - func_8000ED80((s32) (shell - gActorList) / 112); + func_800C9060(shell->playerId, 0x19008004U); + func_800C90F4(shell->playerId, (player->characterId * 0x10) + 0x29008000); + if (pad13 == ACTOR_RED_SHELL) { + func_8000ED80((struct Actor*)shell - gActorList); } else { - func_8000EE10((s32) (shell - gActorList) / 112); - func_800C9D80((f32 (*)[3]) shell->pos, (f32 (*)[3]) shell->velocity, 0x51018008U); + func_8000EE10((struct Actor*)shell - gActorList); + func_800C9D80(shell->pos, shell->velocity, 0x51018008U); } } } if (shell->state == 2) { - shell->parentIndex = 0x001E; - temp_f2_3 = temp_s1_2->unk_094; - phi_f0 = 8.0f; - if (temp_f2_3 > 8.0f) { - phi_f0 = temp_f2_3 * D_802B9F94; + shell->someTimer = 0x001E; + temp_f0 = 8.0f; + if (player->unk_094 > 8.0f) { + temp_f0 = player->unk_094 * 1.2f; } - sp94 = phi_f0; - sp8C = 0.0f; - sp90 = 0.0f; - func_802B64C4(&sp8C, (s16) (temp_s1_2->unk_02E + temp_s1_2->unk_0C0)); - shell->velocity[0] = sp8C; - shell->velocity[1] = sp90; - shell->velocity[2] = sp94; - return; + somePosVel[0] = 0.0f; + somePosVel[1] = 0.0f; + somePosVel[2] = temp_f0; + func_802B64C4(somePosVel, (s16) (player->unk_02E + player->unk_0C0)); + shell->velocity[0] = somePosVel[0]; + shell->velocity[1] = somePosVel[1]; + shell->velocity[2] = somePosVel[2]; + } else { + somePosVel[0] = sins(shell->rotAngle) * 8.0f; + somePosVel[1] = shell->boundingBoxSize - player->boundingBoxSize; + somePosVel[2] = coss(shell->rotAngle) * 8.0f; + func_802B63B8(somePosVel, player->unk_174); + shell->pos[0] = player->pos[0] + somePosVel[0]; + shell->pos[1] = player->pos[1] + somePosVel[1]; + shell->pos[2] = player->pos[2] + somePosVel[2]; } - sp8C = sins((u16) shell->rotAngle) * 8.0f; - sp90 = shell->boundingBoxSize - temp_s1_2->boundingBoxSize; - sp94 = coss((u16) shell->rotAngle) * 8.0f; - func_802B63B8(&sp8C, temp_s1_2->unk_174); - shell->pos[0] = sp8C + temp_s1_2->pos[0]; - shell->pos[1] = sp90 + temp_s1_2->pos[1]; - shell->pos[2] = sp94 + temp_s1_2->pos[2]; - return; + break; case 2: - shell->parentIndex += -1; - temp_s1_3 = &gPlayers[shell->playerId]; - if (shell->parentIndex == 0) { + player = &gPlayers[shell->playerId]; + shell->someTimer -= 1; + if (shell->someTimer == 0) { shell->flags &= 0xEFFF; - if (shell->type == 0x002A) { + if (shell->type == ACTOR_BLUE_SPINY_SHELL) { + shell->targetPlayer = gPlayerPositionLUT[0]; shell->state = 8; - shell->parentIndex = gPlayerPositionLUT; shell->shellId = 1000.0f; - temp_v1_2 = D_80164430; - temp_v0_2 = *(&D_80164438 + (((s32) (temp_s1_3 - gPlayerOne) / 3544) * 2)) + 8; - phi_v0_2 = temp_v0_2; - if ((s32) temp_v1_2 < temp_v0_2) { - phi_v0_2 = (s16) (temp_v0_2 - temp_v1_2); + temp_v0 = D_80164438[player - gPlayerOne] + 8; + if ((s32) D_80164430 < temp_v0) { + temp_v0 -= D_80164430; } - shell->rotAngle = phi_v0_2; - } else if (gModeSelection == (s32) 3) { + shell->pathIndex = temp_v0; + } else if (gModeSelection == BATTLE) { shell->shellId = 1000.0f; - shell->parentIndex = func_802B3FD0(temp_s1_3, shell); - if (shell->parentIndex < 0) { - shell->flags = -0x8000; - shell->rotAngle = 0; - shell->parentIndex = 0x003C; - shell->state = 7; + shell->targetPlayer = func_802B3FD0(player, shell); + if (shell->targetPlayer < 0) { + shell->flags = 0x8000; shell->velocity[1] = 3.0f; + shell->pathIndex = 0; + shell->someTimer = 0x003C; + shell->state = 7; } else { shell->state = 3; } } else { - temp_v0_3 = temp_s1_3->currentRank; - if (temp_v0_3 == 0) { + if (player->currentRank == 0) { shell->state = 4; - shell->parentIndex = 0x0258; - temp_v1_3 = D_80164430; - temp_v0_4 = *(&D_80164438 + (((s32) (temp_s1_3 - gPlayerOne) / 3544) * 2)) + 8; - phi_v0_3 = temp_v0_4; - if ((s32) temp_v1_3 < temp_v0_4) { - phi_v0_3 = (s16) (temp_v0_4 - temp_v1_3); + shell->someTimer = 0x0258; + temp_v0 = D_80164438[player - gPlayerOne] + 8; + if ((s32) D_80164430 < temp_v0) { + temp_v0 -= D_80164430; } - shell->rotAngle = phi_v0_3; - } else if (temp_v0_3 >= 5) { + shell->pathIndex = temp_v0; + } else if (player->currentRank >= 5) { shell->state = 5; shell->shellId = 1000.0f; - temp_v1_4 = D_80164430; - temp_v0_5 = *(&D_80164438 + (((s32) (temp_s1_3 - gPlayerOne) / 3544) * 2)) + 8; - phi_v0_4 = temp_v0_5; - if ((s32) temp_v1_4 < temp_v0_5) { - phi_v0_4 = (s16) (temp_v0_5 - temp_v1_4); + temp_v0 = D_80164438[player - gPlayerOne] + 8; + if ((s32) D_80164430 < temp_v0) { + temp_v0 -= D_80164430; } - shell->rotAngle = phi_v0_4; - shell->parentIndex = (&gPlayerPositionLUT)[temp_s1_3->currentRank].unk-2; + shell->pathIndex = temp_v0; + shell->targetPlayer = gPlayerPositionLUT[player->currentRank - 1]; } else { shell->state = 3; shell->shellId = 1000.0f; - shell->parentIndex = (&gPlayerPositionLUT)[temp_s1_3->currentRank].unk-2; + shell->targetPlayer = gPlayerPositionLUT[player->currentRank - 1]; } } } - shell->velocity[1] = (f32) ((f64) shell->velocity[1] - 0.5); + shell->velocity[1] -= 0.5; if (shell->velocity[1] < -2.0f) { shell->velocity[1] = -2.0f; } - sp38 = shell->pos[0]; - sp3C = shell->pos[1]; - sp40 = shell->pos[2]; + origPos[0] = shell->pos[0]; + origPos[1] = shell->pos[1]; + origPos[2] = shell->pos[2]; shell->pos[0] += shell->velocity[0]; shell->pos[1] += shell->velocity[1]; shell->pos[2] += shell->velocity[2]; - func_802AD950(&shell->unk30, 4.0f, shell->pos[0], shell->pos[1], shell->pos[2], sp38, sp3C, sp40); + func_802AD950(&shell->unk30, 4.0f, shell->pos[0], shell->pos[1], shell->pos[2], origPos[0], origPos[1], origPos[2]); func_802B4E30((struct Actor *) shell); func_802B4104(shell); - return; + break; case 3: - func_802B3E7C(shell, &gPlayers[shell->parentIndex]); - return; + func_802B3E7C(shell, &gPlayers[shell->targetPlayer]); + break; case 4: func_802B3B44(shell); - temp_v0_6 = shell->parentIndex; - if (temp_v0_6 == 0) { + if (shell->someTimer == 0) { if ((shell->flags & 0xF) == 0) { func_8029FDC8((struct Actor *) shell); - return; + } else { + shell->someTimer -= 1; } - shell->parentIndex = temp_v0_6 - 1; - return; } break; case 5: func_802B3B44(shell); - temp_s1_4 = &gPlayers[shell->parentIndex]; - temp_f0_3 = temp_s1_4->pos[0] - shell->pos[0]; - temp_f2_4 = temp_s1_4->pos[2] - shell->pos[2]; - if (((temp_f0_3 * temp_f0_3) + (temp_f2_4 * temp_f2_4)) < D_802B9F98) { + player = &gPlayers[shell->targetPlayer]; + temp_f0 = player->pos[0]; + temp_f0 -= shell->pos[0]; + temp_f2 = player->pos[2]; + temp_f2 -= shell->pos[2]; + if (((temp_f0 * temp_f0) + (temp_f2 * temp_f2)) < 40000.0f) { shell->state = 3; - return; } break; case 6: - temp_v0_7 = &gActorList[shell->parentIndex]; - temp_s1_5 = &gPlayers[shell->playerId]; - if (temp_v0_7->type != 0x0016) { + player = &gPlayers[shell->playerId]; + parent = &gActorList[shell->parentIndex]; + if (parent->type != ACTOR_TRIPLE_RED_SHELL) { func_8029FDC8((struct Actor *) shell); - return; + } else { + shell->rotAngle += parent->rotVelocity; + somePosVel[0] = sins(shell->rotAngle) * 8.0f; + somePosVel[1] = shell->boundingBoxSize - player->boundingBoxSize; + somePosVel[2] = coss(shell->rotAngle) * 8.0f; + func_802B63B8(somePosVel, player->unk_174); + origPos[0] = shell->pos[0]; + origPos[1] = shell->pos[1]; + origPos[2] = shell->pos[2]; + shell->pos[0] = player->pos[0] + somePosVel[0]; + shell->pos[1] = player->pos[1] + somePosVel[1]; + shell->pos[2] = player->pos[2] + somePosVel[2]; + func_802AD950(&shell->unk30, 4.0f, shell->pos[0], shell->pos[1], shell->pos[2], origPos[0], origPos[1], origPos[2]); + func_802B4E30((struct Actor *) shell); } - temp_t6 = shell->rotAngle + temp_v0_7->rotVelocity; - shell->rotAngle = temp_t6; - sp8C = sins(temp_t6 & 0xFFFF) * 8.0f; - sp90 = shell->boundingBoxSize - temp_s1_5->boundingBoxSize; - sp94 = coss((u16) shell->rotAngle) * 8.0f; - func_802B63B8(&sp8C, temp_s1_5->unk_174); - sp38 = shell->pos[0]; - sp3C = shell->pos[1]; - sp40 = shell->pos[2]; - shell->pos[0] = sp8C + temp_s1_5->pos[0]; - shell->pos[1] = sp90 + temp_s1_5->pos[1]; - shell->pos[2] = sp94 + temp_s1_5->pos[2]; - func_802AD950(&shell->unk30, 4.0f, shell->pos[0], shell->pos[1], shell->pos[2], sp38, sp3C, sp40); - func_802B4E30((struct Actor *) shell); - return; + break; case 7: - shell->velocity[1] -= D_802B9F9C; + shell->velocity[1] -= 0.3f; if (shell->velocity[1] < -5.0f) { shell->velocity[1] = -5.0f; } - shell->parentIndex += -1; shell->rotAngle += 0x5B0; + shell->someTimer -= 1; shell->pos[1] += shell->velocity[1]; - if (shell->parentIndex == 0) { + if (shell->someTimer == 0) { destroy_actor((struct Actor *) shell); - return; } break; case 8: func_802B3B44(shell); - shell->parentIndex = gPlayerPositionLUT; - temp_s1_6 = &gPlayers[gPlayerPositionLUT]; - temp_f0_4 = temp_s1_6->pos[0] - shell->pos[0]; - temp_f2_5 = temp_s1_6->pos[2] - shell->pos[2]; - if (((temp_f0_4 * temp_f0_4) + (temp_f2_5 * temp_f2_5)) < D_802B9FA0) { + shell->targetPlayer = gPlayerPositionLUT[0]; + player = &gPlayers[gPlayerPositionLUT[0]]; + temp_f0 = player->pos[0]; + temp_f0 -= shell->pos[0]; + temp_f2 = player->pos[2]; + temp_f2 -= shell->pos[2]; + if (((temp_f0 * temp_f0) + (temp_f2 * temp_f2)) < 40000.0f) { shell->state = 9; - return; } break; case 9: - func_802B3E7C(shell, &gPlayers[shell->parentIndex]); + func_802B3E7C(shell, &gPlayers[shell->targetPlayer]); + break; + default: break; } } -#else -GLOBAL_ASM("asm/non_matchings/code_802B0210/update_obj_red_blue_shell.s") -#endif void func_802B4E30(struct Actor *arg0) { if ((arg0->unk30.unk44 < 0.0f) && (arg0->unk30.unk34 == 1)) { diff --git a/src/code_802B0210.h b/src/code_802B0210.h index d5b745299..0579086a8 100644 --- a/src/code_802B0210.h +++ b/src/code_802B0210.h @@ -6,9 +6,12 @@ void func_802B0210(UnkActorInner*, UnkActorInner*); void func_802B02B4(struct ShellActor*, s32); +void func_802B039C(struct BananaActor*); void func_802B0464(s16); void func_802B04E8(struct BananaActor*, s16); void func_802B0570(struct BananaActor*); +void func_802B0648(struct BananaBunchParent*); +void func_802B0788(s16, struct BananaBunchParent*, Player*); s32 func_802B09C0(s16); void update_obj_banana_bunch(struct BananaBunchParent*); s32 func_802B0E14(s16); @@ -16,10 +19,9 @@ void update_obj_triple_shell(struct TripleShellParent*, s16); s32 func_802B17F4(Player*); s32 func_802B18E4(Player*, s16); s32 func_802B19EC(struct TripleShellParent*, Player*, s16, u16); +s32 func_802B1C9C(Player*); s32 func_802B1E48(Player*); void func_802B1FFC(Player*); -void update_obj_green_shell(struct ShellActor*); -void update_obj_red_blue_shell(struct ShellActor*); void update_obj_banana(struct BananaActor*); void func_802B2914(struct BananaBunchParent*, Player*, s16); s32 func_802B2C40(Player*); @@ -27,18 +29,40 @@ s32 func_802B2D70(Player*); void func_802B2EBC(Player*); void func_802B2FA0(Player*); void func_802B30EC(); +void update_obj_green_shell(struct ShellActor*); +void func_802B3B44(struct ShellActor*); void func_802B3E7C(struct ShellActor*, Player*); +s16 func_802B3FD0(Player*, struct ShellActor*); void func_802B4104(struct ShellActor*); +void update_obj_red_blue_shell(struct ShellActor*); void func_802B4E30(struct Actor*); -// src/code_80091750.c -void func_8009E5BC(); - // audio/external.c extern void func_800C9060(u8, s32); extern void func_800C90F4(u8, u32); extern void func_800CAB4C(u8); +// code_80005FD0.c +s32 func_8000ED80(s32); +s32 func_8000EDC8(s32); +s32 func_8000EE10(s32); + + +/*******************************************/ +// These are also defined and used in code_800029B0.c +// They'll have to be unified sometime in the future +extern u16 D_80164430; + +struct UnkStruct80164490 { + s16 wayPointX; + s16 wayPointY; + s16 wayPointZ; + s16 wayPointSegment; +}; + +extern struct UnkStruct80164490 *D_80164490; +/*******************************************/ + extern f32 D_802B9F68; extern s16 gPlayerBalloonCount[]; @@ -49,8 +73,18 @@ extern Player *gPlayerOne; extern Player *gPlayerTwo; extern Player *gPlayerThree; extern struct Controller gControllers[]; -extern struct Controller *gControllerEight; -extern struct Controller *gControllerSeven; +extern struct Controller *gControllerOne; extern struct Controller *gControllerSix; +extern struct Controller *gControllerSeven; +extern struct Controller *gControllerEight; + +extern u16 D_800DC51C; +extern s16 D_8015F6E8; +extern s16 D_8015F6EA; +extern s16 D_8015F6F0; +extern s16 D_8015F6F2; +extern u16 D_80164430; +extern u16 D_80164438[]; +extern s16 gPlayerPositionLUT[]; #endif diff --git a/src/math_util.c b/src/math_util.c index a921c7f30..3e6da738b 100644 --- a/src/math_util.c +++ b/src/math_util.c @@ -1628,8 +1628,8 @@ u16 random_u16(void) { return gRandomSeed16; } -s32 random_int(u16 arg0) { - return (u16) (arg0 * (( (f32) random_u16() ) / 65535.0)); +u16 random_int(u16 arg0) { + return arg0 * (( (f32) random_u16() ) / 65535.0); } s16 func_802B7F34(f32 arg0, f32 arg1, f32 arg2, f32 arg3) { return atan2s(arg2 - arg0, arg3 - arg1); diff --git a/src/math_util.h b/src/math_util.h index bb56c77ba..76d78eeb4 100644 --- a/src/math_util.h +++ b/src/math_util.h @@ -32,6 +32,8 @@ void func_802B59DC(Mat4, s32); void func_802B5F74(Mat4, Vec3f, Vec3s); f32 func_802B80D0(Vec3f, Vec3f, u16, f32, f32, f32); void func_802B5F00(Mat4, f32); +void func_802B63B8(Vec3f, f32*); +void func_802B64C4(Vec3f, s16); void func_802B71CC(Mat4, Mat4, Mat4); void func_802B75F8(Mtx*, Mat4); u16 atan2_lookup(f32, f32); @@ -45,7 +47,7 @@ s16 func_802B7CA8(f32); void func_802B7CE8(f32); s16 func_802B7D28(f32); u16 random_u16(); -s32 random_int(u16); +u16 random_int(u16); s16 func_802B7F34(f32, f32, f32, f32); f32 sins(u16); f32 coss(u16); diff --git a/src/memory.c b/src/memory.c index 3058e516f..de380b19b 100644 --- a/src/memory.c +++ b/src/memory.c @@ -2293,8 +2293,8 @@ f32 func_802ABEAC(UnkActorInner *arg0, Vec3f arg1) { } #ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -void process_shell_collision(void *arg0, ? arg1, void *arg2, ? arg3) { +//generated by m2c commit b04a67bbeb29101ca8f4ea8a24a81fe594677b33 +void process_shell_collision(f32 *arg0, f32 arg1, f32 *velocity, f32 arg3) { f32 sp40; f32 sp3C; f32 sp38; @@ -2320,11 +2320,11 @@ void process_shell_collision(void *arg0, ? arg1, void *arg2, ? arg3) { f32 temp_f8; f64 temp_f16; - temp_f2 = arg2->unk0; - temp_f12 = arg2->unk4; - temp_f14 = arg2->unk8; + temp_f2 = velocity->unk0; + temp_f12 = velocity->unk4; + temp_f14 = velocity->unk8; temp_f0 = sqrtf((temp_f2 * temp_f2) + (temp_f12 * temp_f12) + (temp_f14 * temp_f14)); - temp_f16 = temp_f0; + temp_f16 = (f64) temp_f0; sp24 = temp_f0; if ((temp_f16 > 4.5) || (temp_f16 < 3.5)) { sp24 = 4.0f; @@ -2347,34 +2347,23 @@ void process_shell_collision(void *arg0, ? arg1, void *arg2, ? arg3) { temp_f16_3 = (1.0f / sqrtf((temp_f2_2 * temp_f2_2) + (temp_f12_2 * temp_f12_2) + (temp_f14_2 * temp_f14_2))) * sp24; temp_f10_2 = temp_f12_2 * temp_f16_3; temp_f8 = temp_f14_2 * temp_f16_3; - arg2->unk0 = temp_f2_2 * temp_f16_3; - arg2->unk4 = temp_f10_2; - arg2->unk8 = temp_f8; + velocity->unk0 = temp_f2_2 * temp_f16_3; + velocity->unk4 = temp_f10_2; + velocity->unk8 = temp_f8; } #else GLOBAL_ASM("asm/non_matchings/memory/process_shell_collision.s") #endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -? process_shell_collision(void *, f32, s32, ?); // extern - -void func_802AC098(void *arg0, s32 arg1) { - f32 temp_f0; - f32 temp_f0_2; - - temp_f0 = arg0->unkC; - if (temp_f0 < 0.0f) { - process_shell_collision(arg0 + 0x18, temp_f0, arg1, 0x40000000); +void func_802AC098(UnkActorInner *arg0, f32 *velocity) { + if (arg0->unk3C < 0.0f) { + process_shell_collision(arg0->unk48, arg0->unk3C, velocity, 2.0f); } - temp_f0_2 = arg0->unk10; - if (temp_f0_2 < 0.0f) { - process_shell_collision(arg0 + 0x24, temp_f0_2, arg1, 0x40000000); + + if (arg0->unk40 < 0.0f) { + process_shell_collision(arg0->unk54, arg0->unk40, velocity, 2.0f); } } -#else -GLOBAL_ASM("asm/non_matchings/memory/func_802AC098.s") -#endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 diff --git a/src/memory.h b/src/memory.h index 2b8be6d60..efdcb75ad 100644 --- a/src/memory.h +++ b/src/memory.h @@ -91,6 +91,8 @@ s16 func_802ABDB8(u16); s16 func_802ABDF4(u16); f32 func_802ABE30(f32, f32, f32, u16); f32 func_802ABEAC(UnkActorInner*, Vec3f); +void process_shell_collision(Vec3f, f32, Vec3f, f32); +void func_802AC098(UnkActorInner*, Vec3f); void func_802AD950(UnkActorInner*, f32, f32, f32, f32, f32, f32, f32); void func_802ADDC8(UnkActorInner*, f32, f32, f32, f32); f32 func_802AE1C0(f32, f32, f32);