Files
mk64/asm/non_matchings/code_actors/func_8029CF0C.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

69 lines
3.5 KiB
ArmAsm

glabel func_8029CF0C
/* 10651C 8029CF0C 00047E02 */ srl $t7, $a0, 0x18
/* 106520 8029CF10 000FC080 */ sll $t8, $t7, 2
/* 106524 8029CF14 3C198015 */ lui $t9, %hi(gSegmentTable)
/* 106528 8029CF18 0338C821 */ addu $t9, $t9, $t8
/* 10652C 8029CF1C 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff
/* 106530 8029CF20 8F390258 */ lw $t9, %lo(gSegmentTable)($t9)
/* 106534 8029CF24 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff
/* 106538 8029CF28 27BDFFC8 */ addiu $sp, $sp, -0x38
/* 10653C 8029CF2C 00814824 */ and $t1, $a0, $at
/* 106540 8029CF30 3C018000 */ lui $at, 0x8000
/* 106544 8029CF34 3C0A802C */ lui $t2, %hi(D_802B8848) # $t2, 0x802c
/* 106548 8029CF38 03291021 */ addu $v0, $t9, $t1
/* 10654C 8029CF3C AFBF001C */ sw $ra, 0x1c($sp)
/* 106550 8029CF40 AFB00018 */ sw $s0, 0x18($sp)
/* 106554 8029CF44 AFA40038 */ sw $a0, 0x38($sp)
/* 106558 8029CF48 00411021 */ addu $v0, $v0, $at
/* 10655C 8029CF4C 254A8848 */ addiu $t2, %lo(D_802B8848) # addiu $t2, $t2, -0x77b8
/* 106560 8029CF50 8D410000 */ lw $at, ($t2)
/* 106564 8029CF54 27A80024 */ addiu $t0, $sp, 0x24
/* 106568 8029CF58 44800000 */ mtc1 $zero, $f0
/* 10656C 8029CF5C AD010000 */ sw $at, ($t0)
/* 106570 8029CF60 95410004 */ lhu $at, 4($t2)
/* 106574 8029CF64 00A08025 */ move $s0, $a1
/* 106578 8029CF68 24A40024 */ addiu $a0, $a1, 0x24
/* 10657C 8029CF6C A5010004 */ sh $at, 4($t0)
/* 106580 8029CF70 84A30006 */ lh $v1, 6($a1)
/* 106584 8029CF74 3C018016 */ lui $at, %hi(gCourseDirection) # $at, 0x8016
/* 106588 8029CF78 44060000 */ mfc1 $a2, $f0
/* 10658C 8029CF7C 0003C040 */ sll $t8, $v1, 1
/* 106590 8029CF80 01187021 */ addu $t6, $t0, $t8
/* 106594 8029CF84 85D90000 */ lh $t9, ($t6)
/* 106598 8029CF88 000378C0 */ sll $t7, $v1, 3
/* 10659C 8029CF8C 004F1021 */ addu $v0, $v0, $t7
/* 1065A0 8029CF90 A4B90004 */ sh $t9, 4($a1)
/* 1065A4 8029CF94 84490000 */ lh $t1, ($v0)
/* 1065A8 8029CF98 C428F784 */ lwc1 $f8, %lo(gCourseDirection)($at)
/* 1065AC 8029CF9C 3C014120 */ li $at, 0x41200000 # 10.000000
/* 1065B0 8029CFA0 44892000 */ mtc1 $t1, $f4
/* 1065B4 8029CFA4 44070000 */ mfc1 $a3, $f0
/* 1065B8 8029CFA8 468021A0 */ cvt.s.w $f6, $f4
/* 1065BC 8029CFAC 44812000 */ mtc1 $at, $f4
/* 1065C0 8029CFB0 46083282 */ mul.s $f10, $f6, $f8
/* 1065C4 8029CFB4 E4AA0018 */ swc1 $f10, 0x18($a1)
/* 1065C8 8029CFB8 844C0002 */ lh $t4, 2($v0)
/* 1065CC 8029CFBC 448C8000 */ mtc1 $t4, $f16
/* 1065D0 8029CFC0 00000000 */ nop
/* 1065D4 8029CFC4 468084A0 */ cvt.s.w $f18, $f16
/* 1065D8 8029CFC8 46049180 */ add.s $f6, $f18, $f4
/* 1065DC 8029CFCC E4A6001C */ swc1 $f6, 0x1c($a1)
/* 1065E0 8029CFD0 844B0004 */ lh $t3, 4($v0)
/* 1065E4 8029CFD4 448B4000 */ mtc1 $t3, $f8
/* 1065E8 8029CFD8 00000000 */ nop
/* 1065EC 8029CFDC 468042A0 */ cvt.s.w $f10, $f8
/* 1065F0 8029CFE0 E4AA0020 */ swc1 $f10, 0x20($a1)
/* 1065F4 8029CFE4 44050000 */ mfc1 $a1, $f0
/* 1065F8 8029CFE8 0C0AD4A7 */ jal load_giant_egg
/* 1065FC 8029CFEC 00000000 */ nop
/* 106600 8029CFF0 26040010 */ addiu $a0, $s0, 0x10
/* 106604 8029CFF4 00002825 */ move $a1, $zero
/* 106608 8029CFF8 00003025 */ move $a2, $zero
/* 10660C 8029CFFC 0C0AD4AF */ jal func_802B52BC
/* 106610 8029D000 00003825 */ move $a3, $zero
/* 106614 8029D004 8FBF001C */ lw $ra, 0x1c($sp)
/* 106618 8029D008 8FB00018 */ lw $s0, 0x18($sp)
/* 10661C 8029D00C 27BD0038 */ addiu $sp, $sp, 0x38
/* 106620 8029D010 03E00008 */ jr $ra
/* 106624 8029D014 00000000 */ nop