Files
SpaghettiKart/asm/non_matchings/code_802B0210/func_802B0648.s
T
CoderStig 8ab4557b39 Split asm using autodecompiler (#49)
* Split asm using autodecompiler

* Placed libultra bss and linked more C
2021-11-05 05:17:09 -06:00

88 lines
4.3 KiB
ArmAsm

glabel func_802B0648
/* 119C58 802B0648 848E001C */ lh $t6, 0x1c($a0)
/* 119C5C 802B064C 8482001A */ lh $v0, 0x1a($a0)
/* 119C60 802B0650 2405FFFF */ li $a1, -1
/* 119C64 802B0654 25CFFFFF */ addiu $t7, $t6, -1
/* 119C68 802B0658 10A2000A */ beq $a1, $v0, .L802B0684
/* 119C6C 802B065C A48F001C */ sh $t7, 0x1c($a0)
/* 119C70 802B0660 24070070 */ li $a3, 112
/* 119C74 802B0664 00470019 */ multu $v0, $a3
/* 119C78 802B0668 3C068016 */ lui $a2, %hi(D_8015F9B8) # $a2, 0x8016
/* 119C7C 802B066C 24C6F9B8 */ addiu $a2, %lo(D_8015F9B8) # addiu $a2, $a2, -0x648
/* 119C80 802B0670 A485001A */ sh $a1, 0x1a($a0)
/* 119C84 802B0674 0000C012 */ mflo $t8
/* 119C88 802B0678 00D81821 */ addu $v1, $a2, $t8
/* 119C8C 802B067C 10000031 */ b .L802B0744
/* 119C90 802B0680 44800000 */ mtc1 $zero, $f0
.L802B0684:
/* 119C94 802B0684 84820018 */ lh $v0, 0x18($a0)
/* 119C98 802B0688 24070070 */ li $a3, 112
/* 119C9C 802B068C 50A2000A */ beql $a1, $v0, .L802B06B8
/* 119CA0 802B0690 84820016 */ lh $v0, 0x16($a0)
/* 119CA4 802B0694 00470019 */ multu $v0, $a3
/* 119CA8 802B0698 3C068016 */ lui $a2, %hi(D_8015F9B8) # $a2, 0x8016
/* 119CAC 802B069C 24C6F9B8 */ addiu $a2, %lo(D_8015F9B8) # addiu $a2, $a2, -0x648
/* 119CB0 802B06A0 A4850018 */ sh $a1, 0x18($a0)
/* 119CB4 802B06A4 0000C812 */ mflo $t9
/* 119CB8 802B06A8 00D91821 */ addu $v1, $a2, $t9
/* 119CBC 802B06AC 10000025 */ b .L802B0744
/* 119CC0 802B06B0 44800000 */ mtc1 $zero, $f0
/* 119CC4 802B06B4 84820016 */ lh $v0, 0x16($a0)
.L802B06B8:
/* 119CC8 802B06B8 24070070 */ li $a3, 112
/* 119CCC 802B06BC 50A2000A */ beql $a1, $v0, .L802B06E8
/* 119CD0 802B06C0 84820014 */ lh $v0, 0x14($a0)
/* 119CD4 802B06C4 00470019 */ multu $v0, $a3
/* 119CD8 802B06C8 3C068016 */ lui $a2, %hi(D_8015F9B8) # $a2, 0x8016
/* 119CDC 802B06CC 24C6F9B8 */ addiu $a2, %lo(D_8015F9B8) # addiu $a2, $a2, -0x648
/* 119CE0 802B06D0 A4850016 */ sh $a1, 0x16($a0)
/* 119CE4 802B06D4 00004012 */ mflo $t0
/* 119CE8 802B06D8 00C81821 */ addu $v1, $a2, $t0
/* 119CEC 802B06DC 10000019 */ b .L802B0744
/* 119CF0 802B06E0 44800000 */ mtc1 $zero, $f0
/* 119CF4 802B06E4 84820014 */ lh $v0, 0x14($a0)
.L802B06E8:
/* 119CF8 802B06E8 24070070 */ li $a3, 112
/* 119CFC 802B06EC 50A2000A */ beql $a1, $v0, .L802B0718
/* 119D00 802B06F0 84820012 */ lh $v0, 0x12($a0)
/* 119D04 802B06F4 00470019 */ multu $v0, $a3
/* 119D08 802B06F8 3C068016 */ lui $a2, %hi(D_8015F9B8) # $a2, 0x8016
/* 119D0C 802B06FC 24C6F9B8 */ addiu $a2, %lo(D_8015F9B8) # addiu $a2, $a2, -0x648
/* 119D10 802B0700 A4850014 */ sh $a1, 0x14($a0)
/* 119D14 802B0704 00004812 */ mflo $t1
/* 119D18 802B0708 00C91821 */ addu $v1, $a2, $t1
/* 119D1C 802B070C 1000000D */ b .L802B0744
/* 119D20 802B0710 44800000 */ mtc1 $zero, $f0
/* 119D24 802B0714 84820012 */ lh $v0, 0x12($a0)
.L802B0718:
/* 119D28 802B0718 24070070 */ li $a3, 112
/* 119D2C 802B071C 10A20018 */ beq $a1, $v0, .L802B0780
/* 119D30 802B0720 00000000 */ nop
/* 119D34 802B0724 00470019 */ multu $v0, $a3
/* 119D38 802B0728 3C068016 */ lui $a2, %hi(D_8015F9B8) # $a2, 0x8016
/* 119D3C 802B072C 24C6F9B8 */ addiu $a2, %lo(D_8015F9B8) # addiu $a2, $a2, -0x648
/* 119D40 802B0730 A4850012 */ sh $a1, 0x12($a0)
/* 119D44 802B0734 00005012 */ mflo $t2
/* 119D48 802B0738 00CA1821 */ addu $v1, $a2, $t2
/* 119D4C 802B073C 00000000 */ nop
/* 119D50 802B0740 44800000 */ mtc1 $zero, $f0
.L802B0744:
/* 119D54 802B0744 84620012 */ lh $v0, 0x12($v1)
/* 119D58 802B0748 3C013FC0 */ li $at, 0x3FC00000 # 1.500000
/* 119D5C 802B074C 44812000 */ mtc1 $at, $f4
/* 119D60 802B0750 240B0001 */ li $t3, 1
/* 119D64 802B0754 240C00B4 */ li $t4, 180
/* 119D68 802B0758 A46B0006 */ sh $t3, 6($v1)
/* 119D6C 802B075C A46C0004 */ sh $t4, 4($v1)
/* 119D70 802B0760 E4600024 */ swc1 $f0, 0x24($v1)
/* 119D74 802B0764 E460002C */ swc1 $f0, 0x2c($v1)
/* 119D78 802B0768 10450005 */ beq $v0, $a1, .L802B0780
/* 119D7C 802B076C E4640028 */ swc1 $f4, 0x28($v1)
/* 119D80 802B0770 00470019 */ multu $v0, $a3
/* 119D84 802B0774 00006812 */ mflo $t5
/* 119D88 802B0778 00CD7021 */ addu $t6, $a2, $t5
/* 119D8C 802B077C A5C50014 */ sh $a1, 0x14($t6)
.L802B0780:
/* 119D90 802B0780 03E00008 */ jr $ra
/* 119D94 802B0784 00000000 */ nop