mirror of
https://github.com/pmret/papermario.git
synced 2024-11-19 01:12:28 +01:00
106 lines
5.5 KiB
ArmAsm
106 lines
5.5 KiB
ArmAsm
.set noat # allow manual use of $at
|
|
.set noreorder # don't insert nops after branches
|
|
|
|
glabel func_80218358_684D88
|
|
/* 684D88 80218358 27BDFFB8 */ addiu $sp, $sp, -0x48
|
|
/* 684D8C 8021835C AFB20018 */ sw $s2, 0x18($sp)
|
|
/* 684D90 80218360 0080902D */ daddu $s2, $a0, $zero
|
|
/* 684D94 80218364 AFBF0028 */ sw $ra, 0x28($sp)
|
|
/* 684D98 80218368 AFB50024 */ sw $s5, 0x24($sp)
|
|
/* 684D9C 8021836C AFB40020 */ sw $s4, 0x20($sp)
|
|
/* 684DA0 80218370 AFB3001C */ sw $s3, 0x1c($sp)
|
|
/* 684DA4 80218374 AFB10014 */ sw $s1, 0x14($sp)
|
|
/* 684DA8 80218378 AFB00010 */ sw $s0, 0x10($sp)
|
|
/* 684DAC 8021837C F7B80040 */ sdc1 $f24, 0x40($sp)
|
|
/* 684DB0 80218380 F7B60038 */ sdc1 $f22, 0x38($sp)
|
|
/* 684DB4 80218384 F7B40030 */ sdc1 $f20, 0x30($sp)
|
|
/* 684DB8 80218388 8E50000C */ lw $s0, 0xc($s2)
|
|
/* 684DBC 8021838C 8E140000 */ lw $s4, ($s0)
|
|
/* 684DC0 80218390 26100004 */ addiu $s0, $s0, 4
|
|
/* 684DC4 80218394 0C0B1EAF */ jal get_variable
|
|
/* 684DC8 80218398 0280282D */ daddu $a1, $s4, $zero
|
|
/* 684DCC 8021839C 0040982D */ daddu $s3, $v0, $zero
|
|
/* 684DD0 802183A0 8E150000 */ lw $s5, ($s0)
|
|
/* 684DD4 802183A4 26100004 */ addiu $s0, $s0, 4
|
|
/* 684DD8 802183A8 8E050000 */ lw $a1, ($s0)
|
|
/* 684DDC 802183AC 26100004 */ addiu $s0, $s0, 4
|
|
/* 684DE0 802183B0 0C0B210B */ jal get_float_variable
|
|
/* 684DE4 802183B4 0240202D */ daddu $a0, $s2, $zero
|
|
/* 684DE8 802183B8 8E050000 */ lw $a1, ($s0)
|
|
/* 684DEC 802183BC 26100004 */ addiu $s0, $s0, 4
|
|
/* 684DF0 802183C0 0240202D */ daddu $a0, $s2, $zero
|
|
/* 684DF4 802183C4 0C0B210B */ jal get_float_variable
|
|
/* 684DF8 802183C8 46000606 */ mov.s $f24, $f0
|
|
/* 684DFC 802183CC 8E050000 */ lw $a1, ($s0)
|
|
/* 684E00 802183D0 26100004 */ addiu $s0, $s0, 4
|
|
/* 684E04 802183D4 0240202D */ daddu $a0, $s2, $zero
|
|
/* 684E08 802183D8 0C0B1EAF */ jal get_variable
|
|
/* 684E0C 802183DC 46000506 */ mov.s $f20, $f0
|
|
/* 684E10 802183E0 8E050000 */ lw $a1, ($s0)
|
|
/* 684E14 802183E4 26100004 */ addiu $s0, $s0, 4
|
|
/* 684E18 802183E8 0240202D */ daddu $a0, $s2, $zero
|
|
/* 684E1C 802183EC 0C0B1EAF */ jal get_variable
|
|
/* 684E20 802183F0 0040882D */ daddu $s1, $v0, $zero
|
|
/* 684E24 802183F4 0240202D */ daddu $a0, $s2, $zero
|
|
/* 684E28 802183F8 8E050000 */ lw $a1, ($s0)
|
|
/* 684E2C 802183FC 0C0B210B */ jal get_float_variable
|
|
/* 684E30 80218400 0040802D */ daddu $s0, $v0, $zero
|
|
/* 684E34 80218404 3C014334 */ lui $at, 0x4334
|
|
/* 684E38 80218408 44811000 */ mtc1 $at, $f2
|
|
/* 684E3C 8021840C 3C014049 */ lui $at, 0x4049
|
|
/* 684E40 80218410 34210FD8 */ ori $at, $at, 0xfd8
|
|
/* 684E44 80218414 44812000 */ mtc1 $at, $f4
|
|
/* 684E48 80218418 46020003 */ div.s $f0, $f0, $f2
|
|
/* 684E4C 8021841C 46040582 */ mul.s $f22, $f0, $f4
|
|
/* 684E50 80218420 00000000 */ nop
|
|
/* 684E54 80218424 4618A501 */ sub.s $f20, $f20, $f24
|
|
/* 684E58 80218428 3C013F00 */ lui $at, 0x3f00
|
|
/* 684E5C 8021842C 44810000 */ mtc1 $at, $f0
|
|
/* 684E60 80218430 00000000 */ nop
|
|
/* 684E64 80218434 4600A502 */ mul.s $f20, $f20, $f0
|
|
/* 684E68 80218438 00000000 */ nop
|
|
/* 684E6C 8021843C 12000007 */ beqz $s0, .L8021845C
|
|
/* 684E70 80218440 0233102A */ slt $v0, $s1, $s3
|
|
/* 684E74 80218444 10400005 */ beqz $v0, .L8021845C
|
|
/* 684E78 80218448 0240202D */ daddu $a0, $s2, $zero
|
|
/* 684E7C 8021844C 0220982D */ daddu $s3, $s1, $zero
|
|
/* 684E80 80218450 0280282D */ daddu $a1, $s4, $zero
|
|
/* 684E84 80218454 0C0B2026 */ jal set_variable
|
|
/* 684E88 80218458 0220302D */ daddu $a2, $s1, $zero
|
|
.L8021845C:
|
|
/* 684E8C 8021845C 3C014049 */ lui $at, 0x4049
|
|
/* 684E90 80218460 34210FD8 */ ori $at, $at, 0xfd8
|
|
/* 684E94 80218464 44810000 */ mtc1 $at, $f0
|
|
/* 684E98 80218468 44936000 */ mtc1 $s3, $f12
|
|
/* 684E9C 8021846C 00000000 */ nop
|
|
/* 684EA0 80218470 46806320 */ cvt.s.w $f12, $f12
|
|
/* 684EA4 80218474 46006302 */ mul.s $f12, $f12, $f0
|
|
/* 684EA8 80218478 00000000 */ nop
|
|
/* 684EAC 8021847C 44910000 */ mtc1 $s1, $f0
|
|
/* 684EB0 80218480 00000000 */ nop
|
|
/* 684EB4 80218484 46800020 */ cvt.s.w $f0, $f0
|
|
/* 684EB8 80218488 46006303 */ div.s $f12, $f12, $f0
|
|
/* 684EBC 8021848C 0C00A874 */ jal cos_rad
|
|
/* 684EC0 80218490 46166300 */ add.s $f12, $f12, $f22
|
|
/* 684EC4 80218494 4600A002 */ mul.s $f0, $f20, $f0
|
|
/* 684EC8 80218498 00000000 */ nop
|
|
/* 684ECC 8021849C 4614C080 */ add.s $f2, $f24, $f20
|
|
/* 684ED0 802184A0 46001081 */ sub.s $f2, $f2, $f0
|
|
/* 684ED4 802184A4 0240202D */ daddu $a0, $s2, $zero
|
|
/* 684ED8 802184A8 44061000 */ mfc1 $a2, $f2
|
|
/* 684EDC 802184AC 0C0B2190 */ jal set_float_variable
|
|
/* 684EE0 802184B0 02A0282D */ daddu $a1, $s5, $zero
|
|
/* 684EE4 802184B4 8FBF0028 */ lw $ra, 0x28($sp)
|
|
/* 684EE8 802184B8 8FB50024 */ lw $s5, 0x24($sp)
|
|
/* 684EEC 802184BC 8FB40020 */ lw $s4, 0x20($sp)
|
|
/* 684EF0 802184C0 8FB3001C */ lw $s3, 0x1c($sp)
|
|
/* 684EF4 802184C4 8FB20018 */ lw $s2, 0x18($sp)
|
|
/* 684EF8 802184C8 8FB10014 */ lw $s1, 0x14($sp)
|
|
/* 684EFC 802184CC 8FB00010 */ lw $s0, 0x10($sp)
|
|
/* 684F00 802184D0 D7B80040 */ ldc1 $f24, 0x40($sp)
|
|
/* 684F04 802184D4 D7B60038 */ ldc1 $f22, 0x38($sp)
|
|
/* 684F08 802184D8 D7B40030 */ ldc1 $f20, 0x30($sp)
|
|
/* 684F0C 802184DC 24020002 */ addiu $v0, $zero, 2
|
|
/* 684F10 802184E0 03E00008 */ jr $ra
|
|
/* 684F14 802184E4 27BD0048 */ addiu $sp, $sp, 0x48
|