mirror of
https://github.com/HarbourMasters/SpaghettiKart
synced 2026-06-30 20:11:40 -04:00
272 lines
13 KiB
ArmAsm
272 lines
13 KiB
ArmAsm
glabel func_800061DC
|
|
/* 006DDC 800061DC 3C02800E */ lui $v0, %hi(gActiveScreenMode)
|
|
/* 006DE0 800061E0 8C42C52C */ lw $v0, %lo(gActiveScreenMode)($v0)
|
|
/* 006DE4 800061E4 27BDFFF0 */ addiu $sp, $sp, -0x10
|
|
/* 006DE8 800061E8 F7B40008 */ sdc1 $f20, 8($sp)
|
|
/* 006DEC 800061EC 4485A000 */ mtc1 $a1, $f20
|
|
/* 006DF0 800061F0 C4800000 */ lwc1 $f0, ($a0)
|
|
/* 006DF4 800061F4 1040000A */ beqz $v0, .L80006220
|
|
/* 006DF8 800061F8 C4820008 */ lwc1 $f2, 8($a0)
|
|
/* 006DFC 800061FC 24010001 */ li $at, 1
|
|
/* 006E00 80006200 10410009 */ beq $v0, $at, .L80006228
|
|
/* 006E04 80006204 24010002 */ li $at, 2
|
|
/* 006E08 80006208 10410007 */ beq $v0, $at, .L80006228
|
|
/* 006E0C 8000620C 24010003 */ li $at, 3
|
|
/* 006E10 80006210 10410007 */ beq $v0, $at, .L80006230
|
|
/* 006E14 80006214 00000000 */ nop
|
|
/* 006E18 80006218 10000007 */ b .L80006238
|
|
/* 006E1C 8000621C 24020001 */ li $v0, 1
|
|
.L80006220:
|
|
/* 006E20 80006220 10000005 */ b .L80006238
|
|
/* 006E24 80006224 24020001 */ li $v0, 1
|
|
.L80006228:
|
|
/* 006E28 80006228 10000003 */ b .L80006238
|
|
/* 006E2C 8000622C 24020002 */ li $v0, 2
|
|
.L80006230:
|
|
/* 006E30 80006230 3C028019 */ lui $v0, %hi(D_8018EDF3) # $v0, 0x8019
|
|
/* 006E34 80006234 8042EDF3 */ lb $v0, %lo(D_8018EDF3)($v0)
|
|
.L80006238:
|
|
/* 006E38 80006238 3C0E800E */ lui $t6, %hi(D_800DC51C)
|
|
/* 006E3C 8000623C 95CEC51C */ lhu $t6, %lo(D_800DC51C)($t6)
|
|
/* 006E40 80006240 00C01825 */ move $v1, $a2
|
|
/* 006E44 80006244 3C04800E */ lui $a0, %hi(camera1)
|
|
/* 006E48 80006248 15C00031 */ bnez $t6, .L80006310
|
|
/* 006E4C 8000624C 00002825 */ move $a1, $zero
|
|
/* 006E50 80006250 3C028019 */ lui $v0, %hi(D_8018EDF3) # $v0, 0x8019
|
|
/* 006E54 80006254 8042EDF3 */ lb $v0, %lo(D_8018EDF3)($v0)
|
|
/* 006E58 80006258 3C04800E */ lui $a0, %hi(gPlayerOne)
|
|
/* 006E5C 8000625C 8C84C4DC */ lw $a0, %lo(gPlayerOne)($a0)
|
|
/* 006E60 80006260 184000D7 */ blez $v0, .L800065C0
|
|
/* 006E64 80006264 00002825 */ move $a1, $zero
|
|
.L80006268:
|
|
/* 006E68 80006268 94860000 */ lhu $a2, ($a0)
|
|
/* 006E6C 8000626C 30CF4000 */ andi $t7, $a2, 0x4000
|
|
/* 006E70 80006270 11E00021 */ beqz $t7, .L800062F8
|
|
/* 006E74 80006274 30D81000 */ andi $t8, $a2, 0x1000
|
|
/* 006E78 80006278 57000020 */ bnel $t8, $zero, .L800062FC
|
|
/* 006E7C 8000627C 24A50001 */ addiu $a1, $a1, 1
|
|
/* 006E80 80006280 C48C0014 */ lwc1 $f12, 0x14($a0)
|
|
/* 006E84 80006284 24090001 */ li $t1, 1
|
|
/* 006E88 80006288 00A95004 */ sllv $t2, $t1, $a1
|
|
/* 006E8C 8000628C 46146101 */ sub.s $f4, $f12, $f20
|
|
/* 006E90 80006290 C48E001C */ lwc1 $f14, 0x1c($a0)
|
|
/* 006E94 80006294 01405827 */ not $t3, $t2
|
|
/* 006E98 80006298 4600203C */ c.lt.s $f4, $f0
|
|
/* 006E9C 8000629C 00000000 */ nop
|
|
/* 006EA0 800062A0 45020015 */ bc1fl .L800062F8
|
|
/* 006EA4 800062A4 006B1824 */ and $v1, $v1, $t3
|
|
/* 006EA8 800062A8 46146180 */ add.s $f6, $f12, $f20
|
|
/* 006EAC 800062AC 4606003C */ c.lt.s $f0, $f6
|
|
/* 006EB0 800062B0 00000000 */ nop
|
|
/* 006EB4 800062B4 45020010 */ bc1fl .L800062F8
|
|
/* 006EB8 800062B8 006B1824 */ and $v1, $v1, $t3
|
|
/* 006EBC 800062BC 46147201 */ sub.s $f8, $f14, $f20
|
|
/* 006EC0 800062C0 4602403C */ c.lt.s $f8, $f2
|
|
/* 006EC4 800062C4 00000000 */ nop
|
|
/* 006EC8 800062C8 4502000B */ bc1fl .L800062F8
|
|
/* 006ECC 800062CC 006B1824 */ and $v1, $v1, $t3
|
|
/* 006ED0 800062D0 46147280 */ add.s $f10, $f14, $f20
|
|
/* 006ED4 800062D4 24190001 */ li $t9, 1
|
|
/* 006ED8 800062D8 00B94004 */ sllv $t0, $t9, $a1
|
|
/* 006EDC 800062DC 460A103C */ c.lt.s $f2, $f10
|
|
/* 006EE0 800062E0 00000000 */ nop
|
|
/* 006EE4 800062E4 45020004 */ bc1fl .L800062F8
|
|
/* 006EE8 800062E8 006B1824 */ and $v1, $v1, $t3
|
|
/* 006EEC 800062EC 10000002 */ b .L800062F8
|
|
/* 006EF0 800062F0 00681825 */ or $v1, $v1, $t0
|
|
/* 006EF4 800062F4 006B1824 */ and $v1, $v1, $t3
|
|
.L800062F8:
|
|
/* 006EF8 800062F8 24A50001 */ addiu $a1, $a1, 1
|
|
.L800062FC:
|
|
/* 006EFC 800062FC 00A2082A */ slt $at, $a1, $v0
|
|
/* 006F00 80006300 1420FFD9 */ bnez $at, .L80006268
|
|
/* 006F04 80006304 24840DD8 */ addiu $a0, $a0, 0xdd8
|
|
/* 006F08 80006308 100000AE */ b .L800065C4
|
|
/* 006F0C 8000630C D7B40008 */ ldc1 $f20, 8($sp)
|
|
.L80006310:
|
|
/* 006F10 80006310 184000AB */ blez $v0, .L800065C0
|
|
/* 006F14 80006314 8C84DB40 */ lw $a0, %lo(camera1)($a0)
|
|
/* 006F18 80006318 30470003 */ andi $a3, $v0, 3
|
|
/* 006F1C 8000631C 10E00024 */ beqz $a3, .L800063B0
|
|
/* 006F20 80006320 00E03025 */ move $a2, $a3
|
|
.L80006324:
|
|
/* 006F24 80006324 C48E0000 */ lwc1 $f14, ($a0)
|
|
/* 006F28 80006328 240E0001 */ li $t6, 1
|
|
/* 006F2C 8000632C 00AE7804 */ sllv $t7, $t6, $a1
|
|
/* 006F30 80006330 46147401 */ sub.s $f16, $f14, $f20
|
|
/* 006F34 80006334 01E0C027 */ not $t8, $t7
|
|
/* 006F38 80006338 4600803C */ c.lt.s $f16, $f0
|
|
/* 006F3C 8000633C 00000000 */ nop
|
|
/* 006F40 80006340 45020016 */ bc1fl .L8000639C
|
|
/* 006F44 80006344 00781824 */ and $v1, $v1, $t8
|
|
/* 006F48 80006348 46147480 */ add.s $f18, $f14, $f20
|
|
/* 006F4C 8000634C 4612003C */ c.lt.s $f0, $f18
|
|
/* 006F50 80006350 00000000 */ nop
|
|
/* 006F54 80006354 45020011 */ bc1fl .L8000639C
|
|
/* 006F58 80006358 00781824 */ and $v1, $v1, $t8
|
|
/* 006F5C 8000635C C48C0008 */ lwc1 $f12, 8($a0)
|
|
/* 006F60 80006360 46146101 */ sub.s $f4, $f12, $f20
|
|
/* 006F64 80006364 4602203C */ c.lt.s $f4, $f2
|
|
/* 006F68 80006368 00000000 */ nop
|
|
/* 006F6C 8000636C 4502000B */ bc1fl .L8000639C
|
|
/* 006F70 80006370 00781824 */ and $v1, $v1, $t8
|
|
/* 006F74 80006374 46146180 */ add.s $f6, $f12, $f20
|
|
/* 006F78 80006378 240C0001 */ li $t4, 1
|
|
/* 006F7C 8000637C 00AC6804 */ sllv $t5, $t4, $a1
|
|
/* 006F80 80006380 4606103C */ c.lt.s $f2, $f6
|
|
/* 006F84 80006384 00000000 */ nop
|
|
/* 006F88 80006388 45020004 */ bc1fl .L8000639C
|
|
/* 006F8C 8000638C 00781824 */ and $v1, $v1, $t8
|
|
/* 006F90 80006390 10000002 */ b .L8000639C
|
|
/* 006F94 80006394 006D1825 */ or $v1, $v1, $t5
|
|
/* 006F98 80006398 00781824 */ and $v1, $v1, $t8
|
|
.L8000639C:
|
|
/* 006F9C 8000639C 24A50001 */ addiu $a1, $a1, 1
|
|
/* 006FA0 800063A0 14C5FFE0 */ bne $a2, $a1, .L80006324
|
|
/* 006FA4 800063A4 248400B8 */ addiu $a0, $a0, 0xb8
|
|
/* 006FA8 800063A8 50A20086 */ beql $a1, $v0, .L800065C4
|
|
/* 006FAC 800063AC D7B40008 */ ldc1 $f20, 8($sp)
|
|
.L800063B0:
|
|
/* 006FB0 800063B0 C48E0000 */ lwc1 $f14, ($a0)
|
|
/* 006FB4 800063B4 24090001 */ li $t1, 1
|
|
/* 006FB8 800063B8 00A95004 */ sllv $t2, $t1, $a1
|
|
/* 006FBC 800063BC 46147201 */ sub.s $f8, $f14, $f20
|
|
/* 006FC0 800063C0 24AF0001 */ addiu $t7, $a1, 1
|
|
/* 006FC4 800063C4 24180001 */ li $t8, 1
|
|
/* 006FC8 800063C8 01405827 */ not $t3, $t2
|
|
/* 006FCC 800063CC 4600403C */ c.lt.s $f8, $f0
|
|
/* 006FD0 800063D0 00000000 */ nop
|
|
/* 006FD4 800063D4 45020016 */ bc1fl .L80006430
|
|
/* 006FD8 800063D8 006B1824 */ and $v1, $v1, $t3
|
|
/* 006FDC 800063DC 46147280 */ add.s $f10, $f14, $f20
|
|
/* 006FE0 800063E0 460A003C */ c.lt.s $f0, $f10
|
|
/* 006FE4 800063E4 00000000 */ nop
|
|
/* 006FE8 800063E8 45020011 */ bc1fl .L80006430
|
|
/* 006FEC 800063EC 006B1824 */ and $v1, $v1, $t3
|
|
/* 006FF0 800063F0 C48C0008 */ lwc1 $f12, 8($a0)
|
|
/* 006FF4 800063F4 46146401 */ sub.s $f16, $f12, $f20
|
|
/* 006FF8 800063F8 4602803C */ c.lt.s $f16, $f2
|
|
/* 006FFC 800063FC 00000000 */ nop
|
|
/* 007000 80006400 4502000B */ bc1fl .L80006430
|
|
/* 007004 80006404 006B1824 */ and $v1, $v1, $t3
|
|
/* 007008 80006408 46146480 */ add.s $f18, $f12, $f20
|
|
/* 00700C 8000640C 24190001 */ li $t9, 1
|
|
/* 007010 80006410 00B94004 */ sllv $t0, $t9, $a1
|
|
/* 007014 80006414 4612103C */ c.lt.s $f2, $f18
|
|
/* 007018 80006418 00000000 */ nop
|
|
/* 00701C 8000641C 45020004 */ bc1fl .L80006430
|
|
/* 007020 80006420 006B1824 */ and $v1, $v1, $t3
|
|
/* 007024 80006424 10000002 */ b .L80006430
|
|
/* 007028 80006428 00681825 */ or $v1, $v1, $t0
|
|
/* 00702C 8000642C 006B1824 */ and $v1, $v1, $t3
|
|
.L80006430:
|
|
/* 007030 80006430 C48E00B8 */ lwc1 $f14, 0xb8($a0)
|
|
/* 007034 80006434 01F8C804 */ sllv $t9, $t8, $t7
|
|
/* 007038 80006438 03204027 */ not $t0, $t9
|
|
/* 00703C 8000643C 46147101 */ sub.s $f4, $f14, $f20
|
|
/* 007040 80006440 248400B8 */ addiu $a0, $a0, 0xb8
|
|
/* 007044 80006444 4600203C */ c.lt.s $f4, $f0
|
|
/* 007048 80006448 00000000 */ nop
|
|
/* 00704C 8000644C 45020017 */ bc1fl .L800064AC
|
|
/* 007050 80006450 00681824 */ and $v1, $v1, $t0
|
|
/* 007054 80006454 46147180 */ add.s $f6, $f14, $f20
|
|
/* 007058 80006458 4606003C */ c.lt.s $f0, $f6
|
|
/* 00705C 8000645C 00000000 */ nop
|
|
/* 007060 80006460 45020012 */ bc1fl .L800064AC
|
|
/* 007064 80006464 00681824 */ and $v1, $v1, $t0
|
|
/* 007068 80006468 C48C0008 */ lwc1 $f12, 8($a0)
|
|
/* 00706C 8000646C 46146201 */ sub.s $f8, $f12, $f20
|
|
/* 007070 80006470 4602403C */ c.lt.s $f8, $f2
|
|
/* 007074 80006474 00000000 */ nop
|
|
/* 007078 80006478 4502000C */ bc1fl .L800064AC
|
|
/* 00707C 8000647C 00681824 */ and $v1, $v1, $t0
|
|
/* 007080 80006480 46146280 */ add.s $f10, $f12, $f20
|
|
/* 007084 80006484 24AC0001 */ addiu $t4, $a1, 1
|
|
/* 007088 80006488 240D0001 */ li $t5, 1
|
|
/* 00708C 8000648C 018D7004 */ sllv $t6, $t5, $t4
|
|
/* 007090 80006490 460A103C */ c.lt.s $f2, $f10
|
|
/* 007094 80006494 00000000 */ nop
|
|
/* 007098 80006498 45020004 */ bc1fl .L800064AC
|
|
/* 00709C 8000649C 00681824 */ and $v1, $v1, $t0
|
|
/* 0070A0 800064A0 10000002 */ b .L800064AC
|
|
/* 0070A4 800064A4 006E1825 */ or $v1, $v1, $t6
|
|
/* 0070A8 800064A8 00681824 */ and $v1, $v1, $t0
|
|
.L800064AC:
|
|
/* 0070AC 800064AC C48E00B8 */ lwc1 $f14, 0xb8($a0)
|
|
/* 0070B0 800064B0 24AD0002 */ addiu $t5, $a1, 2
|
|
/* 0070B4 800064B4 240C0001 */ li $t4, 1
|
|
/* 0070B8 800064B8 46147401 */ sub.s $f16, $f14, $f20
|
|
/* 0070BC 800064BC 01AC7004 */ sllv $t6, $t4, $t5
|
|
/* 0070C0 800064C0 01C0C027 */ not $t8, $t6
|
|
/* 0070C4 800064C4 248400B8 */ addiu $a0, $a0, 0xb8
|
|
/* 0070C8 800064C8 4600803C */ c.lt.s $f16, $f0
|
|
/* 0070CC 800064CC 00000000 */ nop
|
|
/* 0070D0 800064D0 45020017 */ bc1fl .L80006530
|
|
/* 0070D4 800064D4 00781824 */ and $v1, $v1, $t8
|
|
/* 0070D8 800064D8 46147480 */ add.s $f18, $f14, $f20
|
|
/* 0070DC 800064DC 4612003C */ c.lt.s $f0, $f18
|
|
/* 0070E0 800064E0 00000000 */ nop
|
|
/* 0070E4 800064E4 45020012 */ bc1fl .L80006530
|
|
/* 0070E8 800064E8 00781824 */ and $v1, $v1, $t8
|
|
/* 0070EC 800064EC C48C0008 */ lwc1 $f12, 8($a0)
|
|
/* 0070F0 800064F0 46146101 */ sub.s $f4, $f12, $f20
|
|
/* 0070F4 800064F4 4602203C */ c.lt.s $f4, $f2
|
|
/* 0070F8 800064F8 00000000 */ nop
|
|
/* 0070FC 800064FC 4502000C */ bc1fl .L80006530
|
|
/* 007100 80006500 00781824 */ and $v1, $v1, $t8
|
|
/* 007104 80006504 46146180 */ add.s $f6, $f12, $f20
|
|
/* 007108 80006508 24A90002 */ addiu $t1, $a1, 2
|
|
/* 00710C 8000650C 240A0001 */ li $t2, 1
|
|
/* 007110 80006510 012A5804 */ sllv $t3, $t2, $t1
|
|
/* 007114 80006514 4606103C */ c.lt.s $f2, $f6
|
|
/* 007118 80006518 00000000 */ nop
|
|
/* 00711C 8000651C 45020004 */ bc1fl .L80006530
|
|
/* 007120 80006520 00781824 */ and $v1, $v1, $t8
|
|
/* 007124 80006524 10000002 */ b .L80006530
|
|
/* 007128 80006528 006B1825 */ or $v1, $v1, $t3
|
|
/* 00712C 8000652C 00781824 */ and $v1, $v1, $t8
|
|
.L80006530:
|
|
/* 007130 80006530 C48E00B8 */ lwc1 $f14, 0xb8($a0)
|
|
/* 007134 80006534 24AA0003 */ addiu $t2, $a1, 3
|
|
/* 007138 80006538 24090001 */ li $t1, 1
|
|
/* 00713C 8000653C 46147201 */ sub.s $f8, $f14, $f20
|
|
/* 007140 80006540 01495804 */ sllv $t3, $t1, $t2
|
|
/* 007144 80006544 01606027 */ not $t4, $t3
|
|
/* 007148 80006548 248400B8 */ addiu $a0, $a0, 0xb8
|
|
/* 00714C 8000654C 4600403C */ c.lt.s $f8, $f0
|
|
/* 007150 80006550 00000000 */ nop
|
|
/* 007154 80006554 45020017 */ bc1fl .L800065B4
|
|
/* 007158 80006558 006C1824 */ and $v1, $v1, $t4
|
|
/* 00715C 8000655C 46147280 */ add.s $f10, $f14, $f20
|
|
/* 007160 80006560 460A003C */ c.lt.s $f0, $f10
|
|
/* 007164 80006564 00000000 */ nop
|
|
/* 007168 80006568 45020012 */ bc1fl .L800065B4
|
|
/* 00716C 8000656C 006C1824 */ and $v1, $v1, $t4
|
|
/* 007170 80006570 C48C0008 */ lwc1 $f12, 8($a0)
|
|
/* 007174 80006574 46146401 */ sub.s $f16, $f12, $f20
|
|
/* 007178 80006578 4602803C */ c.lt.s $f16, $f2
|
|
/* 00717C 8000657C 00000000 */ nop
|
|
/* 007180 80006580 4502000C */ bc1fl .L800065B4
|
|
/* 007184 80006584 006C1824 */ and $v1, $v1, $t4
|
|
/* 007188 80006588 46146480 */ add.s $f18, $f12, $f20
|
|
/* 00718C 8000658C 24AF0003 */ addiu $t7, $a1, 3
|
|
/* 007190 80006590 24190001 */ li $t9, 1
|
|
/* 007194 80006594 01F94004 */ sllv $t0, $t9, $t7
|
|
/* 007198 80006598 4612103C */ c.lt.s $f2, $f18
|
|
/* 00719C 8000659C 00000000 */ nop
|
|
/* 0071A0 800065A0 45020004 */ bc1fl .L800065B4
|
|
/* 0071A4 800065A4 006C1824 */ and $v1, $v1, $t4
|
|
/* 0071A8 800065A8 10000002 */ b .L800065B4
|
|
/* 0071AC 800065AC 00681825 */ or $v1, $v1, $t0
|
|
/* 0071B0 800065B0 006C1824 */ and $v1, $v1, $t4
|
|
.L800065B4:
|
|
/* 0071B4 800065B4 24A50004 */ addiu $a1, $a1, 4
|
|
/* 0071B8 800065B8 14A2FF7D */ bne $a1, $v0, .L800063B0
|
|
/* 0071BC 800065BC 248400B8 */ addiu $a0, $a0, 0xb8
|
|
.L800065C0:
|
|
/* 0071C0 800065C0 D7B40008 */ ldc1 $f20, 8($sp)
|
|
.L800065C4:
|
|
/* 0071C4 800065C4 27BD0010 */ addiu $sp, $sp, 0x10
|
|
/* 0071C8 800065C8 03E00008 */ jr $ra
|
|
/* 0071CC 800065CC 00601025 */ move $v0, $v1
|