papermario/asm/nonmatchings/battle/area_sam2/63D1E0/func_80218314_63D4F4.s
2021-01-13 00:42:27 +09:00

87 lines
4.3 KiB
ArmAsm

.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80218314_63D4F4
/* 63D4F4 80218314 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 63D4F8 80218318 AFB60028 */ sw $s6, 0x28($sp)
/* 63D4FC 8021831C 0080B02D */ daddu $s6, $a0, $zero
/* 63D500 80218320 AFBF002C */ sw $ra, 0x2c($sp)
/* 63D504 80218324 AFB50024 */ sw $s5, 0x24($sp)
/* 63D508 80218328 AFB40020 */ sw $s4, 0x20($sp)
/* 63D50C 8021832C AFB3001C */ sw $s3, 0x1c($sp)
/* 63D510 80218330 AFB20018 */ sw $s2, 0x18($sp)
/* 63D514 80218334 AFB10014 */ sw $s1, 0x14($sp)
/* 63D518 80218338 AFB00010 */ sw $s0, 0x10($sp)
/* 63D51C 8021833C 8ED5000C */ lw $s5, 0xc($s6)
/* 63D520 80218340 8EA50000 */ lw $a1, ($s5)
/* 63D524 80218344 0C0B1EAF */ jal get_variable
/* 63D528 80218348 26B50004 */ addiu $s5, $s5, 4
/* 63D52C 8021834C 8EA50000 */ lw $a1, ($s5)
/* 63D530 80218350 26B50004 */ addiu $s5, $s5, 4
/* 63D534 80218354 02C0202D */ daddu $a0, $s6, $zero
/* 63D538 80218358 0C0B1EAF */ jal get_variable
/* 63D53C 8021835C 0040982D */ daddu $s3, $v0, $zero
/* 63D540 80218360 8EA50000 */ lw $a1, ($s5)
/* 63D544 80218364 26B50004 */ addiu $s5, $s5, 4
/* 63D548 80218368 02C0202D */ daddu $a0, $s6, $zero
/* 63D54C 8021836C 0C0B1EAF */ jal get_variable
/* 63D550 80218370 0040902D */ daddu $s2, $v0, $zero
/* 63D554 80218374 8EA50000 */ lw $a1, ($s5)
/* 63D558 80218378 26B50004 */ addiu $s5, $s5, 4
/* 63D55C 8021837C 02C0202D */ daddu $a0, $s6, $zero
/* 63D560 80218380 0C0B1EAF */ jal get_variable
/* 63D564 80218384 0040802D */ daddu $s0, $v0, $zero
/* 63D568 80218388 8EA50000 */ lw $a1, ($s5)
/* 63D56C 8021838C 26B50004 */ addiu $s5, $s5, 4
/* 63D570 80218390 02C0202D */ daddu $a0, $s6, $zero
/* 63D574 80218394 0C0B1EAF */ jal get_variable
/* 63D578 80218398 0040A02D */ daddu $s4, $v0, $zero
/* 63D57C 8021839C 02C0202D */ daddu $a0, $s6, $zero
/* 63D580 802183A0 8EA50000 */ lw $a1, ($s5)
/* 63D584 802183A4 0C0B1EAF */ jal get_variable
/* 63D588 802183A8 0040882D */ daddu $s1, $v0, $zero
/* 63D58C 802183AC 02749823 */ subu $s3, $s3, $s4
/* 63D590 802183B0 44932000 */ mtc1 $s3, $f4
/* 63D594 802183B4 00000000 */ nop
/* 63D598 802183B8 46802120 */ cvt.s.w $f4, $f4
/* 63D59C 802183BC 46042102 */ mul.s $f4, $f4, $f4
/* 63D5A0 802183C0 00000000 */ nop
/* 63D5A4 802183C4 02519023 */ subu $s2, $s2, $s1
/* 63D5A8 802183C8 44921000 */ mtc1 $s2, $f2
/* 63D5AC 802183CC 00000000 */ nop
/* 63D5B0 802183D0 468010A0 */ cvt.s.w $f2, $f2
/* 63D5B4 802183D4 46021082 */ mul.s $f2, $f2, $f2
/* 63D5B8 802183D8 00000000 */ nop
/* 63D5BC 802183DC 02028023 */ subu $s0, $s0, $v0
/* 63D5C0 802183E0 44900000 */ mtc1 $s0, $f0
/* 63D5C4 802183E4 00000000 */ nop
/* 63D5C8 802183E8 46800020 */ cvt.s.w $f0, $f0
/* 63D5CC 802183EC 46000002 */ mul.s $f0, $f0, $f0
/* 63D5D0 802183F0 00000000 */ nop
/* 63D5D4 802183F4 46022100 */ add.s $f4, $f4, $f2
/* 63D5D8 802183F8 46002300 */ add.s $f12, $f4, $f0
/* 63D5DC 802183FC 46006004 */ sqrt.s $f0, $f12
/* 63D5E0 80218400 46000032 */ c.eq.s $f0, $f0
/* 63D5E4 80218404 00000000 */ nop
/* 63D5E8 80218408 45010003 */ bc1t .L80218418
/* 63D5EC 8021840C 26B50004 */ addiu $s5, $s5, 4
/* 63D5F0 80218410 0C0187BC */ jal sqrtf
/* 63D5F4 80218414 00000000 */ nop
.L80218418:
/* 63D5F8 80218418 8EA50000 */ lw $a1, ($s5)
/* 63D5FC 8021841C 4600018D */ trunc.w.s $f6, $f0
/* 63D600 80218420 44063000 */ mfc1 $a2, $f6
/* 63D604 80218424 0C0B2026 */ jal set_variable
/* 63D608 80218428 02C0202D */ daddu $a0, $s6, $zero
/* 63D60C 8021842C 8FBF002C */ lw $ra, 0x2c($sp)
/* 63D610 80218430 8FB60028 */ lw $s6, 0x28($sp)
/* 63D614 80218434 8FB50024 */ lw $s5, 0x24($sp)
/* 63D618 80218438 8FB40020 */ lw $s4, 0x20($sp)
/* 63D61C 8021843C 8FB3001C */ lw $s3, 0x1c($sp)
/* 63D620 80218440 8FB20018 */ lw $s2, 0x18($sp)
/* 63D624 80218444 8FB10014 */ lw $s1, 0x14($sp)
/* 63D628 80218448 8FB00010 */ lw $s0, 0x10($sp)
/* 63D62C 8021844C 24020002 */ addiu $v0, $zero, 2
/* 63D630 80218450 03E00008 */ jr $ra
/* 63D634 80218454 27BD0030 */ addiu $sp, $sp, 0x30