oot/asm/non_matchings/code/z_collision_check/func_8005E604.s

138 lines
7.0 KiB
ArmAsm

glabel func_8005E604
/* AD57A4 8005E604 27BDFFE0 */ addiu $sp, $sp, -0x20
/* AD57A8 8005E608 8FAE0030 */ lw $t6, 0x30($sp)
/* AD57AC 8005E60C AFBF001C */ sw $ra, 0x1c($sp)
/* AD57B0 8005E610 AFA50024 */ sw $a1, 0x24($sp)
/* AD57B4 8005E614 AFA60028 */ sw $a2, 0x28($sp)
/* AD57B8 8005E618 AFA7002C */ sw $a3, 0x2c($sp)
/* AD57BC 8005E61C 91CF0016 */ lbu $t7, 0x16($t6)
/* AD57C0 8005E620 31F80040 */ andi $t8, $t7, 0x40
/* AD57C4 8005E624 57000073 */ bnezl $t8, .L8005E7F4
/* AD57C8 8005E628 8FBF001C */ lw $ra, 0x1c($sp)
/* AD57CC 8005E62C 90C20015 */ lbu $v0, 0x15($a2)
/* AD57D0 8005E630 8FAA002C */ lw $t2, 0x2c($sp)
/* AD57D4 8005E634 30480020 */ andi $t0, $v0, 0x20
/* AD57D8 8005E638 15000003 */ bnez $t0, .L8005E648
/* AD57DC 8005E63C 30490040 */ andi $t1, $v0, 0x40
/* AD57E0 8005E640 5520006C */ bnezl $t1, .L8005E7F4
/* AD57E4 8005E644 8FBF001C */ lw $ra, 0x1c($sp)
.L8005E648:
/* AD57E8 8005E648 8D420000 */ lw $v0, ($t2)
/* AD57EC 8005E64C 10400012 */ beqz $v0, .L8005E698
/* AD57F0 8005E650 00000000 */ nop
/* AD57F4 8005E654 AFA40020 */ sw $a0, 0x20($sp)
/* AD57F8 8005E658 914B0014 */ lbu $t3, 0x14($t2)
/* AD57FC 8005E65C 3C0D8012 */ lui $t5, %hi(D_8011DF40)
/* AD5800 8005E660 3C198012 */ lui $t9, %hi(D_8011DF28)
/* AD5804 8005E664 000B6040 */ sll $t4, $t3, 1
/* AD5808 8005E668 01AC6821 */ addu $t5, $t5, $t4
/* AD580C 8005E66C 91ADDF40 */ lbu $t5, %lo(D_8011DF40)($t5)
/* AD5810 8005E670 8FA60034 */ lw $a2, 0x34($sp)
/* AD5814 8005E674 01402825 */ move $a1, $t2
/* AD5818 8005E678 000D7080 */ sll $t6, $t5, 2
/* AD581C 8005E67C 032EC821 */ addu $t9, $t9, $t6
/* AD5820 8005E680 8F39DF28 */ lw $t9, %lo(D_8011DF28)($t9)
/* AD5824 8005E684 0320F809 */ jalr $t9
/* AD5828 8005E688 00000000 */ nop
/* AD582C 8005E68C 8FAF002C */ lw $t7, 0x2c($sp)
/* AD5830 8005E690 8FA40020 */ lw $a0, 0x20($sp)
/* AD5834 8005E694 8DE20000 */ lw $v0, ($t7)
.L8005E698:
/* AD5838 8005E698 10400038 */ beqz $v0, .L8005E77C
/* AD583C 8005E69C 8FA70034 */ lw $a3, 0x34($sp)
/* AD5840 8005E6A0 8FB8002C */ lw $t8, 0x2c($sp)
/* AD5844 8005E6A4 3C058012 */ lui $a1, %hi(D_8011DF41)
/* AD5848 8005E6A8 24010003 */ li $at, 3
/* AD584C 8005E6AC 93080014 */ lbu $t0, 0x14($t8)
/* AD5850 8005E6B0 03003025 */ move $a2, $t8
/* AD5854 8005E6B4 00084840 */ sll $t1, $t0, 1
/* AD5858 8005E6B8 00A92821 */ addu $a1, $a1, $t1
/* AD585C 8005E6BC 90A5DF41 */ lbu $a1, %lo(D_8011DF41)($a1)
/* AD5860 8005E6C0 54A10006 */ bnel $a1, $at, .L8005E6DC
/* AD5864 8005E6C4 24010004 */ li $at, 4
/* AD5868 8005E6C8 0C0178BB */ jal func_8005E2EC
/* AD586C 8005E6CC 8FA50028 */ lw $a1, 0x28($sp)
/* AD5870 8005E6D0 10000048 */ b .L8005E7F4
/* AD5874 8005E6D4 8FBF001C */ lw $ra, 0x1c($sp)
/* AD5878 8005E6D8 24010004 */ li $at, 4
.L8005E6DC:
/* AD587C 8005E6DC 14A10018 */ bne $a1, $at, .L8005E740
/* AD5880 8005E6E0 8FAA0024 */ lw $t2, 0x24($sp)
/* AD5884 8005E6E4 8D420000 */ lw $v0, ($t2)
/* AD5888 8005E6E8 00E02825 */ move $a1, $a3
/* AD588C 8005E6EC 14400010 */ bnez $v0, .L8005E730
/* AD5890 8005E6F0 00000000 */ nop
/* AD5894 8005E6F4 0C018B35 */ jal func_80062CD4
/* AD5898 8005E6F8 00E02825 */ move $a1, $a3
/* AD589C 8005E6FC 3C078013 */ lui $a3, %hi(D_801333E0) # $a3, 0x8013
/* AD58A0 8005E700 3C0B8013 */ lui $t3, %hi(D_801333E8) # $t3, 0x8013
/* AD58A4 8005E704 24E733E0 */ addiu $a3, %lo(D_801333E0) # addiu $a3, $a3, 0x33e0
/* AD58A8 8005E708 256B33E8 */ addiu $t3, %lo(D_801333E8) # addiu $t3, $t3, 0x33e8
/* AD58AC 8005E70C 3C058013 */ lui $a1, %hi(D_801333D4) # $a1, 0x8013
/* AD58B0 8005E710 24A533D4 */ addiu $a1, %lo(D_801333D4) # addiu $a1, $a1, 0x33d4
/* AD58B4 8005E714 AFAB0014 */ sw $t3, 0x14($sp)
/* AD58B8 8005E718 AFA70010 */ sw $a3, 0x10($sp)
/* AD58BC 8005E71C 24041837 */ li $a0, 6199
/* AD58C0 8005E720 0C03DCE3 */ jal Audio_PlaySoundGeneral
/* AD58C4 8005E724 24060004 */ li $a2, 4
/* AD58C8 8005E728 10000032 */ b .L8005E7F4
/* AD58CC 8005E72C 8FBF001C */ lw $ra, 0x1c($sp)
.L8005E730:
/* AD58D0 8005E730 0C018B85 */ jal func_80062E14
/* AD58D4 8005E734 244600E4 */ addiu $a2, $v0, 0xe4
/* AD58D8 8005E738 1000002E */ b .L8005E7F4
/* AD58DC 8005E73C 8FBF001C */ lw $ra, 0x1c($sp)
.L8005E740:
/* AD58E0 8005E740 24010005 */ li $at, 5
/* AD58E4 8005E744 50A1002B */ beql $a1, $at, .L8005E7F4
/* AD58E8 8005E748 8FBF001C */ lw $ra, 0x1c($sp)
/* AD58EC 8005E74C 0C00A729 */ jal func_80029CA4
/* AD58F0 8005E750 00E03025 */ move $a2, $a3
/* AD58F4 8005E754 8FAC0030 */ lw $t4, 0x30($sp)
/* AD58F8 8005E758 8FA40024 */ lw $a0, 0x24($sp)
/* AD58FC 8005E75C 918D0016 */ lbu $t5, 0x16($t4)
/* AD5900 8005E760 31AE0020 */ andi $t6, $t5, 0x20
/* AD5904 8005E764 55C00023 */ bnezl $t6, .L8005E7F4
/* AD5908 8005E768 8FBF001C */ lw $ra, 0x1c($sp)
/* AD590C 8005E76C 0C01793E */ jal func_8005E4F8
/* AD5910 8005E770 01802825 */ move $a1, $t4
/* AD5914 8005E774 1000001F */ b .L8005E7F4
/* AD5918 8005E778 8FBF001C */ lw $ra, 0x1c($sp)
.L8005E77C:
/* AD591C 8005E77C 00002825 */ move $a1, $zero
/* AD5920 8005E780 0C00A729 */ jal func_80029CA4
/* AD5924 8005E784 00E03025 */ move $a2, $a3
/* AD5928 8005E788 8FB9002C */ lw $t9, 0x2c($sp)
/* AD592C 8005E78C 3C078013 */ lui $a3, %hi(D_801333E0) # $a3, 0x8013
/* AD5930 8005E790 24E733E0 */ addiu $a3, %lo(D_801333E0) # addiu $a3, $a3, 0x33e0
/* AD5934 8005E794 8F220000 */ lw $v0, ($t9)
/* AD5938 8005E798 24041806 */ li $a0, 6150
/* AD593C 8005E79C 24060004 */ li $a2, 4
/* AD5940 8005E7A0 1440000E */ bnez $v0, .L8005E7DC
/* AD5944 8005E7A4 244500E4 */ addiu $a1, $v0, 0xe4
/* AD5948 8005E7A8 3C078013 */ lui $a3, %hi(D_801333E0) # $a3, 0x8013
/* AD594C 8005E7AC 3C0F8013 */ lui $t7, %hi(D_801333E8) # $t7, 0x8013
/* AD5950 8005E7B0 24E733E0 */ addiu $a3, %lo(D_801333E0) # addiu $a3, $a3, 0x33e0
/* AD5954 8005E7B4 25EF33E8 */ addiu $t7, %lo(D_801333E8) # addiu $t7, $t7, 0x33e8
/* AD5958 8005E7B8 3C058013 */ lui $a1, %hi(D_801333D4) # $a1, 0x8013
/* AD595C 8005E7BC 24A533D4 */ addiu $a1, %lo(D_801333D4) # addiu $a1, $a1, 0x33d4
/* AD5960 8005E7C0 AFAF0014 */ sw $t7, 0x14($sp)
/* AD5964 8005E7C4 AFA70010 */ sw $a3, 0x10($sp)
/* AD5968 8005E7C8 24041806 */ li $a0, 6150
/* AD596C 8005E7CC 0C03DCE3 */ jal Audio_PlaySoundGeneral
/* AD5970 8005E7D0 24060004 */ li $a2, 4
/* AD5974 8005E7D4 10000007 */ b .L8005E7F4
/* AD5978 8005E7D8 8FBF001C */ lw $ra, 0x1c($sp)
.L8005E7DC:
/* AD597C 8005E7DC 3C088013 */ lui $t0, %hi(D_801333E8) # $t0, 0x8013
/* AD5980 8005E7E0 250833E8 */ addiu $t0, %lo(D_801333E8) # addiu $t0, $t0, 0x33e8
/* AD5984 8005E7E4 AFA80014 */ sw $t0, 0x14($sp)
/* AD5988 8005E7E8 0C03DCE3 */ jal Audio_PlaySoundGeneral
/* AD598C 8005E7EC AFA70010 */ sw $a3, 0x10($sp)
/* AD5990 8005E7F0 8FBF001C */ lw $ra, 0x1c($sp)
.L8005E7F4:
/* AD5994 8005E7F4 27BD0020 */ addiu $sp, $sp, 0x20
/* AD5998 8005E7F8 03E00008 */ jr $ra
/* AD599C 8005E7FC 00000000 */ nop