Files
SpaghettiKart/asm/non_matchings/code_actors/func_8029A3AC.s
T
CoderStig f959f03184 Matched some memory.c and other (#55)
* Matched some memory.c

* And more
2021-11-16 02:39:33 -07:00

194 lines
10 KiB
ArmAsm

glabel func_8029A3AC
/* 1039BC 8029A3AC 27BDFF80 */ addiu $sp, $sp, -0x80
/* 1039C0 8029A3B0 3C0F802C */ lui $t7, %hi(D_802B87E8) # $t7, 0x802c
/* 1039C4 8029A3B4 AFBF0024 */ sw $ra, 0x24($sp)
/* 1039C8 8029A3B8 AFB00020 */ sw $s0, 0x20($sp)
/* 1039CC 8029A3BC AFA50084 */ sw $a1, 0x84($sp)
/* 1039D0 8029A3C0 25EF87E8 */ addiu $t7, %lo(D_802B87E8) # addiu $t7, $t7, -0x7818
/* 1039D4 8029A3C4 8DE10000 */ lw $at, ($t7)
/* 1039D8 8029A3C8 27AE0058 */ addiu $t6, $sp, 0x58
/* 1039DC 8029A3CC 8DED0004 */ lw $t5, 4($t7)
/* 1039E0 8029A3D0 ADC10000 */ sw $at, ($t6)
/* 1039E4 8029A3D4 8DE10008 */ lw $at, 8($t7)
/* 1039E8 8029A3D8 ADCD0004 */ sw $t5, 4($t6)
/* 1039EC 8029A3DC 8DED000C */ lw $t5, 0xc($t7)
/* 1039F0 8029A3E0 ADC10008 */ sw $at, 8($t6)
/* 1039F4 8029A3E4 8DE10010 */ lw $at, 0x10($t7)
/* 1039F8 8029A3E8 ADCD000C */ sw $t5, 0xc($t6)
/* 1039FC 8029A3EC 8DED0014 */ lw $t5, 0x14($t7)
/* 103A00 8029A3F0 ADC10010 */ sw $at, 0x10($t6)
/* 103A04 8029A3F4 8DE10018 */ lw $at, 0x18($t7)
/* 103A08 8029A3F8 3C19800E */ lui $t9, %hi(camera1) # $t9, 0x800e
/* 103A0C 8029A3FC ADCD0014 */ sw $t5, 0x14($t6)
/* 103A10 8029A400 ADC10018 */ sw $at, 0x18($t6)
/* 103A14 8029A404 95E1001C */ lhu $at, 0x1c($t7)
/* 103A18 8029A408 00C08025 */ move $s0, $a2
/* 103A1C 8029A40C 24C50018 */ addiu $a1, $a2, 0x18
/* 103A20 8029A410 A5C1001C */ sh $at, 0x1c($t6)
/* 103A24 8029A414 8F39DB40 */ lw $t9, %lo(camera1)($t9)
/* 103A28 8029A418 240100B8 */ li $at, 184
/* 103A2C 8029A41C 94860026 */ lhu $a2, 0x26($a0)
/* 103A30 8029A420 0099C023 */ subu $t8, $a0, $t9
/* 103A34 8029A424 0301001A */ div $zero, $t8, $at
/* 103A38 8029A428 00007012 */ mflo $t6
/* 103A3C 8029A42C 000E7880 */ sll $t7, $t6, 2
/* 103A40 8029A430 3C018015 */ lui $at, %hi(D_80150130)
/* 103A44 8029A434 002F0821 */ addu $at, $at, $t7
/* 103A48 8029A438 C4240130 */ lwc1 $f4, %lo(D_80150130)($at)
/* 103A4C 8029A43C 3C01802C */ lui $at, %hi(D_802B96AC) # $at, 0x802c
/* 103A50 8029A440 C42696AC */ lwc1 $f6, %lo(D_802B96AC)($at)
/* 103A54 8029A444 AFA40080 */ sw $a0, 0x80($sp)
/* 103A58 8029A448 24070000 */ li $a3, 0
/* 103A5C 8029A44C E7A40010 */ swc1 $f4, 0x10($sp)
/* 103A60 8029A450 0C0AE034 */ jal func_802B80D0
/* 103A64 8029A454 E7A60014 */ swc1 $f6, 0x14($sp)
/* 103A68 8029A458 44804000 */ mtc1 $zero, $f8
/* 103A6C 8029A45C 8FA40080 */ lw $a0, 0x80($sp)
/* 103A70 8029A460 46000086 */ mov.s $f2, $f0
/* 103A74 8029A464 4608003C */ c.lt.s $f0, $f8
/* 103A78 8029A468 02002825 */ move $a1, $s0
/* 103A7C 8029A46C 45000005 */ bc1f .L8029A484
/* 103A80 8029A470 00000000 */ nop
/* 103A84 8029A474 0C0A5C8C */ jal func_80297230
/* 103A88 8029A478 02002825 */ move $a1, $s0
/* 103A8C 8029A47C 10000080 */ b .L8029A680
/* 103A90 8029A480 8FBF0024 */ lw $ra, 0x24($sp)
.L8029A484:
/* 103A94 8029A484 0C0A5CAE */ jal func_802972B8
/* 103A98 8029A488 E7A20050 */ swc1 $f2, 0x50($sp)
/* 103A9C 8029A48C 3C01802C */ lui $at, %hi(D_802B96B0) # $at, 0x802c
/* 103AA0 8029A490 C7A20050 */ lwc1 $f2, 0x50($sp)
/* 103AA4 8029A494 C42A96B0 */ lwc1 $f10, %lo(D_802B96B0)($at)
/* 103AA8 8029A498 8FA60084 */ lw $a2, 0x84($sp)
/* 103AAC 8029A49C 02002025 */ move $a0, $s0
/* 103AB0 8029A4A0 460A103C */ c.lt.s $f2, $f10
/* 103AB4 8029A4A4 3C054059 */ lui $a1, (0x4059999A >> 16) # lui $a1, 0x4059
/* 103AB8 8029A4A8 45020005 */ bc1fl .L8029A4C0
/* 103ABC 8029A4AC 860D0000 */ lh $t5, ($s0)
/* 103AC0 8029A4B0 0C0A5E7E */ jal func_802979F8
/* 103AC4 8029A4B4 34A5999A */ ori $a1, (0x4059999A & 0xFFFF) # ori $a1, $a1, 0x999a
/* 103AC8 8029A4B8 8FA60084 */ lw $a2, 0x84($sp)
/* 103ACC 8029A4BC 860D0000 */ lh $t5, ($s0)
.L8029A4C0:
/* 103AD0 8029A4C0 2401002A */ li $at, 42
/* 103AD4 8029A4C4 3C0B802C */ lui $t3, %hi(D_802BA050) # 0x802c
/* 103AD8 8029A4C8 15A10004 */ bne $t5, $at, .L8029A4DC
/* 103ADC 8029A4CC 00000000 */ nop
/* 103AE0 8029A4D0 3C0B802C */ lui $t3, %hi(D_802BA054) # $t3, 0x802c
/* 103AE4 8029A4D4 10000002 */ b .L8029A4E0
/* 103AE8 8029A4D8 8D6BA054 */ lw $t3, %lo(D_802BA054)($t3)
.L8029A4DC:
/* 103AEC 8029A4DC 8D6BA050 */ lw $t3, %lo(D_802BA050)($t3) # -0x5fb0($t3)
.L8029A4E0:
/* 103AF0 8029A4E0 960C0010 */ lhu $t4, 0x10($s0)
/* 103AF4 8029A4E4 24011111 */ li $at, 4369
/* 103AF8 8029A4E8 C6100018 */ lwc1 $f16, 0x18($s0)
/* 103AFC 8029A4EC 0181001A */ div $zero, $t4, $at
/* 103B00 8029A4F0 0000C812 */ mflo $t9
/* 103B04 8029A4F4 3338FFFF */ andi $t8, $t9, 0xffff
/* 103B08 8029A4F8 00187040 */ sll $t6, $t8, 1
/* 103B0C 8029A4FC 03AE7821 */ addu $t7, $sp, $t6
/* 103B10 8029A500 85EF0058 */ lh $t7, 0x58($t7)
/* 103B14 8029A504 E4D00030 */ swc1 $f16, 0x30($a2)
/* 103B18 8029A508 C604000C */ lwc1 $f4, 0xc($s0)
/* 103B1C 8029A50C C612001C */ lwc1 $f18, 0x1c($s0)
/* 103B20 8029A510 3C013F80 */ li $at, 0x3F800000 # 1.000000
/* 103B24 8029A514 44814000 */ mtc1 $at, $f8
/* 103B28 8029A518 46049181 */ sub.s $f6, $f18, $f4
/* 103B2C 8029A51C 016F5821 */ addu $t3, $t3, $t7
/* 103B30 8029A520 00C02025 */ move $a0, $a2
/* 103B34 8029A524 00002825 */ move $a1, $zero
/* 103B38 8029A528 46083280 */ add.s $f10, $f6, $f8
/* 103B3C 8029A52C E4CA0034 */ swc1 $f10, 0x34($a2)
/* 103B40 8029A530 C6100020 */ lwc1 $f16, 0x20($s0)
/* 103B44 8029A534 E4D00038 */ swc1 $f16, 0x38($a2)
/* 103B48 8029A538 A7B8007C */ sh $t8, 0x7c($sp)
/* 103B4C 8029A53C 0C0AD3FE */ jal func_802B4FF8
/* 103B50 8029A540 AFAB0054 */ sw $t3, 0x54($sp)
/* 103B54 8029A544 8FAB0054 */ lw $t3, 0x54($sp)
/* 103B58 8029A548 1040004C */ beqz $v0, .L8029A67C
/* 103B5C 8029A54C 97AC007C */ lhu $t4, 0x7c($sp)
/* 103B60 8029A550 3C038015 */ lui $v1, %hi(gDisplayListHead) # $v1, 0x8015
/* 103B64 8029A554 24630298 */ addiu $v1, %lo(gDisplayListHead) # addiu $v1, $v1, 0x298
/* 103B68 8029A558 8C620000 */ lw $v0, ($v1)
/* 103B6C 8029A55C 3C011FFF */ lui $at, (0x1FFFFFFF >> 16) # lui $at, 0x1fff
/* 103B70 8029A560 3421FFFF */ ori $at, (0x1FFFFFFF & 0xFFFF) # ori $at, $at, 0xffff
/* 103B74 8029A564 244D0008 */ addiu $t5, $v0, 8
/* 103B78 8029A568 AC6D0000 */ sw $t5, ($v1)
/* 103B7C 8029A56C 0161C024 */ and $t8, $t3, $at
/* 103B80 8029A570 3C19FD50 */ lui $t9, 0xfd50
/* 103B84 8029A574 AC590000 */ sw $t9, ($v0)
/* 103B88 8029A578 AC580004 */ sw $t8, 4($v0)
/* 103B8C 8029A57C 8C620000 */ lw $v0, ($v1)
/* 103B90 8029A580 3C0D0708 */ lui $t5, (0x07080200 >> 16) # lui $t5, 0x708
/* 103B94 8029A584 35AD0200 */ ori $t5, (0x07080200 & 0xFFFF) # ori $t5, $t5, 0x200
/* 103B98 8029A588 244E0008 */ addiu $t6, $v0, 8
/* 103B9C 8029A58C AC6E0000 */ sw $t6, ($v1)
/* 103BA0 8029A590 3C0FF550 */ lui $t7, 0xf550
/* 103BA4 8029A594 AC4F0000 */ sw $t7, ($v0)
/* 103BA8 8029A598 AC4D0004 */ sw $t5, 4($v0)
/* 103BAC 8029A59C 8C620000 */ lw $v0, ($v1)
/* 103BB0 8029A5A0 3C18E600 */ lui $t8, 0xe600
/* 103BB4 8029A5A4 3C0D071F */ lui $t5, (0x071FF200 >> 16) # lui $t5, 0x71f
/* 103BB8 8029A5A8 24590008 */ addiu $t9, $v0, 8
/* 103BBC 8029A5AC AC790000 */ sw $t9, ($v1)
/* 103BC0 8029A5B0 AC400004 */ sw $zero, 4($v0)
/* 103BC4 8029A5B4 AC580000 */ sw $t8, ($v0)
/* 103BC8 8029A5B8 8C620000 */ lw $v0, ($v1)
/* 103BCC 8029A5BC 35ADF200 */ ori $t5, (0x071FF200 & 0xFFFF) # ori $t5, $t5, 0xf200
/* 103BD0 8029A5C0 3C0FF300 */ lui $t7, 0xf300
/* 103BD4 8029A5C4 244E0008 */ addiu $t6, $v0, 8
/* 103BD8 8029A5C8 AC6E0000 */ sw $t6, ($v1)
/* 103BDC 8029A5CC AC4D0004 */ sw $t5, 4($v0)
/* 103BE0 8029A5D0 AC4F0000 */ sw $t7, ($v0)
/* 103BE4 8029A5D4 8C620000 */ lw $v0, ($v1)
/* 103BE8 8029A5D8 3C18E700 */ lui $t8, 0xe700
/* 103BEC 8029A5DC 3C0FF548 */ lui $t7, (0xF5480800 >> 16) # lui $t7, 0xf548
/* 103BF0 8029A5E0 24590008 */ addiu $t9, $v0, 8
/* 103BF4 8029A5E4 AC790000 */ sw $t9, ($v1)
/* 103BF8 8029A5E8 AC400004 */ sw $zero, 4($v0)
/* 103BFC 8029A5EC AC580000 */ sw $t8, ($v0)
/* 103C00 8029A5F0 8C620000 */ lw $v0, ($v1)
/* 103C04 8029A5F4 3C0D0008 */ lui $t5, (0x00080200 >> 16) # lui $t5, 8
/* 103C08 8029A5F8 35AD0200 */ ori $t5, (0x00080200 & 0xFFFF) # ori $t5, $t5, 0x200
/* 103C0C 8029A5FC 244E0008 */ addiu $t6, $v0, 8
/* 103C10 8029A600 AC6E0000 */ sw $t6, ($v1)
/* 103C14 8029A604 35EF0800 */ ori $t7, (0xF5480800 & 0xFFFF) # ori $t7, $t7, 0x800
/* 103C18 8029A608 AC4F0000 */ sw $t7, ($v0)
/* 103C1C 8029A60C AC4D0004 */ sw $t5, 4($v0)
/* 103C20 8029A610 8C620000 */ lw $v0, ($v1)
/* 103C24 8029A614 3C0E0007 */ lui $t6, (0x0007C07C >> 16) # lui $t6, 7
/* 103C28 8029A618 35CEC07C */ ori $t6, (0x0007C07C & 0xFFFF) # ori $t6, $t6, 0xc07c
/* 103C2C 8029A61C 24590008 */ addiu $t9, $v0, 8
/* 103C30 8029A620 AC790000 */ sw $t9, ($v1)
/* 103C34 8029A624 3C18F200 */ lui $t8, 0xf200
/* 103C38 8029A628 29810008 */ slti $at, $t4, 8
/* 103C3C 8029A62C AC580000 */ sw $t8, ($v0)
/* 103C40 8029A630 1020000A */ beqz $at, .L8029A65C
/* 103C44 8029A634 AC4E0004 */ sw $t6, 4($v0)
/* 103C48 8029A638 8C620000 */ lw $v0, ($v1)
/* 103C4C 8029A63C 3C190D00 */ lui $t9, %hi(D_0D005338) # $t9, 0xd00
/* 103C50 8029A640 27395338 */ addiu $t9, %lo(D_0D005338) # addiu $t9, $t9, 0x5338
/* 103C54 8029A644 244F0008 */ addiu $t7, $v0, 8
/* 103C58 8029A648 AC6F0000 */ sw $t7, ($v1)
/* 103C5C 8029A64C 3C0D0600 */ lui $t5, 0x600
/* 103C60 8029A650 AC4D0000 */ sw $t5, ($v0)
/* 103C64 8029A654 10000009 */ b .L8029A67C
/* 103C68 8029A658 AC590004 */ sw $t9, 4($v0)
.L8029A65C:
/* 103C6C 8029A65C 8C620000 */ lw $v0, ($v1)
/* 103C70 8029A660 3C0F0D00 */ lui $t7, %hi(D_0D005368) # $t7, 0xd00
/* 103C74 8029A664 25EF5368 */ addiu $t7, %lo(D_0D005368) # addiu $t7, $t7, 0x5368
/* 103C78 8029A668 24580008 */ addiu $t8, $v0, 8
/* 103C7C 8029A66C AC780000 */ sw $t8, ($v1)
/* 103C80 8029A670 3C0E0600 */ lui $t6, 0x600
/* 103C84 8029A674 AC4E0000 */ sw $t6, ($v0)
/* 103C88 8029A678 AC4F0004 */ sw $t7, 4($v0)
.L8029A67C:
/* 103C8C 8029A67C 8FBF0024 */ lw $ra, 0x24($sp)
.L8029A680:
/* 103C90 8029A680 8FB00020 */ lw $s0, 0x20($sp)
/* 103C94 8029A684 27BD0080 */ addiu $sp, $sp, 0x80
/* 103C98 8029A688 03E00008 */ jr $ra
/* 103C9C 8029A68C 00000000 */ nop