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

251 lines
12 KiB
ArmAsm

glabel func_80298328
/* 101938 80298328 3C0E800E */ lui $t6, %hi(camera1) # $t6, 0x800e
/* 10193C 8029832C 8DCEDB40 */ lw $t6, %lo(camera1)($t6)
/* 101940 80298330 240100B8 */ li $at, 184
/* 101944 80298334 27BDFFC0 */ addiu $sp, $sp, -0x40
/* 101948 80298338 008E4023 */ subu $t0, $a0, $t6
/* 10194C 8029833C 0101001A */ div $zero, $t0, $at
/* 101950 80298340 AFBF0024 */ sw $ra, 0x24($sp)
/* 101954 80298344 AFB00020 */ sw $s0, 0x20($sp)
/* 101958 80298348 AFA50044 */ sw $a1, 0x44($sp)
/* 10195C 8029834C 84C20002 */ lh $v0, 2($a2)
/* 101960 80298350 00007812 */ mflo $t7
/* 101964 80298354 000F1C00 */ sll $v1, $t7, 0x10
/* 101968 80298358 30590800 */ andi $t9, $v0, 0x800
/* 10196C 8029835C 00C08025 */ move $s0, $a2
/* 101970 80298360 172000CF */ bnez $t9, .L802986A0
/* 101974 80298364 0003C403 */ sra $t8, $v1, 0x10
/* 101978 80298368 000F6880 */ sll $t5, $t7, 2
/* 10197C 8029836C 3C018015 */ lui $at, %hi(D_80150130)
/* 101980 80298370 002D0821 */ addu $at, $at, $t5
/* 101984 80298374 C4240130 */ lwc1 $f4, %lo(D_80150130)($at)
/* 101988 80298378 3C01802C */ lui $at, %hi(D_802B9624) # $at, 0x802c
/* 10198C 8029837C 24C50018 */ addiu $a1, $a2, 0x18
/* 101990 80298380 C4269624 */ lwc1 $f6, %lo(D_802B9624)($at)
/* 101994 80298384 94860026 */ lhu $a2, 0x26($a0)
/* 101998 80298388 A7B80036 */ sh $t8, 0x36($sp)
/* 10199C 8029838C 24070000 */ li $a3, 0
/* 1019A0 80298390 E7A40010 */ swc1 $f4, 0x10($sp)
/* 1019A4 80298394 0C0AE034 */ jal func_802B80D0
/* 1019A8 80298398 E7A60014 */ swc1 $f6, 0x14($sp)
/* 1019AC 8029839C 44804000 */ mtc1 $zero, $f8
/* 1019B0 802983A0 87A30036 */ lh $v1, 0x36($sp)
/* 1019B4 802983A4 8FA40044 */ lw $a0, 0x44($sp)
/* 1019B8 802983A8 4608003C */ c.lt.s $f0, $f8
/* 1019BC 802983AC 46000086 */ mov.s $f2, $f0
/* 1019C0 802983B0 45020017 */ bc1fl .L80298410
/* 1019C4 802983B4 C60A0018 */ lwc1 $f10, 0x18($s0)
/* 1019C8 802983B8 1060000C */ beqz $v1, .L802983EC
/* 1019CC 802983BC 240EFFFF */ li $t6, -1
/* 1019D0 802983C0 24020001 */ li $v0, 1
/* 1019D4 802983C4 1062000B */ beq $v1, $v0, .L802983F4
/* 1019D8 802983C8 240FFFFF */ li $t7, -1
/* 1019DC 802983CC 24010002 */ li $at, 2
/* 1019E0 802983D0 1061000A */ beq $v1, $at, .L802983FC
/* 1019E4 802983D4 2418FFFF */ li $t8, -1
/* 1019E8 802983D8 24010003 */ li $at, 3
/* 1019EC 802983DC 10610009 */ beq $v1, $at, .L80298404
/* 1019F0 802983E0 2419FFFF */ li $t9, -1
/* 1019F4 802983E4 100000AF */ b .L802986A4
/* 1019F8 802983E8 8FBF0024 */ lw $ra, 0x24($sp)
.L802983EC:
/* 1019FC 802983EC 100000AC */ b .L802986A0
/* 101A00 802983F0 A60E0004 */ sh $t6, 4($s0)
.L802983F4:
/* 101A04 802983F4 100000AA */ b .L802986A0
/* 101A08 802983F8 A60F0006 */ sh $t7, 6($s0)
.L802983FC:
/* 101A0C 802983FC 100000A8 */ b .L802986A0
/* 101A10 80298400 A6180008 */ sh $t8, 8($s0)
.L80298404:
/* 101A14 80298404 100000A6 */ b .L802986A0
/* 101A18 80298408 A619000A */ sh $t9, 0xa($s0)
/* 101A1C 8029840C C60A0018 */ lwc1 $f10, 0x18($s0)
.L80298410:
/* 101A20 80298410 00002825 */ move $a1, $zero
/* 101A24 80298414 E48A0030 */ swc1 $f10, 0x30($a0)
/* 101A28 80298418 C610001C */ lwc1 $f16, 0x1c($s0)
/* 101A2C 8029841C E4900034 */ swc1 $f16, 0x34($a0)
/* 101A30 80298420 C6120020 */ lwc1 $f18, 0x20($s0)
/* 101A34 80298424 E4920038 */ swc1 $f18, 0x38($a0)
/* 101A38 80298428 E7A2002C */ swc1 $f2, 0x2c($sp)
/* 101A3C 8029842C 0C0AD3FE */ jal func_802B4FF8
/* 101A40 80298430 A7A30036 */ sh $v1, 0x36($sp)
/* 101A44 80298434 87A30036 */ lh $v1, 0x36($sp)
/* 101A48 80298438 10400099 */ beqz $v0, .L802986A0
/* 101A4C 8029843C C7A2002C */ lwc1 $f2, 0x2c($sp)
/* 101A50 80298440 3C01802C */ lui $at, %hi(D_802B9628) # $at, 0x802c
/* 101A54 80298444 C4249628 */ lwc1 $f4, %lo(D_802B9628)($at)
/* 101A58 80298448 3C19802C */ lui $t9, %hi(D_802BA058) # $t9, 0x802c
/* 101A5C 8029844C 4602203C */ c.lt.s $f4, $f2
/* 101A60 80298450 00000000 */ nop
/* 101A64 80298454 45000017 */ bc1f .L802984B4
/* 101A68 80298458 00000000 */ nop
/* 101A6C 8029845C 1060000C */ beqz $v1, .L80298490
/* 101A70 80298460 00006025 */ move $t4, $zero
/* 101A74 80298464 24020001 */ li $v0, 1
/* 101A78 80298468 1062000B */ beq $v1, $v0, .L80298498
/* 101A7C 8029846C 00006025 */ move $t4, $zero
/* 101A80 80298470 24010002 */ li $at, 2
/* 101A84 80298474 1061000A */ beq $v1, $at, .L802984A0
/* 101A88 80298478 00006025 */ move $t4, $zero
/* 101A8C 8029847C 24010003 */ li $at, 3
/* 101A90 80298480 5061000A */ beql $v1, $at, .L802984AC
/* 101A94 80298484 A600000A */ sh $zero, 0xa($s0)
/* 101A98 80298488 1000002D */ b .L80298540
/* 101A9C 8029848C 00006025 */ move $t4, $zero
.L80298490:
/* 101AA0 80298490 1000002B */ b .L80298540
/* 101AA4 80298494 A6000004 */ sh $zero, 4($s0)
.L80298498:
/* 101AA8 80298498 10000029 */ b .L80298540
/* 101AAC 8029849C A6000006 */ sh $zero, 6($s0)
.L802984A0:
/* 101AB0 802984A0 10000027 */ b .L80298540
/* 101AB4 802984A4 A6000008 */ sh $zero, 8($s0)
/* 101AB8 802984A8 A600000A */ sh $zero, 0xa($s0)
.L802984AC:
/* 101ABC 802984AC 10000024 */ b .L80298540
/* 101AC0 802984B0 00006025 */ move $t4, $zero
.L802984B4:
/* 101AC4 802984B4 1060000A */ beqz $v1, .L802984E0
/* 101AC8 802984B8 24020001 */ li $v0, 1
/* 101ACC 802984BC 24020001 */ li $v0, 1
/* 101AD0 802984C0 10620009 */ beq $v1, $v0, .L802984E8
/* 101AD4 802984C4 24010002 */ li $at, 2
/* 101AD8 802984C8 10610009 */ beq $v1, $at, .L802984F0
/* 101ADC 802984CC 24010003 */ li $at, 3
/* 101AE0 802984D0 5061000A */ beql $v1, $at, .L802984FC
/* 101AE4 802984D4 A602000A */ sh $v0, 0xa($s0)
/* 101AE8 802984D8 10000008 */ b .L802984FC
/* 101AEC 802984DC 00000000 */ nop
.L802984E0:
/* 101AF0 802984E0 10000006 */ b .L802984FC
/* 101AF4 802984E4 A6020004 */ sh $v0, 4($s0)
.L802984E8:
/* 101AF8 802984E8 10000004 */ b .L802984FC
/* 101AFC 802984EC A6020006 */ sh $v0, 6($s0)
.L802984F0:
/* 101B00 802984F0 10000002 */ b .L802984FC
/* 101B04 802984F4 A6020008 */ sh $v0, 8($s0)
/* 101B08 802984F8 A602000A */ sh $v0, 0xa($s0)
.L802984FC:
/* 101B0C 802984FC 10600009 */ beqz $v1, .L80298524
/* 101B10 80298500 00000000 */ nop
/* 101B14 80298504 10620009 */ beq $v1, $v0, .L8029852C
/* 101B18 80298508 24010002 */ li $at, 2
/* 101B1C 8029850C 10610009 */ beq $v1, $at, .L80298534
/* 101B20 80298510 24010003 */ li $at, 3
/* 101B24 80298514 5061000A */ beql $v1, $at, .L80298540
/* 101B28 80298518 860C002A */ lh $t4, 0x2a($s0)
/* 101B2C 8029851C 10000008 */ b .L80298540
/* 101B30 80298520 87AC0034 */ lh $t4, 0x34($sp)
.L80298524:
/* 101B34 80298524 10000006 */ b .L80298540
/* 101B38 80298528 860C0024 */ lh $t4, 0x24($s0)
.L8029852C:
/* 101B3C 8029852C 10000004 */ b .L80298540
/* 101B40 80298530 860C0026 */ lh $t4, 0x26($s0)
.L80298534:
/* 101B44 80298534 10000002 */ b .L80298540
/* 101B48 80298538 860C0028 */ lh $t4, 0x28($s0)
/* 101B4C 8029853C 860C002A */ lh $t4, 0x2a($s0)
.L80298540:
/* 101B50 80298540 24010006 */ li $at, 6
/* 101B54 80298544 0181001A */ div $zero, $t4, $at
/* 101B58 80298548 00006812 */ mflo $t5
/* 101B5C 8029854C 000D7400 */ sll $t6, $t5, 0x10
/* 101B60 80298550 000E6403 */ sra $t4, $t6, 0x10
/* 101B64 80298554 29810009 */ slti $at, $t4, 9
/* 101B68 80298558 14200002 */ bnez $at, .L80298564
/* 101B6C 8029855C 3C038015 */ lui $v1, %hi(gDisplayListHead) # $v1, 0x8015
/* 101B70 80298560 240C0008 */ li $t4, 8
.L80298564:
/* 101B74 80298564 24630298 */ addiu $v1, %lo(gDisplayListHead) # addiu $v1, $v1, 0x298
/* 101B78 80298568 8C620000 */ lw $v0, ($v1)
/* 101B7C 8029856C 8F39A058 */ lw $t9, %lo(D_802BA058)($t9)
/* 101B80 80298570 000CC2C0 */ sll $t8, $t4, 0xb
/* 101B84 80298574 3C011FFF */ lui $at, (0x1FFFFFFF >> 16) # lui $at, 0x1fff
/* 101B88 80298578 244D0008 */ addiu $t5, $v0, 8
/* 101B8C 8029857C AC6D0000 */ sw $t5, ($v1)
/* 101B90 80298580 3421FFFF */ ori $at, (0x1FFFFFFF & 0xFFFF) # ori $at, $at, 0xffff
/* 101B94 80298584 03195821 */ addu $t3, $t8, $t9
/* 101B98 80298588 01617824 */ and $t7, $t3, $at
/* 101B9C 8029858C 3C0EFD50 */ lui $t6, 0xfd50
/* 101BA0 80298590 AC4E0000 */ sw $t6, ($v0)
/* 101BA4 80298594 AC4F0004 */ sw $t7, 4($v0)
/* 101BA8 80298598 8C620000 */ lw $v0, ($v1)
/* 101BAC 8029859C 3C0D0708 */ lui $t5, (0x07080100 >> 16) # lui $t5, 0x708
/* 101BB0 802985A0 35AD0100 */ ori $t5, (0x07080100 & 0xFFFF) # ori $t5, $t5, 0x100
/* 101BB4 802985A4 24580008 */ addiu $t8, $v0, 8
/* 101BB8 802985A8 AC780000 */ sw $t8, ($v1)
/* 101BBC 802985AC 3C19F550 */ lui $t9, 0xf550
/* 101BC0 802985B0 AC590000 */ sw $t9, ($v0)
/* 101BC4 802985B4 AC4D0004 */ sw $t5, 4($v0)
/* 101BC8 802985B8 8C620000 */ lw $v0, ($v1)
/* 101BCC 802985BC 3C0FE600 */ lui $t7, 0xe600
/* 101BD0 802985C0 3C0D073F */ lui $t5, (0x073FF200 >> 16) # lui $t5, 0x73f
/* 101BD4 802985C4 244E0008 */ addiu $t6, $v0, 8
/* 101BD8 802985C8 AC6E0000 */ sw $t6, ($v1)
/* 101BDC 802985CC AC400004 */ sw $zero, 4($v0)
/* 101BE0 802985D0 AC4F0000 */ sw $t7, ($v0)
/* 101BE4 802985D4 8C620000 */ lw $v0, ($v1)
/* 101BE8 802985D8 35ADF200 */ ori $t5, (0x073FF200 & 0xFFFF) # ori $t5, $t5, 0xf200
/* 101BEC 802985DC 3C19F300 */ lui $t9, 0xf300
/* 101BF0 802985E0 24580008 */ addiu $t8, $v0, 8
/* 101BF4 802985E4 AC780000 */ sw $t8, ($v1)
/* 101BF8 802985E8 AC4D0004 */ sw $t5, 4($v0)
/* 101BFC 802985EC AC590000 */ sw $t9, ($v0)
/* 101C00 802985F0 8C620000 */ lw $v0, ($v1)
/* 101C04 802985F4 3C0FE700 */ lui $t7, 0xe700
/* 101C08 802985F8 3C19F548 */ lui $t9, (0xF5480800 >> 16) # lui $t9, 0xf548
/* 101C0C 802985FC 244E0008 */ addiu $t6, $v0, 8
/* 101C10 80298600 AC6E0000 */ sw $t6, ($v1)
/* 101C14 80298604 AC400004 */ sw $zero, 4($v0)
/* 101C18 80298608 AC4F0000 */ sw $t7, ($v0)
/* 101C1C 8029860C 8C620000 */ lw $v0, ($v1)
/* 101C20 80298610 3C0D0008 */ lui $t5, (0x00080100 >> 16) # lui $t5, 8
/* 101C24 80298614 35AD0100 */ ori $t5, (0x00080100 & 0xFFFF) # ori $t5, $t5, 0x100
/* 101C28 80298618 24580008 */ addiu $t8, $v0, 8
/* 101C2C 8029861C AC780000 */ sw $t8, ($v1)
/* 101C30 80298620 37390800 */ ori $t9, (0xF5480800 & 0xFFFF) # ori $t9, $t9, 0x800
/* 101C34 80298624 AC590000 */ sw $t9, ($v0)
/* 101C38 80298628 AC4D0004 */ sw $t5, 4($v0)
/* 101C3C 8029862C 8C620000 */ lw $v0, ($v1)
/* 101C40 80298630 3C180007 */ lui $t8, (0x0007C0FC >> 16) # lui $t8, 7
/* 101C44 80298634 3718C0FC */ ori $t8, (0x0007C0FC & 0xFFFF) # ori $t8, $t8, 0xc0fc
/* 101C48 80298638 244E0008 */ addiu $t6, $v0, 8
/* 101C4C 8029863C AC6E0000 */ sw $t6, ($v1)
/* 101C50 80298640 3C0FF200 */ lui $t7, 0xf200
/* 101C54 80298644 3C19800E */ lui $t9, %hi(gCurrentCourseId) # $t9, 0x800e
/* 101C58 80298648 AC4F0000 */ sw $t7, ($v0)
/* 101C5C 8029864C AC580004 */ sw $t8, 4($v0)
/* 101C60 80298650 8739C5A0 */ lh $t9, %lo(gCurrentCourseId)($t9)
/* 101C64 80298654 3C0E0600 */ lui $t6, 0x600
/* 101C68 80298658 3C0D0601 */ lui $t5, 0x601
/* 101C6C 8029865C 5720000A */ bnel $t9, $zero, .L80298688
/* 101C70 80298660 8C620000 */ lw $v0, ($v1)
/* 101C74 80298664 8C620000 */ lw $v0, ($v1)
/* 101C78 80298668 3C0F0600 */ lui $t7, %hi(D_06006990) # $t7, 0x600
/* 101C7C 8029866C 25EF6990 */ addiu $t7, %lo(D_06006990) # addiu $t7, $t7, 0x6990
/* 101C80 80298670 244D0008 */ addiu $t5, $v0, 8
/* 101C84 80298674 AC6D0000 */ sw $t5, ($v1)
/* 101C88 80298678 AC4F0004 */ sw $t7, 4($v0)
/* 101C8C 8029867C 10000008 */ b .L802986A0
/* 101C90 80298680 AC4E0000 */ sw $t6, ($v0)
/* 101C94 80298684 8C620000 */ lw $v0, ($v1)
.L80298688:
/* 101C98 80298688 3C190600 */ lui $t9, 0x600
/* 101C9C 8029868C 25ADD850 */ addiu $t5, $t5, -0x27b0
/* 101CA0 80298690 24580008 */ addiu $t8, $v0, 8
/* 101CA4 80298694 AC780000 */ sw $t8, ($v1)
/* 101CA8 80298698 AC4D0004 */ sw $t5, 4($v0)
/* 101CAC 8029869C AC590000 */ sw $t9, ($v0)
.L802986A0:
/* 101CB0 802986A0 8FBF0024 */ lw $ra, 0x24($sp)
.L802986A4:
/* 101CB4 802986A4 8FB00020 */ lw $s0, 0x20($sp)
/* 101CB8 802986A8 27BD0040 */ addiu $sp, $sp, 0x40
/* 101CBC 802986AC 03E00008 */ jr $ra
/* 101CC0 802986B0 00000000 */ nop