Files
mk64/asm/non_matchings/code_80281FA0/func_80282F44.s
T
CoderStig 632512ada9 Imported funcs from sm64 to code_80004740.c and trig_tables.inc.c (#68)
* fixed float issue brought over from zeldaret

* Import trig_tables.inc.c

* Delete game_data_802BA370.s

* Import two funcs from sm64 into code_80004740.c
2021-11-28 15:42:03 -07:00

100 lines
4.8 KiB
ArmAsm

glabel func_80282F44
/* 126584 80282F44 27BDFFA0 */ addiu $sp, $sp, -0x60
/* 126588 80282F48 AFBF0024 */ sw $ra, 0x24($sp)
/* 12658C 80282F4C AFB10020 */ sw $s1, 0x20($sp)
/* 126590 80282F50 AFA40060 */ sw $a0, 0x60($sp)
/* 126594 80282F54 AFB0001C */ sw $s0, 0x1c($sp)
/* 126598 80282F58 AFA50064 */ sw $a1, 0x64($sp)
/* 12659C 80282F5C 00C08825 */ move $s1, $a2
/* 1265A0 80282F60 8CC50000 */ lw $a1, ($a2)
/* 1265A4 80282F64 8CC60004 */ lw $a2, 4($a2)
/* 1265A8 80282F68 8E270008 */ lw $a3, 8($s1)
/* 1265AC 80282F6C 0C0A07E8 */ jal func_80281FA0
/* 1265B0 80282F70 27A40044 */ addiu $a0, $sp, 0x44
/* 1265B4 80282F74 27A40038 */ addiu $a0, $sp, 0x38
/* 1265B8 80282F78 8E25000C */ lw $a1, 0xc($s1)
/* 1265BC 80282F7C 8E260010 */ lw $a2, 0x10($s1)
/* 1265C0 80282F80 0C0A07E8 */ jal func_80281FA0
/* 1265C4 80282F84 8E270014 */ lw $a3, 0x14($s1)
/* 1265C8 80282F88 8FA30060 */ lw $v1, 0x60($sp)
/* 1265CC 80282F8C 24010001 */ li $at, 1
/* 1265D0 80282F90 8FA20064 */ lw $v0, 0x64($sp)
/* 1265D4 80282F94 50600004 */ beql $v1, $zero, .L80282FA8
/* 1265D8 80282F98 844E0048 */ lh $t6, 0x48($v0)
/* 1265DC 80282F9C 54610041 */ bnel $v1, $at, .L802830A4
/* 1265E0 80282FA0 8FBF0024 */ lw $ra, 0x24($sp)
/* 1265E4 80282FA4 844E0048 */ lh $t6, 0x48($v0)
.L80282FA8:
/* 1265E8 80282FA8 27A40044 */ addiu $a0, $sp, 0x44
/* 1265EC 80282FAC 27A50038 */ addiu $a1, $sp, 0x38
/* 1265F0 80282FB0 15C00003 */ bnez $t6, .L80282FC0
/* 1265F4 80282FB4 27A6005C */ addiu $a2, $sp, 0x5c
/* 1265F8 80282FB8 844F004A */ lh $t7, 0x4a($v0)
/* 1265FC 80282FBC 11E00032 */ beqz $t7, .L80283088
.L80282FC0:
/* 126600 80282FC0 27B80052 */ addiu $t8, $sp, 0x52
/* 126604 80282FC4 AFB80010 */ sw $t8, 0x10($sp)
/* 126608 80282FC8 0C0A0915 */ jal func_80282454
/* 12660C 80282FCC 27A70050 */ addiu $a3, $sp, 0x50
/* 126610 80282FD0 8FA30060 */ lw $v1, 0x60($sp)
/* 126614 80282FD4 8FA80064 */ lw $t0, 0x64($sp)
/* 126618 80282FD8 0003C840 */ sll $t9, $v1, 1
/* 12661C 80282FDC 01198021 */ addu $s0, $t0, $t9
/* 126620 80282FE0 9604004E */ lhu $a0, 0x4e($s0)
/* 126624 80282FE4 AFB90030 */ sw $t9, 0x30($sp)
/* 126628 80282FE8 0C0AE006 */ jal sins
/* 12662C 80282FEC 03201825 */ move $v1, $t9
/* 126630 80282FF0 860B0048 */ lh $t3, 0x48($s0)
/* 126634 80282FF4 8FA30030 */ lw $v1, 0x30($sp)
/* 126638 80282FF8 27A90050 */ addiu $t1, $sp, 0x50
/* 12663C 80282FFC 448B4000 */ mtc1 $t3, $f8
/* 126640 80283000 00691021 */ addu $v0, $v1, $t1
/* 126644 80283004 844A0000 */ lh $t2, ($v0)
/* 126648 80283008 468042A0 */ cvt.s.w $f10, $f8
/* 12664C 8028300C 448A2000 */ mtc1 $t2, $f4
/* 126650 80283010 00000000 */ nop
/* 126654 80283014 468021A0 */ cvt.s.w $f6, $f4
/* 126658 80283018 46005402 */ mul.s $f16, $f10, $f0
/* 12665C 8028301C 46103480 */ add.s $f18, $f6, $f16
/* 126660 80283020 4600910D */ trunc.w.s $f4, $f18
/* 126664 80283024 440D2000 */ mfc1 $t5, $f4
/* 126668 80283028 00000000 */ nop
/* 12666C 8028302C A44D0000 */ sh $t5, ($v0)
/* 126670 80283030 87AE0050 */ lh $t6, 0x50($sp)
/* 126674 80283034 29C13800 */ slti $at, $t6, 0x3800
/* 126678 80283038 10200009 */ beqz $at, .L80283060
/* 12667C 8028303C 29C1C801 */ slti $at, $t6, -0x37ff
/* 126680 80283040 14200007 */ bnez $at, .L80283060
/* 126684 80283044 01C03825 */ move $a3, $t6
/* 126688 80283048 87AF0052 */ lh $t7, 0x52($sp)
/* 12668C 8028304C 27A40044 */ addiu $a0, $sp, 0x44
/* 126690 80283050 27A50038 */ addiu $a1, $sp, 0x38
/* 126694 80283054 8FA6005C */ lw $a2, 0x5c($sp)
/* 126698 80283058 0C0A0941 */ jal func_80282504
/* 12669C 8028305C AFAF0010 */ sw $t7, 0x10($sp)
.L80283060:
/* 1266A0 80283060 2604004E */ addiu $a0, $s0, 0x4e
/* 1266A4 80283064 0C0A0BC0 */ jal func_80282F00
/* 1266A8 80283068 86050054 */ lh $a1, 0x54($s0)
/* 1266AC 8028306C 26040048 */ addiu $a0, $s0, 0x48
/* 1266B0 80283070 00002825 */ move $a1, $zero
/* 1266B4 80283074 0C0A08D9 */ jal func_80282364
/* 1266B8 80283078 8606005A */ lh $a2, 0x5a($s0)
/* 1266BC 8028307C 54400003 */ bnel $v0, $zero, .L8028308C
/* 1266C0 80283080 C7A80038 */ lwc1 $f8, 0x38($sp)
/* 1266C4 80283084 A600004E */ sh $zero, 0x4e($s0)
.L80283088:
/* 1266C8 80283088 C7A80038 */ lwc1 $f8, 0x38($sp)
.L8028308C:
/* 1266CC 8028308C E628000C */ swc1 $f8, 0xc($s1)
/* 1266D0 80283090 C7AA003C */ lwc1 $f10, 0x3c($sp)
/* 1266D4 80283094 E62A0010 */ swc1 $f10, 0x10($s1)
/* 1266D8 80283098 C7A60040 */ lwc1 $f6, 0x40($sp)
/* 1266DC 8028309C E6260014 */ swc1 $f6, 0x14($s1)
/* 1266E0 802830A0 8FBF0024 */ lw $ra, 0x24($sp)
.L802830A4:
/* 1266E4 802830A4 8FB0001C */ lw $s0, 0x1c($sp)
/* 1266E8 802830A8 8FB10020 */ lw $s1, 0x20($sp)
/* 1266EC 802830AC 03E00008 */ jr $ra
/* 1266F0 802830B0 27BD0060 */ addiu $sp, $sp, 0x60