mirror of
https://github.com/HarbourMasters/SpaghettiKart
synced 2026-06-30 20:11:40 -04:00
8ab4557b39
* Split asm using autodecompiler * Placed libultra bss and linked more C
191 lines
8.6 KiB
ArmAsm
191 lines
8.6 KiB
ArmAsm
glabel func_80014EE4
|
|
/* 015AE4 80014EE4 00057840 */ sll $t7, $a1, 1
|
|
/* 015AE8 80014EE8 3C028016 */ lui $v0, %hi(D_80164678) # 0x8016
|
|
/* 015AEC 80014EEC 004F1021 */ addu $v0, $v0, $t7
|
|
/* 015AF0 80014EF0 84424678 */ lh $v0, %lo(D_80164678)($v0) # 0x4678($v0)
|
|
/* 015AF4 80014EF4 00057080 */ sll $t6, $a1, 2
|
|
/* 015AF8 80014EF8 3C018016 */ lui $at, %hi(D_80164498)
|
|
/* 015AFC 80014EFC 002E0821 */ addu $at, $at, $t6
|
|
/* 015B00 80014F00 1040000B */ beqz $v0, .L80014F30
|
|
/* 015B04 80014F04 C4204498 */ lwc1 $f0, %lo(D_80164498)($at)
|
|
/* 015B08 80014F08 24010001 */ li $at, 1
|
|
/* 015B0C 80014F0C 1041002F */ beq $v0, $at, .L80014FCC
|
|
/* 015B10 80014F10 24010002 */ li $at, 2
|
|
/* 015B14 80014F14 1041007B */ beq $v0, $at, .L80015104
|
|
/* 015B18 80014F18 24010003 */ li $at, 3
|
|
/* 015B1C 80014F1C 10410052 */ beq $v0, $at, .L80015068
|
|
/* 015B20 80014F20 3C014220 */ li $at, 0x42200000 # 40.000000
|
|
/* 015B24 80014F24 44810000 */ mtc1 $at, $f0
|
|
/* 015B28 80014F28 03E00008 */ jr $ra
|
|
/* 015B2C 80014F2C 00000000 */ nop
|
|
|
|
.L80014F30:
|
|
/* 015B30 80014F30 3C014044 */ li $at, 0x40440000 # 3.062500
|
|
/* 015B34 80014F34 44812800 */ mtc1 $at, $f5
|
|
/* 015B38 80014F38 44802000 */ mtc1 $zero, $f4
|
|
/* 015B3C 80014F3C 460001A1 */ cvt.d.s $f6, $f0
|
|
/* 015B40 80014F40 460063A1 */ cvt.d.s $f14, $f12
|
|
/* 015B44 80014F44 46262080 */ add.d $f2, $f4, $f6
|
|
/* 015B48 80014F48 3C013FF0 */ li $at, 0x3FF00000 # 1.875000
|
|
/* 015B4C 80014F4C 462E103C */ c.lt.d $f2, $f14
|
|
/* 015B50 80014F50 00000000 */ nop
|
|
/* 015B54 80014F54 4502000E */ bc1fl .L80014F90
|
|
/* 015B58 80014F58 4622703C */ c.lt.d $f14, $f2
|
|
/* 015B5C 80014F5C 44814800 */ mtc1 $at, $f9
|
|
/* 015B60 80014F60 44804000 */ mtc1 $zero, $f8
|
|
/* 015B64 80014F64 00000000 */ nop
|
|
/* 015B68 80014F68 46287281 */ sub.d $f10, $f14, $f8
|
|
/* 015B6C 80014F6C 46205320 */ cvt.s.d $f12, $f10
|
|
/* 015B70 80014F70 460063A1 */ cvt.d.s $f14, $f12
|
|
/* 015B74 80014F74 4622703C */ c.lt.d $f14, $f2
|
|
/* 015B78 80014F78 00000000 */ nop
|
|
/* 015B7C 80014F7C 45020004 */ bc1fl .L80014F90
|
|
/* 015B80 80014F80 4622703C */ c.lt.d $f14, $f2
|
|
/* 015B84 80014F84 46201320 */ cvt.s.d $f12, $f2
|
|
/* 015B88 80014F88 460063A1 */ cvt.d.s $f14, $f12
|
|
/* 015B8C 80014F8C 4622703C */ c.lt.d $f14, $f2
|
|
.L80014F90:
|
|
/* 015B90 80014F90 3C013FF0 */ li $at, 0x3FF00000 # 1.875000
|
|
/* 015B94 80014F94 45000081 */ bc1f .L8001519C
|
|
/* 015B98 80014F98 00000000 */ nop
|
|
/* 015B9C 80014F9C 44818800 */ mtc1 $at, $f17
|
|
/* 015BA0 80014FA0 44808000 */ mtc1 $zero, $f16
|
|
/* 015BA4 80014FA4 00000000 */ nop
|
|
/* 015BA8 80014FA8 46307480 */ add.d $f18, $f14, $f16
|
|
/* 015BAC 80014FAC 46209320 */ cvt.s.d $f12, $f18
|
|
/* 015BB0 80014FB0 46006121 */ cvt.d.s $f4, $f12
|
|
/* 015BB4 80014FB4 4624103C */ c.lt.d $f2, $f4
|
|
/* 015BB8 80014FB8 00000000 */ nop
|
|
/* 015BBC 80014FBC 45000077 */ bc1f .L8001519C
|
|
/* 015BC0 80014FC0 00000000 */ nop
|
|
/* 015BC4 80014FC4 03E00008 */ jr $ra
|
|
/* 015BC8 80014FC8 46201020 */ cvt.s.d $f0, $f2
|
|
|
|
.L80014FCC:
|
|
/* 015BCC 80014FCC 3C01404E */ li $at, 0x404E0000 # 3.218750
|
|
/* 015BD0 80014FD0 44813800 */ mtc1 $at, $f7
|
|
/* 015BD4 80014FD4 44803000 */ mtc1 $zero, $f6
|
|
/* 015BD8 80014FD8 46000221 */ cvt.d.s $f8, $f0
|
|
/* 015BDC 80014FDC 460063A1 */ cvt.d.s $f14, $f12
|
|
/* 015BE0 80014FE0 46283080 */ add.d $f2, $f6, $f8
|
|
/* 015BE4 80014FE4 3C013FF0 */ li $at, 0x3FF00000 # 1.875000
|
|
/* 015BE8 80014FE8 4622703C */ c.lt.d $f14, $f2
|
|
/* 015BEC 80014FEC 00000000 */ nop
|
|
/* 015BF0 80014FF0 4502000E */ bc1fl .L8001502C
|
|
/* 015BF4 80014FF4 462E103C */ c.lt.d $f2, $f14
|
|
/* 015BF8 80014FF8 44815800 */ mtc1 $at, $f11
|
|
/* 015BFC 80014FFC 44805000 */ mtc1 $zero, $f10
|
|
/* 015C00 80015000 00000000 */ nop
|
|
/* 015C04 80015004 462A7400 */ add.d $f16, $f14, $f10
|
|
/* 015C08 80015008 46208320 */ cvt.s.d $f12, $f16
|
|
/* 015C0C 8001500C 460063A1 */ cvt.d.s $f14, $f12
|
|
/* 015C10 80015010 462E103C */ c.lt.d $f2, $f14
|
|
/* 015C14 80015014 00000000 */ nop
|
|
/* 015C18 80015018 45020004 */ bc1fl .L8001502C
|
|
/* 015C1C 8001501C 462E103C */ c.lt.d $f2, $f14
|
|
/* 015C20 80015020 46201320 */ cvt.s.d $f12, $f2
|
|
/* 015C24 80015024 460063A1 */ cvt.d.s $f14, $f12
|
|
/* 015C28 80015028 462E103C */ c.lt.d $f2, $f14
|
|
.L8001502C:
|
|
/* 015C2C 8001502C 3C013FF0 */ li $at, 0x3FF00000 # 1.875000
|
|
/* 015C30 80015030 4500005A */ bc1f .L8001519C
|
|
/* 015C34 80015034 00000000 */ nop
|
|
/* 015C38 80015038 44819800 */ mtc1 $at, $f19
|
|
/* 015C3C 8001503C 44809000 */ mtc1 $zero, $f18
|
|
/* 015C40 80015040 00000000 */ nop
|
|
/* 015C44 80015044 46327101 */ sub.d $f4, $f14, $f18
|
|
/* 015C48 80015048 46202320 */ cvt.s.d $f12, $f4
|
|
/* 015C4C 8001504C 460061A1 */ cvt.d.s $f6, $f12
|
|
/* 015C50 80015050 4622303C */ c.lt.d $f6, $f2
|
|
/* 015C54 80015054 00000000 */ nop
|
|
/* 015C58 80015058 45000050 */ bc1f .L8001519C
|
|
/* 015C5C 8001505C 00000000 */ nop
|
|
/* 015C60 80015060 03E00008 */ jr $ra
|
|
/* 015C64 80015064 46201020 */ cvt.s.d $f0, $f2
|
|
|
|
.L80015068:
|
|
/* 015C68 80015068 3C01404E */ li $at, 0x404E0000 # 3.218750
|
|
/* 015C6C 8001506C 44814800 */ mtc1 $at, $f9
|
|
/* 015C70 80015070 44804000 */ mtc1 $zero, $f8
|
|
/* 015C74 80015074 460002A1 */ cvt.d.s $f10, $f0
|
|
/* 015C78 80015078 460063A1 */ cvt.d.s $f14, $f12
|
|
/* 015C7C 8001507C 462A4080 */ add.d $f2, $f8, $f10
|
|
/* 015C80 80015080 3C013FE0 */ li $at, 0x3FE00000 # 1.750000
|
|
/* 015C84 80015084 4622703C */ c.lt.d $f14, $f2
|
|
/* 015C88 80015088 00000000 */ nop
|
|
/* 015C8C 8001508C 4502000E */ bc1fl .L800150C8
|
|
/* 015C90 80015090 462E103C */ c.lt.d $f2, $f14
|
|
/* 015C94 80015094 44818800 */ mtc1 $at, $f17
|
|
/* 015C98 80015098 44808000 */ mtc1 $zero, $f16
|
|
/* 015C9C 8001509C 00000000 */ nop
|
|
/* 015CA0 800150A0 46307480 */ add.d $f18, $f14, $f16
|
|
/* 015CA4 800150A4 46209320 */ cvt.s.d $f12, $f18
|
|
/* 015CA8 800150A8 460063A1 */ cvt.d.s $f14, $f12
|
|
/* 015CAC 800150AC 462E103C */ c.lt.d $f2, $f14
|
|
/* 015CB0 800150B0 00000000 */ nop
|
|
/* 015CB4 800150B4 45020004 */ bc1fl .L800150C8
|
|
/* 015CB8 800150B8 462E103C */ c.lt.d $f2, $f14
|
|
/* 015CBC 800150BC 46201320 */ cvt.s.d $f12, $f2
|
|
/* 015CC0 800150C0 460063A1 */ cvt.d.s $f14, $f12
|
|
/* 015CC4 800150C4 462E103C */ c.lt.d $f2, $f14
|
|
.L800150C8:
|
|
/* 015CC8 800150C8 3C013FE0 */ li $at, 0x3FE00000 # 1.750000
|
|
/* 015CCC 800150CC 45000033 */ bc1f .L8001519C
|
|
/* 015CD0 800150D0 00000000 */ nop
|
|
/* 015CD4 800150D4 44812800 */ mtc1 $at, $f5
|
|
/* 015CD8 800150D8 44802000 */ mtc1 $zero, $f4
|
|
/* 015CDC 800150DC 00000000 */ nop
|
|
/* 015CE0 800150E0 46247181 */ sub.d $f6, $f14, $f4
|
|
/* 015CE4 800150E4 46203320 */ cvt.s.d $f12, $f6
|
|
/* 015CE8 800150E8 46006221 */ cvt.d.s $f8, $f12
|
|
/* 015CEC 800150EC 4622403C */ c.lt.d $f8, $f2
|
|
/* 015CF0 800150F0 00000000 */ nop
|
|
/* 015CF4 800150F4 45000029 */ bc1f .L8001519C
|
|
/* 015CF8 800150F8 00000000 */ nop
|
|
/* 015CFC 800150FC 03E00008 */ jr $ra
|
|
/* 015D00 80015100 46201020 */ cvt.s.d $f0, $f2
|
|
|
|
.L80015104:
|
|
/* 015D04 80015104 3C01404E */ li $at, 0x404E0000 # 3.218750
|
|
/* 015D08 80015108 44815800 */ mtc1 $at, $f11
|
|
/* 015D0C 8001510C 44805000 */ mtc1 $zero, $f10
|
|
/* 015D10 80015110 46000421 */ cvt.d.s $f16, $f0
|
|
/* 015D14 80015114 460063A1 */ cvt.d.s $f14, $f12
|
|
/* 015D18 80015118 46305080 */ add.d $f2, $f10, $f16
|
|
/* 015D1C 8001511C 3C013FF0 */ li $at, 0x3FF00000 # 1.875000
|
|
/* 015D20 80015120 4622703C */ c.lt.d $f14, $f2
|
|
/* 015D24 80015124 00000000 */ nop
|
|
/* 015D28 80015128 4502000E */ bc1fl .L80015164
|
|
/* 015D2C 8001512C 462E103C */ c.lt.d $f2, $f14
|
|
/* 015D30 80015130 44819800 */ mtc1 $at, $f19
|
|
/* 015D34 80015134 44809000 */ mtc1 $zero, $f18
|
|
/* 015D38 80015138 00000000 */ nop
|
|
/* 015D3C 8001513C 46327100 */ add.d $f4, $f14, $f18
|
|
/* 015D40 80015140 46202320 */ cvt.s.d $f12, $f4
|
|
/* 015D44 80015144 460063A1 */ cvt.d.s $f14, $f12
|
|
/* 015D48 80015148 462E103C */ c.lt.d $f2, $f14
|
|
/* 015D4C 8001514C 00000000 */ nop
|
|
/* 015D50 80015150 45020004 */ bc1fl .L80015164
|
|
/* 015D54 80015154 462E103C */ c.lt.d $f2, $f14
|
|
/* 015D58 80015158 46201320 */ cvt.s.d $f12, $f2
|
|
/* 015D5C 8001515C 460063A1 */ cvt.d.s $f14, $f12
|
|
/* 015D60 80015160 462E103C */ c.lt.d $f2, $f14
|
|
.L80015164:
|
|
/* 015D64 80015164 3C013FF0 */ li $at, 0x3FF00000 # 1.875000
|
|
/* 015D68 80015168 4500000C */ bc1f .L8001519C
|
|
/* 015D6C 8001516C 00000000 */ nop
|
|
/* 015D70 80015170 44813800 */ mtc1 $at, $f7
|
|
/* 015D74 80015174 44803000 */ mtc1 $zero, $f6
|
|
/* 015D78 80015178 00000000 */ nop
|
|
/* 015D7C 8001517C 46267201 */ sub.d $f8, $f14, $f6
|
|
/* 015D80 80015180 46204320 */ cvt.s.d $f12, $f8
|
|
/* 015D84 80015184 460062A1 */ cvt.d.s $f10, $f12
|
|
/* 015D88 80015188 4622503C */ c.lt.d $f10, $f2
|
|
/* 015D8C 8001518C 00000000 */ nop
|
|
/* 015D90 80015190 45000002 */ bc1f .L8001519C
|
|
/* 015D94 80015194 00000000 */ nop
|
|
/* 015D98 80015198 46201320 */ cvt.s.d $f12, $f2
|
|
.L8001519C:
|
|
/* 015D9C 8001519C 03E00008 */ jr $ra
|
|
/* 015DA0 800151A0 46006006 */ mov.s $f0, $f12
|