Files
SpaghettiKart/asm/non_matchings/code_actors/func_8029A23C.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

96 lines
5.1 KiB
ArmAsm

glabel func_8029A23C
/* 10384C 8029A23C 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 103850 8029A240 AFBF001C */ sw $ra, 0x1c($sp)
/* 103854 8029A244 AFB00018 */ sw $s0, 0x18($sp)
/* 103858 8029A248 AFA40020 */ sw $a0, 0x20($sp)
/* 10385C 8029A24C 84CE0006 */ lh $t6, 6($a2)
/* 103860 8029A250 00A02025 */ move $a0, $a1
/* 103864 8029A254 00C08025 */ move $s0, $a2
/* 103868 8029A258 51C00050 */ beql $t6, $zero, .L8029A39C
/* 10386C 8029A25C 8FBF001C */ lw $ra, 0x1c($sp)
/* 103870 8029A260 C4C40018 */ lwc1 $f4, 0x18($a2)
/* 103874 8029A264 E4A40030 */ swc1 $f4, 0x30($a1)
/* 103878 8029A268 C4C6001C */ lwc1 $f6, 0x1c($a2)
/* 10387C 8029A26C E4A60034 */ swc1 $f6, 0x34($a1)
/* 103880 8029A270 C4C80020 */ lwc1 $f8, 0x20($a2)
/* 103884 8029A274 E4A80038 */ swc1 $f8, 0x38($a1)
/* 103888 8029A278 0C0AD3FE */ jal func_802B4FF8
/* 10388C 8029A27C 00002825 */ move $a1, $zero
/* 103890 8029A280 10400045 */ beqz $v0, .L8029A398
/* 103894 8029A284 3C038015 */ lui $v1, %hi(gDisplayListHead) # $v1, 0x8015
/* 103898 8029A288 860C0010 */ lh $t4, 0x10($s0)
/* 10389C 8029A28C 24630298 */ addiu $v1, %lo(gDisplayListHead) # addiu $v1, $v1, 0x298
/* 1038A0 8029A290 8C620000 */ lw $v0, ($v1)
/* 1038A4 8029A294 3C010300 */ lui $at, (0x03009000 >> 16) # lui $at, 0x300
/* 1038A8 8029A298 34219000 */ ori $at, (0x03009000 & 0xFFFF) # ori $at, $at, 0x9000
/* 1038AC 8029A29C 000C7A80 */ sll $t7, $t4, 0xa
/* 1038B0 8029A2A0 01E16021 */ addu $t4, $t7, $at
/* 1038B4 8029A2A4 3C011FFF */ lui $at, (0x1FFFFFFF >> 16) # lui $at, 0x1fff
/* 1038B8 8029A2A8 24580008 */ addiu $t8, $v0, 8
/* 1038BC 8029A2AC AC780000 */ sw $t8, ($v1)
/* 1038C0 8029A2B0 3421FFFF */ ori $at, (0x1FFFFFFF & 0xFFFF) # ori $at, $at, 0xffff
/* 1038C4 8029A2B4 01816824 */ and $t5, $t4, $at
/* 1038C8 8029A2B8 3C19FD50 */ lui $t9, 0xfd50
/* 1038CC 8029A2BC AC590000 */ sw $t9, ($v0)
/* 1038D0 8029A2C0 AC4D0004 */ sw $t5, 4($v0)
/* 1038D4 8029A2C4 8C620000 */ lw $v0, ($v1)
/* 1038D8 8029A2C8 3C180708 */ lui $t8, (0x07080200 >> 16) # lui $t8, 0x708
/* 1038DC 8029A2CC 37180200 */ ori $t8, (0x07080200 & 0xFFFF) # ori $t8, $t8, 0x200
/* 1038E0 8029A2D0 244E0008 */ addiu $t6, $v0, 8
/* 1038E4 8029A2D4 AC6E0000 */ sw $t6, ($v1)
/* 1038E8 8029A2D8 3C0FF550 */ lui $t7, 0xf550
/* 1038EC 8029A2DC AC4F0000 */ sw $t7, ($v0)
/* 1038F0 8029A2E0 AC580004 */ sw $t8, 4($v0)
/* 1038F4 8029A2E4 8C620000 */ lw $v0, ($v1)
/* 1038F8 8029A2E8 3C0DE600 */ lui $t5, 0xe600
/* 1038FC 8029A2EC 3C18071F */ lui $t8, (0x071FF200 >> 16) # lui $t8, 0x71f
/* 103900 8029A2F0 24590008 */ addiu $t9, $v0, 8
/* 103904 8029A2F4 AC790000 */ sw $t9, ($v1)
/* 103908 8029A2F8 AC400004 */ sw $zero, 4($v0)
/* 10390C 8029A2FC AC4D0000 */ sw $t5, ($v0)
/* 103910 8029A300 8C620000 */ lw $v0, ($v1)
/* 103914 8029A304 3718F200 */ ori $t8, (0x071FF200 & 0xFFFF) # ori $t8, $t8, 0xf200
/* 103918 8029A308 3C0FF300 */ lui $t7, 0xf300
/* 10391C 8029A30C 244E0008 */ addiu $t6, $v0, 8
/* 103920 8029A310 AC6E0000 */ sw $t6, ($v1)
/* 103924 8029A314 AC580004 */ sw $t8, 4($v0)
/* 103928 8029A318 AC4F0000 */ sw $t7, ($v0)
/* 10392C 8029A31C 8C620000 */ lw $v0, ($v1)
/* 103930 8029A320 3C0DE700 */ lui $t5, 0xe700
/* 103934 8029A324 3C0FF548 */ lui $t7, (0xF5480800 >> 16) # lui $t7, 0xf548
/* 103938 8029A328 24590008 */ addiu $t9, $v0, 8
/* 10393C 8029A32C AC790000 */ sw $t9, ($v1)
/* 103940 8029A330 AC400004 */ sw $zero, 4($v0)
/* 103944 8029A334 AC4D0000 */ sw $t5, ($v0)
/* 103948 8029A338 8C620000 */ lw $v0, ($v1)
/* 10394C 8029A33C 3C180008 */ lui $t8, (0x00080200 >> 16) # lui $t8, 8
/* 103950 8029A340 37180200 */ ori $t8, (0x00080200 & 0xFFFF) # ori $t8, $t8, 0x200
/* 103954 8029A344 244E0008 */ addiu $t6, $v0, 8
/* 103958 8029A348 AC6E0000 */ sw $t6, ($v1)
/* 10395C 8029A34C 35EF0800 */ ori $t7, (0xF5480800 & 0xFFFF) # ori $t7, $t7, 0x800
/* 103960 8029A350 AC4F0000 */ sw $t7, ($v0)
/* 103964 8029A354 AC580004 */ sw $t8, 4($v0)
/* 103968 8029A358 8C620000 */ lw $v0, ($v1)
/* 10396C 8029A35C 3C0E0007 */ lui $t6, (0x0007C07C >> 16) # lui $t6, 7
/* 103970 8029A360 35CEC07C */ ori $t6, (0x0007C07C & 0xFFFF) # ori $t6, $t6, 0xc07c
/* 103974 8029A364 24590008 */ addiu $t9, $v0, 8
/* 103978 8029A368 AC790000 */ sw $t9, ($v1)
/* 10397C 8029A36C 3C0DF200 */ lui $t5, 0xf200
/* 103980 8029A370 AC4D0000 */ sw $t5, ($v0)
/* 103984 8029A374 AC4E0004 */ sw $t6, 4($v0)
/* 103988 8029A378 8C620000 */ lw $v0, ($v1)
/* 10398C 8029A37C 3C190601 */ lui $t9, %hi(D_06013BB8) # $t9, 0x601
/* 103990 8029A380 27393BB8 */ addiu $t9, %lo(D_06013BB8) # addiu $t9, $t9, 0x3bb8
/* 103994 8029A384 244F0008 */ addiu $t7, $v0, 8
/* 103998 8029A388 AC6F0000 */ sw $t7, ($v1)
/* 10399C 8029A38C 3C180600 */ lui $t8, 0x600
/* 1039A0 8029A390 AC580000 */ sw $t8, ($v0)
/* 1039A4 8029A394 AC590004 */ sw $t9, 4($v0)
.L8029A398:
/* 1039A8 8029A398 8FBF001C */ lw $ra, 0x1c($sp)
.L8029A39C:
/* 1039AC 8029A39C 8FB00018 */ lw $s0, 0x18($sp)
/* 1039B0 8029A3A0 27BD0020 */ addiu $sp, $sp, 0x20
/* 1039B4 8029A3A4 03E00008 */ jr $ra
/* 1039B8 8029A3A8 00000000 */ nop