mirror of
https://github.com/n64decomp/mk64
synced 2026-06-30 18:41:40 -04:00
169 lines
8.8 KiB
ArmAsm
169 lines
8.8 KiB
ArmAsm
glabel func_8029B06C
|
|
/* 10467C 8029B06C 3C0E800E */ lui $t6, %hi(camera1) # $t6, 0x800e
|
|
/* 104680 8029B070 8DCEDB40 */ lw $t6, %lo(camera1)($t6)
|
|
/* 104684 8029B074 240100B8 */ li $at, 184
|
|
/* 104688 8029B078 27BDFED0 */ addiu $sp, $sp, -0x130
|
|
/* 10468C 8029B07C 008E7823 */ subu $t7, $a0, $t6
|
|
/* 104690 8029B080 01E1001A */ div $zero, $t7, $at
|
|
/* 104694 8029B084 0000C012 */ mflo $t8
|
|
/* 104698 8029B088 0018C880 */ sll $t9, $t8, 2
|
|
/* 10469C 8029B08C 3C018015 */ lui $at, %hi(D_80150130)
|
|
/* 1046A0 8029B090 00390821 */ addu $at, $at, $t9
|
|
/* 1046A4 8029B094 C4240130 */ lwc1 $f4, %lo(D_80150130)($at)
|
|
/* 1046A8 8029B098 AFBF001C */ sw $ra, 0x1c($sp)
|
|
/* 1046AC 8029B09C AFA50134 */ sw $a1, 0x134($sp)
|
|
/* 1046B0 8029B0A0 3C01802C */ lui $at, %hi(D_802B96E0) # $at, 0x802c
|
|
/* 1046B4 8029B0A4 C42696E0 */ lwc1 $f6, %lo(D_802B96E0)($at)
|
|
/* 1046B8 8029B0A8 94860026 */ lhu $a2, 0x26($a0)
|
|
/* 1046BC 8029B0AC 24A50018 */ addiu $a1, $a1, 0x18
|
|
/* 1046C0 8029B0B0 3C07451C */ lui $a3, (0x451C4000 >> 16) # lui $a3, 0x451c
|
|
/* 1046C4 8029B0B4 34E74000 */ ori $a3, (0x451C4000 & 0xFFFF) # ori $a3, $a3, 0x4000
|
|
/* 1046C8 8029B0B8 AFA50024 */ sw $a1, 0x24($sp)
|
|
/* 1046CC 8029B0BC E7A40010 */ swc1 $f4, 0x10($sp)
|
|
/* 1046D0 8029B0C0 0C0AE034 */ jal func_802B80D0
|
|
/* 1046D4 8029B0C4 E7A60014 */ swc1 $f6, 0x14($sp)
|
|
/* 1046D8 8029B0C8 44804000 */ mtc1 $zero, $f8
|
|
/* 1046DC 8029B0CC 3C038015 */ lui $v1, %hi(gDisplayListHead) # $v1, 0x8015
|
|
/* 1046E0 8029B0D0 3C0ABB00 */ lui $t2, (0xBB000001 >> 16) # lui $t2, 0xbb00
|
|
/* 1046E4 8029B0D4 4608003C */ c.lt.s $f0, $f8
|
|
/* 1046E8 8029B0D8 8FA50024 */ lw $a1, 0x24($sp)
|
|
/* 1046EC 8029B0DC 46000086 */ mov.s $f2, $f0
|
|
/* 1046F0 8029B0E0 24630298 */ addiu $v1, %lo(gDisplayListHead) # addiu $v1, $v1, 0x298
|
|
/* 1046F4 8029B0E4 4501007B */ bc1t .L8029B2D4
|
|
/* 1046F8 8029B0E8 354A0001 */ ori $t2, (0xBB000001 & 0xFFFF) # ori $t2, $t2, 1
|
|
/* 1046FC 8029B0EC 8C620000 */ lw $v0, ($v1)
|
|
/* 104700 8029B0F0 240BFFFF */ li $t3, -1
|
|
/* 104704 8029B0F4 3C0DB600 */ lui $t5, 0xb600
|
|
/* 104708 8029B0F8 24490008 */ addiu $t1, $v0, 8
|
|
/* 10470C 8029B0FC AC690000 */ sw $t1, ($v1)
|
|
/* 104710 8029B100 AC4B0004 */ sw $t3, 4($v0)
|
|
/* 104714 8029B104 AC4A0000 */ sw $t2, ($v0)
|
|
/* 104718 8029B108 8C620000 */ lw $v0, ($v1)
|
|
/* 10471C 8029B10C 3C0E0002 */ lui $t6, 2
|
|
/* 104720 8029B110 27A400D8 */ addiu $a0, $sp, 0xd8
|
|
/* 104724 8029B114 244C0008 */ addiu $t4, $v0, 8
|
|
/* 104728 8029B118 AC6C0000 */ sw $t4, ($v1)
|
|
/* 10472C 8029B11C AC4E0004 */ sw $t6, 4($v0)
|
|
/* 104730 8029B120 AC4D0000 */ sw $t5, ($v0)
|
|
/* 104734 8029B124 8FA60134 */ lw $a2, 0x134($sp)
|
|
/* 104738 8029B128 E7A20054 */ swc1 $f2, 0x54($sp)
|
|
/* 10473C 8029B12C 0C0AD7DD */ jal func_802B5F74
|
|
/* 104740 8029B130 24C60010 */ addiu $a2, $a2, 0x10
|
|
/* 104744 8029B134 27A400D8 */ addiu $a0, $sp, 0xd8
|
|
/* 104748 8029B138 0C0AD3FE */ jal func_802B4FF8
|
|
/* 10474C 8029B13C 00002825 */ move $a1, $zero
|
|
/* 104750 8029B140 3C038015 */ lui $v1, %hi(gDisplayListHead) # $v1, 0x8015
|
|
/* 104754 8029B144 24630298 */ addiu $v1, %lo(gDisplayListHead) # addiu $v1, $v1, 0x298
|
|
/* 104758 8029B148 10400062 */ beqz $v0, .L8029B2D4
|
|
/* 10475C 8029B14C C7A20054 */ lwc1 $f2, 0x54($sp)
|
|
/* 104760 8029B150 8FAF0134 */ lw $t7, 0x134($sp)
|
|
/* 104764 8029B154 3C050600 */ lui $a1, 0x600
|
|
/* 104768 8029B158 24010001 */ li $at, 1
|
|
/* 10476C 8029B15C 85E20006 */ lh $v0, 6($t7)
|
|
/* 104770 8029B160 3C0D800E */ lui $t5, %hi(gActiveScreenMode) # $t5, 0x800e
|
|
/* 104774 8029B164 50400009 */ beql $v0, $zero, .L8029B18C
|
|
/* 104778 8029B168 8C620000 */ lw $v0, ($v1)
|
|
/* 10477C 8029B16C 1041000E */ beq $v0, $at, .L8029B1A8
|
|
/* 104780 8029B170 3C050600 */ lui $a1, 0x600
|
|
/* 104784 8029B174 24010002 */ li $at, 2
|
|
/* 104788 8029B178 10410013 */ beq $v0, $at, .L8029B1C8
|
|
/* 10478C 8029B17C 3C050600 */ lui $a1, 0x600
|
|
/* 104790 8029B180 10000018 */ b .L8029B1E4
|
|
/* 104794 8029B184 3C050600 */ lui $a1, 0x600
|
|
/* 104798 8029B188 8C620000 */ lw $v0, ($v1)
|
|
.L8029B18C:
|
|
/* 10479C 8029B18C 3C190602 */ lui $t9, %hi(D_06023858) # $t9, 0x602
|
|
/* 1047A0 8029B190 27393858 */ addiu $t9, %lo(D_06023858) # addiu $t9, $t9, 0x3858
|
|
/* 1047A4 8029B194 24580008 */ addiu $t8, $v0, 8
|
|
/* 1047A8 8029B198 AC780000 */ sw $t8, ($v1)
|
|
/* 1047AC 8029B19C AC590004 */ sw $t9, 4($v0)
|
|
/* 1047B0 8029B1A0 10000010 */ b .L8029B1E4
|
|
/* 1047B4 8029B1A4 AC450000 */ sw $a1, ($v0)
|
|
.L8029B1A8:
|
|
/* 1047B8 8029B1A8 8C620000 */ lw $v0, ($v1)
|
|
/* 1047BC 8029B1AC 3C0A0602 */ lui $t2, %hi(D_060238A0) # $t2, 0x602
|
|
/* 1047C0 8029B1B0 254A38A0 */ addiu $t2, %lo(D_060238A0) # addiu $t2, $t2, 0x38a0
|
|
/* 1047C4 8029B1B4 24490008 */ addiu $t1, $v0, 8
|
|
/* 1047C8 8029B1B8 AC690000 */ sw $t1, ($v1)
|
|
/* 1047CC 8029B1BC AC4A0004 */ sw $t2, 4($v0)
|
|
/* 1047D0 8029B1C0 10000008 */ b .L8029B1E4
|
|
/* 1047D4 8029B1C4 AC450000 */ sw $a1, ($v0)
|
|
.L8029B1C8:
|
|
/* 1047D8 8029B1C8 8C620000 */ lw $v0, ($v1)
|
|
/* 1047DC 8029B1CC 3C0C0602 */ lui $t4, %hi(D_060238E8) # $t4, 0x602
|
|
/* 1047E0 8029B1D0 258C38E8 */ addiu $t4, %lo(D_060238E8) # addiu $t4, $t4, 0x38e8
|
|
/* 1047E4 8029B1D4 244B0008 */ addiu $t3, $v0, 8
|
|
/* 1047E8 8029B1D8 AC6B0000 */ sw $t3, ($v1)
|
|
/* 1047EC 8029B1DC AC4C0004 */ sw $t4, 4($v0)
|
|
/* 1047F0 8029B1E0 AC450000 */ sw $a1, ($v0)
|
|
.L8029B1E4:
|
|
/* 1047F4 8029B1E4 8DADC52C */ lw $t5, %lo(gActiveScreenMode)($t5)
|
|
/* 1047F8 8029B1E8 3C01802C */ lui $at, %hi(D_802B96EC)
|
|
/* 1047FC 8029B1EC 15A00025 */ bnez $t5, .L8029B284
|
|
/* 104800 8029B1F0 00000000 */ nop
|
|
/* 104804 8029B1F4 3C01802C */ lui $at, %hi(D_802B96E4) # $at, 0x802c
|
|
/* 104808 8029B1F8 C42A96E4 */ lwc1 $f10, %lo(D_802B96E4)($at)
|
|
/* 10480C 8029B1FC 3C01802C */ lui $at, %hi(D_802B96E8) # $at, 0x802c
|
|
/* 104810 8029B200 460A103C */ c.lt.s $f2, $f10
|
|
/* 104814 8029B204 00000000 */ nop
|
|
/* 104818 8029B208 45000009 */ bc1f .L8029B230
|
|
/* 10481C 8029B20C 00000000 */ nop
|
|
/* 104820 8029B210 8C620000 */ lw $v0, ($v1)
|
|
/* 104824 8029B214 3C0F0900 */ lui $t7, %hi(toads_turnpike_dl_0) # $t7, 0x900
|
|
/* 104828 8029B218 25EF0140 */ addiu $t7, %lo(toads_turnpike_dl_0) # addiu $t7, $t7, 0x140
|
|
/* 10482C 8029B21C 244E0008 */ addiu $t6, $v0, 8
|
|
/* 104830 8029B220 AC6E0000 */ sw $t6, ($v1)
|
|
/* 104834 8029B224 AC4F0004 */ sw $t7, 4($v0)
|
|
/* 104838 8029B228 1000002A */ b .L8029B2D4
|
|
/* 10483C 8029B22C AC450000 */ sw $a1, ($v0)
|
|
.L8029B230:
|
|
/* 104840 8029B230 C43096E8 */ lwc1 $f16, %lo(D_802B96E8)($at)
|
|
/* 104844 8029B234 4610103C */ c.lt.s $f2, $f16
|
|
/* 104848 8029B238 00000000 */ nop
|
|
/* 10484C 8029B23C 4502000A */ bc1fl .L8029B268
|
|
/* 104850 8029B240 8C620000 */ lw $v0, ($v1)
|
|
/* 104854 8029B244 8C620000 */ lw $v0, ($v1)
|
|
/* 104858 8029B248 3C190900 */ lui $t9, %hi(toads_turnpike_dl_1) # $t9, 0x900
|
|
/* 10485C 8029B24C 27390178 */ addiu $t9, %lo(toads_turnpike_dl_1) # addiu $t9, $t9, 0x178
|
|
/* 104860 8029B250 24580008 */ addiu $t8, $v0, 8
|
|
/* 104864 8029B254 AC780000 */ sw $t8, ($v1)
|
|
/* 104868 8029B258 AC590004 */ sw $t9, 4($v0)
|
|
/* 10486C 8029B25C 1000001D */ b .L8029B2D4
|
|
/* 104870 8029B260 AC450000 */ sw $a1, ($v0)
|
|
/* 104874 8029B264 8C620000 */ lw $v0, ($v1)
|
|
.L8029B268:
|
|
/* 104878 8029B268 3C0A0900 */ lui $t2, %hi(toads_turnpike_dl_2) # $t2, 0x900
|
|
/* 10487C 8029B26C 254A01B0 */ addiu $t2, %lo(toads_turnpike_dl_2) # addiu $t2, $t2, 0x1b0
|
|
/* 104880 8029B270 24490008 */ addiu $t1, $v0, 8
|
|
/* 104884 8029B274 AC690000 */ sw $t1, ($v1)
|
|
/* 104888 8029B278 AC4A0004 */ sw $t2, 4($v0)
|
|
/* 10488C 8029B27C 10000015 */ b .L8029B2D4
|
|
/* 104890 8029B280 AC450000 */ sw $a1, ($v0)
|
|
.L8029B284:
|
|
/* 104894 8029B284 C43296EC */ lwc1 $f18, %lo(D_802B96EC)($at)
|
|
/* 104898 8029B288 4612103C */ c.lt.s $f2, $f18
|
|
/* 10489C 8029B28C 00000000 */ nop
|
|
/* 1048A0 8029B290 4502000A */ bc1fl .L8029B2BC
|
|
/* 1048A4 8029B294 8C620000 */ lw $v0, ($v1)
|
|
/* 1048A8 8029B298 8C620000 */ lw $v0, ($v1)
|
|
/* 1048AC 8029B29C 3C0C0900 */ lui $t4, %hi(toads_turnpike_dl_1) # $t4, 0x900
|
|
/* 1048B0 8029B2A0 258C0178 */ addiu $t4, %lo(toads_turnpike_dl_1) # addiu $t4, $t4, 0x178
|
|
/* 1048B4 8029B2A4 244B0008 */ addiu $t3, $v0, 8
|
|
/* 1048B8 8029B2A8 AC6B0000 */ sw $t3, ($v1)
|
|
/* 1048BC 8029B2AC AC4C0004 */ sw $t4, 4($v0)
|
|
/* 1048C0 8029B2B0 10000008 */ b .L8029B2D4
|
|
/* 1048C4 8029B2B4 AC450000 */ sw $a1, ($v0)
|
|
/* 1048C8 8029B2B8 8C620000 */ lw $v0, ($v1)
|
|
.L8029B2BC:
|
|
/* 1048CC 8029B2BC 3C0E0900 */ lui $t6, %hi(toads_turnpike_dl_2) # $t6, 0x900
|
|
/* 1048D0 8029B2C0 25CE01B0 */ addiu $t6, %lo(toads_turnpike_dl_2) # addiu $t6, $t6, 0x1b0
|
|
/* 1048D4 8029B2C4 244D0008 */ addiu $t5, $v0, 8
|
|
/* 1048D8 8029B2C8 AC6D0000 */ sw $t5, ($v1)
|
|
/* 1048DC 8029B2CC AC4E0004 */ sw $t6, 4($v0)
|
|
/* 1048E0 8029B2D0 AC450000 */ sw $a1, ($v0)
|
|
.L8029B2D4:
|
|
/* 1048E4 8029B2D4 8FBF001C */ lw $ra, 0x1c($sp)
|
|
/* 1048E8 8029B2D8 27BD0130 */ addiu $sp, $sp, 0x130
|
|
/* 1048EC 8029B2DC 03E00008 */ jr $ra
|
|
/* 1048F0 8029B2E0 00000000 */ nop
|