mirror of
https://github.com/n64decomp/mk64
synced 2026-07-01 10:58:50 -04:00
f959f03184
* Matched some memory.c * And more
127 lines
6.3 KiB
ArmAsm
127 lines
6.3 KiB
ArmAsm
glabel func_8029A8F4
|
|
/* 103F04 8029A8F4 3C0E800E */ lui $t6, %hi(camera1) # $t6, 0x800e
|
|
/* 103F08 8029A8F8 8DCEDB40 */ lw $t6, %lo(camera1)($t6)
|
|
/* 103F0C 8029A8FC 240100B8 */ li $at, 184
|
|
/* 103F10 8029A900 27BDFF70 */ addiu $sp, $sp, -0x90
|
|
/* 103F14 8029A904 008E7823 */ subu $t7, $a0, $t6
|
|
/* 103F18 8029A908 01E1001A */ div $zero, $t7, $at
|
|
/* 103F1C 8029A90C 0000C012 */ mflo $t8
|
|
/* 103F20 8029A910 0018C880 */ sll $t9, $t8, 2
|
|
/* 103F24 8029A914 3C018015 */ lui $at, %hi(D_80150130)
|
|
/* 103F28 8029A918 AFB00020 */ sw $s0, 0x20($sp)
|
|
/* 103F2C 8029A91C AFA50094 */ sw $a1, 0x94($sp)
|
|
/* 103F30 8029A920 00390821 */ addu $at, $at, $t9
|
|
/* 103F34 8029A924 C4240130 */ lwc1 $f4, %lo(D_80150130)($at)
|
|
/* 103F38 8029A928 00C08025 */ move $s0, $a2
|
|
/* 103F3C 8029A92C AFBF0024 */ sw $ra, 0x24($sp)
|
|
/* 103F40 8029A930 24C50018 */ addiu $a1, $a2, 0x18
|
|
/* 103F44 8029A934 94860026 */ lhu $a2, 0x26($a0)
|
|
/* 103F48 8029A938 3C01802C */ lui $at, %hi(D_802B96B4) # $at, 0x802c
|
|
/* 103F4C 8029A93C C42696B4 */ lwc1 $f6, %lo(D_802B96B4)($at)
|
|
/* 103F50 8029A940 AFA5002C */ sw $a1, 0x2c($sp)
|
|
/* 103F54 8029A944 AFA40090 */ sw $a0, 0x90($sp)
|
|
/* 103F58 8029A948 24070000 */ li $a3, 0
|
|
/* 103F5C 8029A94C E7A40010 */ swc1 $f4, 0x10($sp)
|
|
/* 103F60 8029A950 0C0AE034 */ jal func_802B80D0
|
|
/* 103F64 8029A954 E7A60014 */ swc1 $f6, 0x14($sp)
|
|
/* 103F68 8029A958 44804000 */ mtc1 $zero, $f8
|
|
/* 103F6C 8029A95C 8FA40090 */ lw $a0, 0x90($sp)
|
|
/* 103F70 8029A960 3C088016 */ lui $t0, %hi(D_8015F6EC) # $t0, 0x8016
|
|
/* 103F74 8029A964 4608003C */ c.lt.s $f0, $f8
|
|
/* 103F78 8029A968 00000000 */ nop
|
|
/* 103F7C 8029A96C 45000005 */ bc1f .L8029A984
|
|
/* 103F80 8029A970 00000000 */ nop
|
|
/* 103F84 8029A974 0C0A5C8C */ jal func_80297230
|
|
/* 103F88 8029A978 02002825 */ move $a1, $s0
|
|
/* 103F8C 8029A97C 1000004E */ b .L8029AAB8
|
|
/* 103F90 8029A980 8FBF0024 */ lw $ra, 0x24($sp)
|
|
.L8029A984:
|
|
/* 103F94 8029A984 8508F6EC */ lh $t0, %lo(D_8015F6EC)($t0)
|
|
/* 103F98 8029A988 3C014448 */ li $at, 0x44480000 # 800.000000
|
|
/* 103F9C 8029A98C 44811000 */ mtc1 $at, $f2
|
|
/* 103FA0 8029A990 44885000 */ mtc1 $t0, $f10
|
|
/* 103FA4 8029A994 C600001C */ lwc1 $f0, 0x1c($s0)
|
|
/* 103FA8 8029A998 3C098016 */ lui $t1, %hi(D_8015F6EE) # $t1, 0x8016
|
|
/* 103FAC 8029A99C 46805420 */ cvt.s.w $f16, $f10
|
|
/* 103FB0 8029A9A0 46028480 */ add.s $f18, $f16, $f2
|
|
/* 103FB4 8029A9A4 4600903C */ c.lt.s $f18, $f0
|
|
/* 103FB8 8029A9A8 00000000 */ nop
|
|
/* 103FBC 8029A9AC 45000005 */ bc1f .L8029A9C4
|
|
/* 103FC0 8029A9B0 00000000 */ nop
|
|
/* 103FC4 8029A9B4 0C0A5C8C */ jal func_80297230
|
|
/* 103FC8 8029A9B8 02002825 */ move $a1, $s0
|
|
/* 103FCC 8029A9BC 1000003E */ b .L8029AAB8
|
|
/* 103FD0 8029A9C0 8FBF0024 */ lw $ra, 0x24($sp)
|
|
.L8029A9C4:
|
|
/* 103FD4 8029A9C4 8529F6EE */ lh $t1, %lo(D_8015F6EE)($t1)
|
|
/* 103FD8 8029A9C8 44892000 */ mtc1 $t1, $f4
|
|
/* 103FDC 8029A9CC 00000000 */ nop
|
|
/* 103FE0 8029A9D0 468021A0 */ cvt.s.w $f6, $f4
|
|
/* 103FE4 8029A9D4 46023201 */ sub.s $f8, $f6, $f2
|
|
/* 103FE8 8029A9D8 4608003C */ c.lt.s $f0, $f8
|
|
/* 103FEC 8029A9DC 00000000 */ nop
|
|
/* 103FF0 8029A9E0 45000005 */ bc1f .L8029A9F8
|
|
/* 103FF4 8029A9E4 00000000 */ nop
|
|
/* 103FF8 8029A9E8 0C0A5C8C */ jal func_80297230
|
|
/* 103FFC 8029A9EC 02002825 */ move $a1, $s0
|
|
/* 104000 8029A9F0 10000031 */ b .L8029AAB8
|
|
/* 104004 8029A9F4 8FBF0024 */ lw $ra, 0x24($sp)
|
|
.L8029A9F8:
|
|
/* 104008 8029A9F8 0C0A5CAE */ jal func_802972B8
|
|
/* 10400C 8029A9FC 02002825 */ move $a1, $s0
|
|
/* 104010 8029AA00 860A0006 */ lh $t2, 6($s0)
|
|
/* 104014 8029AA04 24010005 */ li $at, 5
|
|
/* 104018 8029AA08 27A4003C */ addiu $a0, $sp, 0x3c
|
|
/* 10401C 8029AA0C 15410007 */ bne $t2, $at, .L8029AA2C
|
|
/* 104020 8029AA10 27A6007C */ addiu $a2, $sp, 0x7c
|
|
/* 104024 8029AA14 27A4003C */ addiu $a0, $sp, 0x3c
|
|
/* 104028 8029AA18 8FA5002C */ lw $a1, 0x2c($sp)
|
|
/* 10402C 8029AA1C 0C0AD7DD */ jal func_802B5F74
|
|
/* 104030 8029AA20 26060010 */ addiu $a2, $s0, 0x10
|
|
/* 104034 8029AA24 10000007 */ b .L8029AA44
|
|
/* 104038 8029AA28 27A4003C */ addiu $a0, $sp, 0x3c
|
|
.L8029AA2C:
|
|
/* 10403C 8029AA2C A7A0007C */ sh $zero, 0x7c($sp)
|
|
/* 104040 8029AA30 A7A0007E */ sh $zero, 0x7e($sp)
|
|
/* 104044 8029AA34 A7A00080 */ sh $zero, 0x80($sp)
|
|
/* 104048 8029AA38 0C0AD7DD */ jal func_802B5F74
|
|
/* 10404C 8029AA3C 8FA5002C */ lw $a1, 0x2c($sp)
|
|
/* 104050 8029AA40 27A4003C */ addiu $a0, $sp, 0x3c
|
|
.L8029AA44:
|
|
/* 104054 8029AA44 0C0AD3FE */ jal func_802B4FF8
|
|
/* 104058 8029AA48 00002825 */ move $a1, $zero
|
|
/* 10405C 8029AA4C 5040001A */ beql $v0, $zero, .L8029AAB8
|
|
/* 104060 8029AA50 8FBF0024 */ lw $ra, 0x24($sp)
|
|
/* 104064 8029AA54 860B0006 */ lh $t3, 6($s0)
|
|
/* 104068 8029AA58 24010005 */ li $at, 5
|
|
/* 10406C 8029AA5C 3C048015 */ lui $a0, %hi(gDisplayListHead) # $a0, 0x8015
|
|
/* 104070 8029AA60 1161000C */ beq $t3, $at, .L8029AA94
|
|
/* 104074 8029AA64 24840298 */ addiu $a0, %lo(gDisplayListHead) # addiu $a0, $a0, 0x298
|
|
/* 104078 8029AA68 3C048015 */ lui $a0, %hi(gDisplayListHead) # $a0, 0x8015
|
|
/* 10407C 8029AA6C 24840298 */ addiu $a0, %lo(gDisplayListHead) # addiu $a0, $a0, 0x298
|
|
/* 104080 8029AA70 8C830000 */ lw $v1, ($a0)
|
|
/* 104084 8029AA74 3C0E0D00 */ lui $t6, %hi(D_0D004B48) # $t6, 0xd00
|
|
/* 104088 8029AA78 25CE4B48 */ addiu $t6, %lo(D_0D004B48) # addiu $t6, $t6, 0x4b48
|
|
/* 10408C 8029AA7C 246C0008 */ addiu $t4, $v1, 8
|
|
/* 104090 8029AA80 AC8C0000 */ sw $t4, ($a0)
|
|
/* 104094 8029AA84 3C0D0600 */ lui $t5, 0x600
|
|
/* 104098 8029AA88 AC6D0000 */ sw $t5, ($v1)
|
|
/* 10409C 8029AA8C 10000009 */ b .L8029AAB4
|
|
/* 1040A0 8029AA90 AC6E0004 */ sw $t6, 4($v1)
|
|
.L8029AA94:
|
|
/* 1040A4 8029AA94 8C830000 */ lw $v1, ($a0)
|
|
/* 1040A8 8029AA98 3C190D00 */ lui $t9, %hi(D_0D004BD8) # $t9, 0xd00
|
|
/* 1040AC 8029AA9C 27394BD8 */ addiu $t9, %lo(D_0D004BD8) # addiu $t9, $t9, 0x4bd8
|
|
/* 1040B0 8029AAA0 246F0008 */ addiu $t7, $v1, 8
|
|
/* 1040B4 8029AAA4 AC8F0000 */ sw $t7, ($a0)
|
|
/* 1040B8 8029AAA8 3C180600 */ lui $t8, 0x600
|
|
/* 1040BC 8029AAAC AC780000 */ sw $t8, ($v1)
|
|
/* 1040C0 8029AAB0 AC790004 */ sw $t9, 4($v1)
|
|
.L8029AAB4:
|
|
/* 1040C4 8029AAB4 8FBF0024 */ lw $ra, 0x24($sp)
|
|
.L8029AAB8:
|
|
/* 1040C8 8029AAB8 8FB00020 */ lw $s0, 0x20($sp)
|
|
/* 1040CC 8029AABC 27BD0090 */ addiu $sp, $sp, 0x90
|
|
/* 1040D0 8029AAC0 03E00008 */ jr $ra
|
|
/* 1040D4 8029AAC4 00000000 */ nop
|