mirror of
https://github.com/n64decomp/mk64
synced 2026-06-27 09:23:22 -04:00
f959f03184
* Matched some memory.c * And more
118 lines
6.2 KiB
ArmAsm
118 lines
6.2 KiB
ArmAsm
glabel func_800162CC
|
|
/* 016ECC 800162CC 00046040 */ sll $t4, $a0, 1
|
|
/* 016ED0 800162D0 3C0D8016 */ lui $t5, %hi(D_80164438) # 0x8016
|
|
/* 016ED4 800162D4 44856000 */ mtc1 $a1, $f12
|
|
/* 016ED8 800162D8 01AC6821 */ addu $t5, $t5, $t4
|
|
/* 016EDC 800162DC 95AD4438 */ lhu $t5, %lo(D_80164438)($t5) # 0x4438($t5)
|
|
/* 016EE0 800162E0 27BDFFD8 */ addiu $sp, $sp, -0x28
|
|
/* 016EE4 800162E4 00077400 */ sll $t6, $a3, 0x10
|
|
/* 016EE8 800162E8 0006C080 */ sll $t8, $a2, 2
|
|
/* 016EEC 800162EC 3C018016 */ lui $at, %hi(D_80164688)
|
|
/* 016EF0 800162F0 3C0A8016 */ lui $t2, %hi(D_80164668) # $t2, 0x8016
|
|
/* 016EF4 800162F4 000E7C03 */ sra $t7, $t6, 0x10
|
|
/* 016EF8 800162F8 AFA70034 */ sw $a3, 0x34($sp)
|
|
/* 016EFC 800162FC 00380821 */ addu $at, $at, $t8
|
|
/* 016F00 80016300 254A4668 */ addiu $t2, %lo(D_80164668) # addiu $t2, $t2, 0x4668
|
|
/* 016F04 80016304 00064840 */ sll $t1, $a2, 1
|
|
/* 016F08 80016308 01E03825 */ move $a3, $t7
|
|
/* 016F0C 8001630C 03001825 */ move $v1, $t8
|
|
/* 016F10 80016310 012A4021 */ addu $t0, $t1, $t2
|
|
/* 016F14 80016314 E42C4688 */ swc1 $f12, %lo(D_80164688)($at)
|
|
/* 016F18 80016318 3C188016 */ lui $t8, %hi(D_801645C8) # 0x8016
|
|
/* 016F1C 8001631C 000F7840 */ sll $t7, $t7, 1
|
|
/* 016F20 80016320 A50D0000 */ sh $t5, ($t0)
|
|
/* 016F24 80016324 030FC021 */ addu $t8, $t8, $t7
|
|
/* 016F28 80016328 971845C8 */ lhu $t8, %lo(D_801645C8)($t8) # 0x45c8($t8)
|
|
/* 016F2C 8001632C 850E0000 */ lh $t6, ($t0)
|
|
/* 016F30 80016330 00C0C825 */ move $t9, $a2
|
|
/* 016F34 80016334 AFA60030 */ sw $a2, 0x30($sp)
|
|
/* 016F38 80016338 01D8001A */ div $zero, $t6, $t8
|
|
/* 016F3C 8001633C 0000C810 */ mfhi $t9
|
|
/* 016F40 80016340 00073400 */ sll $a2, $a3, 0x10
|
|
/* 016F44 80016344 AFBF0014 */ sw $ra, 0x14($sp)
|
|
/* 016F48 80016348 AFA40028 */ sw $a0, 0x28($sp)
|
|
/* 016F4C 8001634C 00805825 */ move $t3, $a0
|
|
/* 016F50 80016350 00064C03 */ sra $t1, $a2, 0x10
|
|
/* 016F54 80016354 44056000 */ mfc1 $a1, $f12
|
|
/* 016F58 80016358 17000002 */ bnez $t8, .L80016364
|
|
/* 016F5C 8001635C 00000000 */ nop
|
|
/* 016F60 80016360 0007000D */ break 7
|
|
.L80016364:
|
|
/* 016F64 80016364 2401FFFF */ li $at, -1
|
|
/* 016F68 80016368 17010004 */ bne $t8, $at, .L8001637C
|
|
/* 016F6C 8001636C 3C018000 */ lui $at, 0x8000
|
|
/* 016F70 80016370 15C10002 */ bne $t6, $at, .L8001637C
|
|
/* 016F74 80016374 00000000 */ nop
|
|
/* 016F78 80016378 0006000D */ break 6
|
|
.L8001637C:
|
|
/* 016F7C 8001637C A5190000 */ sh $t9, ($t0)
|
|
/* 016F80 80016380 01203025 */ move $a2, $t1
|
|
/* 016F84 80016384 3324FFFF */ andi $a0, $t9, 0xffff
|
|
/* 016F88 80016388 AFA8001C */ sw $t0, 0x1c($sp)
|
|
/* 016F8C 8001638C AFA30020 */ sw $v1, 0x20($sp)
|
|
/* 016F90 80016390 0C002EF6 */ jal func_8000BBD8
|
|
/* 016F94 80016394 A7A70036 */ sh $a3, 0x36($sp)
|
|
/* 016F98 80016398 3C068016 */ lui $a2, %hi(D_80162FA0) # $a2, 0x8016
|
|
/* 016F9C 8001639C 8FA30020 */ lw $v1, 0x20($sp)
|
|
/* 016FA0 800163A0 24C62FA0 */ addiu $a2, %lo(D_80162FA0) # addiu $a2, $a2, 0x2fa0
|
|
/* 016FA4 800163A4 87A70036 */ lh $a3, 0x36($sp)
|
|
/* 016FA8 800163A8 C4C00000 */ lwc1 $f0, ($a2)
|
|
/* 016FAC 800163AC 8FA8001C */ lw $t0, 0x1c($sp)
|
|
/* 016FB0 800163B0 3C018016 */ lui $at, %hi(D_801645F8)
|
|
/* 016FB4 800163B4 00230821 */ addu $at, $at, $v1
|
|
/* 016FB8 800163B8 3C0C8016 */ lui $t4, %hi(D_80164550) # 0x8016
|
|
/* 016FBC 800163BC 00075880 */ sll $t3, $a3, 2
|
|
/* 016FC0 800163C0 E42045F8 */ swc1 $f0, %lo(D_801645F8)($at)
|
|
/* 016FC4 800163C4 850D0000 */ lh $t5, ($t0)
|
|
/* 016FC8 800163C8 018B6021 */ addu $t4, $t4, $t3
|
|
/* 016FCC 800163CC 8D8C4550 */ lw $t4, %lo(D_80164550)($t4) # 0x4550($t4)
|
|
/* 016FD0 800163D0 000D78C0 */ sll $t7, $t5, 3
|
|
/* 016FD4 800163D4 8FA90028 */ lw $t1, 0x28($sp)
|
|
/* 016FD8 800163D8 018F7021 */ addu $t6, $t4, $t7
|
|
/* 016FDC 800163DC 85D80002 */ lh $t8, 2($t6)
|
|
/* 016FE0 800163E0 3C0A8016 */ lui $t2, %hi(D_80164618) # $t2, 0x8016
|
|
/* 016FE4 800163E4 254A4618 */ addiu $t2, %lo(D_80164618) # addiu $t2, $t2, 0x4618
|
|
/* 016FE8 800163E8 44982000 */ mtc1 $t8, $f4
|
|
/* 016FEC 800163EC 006A2021 */ addu $a0, $v1, $t2
|
|
/* 016FF0 800163F0 000950C0 */ sll $t2, $t1, 3
|
|
/* 016FF4 800163F4 468021A0 */ cvt.s.w $f6, $f4
|
|
/* 016FF8 800163F8 01495023 */ subu $t2, $t2, $t1
|
|
/* 016FFC 800163FC 000A5100 */ sll $t2, $t2, 4
|
|
/* 017000 80016400 01495023 */ subu $t2, $t2, $t1
|
|
/* 017004 80016404 C4C80008 */ lwc1 $f8, 8($a2)
|
|
/* 017008 80016408 3C198016 */ lui $t9, %hi(D_80164638) # $t9, 0x8016
|
|
/* 01700C 8001640C 000A5080 */ sll $t2, $t2, 2
|
|
/* 017010 80016410 27394638 */ addiu $t9, %lo(D_80164638) # addiu $t9, $t9, 0x4638
|
|
/* 017014 80016414 01495023 */ subu $t2, $t2, $t1
|
|
/* 017018 80016418 000A50C0 */ sll $t2, $t2, 3
|
|
/* 01701C 8001641C 3C01800F */ lui $at, %hi(gPlayers+0x94)
|
|
/* 017020 80016420 00792821 */ addu $a1, $v1, $t9
|
|
/* 017024 80016424 8FAB0030 */ lw $t3, 0x30($sp)
|
|
/* 017028 80016428 E4860000 */ swc1 $f6, ($a0)
|
|
/* 01702C 8001642C 002A0821 */ addu $at, $at, $t2
|
|
/* 017030 80016430 E4A80000 */ swc1 $f8, ($a1)
|
|
/* 017034 80016434 C4226A24 */ lwc1 $f2, %lo(gPlayers+0x94)($at)
|
|
/* 017038 80016438 3C018016 */ lui $at, %hi(D_80164658)
|
|
/* 01703C 8001643C 000B6880 */ sll $t5, $t3, 2
|
|
/* 017040 80016440 00230821 */ addu $at, $at, $v1
|
|
/* 017044 80016444 01AB6823 */ subu $t5, $t5, $t3
|
|
/* 017048 80016448 000D68C0 */ sll $t5, $t5, 3
|
|
/* 01704C 8001644C E4224658 */ swc1 $f2, %lo(D_80164658)($at)
|
|
/* 017050 80016450 3C018016 */ lui $at, %hi(D_80164648)
|
|
/* 017054 80016454 3C0C8016 */ lui $t4, %hi(cameras) # $t4, 0x8016
|
|
/* 017058 80016458 01AB6823 */ subu $t5, $t5, $t3
|
|
/* 01705C 8001645C 000D68C0 */ sll $t5, $t5, 3
|
|
/* 017060 80016460 258C46F0 */ addiu $t4, %lo(cameras) # addiu $t4, $t4, 0x46f0
|
|
/* 017064 80016464 00230821 */ addu $at, $at, $v1
|
|
/* 017068 80016468 01AC1021 */ addu $v0, $t5, $t4
|
|
/* 01706C 8001646C E4224648 */ swc1 $f2, %lo(D_80164648)($at)
|
|
/* 017070 80016470 E4400000 */ swc1 $f0, ($v0)
|
|
/* 017074 80016474 C48A0000 */ lwc1 $f10, ($a0)
|
|
/* 017078 80016478 E44A0004 */ swc1 $f10, 4($v0)
|
|
/* 01707C 8001647C C4B00000 */ lwc1 $f16, ($a1)
|
|
/* 017080 80016480 E4500008 */ swc1 $f16, 8($v0)
|
|
/* 017084 80016484 8FBF0014 */ lw $ra, 0x14($sp)
|
|
/* 017088 80016488 27BD0028 */ addiu $sp, $sp, 0x28
|
|
/* 01708C 8001648C 03E00008 */ jr $ra
|
|
/* 017090 80016490 00000000 */ nop
|