oot/asm/non_matchings/code/code_800EC960/func_800F3188.s

128 lines
5.0 KiB
ArmAsm

.late_rodata
glabel D_8014A55C
.float 10000
glabel D_8014A560
.float 666.6667
glabel D_8014A564
.float 952.381
glabel D_8014A568
.float 3846.154
glabel D_8014A56C
.float 0.19
glabel D_8014A570
.float 0.81
glabel D_8014A574
.float 0.81
.text
glabel func_800F3188
/* B6A328 800F3188 AFA40000 */ sw $a0, ($sp)
/* B6A32C 800F318C 308400FF */ andi $a0, $a0, 0xff
/* B6A330 800F3190 AFA50004 */ sw $a1, 4($sp)
/* B6A334 800F3194 00047080 */ sll $t6, $a0, 2
/* B6A338 800F3198 3C0F8013 */ lui $t7, %hi(D_801333A8)
/* B6A33C 800F319C 30A500FF */ andi $a1, $a1, 0xff
/* B6A340 800F31A0 01EE7821 */ addu $t7, $t7, $t6
/* B6A344 800F31A4 8DEF33A8 */ lw $t7, %lo(D_801333A8)($t7)
/* B6A348 800F31A8 0005C080 */ sll $t8, $a1, 2
/* B6A34C 800F31AC 0305C023 */ subu $t8, $t8, $a1
/* B6A350 800F31B0 0018C100 */ sll $t8, $t8, 4
/* B6A354 800F31B4 01F81021 */ addu $v0, $t7, $t8
/* B6A358 800F31B8 94430026 */ lhu $v1, 0x26($v0)
/* B6A35C 800F31BC 3C018015 */ lui $at, %hi(D_8014A55C)
/* B6A360 800F31C0 30792000 */ andi $t9, $v1, 0x2000
/* B6A364 800F31C4 13200005 */ beqz $t9, .L800F31DC
/* B6A368 800F31C8 00000000 */ nop
/* B6A36C 800F31CC 3C013F80 */ li $at, 0x3F800000 # 0.000000
/* B6A370 800F31D0 44810000 */ mtc1 $at, $f0
/* B6A374 800F31D4 03E00008 */ jr $ra
/* B6A378 800F31D8 00000000 */ nop
.L800F31DC:
/* B6A37C 800F31DC C430A55C */ lwc1 $f16, %lo(D_8014A55C)($at)
/* B6A380 800F31E0 C442001C */ lwc1 $f2, 0x1c($v0)
/* B6A384 800F31E4 30620003 */ andi $v0, $v1, 3
/* B6A388 800F31E8 24010001 */ li $at, 1
/* B6A38C 800F31EC 4602803C */ c.lt.s $f16, $f2
/* B6A390 800F31F0 00000000 */ nop
/* B6A394 800F31F4 45000004 */ bc1f .L800F3208
/* B6A398 800F31F8 00000000 */ nop
/* B6A39C 800F31FC 44806000 */ mtc1 $zero, $f12
/* B6A3A0 800F3200 10000039 */ b .L800F32E8
/* B6A3A4 800F3204 46006006 */ mov.s $f0, $f12
.L800F3208:
/* B6A3A8 800F3208 10410008 */ beq $v0, $at, .L800F322C
/* B6A3AC 800F320C 24010002 */ li $at, 2
/* B6A3B0 800F3210 10410009 */ beq $v0, $at, .L800F3238
/* B6A3B4 800F3214 24010003 */ li $at, 3
/* B6A3B8 800F3218 1041000A */ beq $v0, $at, .L800F3244
/* B6A3BC 800F321C 3C0143FA */ li $at, 0x43FA0000 # 0.000000
/* B6A3C0 800F3220 44810000 */ mtc1 $at, $f0
/* B6A3C4 800F3224 1000000A */ b .L800F3250
/* B6A3C8 800F3228 3C0140A0 */ lui $at, 0x40a0
.L800F322C:
/* B6A3CC 800F322C 3C018015 */ lui $at, %hi(D_8014A560)
/* B6A3D0 800F3230 10000006 */ b .L800F324C
/* B6A3D4 800F3234 C420A560 */ lwc1 $f0, %lo(D_8014A560)($at)
.L800F3238:
/* B6A3D8 800F3238 3C018015 */ lui $at, %hi(D_8014A564)
/* B6A3DC 800F323C 10000003 */ b .L800F324C
/* B6A3E0 800F3240 C420A564 */ lwc1 $f0, %lo(D_8014A564)($at)
.L800F3244:
/* B6A3E4 800F3244 3C018015 */ lui $at, %hi(D_8014A568)
/* B6A3E8 800F3248 C420A568 */ lwc1 $f0, %lo(D_8014A568)($at)
.L800F324C:
/* B6A3EC 800F324C 3C0140A0 */ li $at, 0x40A00000 # 0.000000
.L800F3250:
/* B6A3F0 800F3250 44812000 */ mtc1 $at, $f4
/* B6A3F4 800F3254 3C013F80 */ li $at, 0x3F800000 # 0.000000
/* B6A3F8 800F3258 46040383 */ div.s $f14, $f0, $f4
/* B6A3FC 800F325C 460E103C */ c.lt.s $f2, $f14
/* B6A400 800F3260 00000000 */ nop
/* B6A404 800F3264 45020005 */ bc1fl .L800F327C
/* B6A408 800F3268 4600103C */ c.lt.s $f2, $f0
/* B6A40C 800F326C 44816000 */ mtc1 $at, $f12
/* B6A410 800F3270 1000001A */ b .L800F32DC
/* B6A414 800F3274 00000000 */ nop
/* B6A418 800F3278 4600103C */ c.lt.s $f2, $f0
.L800F327C:
/* B6A41C 800F327C 00000000 */ nop
/* B6A420 800F3280 4502000D */ bc1fl .L800F32B8
/* B6A424 800F3284 46001201 */ sub.s $f8, $f2, $f0
/* B6A428 800F3288 460E0401 */ sub.s $f16, $f0, $f14
/* B6A42C 800F328C 3C018015 */ lui $at, %hi(D_8014A56C)
/* B6A430 800F3290 C432A56C */ lwc1 $f18, %lo(D_8014A56C)($at)
/* B6A434 800F3294 460E1181 */ sub.s $f6, $f2, $f14
/* B6A438 800F3298 3C018015 */ lui $at, %hi(D_8014A570)
/* B6A43C 800F329C 46068201 */ sub.s $f8, $f16, $f6
/* B6A440 800F32A0 C426A570 */ lwc1 $f6, %lo(D_8014A570)($at)
/* B6A444 800F32A4 46104283 */ div.s $f10, $f8, $f16
/* B6A448 800F32A8 46125102 */ mul.s $f4, $f10, $f18
/* B6A44C 800F32AC 1000000B */ b .L800F32DC
/* B6A450 800F32B0 46062300 */ add.s $f12, $f4, $f6
/* B6A454 800F32B4 46001201 */ sub.s $f8, $f2, $f0
.L800F32B8:
/* B6A458 800F32B8 3C013F80 */ li $at, 0x3F800000 # 0.000000
/* B6A45C 800F32BC 44812000 */ mtc1 $at, $f4
/* B6A460 800F32C0 46008281 */ sub.s $f10, $f16, $f0
/* B6A464 800F32C4 3C018015 */ lui $at, %hi(D_8014A574)
/* B6A468 800F32C8 460A4483 */ div.s $f18, $f8, $f10
/* B6A46C 800F32CC C428A574 */ lwc1 $f8, %lo(D_8014A574)($at)
/* B6A470 800F32D0 46122181 */ sub.s $f6, $f4, $f18
/* B6A474 800F32D4 46083302 */ mul.s $f12, $f6, $f8
/* B6A478 800F32D8 00000000 */ nop
.L800F32DC:
/* B6A47C 800F32DC 460C6302 */ mul.s $f12, $f12, $f12
/* B6A480 800F32E0 00000000 */ nop
/* B6A484 800F32E4 46006006 */ mov.s $f0, $f12
.L800F32E8:
/* B6A488 800F32E8 03E00008 */ jr $ra
/* B6A48C 800F32EC 00000000 */ nop