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

79 lines
3.8 KiB
ArmAsm

glabel func_80045350
/* ABC4F0 80045350 00042C00 */ sll $a1, $a0, 0x10
/* ABC4F4 80045354 00052C03 */ sra $a1, $a1, 0x10
/* ABC4F8 80045358 27BDFFE8 */ addiu $sp, $sp, -0x18
/* ABC4FC 8004535C 30AEF000 */ andi $t6, $a1, 0xf000
/* ABC500 80045360 3401F000 */ li $at, 61440
/* ABC504 80045364 AFBF0014 */ sw $ra, 0x14($sp)
/* ABC508 80045368 11C10026 */ beq $t6, $at, .L80045404
/* ABC50C 8004536C AFA40018 */ sw $a0, 0x18($sp)
/* ABC510 80045370 30A27000 */ andi $v0, $a1, 0x7000
/* ABC514 80045374 24011000 */ li $at, 4096
/* ABC518 80045378 1041000B */ beq $v0, $at, .L800453A8
/* ABC51C 8004537C 30A88000 */ andi $t0, $a1, 0x8000
/* ABC520 80045380 24012000 */ li $at, 8192
/* ABC524 80045384 1041000D */ beq $v0, $at, .L800453BC
/* ABC528 80045388 2418001B */ li $t8, 27
/* ABC52C 8004538C 24013000 */ li $at, 12288
/* ABC530 80045390 1041000E */ beq $v0, $at, .L800453CC
/* ABC534 80045394 24190020 */ li $t9, 32
/* ABC538 80045398 3C028012 */ lui $v0, %hi(D_8011D3A8) # $v0, 0x8012
/* ABC53C 8004539C 2442D3A8 */ addiu $v0, %lo(D_8011D3A8) # addiu $v0, $v0, -0x2c58
/* ABC540 800453A0 1000000D */ b .L800453D8
/* ABC544 800453A4 AC400000 */ sw $zero, ($v0)
.L800453A8:
/* ABC548 800453A8 3C028012 */ lui $v0, %hi(D_8011D3A8) # $v0, 0x8012
/* ABC54C 800453AC 2442D3A8 */ addiu $v0, %lo(D_8011D3A8) # addiu $v0, $v0, -0x2c58
/* ABC550 800453B0 240F001A */ li $t7, 26
/* ABC554 800453B4 10000008 */ b .L800453D8
/* ABC558 800453B8 AC4F0000 */ sw $t7, ($v0)
.L800453BC:
/* ABC55C 800453BC 3C028012 */ lui $v0, %hi(D_8011D3A8) # $v0, 0x8012
/* ABC560 800453C0 2442D3A8 */ addiu $v0, %lo(D_8011D3A8) # addiu $v0, $v0, -0x2c58
/* ABC564 800453C4 10000004 */ b .L800453D8
/* ABC568 800453C8 AC580000 */ sw $t8, ($v0)
.L800453CC:
/* ABC56C 800453CC 3C028012 */ lui $v0, %hi(D_8011D3A8) # $v0, 0x8012
/* ABC570 800453D0 2442D3A8 */ addiu $v0, %lo(D_8011D3A8) # addiu $v0, $v0, -0x2c58
/* ABC574 800453D4 AC590000 */ sw $t9, ($v0)
.L800453D8:
/* ABC578 800453D8 51000007 */ beql $t0, $zero, .L800453F8
/* ABC57C 800453DC 8C440000 */ lw $a0, ($v0)
/* ABC580 800453E0 8C440000 */ lw $a0, ($v0)
/* ABC584 800453E4 0C02CE29 */ jal func_800B38A4
/* ABC588 800453E8 A7A5001A */ sh $a1, 0x1a($sp)
/* ABC58C 800453EC 10000005 */ b .L80045404
/* ABC590 800453F0 87A5001A */ lh $a1, 0x1a($sp)
/* ABC594 800453F4 8C440000 */ lw $a0, ($v0)
.L800453F8:
/* ABC598 800453F8 0C02CE10 */ jal func_800B3840
/* ABC59C 800453FC A7A5001A */ sh $a1, 0x1a($sp)
/* ABC5A0 80045400 87A5001A */ lh $a1, 0x1a($sp)
.L80045404:
/* ABC5A4 80045404 30A40F00 */ andi $a0, $a1, 0xf00
/* ABC5A8 80045408 24010F00 */ li $at, 3840
/* ABC5AC 8004540C 1081000F */ beq $a0, $at, .L8004544C
/* ABC5B0 80045410 00041203 */ sra $v0, $a0, 8
/* ABC5B4 80045414 00024C00 */ sll $t1, $v0, 0x10
/* ABC5B8 80045418 00021C00 */ sll $v1, $v0, 0x10
/* ABC5BC 8004541C 00095403 */ sra $t2, $t1, 0x10
/* ABC5C0 80045420 15400002 */ bnez $t2, .L8004542C
/* ABC5C4 80045424 00031C03 */ sra $v1, $v1, 0x10
/* ABC5C8 80045428 24030032 */ li $v1, 50
.L8004542C:
/* ABC5CC 8004542C 3C028012 */ lui $v0, %hi(D_8011D3A4) # $v0, 0x8012
/* ABC5D0 80045430 2442D3A4 */ addiu $v0, %lo(D_8011D3A4) # addiu $v0, $v0, -0x2c5c
/* ABC5D4 80045434 8C4B0000 */ lw $t3, ($v0)
/* ABC5D8 80045438 506B0005 */ beql $v1, $t3, .L80045450
/* ABC5DC 8004543C 8FBF0014 */ lw $ra, 0x14($sp)
/* ABC5E0 80045440 AC430000 */ sw $v1, ($v0)
/* ABC5E4 80045444 0C020978 */ jal Interface_ChangeAlpha
/* ABC5E8 80045448 94440002 */ lhu $a0, 2($v0)
.L8004544C:
/* ABC5EC 8004544C 8FBF0014 */ lw $ra, 0x14($sp)
.L80045450:
/* ABC5F0 80045450 27BD0018 */ addiu $sp, $sp, 0x18
/* ABC5F4 80045454 03E00008 */ jr $ra
/* ABC5F8 80045458 00000000 */ nop