mirror of https://github.com/zeldaret/oot.git
90 lines
4.3 KiB
ArmAsm
90 lines
4.3 KiB
ArmAsm
glabel func_800E217C
|
|
/* B5931C 800E217C 27BDFFD0 */ addiu $sp, $sp, -0x30
|
|
/* B59320 800E2180 AFB30024 */ sw $s3, 0x24($sp)
|
|
/* B59324 800E2184 3C138017 */ lui $s3, %hi(gAudioContext) # $s3, 0x8017
|
|
/* B59328 800E2188 2673F180 */ addiu $s3, %lo(gAudioContext) # addiu $s3, $s3, -0xe80
|
|
/* B5932C 800E218C 966F2840 */ lhu $t7, 0x2840($s3)
|
|
/* B59330 800E2190 AFBF002C */ sw $ra, 0x2c($sp)
|
|
/* B59334 800E2194 AFB40028 */ sw $s4, 0x28($sp)
|
|
/* B59338 800E2198 00AF082A */ slt $at, $a1, $t7
|
|
/* B5933C 800E219C AFB20020 */ sw $s2, 0x20($sp)
|
|
/* B59340 800E21A0 AFB1001C */ sw $s1, 0x1c($sp)
|
|
/* B59344 800E21A4 AFB00018 */ sw $s0, 0x18($sp)
|
|
/* B59348 800E21A8 AFA40030 */ sw $a0, 0x30($sp)
|
|
/* B5934C 800E21AC AFA50034 */ sw $a1, 0x34($sp)
|
|
/* B59350 800E21B0 14200003 */ bnez $at, .L800E21C0
|
|
/* B59354 800E21B4 AFA60038 */ sw $a2, 0x38($sp)
|
|
/* B59358 800E21B8 1000003A */ b .L800E22A4
|
|
/* B5935C 800E21BC 00001025 */ move $v0, $zero
|
|
.L800E21C0:
|
|
/* B59360 800E21C0 8FB80030 */ lw $t8, 0x30($sp)
|
|
/* B59364 800E21C4 0018C880 */ sll $t9, $t8, 2
|
|
/* B59368 800E21C8 0338C823 */ subu $t9, $t9, $t8
|
|
/* B5936C 800E21CC 0019C880 */ sll $t9, $t9, 2
|
|
/* B59370 800E21D0 0338C823 */ subu $t9, $t9, $t8
|
|
/* B59374 800E21D4 0019C940 */ sll $t9, $t9, 5
|
|
/* B59378 800E21D8 0279A021 */ addu $s4, $s3, $t9
|
|
/* B5937C 800E21DC 26943530 */ addiu $s4, $s4, 0x3530
|
|
/* B59380 800E21E0 0C03A6DB */ jal Audio_SequencePlayerDisable
|
|
/* B59384 800E21E4 02802025 */ move $a0, $s4
|
|
/* B59388 800E21E8 8FA80034 */ lw $t0, 0x34($sp)
|
|
/* B5938C 800E21EC 8E62283C */ lw $v0, 0x283c($s3)
|
|
/* B59390 800E21F0 241200FF */ li $s2, 255
|
|
/* B59394 800E21F4 00084840 */ sll $t1, $t0, 1
|
|
/* B59398 800E21F8 00495021 */ addu $t2, $v0, $t1
|
|
/* B5939C 800E21FC 95500000 */ lhu $s0, ($t2)
|
|
/* B593A0 800E2200 02025821 */ addu $t3, $s0, $v0
|
|
/* B593A4 800E2204 91710000 */ lbu $s1, ($t3)
|
|
/* B593A8 800E2208 26100001 */ addiu $s0, $s0, 1
|
|
/* B593AC 800E220C 1A20000A */ blez $s1, .L800E2238
|
|
/* B593B0 800E2210 00000000 */ nop
|
|
/* B593B4 800E2214 8E6C283C */ lw $t4, 0x283c($s3)
|
|
.L800E2218:
|
|
/* B593B8 800E2218 020C6821 */ addu $t5, $s0, $t4
|
|
/* B593BC 800E221C 91B20000 */ lbu $s2, ($t5)
|
|
/* B593C0 800E2220 26100001 */ addiu $s0, $s0, 1
|
|
/* B593C4 800E2224 0C038915 */ jal func_800E2454
|
|
/* B593C8 800E2228 02402025 */ move $a0, $s2
|
|
/* B593CC 800E222C 2631FFFF */ addiu $s1, $s1, -1
|
|
/* B593D0 800E2230 5E20FFF9 */ bgtzl $s1, .L800E2218
|
|
/* B593D4 800E2234 8E6C283C */ lw $t4, 0x283c($s3)
|
|
.L800E2238:
|
|
/* B593D8 800E2238 0C0388B1 */ jal func_800E22C4
|
|
/* B593DC 800E223C 8FA40034 */ lw $a0, 0x34($sp)
|
|
/* B593E0 800E2240 14400003 */ bnez $v0, .L800E2250
|
|
/* B593E4 800E2244 00408025 */ move $s0, $v0
|
|
/* B593E8 800E2248 10000016 */ b .L800E22A4
|
|
/* B593EC 800E224C 00001025 */ move $v0, $zero
|
|
.L800E2250:
|
|
/* B593F0 800E2250 0C03B19A */ jal Audio_ResetSequencePlayer
|
|
/* B593F4 800E2254 02802025 */ move $a0, $s4
|
|
/* B593F8 800E2258 8FAE0034 */ lw $t6, 0x34($sp)
|
|
/* B593FC 800E225C 24040001 */ li $a0, 1
|
|
/* B59400 800E2260 02402825 */ move $a1, $s2
|
|
/* B59404 800E2264 0C0389DA */ jal func_800E2768
|
|
/* B59408 800E2268 A28E0004 */ sb $t6, 4($s4)
|
|
/* B5940C 800E226C 92980000 */ lbu $t8, ($s4)
|
|
/* B59410 800E2270 A2820005 */ sb $v0, 5($s4)
|
|
/* B59414 800E2274 AE900018 */ sw $s0, 0x18($s4)
|
|
/* B59418 800E2278 37080080 */ ori $t0, $t8, 0x80
|
|
/* B5941C 800E227C A2880000 */ sb $t0, ($s4)
|
|
/* B59420 800E2280 310900BF */ andi $t1, $t0, 0xbf
|
|
/* B59424 800E2284 AE900078 */ sw $s0, 0x78($s4)
|
|
/* B59428 800E2288 A2800090 */ sb $zero, 0x90($s4)
|
|
/* B5942C 800E228C A6800010 */ sh $zero, 0x10($s4)
|
|
/* B59430 800E2290 A2890000 */ sb $t1, ($s4)
|
|
/* B59434 800E2294 8FAA0030 */ lw $t2, 0x30($sp)
|
|
/* B59438 800E2298 02802025 */ move $a0, $s4
|
|
/* B5943C 800E229C 0C03B186 */ jal Audio_ProcessSequence
|
|
/* B59440 800E22A0 A28A0007 */ sb $t2, 7($s4)
|
|
.L800E22A4:
|
|
/* B59444 800E22A4 8FBF002C */ lw $ra, 0x2c($sp)
|
|
/* B59448 800E22A8 8FB00018 */ lw $s0, 0x18($sp)
|
|
/* B5944C 800E22AC 8FB1001C */ lw $s1, 0x1c($sp)
|
|
/* B59450 800E22B0 8FB20020 */ lw $s2, 0x20($sp)
|
|
/* B59454 800E22B4 8FB30024 */ lw $s3, 0x24($sp)
|
|
/* B59458 800E22B8 8FB40028 */ lw $s4, 0x28($sp)
|
|
/* B5945C 800E22BC 03E00008 */ jr $ra
|
|
/* B59460 800E22C0 27BD0030 */ addiu $sp, $sp, 0x30
|
|
|