oot/asm/non_matchings/code/z_camera/Camera_Demo1.s

210 lines
9.6 KiB
ArmAsm

.rdata
glabel D_80139614
.asciz "\x1b[1m%06u:\x1b[m camera: spline demo: start %s \n"
.balign 4
glabel D_80139644
.asciz "" # actually japanese?
.balign 4
glabel D_8013964C
.asciz ""
.balign 4
glabel D_80139654
.asciz "CENTER"
.balign 4
glabel D_8013965C
.asciz " EYE"
.balign 4
glabel D_80139664
.asciz "\x1b[41;37mcamera: spline demo: owner dead\n\x1b[m"
.balign 4
.text
glabel Camera_Demo1
/* ACB670 800544D0 27BDFF68 */ addiu $sp, $sp, -0x98
/* ACB674 800544D4 AFBF0024 */ sw $ra, 0x24($sp)
/* ACB678 800544D8 AFB00020 */ sw $s0, 0x20($sp)
/* ACB67C 800544DC 8C8E0124 */ lw $t6, 0x124($a0)
/* ACB680 800544E0 00808025 */ move $s0, $a0
/* ACB684 800544E4 2401000A */ li $at, 10
/* ACB688 800544E8 AFAE0084 */ sw $t6, 0x84($sp)
/* ACB68C 800544EC 8C8F0128 */ lw $t7, 0x128($a0)
/* ACB690 800544F0 AFAF0080 */ sw $t7, 0x80($sp)
/* ACB694 800544F4 8482015E */ lh $v0, 0x15e($a0)
/* ACB698 800544F8 3C048014 */ lui $a0, %hi(D_80139614) # $a0, 0x8014
/* ACB69C 800544FC 5040000A */ beql $v0, $zero, .L80054528
/* ACB6A0 80054500 86090142 */ lh $t1, 0x142($s0)
/* ACB6A4 80054504 10410007 */ beq $v0, $at, .L80054524
/* ACB6A8 80054508 24010014 */ li $at, 20
/* ACB6AC 8005450C 10410005 */ beq $v0, $at, .L80054524
/* ACB6B0 80054510 3C188016 */ lui $t8, %hi(gGameInfo) # $t8, 0x8016
/* ACB6B4 80054514 8F18FA90 */ lw $t8, %lo(gGameInfo)($t8)
/* ACB6B8 80054518 87190314 */ lh $t9, 0x314($t8)
/* ACB6BC 8005451C 5320000D */ beql $t9, $zero, .L80054554
/* ACB6C0 80054520 86180000 */ lh $t8, ($s0)
.L80054524:
/* ACB6C4 80054524 86090142 */ lh $t1, 0x142($s0)
.L80054528:
/* ACB6C8 80054528 3C0B8012 */ lui $t3, %hi(sCameraSettings+4)
/* ACB6CC 8005452C 860C0144 */ lh $t4, 0x144($s0)
/* ACB6D0 80054530 000950C0 */ sll $t2, $t1, 3
/* ACB6D4 80054534 016A5821 */ addu $t3, $t3, $t2
/* ACB6D8 80054538 8D6BD068 */ lw $t3, %lo(sCameraSettings+4)($t3)
/* ACB6DC 8005453C 000C68C0 */ sll $t5, $t4, 3
/* ACB6E0 80054540 016D7021 */ addu $t6, $t3, $t5
/* ACB6E4 80054544 8DC20004 */ lw $v0, 4($t6)
/* ACB6E8 80054548 844F0000 */ lh $t7, ($v0)
/* ACB6EC 8005454C A60F0000 */ sh $t7, ($s0)
/* ACB6F0 80054550 86180000 */ lh $t8, ($s0)
.L80054554:
/* ACB6F4 80054554 3C018012 */ lui $at, %hi(D_8011D3A0)
/* ACB6F8 80054558 AC38D3A0 */ sw $t8, %lo(D_8011D3A0)($at)
/* ACB6FC 8005455C 8606015E */ lh $a2, 0x15e($s0)
/* ACB700 80054560 24010001 */ li $at, 1
/* ACB704 80054564 50C00006 */ beql $a2, $zero, .L80054580
/* ACB708 80054568 44802000 */ mtc1 $zero, $f4
/* ACB70C 8005456C 50C10025 */ beql $a2, $at, .L80054604
/* ACB710 80054570 26030004 */ addiu $v1, $s0, 4
/* ACB714 80054574 1000007B */ b .L80054764
/* ACB718 80054578 8FBF0024 */ lw $ra, 0x24($sp)
/* ACB71C 8005457C 44802000 */ mtc1 $zero, $f4
.L80054580:
/* ACB720 80054580 26030004 */ addiu $v1, $s0, 4
/* ACB724 80054584 A4600004 */ sh $zero, 4($v1)
/* ACB728 80054588 E4640000 */ swc1 $f4, ($v1)
/* ACB72C 8005458C 8619015E */ lh $t9, 0x15e($s0)
/* ACB730 80054590 860A012C */ lh $t2, 0x12c($s0)
/* ACB734 80054594 3C068014 */ lui $a2, %hi(D_8013964C)
/* ACB738 80054598 27290001 */ addiu $t1, $t9, 1
/* ACB73C 8005459C 15400004 */ bnez $t2, .L800545B0
/* ACB740 800545A0 A609015E */ sh $t1, 0x15e($s0)
/* ACB744 800545A4 3C068014 */ lui $a2, %hi(D_80139644) # $a2, 0x8014
/* ACB748 800545A8 10000002 */ b .L800545B4
/* ACB74C 800545AC 24C69644 */ addiu $a2, %lo(D_80139644) # addiu $a2, $a2, -0x69bc
.L800545B0:
/* ACB750 800545B0 24C6964C */ addiu $a2, %lo(D_8013964C)
.L800545B4:
/* ACB754 800545B4 8E0C008C */ lw $t4, 0x8c($s0)
/* ACB758 800545B8 24849614 */ addiu $a0, %lo(D_80139614) # addiu $a0, $a0, -0x69ec
/* ACB75C 800545BC 0C00084C */ jal osSyncPrintf
/* ACB760 800545C0 8D85009C */ lw $a1, 0x9c($t4)
/* ACB764 800545C4 3C0B8016 */ lui $t3, %hi(gGameInfo) # $t3, 0x8016
/* ACB768 800545C8 8D6BFA90 */ lw $t3, %lo(gGameInfo)($t3)
/* ACB76C 800545CC 3C048014 */ lui $a0, %hi(D_80139654) # $a0, 0x8014
/* ACB770 800545D0 24849654 */ addiu $a0, %lo(D_80139654) # addiu $a0, $a0, -0x69ac
/* ACB774 800545D4 856D030E */ lh $t5, 0x30e($t3)
/* ACB778 800545D8 24050005 */ li $a1, 5
/* ACB77C 800545DC 51A00009 */ beql $t5, $zero, .L80054604
/* ACB780 800545E0 26030004 */ addiu $v1, $s0, 4
/* ACB784 800545E4 0C0150C5 */ jal Camera_DebugPrintSplineArray
/* ACB788 800545E8 8FA60084 */ lw $a2, 0x84($sp)
/* ACB78C 800545EC 3C048014 */ lui $a0, %hi(D_8013965C) # $a0, 0x8014
/* ACB790 800545F0 2484965C */ addiu $a0, %lo(D_8013965C) # addiu $a0, $a0, -0x69a4
/* ACB794 800545F4 24050005 */ li $a1, 5
/* ACB798 800545F8 0C0150C5 */ jal Camera_DebugPrintSplineArray
/* ACB79C 800545FC 8FA60080 */ lw $a2, 0x80($sp)
/* ACB7A0 80054600 26030004 */ addiu $v1, $s0, 4
.L80054604:
/* ACB7A4 80054604 24680004 */ addiu $t0, $v1, 4
/* ACB7A8 80054608 260600FC */ addiu $a2, $s0, 0xfc
/* ACB7AC 8005460C 260E012C */ addiu $t6, $s0, 0x12c
/* ACB7B0 80054610 AFAE0030 */ sw $t6, 0x30($sp)
/* ACB7B4 80054614 AFA60034 */ sw $a2, 0x34($sp)
/* ACB7B8 80054618 AFA80010 */ sw $t0, 0x10($sp)
/* ACB7BC 8005461C AFA80028 */ sw $t0, 0x28($sp)
/* ACB7C0 80054620 AFA30014 */ sw $v1, 0x14($sp)
/* ACB7C4 80054624 AFA3002C */ sw $v1, 0x2c($sp)
/* ACB7C8 80054628 27A4005C */ addiu $a0, $sp, 0x5c
/* ACB7CC 8005462C 27A5004C */ addiu $a1, $sp, 0x4c
/* ACB7D0 80054630 0C02ECAD */ jal func_800BB2B4
/* ACB7D4 80054634 8FA70080 */ lw $a3, 0x80($sp)
/* ACB7D8 80054638 8FA3002C */ lw $v1, 0x2c($sp)
/* ACB7DC 8005463C 8FA60034 */ lw $a2, 0x34($sp)
/* ACB7E0 80054640 14400009 */ bnez $v0, .L80054668
/* ACB7E4 80054644 8FA80028 */ lw $t0, 0x28($sp)
/* ACB7E8 80054648 27A40050 */ addiu $a0, $sp, 0x50
/* ACB7EC 8005464C 27A5004C */ addiu $a1, $sp, 0x4c
/* ACB7F0 80054650 8FA70084 */ lw $a3, 0x84($sp)
/* ACB7F4 80054654 AFA80010 */ sw $t0, 0x10($sp)
/* ACB7F8 80054658 0C02ECAD */ jal func_800BB2B4
/* ACB7FC 8005465C AFA30014 */ sw $v1, 0x14($sp)
/* ACB800 80054660 50400005 */ beql $v0, $zero, .L80054678
/* ACB804 80054664 8FB90030 */ lw $t9, 0x30($sp)
.L80054668:
/* ACB808 80054668 860F015E */ lh $t7, 0x15e($s0)
/* ACB80C 8005466C 25F80001 */ addiu $t8, $t7, 1
/* ACB810 80054670 A618015E */ sh $t8, 0x15e($s0)
/* ACB814 80054674 8FB90030 */ lw $t9, 0x30($sp)
.L80054678:
/* ACB818 80054678 27A4005C */ addiu $a0, $sp, 0x5c
/* ACB81C 8005467C 26050074 */ addiu $a1, $s0, 0x74
/* ACB820 80054680 87290000 */ lh $t1, ($t9)
/* ACB824 80054684 1120001C */ beqz $t1, .L800546F8
/* ACB828 80054688 00000000 */ nop
/* ACB82C 8005468C 8E050090 */ lw $a1, 0x90($s0)
/* ACB830 80054690 3C048014 */ lui $a0, %hi(D_80139664)
/* ACB834 80054694 10A00012 */ beqz $a1, .L800546E0
/* ACB838 80054698 00000000 */ nop
/* ACB83C 8005469C 8CAA0130 */ lw $t2, 0x130($a1)
/* ACB840 800546A0 1140000F */ beqz $t2, .L800546E0
/* ACB844 800546A4 00000000 */ nop
/* ACB848 800546A8 0C00BBC5 */ jal func_8002EF14
/* ACB84C 800546AC 27A40068 */ addiu $a0, $sp, 0x68
/* ACB850 800546B0 26060074 */ addiu $a2, $s0, 0x74
/* ACB854 800546B4 AFA60030 */ sw $a2, 0x30($sp)
/* ACB858 800546B8 27A40068 */ addiu $a0, $sp, 0x68
/* ACB85C 800546BC 0C01511E */ jal func_80054478
/* ACB860 800546C0 27A5005C */ addiu $a1, $sp, 0x5c
/* ACB864 800546C4 26060050 */ addiu $a2, $s0, 0x50
/* ACB868 800546C8 AFA60034 */ sw $a2, 0x34($sp)
/* ACB86C 800546CC 27A40068 */ addiu $a0, $sp, 0x68
/* ACB870 800546D0 0C01511E */ jal func_80054478
/* ACB874 800546D4 27A50050 */ addiu $a1, $sp, 0x50
/* ACB878 800546D8 1000000F */ b .L80054718
/* ACB87C 800546DC 8FA60034 */ lw $a2, 0x34($sp)
.L800546E0:
/* ACB880 800546E0 0C00084C */ jal osSyncPrintf
/* ACB884 800546E4 24849664 */ addiu $a0, %lo(D_80139664)
/* ACB888 800546E8 260C0074 */ addiu $t4, $s0, 0x74
/* ACB88C 800546EC AFAC0030 */ sw $t4, 0x30($sp)
/* ACB890 800546F0 10000009 */ b .L80054718
/* ACB894 800546F4 26060050 */ addiu $a2, $s0, 0x50
.L800546F8:
/* ACB898 800546F8 0C015117 */ jal Camera_Vec3fCopy
/* ACB89C 800546FC AFA50030 */ sw $a1, 0x30($sp)
/* ACB8A0 80054700 26060050 */ addiu $a2, $s0, 0x50
/* ACB8A4 80054704 00C02825 */ move $a1, $a2
/* ACB8A8 80054708 AFA60034 */ sw $a2, 0x34($sp)
/* ACB8AC 8005470C 0C015117 */ jal Camera_Vec3fCopy
/* ACB8B0 80054710 27A40050 */ addiu $a0, $sp, 0x50
/* ACB8B4 80054714 8FA60034 */ lw $a2, 0x34($sp)
.L80054718:
/* ACB8B8 80054718 8FAD0030 */ lw $t5, 0x30($sp)
/* ACB8BC 8005471C 2605005C */ addiu $a1, $s0, 0x5c
/* ACB8C0 80054720 3C014380 */ li $at, 0x43800000 # 0.000000
/* ACB8C4 80054724 8DAF0000 */ lw $t7, ($t5)
/* ACB8C8 80054728 44814000 */ mtc1 $at, $f8
/* ACB8CC 8005472C 00C02025 */ move $a0, $a2
/* ACB8D0 80054730 ACAF0000 */ sw $t7, ($a1)
/* ACB8D4 80054734 8DAE0004 */ lw $t6, 4($t5)
/* ACB8D8 80054738 ACAE0004 */ sw $t6, 4($a1)
/* ACB8DC 8005473C 8DAF0008 */ lw $t7, 8($t5)
/* ACB8E0 80054740 ACAF0008 */ sw $t7, 8($a1)
/* ACB8E4 80054744 C7A6004C */ lwc1 $f6, 0x4c($sp)
/* ACB8E8 80054748 46083282 */ mul.s $f10, $f6, $f8
/* ACB8EC 8005474C 4600540D */ trunc.w.s $f16, $f10
/* ACB8F0 80054750 44198000 */ mfc1 $t9, $f16
/* ACB8F4 80054754 0C01EFE4 */ jal OLib_Vec3fDist
/* ACB8F8 80054758 A619015A */ sh $t9, 0x15a($s0)
/* ACB8FC 8005475C E60000DC */ swc1 $f0, 0xdc($s0)
/* ACB900 80054760 8FBF0024 */ lw $ra, 0x24($sp)
.L80054764:
/* ACB904 80054764 8FB00020 */ lw $s0, 0x20($sp)
/* ACB908 80054768 27BD0098 */ addiu $sp, $sp, 0x98
/* ACB90C 8005476C 03E00008 */ jr $ra
/* ACB910 80054770 24020001 */ li $v0, 1