From 23cfd1ca026225369b121e345310e55aff5b54ce Mon Sep 17 00:00:00 2001 From: MegaMech Date: Mon, 4 Sep 2023 18:57:16 -0600 Subject: [PATCH] Match funcs in player_controller.c (#398) * Match funcs in player_controller.c --- .../player_controller/func_80029B4C.s | 433 --- .../player_controller/func_8002B9CC.s | 129 - .../player_controller/func_8002D268.s | 1307 ------- .../player_controller/func_8002E594.s | 984 ----- .../player_controller/func_8002F730.s | 399 -- .../player_controller/func_80033AE0.s | 3231 ----------------- .../player_controller/func_800382DC.s | 162 - .../player_controller/func_80038C6C.s | 507 --- include/common_structs.h | 6 +- src/audio/external.c | 2 +- src/audio/external.h | 2 + src/code_8003DC40.c | 4 +- src/code_8003DC40.h | 4 +- src/collision.h | 1 + src/player_controller.c | 1467 ++++---- src/player_controller.h | 4 +- src/spawn_players.c | 6 +- 17 files changed, 656 insertions(+), 7992 deletions(-) delete mode 100644 asm/non_matchings/player_controller/func_80029B4C.s delete mode 100644 asm/non_matchings/player_controller/func_8002B9CC.s delete mode 100644 asm/non_matchings/player_controller/func_8002D268.s delete mode 100644 asm/non_matchings/player_controller/func_8002E594.s delete mode 100644 asm/non_matchings/player_controller/func_8002F730.s delete mode 100644 asm/non_matchings/player_controller/func_80033AE0.s delete mode 100644 asm/non_matchings/player_controller/func_800382DC.s delete mode 100644 asm/non_matchings/player_controller/func_80038C6C.s diff --git a/asm/non_matchings/player_controller/func_80029B4C.s b/asm/non_matchings/player_controller/func_80029B4C.s deleted file mode 100644 index 786fccbed..000000000 --- a/asm/non_matchings/player_controller/func_80029B4C.s +++ /dev/null @@ -1,433 +0,0 @@ -.section .late_rodata - -glabel D_800ED798 -.double 3.6 - -glabel D_800ED7A0 -.double 3.6 - -glabel D_800ED7A8 -.double 2.6 - -glabel D_800ED7B0 -.double 2.6 - -.section .text - -glabel func_80029B4C -/* 02A74C 80029B4C 27BDFF58 */ addiu $sp, $sp, -0xa8 -/* 02A750 80029B50 AFBF0024 */ sw $ra, 0x24($sp) -/* 02A754 80029B54 AFB00020 */ sw $s0, 0x20($sp) -/* 02A758 80029B58 AFA500AC */ sw $a1, 0xac($sp) -/* 02A75C 80029B5C AFA600B0 */ sw $a2, 0xb0($sp) -/* 02A760 80029B60 AFA700B4 */ sw $a3, 0xb4($sp) -/* 02A764 80029B64 8C8E00BC */ lw $t6, 0xbc($a0) -/* 02A768 80029B68 3C024000 */ lui $v0, 0x4000 -/* 02A76C 80029B6C 44800000 */ mtc1 $zero, $f0 -/* 02A770 80029B70 01C27824 */ and $t7, $t6, $v0 -/* 02A774 80029B74 144F0018 */ bne $v0, $t7, .L80029BD8 -/* 02A778 80029B78 00808025 */ move $s0, $a0 -/* 02A77C 80029B7C 94980254 */ lhu $t8, 0x254($a0) -/* 02A780 80029B80 3C01800E */ lui $at, %hi(D_800DDBD4) -/* 02A784 80029B84 C4900224 */ lwc1 $f16, 0x224($a0) -/* 02A788 80029B88 0018C880 */ sll $t9, $t8, 2 -/* 02A78C 80029B8C 00390821 */ addu $at, $at, $t9 -/* 02A790 80029B90 C424DBD4 */ lwc1 $f4, %lo(D_800DDBD4)($at) -/* 02A794 80029B94 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 02A798 80029B98 44813000 */ mtc1 $at, $f6 -/* 02A79C 80029B9C 3C013FF8 */ li $at, 0x3FF80000 # 1.937500 -/* 02A7A0 80029BA0 44812800 */ mtc1 $at, $f5 -/* 02A7A4 80029BA4 46062203 */ div.s $f8, $f4, $f6 -/* 02A7A8 80029BA8 44802000 */ mtc1 $zero, $f4 -/* 02A7AC 80029BAC 3C014032 */ li $at, 0x40320000 # 2.781250 -/* 02A7B0 80029BB0 44818800 */ mtc1 $at, $f17 -/* 02A7B4 80029BB4 460084A1 */ cvt.d.s $f18, $f16 -/* 02A7B8 80029BB8 44808000 */ mtc1 $zero, $f16 -/* 02A7BC 80029BBC 46249182 */ mul.d $f6, $f18, $f4 -/* 02A7C0 80029BC0 460042A1 */ cvt.d.s $f10, $f8 -/* 02A7C4 80029BC4 46265202 */ mul.d $f8, $f10, $f6 -/* 02A7C8 80029BC8 00000000 */ nop -/* 02A7CC 80029BCC 46304482 */ mul.d $f18, $f8, $f16 -/* 02A7D0 80029BD0 1000000D */ b .L80029C08 -/* 02A7D4 80029BD4 46209320 */ cvt.s.d $f12, $f18 -.L80029BD8: -/* 02A7D8 80029BD8 96080254 */ lhu $t0, 0x254($s0) -/* 02A7DC 80029BDC 3C01800E */ lui $at, %hi(D_800DDBD4) -/* 02A7E0 80029BE0 00084880 */ sll $t1, $t0, 2 -/* 02A7E4 80029BE4 00290821 */ addu $at, $at, $t1 -/* 02A7E8 80029BE8 C424DBD4 */ lwc1 $f4, %lo(D_800DDBD4)($at) -/* 02A7EC 80029BEC 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 02A7F0 80029BF0 44815000 */ mtc1 $at, $f10 -/* 02A7F4 80029BF4 3C014190 */ li $at, 0x41900000 # 18.000000 -/* 02A7F8 80029BF8 44814000 */ mtc1 $at, $f8 -/* 02A7FC 80029BFC 460A2183 */ div.s $f6, $f4, $f10 -/* 02A800 80029C00 46083302 */ mul.s $f12, $f6, $f8 -/* 02A804 80029C04 00000000 */ nop -.L80029C08: -/* 02A808 80029C08 860A002E */ lh $t2, 0x2e($s0) -/* 02A80C 80029C0C 860B00C0 */ lh $t3, 0xc0($s0) -/* 02A810 80029C10 44050000 */ mfc1 $a1, $f0 -/* 02A814 80029C14 44070000 */ mfc1 $a3, $f0 -/* 02A818 80029C18 014B6021 */ addu $t4, $t2, $t3 -/* 02A81C 80029C1C AFAC0010 */ sw $t4, 0x10($sp) -/* 02A820 80029C20 E7AC0048 */ swc1 $f12, 0x48($sp) -/* 02A824 80029C24 27A4005C */ addiu $a0, $sp, 0x5c -/* 02A828 80029C28 0C0AD950 */ jal func_802B6540 -/* 02A82C 80029C2C 3C063F80 */ lui $a2, 0x3f80 -/* 02A830 80029C30 C7AC0048 */ lwc1 $f12, 0x48($sp) -/* 02A834 80029C34 3C01800F */ lui $at, %hi(D_800ED798) -/* 02A838 80029C38 D430D798 */ ldc1 $f16, %lo(D_800ED798)($at) -/* 02A83C 80029C3C 46006021 */ cvt.d.s $f0, $f12 -/* 02A840 80029C40 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 02A844 80029C44 46300481 */ sub.d $f18, $f0, $f16 -/* 02A848 80029C48 44814000 */ mtc1 $at, $f8 -/* 02A84C 80029C4C 27A4008C */ addiu $a0, $sp, 0x8c -/* 02A850 80029C50 27A5005C */ addiu $a1, $sp, 0x5c -/* 02A854 80029C54 46209120 */ cvt.s.d $f4, $f18 -/* 02A858 80029C58 46086081 */ sub.s $f2, $f12, $f8 -/* 02A85C 80029C5C E7A4008C */ swc1 $f4, 0x8c($sp) -/* 02A860 80029C60 C60A0070 */ lwc1 $f10, 0x70($s0) -/* 02A864 80029C64 F7A00038 */ sdc1 $f0, 0x38($sp) -/* 02A868 80029C68 E7A20094 */ swc1 $f2, 0x94($sp) -/* 02A86C 80029C6C 46005187 */ neg.s $f6, $f10 -/* 02A870 80029C70 E7A20040 */ swc1 $f2, 0x40($sp) -/* 02A874 80029C74 0C0AD8EE */ jal func_802B63B8 -/* 02A878 80029C78 E7A60090 */ swc1 $f6, 0x90($sp) -/* 02A87C 80029C7C C6100198 */ lwc1 $f16, 0x198($s0) -/* 02A880 80029C80 C7AA008C */ lwc1 $f10, 0x8c($sp) -/* 02A884 80029C84 02002025 */ move $a0, $s0 -/* 02A888 80029C88 E7B00080 */ swc1 $f16, 0x80($sp) -/* 02A88C 80029C8C C612019C */ lwc1 $f18, 0x19c($s0) -/* 02A890 80029C90 26050198 */ addiu $a1, $s0, 0x198 -/* 02A894 80029C94 E7B20084 */ swc1 $f18, 0x84($sp) -/* 02A898 80029C98 C60401A0 */ lwc1 $f4, 0x1a0($s0) -/* 02A89C 80029C9C E7A40088 */ swc1 $f4, 0x88($sp) -/* 02A8A0 80029CA0 C6060014 */ lwc1 $f6, 0x14($s0) -/* 02A8A4 80029CA4 C6120018 */ lwc1 $f18, 0x18($s0) -/* 02A8A8 80029CA8 46065200 */ add.s $f8, $f10, $f6 -/* 02A8AC 80029CAC C606001C */ lwc1 $f6, 0x1c($s0) -/* 02A8B0 80029CB0 E6080198 */ swc1 $f8, 0x198($s0) -/* 02A8B4 80029CB4 C7B00090 */ lwc1 $f16, 0x90($sp) -/* 02A8B8 80029CB8 46128100 */ add.s $f4, $f16, $f18 -/* 02A8BC 80029CBC E604019C */ swc1 $f4, 0x19c($s0) -/* 02A8C0 80029CC0 C7AA0094 */ lwc1 $f10, 0x94($sp) -/* 02A8C4 80029CC4 46065200 */ add.s $f8, $f10, $f6 -/* 02A8C8 80029CC8 E60801A0 */ swc1 $f8, 0x1a0($s0) -/* 02A8CC 80029CCC C7B00088 */ lwc1 $f16, 0x88($sp) -/* 02A8D0 80029CD0 8FA70084 */ lw $a3, 0x84($sp) -/* 02A8D4 80029CD4 8FA60080 */ lw $a2, 0x80($sp) -/* 02A8D8 80029CD8 0C0ABE8D */ jal process_collision -/* 02A8DC 80029CDC E7B00010 */ swc1 $f16, 0x10($sp) -/* 02A8E0 80029CE0 C7AC0048 */ lwc1 $f12, 0x48($sp) -/* 02A8E4 80029CE4 3C01800F */ lui $at, %hi(D_800ED7A0) -/* 02A8E8 80029CE8 D432D7A0 */ ldc1 $f18, %lo(D_800ED7A0)($at) -/* 02A8EC 80029CEC 46006387 */ neg.s $f14, $f12 -/* 02A8F0 80029CF0 C7B00040 */ lwc1 $f16, 0x40($sp) -/* 02A8F4 80029CF4 460070A1 */ cvt.d.s $f2, $f14 -/* 02A8F8 80029CF8 27A4008C */ addiu $a0, $sp, 0x8c -/* 02A8FC 80029CFC 46321100 */ add.d $f4, $f2, $f18 -/* 02A900 80029D00 27A5005C */ addiu $a1, $sp, 0x5c -/* 02A904 80029D04 462022A0 */ cvt.s.d $f10, $f4 -/* 02A908 80029D08 E7AA008C */ swc1 $f10, 0x8c($sp) -/* 02A90C 80029D0C C6060070 */ lwc1 $f6, 0x70($s0) -/* 02A910 80029D10 E7AE0034 */ swc1 $f14, 0x34($sp) -/* 02A914 80029D14 F7A20028 */ sdc1 $f2, 0x28($sp) -/* 02A918 80029D18 46003207 */ neg.s $f8, $f6 -/* 02A91C 80029D1C E7B00094 */ swc1 $f16, 0x94($sp) -/* 02A920 80029D20 0C0AD8EE */ jal func_802B63B8 -/* 02A924 80029D24 E7A80090 */ swc1 $f8, 0x90($sp) -/* 02A928 80029D28 C61201B0 */ lwc1 $f18, 0x1b0($s0) -/* 02A92C 80029D2C C7A6008C */ lwc1 $f6, 0x8c($sp) -/* 02A930 80029D30 02002025 */ move $a0, $s0 -/* 02A934 80029D34 E7B20080 */ swc1 $f18, 0x80($sp) -/* 02A938 80029D38 C60401B4 */ lwc1 $f4, 0x1b4($s0) -/* 02A93C 80029D3C 260501B0 */ addiu $a1, $s0, 0x1b0 -/* 02A940 80029D40 E7A40084 */ swc1 $f4, 0x84($sp) -/* 02A944 80029D44 C60A01B8 */ lwc1 $f10, 0x1b8($s0) -/* 02A948 80029D48 E7AA0088 */ swc1 $f10, 0x88($sp) -/* 02A94C 80029D4C C6080014 */ lwc1 $f8, 0x14($s0) -/* 02A950 80029D50 C6040018 */ lwc1 $f4, 0x18($s0) -/* 02A954 80029D54 46083400 */ add.s $f16, $f6, $f8 -/* 02A958 80029D58 C608001C */ lwc1 $f8, 0x1c($s0) -/* 02A95C 80029D5C E61001B0 */ swc1 $f16, 0x1b0($s0) -/* 02A960 80029D60 C7B20090 */ lwc1 $f18, 0x90($sp) -/* 02A964 80029D64 46049280 */ add.s $f10, $f18, $f4 -/* 02A968 80029D68 E60A01B4 */ swc1 $f10, 0x1b4($s0) -/* 02A96C 80029D6C C7A60094 */ lwc1 $f6, 0x94($sp) -/* 02A970 80029D70 46083400 */ add.s $f16, $f6, $f8 -/* 02A974 80029D74 E61001B8 */ swc1 $f16, 0x1b8($s0) -/* 02A978 80029D78 C7B20088 */ lwc1 $f18, 0x88($sp) -/* 02A97C 80029D7C 8FA70084 */ lw $a3, 0x84($sp) -/* 02A980 80029D80 8FA60080 */ lw $a2, 0x80($sp) -/* 02A984 80029D84 0C0ABE8D */ jal process_collision -/* 02A988 80029D88 E7B20010 */ swc1 $f18, 0x10($sp) -/* 02A98C 80029D8C 3C01800F */ lui $at, %hi(D_800ED7A8) -/* 02A990 80029D90 D7A00038 */ ldc1 $f0, 0x38($sp) -/* 02A994 80029D94 D424D7A8 */ ldc1 $f4, %lo(D_800ED7A8)($at) -/* 02A998 80029D98 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 02A99C 80029D9C C7B20034 */ lwc1 $f18, 0x34($sp) -/* 02A9A0 80029DA0 46240281 */ sub.d $f10, $f0, $f4 -/* 02A9A4 80029DA4 44812000 */ mtc1 $at, $f4 -/* 02A9A8 80029DA8 27A4008C */ addiu $a0, $sp, 0x8c -/* 02A9AC 80029DAC 27A5005C */ addiu $a1, $sp, 0x5c -/* 02A9B0 80029DB0 462051A0 */ cvt.s.d $f6, $f10 -/* 02A9B4 80029DB4 46049300 */ add.s $f12, $f18, $f4 -/* 02A9B8 80029DB8 E7A6008C */ swc1 $f6, 0x8c($sp) -/* 02A9BC 80029DBC C6080070 */ lwc1 $f8, 0x70($s0) -/* 02A9C0 80029DC0 E7AC0094 */ swc1 $f12, 0x94($sp) -/* 02A9C4 80029DC4 46004407 */ neg.s $f16, $f8 -/* 02A9C8 80029DC8 E7AC0040 */ swc1 $f12, 0x40($sp) -/* 02A9CC 80029DCC 0C0AD8EE */ jal func_802B63B8 -/* 02A9D0 80029DD0 E7B00090 */ swc1 $f16, 0x90($sp) -/* 02A9D4 80029DD4 C60A01C8 */ lwc1 $f10, 0x1c8($s0) -/* 02A9D8 80029DD8 C7B0008C */ lwc1 $f16, 0x8c($sp) -/* 02A9DC 80029DDC 02002025 */ move $a0, $s0 -/* 02A9E0 80029DE0 E7AA0080 */ swc1 $f10, 0x80($sp) -/* 02A9E4 80029DE4 C60601CC */ lwc1 $f6, 0x1cc($s0) -/* 02A9E8 80029DE8 260501C8 */ addiu $a1, $s0, 0x1c8 -/* 02A9EC 80029DEC E7A60084 */ swc1 $f6, 0x84($sp) -/* 02A9F0 80029DF0 C60801D0 */ lwc1 $f8, 0x1d0($s0) -/* 02A9F4 80029DF4 E7A80088 */ swc1 $f8, 0x88($sp) -/* 02A9F8 80029DF8 C6120014 */ lwc1 $f18, 0x14($s0) -/* 02A9FC 80029DFC C6060018 */ lwc1 $f6, 0x18($s0) -/* 02AA00 80029E00 46128100 */ add.s $f4, $f16, $f18 -/* 02AA04 80029E04 C612001C */ lwc1 $f18, 0x1c($s0) -/* 02AA08 80029E08 E60401C8 */ swc1 $f4, 0x1c8($s0) -/* 02AA0C 80029E0C C7AA0090 */ lwc1 $f10, 0x90($sp) -/* 02AA10 80029E10 46065200 */ add.s $f8, $f10, $f6 -/* 02AA14 80029E14 E60801CC */ swc1 $f8, 0x1cc($s0) -/* 02AA18 80029E18 C7B00094 */ lwc1 $f16, 0x94($sp) -/* 02AA1C 80029E1C 46128100 */ add.s $f4, $f16, $f18 -/* 02AA20 80029E20 E60401D0 */ swc1 $f4, 0x1d0($s0) -/* 02AA24 80029E24 C7AA0088 */ lwc1 $f10, 0x88($sp) -/* 02AA28 80029E28 8FA70084 */ lw $a3, 0x84($sp) -/* 02AA2C 80029E2C 8FA60080 */ lw $a2, 0x80($sp) -/* 02AA30 80029E30 0C0ABE8D */ jal process_collision -/* 02AA34 80029E34 E7AA0010 */ swc1 $f10, 0x10($sp) -/* 02AA38 80029E38 3C01800F */ lui $at, %hi(D_800ED7B0) -/* 02AA3C 80029E3C D7A20028 */ ldc1 $f2, 0x28($sp) -/* 02AA40 80029E40 D426D7B0 */ ldc1 $f6, %lo(D_800ED7B0)($at) -/* 02AA44 80029E44 C7AA0040 */ lwc1 $f10, 0x40($sp) -/* 02AA48 80029E48 27A4008C */ addiu $a0, $sp, 0x8c -/* 02AA4C 80029E4C 46261200 */ add.d $f8, $f2, $f6 -/* 02AA50 80029E50 27A5005C */ addiu $a1, $sp, 0x5c -/* 02AA54 80029E54 46204420 */ cvt.s.d $f16, $f8 -/* 02AA58 80029E58 E7B0008C */ swc1 $f16, 0x8c($sp) -/* 02AA5C 80029E5C C6120070 */ lwc1 $f18, 0x70($s0) -/* 02AA60 80029E60 E7AA0094 */ swc1 $f10, 0x94($sp) -/* 02AA64 80029E64 46009107 */ neg.s $f4, $f18 -/* 02AA68 80029E68 0C0AD8EE */ jal func_802B63B8 -/* 02AA6C 80029E6C E7A40090 */ swc1 $f4, 0x90($sp) -/* 02AA70 80029E70 C60601E0 */ lwc1 $f6, 0x1e0($s0) -/* 02AA74 80029E74 C7B2008C */ lwc1 $f18, 0x8c($sp) -/* 02AA78 80029E78 02002025 */ move $a0, $s0 -/* 02AA7C 80029E7C E7A60080 */ swc1 $f6, 0x80($sp) -/* 02AA80 80029E80 C60801E4 */ lwc1 $f8, 0x1e4($s0) -/* 02AA84 80029E84 260501E0 */ addiu $a1, $s0, 0x1e0 -/* 02AA88 80029E88 E7A80084 */ swc1 $f8, 0x84($sp) -/* 02AA8C 80029E8C C61001E8 */ lwc1 $f16, 0x1e8($s0) -/* 02AA90 80029E90 E7B00088 */ swc1 $f16, 0x88($sp) -/* 02AA94 80029E94 C6040014 */ lwc1 $f4, 0x14($s0) -/* 02AA98 80029E98 C6080018 */ lwc1 $f8, 0x18($s0) -/* 02AA9C 80029E9C 46049280 */ add.s $f10, $f18, $f4 -/* 02AAA0 80029EA0 C604001C */ lwc1 $f4, 0x1c($s0) -/* 02AAA4 80029EA4 E60A01E0 */ swc1 $f10, 0x1e0($s0) -/* 02AAA8 80029EA8 C7A60090 */ lwc1 $f6, 0x90($sp) -/* 02AAAC 80029EAC 46083400 */ add.s $f16, $f6, $f8 -/* 02AAB0 80029EB0 E61001E4 */ swc1 $f16, 0x1e4($s0) -/* 02AAB4 80029EB4 C7B20094 */ lwc1 $f18, 0x94($sp) -/* 02AAB8 80029EB8 46049280 */ add.s $f10, $f18, $f4 -/* 02AABC 80029EBC E60A01E8 */ swc1 $f10, 0x1e8($s0) -/* 02AAC0 80029EC0 C7A60088 */ lwc1 $f6, 0x88($sp) -/* 02AAC4 80029EC4 8FA70084 */ lw $a3, 0x84($sp) -/* 02AAC8 80029EC8 8FA60080 */ lw $a2, 0x80($sp) -/* 02AACC 80029ECC 0C0ABE8D */ jal process_collision -/* 02AAD0 80029ED0 E7A60010 */ swc1 $f6, 0x10($sp) -/* 02AAD4 80029ED4 8E0D00BC */ lw $t5, 0xbc($s0) -/* 02AAD8 80029ED8 31AE0008 */ andi $t6, $t5, 8 -/* 02AADC 80029EDC 55C0002E */ bnel $t6, $zero, .L80029F98 -/* 02AAE0 80029EE0 960F0254 */ lhu $t7, 0x254($s0) -/* 02AAE4 80029EE4 C60801A8 */ lwc1 $f8, 0x1a8($s0) -/* 02AAE8 80029EE8 C61001D8 */ lwc1 $f16, 0x1d8($s0) -/* 02AAEC 80029EEC 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 02AAF0 80029EF0 44812000 */ mtc1 $at, $f4 -/* 02AAF4 80029EF4 46104480 */ add.s $f18, $f8, $f16 -/* 02AAF8 80029EF8 26040230 */ addiu $a0, $s0, 0x230 -/* 02AAFC 80029EFC 3C063F00 */ lui $a2, 0x3f00 -/* 02AB00 80029F00 46049003 */ div.s $f0, $f18, $f4 -/* 02AB04 80029F04 44050000 */ mfc1 $a1, $f0 -/* 02AB08 80029F08 0C008973 */ jal move_f32_towards -/* 02AB0C 80029F0C 00000000 */ nop -/* 02AB10 80029F10 C60A01C0 */ lwc1 $f10, 0x1c0($s0) -/* 02AB14 80029F14 C60601F0 */ lwc1 $f6, 0x1f0($s0) -/* 02AB18 80029F18 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 02AB1C 80029F1C 44818000 */ mtc1 $at, $f16 -/* 02AB20 80029F20 46065200 */ add.s $f8, $f10, $f6 -/* 02AB24 80029F24 2604023C */ addiu $a0, $s0, 0x23c -/* 02AB28 80029F28 3C063F00 */ lui $a2, 0x3f00 -/* 02AB2C 80029F2C 46104003 */ div.s $f0, $f8, $f16 -/* 02AB30 80029F30 44050000 */ mfc1 $a1, $f0 -/* 02AB34 80029F34 0C008973 */ jal move_f32_towards -/* 02AB38 80029F38 00000000 */ nop -/* 02AB3C 80029F3C C61201A8 */ lwc1 $f18, 0x1a8($s0) -/* 02AB40 80029F40 C60401C0 */ lwc1 $f4, 0x1c0($s0) -/* 02AB44 80029F44 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 02AB48 80029F48 44813000 */ mtc1 $at, $f6 -/* 02AB4C 80029F4C 46049280 */ add.s $f10, $f18, $f4 -/* 02AB50 80029F50 260401FC */ addiu $a0, $s0, 0x1fc -/* 02AB54 80029F54 3C063F00 */ lui $a2, 0x3f00 -/* 02AB58 80029F58 46065003 */ div.s $f0, $f10, $f6 -/* 02AB5C 80029F5C 44050000 */ mfc1 $a1, $f0 -/* 02AB60 80029F60 0C008973 */ jal move_f32_towards -/* 02AB64 80029F64 00000000 */ nop -/* 02AB68 80029F68 C60801D8 */ lwc1 $f8, 0x1d8($s0) -/* 02AB6C 80029F6C C61001F0 */ lwc1 $f16, 0x1f0($s0) -/* 02AB70 80029F70 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 02AB74 80029F74 44812000 */ mtc1 $at, $f4 -/* 02AB78 80029F78 46104480 */ add.s $f18, $f8, $f16 -/* 02AB7C 80029F7C 260401F8 */ addiu $a0, $s0, 0x1f8 -/* 02AB80 80029F80 3C063F00 */ lui $a2, 0x3f00 -/* 02AB84 80029F84 46049003 */ div.s $f0, $f18, $f4 -/* 02AB88 80029F88 44050000 */ mfc1 $a1, $f0 -/* 02AB8C 80029F8C 0C008973 */ jal move_f32_towards -/* 02AB90 80029F90 00000000 */ nop -/* 02AB94 80029F94 960F0254 */ lhu $t7, 0x254($s0) -.L80029F98: -/* 02AB98 80029F98 3C01800E */ lui $at, %hi(D_800DDBD4) -/* 02AB9C 80029F9C C6040224 */ lwc1 $f4, 0x224($s0) -/* 02ABA0 80029FA0 000FC080 */ sll $t8, $t7, 2 -/* 02ABA4 80029FA4 00380821 */ addu $at, $at, $t8 -/* 02ABA8 80029FA8 C42ADBD4 */ lwc1 $f10, %lo(D_800DDBD4)($at) -/* 02ABAC 80029FAC 3C014190 */ li $at, 0x41900000 # 18.000000 -/* 02ABB0 80029FB0 44813000 */ mtc1 $at, $f6 -/* 02ABB4 80029FB4 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 02ABB8 80029FB8 44818000 */ mtc1 $at, $f16 -/* 02ABBC 80029FBC 46065202 */ mul.s $f8, $f10, $f6 -/* 02ABC0 80029FC0 C6060230 */ lwc1 $f6, 0x230($s0) -/* 02ABC4 80029FC4 C60A023C */ lwc1 $f10, 0x23c($s0) -/* 02ABC8 80029FC8 46065001 */ sub.s $f0, $f10, $f6 -/* 02ABCC 80029FCC 46104480 */ add.s $f18, $f8, $f16 -/* 02ABD0 80029FD0 46049082 */ mul.s $f2, $f18, $f4 -/* 02ABD4 80029FD4 46020303 */ div.s $f12, $f0, $f2 -/* 02ABD8 80029FD8 0C0ADF10 */ jal func_802B7C40 -/* 02ABDC 80029FDC E7A20050 */ swc1 $f2, 0x50($sp) -/* 02ABE0 80029FE0 860800CA */ lh $t0, 0xca($s0) -/* 02ABE4 80029FE4 C7A20050 */ lwc1 $f2, 0x50($sp) -/* 02ABE8 80029FE8 0002C823 */ negu $t9, $v0 -/* 02ABEC 80029FEC 24010002 */ li $at, 2 -/* 02ABF0 80029FF0 31090002 */ andi $t1, $t0, 2 -/* 02ABF4 80029FF4 11210005 */ beq $t1, $at, .L8002A00C -/* 02ABF8 80029FF8 A6190206 */ sh $t9, 0x206($s0) -/* 02ABFC 80029FFC 8E0200BC */ lw $v0, 0xbc($s0) -/* 02AC00 8002A000 304A0008 */ andi $t2, $v0, 8 -/* 02AC04 8002A004 11400005 */ beqz $t2, .L8002A01C -/* 02AC08 8002A008 01401025 */ move $v0, $t2 -.L8002A00C: -/* 02AC0C 8002A00C 8E0200BC */ lw $v0, 0xbc($s0) -/* 02AC10 8002A010 A6000206 */ sh $zero, 0x206($s0) -/* 02AC14 8002A014 304B0008 */ andi $t3, $v0, 8 -/* 02AC18 8002A018 01601025 */ move $v0, $t3 -.L8002A01C: -/* 02AC1C 8002A01C 24010008 */ li $at, 8 -/* 02AC20 8002A020 1041000E */ beq $v0, $at, .L8002A05C -/* 02AC24 8002A024 C7A400B0 */ lwc1 $f4, 0xb0($sp) -/* 02AC28 8002A028 C60801F8 */ lwc1 $f8, 0x1f8($s0) -/* 02AC2C 8002A02C C61001FC */ lwc1 $f16, 0x1fc($s0) -/* 02AC30 8002A030 46104001 */ sub.s $f0, $f8, $f16 -/* 02AC34 8002A034 0C0ADF10 */ jal func_802B7C40 -/* 02AC38 8002A038 46020303 */ div.s $f12, $f0, $f2 -/* 02AC3C 8002A03C 00022C00 */ sll $a1, $v0, 0x10 -/* 02AC40 8002A040 00056403 */ sra $t4, $a1, 0x10 -/* 02AC44 8002A044 01802825 */ move $a1, $t4 -/* 02AC48 8002A048 260400C4 */ addiu $a0, $s0, 0xc4 -/* 02AC4C 8002A04C 0C00898D */ jal move_s16_towards -/* 02AC50 8002A050 3C063F00 */ lui $a2, 0x3f00 -/* 02AC54 8002A054 1000001A */ b .L8002A0C0 -/* 02AC58 8002A058 8E1900BC */ lw $t9, 0xbc($s0) -.L8002A05C: -/* 02AC5C 8002A05C C6120024 */ lwc1 $f18, 0x24($s0) -/* 02AC60 8002A060 46049001 */ sub.s $f0, $f18, $f4 -/* 02AC64 8002A064 46020303 */ div.s $f12, $f0, $f2 -/* 02AC68 8002A068 0C0ADF10 */ jal func_802B7C40 -/* 02AC6C 8002A06C E7A00054 */ swc1 $f0, 0x54($sp) -/* 02AC70 8002A070 C7A00054 */ lwc1 $f0, 0x54($sp) -/* 02AC74 8002A074 44805000 */ mtc1 $zero, $f10 -/* 02AC78 8002A078 00022880 */ sll $a1, $v0, 2 -/* 02AC7C 8002A07C 00A22821 */ addu $a1, $a1, $v0 -/* 02AC80 8002A080 4600503E */ c.le.s $f10, $f0 -/* 02AC84 8002A084 00057C40 */ sll $t7, $a1, 0x11 -/* 02AC88 8002A088 000F2C03 */ sra $a1, $t7, 0x10 -/* 02AC8C 8002A08C 260400C4 */ addiu $a0, $s0, 0xc4 -/* 02AC90 8002A090 45000008 */ bc1f .L8002A0B4 -/* 02AC94 8002A094 00000000 */ nop -/* 02AC98 8002A098 04410003 */ bgez $v0, .L8002A0A8 -/* 02AC9C 8002A09C 00022883 */ sra $a1, $v0, 2 -/* 02ACA0 8002A0A0 24410003 */ addiu $at, $v0, 3 -/* 02ACA4 8002A0A4 00012883 */ sra $a1, $at, 2 -.L8002A0A8: -/* 02ACA8 8002A0A8 00056C00 */ sll $t5, $a1, 0x10 -/* 02ACAC 8002A0AC 10000001 */ b .L8002A0B4 -/* 02ACB0 8002A0B0 000D2C03 */ sra $a1, $t5, 0x10 -.L8002A0B4: -/* 02ACB4 8002A0B4 0C00898D */ jal move_s16_towards -/* 02ACB8 8002A0B8 3C063F00 */ lui $a2, 0x3f00 -/* 02ACBC 8002A0BC 8E1900BC */ lw $t9, 0xbc($s0) -.L8002A0C0: -/* 02ACC0 8002A0C0 24010008 */ li $at, 8 -/* 02ACC4 8002A0C4 33280008 */ andi $t0, $t9, 8 -/* 02ACC8 8002A0C8 1501000B */ bne $t0, $at, .L8002A0F8 -/* 02ACCC 8002A0CC 00000000 */ nop -/* 02ACD0 8002A0D0 860900CA */ lh $t1, 0xca($s0) -/* 02ACD4 8002A0D4 24010002 */ li $at, 2 -/* 02ACD8 8002A0D8 312A0002 */ andi $t2, $t1, 2 -/* 02ACDC 8002A0DC 15410006 */ bne $t2, $at, .L8002A0F8 -/* 02ACE0 8002A0E0 00000000 */ nop -/* 02ACE4 8002A0E4 C6060D9C */ lwc1 $f6, 0xd9c($s0) -/* 02ACE8 8002A0E8 4600320D */ trunc.w.s $f8, $f6 -/* 02ACEC 8002A0EC 440C4000 */ mfc1 $t4, $f8 -/* 02ACF0 8002A0F0 00000000 */ nop -/* 02ACF4 8002A0F4 A60C00C4 */ sh $t4, 0xc4($s0) -.L8002A0F8: -/* 02ACF8 8002A0F8 0C0AAF44 */ jal get_surface_type -/* 02ACFC 8002A0FC 9604011A */ lhu $a0, 0x11a($s0) -/* 02AD00 8002A100 304D00FF */ andi $t5, $v0, 0xff -/* 02AD04 8002A104 31A3FFFF */ andi $v1, $t5, 0xffff -/* 02AD08 8002A108 240100FE */ li $at, 254 -/* 02AD0C 8002A10C 1461000E */ bne $v1, $at, .L8002A148 -/* 02AD10 8002A110 A60D00F8 */ sh $t5, 0xf8($s0) -/* 02AD14 8002A114 8E0200BC */ lw $v0, 0xbc($s0) -/* 02AD18 8002A118 3C040010 */ lui $a0, 0x10 -/* 02AD1C 8002A11C 24010008 */ li $at, 8 -/* 02AD20 8002A120 00447024 */ and $t6, $v0, $a0 -/* 02AD24 8002A124 108E0008 */ beq $a0, $t6, .L8002A148 -/* 02AD28 8002A128 304F0008 */ andi $t7, $v0, 8 -/* 02AD2C 8002A12C 51E10007 */ beql $t7, $at, .L8002A14C -/* 02AD30 8002A130 240100FC */ li $at, 252 -/* 02AD34 8002A134 8E18000C */ lw $t8, 0xc($s0) -/* 02AD38 8002A138 3C010080 */ lui $at, 0x80 -/* 02AD3C 8002A13C 31A3FFFF */ andi $v1, $t5, 0xffff -/* 02AD40 8002A140 0301C825 */ or $t9, $t8, $at -/* 02AD44 8002A144 AE19000C */ sw $t9, 0xc($s0) -.L8002A148: -/* 02AD48 8002A148 240100FC */ li $at, 252 -.L8002A14C: -/* 02AD4C 8002A14C 5461000D */ bnel $v1, $at, .L8002A184 -/* 02AD50 8002A150 8FBF0024 */ lw $ra, 0x24($sp) -/* 02AD54 8002A154 8E0200BC */ lw $v0, 0xbc($s0) -/* 02AD58 8002A158 24010004 */ li $at, 4 -/* 02AD5C 8002A15C 30480004 */ andi $t0, $v0, 4 -/* 02AD60 8002A160 11010007 */ beq $t0, $at, .L8002A180 -/* 02AD64 8002A164 30490008 */ andi $t1, $v0, 8 -/* 02AD68 8002A168 24010008 */ li $at, 8 -/* 02AD6C 8002A16C 51210005 */ beql $t1, $at, .L8002A184 -/* 02AD70 8002A170 8FBF0024 */ lw $ra, 0x24($sp) -/* 02AD74 8002A174 8E0A000C */ lw $t2, 0xc($s0) -/* 02AD78 8002A178 354B8000 */ ori $t3, $t2, 0x8000 -/* 02AD7C 8002A17C AE0B000C */ sw $t3, 0xc($s0) -.L8002A180: -/* 02AD80 8002A180 8FBF0024 */ lw $ra, 0x24($sp) -.L8002A184: -/* 02AD84 8002A184 8FB00020 */ lw $s0, 0x20($sp) -/* 02AD88 8002A188 27BD00A8 */ addiu $sp, $sp, 0xa8 -/* 02AD8C 8002A18C 03E00008 */ jr $ra -/* 02AD90 8002A190 00000000 */ nop diff --git a/asm/non_matchings/player_controller/func_8002B9CC.s b/asm/non_matchings/player_controller/func_8002B9CC.s deleted file mode 100644 index d4ef0fa39..000000000 --- a/asm/non_matchings/player_controller/func_8002B9CC.s +++ /dev/null @@ -1,129 +0,0 @@ -.section .late_rodata - -glabel D_800ED7D0 -.double 4.2 - -.section .text - -glabel func_8002B9CC -/* 02C5CC 8002B9CC 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 02C5D0 8002B9D0 AFBF001C */ sw $ra, 0x1c($sp) -/* 02C5D4 8002B9D4 AFB00018 */ sw $s0, 0x18($sp) -/* 02C5D8 8002B9D8 AFA50024 */ sw $a1, 0x24($sp) -/* 02C5DC 8002B9DC AFA60028 */ sw $a2, 0x28($sp) -/* 02C5E0 8002B9E0 948E0046 */ lhu $t6, 0x46($a0) -/* 02C5E4 8002B9E4 24010002 */ li $at, 2 -/* 02C5E8 8002B9E8 00808025 */ move $s0, $a0 -/* 02C5EC 8002B9EC 31CF0002 */ andi $t7, $t6, 2 -/* 02C5F0 8002B9F0 15E1002A */ bne $t7, $at, .L8002BA9C -/* 02C5F4 8002B9F4 83AB0027 */ lb $t3, 0x27($sp) -/* 02C5F8 8002B9F8 83B80027 */ lb $t8, 0x27($sp) -/* 02C5FC 8002B9FC 3C088019 */ lui $t0, %hi(D_8018CE10) # $t0, 0x8019 -/* 02C600 8002BA00 2508CE10 */ addiu $t0, %lo(D_8018CE10) # addiu $t0, $t0, -0x31f0 -/* 02C604 8002BA04 0018C940 */ sll $t9, $t8, 5 -/* 02C608 8002BA08 03281021 */ addu $v0, $t9, $t0 -/* 02C60C 8002BA0C C4400004 */ lwc1 $f0, 4($v0) -/* 02C610 8002BA10 44801000 */ mtc1 $zero, $f2 -/* 02C614 8002BA14 C44E000C */ lwc1 $f14, 0xc($v0) -/* 02C618 8002BA18 46000102 */ mul.s $f4, $f0, $f0 -/* 02C61C 8002BA1C 00000000 */ nop -/* 02C620 8002BA20 46021182 */ mul.s $f6, $f2, $f2 -/* 02C624 8002BA24 46062200 */ add.s $f8, $f4, $f6 -/* 02C628 8002BA28 460E7282 */ mul.s $f10, $f14, $f14 -/* 02C62C 8002BA2C 0C033850 */ jal sqrtf -/* 02C630 8002BA30 460A4300 */ add.s $f12, $f8, $f10 -/* 02C634 8002BA34 3C01401A */ li $at, 0x401A0000 # 2.406250 -/* 02C638 8002BA38 44819800 */ mtc1 $at, $f19 -/* 02C63C 8002BA3C 44809000 */ mtc1 $zero, $f18 -/* 02C640 8002BA40 46000421 */ cvt.d.s $f16, $f0 -/* 02C644 8002BA44 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 02C648 8002BA48 4630903E */ c.le.d $f18, $f16 -/* 02C64C 8002BA4C 00000000 */ nop -/* 02C650 8002BA50 4502004E */ bc1fl .L8002BB8C -/* 02C654 8002BA54 8FBF001C */ lw $ra, 0x1c($sp) -/* 02C658 8002BA58 44810000 */ mtc1 $at, $f0 -/* 02C65C 8002BA5C C604008C */ lwc1 $f4, 0x8c($s0) -/* 02C660 8002BA60 C608009C */ lwc1 $f8, 0x9c($s0) -/* 02C664 8002BA64 8E0200BC */ lw $v0, 0xbc($s0) -/* 02C668 8002BA68 46002183 */ div.s $f6, $f4, $f0 -/* 02C66C 8002BA6C 30490080 */ andi $t1, $v0, 0x80 -/* 02C670 8002BA70 304A0040 */ andi $t2, $v0, 0x40 -/* 02C674 8002BA74 46004283 */ div.s $f10, $f8, $f0 -/* 02C678 8002BA78 E606008C */ swc1 $f6, 0x8c($s0) -/* 02C67C 8002BA7C 15200042 */ bnez $t1, .L8002BB88 -/* 02C680 8002BA80 E60A009C */ swc1 $f10, 0x9c($s0) -/* 02C684 8002BA84 15400040 */ bnez $t2, .L8002BB88 -/* 02C688 8002BA88 02002025 */ move $a0, $s0 -/* 02C68C 8002BA8C 0C0231CF */ jal func_8008C73C -/* 02C690 8002BA90 83A50027 */ lb $a1, 0x27($sp) -/* 02C694 8002BA94 1000003D */ b .L8002BB8C -/* 02C698 8002BA98 8FBF001C */ lw $ra, 0x1c($sp) -.L8002BA9C: -/* 02C69C 8002BA9C 000B6080 */ sll $t4, $t3, 2 -/* 02C6A0 8002BAA0 018B6023 */ subu $t4, $t4, $t3 -/* 02C6A4 8002BAA4 3C0D8016 */ lui $t5, %hi(D_80165070) # $t5, 0x8016 -/* 02C6A8 8002BAA8 25AD5070 */ addiu $t5, %lo(D_80165070) # addiu $t5, $t5, 0x5070 -/* 02C6AC 8002BAAC 000C6080 */ sll $t4, $t4, 2 -/* 02C6B0 8002BAB0 018D1021 */ addu $v0, $t4, $t5 -/* 02C6B4 8002BAB4 C4500000 */ lwc1 $f16, ($v0) -/* 02C6B8 8002BAB8 C6120034 */ lwc1 $f18, 0x34($s0) -/* 02C6BC 8002BABC C4440004 */ lwc1 $f4, 4($v0) -/* 02C6C0 8002BAC0 C6060038 */ lwc1 $f6, 0x38($s0) -/* 02C6C4 8002BAC4 46128001 */ sub.s $f0, $f16, $f18 -/* 02C6C8 8002BAC8 C4480008 */ lwc1 $f8, 8($v0) -/* 02C6CC 8002BACC C60A003C */ lwc1 $f10, 0x3c($s0) -/* 02C6D0 8002BAD0 46062081 */ sub.s $f2, $f4, $f6 -/* 02C6D4 8002BAD4 46000402 */ mul.s $f16, $f0, $f0 -/* 02C6D8 8002BAD8 460A4381 */ sub.s $f14, $f8, $f10 -/* 02C6DC 8002BADC 46021482 */ mul.s $f18, $f2, $f2 -/* 02C6E0 8002BAE0 46128100 */ add.s $f4, $f16, $f18 -/* 02C6E4 8002BAE4 460E7182 */ mul.s $f6, $f14, $f14 -/* 02C6E8 8002BAE8 0C033850 */ jal sqrtf -/* 02C6EC 8002BAEC 46062300 */ add.s $f12, $f4, $f6 -/* 02C6F0 8002BAF0 3C01800F */ lui $at, %hi(D_800ED7D0) -/* 02C6F4 8002BAF4 D42AD7D0 */ ldc1 $f10, %lo(D_800ED7D0)($at) -/* 02C6F8 8002BAF8 46000221 */ cvt.d.s $f8, $f0 -/* 02C6FC 8002BAFC 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 02C700 8002BB00 4628503E */ c.le.d $f10, $f8 -/* 02C704 8002BB04 00000000 */ nop -/* 02C708 8002BB08 45020011 */ bc1fl .L8002BB50 -/* 02C70C 8002BB0C 26040014 */ addiu $a0, $s0, 0x14 -/* 02C710 8002BB10 44810000 */ mtc1 $at, $f0 -/* 02C714 8002BB14 C610008C */ lwc1 $f16, 0x8c($s0) -/* 02C718 8002BB18 C604009C */ lwc1 $f4, 0x9c($s0) -/* 02C71C 8002BB1C 8E0200BC */ lw $v0, 0xbc($s0) -/* 02C720 8002BB20 46008483 */ div.s $f18, $f16, $f0 -/* 02C724 8002BB24 304E0080 */ andi $t6, $v0, 0x80 -/* 02C728 8002BB28 304F0040 */ andi $t7, $v0, 0x40 -/* 02C72C 8002BB2C 46002183 */ div.s $f6, $f4, $f0 -/* 02C730 8002BB30 E612008C */ swc1 $f18, 0x8c($s0) -/* 02C734 8002BB34 15C00005 */ bnez $t6, .L8002BB4C -/* 02C738 8002BB38 E606009C */ swc1 $f6, 0x9c($s0) -/* 02C73C 8002BB3C 15E00003 */ bnez $t7, .L8002BB4C -/* 02C740 8002BB40 02002025 */ move $a0, $s0 -/* 02C744 8002BB44 0C0231CF */ jal func_8008C73C -/* 02C748 8002BB48 83A50027 */ lb $a1, 0x27($sp) -.L8002BB4C: -/* 02C74C 8002BB4C 26040014 */ addiu $a0, $s0, 0x14 -.L8002BB50: -/* 02C750 8002BB50 0C0AD489 */ jal func_802B5224 -/* 02C754 8002BB54 26050020 */ addiu $a1, $s0, 0x20 -/* 02C758 8002BB58 8618002E */ lh $t8, 0x2e($s0) -/* 02C75C 8002BB5C 861900C0 */ lh $t9, 0xc0($s0) -/* 02C760 8002BB60 00027023 */ negu $t6, $v0 -/* 02C764 8002BB64 240100B6 */ li $at, 182 -/* 02C768 8002BB68 03194823 */ subu $t1, $t8, $t9 -/* 02C76C 8002BB6C 01C97823 */ subu $t7, $t6, $t1 -/* 02C770 8002BB70 000FC400 */ sll $t8, $t7, 0x10 -/* 02C774 8002BB74 0018CC03 */ sra $t9, $t8, 0x10 -/* 02C778 8002BB78 0321001A */ div $zero, $t9, $at -/* 02C77C 8002BB7C 00004012 */ mflo $t0 -/* 02C780 8002BB80 A6080234 */ sh $t0, 0x234($s0) -/* 02C784 8002BB84 00000000 */ nop -.L8002BB88: -/* 02C788 8002BB88 8FBF001C */ lw $ra, 0x1c($sp) -.L8002BB8C: -/* 02C78C 8002BB8C 8FB00018 */ lw $s0, 0x18($sp) -/* 02C790 8002BB90 27BD0020 */ addiu $sp, $sp, 0x20 -/* 02C794 8002BB94 03E00008 */ jr $ra -/* 02C798 8002BB98 00000000 */ nop diff --git a/asm/non_matchings/player_controller/func_8002D268.s b/asm/non_matchings/player_controller/func_8002D268.s deleted file mode 100644 index edb85d85a..000000000 --- a/asm/non_matchings/player_controller/func_8002D268.s +++ /dev/null @@ -1,1307 +0,0 @@ -.section .data - -glabel D_800E3CE8 -.float 0.0, 0.0, 1.0 - -glabel D_800E3CF4 -.float 0.0, 0.0, 0.0 - -glabel D_800E3D00 -.float 0.0, 0.0, 0.0 - -glabel D_800E3D0C -.float 0.0, 0.0, 0.0 - -glabel D_800E3D18 -.float 0.825, 0.8, 0.725, 0.625 -.float 0.425, 0.3, 0.3, 0.3 -.float 0.3, 0.3, 0.3, 0.3 -.float 0.3, 0.3, 0.3, 0.3 -.float 0.3, 0.3, 0.3, 0.3 -.float 0.3, 0.3, 0.3 - -.section .late_rodata - -glabel D_800ED7E0 -.double 0.925 - -glabel D_800ED7E8 -.double 0.1 - -glabel D_800ED7F0 -.float 4500.0 -.word 0x00000000 - -glabel D_800ED7F8 -.double 0.12 - -glabel D_800ED800 -.double 6000.0 - -glabel D_800ED808 -.double 0.6 - -glabel D_800ED810 -.double 0.12 - -glabel D_800ED818 -.double 6000.0 - -glabel D_800ED820 -.double 0.12 - -glabel D_800ED828 -.double 6000.0 - -glabel D_800ED830 -.double 0.02 - -glabel D_800ED838 -.float 2.8 -.word 0x00000000 - -glabel D_800ED840 -.double 0.08 - -.section .text - -glabel func_8002D268 -/* 02DE68 8002D268 27BDFE70 */ addiu $sp, $sp, -0x190 -/* 02DE6C 8002D26C 3C0F800E */ lui $t7, %hi(D_800E3CE8) # $t7, 0x800e -/* 02DE70 8002D270 AFBF002C */ sw $ra, 0x2c($sp) -/* 02DE74 8002D274 AFB00028 */ sw $s0, 0x28($sp) -/* 02DE78 8002D278 AFA50194 */ sw $a1, 0x194($sp) -/* 02DE7C 8002D27C AFA60198 */ sw $a2, 0x198($sp) -/* 02DE80 8002D280 AFA7019C */ sw $a3, 0x19c($sp) -/* 02DE84 8002D284 25EF3CE8 */ addiu $t7, %lo(D_800E3CE8) # addiu $t7, $t7, 0x3ce8 -/* 02DE88 8002D288 8DE10000 */ lw $at, ($t7) -/* 02DE8C 8002D28C 27AE0184 */ addiu $t6, $sp, 0x184 -/* 02DE90 8002D290 8DE80004 */ lw $t0, 4($t7) -/* 02DE94 8002D294 ADC10000 */ sw $at, ($t6) -/* 02DE98 8002D298 8DE10008 */ lw $at, 8($t7) -/* 02DE9C 8002D29C 3C0A800E */ lui $t2, %hi(D_800E3CF4) # $t2, 0x800e -/* 02DEA0 8002D2A0 254A3CF4 */ addiu $t2, %lo(D_800E3CF4) # addiu $t2, $t2, 0x3cf4 -/* 02DEA4 8002D2A4 ADC80004 */ sw $t0, 4($t6) -/* 02DEA8 8002D2A8 ADC10008 */ sw $at, 8($t6) -/* 02DEAC 8002D2AC 8D410000 */ lw $at, ($t2) -/* 02DEB0 8002D2B0 27A90178 */ addiu $t1, $sp, 0x178 -/* 02DEB4 8002D2B4 8D4D0004 */ lw $t5, 4($t2) -/* 02DEB8 8002D2B8 AD210000 */ sw $at, ($t1) -/* 02DEBC 8002D2BC 8D410008 */ lw $at, 8($t2) -/* 02DEC0 8002D2C0 3C18800E */ lui $t8, %hi(D_800E3D00) # $t8, 0x800e -/* 02DEC4 8002D2C4 27183D00 */ addiu $t8, %lo(D_800E3D00) # addiu $t8, $t8, 0x3d00 -/* 02DEC8 8002D2C8 AD2D0004 */ sw $t5, 4($t1) -/* 02DECC 8002D2CC AD210008 */ sw $at, 8($t1) -/* 02DED0 8002D2D0 8F010000 */ lw $at, ($t8) -/* 02DED4 8002D2D4 27B9016C */ addiu $t9, $sp, 0x16c -/* 02DED8 8002D2D8 8F080004 */ lw $t0, 4($t8) -/* 02DEDC 8002D2DC AF210000 */ sw $at, ($t9) -/* 02DEE0 8002D2E0 8F010008 */ lw $at, 8($t8) -/* 02DEE4 8002D2E4 3C0B800E */ lui $t3, %hi(D_800E3D0C) # $t3, 0x800e -/* 02DEE8 8002D2E8 256B3D0C */ addiu $t3, %lo(D_800E3D0C) # addiu $t3, $t3, 0x3d0c -/* 02DEEC 8002D2EC AF280004 */ sw $t0, 4($t9) -/* 02DEF0 8002D2F0 AF210008 */ sw $at, 8($t9) -/* 02DEF4 8002D2F4 8D610000 */ lw $at, ($t3) -/* 02DEF8 8002D2F8 27AC0160 */ addiu $t4, $sp, 0x160 -/* 02DEFC 8002D2FC 8D6D0004 */ lw $t5, 4($t3) -/* 02DF00 8002D300 AD810000 */ sw $at, ($t4) -/* 02DF04 8002D304 8D610008 */ lw $at, 8($t3) -/* 02DF08 8002D308 3C0E800E */ lui $t6, %hi(D_800E3D18) # $t6, 0x800e -/* 02DF0C 8002D30C 25CE3D18 */ addiu $t6, %lo(D_800E3D18) # addiu $t6, $t6, 0x3d18 -/* 02DF10 8002D310 00808025 */ move $s0, $a0 -/* 02DF14 8002D314 25C80054 */ addiu $t0, $t6, 0x54 -/* 02DF18 8002D318 27AF0104 */ addiu $t7, $sp, 0x104 -/* 02DF1C 8002D31C AD8D0004 */ sw $t5, 4($t4) -/* 02DF20 8002D320 AD810008 */ sw $at, 8($t4) -.L8002D324: -/* 02DF24 8002D324 8DC10000 */ lw $at, ($t6) -/* 02DF28 8002D328 25CE000C */ addiu $t6, $t6, 0xc -/* 02DF2C 8002D32C 25EF000C */ addiu $t7, $t7, 0xc -/* 02DF30 8002D330 ADE1FFF4 */ sw $at, -0xc($t7) -/* 02DF34 8002D334 8DC1FFF8 */ lw $at, -8($t6) -/* 02DF38 8002D338 ADE1FFF8 */ sw $at, -8($t7) -/* 02DF3C 8002D33C 8DC1FFFC */ lw $at, -4($t6) -/* 02DF40 8002D340 15C8FFF8 */ bne $t6, $t0, .L8002D324 -/* 02DF44 8002D344 ADE1FFFC */ sw $at, -4($t7) -/* 02DF48 8002D348 8DC10000 */ lw $at, ($t6) -/* 02DF4C 8002D34C 8DC80004 */ lw $t0, 4($t6) -/* 02DF50 8002D350 02002025 */ move $a0, $s0 -/* 02DF54 8002D354 ADE10000 */ sw $at, ($t7) -/* 02DF58 8002D358 ADE80004 */ sw $t0, 4($t7) -/* 02DF5C 8002D35C AFA0007C */ sw $zero, 0x7c($sp) -/* 02DF60 8002D360 0C009FB7 */ jal func_80027EDC -/* 02DF64 8002D364 83A5019F */ lb $a1, 0x19f($sp) -/* 02DF68 8002D368 0C00B047 */ jal func_8002C11C -/* 02DF6C 8002D36C 02002025 */ move $a0, $s0 -/* 02DF70 8002D370 960A0000 */ lhu $t2, ($s0) -/* 02DF74 8002D374 24014000 */ li $at, 16384 -/* 02DF78 8002D378 31494000 */ andi $t1, $t2, 0x4000 -/* 02DF7C 8002D37C 15210003 */ bne $t1, $at, .L8002D38C -/* 02DF80 8002D380 02002025 */ move $a0, $s0 -/* 02DF84 8002D384 0C00A9E7 */ jal func_8002A79C -/* 02DF88 8002D388 83A5019F */ lb $a1, 0x19f($sp) -.L8002D38C: -/* 02DF8C 8002D38C 02002025 */ move $a0, $s0 -/* 02DF90 8002D390 83A5019F */ lb $a1, 0x19f($sp) -/* 02DF94 8002D394 0C00AE0C */ jal func_8002B830 -/* 02DF98 8002D398 83A6019B */ lb $a2, 0x19b($sp) -/* 02DF9C 8002D39C 96020000 */ lhu $v0, ($s0) -/* 02DFA0 8002D3A0 24014000 */ li $at, 16384 -/* 02DFA4 8002D3A4 304C4000 */ andi $t4, $v0, 0x4000 -/* 02DFA8 8002D3A8 15810006 */ bne $t4, $at, .L8002D3C4 -/* 02DFAC 8002D3AC 304B0100 */ andi $t3, $v0, 0x100 -/* 02DFB0 8002D3B0 24010100 */ li $at, 256 -/* 02DFB4 8002D3B4 11610003 */ beq $t3, $at, .L8002D3C4 -/* 02DFB8 8002D3B8 02002025 */ move $a0, $s0 -/* 02DFBC 8002D3BC 0C00AFD3 */ jal func_8002BF4C -/* 02DFC0 8002D3C0 83A5019F */ lb $a1, 0x19f($sp) -.L8002D3C4: -/* 02DFC4 8002D3C4 02002025 */ move $a0, $s0 -/* 02DFC8 8002D3C8 83A5019F */ lb $a1, 0x19f($sp) -/* 02DFCC 8002D3CC 0C00B352 */ jal func_8002CD48 -/* 02DFD0 8002D3D0 83A6019B */ lb $a2, 0x19b($sp) -/* 02DFD4 8002D3D4 8E0D00BC */ lw $t5, 0xbc($s0) -/* 02DFD8 8002D3D8 3C022000 */ lui $v0, 0x2000 -/* 02DFDC 8002D3DC 02002025 */ move $a0, $s0 -/* 02DFE0 8002D3E0 01A2C024 */ and $t8, $t5, $v0 -/* 02DFE4 8002D3E4 14580007 */ bne $v0, $t8, .L8002D404 -/* 02DFE8 8002D3E8 00000000 */ nop -/* 02DFEC 8002D3EC 86190228 */ lh $t9, 0x228($s0) -/* 02DFF0 8002D3F0 24080002 */ li $t0, 2 -/* 02DFF4 8002D3F4 2B210064 */ slti $at, $t9, 0x64 -/* 02DFF8 8002D3F8 14200002 */ bnez $at, .L8002D404 -/* 02DFFC 8002D3FC 00000000 */ nop -/* 02E000 8002D400 AFA8007C */ sw $t0, 0x7c($sp) -.L8002D404: -/* 02E004 8002D404 0C00DEED */ jal func_80037BB4 -/* 02E008 8002D408 27A50160 */ addiu $a1, $sp, 0x160 -/* 02E00C 8002D40C 0C00AADC */ jal func_8002AB70 -/* 02E010 8002D410 02002025 */ move $a0, $s0 -/* 02E014 8002D414 02002025 */ move $a0, $s0 -/* 02E018 8002D418 0C00BF2A */ jal func_8002FCA8 -/* 02E01C 8002D41C 83A5019F */ lb $a1, 0x19f($sp) -/* 02E020 8002D420 860E0044 */ lh $t6, 0x44($s0) -/* 02E024 8002D424 24050001 */ li $a1, 1 -/* 02E028 8002D428 31CF0001 */ andi $t7, $t6, 1 -/* 02E02C 8002D42C 11E00009 */ beqz $t7, .L8002D454 -/* 02E030 8002D430 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -/* 02E034 8002D434 44818000 */ mtc1 $at, $f16 -/* 02E038 8002D438 C6040064 */ lwc1 $f4, 0x64($s0) -/* 02E03C 8002D43C C608006C */ lwc1 $f8, 0x6c($s0) -/* 02E040 8002D440 46102182 */ mul.s $f6, $f4, $f16 -/* 02E044 8002D444 00000000 */ nop -/* 02E048 8002D448 46104282 */ mul.s $f10, $f8, $f16 -/* 02E04C 8002D44C E6060064 */ swc1 $f6, 0x64($s0) -/* 02E050 8002D450 E60A006C */ swc1 $f10, 0x6c($s0) -.L8002D454: -/* 02E054 8002D454 920A01D4 */ lbu $t2, 0x1d4($s0) -/* 02E058 8002D458 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -/* 02E05C 8002D45C 44818000 */ mtc1 $at, $f16 -/* 02E060 8002D460 54AA0029 */ bnel $a1, $t2, .L8002D508 -/* 02E064 8002D464 3C014190 */ lui $at, 0x4190 -/* 02E068 8002D468 920901EC */ lbu $t1, 0x1ec($s0) -/* 02E06C 8002D46C C7A6016C */ lwc1 $f6, 0x16c($sp) -/* 02E070 8002D470 54A90025 */ bnel $a1, $t1, .L8002D508 -/* 02E074 8002D474 3C014190 */ lui $at, 0x4190 -/* 02E078 8002D478 C6080140 */ lwc1 $f8, 0x140($s0) -/* 02E07C 8002D47C C6040064 */ lwc1 $f4, 0x64($s0) -/* 02E080 8002D480 C6000100 */ lwc1 $f0, 0x100($s0) -/* 02E084 8002D484 46004287 */ neg.s $f10, $f8 -/* 02E088 8002D488 46062300 */ add.s $f12, $f4, $f6 -/* 02E08C 8002D48C 46005102 */ mul.s $f4, $f10, $f0 -/* 02E090 8002D490 3C01800F */ lui $at, %hi(D_800ED7E0) -/* 02E094 8002D494 D422D7E0 */ ldc1 $f2, %lo(D_800ED7E0)($at) -/* 02E098 8002D498 460021A1 */ cvt.d.s $f6, $f4 -/* 02E09C 8002D49C 46223202 */ mul.d $f8, $f6, $f2 -/* 02E0A0 8002D4A0 00000000 */ nop -/* 02E0A4 8002D4A4 460C8282 */ mul.s $f10, $f16, $f12 -/* 02E0A8 8002D4A8 46005121 */ cvt.d.s $f4, $f10 -/* 02E0AC 8002D4AC 46244180 */ add.d $f6, $f8, $f4 -/* 02E0B0 8002D4B0 462032A0 */ cvt.s.d $f10, $f6 -/* 02E0B4 8002D4B4 E7AA00B4 */ swc1 $f10, 0xb4($sp) -/* 02E0B8 8002D4B8 C6080144 */ lwc1 $f8, 0x144($s0) -/* 02E0BC 8002D4BC 46004107 */ neg.s $f4, $f8 -/* 02E0C0 8002D4C0 C7A80174 */ lwc1 $f8, 0x174($sp) -/* 02E0C4 8002D4C4 46002182 */ mul.s $f6, $f4, $f0 -/* 02E0C8 8002D4C8 E7A600B0 */ swc1 $f6, 0xb0($sp) -/* 02E0CC 8002D4CC C6040148 */ lwc1 $f4, 0x148($s0) -/* 02E0D0 8002D4D0 C60A006C */ lwc1 $f10, 0x6c($s0) -/* 02E0D4 8002D4D4 46002187 */ neg.s $f6, $f4 -/* 02E0D8 8002D4D8 46085380 */ add.s $f14, $f10, $f8 -/* 02E0DC 8002D4DC 46003282 */ mul.s $f10, $f6, $f0 -/* 02E0E0 8002D4E0 46005221 */ cvt.d.s $f8, $f10 -/* 02E0E4 8002D4E4 46224102 */ mul.d $f4, $f8, $f2 -/* 02E0E8 8002D4E8 00000000 */ nop -/* 02E0EC 8002D4EC 460E8182 */ mul.s $f6, $f16, $f14 -/* 02E0F0 8002D4F0 460032A1 */ cvt.d.s $f10, $f6 -/* 02E0F4 8002D4F4 462A2200 */ add.d $f8, $f4, $f10 -/* 02E0F8 8002D4F8 462041A0 */ cvt.s.d $f6, $f8 -/* 02E0FC 8002D4FC 10000031 */ b .L8002D5C4 -/* 02E100 8002D500 E7A600AC */ swc1 $f6, 0xac($sp) -/* 02E104 8002D504 3C014190 */ li $at, 0x41900000 # 18.000000 -.L8002D508: -/* 02E108 8002D508 44815000 */ mtc1 $at, $f10 -/* 02E10C 8002D50C C6040094 */ lwc1 $f4, 0x94($s0) -/* 02E110 8002D510 3C014358 */ li $at, 0x43580000 # 216.000000 -/* 02E114 8002D514 44813000 */ mtc1 $at, $f6 -/* 02E118 8002D518 460A2203 */ div.s $f8, $f4, $f10 -/* 02E11C 8002D51C 3C014120 */ li $at, 0x41200000 # 10.000000 -/* 02E120 8002D520 44815000 */ mtc1 $at, $f10 -/* 02E124 8002D524 46064102 */ mul.s $f4, $f8, $f6 -/* 02E128 8002D528 460A2203 */ div.s $f8, $f4, $f10 -/* 02E12C 8002D52C C7AA016C */ lwc1 $f10, 0x16c($sp) -/* 02E130 8002D530 4600418D */ trunc.w.s $f6, $f8 -/* 02E134 8002D534 44023000 */ mfc1 $v0, $f6 -/* 02E138 8002D538 00000000 */ nop -/* 02E13C 8002D53C 2841000A */ slti $at, $v0, 0xa -/* 02E140 8002D540 54200003 */ bnel $at, $zero, .L8002D550 -/* 02E144 8002D544 C6080140 */ lwc1 $f8, 0x140($s0) -/* 02E148 8002D548 2402000A */ li $v0, 10 -/* 02E14C 8002D54C C6080140 */ lwc1 $f8, 0x140($s0) -.L8002D550: -/* 02E150 8002D550 C6040064 */ lwc1 $f4, 0x64($s0) -/* 02E154 8002D554 C6000100 */ lwc1 $f0, 0x100($s0) -/* 02E158 8002D558 46004187 */ neg.s $f6, $f8 -/* 02E15C 8002D55C 460A2300 */ add.s $f12, $f4, $f10 -/* 02E160 8002D560 46003102 */ mul.s $f4, $f6, $f0 -/* 02E164 8002D564 00025880 */ sll $t3, $v0, 2 -/* 02E168 8002D568 03AB6821 */ addu $t5, $sp, $t3 -/* 02E16C 8002D56C C5A20104 */ lwc1 $f2, 0x104($t5) -/* 02E170 8002D570 46041282 */ mul.s $f10, $f2, $f4 -/* 02E174 8002D574 00000000 */ nop -/* 02E178 8002D578 460C8202 */ mul.s $f8, $f16, $f12 -/* 02E17C 8002D57C 46085180 */ add.s $f6, $f10, $f8 -/* 02E180 8002D580 E7A600B4 */ swc1 $f6, 0xb4($sp) -/* 02E184 8002D584 C6040144 */ lwc1 $f4, 0x144($s0) -/* 02E188 8002D588 46002287 */ neg.s $f10, $f4 -/* 02E18C 8002D58C C7A40174 */ lwc1 $f4, 0x174($sp) -/* 02E190 8002D590 46005202 */ mul.s $f8, $f10, $f0 -/* 02E194 8002D594 E7A800B0 */ swc1 $f8, 0xb0($sp) -/* 02E198 8002D598 C60A0148 */ lwc1 $f10, 0x148($s0) -/* 02E19C 8002D59C C606006C */ lwc1 $f6, 0x6c($s0) -/* 02E1A0 8002D5A0 46005207 */ neg.s $f8, $f10 -/* 02E1A4 8002D5A4 46043380 */ add.s $f14, $f6, $f4 -/* 02E1A8 8002D5A8 46004182 */ mul.s $f6, $f8, $f0 -/* 02E1AC 8002D5AC 00000000 */ nop -/* 02E1B0 8002D5B0 46061102 */ mul.s $f4, $f2, $f6 -/* 02E1B4 8002D5B4 00000000 */ nop -/* 02E1B8 8002D5B8 460E8282 */ mul.s $f10, $f16, $f14 -/* 02E1BC 8002D5BC 460A2200 */ add.s $f8, $f4, $f10 -/* 02E1C0 8002D5C0 E7A800AC */ swc1 $f8, 0xac($sp) -.L8002D5C4: -/* 02E1C4 8002D5C4 8E0200BC */ lw $v0, 0xbc($s0) -/* 02E1C8 8002D5C8 24040008 */ li $a0, 8 -/* 02E1CC 8002D5CC 30430008 */ andi $v1, $v0, 8 -/* 02E1D0 8002D5D0 1083000F */ beq $a0, $v1, .L8002D610 -/* 02E1D4 8002D5D4 30580020 */ andi $t8, $v0, 0x20 -/* 02E1D8 8002D5D8 24010020 */ li $at, 32 -/* 02E1DC 8002D5DC 5701000D */ bnel $t8, $at, .L8002D614 -/* 02E1E0 8002D5E0 44801000 */ mtc1 $zero, $f2 -/* 02E1E4 8002D5E4 44801000 */ mtc1 $zero, $f2 -/* 02E1E8 8002D5E8 3C014080 */ li $at, 0x40800000 # 4.000000 -/* 02E1EC 8002D5EC 44815000 */ mtc1 $at, $f10 -/* 02E1F0 8002D5F0 46026182 */ mul.s $f6, $f12, $f2 -/* 02E1F4 8002D5F4 00000000 */ nop -/* 02E1F8 8002D5F8 46100102 */ mul.s $f4, $f0, $f16 -/* 02E1FC 8002D5FC E7A600B4 */ swc1 $f6, 0xb4($sp) -/* 02E200 8002D600 46027182 */ mul.s $f6, $f14, $f2 -/* 02E204 8002D604 460A2203 */ div.s $f8, $f4, $f10 -/* 02E208 8002D608 E7A600AC */ swc1 $f6, 0xac($sp) -/* 02E20C 8002D60C E7A800B0 */ swc1 $f8, 0xb0($sp) -.L8002D610: -/* 02E210 8002D610 44801000 */ mtc1 $zero, $f2 -.L8002D614: -/* 02E214 8002D614 5483000A */ bnel $a0, $v1, .L8002D640 -/* 02E218 8002D618 8619002E */ lh $t9, 0x2e($s0) -/* 02E21C 8002D61C 46026102 */ mul.s $f4, $f12, $f2 -/* 02E220 8002D620 00000000 */ nop -/* 02E224 8002D624 46100282 */ mul.s $f10, $f0, $f16 -/* 02E228 8002D628 00000000 */ nop -/* 02E22C 8002D62C 46027202 */ mul.s $f8, $f14, $f2 -/* 02E230 8002D630 E7A400B4 */ swc1 $f4, 0xb4($sp) -/* 02E234 8002D634 E7AA00B0 */ swc1 $f10, 0xb0($sp) -/* 02E238 8002D638 E7A800AC */ swc1 $f8, 0xac($sp) -/* 02E23C 8002D63C 8619002E */ lh $t9, 0x2e($s0) -.L8002D640: -/* 02E240 8002D640 860800C0 */ lh $t0, 0xc0($s0) -/* 02E244 8002D644 03282021 */ addu $a0, $t9, $t0 -/* 02E248 8002D648 308EFFFF */ andi $t6, $a0, 0xffff -/* 02E24C 8002D64C 0C0AE00E */ jal coss -/* 02E250 8002D650 01C02025 */ move $a0, $t6 -/* 02E254 8002D654 E7A00060 */ swc1 $f0, 0x60($sp) -/* 02E258 8002D658 860A00C0 */ lh $t2, 0xc0($s0) -/* 02E25C 8002D65C 860F002E */ lh $t7, 0x2e($s0) -/* 02E260 8002D660 01EA2021 */ addu $a0, $t7, $t2 -/* 02E264 8002D664 3089FFFF */ andi $t1, $a0, 0xffff -/* 02E268 8002D668 0C0AE006 */ jal sins -/* 02E26C 8002D66C 01202025 */ move $a0, $t1 -/* 02E270 8002D670 C6060020 */ lwc1 $f6, 0x20($s0) -/* 02E274 8002D674 C6040014 */ lwc1 $f4, 0x14($s0) -/* 02E278 8002D678 3C01800F */ lui $at, %hi(D_800ED7E8) -/* 02E27C 8002D67C 27A40178 */ addiu $a0, $sp, 0x178 -/* 02E280 8002D680 46043281 */ sub.s $f10, $f6, $f4 -/* 02E284 8002D684 C6040028 */ lwc1 $f4, 0x28($s0) -/* 02E288 8002D688 26050174 */ addiu $a1, $s0, 0x174 -/* 02E28C 8002D68C 46005207 */ neg.s $f8, $f10 -/* 02E290 8002D690 C60A001C */ lwc1 $f10, 0x1c($s0) -/* 02E294 8002D694 46080182 */ mul.s $f6, $f0, $f8 -/* 02E298 8002D698 44800000 */ mtc1 $zero, $f0 -/* 02E29C 8002D69C 460A2201 */ sub.s $f8, $f4, $f10 -/* 02E2A0 8002D6A0 C7A40060 */ lwc1 $f4, 0x60($sp) -/* 02E2A4 8002D6A4 46044282 */ mul.s $f10, $f8, $f4 -/* 02E2A8 8002D6A8 D428D7E8 */ ldc1 $f8, %lo(D_800ED7E8)($at) -/* 02E2AC 8002D6AC 460A3080 */ add.s $f2, $f6, $f10 -/* 02E2B0 8002D6B0 46001121 */ cvt.d.s $f4, $f2 -/* 02E2B4 8002D6B4 4624403C */ c.lt.d $f8, $f4 -/* 02E2B8 8002D6B8 00000000 */ nop -/* 02E2BC 8002D6BC 45020006 */ bc1fl .L8002D6D8 -/* 02E2C0 8002D6C0 860D0044 */ lh $t5, 0x44($s0) -/* 02E2C4 8002D6C4 860C0044 */ lh $t4, 0x44($s0) -/* 02E2C8 8002D6C8 358B0008 */ ori $t3, $t4, 8 -/* 02E2CC 8002D6CC 10000004 */ b .L8002D6E0 -/* 02E2D0 8002D6D0 A60B0044 */ sh $t3, 0x44($s0) -/* 02E2D4 8002D6D4 860D0044 */ lh $t5, 0x44($s0) -.L8002D6D8: -/* 02E2D8 8002D6D8 31B8FFF7 */ andi $t8, $t5, 0xfff7 -/* 02E2DC 8002D6DC A6180044 */ sh $t8, 0x44($s0) -.L8002D6E0: -/* 02E2E0 8002D6E0 C606008C */ lwc1 $f6, 0x8c($s0) -/* 02E2E4 8002D6E4 4600303E */ c.le.s $f6, $f0 -/* 02E2E8 8002D6E8 00000000 */ nop -/* 02E2EC 8002D6EC 4502000E */ bc1fl .L8002D728 -/* 02E2F0 8002D6F0 E7A00180 */ swc1 $f0, 0x180($sp) -/* 02E2F4 8002D6F4 8E0200BC */ lw $v0, 0xbc($s0) -/* 02E2F8 8002D6F8 24010001 */ li $at, 1 -/* 02E2FC 8002D6FC 30590001 */ andi $t9, $v0, 1 -/* 02E300 8002D700 17210008 */ bne $t9, $at, .L8002D724 -/* 02E304 8002D704 30480020 */ andi $t0, $v0, 0x20 -/* 02E308 8002D708 24010020 */ li $at, 32 -/* 02E30C 8002D70C 11010005 */ beq $t0, $at, .L8002D724 -/* 02E310 8002D710 3C01800F */ lui $at, %hi(D_800ED7F0) # $at, 0x800f -/* 02E314 8002D714 C42AD7F0 */ lwc1 $f10, %lo(D_800ED7F0)($at) -/* 02E318 8002D718 460A1202 */ mul.s $f8, $f2, $f10 -/* 02E31C 8002D71C 10000002 */ b .L8002D728 -/* 02E320 8002D720 E7A80180 */ swc1 $f8, 0x180($sp) -.L8002D724: -/* 02E324 8002D724 E7A00180 */ swc1 $f0, 0x180($sp) -.L8002D728: -/* 02E328 8002D728 E7A0017C */ swc1 $f0, 0x17c($sp) -/* 02E32C 8002D72C 0C0AD8EE */ jal func_802B63B8 -/* 02E330 8002D730 AFA50058 */ sw $a1, 0x58($sp) -/* 02E334 8002D734 C7B200B4 */ lwc1 $f18, 0xb4($sp) -/* 02E338 8002D738 C7B00178 */ lwc1 $f16, 0x178($sp) -/* 02E33C 8002D73C C7AE00AC */ lwc1 $f14, 0xac($sp) -/* 02E340 8002D740 C7AC0180 */ lwc1 $f12, 0x180($sp) -/* 02E344 8002D744 46109400 */ add.s $f16, $f18, $f16 -/* 02E348 8002D748 02002025 */ move $a0, $s0 -/* 02E34C 8002D74C 83A5019F */ lb $a1, 0x19f($sp) -/* 02E350 8002D750 460C7300 */ add.s $f12, $f14, $f12 -/* 02E354 8002D754 E7B000B4 */ swc1 $f16, 0xb4($sp) -/* 02E358 8002D758 83A6019B */ lb $a2, 0x19b($sp) -/* 02E35C 8002D75C 0C00B1F9 */ jal func_8002C7E4 -/* 02E360 8002D760 E7AC00AC */ swc1 $f12, 0xac($sp) -/* 02E364 8002D764 02002025 */ move $a0, $s0 -/* 02E368 8002D768 0C00C054 */ jal func_80030150 -/* 02E36C 8002D76C 83A5019F */ lb $a1, 0x19f($sp) -/* 02E370 8002D770 E7A0018C */ swc1 $f0, 0x18c($sp) -/* 02E374 8002D774 27A40184 */ addiu $a0, $sp, 0x184 -/* 02E378 8002D778 0C0AD8EE */ jal func_802B63B8 -/* 02E37C 8002D77C 8FA50058 */ lw $a1, 0x58($sp) -/* 02E380 8002D780 C60A0034 */ lwc1 $f10, 0x34($s0) -/* 02E384 8002D784 E7AA0098 */ swc1 $f10, 0x98($sp) -/* 02E388 8002D788 C6080038 */ lwc1 $f8, 0x38($s0) -/* 02E38C 8002D78C E7A8009C */ swc1 $f8, 0x9c($sp) -/* 02E390 8002D790 C604003C */ lwc1 $f4, 0x3c($s0) -/* 02E394 8002D794 E7A400A0 */ swc1 $f4, 0xa0($sp) -/* 02E398 8002D798 860E010C */ lh $t6, 0x10c($s0) -/* 02E39C 8002D79C 29C10003 */ slti $at, $t6, 3 -/* 02E3A0 8002D7A0 50200006 */ beql $at, $zero, .L8002D7BC -/* 02E3A4 8002D7A4 8E0A00BC */ lw $t2, 0xbc($s0) -/* 02E3A8 8002D7A8 960F0256 */ lhu $t7, 0x256($s0) -/* 02E3AC 8002D7AC 29E10003 */ slti $at, $t7, 3 -/* 02E3B0 8002D7B0 54200008 */ bnel $at, $zero, .L8002D7D4 -/* 02E3B4 8002D7B4 8E02007C */ lw $v0, 0x7c($s0) -/* 02E3B8 8002D7B8 8E0A00BC */ lw $t2, 0xbc($s0) -.L8002D7BC: -/* 02E3BC 8002D7BC 24012000 */ li $at, 8192 -/* 02E3C0 8002D7C0 C7A40098 */ lwc1 $f4, 0x98($sp) -/* 02E3C4 8002D7C4 31492000 */ andi $t1, $t2, 0x2000 -/* 02E3C8 8002D7C8 15210074 */ bne $t1, $at, .L8002D99C -/* 02E3CC 8002D7CC C7AA0184 */ lwc1 $f10, 0x184($sp) -/* 02E3D0 8002D7D0 8E02007C */ lw $v0, 0x7c($s0) -.L8002D7D4: -/* 02E3D4 8002D7D4 C7A60098 */ lwc1 $f6, 0x98($sp) -/* 02E3D8 8002D7D8 C7A80184 */ lwc1 $f8, 0x184($sp) -/* 02E3DC 8002D7DC 00026403 */ sra $t4, $v0, 0x10 -/* 02E3E0 8002D7E0 29810028 */ slti $at, $t4, 0x28 -/* 02E3E4 8002D7E4 10200004 */ beqz $at, .L8002D7F8 -/* 02E3E8 8002D7E8 C7A400B4 */ lwc1 $f4, 0xb4($sp) -/* 02E3EC 8002D7EC 2981FFD9 */ slti $at, $t4, -0x27 -/* 02E3F0 8002D7F0 1020003C */ beqz $at, .L8002D8E4 -/* 02E3F4 8002D7F4 C7AA0098 */ lwc1 $f10, 0x98($sp) -.L8002D7F8: -/* 02E3F8 8002D7F8 8FAB007C */ lw $t3, 0x7c($sp) -/* 02E3FC 8002D7FC 46003021 */ cvt.d.s $f0, $f6 -/* 02E400 8002D800 46044180 */ add.s $f6, $f8, $f4 -/* 02E404 8002D804 448B5000 */ mtc1 $t3, $f10 -/* 02E408 8002D808 3C01800F */ lui $at, %hi(D_800ED7F8) -/* 02E40C 8002D80C D42ED7F8 */ ldc1 $f14, %lo(D_800ED7F8)($at) -/* 02E410 8002D810 46805321 */ cvt.d.w $f12, $f10 -/* 02E414 8002D814 C7AA0160 */ lwc1 $f10, 0x160($sp) -/* 02E418 8002D818 3C01800F */ lui $at, %hi(D_800ED800) -/* 02E41C 8002D81C D430D800 */ ldc1 $f16, %lo(D_800ED800)($at) -/* 02E420 8002D820 460A3200 */ add.s $f8, $f6, $f10 -/* 02E424 8002D824 C60600FC */ lwc1 $f6, 0xfc($s0) -/* 02E428 8002D828 3C01800F */ lui $at, %hi(D_800ED808) -/* 02E42C 8002D82C D432D808 */ ldc1 $f18, %lo(D_800ED808)($at) -/* 02E430 8002D830 460032A1 */ cvt.d.s $f10, $f6 -/* 02E434 8002D834 46004121 */ cvt.d.s $f4, $f8 -/* 02E438 8002D838 462A7202 */ mul.d $f8, $f14, $f10 -/* 02E43C 8002D83C 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 -/* 02E440 8002D840 46280182 */ mul.d $f6, $f0, $f8 -/* 02E444 8002D844 46262281 */ sub.d $f10, $f4, $f6 -/* 02E448 8002D848 C604020C */ lwc1 $f4, 0x20c($s0) -/* 02E44C 8002D84C 44812800 */ mtc1 $at, $f5 -/* 02E450 8002D850 46305203 */ div.d $f8, $f10, $f16 -/* 02E454 8002D854 460021A1 */ cvt.d.s $f6, $f4 -/* 02E458 8002D858 44802000 */ mtc1 $zero, $f4 -/* 02E45C 8002D85C 46323282 */ mul.d $f10, $f6, $f18 -/* 02E460 8002D860 46245180 */ add.d $f6, $f10, $f4 -/* 02E464 8002D864 462C3280 */ add.d $f10, $f6, $f12 -/* 02E468 8002D868 462A4103 */ div.d $f4, $f8, $f10 -/* 02E46C 8002D86C C7AA00A0 */ lwc1 $f10, 0xa0($sp) -/* 02E470 8002D870 460050A1 */ cvt.d.s $f2, $f10 -/* 02E474 8002D874 C7AA0168 */ lwc1 $f10, 0x168($sp) -/* 02E478 8002D878 46240180 */ add.d $f6, $f0, $f4 -/* 02E47C 8002D87C C7A4018C */ lwc1 $f4, 0x18c($sp) -/* 02E480 8002D880 46203220 */ cvt.s.d $f8, $f6 -/* 02E484 8002D884 C7A600AC */ lwc1 $f6, 0xac($sp) -/* 02E488 8002D888 E7A80098 */ swc1 $f8, 0x98($sp) -/* 02E48C 8002D88C 46062200 */ add.s $f8, $f4, $f6 -/* 02E490 8002D890 460A4100 */ add.s $f4, $f8, $f10 -/* 02E494 8002D894 C60800FC */ lwc1 $f8, 0xfc($s0) -/* 02E498 8002D898 460042A1 */ cvt.d.s $f10, $f8 -/* 02E49C 8002D89C 460021A1 */ cvt.d.s $f6, $f4 -/* 02E4A0 8002D8A0 462A7102 */ mul.d $f4, $f14, $f10 -/* 02E4A4 8002D8A4 00000000 */ nop -/* 02E4A8 8002D8A8 46241202 */ mul.d $f8, $f2, $f4 -/* 02E4AC 8002D8AC 46283281 */ sub.d $f10, $f6, $f8 -/* 02E4B0 8002D8B0 C606020C */ lwc1 $f6, 0x20c($s0) -/* 02E4B4 8002D8B4 44813800 */ mtc1 $at, $f7 -/* 02E4B8 8002D8B8 46305103 */ div.d $f4, $f10, $f16 -/* 02E4BC 8002D8BC 46003221 */ cvt.d.s $f8, $f6 -/* 02E4C0 8002D8C0 44803000 */ mtc1 $zero, $f6 -/* 02E4C4 8002D8C4 46324282 */ mul.d $f10, $f8, $f18 -/* 02E4C8 8002D8C8 46265200 */ add.d $f8, $f10, $f6 -/* 02E4CC 8002D8CC 462C4280 */ add.d $f10, $f8, $f12 -/* 02E4D0 8002D8D0 462A2183 */ div.d $f6, $f4, $f10 -/* 02E4D4 8002D8D4 46261200 */ add.d $f8, $f2, $f6 -/* 02E4D8 8002D8D8 46204120 */ cvt.s.d $f4, $f8 -/* 02E4DC 8002D8DC 10000059 */ b .L8002DA44 -/* 02E4E0 8002D8E0 E7A400A0 */ swc1 $f4, 0xa0($sp) -.L8002D8E4: -/* 02E4E4 8002D8E4 8FAD007C */ lw $t5, 0x7c($sp) -/* 02E4E8 8002D8E8 C7A80184 */ lwc1 $f8, 0x184($sp) -/* 02E4EC 8002D8EC C7A400B4 */ lwc1 $f4, 0xb4($sp) -/* 02E4F0 8002D8F0 25B80001 */ addiu $t8, $t5, 1 -/* 02E4F4 8002D8F4 44983000 */ mtc1 $t8, $f6 -/* 02E4F8 8002D8F8 46005021 */ cvt.d.s $f0, $f10 -/* 02E4FC 8002D8FC 46044280 */ add.s $f10, $f8, $f4 -/* 02E500 8002D900 3C01800F */ lui $at, %hi(D_800ED810) -/* 02E504 8002D904 D42ED810 */ ldc1 $f14, %lo(D_800ED810)($at) -/* 02E508 8002D908 46803321 */ cvt.d.w $f12, $f6 -/* 02E50C 8002D90C C7A60160 */ lwc1 $f6, 0x160($sp) -/* 02E510 8002D910 3C01800F */ lui $at, %hi(D_800ED818) -/* 02E514 8002D914 D430D818 */ ldc1 $f16, %lo(D_800ED818)($at) -/* 02E518 8002D918 46065200 */ add.s $f8, $f10, $f6 -/* 02E51C 8002D91C C60A00FC */ lwc1 $f10, 0xfc($s0) -/* 02E520 8002D920 460051A1 */ cvt.d.s $f6, $f10 -/* 02E524 8002D924 46004121 */ cvt.d.s $f4, $f8 -/* 02E528 8002D928 46267202 */ mul.d $f8, $f14, $f6 -/* 02E52C 8002D92C 00000000 */ nop -/* 02E530 8002D930 46280282 */ mul.d $f10, $f0, $f8 -/* 02E534 8002D934 462A2181 */ sub.d $f6, $f4, $f10 -/* 02E538 8002D938 46303203 */ div.d $f8, $f6, $f16 -/* 02E53C 8002D93C 462C4103 */ div.d $f4, $f8, $f12 -/* 02E540 8002D940 C7A800A0 */ lwc1 $f8, 0xa0($sp) -/* 02E544 8002D944 460040A1 */ cvt.d.s $f2, $f8 -/* 02E548 8002D948 C7A80168 */ lwc1 $f8, 0x168($sp) -/* 02E54C 8002D94C 46240280 */ add.d $f10, $f0, $f4 -/* 02E550 8002D950 C7A4018C */ lwc1 $f4, 0x18c($sp) -/* 02E554 8002D954 462051A0 */ cvt.s.d $f6, $f10 -/* 02E558 8002D958 C7AA00AC */ lwc1 $f10, 0xac($sp) -/* 02E55C 8002D95C E7A60098 */ swc1 $f6, 0x98($sp) -/* 02E560 8002D960 460A2180 */ add.s $f6, $f4, $f10 -/* 02E564 8002D964 46083100 */ add.s $f4, $f6, $f8 -/* 02E568 8002D968 C60600FC */ lwc1 $f6, 0xfc($s0) -/* 02E56C 8002D96C 46003221 */ cvt.d.s $f8, $f6 -/* 02E570 8002D970 460022A1 */ cvt.d.s $f10, $f4 -/* 02E574 8002D974 46287102 */ mul.d $f4, $f14, $f8 -/* 02E578 8002D978 00000000 */ nop -/* 02E57C 8002D97C 46241182 */ mul.d $f6, $f2, $f4 -/* 02E580 8002D980 46265201 */ sub.d $f8, $f10, $f6 -/* 02E584 8002D984 46304103 */ div.d $f4, $f8, $f16 -/* 02E588 8002D988 462C2283 */ div.d $f10, $f4, $f12 -/* 02E58C 8002D98C 462A1180 */ add.d $f6, $f2, $f10 -/* 02E590 8002D990 46203220 */ cvt.s.d $f8, $f6 -/* 02E594 8002D994 1000002B */ b .L8002DA44 -/* 02E598 8002D998 E7A800A0 */ swc1 $f8, 0xa0($sp) -.L8002D99C: -/* 02E59C 8002D99C C7A600B4 */ lwc1 $f6, 0xb4($sp) -/* 02E5A0 8002D9A0 46002021 */ cvt.d.s $f0, $f4 -/* 02E5A4 8002D9A4 C7A40160 */ lwc1 $f4, 0x160($sp) -/* 02E5A8 8002D9A8 46065200 */ add.s $f8, $f10, $f6 -/* 02E5AC 8002D9AC 3C01403E */ li $at, 0x403E0000 # 2.968750 -/* 02E5B0 8002D9B0 44816800 */ mtc1 $at, $f13 -/* 02E5B4 8002D9B4 3C01800F */ lui $at, %hi(D_800ED820) -/* 02E5B8 8002D9B8 46044280 */ add.s $f10, $f8, $f4 -/* 02E5BC 8002D9BC C60800FC */ lwc1 $f8, 0xfc($s0) -/* 02E5C0 8002D9C0 D42ED820 */ ldc1 $f14, %lo(D_800ED820)($at) -/* 02E5C4 8002D9C4 3C01800F */ lui $at, %hi(D_800ED828) -/* 02E5C8 8002D9C8 46004121 */ cvt.d.s $f4, $f8 -/* 02E5CC 8002D9CC 460051A1 */ cvt.d.s $f6, $f10 -/* 02E5D0 8002D9D0 46247282 */ mul.d $f10, $f14, $f4 -/* 02E5D4 8002D9D4 D430D828 */ ldc1 $f16, %lo(D_800ED828)($at) -/* 02E5D8 8002D9D8 44806000 */ mtc1 $zero, $f12 -/* 02E5DC 8002D9DC 462A0202 */ mul.d $f8, $f0, $f10 -/* 02E5E0 8002D9E0 46283101 */ sub.d $f4, $f6, $f8 -/* 02E5E4 8002D9E4 46302283 */ div.d $f10, $f4, $f16 -/* 02E5E8 8002D9E8 462C5183 */ div.d $f6, $f10, $f12 -/* 02E5EC 8002D9EC C7AA00A0 */ lwc1 $f10, 0xa0($sp) -/* 02E5F0 8002D9F0 460050A1 */ cvt.d.s $f2, $f10 -/* 02E5F4 8002D9F4 C7AA0168 */ lwc1 $f10, 0x168($sp) -/* 02E5F8 8002D9F8 46260200 */ add.d $f8, $f0, $f6 -/* 02E5FC 8002D9FC C7A6018C */ lwc1 $f6, 0x18c($sp) -/* 02E600 8002DA00 46204120 */ cvt.s.d $f4, $f8 -/* 02E604 8002DA04 C7A800AC */ lwc1 $f8, 0xac($sp) -/* 02E608 8002DA08 E7A40098 */ swc1 $f4, 0x98($sp) -/* 02E60C 8002DA0C 46083100 */ add.s $f4, $f6, $f8 -/* 02E610 8002DA10 460A2180 */ add.s $f6, $f4, $f10 -/* 02E614 8002DA14 C60400FC */ lwc1 $f4, 0xfc($s0) -/* 02E618 8002DA18 460022A1 */ cvt.d.s $f10, $f4 -/* 02E61C 8002DA1C 46003221 */ cvt.d.s $f8, $f6 -/* 02E620 8002DA20 462A7182 */ mul.d $f6, $f14, $f10 -/* 02E624 8002DA24 00000000 */ nop -/* 02E628 8002DA28 46261102 */ mul.d $f4, $f2, $f6 -/* 02E62C 8002DA2C 46244281 */ sub.d $f10, $f8, $f4 -/* 02E630 8002DA30 46305183 */ div.d $f6, $f10, $f16 -/* 02E634 8002DA34 462C3203 */ div.d $f8, $f6, $f12 -/* 02E638 8002DA38 46281100 */ add.d $f4, $f2, $f8 -/* 02E63C 8002DA3C 462022A0 */ cvt.s.d $f10, $f4 -/* 02E640 8002DA40 E7AA00A0 */ swc1 $f10, 0xa0($sp) -.L8002DA44: -/* 02E644 8002DA44 C7A6009C */ lwc1 $f6, 0x9c($sp) -/* 02E648 8002DA48 C7A80188 */ lwc1 $f8, 0x188($sp) -/* 02E64C 8002DA4C C7A400B0 */ lwc1 $f4, 0xb0($sp) -/* 02E650 8002DA50 46003021 */ cvt.d.s $f0, $f6 -/* 02E654 8002DA54 C7A60164 */ lwc1 $f6, 0x164($sp) -/* 02E658 8002DA58 46044280 */ add.s $f10, $f8, $f4 -/* 02E65C 8002DA5C 24010002 */ li $at, 2 -/* 02E660 8002DA60 46065200 */ add.s $f8, $f10, $f6 -/* 02E664 8002DA64 C60A00FC */ lwc1 $f10, 0xfc($s0) -/* 02E668 8002DA68 460051A1 */ cvt.d.s $f6, $f10 -/* 02E66C 8002DA6C 46004121 */ cvt.d.s $f4, $f8 -/* 02E670 8002DA70 46267202 */ mul.d $f8, $f14, $f6 -/* 02E674 8002DA74 00000000 */ nop -/* 02E678 8002DA78 46280282 */ mul.d $f10, $f0, $f8 -/* 02E67C 8002DA7C 462A2181 */ sub.d $f6, $f4, $f10 -/* 02E680 8002DA80 C6040DAC */ lwc1 $f4, 0xdac($s0) -/* 02E684 8002DA84 46303203 */ div.d $f8, $f6, $f16 -/* 02E688 8002DA88 460022A1 */ cvt.d.s $f10, $f4 -/* 02E68C 8002DA8C 462A4183 */ div.d $f6, $f8, $f10 -/* 02E690 8002DA90 46260100 */ add.d $f4, $f0, $f6 -/* 02E694 8002DA94 46202220 */ cvt.s.d $f8, $f4 -/* 02E698 8002DA98 E7A8009C */ swc1 $f8, 0x9c($sp) -/* 02E69C 8002DA9C 860200CA */ lh $v0, 0xca($s0) -/* 02E6A0 8002DAA0 30590002 */ andi $t9, $v0, 2 -/* 02E6A4 8002DAA4 1321000D */ beq $t9, $at, .L8002DADC -/* 02E6A8 8002DAA8 00000000 */ nop -/* 02E6AC 8002DAAC 30480008 */ andi $t0, $v0, 8 -/* 02E6B0 8002DAB0 24010008 */ li $at, 8 -/* 02E6B4 8002DAB4 5101000A */ beql $t0, $at, .L8002DAE0 -/* 02E6B8 8002DAB8 44800000 */ mtc1 $zero, $f0 -/* 02E6BC 8002DABC 8E0E00BC */ lw $t6, 0xbc($s0) -/* 02E6C0 8002DAC0 3C030400 */ lui $v1, 0x400 -/* 02E6C4 8002DAC4 304A0001 */ andi $t2, $v0, 1 -/* 02E6C8 8002DAC8 01C37824 */ and $t7, $t6, $v1 -/* 02E6CC 8002DACC 506F0004 */ beql $v1, $t7, .L8002DAE0 -/* 02E6D0 8002DAD0 44800000 */ mtc1 $zero, $f0 -/* 02E6D4 8002DAD4 51400009 */ beql $t2, $zero, .L8002DAFC -/* 02E6D8 8002DAD8 86020044 */ lh $v0, 0x44($s0) -.L8002DADC: -/* 02E6DC 8002DADC 44800000 */ mtc1 $zero, $f0 -.L8002DAE0: -/* 02E6E0 8002DAE0 44805000 */ mtc1 $zero, $f10 -/* 02E6E4 8002DAE4 44801000 */ mtc1 $zero, $f2 -/* 02E6E8 8002DAE8 3C030400 */ lui $v1, 0x400 -/* 02E6EC 8002DAEC E7A00098 */ swc1 $f0, 0x98($sp) -/* 02E6F0 8002DAF0 E7AA009C */ swc1 $f10, 0x9c($sp) -/* 02E6F4 8002DAF4 E7A200A0 */ swc1 $f2, 0xa0($sp) -/* 02E6F8 8002DAF8 86020044 */ lh $v0, 0x44($s0) -.L8002DAFC: -/* 02E6FC 8002DAFC 24010010 */ li $at, 16 -/* 02E700 8002DB00 30490010 */ andi $t1, $v0, 0x10 -/* 02E704 8002DB04 15210002 */ bne $t1, $at, .L8002DB10 -/* 02E708 8002DB08 304CFFEF */ andi $t4, $v0, 0xffef -/* 02E70C 8002DB0C A60C0044 */ sh $t4, 0x44($s0) -.L8002DB10: -/* 02E710 8002DB10 C6000014 */ lwc1 $f0, 0x14($s0) -/* 02E714 8002DB14 3C188019 */ lui $t8, %hi(D_8018CE10) # $t8, 0x8019 -/* 02E718 8002DB18 2718CE10 */ addiu $t8, %lo(D_8018CE10) # addiu $t8, $t8, -0x31f0 -/* 02E71C 8002DB1C E7A000F0 */ swc1 $f0, 0xf0($sp) -/* 02E720 8002DB20 C602001C */ lwc1 $f2, 0x1c($s0) -/* 02E724 8002DB24 C60C0018 */ lwc1 $f12, 0x18($s0) -/* 02E728 8002DB28 24010002 */ li $at, 2 -/* 02E72C 8002DB2C E7A200E8 */ swc1 $f2, 0xe8($sp) -/* 02E730 8002DB30 E6000020 */ swc1 $f0, 0x20($s0) -/* 02E734 8002DB34 E6020028 */ swc1 $f2, 0x28($s0) -/* 02E738 8002DB38 E60C0024 */ swc1 $f12, 0x24($s0) -/* 02E73C 8002DB3C 83AB019F */ lb $t3, 0x19f($sp) -/* 02E740 8002DB40 000B6940 */ sll $t5, $t3, 5 -/* 02E744 8002DB44 01B8C821 */ addu $t9, $t5, $t8 -/* 02E748 8002DB48 AFB90054 */ sw $t9, 0x54($sp) -/* 02E74C 8002DB4C C6040034 */ lwc1 $f4, 0x34($s0) -/* 02E750 8002DB50 C7260004 */ lwc1 $f6, 4($t9) -/* 02E754 8002DB54 46040200 */ add.s $f8, $f0, $f4 -/* 02E758 8002DB58 46083280 */ add.s $f10, $f6, $f8 -/* 02E75C 8002DB5C C7A800E8 */ lwc1 $f8, 0xe8($sp) -/* 02E760 8002DB60 E7AA00FC */ swc1 $f10, 0xfc($sp) -/* 02E764 8002DB64 C6040038 */ lwc1 $f4, 0x38($s0) -/* 02E768 8002DB68 460C2180 */ add.s $f6, $f4, $f12 -/* 02E76C 8002DB6C E7A600F8 */ swc1 $f6, 0xf8($sp) -/* 02E770 8002DB70 C60A003C */ lwc1 $f10, 0x3c($s0) -/* 02E774 8002DB74 C726000C */ lwc1 $f6, 0xc($t9) -/* 02E778 8002DB78 460A4100 */ add.s $f4, $f8, $f10 -/* 02E77C 8002DB7C 46043200 */ add.s $f8, $f6, $f4 -/* 02E780 8002DB80 E7A800F4 */ swc1 $f8, 0xf4($sp) -/* 02E784 8002DB84 860200CA */ lh $v0, 0xca($s0) -/* 02E788 8002DB88 30480002 */ andi $t0, $v0, 2 -/* 02E78C 8002DB8C 11010017 */ beq $t0, $at, .L8002DBEC -/* 02E790 8002DB90 304E0008 */ andi $t6, $v0, 8 -/* 02E794 8002DB94 24010008 */ li $at, 8 -/* 02E798 8002DB98 51C10015 */ beql $t6, $at, .L8002DBF0 -/* 02E79C 8002DB9C C7A800F4 */ lwc1 $f8, 0xf4($sp) -/* 02E7A0 8002DBA0 8E0F00BC */ lw $t7, 0xbc($s0) -/* 02E7A4 8002DBA4 30490001 */ andi $t1, $v0, 1 -/* 02E7A8 8002DBA8 01E35024 */ and $t2, $t7, $v1 -/* 02E7AC 8002DBAC 506A0010 */ beql $v1, $t2, .L8002DBF0 -/* 02E7B0 8002DBB0 C7A800F4 */ lwc1 $f8, 0xf4($sp) -/* 02E7B4 8002DBB4 5520000E */ bnel $t1, $zero, .L8002DBF0 -/* 02E7B8 8002DBB8 C7A800F4 */ lwc1 $f8, 0xf4($sp) -/* 02E7BC 8002DBBC 0C00AAB0 */ jal func_8002AAC0 -/* 02E7C0 8002DBC0 02002025 */ move $a0, $s0 -/* 02E7C4 8002DBC4 C7AA00F8 */ lwc1 $f10, 0xf8($sp) -/* 02E7C8 8002DBC8 C60600EC */ lwc1 $f6, 0xec($s0) -/* 02E7CC 8002DBCC 3C01800F */ lui $at, %hi(D_800ED830) -/* 02E7D0 8002DBD0 46065100 */ add.s $f4, $f10, $f6 -/* 02E7D4 8002DBD4 D42AD830 */ ldc1 $f10, %lo(D_800ED830)($at) -/* 02E7D8 8002DBD8 46002221 */ cvt.d.s $f8, $f4 -/* 02E7DC 8002DBDC E7A400F8 */ swc1 $f4, 0xf8($sp) -/* 02E7E0 8002DBE0 462A4181 */ sub.d $f6, $f8, $f10 -/* 02E7E4 8002DBE4 46203120 */ cvt.s.d $f4, $f6 -/* 02E7E8 8002DBE8 E7A400F8 */ swc1 $f4, 0xf8($sp) -.L8002DBEC: -/* 02E7EC 8002DBEC C7A800F4 */ lwc1 $f8, 0xf4($sp) -.L8002DBF0: -/* 02E7F0 8002DBF0 8E050070 */ lw $a1, 0x70($s0) -/* 02E7F4 8002DBF4 26040110 */ addiu $a0, $s0, 0x110 -/* 02E7F8 8002DBF8 E7A80010 */ swc1 $f8, 0x10($sp) -/* 02E7FC 8002DBFC C60A0020 */ lwc1 $f10, 0x20($s0) -/* 02E800 8002DC00 8FA600FC */ lw $a2, 0xfc($sp) -/* 02E804 8002DC04 8FA700F8 */ lw $a3, 0xf8($sp) -/* 02E808 8002DC08 E7AA0014 */ swc1 $f10, 0x14($sp) -/* 02E80C 8002DC0C C6060024 */ lwc1 $f6, 0x24($s0) -/* 02E810 8002DC10 E7A60018 */ swc1 $f6, 0x18($sp) -/* 02E814 8002DC14 C6040028 */ lwc1 $f4, 0x28($s0) -/* 02E818 8002DC18 0C0AB654 */ jal func_802AD950 -/* 02E81C 8002DC1C E7A4001C */ swc1 $f4, 0x1c($sp) -/* 02E820 8002DC20 860C0044 */ lh $t4, 0x44($s0) -/* 02E824 8002DC24 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 02E828 8002DC28 44800000 */ mtc1 $zero, $f0 -/* 02E82C 8002DC2C 44814000 */ mtc1 $at, $f8 -/* 02E830 8002DC30 24010001 */ li $at, 1 -/* 02E834 8002DC34 318B0001 */ andi $t3, $t4, 1 -/* 02E838 8002DC38 E6000058 */ swc1 $f0, 0x58($s0) -/* 02E83C 8002DC3C E6000060 */ swc1 $f0, 0x60($s0) -/* 02E840 8002DC40 1161000A */ beq $t3, $at, .L8002DC6C -/* 02E844 8002DC44 E608005C */ swc1 $f8, 0x5c($s0) -/* 02E848 8002DC48 860D002E */ lh $t5, 0x2e($s0) -/* 02E84C 8002DC4C 8E050058 */ lw $a1, 0x58($s0) -/* 02E850 8002DC50 8E06005C */ lw $a2, 0x5c($s0) -/* 02E854 8002DC54 8E070060 */ lw $a3, 0x60($s0) -/* 02E858 8002DC58 8FA40058 */ lw $a0, 0x58($sp) -/* 02E85C 8002DC5C 0C0AD950 */ jal func_802B6540 -/* 02E860 8002DC60 AFAD0010 */ sw $t5, 0x10($sp) -/* 02E864 8002DC64 1000000B */ b .L8002DC94 -/* 02E868 8002DC68 8E0800BC */ lw $t0, 0xbc($s0) -.L8002DC6C: -/* 02E86C 8002DC6C 8618002E */ lh $t8, 0x2e($s0) -/* 02E870 8002DC70 34018000 */ li $at, 32768 -/* 02E874 8002DC74 8E050058 */ lw $a1, 0x58($s0) -/* 02E878 8002DC78 8E06005C */ lw $a2, 0x5c($s0) -/* 02E87C 8002DC7C 8E070060 */ lw $a3, 0x60($s0) -/* 02E880 8002DC80 0301C821 */ addu $t9, $t8, $at -/* 02E884 8002DC84 AFB90010 */ sw $t9, 0x10($sp) -/* 02E888 8002DC88 0C0AD950 */ jal func_802B6540 -/* 02E88C 8002DC8C 8FA40058 */ lw $a0, 0x58($sp) -/* 02E890 8002DC90 8E0800BC */ lw $t0, 0xbc($s0) -.L8002DC94: -/* 02E894 8002DC94 860F00C2 */ lh $t7, 0xc2($s0) -/* 02E898 8002DC98 C60A0124 */ lwc1 $f10, 0x124($s0) -/* 02E89C 8002DC9C 350E0008 */ ori $t6, $t0, 8 -/* 02E8A0 8002DCA0 25EA0001 */ addiu $t2, $t7, 1 -/* 02E8A4 8002DCA4 AE0E00BC */ sw $t6, 0xbc($s0) -/* 02E8A8 8002DCA8 A60A00C2 */ sh $t2, 0xc2($s0) -/* 02E8AC 8002DCAC E7AA00A8 */ swc1 $f10, 0xa8($sp) -/* 02E8B0 8002DCB0 C7A400A8 */ lwc1 $f4, 0xa8($sp) -/* 02E8B4 8002DCB4 44803000 */ mtc1 $zero, $f6 -/* 02E8B8 8002DCB8 00000000 */ nop -/* 02E8BC 8002DCBC 4606203E */ c.le.s $f4, $f6 -/* 02E8C0 8002DCC0 00000000 */ nop -/* 02E8C4 8002DCC4 450200B5 */ bc1fl .L8002DF9C -/* 02E8C8 8002DCC8 C60A0124 */ lwc1 $f10, 0x124($s0) -/* 02E8CC 8002DCCC 8E0900BC */ lw $t1, 0xbc($s0) -/* 02E8D0 8002DCD0 2401FFFD */ li $at, -3 -/* 02E8D4 8002DCD4 860200C2 */ lh $v0, 0xc2($s0) -/* 02E8D8 8002DCD8 01216024 */ and $t4, $t1, $at -/* 02E8DC 8002DCDC 2401FFF7 */ li $at, -9 -/* 02E8E0 8002DCE0 01816824 */ and $t5, $t4, $at -/* 02E8E4 8002DCE4 AE0C00BC */ sw $t4, 0xbc($s0) -/* 02E8E8 8002DCE8 28410023 */ slti $at, $v0, 0x23 -/* 02E8EC 8002DCEC 14200038 */ bnez $at, .L8002DDD0 -/* 02E8F0 8002DCF0 AE0D00BC */ sw $t5, 0xbc($s0) -/* 02E8F4 8002DCF4 28410032 */ slti $at, $v0, 0x32 -/* 02E8F8 8002DCF8 14200002 */ bnez $at, .L8002DD04 -/* 02E8FC 8002DCFC 24180032 */ li $t8, 50 -/* 02E900 8002DD00 A61800C2 */ sh $t8, 0xc2($s0) -.L8002DD04: -/* 02E904 8002DD04 961900B6 */ lhu $t9, 0xb6($s0) -/* 02E908 8002DD08 96020000 */ lhu $v0, ($s0) -/* 02E90C 8002DD0C 3C014040 */ li $at, 0x40400000 # 3.000000 -/* 02E910 8002DD10 44814000 */ mtc1 $at, $f8 -/* 02E914 8002DD14 24014000 */ li $at, 16384 -/* 02E918 8002DD18 37280100 */ ori $t0, $t9, 0x100 -/* 02E91C 8002DD1C 30434000 */ andi $v1, $v0, 0x4000 -/* 02E920 8002DD20 A6000DCC */ sh $zero, 0xdcc($s0) -/* 02E924 8002DD24 A60800B6 */ sh $t0, 0xb6($s0) -/* 02E928 8002DD28 14610010 */ bne $v1, $at, .L8002DD6C -/* 02E92C 8002DD2C E6080DC0 */ swc1 $f8, 0xdc0($s0) -/* 02E930 8002DD30 8E0E00BC */ lw $t6, 0xbc($s0) -/* 02E934 8002DD34 3C040010 */ lui $a0, 0x10 -/* 02E938 8002DD38 304A0100 */ andi $t2, $v0, 0x100 -/* 02E93C 8002DD3C 01C47824 */ and $t7, $t6, $a0 -/* 02E940 8002DD40 148F000A */ bne $a0, $t7, .L8002DD6C -/* 02E944 8002DD44 24010100 */ li $at, 256 -/* 02E948 8002DD48 11410008 */ beq $t2, $at, .L8002DD6C -/* 02E94C 8002DD4C 93A4019F */ lbu $a0, 0x19f($sp) -/* 02E950 8002DD50 3C051900 */ lui $a1, (0x1900A60A >> 16) # lui $a1, 0x1900 -/* 02E954 8002DD54 0C032418 */ jal func_800C9060 -/* 02E958 8002DD58 34A5A60A */ ori $a1, (0x1900A60A & 0xFFFF) # ori $a1, $a1, 0xa60a -/* 02E95C 8002DD5C 96030000 */ lhu $v1, ($s0) -/* 02E960 8002DD60 30694000 */ andi $t1, $v1, 0x4000 -/* 02E964 8002DD64 10000014 */ b .L8002DDB8 -/* 02E968 8002DD68 01201825 */ move $v1, $t1 -.L8002DD6C: -/* 02E96C 8002DD6C 24014000 */ li $at, 16384 -/* 02E970 8002DD70 14610011 */ bne $v1, $at, .L8002DDB8 -/* 02E974 8002DD74 304C0100 */ andi $t4, $v0, 0x100 -/* 02E978 8002DD78 24010100 */ li $at, 256 -/* 02E97C 8002DD7C 5181000F */ beql $t4, $at, .L8002DDBC -/* 02E980 8002DD80 24014000 */ li $at, 16384 -/* 02E984 8002DD84 860B00C2 */ lh $t3, 0xc2($s0) -/* 02E988 8002DD88 3C01420C */ li $at, 0x420C0000 # 35.000000 -/* 02E98C 8002DD8C 44812000 */ mtc1 $at, $f4 -/* 02E990 8002DD90 448B5000 */ mtc1 $t3, $f10 -/* 02E994 8002DD94 93A4019F */ lbu $a0, 0x19f($sp) -/* 02E998 8002DD98 468051A0 */ cvt.s.w $f6, $f10 -/* 02E99C 8002DD9C 46043203 */ div.s $f8, $f6, $f4 -/* 02E9A0 8002DDA0 44054000 */ mfc1 $a1, $f8 -/* 02E9A4 8002DDA4 0C032B74 */ jal func_800CADD0 -/* 02E9A8 8002DDA8 00000000 */ nop -/* 02E9AC 8002DDAC 96030000 */ lhu $v1, ($s0) -/* 02E9B0 8002DDB0 306D4000 */ andi $t5, $v1, 0x4000 -/* 02E9B4 8002DDB4 01A01825 */ move $v1, $t5 -.L8002DDB8: -/* 02E9B8 8002DDB8 24014000 */ li $at, 16384 -.L8002DDBC: -/* 02E9BC 8002DDBC 54610005 */ bnel $v1, $at, .L8002DDD4 -/* 02E9C0 8002DDC0 860200C2 */ lh $v0, 0xc2($s0) -/* 02E9C4 8002DDC4 86180044 */ lh $t8, 0x44($s0) -/* 02E9C8 8002DDC8 37190100 */ ori $t9, $t8, 0x100 -/* 02E9CC 8002DDCC A6190044 */ sh $t9, 0x44($s0) -.L8002DDD0: -/* 02E9D0 8002DDD0 860200C2 */ lh $v0, 0xc2($s0) -.L8002DDD4: -/* 02E9D4 8002DDD4 28410023 */ slti $at, $v0, 0x23 -/* 02E9D8 8002DDD8 1020002E */ beqz $at, .L8002DE94 -/* 02E9DC 8002DDDC 2841001C */ slti $at, $v0, 0x1c -/* 02E9E0 8002DDE0 1420002C */ bnez $at, .L8002DE94 -/* 02E9E4 8002DDE4 3C014190 */ li $at, 0x41900000 # 18.000000 -/* 02E9E8 8002DDE8 44813000 */ mtc1 $at, $f6 -/* 02E9EC 8002DDEC C60A0094 */ lwc1 $f10, 0x94($s0) -/* 02E9F0 8002DDF0 3C014358 */ li $at, 0x43580000 # 216.000000 -/* 02E9F4 8002DDF4 44814000 */ mtc1 $at, $f8 -/* 02E9F8 8002DDF8 46065103 */ div.s $f4, $f10, $f6 -/* 02E9FC 8002DDFC 3C0141A0 */ li $at, 0x41A00000 # 20.000000 -/* 02EA00 8002DE00 44813000 */ mtc1 $at, $f6 -/* 02EA04 8002DE04 3C01800F */ lui $at, %hi(D_800ED838) # $at, 0x800f -/* 02EA08 8002DE08 46082282 */ mul.s $f10, $f4, $f8 -/* 02EA0C 8002DE0C 460A303E */ c.le.s $f6, $f10 -/* 02EA10 8002DE10 00000000 */ nop -/* 02EA14 8002DE14 45020020 */ bc1fl .L8002DE98 -/* 02EA18 8002DE18 860200C2 */ lh $v0, 0xc2($s0) -/* 02EA1C 8002DE1C 96020000 */ lhu $v0, ($s0) -/* 02EA20 8002DE20 C424D838 */ lwc1 $f4, %lo(D_800ED838)($at) -/* 02EA24 8002DE24 24014000 */ li $at, 16384 -/* 02EA28 8002DE28 30434000 */ andi $v1, $v0, 0x4000 -/* 02EA2C 8002DE2C A6000DCC */ sh $zero, 0xdcc($s0) -/* 02EA30 8002DE30 14610012 */ bne $v1, $at, .L8002DE7C -/* 02EA34 8002DE34 E6040DC0 */ swc1 $f4, 0xdc0($s0) -/* 02EA38 8002DE38 30480100 */ andi $t0, $v0, 0x100 -/* 02EA3C 8002DE3C 24010100 */ li $at, 256 -/* 02EA40 8002DE40 5101000F */ beql $t0, $at, .L8002DE80 -/* 02EA44 8002DE44 24014000 */ li $at, 16384 -/* 02EA48 8002DE48 860E00C2 */ lh $t6, 0xc2($s0) -/* 02EA4C 8002DE4C 3C01420C */ li $at, 0x420C0000 # 35.000000 -/* 02EA50 8002DE50 44813000 */ mtc1 $at, $f6 -/* 02EA54 8002DE54 448E4000 */ mtc1 $t6, $f8 -/* 02EA58 8002DE58 93A4019F */ lbu $a0, 0x19f($sp) -/* 02EA5C 8002DE5C 468042A0 */ cvt.s.w $f10, $f8 -/* 02EA60 8002DE60 46065103 */ div.s $f4, $f10, $f6 -/* 02EA64 8002DE64 44052000 */ mfc1 $a1, $f4 -/* 02EA68 8002DE68 0C032B74 */ jal func_800CADD0 -/* 02EA6C 8002DE6C 00000000 */ nop -/* 02EA70 8002DE70 96030000 */ lhu $v1, ($s0) -/* 02EA74 8002DE74 306F4000 */ andi $t7, $v1, 0x4000 -/* 02EA78 8002DE78 01E01825 */ move $v1, $t7 -.L8002DE7C: -/* 02EA7C 8002DE7C 24014000 */ li $at, 16384 -.L8002DE80: -/* 02EA80 8002DE80 54610005 */ bnel $v1, $at, .L8002DE98 -/* 02EA84 8002DE84 860200C2 */ lh $v0, 0xc2($s0) -/* 02EA88 8002DE88 860A0044 */ lh $t2, 0x44($s0) -/* 02EA8C 8002DE8C 35490100 */ ori $t1, $t2, 0x100 -/* 02EA90 8002DE90 A6090044 */ sh $t1, 0x44($s0) -.L8002DE94: -/* 02EA94 8002DE94 860200C2 */ lh $v0, 0xc2($s0) -.L8002DE98: -/* 02EA98 8002DE98 2841001C */ slti $at, $v0, 0x1c -/* 02EA9C 8002DE9C 10200038 */ beqz $at, .L8002DF80 -/* 02EAA0 8002DEA0 28410004 */ slti $at, $v0, 4 -/* 02EAA4 8002DEA4 14200036 */ bnez $at, .L8002DF80 -/* 02EAA8 8002DEA8 3C014190 */ li $at, 0x41900000 # 18.000000 -/* 02EAAC 8002DEAC 44815000 */ mtc1 $at, $f10 -/* 02EAB0 8002DEB0 C6080094 */ lwc1 $f8, 0x94($s0) -/* 02EAB4 8002DEB4 3C014358 */ li $at, 0x43580000 # 216.000000 -/* 02EAB8 8002DEB8 44812000 */ mtc1 $at, $f4 -/* 02EABC 8002DEBC 460A4183 */ div.s $f6, $f8, $f10 -/* 02EAC0 8002DEC0 3C0141A0 */ li $at, 0x41A00000 # 20.000000 -/* 02EAC4 8002DEC4 44815000 */ mtc1 $at, $f10 -/* 02EAC8 8002DEC8 3C013FC0 */ li $at, 0x3FC00000 # 1.500000 -/* 02EACC 8002DECC 46043202 */ mul.s $f8, $f6, $f4 -/* 02EAD0 8002DED0 4608503E */ c.le.s $f10, $f8 -/* 02EAD4 8002DED4 00000000 */ nop -/* 02EAD8 8002DED8 4502002A */ bc1fl .L8002DF84 -/* 02EADC 8002DEDC A60000C2 */ sh $zero, 0xc2($s0) -/* 02EAE0 8002DEE0 96020000 */ lhu $v0, ($s0) -/* 02EAE4 8002DEE4 44813000 */ mtc1 $at, $f6 -/* 02EAE8 8002DEE8 24014000 */ li $at, 16384 -/* 02EAEC 8002DEEC 304C4000 */ andi $t4, $v0, 0x4000 -/* 02EAF0 8002DEF0 A6000DCC */ sh $zero, 0xdcc($s0) -/* 02EAF4 8002DEF4 15810022 */ bne $t4, $at, .L8002DF80 -/* 02EAF8 8002DEF8 E6060DC0 */ swc1 $f6, 0xdc0($s0) -/* 02EAFC 8002DEFC 304B0100 */ andi $t3, $v0, 0x100 -/* 02EB00 8002DF00 24010100 */ li $at, 256 -/* 02EB04 8002DF04 5161001F */ beql $t3, $at, .L8002DF84 -/* 02EB08 8002DF08 A60000C2 */ sh $zero, 0xc2($s0) -/* 02EB0C 8002DF0C 860200C2 */ lh $v0, 0xc2($s0) -/* 02EB10 8002DF10 93A4019F */ lbu $a0, 0x19f($sp) -/* 02EB14 8002DF14 2841000B */ slti $at, $v0, 0xb -/* 02EB18 8002DF18 10200011 */ beqz $at, .L8002DF60 -/* 02EB1C 8002DF1C 28410004 */ slti $at, $v0, 4 -/* 02EB20 8002DF20 1420000F */ bnez $at, .L8002DF60 -/* 02EB24 8002DF24 3C0D800E */ lui $t5, %hi(gCurrentCourseId) # $t5, 0x800e -/* 02EB28 8002DF28 85ADC5A0 */ lh $t5, %lo(gCurrentCourseId)($t5) -/* 02EB2C 8002DF2C 24010002 */ li $at, 2 -/* 02EB30 8002DF30 55A1000C */ bnel $t5, $at, .L8002DF64 -/* 02EB34 8002DF34 44822000 */ mtc1 $v0, $f4 -/* 02EB38 8002DF38 44822000 */ mtc1 $v0, $f4 -/* 02EB3C 8002DF3C 3C014160 */ li $at, 0x41600000 # 14.000000 -/* 02EB40 8002DF40 44815000 */ mtc1 $at, $f10 -/* 02EB44 8002DF44 46802220 */ cvt.s.w $f8, $f4 -/* 02EB48 8002DF48 460A4183 */ div.s $f6, $f8, $f10 -/* 02EB4C 8002DF4C 44053000 */ mfc1 $a1, $f6 -/* 02EB50 8002DF50 0C032B74 */ jal func_800CADD0 -/* 02EB54 8002DF54 00000000 */ nop -/* 02EB58 8002DF58 1000000A */ b .L8002DF84 -/* 02EB5C 8002DF5C A60000C2 */ sh $zero, 0xc2($s0) -.L8002DF60: -/* 02EB60 8002DF60 44822000 */ mtc1 $v0, $f4 -.L8002DF64: -/* 02EB64 8002DF64 3C0141C8 */ li $at, 0x41C80000 # 25.000000 -/* 02EB68 8002DF68 44815000 */ mtc1 $at, $f10 -/* 02EB6C 8002DF6C 46802220 */ cvt.s.w $f8, $f4 -/* 02EB70 8002DF70 460A4183 */ div.s $f6, $f8, $f10 -/* 02EB74 8002DF74 44053000 */ mfc1 $a1, $f6 -/* 02EB78 8002DF78 0C032B74 */ jal func_800CADD0 -/* 02EB7C 8002DF7C 00000000 */ nop -.L8002DF80: -/* 02EB80 8002DF80 A60000C2 */ sh $zero, 0xc2($s0) -.L8002DF84: -/* 02EB84 8002DF84 861800C2 */ lh $t8, 0xc2($s0) -/* 02EB88 8002DF88 44982000 */ mtc1 $t8, $f4 -/* 02EB8C 8002DF8C 00000000 */ nop -/* 02EB90 8002DF90 46802220 */ cvt.s.w $f8, $f4 -/* 02EB94 8002DF94 E60800EC */ swc1 $f8, 0xec($s0) -/* 02EB98 8002DF98 C60A0124 */ lwc1 $f10, 0x124($s0) -.L8002DF9C: -/* 02EB9C 8002DF9C 44803000 */ mtc1 $zero, $f6 -/* 02EBA0 8002DFA0 E7AA00A8 */ swc1 $f10, 0xa8($sp) -/* 02EBA4 8002DFA4 C7A400A8 */ lwc1 $f4, 0xa8($sp) -/* 02EBA8 8002DFA8 4606203E */ c.le.s $f4, $f6 -/* 02EBAC 8002DFAC 00000000 */ nop -/* 02EBB0 8002DFB0 4500000D */ bc1f .L8002DFE8 -/* 02EBB4 8002DFB4 27B900A8 */ addiu $t9, $sp, 0xa8 -/* 02EBB8 8002DFB8 27A800FC */ addiu $t0, $sp, 0xfc -/* 02EBBC 8002DFBC 27AE00F8 */ addiu $t6, $sp, 0xf8 -/* 02EBC0 8002DFC0 27AF00F4 */ addiu $t7, $sp, 0xf4 -/* 02EBC4 8002DFC4 AFAF001C */ sw $t7, 0x1c($sp) -/* 02EBC8 8002DFC8 AFAE0018 */ sw $t6, 0x18($sp) -/* 02EBCC 8002DFCC AFA80014 */ sw $t0, 0x14($sp) -/* 02EBD0 8002DFD0 AFB90010 */ sw $t9, 0x10($sp) -/* 02EBD4 8002DFD4 02002025 */ move $a0, $s0 -/* 02EBD8 8002DFD8 27A5008C */ addiu $a1, $sp, 0x8c -/* 02EBDC 8002DFDC 27A60098 */ addiu $a2, $sp, 0x98 -/* 02EBE0 8002DFE0 0C00FD1B */ jal func_8003F46C -/* 02EBE4 8002DFE4 27A70178 */ addiu $a3, $sp, 0x178 -.L8002DFE8: -/* 02EBE8 8002DFE8 C608011C */ lwc1 $f8, 0x11c($s0) -/* 02EBEC 8002DFEC 44803000 */ mtc1 $zero, $f6 -/* 02EBF0 8002DFF0 E7A800A8 */ swc1 $f8, 0xa8($sp) -/* 02EBF4 8002DFF4 C7AA00A8 */ lwc1 $f10, 0xa8($sp) -/* 02EBF8 8002DFF8 4606503C */ c.lt.s $f10, $f6 -/* 02EBFC 8002DFFC 00000000 */ nop -/* 02EC00 8002E000 4500000F */ bc1f .L8002E040 -/* 02EC04 8002E004 27AA00FC */ addiu $t2, $sp, 0xfc -/* 02EC08 8002E008 27A900F8 */ addiu $t1, $sp, 0xf8 -/* 02EC0C 8002E00C 27AC00F4 */ addiu $t4, $sp, 0xf4 -/* 02EC10 8002E010 AFAC0018 */ sw $t4, 0x18($sp) -/* 02EC14 8002E014 AFA90014 */ sw $t1, 0x14($sp) -/* 02EC18 8002E018 AFAA0010 */ sw $t2, 0x10($sp) -/* 02EC1C 8002E01C 02002025 */ move $a0, $s0 -/* 02EC20 8002E020 27A5008C */ addiu $a1, $sp, 0x8c -/* 02EC24 8002E024 27A60098 */ addiu $a2, $sp, 0x98 -/* 02EC28 8002E028 0C00FDCD */ jal func_8003F734 -/* 02EC2C 8002E02C 27A700A8 */ addiu $a3, $sp, 0xa8 -/* 02EC30 8002E030 02002025 */ move $a0, $s0 -/* 02EC34 8002E034 83A5019F */ lb $a1, 0x19f($sp) -/* 02EC38 8002E038 0C00B255 */ jal func_8002C954 -/* 02EC3C 8002E03C 27A60098 */ addiu $a2, $sp, 0x98 -.L8002E040: -/* 02EC40 8002E040 C6040120 */ lwc1 $f4, 0x120($s0) -/* 02EC44 8002E044 44805000 */ mtc1 $zero, $f10 -/* 02EC48 8002E048 E7A400A8 */ swc1 $f4, 0xa8($sp) -/* 02EC4C 8002E04C C7A800A8 */ lwc1 $f8, 0xa8($sp) -/* 02EC50 8002E050 460A403C */ c.lt.s $f8, $f10 -/* 02EC54 8002E054 00000000 */ nop -/* 02EC58 8002E058 4500000F */ bc1f .L8002E098 -/* 02EC5C 8002E05C 27AB00FC */ addiu $t3, $sp, 0xfc -/* 02EC60 8002E060 27AD00F8 */ addiu $t5, $sp, 0xf8 -/* 02EC64 8002E064 27B800F4 */ addiu $t8, $sp, 0xf4 -/* 02EC68 8002E068 AFB80018 */ sw $t8, 0x18($sp) -/* 02EC6C 8002E06C AFAD0014 */ sw $t5, 0x14($sp) -/* 02EC70 8002E070 AFAB0010 */ sw $t3, 0x10($sp) -/* 02EC74 8002E074 02002025 */ move $a0, $s0 -/* 02EC78 8002E078 27A5008C */ addiu $a1, $sp, 0x8c -/* 02EC7C 8002E07C 27A60098 */ addiu $a2, $sp, 0x98 -/* 02EC80 8002E080 0C00FEEB */ jal func_8003FBAC -/* 02EC84 8002E084 27A700A8 */ addiu $a3, $sp, 0xa8 -/* 02EC88 8002E088 02002025 */ move $a0, $s0 -/* 02EC8C 8002E08C 83A5019F */ lb $a1, 0x19f($sp) -/* 02EC90 8002E090 0C00B255 */ jal func_8002C954 -/* 02EC94 8002E094 27A60098 */ addiu $a2, $sp, 0x98 -.L8002E098: -/* 02EC98 8002E098 C606011C */ lwc1 $f6, 0x11c($s0) -/* 02EC9C 8002E09C 44804000 */ mtc1 $zero, $f8 -/* 02ECA0 8002E0A0 E7A600A8 */ swc1 $f6, 0xa8($sp) -/* 02ECA4 8002E0A4 C7A400A8 */ lwc1 $f4, 0xa8($sp) -/* 02ECA8 8002E0A8 4604403E */ c.le.s $f8, $f4 -/* 02ECAC 8002E0AC 00000000 */ nop -/* 02ECB0 8002E0B0 45020015 */ bc1fl .L8002E108 -/* 02ECB4 8002E0B4 8E0A00BC */ lw $t2, 0xbc($s0) -/* 02ECB8 8002E0B8 C60A0120 */ lwc1 $f10, 0x120($s0) -/* 02ECBC 8002E0BC 44802000 */ mtc1 $zero, $f4 -/* 02ECC0 8002E0C0 E7AA00A8 */ swc1 $f10, 0xa8($sp) -/* 02ECC4 8002E0C4 C7A600A8 */ lwc1 $f6, 0xa8($sp) -/* 02ECC8 8002E0C8 4606203E */ c.le.s $f4, $f6 -/* 02ECCC 8002E0CC 00000000 */ nop -/* 02ECD0 8002E0D0 4502000D */ bc1fl .L8002E108 -/* 02ECD4 8002E0D4 8E0A00BC */ lw $t2, 0xbc($s0) -/* 02ECD8 8002E0D8 96190046 */ lhu $t9, 0x46($s0) -/* 02ECDC 8002E0DC 96020256 */ lhu $v0, 0x256($s0) -/* 02ECE0 8002E0E0 3328FFDF */ andi $t0, $t9, 0xffdf -/* 02ECE4 8002E0E4 10400007 */ beqz $v0, .L8002E104 -/* 02ECE8 8002E0E8 A6080046 */ sh $t0, 0x46($s0) -/* 02ECEC 8002E0EC 244E0001 */ addiu $t6, $v0, 1 -/* 02ECF0 8002E0F0 31CFFFFF */ andi $t7, $t6, 0xffff -/* 02ECF4 8002E0F4 29E1000A */ slti $at, $t7, 0xa -/* 02ECF8 8002E0F8 14200002 */ bnez $at, .L8002E104 -/* 02ECFC 8002E0FC A60E0256 */ sh $t6, 0x256($s0) -/* 02ED00 8002E100 A6000256 */ sh $zero, 0x256($s0) -.L8002E104: -/* 02ED04 8002E104 8E0A00BC */ lw $t2, 0xbc($s0) -.L8002E108: -/* 02ED08 8002E108 31490008 */ andi $t1, $t2, 8 -/* 02ED0C 8002E10C 55200016 */ bnel $t1, $zero, .L8002E168 -/* 02ED10 8002E110 8E1900BC */ lw $t9, 0xbc($s0) -/* 02ED14 8002E114 0C0AAF6E */ jal func_802ABDB8 -/* 02ED18 8002E118 9604011A */ lhu $a0, 0x11a($s0) -/* 02ED1C 8002E11C 50400012 */ beql $v0, $zero, .L8002E168 -/* 02ED20 8002E120 8E1900BC */ lw $t9, 0xbc($s0) -/* 02ED24 8002E124 8E0C00BC */ lw $t4, 0xbc($s0) -/* 02ED28 8002E128 3C010001 */ lui $at, 1 -/* 02ED2C 8002E12C 01815824 */ and $t3, $t4, $at -/* 02ED30 8002E130 5161000D */ beql $t3, $at, .L8002E168 -/* 02ED34 8002E134 8E1900BC */ lw $t9, 0xbc($s0) -/* 02ED38 8002E138 860200CA */ lh $v0, 0xca($s0) -/* 02ED3C 8002E13C 02002025 */ move $a0, $s0 -/* 02ED40 8002E140 304D0002 */ andi $t5, $v0, 2 -/* 02ED44 8002E144 11A00003 */ beqz $t5, .L8002E154 -/* 02ED48 8002E148 30580008 */ andi $t8, $v0, 8 -/* 02ED4C 8002E14C 57000015 */ bnel $t8, $zero, .L8002E1A4 -/* 02ED50 8002E150 C7AC00FC */ lwc1 $f12, 0xfc($sp) -.L8002E154: -/* 02ED54 8002E154 0C023D25 */ jal func_8008F494 -/* 02ED58 8002E158 83A5019F */ lb $a1, 0x19f($sp) -/* 02ED5C 8002E15C 10000011 */ b .L8002E1A4 -/* 02ED60 8002E160 C7AC00FC */ lwc1 $f12, 0xfc($sp) -/* 02ED64 8002E164 8E1900BC */ lw $t9, 0xbc($s0) -.L8002E168: -/* 02ED68 8002E168 33280008 */ andi $t0, $t9, 8 -/* 02ED6C 8002E16C 5500000D */ bnel $t0, $zero, .L8002E1A4 -/* 02ED70 8002E170 C7AC00FC */ lwc1 $f12, 0xfc($sp) -/* 02ED74 8002E174 0C0AAF6E */ jal func_802ABDB8 -/* 02ED78 8002E178 9604011A */ lhu $a0, 0x11a($s0) -/* 02ED7C 8002E17C 54400009 */ bnel $v0, $zero, .L8002E1A4 -/* 02ED80 8002E180 C7AC00FC */ lwc1 $f12, 0xfc($sp) -/* 02ED84 8002E184 8E0E00BC */ lw $t6, 0xbc($s0) -/* 02ED88 8002E188 02002025 */ move $a0, $s0 -/* 02ED8C 8002E18C 000E7BC0 */ sll $t7, $t6, 0xf -/* 02ED90 8002E190 05E30004 */ bgezl $t7, .L8002E1A4 -/* 02ED94 8002E194 C7AC00FC */ lwc1 $f12, 0xfc($sp) -/* 02ED98 8002E198 0C023D69 */ jal func_8008F5A4 -/* 02ED9C 8002E19C 83A5019F */ lb $a1, 0x19f($sp) -/* 02EDA0 8002E1A0 C7AC00FC */ lwc1 $f12, 0xfc($sp) -.L8002E1A4: -/* 02EDA4 8002E1A4 C7AE00F8 */ lwc1 $f14, 0xf8($sp) -/* 02EDA8 8002E1A8 8FA600F4 */ lw $a2, 0xf4($sp) -/* 02EDAC 8002E1AC 0C0AAF8C */ jal func_802ABE30 -/* 02EDB0 8002E1B0 9607011A */ lhu $a3, 0x11a($s0) -/* 02EDB4 8002E1B4 960A0000 */ lhu $t2, ($s0) -/* 02EDB8 8002E1B8 24014000 */ li $at, 16384 -/* 02EDBC 8002E1BC E6000074 */ swc1 $f0, 0x74($s0) -/* 02EDC0 8002E1C0 31494000 */ andi $t1, $t2, 0x4000 -/* 02EDC4 8002E1C4 1521000F */ bne $t1, $at, .L8002E204 -/* 02EDC8 8002E1C8 3C02800E */ lui $v0, %hi(gActiveScreenMode) # $v0, 0x800e -/* 02EDCC 8002E1CC 8C42C52C */ lw $v0, %lo(gActiveScreenMode)($v0) -/* 02EDD0 8002E1D0 24010002 */ li $at, 2 -/* 02EDD4 8002E1D4 02002025 */ move $a0, $s0 -/* 02EDD8 8002E1D8 10400005 */ beqz $v0, .L8002E1F0 -/* 02EDDC 8002E1DC 8FA500FC */ lw $a1, 0xfc($sp) -/* 02EDE0 8002E1E0 10410003 */ beq $v0, $at, .L8002E1F0 -/* 02EDE4 8002E1E4 24010001 */ li $at, 1 -/* 02EDE8 8002E1E8 54410007 */ bnel $v0, $at, .L8002E208 -/* 02EDEC 8002E1EC 02002025 */ move $a0, $s0 -.L8002E1F0: -/* 02EDF0 8002E1F0 8FA600F8 */ lw $a2, 0xf8($sp) -/* 02EDF4 8002E1F4 0C00A6D3 */ jal func_80029B4C -/* 02EDF8 8002E1F8 8FA700F4 */ lw $a3, 0xf4($sp) -/* 02EDFC 8002E1FC 10000007 */ b .L8002E21C -/* 02EE00 8002E200 C7A800FC */ lwc1 $f8, 0xfc($sp) -.L8002E204: -/* 02EE04 8002E204 02002025 */ move $a0, $s0 -.L8002E208: -/* 02EE08 8002E208 8FA500FC */ lw $a1, 0xfc($sp) -/* 02EE0C 8002E20C 8FA600F8 */ lw $a2, 0xf8($sp) -/* 02EE10 8002E210 0C00A865 */ jal func_8002A194 -/* 02EE14 8002E214 8FA700F4 */ lw $a3, 0xf4($sp) -/* 02EE18 8002E218 C7A800FC */ lwc1 $f8, 0xfc($sp) -.L8002E21C: -/* 02EE1C 8002E21C C7AA00F4 */ lwc1 $f10, 0xf4($sp) -/* 02EE20 8002E220 02002025 */ move $a0, $s0 -/* 02EE24 8002E224 83A5019F */ lb $a1, 0x19f($sp) -/* 02EE28 8002E228 8FA600F0 */ lw $a2, 0xf0($sp) -/* 02EE2C 8002E22C 8FA700E8 */ lw $a3, 0xe8($sp) -/* 02EE30 8002E230 E7A80010 */ swc1 $f8, 0x10($sp) -/* 02EE34 8002E234 0C00AB8E */ jal func_8002AE38 -/* 02EE38 8002E238 E7AA0014 */ swc1 $f10, 0x14($sp) -/* 02EE3C 8002E23C C7A600A0 */ lwc1 $f6, 0xa0($sp) -/* 02EE40 8002E240 C7A80098 */ lwc1 $f8, 0x98($sp) -/* 02EE44 8002E244 46063102 */ mul.s $f4, $f6, $f6 -/* 02EE48 8002E248 C6060094 */ lwc1 $f6, 0x94($s0) -/* 02EE4C 8002E24C 46084282 */ mul.s $f10, $f8, $f8 -/* 02EE50 8002E250 E606022C */ swc1 $f6, 0x22c($s0) -/* 02EE54 8002E254 0C033850 */ jal sqrtf -/* 02EE58 8002E258 460A2300 */ add.s $f12, $f4, $f10 -/* 02EE5C 8002E25C 44804000 */ mtc1 $zero, $f8 -/* 02EE60 8002E260 C604008C */ lwc1 $f4, 0x8c($s0) -/* 02EE64 8002E264 E6000094 */ swc1 $f0, 0x94($s0) -/* 02EE68 8002E268 4608203E */ c.le.s $f4, $f8 -/* 02EE6C 8002E26C 00000000 */ nop -/* 02EE70 8002E270 45020023 */ bc1fl .L8002E300 -/* 02EE74 8002E274 C7AA00FC */ lwc1 $f10, 0xfc($sp) -/* 02EE78 8002E278 C6060094 */ lwc1 $f6, 0x94($s0) -/* 02EE7C 8002E27C 3C01800F */ lui $at, %hi(D_800ED840) -/* 02EE80 8002E280 D42AD840 */ ldc1 $f10, %lo(D_800ED840)($at) -/* 02EE84 8002E284 46003221 */ cvt.d.s $f8, $f6 -/* 02EE88 8002E288 8FAC0054 */ lw $t4, 0x54($sp) -/* 02EE8C 8002E28C 462A403E */ c.le.d $f8, $f10 -/* 02EE90 8002E290 00000000 */ nop -/* 02EE94 8002E294 4502001A */ bc1fl .L8002E300 -/* 02EE98 8002E298 C7AA00FC */ lwc1 $f10, 0xfc($sp) -/* 02EE9C 8002E29C 44802000 */ mtc1 $zero, $f4 -/* 02EEA0 8002E2A0 C5860004 */ lwc1 $f6, 4($t4) -/* 02EEA4 8002E2A4 46062032 */ c.eq.s $f4, $f6 -/* 02EEA8 8002E2A8 00000000 */ nop -/* 02EEAC 8002E2AC 45020014 */ bc1fl .L8002E300 -/* 02EEB0 8002E2B0 C7AA00FC */ lwc1 $f10, 0xfc($sp) -/* 02EEB4 8002E2B4 44805000 */ mtc1 $zero, $f10 -/* 02EEB8 8002E2B8 C588000C */ lwc1 $f8, 0xc($t4) -/* 02EEBC 8002E2BC C7A00098 */ lwc1 $f0, 0x98($sp) -/* 02EEC0 8002E2C0 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -/* 02EEC4 8002E2C4 46085032 */ c.eq.s $f10, $f8 -/* 02EEC8 8002E2C8 00000000 */ nop -/* 02EECC 8002E2CC 4502000C */ bc1fl .L8002E300 -/* 02EED0 8002E2D0 C7AA00FC */ lwc1 $f10, 0xfc($sp) -/* 02EED4 8002E2D4 44816000 */ mtc1 $at, $f12 -/* 02EED8 8002E2D8 C7A200A0 */ lwc1 $f2, 0xa0($sp) -/* 02EEDC 8002E2DC 460C0102 */ mul.s $f4, $f0, $f12 -/* 02EEE0 8002E2E0 00000000 */ nop -/* 02EEE4 8002E2E4 460C1182 */ mul.s $f6, $f2, $f12 -/* 02EEE8 8002E2E8 46002000 */ add.s $f0, $f4, $f0 -/* 02EEEC 8002E2EC 46023080 */ add.s $f2, $f6, $f2 -/* 02EEF0 8002E2F0 E7A00098 */ swc1 $f0, 0x98($sp) -/* 02EEF4 8002E2F4 10000005 */ b .L8002E30C -/* 02EEF8 8002E2F8 E7A200A0 */ swc1 $f2, 0xa0($sp) -/* 02EEFC 8002E2FC C7AA00FC */ lwc1 $f10, 0xfc($sp) -.L8002E300: -/* 02EF00 8002E300 E60A0014 */ swc1 $f10, 0x14($s0) -/* 02EF04 8002E304 C7A800F4 */ lwc1 $f8, 0xf4($sp) -/* 02EF08 8002E308 E608001C */ swc1 $f8, 0x1c($s0) -.L8002E30C: -/* 02EF0C 8002E30C 96020000 */ lhu $v0, ($s0) -/* 02EF10 8002E310 C7A400F8 */ lwc1 $f4, 0xf8($sp) -/* 02EF14 8002E314 304B4000 */ andi $t3, $v0, 0x4000 -/* 02EF18 8002E318 1160000C */ beqz $t3, .L8002E34C -/* 02EF1C 8002E31C E6040018 */ swc1 $f4, 0x18($s0) -/* 02EF20 8002E320 304D1000 */ andi $t5, $v0, 0x1000 -/* 02EF24 8002E324 15A00009 */ bnez $t5, .L8002E34C -/* 02EF28 8002E328 02002025 */ move $a0, $s0 -/* 02EF2C 8002E32C 83B8019F */ lb $t8, 0x19f($sp) -/* 02EF30 8002E330 27B90098 */ addiu $t9, $sp, 0x98 -/* 02EF34 8002E334 AFB90014 */ sw $t9, 0x14($sp) -/* 02EF38 8002E338 27A500FC */ addiu $a1, $sp, 0xfc -/* 02EF3C 8002E33C 27A600F4 */ addiu $a2, $sp, 0xf4 -/* 02EF40 8002E340 83A7019B */ lb $a3, 0x19b($sp) -/* 02EF44 8002E344 0C00AEE7 */ jal func_8002BB9C -/* 02EF48 8002E348 AFB80010 */ sw $t8, 0x10($sp) -.L8002E34C: -/* 02EF4C 8002E34C C7A60178 */ lwc1 $f6, 0x178($sp) -/* 02EF50 8002E350 3C0F8016 */ lui $t7, %hi(D_80165070) # $t7, 0x8016 -/* 02EF54 8002E354 25EF5070 */ addiu $t7, %lo(D_80165070) # addiu $t7, $t7, 0x5070 -/* 02EF58 8002E358 E6060064 */ swc1 $f6, 0x64($s0) -/* 02EF5C 8002E35C C7AA0180 */ lwc1 $f10, 0x180($sp) -/* 02EF60 8002E360 24014000 */ li $at, 16384 -/* 02EF64 8002E364 3C0D800E */ lui $t5, %hi(gKartTopSpeedTable) # $t5, 0x800e -/* 02EF68 8002E368 E60A006C */ swc1 $f10, 0x6c($s0) -/* 02EF6C 8002E36C C7A80098 */ lwc1 $f8, 0x98($sp) -/* 02EF70 8002E370 02002025 */ move $a0, $s0 -/* 02EF74 8002E374 E6080034 */ swc1 $f8, 0x34($s0) -/* 02EF78 8002E378 C7A4009C */ lwc1 $f4, 0x9c($sp) -/* 02EF7C 8002E37C E6040038 */ swc1 $f4, 0x38($s0) -/* 02EF80 8002E380 C7A600A0 */ lwc1 $f6, 0xa0($sp) -/* 02EF84 8002E384 E606003C */ swc1 $f6, 0x3c($s0) -/* 02EF88 8002E388 83A8019F */ lb $t0, 0x19f($sp) -/* 02EF8C 8002E38C C7AA0098 */ lwc1 $f10, 0x98($sp) -/* 02EF90 8002E390 C7A8009C */ lwc1 $f8, 0x9c($sp) -/* 02EF94 8002E394 00087080 */ sll $t6, $t0, 2 -/* 02EF98 8002E398 01C87023 */ subu $t6, $t6, $t0 -/* 02EF9C 8002E39C 000E7080 */ sll $t6, $t6, 2 -/* 02EFA0 8002E3A0 C7A400A0 */ lwc1 $f4, 0xa0($sp) -/* 02EFA4 8002E3A4 01CF1021 */ addu $v0, $t6, $t7 -/* 02EFA8 8002E3A8 E44A0000 */ swc1 $f10, ($v0) -/* 02EFAC 8002E3AC E4480004 */ swc1 $f8, 4($v0) -/* 02EFB0 8002E3B0 E4440008 */ swc1 $f4, 8($v0) -/* 02EFB4 8002E3B4 960A0000 */ lhu $t2, ($s0) -/* 02EFB8 8002E3B8 31494000 */ andi $t1, $t2, 0x4000 -/* 02EFBC 8002E3BC 55210018 */ bnel $t1, $at, .L8002E420 -/* 02EFC0 8002E3C0 86180044 */ lh $t8, 0x44($s0) -/* 02EFC4 8002E3C4 960C0254 */ lhu $t4, 0x254($s0) -/* 02EFC8 8002E3C8 25AD2690 */ addiu $t5, %lo(gKartTopSpeedTable) # addiu $t5, $t5, 0x2690 -/* 02EFCC 8002E3CC C6020094 */ lwc1 $f2, 0x94($s0) -/* 02EFD0 8002E3D0 000C5880 */ sll $t3, $t4, 2 -/* 02EFD4 8002E3D4 016D1021 */ addu $v0, $t3, $t5 -/* 02EFD8 8002E3D8 C44C0000 */ lwc1 $f12, ($v0) -/* 02EFDC 8002E3DC 4602603C */ c.lt.s $f12, $f2 -/* 02EFE0 8002E3E0 00000000 */ nop -/* 02EFE4 8002E3E4 4502000E */ bc1fl .L8002E420 -/* 02EFE8 8002E3E8 86180044 */ lh $t8, 0x44($s0) -/* 02EFEC 8002E3EC 46026003 */ div.s $f0, $f12, $f2 -/* 02EFF0 8002E3F0 C6060034 */ lwc1 $f6, 0x34($s0) -/* 02EFF4 8002E3F4 C6080038 */ lwc1 $f8, 0x38($s0) -/* 02EFF8 8002E3F8 46003282 */ mul.s $f10, $f6, $f0 -/* 02EFFC 8002E3FC C606003C */ lwc1 $f6, 0x3c($s0) -/* 02F000 8002E400 46004102 */ mul.s $f4, $f8, $f0 -/* 02F004 8002E404 E60A0034 */ swc1 $f10, 0x34($s0) -/* 02F008 8002E408 46003282 */ mul.s $f10, $f6, $f0 -/* 02F00C 8002E40C E6040038 */ swc1 $f4, 0x38($s0) -/* 02F010 8002E410 E60A003C */ swc1 $f10, 0x3c($s0) -/* 02F014 8002E414 C4480000 */ lwc1 $f8, ($v0) -/* 02F018 8002E418 E6080094 */ swc1 $f8, 0x94($s0) -/* 02F01C 8002E41C 86180044 */ lh $t8, 0x44($s0) -.L8002E420: -/* 02F020 8002E420 24010001 */ li $at, 1 -/* 02F024 8002E424 33190001 */ andi $t9, $t8, 1 -/* 02F028 8002E428 17210012 */ bne $t9, $at, .L8002E474 -/* 02F02C 8002E42C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 02F030 8002E430 44816000 */ mtc1 $at, $f12 -/* 02F034 8002E434 C6020094 */ lwc1 $f2, 0x94($s0) -/* 02F038 8002E438 4602603C */ c.lt.s $f12, $f2 -/* 02F03C 8002E43C 00000000 */ nop -/* 02F040 8002E440 4502000D */ bc1fl .L8002E478 -/* 02F044 8002E444 3C0143FA */ lui $at, 0x43fa -/* 02F048 8002E448 46026003 */ div.s $f0, $f12, $f2 -/* 02F04C 8002E44C C6040034 */ lwc1 $f4, 0x34($s0) -/* 02F050 8002E450 C60A0038 */ lwc1 $f10, 0x38($s0) -/* 02F054 8002E454 E60C0094 */ swc1 $f12, 0x94($s0) -/* 02F058 8002E458 46002182 */ mul.s $f6, $f4, $f0 -/* 02F05C 8002E45C C604003C */ lwc1 $f4, 0x3c($s0) -/* 02F060 8002E460 46005202 */ mul.s $f8, $f10, $f0 -/* 02F064 8002E464 E6060034 */ swc1 $f6, 0x34($s0) -/* 02F068 8002E468 46002182 */ mul.s $f6, $f4, $f0 -/* 02F06C 8002E46C E6080038 */ swc1 $f8, 0x38($s0) -/* 02F070 8002E470 E606003C */ swc1 $f6, 0x3c($s0) -.L8002E474: -/* 02F074 8002E474 3C0143FA */ li $at, 0x43FA0000 # 500.000000 -.L8002E478: -/* 02F078 8002E478 44814000 */ mtc1 $at, $f8 -/* 02F07C 8002E47C C60A0124 */ lwc1 $f10, 0x124($s0) -/* 02F080 8002E480 460A403E */ c.le.s $f8, $f10 -/* 02F084 8002E484 00000000 */ nop -/* 02F088 8002E488 45000007 */ bc1f .L8002E4A8 -/* 02F08C 8002E48C 00000000 */ nop -/* 02F090 8002E490 86080078 */ lh $t0, 0x78($s0) -/* 02F094 8002E494 05010003 */ bgez $t0, .L8002E4A4 -/* 02F098 8002E498 00087043 */ sra $t6, $t0, 1 -/* 02F09C 8002E49C 25010001 */ addiu $at, $t0, 1 -/* 02F0A0 8002E4A0 00017043 */ sra $t6, $at, 1 -.L8002E4A4: -/* 02F0A4 8002E4A4 A60E0078 */ sh $t6, 0x78($s0) -.L8002E4A8: -/* 02F0A8 8002E4A8 0C00B13E */ jal func_8002C4F8 -/* 02F0AC 8002E4AC 83A5019F */ lb $a1, 0x19f($sp) -/* 02F0B0 8002E4B0 8FBF002C */ lw $ra, 0x2c($sp) -/* 02F0B4 8002E4B4 8FB00028 */ lw $s0, 0x28($sp) -/* 02F0B8 8002E4B8 27BD0190 */ addiu $sp, $sp, 0x190 -/* 02F0BC 8002E4BC 03E00008 */ jr $ra -/* 02F0C0 8002E4C0 00000000 */ nop diff --git a/asm/non_matchings/player_controller/func_8002E594.s b/asm/non_matchings/player_controller/func_8002E594.s deleted file mode 100644 index 7c7f329f9..000000000 --- a/asm/non_matchings/player_controller/func_8002E594.s +++ /dev/null @@ -1,984 +0,0 @@ -.section .data - -glabel D_800E3D74 -.float 0.0, 0.0, 1.0 - -glabel D_800E3D80 -.float 0.0, 0.0, 0.0 - -glabel D_800E3D8C -.float 0.0, 0.0, 0.0 - -.section .late_rodata - -glabel D_800ED848 -.double 0.1 - -glabel D_800ED850 -.double 6000.0 - -glabel D_800ED858 -.double 0.12 - -glabel D_800ED860 -.double 6000.0 - -glabel D_800ED868 -.double 0.2 - -glabel D_800ED870 -.double 0.08 - -glabel D_800ED878 -.double 0.12 - -glabel D_800ED880 -.float 0.06 - -glabel D_800ED884 -.float 0.06 - -glabel D_800ED888 -.double 0.13 - -glabel D_800ED890 -.double 0.2 - -.section .text - -glabel func_8002E594 -/* 02F194 8002E594 27BDFF08 */ addiu $sp, $sp, -0xf8 -/* 02F198 8002E598 3C0F800E */ lui $t7, %hi(D_800E3D74) # $t7, 0x800e -/* 02F19C 8002E59C AFBF002C */ sw $ra, 0x2c($sp) -/* 02F1A0 8002E5A0 AFB00028 */ sw $s0, 0x28($sp) -/* 02F1A4 8002E5A4 AFA500FC */ sw $a1, 0xfc($sp) -/* 02F1A8 8002E5A8 AFA60100 */ sw $a2, 0x100($sp) -/* 02F1AC 8002E5AC AFA70104 */ sw $a3, 0x104($sp) -/* 02F1B0 8002E5B0 25EF3D74 */ addiu $t7, %lo(D_800E3D74) # addiu $t7, $t7, 0x3d74 -/* 02F1B4 8002E5B4 8DE10000 */ lw $at, ($t7) -/* 02F1B8 8002E5B8 27AE00EC */ addiu $t6, $sp, 0xec -/* 02F1BC 8002E5BC 8DE80004 */ lw $t0, 4($t7) -/* 02F1C0 8002E5C0 ADC10000 */ sw $at, ($t6) -/* 02F1C4 8002E5C4 8DE10008 */ lw $at, 8($t7) -/* 02F1C8 8002E5C8 3C0A800E */ lui $t2, %hi(D_800E3D80) # $t2, 0x800e -/* 02F1CC 8002E5CC 254A3D80 */ addiu $t2, %lo(D_800E3D80) # addiu $t2, $t2, 0x3d80 -/* 02F1D0 8002E5D0 ADC80004 */ sw $t0, 4($t6) -/* 02F1D4 8002E5D4 ADC10008 */ sw $at, 8($t6) -/* 02F1D8 8002E5D8 8D410000 */ lw $at, ($t2) -/* 02F1DC 8002E5DC 27A900E0 */ addiu $t1, $sp, 0xe0 -/* 02F1E0 8002E5E0 8D4D0004 */ lw $t5, 4($t2) -/* 02F1E4 8002E5E4 AD210000 */ sw $at, ($t1) -/* 02F1E8 8002E5E8 8D410008 */ lw $at, 8($t2) -/* 02F1EC 8002E5EC 3C18800E */ lui $t8, %hi(D_800E3D8C) # $t8, 0x800e -/* 02F1F0 8002E5F0 27183D8C */ addiu $t8, %lo(D_800E3D8C) # addiu $t8, $t8, 0x3d8c -/* 02F1F4 8002E5F4 AD2D0004 */ sw $t5, 4($t1) -/* 02F1F8 8002E5F8 AD210008 */ sw $at, 8($t1) -/* 02F1FC 8002E5FC 8F010000 */ lw $at, ($t8) -/* 02F200 8002E600 27B900D4 */ addiu $t9, $sp, 0xd4 -/* 02F204 8002E604 8F080004 */ lw $t0, 4($t8) -/* 02F208 8002E608 AF210000 */ sw $at, ($t9) -/* 02F20C 8002E60C 8F010008 */ lw $at, 8($t8) -/* 02F210 8002E610 AF280004 */ sw $t0, 4($t9) -/* 02F214 8002E614 00808025 */ move $s0, $a0 -/* 02F218 8002E618 AF210008 */ sw $at, 8($t9) -/* 02F21C 8002E61C 83A60103 */ lb $a2, 0x103($sp) -/* 02F220 8002E620 0C00AE0C */ jal func_8002B830 -/* 02F224 8002E624 83A50107 */ lb $a1, 0x107($sp) -/* 02F228 8002E628 8E0200BC */ lw $v0, 0xbc($s0) -/* 02F22C 8002E62C 24010080 */ li $at, 128 -/* 02F230 8002E630 02002025 */ move $a0, $s0 -/* 02F234 8002E634 304C0080 */ andi $t4, $v0, 0x80 -/* 02F238 8002E638 11810013 */ beq $t4, $at, .L8002E688 -/* 02F23C 8002E63C 304B0040 */ andi $t3, $v0, 0x40 -/* 02F240 8002E640 24010040 */ li $at, 64 -/* 02F244 8002E644 11610010 */ beq $t3, $at, .L8002E688 -/* 02F248 8002E648 30494000 */ andi $t1, $v0, 0x4000 -/* 02F24C 8002E64C 24014000 */ li $at, 16384 -/* 02F250 8002E650 1121000D */ beq $t1, $at, .L8002E688 -/* 02F254 8002E654 3C030008 */ lui $v1, 8 -/* 02F258 8002E658 00435024 */ and $t2, $v0, $v1 -/* 02F25C 8002E65C 106A000A */ beq $v1, $t2, .L8002E688 -/* 02F260 8002E660 3C030080 */ lui $v1, 0x80 -/* 02F264 8002E664 00436824 */ and $t5, $v0, $v1 -/* 02F268 8002E668 106D0007 */ beq $v1, $t5, .L8002E688 -/* 02F26C 8002E66C 3C010002 */ lui $at, 2 -/* 02F270 8002E670 00417824 */ and $t7, $v0, $at -/* 02F274 8002E674 51E10005 */ beql $t7, $at, .L8002E68C -/* 02F278 8002E678 24180001 */ li $t8, 1 -/* 02F27C 8002E67C 860E0044 */ lh $t6, 0x44($s0) -/* 02F280 8002E680 31D90800 */ andi $t9, $t6, 0x800 -/* 02F284 8002E684 13200003 */ beqz $t9, .L8002E694 -.L8002E688: -/* 02F288 8002E688 24180001 */ li $t8, 1 -.L8002E68C: -/* 02F28C 8002E68C 10000002 */ b .L8002E698 -/* 02F290 8002E690 A7B80046 */ sh $t8, 0x46($sp) -.L8002E694: -/* 02F294 8002E694 A7A00046 */ sh $zero, 0x46($sp) -.L8002E698: -/* 02F298 8002E698 83A50107 */ lb $a1, 0x107($sp) -/* 02F29C 8002E69C 0C00B352 */ jal func_8002CD48 -/* 02F2A0 8002E6A0 83A60103 */ lb $a2, 0x103($sp) -/* 02F2A4 8002E6A4 0C00AADC */ jal func_8002AB70 -/* 02F2A8 8002E6A8 02002025 */ move $a0, $s0 -/* 02F2AC 8002E6AC 02002025 */ move $a0, $s0 -/* 02F2B0 8002E6B0 0C00BF2A */ jal func_8002FCA8 -/* 02F2B4 8002E6B4 83A50107 */ lb $a1, 0x107($sp) -/* 02F2B8 8002E6B8 8E0200BC */ lw $v0, 0xbc($s0) -/* 02F2BC 8002E6BC 24010080 */ li $at, 128 -/* 02F2C0 8002E6C0 02002025 */ move $a0, $s0 -/* 02F2C4 8002E6C4 30480080 */ andi $t0, $v0, 0x80 -/* 02F2C8 8002E6C8 11010007 */ beq $t0, $at, .L8002E6E8 -/* 02F2CC 8002E6CC 304C0040 */ andi $t4, $v0, 0x40 -/* 02F2D0 8002E6D0 24010040 */ li $at, 64 -/* 02F2D4 8002E6D4 11810004 */ beq $t4, $at, .L8002E6E8 -/* 02F2D8 8002E6D8 3C030002 */ lui $v1, 2 -/* 02F2DC 8002E6DC 00435824 */ and $t3, $v0, $v1 -/* 02F2E0 8002E6E0 146B0022 */ bne $v1, $t3, .L8002E76C -/* 02F2E4 8002E6E4 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -.L8002E6E8: -/* 02F2E8 8002E6E8 3C01800F */ lui $at, %hi(D_800ED848) -/* 02F2EC 8002E6EC D422D848 */ ldc1 $f2, %lo(D_800ED848)($at) -/* 02F2F0 8002E6F0 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -/* 02F2F4 8002E6F4 44812000 */ mtc1 $at, $f4 -/* 02F2F8 8002E6F8 C6060064 */ lwc1 $f6, 0x64($s0) -/* 02F2FC 8002E6FC C6000100 */ lwc1 $f0, 0x100($s0) -/* 02F300 8002E700 46062202 */ mul.s $f8, $f4, $f6 -/* 02F304 8002E704 C6040140 */ lwc1 $f4, 0x140($s0) -/* 02F308 8002E708 46002187 */ neg.s $f6, $f4 -/* 02F30C 8002E70C 460042A1 */ cvt.d.s $f10, $f8 -/* 02F310 8002E710 46003202 */ mul.s $f8, $f6, $f0 -/* 02F314 8002E714 46004121 */ cvt.d.s $f4, $f8 -/* 02F318 8002E718 46222182 */ mul.d $f6, $f4, $f2 -/* 02F31C 8002E71C 462A3200 */ add.d $f8, $f6, $f10 -/* 02F320 8002E720 46204120 */ cvt.s.d $f4, $f8 -/* 02F324 8002E724 E7A40080 */ swc1 $f4, 0x80($sp) -/* 02F328 8002E728 C6060144 */ lwc1 $f6, 0x144($s0) -/* 02F32C 8002E72C 44812000 */ mtc1 $at, $f4 -/* 02F330 8002E730 46003287 */ neg.s $f10, $f6 -/* 02F334 8002E734 46005202 */ mul.s $f8, $f10, $f0 -/* 02F338 8002E738 E7A8007C */ swc1 $f8, 0x7c($sp) -/* 02F33C 8002E73C C606006C */ lwc1 $f6, 0x6c($s0) -/* 02F340 8002E740 46062282 */ mul.s $f10, $f4, $f6 -/* 02F344 8002E744 C6040148 */ lwc1 $f4, 0x148($s0) -/* 02F348 8002E748 46002187 */ neg.s $f6, $f4 -/* 02F34C 8002E74C 46005221 */ cvt.d.s $f8, $f10 -/* 02F350 8002E750 46003282 */ mul.s $f10, $f6, $f0 -/* 02F354 8002E754 46005121 */ cvt.d.s $f4, $f10 -/* 02F358 8002E758 46222182 */ mul.d $f6, $f4, $f2 -/* 02F35C 8002E75C 46283280 */ add.d $f10, $f6, $f8 -/* 02F360 8002E760 46205120 */ cvt.s.d $f4, $f10 -/* 02F364 8002E764 1000000B */ b .L8002E794 -/* 02F368 8002E768 E7A40078 */ swc1 $f4, 0x78($sp) -.L8002E76C: -/* 02F36C 8002E76C 44810000 */ mtc1 $at, $f0 -/* 02F370 8002E770 C6060064 */ lwc1 $f6, 0x64($s0) -/* 02F374 8002E774 46003202 */ mul.s $f8, $f6, $f0 -/* 02F378 8002E778 E7A80080 */ swc1 $f8, 0x80($sp) -/* 02F37C 8002E77C C60A0100 */ lwc1 $f10, 0x100($s0) -/* 02F380 8002E780 46005102 */ mul.s $f4, $f10, $f0 -/* 02F384 8002E784 E7A4007C */ swc1 $f4, 0x7c($sp) -/* 02F388 8002E788 C606006C */ lwc1 $f6, 0x6c($s0) -/* 02F38C 8002E78C 46003202 */ mul.s $f8, $f6, $f0 -/* 02F390 8002E790 E7A80078 */ swc1 $f8, 0x78($sp) -.L8002E794: -/* 02F394 8002E794 83A50107 */ lb $a1, 0x107($sp) -/* 02F398 8002E798 0C00B1F9 */ jal func_8002C7E4 -/* 02F39C 8002E79C 83A60103 */ lb $a2, 0x103($sp) -/* 02F3A0 8002E7A0 87A90046 */ lh $t1, 0x46($sp) -/* 02F3A4 8002E7A4 24010001 */ li $at, 1 -/* 02F3A8 8002E7A8 55210013 */ bnel $t1, $at, .L8002E7F8 -/* 02F3AC 8002E7AC 860F002E */ lh $t7, 0x2e($s0) -/* 02F3B0 8002E7B0 860A002E */ lh $t2, 0x2e($s0) -/* 02F3B4 8002E7B4 26040174 */ addiu $a0, $s0, 0x174 -/* 02F3B8 8002E7B8 8E050058 */ lw $a1, 0x58($s0) -/* 02F3BC 8002E7BC 8E06005C */ lw $a2, 0x5c($s0) -/* 02F3C0 8002E7C0 8E070060 */ lw $a3, 0x60($s0) -/* 02F3C4 8002E7C4 AFA40040 */ sw $a0, 0x40($sp) -/* 02F3C8 8002E7C8 0C0AD950 */ jal func_802B6540 -/* 02F3CC 8002E7CC AFAA0010 */ sw $t2, 0x10($sp) -/* 02F3D0 8002E7D0 860D00AE */ lh $t5, 0xae($s0) -/* 02F3D4 8002E7D4 8E050058 */ lw $a1, 0x58($s0) -/* 02F3D8 8002E7D8 8E06005C */ lw $a2, 0x5c($s0) -/* 02F3DC 8002E7DC 8E070060 */ lw $a3, 0x60($s0) -/* 02F3E0 8002E7E0 26040150 */ addiu $a0, $s0, 0x150 -/* 02F3E4 8002E7E4 0C0AD950 */ jal func_802B6540 -/* 02F3E8 8002E7E8 AFAD0010 */ sw $t5, 0x10($sp) -/* 02F3EC 8002E7EC 1000000A */ b .L8002E818 -/* 02F3F0 8002E7F0 02002025 */ move $a0, $s0 -/* 02F3F4 8002E7F4 860F002E */ lh $t7, 0x2e($s0) -.L8002E7F8: -/* 02F3F8 8002E7F8 26040174 */ addiu $a0, $s0, 0x174 -/* 02F3FC 8002E7FC 8E050058 */ lw $a1, 0x58($s0) -/* 02F400 8002E800 8E06005C */ lw $a2, 0x5c($s0) -/* 02F404 8002E804 8E070060 */ lw $a3, 0x60($s0) -/* 02F408 8002E808 AFA40040 */ sw $a0, 0x40($sp) -/* 02F40C 8002E80C 0C0AD950 */ jal func_802B6540 -/* 02F410 8002E810 AFAF0010 */ sw $t7, 0x10($sp) -/* 02F414 8002E814 02002025 */ move $a0, $s0 -.L8002E818: -/* 02F418 8002E818 0C00C054 */ jal func_80030150 -/* 02F41C 8002E81C 83A50107 */ lb $a1, 0x107($sp) -/* 02F420 8002E820 87AE0046 */ lh $t6, 0x46($sp) -/* 02F424 8002E824 24010001 */ li $at, 1 -/* 02F428 8002E828 E7A000F4 */ swc1 $f0, 0xf4($sp) -/* 02F42C 8002E82C 15C10005 */ bne $t6, $at, .L8002E844 -/* 02F430 8002E830 27A400EC */ addiu $a0, $sp, 0xec -/* 02F434 8002E834 0C0AD8EE */ jal func_802B63B8 -/* 02F438 8002E838 26050150 */ addiu $a1, $s0, 0x150 -/* 02F43C 8002E83C 10000005 */ b .L8002E854 -/* 02F440 8002E840 C60A0034 */ lwc1 $f10, 0x34($s0) -.L8002E844: -/* 02F444 8002E844 27A400EC */ addiu $a0, $sp, 0xec -/* 02F448 8002E848 0C0AD8EE */ jal func_802B63B8 -/* 02F44C 8002E84C 8FA50040 */ lw $a1, 0x40($sp) -/* 02F450 8002E850 C60A0034 */ lwc1 $f10, 0x34($s0) -.L8002E854: -/* 02F454 8002E854 E7AA0054 */ swc1 $f10, 0x54($sp) -/* 02F458 8002E858 C6040038 */ lwc1 $f4, 0x38($s0) -/* 02F45C 8002E85C E7A40058 */ swc1 $f4, 0x58($sp) -/* 02F460 8002E860 C606003C */ lwc1 $f6, 0x3c($s0) -/* 02F464 8002E864 E7A6005C */ swc1 $f6, 0x5c($sp) -/* 02F468 8002E868 8619010C */ lh $t9, 0x10c($s0) -/* 02F46C 8002E86C 2B210003 */ slti $at, $t9, 3 -/* 02F470 8002E870 50200049 */ beql $at, $zero, .L8002E998 -/* 02F474 8002E874 C7AA0054 */ lwc1 $f10, 0x54($sp) -/* 02F478 8002E878 96180256 */ lhu $t8, 0x256($s0) -/* 02F47C 8002E87C 2B010003 */ slti $at, $t8, 3 -/* 02F480 8002E880 50200045 */ beql $at, $zero, .L8002E998 -/* 02F484 8002E884 C7AA0054 */ lwc1 $f10, 0x54($sp) -/* 02F488 8002E888 8E0200BC */ lw $v0, 0xbc($s0) -/* 02F48C 8002E88C 24010400 */ li $at, 1024 -/* 02F490 8002E890 30480400 */ andi $t0, $v0, 0x400 -/* 02F494 8002E894 1101003F */ beq $t0, $at, .L8002E994 -/* 02F498 8002E898 3C010100 */ lui $at, 0x100 -/* 02F49C 8002E89C 00416024 */ and $t4, $v0, $at -/* 02F4A0 8002E8A0 1181003C */ beq $t4, $at, .L8002E994 -/* 02F4A4 8002E8A4 3C010200 */ lui $at, 0x200 -/* 02F4A8 8002E8A8 00415824 */ and $t3, $v0, $at -/* 02F4AC 8002E8AC 11610039 */ beq $t3, $at, .L8002E994 -/* 02F4B0 8002E8B0 C7A80054 */ lwc1 $f8, 0x54($sp) -/* 02F4B4 8002E8B4 C7AA00EC */ lwc1 $f10, 0xec($sp) -/* 02F4B8 8002E8B8 C7A40080 */ lwc1 $f4, 0x80($sp) -/* 02F4BC 8002E8BC 46004021 */ cvt.d.s $f0, $f8 -/* 02F4C0 8002E8C0 C7A800D4 */ lwc1 $f8, 0xd4($sp) -/* 02F4C4 8002E8C4 46045180 */ add.s $f6, $f10, $f4 -/* 02F4C8 8002E8C8 3C01800F */ lui $at, %hi(D_800ED850) -/* 02F4CC 8002E8CC D42CD850 */ ldc1 $f12, %lo(D_800ED850)($at) -/* 02F4D0 8002E8D0 3C01800F */ lui $at, %hi(D_800ED858) -/* 02F4D4 8002E8D4 46083280 */ add.s $f10, $f6, $f8 -/* 02F4D8 8002E8D8 C60600FC */ lwc1 $f6, 0xfc($s0) -/* 02F4DC 8002E8DC D42ED858 */ ldc1 $f14, %lo(D_800ED858)($at) -/* 02F4E0 8002E8E0 3C0140A0 */ li $at, 0x40A00000 # 5.000000 -/* 02F4E4 8002E8E4 46003221 */ cvt.d.s $f8, $f6 -/* 02F4E8 8002E8E8 46005121 */ cvt.d.s $f4, $f10 -/* 02F4EC 8002E8EC 46287282 */ mul.d $f10, $f14, $f8 -/* 02F4F0 8002E8F0 44818000 */ mtc1 $at, $f16 -/* 02F4F4 8002E8F4 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 02F4F8 8002E8F8 462A0182 */ mul.d $f6, $f0, $f10 -/* 02F4FC 8002E8FC 46262201 */ sub.d $f8, $f4, $f6 -/* 02F500 8002E900 C604020C */ lwc1 $f4, 0x20c($s0) -/* 02F504 8002E904 462C4283 */ div.d $f10, $f8, $f12 -/* 02F508 8002E908 46102182 */ mul.s $f6, $f4, $f16 -/* 02F50C 8002E90C 44814000 */ mtc1 $at, $f8 -/* 02F510 8002E910 00000000 */ nop -/* 02F514 8002E914 46083100 */ add.s $f4, $f6, $f8 -/* 02F518 8002E918 460021A1 */ cvt.d.s $f6, $f4 -/* 02F51C 8002E91C 46265203 */ div.d $f8, $f10, $f6 -/* 02F520 8002E920 C7A6005C */ lwc1 $f6, 0x5c($sp) -/* 02F524 8002E924 460030A1 */ cvt.d.s $f2, $f6 -/* 02F528 8002E928 C7A600DC */ lwc1 $f6, 0xdc($sp) -/* 02F52C 8002E92C 46280100 */ add.d $f4, $f0, $f8 -/* 02F530 8002E930 C7A800F4 */ lwc1 $f8, 0xf4($sp) -/* 02F534 8002E934 462022A0 */ cvt.s.d $f10, $f4 -/* 02F538 8002E938 C7A40078 */ lwc1 $f4, 0x78($sp) -/* 02F53C 8002E93C E7AA0054 */ swc1 $f10, 0x54($sp) -/* 02F540 8002E940 46044280 */ add.s $f10, $f8, $f4 -/* 02F544 8002E944 46065200 */ add.s $f8, $f10, $f6 -/* 02F548 8002E948 C60A00FC */ lwc1 $f10, 0xfc($s0) -/* 02F54C 8002E94C 460051A1 */ cvt.d.s $f6, $f10 -/* 02F550 8002E950 46004121 */ cvt.d.s $f4, $f8 -/* 02F554 8002E954 46267202 */ mul.d $f8, $f14, $f6 -/* 02F558 8002E958 00000000 */ nop -/* 02F55C 8002E95C 46281282 */ mul.d $f10, $f2, $f8 -/* 02F560 8002E960 462A2181 */ sub.d $f6, $f4, $f10 -/* 02F564 8002E964 C604020C */ lwc1 $f4, 0x20c($s0) -/* 02F568 8002E968 462C3203 */ div.d $f8, $f6, $f12 -/* 02F56C 8002E96C 46102282 */ mul.s $f10, $f4, $f16 -/* 02F570 8002E970 44813000 */ mtc1 $at, $f6 -/* 02F574 8002E974 00000000 */ nop -/* 02F578 8002E978 46065100 */ add.s $f4, $f10, $f6 -/* 02F57C 8002E97C 460022A1 */ cvt.d.s $f10, $f4 -/* 02F580 8002E980 462A4183 */ div.d $f6, $f8, $f10 -/* 02F584 8002E984 46261100 */ add.d $f4, $f2, $f6 -/* 02F588 8002E988 46202220 */ cvt.s.d $f8, $f4 -/* 02F58C 8002E98C 1000002D */ b .L8002EA44 -/* 02F590 8002E990 E7A8005C */ swc1 $f8, 0x5c($sp) -.L8002E994: -/* 02F594 8002E994 C7AA0054 */ lwc1 $f10, 0x54($sp) -.L8002E998: -/* 02F598 8002E998 C7A600EC */ lwc1 $f6, 0xec($sp) -/* 02F59C 8002E99C C7A40080 */ lwc1 $f4, 0x80($sp) -/* 02F5A0 8002E9A0 46005021 */ cvt.d.s $f0, $f10 -/* 02F5A4 8002E9A4 C7AA00D4 */ lwc1 $f10, 0xd4($sp) -/* 02F5A8 8002E9A8 46043200 */ add.s $f8, $f6, $f4 -/* 02F5AC 8002E9AC 3C01800F */ lui $at, %hi(D_800ED860) -/* 02F5B0 8002E9B0 D42CD860 */ ldc1 $f12, %lo(D_800ED860)($at) -/* 02F5B4 8002E9B4 3C01800F */ lui $at, %hi(D_800ED868) -/* 02F5B8 8002E9B8 460A4180 */ add.s $f6, $f8, $f10 -/* 02F5BC 8002E9BC C60800FC */ lwc1 $f8, 0xfc($s0) -/* 02F5C0 8002E9C0 D42ED868 */ ldc1 $f14, %lo(D_800ED868)($at) -/* 02F5C4 8002E9C4 3C01800F */ lui $at, %hi(D_800ED870) -/* 02F5C8 8002E9C8 460042A1 */ cvt.d.s $f10, $f8 -/* 02F5CC 8002E9CC 46003121 */ cvt.d.s $f4, $f6 -/* 02F5D0 8002E9D0 462A7182 */ mul.d $f6, $f14, $f10 -/* 02F5D4 8002E9D4 D430D870 */ ldc1 $f16, %lo(D_800ED870)($at) -/* 02F5D8 8002E9D8 3C01800F */ lui $at, %hi(D_800ED878) -/* 02F5DC 8002E9DC 46260202 */ mul.d $f8, $f0, $f6 -/* 02F5E0 8002E9E0 46282281 */ sub.d $f10, $f4, $f8 -/* 02F5E4 8002E9E4 462C5183 */ div.d $f6, $f10, $f12 -/* 02F5E8 8002E9E8 46303102 */ mul.d $f4, $f6, $f16 -/* 02F5EC 8002E9EC C7A6005C */ lwc1 $f6, 0x5c($sp) -/* 02F5F0 8002E9F0 460030A1 */ cvt.d.s $f2, $f6 -/* 02F5F4 8002E9F4 C7A600DC */ lwc1 $f6, 0xdc($sp) -/* 02F5F8 8002E9F8 46240200 */ add.d $f8, $f0, $f4 -/* 02F5FC 8002E9FC C7A400F4 */ lwc1 $f4, 0xf4($sp) -/* 02F600 8002EA00 462042A0 */ cvt.s.d $f10, $f8 -/* 02F604 8002EA04 C7A80078 */ lwc1 $f8, 0x78($sp) -/* 02F608 8002EA08 E7AA0054 */ swc1 $f10, 0x54($sp) -/* 02F60C 8002EA0C 46082280 */ add.s $f10, $f4, $f8 -/* 02F610 8002EA10 46065100 */ add.s $f4, $f10, $f6 -/* 02F614 8002EA14 C60A00FC */ lwc1 $f10, 0xfc($s0) -/* 02F618 8002EA18 460051A1 */ cvt.d.s $f6, $f10 -/* 02F61C 8002EA1C 46002221 */ cvt.d.s $f8, $f4 -/* 02F620 8002EA20 46267102 */ mul.d $f4, $f14, $f6 -/* 02F624 8002EA24 D42ED878 */ ldc1 $f14, %lo(D_800ED878)($at) -/* 02F628 8002EA28 46241282 */ mul.d $f10, $f2, $f4 -/* 02F62C 8002EA2C 462A4181 */ sub.d $f6, $f8, $f10 -/* 02F630 8002EA30 462C3103 */ div.d $f4, $f6, $f12 -/* 02F634 8002EA34 46302202 */ mul.d $f8, $f4, $f16 -/* 02F638 8002EA38 46281280 */ add.d $f10, $f2, $f8 -/* 02F63C 8002EA3C 462051A0 */ cvt.s.d $f6, $f10 -/* 02F640 8002EA40 E7A6005C */ swc1 $f6, 0x5c($sp) -.L8002EA44: -/* 02F644 8002EA44 C7A40058 */ lwc1 $f4, 0x58($sp) -/* 02F648 8002EA48 C7A800F0 */ lwc1 $f8, 0xf0($sp) -/* 02F64C 8002EA4C C7AA007C */ lwc1 $f10, 0x7c($sp) -/* 02F650 8002EA50 46002021 */ cvt.d.s $f0, $f4 -/* 02F654 8002EA54 C7A400D8 */ lwc1 $f4, 0xd8($sp) -/* 02F658 8002EA58 460A4180 */ add.s $f6, $f8, $f10 -/* 02F65C 8002EA5C 24010002 */ li $at, 2 -/* 02F660 8002EA60 46043200 */ add.s $f8, $f6, $f4 -/* 02F664 8002EA64 C60600FC */ lwc1 $f6, 0xfc($s0) -/* 02F668 8002EA68 46003121 */ cvt.d.s $f4, $f6 -/* 02F66C 8002EA6C 460042A1 */ cvt.d.s $f10, $f8 -/* 02F670 8002EA70 46247202 */ mul.d $f8, $f14, $f4 -/* 02F674 8002EA74 00000000 */ nop -/* 02F678 8002EA78 46280182 */ mul.d $f6, $f0, $f8 -/* 02F67C 8002EA7C 46265101 */ sub.d $f4, $f10, $f6 -/* 02F680 8002EA80 C60A0DAC */ lwc1 $f10, 0xdac($s0) -/* 02F684 8002EA84 462C2203 */ div.d $f8, $f4, $f12 -/* 02F688 8002EA88 460051A1 */ cvt.d.s $f6, $f10 -/* 02F68C 8002EA8C 46264103 */ div.d $f4, $f8, $f6 -/* 02F690 8002EA90 46240280 */ add.d $f10, $f0, $f4 -/* 02F694 8002EA94 46205220 */ cvt.s.d $f8, $f10 -/* 02F698 8002EA98 E7A80058 */ swc1 $f8, 0x58($sp) -/* 02F69C 8002EA9C 860200CA */ lh $v0, 0xca($s0) -/* 02F6A0 8002EAA0 30490002 */ andi $t1, $v0, 2 -/* 02F6A4 8002EAA4 11210005 */ beq $t1, $at, .L8002EABC -/* 02F6A8 8002EAA8 00000000 */ nop -/* 02F6AC 8002EAAC 304A0008 */ andi $t2, $v0, 8 -/* 02F6B0 8002EAB0 24010008 */ li $at, 8 -/* 02F6B4 8002EAB4 55410007 */ bnel $t2, $at, .L8002EAD4 -/* 02F6B8 8002EAB8 C6000014 */ lwc1 $f0, 0x14($s0) -.L8002EABC: -/* 02F6BC 8002EABC 44800000 */ mtc1 $zero, $f0 -/* 02F6C0 8002EAC0 00000000 */ nop -/* 02F6C4 8002EAC4 E7A00058 */ swc1 $f0, 0x58($sp) -/* 02F6C8 8002EAC8 E7A00054 */ swc1 $f0, 0x54($sp) -/* 02F6CC 8002EACC E7A0005C */ swc1 $f0, 0x5c($sp) -/* 02F6D0 8002EAD0 C6000014 */ lwc1 $f0, 0x14($s0) -.L8002EAD4: -/* 02F6D4 8002EAD4 3C0E8019 */ lui $t6, %hi(D_8018CE10) # $t6, 0x8019 -/* 02F6D8 8002EAD8 25CECE10 */ addiu $t6, %lo(D_8018CE10) # addiu $t6, $t6, -0x31f0 -/* 02F6DC 8002EADC E7A000BC */ swc1 $f0, 0xbc($sp) -/* 02F6E0 8002EAE0 C6020018 */ lwc1 $f2, 0x18($s0) -/* 02F6E4 8002EAE4 C612001C */ lwc1 $f18, 0x1c($s0) -/* 02F6E8 8002EAE8 E6000020 */ swc1 $f0, 0x20($s0) -/* 02F6EC 8002EAEC E6020024 */ swc1 $f2, 0x24($s0) -/* 02F6F0 8002EAF0 E6120028 */ swc1 $f18, 0x28($s0) -/* 02F6F4 8002EAF4 83AD0107 */ lb $t5, 0x107($sp) -/* 02F6F8 8002EAF8 C6040034 */ lwc1 $f4, 0x34($s0) -/* 02F6FC 8002EAFC 02002025 */ move $a0, $s0 -/* 02F700 8002EB00 000D7940 */ sll $t7, $t5, 5 -/* 02F704 8002EB04 46040280 */ add.s $f10, $f0, $f4 -/* 02F708 8002EB08 01EE1021 */ addu $v0, $t7, $t6 -/* 02F70C 8002EB0C C4460004 */ lwc1 $f6, 4($v0) -/* 02F710 8002EB10 460A3200 */ add.s $f8, $f6, $f10 -/* 02F714 8002EB14 C44A000C */ lwc1 $f10, 0xc($v0) -/* 02F718 8002EB18 E7A800D0 */ swc1 $f8, 0xd0($sp) -/* 02F71C 8002EB1C C6040038 */ lwc1 $f4, 0x38($s0) -/* 02F720 8002EB20 46022180 */ add.s $f6, $f4, $f2 -/* 02F724 8002EB24 E7A600CC */ swc1 $f6, 0xcc($sp) -/* 02F728 8002EB28 C608003C */ lwc1 $f8, 0x3c($s0) -/* 02F72C 8002EB2C E7B200B4 */ swc1 $f18, 0xb4($sp) -/* 02F730 8002EB30 46089100 */ add.s $f4, $f18, $f8 -/* 02F734 8002EB34 46045180 */ add.s $f6, $f10, $f4 -/* 02F738 8002EB38 0C00AAB0 */ jal func_8002AAC0 -/* 02F73C 8002EB3C E7A600C8 */ swc1 $f6, 0xc8($sp) -/* 02F740 8002EB40 C7A800CC */ lwc1 $f8, 0xcc($sp) -/* 02F744 8002EB44 C60A00EC */ lwc1 $f10, 0xec($s0) -/* 02F748 8002EB48 C7A600C8 */ lwc1 $f6, 0xc8($sp) -/* 02F74C 8002EB4C 26040110 */ addiu $a0, $s0, 0x110 -/* 02F750 8002EB50 460A4100 */ add.s $f4, $f8, $f10 -/* 02F754 8002EB54 8FA600D0 */ lw $a2, 0xd0($sp) -/* 02F758 8002EB58 E7A400CC */ swc1 $f4, 0xcc($sp) -/* 02F75C 8002EB5C 8E050070 */ lw $a1, 0x70($s0) -/* 02F760 8002EB60 E7A60010 */ swc1 $f6, 0x10($sp) -/* 02F764 8002EB64 C6080020 */ lwc1 $f8, 0x20($s0) -/* 02F768 8002EB68 44072000 */ mfc1 $a3, $f4 -/* 02F76C 8002EB6C E7A80014 */ swc1 $f8, 0x14($sp) -/* 02F770 8002EB70 C60A0024 */ lwc1 $f10, 0x24($s0) -/* 02F774 8002EB74 E7AA0018 */ swc1 $f10, 0x18($sp) -/* 02F778 8002EB78 C6040028 */ lwc1 $f4, 0x28($s0) -/* 02F77C 8002EB7C 0C0AB654 */ jal func_802AD950 -/* 02F780 8002EB80 E7A4001C */ swc1 $f4, 0x1c($sp) -/* 02F784 8002EB84 44800000 */ mtc1 $zero, $f0 -/* 02F788 8002EB88 8E1900BC */ lw $t9, 0xbc($s0) -/* 02F78C 8002EB8C 860800C2 */ lh $t0, 0xc2($s0) -/* 02F790 8002EB90 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 02F794 8002EB94 44813000 */ mtc1 $at, $f6 -/* 02F798 8002EB98 C6080124 */ lwc1 $f8, 0x124($s0) -/* 02F79C 8002EB9C 37380008 */ ori $t8, $t9, 8 -/* 02F7A0 8002EBA0 250C0001 */ addiu $t4, $t0, 1 -/* 02F7A4 8002EBA4 AE1800BC */ sw $t8, 0xbc($s0) -/* 02F7A8 8002EBA8 A60C00C2 */ sh $t4, 0xc2($s0) -/* 02F7AC 8002EBAC E6000058 */ swc1 $f0, 0x58($s0) -/* 02F7B0 8002EBB0 E6000060 */ swc1 $f0, 0x60($s0) -/* 02F7B4 8002EBB4 E606005C */ swc1 $f6, 0x5c($s0) -/* 02F7B8 8002EBB8 E7A80074 */ swc1 $f8, 0x74($sp) -/* 02F7BC 8002EBBC C7AA0074 */ lwc1 $f10, 0x74($sp) -/* 02F7C0 8002EBC0 4600503E */ c.le.s $f10, $f0 -/* 02F7C4 8002EBC4 00000000 */ nop -/* 02F7C8 8002EBC8 450200C1 */ bc1fl .L8002EED0 -/* 02F7CC 8002EBCC C6080124 */ lwc1 $f8, 0x124($s0) -/* 02F7D0 8002EBD0 8E0B00BC */ lw $t3, 0xbc($s0) -/* 02F7D4 8002EBD4 2401FFFD */ li $at, -3 -/* 02F7D8 8002EBD8 3C030100 */ lui $v1, 0x100 -/* 02F7DC 8002EBDC 01614824 */ and $t1, $t3, $at -/* 02F7E0 8002EBE0 2401FFF7 */ li $at, -9 -/* 02F7E4 8002EBE4 01216824 */ and $t5, $t1, $at -/* 02F7E8 8002EBE8 AE0900BC */ sw $t1, 0xbc($s0) -/* 02F7EC 8002EBEC 31AF0400 */ andi $t7, $t5, 0x400 -/* 02F7F0 8002EBF0 24010400 */ li $at, 1024 -/* 02F7F4 8002EBF4 11E10065 */ beq $t7, $at, .L8002ED8C -/* 02F7F8 8002EBF8 AE0D00BC */ sw $t5, 0xbc($s0) -/* 02F7FC 8002EBFC 01A37024 */ and $t6, $t5, $v1 -/* 02F800 8002EC00 106E0062 */ beq $v1, $t6, .L8002ED8C -/* 02F804 8002EC04 3C030200 */ lui $v1, 0x200 -/* 02F808 8002EC08 01A3C824 */ and $t9, $t5, $v1 -/* 02F80C 8002EC0C 50790060 */ beql $v1, $t9, .L8002ED90 -/* 02F810 8002EC10 860200C2 */ lh $v0, 0xc2($s0) -/* 02F814 8002EC14 860200C2 */ lh $v0, 0xc2($s0) -/* 02F818 8002EC18 2841001C */ slti $at, $v0, 0x1c -/* 02F81C 8002EC1C 14200027 */ bnez $at, .L8002ECBC -/* 02F820 8002EC20 28410032 */ slti $at, $v0, 0x32 -/* 02F824 8002EC24 14200002 */ bnez $at, .L8002EC30 -/* 02F828 8002EC28 24180032 */ li $t8, 50 -/* 02F82C 8002EC2C A61800C2 */ sh $t8, 0xc2($s0) -.L8002EC30: -/* 02F830 8002EC30 960800B6 */ lhu $t0, 0xb6($s0) -/* 02F834 8002EC34 96030000 */ lhu $v1, ($s0) -/* 02F838 8002EC38 3C014040 */ li $at, 0x40400000 # 3.000000 -/* 02F83C 8002EC3C 44812000 */ mtc1 $at, $f4 -/* 02F840 8002EC40 24014000 */ li $at, 16384 -/* 02F844 8002EC44 350C0100 */ ori $t4, $t0, 0x100 -/* 02F848 8002EC48 30624000 */ andi $v0, $v1, 0x4000 -/* 02F84C 8002EC4C A6000DCC */ sh $zero, 0xdcc($s0) -/* 02F850 8002EC50 A60C00B6 */ sh $t4, 0xb6($s0) -/* 02F854 8002EC54 14410013 */ bne $v0, $at, .L8002ECA4 -/* 02F858 8002EC58 E6040DC0 */ swc1 $f4, 0xdc0($s0) -/* 02F85C 8002EC5C 306B0100 */ andi $t3, $v1, 0x100 -/* 02F860 8002EC60 24010100 */ li $at, 256 -/* 02F864 8002EC64 51610010 */ beql $t3, $at, .L8002ECA8 -/* 02F868 8002EC68 24014000 */ li $at, 16384 -/* 02F86C 8002EC6C 860900C2 */ lh $t1, 0xc2($s0) -/* 02F870 8002EC70 3C014248 */ li $at, 0x42480000 # 50.000000 -/* 02F874 8002EC74 44815000 */ mtc1 $at, $f10 -/* 02F878 8002EC78 44893000 */ mtc1 $t1, $f6 -/* 02F87C 8002EC7C 93A40107 */ lbu $a0, 0x107($sp) -/* 02F880 8002EC80 46803220 */ cvt.s.w $f8, $f6 -/* 02F884 8002EC84 460A4103 */ div.s $f4, $f8, $f10 -/* 02F888 8002EC88 44052000 */ mfc1 $a1, $f4 -/* 02F88C 8002EC8C 0C032B74 */ jal func_800CADD0 -/* 02F890 8002EC90 00000000 */ nop -/* 02F894 8002EC94 96020000 */ lhu $v0, ($s0) -/* 02F898 8002EC98 44800000 */ mtc1 $zero, $f0 -/* 02F89C 8002EC9C 304A4000 */ andi $t2, $v0, 0x4000 -/* 02F8A0 8002ECA0 01401025 */ move $v0, $t2 -.L8002ECA4: -/* 02F8A4 8002ECA4 24014000 */ li $at, 16384 -.L8002ECA8: -/* 02F8A8 8002ECA8 54410005 */ bnel $v0, $at, .L8002ECC0 -/* 02F8AC 8002ECAC 860200C2 */ lh $v0, 0xc2($s0) -/* 02F8B0 8002ECB0 860D0044 */ lh $t5, 0x44($s0) -/* 02F8B4 8002ECB4 35AF0100 */ ori $t7, $t5, 0x100 -/* 02F8B8 8002ECB8 A60F0044 */ sh $t7, 0x44($s0) -.L8002ECBC: -/* 02F8BC 8002ECBC 860200C2 */ lh $v0, 0xc2($s0) -.L8002ECC0: -/* 02F8C0 8002ECC0 2841001C */ slti $at, $v0, 0x1c -/* 02F8C4 8002ECC4 1020002F */ beqz $at, .L8002ED84 -/* 02F8C8 8002ECC8 2841000A */ slti $at, $v0, 0xa -/* 02F8CC 8002ECCC 1420002D */ bnez $at, .L8002ED84 -/* 02F8D0 8002ECD0 3C014190 */ li $at, 0x41900000 # 18.000000 -/* 02F8D4 8002ECD4 44814000 */ mtc1 $at, $f8 -/* 02F8D8 8002ECD8 C6060094 */ lwc1 $f6, 0x94($s0) -/* 02F8DC 8002ECDC 3C014358 */ li $at, 0x43580000 # 216.000000 -/* 02F8E0 8002ECE0 44812000 */ mtc1 $at, $f4 -/* 02F8E4 8002ECE4 46083283 */ div.s $f10, $f6, $f8 -/* 02F8E8 8002ECE8 3C0141A0 */ li $at, 0x41A00000 # 20.000000 -/* 02F8EC 8002ECEC 44814000 */ mtc1 $at, $f8 -/* 02F8F0 8002ECF0 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 02F8F4 8002ECF4 46045182 */ mul.s $f6, $f10, $f4 -/* 02F8F8 8002ECF8 4606403E */ c.le.s $f8, $f6 -/* 02F8FC 8002ECFC 00000000 */ nop -/* 02F900 8002ED00 45000020 */ bc1f .L8002ED84 -/* 02F904 8002ED04 00000000 */ nop -/* 02F908 8002ED08 96030000 */ lhu $v1, ($s0) -/* 02F90C 8002ED0C 44815000 */ mtc1 $at, $f10 -/* 02F910 8002ED10 24014000 */ li $at, 16384 -/* 02F914 8002ED14 30624000 */ andi $v0, $v1, 0x4000 -/* 02F918 8002ED18 A6000DCC */ sh $zero, 0xdcc($s0) -/* 02F91C 8002ED1C 14410013 */ bne $v0, $at, .L8002ED6C -/* 02F920 8002ED20 E60A0DC0 */ swc1 $f10, 0xdc0($s0) -/* 02F924 8002ED24 306E0100 */ andi $t6, $v1, 0x100 -/* 02F928 8002ED28 24010100 */ li $at, 256 -/* 02F92C 8002ED2C 51C10010 */ beql $t6, $at, .L8002ED70 -/* 02F930 8002ED30 24014000 */ li $at, 16384 -/* 02F934 8002ED34 861900C2 */ lh $t9, 0xc2($s0) -/* 02F938 8002ED38 3C014248 */ li $at, 0x42480000 # 50.000000 -/* 02F93C 8002ED3C 44814000 */ mtc1 $at, $f8 -/* 02F940 8002ED40 44992000 */ mtc1 $t9, $f4 -/* 02F944 8002ED44 93A40107 */ lbu $a0, 0x107($sp) -/* 02F948 8002ED48 468021A0 */ cvt.s.w $f6, $f4 -/* 02F94C 8002ED4C 46083283 */ div.s $f10, $f6, $f8 -/* 02F950 8002ED50 44055000 */ mfc1 $a1, $f10 -/* 02F954 8002ED54 0C032B74 */ jal func_800CADD0 -/* 02F958 8002ED58 00000000 */ nop -/* 02F95C 8002ED5C 96020000 */ lhu $v0, ($s0) -/* 02F960 8002ED60 44800000 */ mtc1 $zero, $f0 -/* 02F964 8002ED64 30584000 */ andi $t8, $v0, 0x4000 -/* 02F968 8002ED68 03001025 */ move $v0, $t8 -.L8002ED6C: -/* 02F96C 8002ED6C 24014000 */ li $at, 16384 -.L8002ED70: -/* 02F970 8002ED70 14410004 */ bne $v0, $at, .L8002ED84 -/* 02F974 8002ED74 00000000 */ nop -/* 02F978 8002ED78 86080044 */ lh $t0, 0x44($s0) -/* 02F97C 8002ED7C 350C0100 */ ori $t4, $t0, 0x100 -/* 02F980 8002ED80 A60C0044 */ sh $t4, 0x44($s0) -.L8002ED84: -/* 02F984 8002ED84 1000004C */ b .L8002EEB8 -/* 02F988 8002ED88 A60000C2 */ sh $zero, 0xc2($s0) -.L8002ED8C: -/* 02F98C 8002ED8C 860200C2 */ lh $v0, 0xc2($s0) -.L8002ED90: -/* 02F990 8002ED90 2841000A */ slti $at, $v0, 0xa -/* 02F994 8002ED94 14200047 */ bnez $at, .L8002EEB4 -/* 02F998 8002ED98 28410032 */ slti $at, $v0, 0x32 -/* 02F99C 8002ED9C 14200003 */ bnez $at, .L8002EDAC -/* 02F9A0 8002EDA0 240B0032 */ li $t3, 50 -/* 02F9A4 8002EDA4 A60B00C2 */ sh $t3, 0xc2($s0) -/* 02F9A8 8002EDA8 860200C2 */ lh $v0, 0xc2($s0) -.L8002EDAC: -/* 02F9AC 8002EDAC 96030000 */ lhu $v1, ($s0) -/* 02F9B0 8002EDB0 24014000 */ li $at, 16384 -/* 02F9B4 8002EDB4 30694000 */ andi $t1, $v1, 0x4000 -/* 02F9B8 8002EDB8 1521000F */ bne $t1, $at, .L8002EDF8 -/* 02F9BC 8002EDBC 306A0100 */ andi $t2, $v1, 0x100 -/* 02F9C0 8002EDC0 24010100 */ li $at, 256 -/* 02F9C4 8002EDC4 5141000D */ beql $t2, $at, .L8002EDFC -/* 02F9C8 8002EDC8 28410028 */ slti $at, $v0, 0x28 -/* 02F9CC 8002EDCC 44822000 */ mtc1 $v0, $f4 -/* 02F9D0 8002EDD0 3C0141A0 */ li $at, 0x41A00000 # 20.000000 -/* 02F9D4 8002EDD4 44814000 */ mtc1 $at, $f8 -/* 02F9D8 8002EDD8 468021A0 */ cvt.s.w $f6, $f4 -/* 02F9DC 8002EDDC 93A40107 */ lbu $a0, 0x107($sp) -/* 02F9E0 8002EDE0 46083283 */ div.s $f10, $f6, $f8 -/* 02F9E4 8002EDE4 44055000 */ mfc1 $a1, $f10 -/* 02F9E8 8002EDE8 0C032B74 */ jal func_800CADD0 -/* 02F9EC 8002EDEC 00000000 */ nop -/* 02F9F0 8002EDF0 44800000 */ mtc1 $zero, $f0 -/* 02F9F4 8002EDF4 860200C2 */ lh $v0, 0xc2($s0) -.L8002EDF8: -/* 02F9F8 8002EDF8 28410028 */ slti $at, $v0, 0x28 -.L8002EDFC: -/* 02F9FC 8002EDFC 14200003 */ bnez $at, .L8002EE0C -/* 02FA00 8002EE00 240D0014 */ li $t5, 20 -/* 02FA04 8002EE04 A60D00C2 */ sh $t5, 0xc2($s0) -/* 02FA08 8002EE08 860200C2 */ lh $v0, 0xc2($s0) -.L8002EE0C: -/* 02FA0C 8002EE0C 8E0F00BC */ lw $t7, 0xbc($s0) -/* 02FA10 8002EE10 24010400 */ li $at, 1024 -/* 02FA14 8002EE14 31EE0400 */ andi $t6, $t7, 0x400 -/* 02FA18 8002EE18 55C10011 */ bnel $t6, $at, .L8002EE60 -/* 02FA1C 8002EE1C 44824000 */ mtc1 $v0, $f8 -/* 02FA20 8002EE20 44822000 */ mtc1 $v0, $f4 -/* 02FA24 8002EE24 3C01401A */ li $at, 0x401A0000 # 2.406250 -/* 02FA28 8002EE28 44814800 */ mtc1 $at, $f9 -/* 02FA2C 8002EE2C 468021A1 */ cvt.d.w $f6, $f4 -/* 02FA30 8002EE30 44804000 */ mtc1 $zero, $f8 -/* 02FA34 8002EE34 3C01800F */ lui $at, %hi(D_800ED880) # $at, 0x800f -/* 02FA38 8002EE38 46283283 */ div.d $f10, $f6, $f8 -/* 02FA3C 8002EE3C 4620510D */ trunc.w.d $f4, $f10 -/* 02FA40 8002EE40 44182000 */ mfc1 $t8, $f4 -/* 02FA44 8002EE44 00000000 */ nop -/* 02FA48 8002EE48 A61800C2 */ sh $t8, 0xc2($s0) -/* 02FA4C 8002EE4C C426D880 */ lwc1 $f6, %lo(D_800ED880)($at) -/* 02FA50 8002EE50 E60000F4 */ swc1 $f0, 0xf4($s0) -/* 02FA54 8002EE54 10000018 */ b .L8002EEB8 -/* 02FA58 8002EE58 E60600F0 */ swc1 $f6, 0xf0($s0) -/* 02FA5C 8002EE5C 44824000 */ mtc1 $v0, $f8 -.L8002EE60: -/* 02FA60 8002EE60 3C01401E */ li $at, 0x401E0000 # 2.468750 -/* 02FA64 8002EE64 44812800 */ mtc1 $at, $f5 -/* 02FA68 8002EE68 468042A1 */ cvt.d.w $f10, $f8 -/* 02FA6C 8002EE6C 44802000 */ mtc1 $zero, $f4 -/* 02FA70 8002EE70 960B0000 */ lhu $t3, ($s0) -/* 02FA74 8002EE74 3C01800F */ lui $at, %hi(D_800ED884) # $at, 0x800f -/* 02FA78 8002EE78 46245183 */ div.d $f6, $f10, $f4 -/* 02FA7C 8002EE7C 31694000 */ andi $t1, $t3, 0x4000 -/* 02FA80 8002EE80 4620320D */ trunc.w.d $f8, $f6 -/* 02FA84 8002EE84 440C4000 */ mfc1 $t4, $f8 -/* 02FA88 8002EE88 00000000 */ nop -/* 02FA8C 8002EE8C A60C00C2 */ sh $t4, 0xc2($s0) -/* 02FA90 8002EE90 C42AD884 */ lwc1 $f10, %lo(D_800ED884)($at) -/* 02FA94 8002EE94 24014000 */ li $at, 16384 -/* 02FA98 8002EE98 E60000F4 */ swc1 $f0, 0xf4($s0) -/* 02FA9C 8002EE9C 15210006 */ bne $t1, $at, .L8002EEB8 -/* 02FAA0 8002EEA0 E60A00F0 */ swc1 $f10, 0xf0($s0) -/* 02FAA4 8002EEA4 860A0044 */ lh $t2, 0x44($s0) -/* 02FAA8 8002EEA8 354D0100 */ ori $t5, $t2, 0x100 -/* 02FAAC 8002EEAC 10000002 */ b .L8002EEB8 -/* 02FAB0 8002EEB0 A60D0044 */ sh $t5, 0x44($s0) -.L8002EEB4: -/* 02FAB4 8002EEB4 A60000C2 */ sh $zero, 0xc2($s0) -.L8002EEB8: -/* 02FAB8 8002EEB8 860F00C2 */ lh $t7, 0xc2($s0) -/* 02FABC 8002EEBC 448F2000 */ mtc1 $t7, $f4 -/* 02FAC0 8002EEC0 00000000 */ nop -/* 02FAC4 8002EEC4 468021A0 */ cvt.s.w $f6, $f4 -/* 02FAC8 8002EEC8 E60600EC */ swc1 $f6, 0xec($s0) -/* 02FACC 8002EECC C6080124 */ lwc1 $f8, 0x124($s0) -.L8002EED0: -/* 02FAD0 8002EED0 E7A80074 */ swc1 $f8, 0x74($sp) -/* 02FAD4 8002EED4 C7AA0074 */ lwc1 $f10, 0x74($sp) -/* 02FAD8 8002EED8 4600503E */ c.le.s $f10, $f0 -/* 02FADC 8002EEDC 00000000 */ nop -/* 02FAE0 8002EEE0 4500000F */ bc1f .L8002EF20 -/* 02FAE4 8002EEE4 27AE0074 */ addiu $t6, $sp, 0x74 -/* 02FAE8 8002EEE8 27B900D0 */ addiu $t9, $sp, 0xd0 -/* 02FAEC 8002EEEC 27B800CC */ addiu $t8, $sp, 0xcc -/* 02FAF0 8002EEF0 27A800C8 */ addiu $t0, $sp, 0xc8 -/* 02FAF4 8002EEF4 AFA8001C */ sw $t0, 0x1c($sp) -/* 02FAF8 8002EEF8 AFB80018 */ sw $t8, 0x18($sp) -/* 02FAFC 8002EEFC AFB90014 */ sw $t9, 0x14($sp) -/* 02FB00 8002EF00 AFAE0010 */ sw $t6, 0x10($sp) -/* 02FB04 8002EF04 02002025 */ move $a0, $s0 -/* 02FB08 8002EF08 27A50048 */ addiu $a1, $sp, 0x48 -/* 02FB0C 8002EF0C 27A60054 */ addiu $a2, $sp, 0x54 -/* 02FB10 8002EF10 0C00FD1B */ jal func_8003F46C -/* 02FB14 8002EF14 27A700E0 */ addiu $a3, $sp, 0xe0 -/* 02FB18 8002EF18 44800000 */ mtc1 $zero, $f0 -/* 02FB1C 8002EF1C 00000000 */ nop -.L8002EF20: -/* 02FB20 8002EF20 C604011C */ lwc1 $f4, 0x11c($s0) -/* 02FB24 8002EF24 E7A40074 */ swc1 $f4, 0x74($sp) -/* 02FB28 8002EF28 C7A60074 */ lwc1 $f6, 0x74($sp) -/* 02FB2C 8002EF2C 4600303C */ c.lt.s $f6, $f0 -/* 02FB30 8002EF30 00000000 */ nop -/* 02FB34 8002EF34 45000014 */ bc1f .L8002EF88 -/* 02FB38 8002EF38 27AC00D0 */ addiu $t4, $sp, 0xd0 -/* 02FB3C 8002EF3C 27AB00CC */ addiu $t3, $sp, 0xcc -/* 02FB40 8002EF40 27A900C8 */ addiu $t1, $sp, 0xc8 -/* 02FB44 8002EF44 AFA90018 */ sw $t1, 0x18($sp) -/* 02FB48 8002EF48 AFAB0014 */ sw $t3, 0x14($sp) -/* 02FB4C 8002EF4C AFAC0010 */ sw $t4, 0x10($sp) -/* 02FB50 8002EF50 02002025 */ move $a0, $s0 -/* 02FB54 8002EF54 27A50048 */ addiu $a1, $sp, 0x48 -/* 02FB58 8002EF58 27A60054 */ addiu $a2, $sp, 0x54 -/* 02FB5C 8002EF5C 0C00FDCD */ jal func_8003F734 -/* 02FB60 8002EF60 27A70074 */ addiu $a3, $sp, 0x74 -/* 02FB64 8002EF64 02002025 */ move $a0, $s0 -/* 02FB68 8002EF68 83A50107 */ lb $a1, 0x107($sp) -/* 02FB6C 8002EF6C 0C00B255 */ jal func_8002C954 -/* 02FB70 8002EF70 27A60054 */ addiu $a2, $sp, 0x54 -/* 02FB74 8002EF74 02002025 */ move $a0, $s0 -/* 02FB78 8002EF78 0C00C7D2 */ jal func_80031F48 -/* 02FB7C 8002EF7C 3C0540C0 */ lui $a1, 0x40c0 -/* 02FB80 8002EF80 44800000 */ mtc1 $zero, $f0 -/* 02FB84 8002EF84 00000000 */ nop -.L8002EF88: -/* 02FB88 8002EF88 C6080120 */ lwc1 $f8, 0x120($s0) -/* 02FB8C 8002EF8C E7A80074 */ swc1 $f8, 0x74($sp) -/* 02FB90 8002EF90 C7AA0074 */ lwc1 $f10, 0x74($sp) -/* 02FB94 8002EF94 4600503C */ c.lt.s $f10, $f0 -/* 02FB98 8002EF98 00000000 */ nop -/* 02FB9C 8002EF9C 45000014 */ bc1f .L8002EFF0 -/* 02FBA0 8002EFA0 27AA00D0 */ addiu $t2, $sp, 0xd0 -/* 02FBA4 8002EFA4 27AD00CC */ addiu $t5, $sp, 0xcc -/* 02FBA8 8002EFA8 27AF00C8 */ addiu $t7, $sp, 0xc8 -/* 02FBAC 8002EFAC AFAF0018 */ sw $t7, 0x18($sp) -/* 02FBB0 8002EFB0 AFAD0014 */ sw $t5, 0x14($sp) -/* 02FBB4 8002EFB4 AFAA0010 */ sw $t2, 0x10($sp) -/* 02FBB8 8002EFB8 02002025 */ move $a0, $s0 -/* 02FBBC 8002EFBC 27A50048 */ addiu $a1, $sp, 0x48 -/* 02FBC0 8002EFC0 27A60054 */ addiu $a2, $sp, 0x54 -/* 02FBC4 8002EFC4 0C00FEEB */ jal func_8003FBAC -/* 02FBC8 8002EFC8 27A70074 */ addiu $a3, $sp, 0x74 -/* 02FBCC 8002EFCC 02002025 */ move $a0, $s0 -/* 02FBD0 8002EFD0 83A50107 */ lb $a1, 0x107($sp) -/* 02FBD4 8002EFD4 0C00B255 */ jal func_8002C954 -/* 02FBD8 8002EFD8 27A60054 */ addiu $a2, $sp, 0x54 -/* 02FBDC 8002EFDC 02002025 */ move $a0, $s0 -/* 02FBE0 8002EFE0 0C00C7D2 */ jal func_80031F48 -/* 02FBE4 8002EFE4 3C0540C0 */ lui $a1, 0x40c0 -/* 02FBE8 8002EFE8 44800000 */ mtc1 $zero, $f0 -/* 02FBEC 8002EFEC 00000000 */ nop -.L8002EFF0: -/* 02FBF0 8002EFF0 C604011C */ lwc1 $f4, 0x11c($s0) -/* 02FBF4 8002EFF4 E7A40074 */ swc1 $f4, 0x74($sp) -/* 02FBF8 8002EFF8 C7A60074 */ lwc1 $f6, 0x74($sp) -/* 02FBFC 8002EFFC 4606003E */ c.le.s $f0, $f6 -/* 02FC00 8002F000 00000000 */ nop -/* 02FC04 8002F004 45000013 */ bc1f .L8002F054 -/* 02FC08 8002F008 00000000 */ nop -/* 02FC0C 8002F00C C6080120 */ lwc1 $f8, 0x120($s0) -/* 02FC10 8002F010 E7A80074 */ swc1 $f8, 0x74($sp) -/* 02FC14 8002F014 C7AA0074 */ lwc1 $f10, 0x74($sp) -/* 02FC18 8002F018 460A003E */ c.le.s $f0, $f10 -/* 02FC1C 8002F01C 00000000 */ nop -/* 02FC20 8002F020 4500000C */ bc1f .L8002F054 -/* 02FC24 8002F024 00000000 */ nop -/* 02FC28 8002F028 960E0046 */ lhu $t6, 0x46($s0) -/* 02FC2C 8002F02C 96020256 */ lhu $v0, 0x256($s0) -/* 02FC30 8002F030 31D9FFDF */ andi $t9, $t6, 0xffdf -/* 02FC34 8002F034 10400007 */ beqz $v0, .L8002F054 -/* 02FC38 8002F038 A6190046 */ sh $t9, 0x46($s0) -/* 02FC3C 8002F03C 24580001 */ addiu $t8, $v0, 1 -/* 02FC40 8002F040 3308FFFF */ andi $t0, $t8, 0xffff -/* 02FC44 8002F044 2901000A */ slti $at, $t0, 0xa -/* 02FC48 8002F048 14200002 */ bnez $at, .L8002F054 -/* 02FC4C 8002F04C A6180256 */ sh $t8, 0x256($s0) -/* 02FC50 8002F050 A6000256 */ sh $zero, 0x256($s0) -.L8002F054: -/* 02FC54 8002F054 0C0AAF6E */ jal func_802ABDB8 -/* 02FC58 8002F058 9604011A */ lhu $a0, 0x11a($s0) -/* 02FC5C 8002F05C 5040001E */ beql $v0, $zero, .L8002F0D8 -/* 02FC60 8002F060 8E0D00BC */ lw $t5, 0xbc($s0) -/* 02FC64 8002F064 8E0C00BC */ lw $t4, 0xbc($s0) -/* 02FC68 8002F068 3C010001 */ lui $at, 1 -/* 02FC6C 8002F06C 01815824 */ and $t3, $t4, $at -/* 02FC70 8002F070 11610018 */ beq $t3, $at, .L8002F0D4 -/* 02FC74 8002F074 3C014190 */ li $at, 0x41900000 # 18.000000 -/* 02FC78 8002F078 44813000 */ mtc1 $at, $f6 -/* 02FC7C 8002F07C C6040094 */ lwc1 $f4, 0x94($s0) -/* 02FC80 8002F080 3C014358 */ li $at, 0x43580000 # 216.000000 -/* 02FC84 8002F084 44815000 */ mtc1 $at, $f10 -/* 02FC88 8002F088 46062203 */ div.s $f8, $f4, $f6 -/* 02FC8C 8002F08C 3C0141A0 */ li $at, 0x41A00000 # 20.000000 -/* 02FC90 8002F090 44813000 */ mtc1 $at, $f6 -/* 02FC94 8002F094 460A4102 */ mul.s $f4, $f8, $f10 -/* 02FC98 8002F098 4604303E */ c.le.s $f6, $f4 -/* 02FC9C 8002F09C 00000000 */ nop -/* 02FCA0 8002F0A0 4502000D */ bc1fl .L8002F0D8 -/* 02FCA4 8002F0A4 8E0D00BC */ lw $t5, 0xbc($s0) -/* 02FCA8 8002F0A8 860200CA */ lh $v0, 0xca($s0) -/* 02FCAC 8002F0AC 02002025 */ move $a0, $s0 -/* 02FCB0 8002F0B0 30490002 */ andi $t1, $v0, 2 -/* 02FCB4 8002F0B4 11200003 */ beqz $t1, .L8002F0C4 -/* 02FCB8 8002F0B8 304A0008 */ andi $t2, $v0, 8 -/* 02FCBC 8002F0BC 55400015 */ bnel $t2, $zero, .L8002F114 -/* 02FCC0 8002F0C0 C7AC00D0 */ lwc1 $f12, 0xd0($sp) -.L8002F0C4: -/* 02FCC4 8002F0C4 0C023D25 */ jal func_8008F494 -/* 02FCC8 8002F0C8 83A50107 */ lb $a1, 0x107($sp) -/* 02FCCC 8002F0CC 10000011 */ b .L8002F114 -/* 02FCD0 8002F0D0 C7AC00D0 */ lwc1 $f12, 0xd0($sp) -.L8002F0D4: -/* 02FCD4 8002F0D4 8E0D00BC */ lw $t5, 0xbc($s0) -.L8002F0D8: -/* 02FCD8 8002F0D8 31AF0008 */ andi $t7, $t5, 8 -/* 02FCDC 8002F0DC 55E0000D */ bnel $t7, $zero, .L8002F114 -/* 02FCE0 8002F0E0 C7AC00D0 */ lwc1 $f12, 0xd0($sp) -/* 02FCE4 8002F0E4 0C0AAF6E */ jal func_802ABDB8 -/* 02FCE8 8002F0E8 9604011A */ lhu $a0, 0x11a($s0) -/* 02FCEC 8002F0EC 54400009 */ bnel $v0, $zero, .L8002F114 -/* 02FCF0 8002F0F0 C7AC00D0 */ lwc1 $f12, 0xd0($sp) -/* 02FCF4 8002F0F4 8E0E00BC */ lw $t6, 0xbc($s0) -/* 02FCF8 8002F0F8 02002025 */ move $a0, $s0 -/* 02FCFC 8002F0FC 000ECBC0 */ sll $t9, $t6, 0xf -/* 02FD00 8002F100 07230004 */ bgezl $t9, .L8002F114 -/* 02FD04 8002F104 C7AC00D0 */ lwc1 $f12, 0xd0($sp) -/* 02FD08 8002F108 0C023D69 */ jal func_8008F5A4 -/* 02FD0C 8002F10C 83A50107 */ lb $a1, 0x107($sp) -/* 02FD10 8002F110 C7AC00D0 */ lwc1 $f12, 0xd0($sp) -.L8002F114: -/* 02FD14 8002F114 C7AE00CC */ lwc1 $f14, 0xcc($sp) -/* 02FD18 8002F118 8FA600C8 */ lw $a2, 0xc8($sp) -/* 02FD1C 8002F11C 0C0AAF8C */ jal func_802ABE30 -/* 02FD20 8002F120 9607011A */ lhu $a3, 0x11a($s0) -/* 02FD24 8002F124 96180000 */ lhu $t8, ($s0) -/* 02FD28 8002F128 24014000 */ li $at, 16384 -/* 02FD2C 8002F12C E6000074 */ swc1 $f0, 0x74($s0) -/* 02FD30 8002F130 33084000 */ andi $t0, $t8, 0x4000 -/* 02FD34 8002F134 1501000F */ bne $t0, $at, .L8002F174 -/* 02FD38 8002F138 3C02800E */ lui $v0, %hi(gActiveScreenMode) # $v0, 0x800e -/* 02FD3C 8002F13C 8C42C52C */ lw $v0, %lo(gActiveScreenMode)($v0) -/* 02FD40 8002F140 24010002 */ li $at, 2 -/* 02FD44 8002F144 02002025 */ move $a0, $s0 -/* 02FD48 8002F148 10400005 */ beqz $v0, .L8002F160 -/* 02FD4C 8002F14C 8FA500D0 */ lw $a1, 0xd0($sp) -/* 02FD50 8002F150 10410003 */ beq $v0, $at, .L8002F160 -/* 02FD54 8002F154 24010001 */ li $at, 1 -/* 02FD58 8002F158 54410007 */ bnel $v0, $at, .L8002F178 -/* 02FD5C 8002F15C 02002025 */ move $a0, $s0 -.L8002F160: -/* 02FD60 8002F160 8FA600CC */ lw $a2, 0xcc($sp) -/* 02FD64 8002F164 0C00A6D3 */ jal func_80029B4C -/* 02FD68 8002F168 8FA700C8 */ lw $a3, 0xc8($sp) -/* 02FD6C 8002F16C 10000007 */ b .L8002F18C -/* 02FD70 8002F170 C7A800D0 */ lwc1 $f8, 0xd0($sp) -.L8002F174: -/* 02FD74 8002F174 02002025 */ move $a0, $s0 -.L8002F178: -/* 02FD78 8002F178 8FA500D0 */ lw $a1, 0xd0($sp) -/* 02FD7C 8002F17C 8FA600CC */ lw $a2, 0xcc($sp) -/* 02FD80 8002F180 0C00A865 */ jal func_8002A194 -/* 02FD84 8002F184 8FA700C8 */ lw $a3, 0xc8($sp) -/* 02FD88 8002F188 C7A800D0 */ lwc1 $f8, 0xd0($sp) -.L8002F18C: -/* 02FD8C 8002F18C C7AA00C8 */ lwc1 $f10, 0xc8($sp) -/* 02FD90 8002F190 02002025 */ move $a0, $s0 -/* 02FD94 8002F194 83A50107 */ lb $a1, 0x107($sp) -/* 02FD98 8002F198 8FA600BC */ lw $a2, 0xbc($sp) -/* 02FD9C 8002F19C 8FA700B4 */ lw $a3, 0xb4($sp) -/* 02FDA0 8002F1A0 E7A80010 */ swc1 $f8, 0x10($sp) -/* 02FDA4 8002F1A4 0C00AB8E */ jal func_8002AE38 -/* 02FDA8 8002F1A8 E7AA0014 */ swc1 $f10, 0x14($sp) -/* 02FDAC 8002F1AC C7A4005C */ lwc1 $f4, 0x5c($sp) -/* 02FDB0 8002F1B0 C7A80054 */ lwc1 $f8, 0x54($sp) -/* 02FDB4 8002F1B4 46042182 */ mul.s $f6, $f4, $f4 -/* 02FDB8 8002F1B8 C6040094 */ lwc1 $f4, 0x94($s0) -/* 02FDBC 8002F1BC 46084282 */ mul.s $f10, $f8, $f8 -/* 02FDC0 8002F1C0 E604022C */ swc1 $f4, 0x22c($s0) -/* 02FDC4 8002F1C4 0C033850 */ jal sqrtf -/* 02FDC8 8002F1C8 460A3300 */ add.s $f12, $f6, $f10 -/* 02FDCC 8002F1CC 8E0200BC */ lw $v0, 0xbc($s0) -/* 02FDD0 8002F1D0 24010400 */ li $at, 1024 -/* 02FDD4 8002F1D4 E6000094 */ swc1 $f0, 0x94($s0) -/* 02FDD8 8002F1D8 30430400 */ andi $v1, $v0, 0x400 -/* 02FDDC 8002F1DC 1061000E */ beq $v1, $at, .L8002F218 -/* 02FDE0 8002F1E0 02002025 */ move $a0, $s0 -/* 02FDE4 8002F1E4 44804000 */ mtc1 $zero, $f8 -/* 02FDE8 8002F1E8 C606008C */ lwc1 $f6, 0x8c($s0) -/* 02FDEC 8002F1EC 4608303E */ c.le.s $f6, $f8 -/* 02FDF0 8002F1F0 00000000 */ nop -/* 02FDF4 8002F1F4 45020009 */ bc1fl .L8002F21C -/* 02FDF8 8002F1F8 24010400 */ li $at, 1024 -/* 02FDFC 8002F1FC C60A0094 */ lwc1 $f10, 0x94($s0) -/* 02FE00 8002F200 3C01800F */ lui $at, %hi(D_800ED888) -/* 02FE04 8002F204 D428D888 */ ldc1 $f8, %lo(D_800ED888)($at) -/* 02FE08 8002F208 46005121 */ cvt.d.s $f4, $f10 -/* 02FE0C 8002F20C 4628203C */ c.lt.d $f4, $f8 -/* 02FE10 8002F210 00000000 */ nop -/* 02FE14 8002F214 45010013 */ bc1t .L8002F264 -.L8002F218: -/* 02FE18 8002F218 24010400 */ li $at, 1024 -.L8002F21C: -/* 02FE1C 8002F21C 5061001E */ beql $v1, $at, .L8002F298 -/* 02FE20 8002F220 C7A800D0 */ lwc1 $f8, 0xd0($sp) -/* 02FE24 8002F224 44803000 */ mtc1 $zero, $f6 -/* 02FE28 8002F228 C60A008C */ lwc1 $f10, 0x8c($s0) -/* 02FE2C 8002F22C 4606503E */ c.le.s $f10, $f6 -/* 02FE30 8002F230 00000000 */ nop -/* 02FE34 8002F234 45020018 */ bc1fl .L8002F298 -/* 02FE38 8002F238 C7A800D0 */ lwc1 $f8, 0xd0($sp) -/* 02FE3C 8002F23C C6040094 */ lwc1 $f4, 0x94($s0) -/* 02FE40 8002F240 3C01800F */ lui $at, %hi(D_800ED890) -/* 02FE44 8002F244 D426D890 */ ldc1 $f6, %lo(D_800ED890)($at) -/* 02FE48 8002F248 46002221 */ cvt.d.s $f8, $f4 -/* 02FE4C 8002F24C 24010001 */ li $at, 1 -/* 02FE50 8002F250 4626403C */ c.lt.d $f8, $f6 -/* 02FE54 8002F254 304C0001 */ andi $t4, $v0, 1 -/* 02FE58 8002F258 4502000F */ bc1fl .L8002F298 -/* 02FE5C 8002F25C C7A800D0 */ lwc1 $f8, 0xd0($sp) -/* 02FE60 8002F260 1581000C */ bne $t4, $at, .L8002F294 -.L8002F264: -/* 02FE64 8002F264 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -/* 02FE68 8002F268 44816000 */ mtc1 $at, $f12 -/* 02FE6C 8002F26C C7A00054 */ lwc1 $f0, 0x54($sp) -/* 02FE70 8002F270 C7A2005C */ lwc1 $f2, 0x5c($sp) -/* 02FE74 8002F274 460C0282 */ mul.s $f10, $f0, $f12 -/* 02FE78 8002F278 00000000 */ nop -/* 02FE7C 8002F27C 460C1102 */ mul.s $f4, $f2, $f12 -/* 02FE80 8002F280 46005000 */ add.s $f0, $f10, $f0 -/* 02FE84 8002F284 46022080 */ add.s $f2, $f4, $f2 -/* 02FE88 8002F288 E7A00054 */ swc1 $f0, 0x54($sp) -/* 02FE8C 8002F28C 10000005 */ b .L8002F2A4 -/* 02FE90 8002F290 E7A2005C */ swc1 $f2, 0x5c($sp) -.L8002F294: -/* 02FE94 8002F294 C7A800D0 */ lwc1 $f8, 0xd0($sp) -.L8002F298: -/* 02FE98 8002F298 E6080014 */ swc1 $f8, 0x14($s0) -/* 02FE9C 8002F29C C7A600C8 */ lwc1 $f6, 0xc8($sp) -/* 02FEA0 8002F2A0 E606001C */ swc1 $f6, 0x1c($s0) -.L8002F2A4: -/* 02FEA4 8002F2A4 C7AA00CC */ lwc1 $f10, 0xcc($sp) -/* 02FEA8 8002F2A8 960B0000 */ lhu $t3, ($s0) -/* 02FEAC 8002F2AC 24014000 */ li $at, 16384 -/* 02FEB0 8002F2B0 E60A0018 */ swc1 $f10, 0x18($s0) -/* 02FEB4 8002F2B4 C7A400E0 */ lwc1 $f4, 0xe0($sp) -/* 02FEB8 8002F2B8 31694000 */ andi $t1, $t3, 0x4000 -/* 02FEBC 8002F2BC 3C0F800E */ lui $t7, %hi(gKartTopSpeedTable) # $t7, 0x800e -/* 02FEC0 8002F2C0 E6040064 */ swc1 $f4, 0x64($s0) -/* 02FEC4 8002F2C4 C7A800E8 */ lwc1 $f8, 0xe8($sp) -/* 02FEC8 8002F2C8 E608006C */ swc1 $f8, 0x6c($s0) -/* 02FECC 8002F2CC C7A60054 */ lwc1 $f6, 0x54($sp) -/* 02FED0 8002F2D0 E6060034 */ swc1 $f6, 0x34($s0) -/* 02FED4 8002F2D4 C7AA0058 */ lwc1 $f10, 0x58($sp) -/* 02FED8 8002F2D8 E60A0038 */ swc1 $f10, 0x38($s0) -/* 02FEDC 8002F2DC C7A4005C */ lwc1 $f4, 0x5c($sp) -/* 02FEE0 8002F2E0 15210017 */ bne $t1, $at, .L8002F340 -/* 02FEE4 8002F2E4 E604003C */ swc1 $f4, 0x3c($s0) -/* 02FEE8 8002F2E8 960A0254 */ lhu $t2, 0x254($s0) -/* 02FEEC 8002F2EC 25EF2690 */ addiu $t7, %lo(gKartTopSpeedTable) # addiu $t7, $t7, 0x2690 -/* 02FEF0 8002F2F0 C6020094 */ lwc1 $f2, 0x94($s0) -/* 02FEF4 8002F2F4 000A6880 */ sll $t5, $t2, 2 -/* 02FEF8 8002F2F8 01AF1021 */ addu $v0, $t5, $t7 -/* 02FEFC 8002F2FC C44C0000 */ lwc1 $f12, ($v0) -/* 02FF00 8002F300 4602603C */ c.lt.s $f12, $f2 -/* 02FF04 8002F304 00000000 */ nop -/* 02FF08 8002F308 4500000D */ bc1f .L8002F340 -/* 02FF0C 8002F30C 00000000 */ nop -/* 02FF10 8002F310 46026003 */ div.s $f0, $f12, $f2 -/* 02FF14 8002F314 C6080034 */ lwc1 $f8, 0x34($s0) -/* 02FF18 8002F318 C60A0038 */ lwc1 $f10, 0x38($s0) -/* 02FF1C 8002F31C 46004182 */ mul.s $f6, $f8, $f0 -/* 02FF20 8002F320 C608003C */ lwc1 $f8, 0x3c($s0) -/* 02FF24 8002F324 46005102 */ mul.s $f4, $f10, $f0 -/* 02FF28 8002F328 E6060034 */ swc1 $f6, 0x34($s0) -/* 02FF2C 8002F32C 46004182 */ mul.s $f6, $f8, $f0 -/* 02FF30 8002F330 E6040038 */ swc1 $f4, 0x38($s0) -/* 02FF34 8002F334 E606003C */ swc1 $f6, 0x3c($s0) -/* 02FF38 8002F338 C44A0000 */ lwc1 $f10, ($v0) -/* 02FF3C 8002F33C E60A0094 */ swc1 $f10, 0x94($s0) -.L8002F340: -/* 02FF40 8002F340 0C00B13E */ jal func_8002C4F8 -/* 02FF44 8002F344 83A50107 */ lb $a1, 0x107($sp) -/* 02FF48 8002F348 8FBF002C */ lw $ra, 0x2c($sp) -/* 02FF4C 8002F34C 8FB00028 */ lw $s0, 0x28($sp) -/* 02FF50 8002F350 27BD00F8 */ addiu $sp, $sp, 0xf8 -/* 02FF54 8002F354 03E00008 */ jr $ra -/* 02FF58 8002F358 00000000 */ nop diff --git a/asm/non_matchings/player_controller/func_8002F730.s b/asm/non_matchings/player_controller/func_8002F730.s deleted file mode 100644 index d630ccc39..000000000 --- a/asm/non_matchings/player_controller/func_8002F730.s +++ /dev/null @@ -1,399 +0,0 @@ -.section .data - -glabel D_800E3DC8 -.float 0.0, 0.0, 1.0 - -glabel D_800E3DD4 -.float 0.0, 0.0, 0.0 - -glabel D_800E3DE0 -.float 0.0, 0.0, 0.0 - -glabel D_800E3DEC -.float 0.0, 0.0, 0.0 - -.section .late_rodata - -glabel D_800ED8A8 -.double 780.0 - -glabel D_800ED8B0 -.double 6500.0 - -glabel D_800ED8B8 -.float -1100.0 -.word 0x00000000 - -glabel D_800ED8C0 -.double 0.13 - -glabel D_800ED8C8 -.double 0.2 - -glabel D_800ED8D0 -.double 0.018 - -.section .text - -glabel func_8002F730 -/* 030330 8002F730 27BDFF00 */ addiu $sp, $sp, -0x100 -/* 030334 8002F734 3C0F800E */ lui $t7, %hi(D_800E3DC8) # $t7, 0x800e -/* 030338 8002F738 AFBF002C */ sw $ra, 0x2c($sp) -/* 03033C 8002F73C AFB00028 */ sw $s0, 0x28($sp) -/* 030340 8002F740 AFA50104 */ sw $a1, 0x104($sp) -/* 030344 8002F744 AFA60108 */ sw $a2, 0x108($sp) -/* 030348 8002F748 AFA7010C */ sw $a3, 0x10c($sp) -/* 03034C 8002F74C 25EF3DC8 */ addiu $t7, %lo(D_800E3DC8) # addiu $t7, $t7, 0x3dc8 -/* 030350 8002F750 8DE10000 */ lw $at, ($t7) -/* 030354 8002F754 27AE00F4 */ addiu $t6, $sp, 0xf4 -/* 030358 8002F758 8DE80004 */ lw $t0, 4($t7) -/* 03035C 8002F75C ADC10000 */ sw $at, ($t6) -/* 030360 8002F760 8DE10008 */ lw $at, 8($t7) -/* 030364 8002F764 3C0A800E */ lui $t2, %hi(D_800E3DD4) # $t2, 0x800e -/* 030368 8002F768 254A3DD4 */ addiu $t2, %lo(D_800E3DD4) # addiu $t2, $t2, 0x3dd4 -/* 03036C 8002F76C ADC80004 */ sw $t0, 4($t6) -/* 030370 8002F770 ADC10008 */ sw $at, 8($t6) -/* 030374 8002F774 8D410000 */ lw $at, ($t2) -/* 030378 8002F778 27A900E8 */ addiu $t1, $sp, 0xe8 -/* 03037C 8002F77C 8D4D0004 */ lw $t5, 4($t2) -/* 030380 8002F780 AD210000 */ sw $at, ($t1) -/* 030384 8002F784 8D410008 */ lw $at, 8($t2) -/* 030388 8002F788 3C18800E */ lui $t8, %hi(D_800E3DE0) # $t8, 0x800e -/* 03038C 8002F78C 27183DE0 */ addiu $t8, %lo(D_800E3DE0) # addiu $t8, $t8, 0x3de0 -/* 030390 8002F790 AD2D0004 */ sw $t5, 4($t1) -/* 030394 8002F794 AD210008 */ sw $at, 8($t1) -/* 030398 8002F798 8F010000 */ lw $at, ($t8) -/* 03039C 8002F79C 27B900DC */ addiu $t9, $sp, 0xdc -/* 0303A0 8002F7A0 8F080004 */ lw $t0, 4($t8) -/* 0303A4 8002F7A4 AF210000 */ sw $at, ($t9) -/* 0303A8 8002F7A8 8F010008 */ lw $at, 8($t8) -/* 0303AC 8002F7AC 3C0C800E */ lui $t4, %hi(D_800E3DEC) # $t4, 0x800e -/* 0303B0 8002F7B0 258C3DEC */ addiu $t4, %lo(D_800E3DEC) # addiu $t4, $t4, 0x3dec -/* 0303B4 8002F7B4 AF280004 */ sw $t0, 4($t9) -/* 0303B8 8002F7B8 AF210008 */ sw $at, 8($t9) -/* 0303BC 8002F7BC 8D810000 */ lw $at, ($t4) -/* 0303C0 8002F7C0 27A500D0 */ addiu $a1, $sp, 0xd0 -/* 0303C4 8002F7C4 00808025 */ move $s0, $a0 -/* 0303C8 8002F7C8 ACA10000 */ sw $at, ($a1) -/* 0303CC 8002F7CC 8D8A0004 */ lw $t2, 4($t4) -/* 0303D0 8002F7D0 ACAA0004 */ sw $t2, 4($a1) -/* 0303D4 8002F7D4 8D810008 */ lw $at, 8($t4) -/* 0303D8 8002F7D8 0C00DEED */ jal func_80037BB4 -/* 0303DC 8002F7DC ACA10008 */ sw $at, 8($a1) -/* 0303E0 8002F7E0 44800000 */ mtc1 $zero, $f0 -/* 0303E4 8002F7E4 C6040064 */ lwc1 $f4, 0x64($s0) -/* 0303E8 8002F7E8 02002025 */ move $a0, $s0 -/* 0303EC 8002F7EC 83A5010F */ lb $a1, 0x10f($sp) -/* 0303F0 8002F7F0 46002182 */ mul.s $f6, $f4, $f0 -/* 0303F4 8002F7F4 E7A60084 */ swc1 $f6, 0x84($sp) -/* 0303F8 8002F7F8 C608006C */ lwc1 $f8, 0x6c($s0) -/* 0303FC 8002F7FC 46004282 */ mul.s $f10, $f8, $f0 -/* 030400 8002F800 0C00C054 */ jal func_80030150 -/* 030404 8002F804 E7AA007C */ swc1 $f10, 0x7c($sp) -/* 030408 8002F808 26050174 */ addiu $a1, $s0, 0x174 -/* 03040C 8002F80C E7A000FC */ swc1 $f0, 0xfc($sp) -/* 030410 8002F810 AFA5004C */ sw $a1, 0x4c($sp) -/* 030414 8002F814 0C0AD8EE */ jal func_802B63B8 -/* 030418 8002F818 27A400F4 */ addiu $a0, $sp, 0xf4 -/* 03041C 8002F81C C6040034 */ lwc1 $f4, 0x34($s0) -/* 030420 8002F820 3C01800F */ lui $at, %hi(D_800ED8A8) -/* 030424 8002F824 D430D8A8 */ ldc1 $f16, %lo(D_800ED8A8)($at) -/* 030428 8002F828 E7A40068 */ swc1 $f4, 0x68($sp) -/* 03042C 8002F82C C6060038 */ lwc1 $f6, 0x38($s0) -/* 030430 8002F830 C7AA0068 */ lwc1 $f10, 0x68($sp) -/* 030434 8002F834 C7A400F4 */ lwc1 $f4, 0xf4($sp) -/* 030438 8002F838 E7A6006C */ swc1 $f6, 0x6c($sp) -/* 03043C 8002F83C C608003C */ lwc1 $f8, 0x3c($s0) -/* 030440 8002F840 C7A60084 */ lwc1 $f6, 0x84($sp) -/* 030444 8002F844 46005021 */ cvt.d.s $f0, $f10 -/* 030448 8002F848 E7A80070 */ swc1 $f8, 0x70($sp) -/* 03044C 8002F84C 46062200 */ add.s $f8, $f4, $f6 -/* 030450 8002F850 46300102 */ mul.d $f4, $f0, $f16 -/* 030454 8002F854 3C01800F */ lui $at, %hi(D_800ED8B0) -/* 030458 8002F858 D432D8B0 */ ldc1 $f18, %lo(D_800ED8B0)($at) -/* 03045C 8002F85C 460042A1 */ cvt.d.s $f10, $f8 -/* 030460 8002F860 3C01800F */ lui $at, %hi(D_800ED8B8) # $at, 0x800f -/* 030464 8002F864 02002025 */ move $a0, $s0 -/* 030468 8002F868 46245181 */ sub.d $f6, $f10, $f4 -/* 03046C 8002F86C 46323203 */ div.d $f8, $f6, $f18 -/* 030470 8002F870 C7A60070 */ lwc1 $f6, 0x70($sp) -/* 030474 8002F874 460030A1 */ cvt.d.s $f2, $f6 -/* 030478 8002F878 46280280 */ add.d $f10, $f0, $f8 -/* 03047C 8002F87C C7A800FC */ lwc1 $f8, 0xfc($sp) -/* 030480 8002F880 46205120 */ cvt.s.d $f4, $f10 -/* 030484 8002F884 C7AA007C */ lwc1 $f10, 0x7c($sp) -/* 030488 8002F888 E7A40068 */ swc1 $f4, 0x68($sp) -/* 03048C 8002F88C 460A4100 */ add.s $f4, $f8, $f10 -/* 030490 8002F890 46301202 */ mul.d $f8, $f2, $f16 -/* 030494 8002F894 460021A1 */ cvt.d.s $f6, $f4 -/* 030498 8002F898 46283281 */ sub.d $f10, $f6, $f8 -/* 03049C 8002F89C 46325103 */ div.d $f4, $f10, $f18 -/* 0304A0 8002F8A0 C7AA006C */ lwc1 $f10, 0x6c($sp) -/* 0304A4 8002F8A4 46005321 */ cvt.d.s $f12, $f10 -/* 0304A8 8002F8A8 46241180 */ add.d $f6, $f2, $f4 -/* 0304AC 8002F8AC C7A400F8 */ lwc1 $f4, 0xf8($sp) -/* 0304B0 8002F8B0 46203220 */ cvt.s.d $f8, $f6 -/* 0304B4 8002F8B4 C426D8B8 */ lwc1 $f6, %lo(D_800ED8B8)($at) -/* 0304B8 8002F8B8 E7A80070 */ swc1 $f8, 0x70($sp) -/* 0304BC 8002F8BC 46062200 */ add.s $f8, $f4, $f6 -/* 0304C0 8002F8C0 46306102 */ mul.d $f4, $f12, $f16 -/* 0304C4 8002F8C4 460042A1 */ cvt.d.s $f10, $f8 -/* 0304C8 8002F8C8 46245181 */ sub.d $f6, $f10, $f4 -/* 0304CC 8002F8CC 46323203 */ div.d $f8, $f6, $f18 -/* 0304D0 8002F8D0 46286280 */ add.d $f10, $f12, $f8 -/* 0304D4 8002F8D4 46205120 */ cvt.s.d $f4, $f10 -/* 0304D8 8002F8D8 E7A4006C */ swc1 $f4, 0x6c($sp) -/* 0304DC 8002F8DC C60E0014 */ lwc1 $f14, 0x14($s0) -/* 0304E0 8002F8E0 E7AE00C0 */ swc1 $f14, 0xc0($sp) -/* 0304E4 8002F8E4 C6060018 */ lwc1 $f6, 0x18($s0) -/* 0304E8 8002F8E8 E7A60044 */ swc1 $f6, 0x44($sp) -/* 0304EC 8002F8EC C7A80044 */ lwc1 $f8, 0x44($sp) -/* 0304F0 8002F8F0 E7A800BC */ swc1 $f8, 0xbc($sp) -/* 0304F4 8002F8F4 C60A001C */ lwc1 $f10, 0x1c($s0) -/* 0304F8 8002F8F8 E7AA0034 */ swc1 $f10, 0x34($sp) -/* 0304FC 8002F8FC C7A40034 */ lwc1 $f4, 0x34($sp) -/* 030500 8002F900 E7A400B8 */ swc1 $f4, 0xb8($sp) -/* 030504 8002F904 E60E0020 */ swc1 $f14, 0x20($s0) -/* 030508 8002F908 C7A60044 */ lwc1 $f6, 0x44($sp) -/* 03050C 8002F90C C60A0034 */ lwc1 $f10, 0x34($s0) -/* 030510 8002F910 E6060024 */ swc1 $f6, 0x24($s0) -/* 030514 8002F914 460E5100 */ add.s $f4, $f10, $f14 -/* 030518 8002F918 C7A80034 */ lwc1 $f8, 0x34($sp) -/* 03051C 8002F91C E6080028 */ swc1 $f8, 0x28($s0) -/* 030520 8002F920 E7A400CC */ swc1 $f4, 0xcc($sp) -/* 030524 8002F924 C6060038 */ lwc1 $f6, 0x38($s0) -/* 030528 8002F928 C7A800BC */ lwc1 $f8, 0xbc($sp) -/* 03052C 8002F92C 46083280 */ add.s $f10, $f6, $f8 -/* 030530 8002F930 C7A600B8 */ lwc1 $f6, 0xb8($sp) -/* 030534 8002F934 E7AA00C8 */ swc1 $f10, 0xc8($sp) -/* 030538 8002F938 C604003C */ lwc1 $f4, 0x3c($s0) -/* 03053C 8002F93C 46062200 */ add.s $f8, $f4, $f6 -/* 030540 8002F940 0C00AAB0 */ jal func_8002AAC0 -/* 030544 8002F944 E7A800C4 */ swc1 $f8, 0xc4($sp) -/* 030548 8002F948 C7AA00C8 */ lwc1 $f10, 0xc8($sp) -/* 03054C 8002F94C C60400EC */ lwc1 $f4, 0xec($s0) -/* 030550 8002F950 C7A800C4 */ lwc1 $f8, 0xc4($sp) -/* 030554 8002F954 26040110 */ addiu $a0, $s0, 0x110 -/* 030558 8002F958 46045180 */ add.s $f6, $f10, $f4 -/* 03055C 8002F95C 8FA600CC */ lw $a2, 0xcc($sp) -/* 030560 8002F960 E7A600C8 */ swc1 $f6, 0xc8($sp) -/* 030564 8002F964 8E050070 */ lw $a1, 0x70($s0) -/* 030568 8002F968 E7A80010 */ swc1 $f8, 0x10($sp) -/* 03056C 8002F96C C60A0020 */ lwc1 $f10, 0x20($s0) -/* 030570 8002F970 44073000 */ mfc1 $a3, $f6 -/* 030574 8002F974 E7AA0014 */ swc1 $f10, 0x14($sp) -/* 030578 8002F978 C6040024 */ lwc1 $f4, 0x24($s0) -/* 03057C 8002F97C E7A40018 */ swc1 $f4, 0x18($sp) -/* 030580 8002F980 C6060028 */ lwc1 $f6, 0x28($s0) -/* 030584 8002F984 0C0AB654 */ jal func_802AD950 -/* 030588 8002F988 E7A6001C */ swc1 $f6, 0x1c($sp) -/* 03058C 8002F98C 44801000 */ mtc1 $zero, $f2 -/* 030590 8002F990 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 030594 8002F994 44810000 */ mtc1 $at, $f0 -/* 030598 8002F998 860D002E */ lh $t5, 0x2e($s0) -/* 03059C 8002F99C E6020058 */ swc1 $f2, 0x58($s0) -/* 0305A0 8002F9A0 E6020060 */ swc1 $f2, 0x60($s0) -/* 0305A4 8002F9A4 44051000 */ mfc1 $a1, $f2 -/* 0305A8 8002F9A8 44071000 */ mfc1 $a3, $f2 -/* 0305AC 8002F9AC E600005C */ swc1 $f0, 0x5c($s0) -/* 0305B0 8002F9B0 44060000 */ mfc1 $a2, $f0 -/* 0305B4 8002F9B4 8FA4004C */ lw $a0, 0x4c($sp) -/* 0305B8 8002F9B8 0C0AD950 */ jal func_802B6540 -/* 0305BC 8002F9BC AFAD0010 */ sw $t5, 0x10($sp) -/* 0305C0 8002F9C0 8E0F00BC */ lw $t7, 0xbc($s0) -/* 0305C4 8002F9C4 C6080124 */ lwc1 $f8, 0x124($s0) -/* 0305C8 8002F9C8 2401FFF7 */ li $at, -9 -/* 0305CC 8002F9CC 01E17024 */ and $t6, $t7, $at -/* 0305D0 8002F9D0 AE0E00BC */ sw $t6, 0xbc($s0) -/* 0305D4 8002F9D4 E7A80078 */ swc1 $f8, 0x78($sp) -/* 0305D8 8002F9D8 C7A40078 */ lwc1 $f4, 0x78($sp) -/* 0305DC 8002F9DC 44805000 */ mtc1 $zero, $f10 -/* 0305E0 8002F9E0 02002025 */ move $a0, $s0 -/* 0305E4 8002F9E4 27A5005C */ addiu $a1, $sp, 0x5c -/* 0305E8 8002F9E8 460A203E */ c.le.s $f4, $f10 -/* 0305EC 8002F9EC 27A60068 */ addiu $a2, $sp, 0x68 -/* 0305F0 8002F9F0 27A700E8 */ addiu $a3, $sp, 0xe8 -/* 0305F4 8002F9F4 27B90078 */ addiu $t9, $sp, 0x78 -/* 0305F8 8002F9F8 45000008 */ bc1f .L8002FA1C -/* 0305FC 8002F9FC 27B800CC */ addiu $t8, $sp, 0xcc -/* 030600 8002FA00 27A800C8 */ addiu $t0, $sp, 0xc8 -/* 030604 8002FA04 27A900C4 */ addiu $t1, $sp, 0xc4 -/* 030608 8002FA08 AFA9001C */ sw $t1, 0x1c($sp) -/* 03060C 8002FA0C AFA80018 */ sw $t0, 0x18($sp) -/* 030610 8002FA10 AFB90010 */ sw $t9, 0x10($sp) -/* 030614 8002FA14 0C00FD1B */ jal func_8003F46C -/* 030618 8002FA18 AFB80014 */ sw $t8, 0x14($sp) -.L8002FA1C: -/* 03061C 8002FA1C C7AC00CC */ lwc1 $f12, 0xcc($sp) -/* 030620 8002FA20 C7AE00C8 */ lwc1 $f14, 0xc8($sp) -/* 030624 8002FA24 8FA600C4 */ lw $a2, 0xc4($sp) -/* 030628 8002FA28 0C0AAF8C */ jal func_802ABE30 -/* 03062C 8002FA2C 9607011A */ lhu $a3, 0x11a($s0) -/* 030630 8002FA30 960B0000 */ lhu $t3, ($s0) -/* 030634 8002FA34 24014000 */ li $at, 16384 -/* 030638 8002FA38 E6000074 */ swc1 $f0, 0x74($s0) -/* 03063C 8002FA3C 316C4000 */ andi $t4, $t3, 0x4000 -/* 030640 8002FA40 1581000F */ bne $t4, $at, .L8002FA80 -/* 030644 8002FA44 3C02800E */ lui $v0, %hi(gActiveScreenMode) # $v0, 0x800e -/* 030648 8002FA48 8C42C52C */ lw $v0, %lo(gActiveScreenMode)($v0) -/* 03064C 8002FA4C 24010002 */ li $at, 2 -/* 030650 8002FA50 02002025 */ move $a0, $s0 -/* 030654 8002FA54 10400005 */ beqz $v0, .L8002FA6C -/* 030658 8002FA58 8FA500CC */ lw $a1, 0xcc($sp) -/* 03065C 8002FA5C 10410003 */ beq $v0, $at, .L8002FA6C -/* 030660 8002FA60 24010001 */ li $at, 1 -/* 030664 8002FA64 54410007 */ bnel $v0, $at, .L8002FA84 -/* 030668 8002FA68 02002025 */ move $a0, $s0 -.L8002FA6C: -/* 03066C 8002FA6C 8FA600C8 */ lw $a2, 0xc8($sp) -/* 030670 8002FA70 0C00A6D3 */ jal func_80029B4C -/* 030674 8002FA74 8FA700C4 */ lw $a3, 0xc4($sp) -/* 030678 8002FA78 10000007 */ b .L8002FA98 -/* 03067C 8002FA7C C7A600CC */ lwc1 $f6, 0xcc($sp) -.L8002FA80: -/* 030680 8002FA80 02002025 */ move $a0, $s0 -.L8002FA84: -/* 030684 8002FA84 8FA500CC */ lw $a1, 0xcc($sp) -/* 030688 8002FA88 8FA600C8 */ lw $a2, 0xc8($sp) -/* 03068C 8002FA8C 0C00A865 */ jal func_8002A194 -/* 030690 8002FA90 8FA700C4 */ lw $a3, 0xc4($sp) -/* 030694 8002FA94 C7A600CC */ lwc1 $f6, 0xcc($sp) -.L8002FA98: -/* 030698 8002FA98 C7A800C4 */ lwc1 $f8, 0xc4($sp) -/* 03069C 8002FA9C 02002025 */ move $a0, $s0 -/* 0306A0 8002FAA0 83A5010F */ lb $a1, 0x10f($sp) -/* 0306A4 8002FAA4 8FA600C0 */ lw $a2, 0xc0($sp) -/* 0306A8 8002FAA8 8FA700B8 */ lw $a3, 0xb8($sp) -/* 0306AC 8002FAAC E7A60010 */ swc1 $f6, 0x10($sp) -/* 0306B0 8002FAB0 0C00AB8E */ jal func_8002AE38 -/* 0306B4 8002FAB4 E7A80014 */ swc1 $f8, 0x14($sp) -/* 0306B8 8002FAB8 C7AA0068 */ lwc1 $f10, 0x68($sp) -/* 0306BC 8002FABC C7A6006C */ lwc1 $f6, 0x6c($sp) -/* 0306C0 8002FAC0 460A5102 */ mul.s $f4, $f10, $f10 -/* 0306C4 8002FAC4 00000000 */ nop -/* 0306C8 8002FAC8 46063202 */ mul.s $f8, $f6, $f6 -/* 0306CC 8002FACC C7A60070 */ lwc1 $f6, 0x70($sp) -/* 0306D0 8002FAD0 46082280 */ add.s $f10, $f4, $f8 -/* 0306D4 8002FAD4 46063102 */ mul.s $f4, $f6, $f6 -/* 0306D8 8002FAD8 C6080094 */ lwc1 $f8, 0x94($s0) -/* 0306DC 8002FADC E608022C */ swc1 $f8, 0x22c($s0) -/* 0306E0 8002FAE0 0C033850 */ jal sqrtf -/* 0306E4 8002FAE4 460A2300 */ add.s $f12, $f4, $f10 -/* 0306E8 8002FAE8 C602008C */ lwc1 $f2, 0x8c($s0) -/* 0306EC 8002FAEC 44803000 */ mtc1 $zero, $f6 -/* 0306F0 8002FAF0 E6000094 */ swc1 $f0, 0x94($s0) -/* 0306F4 8002FAF4 3C0C800E */ lui $t4, %hi(gKartTopSpeedTable) # $t4, 0x800e -/* 0306F8 8002FAF8 4606103E */ c.le.s $f2, $f6 -/* 0306FC 8002FAFC 00000000 */ nop -/* 030700 8002FB00 4502000A */ bc1fl .L8002FB2C -/* 030704 8002FB04 44803000 */ mtc1 $zero, $f6 -/* 030708 8002FB08 C6040094 */ lwc1 $f4, 0x94($s0) -/* 03070C 8002FB0C 3C01800F */ lui $at, %hi(D_800ED8C0) -/* 030710 8002FB10 D428D8C0 */ ldc1 $f8, %lo(D_800ED8C0)($at) -/* 030714 8002FB14 460022A1 */ cvt.d.s $f10, $f4 -/* 030718 8002FB18 4628503C */ c.lt.d $f10, $f8 -/* 03071C 8002FB1C 00000000 */ nop -/* 030720 8002FB20 45030014 */ bc1tl .L8002FB74 -/* 030724 8002FB24 3C01BF80 */ lui $at, 0xbf80 -/* 030728 8002FB28 44803000 */ mtc1 $zero, $f6 -.L8002FB2C: -/* 03072C 8002FB2C 00000000 */ nop -/* 030730 8002FB30 4606103E */ c.le.s $f2, $f6 -/* 030734 8002FB34 00000000 */ nop -/* 030738 8002FB38 4502001A */ bc1fl .L8002FBA4 -/* 03073C 8002FB3C C7AA00CC */ lwc1 $f10, 0xcc($sp) -/* 030740 8002FB40 C6040094 */ lwc1 $f4, 0x94($s0) -/* 030744 8002FB44 3C01800F */ lui $at, %hi(D_800ED8C8) -/* 030748 8002FB48 D428D8C8 */ ldc1 $f8, %lo(D_800ED8C8)($at) -/* 03074C 8002FB4C 460022A1 */ cvt.d.s $f10, $f4 -/* 030750 8002FB50 4628503C */ c.lt.d $f10, $f8 -/* 030754 8002FB54 00000000 */ nop -/* 030758 8002FB58 45020012 */ bc1fl .L8002FBA4 -/* 03075C 8002FB5C C7AA00CC */ lwc1 $f10, 0xcc($sp) -/* 030760 8002FB60 8E0A00BC */ lw $t2, 0xbc($s0) -/* 030764 8002FB64 24010001 */ li $at, 1 -/* 030768 8002FB68 314D0001 */ andi $t5, $t2, 1 -/* 03076C 8002FB6C 15A1000C */ bne $t5, $at, .L8002FBA0 -/* 030770 8002FB70 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -.L8002FB74: -/* 030774 8002FB74 44816000 */ mtc1 $at, $f12 -/* 030778 8002FB78 C7A00068 */ lwc1 $f0, 0x68($sp) -/* 03077C 8002FB7C C7A20070 */ lwc1 $f2, 0x70($sp) -/* 030780 8002FB80 460C0182 */ mul.s $f6, $f0, $f12 -/* 030784 8002FB84 00000000 */ nop -/* 030788 8002FB88 460C1102 */ mul.s $f4, $f2, $f12 -/* 03078C 8002FB8C 46003000 */ add.s $f0, $f6, $f0 -/* 030790 8002FB90 46022080 */ add.s $f2, $f4, $f2 -/* 030794 8002FB94 E7A00068 */ swc1 $f0, 0x68($sp) -/* 030798 8002FB98 10000005 */ b .L8002FBB0 -/* 03079C 8002FB9C E7A20070 */ swc1 $f2, 0x70($sp) -.L8002FBA0: -/* 0307A0 8002FBA0 C7AA00CC */ lwc1 $f10, 0xcc($sp) -.L8002FBA4: -/* 0307A4 8002FBA4 E60A0014 */ swc1 $f10, 0x14($s0) -/* 0307A8 8002FBA8 C7A800C4 */ lwc1 $f8, 0xc4($sp) -/* 0307AC 8002FBAC E608001C */ swc1 $f8, 0x1c($s0) -.L8002FBB0: -/* 0307B0 8002FBB0 C7A600C8 */ lwc1 $f6, 0xc8($sp) -/* 0307B4 8002FBB4 3C01800F */ lui $at, %hi(D_800ED8D0) -/* 0307B8 8002FBB8 D42AD8D0 */ ldc1 $f10, %lo(D_800ED8D0)($at) -/* 0307BC 8002FBBC 46003121 */ cvt.d.s $f4, $f6 -/* 0307C0 8002FBC0 3C198016 */ lui $t9, %hi(D_80165070) # $t9, 0x8016 -/* 0307C4 8002FBC4 462A2201 */ sub.d $f8, $f4, $f10 -/* 0307C8 8002FBC8 27395070 */ addiu $t9, %lo(D_80165070) # addiu $t9, $t9, 0x5070 -/* 0307CC 8002FBCC 24014000 */ li $at, 16384 -/* 0307D0 8002FBD0 462041A0 */ cvt.s.d $f6, $f8 -/* 0307D4 8002FBD4 E6060018 */ swc1 $f6, 0x18($s0) -/* 0307D8 8002FBD8 C7A400E8 */ lwc1 $f4, 0xe8($sp) -/* 0307DC 8002FBDC E6040064 */ swc1 $f4, 0x64($s0) -/* 0307E0 8002FBE0 C7AA00F0 */ lwc1 $f10, 0xf0($sp) -/* 0307E4 8002FBE4 E60A006C */ swc1 $f10, 0x6c($s0) -/* 0307E8 8002FBE8 C7A80068 */ lwc1 $f8, 0x68($sp) -/* 0307EC 8002FBEC E6080034 */ swc1 $f8, 0x34($s0) -/* 0307F0 8002FBF0 C7A6006C */ lwc1 $f6, 0x6c($sp) -/* 0307F4 8002FBF4 E6060038 */ swc1 $f6, 0x38($s0) -/* 0307F8 8002FBF8 C7A40070 */ lwc1 $f4, 0x70($sp) -/* 0307FC 8002FBFC E604003C */ swc1 $f4, 0x3c($s0) -/* 030800 8002FC00 83AF010F */ lb $t7, 0x10f($sp) -/* 030804 8002FC04 C7AA0068 */ lwc1 $f10, 0x68($sp) -/* 030808 8002FC08 C7A8006C */ lwc1 $f8, 0x6c($sp) -/* 03080C 8002FC0C 000F7080 */ sll $t6, $t7, 2 -/* 030810 8002FC10 01CF7023 */ subu $t6, $t6, $t7 -/* 030814 8002FC14 000E7080 */ sll $t6, $t6, 2 -/* 030818 8002FC18 C7A60070 */ lwc1 $f6, 0x70($sp) -/* 03081C 8002FC1C 01D91021 */ addu $v0, $t6, $t9 -/* 030820 8002FC20 E44A0000 */ swc1 $f10, ($v0) -/* 030824 8002FC24 E4480004 */ swc1 $f8, 4($v0) -/* 030828 8002FC28 E4460008 */ swc1 $f6, 8($v0) -/* 03082C 8002FC2C 96180000 */ lhu $t8, ($s0) -/* 030830 8002FC30 33084000 */ andi $t0, $t8, 0x4000 -/* 030834 8002FC34 55010018 */ bnel $t0, $at, .L8002FC98 -/* 030838 8002FC38 8FBF002C */ lw $ra, 0x2c($sp) -/* 03083C 8002FC3C 96090254 */ lhu $t1, 0x254($s0) -/* 030840 8002FC40 258C2690 */ addiu $t4, %lo(gKartTopSpeedTable) # addiu $t4, $t4, 0x2690 -/* 030844 8002FC44 C6020094 */ lwc1 $f2, 0x94($s0) -/* 030848 8002FC48 00095880 */ sll $t3, $t1, 2 -/* 03084C 8002FC4C 016C1021 */ addu $v0, $t3, $t4 -/* 030850 8002FC50 C44C0000 */ lwc1 $f12, ($v0) -/* 030854 8002FC54 4602603C */ c.lt.s $f12, $f2 -/* 030858 8002FC58 00000000 */ nop -/* 03085C 8002FC5C 4502000E */ bc1fl .L8002FC98 -/* 030860 8002FC60 8FBF002C */ lw $ra, 0x2c($sp) -/* 030864 8002FC64 46026003 */ div.s $f0, $f12, $f2 -/* 030868 8002FC68 C6040034 */ lwc1 $f4, 0x34($s0) -/* 03086C 8002FC6C C6080038 */ lwc1 $f8, 0x38($s0) -/* 030870 8002FC70 46002282 */ mul.s $f10, $f4, $f0 -/* 030874 8002FC74 C604003C */ lwc1 $f4, 0x3c($s0) -/* 030878 8002FC78 46004182 */ mul.s $f6, $f8, $f0 -/* 03087C 8002FC7C E60A0034 */ swc1 $f10, 0x34($s0) -/* 030880 8002FC80 46002282 */ mul.s $f10, $f4, $f0 -/* 030884 8002FC84 E6060038 */ swc1 $f6, 0x38($s0) -/* 030888 8002FC88 E60A003C */ swc1 $f10, 0x3c($s0) -/* 03088C 8002FC8C C4480000 */ lwc1 $f8, ($v0) -/* 030890 8002FC90 E6080094 */ swc1 $f8, 0x94($s0) -/* 030894 8002FC94 8FBF002C */ lw $ra, 0x2c($sp) -.L8002FC98: -/* 030898 8002FC98 8FB00028 */ lw $s0, 0x28($sp) -/* 03089C 8002FC9C 27BD0100 */ addiu $sp, $sp, 0x100 -/* 0308A0 8002FCA0 03E00008 */ jr $ra -/* 0308A4 8002FCA4 00000000 */ nop diff --git a/asm/non_matchings/player_controller/func_80033AE0.s b/asm/non_matchings/player_controller/func_80033AE0.s deleted file mode 100644 index 1b067bfa4..000000000 --- a/asm/non_matchings/player_controller/func_80033AE0.s +++ /dev/null @@ -1,3231 +0,0 @@ -.section .data - -glabel D_800E3DF8 -.float 0.0, 0.5, 0.5, 0.5 -.float 0.5, 0.5, 0.5, 0.6 -.float 0.6, 0.6, 0.6, 0.6 -.float 0.7, 0.7, 0.7, 0.7 -.float 0.7, 0.7, 0.7, 0.7 -.float 0.7, 0.7, 0.7, 0.7 -.float 0.6, 0.6, 0.6, 0.6 -.float 0.6, 0.6, 0.6, 0.6 -.float 0.6, 0.6, 0.6, 0.6 -.float 0.5, 0.5, 0.5, 0.5 -.float 0.6, 0.6, 0.6, 0.6 -.float 0.6, 0.6, 0.6, 0.6 -.float 0.6, 0.6, 0.7, 0.7 -.float 0.7, 0.7, 0.7, 0.7 -.float 0.6, 0.6, 0.6, 0.6 -.float 0.7, 0.7, 0.7, 0.7 -.float 0.7, 0.7, 0.7, 0.7 -.float 0.7, 0.7, 0.7, 0.7 -.float 0.7, 0.7, 0.7, 0.7 -.float 0.7, 0.7, 0.7, 0.7 -.float 0.7, 0.7, 0.7, 0.7 -.float 0.7, 0.7, 0.7, 0.7 -.float 0.7, 0.7, 0.7, 0.7 -.float 0.7, 0.7, 0.7, 0.7 -.float 0.7, 0.7, 0.7, 0.7 -.float 0.7, 0.7, 0.7, 0.7 -.float 0.7, 0.7, 0.7, 0.7 -.float 0.8, 0.8, 0.8, 0.8 -.float 0.8, 0.8, 0.8, 0.8 -.float 0.8, 0.8, 0.8, 0.8 -.float 0.8, 0.8, 0.8, 0.8 -.float 0.8, 0.8, 0.8, 0.8 -.float 0.8, 0.8, 0.8, 0.8 -.float 0.8, 0.8, 0.8, 0.8 -.float 0.8, 0.8, 0.8, 0.8 -.float 0.8, 0.8, 0.8, 0.8 -.float 0.8, 0.8, 0.8, 0.8 -.float 0.8, 0.8, 0.8, 0.8 -.float 0.8, 0.8, 0.8, 0.8 - -.section .late_rodata - -glabel D_800EDCE8 -.double 1.2 - -glabel D_800EDCF0 -.double 1.05 - -glabel D_800EDCF8 -.float 0.9 - -glabel D_800EDCFC -.float 0.9 - -glabel D_800EDD00 -.float 0.9 - -glabel D_800EDD04 -.float 0.9 - -glabel D_800EDD08 -.float 0.9 - -glabel D_800EDD0C -.float 1.05 - -glabel D_800EDD10 -.float 1.05 - -glabel D_800EDD14 -.float 1.05 - -glabel D_800EDD18 -.float 1.05 - -glabel D_800EDD1C -.float 1.05 - -glabel D_800EDD20 -.float 1.2 - -glabel D_800EDD24 -.float 1.2 - -glabel D_800EDD28 -.float 1.2 - -glabel D_800EDD2C -.float 1.2 - -glabel D_800EDD30 -.float 1.2 - -glabel D_800EDD34 -.float 1.6 - -glabel D_800EDD38 -.float 1.6 - -glabel D_800EDD3C -.float 1.6 - -glabel D_800EDD40 -.float 1.6 - -glabel D_800EDD44 -.float 1.6 - -glabel D_800EDD48 -.float 1.9 - -glabel D_800EDD4C -.float 1.9 - -glabel D_800EDD50 -.float 1.9 - -glabel D_800EDD54 -.float 1.9 - -glabel D_800EDD58 -.float 1.9 - -glabel D_800EDD5C -.float 1.9 - -glabel D_800EDD60 -.double 0.15 - -glabel D_800EDD68 -.double 1.6 - -glabel D_800EDD70 -.double 0.9 - -glabel D_800EDD78 -.double 0.65 - -glabel D_800EDD80 -.double 1.7 - -.section .text - -glabel func_80033AE0 -/* 0346E0 80033AE0 27BDFD18 */ addiu $sp, $sp, -0x2e8 -/* 0346E4 80033AE4 44802000 */ mtc1 $zero, $f4 -/* 0346E8 80033AE8 3C0F800E */ lui $t7, %hi(D_800E3DF8) # $t7, 0x800e -/* 0346EC 80033AEC AFB20030 */ sw $s2, 0x30($sp) -/* 0346F0 80033AF0 AFB00028 */ sw $s0, 0x28($sp) -/* 0346F4 80033AF4 25EF3DF8 */ addiu $t7, %lo(D_800E3DF8) # addiu $t7, $t7, 0x3df8 -/* 0346F8 80033AF8 44801000 */ mtc1 $zero, $f2 -/* 0346FC 80033AFC 00808025 */ move $s0, $a0 -/* 034700 80033B00 00A09025 */ move $s2, $a1 -/* 034704 80033B04 AFBF0034 */ sw $ra, 0x34($sp) -/* 034708 80033B08 AFB1002C */ sw $s1, 0x2c($sp) -/* 03470C 80033B0C AFA602F0 */ sw $a2, 0x2f0($sp) -/* 034710 80033B10 25EA0270 */ addiu $t2, $t7, 0x270 -/* 034714 80033B14 27AE0044 */ addiu $t6, $sp, 0x44 -/* 034718 80033B18 E7A402C0 */ swc1 $f4, 0x2c0($sp) -.L80033B1C: -/* 03471C 80033B1C 8DE10000 */ lw $at, ($t7) -/* 034720 80033B20 25EF000C */ addiu $t7, $t7, 0xc -/* 034724 80033B24 25CE000C */ addiu $t6, $t6, 0xc -/* 034728 80033B28 ADC1FFF4 */ sw $at, -0xc($t6) -/* 03472C 80033B2C 8DE1FFF8 */ lw $at, -8($t7) -/* 034730 80033B30 ADC1FFF8 */ sw $at, -8($t6) -/* 034734 80033B34 8DE1FFFC */ lw $at, -4($t7) -/* 034738 80033B38 15EAFFF8 */ bne $t7, $t2, .L80033B1C -/* 03473C 80033B3C ADC1FFFC */ sw $at, -4($t6) -/* 034740 80033B40 8E0300BC */ lw $v1, 0xbc($s0) -/* 034744 80033B44 24010002 */ li $at, 2 -/* 034748 80033B48 306B0002 */ andi $t3, $v1, 2 -/* 03474C 80033B4C 5161000F */ beql $t3, $at, .L80033B8C -/* 034750 80033B50 3C0141A0 */ lui $at, 0x41a0 -/* 034754 80033B54 860200C0 */ lh $v0, 0xc0($s0) -/* 034758 80033B58 240100B6 */ li $at, 182 -/* 03475C 80033B5C 0041001A */ div $zero, $v0, $at -/* 034760 80033B60 00006012 */ mflo $t4 -/* 034764 80033B64 29810007 */ slti $at, $t4, 7 -/* 034768 80033B68 10200003 */ beqz $at, .L80033B78 -/* 03476C 80033B6C 2981FFFA */ slti $at, $t4, -6 -/* 034770 80033B70 50200016 */ beql $at, $zero, .L80033BCC -/* 034774 80033B74 02002025 */ move $a0, $s0 -.L80033B78: -/* 034778 80033B78 964D0004 */ lhu $t5, 4($s2) -/* 03477C 80033B7C 24010010 */ li $at, 16 -/* 034780 80033B80 31B90010 */ andi $t9, $t5, 0x10 -/* 034784 80033B84 17210010 */ bne $t9, $at, .L80033BC8 -/* 034788 80033B88 3C0141A0 */ li $at, 0x41A00000 # 20.000000 -.L80033B8C: -/* 03478C 80033B8C 44813000 */ mtc1 $at, $f6 -/* 034790 80033B90 3C014190 */ li $at, 0x41900000 # 18.000000 -/* 034794 80033B94 44815000 */ mtc1 $at, $f10 -/* 034798 80033B98 C6080094 */ lwc1 $f8, 0x94($s0) -/* 03479C 80033B9C 3C014358 */ li $at, 0x43580000 # 216.000000 -/* 0347A0 80033BA0 44819000 */ mtc1 $at, $f18 -/* 0347A4 80033BA4 460A4403 */ div.s $f16, $f8, $f10 -/* 0347A8 80033BA8 34018000 */ li $at, 32768 -/* 0347AC 80033BAC 30788000 */ andi $t8, $v1, 0x8000 -/* 0347B0 80033BB0 46128102 */ mul.s $f4, $f16, $f18 -/* 0347B4 80033BB4 4606203E */ c.le.s $f4, $f6 -/* 0347B8 80033BB8 00000000 */ nop -/* 0347BC 80033BBC 45030003 */ bc1tl .L80033BCC -/* 0347C0 80033BC0 02002025 */ move $a0, $s0 -/* 0347C4 80033BC4 17010004 */ bne $t8, $at, .L80033BD8 -.L80033BC8: -/* 0347C8 80033BC8 02002025 */ move $a0, $s0 -.L80033BCC: -/* 0347CC 80033BCC 0C00DB2D */ jal func_80036CB4 -/* 0347D0 80033BD0 E7A202BC */ swc1 $f2, 0x2bc($sp) -/* 0347D4 80033BD4 C7A202BC */ lwc1 $f2, 0x2bc($sp) -.L80033BD8: -/* 0347D8 80033BD8 860200C0 */ lh $v0, 0xc0($s0) -/* 0347DC 80033BDC 240100B6 */ li $at, 182 -/* 0347E0 80033BE0 0041001A */ div $zero, $v0, $at -/* 0347E4 80033BE4 00001012 */ mflo $v0 -/* 0347E8 80033BE8 2841FFFB */ slti $at, $v0, -5 -/* 0347EC 80033BEC 50200012 */ beql $at, $zero, .L80033C38 -/* 0347F0 80033BF0 28410006 */ slti $at, $v0, 6 -/* 0347F4 80033BF4 860F0044 */ lh $t7, 0x44($s0) -/* 0347F8 80033BF8 3C198016 */ lui $t9, %hi(D_801652C0) # $t9, 0x8016 -/* 0347FC 80033BFC 273952C0 */ addiu $t9, %lo(D_801652C0) # addiu $t9, $t9, 0x52c0 -/* 034800 80033C00 35EE0004 */ ori $t6, $t7, 4 -/* 034804 80033C04 A60E0044 */ sh $t6, 0x44($s0) -/* 034808 80033C08 860B0044 */ lh $t3, 0x44($s0) -/* 03480C 80033C0C 316CFFFD */ andi $t4, $t3, 0xfffd -/* 034810 80033C10 A60C0044 */ sh $t4, 0x44($s0) -/* 034814 80033C14 83B102F3 */ lb $s1, 0x2f3($sp) -/* 034818 80033C18 00116880 */ sll $t5, $s1, 2 -/* 03481C 80033C1C 01B91021 */ addu $v0, $t5, $t9 -/* 034820 80033C20 8C580000 */ lw $t8, ($v0) -/* 034824 80033C24 01A08825 */ move $s1, $t5 -/* 034828 80033C28 270A0001 */ addiu $t2, $t8, 1 -/* 03482C 80033C2C 1000001D */ b .L80033CA4 -/* 034830 80033C30 AC4A0000 */ sw $t2, ($v0) -/* 034834 80033C34 28410006 */ slti $at, $v0, 6 -.L80033C38: -/* 034838 80033C38 54200012 */ bnel $at, $zero, .L80033C84 -/* 03483C 80033C3C 860F0044 */ lh $t7, 0x44($s0) -/* 034840 80033C40 860F0044 */ lh $t7, 0x44($s0) -/* 034844 80033C44 3C198016 */ lui $t9, %hi(D_801652C0) # $t9, 0x8016 -/* 034848 80033C48 273952C0 */ addiu $t9, %lo(D_801652C0) # addiu $t9, $t9, 0x52c0 -/* 03484C 80033C4C 35EE0002 */ ori $t6, $t7, 2 -/* 034850 80033C50 A60E0044 */ sh $t6, 0x44($s0) -/* 034854 80033C54 860B0044 */ lh $t3, 0x44($s0) -/* 034858 80033C58 316CFFFB */ andi $t4, $t3, 0xfffb -/* 03485C 80033C5C A60C0044 */ sh $t4, 0x44($s0) -/* 034860 80033C60 83B102F3 */ lb $s1, 0x2f3($sp) -/* 034864 80033C64 00116880 */ sll $t5, $s1, 2 -/* 034868 80033C68 01B91021 */ addu $v0, $t5, $t9 -/* 03486C 80033C6C 8C580000 */ lw $t8, ($v0) -/* 034870 80033C70 01A08825 */ move $s1, $t5 -/* 034874 80033C74 270A0001 */ addiu $t2, $t8, 1 -/* 034878 80033C78 1000000A */ b .L80033CA4 -/* 03487C 80033C7C AC4A0000 */ sw $t2, ($v0) -/* 034880 80033C80 860F0044 */ lh $t7, 0x44($s0) -.L80033C84: -/* 034884 80033C84 3C018016 */ lui $at, %hi(D_801652C0) # 0x8016 -/* 034888 80033C88 31EEFFF9 */ andi $t6, $t7, 0xfff9 -/* 03488C 80033C8C A60E0044 */ sh $t6, 0x44($s0) -/* 034890 80033C90 83B102F3 */ lb $s1, 0x2f3($sp) -/* 034894 80033C94 00115880 */ sll $t3, $s1, 2 -/* 034898 80033C98 002B0821 */ addu $at, $at, $t3 -/* 03489C 80033C9C AC2052C0 */ sw $zero, %lo(D_801652C0)($at) # 0x52c0($at) -/* 0348A0 80033CA0 01608825 */ move $s1, $t3 -.L80033CA4: -/* 0348A4 80033CA4 8E0300BC */ lw $v1, 0xbc($s0) -/* 0348A8 80033CA8 24010002 */ li $at, 2 -/* 0348AC 80033CAC 02402025 */ move $a0, $s2 -/* 0348B0 80033CB0 306C0002 */ andi $t4, $v1, 2 -/* 0348B4 80033CB4 11810004 */ beq $t4, $at, .L80033CC8 -/* 0348B8 80033CB8 306D0010 */ andi $t5, $v1, 0x10 -/* 0348BC 80033CBC 24010010 */ li $at, 16 -/* 0348C0 80033CC0 55A10005 */ bnel $t5, $at, .L80033CD8 -/* 0348C4 80033CC4 8E0A007C */ lw $t2, 0x7c($s0) -.L80033CC8: -/* 0348C8 80033CC8 86190044 */ lh $t9, 0x44($s0) -/* 0348CC 80033CCC 3338FFF9 */ andi $t8, $t9, 0xfff9 -/* 0348D0 80033CD0 A6180044 */ sh $t8, 0x44($s0) -/* 0348D4 80033CD4 8E0A007C */ lw $t2, 0x7c($s0) -.L80033CD8: -/* 0348D8 80033CD8 E7A202BC */ swc1 $f2, 0x2bc($sp) -/* 0348DC 80033CDC 0C00E14D */ jal func_80038534 -/* 0348E0 80033CE0 AFAA02E4 */ sw $t2, 0x2e4($sp) -/* 0348E4 80033CE4 86030044 */ lh $v1, 0x44($s0) -/* 0348E8 80033CE8 24060001 */ li $a2, 1 -/* 0348EC 80033CEC C7A202BC */ lwc1 $f2, 0x2bc($sp) -/* 0348F0 80033CF0 306F0001 */ andi $t7, $v1, 1 -/* 0348F4 80033CF4 10CF0005 */ beq $a2, $t7, .L80033D0C -/* 0348F8 80033CF8 00404825 */ move $t1, $v0 -/* 0348FC 80033CFC 306E0008 */ andi $t6, $v1, 8 -/* 034900 80033D00 24010008 */ li $at, 8 -/* 034904 80033D04 55C10003 */ bnel $t6, $at, .L80033D14 -/* 034908 80033D08 00091400 */ sll $v0, $t1, 0x10 -.L80033D0C: -/* 03490C 80033D0C 00024823 */ negu $t1, $v0 -/* 034910 80033D10 00091400 */ sll $v0, $t1, 0x10 -.L80033D14: -/* 034914 80033D14 3C01FFFF */ lui $at, 0xffff -/* 034918 80033D18 00415824 */ and $t3, $v0, $at -/* 03491C 80033D1C AE0B007C */ sw $t3, 0x7c($s0) -/* 034920 80033D20 8FAC02E4 */ lw $t4, 0x2e4($sp) -/* 034924 80033D24 27B202E4 */ addiu $s2, $sp, 0x2e4 -/* 034928 80033D28 018B6823 */ subu $t5, $t4, $t3 -/* 03492C 80033D2C AFAD02D0 */ sw $t5, 0x2d0($sp) -/* 034930 80033D30 000DCC03 */ sra $t9, $t5, 0x10 -/* 034934 80033D34 AFB902D0 */ sw $t9, 0x2d0($sp) -/* 034938 80033D38 A61900FA */ sh $t9, 0xfa($s0) -/* 03493C 80033D3C 8FB802D0 */ lw $t8, 0x2d0($sp) -/* 034940 80033D40 2B01005A */ slti $at, $t8, 0x5a -/* 034944 80033D44 10200003 */ beqz $at, .L80033D54 -/* 034948 80033D48 2B01FFA7 */ slti $at, $t8, -0x59 -/* 03494C 80033D4C 50200029 */ beql $at, $zero, .L80033DF4 -/* 034950 80033D50 920201EC */ lbu $v0, 0x1ec($s0) -.L80033D54: -/* 034954 80033D54 860A0044 */ lh $t2, 0x44($s0) -/* 034958 80033D58 314F4000 */ andi $t7, $t2, 0x4000 -/* 03495C 80033D5C 55E00025 */ bnel $t7, $zero, .L80033DF4 -/* 034960 80033D60 920201EC */ lbu $v0, 0x1ec($s0) -/* 034964 80033D64 8E0300BC */ lw $v1, 0xbc($s0) -/* 034968 80033D68 3C0B800E */ lui $t3, %hi(gCCSelection) # $t3, 0x800e -/* 03496C 80033D6C 306E0010 */ andi $t6, $v1, 0x10 -/* 034970 80033D70 55C00020 */ bnel $t6, $zero, .L80033DF4 -/* 034974 80033D74 920201EC */ lbu $v0, 0x1ec($s0) -/* 034978 80033D78 8D6BC548 */ lw $t3, %lo(gCCSelection)($t3) -/* 03497C 80033D7C 24050002 */ li $a1, 2 -/* 034980 80033D80 54AB001C */ bnel $a1, $t3, .L80033DF4 -/* 034984 80033D84 920201EC */ lbu $v0, 0x1ec($s0) -/* 034988 80033D88 3C0C800E */ lui $t4, %hi(gModeSelection) # $t4, 0x800e -/* 03498C 80033D8C 8D8CC53C */ lw $t4, %lo(gModeSelection)($t4) -/* 034990 80033D90 24010003 */ li $at, 3 -/* 034994 80033D94 51810017 */ beql $t4, $at, .L80033DF4 -/* 034998 80033D98 920201EC */ lbu $v0, 0x1ec($s0) -/* 03499C 80033D9C 306D0008 */ andi $t5, $v1, 8 -/* 0349A0 80033DA0 15A00013 */ bnez $t5, .L80033DF0 -/* 0349A4 80033DA4 3C014190 */ li $at, 0x41900000 # 18.000000 -/* 0349A8 80033DA8 C6080094 */ lwc1 $f8, 0x94($s0) -/* 0349AC 80033DAC 44815000 */ mtc1 $at, $f10 -/* 0349B0 80033DB0 3C014358 */ li $at, 0x43580000 # 216.000000 -/* 0349B4 80033DB4 44819000 */ mtc1 $at, $f18 -/* 0349B8 80033DB8 460A4403 */ div.s $f16, $f8, $f10 -/* 0349BC 80033DBC 3C014220 */ li $at, 0x42200000 # 40.000000 -/* 0349C0 80033DC0 44812000 */ mtc1 $at, $f4 -/* 0349C4 80033DC4 46128182 */ mul.s $f6, $f16, $f18 -/* 0349C8 80033DC8 4606203E */ c.le.s $f4, $f6 -/* 0349CC 80033DCC 00000000 */ nop -/* 0349D0 80033DD0 45020008 */ bc1fl .L80033DF4 -/* 0349D4 80033DD4 920201EC */ lbu $v0, 0x1ec($s0) -/* 0349D8 80033DD8 86190204 */ lh $t9, 0x204($s0) -/* 0349DC 80033DDC 57200005 */ bnel $t9, $zero, .L80033DF4 -/* 0349E0 80033DE0 920201EC */ lbu $v0, 0x1ec($s0) -/* 0349E4 80033DE4 8E18000C */ lw $t8, 0xc($s0) -/* 0349E8 80033DE8 370A0080 */ ori $t2, $t8, 0x80 -/* 0349EC 80033DEC AE0A000C */ sw $t2, 0xc($s0) -.L80033DF0: -/* 0349F0 80033DF0 920201EC */ lbu $v0, 0x1ec($s0) -.L80033DF4: -/* 0349F4 80033DF4 24050002 */ li $a1, 2 -/* 0349F8 80033DF8 8E0300BC */ lw $v1, 0xbc($s0) -/* 0349FC 80033DFC 2841000F */ slti $at, $v0, 0xf -/* 034A00 80033E00 5020000C */ beql $at, $zero, .L80033E34 -/* 034A04 80033E04 920201D4 */ lbu $v0, 0x1d4($s0) -/* 034A08 80033E08 960F0254 */ lhu $t7, 0x254($s0) -/* 034A0C 80033E0C 3C0B800E */ lui $t3, %hi(D_800E3610) -/* 034A10 80033E10 00026080 */ sll $t4, $v0, 2 -/* 034A14 80033E14 000F7080 */ sll $t6, $t7, 2 -/* 034A18 80033E18 016E5821 */ addu $t3, $t3, $t6 -/* 034A1C 80033E1C 8D6B3610 */ lw $t3, %lo(D_800E3610)($t3) -/* 034A20 80033E20 44805000 */ mtc1 $zero, $f10 -/* 034A24 80033E24 016C6821 */ addu $t5, $t3, $t4 -/* 034A28 80033E28 C5A80000 */ lwc1 $f8, ($t5) -/* 034A2C 80033E2C 46085080 */ add.s $f2, $f10, $f8 -/* 034A30 80033E30 920201D4 */ lbu $v0, 0x1d4($s0) -.L80033E34: -/* 034A34 80033E34 306B0020 */ andi $t3, $v1, 0x20 -/* 034A38 80033E38 2841000F */ slti $at, $v0, 0xf -/* 034A3C 80033E3C 5020000B */ beql $at, $zero, .L80033E6C -/* 034A40 80033E40 24010020 */ li $at, 32 -/* 034A44 80033E44 96190254 */ lhu $t9, 0x254($s0) -/* 034A48 80033E48 3C0A800E */ lui $t2, %hi(D_800E3610) -/* 034A4C 80033E4C 00027880 */ sll $t7, $v0, 2 -/* 034A50 80033E50 0019C080 */ sll $t8, $t9, 2 -/* 034A54 80033E54 01585021 */ addu $t2, $t2, $t8 -/* 034A58 80033E58 8D4A3610 */ lw $t2, %lo(D_800E3610)($t2) -/* 034A5C 80033E5C 014F7021 */ addu $t6, $t2, $t7 -/* 034A60 80033E60 C5D00000 */ lwc1 $f16, ($t6) -/* 034A64 80033E64 46101080 */ add.s $f2, $f2, $f16 -/* 034A68 80033E68 24010020 */ li $at, 32 -.L80033E6C: -/* 034A6C 80033E6C 55610005 */ bnel $t3, $at, .L80033E84 -/* 034A70 80033E70 3C014190 */ li $at, 0x41900000 # 18.000000 -/* 034A74 80033E74 2403000A */ li $v1, 10 -/* 034A78 80033E78 10000097 */ b .L800340D8 -/* 034A7C 80033E7C 2408000A */ li $t0, 10 -/* 034A80 80033E80 3C014190 */ li $at, 0x41900000 # 18.000000 -.L80033E84: -/* 034A84 80033E84 44813000 */ mtc1 $at, $f6 -/* 034A88 80033E88 C6120094 */ lwc1 $f18, 0x94($s0) -/* 034A8C 80033E8C 3C014358 */ li $at, 0x43580000 # 216.000000 -/* 034A90 80033E90 44815000 */ mtc1 $at, $f10 -/* 034A94 80033E94 46069103 */ div.s $f4, $f18, $f6 -/* 034A98 80033E98 24010010 */ li $at, 16 -/* 034A9C 80033E9C 306C0010 */ andi $t4, $v1, 0x10 -/* 034AA0 80033EA0 00002025 */ move $a0, $zero -/* 034AA4 80033EA4 24080008 */ li $t0, 8 -/* 034AA8 80033EA8 460A2002 */ mul.s $f0, $f4, $f10 -/* 034AAC 80033EAC 15810007 */ bne $t4, $at, .L80033ECC -/* 034AB0 80033EB0 00000000 */ nop -/* 034AB4 80033EB4 306D0002 */ andi $t5, $v1, 2 -/* 034AB8 80033EB8 24010002 */ li $at, 2 -/* 034ABC 80033EBC 11A10003 */ beq $t5, $at, .L80033ECC -/* 034AC0 80033EC0 00000000 */ nop -/* 034AC4 80033EC4 10000001 */ b .L80033ECC -/* 034AC8 80033EC8 24040003 */ li $a0, 3 -.L80033ECC: -/* 034ACC 80033ECC 3C014170 */ li $at, 0x41700000 # 15.000000 -/* 034AD0 80033ED0 44814000 */ mtc1 $at, $f8 -/* 034AD4 80033ED4 24030008 */ li $v1, 8 -/* 034AD8 80033ED8 4600403E */ c.le.s $f8, $f0 -/* 034ADC 80033EDC 00000000 */ nop -/* 034AE0 80033EE0 4502007A */ bc1fl .L800340CC -/* 034AE4 80033EE4 240C0008 */ li $t4, 8 -/* 034AE8 80033EE8 86030044 */ lh $v1, 0x44($s0) -/* 034AEC 80033EEC 8FB802D0 */ lw $t8, 0x2d0($sp) -/* 034AF0 80033EF0 24010004 */ li $at, 4 -/* 034AF4 80033EF4 30790002 */ andi $t9, $v1, 2 -/* 034AF8 80033EF8 54B9002F */ bnel $a1, $t9, .L80033FB8 -/* 034AFC 80033EFC 306E0004 */ andi $t6, $v1, 4 -/* 034B00 80033F00 2B010024 */ slti $at, $t8, 0x24 -/* 034B04 80033F04 50200019 */ beql $at, $zero, .L80033F6C -/* 034B08 80033F08 248C0005 */ addiu $t4, $a0, 5 -/* 034B0C 80033F0C 07000016 */ bltz $t8, .L80033F68 -/* 034B10 80033F10 3C01800E */ lui $at, %hi(gKartTable800E3650) -/* 034B14 80033F14 960A0254 */ lhu $t2, 0x254($s0) -/* 034B18 80033F18 248E000F */ addiu $t6, $a0, 0xf -/* 034B1C 80033F1C 448E2000 */ mtc1 $t6, $f4 -/* 034B20 80033F20 000A7880 */ sll $t7, $t2, 2 -/* 034B24 80033F24 002F0821 */ addu $at, $at, $t7 -/* 034B28 80033F28 C4303650 */ lwc1 $f16, %lo(gKartTable800E3650)($at) -/* 034B2C 80033F2C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 034B30 80033F30 44819000 */ mtc1 $at, $f18 -/* 034B34 80033F34 44814000 */ mtc1 $at, $f8 -/* 034B38 80033F38 468022A0 */ cvt.s.w $f10, $f4 -/* 034B3C 80033F3C 46128180 */ add.s $f6, $f16, $f18 -/* 034B40 80033F40 46024400 */ add.s $f16, $f8, $f2 -/* 034B44 80033F44 46105482 */ mul.s $f18, $f10, $f16 -/* 034B48 80033F48 00000000 */ nop -/* 034B4C 80033F4C 46123102 */ mul.s $f4, $f6, $f18 -/* 034B50 80033F50 4600220D */ trunc.w.s $f8, $f4 -/* 034B54 80033F54 44024000 */ mfc1 $v0, $f8 -/* 034B58 80033F58 00000000 */ nop -/* 034B5C 80033F5C AFA202C8 */ sw $v0, 0x2c8($sp) -/* 034B60 80033F60 10000056 */ b .L800340BC -/* 034B64 80033F64 AFA202CC */ sw $v0, 0x2cc($sp) -.L80033F68: -/* 034B68 80033F68 248C0005 */ addiu $t4, $a0, 5 -.L80033F6C: -/* 034B6C 80033F6C 448C8000 */ mtc1 $t4, $f16 -/* 034B70 80033F70 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 034B74 80033F74 44815000 */ mtc1 $at, $f10 -/* 034B78 80033F78 24980009 */ addiu $t8, $a0, 9 -/* 034B7C 80033F7C 468081A0 */ cvt.s.w $f6, $f16 -/* 034B80 80033F80 44984000 */ mtc1 $t8, $f8 -/* 034B84 80033F84 46025000 */ add.s $f0, $f10, $f2 -/* 034B88 80033F88 468042A0 */ cvt.s.w $f10, $f8 -/* 034B8C 80033F8C 46003482 */ mul.s $f18, $f6, $f0 -/* 034B90 80033F90 00000000 */ nop -/* 034B94 80033F94 46005402 */ mul.s $f16, $f10, $f0 -/* 034B98 80033F98 4600910D */ trunc.w.s $f4, $f18 -/* 034B9C 80033F9C 4600818D */ trunc.w.s $f6, $f16 -/* 034BA0 80033FA0 44192000 */ mfc1 $t9, $f4 -/* 034BA4 80033FA4 440F3000 */ mfc1 $t7, $f6 -/* 034BA8 80033FA8 AFB902C8 */ sw $t9, 0x2c8($sp) -/* 034BAC 80033FAC 10000043 */ b .L800340BC -/* 034BB0 80033FB0 AFAF02CC */ sw $t7, 0x2cc($sp) -/* 034BB4 80033FB4 306E0004 */ andi $t6, $v1, 4 -.L80033FB8: -/* 034BB8 80033FB8 15C1002F */ bne $t6, $at, .L80034078 -/* 034BBC 80033FBC 24990003 */ addiu $t9, $a0, 3 -/* 034BC0 80033FC0 8FAB02D0 */ lw $t3, 0x2d0($sp) -/* 034BC4 80033FC4 2961FFDD */ slti $at, $t3, -0x23 -/* 034BC8 80033FC8 54200019 */ bnel $at, $zero, .L80034030 -/* 034BCC 80033FCC 248A0005 */ addiu $t2, $a0, 5 -/* 034BD0 80033FD0 1D600016 */ bgtz $t3, .L8003402C -/* 034BD4 80033FD4 3C01800E */ lui $at, %hi(gKartTable800E3650) -/* 034BD8 80033FD8 960C0254 */ lhu $t4, 0x254($s0) -/* 034BDC 80033FDC 2499000F */ addiu $t9, $a0, 0xf -/* 034BE0 80033FE0 44995000 */ mtc1 $t9, $f10 -/* 034BE4 80033FE4 000C6880 */ sll $t5, $t4, 2 -/* 034BE8 80033FE8 002D0821 */ addu $at, $at, $t5 -/* 034BEC 80033FEC C4323650 */ lwc1 $f18, %lo(gKartTable800E3650)($at) -/* 034BF0 80033FF0 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 034BF4 80033FF4 44812000 */ mtc1 $at, $f4 -/* 034BF8 80033FF8 44813000 */ mtc1 $at, $f6 -/* 034BFC 80033FFC 46805420 */ cvt.s.w $f16, $f10 -/* 034C00 80034000 46049200 */ add.s $f8, $f18, $f4 -/* 034C04 80034004 46023480 */ add.s $f18, $f6, $f2 -/* 034C08 80034008 46128102 */ mul.s $f4, $f16, $f18 -/* 034C0C 8003400C 00000000 */ nop -/* 034C10 80034010 46044282 */ mul.s $f10, $f8, $f4 -/* 034C14 80034014 4600518D */ trunc.w.s $f6, $f10 -/* 034C18 80034018 44023000 */ mfc1 $v0, $f6 -/* 034C1C 8003401C 00000000 */ nop -/* 034C20 80034020 AFA202C8 */ sw $v0, 0x2c8($sp) -/* 034C24 80034024 10000025 */ b .L800340BC -/* 034C28 80034028 AFA202CC */ sw $v0, 0x2cc($sp) -.L8003402C: -/* 034C2C 8003402C 248A0005 */ addiu $t2, $a0, 5 -.L80034030: -/* 034C30 80034030 448A9000 */ mtc1 $t2, $f18 -/* 034C34 80034034 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 034C38 80034038 44818000 */ mtc1 $at, $f16 -/* 034C3C 8003403C 248B0009 */ addiu $t3, $a0, 9 -/* 034C40 80034040 46809220 */ cvt.s.w $f8, $f18 -/* 034C44 80034044 448B3000 */ mtc1 $t3, $f6 -/* 034C48 80034048 46028000 */ add.s $f0, $f16, $f2 -/* 034C4C 8003404C 46803420 */ cvt.s.w $f16, $f6 -/* 034C50 80034050 46004102 */ mul.s $f4, $f8, $f0 -/* 034C54 80034054 00000000 */ nop -/* 034C58 80034058 46008482 */ mul.s $f18, $f16, $f0 -/* 034C5C 8003405C 4600228D */ trunc.w.s $f10, $f4 -/* 034C60 80034060 4600920D */ trunc.w.s $f8, $f18 -/* 034C64 80034064 440E5000 */ mfc1 $t6, $f10 -/* 034C68 80034068 440D4000 */ mfc1 $t5, $f8 -/* 034C6C 8003406C AFAE02C8 */ sw $t6, 0x2c8($sp) -/* 034C70 80034070 10000012 */ b .L800340BC -/* 034C74 80034074 AFAD02CC */ sw $t5, 0x2cc($sp) -.L80034078: -/* 034C78 80034078 44995000 */ mtc1 $t9, $f10 -/* 034C7C 8003407C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 034C80 80034080 44812000 */ mtc1 $at, $f4 -/* 034C84 80034084 248F0006 */ addiu $t7, $a0, 6 -/* 034C88 80034088 468051A0 */ cvt.s.w $f6, $f10 -/* 034C8C 8003408C 448F4000 */ mtc1 $t7, $f8 -/* 034C90 80034090 46022000 */ add.s $f0, $f4, $f2 -/* 034C94 80034094 46804120 */ cvt.s.w $f4, $f8 -/* 034C98 80034098 46003402 */ mul.s $f16, $f6, $f0 -/* 034C9C 8003409C 00000000 */ nop -/* 034CA0 800340A0 46002282 */ mul.s $f10, $f4, $f0 -/* 034CA4 800340A4 4600848D */ trunc.w.s $f18, $f16 -/* 034CA8 800340A8 4600518D */ trunc.w.s $f6, $f10 -/* 034CAC 800340AC 440A9000 */ mfc1 $t2, $f18 -/* 034CB0 800340B0 440B3000 */ mfc1 $t3, $f6 -/* 034CB4 800340B4 AFAA02C8 */ sw $t2, 0x2c8($sp) -/* 034CB8 800340B8 AFAB02CC */ sw $t3, 0x2cc($sp) -.L800340BC: -/* 034CBC 800340BC 8FA802CC */ lw $t0, 0x2cc($sp) -/* 034CC0 800340C0 10000005 */ b .L800340D8 -/* 034CC4 800340C4 8FA302C8 */ lw $v1, 0x2c8($sp) -/* 034CC8 800340C8 240C0008 */ li $t4, 8 -.L800340CC: -/* 034CCC 800340CC 240D0008 */ li $t5, 8 -/* 034CD0 800340D0 AFAC02C8 */ sw $t4, 0x2c8($sp) -/* 034CD4 800340D4 AFAD02CC */ sw $t5, 0x2cc($sp) -.L800340D8: -/* 034CD8 800340D8 960200DE */ lhu $v0, 0xde($s0) -/* 034CDC 800340DC 3C180007 */ lui $t8, (0x00078000 >> 16) # lui $t8, 7 -/* 034CE0 800340E0 37188000 */ ori $t8, (0x00078000 & 0xFFFF) # ori $t8, $t8, 0x8000 -/* 034CE4 800340E4 30590001 */ andi $t9, $v0, 1 -/* 034CE8 800340E8 14D90012 */ bne $a2, $t9, .L80034134 -/* 034CEC 800340EC 02002025 */ move $a0, $s0 -/* 034CF0 800340F0 44838000 */ mtc1 $v1, $f16 -/* 034CF4 800340F4 3C013FF8 */ li $at, 0x3FF80000 # 1.937500 -/* 034CF8 800340F8 44814800 */ mtc1 $at, $f9 -/* 034CFC 800340FC 468084A1 */ cvt.d.w $f18, $f16 -/* 034D00 80034100 44804000 */ mtc1 $zero, $f8 -/* 034D04 80034104 44883000 */ mtc1 $t0, $f6 -/* 034D08 80034108 46289102 */ mul.d $f4, $f18, $f8 -/* 034D0C 8003410C 44809000 */ mtc1 $zero, $f18 -/* 034D10 80034110 44819800 */ mtc1 $at, $f19 -/* 034D14 80034114 46803421 */ cvt.d.w $f16, $f6 -/* 034D18 80034118 4620228D */ trunc.w.d $f10, $f4 -/* 034D1C 8003411C 46328202 */ mul.d $f8, $f16, $f18 -/* 034D20 80034120 44035000 */ mfc1 $v1, $f10 -/* 034D24 80034124 4620410D */ trunc.w.d $f4, $f8 -/* 034D28 80034128 44082000 */ mfc1 $t0, $f4 -/* 034D2C 8003412C 10000037 */ b .L8003420C -/* 034D30 80034130 00000000 */ nop -.L80034134: -/* 034D34 80034134 304F0002 */ andi $t7, $v0, 2 -/* 034D38 80034138 14AF000F */ bne $a1, $t7, .L80034178 -/* 034D3C 8003413C 00000000 */ nop -/* 034D40 80034140 44835000 */ mtc1 $v1, $f10 -/* 034D44 80034144 44884000 */ mtc1 $t0, $f8 -/* 034D48 80034148 3C01800F */ lui $at, %hi(D_800EDCE8) -/* 034D4C 8003414C 468051A1 */ cvt.d.w $f6, $f10 -/* 034D50 80034150 D420DCE8 */ ldc1 $f0, %lo(D_800EDCE8)($at) -/* 034D54 80034154 46804121 */ cvt.d.w $f4, $f8 -/* 034D58 80034158 46203402 */ mul.d $f16, $f6, $f0 -/* 034D5C 8003415C 00000000 */ nop -/* 034D60 80034160 46202282 */ mul.d $f10, $f4, $f0 -/* 034D64 80034164 4620848D */ trunc.w.d $f18, $f16 -/* 034D68 80034168 4620518D */ trunc.w.d $f6, $f10 -/* 034D6C 8003416C 44039000 */ mfc1 $v1, $f18 -/* 034D70 80034170 44083000 */ mfc1 $t0, $f6 -/* 034D74 80034174 00000000 */ nop -.L80034178: -/* 034D78 80034178 3C018016 */ lui $at, %hi(D_801652A0) -/* 034D7C 8003417C 00310821 */ addu $at, $at, $s1 -/* 034D80 80034180 C42052A0 */ lwc1 $f0, %lo(D_801652A0)($at) -/* 034D84 80034184 C61001D8 */ lwc1 $f16, 0x1d8($s0) -/* 034D88 80034188 3C01400C */ li $at, 0x400C0000 # 2.187500 -/* 034D8C 8003418C 44812800 */ mtc1 $at, $f5 -/* 034D90 80034190 46100481 */ sub.s $f18, $f0, $f16 -/* 034D94 80034194 44802000 */ mtc1 $zero, $f4 -/* 034D98 80034198 46009221 */ cvt.d.s $f8, $f18 -/* 034D9C 8003419C 4628203E */ c.le.d $f4, $f8 -/* 034DA0 800341A0 00000000 */ nop -/* 034DA4 800341A4 4503000C */ bc1tl .L800341D8 -/* 034DA8 800341A8 44834000 */ mtc1 $v1, $f8 -/* 034DAC 800341AC C60A01F0 */ lwc1 $f10, 0x1f0($s0) -/* 034DB0 800341B0 3C01400C */ li $at, 0x400C0000 # 2.187500 -/* 034DB4 800341B4 44819800 */ mtc1 $at, $f19 -/* 034DB8 800341B8 460A0181 */ sub.s $f6, $f0, $f10 -/* 034DBC 800341BC 44809000 */ mtc1 $zero, $f18 -/* 034DC0 800341C0 46003421 */ cvt.d.s $f16, $f6 -/* 034DC4 800341C4 4630903E */ c.le.d $f18, $f16 -/* 034DC8 800341C8 00000000 */ nop -/* 034DCC 800341CC 4500000F */ bc1f .L8003420C -/* 034DD0 800341D0 00000000 */ nop -/* 034DD4 800341D4 44834000 */ mtc1 $v1, $f8 -.L800341D8: -/* 034DD8 800341D8 44888000 */ mtc1 $t0, $f16 -/* 034DDC 800341DC 3C01800F */ lui $at, %hi(D_800EDCF0) -/* 034DE0 800341E0 46804121 */ cvt.d.w $f4, $f8 -/* 034DE4 800341E4 D420DCF0 */ ldc1 $f0, %lo(D_800EDCF0)($at) -/* 034DE8 800341E8 468084A1 */ cvt.d.w $f18, $f16 -/* 034DEC 800341EC 46202282 */ mul.d $f10, $f4, $f0 -/* 034DF0 800341F0 00000000 */ nop -/* 034DF4 800341F4 46209202 */ mul.d $f8, $f18, $f0 -/* 034DF8 800341F8 4620518D */ trunc.w.d $f6, $f10 -/* 034DFC 800341FC 4620410D */ trunc.w.d $f4, $f8 -/* 034E00 80034200 44033000 */ mfc1 $v1, $f6 -/* 034E04 80034204 44082000 */ mfc1 $t0, $f4 -/* 034E08 80034208 00000000 */ nop -.L8003420C: -/* 034E0C 8003420C 0303001A */ div $zero, $t8, $v1 -/* 034E10 80034210 8E07007C */ lw $a3, 0x7c($s0) -/* 034E14 80034214 27B102D0 */ addiu $s1, $sp, 0x2d0 -/* 034E18 80034218 00005012 */ mflo $t2 -/* 034E1C 8003421C 2419005A */ li $t9, 90 -/* 034E20 80034220 240F01C2 */ li $t7, 450 -/* 034E24 80034224 AFAF0018 */ sw $t7, 0x18($sp) -/* 034E28 80034228 AFB90010 */ sw $t9, 0x10($sp) -/* 034E2C 8003422C AFAA0014 */ sw $t2, 0x14($sp) -/* 034E30 80034230 02202825 */ move $a1, $s1 -/* 034E34 80034234 AFA902E0 */ sw $t1, 0x2e0($sp) -/* 034E38 80034238 AFA802CC */ sw $t0, 0x2cc($sp) -/* 034E3C 8003423C AFA302C8 */ sw $v1, 0x2c8($sp) -/* 034E40 80034240 02403025 */ move $a2, $s2 -/* 034E44 80034244 14600002 */ bnez $v1, .L80034250 -/* 034E48 80034248 00000000 */ nop -/* 034E4C 8003424C 0007000D */ break 7 -.L80034250: -/* 034E50 80034250 2401FFFF */ li $at, -1 -/* 034E54 80034254 14610004 */ bne $v1, $at, .L80034268 -/* 034E58 80034258 3C018000 */ lui $at, 0x8000 -/* 034E5C 8003425C 17010002 */ bne $t8, $at, .L80034268 -/* 034E60 80034260 00000000 */ nop -/* 034E64 80034264 0006000D */ break 6 -.L80034268: -/* 034E68 80034268 0C00CE21 */ jal func_80033884 -/* 034E6C 8003426C 00000000 */ nop -/* 034E70 80034270 3C0C0007 */ lui $t4, (0x00076000 >> 16) # lui $t4, 7 -/* 034E74 80034274 8FAB02C8 */ lw $t3, 0x2c8($sp) -/* 034E78 80034278 358C6000 */ ori $t4, (0x00076000 & 0xFFFF) # ori $t4, $t4, 0x6000 -/* 034E7C 8003427C 8E07007C */ lw $a3, 0x7c($s0) -/* 034E80 80034280 018B001A */ div $zero, $t4, $t3 -/* 034E84 80034284 00006812 */ mflo $t5 -/* 034E88 80034288 240E0059 */ li $t6, 89 -/* 034E8C 8003428C 241901B8 */ li $t9, 440 -/* 034E90 80034290 AFB90018 */ sw $t9, 0x18($sp) -/* 034E94 80034294 AFAE0010 */ sw $t6, 0x10($sp) -/* 034E98 80034298 AFAD0014 */ sw $t5, 0x14($sp) -/* 034E9C 8003429C 02002025 */ move $a0, $s0 -/* 034EA0 800342A0 02202825 */ move $a1, $s1 -/* 034EA4 800342A4 02403025 */ move $a2, $s2 -/* 034EA8 800342A8 15600002 */ bnez $t3, .L800342B4 -/* 034EAC 800342AC 00000000 */ nop -/* 034EB0 800342B0 0007000D */ break 7 -.L800342B4: -/* 034EB4 800342B4 2401FFFF */ li $at, -1 -/* 034EB8 800342B8 15610004 */ bne $t3, $at, .L800342CC -/* 034EBC 800342BC 3C018000 */ lui $at, 0x8000 -/* 034EC0 800342C0 15810002 */ bne $t4, $at, .L800342CC -/* 034EC4 800342C4 00000000 */ nop -/* 034EC8 800342C8 0006000D */ break 6 -.L800342CC: -/* 034ECC 800342CC 0C00CE21 */ jal func_80033884 -/* 034ED0 800342D0 00000000 */ nop -/* 034ED4 800342D4 3C0F0007 */ lui $t7, (0x00074000 >> 16) # lui $t7, 7 -/* 034ED8 800342D8 8FAA02C8 */ lw $t2, 0x2c8($sp) -/* 034EDC 800342DC 35EF4000 */ ori $t7, (0x00074000 & 0xFFFF) # ori $t7, $t7, 0x4000 -/* 034EE0 800342E0 8E07007C */ lw $a3, 0x7c($s0) -/* 034EE4 800342E4 01EA001A */ div $zero, $t7, $t2 -/* 034EE8 800342E8 00007012 */ mflo $t6 -/* 034EEC 800342EC 24180058 */ li $t8, 88 -/* 034EF0 800342F0 240C01AE */ li $t4, 430 -/* 034EF4 800342F4 AFAC0018 */ sw $t4, 0x18($sp) -/* 034EF8 800342F8 AFB80010 */ sw $t8, 0x10($sp) -/* 034EFC 800342FC AFAE0014 */ sw $t6, 0x14($sp) -/* 034F00 80034300 02002025 */ move $a0, $s0 -/* 034F04 80034304 02202825 */ move $a1, $s1 -/* 034F08 80034308 02403025 */ move $a2, $s2 -/* 034F0C 8003430C 15400002 */ bnez $t2, .L80034318 -/* 034F10 80034310 00000000 */ nop -/* 034F14 80034314 0007000D */ break 7 -.L80034318: -/* 034F18 80034318 2401FFFF */ li $at, -1 -/* 034F1C 8003431C 15410004 */ bne $t2, $at, .L80034330 -/* 034F20 80034320 3C018000 */ lui $at, 0x8000 -/* 034F24 80034324 15E10002 */ bne $t7, $at, .L80034330 -/* 034F28 80034328 00000000 */ nop -/* 034F2C 8003432C 0006000D */ break 6 -.L80034330: -/* 034F30 80034330 0C00CE21 */ jal func_80033884 -/* 034F34 80034334 00000000 */ nop -/* 034F38 80034338 3C190007 */ lui $t9, (0x00072000 >> 16) # lui $t9, 7 -/* 034F3C 8003433C 8FAD02C8 */ lw $t5, 0x2c8($sp) -/* 034F40 80034340 37392000 */ ori $t9, (0x00072000 & 0xFFFF) # ori $t9, $t9, 0x2000 -/* 034F44 80034344 8E07007C */ lw $a3, 0x7c($s0) -/* 034F48 80034348 032D001A */ div $zero, $t9, $t5 -/* 034F4C 8003434C 0000C012 */ mflo $t8 -/* 034F50 80034350 240B0057 */ li $t3, 87 -/* 034F54 80034354 240F01A4 */ li $t7, 420 -/* 034F58 80034358 AFAF0018 */ sw $t7, 0x18($sp) -/* 034F5C 8003435C AFAB0010 */ sw $t3, 0x10($sp) -/* 034F60 80034360 AFB80014 */ sw $t8, 0x14($sp) -/* 034F64 80034364 02002025 */ move $a0, $s0 -/* 034F68 80034368 02202825 */ move $a1, $s1 -/* 034F6C 8003436C 02403025 */ move $a2, $s2 -/* 034F70 80034370 15A00002 */ bnez $t5, .L8003437C -/* 034F74 80034374 00000000 */ nop -/* 034F78 80034378 0007000D */ break 7 -.L8003437C: -/* 034F7C 8003437C 2401FFFF */ li $at, -1 -/* 034F80 80034380 15A10004 */ bne $t5, $at, .L80034394 -/* 034F84 80034384 3C018000 */ lui $at, 0x8000 -/* 034F88 80034388 17210002 */ bne $t9, $at, .L80034394 -/* 034F8C 8003438C 00000000 */ nop -/* 034F90 80034390 0006000D */ break 6 -.L80034394: -/* 034F94 80034394 0C00CE21 */ jal func_80033884 -/* 034F98 80034398 00000000 */ nop -/* 034F9C 8003439C 8FAE02C8 */ lw $t6, 0x2c8($sp) -/* 034FA0 800343A0 3C0C0007 */ lui $t4, 7 -/* 034FA4 800343A4 8E07007C */ lw $a3, 0x7c($s0) -/* 034FA8 800343A8 018E001A */ div $zero, $t4, $t6 -/* 034FAC 800343AC 00005812 */ mflo $t3 -/* 034FB0 800343B0 240A0056 */ li $t2, 86 -/* 034FB4 800343B4 2419019A */ li $t9, 410 -/* 034FB8 800343B8 AFB90018 */ sw $t9, 0x18($sp) -/* 034FBC 800343BC AFAA0010 */ sw $t2, 0x10($sp) -/* 034FC0 800343C0 AFAB0014 */ sw $t3, 0x14($sp) -/* 034FC4 800343C4 02002025 */ move $a0, $s0 -/* 034FC8 800343C8 02202825 */ move $a1, $s1 -/* 034FCC 800343CC 02403025 */ move $a2, $s2 -/* 034FD0 800343D0 15C00002 */ bnez $t6, .L800343DC -/* 034FD4 800343D4 00000000 */ nop -/* 034FD8 800343D8 0007000D */ break 7 -.L800343DC: -/* 034FDC 800343DC 2401FFFF */ li $at, -1 -/* 034FE0 800343E0 15C10004 */ bne $t6, $at, .L800343F4 -/* 034FE4 800343E4 3C018000 */ lui $at, 0x8000 -/* 034FE8 800343E8 15810002 */ bne $t4, $at, .L800343F4 -/* 034FEC 800343EC 00000000 */ nop -/* 034FF0 800343F0 0006000D */ break 6 -.L800343F4: -/* 034FF4 800343F4 0C00CE21 */ jal func_80033884 -/* 034FF8 800343F8 00000000 */ nop -/* 034FFC 800343FC 3C0F0005 */ lui $t7, (0x00058000 >> 16) # lui $t7, 5 -/* 035000 80034400 8FB802C8 */ lw $t8, 0x2c8($sp) -/* 035004 80034404 35EF8000 */ ori $t7, (0x00058000 & 0xFFFF) # ori $t7, $t7, 0x8000 -/* 035008 80034408 8E07007C */ lw $a3, 0x7c($s0) -/* 03500C 8003440C 01F8001A */ div $zero, $t7, $t8 -/* 035010 80034410 00005012 */ mflo $t2 -/* 035014 80034414 240D0055 */ li $t5, 85 -/* 035018 80034418 240C0190 */ li $t4, 400 -/* 03501C 8003441C AFAC0018 */ sw $t4, 0x18($sp) -/* 035020 80034420 AFAD0010 */ sw $t5, 0x10($sp) -/* 035024 80034424 AFAA0014 */ sw $t2, 0x14($sp) -/* 035028 80034428 02002025 */ move $a0, $s0 -/* 03502C 8003442C 02202825 */ move $a1, $s1 -/* 035030 80034430 02403025 */ move $a2, $s2 -/* 035034 80034434 17000002 */ bnez $t8, .L80034440 -/* 035038 80034438 00000000 */ nop -/* 03503C 8003443C 0007000D */ break 7 -.L80034440: -/* 035040 80034440 2401FFFF */ li $at, -1 -/* 035044 80034444 17010004 */ bne $t8, $at, .L80034458 -/* 035048 80034448 3C018000 */ lui $at, 0x8000 -/* 03504C 8003444C 15E10002 */ bne $t7, $at, .L80034458 -/* 035050 80034450 00000000 */ nop -/* 035054 80034454 0006000D */ break 6 -.L80034458: -/* 035058 80034458 0C00CE21 */ jal func_80033884 -/* 03505C 8003445C 00000000 */ nop -/* 035060 80034460 3C190005 */ lui $t9, (0x00056000 >> 16) # lui $t9, 5 -/* 035064 80034464 8FAB02C8 */ lw $t3, 0x2c8($sp) -/* 035068 80034468 37396000 */ ori $t9, (0x00056000 & 0xFFFF) # ori $t9, $t9, 0x6000 -/* 03506C 8003446C 8E07007C */ lw $a3, 0x7c($s0) -/* 035070 80034470 032B001A */ div $zero, $t9, $t3 -/* 035074 80034474 00006812 */ mflo $t5 -/* 035078 80034478 240E0054 */ li $t6, 84 -/* 03507C 8003447C 240F018B */ li $t7, 395 -/* 035080 80034480 AFAF0018 */ sw $t7, 0x18($sp) -/* 035084 80034484 AFAE0010 */ sw $t6, 0x10($sp) -/* 035088 80034488 AFAD0014 */ sw $t5, 0x14($sp) -/* 03508C 8003448C 02002025 */ move $a0, $s0 -/* 035090 80034490 02202825 */ move $a1, $s1 -/* 035094 80034494 02403025 */ move $a2, $s2 -/* 035098 80034498 15600002 */ bnez $t3, .L800344A4 -/* 03509C 8003449C 00000000 */ nop -/* 0350A0 800344A0 0007000D */ break 7 -.L800344A4: -/* 0350A4 800344A4 2401FFFF */ li $at, -1 -/* 0350A8 800344A8 15610004 */ bne $t3, $at, .L800344BC -/* 0350AC 800344AC 3C018000 */ lui $at, 0x8000 -/* 0350B0 800344B0 17210002 */ bne $t9, $at, .L800344BC -/* 0350B4 800344B4 00000000 */ nop -/* 0350B8 800344B8 0006000D */ break 6 -.L800344BC: -/* 0350BC 800344BC 0C00CE21 */ jal func_80033884 -/* 0350C0 800344C0 00000000 */ nop -/* 0350C4 800344C4 8FAA02C8 */ lw $t2, 0x2c8($sp) -/* 0350C8 800344C8 3C0C0005 */ lui $t4, 5 -/* 0350CC 800344CC 8E07007C */ lw $a3, 0x7c($s0) -/* 0350D0 800344D0 018A001A */ div $zero, $t4, $t2 -/* 0350D4 800344D4 00007012 */ mflo $t6 -/* 0350D8 800344D8 24180053 */ li $t8, 83 -/* 0350DC 800344DC 24190186 */ li $t9, 390 -/* 0350E0 800344E0 AFB90018 */ sw $t9, 0x18($sp) -/* 0350E4 800344E4 AFB80010 */ sw $t8, 0x10($sp) -/* 0350E8 800344E8 AFAE0014 */ sw $t6, 0x14($sp) -/* 0350EC 800344EC 02002025 */ move $a0, $s0 -/* 0350F0 800344F0 02202825 */ move $a1, $s1 -/* 0350F4 800344F4 02403025 */ move $a2, $s2 -/* 0350F8 800344F8 15400002 */ bnez $t2, .L80034504 -/* 0350FC 800344FC 00000000 */ nop -/* 035100 80034500 0007000D */ break 7 -.L80034504: -/* 035104 80034504 2401FFFF */ li $at, -1 -/* 035108 80034508 15410004 */ bne $t2, $at, .L8003451C -/* 03510C 8003450C 3C018000 */ lui $at, 0x8000 -/* 035110 80034510 15810002 */ bne $t4, $at, .L8003451C -/* 035114 80034514 00000000 */ nop -/* 035118 80034518 0006000D */ break 6 -.L8003451C: -/* 03511C 8003451C 0C00CE21 */ jal func_80033884 -/* 035120 80034520 00000000 */ nop -/* 035124 80034524 3C0F0004 */ lui $t7, (0x0004F000 >> 16) # lui $t7, 4 -/* 035128 80034528 8FAD02C8 */ lw $t5, 0x2c8($sp) -/* 03512C 8003452C 35EFF000 */ ori $t7, (0x0004F000 & 0xFFFF) # ori $t7, $t7, 0xf000 -/* 035130 80034530 8E07007C */ lw $a3, 0x7c($s0) -/* 035134 80034534 01ED001A */ div $zero, $t7, $t5 -/* 035138 80034538 0000C012 */ mflo $t8 -/* 03513C 8003453C 240B0052 */ li $t3, 82 -/* 035140 80034540 240C0186 */ li $t4, 390 -/* 035144 80034544 AFAC0018 */ sw $t4, 0x18($sp) -/* 035148 80034548 AFAB0010 */ sw $t3, 0x10($sp) -/* 03514C 8003454C AFB80014 */ sw $t8, 0x14($sp) -/* 035150 80034550 02002025 */ move $a0, $s0 -/* 035154 80034554 02202825 */ move $a1, $s1 -/* 035158 80034558 02403025 */ move $a2, $s2 -/* 03515C 8003455C 15A00002 */ bnez $t5, .L80034568 -/* 035160 80034560 00000000 */ nop -/* 035164 80034564 0007000D */ break 7 -.L80034568: -/* 035168 80034568 2401FFFF */ li $at, -1 -/* 03516C 8003456C 15A10004 */ bne $t5, $at, .L80034580 -/* 035170 80034570 3C018000 */ lui $at, 0x8000 -/* 035174 80034574 15E10002 */ bne $t7, $at, .L80034580 -/* 035178 80034578 00000000 */ nop -/* 03517C 8003457C 0006000D */ break 6 -.L80034580: -/* 035180 80034580 0C00CE21 */ jal func_80033884 -/* 035184 80034584 00000000 */ nop -/* 035188 80034588 3C190004 */ lui $t9, (0x0004E000 >> 16) # lui $t9, 4 -/* 03518C 8003458C 8FAE02C8 */ lw $t6, 0x2c8($sp) -/* 035190 80034590 3739E000 */ ori $t9, (0x0004E000 & 0xFFFF) # ori $t9, $t9, 0xe000 -/* 035194 80034594 8E07007C */ lw $a3, 0x7c($s0) -/* 035198 80034598 032E001A */ div $zero, $t9, $t6 -/* 03519C 8003459C 00005812 */ mflo $t3 -/* 0351A0 800345A0 240A0051 */ li $t2, 81 -/* 0351A4 800345A4 240F017C */ li $t7, 380 -/* 0351A8 800345A8 AFAF0018 */ sw $t7, 0x18($sp) -/* 0351AC 800345AC AFAA0010 */ sw $t2, 0x10($sp) -/* 0351B0 800345B0 AFAB0014 */ sw $t3, 0x14($sp) -/* 0351B4 800345B4 02002025 */ move $a0, $s0 -/* 0351B8 800345B8 02202825 */ move $a1, $s1 -/* 0351BC 800345BC 02403025 */ move $a2, $s2 -/* 0351C0 800345C0 15C00002 */ bnez $t6, .L800345CC -/* 0351C4 800345C4 00000000 */ nop -/* 0351C8 800345C8 0007000D */ break 7 -.L800345CC: -/* 0351CC 800345CC 2401FFFF */ li $at, -1 -/* 0351D0 800345D0 15C10004 */ bne $t6, $at, .L800345E4 -/* 0351D4 800345D4 3C018000 */ lui $at, 0x8000 -/* 0351D8 800345D8 17210002 */ bne $t9, $at, .L800345E4 -/* 0351DC 800345DC 00000000 */ nop -/* 0351E0 800345E0 0006000D */ break 6 -.L800345E4: -/* 0351E4 800345E4 0C00CE21 */ jal func_80033884 -/* 0351E8 800345E8 00000000 */ nop -/* 0351EC 800345EC 3C0C0004 */ lui $t4, (0x0004D000 >> 16) # lui $t4, 4 -/* 0351F0 800345F0 8FB802C8 */ lw $t8, 0x2c8($sp) -/* 0351F4 800345F4 358CD000 */ ori $t4, (0x0004D000 & 0xFFFF) # ori $t4, $t4, 0xd000 -/* 0351F8 800345F8 8E07007C */ lw $a3, 0x7c($s0) -/* 0351FC 800345FC 0198001A */ div $zero, $t4, $t8 -/* 035200 80034600 00005012 */ mflo $t2 -/* 035204 80034604 240D0050 */ li $t5, 80 -/* 035208 80034608 24190172 */ li $t9, 370 -/* 03520C 8003460C AFB90018 */ sw $t9, 0x18($sp) -/* 035210 80034610 AFAD0010 */ sw $t5, 0x10($sp) -/* 035214 80034614 AFAA0014 */ sw $t2, 0x14($sp) -/* 035218 80034618 02002025 */ move $a0, $s0 -/* 03521C 8003461C 02202825 */ move $a1, $s1 -/* 035220 80034620 02403025 */ move $a2, $s2 -/* 035224 80034624 17000002 */ bnez $t8, .L80034630 -/* 035228 80034628 00000000 */ nop -/* 03522C 8003462C 0007000D */ break 7 -.L80034630: -/* 035230 80034630 2401FFFF */ li $at, -1 -/* 035234 80034634 17010004 */ bne $t8, $at, .L80034648 -/* 035238 80034638 3C018000 */ lui $at, 0x8000 -/* 03523C 8003463C 15810002 */ bne $t4, $at, .L80034648 -/* 035240 80034640 00000000 */ nop -/* 035244 80034644 0006000D */ break 6 -.L80034648: -/* 035248 80034648 0C00CE21 */ jal func_80033884 -/* 03524C 8003464C 00000000 */ nop -/* 035250 80034650 3C0F0004 */ lui $t7, (0x0004C000 >> 16) # lui $t7, 4 -/* 035254 80034654 8FAB02C8 */ lw $t3, 0x2c8($sp) -/* 035258 80034658 35EFC000 */ ori $t7, (0x0004C000 & 0xFFFF) # ori $t7, $t7, 0xc000 -/* 03525C 8003465C 8E07007C */ lw $a3, 0x7c($s0) -/* 035260 80034660 01EB001A */ div $zero, $t7, $t3 -/* 035264 80034664 00001012 */ mflo $v0 -/* 035268 80034668 240E004F */ li $t6, 79 -/* 03526C 8003466C 240D0168 */ li $t5, 360 -/* 035270 80034670 AFAD0018 */ sw $t5, 0x18($sp) -/* 035274 80034674 AFAE0010 */ sw $t6, 0x10($sp) -/* 035278 80034678 AFA20014 */ sw $v0, 0x14($sp) -/* 03527C 8003467C AFA20040 */ sw $v0, 0x40($sp) -/* 035280 80034680 02002025 */ move $a0, $s0 -/* 035284 80034684 02202825 */ move $a1, $s1 -/* 035288 80034688 02403025 */ move $a2, $s2 -/* 03528C 8003468C 15600002 */ bnez $t3, .L80034698 -/* 035290 80034690 00000000 */ nop -/* 035294 80034694 0007000D */ break 7 -.L80034698: -/* 035298 80034698 2401FFFF */ li $at, -1 -/* 03529C 8003469C 15610004 */ bne $t3, $at, .L800346B0 -/* 0352A0 800346A0 3C018000 */ lui $at, 0x8000 -/* 0352A4 800346A4 15E10002 */ bne $t7, $at, .L800346B0 -/* 0352A8 800346A8 00000000 */ nop -/* 0352AC 800346AC 0006000D */ break 6 -.L800346B0: -/* 0352B0 800346B0 0C00CE21 */ jal func_80033884 -/* 0352B4 800346B4 00000000 */ nop -/* 0352B8 800346B8 8FA20040 */ lw $v0, 0x40($sp) -/* 0352BC 800346BC 8E07007C */ lw $a3, 0x7c($s0) -/* 0352C0 800346C0 240C004E */ li $t4, 78 -/* 0352C4 800346C4 24180168 */ li $t8, 360 -/* 0352C8 800346C8 AFB80018 */ sw $t8, 0x18($sp) -/* 0352CC 800346CC AFAC0010 */ sw $t4, 0x10($sp) -/* 0352D0 800346D0 02002025 */ move $a0, $s0 -/* 0352D4 800346D4 02202825 */ move $a1, $s1 -/* 0352D8 800346D8 02403025 */ move $a2, $s2 -/* 0352DC 800346DC 0C00CE21 */ jal func_80033884 -/* 0352E0 800346E0 AFA20014 */ sw $v0, 0x14($sp) -/* 0352E4 800346E4 3C0E0004 */ lui $t6, (0x0004B000 >> 16) # lui $t6, 4 -/* 0352E8 800346E8 8FB902C8 */ lw $t9, 0x2c8($sp) -/* 0352EC 800346EC 35CEB000 */ ori $t6, (0x0004B000 & 0xFFFF) # ori $t6, $t6, 0xb000 -/* 0352F0 800346F0 8E07007C */ lw $a3, 0x7c($s0) -/* 0352F4 800346F4 01D9001A */ div $zero, $t6, $t9 -/* 0352F8 800346F8 00007812 */ mflo $t7 -/* 0352FC 800346FC 240A004D */ li $t2, 77 -/* 035300 80034700 240B015E */ li $t3, 350 -/* 035304 80034704 AFAB0018 */ sw $t3, 0x18($sp) -/* 035308 80034708 AFAA0010 */ sw $t2, 0x10($sp) -/* 03530C 8003470C AFAF0014 */ sw $t7, 0x14($sp) -/* 035310 80034710 02002025 */ move $a0, $s0 -/* 035314 80034714 02202825 */ move $a1, $s1 -/* 035318 80034718 02403025 */ move $a2, $s2 -/* 03531C 8003471C 17200002 */ bnez $t9, .L80034728 -/* 035320 80034720 00000000 */ nop -/* 035324 80034724 0007000D */ break 7 -.L80034728: -/* 035328 80034728 2401FFFF */ li $at, -1 -/* 03532C 8003472C 17210004 */ bne $t9, $at, .L80034740 -/* 035330 80034730 3C018000 */ lui $at, 0x8000 -/* 035334 80034734 15C10002 */ bne $t6, $at, .L80034740 -/* 035338 80034738 00000000 */ nop -/* 03533C 8003473C 0006000D */ break 6 -.L80034740: -/* 035340 80034740 0C00CE21 */ jal func_80033884 -/* 035344 80034744 00000000 */ nop -/* 035348 80034748 3C180004 */ lui $t8, (0x0004A000 >> 16) # lui $t8, 4 -/* 03534C 8003474C 8FAC02C8 */ lw $t4, 0x2c8($sp) -/* 035350 80034750 3718A000 */ ori $t8, (0x0004A000 & 0xFFFF) # ori $t8, $t8, 0xa000 -/* 035354 80034754 8E07007C */ lw $a3, 0x7c($s0) -/* 035358 80034758 030C001A */ div $zero, $t8, $t4 -/* 03535C 8003475C 00005012 */ mflo $t2 -/* 035360 80034760 240D004C */ li $t5, 76 -/* 035364 80034764 240E0154 */ li $t6, 340 -/* 035368 80034768 AFAE0018 */ sw $t6, 0x18($sp) -/* 03536C 8003476C AFAD0010 */ sw $t5, 0x10($sp) -/* 035370 80034770 AFAA0014 */ sw $t2, 0x14($sp) -/* 035374 80034774 02002025 */ move $a0, $s0 -/* 035378 80034778 02202825 */ move $a1, $s1 -/* 03537C 8003477C 02403025 */ move $a2, $s2 -/* 035380 80034780 15800002 */ bnez $t4, .L8003478C -/* 035384 80034784 00000000 */ nop -/* 035388 80034788 0007000D */ break 7 -.L8003478C: -/* 03538C 8003478C 2401FFFF */ li $at, -1 -/* 035390 80034790 15810004 */ bne $t4, $at, .L800347A4 -/* 035394 80034794 3C018000 */ lui $at, 0x8000 -/* 035398 80034798 17010002 */ bne $t8, $at, .L800347A4 -/* 03539C 8003479C 00000000 */ nop -/* 0353A0 800347A0 0006000D */ break 6 -.L800347A4: -/* 0353A4 800347A4 0C00CE21 */ jal func_80033884 -/* 0353A8 800347A8 00000000 */ nop -/* 0353AC 800347AC 3C0B0004 */ lui $t3, (0x00049000 >> 16) # lui $t3, 4 -/* 0353B0 800347B0 8FAF02C8 */ lw $t7, 0x2c8($sp) -/* 0353B4 800347B4 356B9000 */ ori $t3, (0x00049000 & 0xFFFF) # ori $t3, $t3, 0x9000 -/* 0353B8 800347B8 8E07007C */ lw $a3, 0x7c($s0) -/* 0353BC 800347BC 016F001A */ div $zero, $t3, $t7 -/* 0353C0 800347C0 00001012 */ mflo $v0 -/* 0353C4 800347C4 2419004B */ li $t9, 75 -/* 0353C8 800347C8 240D014A */ li $t5, 330 -/* 0353CC 800347CC AFAD0018 */ sw $t5, 0x18($sp) -/* 0353D0 800347D0 AFB90010 */ sw $t9, 0x10($sp) -/* 0353D4 800347D4 AFA20014 */ sw $v0, 0x14($sp) -/* 0353D8 800347D8 AFA20040 */ sw $v0, 0x40($sp) -/* 0353DC 800347DC 02002025 */ move $a0, $s0 -/* 0353E0 800347E0 02202825 */ move $a1, $s1 -/* 0353E4 800347E4 02403025 */ move $a2, $s2 -/* 0353E8 800347E8 15E00002 */ bnez $t7, .L800347F4 -/* 0353EC 800347EC 00000000 */ nop -/* 0353F0 800347F0 0007000D */ break 7 -.L800347F4: -/* 0353F4 800347F4 2401FFFF */ li $at, -1 -/* 0353F8 800347F8 15E10004 */ bne $t7, $at, .L8003480C -/* 0353FC 800347FC 3C018000 */ lui $at, 0x8000 -/* 035400 80034800 15610002 */ bne $t3, $at, .L8003480C -/* 035404 80034804 00000000 */ nop -/* 035408 80034808 0006000D */ break 6 -.L8003480C: -/* 03540C 8003480C 0C00CE21 */ jal func_80033884 -/* 035410 80034810 00000000 */ nop -/* 035414 80034814 8FAC0040 */ lw $t4, 0x40($sp) -/* 035418 80034818 8E07007C */ lw $a3, 0x7c($s0) -/* 03541C 8003481C 2418004A */ li $t8, 74 -/* 035420 80034820 240A014A */ li $t2, 330 -/* 035424 80034824 AFAA0018 */ sw $t2, 0x18($sp) -/* 035428 80034828 AFB80010 */ sw $t8, 0x10($sp) -/* 03542C 8003482C 02002025 */ move $a0, $s0 -/* 035430 80034830 02202825 */ move $a1, $s1 -/* 035434 80034834 02403025 */ move $a2, $s2 -/* 035438 80034838 0C00CE21 */ jal func_80033884 -/* 03543C 8003483C AFAC0014 */ sw $t4, 0x14($sp) -/* 035440 80034840 8FB90040 */ lw $t9, 0x40($sp) -/* 035444 80034844 8E07007C */ lw $a3, 0x7c($s0) -/* 035448 80034848 240E0049 */ li $t6, 73 -/* 03544C 8003484C 240B014A */ li $t3, 330 -/* 035450 80034850 AFAB0018 */ sw $t3, 0x18($sp) -/* 035454 80034854 AFAE0010 */ sw $t6, 0x10($sp) -/* 035458 80034858 02002025 */ move $a0, $s0 -/* 03545C 8003485C 02202825 */ move $a1, $s1 -/* 035460 80034860 02403025 */ move $a2, $s2 -/* 035464 80034864 0C00CE21 */ jal func_80033884 -/* 035468 80034868 AFB90014 */ sw $t9, 0x14($sp) -/* 03546C 8003486C 3C180004 */ lui $t8, (0x00048000 >> 16) # lui $t8, 4 -/* 035470 80034870 8FAD02C8 */ lw $t5, 0x2c8($sp) -/* 035474 80034874 37188000 */ ori $t8, (0x00048000 & 0xFFFF) # ori $t8, $t8, 0x8000 -/* 035478 80034878 8E07007C */ lw $a3, 0x7c($s0) -/* 03547C 8003487C 030D001A */ div $zero, $t8, $t5 -/* 035480 80034880 00006012 */ mflo $t4 -/* 035484 80034884 240F0048 */ li $t7, 72 -/* 035488 80034888 240A0140 */ li $t2, 320 -/* 03548C 8003488C AFAA0018 */ sw $t2, 0x18($sp) -/* 035490 80034890 AFAF0010 */ sw $t7, 0x10($sp) -/* 035494 80034894 AFAC0014 */ sw $t4, 0x14($sp) -/* 035498 80034898 02002025 */ move $a0, $s0 -/* 03549C 8003489C 02202825 */ move $a1, $s1 -/* 0354A0 800348A0 02403025 */ move $a2, $s2 -/* 0354A4 800348A4 15A00002 */ bnez $t5, .L800348B0 -/* 0354A8 800348A8 00000000 */ nop -/* 0354AC 800348AC 0007000D */ break 7 -.L800348B0: -/* 0354B0 800348B0 2401FFFF */ li $at, -1 -/* 0354B4 800348B4 15A10004 */ bne $t5, $at, .L800348C8 -/* 0354B8 800348B8 3C018000 */ lui $at, 0x8000 -/* 0354BC 800348BC 17010002 */ bne $t8, $at, .L800348C8 -/* 0354C0 800348C0 00000000 */ nop -/* 0354C4 800348C4 0006000D */ break 6 -.L800348C8: -/* 0354C8 800348C8 0C00CE21 */ jal func_80033884 -/* 0354CC 800348CC 00000000 */ nop -/* 0354D0 800348D0 3C0B0004 */ lui $t3, (0x00047000 >> 16) # lui $t3, 4 -/* 0354D4 800348D4 8FB902C8 */ lw $t9, 0x2c8($sp) -/* 0354D8 800348D8 356B7000 */ ori $t3, (0x00047000 & 0xFFFF) # ori $t3, $t3, 0x7000 -/* 0354DC 800348DC 8E07007C */ lw $a3, 0x7c($s0) -/* 0354E0 800348E0 0179001A */ div $zero, $t3, $t9 -/* 0354E4 800348E4 00001012 */ mflo $v0 -/* 0354E8 800348E8 240E0047 */ li $t6, 71 -/* 0354EC 800348EC 240F013B */ li $t7, 315 -/* 0354F0 800348F0 AFAF0018 */ sw $t7, 0x18($sp) -/* 0354F4 800348F4 AFAE0010 */ sw $t6, 0x10($sp) -/* 0354F8 800348F8 AFA20014 */ sw $v0, 0x14($sp) -/* 0354FC 800348FC AFA20040 */ sw $v0, 0x40($sp) -/* 035500 80034900 02002025 */ move $a0, $s0 -/* 035504 80034904 02202825 */ move $a1, $s1 -/* 035508 80034908 02403025 */ move $a2, $s2 -/* 03550C 8003490C 17200002 */ bnez $t9, .L80034918 -/* 035510 80034910 00000000 */ nop -/* 035514 80034914 0007000D */ break 7 -.L80034918: -/* 035518 80034918 2401FFFF */ li $at, -1 -/* 03551C 8003491C 17210004 */ bne $t9, $at, .L80034930 -/* 035520 80034920 3C018000 */ lui $at, 0x8000 -/* 035524 80034924 15610002 */ bne $t3, $at, .L80034930 -/* 035528 80034928 00000000 */ nop -/* 03552C 8003492C 0006000D */ break 6 -.L80034930: -/* 035530 80034930 0C00CE21 */ jal func_80033884 -/* 035534 80034934 00000000 */ nop -/* 035538 80034938 8FA20040 */ lw $v0, 0x40($sp) -/* 03553C 8003493C 8E07007C */ lw $a3, 0x7c($s0) -/* 035540 80034940 24180046 */ li $t8, 70 -/* 035544 80034944 240D013B */ li $t5, 315 -/* 035548 80034948 AFAD0018 */ sw $t5, 0x18($sp) -/* 03554C 8003494C AFB80010 */ sw $t8, 0x10($sp) -/* 035550 80034950 02002025 */ move $a0, $s0 -/* 035554 80034954 02202825 */ move $a1, $s1 -/* 035558 80034958 02403025 */ move $a2, $s2 -/* 03555C 8003495C 0C00CE21 */ jal func_80033884 -/* 035560 80034960 AFA20014 */ sw $v0, 0x14($sp) -/* 035564 80034964 3C0E0004 */ lui $t6, (0x00046000 >> 16) # lui $t6, 4 -/* 035568 80034968 8FAA02C8 */ lw $t2, 0x2c8($sp) -/* 03556C 8003496C 35CE6000 */ ori $t6, (0x00046000 & 0xFFFF) # ori $t6, $t6, 0x6000 -/* 035570 80034970 8E07007C */ lw $a3, 0x7c($s0) -/* 035574 80034974 01CA001A */ div $zero, $t6, $t2 -/* 035578 80034978 00001012 */ mflo $v0 -/* 03557C 8003497C 240C0045 */ li $t4, 69 -/* 035580 80034980 240B0131 */ li $t3, 305 -/* 035584 80034984 AFAB0018 */ sw $t3, 0x18($sp) -/* 035588 80034988 AFAC0010 */ sw $t4, 0x10($sp) -/* 03558C 8003498C AFA20014 */ sw $v0, 0x14($sp) -/* 035590 80034990 AFA20040 */ sw $v0, 0x40($sp) -/* 035594 80034994 02002025 */ move $a0, $s0 -/* 035598 80034998 02202825 */ move $a1, $s1 -/* 03559C 8003499C 02403025 */ move $a2, $s2 -/* 0355A0 800349A0 15400002 */ bnez $t2, .L800349AC -/* 0355A4 800349A4 00000000 */ nop -/* 0355A8 800349A8 0007000D */ break 7 -.L800349AC: -/* 0355AC 800349AC 2401FFFF */ li $at, -1 -/* 0355B0 800349B0 15410004 */ bne $t2, $at, .L800349C4 -/* 0355B4 800349B4 3C018000 */ lui $at, 0x8000 -/* 0355B8 800349B8 15C10002 */ bne $t6, $at, .L800349C4 -/* 0355BC 800349BC 00000000 */ nop -/* 0355C0 800349C0 0006000D */ break 6 -.L800349C4: -/* 0355C4 800349C4 0C00CE21 */ jal func_80033884 -/* 0355C8 800349C8 00000000 */ nop -/* 0355CC 800349CC 8FAF0040 */ lw $t7, 0x40($sp) -/* 0355D0 800349D0 8E07007C */ lw $a3, 0x7c($s0) -/* 0355D4 800349D4 24190044 */ li $t9, 68 -/* 0355D8 800349D8 24180131 */ li $t8, 305 -/* 0355DC 800349DC AFB80018 */ sw $t8, 0x18($sp) -/* 0355E0 800349E0 AFB90010 */ sw $t9, 0x10($sp) -/* 0355E4 800349E4 02002025 */ move $a0, $s0 -/* 0355E8 800349E8 02202825 */ move $a1, $s1 -/* 0355EC 800349EC 02403025 */ move $a2, $s2 -/* 0355F0 800349F0 0C00CE21 */ jal func_80033884 -/* 0355F4 800349F4 AFAF0014 */ sw $t7, 0x14($sp) -/* 0355F8 800349F8 3C0E0004 */ lui $t6, (0x00045000 >> 16) # lui $t6, 4 -/* 0355FC 800349FC 8FAC02C8 */ lw $t4, 0x2c8($sp) -/* 035600 80034A00 35CE5000 */ ori $t6, (0x00045000 & 0xFFFF) # ori $t6, $t6, 0x5000 -/* 035604 80034A04 8E07007C */ lw $a3, 0x7c($s0) -/* 035608 80034A08 01CC001A */ div $zero, $t6, $t4 -/* 03560C 80034A0C 00001012 */ mflo $v0 -/* 035610 80034A10 240D0043 */ li $t5, 67 -/* 035614 80034A14 240A0118 */ li $t2, 280 -/* 035618 80034A18 AFAA0018 */ sw $t2, 0x18($sp) -/* 03561C 80034A1C AFAD0010 */ sw $t5, 0x10($sp) -/* 035620 80034A20 AFA20014 */ sw $v0, 0x14($sp) -/* 035624 80034A24 AFA2003C */ sw $v0, 0x3c($sp) -/* 035628 80034A28 02002025 */ move $a0, $s0 -/* 03562C 80034A2C 02202825 */ move $a1, $s1 -/* 035630 80034A30 02403025 */ move $a2, $s2 -/* 035634 80034A34 15800002 */ bnez $t4, .L80034A40 -/* 035638 80034A38 00000000 */ nop -/* 03563C 80034A3C 0007000D */ break 7 -.L80034A40: -/* 035640 80034A40 2401FFFF */ li $at, -1 -/* 035644 80034A44 15810004 */ bne $t4, $at, .L80034A58 -/* 035648 80034A48 3C018000 */ lui $at, 0x8000 -/* 03564C 80034A4C 15C10002 */ bne $t6, $at, .L80034A58 -/* 035650 80034A50 00000000 */ nop -/* 035654 80034A54 0006000D */ break 6 -.L80034A58: -/* 035658 80034A58 0C00CE21 */ jal func_80033884 -/* 03565C 80034A5C 00000000 */ nop -/* 035660 80034A60 8FB90040 */ lw $t9, 0x40($sp) -/* 035664 80034A64 8E07007C */ lw $a3, 0x7c($s0) -/* 035668 80034A68 240B0042 */ li $t3, 66 -/* 03566C 80034A6C 240F010E */ li $t7, 270 -/* 035670 80034A70 AFAF0018 */ sw $t7, 0x18($sp) -/* 035674 80034A74 AFAB0010 */ sw $t3, 0x10($sp) -/* 035678 80034A78 02002025 */ move $a0, $s0 -/* 03567C 80034A7C 02202825 */ move $a1, $s1 -/* 035680 80034A80 02403025 */ move $a2, $s2 -/* 035684 80034A84 0C00CE21 */ jal func_80033884 -/* 035688 80034A88 AFB90014 */ sw $t9, 0x14($sp) -/* 03568C 80034A8C 8FAD003C */ lw $t5, 0x3c($sp) -/* 035690 80034A90 8E07007C */ lw $a3, 0x7c($s0) -/* 035694 80034A94 24180041 */ li $t8, 65 -/* 035698 80034A98 240E010E */ li $t6, 270 -/* 03569C 80034A9C AFAE0018 */ sw $t6, 0x18($sp) -/* 0356A0 80034AA0 AFB80010 */ sw $t8, 0x10($sp) -/* 0356A4 80034AA4 02002025 */ move $a0, $s0 -/* 0356A8 80034AA8 02202825 */ move $a1, $s1 -/* 0356AC 80034AAC 02403025 */ move $a2, $s2 -/* 0356B0 80034AB0 0C00CE21 */ jal func_80033884 -/* 0356B4 80034AB4 AFAD0014 */ sw $t5, 0x14($sp) -/* 0356B8 80034AB8 3C0B0004 */ lui $t3, (0x00044000 >> 16) # lui $t3, 4 -/* 0356BC 80034ABC 8FAA02C8 */ lw $t2, 0x2c8($sp) -/* 0356C0 80034AC0 356B4000 */ ori $t3, (0x00044000 & 0xFFFF) # ori $t3, $t3, 0x4000 -/* 0356C4 80034AC4 8E07007C */ lw $a3, 0x7c($s0) -/* 0356C8 80034AC8 016A001A */ div $zero, $t3, $t2 -/* 0356CC 80034ACC 0000C812 */ mflo $t9 -/* 0356D0 80034AD0 240C0040 */ li $t4, 64 -/* 0356D4 80034AD4 240F0104 */ li $t7, 260 -/* 0356D8 80034AD8 AFAF0018 */ sw $t7, 0x18($sp) -/* 0356DC 80034ADC AFAC0010 */ sw $t4, 0x10($sp) -/* 0356E0 80034AE0 AFB90014 */ sw $t9, 0x14($sp) -/* 0356E4 80034AE4 02002025 */ move $a0, $s0 -/* 0356E8 80034AE8 02202825 */ move $a1, $s1 -/* 0356EC 80034AEC 02403025 */ move $a2, $s2 -/* 0356F0 80034AF0 15400002 */ bnez $t2, .L80034AFC -/* 0356F4 80034AF4 00000000 */ nop -/* 0356F8 80034AF8 0007000D */ break 7 -.L80034AFC: -/* 0356FC 80034AFC 2401FFFF */ li $at, -1 -/* 035700 80034B00 15410004 */ bne $t2, $at, .L80034B14 -/* 035704 80034B04 3C018000 */ lui $at, 0x8000 -/* 035708 80034B08 15610002 */ bne $t3, $at, .L80034B14 -/* 03570C 80034B0C 00000000 */ nop -/* 035710 80034B10 0006000D */ break 6 -.L80034B14: -/* 035714 80034B14 0C00CE21 */ jal func_80033884 -/* 035718 80034B18 00000000 */ nop -/* 03571C 80034B1C 3C0E0004 */ lui $t6, (0x00043000 >> 16) # lui $t6, 4 -/* 035720 80034B20 8FAD02C8 */ lw $t5, 0x2c8($sp) -/* 035724 80034B24 35CE3000 */ ori $t6, (0x00043000 & 0xFFFF) # ori $t6, $t6, 0x3000 -/* 035728 80034B28 8E07007C */ lw $a3, 0x7c($s0) -/* 03572C 80034B2C 01CD001A */ div $zero, $t6, $t5 -/* 035730 80034B30 00001012 */ mflo $v0 -/* 035734 80034B34 2418003F */ li $t8, 63 -/* 035738 80034B38 240C00FA */ li $t4, 250 -/* 03573C 80034B3C AFAC0018 */ sw $t4, 0x18($sp) -/* 035740 80034B40 AFB80010 */ sw $t8, 0x10($sp) -/* 035744 80034B44 AFA20014 */ sw $v0, 0x14($sp) -/* 035748 80034B48 AFA20040 */ sw $v0, 0x40($sp) -/* 03574C 80034B4C 02002025 */ move $a0, $s0 -/* 035750 80034B50 02202825 */ move $a1, $s1 -/* 035754 80034B54 02403025 */ move $a2, $s2 -/* 035758 80034B58 15A00002 */ bnez $t5, .L80034B64 -/* 03575C 80034B5C 00000000 */ nop -/* 035760 80034B60 0007000D */ break 7 -.L80034B64: -/* 035764 80034B64 2401FFFF */ li $at, -1 -/* 035768 80034B68 15A10004 */ bne $t5, $at, .L80034B7C -/* 03576C 80034B6C 3C018000 */ lui $at, 0x8000 -/* 035770 80034B70 15C10002 */ bne $t6, $at, .L80034B7C -/* 035774 80034B74 00000000 */ nop -/* 035778 80034B78 0006000D */ break 6 -.L80034B7C: -/* 03577C 80034B7C 0C00CE21 */ jal func_80033884 -/* 035780 80034B80 00000000 */ nop -/* 035784 80034B84 8FAA0040 */ lw $t2, 0x40($sp) -/* 035788 80034B88 8E07007C */ lw $a3, 0x7c($s0) -/* 03578C 80034B8C 240B003E */ li $t3, 62 -/* 035790 80034B90 241900FA */ li $t9, 250 -/* 035794 80034B94 AFB90018 */ sw $t9, 0x18($sp) -/* 035798 80034B98 AFAB0010 */ sw $t3, 0x10($sp) -/* 03579C 80034B9C 02002025 */ move $a0, $s0 -/* 0357A0 80034BA0 02202825 */ move $a1, $s1 -/* 0357A4 80034BA4 02403025 */ move $a2, $s2 -/* 0357A8 80034BA8 0C00CE21 */ jal func_80033884 -/* 0357AC 80034BAC AFAA0014 */ sw $t2, 0x14($sp) -/* 0357B0 80034BB0 8FB80040 */ lw $t8, 0x40($sp) -/* 0357B4 80034BB4 8E07007C */ lw $a3, 0x7c($s0) -/* 0357B8 80034BB8 240F003D */ li $t7, 61 -/* 0357BC 80034BBC 240E00FA */ li $t6, 250 -/* 0357C0 80034BC0 AFAE0018 */ sw $t6, 0x18($sp) -/* 0357C4 80034BC4 AFAF0010 */ sw $t7, 0x10($sp) -/* 0357C8 80034BC8 02002025 */ move $a0, $s0 -/* 0357CC 80034BCC 02202825 */ move $a1, $s1 -/* 0357D0 80034BD0 02403025 */ move $a2, $s2 -/* 0357D4 80034BD4 0C00CE21 */ jal func_80033884 -/* 0357D8 80034BD8 AFB80014 */ sw $t8, 0x14($sp) -/* 0357DC 80034BDC 3C0B0003 */ lui $t3, (0x0003D000 >> 16) # lui $t3, 3 -/* 0357E0 80034BE0 8FAC02C8 */ lw $t4, 0x2c8($sp) -/* 0357E4 80034BE4 356BD000 */ ori $t3, (0x0003D000 & 0xFFFF) # ori $t3, $t3, 0xd000 -/* 0357E8 80034BE8 8E07007C */ lw $a3, 0x7c($s0) -/* 0357EC 80034BEC 016C001A */ div $zero, $t3, $t4 -/* 0357F0 80034BF0 00005012 */ mflo $t2 -/* 0357F4 80034BF4 240D003C */ li $t5, 60 -/* 0357F8 80034BF8 241900F5 */ li $t9, 245 -/* 0357FC 80034BFC AFB90018 */ sw $t9, 0x18($sp) -/* 035800 80034C00 AFAD0010 */ sw $t5, 0x10($sp) -/* 035804 80034C04 AFAA0014 */ sw $t2, 0x14($sp) -/* 035808 80034C08 02002025 */ move $a0, $s0 -/* 03580C 80034C0C 02202825 */ move $a1, $s1 -/* 035810 80034C10 02403025 */ move $a2, $s2 -/* 035814 80034C14 15800002 */ bnez $t4, .L80034C20 -/* 035818 80034C18 00000000 */ nop -/* 03581C 80034C1C 0007000D */ break 7 -.L80034C20: -/* 035820 80034C20 2401FFFF */ li $at, -1 -/* 035824 80034C24 15810004 */ bne $t4, $at, .L80034C38 -/* 035828 80034C28 3C018000 */ lui $at, 0x8000 -/* 03582C 80034C2C 15610002 */ bne $t3, $at, .L80034C38 -/* 035830 80034C30 00000000 */ nop -/* 035834 80034C34 0006000D */ break 6 -.L80034C38: -/* 035838 80034C38 0C00CE21 */ jal func_80033884 -/* 03583C 80034C3C 00000000 */ nop -/* 035840 80034C40 3C0E0003 */ lui $t6, (0x0003C000 >> 16) # lui $t6, 3 -/* 035844 80034C44 8FB802C8 */ lw $t8, 0x2c8($sp) -/* 035848 80034C48 35CEC000 */ ori $t6, (0x0003C000 & 0xFFFF) # ori $t6, $t6, 0xc000 -/* 03584C 80034C4C 8E07007C */ lw $a3, 0x7c($s0) -/* 035850 80034C50 01D8001A */ div $zero, $t6, $t8 -/* 035854 80034C54 00006812 */ mflo $t5 -/* 035858 80034C58 240F003B */ li $t7, 59 -/* 03585C 80034C5C 240B00F5 */ li $t3, 245 -/* 035860 80034C60 AFAB0018 */ sw $t3, 0x18($sp) -/* 035864 80034C64 AFAF0010 */ sw $t7, 0x10($sp) -/* 035868 80034C68 AFAD0014 */ sw $t5, 0x14($sp) -/* 03586C 80034C6C 02002025 */ move $a0, $s0 -/* 035870 80034C70 02202825 */ move $a1, $s1 -/* 035874 80034C74 02403025 */ move $a2, $s2 -/* 035878 80034C78 17000002 */ bnez $t8, .L80034C84 -/* 03587C 80034C7C 00000000 */ nop -/* 035880 80034C80 0007000D */ break 7 -.L80034C84: -/* 035884 80034C84 2401FFFF */ li $at, -1 -/* 035888 80034C88 17010004 */ bne $t8, $at, .L80034C9C -/* 03588C 80034C8C 3C018000 */ lui $at, 0x8000 -/* 035890 80034C90 15C10002 */ bne $t6, $at, .L80034C9C -/* 035894 80034C94 00000000 */ nop -/* 035898 80034C98 0006000D */ break 6 -.L80034C9C: -/* 03589C 80034C9C 0C00CE21 */ jal func_80033884 -/* 0358A0 80034CA0 00000000 */ nop -/* 0358A4 80034CA4 3C190003 */ lui $t9, (0x0003B000 >> 16) # lui $t9, 3 -/* 0358A8 80034CA8 8FAA02C8 */ lw $t2, 0x2c8($sp) -/* 0358AC 80034CAC 3739B000 */ ori $t9, (0x0003B000 & 0xFFFF) # ori $t9, $t9, 0xb000 -/* 0358B0 80034CB0 8E07007C */ lw $a3, 0x7c($s0) -/* 0358B4 80034CB4 032A001A */ div $zero, $t9, $t2 -/* 0358B8 80034CB8 00007812 */ mflo $t7 -/* 0358BC 80034CBC 240C003A */ li $t4, 58 -/* 0358C0 80034CC0 240E00F5 */ li $t6, 245 -/* 0358C4 80034CC4 AFAE0018 */ sw $t6, 0x18($sp) -/* 0358C8 80034CC8 AFAC0010 */ sw $t4, 0x10($sp) -/* 0358CC 80034CCC AFAF0014 */ sw $t7, 0x14($sp) -/* 0358D0 80034CD0 02002025 */ move $a0, $s0 -/* 0358D4 80034CD4 02202825 */ move $a1, $s1 -/* 0358D8 80034CD8 02403025 */ move $a2, $s2 -/* 0358DC 80034CDC 15400002 */ bnez $t2, .L80034CE8 -/* 0358E0 80034CE0 00000000 */ nop -/* 0358E4 80034CE4 0007000D */ break 7 -.L80034CE8: -/* 0358E8 80034CE8 2401FFFF */ li $at, -1 -/* 0358EC 80034CEC 15410004 */ bne $t2, $at, .L80034D00 -/* 0358F0 80034CF0 3C018000 */ lui $at, 0x8000 -/* 0358F4 80034CF4 17210002 */ bne $t9, $at, .L80034D00 -/* 0358F8 80034CF8 00000000 */ nop -/* 0358FC 80034CFC 0006000D */ break 6 -.L80034D00: -/* 035900 80034D00 0C00CE21 */ jal func_80033884 -/* 035904 80034D04 00000000 */ nop -/* 035908 80034D08 3C0B0003 */ lui $t3, (0x0003A000 >> 16) # lui $t3, 3 -/* 03590C 80034D0C 8FAD02C8 */ lw $t5, 0x2c8($sp) -/* 035910 80034D10 356BA000 */ ori $t3, (0x0003A000 & 0xFFFF) # ori $t3, $t3, 0xa000 -/* 035914 80034D14 8E07007C */ lw $a3, 0x7c($s0) -/* 035918 80034D18 016D001A */ div $zero, $t3, $t5 -/* 03591C 80034D1C 00006012 */ mflo $t4 -/* 035920 80034D20 24180039 */ li $t8, 57 -/* 035924 80034D24 241900F5 */ li $t9, 245 -/* 035928 80034D28 AFB90018 */ sw $t9, 0x18($sp) -/* 03592C 80034D2C AFB80010 */ sw $t8, 0x10($sp) -/* 035930 80034D30 AFAC0014 */ sw $t4, 0x14($sp) -/* 035934 80034D34 02002025 */ move $a0, $s0 -/* 035938 80034D38 02202825 */ move $a1, $s1 -/* 03593C 80034D3C 02403025 */ move $a2, $s2 -/* 035940 80034D40 15A00002 */ bnez $t5, .L80034D4C -/* 035944 80034D44 00000000 */ nop -/* 035948 80034D48 0007000D */ break 7 -.L80034D4C: -/* 03594C 80034D4C 2401FFFF */ li $at, -1 -/* 035950 80034D50 15A10004 */ bne $t5, $at, .L80034D64 -/* 035954 80034D54 3C018000 */ lui $at, 0x8000 -/* 035958 80034D58 15610002 */ bne $t3, $at, .L80034D64 -/* 03595C 80034D5C 00000000 */ nop -/* 035960 80034D60 0006000D */ break 6 -.L80034D64: -/* 035964 80034D64 0C00CE21 */ jal func_80033884 -/* 035968 80034D68 00000000 */ nop -/* 03596C 80034D6C 3C0E0003 */ lui $t6, (0x00038000 >> 16) # lui $t6, 3 -/* 035970 80034D70 8FAF02C8 */ lw $t7, 0x2c8($sp) -/* 035974 80034D74 35CE8000 */ ori $t6, (0x00038000 & 0xFFFF) # ori $t6, $t6, 0x8000 -/* 035978 80034D78 8E07007C */ lw $a3, 0x7c($s0) -/* 03597C 80034D7C 01CF001A */ div $zero, $t6, $t7 -/* 035980 80034D80 00001012 */ mflo $v0 -/* 035984 80034D84 240A0038 */ li $t2, 56 -/* 035988 80034D88 241800F5 */ li $t8, 245 -/* 03598C 80034D8C AFB80018 */ sw $t8, 0x18($sp) -/* 035990 80034D90 AFAA0010 */ sw $t2, 0x10($sp) -/* 035994 80034D94 AFA20014 */ sw $v0, 0x14($sp) -/* 035998 80034D98 AFA20040 */ sw $v0, 0x40($sp) -/* 03599C 80034D9C 02002025 */ move $a0, $s0 -/* 0359A0 80034DA0 02202825 */ move $a1, $s1 -/* 0359A4 80034DA4 02403025 */ move $a2, $s2 -/* 0359A8 80034DA8 15E00002 */ bnez $t7, .L80034DB4 -/* 0359AC 80034DAC 00000000 */ nop -/* 0359B0 80034DB0 0007000D */ break 7 -.L80034DB4: -/* 0359B4 80034DB4 2401FFFF */ li $at, -1 -/* 0359B8 80034DB8 15E10004 */ bne $t7, $at, .L80034DCC -/* 0359BC 80034DBC 3C018000 */ lui $at, 0x8000 -/* 0359C0 80034DC0 15C10002 */ bne $t6, $at, .L80034DCC -/* 0359C4 80034DC4 00000000 */ nop -/* 0359C8 80034DC8 0006000D */ break 6 -.L80034DCC: -/* 0359CC 80034DCC 0C00CE21 */ jal func_80033884 -/* 0359D0 80034DD0 00000000 */ nop -/* 0359D4 80034DD4 8FAD0040 */ lw $t5, 0x40($sp) -/* 0359D8 80034DD8 8E07007C */ lw $a3, 0x7c($s0) -/* 0359DC 80034DDC 240B0037 */ li $t3, 55 -/* 0359E0 80034DE0 240C00E6 */ li $t4, 230 -/* 0359E4 80034DE4 AFAC0018 */ sw $t4, 0x18($sp) -/* 0359E8 80034DE8 AFAB0010 */ sw $t3, 0x10($sp) -/* 0359EC 80034DEC 02002025 */ move $a0, $s0 -/* 0359F0 80034DF0 02202825 */ move $a1, $s1 -/* 0359F4 80034DF4 02403025 */ move $a2, $s2 -/* 0359F8 80034DF8 0C00CE21 */ jal func_80033884 -/* 0359FC 80034DFC AFAD0014 */ sw $t5, 0x14($sp) -/* 035A00 80034E00 8FAA0040 */ lw $t2, 0x40($sp) -/* 035A04 80034E04 8E07007C */ lw $a3, 0x7c($s0) -/* 035A08 80034E08 24190036 */ li $t9, 54 -/* 035A0C 80034E0C 240E00E6 */ li $t6, 230 -/* 035A10 80034E10 AFAE0018 */ sw $t6, 0x18($sp) -/* 035A14 80034E14 AFB90010 */ sw $t9, 0x10($sp) -/* 035A18 80034E18 02002025 */ move $a0, $s0 -/* 035A1C 80034E1C 02202825 */ move $a1, $s1 -/* 035A20 80034E20 02403025 */ move $a2, $s2 -/* 035A24 80034E24 0C00CE21 */ jal func_80033884 -/* 035A28 80034E28 AFAA0014 */ sw $t2, 0x14($sp) -/* 035A2C 80034E2C 8FB80040 */ lw $t8, 0x40($sp) -/* 035A30 80034E30 8E07007C */ lw $a3, 0x7c($s0) -/* 035A34 80034E34 240F0035 */ li $t7, 53 -/* 035A38 80034E38 240B00E6 */ li $t3, 230 -/* 035A3C 80034E3C AFAB0018 */ sw $t3, 0x18($sp) -/* 035A40 80034E40 AFAF0010 */ sw $t7, 0x10($sp) -/* 035A44 80034E44 02002025 */ move $a0, $s0 -/* 035A48 80034E48 02202825 */ move $a1, $s1 -/* 035A4C 80034E4C 02403025 */ move $a2, $s2 -/* 035A50 80034E50 0C00CE21 */ jal func_80033884 -/* 035A54 80034E54 AFB80014 */ sw $t8, 0x14($sp) -/* 035A58 80034E58 8FAC0040 */ lw $t4, 0x40($sp) -/* 035A5C 80034E5C 8E07007C */ lw $a3, 0x7c($s0) -/* 035A60 80034E60 240D0034 */ li $t5, 52 -/* 035A64 80034E64 241900E6 */ li $t9, 230 -/* 035A68 80034E68 AFB90018 */ sw $t9, 0x18($sp) -/* 035A6C 80034E6C AFAD0010 */ sw $t5, 0x10($sp) -/* 035A70 80034E70 02002025 */ move $a0, $s0 -/* 035A74 80034E74 02202825 */ move $a1, $s1 -/* 035A78 80034E78 02403025 */ move $a2, $s2 -/* 035A7C 80034E7C 0C00CE21 */ jal func_80033884 -/* 035A80 80034E80 AFAC0014 */ sw $t4, 0x14($sp) -/* 035A84 80034E84 8FAE0040 */ lw $t6, 0x40($sp) -/* 035A88 80034E88 8E07007C */ lw $a3, 0x7c($s0) -/* 035A8C 80034E8C 240A0033 */ li $t2, 51 -/* 035A90 80034E90 240F00E6 */ li $t7, 230 -/* 035A94 80034E94 AFAF0018 */ sw $t7, 0x18($sp) -/* 035A98 80034E98 AFAA0010 */ sw $t2, 0x10($sp) -/* 035A9C 80034E9C 02002025 */ move $a0, $s0 -/* 035AA0 80034EA0 02202825 */ move $a1, $s1 -/* 035AA4 80034EA4 02403025 */ move $a2, $s2 -/* 035AA8 80034EA8 0C00CE21 */ jal func_80033884 -/* 035AAC 80034EAC AFAE0014 */ sw $t6, 0x14($sp) -/* 035AB0 80034EB0 3C0D0003 */ lui $t5, (0x00032000 >> 16) # lui $t5, 3 -/* 035AB4 80034EB4 8FAB02C8 */ lw $t3, 0x2c8($sp) -/* 035AB8 80034EB8 35AD2000 */ ori $t5, (0x00032000 & 0xFFFF) # ori $t5, $t5, 0x2000 -/* 035ABC 80034EBC 8E07007C */ lw $a3, 0x7c($s0) -/* 035AC0 80034EC0 01AB001A */ div $zero, $t5, $t3 -/* 035AC4 80034EC4 00001012 */ mflo $v0 -/* 035AC8 80034EC8 24180032 */ li $t8, 50 -/* 035ACC 80034ECC 240C00DC */ li $t4, 220 -/* 035AD0 80034ED0 AFAC0018 */ sw $t4, 0x18($sp) -/* 035AD4 80034ED4 AFB80010 */ sw $t8, 0x10($sp) -/* 035AD8 80034ED8 AFA20014 */ sw $v0, 0x14($sp) -/* 035ADC 80034EDC AFA20040 */ sw $v0, 0x40($sp) -/* 035AE0 80034EE0 02002025 */ move $a0, $s0 -/* 035AE4 80034EE4 02202825 */ move $a1, $s1 -/* 035AE8 80034EE8 02403025 */ move $a2, $s2 -/* 035AEC 80034EEC 15600002 */ bnez $t3, .L80034EF8 -/* 035AF0 80034EF0 00000000 */ nop -/* 035AF4 80034EF4 0007000D */ break 7 -.L80034EF8: -/* 035AF8 80034EF8 2401FFFF */ li $at, -1 -/* 035AFC 80034EFC 15610004 */ bne $t3, $at, .L80034F10 -/* 035B00 80034F00 3C018000 */ lui $at, 0x8000 -/* 035B04 80034F04 15A10002 */ bne $t5, $at, .L80034F10 -/* 035B08 80034F08 00000000 */ nop -/* 035B0C 80034F0C 0006000D */ break 6 -.L80034F10: -/* 035B10 80034F10 0C00CE21 */ jal func_80033884 -/* 035B14 80034F14 00000000 */ nop -/* 035B18 80034F18 8FAA0040 */ lw $t2, 0x40($sp) -/* 035B1C 80034F1C 8E07007C */ lw $a3, 0x7c($s0) -/* 035B20 80034F20 24190031 */ li $t9, 49 -/* 035B24 80034F24 240E00DC */ li $t6, 220 -/* 035B28 80034F28 AFAE0018 */ sw $t6, 0x18($sp) -/* 035B2C 80034F2C AFB90010 */ sw $t9, 0x10($sp) -/* 035B30 80034F30 02002025 */ move $a0, $s0 -/* 035B34 80034F34 02202825 */ move $a1, $s1 -/* 035B38 80034F38 02403025 */ move $a2, $s2 -/* 035B3C 80034F3C 0C00CE21 */ jal func_80033884 -/* 035B40 80034F40 AFAA0014 */ sw $t2, 0x14($sp) -/* 035B44 80034F44 8FB80040 */ lw $t8, 0x40($sp) -/* 035B48 80034F48 8E07007C */ lw $a3, 0x7c($s0) -/* 035B4C 80034F4C 240F0030 */ li $t7, 48 -/* 035B50 80034F50 240D00DC */ li $t5, 220 -/* 035B54 80034F54 AFAD0018 */ sw $t5, 0x18($sp) -/* 035B58 80034F58 AFAF0010 */ sw $t7, 0x10($sp) -/* 035B5C 80034F5C 02002025 */ move $a0, $s0 -/* 035B60 80034F60 02202825 */ move $a1, $s1 -/* 035B64 80034F64 02403025 */ move $a2, $s2 -/* 035B68 80034F68 0C00CE21 */ jal func_80033884 -/* 035B6C 80034F6C AFB80014 */ sw $t8, 0x14($sp) -/* 035B70 80034F70 8FAC0040 */ lw $t4, 0x40($sp) -/* 035B74 80034F74 8E07007C */ lw $a3, 0x7c($s0) -/* 035B78 80034F78 240B002F */ li $t3, 47 -/* 035B7C 80034F7C 241900DC */ li $t9, 220 -/* 035B80 80034F80 AFB90018 */ sw $t9, 0x18($sp) -/* 035B84 80034F84 AFAB0010 */ sw $t3, 0x10($sp) -/* 035B88 80034F88 02002025 */ move $a0, $s0 -/* 035B8C 80034F8C 02202825 */ move $a1, $s1 -/* 035B90 80034F90 02403025 */ move $a2, $s2 -/* 035B94 80034F94 0C00CE21 */ jal func_80033884 -/* 035B98 80034F98 AFAC0014 */ sw $t4, 0x14($sp) -/* 035B9C 80034F9C 8FAE0040 */ lw $t6, 0x40($sp) -/* 035BA0 80034FA0 8E07007C */ lw $a3, 0x7c($s0) -/* 035BA4 80034FA4 240A002E */ li $t2, 46 -/* 035BA8 80034FA8 240F00DC */ li $t7, 220 -/* 035BAC 80034FAC AFAF0018 */ sw $t7, 0x18($sp) -/* 035BB0 80034FB0 AFAA0010 */ sw $t2, 0x10($sp) -/* 035BB4 80034FB4 02002025 */ move $a0, $s0 -/* 035BB8 80034FB8 02202825 */ move $a1, $s1 -/* 035BBC 80034FBC 02403025 */ move $a2, $s2 -/* 035BC0 80034FC0 0C00CE21 */ jal func_80033884 -/* 035BC4 80034FC4 AFAE0014 */ sw $t6, 0x14($sp) -/* 035BC8 80034FC8 8FAD02C8 */ lw $t5, 0x2c8($sp) -/* 035BCC 80034FCC 3C0B0003 */ lui $t3, 3 -/* 035BD0 80034FD0 8E07007C */ lw $a3, 0x7c($s0) -/* 035BD4 80034FD4 016D001A */ div $zero, $t3, $t5 -/* 035BD8 80034FD8 00006012 */ mflo $t4 -/* 035BDC 80034FDC 2418002D */ li $t8, 45 -/* 035BE0 80034FE0 2419006E */ li $t9, 110 -/* 035BE4 80034FE4 AFB90018 */ sw $t9, 0x18($sp) -/* 035BE8 80034FE8 AFB80010 */ sw $t8, 0x10($sp) -/* 035BEC 80034FEC AFAC0014 */ sw $t4, 0x14($sp) -/* 035BF0 80034FF0 02002025 */ move $a0, $s0 -/* 035BF4 80034FF4 02202825 */ move $a1, $s1 -/* 035BF8 80034FF8 02403025 */ move $a2, $s2 -/* 035BFC 80034FFC 15A00002 */ bnez $t5, .L80035008 -/* 035C00 80035000 00000000 */ nop -/* 035C04 80035004 0007000D */ break 7 -.L80035008: -/* 035C08 80035008 2401FFFF */ li $at, -1 -/* 035C0C 8003500C 15A10004 */ bne $t5, $at, .L80035020 -/* 035C10 80035010 3C018000 */ lui $at, 0x8000 -/* 035C14 80035014 15610002 */ bne $t3, $at, .L80035020 -/* 035C18 80035018 00000000 */ nop -/* 035C1C 8003501C 0006000D */ break 6 -.L80035020: -/* 035C20 80035020 0C00CE21 */ jal func_80033884 -/* 035C24 80035024 00000000 */ nop -/* 035C28 80035028 3C0F0002 */ lui $t7, (0x0002E000 >> 16) # lui $t7, 2 -/* 035C2C 8003502C 8FAE02C8 */ lw $t6, 0x2c8($sp) -/* 035C30 80035030 35EFE000 */ ori $t7, (0x0002E000 & 0xFFFF) # ori $t7, $t7, 0xe000 -/* 035C34 80035034 8E07007C */ lw $a3, 0x7c($s0) -/* 035C38 80035038 01EE001A */ div $zero, $t7, $t6 -/* 035C3C 8003503C 00001012 */ mflo $v0 -/* 035C40 80035040 240A002C */ li $t2, 44 -/* 035C44 80035044 2418006E */ li $t8, 110 -/* 035C48 80035048 AFB80018 */ sw $t8, 0x18($sp) -/* 035C4C 8003504C AFAA0010 */ sw $t2, 0x10($sp) -/* 035C50 80035050 AFA20014 */ sw $v0, 0x14($sp) -/* 035C54 80035054 AFA20040 */ sw $v0, 0x40($sp) -/* 035C58 80035058 02002025 */ move $a0, $s0 -/* 035C5C 8003505C 02202825 */ move $a1, $s1 -/* 035C60 80035060 02403025 */ move $a2, $s2 -/* 035C64 80035064 15C00002 */ bnez $t6, .L80035070 -/* 035C68 80035068 00000000 */ nop -/* 035C6C 8003506C 0007000D */ break 7 -.L80035070: -/* 035C70 80035070 2401FFFF */ li $at, -1 -/* 035C74 80035074 15C10004 */ bne $t6, $at, .L80035088 -/* 035C78 80035078 3C018000 */ lui $at, 0x8000 -/* 035C7C 8003507C 15E10002 */ bne $t7, $at, .L80035088 -/* 035C80 80035080 00000000 */ nop -/* 035C84 80035084 0006000D */ break 6 -.L80035088: -/* 035C88 80035088 0C00CE21 */ jal func_80033884 -/* 035C8C 8003508C 00000000 */ nop -/* 035C90 80035090 8FAD0040 */ lw $t5, 0x40($sp) -/* 035C94 80035094 8E07007C */ lw $a3, 0x7c($s0) -/* 035C98 80035098 240B002B */ li $t3, 43 -/* 035C9C 8003509C 240C006E */ li $t4, 110 -/* 035CA0 800350A0 AFAC0018 */ sw $t4, 0x18($sp) -/* 035CA4 800350A4 AFAB0010 */ sw $t3, 0x10($sp) -/* 035CA8 800350A8 02002025 */ move $a0, $s0 -/* 035CAC 800350AC 02202825 */ move $a1, $s1 -/* 035CB0 800350B0 02403025 */ move $a2, $s2 -/* 035CB4 800350B4 0C00CE21 */ jal func_80033884 -/* 035CB8 800350B8 AFAD0014 */ sw $t5, 0x14($sp) -/* 035CBC 800350BC 8FAA0040 */ lw $t2, 0x40($sp) -/* 035CC0 800350C0 8E07007C */ lw $a3, 0x7c($s0) -/* 035CC4 800350C4 2419002A */ li $t9, 42 -/* 035CC8 800350C8 240F006E */ li $t7, 110 -/* 035CCC 800350CC AFAF0018 */ sw $t7, 0x18($sp) -/* 035CD0 800350D0 AFB90010 */ sw $t9, 0x10($sp) -/* 035CD4 800350D4 02002025 */ move $a0, $s0 -/* 035CD8 800350D8 02202825 */ move $a1, $s1 -/* 035CDC 800350DC 02403025 */ move $a2, $s2 -/* 035CE0 800350E0 0C00CE21 */ jal func_80033884 -/* 035CE4 800350E4 AFAA0014 */ sw $t2, 0x14($sp) -/* 035CE8 800350E8 8FB80040 */ lw $t8, 0x40($sp) -/* 035CEC 800350EC 8E07007C */ lw $a3, 0x7c($s0) -/* 035CF0 800350F0 240E0029 */ li $t6, 41 -/* 035CF4 800350F4 240B006E */ li $t3, 110 -/* 035CF8 800350F8 AFAB0018 */ sw $t3, 0x18($sp) -/* 035CFC 800350FC AFAE0010 */ sw $t6, 0x10($sp) -/* 035D00 80035100 02002025 */ move $a0, $s0 -/* 035D04 80035104 02202825 */ move $a1, $s1 -/* 035D08 80035108 02403025 */ move $a2, $s2 -/* 035D0C 8003510C 0C00CE21 */ jal func_80033884 -/* 035D10 80035110 AFB80014 */ sw $t8, 0x14($sp) -/* 035D14 80035114 8FAC0040 */ lw $t4, 0x40($sp) -/* 035D18 80035118 8E07007C */ lw $a3, 0x7c($s0) -/* 035D1C 8003511C 240D0028 */ li $t5, 40 -/* 035D20 80035120 2419006E */ li $t9, 110 -/* 035D24 80035124 AFB90018 */ sw $t9, 0x18($sp) -/* 035D28 80035128 AFAD0010 */ sw $t5, 0x10($sp) -/* 035D2C 8003512C 02002025 */ move $a0, $s0 -/* 035D30 80035130 02202825 */ move $a1, $s1 -/* 035D34 80035134 02403025 */ move $a2, $s2 -/* 035D38 80035138 0C00CE21 */ jal func_80033884 -/* 035D3C 8003513C AFAC0014 */ sw $t4, 0x14($sp) -/* 035D40 80035140 3C0E0002 */ lui $t6, (0x0002C000 >> 16) # lui $t6, 2 -/* 035D44 80035144 8FAF02C8 */ lw $t7, 0x2c8($sp) -/* 035D48 80035148 35CEC000 */ ori $t6, (0x0002C000 & 0xFFFF) # ori $t6, $t6, 0xc000 -/* 035D4C 8003514C 8E07007C */ lw $a3, 0x7c($s0) -/* 035D50 80035150 01CF001A */ div $zero, $t6, $t7 -/* 035D54 80035154 0000C012 */ mflo $t8 -/* 035D58 80035158 240A0027 */ li $t2, 39 -/* 035D5C 8003515C 240B006E */ li $t3, 110 -/* 035D60 80035160 AFAB0018 */ sw $t3, 0x18($sp) -/* 035D64 80035164 AFAA0010 */ sw $t2, 0x10($sp) -/* 035D68 80035168 AFB80014 */ sw $t8, 0x14($sp) -/* 035D6C 8003516C 02002025 */ move $a0, $s0 -/* 035D70 80035170 02202825 */ move $a1, $s1 -/* 035D74 80035174 02403025 */ move $a2, $s2 -/* 035D78 80035178 15E00002 */ bnez $t7, .L80035184 -/* 035D7C 8003517C 00000000 */ nop -/* 035D80 80035180 0007000D */ break 7 -.L80035184: -/* 035D84 80035184 2401FFFF */ li $at, -1 -/* 035D88 80035188 15E10004 */ bne $t7, $at, .L8003519C -/* 035D8C 8003518C 3C018000 */ lui $at, 0x8000 -/* 035D90 80035190 15C10002 */ bne $t6, $at, .L8003519C -/* 035D94 80035194 00000000 */ nop -/* 035D98 80035198 0006000D */ break 6 -.L8003519C: -/* 035D9C 8003519C 0C00CE21 */ jal func_80033884 -/* 035DA0 800351A0 00000000 */ nop -/* 035DA4 800351A4 3C190002 */ lui $t9, (0x00028000 >> 16) # lui $t9, 2 -/* 035DA8 800351A8 8FAC02C8 */ lw $t4, 0x2c8($sp) -/* 035DAC 800351AC 37398000 */ ori $t9, (0x00028000 & 0xFFFF) # ori $t9, $t9, 0x8000 -/* 035DB0 800351B0 8E07007C */ lw $a3, 0x7c($s0) -/* 035DB4 800351B4 032C001A */ div $zero, $t9, $t4 -/* 035DB8 800351B8 00001012 */ mflo $v0 -/* 035DBC 800351BC 240D0026 */ li $t5, 38 -/* 035DC0 800351C0 240A006E */ li $t2, 110 -/* 035DC4 800351C4 AFAA0018 */ sw $t2, 0x18($sp) -/* 035DC8 800351C8 AFAD0010 */ sw $t5, 0x10($sp) -/* 035DCC 800351CC AFA20014 */ sw $v0, 0x14($sp) -/* 035DD0 800351D0 AFA20040 */ sw $v0, 0x40($sp) -/* 035DD4 800351D4 02002025 */ move $a0, $s0 -/* 035DD8 800351D8 02202825 */ move $a1, $s1 -/* 035DDC 800351DC 02403025 */ move $a2, $s2 -/* 035DE0 800351E0 15800002 */ bnez $t4, .L800351EC -/* 035DE4 800351E4 00000000 */ nop -/* 035DE8 800351E8 0007000D */ break 7 -.L800351EC: -/* 035DEC 800351EC 2401FFFF */ li $at, -1 -/* 035DF0 800351F0 15810004 */ bne $t4, $at, .L80035204 -/* 035DF4 800351F4 3C018000 */ lui $at, 0x8000 -/* 035DF8 800351F8 17210002 */ bne $t9, $at, .L80035204 -/* 035DFC 800351FC 00000000 */ nop -/* 035E00 80035200 0006000D */ break 6 -.L80035204: -/* 035E04 80035204 0C00CE21 */ jal func_80033884 -/* 035E08 80035208 00000000 */ nop -/* 035E0C 8003520C 8FA20040 */ lw $v0, 0x40($sp) -/* 035E10 80035210 8E07007C */ lw $a3, 0x7c($s0) -/* 035E14 80035214 240E0025 */ li $t6, 37 -/* 035E18 80035218 240F006E */ li $t7, 110 -/* 035E1C 8003521C AFAF0018 */ sw $t7, 0x18($sp) -/* 035E20 80035220 AFAE0010 */ sw $t6, 0x10($sp) -/* 035E24 80035224 02002025 */ move $a0, $s0 -/* 035E28 80035228 02202825 */ move $a1, $s1 -/* 035E2C 8003522C 02403025 */ move $a2, $s2 -/* 035E30 80035230 0C00CE21 */ jal func_80033884 -/* 035E34 80035234 AFA20014 */ sw $v0, 0x14($sp) -/* 035E38 80035238 3C0D0002 */ lui $t5, (0x00024000 >> 16) # lui $t5, 2 -/* 035E3C 8003523C 8FAB02C8 */ lw $t3, 0x2c8($sp) -/* 035E40 80035240 35AD4000 */ ori $t5, (0x00024000 & 0xFFFF) # ori $t5, $t5, 0x4000 -/* 035E44 80035244 8E07007C */ lw $a3, 0x7c($s0) -/* 035E48 80035248 01AB001A */ div $zero, $t5, $t3 -/* 035E4C 8003524C 00001012 */ mflo $v0 -/* 035E50 80035250 24180024 */ li $t8, 36 -/* 035E54 80035254 2419006E */ li $t9, 110 -/* 035E58 80035258 AFB90018 */ sw $t9, 0x18($sp) -/* 035E5C 8003525C AFB80010 */ sw $t8, 0x10($sp) -/* 035E60 80035260 AFA20014 */ sw $v0, 0x14($sp) -/* 035E64 80035264 AFA20040 */ sw $v0, 0x40($sp) -/* 035E68 80035268 02002025 */ move $a0, $s0 -/* 035E6C 8003526C 02202825 */ move $a1, $s1 -/* 035E70 80035270 02403025 */ move $a2, $s2 -/* 035E74 80035274 15600002 */ bnez $t3, .L80035280 -/* 035E78 80035278 00000000 */ nop -/* 035E7C 8003527C 0007000D */ break 7 -.L80035280: -/* 035E80 80035280 2401FFFF */ li $at, -1 -/* 035E84 80035284 15610004 */ bne $t3, $at, .L80035298 -/* 035E88 80035288 3C018000 */ lui $at, 0x8000 -/* 035E8C 8003528C 15A10002 */ bne $t5, $at, .L80035298 -/* 035E90 80035290 00000000 */ nop -/* 035E94 80035294 0006000D */ break 6 -.L80035298: -/* 035E98 80035298 0C00CE21 */ jal func_80033884 -/* 035E9C 8003529C 00000000 */ nop -/* 035EA0 800352A0 8FA20040 */ lw $v0, 0x40($sp) -/* 035EA4 800352A4 8E07007C */ lw $a3, 0x7c($s0) -/* 035EA8 800352A8 240C0023 */ li $t4, 35 -/* 035EAC 800352AC 240A006E */ li $t2, 110 -/* 035EB0 800352B0 AFAA0018 */ sw $t2, 0x18($sp) -/* 035EB4 800352B4 AFAC0010 */ sw $t4, 0x10($sp) -/* 035EB8 800352B8 02002025 */ move $a0, $s0 -/* 035EBC 800352BC 02202825 */ move $a1, $s1 -/* 035EC0 800352C0 02403025 */ move $a2, $s2 -/* 035EC4 800352C4 0C00CE21 */ jal func_80033884 -/* 035EC8 800352C8 AFA20014 */ sw $v0, 0x14($sp) -/* 035ECC 800352CC 3C180002 */ lui $t8, (0x00022000 >> 16) # lui $t8, 2 -/* 035ED0 800352D0 8FAF02C8 */ lw $t7, 0x2c8($sp) -/* 035ED4 800352D4 37182000 */ ori $t8, (0x00022000 & 0xFFFF) # ori $t8, $t8, 0x2000 -/* 035ED8 800352D8 8E07007C */ lw $a3, 0x7c($s0) -/* 035EDC 800352DC 030F001A */ div $zero, $t8, $t7 -/* 035EE0 800352E0 00006812 */ mflo $t5 -/* 035EE4 800352E4 240E0022 */ li $t6, 34 -/* 035EE8 800352E8 240B006E */ li $t3, 110 -/* 035EEC 800352EC AFAB0018 */ sw $t3, 0x18($sp) -/* 035EF0 800352F0 AFAE0010 */ sw $t6, 0x10($sp) -/* 035EF4 800352F4 AFAD0014 */ sw $t5, 0x14($sp) -/* 035EF8 800352F8 02002025 */ move $a0, $s0 -/* 035EFC 800352FC 02202825 */ move $a1, $s1 -/* 035F00 80035300 02403025 */ move $a2, $s2 -/* 035F04 80035304 15E00002 */ bnez $t7, .L80035310 -/* 035F08 80035308 00000000 */ nop -/* 035F0C 8003530C 0007000D */ break 7 -.L80035310: -/* 035F10 80035310 2401FFFF */ li $at, -1 -/* 035F14 80035314 15E10004 */ bne $t7, $at, .L80035328 -/* 035F18 80035318 3C018000 */ lui $at, 0x8000 -/* 035F1C 8003531C 17010002 */ bne $t8, $at, .L80035328 -/* 035F20 80035320 00000000 */ nop -/* 035F24 80035324 0006000D */ break 6 -.L80035328: -/* 035F28 80035328 0C00CE21 */ jal func_80033884 -/* 035F2C 8003532C 00000000 */ nop -/* 035F30 80035330 8FAC02C8 */ lw $t4, 0x2c8($sp) -/* 035F34 80035334 3C0A0002 */ lui $t2, 2 -/* 035F38 80035338 8E07007C */ lw $a3, 0x7c($s0) -/* 035F3C 8003533C 014C001A */ div $zero, $t2, $t4 -/* 035F40 80035340 00001012 */ mflo $v0 -/* 035F44 80035344 24190020 */ li $t9, 32 -/* 035F48 80035348 240E0064 */ li $t6, 100 -/* 035F4C 8003534C AFAE0018 */ sw $t6, 0x18($sp) -/* 035F50 80035350 AFB90010 */ sw $t9, 0x10($sp) -/* 035F54 80035354 AFA20014 */ sw $v0, 0x14($sp) -/* 035F58 80035358 AFA20040 */ sw $v0, 0x40($sp) -/* 035F5C 8003535C 02002025 */ move $a0, $s0 -/* 035F60 80035360 02202825 */ move $a1, $s1 -/* 035F64 80035364 02403025 */ move $a2, $s2 -/* 035F68 80035368 15800002 */ bnez $t4, .L80035374 -/* 035F6C 8003536C 00000000 */ nop -/* 035F70 80035370 0007000D */ break 7 -.L80035374: -/* 035F74 80035374 2401FFFF */ li $at, -1 -/* 035F78 80035378 15810004 */ bne $t4, $at, .L8003538C -/* 035F7C 8003537C 3C018000 */ lui $at, 0x8000 -/* 035F80 80035380 15410002 */ bne $t2, $at, .L8003538C -/* 035F84 80035384 00000000 */ nop -/* 035F88 80035388 0006000D */ break 6 -.L8003538C: -/* 035F8C 8003538C 0C00CE21 */ jal func_80033884 -/* 035F90 80035390 00000000 */ nop -/* 035F94 80035394 8FA20040 */ lw $v0, 0x40($sp) -/* 035F98 80035398 8E07007C */ lw $a3, 0x7c($s0) -/* 035F9C 8003539C 2418001F */ li $t8, 31 -/* 035FA0 800353A0 240F0064 */ li $t7, 100 -/* 035FA4 800353A4 AFAF0018 */ sw $t7, 0x18($sp) -/* 035FA8 800353A8 AFB80010 */ sw $t8, 0x10($sp) -/* 035FAC 800353AC 02002025 */ move $a0, $s0 -/* 035FB0 800353B0 02202825 */ move $a1, $s1 -/* 035FB4 800353B4 02403025 */ move $a2, $s2 -/* 035FB8 800353B8 0C00CE21 */ jal func_80033884 -/* 035FBC 800353BC AFA20014 */ sw $v0, 0x14($sp) -/* 035FC0 800353C0 8FAB02CC */ lw $t3, 0x2cc($sp) -/* 035FC4 800353C4 3C190001 */ lui $t9, (0x0001F000 >> 16) # lui $t9, 1 -/* 035FC8 800353C8 3739F000 */ ori $t9, (0x0001F000 & 0xFFFF) # ori $t9, $t9, 0xf000 -/* 035FCC 800353CC 032B001A */ div $zero, $t9, $t3 -/* 035FD0 800353D0 8E07007C */ lw $a3, 0x7c($s0) -/* 035FD4 800353D4 240D001E */ li $t5, 30 -/* 035FD8 800353D8 00005012 */ mflo $t2 -/* 035FDC 800353DC 02002025 */ move $a0, $s0 -/* 035FE0 800353E0 02202825 */ move $a1, $s1 -/* 035FE4 800353E4 02403025 */ move $a2, $s2 -/* 035FE8 800353E8 AFAD0010 */ sw $t5, 0x10($sp) -/* 035FEC 800353EC 15600002 */ bnez $t3, .L800353F8 -/* 035FF0 800353F0 00000000 */ nop -/* 035FF4 800353F4 0007000D */ break 7 -.L800353F8: -/* 035FF8 800353F8 2401FFFF */ li $at, -1 -/* 035FFC 800353FC 15610004 */ bne $t3, $at, .L80035410 -/* 036000 80035400 3C018000 */ lui $at, 0x8000 -/* 036004 80035404 17210002 */ bne $t9, $at, .L80035410 -/* 036008 80035408 00000000 */ nop -/* 03600C 8003540C 0006000D */ break 6 -.L80035410: -/* 036010 80035410 3C01800F */ lui $at, %hi(D_800EDCF8) # $at, 0x800f -/* 036014 80035414 C42ADCF8 */ lwc1 $f10, %lo(D_800EDCF8)($at) -/* 036018 80035418 AFAA0014 */ sw $t2, 0x14($sp) -/* 03601C 8003541C 0C00CE90 */ jal func_80033A40 -/* 036020 80035420 E7AA0018 */ swc1 $f10, 0x18($sp) -/* 036024 80035424 8FAE02CC */ lw $t6, 0x2cc($sp) -/* 036028 80035428 3C180001 */ lui $t8, (0x0001E000 >> 16) # lui $t8, 1 -/* 03602C 8003542C 3718E000 */ ori $t8, (0x0001E000 & 0xFFFF) # ori $t8, $t8, 0xe000 -/* 036030 80035430 030E001A */ div $zero, $t8, $t6 -/* 036034 80035434 8E07007C */ lw $a3, 0x7c($s0) -/* 036038 80035438 240C001D */ li $t4, 29 -/* 03603C 8003543C 00007812 */ mflo $t7 -/* 036040 80035440 02002025 */ move $a0, $s0 -/* 036044 80035444 02202825 */ move $a1, $s1 -/* 036048 80035448 02403025 */ move $a2, $s2 -/* 03604C 8003544C AFAC0010 */ sw $t4, 0x10($sp) -/* 036050 80035450 15C00002 */ bnez $t6, .L8003545C -/* 036054 80035454 00000000 */ nop -/* 036058 80035458 0007000D */ break 7 -.L8003545C: -/* 03605C 8003545C 2401FFFF */ li $at, -1 -/* 036060 80035460 15C10004 */ bne $t6, $at, .L80035474 -/* 036064 80035464 3C018000 */ lui $at, 0x8000 -/* 036068 80035468 17010002 */ bne $t8, $at, .L80035474 -/* 03606C 8003546C 00000000 */ nop -/* 036070 80035470 0006000D */ break 6 -.L80035474: -/* 036074 80035474 3C01800F */ lui $at, %hi(D_800EDCFC) # $at, 0x800f -/* 036078 80035478 C426DCFC */ lwc1 $f6, %lo(D_800EDCFC)($at) -/* 03607C 8003547C AFAF0014 */ sw $t7, 0x14($sp) -/* 036080 80035480 0C00CE90 */ jal func_80033A40 -/* 036084 80035484 E7A60018 */ swc1 $f6, 0x18($sp) -/* 036088 80035488 8FB902CC */ lw $t9, 0x2cc($sp) -/* 03608C 8003548C 3C0B0001 */ lui $t3, (0x0001D000 >> 16) # lui $t3, 1 -/* 036090 80035490 356BD000 */ ori $t3, (0x0001D000 & 0xFFFF) # ori $t3, $t3, 0xd000 -/* 036094 80035494 0179001A */ div $zero, $t3, $t9 -/* 036098 80035498 8E07007C */ lw $a3, 0x7c($s0) -/* 03609C 8003549C 240D001C */ li $t5, 28 -/* 0360A0 800354A0 00005012 */ mflo $t2 -/* 0360A4 800354A4 02002025 */ move $a0, $s0 -/* 0360A8 800354A8 02202825 */ move $a1, $s1 -/* 0360AC 800354AC 02403025 */ move $a2, $s2 -/* 0360B0 800354B0 AFAD0010 */ sw $t5, 0x10($sp) -/* 0360B4 800354B4 17200002 */ bnez $t9, .L800354C0 -/* 0360B8 800354B8 00000000 */ nop -/* 0360BC 800354BC 0007000D */ break 7 -.L800354C0: -/* 0360C0 800354C0 2401FFFF */ li $at, -1 -/* 0360C4 800354C4 17210004 */ bne $t9, $at, .L800354D8 -/* 0360C8 800354C8 3C018000 */ lui $at, 0x8000 -/* 0360CC 800354CC 15610002 */ bne $t3, $at, .L800354D8 -/* 0360D0 800354D0 00000000 */ nop -/* 0360D4 800354D4 0006000D */ break 6 -.L800354D8: -/* 0360D8 800354D8 3C01800F */ lui $at, %hi(D_800EDD00) # $at, 0x800f -/* 0360DC 800354DC C430DD00 */ lwc1 $f16, %lo(D_800EDD00)($at) -/* 0360E0 800354E0 AFAA0014 */ sw $t2, 0x14($sp) -/* 0360E4 800354E4 0C00CE90 */ jal func_80033A40 -/* 0360E8 800354E8 E7B00018 */ swc1 $f16, 0x18($sp) -/* 0360EC 800354EC 8FB802CC */ lw $t8, 0x2cc($sp) -/* 0360F0 800354F0 3C0E0001 */ lui $t6, (0x0001C000 >> 16) # lui $t6, 1 -/* 0360F4 800354F4 35CEC000 */ ori $t6, (0x0001C000 & 0xFFFF) # ori $t6, $t6, 0xc000 -/* 0360F8 800354F8 01D8001A */ div $zero, $t6, $t8 -/* 0360FC 800354FC 8E07007C */ lw $a3, 0x7c($s0) -/* 036100 80035500 240C001B */ li $t4, 27 -/* 036104 80035504 00007812 */ mflo $t7 -/* 036108 80035508 02002025 */ move $a0, $s0 -/* 03610C 8003550C 02202825 */ move $a1, $s1 -/* 036110 80035510 02403025 */ move $a2, $s2 -/* 036114 80035514 AFAC0010 */ sw $t4, 0x10($sp) -/* 036118 80035518 17000002 */ bnez $t8, .L80035524 -/* 03611C 8003551C 00000000 */ nop -/* 036120 80035520 0007000D */ break 7 -.L80035524: -/* 036124 80035524 2401FFFF */ li $at, -1 -/* 036128 80035528 17010004 */ bne $t8, $at, .L8003553C -/* 03612C 8003552C 3C018000 */ lui $at, 0x8000 -/* 036130 80035530 15C10002 */ bne $t6, $at, .L8003553C -/* 036134 80035534 00000000 */ nop -/* 036138 80035538 0006000D */ break 6 -.L8003553C: -/* 03613C 8003553C 3C01800F */ lui $at, %hi(D_800EDD04) # $at, 0x800f -/* 036140 80035540 C432DD04 */ lwc1 $f18, %lo(D_800EDD04)($at) -/* 036144 80035544 AFAF0014 */ sw $t7, 0x14($sp) -/* 036148 80035548 0C00CE90 */ jal func_80033A40 -/* 03614C 8003554C E7B20018 */ swc1 $f18, 0x18($sp) -/* 036150 80035550 8FAB02CC */ lw $t3, 0x2cc($sp) -/* 036154 80035554 3C190001 */ lui $t9, (0x0001B000 >> 16) # lui $t9, 1 -/* 036158 80035558 3739B000 */ ori $t9, (0x0001B000 & 0xFFFF) # ori $t9, $t9, 0xb000 -/* 03615C 8003555C 032B001A */ div $zero, $t9, $t3 -/* 036160 80035560 8E07007C */ lw $a3, 0x7c($s0) -/* 036164 80035564 240D001A */ li $t5, 26 -/* 036168 80035568 00005012 */ mflo $t2 -/* 03616C 8003556C 02002025 */ move $a0, $s0 -/* 036170 80035570 02202825 */ move $a1, $s1 -/* 036174 80035574 02403025 */ move $a2, $s2 -/* 036178 80035578 AFAD0010 */ sw $t5, 0x10($sp) -/* 03617C 8003557C 15600002 */ bnez $t3, .L80035588 -/* 036180 80035580 00000000 */ nop -/* 036184 80035584 0007000D */ break 7 -.L80035588: -/* 036188 80035588 2401FFFF */ li $at, -1 -/* 03618C 8003558C 15610004 */ bne $t3, $at, .L800355A0 -/* 036190 80035590 3C018000 */ lui $at, 0x8000 -/* 036194 80035594 17210002 */ bne $t9, $at, .L800355A0 -/* 036198 80035598 00000000 */ nop -/* 03619C 8003559C 0006000D */ break 6 -.L800355A0: -/* 0361A0 800355A0 3C01800F */ lui $at, %hi(D_800EDD08) # $at, 0x800f -/* 0361A4 800355A4 C428DD08 */ lwc1 $f8, %lo(D_800EDD08)($at) -/* 0361A8 800355A8 AFAA0014 */ sw $t2, 0x14($sp) -/* 0361AC 800355AC 0C00CE90 */ jal func_80033A40 -/* 0361B0 800355B0 E7A80018 */ swc1 $f8, 0x18($sp) -/* 0361B4 800355B4 8FAE02CC */ lw $t6, 0x2cc($sp) -/* 0361B8 800355B8 3C180001 */ lui $t8, (0x0001A000 >> 16) # lui $t8, 1 -/* 0361BC 800355BC 3718A000 */ ori $t8, (0x0001A000 & 0xFFFF) # ori $t8, $t8, 0xa000 -/* 0361C0 800355C0 030E001A */ div $zero, $t8, $t6 -/* 0361C4 800355C4 8E07007C */ lw $a3, 0x7c($s0) -/* 0361C8 800355C8 240C0019 */ li $t4, 25 -/* 0361CC 800355CC 00007812 */ mflo $t7 -/* 0361D0 800355D0 02002025 */ move $a0, $s0 -/* 0361D4 800355D4 02202825 */ move $a1, $s1 -/* 0361D8 800355D8 02403025 */ move $a2, $s2 -/* 0361DC 800355DC AFAC0010 */ sw $t4, 0x10($sp) -/* 0361E0 800355E0 15C00002 */ bnez $t6, .L800355EC -/* 0361E4 800355E4 00000000 */ nop -/* 0361E8 800355E8 0007000D */ break 7 -.L800355EC: -/* 0361EC 800355EC 2401FFFF */ li $at, -1 -/* 0361F0 800355F0 15C10004 */ bne $t6, $at, .L80035604 -/* 0361F4 800355F4 3C018000 */ lui $at, 0x8000 -/* 0361F8 800355F8 17010002 */ bne $t8, $at, .L80035604 -/* 0361FC 800355FC 00000000 */ nop -/* 036200 80035600 0006000D */ break 6 -.L80035604: -/* 036204 80035604 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 036208 80035608 44812000 */ mtc1 $at, $f4 -/* 03620C 8003560C AFAF0014 */ sw $t7, 0x14($sp) -/* 036210 80035610 0C00CE90 */ jal func_80033A40 -/* 036214 80035614 E7A40018 */ swc1 $f4, 0x18($sp) -/* 036218 80035618 8FB902CC */ lw $t9, 0x2cc($sp) -/* 03621C 8003561C 3C0B0001 */ lui $t3, (0x00019000 >> 16) # lui $t3, 1 -/* 036220 80035620 356B9000 */ ori $t3, (0x00019000 & 0xFFFF) # ori $t3, $t3, 0x9000 -/* 036224 80035624 0179001A */ div $zero, $t3, $t9 -/* 036228 80035628 8E07007C */ lw $a3, 0x7c($s0) -/* 03622C 8003562C 240D0018 */ li $t5, 24 -/* 036230 80035630 00005012 */ mflo $t2 -/* 036234 80035634 02002025 */ move $a0, $s0 -/* 036238 80035638 02202825 */ move $a1, $s1 -/* 03623C 8003563C 02403025 */ move $a2, $s2 -/* 036240 80035640 AFAD0010 */ sw $t5, 0x10($sp) -/* 036244 80035644 17200002 */ bnez $t9, .L80035650 -/* 036248 80035648 00000000 */ nop -/* 03624C 8003564C 0007000D */ break 7 -.L80035650: -/* 036250 80035650 2401FFFF */ li $at, -1 -/* 036254 80035654 17210004 */ bne $t9, $at, .L80035668 -/* 036258 80035658 3C018000 */ lui $at, 0x8000 -/* 03625C 8003565C 15610002 */ bne $t3, $at, .L80035668 -/* 036260 80035660 00000000 */ nop -/* 036264 80035664 0006000D */ break 6 -.L80035668: -/* 036268 80035668 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 03626C 8003566C 44815000 */ mtc1 $at, $f10 -/* 036270 80035670 AFAA0014 */ sw $t2, 0x14($sp) -/* 036274 80035674 0C00CE90 */ jal func_80033A40 -/* 036278 80035678 E7AA0018 */ swc1 $f10, 0x18($sp) -/* 03627C 8003567C 8FB802CC */ lw $t8, 0x2cc($sp) -/* 036280 80035680 3C0E0001 */ lui $t6, (0x00018000 >> 16) # lui $t6, 1 -/* 036284 80035684 35CE8000 */ ori $t6, (0x00018000 & 0xFFFF) # ori $t6, $t6, 0x8000 -/* 036288 80035688 01D8001A */ div $zero, $t6, $t8 -/* 03628C 8003568C 8E07007C */ lw $a3, 0x7c($s0) -/* 036290 80035690 240C0017 */ li $t4, 23 -/* 036294 80035694 00007812 */ mflo $t7 -/* 036298 80035698 02002025 */ move $a0, $s0 -/* 03629C 8003569C 02202825 */ move $a1, $s1 -/* 0362A0 800356A0 02403025 */ move $a2, $s2 -/* 0362A4 800356A4 AFAC0010 */ sw $t4, 0x10($sp) -/* 0362A8 800356A8 17000002 */ bnez $t8, .L800356B4 -/* 0362AC 800356AC 00000000 */ nop -/* 0362B0 800356B0 0007000D */ break 7 -.L800356B4: -/* 0362B4 800356B4 2401FFFF */ li $at, -1 -/* 0362B8 800356B8 17010004 */ bne $t8, $at, .L800356CC -/* 0362BC 800356BC 3C018000 */ lui $at, 0x8000 -/* 0362C0 800356C0 15C10002 */ bne $t6, $at, .L800356CC -/* 0362C4 800356C4 00000000 */ nop -/* 0362C8 800356C8 0006000D */ break 6 -.L800356CC: -/* 0362CC 800356CC 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0362D0 800356D0 44813000 */ mtc1 $at, $f6 -/* 0362D4 800356D4 AFAF0014 */ sw $t7, 0x14($sp) -/* 0362D8 800356D8 0C00CE90 */ jal func_80033A40 -/* 0362DC 800356DC E7A60018 */ swc1 $f6, 0x18($sp) -/* 0362E0 800356E0 8FAB02CC */ lw $t3, 0x2cc($sp) -/* 0362E4 800356E4 3C190001 */ lui $t9, (0x00017000 >> 16) # lui $t9, 1 -/* 0362E8 800356E8 37397000 */ ori $t9, (0x00017000 & 0xFFFF) # ori $t9, $t9, 0x7000 -/* 0362EC 800356EC 032B001A */ div $zero, $t9, $t3 -/* 0362F0 800356F0 8E07007C */ lw $a3, 0x7c($s0) -/* 0362F4 800356F4 240D0016 */ li $t5, 22 -/* 0362F8 800356F8 00005012 */ mflo $t2 -/* 0362FC 800356FC 02002025 */ move $a0, $s0 -/* 036300 80035700 02202825 */ move $a1, $s1 -/* 036304 80035704 02403025 */ move $a2, $s2 -/* 036308 80035708 AFAD0010 */ sw $t5, 0x10($sp) -/* 03630C 8003570C 15600002 */ bnez $t3, .L80035718 -/* 036310 80035710 00000000 */ nop -/* 036314 80035714 0007000D */ break 7 -.L80035718: -/* 036318 80035718 2401FFFF */ li $at, -1 -/* 03631C 8003571C 15610004 */ bne $t3, $at, .L80035730 -/* 036320 80035720 3C018000 */ lui $at, 0x8000 -/* 036324 80035724 17210002 */ bne $t9, $at, .L80035730 -/* 036328 80035728 00000000 */ nop -/* 03632C 8003572C 0006000D */ break 6 -.L80035730: -/* 036330 80035730 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 036334 80035734 44818000 */ mtc1 $at, $f16 -/* 036338 80035738 AFAA0014 */ sw $t2, 0x14($sp) -/* 03633C 8003573C 0C00CE90 */ jal func_80033A40 -/* 036340 80035740 E7B00018 */ swc1 $f16, 0x18($sp) -/* 036344 80035744 8FAE02CC */ lw $t6, 0x2cc($sp) -/* 036348 80035748 3C180001 */ lui $t8, (0x00016000 >> 16) # lui $t8, 1 -/* 03634C 8003574C 37186000 */ ori $t8, (0x00016000 & 0xFFFF) # ori $t8, $t8, 0x6000 -/* 036350 80035750 030E001A */ div $zero, $t8, $t6 -/* 036354 80035754 8E07007C */ lw $a3, 0x7c($s0) -/* 036358 80035758 240C0015 */ li $t4, 21 -/* 03635C 8003575C 00007812 */ mflo $t7 -/* 036360 80035760 02002025 */ move $a0, $s0 -/* 036364 80035764 02202825 */ move $a1, $s1 -/* 036368 80035768 02403025 */ move $a2, $s2 -/* 03636C 8003576C AFAC0010 */ sw $t4, 0x10($sp) -/* 036370 80035770 15C00002 */ bnez $t6, .L8003577C -/* 036374 80035774 00000000 */ nop -/* 036378 80035778 0007000D */ break 7 -.L8003577C: -/* 03637C 8003577C 2401FFFF */ li $at, -1 -/* 036380 80035780 15C10004 */ bne $t6, $at, .L80035794 -/* 036384 80035784 3C018000 */ lui $at, 0x8000 -/* 036388 80035788 17010002 */ bne $t8, $at, .L80035794 -/* 03638C 8003578C 00000000 */ nop -/* 036390 80035790 0006000D */ break 6 -.L80035794: -/* 036394 80035794 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 036398 80035798 44819000 */ mtc1 $at, $f18 -/* 03639C 8003579C AFAF0014 */ sw $t7, 0x14($sp) -/* 0363A0 800357A0 0C00CE90 */ jal func_80033A40 -/* 0363A4 800357A4 E7B20018 */ swc1 $f18, 0x18($sp) -/* 0363A8 800357A8 8FB902CC */ lw $t9, 0x2cc($sp) -/* 0363AC 800357AC 3C0B0001 */ lui $t3, (0x00015000 >> 16) # lui $t3, 1 -/* 0363B0 800357B0 356B5000 */ ori $t3, (0x00015000 & 0xFFFF) # ori $t3, $t3, 0x5000 -/* 0363B4 800357B4 0179001A */ div $zero, $t3, $t9 -/* 0363B8 800357B8 8E07007C */ lw $a3, 0x7c($s0) -/* 0363BC 800357BC 240D0014 */ li $t5, 20 -/* 0363C0 800357C0 00005012 */ mflo $t2 -/* 0363C4 800357C4 02002025 */ move $a0, $s0 -/* 0363C8 800357C8 02202825 */ move $a1, $s1 -/* 0363CC 800357CC 02403025 */ move $a2, $s2 -/* 0363D0 800357D0 AFAD0010 */ sw $t5, 0x10($sp) -/* 0363D4 800357D4 17200002 */ bnez $t9, .L800357E0 -/* 0363D8 800357D8 00000000 */ nop -/* 0363DC 800357DC 0007000D */ break 7 -.L800357E0: -/* 0363E0 800357E0 2401FFFF */ li $at, -1 -/* 0363E4 800357E4 17210004 */ bne $t9, $at, .L800357F8 -/* 0363E8 800357E8 3C018000 */ lui $at, 0x8000 -/* 0363EC 800357EC 15610002 */ bne $t3, $at, .L800357F8 -/* 0363F0 800357F0 00000000 */ nop -/* 0363F4 800357F4 0006000D */ break 6 -.L800357F8: -/* 0363F8 800357F8 3C01800F */ lui $at, %hi(D_800EDD0C) # $at, 0x800f -/* 0363FC 800357FC C428DD0C */ lwc1 $f8, %lo(D_800EDD0C)($at) -/* 036400 80035800 AFAA0014 */ sw $t2, 0x14($sp) -/* 036404 80035804 0C00CE90 */ jal func_80033A40 -/* 036408 80035808 E7A80018 */ swc1 $f8, 0x18($sp) -/* 03640C 8003580C 8FB802CC */ lw $t8, 0x2cc($sp) -/* 036410 80035810 3C0E0001 */ lui $t6, (0x00014000 >> 16) # lui $t6, 1 -/* 036414 80035814 35CE4000 */ ori $t6, (0x00014000 & 0xFFFF) # ori $t6, $t6, 0x4000 -/* 036418 80035818 01D8001A */ div $zero, $t6, $t8 -/* 03641C 8003581C 8E07007C */ lw $a3, 0x7c($s0) -/* 036420 80035820 240C0013 */ li $t4, 19 -/* 036424 80035824 00007812 */ mflo $t7 -/* 036428 80035828 02002025 */ move $a0, $s0 -/* 03642C 8003582C 02202825 */ move $a1, $s1 -/* 036430 80035830 02403025 */ move $a2, $s2 -/* 036434 80035834 AFAC0010 */ sw $t4, 0x10($sp) -/* 036438 80035838 17000002 */ bnez $t8, .L80035844 -/* 03643C 8003583C 00000000 */ nop -/* 036440 80035840 0007000D */ break 7 -.L80035844: -/* 036444 80035844 2401FFFF */ li $at, -1 -/* 036448 80035848 17010004 */ bne $t8, $at, .L8003585C -/* 03644C 8003584C 3C018000 */ lui $at, 0x8000 -/* 036450 80035850 15C10002 */ bne $t6, $at, .L8003585C -/* 036454 80035854 00000000 */ nop -/* 036458 80035858 0006000D */ break 6 -.L8003585C: -/* 03645C 8003585C 3C01800F */ lui $at, %hi(D_800EDD10) # $at, 0x800f -/* 036460 80035860 C424DD10 */ lwc1 $f4, %lo(D_800EDD10)($at) -/* 036464 80035864 AFAF0014 */ sw $t7, 0x14($sp) -/* 036468 80035868 0C00CE90 */ jal func_80033A40 -/* 03646C 8003586C E7A40018 */ swc1 $f4, 0x18($sp) -/* 036470 80035870 8FAB02CC */ lw $t3, 0x2cc($sp) -/* 036474 80035874 3C190001 */ lui $t9, (0x00013000 >> 16) # lui $t9, 1 -/* 036478 80035878 37393000 */ ori $t9, (0x00013000 & 0xFFFF) # ori $t9, $t9, 0x3000 -/* 03647C 8003587C 032B001A */ div $zero, $t9, $t3 -/* 036480 80035880 8E07007C */ lw $a3, 0x7c($s0) -/* 036484 80035884 240D0012 */ li $t5, 18 -/* 036488 80035888 00005012 */ mflo $t2 -/* 03648C 8003588C 02002025 */ move $a0, $s0 -/* 036490 80035890 02202825 */ move $a1, $s1 -/* 036494 80035894 02403025 */ move $a2, $s2 -/* 036498 80035898 AFAD0010 */ sw $t5, 0x10($sp) -/* 03649C 8003589C 15600002 */ bnez $t3, .L800358A8 -/* 0364A0 800358A0 00000000 */ nop -/* 0364A4 800358A4 0007000D */ break 7 -.L800358A8: -/* 0364A8 800358A8 2401FFFF */ li $at, -1 -/* 0364AC 800358AC 15610004 */ bne $t3, $at, .L800358C0 -/* 0364B0 800358B0 3C018000 */ lui $at, 0x8000 -/* 0364B4 800358B4 17210002 */ bne $t9, $at, .L800358C0 -/* 0364B8 800358B8 00000000 */ nop -/* 0364BC 800358BC 0006000D */ break 6 -.L800358C0: -/* 0364C0 800358C0 3C01800F */ lui $at, %hi(D_800EDD14) # $at, 0x800f -/* 0364C4 800358C4 C42ADD14 */ lwc1 $f10, %lo(D_800EDD14)($at) -/* 0364C8 800358C8 AFAA0014 */ sw $t2, 0x14($sp) -/* 0364CC 800358CC 0C00CE90 */ jal func_80033A40 -/* 0364D0 800358D0 E7AA0018 */ swc1 $f10, 0x18($sp) -/* 0364D4 800358D4 8FAE02CC */ lw $t6, 0x2cc($sp) -/* 0364D8 800358D8 3C180001 */ lui $t8, (0x00012000 >> 16) # lui $t8, 1 -/* 0364DC 800358DC 37182000 */ ori $t8, (0x00012000 & 0xFFFF) # ori $t8, $t8, 0x2000 -/* 0364E0 800358E0 030E001A */ div $zero, $t8, $t6 -/* 0364E4 800358E4 8E07007C */ lw $a3, 0x7c($s0) -/* 0364E8 800358E8 240C0011 */ li $t4, 17 -/* 0364EC 800358EC 00007812 */ mflo $t7 -/* 0364F0 800358F0 02002025 */ move $a0, $s0 -/* 0364F4 800358F4 02202825 */ move $a1, $s1 -/* 0364F8 800358F8 02403025 */ move $a2, $s2 -/* 0364FC 800358FC AFAC0010 */ sw $t4, 0x10($sp) -/* 036500 80035900 15C00002 */ bnez $t6, .L8003590C -/* 036504 80035904 00000000 */ nop -/* 036508 80035908 0007000D */ break 7 -.L8003590C: -/* 03650C 8003590C 2401FFFF */ li $at, -1 -/* 036510 80035910 15C10004 */ bne $t6, $at, .L80035924 -/* 036514 80035914 3C018000 */ lui $at, 0x8000 -/* 036518 80035918 17010002 */ bne $t8, $at, .L80035924 -/* 03651C 8003591C 00000000 */ nop -/* 036520 80035920 0006000D */ break 6 -.L80035924: -/* 036524 80035924 3C01800F */ lui $at, %hi(D_800EDD18) # $at, 0x800f -/* 036528 80035928 C426DD18 */ lwc1 $f6, %lo(D_800EDD18)($at) -/* 03652C 8003592C AFAF0014 */ sw $t7, 0x14($sp) -/* 036530 80035930 0C00CE90 */ jal func_80033A40 -/* 036534 80035934 E7A60018 */ swc1 $f6, 0x18($sp) -/* 036538 80035938 8FB902CC */ lw $t9, 0x2cc($sp) -/* 03653C 8003593C 3C0B0001 */ lui $t3, (0x00011000 >> 16) # lui $t3, 1 -/* 036540 80035940 356B1000 */ ori $t3, (0x00011000 & 0xFFFF) # ori $t3, $t3, 0x1000 -/* 036544 80035944 0179001A */ div $zero, $t3, $t9 -/* 036548 80035948 8E07007C */ lw $a3, 0x7c($s0) -/* 03654C 8003594C 240D0010 */ li $t5, 16 -/* 036550 80035950 00005012 */ mflo $t2 -/* 036554 80035954 02002025 */ move $a0, $s0 -/* 036558 80035958 02202825 */ move $a1, $s1 -/* 03655C 8003595C 02403025 */ move $a2, $s2 -/* 036560 80035960 AFAD0010 */ sw $t5, 0x10($sp) -/* 036564 80035964 17200002 */ bnez $t9, .L80035970 -/* 036568 80035968 00000000 */ nop -/* 03656C 8003596C 0007000D */ break 7 -.L80035970: -/* 036570 80035970 2401FFFF */ li $at, -1 -/* 036574 80035974 17210004 */ bne $t9, $at, .L80035988 -/* 036578 80035978 3C018000 */ lui $at, 0x8000 -/* 03657C 8003597C 15610002 */ bne $t3, $at, .L80035988 -/* 036580 80035980 00000000 */ nop -/* 036584 80035984 0006000D */ break 6 -.L80035988: -/* 036588 80035988 3C01800F */ lui $at, %hi(D_800EDD1C) # $at, 0x800f -/* 03658C 8003598C C430DD1C */ lwc1 $f16, %lo(D_800EDD1C)($at) -/* 036590 80035990 AFAA0014 */ sw $t2, 0x14($sp) -/* 036594 80035994 0C00CE90 */ jal func_80033A40 -/* 036598 80035998 E7B00018 */ swc1 $f16, 0x18($sp) -/* 03659C 8003599C 8FB802CC */ lw $t8, 0x2cc($sp) -/* 0365A0 800359A0 3C0E0001 */ lui $t6, 1 -/* 0365A4 800359A4 8E07007C */ lw $a3, 0x7c($s0) -/* 0365A8 800359A8 01D8001A */ div $zero, $t6, $t8 -/* 0365AC 800359AC 240C000F */ li $t4, 15 -/* 0365B0 800359B0 00007812 */ mflo $t7 -/* 0365B4 800359B4 02002025 */ move $a0, $s0 -/* 0365B8 800359B8 02202825 */ move $a1, $s1 -/* 0365BC 800359BC 02403025 */ move $a2, $s2 -/* 0365C0 800359C0 AFAC0010 */ sw $t4, 0x10($sp) -/* 0365C4 800359C4 17000002 */ bnez $t8, .L800359D0 -/* 0365C8 800359C8 00000000 */ nop -/* 0365CC 800359CC 0007000D */ break 7 -.L800359D0: -/* 0365D0 800359D0 2401FFFF */ li $at, -1 -/* 0365D4 800359D4 17010004 */ bne $t8, $at, .L800359E8 -/* 0365D8 800359D8 3C018000 */ lui $at, 0x8000 -/* 0365DC 800359DC 15C10002 */ bne $t6, $at, .L800359E8 -/* 0365E0 800359E0 00000000 */ nop -/* 0365E4 800359E4 0006000D */ break 6 -.L800359E8: -/* 0365E8 800359E8 3C01800F */ lui $at, %hi(D_800EDD20) # $at, 0x800f -/* 0365EC 800359EC C432DD20 */ lwc1 $f18, %lo(D_800EDD20)($at) -/* 0365F0 800359F0 AFAF0014 */ sw $t7, 0x14($sp) -/* 0365F4 800359F4 0C00CE90 */ jal func_80033A40 -/* 0365F8 800359F8 E7B20018 */ swc1 $f18, 0x18($sp) -/* 0365FC 800359FC 8FAB02CC */ lw $t3, 0x2cc($sp) -/* 036600 80035A00 3419F000 */ li $t9, 61440 -/* 036604 80035A04 8E07007C */ lw $a3, 0x7c($s0) -/* 036608 80035A08 032B001A */ div $zero, $t9, $t3 -/* 03660C 80035A0C 240D000E */ li $t5, 14 -/* 036610 80035A10 00005012 */ mflo $t2 -/* 036614 80035A14 02002025 */ move $a0, $s0 -/* 036618 80035A18 02202825 */ move $a1, $s1 -/* 03661C 80035A1C 02403025 */ move $a2, $s2 -/* 036620 80035A20 AFAD0010 */ sw $t5, 0x10($sp) -/* 036624 80035A24 15600002 */ bnez $t3, .L80035A30 -/* 036628 80035A28 00000000 */ nop -/* 03662C 80035A2C 0007000D */ break 7 -.L80035A30: -/* 036630 80035A30 2401FFFF */ li $at, -1 -/* 036634 80035A34 15610004 */ bne $t3, $at, .L80035A48 -/* 036638 80035A38 3C018000 */ lui $at, 0x8000 -/* 03663C 80035A3C 17210002 */ bne $t9, $at, .L80035A48 -/* 036640 80035A40 00000000 */ nop -/* 036644 80035A44 0006000D */ break 6 -.L80035A48: -/* 036648 80035A48 3C01800F */ lui $at, %hi(D_800EDD24) # $at, 0x800f -/* 03664C 80035A4C C428DD24 */ lwc1 $f8, %lo(D_800EDD24)($at) -/* 036650 80035A50 AFAA0014 */ sw $t2, 0x14($sp) -/* 036654 80035A54 0C00CE90 */ jal func_80033A40 -/* 036658 80035A58 E7A80018 */ swc1 $f8, 0x18($sp) -/* 03665C 80035A5C 8FAE02CC */ lw $t6, 0x2cc($sp) -/* 036660 80035A60 3418E000 */ li $t8, 57344 -/* 036664 80035A64 8E07007C */ lw $a3, 0x7c($s0) -/* 036668 80035A68 030E001A */ div $zero, $t8, $t6 -/* 03666C 80035A6C 00001012 */ mflo $v0 -/* 036670 80035A70 240C000D */ li $t4, 13 -/* 036674 80035A74 02002025 */ move $a0, $s0 -/* 036678 80035A78 02202825 */ move $a1, $s1 -/* 03667C 80035A7C 02403025 */ move $a2, $s2 -/* 036680 80035A80 AFAC0010 */ sw $t4, 0x10($sp) -/* 036684 80035A84 15C00002 */ bnez $t6, .L80035A90 -/* 036688 80035A88 00000000 */ nop -/* 03668C 80035A8C 0007000D */ break 7 -.L80035A90: -/* 036690 80035A90 2401FFFF */ li $at, -1 -/* 036694 80035A94 15C10004 */ bne $t6, $at, .L80035AA8 -/* 036698 80035A98 3C018000 */ lui $at, 0x8000 -/* 03669C 80035A9C 17010002 */ bne $t8, $at, .L80035AA8 -/* 0366A0 80035AA0 00000000 */ nop -/* 0366A4 80035AA4 0006000D */ break 6 -.L80035AA8: -/* 0366A8 80035AA8 3C01800F */ lui $at, %hi(D_800EDD28) # $at, 0x800f -/* 0366AC 80035AAC C424DD28 */ lwc1 $f4, %lo(D_800EDD28)($at) -/* 0366B0 80035AB0 AFA20014 */ sw $v0, 0x14($sp) -/* 0366B4 80035AB4 AFA20040 */ sw $v0, 0x40($sp) -/* 0366B8 80035AB8 0C00CE90 */ jal func_80033A40 -/* 0366BC 80035ABC E7A40018 */ swc1 $f4, 0x18($sp) -/* 0366C0 80035AC0 8FAD02CC */ lw $t5, 0x2cc($sp) -/* 0366C4 80035AC4 3419D000 */ li $t9, 53248 -/* 0366C8 80035AC8 8E07007C */ lw $a3, 0x7c($s0) -/* 0366CC 80035ACC 032D001A */ div $zero, $t9, $t5 -/* 0366D0 80035AD0 00001012 */ mflo $v0 -/* 0366D4 80035AD4 240F000C */ li $t7, 12 -/* 0366D8 80035AD8 02002025 */ move $a0, $s0 -/* 0366DC 80035ADC 02202825 */ move $a1, $s1 -/* 0366E0 80035AE0 02403025 */ move $a2, $s2 -/* 0366E4 80035AE4 AFAF0010 */ sw $t7, 0x10($sp) -/* 0366E8 80035AE8 15A00002 */ bnez $t5, .L80035AF4 -/* 0366EC 80035AEC 00000000 */ nop -/* 0366F0 80035AF0 0007000D */ break 7 -.L80035AF4: -/* 0366F4 80035AF4 2401FFFF */ li $at, -1 -/* 0366F8 80035AF8 15A10004 */ bne $t5, $at, .L80035B0C -/* 0366FC 80035AFC 3C018000 */ lui $at, 0x8000 -/* 036700 80035B00 17210002 */ bne $t9, $at, .L80035B0C -/* 036704 80035B04 00000000 */ nop -/* 036708 80035B08 0006000D */ break 6 -.L80035B0C: -/* 03670C 80035B0C 3C01800F */ lui $at, %hi(D_800EDD2C) # $at, 0x800f -/* 036710 80035B10 C42ADD2C */ lwc1 $f10, %lo(D_800EDD2C)($at) -/* 036714 80035B14 AFA20014 */ sw $v0, 0x14($sp) -/* 036718 80035B18 AFA2003C */ sw $v0, 0x3c($sp) -/* 03671C 80035B1C 0C00CE90 */ jal func_80033A40 -/* 036720 80035B20 E7AA0018 */ swc1 $f10, 0x18($sp) -/* 036724 80035B24 8FAA02CC */ lw $t2, 0x2cc($sp) -/* 036728 80035B28 340CC000 */ li $t4, 49152 -/* 03672C 80035B2C 8E07007C */ lw $a3, 0x7c($s0) -/* 036730 80035B30 018A001A */ div $zero, $t4, $t2 -/* 036734 80035B34 00001012 */ mflo $v0 -/* 036738 80035B38 240B000B */ li $t3, 11 -/* 03673C 80035B3C 02002025 */ move $a0, $s0 -/* 036740 80035B40 02202825 */ move $a1, $s1 -/* 036744 80035B44 02403025 */ move $a2, $s2 -/* 036748 80035B48 AFAB0010 */ sw $t3, 0x10($sp) -/* 03674C 80035B4C 15400002 */ bnez $t2, .L80035B58 -/* 036750 80035B50 00000000 */ nop -/* 036754 80035B54 0007000D */ break 7 -.L80035B58: -/* 036758 80035B58 2401FFFF */ li $at, -1 -/* 03675C 80035B5C 15410004 */ bne $t2, $at, .L80035B70 -/* 036760 80035B60 3C018000 */ lui $at, 0x8000 -/* 036764 80035B64 15810002 */ bne $t4, $at, .L80035B70 -/* 036768 80035B68 00000000 */ nop -/* 03676C 80035B6C 0006000D */ break 6 -.L80035B70: -/* 036770 80035B70 3C01800F */ lui $at, %hi(D_800EDD30) # $at, 0x800f -/* 036774 80035B74 C426DD30 */ lwc1 $f6, %lo(D_800EDD30)($at) -/* 036778 80035B78 AFA20014 */ sw $v0, 0x14($sp) -/* 03677C 80035B7C AFA20038 */ sw $v0, 0x38($sp) -/* 036780 80035B80 0C00CE90 */ jal func_80033A40 -/* 036784 80035B84 E7A60018 */ swc1 $f6, 0x18($sp) -/* 036788 80035B88 3C01800F */ lui $at, %hi(D_800EDD34) # $at, 0x800f -/* 03678C 80035B8C C430DD34 */ lwc1 $f16, %lo(D_800EDD34)($at) -/* 036790 80035B90 8FAE0040 */ lw $t6, 0x40($sp) -/* 036794 80035B94 8E07007C */ lw $a3, 0x7c($s0) -/* 036798 80035B98 2418000A */ li $t8, 10 -/* 03679C 80035B9C AFB80010 */ sw $t8, 0x10($sp) -/* 0367A0 80035BA0 02002025 */ move $a0, $s0 -/* 0367A4 80035BA4 02202825 */ move $a1, $s1 -/* 0367A8 80035BA8 02403025 */ move $a2, $s2 -/* 0367AC 80035BAC E7B00018 */ swc1 $f16, 0x18($sp) -/* 0367B0 80035BB0 0C00CE90 */ jal func_80033A40 -/* 0367B4 80035BB4 AFAE0014 */ sw $t6, 0x14($sp) -/* 0367B8 80035BB8 3C01800F */ lui $at, %hi(D_800EDD38) # $at, 0x800f -/* 0367BC 80035BBC C432DD38 */ lwc1 $f18, %lo(D_800EDD38)($at) -/* 0367C0 80035BC0 8FB9003C */ lw $t9, 0x3c($sp) -/* 0367C4 80035BC4 8E07007C */ lw $a3, 0x7c($s0) -/* 0367C8 80035BC8 240F0009 */ li $t7, 9 -/* 0367CC 80035BCC AFAF0010 */ sw $t7, 0x10($sp) -/* 0367D0 80035BD0 02002025 */ move $a0, $s0 -/* 0367D4 80035BD4 02202825 */ move $a1, $s1 -/* 0367D8 80035BD8 02403025 */ move $a2, $s2 -/* 0367DC 80035BDC E7B20018 */ swc1 $f18, 0x18($sp) -/* 0367E0 80035BE0 0C00CE90 */ jal func_80033A40 -/* 0367E4 80035BE4 AFB90014 */ sw $t9, 0x14($sp) -/* 0367E8 80035BE8 3C01800F */ lui $at, %hi(D_800EDD3C) # $at, 0x800f -/* 0367EC 80035BEC C428DD3C */ lwc1 $f8, %lo(D_800EDD3C)($at) -/* 0367F0 80035BF0 8FAB0038 */ lw $t3, 0x38($sp) -/* 0367F4 80035BF4 8E07007C */ lw $a3, 0x7c($s0) -/* 0367F8 80035BF8 240D0008 */ li $t5, 8 -/* 0367FC 80035BFC AFAD0010 */ sw $t5, 0x10($sp) -/* 036800 80035C00 02002025 */ move $a0, $s0 -/* 036804 80035C04 02202825 */ move $a1, $s1 -/* 036808 80035C08 02403025 */ move $a2, $s2 -/* 03680C 80035C0C E7A80018 */ swc1 $f8, 0x18($sp) -/* 036810 80035C10 0C00CE90 */ jal func_80033A40 -/* 036814 80035C14 AFAB0014 */ sw $t3, 0x14($sp) -/* 036818 80035C18 8FAA02CC */ lw $t2, 0x2cc($sp) -/* 03681C 80035C1C 3418B000 */ li $t8, 45056 -/* 036820 80035C20 8E07007C */ lw $a3, 0x7c($s0) -/* 036824 80035C24 030A001A */ div $zero, $t8, $t2 -/* 036828 80035C28 240C0007 */ li $t4, 7 -/* 03682C 80035C2C 00007012 */ mflo $t6 -/* 036830 80035C30 02002025 */ move $a0, $s0 -/* 036834 80035C34 02202825 */ move $a1, $s1 -/* 036838 80035C38 02403025 */ move $a2, $s2 -/* 03683C 80035C3C AFAC0010 */ sw $t4, 0x10($sp) -/* 036840 80035C40 15400002 */ bnez $t2, .L80035C4C -/* 036844 80035C44 00000000 */ nop -/* 036848 80035C48 0007000D */ break 7 -.L80035C4C: -/* 03684C 80035C4C 2401FFFF */ li $at, -1 -/* 036850 80035C50 15410004 */ bne $t2, $at, .L80035C64 -/* 036854 80035C54 3C018000 */ lui $at, 0x8000 -/* 036858 80035C58 17010002 */ bne $t8, $at, .L80035C64 -/* 03685C 80035C5C 00000000 */ nop -/* 036860 80035C60 0006000D */ break 6 -.L80035C64: -/* 036864 80035C64 3C01800F */ lui $at, %hi(D_800EDD40) # $at, 0x800f -/* 036868 80035C68 C424DD40 */ lwc1 $f4, %lo(D_800EDD40)($at) -/* 03686C 80035C6C AFAE0014 */ sw $t6, 0x14($sp) -/* 036870 80035C70 0C00CE90 */ jal func_80033A40 -/* 036874 80035C74 E7A40018 */ swc1 $f4, 0x18($sp) -/* 036878 80035C78 8FB902CC */ lw $t9, 0x2cc($sp) -/* 03687C 80035C7C 340DA000 */ li $t5, 40960 -/* 036880 80035C80 8E07007C */ lw $a3, 0x7c($s0) -/* 036884 80035C84 01B9001A */ div $zero, $t5, $t9 -/* 036888 80035C88 240F0006 */ li $t7, 6 -/* 03688C 80035C8C 00005812 */ mflo $t3 -/* 036890 80035C90 02002025 */ move $a0, $s0 -/* 036894 80035C94 02202825 */ move $a1, $s1 -/* 036898 80035C98 02403025 */ move $a2, $s2 -/* 03689C 80035C9C AFAF0010 */ sw $t7, 0x10($sp) -/* 0368A0 80035CA0 17200002 */ bnez $t9, .L80035CAC -/* 0368A4 80035CA4 00000000 */ nop -/* 0368A8 80035CA8 0007000D */ break 7 -.L80035CAC: -/* 0368AC 80035CAC 2401FFFF */ li $at, -1 -/* 0368B0 80035CB0 17210004 */ bne $t9, $at, .L80035CC4 -/* 0368B4 80035CB4 3C018000 */ lui $at, 0x8000 -/* 0368B8 80035CB8 15A10002 */ bne $t5, $at, .L80035CC4 -/* 0368BC 80035CBC 00000000 */ nop -/* 0368C0 80035CC0 0006000D */ break 6 -.L80035CC4: -/* 0368C4 80035CC4 3C01800F */ lui $at, %hi(D_800EDD44) # $at, 0x800f -/* 0368C8 80035CC8 C42ADD44 */ lwc1 $f10, %lo(D_800EDD44)($at) -/* 0368CC 80035CCC AFAB0014 */ sw $t3, 0x14($sp) -/* 0368D0 80035CD0 0C00CE90 */ jal func_80033A40 -/* 0368D4 80035CD4 E7AA0018 */ swc1 $f10, 0x18($sp) -/* 0368D8 80035CD8 8FB802CC */ lw $t8, 0x2cc($sp) -/* 0368DC 80035CDC 340A9000 */ li $t2, 36864 -/* 0368E0 80035CE0 8E07007C */ lw $a3, 0x7c($s0) -/* 0368E4 80035CE4 0158001A */ div $zero, $t2, $t8 -/* 0368E8 80035CE8 240C0005 */ li $t4, 5 -/* 0368EC 80035CEC 00007012 */ mflo $t6 -/* 0368F0 80035CF0 02002025 */ move $a0, $s0 -/* 0368F4 80035CF4 02202825 */ move $a1, $s1 -/* 0368F8 80035CF8 02403025 */ move $a2, $s2 -/* 0368FC 80035CFC AFAC0010 */ sw $t4, 0x10($sp) -/* 036900 80035D00 17000002 */ bnez $t8, .L80035D0C -/* 036904 80035D04 00000000 */ nop -/* 036908 80035D08 0007000D */ break 7 -.L80035D0C: -/* 03690C 80035D0C 2401FFFF */ li $at, -1 -/* 036910 80035D10 17010004 */ bne $t8, $at, .L80035D24 -/* 036914 80035D14 3C018000 */ lui $at, 0x8000 -/* 036918 80035D18 15410002 */ bne $t2, $at, .L80035D24 -/* 03691C 80035D1C 00000000 */ nop -/* 036920 80035D20 0006000D */ break 6 -.L80035D24: -/* 036924 80035D24 3C01800F */ lui $at, %hi(D_800EDD48) # $at, 0x800f -/* 036928 80035D28 C426DD48 */ lwc1 $f6, %lo(D_800EDD48)($at) -/* 03692C 80035D2C AFAE0014 */ sw $t6, 0x14($sp) -/* 036930 80035D30 0C00CE90 */ jal func_80033A40 -/* 036934 80035D34 E7A60018 */ swc1 $f6, 0x18($sp) -/* 036938 80035D38 8FAD02CC */ lw $t5, 0x2cc($sp) -/* 03693C 80035D3C 34198000 */ li $t9, 32768 -/* 036940 80035D40 8E07007C */ lw $a3, 0x7c($s0) -/* 036944 80035D44 032D001A */ div $zero, $t9, $t5 -/* 036948 80035D48 240F0004 */ li $t7, 4 -/* 03694C 80035D4C 00005812 */ mflo $t3 -/* 036950 80035D50 02002025 */ move $a0, $s0 -/* 036954 80035D54 02202825 */ move $a1, $s1 -/* 036958 80035D58 02403025 */ move $a2, $s2 -/* 03695C 80035D5C AFAF0010 */ sw $t7, 0x10($sp) -/* 036960 80035D60 15A00002 */ bnez $t5, .L80035D6C -/* 036964 80035D64 00000000 */ nop -/* 036968 80035D68 0007000D */ break 7 -.L80035D6C: -/* 03696C 80035D6C 2401FFFF */ li $at, -1 -/* 036970 80035D70 15A10004 */ bne $t5, $at, .L80035D84 -/* 036974 80035D74 3C018000 */ lui $at, 0x8000 -/* 036978 80035D78 17210002 */ bne $t9, $at, .L80035D84 -/* 03697C 80035D7C 00000000 */ nop -/* 036980 80035D80 0006000D */ break 6 -.L80035D84: -/* 036984 80035D84 3C01800F */ lui $at, %hi(D_800EDD4C) # $at, 0x800f -/* 036988 80035D88 C430DD4C */ lwc1 $f16, %lo(D_800EDD4C)($at) -/* 03698C 80035D8C AFAB0014 */ sw $t3, 0x14($sp) -/* 036990 80035D90 0C00CE90 */ jal func_80033A40 -/* 036994 80035D94 E7B00018 */ swc1 $f16, 0x18($sp) -/* 036998 80035D98 8FAA02CC */ lw $t2, 0x2cc($sp) -/* 03699C 80035D9C 24187000 */ li $t8, 28672 -/* 0369A0 80035DA0 8E07007C */ lw $a3, 0x7c($s0) -/* 0369A4 80035DA4 030A001A */ div $zero, $t8, $t2 -/* 0369A8 80035DA8 240C0003 */ li $t4, 3 -/* 0369AC 80035DAC 00007012 */ mflo $t6 -/* 0369B0 80035DB0 02002025 */ move $a0, $s0 -/* 0369B4 80035DB4 02202825 */ move $a1, $s1 -/* 0369B8 80035DB8 02403025 */ move $a2, $s2 -/* 0369BC 80035DBC AFAC0010 */ sw $t4, 0x10($sp) -/* 0369C0 80035DC0 15400002 */ bnez $t2, .L80035DCC -/* 0369C4 80035DC4 00000000 */ nop -/* 0369C8 80035DC8 0007000D */ break 7 -.L80035DCC: -/* 0369CC 80035DCC 2401FFFF */ li $at, -1 -/* 0369D0 80035DD0 15410004 */ bne $t2, $at, .L80035DE4 -/* 0369D4 80035DD4 3C018000 */ lui $at, 0x8000 -/* 0369D8 80035DD8 17010002 */ bne $t8, $at, .L80035DE4 -/* 0369DC 80035DDC 00000000 */ nop -/* 0369E0 80035DE0 0006000D */ break 6 -.L80035DE4: -/* 0369E4 80035DE4 3C01800F */ lui $at, %hi(D_800EDD50) # $at, 0x800f -/* 0369E8 80035DE8 C432DD50 */ lwc1 $f18, %lo(D_800EDD50)($at) -/* 0369EC 80035DEC AFAE0014 */ sw $t6, 0x14($sp) -/* 0369F0 80035DF0 0C00CE90 */ jal func_80033A40 -/* 0369F4 80035DF4 E7B20018 */ swc1 $f18, 0x18($sp) -/* 0369F8 80035DF8 8FB902CC */ lw $t9, 0x2cc($sp) -/* 0369FC 80035DFC 240D6000 */ li $t5, 24576 -/* 036A00 80035E00 8E07007C */ lw $a3, 0x7c($s0) -/* 036A04 80035E04 01B9001A */ div $zero, $t5, $t9 -/* 036A08 80035E08 240F0002 */ li $t7, 2 -/* 036A0C 80035E0C 00005812 */ mflo $t3 -/* 036A10 80035E10 02002025 */ move $a0, $s0 -/* 036A14 80035E14 02202825 */ move $a1, $s1 -/* 036A18 80035E18 02403025 */ move $a2, $s2 -/* 036A1C 80035E1C AFAF0010 */ sw $t7, 0x10($sp) -/* 036A20 80035E20 17200002 */ bnez $t9, .L80035E2C -/* 036A24 80035E24 00000000 */ nop -/* 036A28 80035E28 0007000D */ break 7 -.L80035E2C: -/* 036A2C 80035E2C 2401FFFF */ li $at, -1 -/* 036A30 80035E30 17210004 */ bne $t9, $at, .L80035E44 -/* 036A34 80035E34 3C018000 */ lui $at, 0x8000 -/* 036A38 80035E38 15A10002 */ bne $t5, $at, .L80035E44 -/* 036A3C 80035E3C 00000000 */ nop -/* 036A40 80035E40 0006000D */ break 6 -.L80035E44: -/* 036A44 80035E44 3C01800F */ lui $at, %hi(D_800EDD54) # $at, 0x800f -/* 036A48 80035E48 C428DD54 */ lwc1 $f8, %lo(D_800EDD54)($at) -/* 036A4C 80035E4C AFAB0014 */ sw $t3, 0x14($sp) -/* 036A50 80035E50 0C00CE90 */ jal func_80033A40 -/* 036A54 80035E54 E7A80018 */ swc1 $f8, 0x18($sp) -/* 036A58 80035E58 8FB802CC */ lw $t8, 0x2cc($sp) -/* 036A5C 80035E5C 240A5000 */ li $t2, 20480 -/* 036A60 80035E60 8E07007C */ lw $a3, 0x7c($s0) -/* 036A64 80035E64 0158001A */ div $zero, $t2, $t8 -/* 036A68 80035E68 240C0001 */ li $t4, 1 -/* 036A6C 80035E6C 00007012 */ mflo $t6 -/* 036A70 80035E70 02002025 */ move $a0, $s0 -/* 036A74 80035E74 02202825 */ move $a1, $s1 -/* 036A78 80035E78 02403025 */ move $a2, $s2 -/* 036A7C 80035E7C AFAC0010 */ sw $t4, 0x10($sp) -/* 036A80 80035E80 17000002 */ bnez $t8, .L80035E8C -/* 036A84 80035E84 00000000 */ nop -/* 036A88 80035E88 0007000D */ break 7 -.L80035E8C: -/* 036A8C 80035E8C 2401FFFF */ li $at, -1 -/* 036A90 80035E90 17010004 */ bne $t8, $at, .L80035EA4 -/* 036A94 80035E94 3C018000 */ lui $at, 0x8000 -/* 036A98 80035E98 15410002 */ bne $t2, $at, .L80035EA4 -/* 036A9C 80035E9C 00000000 */ nop -/* 036AA0 80035EA0 0006000D */ break 6 -.L80035EA4: -/* 036AA4 80035EA4 3C01800F */ lui $at, %hi(D_800EDD58) # $at, 0x800f -/* 036AA8 80035EA8 C424DD58 */ lwc1 $f4, %lo(D_800EDD58)($at) -/* 036AAC 80035EAC AFAE0014 */ sw $t6, 0x14($sp) -/* 036AB0 80035EB0 0C00CE90 */ jal func_80033A40 -/* 036AB4 80035EB4 E7A40018 */ swc1 $f4, 0x18($sp) -/* 036AB8 80035EB8 8FAF02CC */ lw $t7, 0x2cc($sp) -/* 036ABC 80035EBC 8E07007C */ lw $a3, 0x7c($s0) -/* 036AC0 80035EC0 02002025 */ move $a0, $s0 -/* 036AC4 80035EC4 000F001A */ div $zero, $zero, $t7 -/* 036AC8 80035EC8 00006812 */ mflo $t5 -/* 036ACC 80035ECC 02202825 */ move $a1, $s1 -/* 036AD0 80035ED0 02403025 */ move $a2, $s2 -/* 036AD4 80035ED4 AFA00010 */ sw $zero, 0x10($sp) -/* 036AD8 80035ED8 15E00002 */ bnez $t7, .L80035EE4 -/* 036ADC 80035EDC 00000000 */ nop -/* 036AE0 80035EE0 0007000D */ break 7 -.L80035EE4: -/* 036AE4 80035EE4 2401FFFF */ li $at, -1 -/* 036AE8 80035EE8 15E10004 */ bne $t7, $at, .L80035EFC -/* 036AEC 80035EEC 3C018000 */ lui $at, 0x8000 -/* 036AF0 80035EF0 14010002 */ bne $zero, $at, .L80035EFC -/* 036AF4 80035EF4 00000000 */ nop -/* 036AF8 80035EF8 0006000D */ break 6 -.L80035EFC: -/* 036AFC 80035EFC 3C01800F */ lui $at, %hi(D_800EDD5C) # $at, 0x800f -/* 036B00 80035F00 C42ADD5C */ lwc1 $f10, %lo(D_800EDD5C)($at) -/* 036B04 80035F04 AFAD0014 */ sw $t5, 0x14($sp) -/* 036B08 80035F08 0C00CE90 */ jal func_80033A40 -/* 036B0C 80035F0C E7AA0018 */ swc1 $f10, 0x18($sp) -/* 036B10 80035F10 8E0300BC */ lw $v1, 0xbc($s0) -/* 036B14 80035F14 24050010 */ li $a1, 16 -/* 036B18 80035F18 44807000 */ mtc1 $zero, $f14 -/* 036B1C 80035F1C 30620010 */ andi $v0, $v1, 0x10 -/* 036B20 80035F20 54A20014 */ bnel $a1, $v0, .L80035F74 -/* 036B24 80035F24 3C014190 */ lui $at, 0x4190 -/* 036B28 80035F28 8FB902E4 */ lw $t9, 0x2e4($sp) -/* 036B2C 80035F2C C6100094 */ lwc1 $f16, 0x94($s0) -/* 036B30 80035F30 00195C03 */ sra $t3, $t9, 0x10 -/* 036B34 80035F34 05610003 */ bgez $t3, .L80035F44 -/* 036B38 80035F38 000B60C3 */ sra $t4, $t3, 3 -/* 036B3C 80035F3C 25610007 */ addiu $at, $t3, 7 -/* 036B40 80035F40 000160C3 */ sra $t4, $at, 3 -.L80035F44: -/* 036B44 80035F44 3C014190 */ li $at, 0x41900000 # 18.000000 -/* 036B48 80035F48 44819000 */ mtc1 $at, $f18 -/* 036B4C 80035F4C 3C014358 */ li $at, 0x43580000 # 216.000000 -/* 036B50 80035F50 44812000 */ mtc1 $at, $f4 -/* 036B54 80035F54 46128203 */ div.s $f8, $f16, $f18 -/* 036B58 80035F58 448C3000 */ mtc1 $t4, $f6 -/* 036B5C 80035F5C 00000000 */ nop -/* 036B60 80035F60 468030A0 */ cvt.s.w $f2, $f6 -/* 036B64 80035F64 46044002 */ mul.s $f0, $f8, $f4 -/* 036B68 80035F68 10000023 */ b .L80035FF8 -/* 036B6C 80035F6C 460E103C */ c.lt.s $f2, $f14 -/* 036B70 80035F70 3C014190 */ li $at, 0x41900000 # 18.000000 -.L80035F74: -/* 036B74 80035F74 44813000 */ mtc1 $at, $f6 -/* 036B78 80035F78 C60A0094 */ lwc1 $f10, 0x94($s0) -/* 036B7C 80035F7C 3C014358 */ li $at, 0x43580000 # 216.000000 -/* 036B80 80035F80 44819000 */ mtc1 $at, $f18 -/* 036B84 80035F84 46065403 */ div.s $f16, $f10, $f6 -/* 036B88 80035F88 3C0141C8 */ li $at, 0x41C80000 # 25.000000 -/* 036B8C 80035F8C 44814000 */ mtc1 $at, $f8 -/* 036B90 80035F90 8FAA02E4 */ lw $t2, 0x2e4($sp) -/* 036B94 80035F94 3C014248 */ li $at, 0x42480000 # 50.000000 -/* 036B98 80035F98 000AC403 */ sra $t8, $t2, 0x10 -/* 036B9C 80035F9C 46128002 */ mul.s $f0, $f16, $f18 -/* 036BA0 80035FA0 4608003E */ c.le.s $f0, $f8 -/* 036BA4 80035FA4 00000000 */ nop -/* 036BA8 80035FA8 45020008 */ bc1fl .L80035FCC -/* 036BAC 80035FAC C60A009C */ lwc1 $f10, 0x9c($s0) -/* 036BB0 80035FB0 2401000C */ li $at, 12 -/* 036BB4 80035FB4 0301001A */ div $zero, $t8, $at -/* 036BB8 80035FB8 00007012 */ mflo $t6 -/* 036BBC 80035FBC 448E2000 */ mtc1 $t6, $f4 -/* 036BC0 80035FC0 1000000C */ b .L80035FF4 -/* 036BC4 80035FC4 468020A0 */ cvt.s.w $f2, $f4 -/* 036BC8 80035FC8 C60A009C */ lwc1 $f10, 0x9c($s0) -.L80035FCC: -/* 036BCC 80035FCC 44813000 */ mtc1 $at, $f6 -/* 036BD0 80035FD0 8FAF02E4 */ lw $t7, 0x2e4($sp) -/* 036BD4 80035FD4 3C014100 */ li $at, 0x41000000 # 8.000000 -/* 036BD8 80035FD8 46065403 */ div.s $f16, $f10, $f6 -/* 036BDC 80035FDC 000F6C03 */ sra $t5, $t7, 0x10 -/* 036BE0 80035FE0 448D2000 */ mtc1 $t5, $f4 -/* 036BE4 80035FE4 44819000 */ mtc1 $at, $f18 -/* 036BE8 80035FE8 468022A0 */ cvt.s.w $f10, $f4 -/* 036BEC 80035FEC 46109200 */ add.s $f8, $f18, $f16 -/* 036BF0 80035FF0 46085083 */ div.s $f2, $f10, $f8 -.L80035FF4: -/* 036BF4 80035FF4 460E103C */ c.lt.s $f2, $f14 -.L80035FF8: -/* 036BF8 80035FF8 30790020 */ andi $t9, $v1, 0x20 -/* 036BFC 80035FFC 24010020 */ li $at, 32 -/* 036C00 80036000 45000002 */ bc1f .L8003600C -/* 036C04 80036004 00000000 */ nop -/* 036C08 80036008 46001087 */ neg.s $f2, $f2 -.L8003600C: -/* 036C0C 8003600C 17210010 */ bne $t9, $at, .L80036050 -/* 036C10 80036010 00000000 */ nop -/* 036C14 80036014 4600018D */ trunc.w.s $f6, $f0 -/* 036C18 80036018 3C013FC0 */ li $at, 0x3FC00000 # 1.500000 -/* 036C1C 8003601C 44818000 */ mtc1 $at, $f16 -/* 036C20 80036020 440C3000 */ mfc1 $t4, $f6 -/* 036C24 80036024 00000000 */ nop -/* 036C28 80036028 000C5400 */ sll $t2, $t4, 0x10 -/* 036C2C 8003602C 000AC403 */ sra $t8, $t2, 0x10 -/* 036C30 80036030 00187080 */ sll $t6, $t8, 2 -/* 036C34 80036034 03AE7821 */ addu $t7, $sp, $t6 -/* 036C38 80036038 C5F2006C */ lwc1 $f18, 0x6c($t7) -/* 036C3C 8003603C 46109102 */ mul.s $f4, $f18, $f16 -/* 036C40 80036040 00000000 */ nop -/* 036C44 80036044 46022082 */ mul.s $f2, $f4, $f2 -/* 036C48 80036048 1000001C */ b .L800360BC -/* 036C4C 8003604C 00000000 */ nop -.L80036050: -/* 036C50 80036050 54A2000D */ bnel $a1, $v0, .L80036088 -/* 036C54 80036054 4600018D */ trunc.w.s $f6, $f0 -/* 036C58 80036058 4600028D */ trunc.w.s $f10, $f0 -/* 036C5C 8003605C 44195000 */ mfc1 $t9, $f10 -/* 036C60 80036060 00000000 */ nop -/* 036C64 80036064 00195C00 */ sll $t3, $t9, 0x10 -/* 036C68 80036068 000B6403 */ sra $t4, $t3, 0x10 -/* 036C6C 8003606C 000C5080 */ sll $t2, $t4, 2 -/* 036C70 80036070 03AAC021 */ addu $t8, $sp, $t2 -/* 036C74 80036074 C7080044 */ lwc1 $f8, 0x44($t8) -/* 036C78 80036078 46024082 */ mul.s $f2, $f8, $f2 -/* 036C7C 8003607C 10000010 */ b .L800360C0 -/* 036C80 80036080 8618010C */ lh $t8, 0x10c($s0) -/* 036C84 80036084 4600018D */ trunc.w.s $f6, $f0 -.L80036088: -/* 036C88 80036088 3C013FC0 */ li $at, 0x3FC00000 # 1.500000 -/* 036C8C 8003608C 44818000 */ mtc1 $at, $f16 -/* 036C90 80036090 440F3000 */ mfc1 $t7, $f6 -/* 036C94 80036094 00000000 */ nop -/* 036C98 80036098 000F6C00 */ sll $t5, $t7, 0x10 -/* 036C9C 8003609C 000DCC03 */ sra $t9, $t5, 0x10 -/* 036CA0 800360A0 00195880 */ sll $t3, $t9, 2 -/* 036CA4 800360A4 03AB6021 */ addu $t4, $sp, $t3 -/* 036CA8 800360A8 C5920044 */ lwc1 $f18, 0x44($t4) -/* 036CAC 800360AC 46109102 */ mul.s $f4, $f18, $f16 -/* 036CB0 800360B0 00000000 */ nop -/* 036CB4 800360B4 46022082 */ mul.s $f2, $f4, $f2 -/* 036CB8 800360B8 00000000 */ nop -.L800360BC: -/* 036CBC 800360BC 8618010C */ lh $t8, 0x10c($s0) -.L800360C0: -/* 036CC0 800360C0 8FAA02E4 */ lw $t2, 0x2e4($sp) -/* 036CC4 800360C4 13000007 */ beqz $t8, .L800360E4 -/* 036CC8 800360C8 AE0A007C */ sw $t2, 0x7c($s0) -/* 036CCC 800360CC 02002025 */ move $a0, $s0 -/* 036CD0 800360D0 0C00AF56 */ jal func_8002BD58 -/* 036CD4 800360D4 E7A202C4 */ swc1 $f2, 0x2c4($sp) -/* 036CD8 800360D8 44807000 */ mtc1 $zero, $f14 -/* 036CDC 800360DC C7A202C4 */ lwc1 $f2, 0x2c4($sp) -/* 036CE0 800360E0 24050010 */ li $a1, 16 -.L800360E4: -/* 036CE4 800360E4 8E0E00BC */ lw $t6, 0xbc($s0) -/* 036CE8 800360E8 920201EC */ lbu $v0, 0x1ec($s0) -/* 036CEC 800360EC 3C01DFFF */ lui $at, (0xDFFFFFFF >> 16) # lui $at, 0xdfff -/* 036CF0 800360F0 3421FFFF */ ori $at, (0xDFFFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 036CF4 800360F4 01C17824 */ and $t7, $t6, $at -/* 036CF8 800360F8 2841000F */ slti $at, $v0, 0xf -/* 036CFC 800360FC 14200003 */ bnez $at, .L8003610C -/* 036D00 80036100 AE0F00BC */ sw $t7, 0xbc($s0) -/* 036D04 80036104 1000000A */ b .L80036130 -/* 036D08 80036108 C7AC02C0 */ lwc1 $f12, 0x2c0($sp) -.L8003610C: -/* 036D0C 8003610C 960D0254 */ lhu $t5, 0x254($s0) -/* 036D10 80036110 3C0B800E */ lui $t3, %hi(D_800E3410) -/* 036D14 80036114 00026080 */ sll $t4, $v0, 2 -/* 036D18 80036118 000DC880 */ sll $t9, $t5, 2 -/* 036D1C 8003611C 01795821 */ addu $t3, $t3, $t9 -/* 036D20 80036120 8D6B3410 */ lw $t3, %lo(D_800E3410)($t3) -/* 036D24 80036124 016C5021 */ addu $t2, $t3, $t4 -/* 036D28 80036128 C54A0000 */ lwc1 $f10, ($t2) -/* 036D2C 8003612C 460A7300 */ add.s $f12, $f14, $f10 -.L80036130: -/* 036D30 80036130 920201D4 */ lbu $v0, 0x1d4($s0) -/* 036D34 80036134 2841000F */ slti $at, $v0, 0xf -/* 036D38 80036138 5020000B */ beql $at, $zero, .L80036168 -/* 036D3C 8003613C 8E0300BC */ lw $v1, 0xbc($s0) -/* 036D40 80036140 96180254 */ lhu $t8, 0x254($s0) -/* 036D44 80036144 3C0F800E */ lui $t7, %hi(D_800E3410) -/* 036D48 80036148 00026880 */ sll $t5, $v0, 2 -/* 036D4C 8003614C 00187080 */ sll $t6, $t8, 2 -/* 036D50 80036150 01EE7821 */ addu $t7, $t7, $t6 -/* 036D54 80036154 8DEF3410 */ lw $t7, %lo(D_800E3410)($t7) -/* 036D58 80036158 01EDC821 */ addu $t9, $t7, $t5 -/* 036D5C 8003615C C7280000 */ lwc1 $f8, ($t9) -/* 036D60 80036160 46086300 */ add.s $f12, $f12, $f8 -/* 036D64 80036164 8E0300BC */ lw $v1, 0xbc($s0) -.L80036168: -/* 036D68 80036168 24040002 */ li $a0, 2 -/* 036D6C 8003616C 30620002 */ andi $v0, $v1, 2 -/* 036D70 80036170 108200A7 */ beq $a0, $v0, .L80036410 -/* 036D74 80036174 306B0010 */ andi $t3, $v1, 0x10 -/* 036D78 80036178 10AB00A5 */ beq $a1, $t3, .L80036410 -/* 036D7C 8003617C 306C0020 */ andi $t4, $v1, 0x20 -/* 036D80 80036180 24010020 */ li $at, 32 -/* 036D84 80036184 1581000D */ bne $t4, $at, .L800361BC -/* 036D88 80036188 30790001 */ andi $t9, $v1, 1 -/* 036D8C 8003618C 8E0A007C */ lw $t2, 0x7c($s0) -/* 036D90 80036190 000AC403 */ sra $t8, $t2, 0x10 -/* 036D94 80036194 00187080 */ sll $t6, $t8, 2 -/* 036D98 80036198 01D87021 */ addu $t6, $t6, $t8 -/* 036D9C 8003619C 448E3000 */ mtc1 $t6, $f6 -/* 036DA0 800361A0 00000000 */ nop -/* 036DA4 800361A4 468034A0 */ cvt.s.w $f18, $f6 -/* 036DA8 800361A8 46029402 */ mul.s $f16, $f18, $f2 -/* 036DAC 800361AC 4600810D */ trunc.w.s $f4, $f16 -/* 036DB0 800361B0 440D2000 */ mfc1 $t5, $f4 -/* 036DB4 800361B4 1000017F */ b .L800367B4 -/* 036DB8 800361B8 A60D0078 */ sh $t5, 0x78($s0) -.L800361BC: -/* 036DBC 800361BC 24010001 */ li $at, 1 -/* 036DC0 800361C0 5321002C */ beql $t9, $at, .L80036274 -/* 036DC4 800361C4 3C014190 */ lui $at, 0x4190 -/* 036DC8 800361C8 8E02007C */ lw $v0, 0x7c($s0) -/* 036DCC 800361CC 96030254 */ lhu $v1, 0x254($s0) -/* 036DD0 800361D0 00025C03 */ sra $t3, $v0, 0x10 -/* 036DD4 800361D4 2961002D */ slti $at, $t3, 0x2d -/* 036DD8 800361D8 00036080 */ sll $t4, $v1, 2 -/* 036DDC 800361DC 01801825 */ move $v1, $t4 -/* 036DE0 800361E0 10200003 */ beqz $at, .L800361F0 -/* 036DE4 800361E4 01601025 */ move $v0, $t3 -/* 036DE8 800361E8 2961FFD4 */ slti $at, $t3, -0x2c -/* 036DEC 800361EC 10200012 */ beqz $at, .L80036238 -.L800361F0: -/* 036DF0 800361F0 3C01800E */ lui $at, %hi(gKartHandlingTable) -/* 036DF4 800361F4 00230821 */ addu $at, $at, $v1 -/* 036DF8 800361F8 C42A3630 */ lwc1 $f10, %lo(gKartHandlingTable)($at) -/* 036DFC 800361FC 44828000 */ mtc1 $v0, $f16 -/* 036E00 80036200 3C01800F */ lui $at, %hi(D_800EDD60) -/* 036E04 80036204 46005221 */ cvt.d.s $f8, $f10 -/* 036E08 80036208 460C1282 */ mul.s $f10, $f2, $f12 -/* 036E0C 8003620C D426DD60 */ ldc1 $f6, %lo(D_800EDD60)($at) -/* 036E10 80036210 46264480 */ add.d $f18, $f8, $f6 -/* 036E14 80036214 46808120 */ cvt.s.w $f4, $f16 -/* 036E18 80036218 460A1200 */ add.s $f8, $f2, $f10 -/* 036E1C 8003621C 46082182 */ mul.s $f6, $f4, $f8 -/* 036E20 80036220 46003421 */ cvt.d.s $f16, $f6 -/* 036E24 80036224 46309282 */ mul.d $f10, $f18, $f16 -/* 036E28 80036228 4620510D */ trunc.w.d $f4, $f10 -/* 036E2C 8003622C 44182000 */ mfc1 $t8, $f4 -/* 036E30 80036230 10000070 */ b .L800363F4 -/* 036E34 80036234 A6180078 */ sh $t8, 0x78($s0) -.L80036238: -/* 036E38 80036238 460C1482 */ mul.s $f18, $f2, $f12 -/* 036E3C 8003623C 44824000 */ mtc1 $v0, $f8 -/* 036E40 80036240 3C01800E */ lui $at, %hi(gKartHandlingTable) -/* 036E44 80036244 00230821 */ addu $at, $at, $v1 -/* 036E48 80036248 C4243630 */ lwc1 $f4, %lo(gKartHandlingTable)($at) -/* 036E4C 8003624C 468041A0 */ cvt.s.w $f6, $f8 -/* 036E50 80036250 46121400 */ add.s $f16, $f2, $f18 -/* 036E54 80036254 46103282 */ mul.s $f10, $f6, $f16 -/* 036E58 80036258 00000000 */ nop -/* 036E5C 8003625C 460A2202 */ mul.s $f8, $f4, $f10 -/* 036E60 80036260 4600448D */ trunc.w.s $f18, $f8 -/* 036E64 80036264 440F9000 */ mfc1 $t7, $f18 -/* 036E68 80036268 10000062 */ b .L800363F4 -/* 036E6C 8003626C A60F0078 */ sh $t7, 0x78($s0) -/* 036E70 80036270 3C014190 */ li $at, 0x41900000 # 18.000000 -.L80036274: -/* 036E74 80036274 44818000 */ mtc1 $at, $f16 -/* 036E78 80036278 C6060094 */ lwc1 $f6, 0x94($s0) -/* 036E7C 8003627C 3C014358 */ li $at, 0x43580000 # 216.000000 -/* 036E80 80036280 44815000 */ mtc1 $at, $f10 -/* 036E84 80036284 46103103 */ div.s $f4, $f6, $f16 -/* 036E88 80036288 3C014100 */ lui $at, 0x4100 -/* 036E8C 8003628C 460A2002 */ mul.s $f0, $f4, $f10 -/* 036E90 80036290 4600703E */ c.le.s $f14, $f0 -/* 036E94 80036294 00000000 */ nop -/* 036E98 80036298 4502001C */ bc1fl .L8003630C -/* 036E9C 8003629C 3C014100 */ li $at, 0x41000000 # 8.000000 -/* 036EA0 800362A0 44814000 */ mtc1 $at, $f8 -/* 036EA4 800362A4 00000000 */ nop -/* 036EA8 800362A8 4608003C */ c.lt.s $f0, $f8 -/* 036EAC 800362AC 00000000 */ nop -/* 036EB0 800362B0 45020016 */ bc1fl .L8003630C -/* 036EB4 800362B4 3C014100 */ lui $at, 0x4100 -/* 036EB8 800362B8 8E0D007C */ lw $t5, 0x7c($s0) -/* 036EBC 800362BC 460C1402 */ mul.s $f16, $f2, $f12 -/* 036EC0 800362C0 3C014190 */ li $at, 0x41900000 # 18.000000 -/* 036EC4 800362C4 000DCC03 */ sra $t9, $t5, 0x10 -/* 036EC8 800362C8 44999000 */ mtc1 $t9, $f18 -/* 036ECC 800362CC 00000000 */ nop -/* 036ED0 800362D0 468091A0 */ cvt.s.w $f6, $f18 -/* 036ED4 800362D4 C6120094 */ lwc1 $f18, 0x94($s0) -/* 036ED8 800362D8 46101100 */ add.s $f4, $f2, $f16 -/* 036EDC 800362DC 44818000 */ mtc1 $at, $f16 -/* 036EE0 800362E0 3C014358 */ li $at, 0x43580000 # 216.000000 -/* 036EE4 800362E4 46043282 */ mul.s $f10, $f6, $f4 -/* 036EE8 800362E8 46109183 */ div.s $f6, $f18, $f16 -/* 036EEC 800362EC 44812000 */ mtc1 $at, $f4 -/* 036EF0 800362F0 4600520D */ trunc.w.s $f8, $f10 -/* 036EF4 800362F4 440C4000 */ mfc1 $t4, $f8 -/* 036EF8 800362F8 00000000 */ nop -/* 036EFC 800362FC A60C0078 */ sh $t4, 0x78($s0) -/* 036F00 80036300 46043002 */ mul.s $f0, $f6, $f4 -/* 036F04 80036304 00000000 */ nop -/* 036F08 80036308 3C014100 */ li $at, 0x41000000 # 8.000000 -.L8003630C: -/* 036F0C 8003630C 44815000 */ mtc1 $at, $f10 -/* 036F10 80036310 3C014282 */ lui $at, 0x4282 -/* 036F14 80036314 4600503E */ c.le.s $f10, $f0 -/* 036F18 80036318 00000000 */ nop -/* 036F1C 8003631C 45020020 */ bc1fl .L800363A0 -/* 036F20 80036320 3C014282 */ li $at, 0x42820000 # 65.000000 -/* 036F24 80036324 44814000 */ mtc1 $at, $f8 -/* 036F28 80036328 3C013FF8 */ lui $at, 0x3ff8 -/* 036F2C 8003632C 4608003C */ c.lt.s $f0, $f8 -/* 036F30 80036330 00000000 */ nop -/* 036F34 80036334 4502001A */ bc1fl .L800363A0 -/* 036F38 80036338 3C014282 */ li $at, 0x42820000 # 65.000000 -/* 036F3C 8003633C 460C1102 */ mul.s $f4, $f2, $f12 -/* 036F40 80036340 44818800 */ mtc1 $at, $f17 -/* 036F44 80036344 44808000 */ mtc1 $zero, $f16 -/* 036F48 80036348 8E0A007C */ lw $t2, 0x7c($s0) -/* 036F4C 8003634C 460014A1 */ cvt.d.s $f18, $f2 -/* 036F50 80036350 3C014190 */ li $at, 0x41900000 # 18.000000 -/* 036F54 80036354 46309180 */ add.d $f6, $f18, $f16 -/* 036F58 80036358 000AC403 */ sra $t8, $t2, 0x10 -/* 036F5C 8003635C 44989000 */ mtc1 $t8, $f18 -/* 036F60 80036360 460022A1 */ cvt.d.s $f10, $f4 -/* 036F64 80036364 46809421 */ cvt.d.w $f16, $f18 -/* 036F68 80036368 44819000 */ mtc1 $at, $f18 -/* 036F6C 8003636C 3C014358 */ li $at, 0x43580000 # 216.000000 -/* 036F70 80036370 462A3200 */ add.d $f8, $f6, $f10 -/* 036F74 80036374 C60A0094 */ lwc1 $f10, 0x94($s0) -/* 036F78 80036378 46288102 */ mul.d $f4, $f16, $f8 -/* 036F7C 8003637C 46125403 */ div.s $f16, $f10, $f18 -/* 036F80 80036380 44814000 */ mtc1 $at, $f8 -/* 036F84 80036384 4620218D */ trunc.w.d $f6, $f4 -/* 036F88 80036388 440F3000 */ mfc1 $t7, $f6 -/* 036F8C 8003638C 00000000 */ nop -/* 036F90 80036390 A60F0078 */ sh $t7, 0x78($s0) -/* 036F94 80036394 46088002 */ mul.s $f0, $f16, $f8 -/* 036F98 80036398 00000000 */ nop -/* 036F9C 8003639C 3C014282 */ li $at, 0x42820000 # 65.000000 -.L800363A0: -/* 036FA0 800363A0 44812000 */ mtc1 $at, $f4 -/* 036FA4 800363A4 3C01800F */ lui $at, %hi(D_800EDD68) -/* 036FA8 800363A8 4600203E */ c.le.s $f4, $f0 -/* 036FAC 800363AC 00000000 */ nop -/* 036FB0 800363B0 45020011 */ bc1fl .L800363F8 -/* 036FB4 800363B4 860A022A */ lh $t2, 0x22a($s0) -/* 036FB8 800363B8 460C1402 */ mul.s $f16, $f2, $f12 -/* 036FBC 800363BC D42ADD68 */ ldc1 $f10, %lo(D_800EDD68)($at) -/* 036FC0 800363C0 8E0D007C */ lw $t5, 0x7c($s0) -/* 036FC4 800363C4 460011A1 */ cvt.d.s $f6, $f2 -/* 036FC8 800363C8 462A3480 */ add.d $f18, $f6, $f10 -/* 036FCC 800363CC 000DCC03 */ sra $t9, $t5, 0x10 -/* 036FD0 800363D0 44993000 */ mtc1 $t9, $f6 -/* 036FD4 800363D4 46008221 */ cvt.d.s $f8, $f16 -/* 036FD8 800363D8 468032A1 */ cvt.d.w $f10, $f6 -/* 036FDC 800363DC 46289100 */ add.d $f4, $f18, $f8 -/* 036FE0 800363E0 46245402 */ mul.d $f16, $f10, $f4 -/* 036FE4 800363E4 4620848D */ trunc.w.d $f18, $f16 -/* 036FE8 800363E8 440C9000 */ mfc1 $t4, $f18 -/* 036FEC 800363EC 00000000 */ nop -/* 036FF0 800363F0 A60C0078 */ sh $t4, 0x78($s0) -.L800363F4: -/* 036FF4 800363F4 860A022A */ lh $t2, 0x22a($s0) -.L800363F8: -/* 036FF8 800363F8 A6000228 */ sh $zero, 0x228($s0) -/* 036FFC 800363FC 29410002 */ slti $at, $t2, 2 -/* 037000 80036400 102000EC */ beqz $at, .L800367B4 -/* 037004 80036404 00000000 */ nop -/* 037008 80036408 100000EA */ b .L800367B4 -/* 03700C 8003640C A600022A */ sh $zero, 0x22a($s0) -.L80036410: -/* 037010 80036410 30780008 */ andi $t8, $v1, 8 -/* 037014 80036414 24010008 */ li $at, 8 -/* 037018 80036418 530100BF */ beql $t8, $at, .L80036718 -/* 03701C 8003641C 8E11007C */ lw $s1, 0x7c($s0) -/* 037020 80036420 508200BD */ beql $a0, $v0, .L80036718 -/* 037024 80036424 8E11007C */ lw $s1, 0x7c($s0) -/* 037028 80036428 860E00C0 */ lh $t6, 0xc0($s0) -/* 03702C 8003642C 240100B6 */ li $at, 182 -/* 037030 80036430 02002025 */ move $a0, $s0 -/* 037034 80036434 01C1001A */ div $zero, $t6, $at -/* 037038 80036438 00007812 */ mflo $t7 -/* 03703C 8003643C 59E00020 */ blezl $t7, .L800364C0 -/* 037040 80036440 8E02007C */ lw $v0, 0x7c($s0) -/* 037044 80036444 8E02007C */ lw $v0, 0x7c($s0) -/* 037048 80036448 2401006A */ li $at, 106 -/* 03704C 8003644C 02002025 */ move $a0, $s0 -/* 037050 80036450 00026C03 */ sra $t5, $v0, 0x10 -/* 037054 80036454 000D8880 */ sll $s1, $t5, 2 -/* 037058 80036458 022D8823 */ subu $s1, $s1, $t5 -/* 03705C 8003645C 00118880 */ sll $s1, $s1, 2 -/* 037060 80036460 022D8821 */ addu $s1, $s1, $t5 -/* 037064 80036464 263102B1 */ addiu $s1, $s1, 0x2b1 -/* 037068 80036468 0221001A */ div $zero, $s1, $at -/* 03706C 8003646C 0000C812 */ mflo $t9 -/* 037070 80036470 27310028 */ addiu $s1, $t9, 0x28 -/* 037074 80036474 00115C00 */ sll $t3, $s1, 0x10 -/* 037078 80036478 29A1FFD9 */ slti $at, $t5, -0x27 -/* 03707C 8003647C 10200008 */ beqz $at, .L800364A0 -/* 037080 80036480 000B8C03 */ sra $s1, $t3, 0x10 -/* 037084 80036484 3C122000 */ lui $s2, 0x2000 -/* 037088 80036488 00725025 */ or $t2, $v1, $s2 -/* 03708C 8003648C 29A1FFCF */ slti $at, $t5, -0x31 -/* 037090 80036490 10200003 */ beqz $at, .L800364A0 -/* 037094 80036494 AE0A00BC */ sw $t2, 0xbc($s0) -/* 037098 80036498 01527025 */ or $t6, $t2, $s2 -/* 03709C 8003649C AE0E00BC */ sw $t6, 0xbc($s0) -.L800364A0: -/* 0370A0 800364A0 3C122000 */ lui $s2, 0x2000 -/* 0370A4 800364A4 83A502F3 */ lb $a1, 0x2f3($sp) -/* 0370A8 800364A8 E7A202C4 */ swc1 $f2, 0x2c4($sp) -/* 0370AC 800364AC 0C00AA29 */ jal func_8002A8A4 -/* 0370B0 800364B0 E7AC02C0 */ swc1 $f12, 0x2c0($sp) -/* 0370B4 800364B4 1000001D */ b .L8003652C -/* 0370B8 800364B8 C7A202C4 */ lwc1 $f2, 0x2c4($sp) -/* 0370BC 800364BC 8E02007C */ lw $v0, 0x7c($s0) -.L800364C0: -/* 0370C0 800364C0 2401006A */ li $at, 106 -/* 0370C4 800364C4 3C122000 */ lui $s2, 0x2000 -/* 0370C8 800364C8 00027C03 */ sra $t7, $v0, 0x10 -/* 0370CC 800364CC 000F8880 */ sll $s1, $t7, 2 -/* 0370D0 800364D0 022F8823 */ subu $s1, $s1, $t7 -/* 0370D4 800364D4 00118880 */ sll $s1, $s1, 2 -/* 0370D8 800364D8 022F8821 */ addu $s1, $s1, $t7 -/* 0370DC 800364DC 263102B1 */ addiu $s1, $s1, 0x2b1 -/* 0370E0 800364E0 0221001A */ div $zero, $s1, $at -/* 0370E4 800364E4 00006812 */ mflo $t5 -/* 0370E8 800364E8 25B1FFCB */ addiu $s1, $t5, -0x35 -/* 0370EC 800364EC 0011CC00 */ sll $t9, $s1, 0x10 -/* 0370F0 800364F0 29E10028 */ slti $at, $t7, 0x28 -/* 0370F4 800364F4 14200007 */ bnez $at, .L80036514 -/* 0370F8 800364F8 00198C03 */ sra $s1, $t9, 0x10 -/* 0370FC 800364FC 00726025 */ or $t4, $v1, $s2 -/* 037100 80036500 29E1FFCF */ slti $at, $t7, -0x31 -/* 037104 80036504 10200003 */ beqz $at, .L80036514 -/* 037108 80036508 AE0C00BC */ sw $t4, 0xbc($s0) -/* 03710C 8003650C 0192C025 */ or $t8, $t4, $s2 -/* 037110 80036510 AE1800BC */ sw $t8, 0xbc($s0) -.L80036514: -/* 037114 80036514 3C122000 */ lui $s2, 0x2000 -/* 037118 80036518 83A502F3 */ lb $a1, 0x2f3($sp) -/* 03711C 8003651C E7A202C4 */ swc1 $f2, 0x2c4($sp) -/* 037120 80036520 0C00AA29 */ jal func_8002A8A4 -/* 037124 80036524 E7AC02C0 */ swc1 $f12, 0x2c0($sp) -/* 037128 80036528 C7A202C4 */ lwc1 $f2, 0x2c4($sp) -.L8003652C: -/* 03712C 8003652C 3C014190 */ li $at, 0x41900000 # 18.000000 -/* 037130 80036530 44813000 */ mtc1 $at, $f6 -/* 037134 80036534 C6080094 */ lwc1 $f8, 0x94($s0) -/* 037138 80036538 3C014358 */ li $at, 0x43580000 # 216.000000 -/* 03713C 8003653C 44812000 */ mtc1 $at, $f4 -/* 037140 80036540 46064283 */ div.s $f10, $f8, $f6 -/* 037144 80036544 44808000 */ mtc1 $zero, $f16 -/* 037148 80036548 3C014100 */ lui $at, 0x4100 -/* 03714C 8003654C 46045002 */ mul.s $f0, $f10, $f4 -/* 037150 80036550 4600803E */ c.le.s $f16, $f0 -/* 037154 80036554 00000000 */ nop -/* 037158 80036558 4502001D */ bc1fl .L800365D0 -/* 03715C 8003655C 3C014100 */ li $at, 0x41000000 # 8.000000 -/* 037160 80036560 44819000 */ mtc1 $at, $f18 -/* 037164 80036564 00000000 */ nop -/* 037168 80036568 4612003C */ c.lt.s $f0, $f18 -/* 03716C 8003656C 00000000 */ nop -/* 037170 80036570 45020017 */ bc1fl .L800365D0 -/* 037174 80036574 3C014100 */ lui $at, 0x4100 -/* 037178 80036578 C7AA02C0 */ lwc1 $f10, 0x2c0($sp) -/* 03717C 8003657C 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 037180 80036580 44814000 */ mtc1 $at, $f8 -/* 037184 80036584 460A1102 */ mul.s $f4, $f2, $f10 -/* 037188 80036588 44919000 */ mtc1 $s1, $f18 -/* 03718C 8003658C 46081180 */ add.s $f6, $f2, $f8 -/* 037190 80036590 3C014190 */ li $at, 0x41900000 # 18.000000 -/* 037194 80036594 46809220 */ cvt.s.w $f8, $f18 -/* 037198 80036598 44819000 */ mtc1 $at, $f18 -/* 03719C 8003659C 3C014358 */ li $at, 0x43580000 # 216.000000 -/* 0371A0 800365A0 46043400 */ add.s $f16, $f6, $f4 -/* 0371A4 800365A4 C6040094 */ lwc1 $f4, 0x94($s0) -/* 0371A8 800365A8 46104282 */ mul.s $f10, $f8, $f16 -/* 0371AC 800365AC 46122203 */ div.s $f8, $f4, $f18 -/* 0371B0 800365B0 44818000 */ mtc1 $at, $f16 -/* 0371B4 800365B4 4600518D */ trunc.w.s $f6, $f10 -/* 0371B8 800365B8 440F3000 */ mfc1 $t7, $f6 -/* 0371BC 800365BC 00000000 */ nop -/* 0371C0 800365C0 A60F0078 */ sh $t7, 0x78($s0) -/* 0371C4 800365C4 46104002 */ mul.s $f0, $f8, $f16 -/* 0371C8 800365C8 00000000 */ nop -/* 0371CC 800365CC 3C014100 */ li $at, 0x41000000 # 8.000000 -.L800365D0: -/* 0371D0 800365D0 44815000 */ mtc1 $at, $f10 -/* 0371D4 800365D4 3C014282 */ lui $at, 0x4282 -/* 0371D8 800365D8 4600503E */ c.le.s $f10, $f0 -/* 0371DC 800365DC 00000000 */ nop -/* 0371E0 800365E0 4502001D */ bc1fl .L80036658 -/* 0371E4 800365E4 3C014282 */ li $at, 0x42820000 # 65.000000 -/* 0371E8 800365E8 44813000 */ mtc1 $at, $f6 -/* 0371EC 800365EC 00000000 */ nop -/* 0371F0 800365F0 4606003C */ c.lt.s $f0, $f6 -/* 0371F4 800365F4 00000000 */ nop -/* 0371F8 800365F8 45020017 */ bc1fl .L80036658 -/* 0371FC 800365FC 3C014282 */ lui $at, 0x4282 -/* 037200 80036600 C7A802C0 */ lwc1 $f8, 0x2c0($sp) -/* 037204 80036604 3C014040 */ li $at, 0x40400000 # 3.000000 -/* 037208 80036608 44812000 */ mtc1 $at, $f4 -/* 03720C 8003660C 46081402 */ mul.s $f16, $f2, $f8 -/* 037210 80036610 44913000 */ mtc1 $s1, $f6 -/* 037214 80036614 46041480 */ add.s $f18, $f2, $f4 -/* 037218 80036618 3C014190 */ li $at, 0x41900000 # 18.000000 -/* 03721C 8003661C 46803120 */ cvt.s.w $f4, $f6 -/* 037220 80036620 44813000 */ mtc1 $at, $f6 -/* 037224 80036624 3C014358 */ li $at, 0x43580000 # 216.000000 -/* 037228 80036628 46109280 */ add.s $f10, $f18, $f16 -/* 03722C 8003662C C6100094 */ lwc1 $f16, 0x94($s0) -/* 037230 80036630 460A2202 */ mul.s $f8, $f4, $f10 -/* 037234 80036634 46068103 */ div.s $f4, $f16, $f6 -/* 037238 80036638 44815000 */ mtc1 $at, $f10 -/* 03723C 8003663C 4600448D */ trunc.w.s $f18, $f8 -/* 037240 80036640 44199000 */ mfc1 $t9, $f18 -/* 037244 80036644 00000000 */ nop -/* 037248 80036648 A6190078 */ sh $t9, 0x78($s0) -/* 03724C 8003664C 460A2002 */ mul.s $f0, $f4, $f10 -/* 037250 80036650 00000000 */ nop -/* 037254 80036654 3C014282 */ li $at, 0x42820000 # 65.000000 -.L80036658: -/* 037258 80036658 44814000 */ mtc1 $at, $f8 -/* 03725C 8003665C C7A402C0 */ lwc1 $f4, 0x2c0($sp) -/* 037260 80036660 4600403E */ c.le.s $f8, $f0 -/* 037264 80036664 00000000 */ nop -/* 037268 80036668 45020011 */ bc1fl .L800366B0 -/* 03726C 8003666C 8E0A00BC */ lw $t2, 0xbc($s0) -/* 037270 80036670 46041282 */ mul.s $f10, $f2, $f4 -/* 037274 80036674 3C01400C */ li $at, 0x400C0000 # 2.187500 -/* 037278 80036678 44818800 */ mtc1 $at, $f17 -/* 03727C 8003667C 44808000 */ mtc1 $zero, $f16 -/* 037280 80036680 460014A1 */ cvt.d.s $f18, $f2 -/* 037284 80036684 46309180 */ add.d $f6, $f18, $f16 -/* 037288 80036688 44918000 */ mtc1 $s1, $f16 -/* 03728C 8003668C 46005221 */ cvt.d.s $f8, $f10 -/* 037290 80036690 46808121 */ cvt.d.w $f4, $f16 -/* 037294 80036694 46283480 */ add.d $f18, $f6, $f8 -/* 037298 80036698 46322282 */ mul.d $f10, $f4, $f18 -/* 03729C 8003669C 4620518D */ trunc.w.d $f6, $f10 -/* 0372A0 800366A0 440C3000 */ mfc1 $t4, $f6 -/* 0372A4 800366A4 00000000 */ nop -/* 0372A8 800366A8 A60C0078 */ sh $t4, 0x78($s0) -/* 0372AC 800366AC 8E0A00BC */ lw $t2, 0xbc($s0) -.L800366B0: -/* 0372B0 800366B0 0152C024 */ and $t8, $t2, $s2 -/* 0372B4 800366B4 5658000D */ bnel $s2, $t8, .L800366EC -/* 0372B8 800366B8 86190078 */ lh $t9, 0x78($s0) -/* 0372BC 800366BC 860E0078 */ lh $t6, 0x78($s0) -/* 0372C0 800366C0 3C01800F */ lui $at, %hi(D_800EDD70) -/* 0372C4 800366C4 D424DD70 */ ldc1 $f4, %lo(D_800EDD70)($at) -/* 0372C8 800366C8 448E4000 */ mtc1 $t6, $f8 -/* 0372CC 800366CC 00000000 */ nop -/* 0372D0 800366D0 46804421 */ cvt.d.w $f16, $f8 -/* 0372D4 800366D4 46248482 */ mul.d $f18, $f16, $f4 -/* 0372D8 800366D8 4620928D */ trunc.w.d $f10, $f18 -/* 0372DC 800366DC 440D5000 */ mfc1 $t5, $f10 -/* 0372E0 800366E0 10000034 */ b .L800367B4 -/* 0372E4 800366E4 A60D0078 */ sh $t5, 0x78($s0) -/* 0372E8 800366E8 86190078 */ lh $t9, 0x78($s0) -.L800366EC: -/* 0372EC 800366EC 3C01800F */ lui $at, %hi(D_800EDD78) -/* 0372F0 800366F0 D430DD78 */ ldc1 $f16, %lo(D_800EDD78)($at) -/* 0372F4 800366F4 44993000 */ mtc1 $t9, $f6 -/* 0372F8 800366F8 00000000 */ nop -/* 0372FC 800366FC 46803221 */ cvt.d.w $f8, $f6 -/* 037300 80036700 46304102 */ mul.d $f4, $f8, $f16 -/* 037304 80036704 4620248D */ trunc.w.d $f18, $f4 -/* 037308 80036708 440C9000 */ mfc1 $t4, $f18 -/* 03730C 8003670C 10000029 */ b .L800367B4 -/* 037310 80036710 A60C0078 */ sh $t4, 0x78($s0) -/* 037314 80036714 8E11007C */ lw $s1, 0x7c($s0) -.L80036718: -/* 037318 80036718 8FAF02E0 */ lw $t7, 0x2e0($sp) -/* 03731C 8003671C 3C0140A0 */ li $at, 0x40A00000 # 5.000000 -/* 037320 80036720 00115403 */ sra $t2, $s1, 0x10 -/* 037324 80036724 000AC400 */ sll $t8, $t2, 0x10 -/* 037328 80036728 15E00002 */ bnez $t7, .L80036734 -/* 03732C 8003672C 00188C03 */ sra $s1, $t8, 0x10 -/* 037330 80036730 00008825 */ move $s1, $zero -.L80036734: -/* 037334 80036734 44815000 */ mtc1 $at, $f10 -/* 037338 80036738 3C014190 */ li $at, 0x41900000 # 18.000000 -/* 03733C 8003673C 44814000 */ mtc1 $at, $f8 -/* 037340 80036740 C6060094 */ lwc1 $f6, 0x94($s0) -/* 037344 80036744 3C014358 */ li $at, 0x43580000 # 216.000000 -/* 037348 80036748 44812000 */ mtc1 $at, $f4 -/* 03734C 8003674C 46083403 */ div.s $f16, $f6, $f8 -/* 037350 80036750 46048482 */ mul.s $f18, $f16, $f4 -/* 037354 80036754 460A903E */ c.le.s $f18, $f10 -/* 037358 80036758 00000000 */ nop -/* 03735C 8003675C 4502000C */ bc1fl .L80036790 -/* 037360 80036760 44913000 */ mtc1 $s1, $f6 -/* 037364 80036764 44913000 */ mtc1 $s1, $f6 -/* 037368 80036768 3C0140C0 */ li $at, 0x40C00000 # 6.000000 -/* 03736C 8003676C 44818000 */ mtc1 $at, $f16 -/* 037370 80036770 46803220 */ cvt.s.w $f8, $f6 -/* 037374 80036774 46101100 */ add.s $f4, $f2, $f16 -/* 037378 80036778 46044282 */ mul.s $f10, $f8, $f4 -/* 03737C 8003677C 4600548D */ trunc.w.s $f18, $f10 -/* 037380 80036780 44199000 */ mfc1 $t9, $f18 -/* 037384 80036784 1000000B */ b .L800367B4 -/* 037388 80036788 A6190078 */ sh $t9, 0x78($s0) -/* 03738C 8003678C 44913000 */ mtc1 $s1, $f6 -.L80036790: -/* 037390 80036790 3C013FC0 */ li $at, 0x3FC00000 # 1.500000 -/* 037394 80036794 44814000 */ mtc1 $at, $f8 -/* 037398 80036798 46803420 */ cvt.s.w $f16, $f6 -/* 03739C 8003679C 46081100 */ add.s $f4, $f2, $f8 -/* 0373A0 800367A0 46048282 */ mul.s $f10, $f16, $f4 -/* 0373A4 800367A4 4600548D */ trunc.w.s $f18, $f10 -/* 0373A8 800367A8 440C9000 */ mfc1 $t4, $f18 -/* 0373AC 800367AC 00000000 */ nop -/* 0373B0 800367B0 A60C0078 */ sh $t4, 0x78($s0) -.L800367B4: -/* 0373B4 800367B4 3C0A800E */ lui $t2, %hi(gModeSelection) # $t2, 0x800e -/* 0373B8 800367B8 8D4AC53C */ lw $t2, %lo(gModeSelection)($t2) -/* 0373BC 800367BC 24010003 */ li $at, 3 -/* 0373C0 800367C0 5541000D */ bnel $t2, $at, .L800367F8 -/* 0373C4 800367C4 8FBF0034 */ lw $ra, 0x34($sp) -/* 0373C8 800367C8 86180078 */ lh $t8, 0x78($s0) -/* 0373CC 800367CC 3C01800F */ lui $at, %hi(D_800EDD80) -/* 0373D0 800367D0 D430DD80 */ ldc1 $f16, %lo(D_800EDD80)($at) -/* 0373D4 800367D4 44983000 */ mtc1 $t8, $f6 -/* 0373D8 800367D8 00000000 */ nop -/* 0373DC 800367DC 46803221 */ cvt.d.w $f8, $f6 -/* 0373E0 800367E0 46304102 */ mul.d $f4, $f8, $f16 -/* 0373E4 800367E4 4620228D */ trunc.w.d $f10, $f4 -/* 0373E8 800367E8 440F5000 */ mfc1 $t7, $f10 -/* 0373EC 800367EC 00000000 */ nop -/* 0373F0 800367F0 A60F0078 */ sh $t7, 0x78($s0) -/* 0373F4 800367F4 8FBF0034 */ lw $ra, 0x34($sp) -.L800367F8: -/* 0373F8 800367F8 8FB00028 */ lw $s0, 0x28($sp) -/* 0373FC 800367FC 8FB1002C */ lw $s1, 0x2c($sp) -/* 037400 80036800 8FB20030 */ lw $s2, 0x30($sp) -/* 037404 80036804 03E00008 */ jr $ra -/* 037408 80036808 27BD02E8 */ addiu $sp, $sp, 0x2e8 diff --git a/asm/non_matchings/player_controller/func_800382DC.s b/asm/non_matchings/player_controller/func_800382DC.s deleted file mode 100644 index 96c0339d2..000000000 --- a/asm/non_matchings/player_controller/func_800382DC.s +++ /dev/null @@ -1,162 +0,0 @@ -glabel func_800382DC -/* 038EDC 800382DC 3C02800E */ lui $v0, %hi(gActiveScreenMode) # $v0, 0x800e -/* 038EE0 800382E0 8C42C52C */ lw $v0, %lo(gActiveScreenMode)($v0) -/* 038EE4 800382E4 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 038EE8 800382E8 AFBF0014 */ sw $ra, 0x14($sp) -/* 038EEC 800382EC 10400009 */ beqz $v0, .L80038314 -/* 038EF0 800382F0 24030001 */ li $v1, 1 -/* 038EF4 800382F4 10430062 */ beq $v0, $v1, .L80038480 -/* 038EF8 800382F8 24010002 */ li $at, 2 -/* 038EFC 800382FC 10410060 */ beq $v0, $at, .L80038480 -/* 038F00 80038300 24010003 */ li $at, 3 -/* 038F04 80038304 1041006C */ beq $v0, $at, .L800384B8 -/* 038F08 80038308 3C04800E */ lui $a0, %hi(gPlayerOne) # 0x800e -/* 038F0C 8003830C 10000086 */ b .L80038528 -/* 038F10 80038310 8FBF0014 */ lw $ra, 0x14($sp) -.L80038314: -/* 038F14 80038314 3C02800E */ lui $v0, %hi(gModeSelection) # $v0, 0x800e -/* 038F18 80038318 8C42C53C */ lw $v0, %lo(gModeSelection)($v0) -/* 038F1C 8003831C 3C04800E */ lui $a0, %hi(gPlayerOne) # $a0, 0x800e -/* 038F20 80038320 3C05800E */ lui $a1, %hi(gControllerOne) # $a1, 0x800e -/* 038F24 80038324 10400006 */ beqz $v0, .L80038340 -/* 038F28 80038328 00003025 */ move $a2, $zero -/* 038F2C 8003832C 24030001 */ li $v1, 1 -/* 038F30 80038330 10430008 */ beq $v0, $v1, .L80038354 -/* 038F34 80038334 3C0E8016 */ lui $t6, %hi(D_8015F890) # $t6, 0x8016 -/* 038F38 80038338 1000007B */ b .L80038528 -/* 038F3C 8003833C 8FBF0014 */ lw $ra, 0x14($sp) -.L80038340: -/* 038F40 80038340 8C84C4DC */ lw $a0, %lo(gPlayerOne)($a0) -/* 038F44 80038344 0C00E06B */ jal func_800381AC -/* 038F48 80038348 8CA5C4BC */ lw $a1, %lo(gControllerOne)($a1) -/* 038F4C 8003834C 10000076 */ b .L80038528 -/* 038F50 80038350 8FBF0014 */ lw $ra, 0x14($sp) -.L80038354: -/* 038F54 80038354 95CEF890 */ lhu $t6, %lo(D_8015F890)($t6) -/* 038F58 80038358 3C05800E */ lui $a1, %hi(gControllerOne) # $a1, 0x800e -/* 038F5C 8003835C 00003025 */ move $a2, $zero -/* 038F60 80038360 106E0021 */ beq $v1, $t6, .L800383E8 -/* 038F64 80038364 3C04800E */ lui $a0, %hi(gPlayerOne) # 0x800e -/* 038F68 80038368 3C04800E */ lui $a0, %hi(gPlayerOne) # $a0, 0x800e -/* 038F6C 8003836C 8C84C4DC */ lw $a0, %lo(gPlayerOne)($a0) -/* 038F70 80038370 0C00E06B */ jal func_800381AC -/* 038F74 80038374 8CA5C4BC */ lw $a1, %lo(gControllerOne)($a1) -/* 038F78 80038378 3C04800E */ lui $a0, %hi(gPlayerTwo) # $a0, 0x800e -/* 038F7C 8003837C 8C84C4E0 */ lw $a0, %lo(gPlayerTwo)($a0) -/* 038F80 80038380 24010100 */ li $at, 256 -/* 038F84 80038384 94820000 */ lhu $v0, ($a0) -/* 038F88 80038388 304F0100 */ andi $t7, $v0, 0x100 -/* 038F8C 8003838C 15E10007 */ bne $t7, $at, .L800383AC -/* 038F90 80038390 30580800 */ andi $t8, $v0, 0x800 -/* 038F94 80038394 24010800 */ li $at, 2048 -/* 038F98 80038398 13010004 */ beq $t8, $at, .L800383AC -/* 038F9C 8003839C 3C05800E */ lui $a1, %hi(gControllerSix) # $a1, 0x800e -/* 038FA0 800383A0 8CA5C4D0 */ lw $a1, %lo(gControllerSix)($a1) -/* 038FA4 800383A4 0C00E06B */ jal func_800381AC -/* 038FA8 800383A8 24060001 */ li $a2, 1 -.L800383AC: -/* 038FAC 800383AC 3C04800E */ lui $a0, %hi(gPlayerThree) # $a0, 0x800e -/* 038FB0 800383B0 8C84C4E4 */ lw $a0, %lo(gPlayerThree)($a0) -/* 038FB4 800383B4 24010100 */ li $at, 256 -/* 038FB8 800383B8 94820000 */ lhu $v0, ($a0) -/* 038FBC 800383BC 30590100 */ andi $t9, $v0, 0x100 -/* 038FC0 800383C0 17210058 */ bne $t9, $at, .L80038524 -/* 038FC4 800383C4 30480800 */ andi $t0, $v0, 0x800 -/* 038FC8 800383C8 24010800 */ li $at, 2048 -/* 038FCC 800383CC 11010055 */ beq $t0, $at, .L80038524 -/* 038FD0 800383D0 3C05800E */ lui $a1, %hi(gControllerSeven) # $a1, 0x800e -/* 038FD4 800383D4 8CA5C4D4 */ lw $a1, %lo(gControllerSeven)($a1) -/* 038FD8 800383D8 0C00E06B */ jal func_800381AC -/* 038FDC 800383DC 24060002 */ li $a2, 2 -/* 038FE0 800383E0 10000051 */ b .L80038528 -/* 038FE4 800383E4 8FBF0014 */ lw $ra, 0x14($sp) -.L800383E8: -/* 038FE8 800383E8 8C84C4DC */ lw $a0, %lo(gPlayerOne)($a0) # -0x3b24($a0) -/* 038FEC 800383EC 24010800 */ li $at, 2048 -/* 038FF0 800383F0 3C05800E */ lui $a1, %hi(gControllerEight) # $a1, 0x800e -/* 038FF4 800383F4 94890000 */ lhu $t1, ($a0) -/* 038FF8 800383F8 00003025 */ move $a2, $zero -/* 038FFC 800383FC 312A0800 */ andi $t2, $t1, 0x800 -/* 039000 80038400 11410003 */ beq $t2, $at, .L80038410 -/* 039004 80038404 00000000 */ nop -/* 039008 80038408 0C00E06B */ jal func_800381AC -/* 03900C 8003840C 8CA5C4D8 */ lw $a1, %lo(gControllerEight)($a1) -.L80038410: -/* 039010 80038410 3C04800E */ lui $a0, %hi(gPlayerTwo) # $a0, 0x800e -/* 039014 80038414 8C84C4E0 */ lw $a0, %lo(gPlayerTwo)($a0) -/* 039018 80038418 24010100 */ li $at, 256 -/* 03901C 8003841C 94820000 */ lhu $v0, ($a0) -/* 039020 80038420 304B0100 */ andi $t3, $v0, 0x100 -/* 039024 80038424 15610007 */ bne $t3, $at, .L80038444 -/* 039028 80038428 304C0800 */ andi $t4, $v0, 0x800 -/* 03902C 8003842C 24010800 */ li $at, 2048 -/* 039030 80038430 11810004 */ beq $t4, $at, .L80038444 -/* 039034 80038434 3C05800E */ lui $a1, %hi(gControllerSix) # $a1, 0x800e -/* 039038 80038438 8CA5C4D0 */ lw $a1, %lo(gControllerSix)($a1) -/* 03903C 8003843C 0C00E06B */ jal func_800381AC -/* 039040 80038440 24060001 */ li $a2, 1 -.L80038444: -/* 039044 80038444 3C04800E */ lui $a0, %hi(gPlayerThree) # $a0, 0x800e -/* 039048 80038448 8C84C4E4 */ lw $a0, %lo(gPlayerThree)($a0) -/* 03904C 8003844C 24010100 */ li $at, 256 -/* 039050 80038450 94820000 */ lhu $v0, ($a0) -/* 039054 80038454 304D0100 */ andi $t5, $v0, 0x100 -/* 039058 80038458 15A10032 */ bne $t5, $at, .L80038524 -/* 03905C 8003845C 304E0800 */ andi $t6, $v0, 0x800 -/* 039060 80038460 24010800 */ li $at, 2048 -/* 039064 80038464 11C1002F */ beq $t6, $at, .L80038524 -/* 039068 80038468 3C05800E */ lui $a1, %hi(gControllerSeven) # $a1, 0x800e -/* 03906C 8003846C 8CA5C4D4 */ lw $a1, %lo(gControllerSeven)($a1) -/* 039070 80038470 0C00E06B */ jal func_800381AC -/* 039074 80038474 24060002 */ li $a2, 2 -/* 039078 80038478 1000002B */ b .L80038528 -/* 03907C 8003847C 8FBF0014 */ lw $ra, 0x14($sp) -.L80038480: -/* 039080 80038480 3C04800E */ lui $a0, %hi(gPlayerOne) # $a0, 0x800e -/* 039084 80038484 3C05800E */ lui $a1, %hi(gControllerOne) # $a1, 0x800e -/* 039088 80038488 8CA5C4BC */ lw $a1, %lo(gControllerOne)($a1) -/* 03908C 8003848C 8C84C4DC */ lw $a0, %lo(gPlayerOne)($a0) -/* 039090 80038490 0C00E06B */ jal func_800381AC -/* 039094 80038494 00003025 */ move $a2, $zero -/* 039098 80038498 3C04800E */ lui $a0, %hi(gPlayerTwo) # $a0, 0x800e -/* 03909C 8003849C 3C05800E */ lui $a1, %hi(gControllerTwo) # $a1, 0x800e -/* 0390A0 800384A0 8CA5C4C0 */ lw $a1, %lo(gControllerTwo)($a1) -/* 0390A4 800384A4 8C84C4E0 */ lw $a0, %lo(gPlayerTwo)($a0) -/* 0390A8 800384A8 0C00E06B */ jal func_800381AC -/* 0390AC 800384AC 24060001 */ li $a2, 1 -/* 0390B0 800384B0 1000001D */ b .L80038528 -/* 0390B4 800384B4 8FBF0014 */ lw $ra, 0x14($sp) -.L800384B8: -/* 0390B8 800384B8 3C05800E */ lui $a1, %hi(gControllerOne) # $a1, 0x800e -/* 0390BC 800384BC 8CA5C4BC */ lw $a1, %lo(gControllerOne)($a1) -/* 0390C0 800384C0 8C84C4DC */ lw $a0, %lo(gPlayerOne)($a0) # -0x3b24($a0) -/* 0390C4 800384C4 0C00E06B */ jal func_800381AC -/* 0390C8 800384C8 00003025 */ move $a2, $zero -/* 0390CC 800384CC 3C04800E */ lui $a0, %hi(gPlayerTwo) # $a0, 0x800e -/* 0390D0 800384D0 3C05800E */ lui $a1, %hi(gControllerTwo) # $a1, 0x800e -/* 0390D4 800384D4 8CA5C4C0 */ lw $a1, %lo(gControllerTwo)($a1) -/* 0390D8 800384D8 8C84C4E0 */ lw $a0, %lo(gPlayerTwo)($a0) -/* 0390DC 800384DC 0C00E06B */ jal func_800381AC -/* 0390E0 800384E0 24060001 */ li $a2, 1 -/* 0390E4 800384E4 3C04800E */ lui $a0, %hi(gPlayerThree) # $a0, 0x800e -/* 0390E8 800384E8 3C05800E */ lui $a1, %hi(gControllerThree) # $a1, 0x800e -/* 0390EC 800384EC 8CA5C4C4 */ lw $a1, %lo(gControllerThree)($a1) -/* 0390F0 800384F0 8C84C4E4 */ lw $a0, %lo(gPlayerThree)($a0) -/* 0390F4 800384F4 0C00E06B */ jal func_800381AC -/* 0390F8 800384F8 24060002 */ li $a2, 2 -/* 0390FC 800384FC 3C0F800E */ lui $t7, %hi(gPlayerCountSelection1) # $t7, 0x800e -/* 039100 80038500 8DEFC538 */ lw $t7, %lo(gPlayerCountSelection1)($t7) -/* 039104 80038504 24010004 */ li $at, 4 -/* 039108 80038508 3C04800E */ lui $a0, %hi(gPlayerFour) # $a0, 0x800e -/* 03910C 8003850C 15E10005 */ bne $t7, $at, .L80038524 -/* 039110 80038510 3C05800E */ lui $a1, %hi(gControllerFour) # $a1, 0x800e -/* 039114 80038514 8C84C4E8 */ lw $a0, %lo(gPlayerFour)($a0) -/* 039118 80038518 8CA5C4C8 */ lw $a1, %lo(gControllerFour)($a1) -/* 03911C 8003851C 0C00E06B */ jal func_800381AC -/* 039120 80038520 24060003 */ li $a2, 3 -.L80038524: -/* 039124 80038524 8FBF0014 */ lw $ra, 0x14($sp) -.L80038528: -/* 039128 80038528 27BD0018 */ addiu $sp, $sp, 0x18 -/* 03912C 8003852C 03E00008 */ jr $ra -/* 039130 80038530 00000000 */ nop diff --git a/asm/non_matchings/player_controller/func_80038C6C.s b/asm/non_matchings/player_controller/func_80038C6C.s deleted file mode 100644 index 185bc111d..000000000 --- a/asm/non_matchings/player_controller/func_80038C6C.s +++ /dev/null @@ -1,507 +0,0 @@ -.section .data - -glabel D_800E4328 -.float 0.0, 0.0, 1.0 - -glabel D_800E4334 -.float 0.0, 0.0, 0.0 - -glabel D_800E4340 -.float 0.0, 0.0, 0.0 - -glabel D_800E434C -.float 0.0, 0.0, 0.0 - -.section .late_rodata - -glabel D_800EDE00 -.double 0.12 - -glabel D_800EDE08 -.double 6000.0 - -glabel D_800EDE10 -.double 0.02 - -.section .text - -glabel func_80038C6C -/* 03986C 80038C6C 27BDFEE0 */ addiu $sp, $sp, -0x120 -/* 039870 80038C70 3C0F800E */ lui $t7, %hi(D_800E4328) # $t7, 0x800e -/* 039874 80038C74 AFBF0034 */ sw $ra, 0x34($sp) -/* 039878 80038C78 AFB00030 */ sw $s0, 0x30($sp) -/* 03987C 80038C7C F7B40028 */ sdc1 $f20, 0x28($sp) -/* 039880 80038C80 AFA50124 */ sw $a1, 0x124($sp) -/* 039884 80038C84 AFA60128 */ sw $a2, 0x128($sp) -/* 039888 80038C88 AFA7012C */ sw $a3, 0x12c($sp) -/* 03988C 80038C8C 25EF4328 */ addiu $t7, %lo(D_800E4328) # addiu $t7, $t7, 0x4328 -/* 039890 80038C90 8DE10000 */ lw $at, ($t7) -/* 039894 80038C94 27AE0114 */ addiu $t6, $sp, 0x114 -/* 039898 80038C98 8DE80004 */ lw $t0, 4($t7) -/* 03989C 80038C9C ADC10000 */ sw $at, ($t6) -/* 0398A0 80038CA0 8DE10008 */ lw $at, 8($t7) -/* 0398A4 80038CA4 3C0A800E */ lui $t2, %hi(D_800E4334) # $t2, 0x800e -/* 0398A8 80038CA8 254A4334 */ addiu $t2, %lo(D_800E4334) # addiu $t2, $t2, 0x4334 -/* 0398AC 80038CAC ADC80004 */ sw $t0, 4($t6) -/* 0398B0 80038CB0 ADC10008 */ sw $at, 8($t6) -/* 0398B4 80038CB4 8D410000 */ lw $at, ($t2) -/* 0398B8 80038CB8 27A90108 */ addiu $t1, $sp, 0x108 -/* 0398BC 80038CBC 8D4D0004 */ lw $t5, 4($t2) -/* 0398C0 80038CC0 AD210000 */ sw $at, ($t1) -/* 0398C4 80038CC4 8D410008 */ lw $at, 8($t2) -/* 0398C8 80038CC8 3C18800E */ lui $t8, %hi(D_800E4340) # $t8, 0x800e -/* 0398CC 80038CCC 27184340 */ addiu $t8, %lo(D_800E4340) # addiu $t8, $t8, 0x4340 -/* 0398D0 80038CD0 AD2D0004 */ sw $t5, 4($t1) -/* 0398D4 80038CD4 AD210008 */ sw $at, 8($t1) -/* 0398D8 80038CD8 8F010000 */ lw $at, ($t8) -/* 0398DC 80038CDC 27B900FC */ addiu $t9, $sp, 0xfc -/* 0398E0 80038CE0 8F080004 */ lw $t0, 4($t8) -/* 0398E4 80038CE4 AF210000 */ sw $at, ($t9) -/* 0398E8 80038CE8 8F010008 */ lw $at, 8($t8) -/* 0398EC 80038CEC 3C0B800E */ lui $t3, %hi(D_800E434C) # $t3, 0x800e -/* 0398F0 80038CF0 256B434C */ addiu $t3, %lo(D_800E434C) # addiu $t3, $t3, 0x434c -/* 0398F4 80038CF4 AF280004 */ sw $t0, 4($t9) -/* 0398F8 80038CF8 AF210008 */ sw $at, 8($t9) -/* 0398FC 80038CFC 8D610000 */ lw $at, ($t3) -/* 039900 80038D00 27AC00F0 */ addiu $t4, $sp, 0xf0 -/* 039904 80038D04 8D6D0004 */ lw $t5, 4($t3) -/* 039908 80038D08 AD810000 */ sw $at, ($t4) -/* 03990C 80038D0C 8D610008 */ lw $at, 8($t3) -/* 039910 80038D10 AD8D0004 */ sw $t5, 4($t4) -/* 039914 80038D14 00808025 */ move $s0, $a0 -/* 039918 80038D18 AD810008 */ sw $at, 8($t4) -/* 03991C 80038D1C 3C01C120 */ li $at, 0xC1200000 # -10.000000 -/* 039920 80038D20 44812000 */ mtc1 $at, $f4 -/* 039924 80038D24 3C0141E0 */ li $at, 0x41E00000 # 28.000000 -/* 039928 80038D28 44813000 */ mtc1 $at, $f6 -/* 03992C 80038D2C 3C01437A */ li $at, 0x437A0000 # 250.000000 -/* 039930 80038D30 44814000 */ mtc1 $at, $f8 -/* 039934 80038D34 E4840084 */ swc1 $f4, 0x84($a0) -/* 039938 80038D38 E4860088 */ swc1 $f6, 0x88($a0) -/* 03993C 80038D3C E4880214 */ swc1 $f8, 0x214($a0) -/* 039940 80038D40 83A6012B */ lb $a2, 0x12b($sp) -/* 039944 80038D44 0C00AE0C */ jal func_8002B830 -/* 039948 80038D48 83A5012F */ lb $a1, 0x12f($sp) -/* 03994C 80038D4C 02002025 */ move $a0, $s0 -/* 039950 80038D50 83A5012F */ lb $a1, 0x12f($sp) -/* 039954 80038D54 0C00B352 */ jal func_8002CD48 -/* 039958 80038D58 83A6012B */ lb $a2, 0x12b($sp) -/* 03995C 80038D5C 860F002E */ lh $t7, 0x2e($s0) -/* 039960 80038D60 860E0078 */ lh $t6, 0x78($s0) -/* 039964 80038D64 4480A000 */ mtc1 $zero, $f20 -/* 039968 80038D68 02002025 */ move $a0, $s0 -/* 03996C 80038D6C 01EEC821 */ addu $t9, $t7, $t6 -/* 039970 80038D70 A619002E */ sh $t9, 0x2e($s0) -/* 039974 80038D74 E7B400F0 */ swc1 $f20, 0xf0($sp) -/* 039978 80038D78 E7B400F4 */ swc1 $f20, 0xf4($sp) -/* 03997C 80038D7C 0C00AADC */ jal func_8002AB70 -/* 039980 80038D80 E7B400F8 */ swc1 $f20, 0xf8($sp) -/* 039984 80038D84 C7AA00FC */ lwc1 $f10, 0xfc($sp) -/* 039988 80038D88 C6040064 */ lwc1 $f4, 0x64($s0) -/* 03998C 80038D8C 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -/* 039990 80038D90 26050174 */ addiu $a1, $s0, 0x174 -/* 039994 80038D94 46045180 */ add.s $f6, $f10, $f4 -/* 039998 80038D98 44812000 */ mtc1 $at, $f4 -/* 03999C 80038D9C 27A40108 */ addiu $a0, $sp, 0x108 -/* 0399A0 80038DA0 46143202 */ mul.s $f8, $f6, $f20 -/* 0399A4 80038DA4 E7A800A4 */ swc1 $f8, 0xa4($sp) -/* 0399A8 80038DA8 C60A0100 */ lwc1 $f10, 0x100($s0) -/* 0399AC 80038DAC C7A80104 */ lwc1 $f8, 0x104($sp) -/* 0399B0 80038DB0 46045182 */ mul.s $f6, $f10, $f4 -/* 0399B4 80038DB4 E7A600A0 */ swc1 $f6, 0xa0($sp) -/* 0399B8 80038DB8 C60A006C */ lwc1 $f10, 0x6c($s0) -/* 0399BC 80038DBC E7B40110 */ swc1 $f20, 0x110($sp) -/* 0399C0 80038DC0 E7B4010C */ swc1 $f20, 0x10c($sp) -/* 0399C4 80038DC4 460A4100 */ add.s $f4, $f8, $f10 -/* 0399C8 80038DC8 E7B40108 */ swc1 $f20, 0x108($sp) -/* 0399CC 80038DCC AFA50050 */ sw $a1, 0x50($sp) -/* 0399D0 80038DD0 46142182 */ mul.s $f6, $f4, $f20 -/* 0399D4 80038DD4 0C0AD8EE */ jal func_802B63B8 -/* 0399D8 80038DD8 E7A6009C */ swc1 $f6, 0x9c($sp) -/* 0399DC 80038DDC C7A800A4 */ lwc1 $f8, 0xa4($sp) -/* 0399E0 80038DE0 C7AA0108 */ lwc1 $f10, 0x108($sp) -/* 0399E4 80038DE4 C7A6009C */ lwc1 $f6, 0x9c($sp) -/* 0399E8 80038DE8 27A40114 */ addiu $a0, $sp, 0x114 -/* 0399EC 80038DEC 460A4100 */ add.s $f4, $f8, $f10 -/* 0399F0 80038DF0 C7A80110 */ lwc1 $f8, 0x110($sp) -/* 0399F4 80038DF4 8FA50050 */ lw $a1, 0x50($sp) -/* 0399F8 80038DF8 46083280 */ add.s $f10, $f6, $f8 -/* 0399FC 80038DFC E7A400A4 */ swc1 $f4, 0xa4($sp) -/* 039A00 80038E00 E7AA009C */ swc1 $f10, 0x9c($sp) -/* 039A04 80038E04 C604008C */ lwc1 $f4, 0x8c($s0) -/* 039A08 80038E08 0C0AD8EE */ jal func_802B63B8 -/* 039A0C 80038E0C E7A4011C */ swc1 $f4, 0x11c($sp) -/* 039A10 80038E10 C6060034 */ lwc1 $f6, 0x34($s0) -/* 039A14 80038E14 3C01800F */ lui $at, %hi(D_800EDE00) -/* 039A18 80038E18 D42EDE00 */ ldc1 $f14, %lo(D_800EDE00)($at) -/* 039A1C 80038E1C E7A60088 */ swc1 $f6, 0x88($sp) -/* 039A20 80038E20 C6080038 */ lwc1 $f8, 0x38($s0) -/* 039A24 80038E24 C7A40088 */ lwc1 $f4, 0x88($sp) -/* 039A28 80038E28 C7A60114 */ lwc1 $f6, 0x114($sp) -/* 039A2C 80038E2C E7A8008C */ swc1 $f8, 0x8c($sp) -/* 039A30 80038E30 C60A003C */ lwc1 $f10, 0x3c($s0) -/* 039A34 80038E34 C7A800A4 */ lwc1 $f8, 0xa4($sp) -/* 039A38 80038E38 46002021 */ cvt.d.s $f0, $f4 -/* 039A3C 80038E3C E7AA0090 */ swc1 $f10, 0x90($sp) -/* 039A40 80038E40 46083280 */ add.s $f10, $f6, $f8 -/* 039A44 80038E44 C7A400F0 */ lwc1 $f4, 0xf0($sp) -/* 039A48 80038E48 3C01800F */ lui $at, %hi(D_800EDE08) -/* 039A4C 80038E4C D430DE08 */ ldc1 $f16, %lo(D_800EDE08)($at) -/* 039A50 80038E50 46045180 */ add.s $f6, $f10, $f4 -/* 039A54 80038E54 C60A00FC */ lwc1 $f10, 0xfc($s0) -/* 039A58 80038E58 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 -/* 039A5C 80038E5C 44819800 */ mtc1 $at, $f19 -/* 039A60 80038E60 46005121 */ cvt.d.s $f4, $f10 -/* 039A64 80038E64 46003221 */ cvt.d.s $f8, $f6 -/* 039A68 80038E68 46247182 */ mul.d $f6, $f14, $f4 -/* 039A6C 80038E6C 44809000 */ mtc1 $zero, $f18 -/* 039A70 80038E70 24010010 */ li $at, 16 -/* 039A74 80038E74 46260282 */ mul.d $f10, $f0, $f6 -/* 039A78 80038E78 462A4101 */ sub.d $f4, $f8, $f10 -/* 039A7C 80038E7C 46302183 */ div.d $f6, $f4, $f16 -/* 039A80 80038E80 46323203 */ div.d $f8, $f6, $f18 -/* 039A84 80038E84 C7A60090 */ lwc1 $f6, 0x90($sp) -/* 039A88 80038E88 460030A1 */ cvt.d.s $f2, $f6 -/* 039A8C 80038E8C C7A600F8 */ lwc1 $f6, 0xf8($sp) -/* 039A90 80038E90 46280280 */ add.d $f10, $f0, $f8 -/* 039A94 80038E94 C7A8011C */ lwc1 $f8, 0x11c($sp) -/* 039A98 80038E98 46205120 */ cvt.s.d $f4, $f10 -/* 039A9C 80038E9C C7AA009C */ lwc1 $f10, 0x9c($sp) -/* 039AA0 80038EA0 E7A40088 */ swc1 $f4, 0x88($sp) -/* 039AA4 80038EA4 460A4100 */ add.s $f4, $f8, $f10 -/* 039AA8 80038EA8 46062200 */ add.s $f8, $f4, $f6 -/* 039AAC 80038EAC C60400FC */ lwc1 $f4, 0xfc($s0) -/* 039AB0 80038EB0 460021A1 */ cvt.d.s $f6, $f4 -/* 039AB4 80038EB4 460042A1 */ cvt.d.s $f10, $f8 -/* 039AB8 80038EB8 46267202 */ mul.d $f8, $f14, $f6 -/* 039ABC 80038EBC 00000000 */ nop -/* 039AC0 80038EC0 46281102 */ mul.d $f4, $f2, $f8 -/* 039AC4 80038EC4 46245181 */ sub.d $f6, $f10, $f4 -/* 039AC8 80038EC8 46303203 */ div.d $f8, $f6, $f16 -/* 039ACC 80038ECC 46324283 */ div.d $f10, $f8, $f18 -/* 039AD0 80038ED0 C7A8008C */ lwc1 $f8, 0x8c($sp) -/* 039AD4 80038ED4 46004321 */ cvt.d.s $f12, $f8 -/* 039AD8 80038ED8 C7A800F4 */ lwc1 $f8, 0xf4($sp) -/* 039ADC 80038EDC 462A1100 */ add.d $f4, $f2, $f10 -/* 039AE0 80038EE0 C7AA0118 */ lwc1 $f10, 0x118($sp) -/* 039AE4 80038EE4 462021A0 */ cvt.s.d $f6, $f4 -/* 039AE8 80038EE8 C7A400A0 */ lwc1 $f4, 0xa0($sp) -/* 039AEC 80038EEC E7A60090 */ swc1 $f6, 0x90($sp) -/* 039AF0 80038EF0 46045180 */ add.s $f6, $f10, $f4 -/* 039AF4 80038EF4 46083280 */ add.s $f10, $f6, $f8 -/* 039AF8 80038EF8 C60600FC */ lwc1 $f6, 0xfc($s0) -/* 039AFC 80038EFC 46003221 */ cvt.d.s $f8, $f6 -/* 039B00 80038F00 46005121 */ cvt.d.s $f4, $f10 -/* 039B04 80038F04 46287282 */ mul.d $f10, $f14, $f8 -/* 039B08 80038F08 00000000 */ nop -/* 039B0C 80038F0C 462A6182 */ mul.d $f6, $f12, $f10 -/* 039B10 80038F10 46262201 */ sub.d $f8, $f4, $f6 -/* 039B14 80038F14 46304283 */ div.d $f10, $f8, $f16 -/* 039B18 80038F18 46325103 */ div.d $f4, $f10, $f18 -/* 039B1C 80038F1C 46246180 */ add.d $f6, $f12, $f4 -/* 039B20 80038F20 46203220 */ cvt.s.d $f8, $f6 -/* 039B24 80038F24 E7A8008C */ swc1 $f8, 0x8c($sp) -/* 039B28 80038F28 86020044 */ lh $v0, 0x44($s0) -/* 039B2C 80038F2C 30580010 */ andi $t8, $v0, 0x10 -/* 039B30 80038F30 17010003 */ bne $t8, $at, .L80038F40 -/* 039B34 80038F34 00000000 */ nop -/* 039B38 80038F38 3048FFEF */ andi $t0, $v0, 0xffef -/* 039B3C 80038F3C A6080044 */ sh $t0, 0x44($s0) -.L80038F40: -/* 039B40 80038F40 C6000014 */ lwc1 $f0, 0x14($s0) -/* 039B44 80038F44 02002025 */ move $a0, $s0 -/* 039B48 80038F48 E7A000E0 */ swc1 $f0, 0xe0($sp) -/* 039B4C 80038F4C C60A0034 */ lwc1 $f10, 0x34($s0) -/* 039B50 80038F50 C6020018 */ lwc1 $f2, 0x18($s0) -/* 039B54 80038F54 C610001C */ lwc1 $f16, 0x1c($s0) -/* 039B58 80038F58 46005100 */ add.s $f4, $f10, $f0 -/* 039B5C 80038F5C E6000020 */ swc1 $f0, 0x20($s0) -/* 039B60 80038F60 E6020024 */ swc1 $f2, 0x24($s0) -/* 039B64 80038F64 E6100028 */ swc1 $f16, 0x28($s0) -/* 039B68 80038F68 E7A400EC */ swc1 $f4, 0xec($sp) -/* 039B6C 80038F6C C6060038 */ lwc1 $f6, 0x38($s0) -/* 039B70 80038F70 46023200 */ add.s $f8, $f6, $f2 -/* 039B74 80038F74 E7A800E8 */ swc1 $f8, 0xe8($sp) -/* 039B78 80038F78 C60A003C */ lwc1 $f10, 0x3c($s0) -/* 039B7C 80038F7C E7B000D8 */ swc1 $f16, 0xd8($sp) -/* 039B80 80038F80 46105100 */ add.s $f4, $f10, $f16 -/* 039B84 80038F84 0C00AAB0 */ jal func_8002AAC0 -/* 039B88 80038F88 E7A400E4 */ swc1 $f4, 0xe4($sp) -/* 039B8C 80038F8C C7A600E8 */ lwc1 $f6, 0xe8($sp) -/* 039B90 80038F90 C60800EC */ lwc1 $f8, 0xec($s0) -/* 039B94 80038F94 3C01800F */ lui $at, %hi(D_800EDE10) -/* 039B98 80038F98 26040110 */ addiu $a0, $s0, 0x110 -/* 039B9C 80038F9C 46083280 */ add.s $f10, $f6, $f8 -/* 039BA0 80038FA0 D426DE10 */ ldc1 $f6, %lo(D_800EDE10)($at) -/* 039BA4 80038FA4 8FA600EC */ lw $a2, 0xec($sp) -/* 039BA8 80038FA8 46005121 */ cvt.d.s $f4, $f10 -/* 039BAC 80038FAC E7AA00E8 */ swc1 $f10, 0xe8($sp) -/* 039BB0 80038FB0 46262201 */ sub.d $f8, $f4, $f6 -/* 039BB4 80038FB4 C7A400E4 */ lwc1 $f4, 0xe4($sp) -/* 039BB8 80038FB8 462042A0 */ cvt.s.d $f10, $f8 -/* 039BBC 80038FBC E7AA00E8 */ swc1 $f10, 0xe8($sp) -/* 039BC0 80038FC0 8E050070 */ lw $a1, 0x70($s0) -/* 039BC4 80038FC4 E7A40010 */ swc1 $f4, 0x10($sp) -/* 039BC8 80038FC8 C6060020 */ lwc1 $f6, 0x20($s0) -/* 039BCC 80038FCC 44075000 */ mfc1 $a3, $f10 -/* 039BD0 80038FD0 E7A60014 */ swc1 $f6, 0x14($sp) -/* 039BD4 80038FD4 C6080024 */ lwc1 $f8, 0x24($s0) -/* 039BD8 80038FD8 E7A80018 */ swc1 $f8, 0x18($sp) -/* 039BDC 80038FDC C60A0028 */ lwc1 $f10, 0x28($s0) -/* 039BE0 80038FE0 0C0AB654 */ jal func_802AD950 -/* 039BE4 80038FE4 E7AA001C */ swc1 $f10, 0x1c($sp) -/* 039BE8 80038FE8 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 039BEC 80038FEC 44810000 */ mtc1 $at, $f0 -/* 039BF0 80038FF0 860A002E */ lh $t2, 0x2e($s0) -/* 039BF4 80038FF4 E6140058 */ swc1 $f20, 0x58($s0) -/* 039BF8 80038FF8 E6140060 */ swc1 $f20, 0x60($s0) -/* 039BFC 80038FFC 4405A000 */ mfc1 $a1, $f20 -/* 039C00 80039000 4407A000 */ mfc1 $a3, $f20 -/* 039C04 80039004 E600005C */ swc1 $f0, 0x5c($s0) -/* 039C08 80039008 44060000 */ mfc1 $a2, $f0 -/* 039C0C 8003900C 8FA40050 */ lw $a0, 0x50($sp) -/* 039C10 80039010 0C0AD950 */ jal func_802B6540 -/* 039C14 80039014 AFAA0010 */ sw $t2, 0x10($sp) -/* 039C18 80039018 8E0900BC */ lw $t1, 0xbc($s0) -/* 039C1C 8003901C 860B00C2 */ lh $t3, 0xc2($s0) -/* 039C20 80039020 C6040124 */ lwc1 $f4, 0x124($s0) -/* 039C24 80039024 352C0008 */ ori $t4, $t1, 8 -/* 039C28 80039028 256D0001 */ addiu $t5, $t3, 1 -/* 039C2C 8003902C AE0C00BC */ sw $t4, 0xbc($s0) -/* 039C30 80039030 A60D00C2 */ sh $t5, 0xc2($s0) -/* 039C34 80039034 E7A40098 */ swc1 $f4, 0x98($sp) -/* 039C38 80039038 C7A60098 */ lwc1 $f6, 0x98($sp) -/* 039C3C 8003903C 4614303E */ c.le.s $f6, $f20 -/* 039C40 80039040 00000000 */ nop -/* 039C44 80039044 4502000E */ bc1fl .L80039080 -/* 039C48 80039048 C6040124 */ lwc1 $f4, 0x124($s0) -/* 039C4C 8003904C A60000C2 */ sh $zero, 0xc2($s0) -/* 039C50 80039050 860800C2 */ lh $t0, 0xc2($s0) -/* 039C54 80039054 8E0F00BC */ lw $t7, 0xbc($s0) -/* 039C58 80039058 2401FFFD */ li $at, -3 -/* 039C5C 8003905C 44884000 */ mtc1 $t0, $f8 -/* 039C60 80039060 01E17024 */ and $t6, $t7, $at -/* 039C64 80039064 2401FFF7 */ li $at, -9 -/* 039C68 80039068 468042A0 */ cvt.s.w $f10, $f8 -/* 039C6C 8003906C AE0E00BC */ sw $t6, 0xbc($s0) -/* 039C70 80039070 01C1C024 */ and $t8, $t6, $at -/* 039C74 80039074 AE1800BC */ sw $t8, 0xbc($s0) -/* 039C78 80039078 E60A00EC */ swc1 $f10, 0xec($s0) -/* 039C7C 8003907C C6040124 */ lwc1 $f4, 0x124($s0) -.L80039080: -/* 039C80 80039080 E7A40098 */ swc1 $f4, 0x98($sp) -/* 039C84 80039084 C7A60098 */ lwc1 $f6, 0x98($sp) -/* 039C88 80039088 4614303E */ c.le.s $f6, $f20 -/* 039C8C 8003908C 00000000 */ nop -/* 039C90 80039090 4500000D */ bc1f .L800390C8 -/* 039C94 80039094 27AA0098 */ addiu $t2, $sp, 0x98 -/* 039C98 80039098 27A900EC */ addiu $t1, $sp, 0xec -/* 039C9C 8003909C 27AC00E8 */ addiu $t4, $sp, 0xe8 -/* 039CA0 800390A0 27AB00E4 */ addiu $t3, $sp, 0xe4 -/* 039CA4 800390A4 AFAB001C */ sw $t3, 0x1c($sp) -/* 039CA8 800390A8 AFAC0018 */ sw $t4, 0x18($sp) -/* 039CAC 800390AC AFA90014 */ sw $t1, 0x14($sp) -/* 039CB0 800390B0 AFAA0010 */ sw $t2, 0x10($sp) -/* 039CB4 800390B4 02002025 */ move $a0, $s0 -/* 039CB8 800390B8 27A5007C */ addiu $a1, $sp, 0x7c -/* 039CBC 800390BC 27A60088 */ addiu $a2, $sp, 0x88 -/* 039CC0 800390C0 0C00FD1B */ jal func_8003F46C -/* 039CC4 800390C4 27A70108 */ addiu $a3, $sp, 0x108 -.L800390C8: -/* 039CC8 800390C8 C608011C */ lwc1 $f8, 0x11c($s0) -/* 039CCC 800390CC E7A80098 */ swc1 $f8, 0x98($sp) -/* 039CD0 800390D0 C7AA0098 */ lwc1 $f10, 0x98($sp) -/* 039CD4 800390D4 4614503C */ c.lt.s $f10, $f20 -/* 039CD8 800390D8 00000000 */ nop -/* 039CDC 800390DC 4500000F */ bc1f .L8003911C -/* 039CE0 800390E0 27AD00EC */ addiu $t5, $sp, 0xec -/* 039CE4 800390E4 27AF00E8 */ addiu $t7, $sp, 0xe8 -/* 039CE8 800390E8 27AE00E4 */ addiu $t6, $sp, 0xe4 -/* 039CEC 800390EC AFAE0018 */ sw $t6, 0x18($sp) -/* 039CF0 800390F0 AFAF0014 */ sw $t7, 0x14($sp) -/* 039CF4 800390F4 AFAD0010 */ sw $t5, 0x10($sp) -/* 039CF8 800390F8 02002025 */ move $a0, $s0 -/* 039CFC 800390FC 27A5007C */ addiu $a1, $sp, 0x7c -/* 039D00 80039100 27A60088 */ addiu $a2, $sp, 0x88 -/* 039D04 80039104 0C00FDCD */ jal func_8003F734 -/* 039D08 80039108 27A70098 */ addiu $a3, $sp, 0x98 -/* 039D0C 8003910C 02002025 */ move $a0, $s0 -/* 039D10 80039110 83A5012F */ lb $a1, 0x12f($sp) -/* 039D14 80039114 0C00B255 */ jal func_8002C954 -/* 039D18 80039118 27A60088 */ addiu $a2, $sp, 0x88 -.L8003911C: -/* 039D1C 8003911C C6040120 */ lwc1 $f4, 0x120($s0) -/* 039D20 80039120 02002025 */ move $a0, $s0 -/* 039D24 80039124 27A5007C */ addiu $a1, $sp, 0x7c -/* 039D28 80039128 E7A40098 */ swc1 $f4, 0x98($sp) -/* 039D2C 8003912C C7A60098 */ lwc1 $f6, 0x98($sp) -/* 039D30 80039130 27A60088 */ addiu $a2, $sp, 0x88 -/* 039D34 80039134 27A70098 */ addiu $a3, $sp, 0x98 -/* 039D38 80039138 4614303C */ c.lt.s $f6, $f20 -/* 039D3C 8003913C 27B900EC */ addiu $t9, $sp, 0xec -/* 039D40 80039140 27B800E8 */ addiu $t8, $sp, 0xe8 -/* 039D44 80039144 27A800E4 */ addiu $t0, $sp, 0xe4 -/* 039D48 80039148 4502000A */ bc1fl .L80039174 -/* 039D4C 8003914C C608011C */ lwc1 $f8, 0x11c($s0) -/* 039D50 80039150 AFB90010 */ sw $t9, 0x10($sp) -/* 039D54 80039154 AFB80014 */ sw $t8, 0x14($sp) -/* 039D58 80039158 0C00FEEB */ jal func_8003FBAC -/* 039D5C 8003915C AFA80018 */ sw $t0, 0x18($sp) -/* 039D60 80039160 02002025 */ move $a0, $s0 -/* 039D64 80039164 83A5012F */ lb $a1, 0x12f($sp) -/* 039D68 80039168 0C00B255 */ jal func_8002C954 -/* 039D6C 8003916C 27A60088 */ addiu $a2, $sp, 0x88 -/* 039D70 80039170 C608011C */ lwc1 $f8, 0x11c($s0) -.L80039174: -/* 039D74 80039174 E7A80098 */ swc1 $f8, 0x98($sp) -/* 039D78 80039178 C7AA0098 */ lwc1 $f10, 0x98($sp) -/* 039D7C 8003917C 460AA03E */ c.le.s $f20, $f10 -/* 039D80 80039180 00000000 */ nop -/* 039D84 80039184 4502000C */ bc1fl .L800391B8 -/* 039D88 80039188 C7AC00EC */ lwc1 $f12, 0xec($sp) -/* 039D8C 8003918C C6040120 */ lwc1 $f4, 0x120($s0) -/* 039D90 80039190 E7A40098 */ swc1 $f4, 0x98($sp) -/* 039D94 80039194 C7A60098 */ lwc1 $f6, 0x98($sp) -/* 039D98 80039198 4606A03E */ c.le.s $f20, $f6 -/* 039D9C 8003919C 00000000 */ nop -/* 039DA0 800391A0 45020005 */ bc1fl .L800391B8 -/* 039DA4 800391A4 C7AC00EC */ lwc1 $f12, 0xec($sp) -/* 039DA8 800391A8 960A0046 */ lhu $t2, 0x46($s0) -/* 039DAC 800391AC 3149FFDF */ andi $t1, $t2, 0xffdf -/* 039DB0 800391B0 A6090046 */ sh $t1, 0x46($s0) -/* 039DB4 800391B4 C7AC00EC */ lwc1 $f12, 0xec($sp) -.L800391B8: -/* 039DB8 800391B8 C7AE00E8 */ lwc1 $f14, 0xe8($sp) -/* 039DBC 800391BC 8FA600E4 */ lw $a2, 0xe4($sp) -/* 039DC0 800391C0 0C0AAF8C */ jal func_802ABE30 -/* 039DC4 800391C4 9607011A */ lhu $a3, 0x11a($s0) -/* 039DC8 800391C8 E6000074 */ swc1 $f0, 0x74($s0) -/* 039DCC 800391CC 8FA700E4 */ lw $a3, 0xe4($sp) -/* 039DD0 800391D0 8FA600E8 */ lw $a2, 0xe8($sp) -/* 039DD4 800391D4 8FA500EC */ lw $a1, 0xec($sp) -/* 039DD8 800391D8 0C00A6D3 */ jal func_80029B4C -/* 039DDC 800391DC 02002025 */ move $a0, $s0 -/* 039DE0 800391E0 C7A800EC */ lwc1 $f8, 0xec($sp) -/* 039DE4 800391E4 C7AA00E4 */ lwc1 $f10, 0xe4($sp) -/* 039DE8 800391E8 02002025 */ move $a0, $s0 -/* 039DEC 800391EC 83A5012F */ lb $a1, 0x12f($sp) -/* 039DF0 800391F0 8FA600E0 */ lw $a2, 0xe0($sp) -/* 039DF4 800391F4 8FA700D8 */ lw $a3, 0xd8($sp) -/* 039DF8 800391F8 E7A80010 */ swc1 $f8, 0x10($sp) -/* 039DFC 800391FC 0C00AB8E */ jal func_8002AE38 -/* 039E00 80039200 E7AA0014 */ swc1 $f10, 0x14($sp) -/* 039E04 80039204 C7A40090 */ lwc1 $f4, 0x90($sp) -/* 039E08 80039208 C7A80088 */ lwc1 $f8, 0x88($sp) -/* 039E0C 8003920C 46042182 */ mul.s $f6, $f4, $f4 -/* 039E10 80039210 C6040094 */ lwc1 $f4, 0x94($s0) -/* 039E14 80039214 46084282 */ mul.s $f10, $f8, $f8 -/* 039E18 80039218 E604022C */ swc1 $f4, 0x22c($s0) -/* 039E1C 8003921C 0C033850 */ jal sqrtf -/* 039E20 80039220 460A3300 */ add.s $f12, $f6, $f10 -/* 039E24 80039224 E6000094 */ swc1 $f0, 0x94($s0) -/* 039E28 80039228 C7A800EC */ lwc1 $f8, 0xec($sp) -/* 039E2C 8003922C 3C0D8016 */ lui $t5, %hi(D_80165070) # $t5, 0x8016 -/* 039E30 80039230 25AD5070 */ addiu $t5, %lo(D_80165070) # addiu $t5, $t5, 0x5070 -/* 039E34 80039234 E6080014 */ swc1 $f8, 0x14($s0) -/* 039E38 80039238 C7A600E4 */ lwc1 $f6, 0xe4($sp) -/* 039E3C 8003923C 24014000 */ li $at, 16384 -/* 039E40 80039240 3C08800E */ lui $t0, %hi(gKartTopSpeedTable) # $t0, 0x800e -/* 039E44 80039244 E606001C */ swc1 $f6, 0x1c($s0) -/* 039E48 80039248 C7AA00E8 */ lwc1 $f10, 0xe8($sp) -/* 039E4C 8003924C 02002025 */ move $a0, $s0 -/* 039E50 80039250 E60A0018 */ swc1 $f10, 0x18($s0) -/* 039E54 80039254 C7A40108 */ lwc1 $f4, 0x108($sp) -/* 039E58 80039258 E6040064 */ swc1 $f4, 0x64($s0) -/* 039E5C 8003925C C7A80110 */ lwc1 $f8, 0x110($sp) -/* 039E60 80039260 E608006C */ swc1 $f8, 0x6c($s0) -/* 039E64 80039264 C7A60088 */ lwc1 $f6, 0x88($sp) -/* 039E68 80039268 E6060034 */ swc1 $f6, 0x34($s0) -/* 039E6C 8003926C C7AA008C */ lwc1 $f10, 0x8c($sp) -/* 039E70 80039270 E60A0038 */ swc1 $f10, 0x38($s0) -/* 039E74 80039274 C7A40090 */ lwc1 $f4, 0x90($sp) -/* 039E78 80039278 E604003C */ swc1 $f4, 0x3c($s0) -/* 039E7C 8003927C 83AC012F */ lb $t4, 0x12f($sp) -/* 039E80 80039280 C7A80088 */ lwc1 $f8, 0x88($sp) -/* 039E84 80039284 C7A6008C */ lwc1 $f6, 0x8c($sp) -/* 039E88 80039288 000C5880 */ sll $t3, $t4, 2 -/* 039E8C 8003928C 016C5823 */ subu $t3, $t3, $t4 -/* 039E90 80039290 000B5880 */ sll $t3, $t3, 2 -/* 039E94 80039294 C7AA0090 */ lwc1 $f10, 0x90($sp) -/* 039E98 80039298 016D1021 */ addu $v0, $t3, $t5 -/* 039E9C 8003929C E4480000 */ swc1 $f8, ($v0) -/* 039EA0 800392A0 E4460004 */ swc1 $f6, 4($v0) -/* 039EA4 800392A4 E44A0008 */ swc1 $f10, 8($v0) -/* 039EA8 800392A8 960F0000 */ lhu $t7, ($s0) -/* 039EAC 800392AC 31EE4000 */ andi $t6, $t7, 0x4000 -/* 039EB0 800392B0 55C10018 */ bnel $t6, $at, .L80039314 -/* 039EB4 800392B4 860A0044 */ lh $t2, 0x44($s0) -/* 039EB8 800392B8 96190254 */ lhu $t9, 0x254($s0) -/* 039EBC 800392BC 25082690 */ addiu $t0, %lo(gKartTopSpeedTable) # addiu $t0, $t0, 0x2690 -/* 039EC0 800392C0 C6020094 */ lwc1 $f2, 0x94($s0) -/* 039EC4 800392C4 0019C080 */ sll $t8, $t9, 2 -/* 039EC8 800392C8 03081021 */ addu $v0, $t8, $t0 -/* 039ECC 800392CC C44C0000 */ lwc1 $f12, ($v0) -/* 039ED0 800392D0 4602603C */ c.lt.s $f12, $f2 -/* 039ED4 800392D4 00000000 */ nop -/* 039ED8 800392D8 4502000E */ bc1fl .L80039314 -/* 039EDC 800392DC 860A0044 */ lh $t2, 0x44($s0) -/* 039EE0 800392E0 46026003 */ div.s $f0, $f12, $f2 -/* 039EE4 800392E4 C6040034 */ lwc1 $f4, 0x34($s0) -/* 039EE8 800392E8 C6060038 */ lwc1 $f6, 0x38($s0) -/* 039EEC 800392EC 46002202 */ mul.s $f8, $f4, $f0 -/* 039EF0 800392F0 C604003C */ lwc1 $f4, 0x3c($s0) -/* 039EF4 800392F4 46003282 */ mul.s $f10, $f6, $f0 -/* 039EF8 800392F8 E6080034 */ swc1 $f8, 0x34($s0) -/* 039EFC 800392FC 46002202 */ mul.s $f8, $f4, $f0 -/* 039F00 80039300 E60A0038 */ swc1 $f10, 0x38($s0) -/* 039F04 80039304 E608003C */ swc1 $f8, 0x3c($s0) -/* 039F08 80039308 C4460000 */ lwc1 $f6, ($v0) -/* 039F0C 8003930C E6060094 */ swc1 $f6, 0x94($s0) -/* 039F10 80039310 860A0044 */ lh $t2, 0x44($s0) -.L80039314: -/* 039F14 80039314 24010001 */ li $at, 1 -/* 039F18 80039318 31490001 */ andi $t1, $t2, 1 -/* 039F1C 8003931C 15210012 */ bne $t1, $at, .L80039368 -/* 039F20 80039320 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 039F24 80039324 44816000 */ mtc1 $at, $f12 -/* 039F28 80039328 C6020094 */ lwc1 $f2, 0x94($s0) -/* 039F2C 8003932C 4602603C */ c.lt.s $f12, $f2 -/* 039F30 80039330 00000000 */ nop -/* 039F34 80039334 4502000D */ bc1fl .L8003936C -/* 039F38 80039338 3C0143FA */ lui $at, 0x43fa -/* 039F3C 8003933C 46026003 */ div.s $f0, $f12, $f2 -/* 039F40 80039340 C60A0034 */ lwc1 $f10, 0x34($s0) -/* 039F44 80039344 C6080038 */ lwc1 $f8, 0x38($s0) -/* 039F48 80039348 E60C0094 */ swc1 $f12, 0x94($s0) -/* 039F4C 8003934C 46005102 */ mul.s $f4, $f10, $f0 -/* 039F50 80039350 C60A003C */ lwc1 $f10, 0x3c($s0) -/* 039F54 80039354 46004182 */ mul.s $f6, $f8, $f0 -/* 039F58 80039358 E6040034 */ swc1 $f4, 0x34($s0) -/* 039F5C 8003935C 46005102 */ mul.s $f4, $f10, $f0 -/* 039F60 80039360 E6060038 */ swc1 $f6, 0x38($s0) -/* 039F64 80039364 E604003C */ swc1 $f4, 0x3c($s0) -.L80039368: -/* 039F68 80039368 3C0143FA */ li $at, 0x43FA0000 # 500.000000 -.L8003936C: -/* 039F6C 8003936C 44813000 */ mtc1 $at, $f6 -/* 039F70 80039370 C6080124 */ lwc1 $f8, 0x124($s0) -/* 039F74 80039374 4608303E */ c.le.s $f6, $f8 -/* 039F78 80039378 00000000 */ nop -/* 039F7C 8003937C 45000007 */ bc1f .L8003939C -/* 039F80 80039380 00000000 */ nop -/* 039F84 80039384 860C0078 */ lh $t4, 0x78($s0) -/* 039F88 80039388 05810003 */ bgez $t4, .L80039398 -/* 039F8C 8003938C 000C5843 */ sra $t3, $t4, 1 -/* 039F90 80039390 25810001 */ addiu $at, $t4, 1 -/* 039F94 80039394 00015843 */ sra $t3, $at, 1 -.L80039398: -/* 039F98 80039398 A60B0078 */ sh $t3, 0x78($s0) -.L8003939C: -/* 039F9C 8003939C 0C00B13E */ jal func_8002C4F8 -/* 039FA0 800393A0 83A5012F */ lb $a1, 0x12f($sp) -/* 039FA4 800393A4 8FBF0034 */ lw $ra, 0x34($sp) -/* 039FA8 800393A8 D7B40028 */ ldc1 $f20, 0x28($sp) -/* 039FAC 800393AC 8FB00030 */ lw $s0, 0x30($sp) -/* 039FB0 800393B0 03E00008 */ jr $ra -/* 039FB4 800393B4 27BD0120 */ addiu $sp, $sp, 0x120 -/* 039FB8 800393B8 00000000 */ nop diff --git a/include/common_structs.h b/include/common_structs.h index 90b599d57..e00ffb665 100644 --- a/include/common_structs.h +++ b/include/common_structs.h @@ -270,9 +270,7 @@ typedef struct { /* 0x0058 */ f32 unk_058; /* 0x005C */ f32 unk_05C; /* 0x0060 */ f32 unk_060; - /* 0x0064 */ f32 unk_064; - /* 0x0068 */ f32 unk_068; - /* 0x006C */ f32 unk_06C; + /* 0x0064 */ Vec3f unk_064; /* 0x0070 */ f32 boundingBoxSize; /* 0x0074 */ f32 unk_074; /* 0x0078 */ s16 unk_078; @@ -329,7 +327,7 @@ typedef struct { /* 0x0198 */ KartBoundingBoxCorner boundingBoxCorners[4]; /* 0x01F8 */ f32 unk_1F8; /* 0x01FC */ f32 unk_1FC; - /* 0x0200 */ s32 unk_200; + /* 0x0200 */ u32 unk_200; // May be s32. but less casting required if u32 /* 0x0204 */ s16 unk_204; /* 0x0206 */ s16 unk_206; /* 0x0208 */ f32 unk_208; diff --git a/src/audio/external.c b/src/audio/external.c index d1b82177f..a92103741 100644 --- a/src/audio/external.c +++ b/src/audio/external.c @@ -4762,7 +4762,7 @@ u8 D_800EA108 = 0; static f32 D_800EA110[4] = { 0.0f, 0.0f, 0.0f, 0.0f }; f32 D_800EA1D4[3]; /* unable to generate initializer */ -void func_800CADD0(s32 arg0, f32 arg1) { +void func_800CADD0(u8 arg0, f32 arg1) { f32 *temp_a1; f32 *temp_v0_2; f32 var_f12; diff --git a/src/audio/external.h b/src/audio/external.h index 9edd44f71..b128ee086 100644 --- a/src/audio/external.h +++ b/src/audio/external.h @@ -88,6 +88,8 @@ struct Unk_800EA06C { /* 0x0D */ // u8 compilerPadding0[3]; }; +void func_800C94A4(u8); +void func_800CADD0(u8, f32); void func_800C13F0(void); void func_800C13FC(OSMesg); f32 func_800C1480(u8, u8); diff --git a/src/code_8003DC40.c b/src/code_8003DC40.c index ab8d45309..ff2ab784f 100644 --- a/src/code_8003DC40.c +++ b/src/code_8003DC40.c @@ -256,7 +256,7 @@ void func_8003F46C(Player *player, Vec3f arg1, Vec3f arg2, Vec3f arg3, f32 *arg4 } } -void func_8003F734(Player *player, Vec3f arg1, Vec3f arg2, Vec3f arg3, f32 *arg4, f32 *arg5, f32 *arg6) { +void func_8003F734(Player *player, Vec3f arg1, Vec3f arg2, f32 *arg3, f32 *arg4, f32 *arg5, f32 *arg6) { f32 temp_f12; f32 temp_f14; f32 temp_f0_2; @@ -310,7 +310,7 @@ void func_8003F734(Player *player, Vec3f arg1, Vec3f arg2, Vec3f arg3, f32 *arg4 } } -void func_8003FBAC(Player *player, Vec3f arg1, Vec3f arg2, Vec3f arg3, f32 *arg4, f32 *arg5, f32 *arg6) { +void func_8003FBAC(Player *player, Vec3f arg1, Vec3f arg2, f32 *arg3, f32 *arg4, f32 *arg5, f32 *arg6) { f32 temp_f0_2; f32 temp_f12; f32 temp_f14; diff --git a/src/code_8003DC40.h b/src/code_8003DC40.h index 84859d829..ad009c61d 100644 --- a/src/code_8003DC40.h +++ b/src/code_8003DC40.h @@ -15,8 +15,8 @@ void func_8003E9EC(Player*, Vec3f, Vec3f, Vec3f, f32*, f32*, f32*, f32*); void func_8003EE2C(Player*, Vec3f, Vec3f, Vec3f, f32*, f32*, f32*, f32*); void func_8003F138(Player*, Vec3f, Vec3f, Vec3f, f32*, f32*, f32*, f32*); void func_8003F46C(Player*, Vec3f, Vec3f, Vec3f, f32*, f32*, f32*, f32*); -void func_8003F734(Player*, Vec3f, Vec3f, Vec3f, f32*, f32*, f32*); -void func_8003FBAC(Player*, Vec3f, Vec3f, Vec3f, f32*, f32*, f32*); +void func_8003F734(Player*, Vec3f, Vec3f, f32*, f32*, f32*, f32*); +void func_8003FBAC(Player*, Vec3f, Vec3f, f32*, f32*, f32*, f32*); extern s16 gCurrentCourseId; diff --git a/src/collision.h b/src/collision.h index 0caa6a12f..26b362e94 100644 --- a/src/collision.h +++ b/src/collision.h @@ -14,6 +14,7 @@ s16 func_802ABDF4(u16); f32 func_802ABE30(f32, f32, f32, u16); f32 func_802ABEAC(Collision*, Vec3f); void process_shell_collision(Vec3f, f32, Vec3f, f32); +u16 process_collision(Player *player, KartBoundingBoxCorner *corner, f32 cornerPosX, f32 cornerPosY, f32 cornerPosZ); void func_802AC114(Vec3f, f32, Vec3f, f32); u16 func_802AD950(Collision*, f32, f32, f32, f32, f32, f32, f32); u16 func_802ADDC8(Collision*, f32, f32, f32, f32); diff --git a/src/player_controller.c b/src/player_controller.c index fbefd0a06..14b5f270d 100644 --- a/src/player_controller.c +++ b/src/player_controller.c @@ -12,6 +12,7 @@ #include "collision.h" #include "waypoints.h" #include "audio/external.h" +#include "code_8003DC40.h" extern s8 D_80164A89; extern s16 D_801633F8; @@ -359,7 +360,7 @@ void func_80027DA8(Player *arg0, s8 arg1) { if (D_8015F890 != 1) { if ((arg0->unk_000 & 0x10) != 0x10) { if (((D_8018D168 == 1) && ((arg0->unk_000 & 0x4000) == 0x4000)) && ((arg0->unk_000 & 0x100) != 0x100)) { - func_800C94A4(arg1 & 0xFF); + func_800C94A4(arg1); arg0->unk_000 |= 0x10; } else if ((arg0->unk_000 & 0x2000) == 0) { func_800C9A88(arg1); @@ -368,7 +369,7 @@ void func_80027DA8(Player *arg0, s8 arg1) { } } else if ((arg0->unk_000 & 0x10) != 0x10) { if ((D_8018D168 == 1) && (arg0 == gPlayerOne)) { - func_800C94A4(arg1 & 0xFF); + func_800C94A4(arg1); arg0->unk_000 |= 0x10; } else if ((arg0->unk_000 & 0x2000) == 0) { func_800C9A88(arg1); @@ -378,7 +379,7 @@ void func_80027DA8(Player *arg0, s8 arg1) { } void func_80027EDC(Player *player, s8 playerId) { - s32 stackPadding; + UNUSED s32 pad; if (((player->unk_000 & 0x4000) == 0x4000) && ((player->unk_000 & 0x100) != 0x100)) { switch (gCurrentCourseId) { case COURSE_MARIO_RACEWAY: @@ -697,11 +698,11 @@ void func_80028C44(Player *player, Camera *camera, s8 arg2, s8 arg3) { } void func_80028D3C(Player *player, Camera *camera, s8 arg2, s8 arg3) { - if (((player->unk_000 & 0x2000) == 0) && - (D_800DC510 != 5) || - (player->unk_0CA & 2) != 0 || - (player->unk_0CA & 8) != 0 || - (player->unk_0BC & 0x4F010CC0) != 0) { + if ((((player->unk_000 & 0x2000) == 0) + && (D_800DC510 != 5)) + || (player->unk_0CA & 2) != 0 + || (player->unk_0CA & 8) != 0 + || (player->unk_0BC & 0x4F010CC0) != 0) { player->unk_0BC &= ~0x1000; if (((player->unk_0BC & 0x80) == 0x80) || @@ -835,15 +836,14 @@ void func_80029200(Player *player, s8 arg1) { } void func_8002934C(Player *player, Camera *camera, s8 arg2, s8 arg3) { + UNUSED s32 pad[2]; f32 temp_f0; - s32 pad[2]; f32 temp_f2; - s32 pad2[2]; + UNUSED s32 pad2[3]; f32 var_f0; s16 temp_a0; s32 temp_a0_2; s32 var_a1; - s32 var_a2; s32 var_t0; u16 var_a0; @@ -991,159 +991,134 @@ void func_8002934C(Player *player, Camera *camera, s8 arg2, s8 arg3) { } } -#ifdef MIPS_TO_C -//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc -//s32 process_collision(Player *, KartBoundingBoxCorner *, f32, f32, f32); /* extern */ - -void func_80029B4C(Player *player, f32 arg1, f32 arg2, f32 arg3) { - f32 sp94; - f32 sp90; - f32 sp8C; - f32 sp88; - f32 sp84; - f32 sp80; - f32 sp54; - f32 sp50; - f32 sp48; - f32 sp40; - f64 sp38; - f32 sp34; - f64 sp28; +void func_80029B4C(Player *player, UNUSED f32 arg1, f32 arg2, UNUSED f32 arg3) { + f32 a; + f32 b; + f32 c; + f32 d; + Vec3f sp8C; + Vec3f sp80; + Mat3 sp5C; + UNUSED s32 pad; f32 temp_f0_2; - f32 temp_f12; - f32 temp_f14; - f32 temp_f2; f32 temp_f2_3; - f32 var_f12; - f64 temp_f0; - f64 temp_f2_2; s16 temp_v0; - s16 var_a1; - s32 temp_t2; - s32 temp_v0_2; - s32 temp_v0_3; - s32 var_v0; - s32 var_v1; - u16 temp_t5; + f32 var_f12; if ((player->unk_0BC & 0x40000000) == 0x40000000) { - var_f12 = (f32) ((f64) (D_800DDBD4[player->characterId] / 2.0f) * ((f64) player->unk_224 * 1.5) * 18.0); - } else { - var_f12 = (D_800DDBD4[player->characterId] / 2.0f) * 18.0f; + var_f12 = 18.0f * ((((D_800DDBD4[player->characterId] / 2)) * ((player->unk_224) * 1.5))); } - sp48 = var_f12; - func_802B6540((f32 (*)[3]) &sp5C[0], 0.0f, 1.0f, 0.0f, (s16) (player->unk_02C[1] + player->unk_0C0)); - temp_f0 = (f64) sp48; - temp_f2 = sp48 - 2.0f; - sp8C = (f32) (temp_f0 - 3.6); - sp38 = temp_f0; - sp94 = temp_f2; - sp40 = temp_f2; - sp90 = -player->boundingBoxSize; - func_802B63B8(&sp8C, (f32 (*)[3]) &sp5C[0]); - sp80 = player->boundingBoxCorners[0].cornerPos[0]; - sp84 = player->boundingBoxCorners[0].cornerPos[1]; - sp88 = player->boundingBoxCorners[0].cornerPos[2]; - player->boundingBoxCorners[0].cornerPos[0] = sp8C + player->pos[0]; - player->boundingBoxCorners[0].cornerPos[1] = sp90 + player->pos[1]; - player->boundingBoxCorners[0].cornerPos[2] = sp94 + player->pos[2]; - process_collision(player, player->boundingBoxCorners, sp80, sp84, sp88); - temp_f14 = -sp48; - temp_f2_2 = (f64) temp_f14; - sp8C = (f32) (temp_f2_2 + 3.6); - sp34 = temp_f14; - sp28 = temp_f2_2; - sp94 = sp40; - sp90 = -player->boundingBoxSize; - func_802B63B8(&sp8C, (f32 (*)[3]) &sp5C[0]); - sp80 = player->boundingBoxCorners[1].cornerPos[0]; - sp84 = player->boundingBoxCorners[1].cornerPos[1]; - sp88 = player->boundingBoxCorners[1].cornerPos[2]; - player->boundingBoxCorners[1].cornerPos[0] = sp8C + player->pos[0]; - player->boundingBoxCorners[1].cornerPos[1] = sp90 + player->pos[1]; - player->boundingBoxCorners[1].cornerPos[2] = sp94 + player->pos[2]; - process_collision(player, &player->boundingBoxCorners[1], sp80, sp84, sp88); - temp_f12 = sp34 + 4.0f; - sp8C = (f32) (sp38 - 2.6); - sp94 = temp_f12; - sp40 = temp_f12; - sp90 = -player->boundingBoxSize; - func_802B63B8(&sp8C, (f32 (*)[3]) &sp5C[0]); - sp80 = player->boundingBoxCorners[2].cornerPos[0]; - sp84 = player->boundingBoxCorners[2].cornerPos[1]; - sp88 = player->boundingBoxCorners[2].cornerPos[2]; - player->boundingBoxCorners[2].cornerPos[0] = sp8C + player->pos[0]; - player->boundingBoxCorners[2].cornerPos[1] = sp90 + player->pos[1]; - player->boundingBoxCorners[2].cornerPos[2] = sp94 + player->pos[2]; - process_collision(player, &player->boundingBoxCorners[2], sp80, sp84, sp88); - sp8C = (f32) (sp28 + 2.6); - sp94 = sp40; - sp90 = -player->boundingBoxSize; - func_802B63B8(&sp8C, (f32 (*)[3]) &sp5C[0]); - sp80 = player->boundingBoxCorners[3].cornerPos[0]; - sp84 = player->boundingBoxCorners[3].cornerPos[1]; - sp88 = player->boundingBoxCorners[3].cornerPos[2]; - player->boundingBoxCorners[3].cornerPos[0] = sp8C + player->pos[0]; - player->boundingBoxCorners[3].cornerPos[1] = sp90 + player->pos[1]; - player->boundingBoxCorners[3].cornerPos[2] = sp94 + player->pos[2]; - process_collision(player, &player->boundingBoxCorners[3], sp80, sp84, sp88); + else { + var_f12 = 18.0f * (D_800DDBD4[player->characterId] / 2); + } + + func_802B6540(sp5C, 0.0f, 1.0f, 0.0f, (player->unk_02C[1] + player->unk_0C0)); + sp8C[0] = var_f12 - 3.6; + sp8C[1] = -player->boundingBoxSize; + sp8C[2] = var_f12 - 2.0f; + func_802B63B8(sp8C, sp5C); + sp80[0] = player->boundingBoxCorners[0].cornerPos[0]; + sp80[1] = player->boundingBoxCorners[0].cornerPos[1]; + sp80[2] = player->boundingBoxCorners[0].cornerPos[2]; + player->boundingBoxCorners[0].cornerPos[0] = player->pos[0] + sp8C[0]; + player->boundingBoxCorners[0].cornerPos[1] = player->pos[1] + sp8C[1]; + player->boundingBoxCorners[0].cornerPos[2] = player->pos[2] + sp8C[2]; + process_collision(player, &player->boundingBoxCorners[0], sp80[0], sp80[1], sp80[2]); + + sp8C[0] = (-var_f12) + 3.6; + sp8C[1] = -player->boundingBoxSize; + sp8C[2] = var_f12 - 2.0f; + func_802B63B8(sp8C, sp5C); + sp80[0] = player->boundingBoxCorners[1].cornerPos[0]; + sp80[1] = player->boundingBoxCorners[1].cornerPos[1]; + sp80[2] = player->boundingBoxCorners[1].cornerPos[2]; + player->boundingBoxCorners[1].cornerPos[0] = player->pos[0] + sp8C[0]; + player->boundingBoxCorners[1].cornerPos[1] = player->pos[1] + sp8C[1]; + player->boundingBoxCorners[1].cornerPos[2] = player->pos[2] + sp8C[2]; + process_collision(player, &player->boundingBoxCorners[1], sp80[0], sp80[1], sp80[2]); + + sp8C[0] = var_f12 - 2.6; + sp8C[1] = -player->boundingBoxSize; + sp8C[2] = (-var_f12) + 4.0f; + func_802B63B8(sp8C, sp5C); + sp80[0] = player->boundingBoxCorners[2].cornerPos[0]; + sp80[1] = player->boundingBoxCorners[2].cornerPos[1]; + sp80[2] = player->boundingBoxCorners[2].cornerPos[2]; + player->boundingBoxCorners[2].cornerPos[0] = player->pos[0] + sp8C[0]; + player->boundingBoxCorners[2].cornerPos[1] = player->pos[1] + sp8C[1]; + player->boundingBoxCorners[2].cornerPos[2] = player->pos[2] + sp8C[2]; + process_collision(player, &player->boundingBoxCorners[2], sp80[0], sp80[1], sp80[2]); + + sp8C[0] = (-var_f12) + 2.6; + sp8C[1] = -player->boundingBoxSize; + sp8C[2] = (-var_f12) + 4.0f; + func_802B63B8(sp8C, sp5C); + sp80[0] = player->boundingBoxCorners[3].cornerPos[0]; + sp80[1] = player->boundingBoxCorners[3].cornerPos[1]; + sp80[2] = player->boundingBoxCorners[3].cornerPos[2]; + player->boundingBoxCorners[3].cornerPos[0] = player->pos[0] + sp8C[0]; + player->boundingBoxCorners[3].cornerPos[1] = player->pos[1] + sp8C[1]; + player->boundingBoxCorners[3].cornerPos[2] = player->pos[2] + sp8C[2]; + process_collision(player, &player->boundingBoxCorners[3], sp80[0], sp80[1], sp80[2]); + if (!(player->unk_0BC & 8)) { - move_f32_towards(&player->unk_230, (player->boundingBoxCorners[0].cornerGroundY + player->boundingBoxCorners[2].cornerGroundY) / 2.0f, 0.5f); - move_f32_towards(&player->unk_23C, (player->boundingBoxCorners[1].cornerGroundY + player->boundingBoxCorners[3].cornerGroundY) / 2.0f, 0.5f); - move_f32_towards(&player->unk_1FC, (player->boundingBoxCorners[0].cornerGroundY + player->boundingBoxCorners[1].cornerGroundY) / 2.0f, 0.5f); - move_f32_towards(&player->unk_1F8, (player->boundingBoxCorners[2].cornerGroundY + player->boundingBoxCorners[3].cornerGroundY) / 2.0f, 0.5f); + a = (player->boundingBoxCorners[2].cornerGroundY + player->boundingBoxCorners[0].cornerGroundY) / 2; + move_f32_towards(&player->unk_230, a, 0.5f); + + b = (player->boundingBoxCorners[3].cornerGroundY + player->boundingBoxCorners[1].cornerGroundY) / 2; + move_f32_towards(&player->unk_23C, b, 0.5f); + + c = (player->boundingBoxCorners[1].cornerGroundY + player->boundingBoxCorners[0].cornerGroundY) / 2; + move_f32_towards(&player->unk_1FC, c, 0.5f); + + d = (player->boundingBoxCorners[3].cornerGroundY + player->boundingBoxCorners[2].cornerGroundY) / 2; + move_f32_towards(&player->unk_1F8, d, 0.5f); } temp_f2_3 = ((D_800DDBD4[player->characterId] * 18.0f) + 1.0f) * player->unk_224; - sp50 = temp_f2_3; - player->unk_206 = -func_802B7C40((player->unk_23C - player->unk_230) / temp_f2_3); - if (((player->unk_0CA & 2) == 2) || (temp_t2 = player->unk_0BC & 8, var_v0 = temp_t2, (temp_t2 != 0))) { + temp_f0_2 = player->unk_23C - player->unk_230; + player->unk_206 = -func_802B7C40(temp_f0_2 / temp_f2_3); + if (((player->unk_0CA & 2) == 2) || (player->unk_0BC & 8)) { player->unk_206 = 0; - var_v0 = player->unk_0BC & 8; } - if (var_v0 != 8) { - move_s16_towards(&player->unk_0C4, func_802B7C40((player->unk_1F8 - player->unk_1FC) / temp_f2_3), 0.5f); - } else { + if ((player->unk_0BC & 8) != 8) { + temp_f0_2 = player->unk_1F8 - player->unk_1FC; + move_s16_towards(&player->unk_0C4, func_802B7C40(temp_f0_2 / temp_f2_3), 0.5f); + } + else { temp_f0_2 = player->rotY - arg2; - sp54 = temp_f0_2; temp_v0 = func_802B7C40(temp_f0_2 / temp_f2_3); - var_a1 = temp_v0 * 0xA; if (temp_f0_2 >= 0.0f) { - var_a1 = (s16) (temp_v0 / 4); + temp_v0 /= 4; } - move_s16_towards(&player->unk_0C4, var_a1, 0.5f); + else { + temp_v0 *= 10; + } + move_s16_towards(&player->unk_0C4, temp_v0, 0.5f); } if (((player->unk_0BC & 8) == 8) && ((player->unk_0CA & 2) == 2)) { - player->unk_0C4 = (s16) (s32) player->unk_D9C; + player->unk_0C4 = (s16) ((s32) player->unk_D9C); } - temp_t5 = get_surface_type(player->unk_110.unk3A) & 0xFF; - var_v1 = temp_t5 & 0xFFFF; - player->unk_0F8 = temp_t5; - if (var_v1 == 0xFE) { - temp_v0_2 = player->unk_0BC; - if (((temp_v0_2 & 0x100000) != 0x100000) && ((temp_v0_2 & 8) != 8)) { - var_v1 = temp_t5 & 0xFFFF; + player->unk_0F8 = get_surface_type(player->unk_110.unk3A) & 0xFF; + if (player->unk_0F8 == 0xFE) { + if (((player->unk_0BC & 0x100000) != 0x100000) && ((player->unk_0BC & 8) != 8)) { player->statusEffects |= 0x800000; } } - if (var_v1 == 0xFC) { - temp_v0_3 = player->unk_0BC; - if (((temp_v0_3 & 4) != 4) && ((temp_v0_3 & 8) != 8)) { + if (player->unk_0F8 == 0xFC) { + if (((player->unk_0BC & 4) != 4) && ((player->unk_0BC & 8) != 8)) { player->statusEffects |= 0x8000; } } } -#else -GLOBAL_ASM("asm/non_matchings/player_controller/func_80029B4C.s") -#endif void func_8002A194(Player *player, f32 arg1, f32 arg2, f32 arg3) { - s32 stackPadding[2]; + UNUSED s32 pad[2]; f32 temp_f12; f32 var_f20; s32 temp_v0; s16 temp_v1; s16 var_a1; - s32 test; + UNUSED s32 pad2; f32 temp_f0; temp_v1 = -player->unk_02C[1] - player->unk_0C0; @@ -1687,13 +1662,12 @@ void func_8002B8A4(Player *player_one, Player *player_two) { D_801653C0[var_v1] = player_one; } -#ifdef NON_MATCHING -// data_0DD0A0_3_0_0.s -extern f64 D_800ED7D0;// = 4.2; void func_8002B9CC(Player *player, s8 arg1, UNUSED s32 arg2) { f32 temp_f0; f32 temp_f2; f32 temp_f14; + s16 temp; + s16 temp2; if ((player->unk_046 & 2) == 2) { temp_f0 = D_8018CE10[arg1].unk_04[0]; @@ -1717,56 +1691,78 @@ void func_8002B9CC(Player *player, s8 arg1, UNUSED s32 arg2) { func_8008C73C(player, arg1); } } - // There's some register allocation mismatching here. Its unclear what the cause is - // and the permtuer didn't find anything - player->unk_234 = ((s16) (-func_802B5224(player->pos, &player->rotX) - (player->unk_02C[1] - player->unk_0C0))) / 182; + temp = (-(s16)func_802B5224(player->pos, &player->rotX)); + temp2 = (player->unk_02C[1] - player->unk_0C0); + temp = temp - temp2; + player->unk_234 = temp / 182; + } } -#else -GLOBAL_ASM("asm/non_matchings/player_controller/func_8002B9CC.s") -#endif + + +//void func_8002BB9C(Player *player, f32 arg1, f32 arg2, UNUSED f32 arg3, f32 arg4, f32 arg5); #ifdef NON_MATCHING //generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b -extern s16 D_800E3C98[10];// = { 0x0000, 0x00b6, 0x016c, 0x0222, 0x02d8, 0x038e, 0x0444, 0x04fa, 0x05b0, 0x0666 }; +//extern s16 D_800E3C98[10];// = { 0x0000, 0x00b6, 0x016c, 0x0222, 0x02d8, 0x038e, 0x0444, 0x04fa, 0x05b0, 0x0666 }; -void func_8002BB9C(Player *player, f32 *arg1, f32 *arg2, UNUSED f32 *arg3) { +void func_8002BB9C(Player *player, f32 *arg1, f32 *arg2, UNUSED s8 arg3, UNUSED s8 arg4, UNUSED Vec3f arg5) +{ Mat3 sp64; Vec3f sp58; Vec3f sp4C; - s32 var_v0; - s32 temp_t9; - s16 sp30[10] = { 0x0000, 0x00b6, 0x016c, 0x0222, 0x02d8, 0x038e, 0x0444, 0x04fa, 0x05b0, 0x0666 }; + s16 var_v0; + s32 bbb; + + s16 sp30[10] = {0x0000, 0x00b6, 0x016c, 0x0222, 0x02d8, 0x038e, 0x0444, 0x04fa, 0x05b0, 0x0666}; + + if (((u16) player->unk_256) <= 0) { + return; + } - if ((u16)player->unk_256 <= 0) return; - if ((u16)player->unk_256 > 2) return; - if (!(player->unk_046 & 0x20)) return; + if (((u16) player->unk_256) > 2) { + return; + } + + if (!(player->unk_046 & 0x20)) { + return; + } + func_802B6540(sp64, 0.0f, 1.0f, 0.0f, (s16) 0); + sp58[0] = *arg1; sp58[1] = 0.0f; sp58[2] = *arg2; + func_802B63B8(sp58, sp64); + sp4C[0] = player->rotX; sp4C[1] = 0.0f; sp4C[2] = player->rotZ; + func_802B63B8(sp4C, sp64); - // There's some wonkiness surrounding this line - temp_t9 = (s16) ((player->unk_02C[1] - -func_802B5224(sp58, sp4C)) + 0x10000) / 182; - if((s16) temp_t9 < 0x97) { - if(((s16) temp_t9 > -0x97)) return; - } - temp_t9 = player->unk_07C >> 0x10; - var_v0 = temp_t9 / 6; - if ((s16) var_v0 < 0) { + bbb = player->unk_02C[1] - (-func_802B5224(sp58, sp4C)); + var_v0 = (s16)((bbb) + 0x10000) / 182; + + if (var_v0 < 0x97 && var_v0 > (-0x97)) { + return; + } + + var_v0 = (player->unk_07C >> 0x10) / 6; + + if (var_v0 < 0) { var_v0 *= -1; } - if ((s16) var_v0 >= 8) { + + if (var_v0 >= 8) { var_v0 = 8; } - if (temp_t9 < 0) { + + if ((player->unk_07C >> 0x10) < 0) { player->unk_02C[1] -= sp30[var_v0]; - } else { + } + else { player->unk_02C[1] += sp30[var_v0]; } } @@ -1803,10 +1799,9 @@ void func_8002BD58(Player *player) { } } -void func_8002BF4C(Player *player, u8 arg1) { - UNUSED s32 stackPadding[2]; - UNUSED s32 temp_t2; - s32 uselessAssignment; +void func_8002BF4C(Player *player, s8 arg1) { + UNUSED s32 pad[3]; + UNUSED s32 uselessAssignment; s32 i; s32 var_a2; Player *playerBorrow; @@ -2027,8 +2022,8 @@ void func_8002C954(Player *player, s8 arg1, Vec3f arg2) { f32 zdist; temp_f0 = player->pos[1] - player->unk_074; - if ((((player->unk_0BC & 0x10000) != 0x10000) && - ((player->unk_0BC & 0x100000) == 0x100000) || + if (((((player->unk_0BC & 0x10000) != 0x10000) && + ((player->unk_0BC & 0x100000) == 0x100000)) || ((((temp_f0 >= 20.0f) || (temp_f0 < (-1.0f))) && ((player->unk_0BC & 0x10000) == 0)) && @@ -2159,34 +2154,38 @@ void func_8002CD48(Player *player, s8 arg1, s8 arg2) { #ifdef NON_MATCHING void func_8002D028(Player *player, s8 arg1) { - f32 thing0 = 8.0f; - f32 thing1 = 182.0f; Vec3f sp4C; - f32 temp_f0; - s16 var_a2; - s16 test; - f32 temp_f18; + f32 sqrt; s16 temp_t1; + s16 test; + s16 temp; + s16 var_a2; + f32 thing0; + thing0 = 8.0f; sp4C[0] = D_80165210[D_80165270[arg1]]; sp4C[1] = 0.0f; sp4C[2] = D_80165230[D_80165270[arg1]]; - temp_f0 = thing0 * thing1; - test = -func_802B5224(player->pos, sp4C) - player->unk_02C[1]; - var_a2 = test; - if ((s16)temp_f0 < test) { - var_a2 = temp_f0; + //temp_f0 = thing0 * 182.0f; + test = -(s16)func_802B5224(player->pos, sp4C); + temp = player->unk_02C[1]; + var_a2 = test - temp; + + + if ((s16)var_a2 > (s16)thing0 * 182) { + var_a2 = (s16)thing0 * 182; } - temp_f18 = -thing0 * thing1; - if (test < (s16)temp_f18) { - var_a2 = temp_f18; + //temp_f18 = -thing0 * 182.0f; + if (var_a2 < (s16)-thing0 * 182) { + var_a2 = (s16)-thing0 * 182; } - temp_t1 = (D_80165020[arg1] + (s16) ((var_a2 * 0x35) / temp_f0)) / 2; + temp_t1 = ((s16) ((var_a2 * 0x35) / thing0 * 182) + D_80165020[arg1]) / 2; func_8003680C(player, (s16) temp_t1); D_80165020[arg1] = (s16) temp_t1; - temp_f0 = sp4C[2] - player->pos[2]; - temp_f18 = sp4C[0] - player->pos[0]; - if (sqrtf((temp_f0 * temp_f0) + (temp_f18 * temp_f18)) <= 8.0f) { + //temp_f0 = sp4C[2] - player->pos[2]; + //temp_f18 = sp4C[0] - player->pos[0]; + sqrt = sqrtf((sp4C[0] - player->pos[0]) * (sp4C[0] + player->pos[0]) + (sp4C[2] + player->pos[2]) * (sp4C[2] + player->pos[2])); + if (sqrt <= 8.0f) { func_800224F0(&player->unk_02C[1], -0x8000, 0x016C); if ((player->unk_02C[1] < -0x7F41) || (player->unk_02C[1] > 0x7F41)) { player->unk_000 &= ~0x0200; @@ -2209,411 +2208,301 @@ void func_8002D028(Player *player, s8 arg1) { GLOBAL_ASM("asm/non_matchings/player_controller/func_8002D028.s") #endif -#ifdef MIPS_TO_C -//generated by m2c commit eefca95b040d7ee0c617bc58f9ac6cd1cf7bce87 on Aug-17-2023 -? func_80029B4C(Player *, f32, f32, f32); /* extern */ -? func_8002BB9C(Player *, f32 *, f32 *, s8, s32, f32 *); /* extern */ -? func_800CADD0(u8, f32); /* extern */ -s16 gCurrentCourseId; /* unable to generate initializer */ -static ? D_800E3CE8; /* unable to generate initializer */ -static ? D_800E3CF4; /* unable to generate initializer */ -static ? D_800E3D00; /* unable to generate initializer */ -static ? D_800E3D0C; /* unable to generate initializer */ -static ? D_800E3D18; /* unable to generate initializer */ - -void func_8002D268(Player *player, Camera *camera, s8 arg2, s8 arg3) { - f32 sp18C; - f32 sp184; - f32 sp180; - f32 sp17C; - f32 sp178; - f32 sp16C; - f32 sp160; - ? sp104; +void func_8002D268(Player *player, UNUSED Camera *camera, s8 arg2, s8 arg3) +{ + Vec3f sp184 = {0.0, 0.0, 1.0}; + Vec3f sp178 = {0.0, 0.0, 0.0}; + Vec3f sp16C = {0.0, 0.0, 0.0}; + Vec3f sp160 = {0.0, 0.0, 0.0}; + f32 sp104[] = {0.825, 0.8, 0.725, 0.625, 0.425, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3}; + f32 temp; f32 spFC; f32 spF8; f32 spF4; - f32 spF0; - f32 spE8; + f32 posX; + f32 posY; + f32 posZ; + f32 temp2; + s32 temp_v0_3; + s32 temp3; + f32 temp_f2_2; + UNUSED s32 pad[8]; f32 spB4; f32 spB0; f32 spAC; - f32 spA8; - f32 spA0; - f32 sp9C; - f32 sp98; - f32 sp8C; - s32 sp7C; - f32 sp60; - f32 *sp58; - struct_D_8018CE10 *sp54; - f32 *temp_a1; - f32 *temp_v0_17; - f32 *temp_v0_18; - f32 temp_f0; - f32 temp_f0_2; - f32 temp_f0_7; - f32 temp_f0_8; - f32 temp_f0_9; - f32 temp_f12_3; - f32 temp_f12_4; - f32 temp_f2; - f32 temp_f2_2; - f32 temp_f2_6; - f32 temp_f2_7; - f32 temp_f2_8; - f32 temp_f4; - f32 var_f12; - f32 var_f14; - f64 temp_f0_3; - f64 temp_f0_4; - f64 temp_f0_5; - f64 temp_f0_6; - f64 temp_f12; - f64 temp_f12_2; - f64 temp_f2_3; - f64 temp_f2_4; - f64 temp_f2_5; - s16 temp_v0_11; - s16 temp_v0_13; - s16 temp_v0_15; - s16 temp_v0_4; - s16 temp_v0_5; - s16 temp_v0_6; - s16 temp_v0_7; - s16 temp_v0_9; - s32 temp_t4; - s32 temp_t4_2; - s32 temp_v0_2; - s32 temp_v0_3; - s32 temp_v1; - s32 var_v0; - s32 var_v1; - s32 var_v1_2; - struct_D_8018CE10 *temp_t9; - u16 temp_t6_2; - u16 temp_v0; - u16 temp_v0_10; - u16 temp_v0_12; - u16 temp_v0_14; - u16 temp_v0_16; - u16 temp_v0_8; - void *temp_t6; - void *temp_t7; + f32 temp_var; + UNUSED s32 pad2; + Vec3f sp98; + Vec3f sp8C; + UNUSED s32 pad3[3]; + s32 sp7C = 0; + UNUSED s32 pad4[6]; - sp184.unk0 = D_800E3CE8.unk0; - sp184.unk4 = (s32) D_800E3CE8.unk4; - sp184.unk8 = (s32) D_800E3CE8.unk8; - sp178.unk0 = D_800E3CF4.unk0; - sp178.unk4 = (s32) D_800E3CF4.unk4; - sp178.unk8 = (s32) D_800E3CF4.unk8; - sp16C.unk0 = D_800E3D00.unk0; - sp16C.unk4 = (s32) D_800E3D00.unk4; - sp16C.unk8 = (s32) D_800E3D00.unk8; - sp160.unk0 = D_800E3D0C.unk0; - sp160.unk4 = (s32) D_800E3D0C.unk4; - sp160.unk8 = (s32) D_800E3D0C.unk8; - M2C_MEMCPY_ALIGNED(&sp104, &D_800E3D18, 0x54); - temp_t7 = &sp104 + 0x54; - temp_t6 = &D_800E3D18 + 0x54; - temp_t7->unk0 = (s32) temp_t6->unk0; - temp_t7->unk4 = (s32) temp_t6->unk4; - sp7C = 0; func_80027EDC(player, arg3); func_8002C11C(player); if ((player->unk_000 & 0x4000) == 0x4000) { func_8002A79C(player, arg3); } func_8002B830(player, arg3, arg2); - temp_v0 = player->unk_000; - if (((temp_v0 & 0x4000) == 0x4000) && ((temp_v0 & 0x100) != 0x100)) { - func_8002BF4C(player, (u8) arg3); + if (((player->unk_000 & 0x4000) == 0x4000) && ((player->unk_000 & 0x100) != 0x100)) { + func_8002BF4C(player, arg3); } func_8002CD48(player, arg3, arg2); if (((player->unk_0BC & 0x20000000) == 0x20000000) && (player->unk_228 >= 0x64)) { sp7C = 2; } - func_80037BB4(player, &sp160); + func_80037BB4(player, sp160); func_8002AB70(player); func_8002FCA8(player, arg3); if (player->unk_044 & 1) { - player->unk_064 *= -1.0f; - player->unk_06C *= -1.0f; + player->unk_064[0] *= -1.0f; + player->unk_064[2] *= -1.0f; } if ((player->boundingBoxCorners[2].surfaceType == 1) && (player->boundingBoxCorners[3].surfaceType == 1)) { - temp_f0 = player->kartGravity; - var_f12 = player->unk_064 + sp16C; - spB4 = (f32) (((f64) (-player->unk_110.unk60[0] * temp_f0) * 0.925) + (f64) (-1.0f * var_f12)); - spB0 = -player->unk_110.unk60[1] * temp_f0; - var_f14 = player->unk_06C + sp174; - spAC = (f32) (((f64) (-player->unk_110.unk60[2] * temp_f0) * 0.925) + (f64) (-1.0f * var_f14)); + spB4 = (-1 * (player->unk_064[0] + sp16C[0])) + ((-player->unk_110.unk60[0] * player->kartGravity) * 0.925); + spB0 = (-player->unk_110.unk60[1] * player->kartGravity); + spAC = (-1 * (player->unk_064[2] + sp16C[2])) + ((-player->unk_110.unk60[2] * player->kartGravity) * 0.925); } else { - var_v0 = (s32) (((player->unk_094 / 18.0f) * 216.0f) / 10.0f); - if (var_v0 >= 0xA) { - var_v0 = 0x0000000A; + temp3 = (((player->unk_094 / 18.0f) * 216.0f) / 10.0f); + if (temp3 >= 10) + { + temp3 = 10; } - temp_f0_2 = player->kartGravity; - var_f12 = player->unk_064 + sp16C; - temp_f2 = (sp + (var_v0 * 4))->unk104; - spB4 = (temp_f2 * (-player->unk_110.unk60[0] * temp_f0_2)) + (-1.0f * var_f12); - spB0 = -player->unk_110.unk60[1] * temp_f0_2; - var_f14 = player->unk_06C + sp174; - spAC = (temp_f2 * (-player->unk_110.unk60[2] * temp_f0_2)) + (-1.0f * var_f14); + spB4 = -1 * (player->unk_064[0] + sp16C[0]) + ((-player->unk_110.unk60[0] * player->kartGravity) * sp104[temp3]); + spB0 = (-player->unk_110.unk60[1] * player->kartGravity); + spAC = -1 * (player->unk_064[2] + sp16C[2]) + ((-player->unk_110.unk60[2] * player->kartGravity) * sp104[temp3]); } - temp_v0_2 = player->unk_0BC; - temp_v1 = temp_v0_2 & 8; - if ((temp_v1 != 8) && ((temp_v0_2 & 0x20) == 0x20)) { - spB4 = var_f12 * 0.0f; - spAC = var_f14 * 0.0f; - spB0 = (player->kartGravity * -1.0f) / 4.0f; + if (((player->unk_0BC & 8) != 8) && ((player->unk_0BC & 0x20) == 0x20)) { + spB4 = 0 * (player->unk_064[0] + sp16C[0]); + spB0 = -1 * player->kartGravity / 4; + spAC = 0 * (player->unk_064[2] + sp16C[2]); } - if (temp_v1 == 8) { - spB4 = var_f12 * 0.0f; - spB0 = player->kartGravity * -1.0f; - spAC = var_f14 * 0.0f; + if ((player->unk_0BC & 8) == 8) { + spB4 = 0 * (player->unk_064[0] + sp16C[0]); + spB0 = -1 * player->kartGravity; + spAC = 0 * (player->unk_064[2] + sp16C[2]); } - sp60 = coss((player->unk_02C[1] + player->unk_0C0) & 0xFFFF); - temp_a1 = player->unk_174[0]; - temp_f2_2 = (sins((player->unk_02C[1] + player->unk_0C0) & 0xFFFF) * -(player->rotX - player->pos[0])) + ((player->rotZ - player->pos[2]) * sp60); - if ((f64) temp_f2_2 > 0.1) { + temp_f2_2 = ((player->rotZ - player->pos[2]) * coss(player->unk_02C[1] + player->unk_0C0)) + (-(player->rotX - player->pos[0]) * sins(player->unk_02C[1] + player->unk_0C0)); + if (temp_f2_2 > 0.1) { player->unk_044 |= 8; } else { player->unk_044 &= 0xFFF7; } - if ((player->unk_08C <= 0.0f) && (temp_v0_3 = player->unk_0BC, ((temp_v0_3 & 1) == 1)) && ((temp_v0_3 & 0x20) != 0x20)) { - sp180 = temp_f2_2 * 4500.0f; + if (((player->unk_08C <= 0.0f) && ((temp_v0_3 = player->unk_0BC, (temp_v0_3 & 1) == 1))) && ((temp_v0_3 & 0x20) != 0x20)) { + sp178[2] = temp_f2_2 * 4500.0f; } else { - sp180 = 0.0f; + sp178[2] = 0.0f; } - sp17C = 0.0f; - sp58 = temp_a1; - func_802B63B8(&sp178, (f32 (*)[3]) temp_a1); - spB4 += sp178; - spAC += sp180; + sp178[1] = 0.0f; + func_802B63B8(sp178, player->unk_174); + spB4 += sp178[0]; + spAC += sp178[2]; func_8002C7E4(player, arg3, arg2); - sp18C = func_80030150(player, arg3); - func_802B63B8(&sp184, (f32 (*)[3]) sp58); - sp98 = player->unk_034[0]; - sp9C = player->unk_034[1]; - spA0 = player->unk_034[2]; - if (((player->unk_10C < 3) && ((s32) player->unk_256 < 3)) || ((player->unk_0BC & 0x2000) == 0x2000)) { - temp_t4 = (s32) player->unk_07C >> 0x10; - if ((temp_t4 >= 0x28) || (temp_t4 < -0x27)) { - temp_f0_3 = (f64) sp98; - temp_f12 = (f64) sp7C; - temp_f2_3 = (f64) spA0; - sp98 = (f32) (temp_f0_3 + ((((f64) (sp184 + spB4 + sp160) - (temp_f0_3 * (0.12 * (f64) player->kartFriction))) / 6000.0) / (((f64) player->unk_20C * 0.6) + 1.0 + temp_f12))); - spA0 = (f32) (temp_f2_3 + ((((f64) (sp18C + spAC + sp168) - (temp_f2_3 * (0.12 * (f64) player->kartFriction))) / 6000.0) / (((f64) player->unk_20C * 0.6) + 1.0 + temp_f12))); + sp184[2] = func_80030150(player, arg3); + func_802B63B8(sp184, player->unk_174); + sp98[0] = player->unk_034[0]; + sp98[1] = player->unk_034[1]; + sp98[2] = player->unk_034[2]; + if (((player->unk_10C < 3) + && (((s32) player->unk_256) < 3)) + || ((player->unk_0BC & 0x2000) == 0x2000)) { + + if (((player->unk_07C >> 16) >= 0x28) + || ((player->unk_07C >> 16) < (-0x27))) { + + sp98[0] += (((((f64) ((sp184[0] + spB4) + sp160[0])) - (sp98[0] * (0.12 * ((f64) player->kartFriction)))) / 6000.0) / (((((f64) player->unk_20C) * 0.6) + 1.0) + sp7C)); + sp98[2] += (((((f64) ((sp184[2] + spAC) + sp160[2])) - (sp98[2] * (0.12 * ((f64) player->kartFriction)))) / 6000.0) / (((((f64) player->unk_20C) * 0.6) + 1.0) + sp7C)); } else { - temp_f0_4 = (f64) sp98; - temp_f12_2 = (f64) (sp7C + 1); - temp_f2_4 = (f64) spA0; - sp98 = (f32) (temp_f0_4 + ((((f64) (sp184 + spB4 + sp160) - (temp_f0_4 * (0.12 * (f64) player->kartFriction))) / 6000.0) / temp_f12_2)); - spA0 = (f32) (temp_f2_4 + ((((f64) (sp18C + spAC + sp168) - (temp_f2_4 * (0.12 * (f64) player->kartFriction))) / 6000.0) / temp_f12_2)); + sp98[0] += (((((f64) ((sp184[0] + spB4) + sp160[0])) - (sp98[0] * (0.12 * ((f64) player->kartFriction)))) / 6000.0) / (sp7C + 1)); + sp98[2] += (((((f64) ((sp184[2] + spAC) + sp160[2])) - (sp98[2] * (0.12 * ((f64) player->kartFriction)))) / 6000.0) / (sp7C + 1)); } } else { - temp_f0_5 = (f64) sp98; - temp_f2_5 = (f64) spA0; - sp98 = (f32) (temp_f0_5 + ((((f64) (sp184 + spB4 + sp160) - (temp_f0_5 * (0.12 * (f64) player->kartFriction))) / 6000.0) / 30.0)); - spA0 = (f32) (temp_f2_5 + ((((f64) (sp18C + spAC + sp168) - (temp_f2_5 * (0.12 * (f64) player->kartFriction))) / 6000.0) / 30.0)); + sp98[0] += (((((f64) ((sp184[0] + spB4) + sp160[0])) - (sp98[0] * (0.12 * ((f64) player->kartFriction)))) / 6000.0) / 30.0); + sp98[2] += (((((f64) ((sp184[2] + spAC) + sp160[2])) - (sp98[2] * (0.12 * ((f64) player->kartFriction)))) / 6000.0) / 30.0); } - temp_f0_6 = (f64) sp9C; - sp9C = (f32) (temp_f0_6 + ((((f64) (sp188 + spB0 + sp164) - (temp_f0_6 * (0.12 * (f64) player->kartFriction))) / 6000.0) / (f64) player->unk_DAC)); - temp_v0_4 = player->unk_0CA; - if (((temp_v0_4 & 2) == 2) || ((temp_v0_4 & 8) == 8) || ((player->unk_0BC & 0x04000000) == 0x04000000) || (temp_v0_4 & 1)) { - sp98 = 0.0f; - sp9C = 0.0f; - spA0 = 0.0f; + sp98[1] += (((((f64) ((sp184[1] + spB0) + sp160[1])) - (sp98[1] * (0.12 * ((f64) player->kartFriction)))) / 6000.0) / ((f64) player->unk_DAC)); + if (((((player->unk_0CA & 2) == 2) || ((player->unk_0CA & 8) == 8)) || ((player->unk_0BC & 0x04000000) == 0x04000000)) || (player->unk_0CA & 1)) { + sp98[0] = 0.0f; + sp98[1] = 0.0f; + sp98[2] = 0.0f; } - temp_v0_5 = player->unk_044; - if ((temp_v0_5 & 0x10) == 0x10) { - player->unk_044 = temp_v0_5 & 0xFFEF; + if ((player->unk_044 & 0x10) == 0x10) { + player->unk_044 &= 0xFFEF; } - temp_f0_7 = player->pos[0]; - spF0 = temp_f0_7; - temp_f2_6 = player->pos[2]; - temp_f12_3 = player->pos[1]; - spE8 = temp_f2_6; - player->rotX = temp_f0_7; - player->rotZ = temp_f2_6; - player->rotY = temp_f12_3; - temp_t9 = &D_8018CE10[arg3]; - sp54 = temp_t9; - spFC = temp_t9->unk_04[0] + (temp_f0_7 + player->unk_034[0]); - spF8 = player->unk_034[1] + temp_f12_3; - spF4 = temp_t9->unk_04[2] + (spE8 + player->unk_034[2]); - temp_v0_6 = player->unk_0CA; - if (((temp_v0_6 & 2) != 2) && ((temp_v0_6 & 8) != 8) && ((player->unk_0BC & 0x04000000) != 0x04000000) && !(temp_v0_6 & 1)) { + + posX = player->pos[0]; + posY = player->pos[1]; + posZ = player->pos[2]; + + player->rotX = player->pos[0]; + player->rotZ = player->pos[2]; + player->rotY = player->pos[1]; + spFC = posX + player->unk_034[0] + D_8018CE10[arg3].unk_04[0]; + spF8 = posY + player->unk_034[1]; + spF4 = posZ + player->unk_034[2] + D_8018CE10[arg3].unk_04[2]; + + if (((((player->unk_0CA & 2) != 2) + && ((player->unk_0CA & 8) != 8)) + && ((player->unk_0BC & 0x04000000) != 0x04000000)) + && (!(player->unk_0CA & 1))) { func_8002AAC0(player); - temp_f4 = spF8 + player->kartHopVelocity; - spF8 = temp_f4; - spF8 = (f32) ((f64) temp_f4 - 0.02); + spF8 += player->kartHopVelocity; + spF8 -= 0.02; } func_802AD950(&player->unk_110, player->boundingBoxSize, spFC, spF8, spF4, player->rotX, player->rotY, player->rotZ); player->unk_058 = 0.0f; player->unk_060 = 0.0f; player->unk_05C = 1.0f; if ((player->unk_044 & 1) != 1) { - func_802B6540((f32 (*)[3]) sp58, player->unk_058, player->unk_05C, player->unk_060, (s16) (s32) player->unk_02C[1]); + func_802B6540(player->unk_174, player->unk_058, player->unk_05C, player->unk_060, player->unk_02C[1]); } else { - func_802B6540((f32 (*)[3]) sp58, player->unk_058, player->unk_05C, player->unk_060, (s16) (player->unk_02C[1] + 0x8000)); + func_802B6540(player->unk_174, player->unk_058, player->unk_05C, player->unk_060, player->unk_02C[1] + 0x8000); } player->unk_0BC |= 8; player->unk_0C2 += 1; - spA8 = player->unk_110.unk3C[2]; - if (spA8 <= 0.0f) { - temp_v0_7 = player->unk_0C2; - temp_t4_2 = player->unk_0BC & ~2; - player->unk_0BC = temp_t4_2; - player->unk_0BC = temp_t4_2 & ~8; - if (temp_v0_7 >= 0x23) { - if (temp_v0_7 >= 0x32) { - player->unk_0C2 = 0x0032; + temp_var = player->unk_110.unk3C[2]; + if (temp_var <= 0.0f) { + player->unk_0BC = player->unk_0BC & (~2); + player->unk_0BC = player->unk_0BC & (~8); + if (player->unk_0C2 >= 35) { + if (player->unk_0C2 >= 0x32) { + player->unk_0C2 = 0x32; } - temp_v0_8 = player->unk_000; - var_v1 = temp_v0_8 & 0x4000; + player->unk_DB4.unkC = 3.0f; player->unk_DB4.unk18 = 0; player->unk_0B6 |= 0x100; - player->unk_DB4.unkC = 3.0f; - if ((var_v1 == 0x4000) && ((player->unk_0BC & 0x100000) == 0x100000) && ((temp_v0_8 & 0x100) != 0x100)) { - func_800C9060((u8) arg3, 0x1900A60AU); - var_v1 = player->unk_000 & 0x4000; - } else if ((var_v1 == 0x4000) && ((temp_v0_8 & 0x100) != 0x100)) { - func_800CADD0((u8) arg3, (f32) player->unk_0C2 / 35.0f); - var_v1 = player->unk_000 & 0x4000; + if ((((player->unk_000 & 0x4000) == 0x4000) + && ((player->unk_0BC & 0x100000) == 0x100000)) + && ((player->unk_000 & 0x100) != 0x100)) + + func_800C9060(arg3, 0x1900A60AU); + else if (((player->unk_000 & 0x4000) == 0x4000) && ((player->unk_000 & 0x100) != 0x100)) + { + func_800CADD0((u8) arg3, ((f32) player->unk_0C2) / 35.0f); } - if (var_v1 == 0x4000) { + if ((player->unk_000 & 0x4000) == 0x4000) + { player->unk_044 |= 0x100; } } - temp_v0_9 = player->unk_0C2; - if ((temp_v0_9 < 0x23) && (temp_v0_9 >= 0x1C) && (((player->unk_094 / 18.0f) * 216.0f) >= 20.0f)) { - temp_v0_10 = player->unk_000; - var_v1_2 = temp_v0_10 & 0x4000; - player->unk_DB4.unk18 = 0; + if (((player->unk_0C2 < 0x23) && (player->unk_0C2 >= 0x1C)) && (((player->unk_094 / 18.0f) * 216.0f) >= 20.0f)) { player->unk_DB4.unkC = 2.8f; - if ((var_v1_2 == 0x4000) && ((temp_v0_10 & 0x100) != 0x100)) { - func_800CADD0((u8) arg3, (f32) player->unk_0C2 / 35.0f); - var_v1_2 = player->unk_000 & 0x4000; + player->unk_DB4.unk18 = 0; + if (((player->unk_000 & 0x4000) == 0x4000) + && ((player->unk_000 & 0x100) != 0x100)) { + func_800CADD0((u8) arg3, ((f32) player->unk_0C2) / 35.0f); } - if (var_v1_2 == 0x4000) { + if ((player->unk_000 & 0x4000) == 0x4000) { player->unk_044 |= 0x100; } } - temp_v0_11 = player->unk_0C2; - if ((temp_v0_11 < 0x1C) && (temp_v0_11 >= 4) && (((player->unk_094 / 18.0f) * 216.0f) >= 20.0f)) { - temp_v0_12 = player->unk_000; + if (((player->unk_0C2 < 0x1C) && (player->unk_0C2 >= 4)) && (((player->unk_094 / 18.0f) * 216.0f) >= 20.0f)) { player->unk_DB4.unk18 = 0; player->unk_DB4.unkC = 1.5f; - if (((temp_v0_12 & 0x4000) == 0x4000) && ((temp_v0_12 & 0x100) != 0x100)) { - temp_v0_13 = player->unk_0C2; - if ((temp_v0_13 < 0xB) && (temp_v0_13 >= 4) && (gCurrentCourseId == 2)) { - func_800CADD0((u8) arg3, (f32) temp_v0_13 / 14.0f); - } else { - func_800CADD0((u8) arg3, (f32) temp_v0_13 / 25.0f); + if (((player->unk_000 & 0x4000) == 0x4000) && ((player->unk_000 & 0x100) != 0x100)) { + if (((player->unk_0C2 < 0xB) && (player->unk_0C2 >= 4)) && (gCurrentCourseId == 2)) { + func_800CADD0((u8) arg3, player->unk_0C2 / 14.0f); + } + else { + func_800CADD0((u8) arg3, player->unk_0C2 / 25.0f); } } } player->unk_0C2 = 0; - player->kartHopVelocity = (f32) player->unk_0C2; + player->kartHopVelocity = player->unk_0C2; } - spA8 = player->unk_110.unk3C[2]; - if (spA8 <= 0.0f) { - func_8003F46C(player, &sp8C, &sp98, &sp178, &spA8, &spFC, &spF8, &spF4); + temp_var = player->unk_110.unk3C[2]; + if (temp_var <= 0.0f) { + func_8003F46C(player, sp8C, sp98, sp178, &temp_var, &spFC, &spF8, &spF4); } - spA8 = player->unk_110.unk3C[0]; - if (spA8 < 0.0f) { - func_8003F734(player, &sp8C, &sp98, &spA8, &spFC, &spF8, &spF4); - func_8002C954(player, arg3, &sp98); + temp_var = player->unk_110.unk3C[0]; + if (temp_var < 0.0f) { + func_8003F734(player, sp8C, sp98, &temp_var, &spFC, &spF8, &spF4); + func_8002C954(player, arg3, sp98); } - spA8 = player->unk_110.unk3C[1]; - if (spA8 < 0.0f) { - func_8003FBAC(player, &sp8C, &sp98, &spA8, &spFC, &spF8, &spF4); - func_8002C954(player, arg3, &sp98); + temp_var = player->unk_110.unk3C[1]; + if (temp_var < 0.0f) { + func_8003FBAC(player, sp8C, sp98, &temp_var, &spFC, &spF8, &spF4); + func_8002C954(player, arg3, sp98); } - spA8 = player->unk_110.unk3C[0]; - if (spA8 >= 0.0f) { - spA8 = player->unk_110.unk3C[1]; - if (spA8 >= 0.0f) { - temp_v0_14 = player->unk_256; + temp_var = player->unk_110.unk3C[0]; + if (temp_var >= 0.0f) { + temp_var = player->unk_110.unk3C[1]; + if (temp_var >= 0.0f) { player->unk_046 &= 0xFFDF; - if (temp_v0_14 != 0) { - temp_t6_2 = temp_v0_14 + 1; - player->unk_256 = temp_t6_2; - if ((temp_t6_2 & 0xFFFF) >= 0xA) { - player->unk_256 = 0; + if (player->unk_256 != 0) { + player->unk_256++; + if (player->unk_256 >= 10) + { + player->unk_256 = 0; } } } } - if (!(player->unk_0BC & 8) && (func_802ABDB8(player->unk_110.unk3A) != 0) && ((player->unk_0BC & 0x10000) != 0x10000)) { - temp_v0_15 = player->unk_0CA; - if (!(temp_v0_15 & 2) || !(temp_v0_15 & 8)) { + if (((!(player->unk_0BC & 8)) && (func_802ABDB8(player->unk_110.unk3A) != 0)) && ((player->unk_0BC & 0x10000) != 0x10000)) { + if ((!(player->unk_0CA & 2)) || (!(player->unk_0CA & 8))) { func_8008F494(player, arg3); } - } else if (!(player->unk_0BC & 8) && (func_802ABDB8(player->unk_110.unk3A) == 0) && (player->unk_0BC & 0x10000)) { + } else if (((!(player->unk_0BC & 8)) && (func_802ABDB8(player->unk_110.unk3A) == 0)) && (player->unk_0BC & 0x10000)) { func_8008F5A4(player, arg3); } player->unk_074 = func_802ABE30(spFC, spF8, spF4, player->unk_110.unk3A); - if (((player->unk_000 & 0x4000) == 0x4000) && ((gActiveScreenMode == 0) || (gActiveScreenMode == 2) || (gActiveScreenMode == 1))) { + if (((player->unk_000 & 0x4000) == 0x4000) && (((gActiveScreenMode == 0) || (gActiveScreenMode == 2)) || (gActiveScreenMode == 1))) { func_80029B4C(player, spFC, spF8, spF4); } else { func_8002A194(player, spFC, spF8, spF4); } - func_8002AE38(player, arg3, spF0, spE8, spFC, spF4); + func_8002AE38(player, arg3, posX, posZ, spFC, spF4); + + temp2 = (sp98[0] * sp98[0]) + (sp98[2] * sp98[2]); player->unk_22C = player->unk_094; - player->unk_094 = sqrtf((spA0 * spA0) + (sp98 * sp98)); - if ((player->unk_08C <= 0.0f) && ((f64) player->unk_094 <= 0.08) && (sp54->unk_04[0] == 0.0f) && (sp54->unk_04[2] == 0.0f)) { - sp98 += sp98 * -1.0f; - spA0 += spA0 * -1.0f; + player->unk_094 = sqrtf(temp2); + + if ((player->unk_08C <= 0.0f) + && (player->unk_094 <= 0.08) + && (D_8018CE10[arg3].unk_04[0] == 0.0f) + && (D_8018CE10[arg3].unk_04[2] == 0.0f)) { + sp98[0] = sp98[0] + (-1 * sp98[0]); + sp98[2] = sp98[2] + (-1 * sp98[2]); } else { player->pos[0] = spFC; player->pos[2] = spF4; } - temp_v0_16 = player->unk_000; player->pos[1] = spF8; - if ((temp_v0_16 & 0x4000) && !(temp_v0_16 & 0x1000)) { - func_8002BB9C(player, &spFC, &spF4, arg2, (s32) arg3, &sp98); + if ((player->unk_000 & 0x4000) && (!(player->unk_000 & 0x1000))) { + func_8002BB9C(player, &spFC, &spF4, arg2, arg3, sp98); } - player->unk_064 = sp178; - player->unk_06C = sp180; - player->unk_034[0] = sp98; - player->unk_034[1] = sp9C; - player->unk_034[2] = spA0; - temp_v0_17 = D_80165070[arg3]; - temp_v0_17->unk0 = sp98; - temp_v0_17->unk4 = sp9C; - temp_v0_17->unk8 = spA0; + player->unk_064[0] = sp178[0]; + player->unk_064[2] = sp178[2]; + player->unk_034[0] = sp98[0]; + player->unk_034[1] = sp98[1]; + player->unk_034[2] = sp98[2]; + D_80165070[arg3][0] = sp98[0]; + D_80165070[arg3][1] = sp98[1]; + D_80165070[arg3][2] = sp98[2]; if ((player->unk_000 & 0x4000) == 0x4000) { - temp_f2_7 = player->unk_094; - temp_v0_18 = &gKartTopSpeedTable[player->characterId]; - temp_f12_4 = *temp_v0_18; - if (temp_f12_4 < temp_f2_7) { - temp_f0_8 = temp_f12_4 / temp_f2_7; - player->unk_034[0] *= temp_f0_8; - player->unk_034[1] *= temp_f0_8; - player->unk_034[2] *= temp_f0_8; - player->unk_094 = *temp_v0_18; + if (gKartTopSpeedTable[player->characterId] < player->unk_094) { + temp = gKartTopSpeedTable[player->characterId] / player->unk_094; + player->unk_034[0] *= temp; + player->unk_034[1] *= temp; + player->unk_034[2] *= temp; + player->unk_094 = gKartTopSpeedTable[player->characterId]; } } if ((player->unk_044 & 1) == 1) { - temp_f2_8 = player->unk_094; - if (temp_f2_8 > 1.0f) { - temp_f0_9 = 1.0f / temp_f2_8; - player->unk_094 = 1.0f; - player->unk_034[0] *= temp_f0_9; - player->unk_034[1] *= temp_f0_9; - player->unk_034[2] *= temp_f0_9; + if (player->unk_094 > 1) { + temp = 1 / player->unk_094; + player->unk_034[0] *= temp; + player->unk_034[1] *= temp; + player->unk_034[2] *= temp; + player->unk_094 = 1; } } if (player->unk_110.unk3C[2] >= 500.0f) { - player->unk_078 = (s16) ((s16) player->unk_078 / 2); + player->unk_078 = (s16) (((s16) player->unk_078) / 2); } func_8002C4F8(player, arg3); } -#else -GLOBAL_ASM("asm/non_matchings/player_controller/func_8002D268.s") -#endif void func_8002E4C4(Player *player) { s32 player_index; @@ -2629,84 +2518,36 @@ void func_8002E4C4(Player *player) { player->unk_034[1] = 0.0f; } -#ifdef MIPS_TO_C -//generated by m2c commit eefca95b040d7ee0c617bc58f9ac6cd1cf7bce87 on Aug-17-2023 -? func_80029B4C(Player *, f32, f32, f32); /* extern */ -? func_800CADD0(u8, f32); /* extern */ -static ? D_800E3D74; /* unable to generate initializer */ -static ? D_800E3D80; /* unable to generate initializer */ -static ? D_800E3D8C; /* unable to generate initializer */ - -void func_8002E594(Player *player, Camera *camera, s8 arg2, s8 arg3) { - f32 spF4; - f32 spEC; - f32 spE0; - f32 spD4; +void func_8002E594(Player *player, UNUSED Camera *camera, s8 arg2, s8 arg3) { + Vec3f spEC = {0.0f, 0.0f, 1.0f}; + Vec3f spE0 = {0.0f, 0.0f, 0.0f}; + Vec3f spD4 = {0.0f, 0.0f, 0.0f}; f32 spD0; f32 spCC; f32 spC8; - f32 spBC; - f32 spB4; + f32 temp_f0_6; + UNUSED s32 pad; + f32 posX; + f32 posY; + f32 posZ; + UNUSED s32 pad2[12]; f32 sp80; f32 sp7C; f32 sp78; f32 sp74; - f32 sp5C; - f32 sp58; - f32 sp54; - f32 sp48; + UNUSED s32 pad3[4]; + f32 temp; + Vec3f sp54; + Vec3f sp48; s16 sp46; - f32 *sp40; - f32 *temp_a0; - f32 *temp_a0_2; - f32 *temp_v0_12; - f32 temp_f0; - f32 temp_f0_5; - f32 temp_f0_6; - f32 temp_f12; - f32 temp_f18; - f32 temp_f2_3; - f32 temp_f2_4; - f32 temp_f4; - f32 temp_f6; - f64 temp_f0_2; - f64 temp_f0_3; - f64 temp_f0_4; - f64 temp_f2; - f64 temp_f2_2; - s16 temp_v0_10; - s16 temp_v0_4; - s16 temp_v0_6; - s16 temp_v0_7; - s16 temp_v0_8; - s32 temp_t1; - s32 temp_t5; - s32 temp_v0; - s32 temp_v0_11; - s32 temp_v0_2; - s32 temp_v0_3; - s32 temp_v1_4; - s32 var_v0; - s32 var_v0_2; - struct_D_8018CE10 *temp_v0_5; - u16 temp_t8; - u16 temp_v0_9; - u16 temp_v1; - u16 temp_v1_2; - u16 temp_v1_3; - - spEC.unk0 = D_800E3D74.unk0; - spEC.unk4 = (s32) D_800E3D74.unk4; - spEC.unk8 = (s32) D_800E3D74.unk8; - spE0.unk0 = D_800E3D80.unk0; - spE0.unk4 = (s32) D_800E3D80.unk4; - spE0.unk8 = (s32) D_800E3D80.unk8; - spD4.unk0 = D_800E3D8C.unk0; - spD4.unk4 = (s32) D_800E3D8C.unk4; - spD4.unk8 = (s32) D_800E3D8C.unk8; func_8002B830(player, arg3, arg2); - temp_v0 = player->unk_0BC; - if (((temp_v0 & 0x80) == 0x80) || ((temp_v0 & 0x40) == 0x40) || ((temp_v0 & 0x4000) == 0x4000) || ((temp_v0 & 0x80000) == 0x80000) || ((temp_v0 & 0x800000) == 0x800000) || ((temp_v0 & 0x20000) == 0x20000) || (player->unk_044 & 0x800)) { + if ((((((((player->unk_0BC & 0x80) == 0x80) + || ((player->unk_0BC & 0x40) == 0x40)) + || ((player->unk_0BC & 0x4000) == 0x4000)) + || ((player->unk_0BC & 0x80000) == 0x80000)) + || ((player->unk_0BC & 0x800000) == 0x800000)) + || ((player->unk_0BC & 0x20000) == 0x20000)) + || (player->unk_044 & 0x800)) { sp46 = 1; } else { sp46 = 0; @@ -2714,73 +2555,66 @@ void func_8002E594(Player *player, Camera *camera, s8 arg2, s8 arg3) { func_8002CD48(player, arg3, arg2); func_8002AB70(player); func_8002FCA8(player, arg3); - temp_v0_2 = player->unk_0BC; - if (((temp_v0_2 & 0x80) == 0x80) || ((temp_v0_2 & 0x40) == 0x40) || ((temp_v0_2 & 0x20000) == 0x20000)) { - temp_f0 = player->kartGravity; - sp80 = (f32) (((f64) (-player->unk_110.unk60[0] * temp_f0) * 0.1) + (f64) (-1.0f * player->unk_064)); - sp7C = -player->unk_110.unk60[1] * temp_f0; - sp78 = (f32) (((f64) (-player->unk_110.unk60[2] * temp_f0) * 0.1) + (f64) (-1.0f * player->unk_06C)); + if ((((player->unk_0BC & 0x80) == 0x80) + || ((player->unk_0BC & 0x40) == 0x40)) + || ((player->unk_0BC & 0x20000) == 0x20000)) { + sp80 = -1 * (player->unk_064[0]) + (((-player->unk_110.unk60[0]) * player->kartGravity) * 0.1); + sp7C = (-player->unk_110.unk60[1]) * player->kartGravity; + sp78 = -1 * (player->unk_064[2]) + (((-player->unk_110.unk60[2]) * player->kartGravity) * 0.1); } else { - sp80 = player->unk_064 * -1.0f; - sp7C = player->kartGravity * -1.0f; - sp78 = player->unk_06C * -1.0f; + sp80 = -1 * player->unk_064[0]; + sp7C = -1 * player->kartGravity; + sp78 = -1 * player->unk_064[2]; } func_8002C7E4(player, arg3, arg2); if (sp46 == 1) { - temp_a0 = player->unk_174[0]; - sp40 = temp_a0; - func_802B6540((f32 (*)[3]) temp_a0, player->unk_058, player->unk_05C, player->unk_060, (s16) (s32) player->unk_02C[1]); - func_802B6540((f32 (*)[3]) player->unk_150[0], player->unk_058, player->unk_05C, player->unk_060, (s16) (s32) player->unk_0AE); + func_802B6540(player->unk_174, player->unk_058, player->unk_05C, player->unk_060, (s16) ((s32) player->unk_02C[1])); + func_802B6540(player->unk_150, player->unk_058, player->unk_05C, player->unk_060, (s16) ((s32) player->unk_0AE)); } else { - temp_a0_2 = player->unk_174[0]; - sp40 = temp_a0_2; - func_802B6540((f32 (*)[3]) temp_a0_2, player->unk_058, player->unk_05C, player->unk_060, (s16) (s32) player->unk_02C[1]); + func_802B6540(player->unk_174, player->unk_058, player->unk_05C, player->unk_060, (s16) ((s32) player->unk_02C[1])); } - spF4 = func_80030150(player, arg3); + spEC[2] = func_80030150(player, arg3); if (sp46 == 1) { - func_802B63B8(&spEC, (f32 (*)[3]) player->unk_150[0]); + func_802B63B8(spEC, player->unk_150); } else { - func_802B63B8(&spEC, (f32 (*)[3]) sp40); + func_802B63B8(spEC, player->unk_174); } - sp54 = player->unk_034[0]; - sp58 = player->unk_034[1]; - sp5C = player->unk_034[2]; - if ((player->unk_10C < 3) && ((s32) player->unk_256 < 3) && (temp_v0_3 = player->unk_0BC, ((temp_v0_3 & 0x400) != 0x400)) && ((temp_v0_3 & 0x01000000) != 0x01000000) && ((temp_v0_3 & 0x02000000) != 0x02000000)) { - temp_f0_2 = (f64) sp54; - temp_f2 = (f64) sp5C; - sp54 = (f32) (temp_f0_2 + ((((f64) (spEC + sp80 + spD4) - (temp_f0_2 * (0.12 * (f64) player->kartFriction))) / 6000.0) / (f64) ((player->unk_20C * 5.0f) + 1.0f))); - sp5C = (f32) (temp_f2 + ((((f64) (spF4 + sp78 + spDC) - (temp_f2 * (0.12 * (f64) player->kartFriction))) / 6000.0) / (f64) ((player->unk_20C * 5.0f) + 1.0f))); + sp54[0] = player->unk_034[0]; + sp54[1] = player->unk_034[1]; + sp54[2] = player->unk_034[2]; + if ((player->unk_10C < 3) + && ((player->unk_256) < 3) + && ((player->unk_0BC & 0x400) != 0x400) + && ((player->unk_0BC & 0x01000000) != 0x01000000) + && ((player->unk_0BC & 0x02000000) != 0x02000000)) { + sp54[0] += (((((spEC[0] + sp80) + spD4[0])) - (sp54[0] * (0.12 * player->kartFriction))) / 6000) / ((player->unk_20C * 5.0f) + 1.0f); + sp54[2] += (((((spEC[2] + sp78) + spD4[2])) - (sp54[2] * (0.12 * player->kartFriction))) / 6000) / ((player->unk_20C * 5.0f) + 1.0f); } else { - temp_f0_3 = (f64) sp54; - temp_f2_2 = (f64) sp5C; - sp54 = (f32) (temp_f0_3 + ((((f64) (spEC + sp80 + spD4) - (temp_f0_3 * (0.2 * (f64) player->kartFriction))) / 6000.0) * 0.08)); - sp5C = (f32) (temp_f2_2 + ((((f64) (spF4 + sp78 + spDC) - (temp_f2_2 * (0.2 * (f64) player->kartFriction))) / 6000.0) * 0.08)); + sp54[0] += ((((f64) (spEC[0] + sp80 + spD4[0]) - (sp54[0] * (0.2 * (f64) player->kartFriction))) / 6000) * 0.08); + sp54[2] += ((((f64) (spEC[2] + sp78 + spD4[2]) - (sp54[2] * (0.2 * (f64) player->kartFriction))) / 6000) * 0.08); + } - temp_f0_4 = (f64) sp58; - sp58 = (f32) (temp_f0_4 + ((((f64) (spF0 + sp7C + spD8) - (temp_f0_4 * (0.12 * (f64) player->kartFriction))) / 6000.0) / (f64) player->unk_DAC)); - temp_v0_4 = player->unk_0CA; - if (((temp_v0_4 & 2) == 2) || ((temp_v0_4 & 8) == 8)) { - sp58 = 0.0f; - sp54 = 0.0f; - sp5C = 0.0f; + sp54[1] += ((( ((spEC[1] + sp7C) + spD4[1])) - (sp54[1] * (0.12 * player->kartFriction))) / 6000) / player->unk_DAC; + + if (((player->unk_0CA & 2) == 2) || ((player->unk_0CA & 8) == 8)) { + sp54[0] = 0.0f; + sp54[1] = 0.0f; + sp54[2] = 0.0f; } - temp_f0_5 = player->pos[0]; - spBC = temp_f0_5; - temp_f2_3 = player->pos[1]; - temp_f18 = player->pos[2]; - player->rotX = temp_f0_5; - player->rotY = temp_f2_3; - player->rotZ = temp_f18; - temp_v0_5 = &D_8018CE10[arg3]; - spD0 = temp_v0_5->unk_04[0] + (temp_f0_5 + player->unk_034[0]); - spCC = player->unk_034[1] + temp_f2_3; - spB4 = temp_f18; - temp_f6 = temp_v0_5->unk_04[2] + (temp_f18 + player->unk_034[2]); - spC8 = temp_f6; + posX = player->pos[0]; + posY = player->pos[1]; + posZ = player->pos[2]; + + player->rotX = player->pos[0]; + player->rotY = player->pos[1]; + player->rotZ = player->pos[2]; + + spD0 = posX + player->unk_034[0] + D_8018CE10[arg3].unk_04[0]; + spCC = posY + player->unk_034[1]; + spC8 = posZ + player->unk_034[2] + D_8018CE10[arg3].unk_04[2]; func_8002AAC0(player); - temp_f4 = spCC + player->kartHopVelocity; - spCC = temp_f4; - func_802AD950(&player->unk_110, player->boundingBoxSize, spD0, temp_f4, temp_f6, player->rotX, player->rotY, player->rotZ); + spCC += player->kartHopVelocity; + func_802AD950(&player->unk_110, player->boundingBoxSize, spD0, spCC, spC8, player->rotX, player->rotY, player->rotZ); player->unk_0BC |= 8; player->unk_0C2 += 1; player->unk_058 = 0.0f; @@ -2788,193 +2622,161 @@ void func_8002E594(Player *player, Camera *camera, s8 arg2, s8 arg3) { player->unk_05C = 1.0f; sp74 = player->unk_110.unk3C[2]; if (sp74 <= 0.0f) { - temp_t1 = player->unk_0BC & ~2; - temp_t5 = temp_t1 & ~8; - player->unk_0BC = temp_t1; - player->unk_0BC = temp_t5; - if (((temp_t5 & 0x400) != 0x400) && ((temp_t5 & 0x01000000) != 0x01000000) && ((temp_t5 & 0x02000000) != 0x02000000)) { - temp_v0_6 = player->unk_0C2; - if (temp_v0_6 >= 0x1C) { - if (temp_v0_6 >= 0x32) { - player->unk_0C2 = 0x0032; - } - temp_v1 = player->unk_000; - var_v0 = temp_v1 & 0x4000; - player->unk_DB4.unk18 = 0; - player->unk_0B6 |= 0x100; - player->unk_DB4.unkC = 3.0f; - if ((var_v0 == 0x4000) && ((temp_v1 & 0x100) != 0x100)) { - func_800CADD0((u8) arg3, (f32) player->unk_0C2 / 50.0f); - var_v0 = player->unk_000 & 0x4000; - } - if (var_v0 == 0x4000) { - player->unk_044 |= 0x100; - } - } - temp_v0_7 = player->unk_0C2; - if ((temp_v0_7 < 0x1C) && (temp_v0_7 >= 0xA) && (((player->unk_094 / 18.0f) * 216.0f) >= 20.0f)) { - temp_v1_2 = player->unk_000; - var_v0_2 = temp_v1_2 & 0x4000; - player->unk_DB4.unk18 = 0; - player->unk_DB4.unkC = 2.0f; - if ((var_v0_2 == 0x4000) && ((temp_v1_2 & 0x100) != 0x100)) { - func_800CADD0((u8) arg3, (f32) player->unk_0C2 / 50.0f); - var_v0_2 = player->unk_000 & 0x4000; - } - if (var_v0_2 == 0x4000) { - player->unk_044 |= 0x100; - } - } - goto block_63; - } - temp_v0_8 = player->unk_0C2; - if (temp_v0_8 >= 0xA) { - if (temp_v0_8 >= 0x32) { + player->unk_0BC &= ~2; + player->unk_0BC &= ~8; + if ((((player->unk_0BC & 0x400) != 0x400) + && ((player->unk_0BC & 0x01000000) != 0x01000000)) + && ((player->unk_0BC & 0x02000000) != 0x02000000)) { + if (player->unk_0C2 >= 0x1C) { + if (player->unk_0C2 >= 0x32) { player->unk_0C2 = 0x0032; } - temp_v1_3 = player->unk_000; - if (((temp_v1_3 & 0x4000) == 0x4000) && ((temp_v1_3 & 0x100) != 0x100)) { - func_800CADD0((u8) arg3, (f32) player->unk_0C2 / 20.0f); + player->unk_DB4.unk18 = 0; + player->unk_0B6 |= 0x100; + player->unk_DB4.unkC = 3.0f; + if (((player->unk_000 & 0x4000) == 0x4000) && ((player->unk_000 & 0x100) != 0x100)) { + func_800CADD0((u8) arg3, ((f32) player->unk_0C2) / 50.0f); + } + if ((player->unk_000 & 0x4000) == 0x4000) { + player->unk_044 |= 0x100; + } + } + if (((player->unk_0C2 < 0x1C) + && (player->unk_0C2 >= 0xA)) + && (((player->unk_094 / 18.0f) * 216.0f) >= 20.0f)) { + player->unk_DB4.unkC = 2.0f; + player->unk_DB4.unk18 = 0; + if (((player->unk_000 & 0x4000) == 0x4000) && ((player->unk_000 & 0x100) != 0x100)) { + func_800CADD0((u8) arg3, ((f32) player->unk_0C2) / 50.0f); + } + if ((player->unk_000 & 0x4000) == 0x4000) { + player->unk_044 |= 0x100; + } + } + player->unk_0C2 = 0; + } else { + if (player->unk_0C2 >= 0xA) { + if (player->unk_0C2 >= 0x32) { + player->unk_0C2 = 0x0032; + } + if (((player->unk_000 & 0x4000) == 0x4000) && ((player->unk_000 & 0x100) != 0x100)) { + func_800CADD0((u8) arg3, ((f32) player->unk_0C2) / 20.0f); } if (player->unk_0C2 >= 0x28) { player->unk_0C2 = 0x0014; } if ((player->unk_0BC & 0x400) == 0x400) { - player->unk_0C2 = (s16) (s32) ((f64) player->unk_0C2 / 6.5); - player->kartHopAcceleration = 0.0f; + player->unk_0C2 /= 6.5; player->kartHopJerk = 0.06f; + player->kartHopAcceleration = 0.0f; } else { - player->unk_0C2 = (s16) (s32) ((f64) player->unk_0C2 / 7.5); - player->kartHopAcceleration = 0.0f; + player->unk_0C2 /= 7.5; player->kartHopJerk = 0.06f; + player->kartHopAcceleration = 0.0f; if ((player->unk_000 & 0x4000) == 0x4000) { player->unk_044 |= 0x100; } } - } else { -block_63: - player->unk_0C2 = 0; + } else { + player->unk_0C2 = 0; + } } player->kartHopVelocity = (f32) player->unk_0C2; } sp74 = player->unk_110.unk3C[2]; if (sp74 <= 0.0f) { - func_8003F46C(player, &sp48, &sp54, &spE0, &sp74, &spD0, &spCC, &spC8); + func_8003F46C(player, sp48, sp54, spE0, &sp74, &spD0, &spCC, &spC8); } sp74 = player->unk_110.unk3C[0]; if (sp74 < 0.0f) { - func_8003F734(player, &sp48, &sp54, &sp74, &spD0, &spCC, &spC8); - func_8002C954(player, arg3, &sp54); + func_8003F734(player, sp48, sp54, &sp74, &spD0, &spCC, &spC8); + func_8002C954(player, arg3, sp54); func_80031F48(player, 6.0f); } sp74 = player->unk_110.unk3C[1]; if (sp74 < 0.0f) { - func_8003FBAC(player, &sp48, &sp54, &sp74, &spD0, &spCC, &spC8); - func_8002C954(player, arg3, &sp54); + func_8003FBAC(player, sp48, sp54, &sp74, &spD0, &spCC, &spC8); + func_8002C954(player, arg3, sp54); func_80031F48(player, 6.0f); } sp74 = player->unk_110.unk3C[0]; if (sp74 >= 0.0f) { sp74 = player->unk_110.unk3C[1]; if (sp74 >= 0.0f) { - temp_v0_9 = player->unk_256; player->unk_046 &= 0xFFDF; - if (temp_v0_9 != 0) { - temp_t8 = temp_v0_9 + 1; - player->unk_256 = temp_t8; - if ((temp_t8 & 0xFFFF) >= 0xA) { - player->unk_256 = 0; + if (player->unk_256 != 0) { + player->unk_256++; + if ((player->unk_256) >= 0xA) + { + player->unk_256 = 0; } } } } - if ((func_802ABDB8(player->unk_110.unk3A) != 0) && ((player->unk_0BC & 0x10000) != 0x10000) && (((player->unk_094 / 18.0f) * 216.0f) >= 20.0f)) { - temp_v0_10 = player->unk_0CA; - if (!(temp_v0_10 & 2) || !(temp_v0_10 & 8)) { + if (((func_802ABDB8(player->unk_110.unk3A) != 0) && ((player->unk_0BC & 0x10000) != 0x10000)) && (((player->unk_094 / 18.0f) * 216.0f) >= 20.0f)) { + if ((!(player->unk_0CA & 2)) || (!(player->unk_0CA & 8))) { func_8008F494(player, arg3); } - } else if (!(player->unk_0BC & 8) && (func_802ABDB8(player->unk_110.unk3A) == 0) && (player->unk_0BC & 0x10000)) { + } else if (((!(player->unk_0BC & 8)) && (func_802ABDB8(player->unk_110.unk3A) == 0)) && (player->unk_0BC & 0x10000)) { func_8008F5A4(player, arg3); } player->unk_074 = func_802ABE30(spD0, spCC, spC8, player->unk_110.unk3A); - if (((player->unk_000 & 0x4000) == 0x4000) && ((gActiveScreenMode == 0) || (gActiveScreenMode == 2) || (gActiveScreenMode == 1))) { + if (((player->unk_000 & 0x4000) == 0x4000) && (((gActiveScreenMode == 0) || (gActiveScreenMode == 2)) || (gActiveScreenMode == 1))) { func_80029B4C(player, spD0, spCC, spC8); } else { func_8002A194(player, spD0, spCC, spC8); } - func_8002AE38(player, arg3, spBC, spB4, spD0, spC8); + func_8002AE38(player, arg3, posX, posZ, spD0, spC8); + temp = (sp54[0] * sp54[0]) + (sp54[2] * sp54[2]); player->unk_22C = player->unk_094; - temp_v0_11 = player->unk_0BC; - player->unk_094 = sqrtf((sp5C * sp5C) + (sp54 * sp54)); - temp_v1_4 = temp_v0_11 & 0x400; - if (((temp_v1_4 != 0x400) && (player->unk_08C <= 0.0f) && ((f64) player->unk_094 < 0.13)) || ((temp_v1_4 != 0x400) && (player->unk_08C <= 0.0f) && ((f64) player->unk_094 < 0.2) && ((temp_v0_11 & 1) == 1))) { - sp54 += sp54 * -1.0f; - sp5C += sp5C * -1.0f; + player->unk_094 = sqrtf(temp); + if ((((player->unk_0BC & 0x400) != 0x400) + && (player->unk_08C <= 0) + && (player->unk_094 < 0.13)) + || (((player->unk_0BC & 0x400) != 0x400) + && (player->unk_08C <= 0) + && (player->unk_094 < 0.20) + && ((player->unk_0BC & 1) == 1))) { + sp54[0] = sp54[0] + (-1 * sp54[0]); + sp54[2] = sp54[2] + (-1 * sp54[2]); } else { player->pos[0] = spD0; player->pos[2] = spC8; } player->pos[1] = spCC; - player->unk_064 = spE0; - player->unk_06C = spE8; - player->unk_034[0] = sp54; - player->unk_034[1] = sp58; - player->unk_034[2] = sp5C; + player->unk_064[0] = spE0[0]; + player->unk_064[2] = spE0[2]; + player->unk_034[0] = sp54[0]; + player->unk_034[1] = sp54[1]; + player->unk_034[2] = sp54[2]; if ((player->unk_000 & 0x4000) == 0x4000) { - temp_f2_4 = player->unk_094; - temp_v0_12 = &gKartTopSpeedTable[player->characterId]; - temp_f12 = *temp_v0_12; - if (temp_f12 < temp_f2_4) { - temp_f0_6 = temp_f12 / temp_f2_4; - player->unk_034[0] *= temp_f0_6; - player->unk_034[1] *= temp_f0_6; - player->unk_034[2] *= temp_f0_6; - player->unk_094 = *temp_v0_12; + if (gKartTopSpeedTable[player->characterId] < player->unk_094) { + temp_f0_6 = gKartTopSpeedTable[player->characterId] / player->unk_094; + player->unk_034[0] *= temp_f0_6; + player->unk_034[1] *= temp_f0_6; + player->unk_034[2] *= temp_f0_6; + player->unk_094 = gKartTopSpeedTable[player->characterId]; } } func_8002C4F8(player, arg3); } -#else -GLOBAL_ASM("asm/non_matchings/player_controller/func_8002E594.s") -#endif -void control_cpu_movement(Player *player, Camera *camera, s8 arg2, s8 arg3) { +void control_cpu_movement(Player *player, UNUSED Camera *camera, s8 arg2, s8 arg3) { Vec3f spF4 = {0.0f, 0.0f, 1.0f}; - Vec3f spE8 = {0.0f, 0.0f, 0.0f}; + UNUSED Vec3f spE8 = {0.0f, 0.0f, 0.0f}; Vec3f spDC = {0.0f, 0.0f, 0.0f}; Vec3f spD0 = {0.0f, 0.0f, 0.0f}; f32 spCC; - f32 stackPadding00; + UNUSED s32 pad; f32 spC4; - f32 stackPadding01; - f32 stackPadding02; - f32 stackPadding03; - f32 stackPadding04; - f32 stackPadding05; - f32 stackPadding06; - f32 stackPadding07; - f32 stackPadding08; - f32 stackPadding09; - f32 stackPadding10; - f32 stackPadding11; - f32 stackPadding12; - f32 stackPadding13; - f32 stackPadding14; - f32 stackPadding15; + UNUSED s32 pad2[15]; f32 sp84; - f32 stackPadding16; + UNUSED s32 pad3; f32 sp7C; - f32 stackPadding17; - f32 stackPadding18; + UNUSED s32 pad4[2]; Vec3f sp68; - f32 stackPadding19; - f32 stackPadding20; - f32 stackPadding21; - f32 stackPadding22; - f32 stackPadding23; - f32 stackPadding24; - f32 stackPadding25; - f32 stackPadding26; + UNUSED f32 pad5[7]; + f32 toSqrt; f32 temp_f0_2; f32 test; player->unk_0BC |= 0x1000; @@ -2984,8 +2786,8 @@ void control_cpu_movement(Player *player, Camera *camera, s8 arg2, s8 arg3) { player->unk_0BC &= ~0x10; func_8002B830(player, arg3, arg2); func_8002CD48(player, arg3, arg2); - sp84 = spDC[0] + (0 * player->unk_064); - sp7C = spDC[2] + (0 * player->unk_06C); + sp84 = 0 * player->unk_064[0] + spDC[0]; + sp7C = 0 * player->unk_064[2] + spDC[2]; player->unk_10C = 0; player->unk_256 = 0; player->unk_0BC &= ~0x8000; @@ -3011,14 +2813,14 @@ void control_cpu_movement(Player *player, Camera *camera, s8 arg2, s8 arg3) { player->unk_0BC &= ~8; player->unk_0C4 = 0; player->unk_206 = 0; - stackPadding26 = (sp68[0] * sp68[0]) + (sp68[2] * sp68[2]); + toSqrt = (sp68[0] * sp68[0]) + (sp68[2] * sp68[2]); player->unk_22C = player->unk_094; - player->unk_094 = sqrtf(stackPadding26); + player->unk_094 = sqrtf(toSqrt); player->pos[0] = spCC; player->pos[2] = spC4; player->pos[1] = test; - player->unk_064 = 0; - player->unk_06C = 0; + player->unk_064[0] = 0; + player->unk_064[2] = 0; player->unk_034[0] = sp68[0]; player->unk_034[1] = sp68[1]; player->unk_034[2] = sp68[2]; @@ -3034,11 +2836,10 @@ void control_cpu_movement(Player *player, Camera *camera, s8 arg2, s8 arg3) { } } -#ifdef NEEDS_DATA -void func_8002F730(Player *player, Camera *camera, s8 arg2, s8 arg3) { +void func_8002F730(Player *player, UNUSED Camera *camera, UNUSED s8 arg2, s8 arg3) { Vec3f spF4 = {0.0f, 0.0f, 1.0f}; Vec3f spE8 = {0.0f, 0.0f, 0.0f}; - Vec3f spDC = {0.0f, 0.0f, 0.0f}; + UNUSED Vec3f spDC = {0.0f, 0.0f, 0.0f}; Vec3f spD0 = {0.0f, 0.0f, 0.0f}; f32 spCC; f32 spC8; @@ -3048,19 +2849,19 @@ void func_8002F730(Player *player, Camera *camera, s8 arg2, s8 arg3) { f32 sp44; f32 spB8; f32 temp_f0_2; - s32 pad[11]; + UNUSED s32 pad[11]; f32 sp84; - s32 pad1; + UNUSED s32 pad2; f32 sp7C; f32 sp78; f32 sqrt; Vec3f sp68; Vec3f sp5C; - s32 pad3[3]; + UNUSED s32 pad3[3]; func_80037BB4(player, spD0); - sp84 = player->unk_064 * 0; - sp7C = player->unk_06C * 0; + sp84 = player->unk_064[0] * 0; + sp7C = player->unk_064[2] * 0; spF4[2] = func_80030150(player, arg3); func_802B63B8(spF4, player->unk_174); @@ -3097,7 +2898,7 @@ void func_8002F730(Player *player, Camera *camera, s8 arg2, s8 arg3) { player->unk_0BC &= ~8; sp78 = player->unk_110.unk3C[2]; if (sp78 <= 0.0f) { - if(1); + if(1) {}; func_8003F46C(player, sp5C, sp68, spE8, &sp78, &spCC, &spC8, &spC4); } player->unk_074 = func_802ABE30(spCC, spC8, spC4, player->unk_110.unk3A); @@ -3119,8 +2920,8 @@ void func_8002F730(Player *player, Camera *camera, s8 arg2, s8 arg3) { } player->pos[1] = spC8 - 0.018; - player->unk_064 = spE8[0]; - player->unk_06C = spE8[2]; + player->unk_064[0] = spE8[0]; + player->unk_064[2] = spE8[2]; player->unk_034[0] = sp68[0]; player->unk_034[1] = sp68[1]; @@ -3140,9 +2941,6 @@ void func_8002F730(Player *player, Camera *camera, s8 arg2, s8 arg3) { } } } -#else -GLOBAL_ASM("asm/non_matchings/player_controller/func_8002F730.s") -#endif void func_8002FCA8(Player *player, s8 arg1) { f32 var_f0; @@ -4033,7 +3831,7 @@ void func_80033884(Player *player, s32 *arg1, s32 *arg2, s32 arg3, s32 arg4, s32 if (player->unk_200 >= 0xF0000000) { player->unk_200 = temp_v1; } - if (arg5 >= player->unk_200) { + if (arg5 >= (s32)player->unk_200) { player->unk_200 = arg5; } @@ -4053,7 +3851,7 @@ UNUSED void func_80033940(Player *player, s32 *arg1, s32 arg2, s32 arg3, f32 arg if (!(player->unk_200 < 0xF0000000)) { player->unk_200 = temp_v1; } - if (arg3 >= player->unk_200) { + if (arg3 >= (s32)player->unk_200) { player->unk_200 = arg3; } @@ -4072,7 +3870,7 @@ void func_800339C4(Player *player, s32 *arg1, s32 arg2, s32 arg3, f32 arg4) { if (player->unk_200 >= 0xF0000000) { player->unk_200 = temp_v0; } - if (arg3 >= player->unk_200) { + if (arg3 >= (s32)player->unk_200) { player->unk_200 = arg3; } @@ -4090,7 +3888,7 @@ void func_80033A40(Player *player, s32 *arg1, s32 *arg2, s32 arg3, s32 arg4, s32 if (player->unk_200 >= 0xF0000000) { player->unk_200 = temp_v1; } - if (arg5 >= player->unk_200) { + if (arg5 >= (s32)player->unk_200) { player->unk_200 = arg5; } @@ -4100,14 +3898,11 @@ void func_80033A40(Player *player, s32 *arg1, s32 *arg2, s32 arg3, s32 arg4, s32 } } -#ifdef NEEDS_DATA -//generated by m2c commit eefca95b040d7ee0c617bc58f9ac6cd1cf7bce87 on Aug-16-2023 - void func_80033AE0(Player *player, struct Controller *controller, s8 arg2) { s32 sp2E4; s32 temp_v0_3; - s32 pad[2]; - s16 pad2; + UNUSED s32 pad[2]; + UNUSED s16 pad2; s16 var_s1_2; s32 sp2D0; s32 sp2CC; @@ -4115,9 +3910,11 @@ void func_80033AE0(Player *player, struct Controller *controller, s8 arg2) { f32 var_f2_2; f32 var_f12 = 0.0f; f32 var_f2 = 0; - s32 pad4; + UNUSED s32 pad3; s32 var_a0; - f32 sp44[156] = {0.0, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.6, 0.6, 0.6, 0.6, 0.6, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.5, 0.5, 0.5, 0.5, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.6, 0.6, 0.6, 0.6, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8}; + f32 sp44[156] = {0.0, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.6, 0.6, 0.6, 0.6, 0.6, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.5, 0.5, 0.5, 0.5, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.6, 0.6, 0.6, 0.6, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8}; + //f32 sp44[156] = {0.0, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.6, 0.6, 0.6, 0.6, 0.6, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.5, 0.5, 0.5, 0.5, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.6, 0.6, 0.6, 0.6, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8}; + if (((((player->unk_0BC & 2) != 2) && ((((player->unk_0C0 / 182) <= 6) && ((player->unk_0C0 / 182) >= (-6))) || ((controller->button & 0x0010) != 0x0010))) || (((player->unk_094 / 18.0f) * 216.0f) <= 20.0f)) || ((player->unk_0BC & 0x8000) == 0x8000)) { func_80036CB4(player); @@ -4474,9 +4271,9 @@ void func_80033AE0(Player *player, struct Controller *controller, s8 arg2) { player->unk_078 *= 1.7; } } -#else -GLOBAL_ASM("asm/non_matchings/player_controller/func_80033AE0.s") -#endif +//#else +//GLOBAL_ASM("asm/non_matchings/player_controller/func_80033AE0.s") +//#endif void func_8003680C(Player *player, s16 arg1) { s32 sp304 = 0; @@ -5165,30 +4962,33 @@ void func_80038BE4(Player *player, s16 arg1) { player->unk_08C = (player->unk_09C * player->unk_09C) / 25.0f; } -#ifdef NON_MATCHING -// 70.22% matching -// really could use some working -void func_80038C6C(Player *player, Camera *camera, s8 arg2, s8 arg3) { - f32 spEC; - f32 spE8; - f32 spE4; - f32 spE0; - f32 spD8; - f32 spA4; - f32 spA0; - f32 sp9C; - f32 sp98; - f32 sp90; - f32 sp8C; - f32 sp88; - f32 sp7C; - f32 divOptimize; - - // data +void func_80038C6C(Player *player, UNUSED Camera *camera, s8 arg2, s8 arg3) { Vec3f sp114 = {0.0, 0.0, 1.0}; Vec3f sp108 = {0.0, 0.0, 0.0}; Vec3f spFC = {0.0, 0.0, 0.0}; Vec3f spF0 = {0.0, 0.0, 0.0}; + f32 spEC; + f32 spE8; + f32 spE4; + //f32 spE0; + //f32 spD8; + f32 posX; + f32 posY; + f32 posZ; + f32 sqrt; + + //f32 sp90; + //f32 sp8C; + f32 divOptimize; + UNUSED s32 pad2[10]; + f32 spA4; + f32 spA0; + f32 sp9C; + f32 sp98; + UNUSED s32 pad3; + Vec3f sp88; + Vec3f sp7C; + UNUSED s32 pad[10]; player->unk_084 = -10.0f; player->unk_088 = 28.0f; @@ -5196,88 +4996,104 @@ void func_80038C6C(Player *player, Camera *camera, s8 arg2, s8 arg3) { func_8002B830(player, arg3, arg2); func_8002CD48(player, arg3, arg2); player->unk_02C[1] += player->unk_078; - spF0[0] = 0.0f; - spF0[1] = 0.0f; - spF0[2] = 0.0f; + spF0[0] = 0; + spF0[1] = 0; + spF0[2] = 0; func_8002AB70(player); - spA4 = (spFC[0] + player->unk_064) * 0.0f; - spA0 = player->kartGravity * -1.0f; - sp108[2] = 0.0f; - sp108[1] = 0.0f; - sp108[0] = 0.0f; - sp9C = (spFC[2] + player->unk_06C) * 0.0f; + spA4 = 0 * (player->unk_064[0] + spFC[0]); + spA0 = -1 * player->kartGravity; + sp9C = 0 * (player->unk_064[2] + spFC[2]); + sp108[2] = 0; + sp108[1] = 0; + sp108[0] = 0; func_802B63B8(sp108, player->unk_174); spA4 += sp108[0]; sp9C += sp108[2]; sp114[2] = player->unk_08C; func_802B63B8(sp114, player->unk_174); - sp88 = (player->unk_034[0] + ((((((sp114[0] + spA4) + spF0[0])) - (player->unk_034[0] * (0.12 * (player->kartFriction)))) / 6000.0) / 1.0)); - sp90 = (player->unk_034[2] + ((((((sp114[2] + sp9C) + spF0[2])) - (player->unk_034[2] * (0.12 * (player->kartFriction)))) / 6000.0) / 1.0)); - sp8C = (player->unk_034[1] + ((((((sp114[1] + spA0) + spF0[1])) - (player->unk_034[1] * (0.12 * (player->kartFriction)))) / 6000.0) / 1.0)); + + sp88[0] = player->unk_034[0]; + sp88[1] = player->unk_034[1]; + sp88[2] = player->unk_034[2]; + + sp88[0] += ((((((sp114[0] + spA4) + spF0[0])) - (sp88[0] * (0.12 * (player->kartFriction)))) / 6000.0) / 1); + sp88[2] += ((((((sp114[2] + sp9C) + spF0[2])) - (sp88[2] * (0.12 * (player->kartFriction)))) / 6000.0) / 1); + sp88[1] += ((((((sp114[1] + spA0) + spF0[1])) - (sp88[1] * (0.12 * (player->kartFriction)))) / 6000.0) / 1); if ((player->unk_044 & 0x10) == 0x10) { player->unk_044 &= 0xFFEF; } + + posX = player->pos[0]; + posY = player->pos[1]; + posZ = player->pos[2]; + player->rotX = player->pos[0]; player->rotY = player->pos[1]; player->rotZ = player->pos[2]; - spEC = player->unk_034[0] + player->pos[0]; - spE8 = player->unk_034[1] + player->pos[1]; - spD8 = player->pos[2]; - spE4 = player->unk_034[2] + player->pos[2]; + + spEC = posX + player->unk_034[0]; + spE8 = posY + player->unk_034[1]; + spE4 = posZ + player->unk_034[2]; func_8002AAC0(player); spE8 += player->kartHopVelocity; spE8 -= 0.02; func_802AD950(&player->unk_110, player->boundingBoxSize, spEC, spE8, spE4, player->rotX, player->rotY, player->rotZ); - player->unk_058 = 0.0f; - player->unk_060 = 0.0f; + player->unk_058 = 0; + player->unk_060 = 0; player->unk_05C = 1.0f; - func_802B6540(player->unk_174, 0.0f, 1.0f, 0.0f, player->unk_02C[1]); + func_802B6540(player->unk_174, 0, 1.0f, 0, player->unk_02C[1]); player->unk_0BC |= 8; player->unk_0C2 += 1; sp98 = player->unk_110.unk3C[2]; - if (sp98 <= 0.0f) { + if (sp98 <= 0) { player->unk_0C2 = 0; player->unk_0BC &= ~2; player->unk_0BC &= ~8; player->kartHopVelocity = player->unk_0C2; } sp98 = player->unk_110.unk3C[2]; - if (sp98 <= 0.0f) { - func_8003F46C(player, &sp7C, &sp88, &sp108, &sp98, &spEC, &spE8, &spE4); + if (sp98 <= 0) { + func_8003F46C(player, sp7C, sp88, sp108, &sp98, &spEC, &spE8, &spE4); } sp98 = player->unk_110.unk3C[0]; - if (sp98 < 0.0f) { - func_8003F734(player, &sp7C, &sp88, &sp98, &spEC, &spE8, &spE4); - func_8002C954(player, arg3, &sp88); + if (sp98 < 0) { + func_8003F734(player, sp7C, sp88, &sp98, &spEC, &spE8, &spE4); + func_8002C954(player, arg3, sp88); } sp98 = player->unk_110.unk3C[1]; - if (sp98 < 0.0f) { - func_8003FBAC(player, &sp7C, &sp88, &sp98, &spEC, &spE8, &spE4); - func_8002C954(player, arg3, &sp88); + if (sp98 < 0) { + func_8003FBAC(player, sp7C, sp88, &sp98, &spEC, &spE8, &spE4); + func_8002C954(player, arg3, sp88); } sp98 = player->unk_110.unk3C[0]; - if (sp98 >= 0.0f) { + if (sp98 >= 0) { sp98 = player->unk_110.unk3C[1]; - if (sp98 >= 0.0f) { + if (sp98 >= 0) { player->unk_046 &= 0xFFDF; } } player->unk_074 = func_802ABE30(spEC, spE8, spE4, player->unk_110.unk3A); func_80029B4C(player, spEC, spE8, spE4); - func_8002AE38(player, arg3, spE0, spD8, spEC, spE4); + func_8002AE38(player, arg3, posX, posZ, spEC, spE4); + sqrt = (sp88[0] * sp88[0]) + (sp88[2] * sp88[2]); player->unk_22C = player->unk_094; - player->unk_094 = sqrtf((sp90 * sp90) + (sp88 * sp88)); + player->unk_094 = sqrtf(sqrt); + player->pos[0] = spEC; player->pos[2] = spE4; player->pos[1] = spE8; - player->unk_064 = sp108[0]; - player->unk_06C = sp108[2]; - player->unk_034[0] = sp88; - player->unk_034[1] = sp8C; - player->unk_034[2] = sp90; - D_80165070[arg3][0] = sp88; - D_80165070[arg3][1] = sp8C; - D_80165070[arg3][2] = sp90; + + player->unk_064[0] = sp108[0]; + player->unk_064[2] = sp108[2]; + + player->unk_034[0] = sp88[0]; + player->unk_034[1] = sp88[1]; + player->unk_034[2] = sp88[2]; + + D_80165070[arg3][0] = sp88[0]; + D_80165070[arg3][1] = sp88[1]; + D_80165070[arg3][2] = sp88[2]; + if ((player->unk_000 & 0x4000) == 0x4000) { if (gKartTopSpeedTable[player->characterId] < player->unk_094) { divOptimize = gKartTopSpeedTable[player->characterId] / player->unk_094; @@ -5289,17 +5105,14 @@ void func_80038C6C(Player *player, Camera *camera, s8 arg2, s8 arg3) { } if ((player->unk_044 & 1) == 1){ if (player->unk_094 > 1.0f){ - player->unk_094 = 1.0f; player->unk_034[0] *= 1.0f / player->unk_094; player->unk_034[1] *= 1.0f / player->unk_094; player->unk_034[2] *= 1.0f / player->unk_094; + player->unk_094 = 1.0f; } } if (player->unk_110.unk3C[2] >= 500.0f) { - player->unk_078 = (s16) player->unk_078 / 2; + player->unk_078 /= 2; } func_8002C4F8(player, arg3); } -#else -GLOBAL_ASM("asm/non_matchings/player_controller/func_80038C6C.s") -#endif diff --git a/src/player_controller.h b/src/player_controller.h index 0346fb244..dfc854a8c 100644 --- a/src/player_controller.h +++ b/src/player_controller.h @@ -6,6 +6,8 @@ /* Function Prototypes */ +void func_8002E594(Player*, Camera*, s8, s8); + s32 get_player_index_for_player(Player*); void func_80027DA8(Player*, s8); void func_80027EDC(Player*, s8); @@ -49,7 +51,7 @@ void func_8002B830(Player*, s8, s8); void func_8002B8A4(Player*, Player*); void func_8002B9CC(Player*, s8, s32); void func_8002BD58(Player*); -void func_8002BF4C(Player*, u8); +void func_8002BF4C(Player*, s8); void func_8002C11C(Player*); void func_8002C17C(Player*, s8); diff --git a/src/spawn_players.c b/src/spawn_players.c index 08970bf09..5e3915f0f 100644 --- a/src/spawn_players.c +++ b/src/spawn_players.c @@ -150,9 +150,9 @@ void spawn_player(Player *player, s8 playerIndex, f32 startingRow, f32 startingC player->unk_224 = 1.0f; player->unk_DAC = 1.0f; - player->unk_064 = 0.0f; - player->unk_068 = 0.0f; - player->unk_06C = 0.0f; + player->unk_064[0] = 0.0f; + player->unk_064[1] = 0.0f; + player->unk_064[2] = 0.0f; player->boostPower = 0.0f; player->unk_D9C = 0.0f; player->unk_DA0 = 0.0f;