papermario/asm/nonmatchings/code_de740_len_23f0/func_80149974.s
2020-08-12 22:37:16 -04:00

75 lines
3.3 KiB
ArmAsm

.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80149974
/* 0E0074 80149974 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 0E0078 80149978 44861000 */ mtc1 $a2, $f2
/* 0E007C 8014997C 44872000 */ mtc1 $a3, $f4
/* 0E0080 80149980 C7A00030 */ lwc1 $f0, 0x30($sp)
/* 0E0084 80149984 3C038016 */ lui $v1, 0x8016
/* 0E0088 80149988 8C639AD0 */ lw $v1, -0x6530($v1)
/* 0E008C 8014998C 0000302D */ daddu $a2, $zero, $zero
/* 0E0090 80149990 AFBF0018 */ sw $ra, 0x18($sp)
.L80149994:
/* 0E0094 80149994 8C620000 */ lw $v0, ($v1)
/* 0E0098 80149998 30420001 */ andi $v0, $v0, 1
/* 0E009C 8014999C 10400004 */ beqz $v0, .L801499B0
/* 0E00A0 801499A0 24C60001 */ addiu $a2, $a2, 1
/* 0E00A4 801499A4 28C2000A */ slti $v0, $a2, 0xa
/* 0E00A8 801499A8 1440FFFA */ bnez $v0, .L80149994
/* 0E00AC 801499AC 2463001C */ addiu $v1, $v1, 0x1c
.L801499B0:
/* 0E00B0 801499B0 8C620000 */ lw $v0, ($v1)
/* 0E00B4 801499B4 44061000 */ mfc1 $a2, $f2
/* 0E00B8 801499B8 44072000 */ mfc1 $a3, $f4
/* 0E00BC 801499BC AC650008 */ sw $a1, 8($v1)
/* 0E00C0 801499C0 E4620010 */ swc1 $f2, 0x10($v1)
/* 0E00C4 801499C4 E4640014 */ swc1 $f4, 0x14($v1)
/* 0E00C8 801499C8 E4600018 */ swc1 $f0, 0x18($v1)
/* 0E00CC 801499CC AC640004 */ sw $a0, 4($v1)
/* 0E00D0 801499D0 34420003 */ ori $v0, $v0, 3
/* 0E00D4 801499D4 AC620000 */ sw $v0, ($v1)
/* 0E00D8 801499D8 0C052757 */ jal play_sound_at_position
/* 0E00DC 801499DC E7A00010 */ swc1 $f0, 0x10($sp)
/* 0E00E0 801499E0 8FBF0018 */ lw $ra, 0x18($sp)
/* 0E00E4 801499E4 03E00008 */ jr $ra
/* 0E00E8 801499E8 27BD0020 */ addiu $sp, $sp, 0x20
/* 0E00EC 801499EC 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 0E00F0 801499F0 F7B40020 */ sdc1 $f20, 0x20($sp)
/* 0E00F4 801499F4 4486A000 */ mtc1 $a2, $f20
/* 0E00F8 801499F8 AFB00010 */ sw $s0, 0x10($sp)
/* 0E00FC 801499FC 0080802D */ daddu $s0, $a0, $zero
/* 0E0100 80149A00 AFB10014 */ sw $s1, 0x14($sp)
/* 0E0104 80149A04 F7B60028 */ sdc1 $f22, 0x28($sp)
/* 0E0108 80149A08 4487B000 */ mtc1 $a3, $f22
/* 0E010C 80149A0C AFBF0018 */ sw $ra, 0x18($sp)
/* 0E0110 80149A10 0C052631 */ jal func_801498C4
/* 0E0114 80149A14 00A0882D */ daddu $s1, $a1, $zero
/* 0E0118 80149A18 0040202D */ daddu $a0, $v0, $zero
/* 0E011C 80149A1C 1080000B */ beqz $a0, .L80149A4C
/* 0E0120 80149A20 24020001 */ addiu $v0, $zero, 1
/* 0E0124 80149A24 8C830000 */ lw $v1, ($a0)
/* 0E0128 80149A28 AC910008 */ sw $s1, 8($a0)
/* 0E012C 80149A2C E4940010 */ swc1 $f20, 0x10($a0)
/* 0E0130 80149A30 E4960014 */ swc1 $f22, 0x14($a0)
/* 0E0134 80149A34 C7A00040 */ lwc1 $f0, 0x40($sp)
/* 0E0138 80149A38 AC900004 */ sw $s0, 4($a0)
/* 0E013C 80149A3C 34630003 */ ori $v1, $v1, 3
/* 0E0140 80149A40 E4800018 */ swc1 $f0, 0x18($a0)
/* 0E0144 80149A44 08052694 */ j .L80149A50
/* 0E0148 80149A48 AC830000 */ sw $v1, ($a0)
.L80149A4C:
/* 0E014C 80149A4C 0000102D */ daddu $v0, $zero, $zero
.L80149A50:
/* 0E0150 80149A50 8FBF0018 */ lw $ra, 0x18($sp)
/* 0E0154 80149A54 8FB10014 */ lw $s1, 0x14($sp)
/* 0E0158 80149A58 8FB00010 */ lw $s0, 0x10($sp)
/* 0E015C 80149A5C D7B60028 */ ldc1 $f22, 0x28($sp)
/* 0E0160 80149A60 D7B40020 */ ldc1 $f20, 0x20($sp)
/* 0E0164 80149A64 03E00008 */ jr $ra
/* 0E0168 80149A68 27BD0030 */ addiu $sp, $sp, 0x30