mirror of
https://github.com/HarbourMasters/SpaghettiKart
synced 2026-07-01 04:20:13 -04:00
cf33e2ea5f
Signed-off-by: Taggerung <tyler.taggerung@email.com>
153 lines
7.0 KiB
ArmAsm
153 lines
7.0 KiB
ArmAsm
.section .late_rodata
|
|
|
|
glabel D_800ED0E0
|
|
.double -0.8
|
|
|
|
glabel D_800ED0E8
|
|
.double 0.8
|
|
|
|
.section .text
|
|
|
|
glabel func_80011EC0
|
|
/* 012AC0 80011EC0 27BDFFD8 */ addiu $sp, $sp, -0x28
|
|
/* 012AC4 80011EC4 AFBF0014 */ sw $ra, 0x14($sp)
|
|
/* 012AC8 80011EC8 AFA60030 */ sw $a2, 0x30($sp)
|
|
/* 012ACC 80011ECC AFA70034 */ sw $a3, 0x34($sp)
|
|
/* 012AD0 80011ED0 3C014190 */ li $at, 0x41900000 # 18.000000
|
|
/* 012AD4 80011ED4 44813000 */ mtc1 $at, $f6
|
|
/* 012AD8 80011ED8 C4A40094 */ lwc1 $f4, 0x94($a1)
|
|
/* 012ADC 80011EDC 3C014358 */ li $at, 0x43580000 # 216.000000
|
|
/* 012AE0 80011EE0 44815000 */ mtc1 $at, $f10
|
|
/* 012AE4 80011EE4 46062203 */ div.s $f8, $f4, $f6
|
|
/* 012AE8 80011EE8 3C014234 */ li $at, 0x42340000 # 45.000000
|
|
/* 012AEC 80011EEC 44819000 */ mtc1 $at, $f18
|
|
/* 012AF0 80011EF0 3C0E8016 */ lui $t6, %hi(D_801630E8) # $t6, 0x8016
|
|
/* 012AF4 80011EF4 00C03825 */ move $a3, $a2
|
|
/* 012AF8 80011EF8 25CE30E8 */ addiu $t6, %lo(D_801630E8) # addiu $t6, $t6, 0x30e8
|
|
/* 012AFC 80011EFC 00041840 */ sll $v1, $a0, 1
|
|
/* 012B00 80011F00 3C018016 */ lui $at, %hi(D_801630E8)
|
|
/* 012B04 80011F04 00046840 */ sll $t5, $a0, 1
|
|
/* 012B08 80011F08 006E3021 */ addu $a2, $v1, $t6
|
|
/* 012B0C 80011F0C 002D0821 */ addu $at, $at, $t5
|
|
/* 012B10 80011F10 240C0003 */ li $t4, 3
|
|
/* 012B14 80011F14 460A4402 */ mul.s $f16, $f8, $f10
|
|
/* 012B18 80011F18 4610903E */ c.le.s $f18, $f16
|
|
/* 012B1C 80011F1C 00000000 */ nop
|
|
/* 012B20 80011F20 45000064 */ bc1f .L800120B4
|
|
/* 012B24 80011F24 00000000 */ nop
|
|
/* 012B28 80011F28 84CF0000 */ lh $t7, ($a2)
|
|
/* 012B2C 80011F2C 3C188016 */ lui $t8, %hi(D_801631D8) # $t8, 0x8016
|
|
/* 012B30 80011F30 3C198016 */ lui $t9, %hi(D_80162FCE) # $t9, 0x8016
|
|
/* 012B34 80011F34 15E0005F */ bnez $t7, .L800120B4
|
|
/* 012B38 80011F38 00000000 */ nop
|
|
/* 012B3C 80011F3C 87392FCE */ lh $t9, %lo(D_80162FCE)($t9)
|
|
/* 012B40 80011F40 8F1831D8 */ lw $t8, %lo(D_801631D8)($t8)
|
|
/* 012B44 80011F44 24010001 */ li $at, 1
|
|
/* 012B48 80011F48 00194040 */ sll $t0, $t9, 1
|
|
/* 012B4C 80011F4C 03084821 */ addu $t1, $t8, $t0
|
|
/* 012B50 80011F50 85220000 */ lh $v0, ($t1)
|
|
/* 012B54 80011F54 5040000A */ beql $v0, $zero, .L80011F80
|
|
/* 012B58 80011F58 28E1FFF7 */ slti $at, $a3, -9
|
|
/* 012B5C 80011F5C 1041002E */ beq $v0, $at, .L80012018
|
|
/* 012B60 80011F60 24010002 */ li $at, 2
|
|
/* 012B64 80011F64 10410005 */ beq $v0, $at, .L80011F7C
|
|
/* 012B68 80011F68 24010003 */ li $at, 3
|
|
/* 012B6C 80011F6C 5041002B */ beql $v0, $at, .L8001201C
|
|
/* 012B70 80011F70 28E1000A */ slti $at, $a3, 0xa
|
|
/* 012B74 80011F74 10000051 */ b .L800120BC
|
|
/* 012B78 80011F78 8FBF0014 */ lw $ra, 0x14($sp)
|
|
.L80011F7C:
|
|
/* 012B7C 80011F7C 28E1FFF7 */ slti $at, $a3, -9
|
|
.L80011F80:
|
|
/* 012B80 80011F80 14200022 */ bnez $at, .L8001200C
|
|
/* 012B84 80011F84 3C0A8016 */ lui $t2, %hi(D_80162FF8) # 0x8016
|
|
/* 012B88 80011F88 01435021 */ addu $t2, $t2, $v1
|
|
/* 012B8C 80011F8C 854A2FF8 */ lh $t2, %lo(D_80162FF8)($t2) # 0x2ff8($t2)
|
|
/* 012B90 80011F90 00045880 */ sll $t3, $a0, 2
|
|
/* 012B94 80011F94 3C018016 */ lui $at, %hi(D_80163068)
|
|
/* 012B98 80011F98 1540001C */ bnez $t2, .L8001200C
|
|
/* 012B9C 80011F9C 002B0821 */ addu $at, $at, $t3
|
|
/* 012BA0 80011FA0 C4243068 */ lwc1 $f4, %lo(D_80163068)($at)
|
|
/* 012BA4 80011FA4 3C01800F */ lui $at, %hi(D_800ED0E0)
|
|
/* 012BA8 80011FA8 D426D0E0 */ ldc1 $f6, %lo(D_800ED0E0)($at)
|
|
/* 012BAC 80011FAC 46002021 */ cvt.d.s $f0, $f4
|
|
/* 012BB0 80011FB0 3C013FE0 */ li $at, 0x3FE00000 # 1.750000
|
|
/* 012BB4 80011FB4 4620303C */ c.lt.d $f6, $f0
|
|
/* 012BB8 80011FB8 00000000 */ nop
|
|
/* 012BBC 80011FBC 45020014 */ bc1fl .L80012010
|
|
/* 012BC0 80011FC0 240F0002 */ li $t7, 2
|
|
/* 012BC4 80011FC4 44814800 */ mtc1 $at, $f9
|
|
/* 012BC8 80011FC8 44804000 */ mtc1 $zero, $f8
|
|
/* 012BCC 80011FCC 00A02025 */ move $a0, $a1
|
|
/* 012BD0 80011FD0 4628003C */ c.lt.d $f0, $f8
|
|
/* 012BD4 80011FD4 00000000 */ nop
|
|
/* 012BD8 80011FD8 4502000D */ bc1fl .L80012010
|
|
/* 012BDC 80011FDC 240F0002 */ li $t7, 2
|
|
/* 012BE0 80011FE0 AFA5002C */ sw $a1, 0x2c($sp)
|
|
/* 012BE4 80011FE4 0C00AA94 */ jal func_8002AA50
|
|
/* 012BE8 80011FE8 AFA6001C */ sw $a2, 0x1c($sp)
|
|
/* 012BEC 80011FEC 8FA5002C */ lw $a1, 0x2c($sp)
|
|
/* 012BF0 80011FF0 8FA6001C */ lw $a2, 0x1c($sp)
|
|
/* 012BF4 80011FF4 240E0001 */ li $t6, 1
|
|
/* 012BF8 80011FF8 8CAC00BC */ lw $t4, 0xbc($a1)
|
|
/* 012BFC 80011FFC 358D0010 */ ori $t5, $t4, 0x10
|
|
/* 012C00 80012000 ACAD00BC */ sw $t5, 0xbc($a1)
|
|
/* 012C04 80012004 1000002C */ b .L800120B8
|
|
/* 012C08 80012008 A4CE0000 */ sh $t6, ($a2)
|
|
.L8001200C:
|
|
/* 012C0C 8001200C 240F0002 */ li $t7, 2
|
|
.L80012010:
|
|
/* 012C10 80012010 10000029 */ b .L800120B8
|
|
/* 012C14 80012014 A4CF0000 */ sh $t7, ($a2)
|
|
.L80012018:
|
|
/* 012C18 80012018 28E1000A */ slti $at, $a3, 0xa
|
|
.L8001201C:
|
|
/* 012C1C 8001201C 10200022 */ beqz $at, .L800120A8
|
|
/* 012C20 80012020 3C198016 */ lui $t9, %hi(D_80162FF8) # 0x8016
|
|
/* 012C24 80012024 0323C821 */ addu $t9, $t9, $v1
|
|
/* 012C28 80012028 87392FF8 */ lh $t9, %lo(D_80162FF8)($t9) # 0x2ff8($t9)
|
|
/* 012C2C 8001202C 0004C080 */ sll $t8, $a0, 2
|
|
/* 012C30 80012030 3C018016 */ lui $at, %hi(D_80163068)
|
|
/* 012C34 80012034 1720001C */ bnez $t9, .L800120A8
|
|
/* 012C38 80012038 00380821 */ addu $at, $at, $t8
|
|
/* 012C3C 8001203C C42A3068 */ lwc1 $f10, %lo(D_80163068)($at)
|
|
/* 012C40 80012040 3C01BFE0 */ li $at, 0xBFE00000 # -1.750000
|
|
/* 012C44 80012044 44818800 */ mtc1 $at, $f17
|
|
/* 012C48 80012048 44808000 */ mtc1 $zero, $f16
|
|
/* 012C4C 8001204C 46005021 */ cvt.d.s $f0, $f10
|
|
/* 012C50 80012050 3C01800F */ lui $at, %hi(D_800ED0E8) # $at, 0x800f
|
|
/* 012C54 80012054 4620803C */ c.lt.d $f16, $f0
|
|
/* 012C58 80012058 00000000 */ nop
|
|
/* 012C5C 8001205C 45020013 */ bc1fl .L800120AC
|
|
/* 012C60 80012060 240BFFFE */ li $t3, -2
|
|
/* 012C64 80012064 D432D0E8 */ ldc1 $f18, %lo(D_800ED0E8)($at)
|
|
/* 012C68 80012068 00A02025 */ move $a0, $a1
|
|
/* 012C6C 8001206C 4632003C */ c.lt.d $f0, $f18
|
|
/* 012C70 80012070 00000000 */ nop
|
|
/* 012C74 80012074 4502000D */ bc1fl .L800120AC
|
|
/* 012C78 80012078 240BFFFE */ li $t3, -2
|
|
/* 012C7C 8001207C AFA5002C */ sw $a1, 0x2c($sp)
|
|
/* 012C80 80012080 0C00AA94 */ jal func_8002AA50
|
|
/* 012C84 80012084 AFA6001C */ sw $a2, 0x1c($sp)
|
|
/* 012C88 80012088 8FA5002C */ lw $a1, 0x2c($sp)
|
|
/* 012C8C 8001208C 8FA6001C */ lw $a2, 0x1c($sp)
|
|
/* 012C90 80012090 240AFFFF */ li $t2, -1
|
|
/* 012C94 80012094 8CA800BC */ lw $t0, 0xbc($a1)
|
|
/* 012C98 80012098 35090010 */ ori $t1, $t0, 0x10
|
|
/* 012C9C 8001209C ACA900BC */ sw $t1, 0xbc($a1)
|
|
/* 012CA0 800120A0 10000005 */ b .L800120B8
|
|
/* 012CA4 800120A4 A4CA0000 */ sh $t2, ($a2)
|
|
.L800120A8:
|
|
/* 012CA8 800120A8 240BFFFE */ li $t3, -2
|
|
.L800120AC:
|
|
/* 012CAC 800120AC 10000002 */ b .L800120B8
|
|
/* 012CB0 800120B0 A4CB0000 */ sh $t3, ($a2)
|
|
.L800120B4:
|
|
/* 012CB4 800120B4 A42C30E8 */ sh $t4, %lo(D_801630E8)($at)
|
|
.L800120B8:
|
|
/* 012CB8 800120B8 8FBF0014 */ lw $ra, 0x14($sp)
|
|
.L800120BC:
|
|
/* 012CBC 800120BC 27BD0028 */ addiu $sp, $sp, 0x28
|
|
/* 012CC0 800120C0 03E00008 */ jr $ra
|
|
/* 012CC4 800120C4 00000000 */ nop
|