1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2025-07-04 06:54:33 +00:00

code_800F7260 (#433)

* Split code_800F7260

* More function splits, migrate rodata

* Initial progress

* Small progress

* More substantial progress, finally figured out structs

* 2 functions left

* Move prototypes to functions.h

* Remove unused asm, move most externs to variables.h

* Fix merge

* Ran formatter

* Brackets to avoid && &

Co-authored-by: krimtonz <33664508+krimtonz@users.noreply.github.com>

* More variables to variables.h

* Braces around early return

Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>

* ARRAY_COUNT in sBankSizes and remove unnecessary temp vars

Co-authored-by: krimtonz <33664508+krimtonz@users.noreply.github.com>
Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>
This commit is contained in:
Tharo 2020-10-26 11:58:56 +00:00 committed by GitHub
parent b4096eee34
commit 695552f0b8
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
37 changed files with 751 additions and 1555 deletions

View file

@ -863,7 +863,7 @@ glabel L800EB920
/* B62B00 800EB960 1000FDE4 */ b .L800EB0F4 /* B62B00 800EB960 1000FDE4 */ b .L800EB0F4
/* B62B04 800EB964 00000000 */ nop /* B62B04 800EB964 00000000 */ nop
glabel L800EB968 glabel L800EB968
/* B62B08 800EB968 0C0399F0 */ jal func_800E67C0 /* B62B08 800EB968 0C0399F0 */ jal Audio_NextRandom
/* B62B0C 800EB96C 00000000 */ nop /* B62B0C 800EB96C 00000000 */ nop
/* B62B10 800EB970 8FA90060 */ lw $t1, 0x60($sp) /* B62B10 800EB970 8FA90060 */ lw $t1, 0x60($sp)
/* B62B14 800EB974 8FAB0060 */ lw $t3, 0x60($sp) /* B62B14 800EB974 8FAB0060 */ lw $t3, 0x60($sp)

View file

@ -1,4 +1,4 @@
glabel func_800E67C0 glabel Audio_NextRandom
/* B5D960 800E67C0 27BDFFE8 */ addiu $sp, $sp, -0x18 /* B5D960 800E67C0 27BDFFE8 */ addiu $sp, $sp, -0x18
/* B5D964 800E67C4 AFBF0014 */ sw $ra, 0x14($sp) /* B5D964 800E67C4 AFBF0014 */ sw $ra, 0x14($sp)
/* B5D968 800E67C8 0C001BA8 */ jal osGetCount /* B5D968 800E67C8 0C001BA8 */ jal osGetCount

View file

@ -11,7 +11,7 @@ glabel func_800EE5EC
/* B657B0 800EE610 10000034 */ b .L800EE6E4 /* B657B0 800EE610 10000034 */ b .L800EE6E4
/* B657B4 800EE614 24020001 */ li $v0, 1 /* B657B4 800EE614 24020001 */ li $v0, 1
.L800EE618: .L800EE618:
/* B657B8 800EE618 0C0399F0 */ jal func_800E67C0 /* B657B8 800EE618 0C0399F0 */ jal Audio_NextRandom
/* B657BC 800EE61C 00000000 */ nop /* B657BC 800EE61C 00000000 */ nop
/* B657C0 800EE620 24080005 */ li $t0, 5 /* B657C0 800EE620 24080005 */ li $t0, 5
/* B657C4 800EE624 0048001B */ divu $zero, $v0, $t0 /* B657C4 800EE624 0048001B */ divu $zero, $v0, $t0

View file

@ -923,8 +923,8 @@ glabel L800EEEB4
/* B661AC 800EF00C 31180002 */ andi $t8, $t0, 2 /* B661AC 800EF00C 31180002 */ andi $t8, $t0, 2
/* B661B0 800EF010 0018C843 */ sra $t9, $t8, 1 /* B661B0 800EF010 0018C843 */ sra $t9, $t8, 1
/* B661B4 800EF014 310A0001 */ andi $t2, $t0, 1 /* B661B4 800EF014 310A0001 */ andi $t2, $t0, 1
/* B661B8 800EF018 3C158013 */ lui $s5, %hi(D_801333A8) # $s5, 0x8013 /* B661B8 800EF018 3C158013 */ lui $s5, %hi(gSoundBanks) # $s5, 0x8013
/* B661BC 800EF01C 26B533A8 */ addiu $s5, %lo(D_801333A8) # addiu $s5, $s5, 0x33a8 /* B661BC 800EF01C 26B533A8 */ addiu $s5, %lo(gSoundBanks) # addiu $s5, $s5, 0x33a8
/* B661C0 800EF020 001E6080 */ sll $t4, $fp, 2 /* B661C0 800EF020 001E6080 */ sll $t4, $fp, 2
/* B661C4 800EF024 02AC9021 */ addu $s2, $s5, $t4 /* B661C4 800EF024 02AC9021 */ addu $s2, $s5, $t4
/* B661C8 800EF028 8E4D0000 */ lw $t5, ($s2) /* B661C8 800EF028 8E4D0000 */ lw $t5, ($s2)
@ -1176,9 +1176,9 @@ glabel L800EF3F0
/* B66594 800EF3F4 4481B000 */ mtc1 $at, $f22 /* B66594 800EF3F4 4481B000 */ mtc1 $at, $f22
/* B66598 800EF3F8 3C018015 */ lui $at, %hi(D_8014A4C0) /* B66598 800EF3F8 3C018015 */ lui $at, %hi(D_8014A4C0)
/* B6659C 800EF3FC 3C168017 */ lui $s6, %hi(D_8016E1B8) # $s6, 0x8017 /* B6659C 800EF3FC 3C168017 */ lui $s6, %hi(D_8016E1B8) # $s6, 0x8017
/* B665A0 800EF400 3C158013 */ lui $s5, %hi(D_801333A8) # $s5, 0x8013 /* B665A0 800EF400 3C158013 */ lui $s5, %hi(gSoundBanks) # $s5, 0x8013
/* B665A4 800EF404 0000F025 */ move $fp, $zero /* B665A4 800EF404 0000F025 */ move $fp, $zero
/* B665A8 800EF408 26B533A8 */ addiu $s5, %lo(D_801333A8) # addiu $s5, $s5, 0x33a8 /* B665A8 800EF408 26B533A8 */ addiu $s5, %lo(gSoundBanks) # addiu $s5, $s5, 0x33a8
/* B665AC 800EF40C 26D6E1B8 */ addiu $s6, %lo(D_8016E1B8) # addiu $s6, $s6, -0x1e48 /* B665AC 800EF40C 26D6E1B8 */ addiu $s6, %lo(D_8016E1B8) # addiu $s6, $s6, -0x1e48
/* B665B0 800EF410 C434A4C0 */ lwc1 $f20, %lo(D_8014A4C0)($at) /* B665B0 800EF410 C434A4C0 */ lwc1 $f20, %lo(D_8014A4C0)($at)
/* B665B4 800EF414 00009025 */ move $s2, $zero /* B665B4 800EF414 00009025 */ move $s2, $zero

View file

@ -26,10 +26,10 @@ glabel func_800F3188
/* B6A32C 800F318C 308400FF */ andi $a0, $a0, 0xff /* B6A32C 800F318C 308400FF */ andi $a0, $a0, 0xff
/* B6A330 800F3190 AFA50004 */ sw $a1, 4($sp) /* B6A330 800F3190 AFA50004 */ sw $a1, 4($sp)
/* B6A334 800F3194 00047080 */ sll $t6, $a0, 2 /* B6A334 800F3194 00047080 */ sll $t6, $a0, 2
/* B6A338 800F3198 3C0F8013 */ lui $t7, %hi(D_801333A8) /* B6A338 800F3198 3C0F8013 */ lui $t7, %hi(gSoundBanks)
/* B6A33C 800F319C 30A500FF */ andi $a1, $a1, 0xff /* B6A33C 800F319C 30A500FF */ andi $a1, $a1, 0xff
/* B6A340 800F31A0 01EE7821 */ addu $t7, $t7, $t6 /* B6A340 800F31A0 01EE7821 */ addu $t7, $t7, $t6
/* B6A344 800F31A4 8DEF33A8 */ lw $t7, %lo(D_801333A8)($t7) /* B6A344 800F31A4 8DEF33A8 */ lw $t7, %lo(gSoundBanks)($t7)
/* B6A348 800F31A8 0005C080 */ sll $t8, $a1, 2 /* B6A348 800F31A8 0005C080 */ sll $t8, $a1, 2
/* B6A34C 800F31AC 0305C023 */ subu $t8, $t8, $a1 /* B6A34C 800F31AC 0305C023 */ subu $t8, $t8, $a1
/* B6A350 800F31B0 0018C100 */ sll $t8, $t8, 4 /* B6A350 800F31B0 0018C100 */ sll $t8, $t8, 4

View file

@ -8,10 +8,10 @@ glabel func_800F32F0
/* B6A494 800F32F4 308400FF */ andi $a0, $a0, 0xff /* B6A494 800F32F4 308400FF */ andi $a0, $a0, 0xff
/* B6A498 800F32F8 AFA50004 */ sw $a1, 4($sp) /* B6A498 800F32F8 AFA50004 */ sw $a1, 4($sp)
/* B6A49C 800F32FC 00047080 */ sll $t6, $a0, 2 /* B6A49C 800F32FC 00047080 */ sll $t6, $a0, 2
/* B6A4A0 800F3300 3C0F8013 */ lui $t7, %hi(D_801333A8) /* B6A4A0 800F3300 3C0F8013 */ lui $t7, %hi(gSoundBanks)
/* B6A4A4 800F3304 30A500FF */ andi $a1, $a1, 0xff /* B6A4A4 800F3304 30A500FF */ andi $a1, $a1, 0xff
/* B6A4A8 800F3308 01EE7821 */ addu $t7, $t7, $t6 /* B6A4A8 800F3308 01EE7821 */ addu $t7, $t7, $t6
/* B6A4AC 800F330C 8DEF33A8 */ lw $t7, %lo(D_801333A8)($t7) /* B6A4AC 800F330C 8DEF33A8 */ lw $t7, %lo(gSoundBanks)($t7)
/* B6A4B0 800F3310 0005C080 */ sll $t8, $a1, 2 /* B6A4B0 800F3310 0005C080 */ sll $t8, $a1, 2
/* B6A4B4 800F3314 0305C023 */ subu $t8, $t8, $a1 /* B6A4B4 800F3314 0305C023 */ subu $t8, $t8, $a1
/* B6A4B8 800F3318 0018C100 */ sll $t8, $t8, 4 /* B6A4B8 800F3318 0018C100 */ sll $t8, $t8, 4

View file

@ -26,10 +26,10 @@ glabel func_800F35EC
/* B6A790 800F35F0 308400FF */ andi $a0, $a0, 0xff /* B6A790 800F35F0 308400FF */ andi $a0, $a0, 0xff
/* B6A794 800F35F4 AFA50004 */ sw $a1, 4($sp) /* B6A794 800F35F4 AFA50004 */ sw $a1, 4($sp)
/* B6A798 800F35F8 00047080 */ sll $t6, $a0, 2 /* B6A798 800F35F8 00047080 */ sll $t6, $a0, 2
/* B6A79C 800F35FC 3C0F8013 */ lui $t7, %hi(D_801333A8) /* B6A79C 800F35FC 3C0F8013 */ lui $t7, %hi(gSoundBanks)
/* B6A7A0 800F3600 30A500FF */ andi $a1, $a1, 0xff /* B6A7A0 800F3600 30A500FF */ andi $a1, $a1, 0xff
/* B6A7A4 800F3604 01EE7821 */ addu $t7, $t7, $t6 /* B6A7A4 800F3604 01EE7821 */ addu $t7, $t7, $t6
/* B6A7A8 800F3608 8DEF33A8 */ lw $t7, %lo(D_801333A8)($t7) /* B6A7A8 800F3608 8DEF33A8 */ lw $t7, %lo(gSoundBanks)($t7)
/* B6A7AC 800F360C 0005C080 */ sll $t8, $a1, 2 /* B6A7AC 800F360C 0005C080 */ sll $t8, $a1, 2
/* B6A7B0 800F3610 0305C023 */ subu $t8, $t8, $a1 /* B6A7B0 800F3610 0305C023 */ subu $t8, $t8, $a1
/* B6A7B4 800F3614 0018C100 */ sll $t8, $t8, 4 /* B6A7B4 800F3614 0018C100 */ sll $t8, $t8, 4

View file

@ -17,11 +17,11 @@ glabel func_800F3A08
/* B6ABB8 800F3A18 93A8004F */ lbu $t0, 0x4f($sp) /* B6ABB8 800F3A18 93A8004F */ lbu $t0, 0x4f($sp)
/* B6ABBC 800F3A1C 3C013F80 */ li $at, 0x3F800000 # 0.000000 /* B6ABBC 800F3A1C 3C013F80 */ li $at, 0x3F800000 # 0.000000
/* B6ABC0 800F3A20 44811000 */ mtc1 $at, $f2 /* B6ABC0 800F3A20 44811000 */ mtc1 $at, $f2
/* B6ABC4 800F3A24 3C198013 */ lui $t9, %hi(D_801333A8) /* B6ABC4 800F3A24 3C198013 */ lui $t9, %hi(gSoundBanks)
/* B6ABC8 800F3A28 000FC080 */ sll $t8, $t7, 2 /* B6ABC8 800F3A28 000FC080 */ sll $t8, $t7, 2
/* B6ABCC 800F3A2C 0338C821 */ addu $t9, $t9, $t8 /* B6ABCC 800F3A2C 0338C821 */ addu $t9, $t9, $t8
/* B6ABD0 800F3A30 00084880 */ sll $t1, $t0, 2 /* B6ABD0 800F3A30 00084880 */ sll $t1, $t0, 2
/* B6ABD4 800F3A34 8F3933A8 */ lw $t9, %lo(D_801333A8)($t9) /* B6ABD4 800F3A34 8F3933A8 */ lw $t9, %lo(gSoundBanks)($t9)
/* B6ABD8 800F3A38 01284823 */ subu $t1, $t1, $t0 /* B6ABD8 800F3A38 01284823 */ subu $t1, $t1, $t0
/* B6ABDC 800F3A3C 240E0040 */ li $t6, 64 /* B6ABDC 800F3A3C 240E0040 */ li $t6, 64
/* B6ABE0 800F3A40 00094900 */ sll $t1, $t1, 4 /* B6ABE0 800F3A40 00094900 */ sll $t1, $t1, 4

View file

@ -3,7 +3,7 @@ glabel func_800F41E0
/* B6B384 800F41E4 AFBF001C */ sw $ra, 0x1c($sp) /* B6B384 800F41E4 AFBF001C */ sw $ra, 0x1c($sp)
/* B6B388 800F41E8 AFA40020 */ sw $a0, 0x20($sp) /* B6B388 800F41E8 AFA40020 */ sw $a0, 0x20($sp)
/* B6B38C 800F41EC AFA50024 */ sw $a1, 0x24($sp) /* B6B38C 800F41EC AFA50024 */ sw $a1, 0x24($sp)
/* B6B390 800F41F0 0C0399F0 */ jal func_800E67C0 /* B6B390 800F41F0 0C0399F0 */ jal Audio_NextRandom
/* B6B394 800F41F4 AFA60028 */ sw $a2, 0x28($sp) /* B6B394 800F41F4 AFA60028 */ sw $a2, 0x28($sp)
/* B6B398 800F41F8 93AF002B */ lbu $t7, 0x2b($sp) /* B6B398 800F41F8 93AF002B */ lbu $t7, 0x2b($sp)
/* B6B39C 800F41FC 97AE0026 */ lhu $t6, 0x26($sp) /* B6B39C 800F41FC 97AE0026 */ lhu $t6, 0x26($sp)

View file

@ -54,8 +54,8 @@ glabel func_800F4C58
/* B6BEC0 800F4D20 000E70C0 */ sll $t6, $t6, 3 /* B6BEC0 800F4D20 000E70C0 */ sll $t6, $t6, 3
/* B6BEC4 800F4D24 3C0F8017 */ lui $t7, %hi(D_8016E1B8) # $t7, 0x8017 /* B6BEC4 800F4D24 3C0F8017 */ lui $t7, %hi(D_8016E1B8) # $t7, 0x8017
/* B6BEC8 800F4D28 25EFE1B8 */ addiu $t7, %lo(D_8016E1B8) # addiu $t7, $t7, -0x1e48 /* B6BEC8 800F4D28 25EFE1B8 */ addiu $t7, %lo(D_8016E1B8) # addiu $t7, $t7, -0x1e48
/* B6BECC 800F4D2C 3C138013 */ lui $s3, %hi(D_801333A8) # $s3, 0x8013 /* B6BECC 800F4D2C 3C138013 */ lui $s3, %hi(gSoundBanks) # $s3, 0x8013
/* B6BED0 800F4D30 267333A8 */ addiu $s3, %lo(D_801333A8) # addiu $s3, $s3, 0x33a8 /* B6BED0 800F4D30 267333A8 */ addiu $s3, %lo(gSoundBanks) # addiu $s3, $s3, 0x33a8
/* B6BED4 800F4D34 01CFB021 */ addu $s6, $t6, $t7 /* B6BED4 800F4D34 01CFB021 */ addu $s6, $t6, $t7
/* B6BED8 800F4D38 3C150602 */ lui $s5, 0x602 /* B6BED8 800F4D38 3C150602 */ lui $s5, 0x602
/* B6BEDC 800F4D3C 24140030 */ li $s4, 48 /* B6BEDC 800F4D3C 24140030 */ li $s4, 48

View file

@ -1,93 +0,0 @@
glabel Audio_PlaySoundGeneral
/* B6E52C 800F738C 27BDFFF0 */ addiu $sp, $sp, -0x10
/* B6E530 800F7390 AFA40010 */ sw $a0, 0x10($sp)
/* B6E534 800F7394 3084FFFF */ andi $a0, $a0, 0xffff
/* B6E538 800F7398 00047303 */ sra $t6, $a0, 0xc
/* B6E53C 800F739C 31CF00FF */ andi $t7, $t6, 0xff
/* B6E540 800F73A0 3C188017 */ lui $t8, %hi(D_8016E264)
/* B6E544 800F73A4 030FC021 */ addu $t8, $t8, $t7
/* B6E548 800F73A8 9318E264 */ lbu $t8, %lo(D_8016E264)($t8)
/* B6E54C 800F73AC AFB00004 */ sw $s0, 4($sp)
/* B6E550 800F73B0 AFA60018 */ sw $a2, 0x18($sp)
/* B6E554 800F73B4 30C600FF */ andi $a2, $a2, 0xff
/* B6E558 800F73B8 00A08025 */ move $s0, $a1
/* B6E55C 800F73BC AFB2000C */ sw $s2, 0xc($sp)
/* B6E560 800F73C0 17000042 */ bnez $t8, .L800F74CC
/* B6E564 800F73C4 AFB10008 */ sw $s1, 8($sp)
/* B6E568 800F73C8 3C0B8013 */ lui $t3, %hi(D_801333A0) # $t3, 0x8013
/* B6E56C 800F73CC 256B33A0 */ addiu $t3, %lo(D_801333A0) # addiu $t3, $t3, 0x33a0
/* B6E570 800F73D0 91790000 */ lbu $t9, ($t3)
/* B6E574 800F73D4 240C0018 */ li $t4, 24
/* B6E578 800F73D8 3C0F8013 */ lui $t7, %hi(D_801333F4) # $t7, 0x8013
/* B6E57C 800F73DC 032C0019 */ multu $t9, $t4
/* B6E580 800F73E0 91EF33F4 */ lbu $t7, %lo(D_801333F4)($t7)
/* B6E584 800F73E4 3C0A8017 */ lui $t2, %hi(D_8016C9A0) # $t2, 0x8017
/* B6E588 800F73E8 254AC9A0 */ addiu $t2, %lo(D_8016C9A0) # addiu $t2, $t2, -0x3660
/* B6E58C 800F73EC 3C128017 */ lui $s2, %hi(D_8016E2F8) # $s2, 0x8017
/* B6E590 800F73F0 3C118017 */ lui $s1, %hi(D_8016E310) # $s1, 0x8017
/* B6E594 800F73F4 3C0D8017 */ lui $t5, %hi(D_8016E2E0) # $t5, 0x8017
/* B6E598 800F73F8 25ADE2E0 */ addiu $t5, %lo(D_8016E2E0) # addiu $t5, $t5, -0x1d20
/* B6E59C 800F73FC 2631E310 */ addiu $s1, %lo(D_8016E310) # addiu $s1, $s1, -0x1cf0
/* B6E5A0 800F7400 2652E2F8 */ addiu $s2, %lo(D_8016E2F8) # addiu $s2, $s2, -0x1d08
/* B6E5A4 800F7404 00007012 */ mflo $t6
/* B6E5A8 800F7408 014E1021 */ addu $v0, $t2, $t6
/* B6E5AC 800F740C 15E00024 */ bnez $t7, .L800F74A0
/* B6E5B0 800F7410 00001825 */ move $v1, $zero
/* B6E5B4 800F7414 8FA90024 */ lw $t1, 0x24($sp)
/* B6E5B8 800F7418 8FA80020 */ lw $t0, 0x20($sp)
/* B6E5BC 800F741C 00032840 */ sll $a1, $v1, 1
.L800F7420:
/* B6E5C0 800F7420 01A5C021 */ addu $t8, $t5, $a1
/* B6E5C4 800F7424 97190000 */ lhu $t9, ($t8)
/* B6E5C8 800F7428 02237021 */ addu $t6, $s1, $v1
/* B6E5CC 800F742C 54990018 */ bnel $a0, $t9, .L800F7490
/* B6E5D0 800F7430 24630001 */ addiu $v1, $v1, 1
/* B6E5D4 800F7434 91CF0000 */ lbu $t7, ($t6)
/* B6E5D8 800F7438 0245C021 */ addu $t8, $s2, $a1
/* B6E5DC 800F743C 0245C821 */ addu $t9, $s2, $a1
/* B6E5E0 800F7440 15E00003 */ bnez $t7, .L800F7450
/* B6E5E4 800F7444 2403000A */ li $v1, 10
/* B6E5E8 800F7448 10000010 */ b .L800F748C
/* B6E5EC 800F744C 97040000 */ lhu $a0, ($t8)
.L800F7450:
/* B6E5F0 800F7450 972E0000 */ lhu $t6, ($t9)
/* B6E5F4 800F7454 AC500004 */ sw $s0, 4($v0)
/* B6E5F8 800F7458 A0460008 */ sb $a2, 8($v0)
/* B6E5FC 800F745C AC47000C */ sw $a3, 0xc($v0)
/* B6E600 800F7460 AC480010 */ sw $t0, 0x10($v0)
/* B6E604 800F7464 AC490014 */ sw $t1, 0x14($v0)
/* B6E608 800F7468 A44E0000 */ sh $t6, ($v0)
/* B6E60C 800F746C 916F0000 */ lbu $t7, ($t3)
/* B6E610 800F7470 25F80001 */ addiu $t8, $t7, 1
/* B6E614 800F7474 331900FF */ andi $t9, $t8, 0xff
/* B6E618 800F7478 032C0019 */ multu $t9, $t4
/* B6E61C 800F747C A1780000 */ sb $t8, ($t3)
/* B6E620 800F7480 00007012 */ mflo $t6
/* B6E624 800F7484 014E1021 */ addu $v0, $t2, $t6
/* B6E628 800F7488 00000000 */ nop
.L800F748C:
/* B6E62C 800F748C 24630001 */ addiu $v1, $v1, 1
.L800F7490:
/* B6E630 800F7490 306300FF */ andi $v1, $v1, 0xff
/* B6E634 800F7494 2861000A */ slti $at, $v1, 0xa
/* B6E638 800F7498 5420FFE1 */ bnezl $at, .L800F7420
/* B6E63C 800F749C 00032840 */ sll $a1, $v1, 1
.L800F74A0:
/* B6E640 800F74A0 8FA80020 */ lw $t0, 0x20($sp)
/* B6E644 800F74A4 8FA90024 */ lw $t1, 0x24($sp)
/* B6E648 800F74A8 A4440000 */ sh $a0, ($v0)
/* B6E64C 800F74AC AC500004 */ sw $s0, 4($v0)
/* B6E650 800F74B0 A0460008 */ sb $a2, 8($v0)
/* B6E654 800F74B4 AC47000C */ sw $a3, 0xc($v0)
/* B6E658 800F74B8 AC480010 */ sw $t0, 0x10($v0)
/* B6E65C 800F74BC AC490014 */ sw $t1, 0x14($v0)
/* B6E660 800F74C0 916F0000 */ lbu $t7, ($t3)
/* B6E664 800F74C4 25F80001 */ addiu $t8, $t7, 1
/* B6E668 800F74C8 A1780000 */ sb $t8, ($t3)
.L800F74CC:
/* B6E66C 800F74CC 8FB00004 */ lw $s0, 4($sp)
/* B6E670 800F74D0 8FB10008 */ lw $s1, 8($sp)
/* B6E674 800F74D4 8FB2000C */ lw $s2, 0xc($sp)
/* B6E678 800F74D8 03E00008 */ jr $ra
/* B6E67C 800F74DC 27BD0010 */ addiu $sp, $sp, 0x10

View file

@ -1,27 +0,0 @@
glabel func_800F7260
/* B6E400 800F7260 AFA40000 */ sw $a0, ($sp)
/* B6E404 800F7264 3C058017 */ lui $a1, %hi(D_8016E264) # $a1, 0x8017
/* B6E408 800F7268 3084FFFF */ andi $a0, $a0, 0xffff
/* B6E40C 800F726C 24A5E264 */ addiu $a1, %lo(D_8016E264) # addiu $a1, $a1, -0x1d9c
/* B6E410 800F7270 00001025 */ move $v0, $zero
/* B6E414 800F7274 24060001 */ li $a2, 1
.L800F7278:
/* B6E418 800F7278 308E0001 */ andi $t6, $a0, 1
/* B6E41C 800F727C 11C00004 */ beqz $t6, .L800F7290
/* B6E420 800F7280 00801825 */ move $v1, $a0
/* B6E424 800F7284 00A27821 */ addu $t7, $a1, $v0
/* B6E428 800F7288 10000003 */ b .L800F7298
/* B6E42C 800F728C A1E60000 */ sb $a2, ($t7)
.L800F7290:
/* B6E430 800F7290 00A2C021 */ addu $t8, $a1, $v0
/* B6E434 800F7294 A3000000 */ sb $zero, ($t8)
.L800F7298:
/* B6E438 800F7298 24420001 */ addiu $v0, $v0, 1
/* B6E43C 800F729C 304200FF */ andi $v0, $v0, 0xff
/* B6E440 800F72A0 28410007 */ slti $at, $v0, 7
/* B6E444 800F72A4 00032043 */ sra $a0, $v1, 1
/* B6E448 800F72A8 1420FFF3 */ bnez $at, .L800F7278
/* B6E44C 800F72AC 3084FFFF */ andi $a0, $a0, 0xffff
/* B6E450 800F72B0 03E00008 */ jr $ra
/* B6E454 800F72B4 00000000 */ nop

View file

@ -1,27 +0,0 @@
glabel func_800F72B8
/* B6E458 800F72B8 27BDFFE8 */ addiu $sp, $sp, -0x18
/* B6E45C 800F72BC AFA40018 */ sw $a0, 0x18($sp)
/* B6E460 800F72C0 3C028013 */ lui $v0, %hi(D_801333D0) # $v0, 0x8013
/* B6E464 800F72C4 93AF001B */ lbu $t7, 0x1b($sp)
/* B6E468 800F72C8 244233D0 */ addiu $v0, %lo(D_801333D0) # addiu $v0, $v0, 0x33d0
/* B6E46C 800F72CC 944E0000 */ lhu $t6, ($v0)
/* B6E470 800F72D0 24180001 */ li $t8, 1
/* B6E474 800F72D4 01F8C804 */ sllv $t9, $t8, $t7
/* B6E478 800F72D8 AFBF0014 */ sw $ra, 0x14($sp)
/* B6E47C 800F72DC 01D94025 */ or $t0, $t6, $t9
/* B6E480 800F72E0 A4480000 */ sh $t0, ($v0)
/* B6E484 800F72E4 00002025 */ move $a0, $zero
/* B6E488 800F72E8 24050002 */ li $a1, 2
/* B6E48C 800F72EC 24060040 */ li $a2, 64
/* B6E490 800F72F0 0C03E890 */ jal func_800FA240
/* B6E494 800F72F4 2407000F */ li $a3, 15
/* B6E498 800F72F8 24040003 */ li $a0, 3
/* B6E49C 800F72FC 24050002 */ li $a1, 2
/* B6E4A0 800F7300 24060040 */ li $a2, 64
/* B6E4A4 800F7304 0C03E890 */ jal func_800FA240
/* B6E4A8 800F7308 2407000F */ li $a3, 15
/* B6E4AC 800F730C 8FBF0014 */ lw $ra, 0x14($sp)
/* B6E4B0 800F7310 27BD0018 */ addiu $sp, $sp, 0x18
/* B6E4B4 800F7314 03E00008 */ jr $ra
/* B6E4B8 800F7318 00000000 */ nop

View file

@ -1,31 +0,0 @@
glabel func_800F731C
/* B6E4BC 800F731C 27BDFFE8 */ addiu $sp, $sp, -0x18
/* B6E4C0 800F7320 3C028013 */ lui $v0, %hi(D_801333D0) # $v0, 0x8013
/* B6E4C4 800F7324 244233D0 */ addiu $v0, %lo(D_801333D0) # addiu $v0, $v0, 0x33d0
/* B6E4C8 800F7328 AFA40018 */ sw $a0, 0x18($sp)
/* B6E4CC 800F732C 944E0000 */ lhu $t6, ($v0)
/* B6E4D0 800F7330 308400FF */ andi $a0, $a0, 0xff
/* B6E4D4 800F7334 240F0001 */ li $t7, 1
/* B6E4D8 800F7338 008FC004 */ sllv $t8, $t7, $a0
/* B6E4DC 800F733C 3B19FFFF */ xori $t9, $t8, 0xffff
/* B6E4E0 800F7340 01D94024 */ and $t0, $t6, $t9
/* B6E4E4 800F7344 3109FFFF */ andi $t1, $t0, 0xffff
/* B6E4E8 800F7348 AFBF0014 */ sw $ra, 0x14($sp)
/* B6E4EC 800F734C 1520000B */ bnez $t1, .L800F737C
/* B6E4F0 800F7350 A4480000 */ sh $t0, ($v0)
/* B6E4F4 800F7354 00002025 */ move $a0, $zero
/* B6E4F8 800F7358 24050002 */ li $a1, 2
/* B6E4FC 800F735C 2406007F */ li $a2, 127
/* B6E500 800F7360 0C03E890 */ jal func_800FA240
/* B6E504 800F7364 2407000F */ li $a3, 15
/* B6E508 800F7368 24040003 */ li $a0, 3
/* B6E50C 800F736C 24050002 */ li $a1, 2
/* B6E510 800F7370 2406007F */ li $a2, 127
/* B6E514 800F7374 0C03E890 */ jal func_800FA240
/* B6E518 800F7378 2407000F */ li $a3, 15
.L800F737C:
/* B6E51C 800F737C 8FBF0014 */ lw $ra, 0x14($sp)
/* B6E520 800F7380 27BD0018 */ addiu $sp, $sp, 0x18
/* B6E524 800F7384 03E00008 */ jr $ra
/* B6E528 800F7388 00000000 */ nop

View file

@ -1,126 +0,0 @@
.late_rodata
glabel jtbl_8014A620
.word L800F7534
.word L800F7560
.word L800F759C
.word L800F75C0
.word L800F75F4
.word L800F7628
.text
glabel func_800F74E0
/* B6E680 800F74E0 3C028013 */ lui $v0, %hi(D_801333A4) # $v0, 0x8013
/* B6E684 800F74E4 3C038013 */ lui $v1, %hi(D_801333A0) # $v1, 0x8013
/* B6E688 800F74E8 904233A4 */ lbu $v0, %lo(D_801333A4)($v0)
/* B6E68C 800F74EC 906333A0 */ lbu $v1, %lo(D_801333A0)($v1)
/* B6E690 800F74F0 AFA40000 */ sw $a0, ($sp)
/* B6E694 800F74F4 308400FF */ andi $a0, $a0, 0xff
/* B6E698 800F74F8 1062005F */ beq $v1, $v0, .L800F7678
/* B6E69C 800F74FC 00A03825 */ move $a3, $a1
/* B6E6A0 800F7500 3C088017 */ lui $t0, %hi(D_8016C9A0) # $t0, 0x8017
/* B6E6A4 800F7504 2508C9A0 */ addiu $t0, %lo(D_8016C9A0) # addiu $t0, $t0, -0x3660
/* B6E6A8 800F7508 00803025 */ move $a2, $a0
/* B6E6AC 800F750C 24090018 */ li $t1, 24
/* B6E6B0 800F7510 2CC10006 */ sltiu $at, $a2, 6
.L800F7514:
/* B6E6B4 800F7514 1020004C */ beqz $at, .L800F7648
/* B6E6B8 800F7518 00002025 */ move $a0, $zero
/* B6E6BC 800F751C 00067080 */ sll $t6, $a2, 2
/* B6E6C0 800F7520 3C018015 */ lui $at, %hi(jtbl_8014A620)
/* B6E6C4 800F7524 002E0821 */ addu $at, $at, $t6
/* B6E6C8 800F7528 8C2EA620 */ lw $t6, %lo(jtbl_8014A620)($at)
/* B6E6CC 800F752C 01C00008 */ jr $t6
/* B6E6D0 800F7530 00000000 */ nop
glabel L800F7534
/* B6E6D4 800F7534 00490019 */ multu $v0, $t1
/* B6E6D8 800F7538 94EF0028 */ lhu $t7, 0x28($a3)
/* B6E6DC 800F753C 31F8F000 */ andi $t8, $t7, 0xf000
/* B6E6E0 800F7540 0000C812 */ mflo $t9
/* B6E6E4 800F7544 01195021 */ addu $t2, $t0, $t9
/* B6E6E8 800F7548 954B0000 */ lhu $t3, ($t2)
/* B6E6EC 800F754C 316CF000 */ andi $t4, $t3, 0xf000
/* B6E6F0 800F7550 170C003D */ bne $t8, $t4, .L800F7648
/* B6E6F4 800F7554 00000000 */ nop
/* B6E6F8 800F7558 1000003B */ b .L800F7648
/* B6E6FC 800F755C 24040001 */ li $a0, 1
glabel L800F7560
/* B6E700 800F7560 00490019 */ multu $v0, $t1
/* B6E704 800F7564 94EE0028 */ lhu $t6, 0x28($a3)
/* B6E708 800F7568 31CFF000 */ andi $t7, $t6, 0xf000
/* B6E70C 800F756C 00006812 */ mflo $t5
/* B6E710 800F7570 010D2821 */ addu $a1, $t0, $t5
/* B6E714 800F7574 94B90000 */ lhu $t9, ($a1)
/* B6E718 800F7578 332AF000 */ andi $t2, $t9, 0xf000
/* B6E71C 800F757C 15EA0032 */ bne $t7, $t2, .L800F7648
/* B6E720 800F7580 00000000 */ nop
/* B6E724 800F7584 8CEB0000 */ lw $t3, ($a3)
/* B6E728 800F7588 8CB80004 */ lw $t8, 4($a1)
/* B6E72C 800F758C 1578002E */ bne $t3, $t8, .L800F7648
/* B6E730 800F7590 00000000 */ nop
/* B6E734 800F7594 1000002C */ b .L800F7648
/* B6E738 800F7598 24040001 */ li $a0, 1
glabel L800F759C
/* B6E73C 800F759C 00490019 */ multu $v0, $t1
/* B6E740 800F75A0 8CEC0000 */ lw $t4, ($a3)
/* B6E744 800F75A4 00006812 */ mflo $t5
/* B6E748 800F75A8 010D7021 */ addu $t6, $t0, $t5
/* B6E74C 800F75AC 8DD90004 */ lw $t9, 4($t6)
/* B6E750 800F75B0 15990025 */ bne $t4, $t9, .L800F7648
/* B6E754 800F75B4 00000000 */ nop
/* B6E758 800F75B8 10000023 */ b .L800F7648
/* B6E75C 800F75BC 24040001 */ li $a0, 1
glabel L800F75C0
/* B6E760 800F75C0 00490019 */ multu $v0, $t1
/* B6E764 800F75C4 8CEA0000 */ lw $t2, ($a3)
/* B6E768 800F75C8 00007812 */ mflo $t7
/* B6E76C 800F75CC 010F2821 */ addu $a1, $t0, $t7
/* B6E770 800F75D0 8CAB0004 */ lw $t3, 4($a1)
/* B6E774 800F75D4 154B001C */ bne $t2, $t3, .L800F7648
/* B6E778 800F75D8 00000000 */ nop
/* B6E77C 800F75DC 94F80028 */ lhu $t8, 0x28($a3)
/* B6E780 800F75E0 94AD0000 */ lhu $t5, ($a1)
/* B6E784 800F75E4 170D0018 */ bne $t8, $t5, .L800F7648
/* B6E788 800F75E8 00000000 */ nop
/* B6E78C 800F75EC 10000016 */ b .L800F7648
/* B6E790 800F75F0 24040001 */ li $a0, 1
glabel L800F75F4
/* B6E794 800F75F4 00490019 */ multu $v0, $t1
/* B6E798 800F75F8 90EC000C */ lbu $t4, 0xc($a3)
/* B6E79C 800F75FC 00007012 */ mflo $t6
/* B6E7A0 800F7600 010E2821 */ addu $a1, $t0, $t6
/* B6E7A4 800F7604 90B90008 */ lbu $t9, 8($a1)
/* B6E7A8 800F7608 1599000F */ bne $t4, $t9, .L800F7648
/* B6E7AC 800F760C 00000000 */ nop
/* B6E7B0 800F7610 94EF0028 */ lhu $t7, 0x28($a3)
/* B6E7B4 800F7614 94AA0000 */ lhu $t2, ($a1)
/* B6E7B8 800F7618 15EA000B */ bne $t7, $t2, .L800F7648
/* B6E7BC 800F761C 00000000 */ nop
/* B6E7C0 800F7620 10000009 */ b .L800F7648
/* B6E7C4 800F7624 24040001 */ li $a0, 1
glabel L800F7628
/* B6E7C8 800F7628 00490019 */ multu $v0, $t1
/* B6E7CC 800F762C 94EB0028 */ lhu $t3, 0x28($a3)
/* B6E7D0 800F7630 0000C012 */ mflo $t8
/* B6E7D4 800F7634 01186821 */ addu $t5, $t0, $t8
/* B6E7D8 800F7638 95AE0000 */ lhu $t6, ($t5)
/* B6E7DC 800F763C 156E0002 */ bne $t3, $t6, .L800F7648
/* B6E7E0 800F7640 00000000 */ nop
/* B6E7E4 800F7644 24040001 */ li $a0, 1
.L800F7648:
/* B6E7E8 800F7648 50800008 */ beql $a0, $zero, .L800F766C
/* B6E7EC 800F764C 24420001 */ addiu $v0, $v0, 1
/* B6E7F0 800F7650 00490019 */ multu $v0, $t1
/* B6E7F4 800F7654 3C038013 */ lui $v1, %hi(D_801333A0) # $v1, 0x8013
/* B6E7F8 800F7658 00006012 */ mflo $t4
/* B6E7FC 800F765C 010CC821 */ addu $t9, $t0, $t4
/* B6E800 800F7660 A7200000 */ sh $zero, ($t9)
/* B6E804 800F7664 906333A0 */ lbu $v1, %lo(D_801333A0)($v1)
/* B6E808 800F7668 24420001 */ addiu $v0, $v0, 1
.L800F766C:
/* B6E80C 800F766C 304200FF */ andi $v0, $v0, 0xff
/* B6E810 800F7670 5462FFA8 */ bnel $v1, $v0, .L800F7514
/* B6E814 800F7674 2CC10006 */ sltiu $at, $a2, 6
.L800F7678:
/* B6E818 800F7678 03E00008 */ jr $ra
/* B6E81C 800F767C 00000000 */ nop

View file

@ -37,8 +37,8 @@ glabel func_800F7680
/* B6E8AC 800F770C 0015AB03 */ sra $s5, $s5, 0xc /* B6E8AC 800F770C 0015AB03 */ sra $s5, $s5, 0xc
/* B6E8B0 800F7710 32B500FF */ andi $s5, $s5, 0xff /* B6E8B0 800F7710 32B500FF */ andi $s5, $s5, 0xff
.L800F7714: .L800F7714:
/* B6E8B4 800F7714 3C0E8013 */ lui $t6, %hi(D_801333A8) # $t6, 0x8013 /* B6E8B4 800F7714 3C0E8013 */ lui $t6, %hi(gSoundBanks) # $t6, 0x8013
/* B6E8B8 800F7718 25CE33A8 */ addiu $t6, %lo(D_801333A8) # addiu $t6, $t6, 0x33a8 /* B6E8B8 800F7718 25CE33A8 */ addiu $t6, %lo(gSoundBanks) # addiu $t6, $t6, 0x33a8
/* B6E8BC 800F771C 0015C880 */ sll $t9, $s5, 2 /* B6E8BC 800F771C 0015C880 */ sll $t9, $s5, 2
/* B6E8C0 800F7720 032E4021 */ addu $t0, $t9, $t6 /* B6E8C0 800F7720 032E4021 */ addu $t0, $t9, $t6
/* B6E8C4 800F7724 8D0B0000 */ lw $t3, ($t0) /* B6E8C4 800F7724 8D0B0000 */ lw $t3, ($t0)

View file

@ -1,110 +0,0 @@
glabel func_800F7B54
/* B6ECF4 800F7B54 27BDFFD0 */ addiu $sp, $sp, -0x30
/* B6ECF8 800F7B58 AFA50034 */ sw $a1, 0x34($sp)
/* B6ECFC 800F7B5C 93B80037 */ lbu $t8, 0x37($sp)
/* B6ED00 800F7B60 240B0030 */ li $t3, 48
/* B6ED04 800F7B64 AFB00018 */ sw $s0, 0x18($sp)
/* B6ED08 800F7B68 030B0019 */ multu $t8, $t3
/* B6ED0C 800F7B6C 309000FF */ andi $s0, $a0, 0xff
/* B6ED10 800F7B70 3C0F8013 */ lui $t7, %hi(D_801333A8) # $t7, 0x8013
/* B6ED14 800F7B74 25EF33A8 */ addiu $t7, %lo(D_801333A8) # addiu $t7, $t7, 0x33a8
/* B6ED18 800F7B78 00107080 */ sll $t6, $s0, 2
/* B6ED1C 800F7B7C 01CF5021 */ addu $t2, $t6, $t7
/* B6ED20 800F7B80 8D490000 */ lw $t1, ($t2)
/* B6ED24 800F7B84 AFBF001C */ sw $ra, 0x1c($sp)
/* B6ED28 800F7B88 AFA40030 */ sw $a0, 0x30($sp)
/* B6ED2C 800F7B8C 0000C812 */ mflo $t9
/* B6ED30 800F7B90 01393021 */ addu $a2, $t1, $t9
/* B6ED34 800F7B94 94CC0026 */ lhu $t4, 0x26($a2)
/* B6ED38 800F7B98 318D0008 */ andi $t5, $t4, 8
/* B6ED3C 800F7B9C 11A00009 */ beqz $t5, .L800F7BC4
/* B6ED40 800F7BA0 00000000 */ nop
/* B6ED44 800F7BA4 90C4002E */ lbu $a0, 0x2e($a2)
/* B6ED48 800F7BA8 AFAA0024 */ sw $t2, 0x24($sp)
/* B6ED4C 800F7BAC 0C03DCC7 */ jal func_800F731C
/* B6ED50 800F7BB0 AFA6002C */ sw $a2, 0x2c($sp)
/* B6ED54 800F7BB4 8FAA0024 */ lw $t2, 0x24($sp)
/* B6ED58 800F7BB8 8FA6002C */ lw $a2, 0x2c($sp)
/* B6ED5C 800F7BBC 240B0030 */ li $t3, 48
/* B6ED60 800F7BC0 8D490000 */ lw $t1, ($t2)
.L800F7BC4:
/* B6ED64 800F7BC4 3C0E8017 */ lui $t6, %hi(D_8016E1A0) # $t6, 0x8017
/* B6ED68 800F7BC8 25CEE1A0 */ addiu $t6, %lo(D_8016E1A0) # addiu $t6, $t6, -0x1e60
/* B6ED6C 800F7BCC 020E1021 */ addu $v0, $s0, $t6
/* B6ED70 800F7BD0 904F0000 */ lbu $t7, ($v0)
/* B6ED74 800F7BD4 93A80037 */ lbu $t0, 0x37($sp)
/* B6ED78 800F7BD8 550F0005 */ bnel $t0, $t7, .L800F7BF0
/* B6ED7C 800F7BDC 90CC002D */ lbu $t4, 0x2d($a2)
/* B6ED80 800F7BE0 90D8002C */ lbu $t8, 0x2c($a2)
/* B6ED84 800F7BE4 10000008 */ b .L800F7C08
/* B6ED88 800F7BE8 A0580000 */ sb $t8, ($v0)
/* B6ED8C 800F7BEC 90CC002D */ lbu $t4, 0x2d($a2)
.L800F7BF0:
/* B6ED90 800F7BF0 90D9002C */ lbu $t9, 0x2c($a2)
/* B6ED94 800F7BF4 018B0019 */ multu $t4, $t3
/* B6ED98 800F7BF8 00006812 */ mflo $t5
/* B6ED9C 800F7BFC 012D7021 */ addu $t6, $t1, $t5
/* B6EDA0 800F7C00 A1D9002C */ sb $t9, 0x2c($t6)
/* B6EDA4 800F7C04 8D490000 */ lw $t1, ($t2)
.L800F7C08:
/* B6EDA8 800F7C08 90D8002C */ lbu $t8, 0x2c($a2)
/* B6EDAC 800F7C0C 90CF002D */ lbu $t7, 0x2d($a2)
/* B6EDB0 800F7C10 3C198017 */ lui $t9, %hi(D_8016E1A8) # $t9, 0x8017
/* B6EDB4 800F7C14 030B0019 */ multu $t8, $t3
/* B6EDB8 800F7C18 2739E1A8 */ addiu $t9, %lo(D_8016E1A8) # addiu $t9, $t9, -0x1e58
/* B6EDBC 800F7C1C 02191821 */ addu $v1, $s0, $t9
/* B6EDC0 800F7C20 240700FF */ li $a3, 255
/* B6EDC4 800F7C24 3C048013 */ lui $a0, %hi(D_80130578)
/* B6EDC8 800F7C28 00001025 */ move $v0, $zero
/* B6EDCC 800F7C2C 00006012 */ mflo $t4
/* B6EDD0 800F7C30 012C6821 */ addu $t5, $t1, $t4
/* B6EDD4 800F7C34 A1AF002D */ sb $t7, 0x2d($t5)
/* B6EDD8 800F7C38 906E0000 */ lbu $t6, ($v1)
/* B6EDDC 800F7C3C A0C7002C */ sb $a3, 0x2c($a2)
/* B6EDE0 800F7C40 A0CE002D */ sb $t6, 0x2d($a2)
/* B6EDE4 800F7C44 906F0000 */ lbu $t7, ($v1)
/* B6EDE8 800F7C48 8D4C0000 */ lw $t4, ($t2)
/* B6EDEC 800F7C4C 93B80037 */ lbu $t8, 0x37($sp)
/* B6EDF0 800F7C50 01EB0019 */ multu $t7, $t3
/* B6EDF4 800F7C54 3C0F8013 */ lui $t7, %hi(D_801333CC) # $t7, 0x8013
/* B6EDF8 800F7C58 00006812 */ mflo $t5
/* B6EDFC 800F7C5C 018DC821 */ addu $t9, $t4, $t5
/* B6EE00 800F7C60 A338002C */ sb $t8, 0x2c($t9)
/* B6EE04 800F7C64 93AE0037 */ lbu $t6, 0x37($sp)
/* B6EE08 800F7C68 0010C080 */ sll $t8, $s0, 2
/* B6EE0C 800F7C6C 0310C023 */ subu $t8, $t8, $s0
/* B6EE10 800F7C70 A06E0000 */ sb $t6, ($v1)
/* B6EE14 800F7C74 A0C0002A */ sb $zero, 0x2a($a2)
/* B6EE18 800F7C78 91EF33CC */ lbu $t7, %lo(D_801333CC)($t7)
/* B6EE1C 800F7C7C 3C198017 */ lui $t9, %hi(D_8016E1B8) # $t9, 0x8017
/* B6EE20 800F7C80 2739E1B8 */ addiu $t9, %lo(D_8016E1B8) # addiu $t9, $t9, -0x1e48
/* B6EE24 800F7C84 000F60C0 */ sll $t4, $t7, 3
/* B6EE28 800F7C88 018F6023 */ subu $t4, $t4, $t7
/* B6EE2C 800F7C8C 01906821 */ addu $t5, $t4, $s0
/* B6EE30 800F7C90 008D2021 */ addu $a0, $a0, $t5
/* B6EE34 800F7C94 90840578 */ lbu $a0, %lo(D_80130578)($a0)
/* B6EE38 800F7C98 0018C0C0 */ sll $t8, $t8, 3
/* B6EE3C 800F7C9C 03193021 */ addu $a2, $t8, $t9
/* B6EE40 800F7CA0 1880000D */ blez $a0, .L800F7CD8
/* B6EE44 800F7CA4 00802825 */ move $a1, $a0
/* B6EE48 800F7CA8 000270C0 */ sll $t6, $v0, 3
.L800F7CAC:
/* B6EE4C 800F7CAC 00CE1821 */ addu $v1, $a2, $t6
/* B6EE50 800F7CB0 906F0004 */ lbu $t7, 4($v1)
/* B6EE54 800F7CB4 550F0004 */ bnel $t0, $t7, .L800F7CC8
/* B6EE58 800F7CB8 24420001 */ addiu $v0, $v0, 1
/* B6EE5C 800F7CBC A0670004 */ sb $a3, 4($v1)
/* B6EE60 800F7CC0 308200FF */ andi $v0, $a0, 0xff
/* B6EE64 800F7CC4 24420001 */ addiu $v0, $v0, 1
.L800F7CC8:
/* B6EE68 800F7CC8 304200FF */ andi $v0, $v0, 0xff
/* B6EE6C 800F7CCC 0045082A */ slt $at, $v0, $a1
/* B6EE70 800F7CD0 5420FFF6 */ bnezl $at, .L800F7CAC
/* B6EE74 800F7CD4 000270C0 */ sll $t6, $v0, 3
.L800F7CD8:
/* B6EE78 800F7CD8 8FBF001C */ lw $ra, 0x1c($sp)
/* B6EE7C 800F7CDC 8FB00018 */ lw $s0, 0x18($sp)
/* B6EE80 800F7CE0 27BD0030 */ addiu $sp, $sp, 0x30
/* B6EE84 800F7CE4 03E00008 */ jr $ra
/* B6EE88 800F7CE8 00000000 */ nop

View file

@ -32,8 +32,8 @@ glabel func_800F7CEC
/* B6EEEC 800F7D4C 1420FFF9 */ bnez $at, .L800F7D34 /* B6EEEC 800F7D4C 1420FFF9 */ bnez $at, .L800F7D34
/* B6EEF0 800F7D50 A0F50004 */ sb $s5, 4($a3) /* B6EEF0 800F7D50 A0F50004 */ sb $s5, 4($a3)
/* B6EEF4 800F7D54 93AF00B3 */ lbu $t7, 0xb3($sp) /* B6EEF4 800F7D54 93AF00B3 */ lbu $t7, 0xb3($sp)
/* B6EEF8 800F7D58 3C198013 */ lui $t9, %hi(D_801333A8) # $t9, 0x8013 /* B6EEF8 800F7D58 3C198013 */ lui $t9, %hi(gSoundBanks) # $t9, 0x8013
/* B6EEFC 800F7D5C 273933A8 */ addiu $t9, %lo(D_801333A8) # addiu $t9, $t9, 0x33a8 /* B6EEFC 800F7D5C 273933A8 */ addiu $t9, %lo(gSoundBanks) # addiu $t9, $t9, 0x33a8
/* B6EF00 800F7D60 000FC080 */ sll $t8, $t7, 2 /* B6EF00 800F7D60 000FC080 */ sll $t8, $t7, 2
/* B6EF04 800F7D64 0319B021 */ addu $s6, $t8, $t9 /* B6EF04 800F7D64 0319B021 */ addu $s6, $t8, $t9
/* B6EF08 800F7D68 8EC30000 */ lw $v1, ($s6) /* B6EF08 800F7D68 8EC30000 */ lw $v1, ($s6)

View file

@ -1,215 +0,0 @@
glabel func_800F8480
/* B6F620 800F8480 3C0E8013 */ lui $t6, %hi(D_801333CC) # $t6, 0x8013
/* B6F624 800F8484 91CE33CC */ lbu $t6, %lo(D_801333CC)($t6)
/* B6F628 800F8488 27BDFFA0 */ addiu $sp, $sp, -0x60
/* B6F62C 800F848C AFB20020 */ sw $s2, 0x20($sp)
/* B6F630 800F8490 000E78C0 */ sll $t7, $t6, 3
/* B6F634 800F8494 309200FF */ andi $s2, $a0, 0xff
/* B6F638 800F8498 01EE7823 */ subu $t7, $t7, $t6
/* B6F63C 800F849C 01F2C021 */ addu $t8, $t7, $s2
/* B6F640 800F84A0 3C038013 */ lui $v1, %hi(D_80130578)
/* B6F644 800F84A4 00781821 */ addu $v1, $v1, $t8
/* B6F648 800F84A8 90630578 */ lbu $v1, %lo(D_80130578)($v1)
/* B6F64C 800F84AC AFB40028 */ sw $s4, 0x28($sp)
/* B6F650 800F84B0 AFBF003C */ sw $ra, 0x3c($sp)
/* B6F654 800F84B4 AFBE0038 */ sw $fp, 0x38($sp)
/* B6F658 800F84B8 AFB70034 */ sw $s7, 0x34($sp)
/* B6F65C 800F84BC AFB60030 */ sw $s6, 0x30($sp)
/* B6F660 800F84C0 AFB5002C */ sw $s5, 0x2c($sp)
/* B6F664 800F84C4 AFB30024 */ sw $s3, 0x24($sp)
/* B6F668 800F84C8 AFB1001C */ sw $s1, 0x1c($sp)
/* B6F66C 800F84CC AFB00018 */ sw $s0, 0x18($sp)
/* B6F670 800F84D0 AFA40060 */ sw $a0, 0x60($sp)
/* B6F674 800F84D4 186000A6 */ blez $v1, .L800F8770
/* B6F678 800F84D8 0000A025 */ move $s4, $zero
/* B6F67C 800F84DC 0012C880 */ sll $t9, $s2, 2
/* B6F680 800F84E0 0332C823 */ subu $t9, $t9, $s2
/* B6F684 800F84E4 3C088017 */ lui $t0, %hi(D_8016E1B8) # $t0, 0x8017
/* B6F688 800F84E8 2508E1B8 */ addiu $t0, %lo(D_8016E1B8) # addiu $t0, $t0, -0x1e48
/* B6F68C 800F84EC 0019C8C0 */ sll $t9, $t9, 3
/* B6F690 800F84F0 03284821 */ addu $t1, $t9, $t0
/* B6F694 800F84F4 3C138017 */ lui $s3, %hi(D_8016E260) # $s3, 0x8017
/* B6F698 800F84F8 2673E260 */ addiu $s3, %lo(D_8016E260) # addiu $s3, $s3, -0x1da0
/* B6F69C 800F84FC AFA90044 */ sw $t1, 0x44($sp)
/* B6F6A0 800F8500 241E0004 */ li $fp, 4
/* B6F6A4 800F8504 241700FF */ li $s7, 255
/* B6F6A8 800F8508 3C160602 */ lui $s6, 0x602
.L800F850C:
/* B6F6AC 800F850C 8FAA0044 */ lw $t2, 0x44($sp)
/* B6F6B0 800F8510 001458C0 */ sll $t3, $s4, 3
/* B6F6B4 800F8514 00126880 */ sll $t5, $s2, 2
/* B6F6B8 800F8518 014B6021 */ addu $t4, $t2, $t3
/* B6F6BC 800F851C 91910004 */ lbu $s1, 4($t4)
/* B6F6C0 800F8520 3C0E8013 */ lui $t6, %hi(D_801333A8)
/* B6F6C4 800F8524 01CD7021 */ addu $t6, $t6, $t5
/* B6F6C8 800F8528 12F1008A */ beq $s7, $s1, .L800F8754
/* B6F6CC 800F852C 00117880 */ sll $t7, $s1, 2
/* B6F6D0 800F8530 8DCE33A8 */ lw $t6, %lo(D_801333A8)($t6)
/* B6F6D4 800F8534 01F17823 */ subu $t7, $t7, $s1
/* B6F6D8 800F8538 92660000 */ lbu $a2, ($s3)
/* B6F6DC 800F853C 000F7900 */ sll $t7, $t7, 4
/* B6F6E0 800F8540 01CF8021 */ addu $s0, $t6, $t7
/* B6F6E4 800F8544 9202002A */ lbu $v0, 0x2a($s0)
/* B6F6E8 800F8548 3C048017 */ lui $a0, %hi(gAudioContext+0x3828)
/* B6F6EC 800F854C 0006C080 */ sll $t8, $a2, 2
/* B6F6F0 800F8550 00982021 */ addu $a0, $a0, $t8
/* B6F6F4 800F8554 24010002 */ li $at, 2
/* B6F6F8 800F8558 14410053 */ bne $v0, $at, .L800F86A8
/* B6F6FC 800F855C 8C8429A8 */ lw $a0, %lo(gAudioContext+0x3828)($a0)
/* B6F700 800F8560 96020026 */ lhu $v0, 0x26($s0)
/* B6F704 800F8564 3C198013 */ lui $t9, %hi(D_80130570) # $t9, 0x8013
/* B6F708 800F8568 27390570 */ addiu $t9, %lo(D_80130570) # addiu $t9, $t9, 0x570
/* B6F70C 800F856C 30480008 */ andi $t0, $v0, 8
/* B6F710 800F8570 A206002E */ sb $a2, 0x2e($s0)
/* B6F714 800F8574 11000004 */ beqz $t0, .L800F8588
/* B6F718 800F8578 0259A821 */ addu $s5, $s2, $t9
/* B6F71C 800F857C 0C03DCAE */ jal func_800F72B8
/* B6F720 800F8580 92640000 */ lbu $a0, ($s3)
/* B6F724 800F8584 96020026 */ lhu $v0, 0x26($s0)
.L800F8588:
/* B6F728 800F8588 304300C0 */ andi $v1, $v0, 0xc0
/* B6F72C 800F858C 10600017 */ beqz $v1, .L800F85EC
/* B6F730 800F8590 24010040 */ li $at, 64
/* B6F734 800F8594 10610007 */ beq $v1, $at, .L800F85B4
/* B6F738 800F8598 24010080 */ li $at, 128
/* B6F73C 800F859C 1061000A */ beq $v1, $at, .L800F85C8
/* B6F740 800F85A0 240100C0 */ li $at, 192
/* B6F744 800F85A4 1061000D */ beq $v1, $at, .L800F85DC
/* B6F748 800F85A8 00000000 */ nop
/* B6F74C 800F85AC 1000000F */ b .L800F85EC
/* B6F750 800F85B0 A200002F */ sb $zero, 0x2f($s0)
.L800F85B4:
/* B6F754 800F85B4 0C0399F0 */ jal func_800E67C0
/* B6F758 800F85B8 00000000 */ nop
/* B6F75C 800F85BC 3049000F */ andi $t1, $v0, 0xf
/* B6F760 800F85C0 1000000A */ b .L800F85EC
/* B6F764 800F85C4 A209002F */ sb $t1, 0x2f($s0)
.L800F85C8:
/* B6F768 800F85C8 0C0399F0 */ jal func_800E67C0
/* B6F76C 800F85CC 00000000 */ nop
/* B6F770 800F85D0 304A001F */ andi $t2, $v0, 0x1f
/* B6F774 800F85D4 10000005 */ b .L800F85EC
/* B6F778 800F85D8 A20A002F */ sb $t2, 0x2f($s0)
.L800F85DC:
/* B6F77C 800F85DC 0C0399F0 */ jal func_800E67C0
/* B6F780 800F85E0 00000000 */ nop
/* B6F784 800F85E4 304B003F */ andi $t3, $v0, 0x3f
/* B6F788 800F85E8 A20B002F */ sb $t3, 0x2f($s0)
.L800F85EC:
/* B6F78C 800F85EC 324400FF */ andi $a0, $s2, 0xff
/* B6F790 800F85F0 322500FF */ andi $a1, $s1, 0xff
/* B6F794 800F85F4 0C03CE82 */ jal func_800F3A08
/* B6F798 800F85F8 92660000 */ lbu $a2, ($s3)
/* B6F79C 800F85FC 926D0000 */ lbu $t5, ($s3)
/* B6F7A0 800F8600 24050001 */ li $a1, 1
/* B6F7A4 800F8604 000D7200 */ sll $t6, $t5, 8
/* B6F7A8 800F8608 0C0396C8 */ jal func_800E5B20
/* B6F7AC 800F860C 01D62025 */ or $a0, $t6, $s6
/* B6F7B0 800F8610 92780000 */ lbu $t8, ($s3)
/* B6F7B4 800F8614 96050028 */ lhu $a1, 0x28($s0)
/* B6F7B8 800F8618 0018CA00 */ sll $t9, $t8, 8
/* B6F7BC 800F861C 03362025 */ or $a0, $t9, $s6
/* B6F7C0 800F8620 00052E00 */ sll $a1, $a1, 0x18
/* B6F7C4 800F8624 00052E03 */ sra $a1, $a1, 0x18
/* B6F7C8 800F8628 0C0396C8 */ jal func_800E5B20
/* B6F7CC 800F862C 34840004 */ ori $a0, $a0, 4
/* B6F7D0 800F8630 92A80000 */ lbu $t0, ($s5)
/* B6F7D4 800F8634 5100000C */ beql $t0, $zero, .L800F8668
/* B6F7D8 800F8638 960C0028 */ lhu $t4, 0x28($s0)
/* B6F7DC 800F863C 96050028 */ lhu $a1, 0x28($s0)
/* B6F7E0 800F8640 926A0000 */ lbu $t2, ($s3)
/* B6F7E4 800F8644 30A50100 */ andi $a1, $a1, 0x100
/* B6F7E8 800F8648 00052A03 */ sra $a1, $a1, 8
/* B6F7EC 800F864C 000A5A00 */ sll $t3, $t2, 8
/* B6F7F0 800F8650 01762025 */ or $a0, $t3, $s6
/* B6F7F4 800F8654 00052E00 */ sll $a1, $a1, 0x18
/* B6F7F8 800F8658 00052E03 */ sra $a1, $a1, 0x18
/* B6F7FC 800F865C 0C0396C8 */ jal func_800E5B20
/* B6F800 800F8660 34840005 */ ori $a0, $a0, 5
/* B6F804 800F8664 960C0028 */ lhu $t4, 0x28($s0)
.L800F8668:
/* B6F808 800F8668 3C0F8013 */ lui $t7, %hi(D_801333CC) # $t7, 0x8013
/* B6F80C 800F866C 240E0005 */ li $t6, 5
/* B6F810 800F8670 318D0C00 */ andi $t5, $t4, 0xc00
/* B6F814 800F8674 51A00004 */ beql $t5, $zero, .L800F8688
/* B6F818 800F8678 A20E002A */ sb $t6, 0x2a($s0)
/* B6F81C 800F867C 10000002 */ b .L800F8688
/* B6F820 800F8680 A21E002A */ sb $fp, 0x2a($s0)
/* B6F824 800F8684 A20E002A */ sb $t6, 0x2a($s0)
.L800F8688:
/* B6F828 800F8688 91EF33CC */ lbu $t7, %lo(D_801333CC)($t7)
/* B6F82C 800F868C 3C038013 */ lui $v1, %hi(D_80130578)
/* B6F830 800F8690 000FC0C0 */ sll $t8, $t7, 3
/* B6F834 800F8694 030FC023 */ subu $t8, $t8, $t7
/* B6F838 800F8698 0312C821 */ addu $t9, $t8, $s2
/* B6F83C 800F869C 00791821 */ addu $v1, $v1, $t9
/* B6F840 800F86A0 1000002C */ b .L800F8754
/* B6F844 800F86A4 90630578 */ lbu $v1, %lo(D_80130578)($v1)
.L800F86A8:
/* B6F848 800F86A8 908800C5 */ lbu $t0, 0xc5($a0)
/* B6F84C 800F86AC 324400FF */ andi $a0, $s2, 0xff
/* B6F850 800F86B0 24010003 */ li $at, 3
/* B6F854 800F86B4 16E8000C */ bne $s7, $t0, .L800F86E8
/* B6F858 800F86B8 00000000 */ nop
/* B6F85C 800F86BC 0C03DED5 */ jal func_800F7B54
/* B6F860 800F86C0 322500FF */ andi $a1, $s1, 0xff
/* B6F864 800F86C4 3C098013 */ lui $t1, %hi(D_801333CC) # $t1, 0x8013
/* B6F868 800F86C8 912933CC */ lbu $t1, %lo(D_801333CC)($t1)
/* B6F86C 800F86CC 3C038013 */ lui $v1, %hi(D_80130578)
/* B6F870 800F86D0 000950C0 */ sll $t2, $t1, 3
/* B6F874 800F86D4 01495023 */ subu $t2, $t2, $t1
/* B6F878 800F86D8 01525821 */ addu $t3, $t2, $s2
/* B6F87C 800F86DC 006B1821 */ addu $v1, $v1, $t3
/* B6F880 800F86E0 1000001C */ b .L800F8754
/* B6F884 800F86E4 90630578 */ lbu $v1, %lo(D_80130578)($v1)
.L800F86E8:
/* B6F888 800F86E8 1441001A */ bne $v0, $at, .L800F8754
/* B6F88C 800F86EC 324400FF */ andi $a0, $s2, 0xff
/* B6F890 800F86F0 0C03CE82 */ jal func_800F3A08
/* B6F894 800F86F4 322500FF */ andi $a1, $s1, 0xff
/* B6F898 800F86F8 960C0028 */ lhu $t4, 0x28($s0)
/* B6F89C 800F86FC 3C0E8013 */ lui $t6, %hi(D_801333CC) # $t6, 0x8013
/* B6F8A0 800F8700 24190005 */ li $t9, 5
/* B6F8A4 800F8704 318D0C00 */ andi $t5, $t4, 0xc00
/* B6F8A8 800F8708 11A0000A */ beqz $t5, .L800F8734
/* B6F8AC 800F870C 3C088013 */ lui $t0, %hi(D_801333CC) # $t0, 0x8013
/* B6F8B0 800F8710 A21E002A */ sb $fp, 0x2a($s0)
/* B6F8B4 800F8714 91CE33CC */ lbu $t6, %lo(D_801333CC)($t6)
/* B6F8B8 800F8718 3C038013 */ lui $v1, %hi(D_80130578)
/* B6F8BC 800F871C 000E78C0 */ sll $t7, $t6, 3
/* B6F8C0 800F8720 01EE7823 */ subu $t7, $t7, $t6
/* B6F8C4 800F8724 01F2C021 */ addu $t8, $t7, $s2
/* B6F8C8 800F8728 00781821 */ addu $v1, $v1, $t8
/* B6F8CC 800F872C 10000009 */ b .L800F8754
/* B6F8D0 800F8730 90630578 */ lbu $v1, %lo(D_80130578)($v1)
.L800F8734:
/* B6F8D4 800F8734 A219002A */ sb $t9, 0x2a($s0)
/* B6F8D8 800F8738 910833CC */ lbu $t0, %lo(D_801333CC)($t0)
/* B6F8DC 800F873C 3C038013 */ lui $v1, %hi(D_80130578)
/* B6F8E0 800F8740 000848C0 */ sll $t1, $t0, 3
/* B6F8E4 800F8744 01284823 */ subu $t1, $t1, $t0
/* B6F8E8 800F8748 01325021 */ addu $t2, $t1, $s2
/* B6F8EC 800F874C 006A1821 */ addu $v1, $v1, $t2
/* B6F8F0 800F8750 90630578 */ lbu $v1, %lo(D_80130578)($v1)
.L800F8754:
/* B6F8F4 800F8754 926B0000 */ lbu $t3, ($s3)
/* B6F8F8 800F8758 26940001 */ addiu $s4, $s4, 1
/* B6F8FC 800F875C 329400FF */ andi $s4, $s4, 0xff
/* B6F900 800F8760 0283082A */ slt $at, $s4, $v1
/* B6F904 800F8764 256C0001 */ addiu $t4, $t3, 1
/* B6F908 800F8768 1420FF68 */ bnez $at, .L800F850C
/* B6F90C 800F876C A26C0000 */ sb $t4, ($s3)
.L800F8770:
/* B6F910 800F8770 8FBF003C */ lw $ra, 0x3c($sp)
/* B6F914 800F8774 8FB00018 */ lw $s0, 0x18($sp)
/* B6F918 800F8778 8FB1001C */ lw $s1, 0x1c($sp)
/* B6F91C 800F877C 8FB20020 */ lw $s2, 0x20($sp)
/* B6F920 800F8780 8FB30024 */ lw $s3, 0x24($sp)
/* B6F924 800F8784 8FB40028 */ lw $s4, 0x28($sp)
/* B6F928 800F8788 8FB5002C */ lw $s5, 0x2c($sp)
/* B6F92C 800F878C 8FB60030 */ lw $s6, 0x30($sp)
/* B6F930 800F8790 8FB70034 */ lw $s7, 0x34($sp)
/* B6F934 800F8794 8FBE0038 */ lw $fp, 0x38($sp)
/* B6F938 800F8798 03E00008 */ jr $ra
/* B6F93C 800F879C 27BD0060 */ addiu $sp, $sp, 0x60

View file

@ -1,63 +0,0 @@
glabel func_800F87A0
/* B6F940 800F87A0 27BDFF80 */ addiu $sp, $sp, -0x80
/* B6F944 800F87A4 AFB60030 */ sw $s6, 0x30($sp)
/* B6F948 800F87A8 309600FF */ andi $s6, $a0, 0xff
/* B6F94C 800F87AC 3C0F8013 */ lui $t7, %hi(D_801333A8) # $t7, 0x8013
/* B6F950 800F87B0 AFB20020 */ sw $s2, 0x20($sp)
/* B6F954 800F87B4 25EF33A8 */ addiu $t7, %lo(D_801333A8) # addiu $t7, $t7, 0x33a8
/* B6F958 800F87B8 00167080 */ sll $t6, $s6, 2
/* B6F95C 800F87BC 01CF9021 */ addu $s2, $t6, $t7
/* B6F960 800F87C0 8E430000 */ lw $v1, ($s2)
/* B6F964 800F87C4 AFBF0034 */ sw $ra, 0x34($sp)
/* B6F968 800F87C8 AFB5002C */ sw $s5, 0x2c($sp)
/* B6F96C 800F87CC AFB40028 */ sw $s4, 0x28($sp)
/* B6F970 800F87D0 AFB30024 */ sw $s3, 0x24($sp)
/* B6F974 800F87D4 AFB1001C */ sw $s1, 0x1c($sp)
/* B6F978 800F87D8 AFB00018 */ sw $s0, 0x18($sp)
/* B6F97C 800F87DC AFA40080 */ sw $a0, 0x80($sp)
/* B6F980 800F87E0 9071002D */ lbu $s1, 0x2d($v1)
/* B6F984 800F87E4 241300FF */ li $s3, 255
/* B6F988 800F87E8 24140030 */ li $s4, 48
/* B6F98C 800F87EC 12710016 */ beq $s3, $s1, .L800F8848
/* B6F990 800F87F0 3C150602 */ lui $s5, 0x602
.L800F87F4:
/* B6F994 800F87F4 02340019 */ multu $s1, $s4
/* B6F998 800F87F8 0000C012 */ mflo $t8
/* B6F99C 800F87FC 00788021 */ addu $s0, $v1, $t8
/* B6F9A0 800F8800 9202002A */ lbu $v0, 0x2a($s0)
/* B6F9A4 800F8804 28410003 */ slti $at, $v0, 3
/* B6F9A8 800F8808 14200007 */ bnez $at, .L800F8828
/* B6F9AC 800F880C 00000000 */ nop
/* B6F9B0 800F8810 9208002E */ lbu $t0, 0x2e($s0)
/* B6F9B4 800F8814 00002825 */ move $a1, $zero
/* B6F9B8 800F8818 00084A00 */ sll $t1, $t0, 8
/* B6F9BC 800F881C 0C0396C8 */ jal func_800E5B20
/* B6F9C0 800F8820 01352025 */ or $a0, $t1, $s5
/* B6F9C4 800F8824 9202002A */ lbu $v0, 0x2a($s0)
.L800F8828:
/* B6F9C8 800F8828 10400003 */ beqz $v0, .L800F8838
/* B6F9CC 800F882C 32C400FF */ andi $a0, $s6, 0xff
/* B6F9D0 800F8830 0C03DED5 */ jal func_800F7B54
/* B6F9D4 800F8834 322500FF */ andi $a1, $s1, 0xff
.L800F8838:
/* B6F9D8 800F8838 8E430000 */ lw $v1, ($s2)
/* B6F9DC 800F883C 9071002D */ lbu $s1, 0x2d($v1)
/* B6F9E0 800F8840 1671FFEC */ bne $s3, $s1, .L800F87F4
/* B6F9E4 800F8844 00000000 */ nop
.L800F8848:
/* B6F9E8 800F8848 00165300 */ sll $t2, $s6, 0xc
/* B6F9EC 800F884C A7AA0070 */ sh $t2, 0x70($sp)
/* B6F9F0 800F8850 00002025 */ move $a0, $zero
/* B6F9F4 800F8854 0C03DD38 */ jal func_800F74E0
/* B6F9F8 800F8858 27A50048 */ addiu $a1, $sp, 0x48
/* B6F9FC 800F885C 8FBF0034 */ lw $ra, 0x34($sp)
/* B6FA00 800F8860 8FB00018 */ lw $s0, 0x18($sp)
/* B6FA04 800F8864 8FB1001C */ lw $s1, 0x1c($sp)
/* B6FA08 800F8868 8FB20020 */ lw $s2, 0x20($sp)
/* B6FA0C 800F886C 8FB30024 */ lw $s3, 0x24($sp)
/* B6FA10 800F8870 8FB40028 */ lw $s4, 0x28($sp)
/* B6FA14 800F8874 8FB5002C */ lw $s5, 0x2c($sp)
/* B6FA18 800F8878 8FB60030 */ lw $s6, 0x30($sp)
/* B6FA1C 800F887C 03E00008 */ jr $ra
/* B6FA20 800F8880 27BD0080 */ addiu $sp, $sp, 0x80

View file

@ -1,98 +0,0 @@
glabel func_800F8884
/* B6FA24 800F8884 27BDFFC0 */ addiu $sp, $sp, -0x40
/* B6FA28 800F8888 AFB5002C */ sw $s5, 0x2c($sp)
/* B6FA2C 800F888C 309500FF */ andi $s5, $a0, 0xff
/* B6FA30 800F8890 3C0F8013 */ lui $t7, %hi(D_801333A8) # $t7, 0x8013
/* B6FA34 800F8894 AFB40028 */ sw $s4, 0x28($sp)
/* B6FA38 800F8898 25EF33A8 */ addiu $t7, %lo(D_801333A8) # addiu $t7, $t7, 0x33a8
/* B6FA3C 800F889C 00157080 */ sll $t6, $s5, 2
/* B6FA40 800F88A0 01CFA021 */ addu $s4, $t6, $t7
/* B6FA44 800F88A4 8E820000 */ lw $v0, ($s4)
/* B6FA48 800F88A8 AFBF003C */ sw $ra, 0x3c($sp)
/* B6FA4C 800F88AC AFBE0038 */ sw $fp, 0x38($sp)
/* B6FA50 800F88B0 AFB70034 */ sw $s7, 0x34($sp)
/* B6FA54 800F88B4 AFB60030 */ sw $s6, 0x30($sp)
/* B6FA58 800F88B8 AFB30024 */ sw $s3, 0x24($sp)
/* B6FA5C 800F88BC AFB20020 */ sw $s2, 0x20($sp)
/* B6FA60 800F88C0 AFB1001C */ sw $s1, 0x1c($sp)
/* B6FA64 800F88C4 AFB00018 */ sw $s0, 0x18($sp)
/* B6FA68 800F88C8 AFA40040 */ sw $a0, 0x40($sp)
/* B6FA6C 800F88CC 9051002D */ lbu $s1, 0x2d($v0)
/* B6FA70 800F88D0 241700FF */ li $s7, 255
/* B6FA74 800F88D4 00A0B025 */ move $s6, $a1
/* B6FA78 800F88D8 12F10025 */ beq $s7, $s1, .L800F8970
/* B6FA7C 800F88DC 00009025 */ move $s2, $zero
/* B6FA80 800F88E0 241E0030 */ li $fp, 48
.L800F88E4:
/* B6FA84 800F88E4 023E0019 */ multu $s1, $fp
/* B6FA88 800F88E8 0000C012 */ mflo $t8
/* B6FA8C 800F88EC 00588021 */ addu $s0, $v0, $t8
/* B6FA90 800F88F0 8E190000 */ lw $t9, ($s0)
/* B6FA94 800F88F4 56D90017 */ bnel $s6, $t9, .L800F8954
/* B6FA98 800F88F8 323200FF */ andi $s2, $s1, 0xff
/* B6FA9C 800F88FC 9202002A */ lbu $v0, 0x2a($s0)
/* B6FAA0 800F8900 00129880 */ sll $s3, $s2, 2
/* B6FAA4 800F8904 02729823 */ subu $s3, $s3, $s2
/* B6FAA8 800F8908 28410003 */ slti $at, $v0, 3
/* B6FAAC 800F890C 14200008 */ bnez $at, .L800F8930
/* B6FAB0 800F8910 00139900 */ sll $s3, $s3, 4
/* B6FAB4 800F8914 9204002E */ lbu $a0, 0x2e($s0)
/* B6FAB8 800F8918 3C010602 */ lui $at, 0x602
/* B6FABC 800F891C 00002825 */ move $a1, $zero
/* B6FAC0 800F8920 00042200 */ sll $a0, $a0, 8
/* B6FAC4 800F8924 0C0396C8 */ jal func_800E5B20
/* B6FAC8 800F8928 00812025 */ or $a0, $a0, $at
/* B6FACC 800F892C 9202002A */ lbu $v0, 0x2a($s0)
.L800F8930:
/* B6FAD0 800F8930 10400003 */ beqz $v0, .L800F8940
/* B6FAD4 800F8934 32A400FF */ andi $a0, $s5, 0xff
/* B6FAD8 800F8938 0C03DED5 */ jal func_800F7B54
/* B6FADC 800F893C 322500FF */ andi $a1, $s1, 0xff
.L800F8940:
/* B6FAE0 800F8940 8E820000 */ lw $v0, ($s4)
/* B6FAE4 800F8944 00534021 */ addu $t0, $v0, $s3
/* B6FAE8 800F8948 10000007 */ b .L800F8968
/* B6FAEC 800F894C 9111002D */ lbu $s1, 0x2d($t0)
/* B6FAF0 800F8950 323200FF */ andi $s2, $s1, 0xff
.L800F8954:
/* B6FAF4 800F8954 00124880 */ sll $t1, $s2, 2
/* B6FAF8 800F8958 01324823 */ subu $t1, $t1, $s2
/* B6FAFC 800F895C 00094900 */ sll $t1, $t1, 4
/* B6FB00 800F8960 00495021 */ addu $t2, $v0, $t1
/* B6FB04 800F8964 9151002D */ lbu $s1, 0x2d($t2)
.L800F8968:
/* B6FB08 800F8968 16F1FFDE */ bne $s7, $s1, .L800F88E4
/* B6FB0C 800F896C 00000000 */ nop
.L800F8970:
/* B6FB10 800F8970 8FBF003C */ lw $ra, 0x3c($sp)
/* B6FB14 800F8974 8FB00018 */ lw $s0, 0x18($sp)
/* B6FB18 800F8978 8FB1001C */ lw $s1, 0x1c($sp)
/* B6FB1C 800F897C 8FB20020 */ lw $s2, 0x20($sp)
/* B6FB20 800F8980 8FB30024 */ lw $s3, 0x24($sp)
/* B6FB24 800F8984 8FB40028 */ lw $s4, 0x28($sp)
/* B6FB28 800F8988 8FB5002C */ lw $s5, 0x2c($sp)
/* B6FB2C 800F898C 8FB60030 */ lw $s6, 0x30($sp)
/* B6FB30 800F8990 8FB70034 */ lw $s7, 0x34($sp)
/* B6FB34 800F8994 8FBE0038 */ lw $fp, 0x38($sp)
/* B6FB38 800F8998 03E00008 */ jr $ra
/* B6FB3C 800F899C 27BD0040 */ addiu $sp, $sp, 0x40
/* B6FB40 800F89A0 27BDFFB8 */ addiu $sp, $sp, -0x48
/* B6FB44 800F89A4 AFBF0014 */ sw $ra, 0x14($sp)
/* B6FB48 800F89A8 AFA40048 */ sw $a0, 0x48($sp)
/* B6FB4C 800F89AC AFA5004C */ sw $a1, 0x4c($sp)
/* B6FB50 800F89B0 0C03E221 */ jal func_800F8884
/* B6FB54 800F89B4 93A4004B */ lbu $a0, 0x4b($sp)
/* B6FB58 800F89B8 93AE004B */ lbu $t6, 0x4b($sp)
/* B6FB5C 800F89BC 8FB8004C */ lw $t8, 0x4c($sp)
/* B6FB60 800F89C0 24040001 */ li $a0, 1
/* B6FB64 800F89C4 000E7B00 */ sll $t7, $t6, 0xc
/* B6FB68 800F89C8 A7AF0040 */ sh $t7, 0x40($sp)
/* B6FB6C 800F89CC 27A50018 */ addiu $a1, $sp, 0x18
/* B6FB70 800F89D0 0C03DD38 */ jal func_800F74E0
/* B6FB74 800F89D4 AFB80018 */ sw $t8, 0x18($sp)
/* B6FB78 800F89D8 8FBF0014 */ lw $ra, 0x14($sp)
/* B6FB7C 800F89DC 27BD0048 */ addiu $sp, $sp, 0x48
/* B6FB80 800F89E0 03E00008 */ jr $ra
/* B6FB84 800F89E4 00000000 */ nop

View file

@ -1,26 +0,0 @@
glabel func_800F89E8
/* B6FB88 800F89E8 27BDFFA8 */ addiu $sp, $sp, -0x58
/* B6FB8C 800F89EC AFB10018 */ sw $s1, 0x18($sp)
/* B6FB90 800F89F0 AFB00014 */ sw $s0, 0x14($sp)
/* B6FB94 800F89F4 00808825 */ move $s1, $a0
/* B6FB98 800F89F8 AFBF001C */ sw $ra, 0x1c($sp)
/* B6FB9C 800F89FC 00008025 */ move $s0, $zero
/* B6FBA0 800F8A00 320400FF */ andi $a0, $s0, 0xff
.L800F8A04:
/* B6FBA4 800F8A04 0C03E221 */ jal func_800F8884
/* B6FBA8 800F8A08 02202825 */ move $a1, $s1
/* B6FBAC 800F8A0C 26100001 */ addiu $s0, $s0, 1
/* B6FBB0 800F8A10 321000FF */ andi $s0, $s0, 0xff
/* B6FBB4 800F8A14 2A010007 */ slti $at, $s0, 7
/* B6FBB8 800F8A18 5420FFFA */ bnezl $at, .L800F8A04
/* B6FBBC 800F8A1C 320400FF */ andi $a0, $s0, 0xff
/* B6FBC0 800F8A20 AFB10024 */ sw $s1, 0x24($sp)
/* B6FBC4 800F8A24 24040002 */ li $a0, 2
/* B6FBC8 800F8A28 0C03DD38 */ jal func_800F74E0
/* B6FBCC 800F8A2C 27A50024 */ addiu $a1, $sp, 0x24
/* B6FBD0 800F8A30 8FBF001C */ lw $ra, 0x1c($sp)
/* B6FBD4 800F8A34 8FB00014 */ lw $s0, 0x14($sp)
/* B6FBD8 800F8A38 8FB10018 */ lw $s1, 0x18($sp)
/* B6FBDC 800F8A3C 03E00008 */ jr $ra
/* B6FBE0 800F8A40 27BD0058 */ addiu $sp, $sp, 0x58

View file

@ -1,190 +0,0 @@
glabel func_800F8A44
/* B6FBE4 800F8A44 27BDFF78 */ addiu $sp, $sp, -0x88
/* B6FBE8 800F8A48 AFB70034 */ sw $s7, 0x34($sp)
/* B6FBEC 800F8A4C AFA5008C */ sw $a1, 0x8c($sp)
/* B6FBF0 800F8A50 97B7008E */ lhu $s7, 0x8e($sp)
/* B6FBF4 800F8A54 AFBE0038 */ sw $fp, 0x38($sp)
/* B6FBF8 800F8A58 3C0F8013 */ lui $t7, %hi(D_801333A8) # $t7, 0x8013
/* B6FBFC 800F8A5C 32FEF000 */ andi $fp, $s7, 0xf000
/* B6FC00 800F8A60 001EF303 */ sra $fp, $fp, 0xc
/* B6FC04 800F8A64 33DE00FF */ andi $fp, $fp, 0xff
/* B6FC08 800F8A68 AFB30024 */ sw $s3, 0x24($sp)
/* B6FC0C 800F8A6C 001E7080 */ sll $t6, $fp, 2
/* B6FC10 800F8A70 25EF33A8 */ addiu $t7, %lo(D_801333A8) # addiu $t7, $t7, 0x33a8
/* B6FC14 800F8A74 01CF9821 */ addu $s3, $t6, $t7
/* B6FC18 800F8A78 8E780000 */ lw $t8, ($s3)
/* B6FC1C 800F8A7C AFBF003C */ sw $ra, 0x3c($sp)
/* B6FC20 800F8A80 AFB60030 */ sw $s6, 0x30($sp)
/* B6FC24 800F8A84 AFB5002C */ sw $s5, 0x2c($sp)
/* B6FC28 800F8A88 AFB40028 */ sw $s4, 0x28($sp)
/* B6FC2C 800F8A8C AFB20020 */ sw $s2, 0x20($sp)
/* B6FC30 800F8A90 AFB1001C */ sw $s1, 0x1c($sp)
/* B6FC34 800F8A94 AFB00018 */ sw $s0, 0x18($sp)
/* B6FC38 800F8A98 AFA40088 */ sw $a0, 0x88($sp)
/* B6FC3C 800F8A9C 9311002D */ lbu $s1, 0x2d($t8)
/* B6FC40 800F8AA0 241500FF */ li $s5, 255
/* B6FC44 800F8AA4 0000A025 */ move $s4, $zero
/* B6FC48 800F8AA8 12B1002A */ beq $s5, $s1, .L800F8B54
/* B6FC4C 800F8AAC 02201025 */ move $v0, $s1
/* B6FC50 800F8AB0 3C160602 */ lui $s6, 0x602
/* B6FC54 800F8AB4 24120030 */ li $s2, 48
.L800F8AB8:
/* B6FC58 800F8AB8 02320019 */ multu $s1, $s2
/* B6FC5C 800F8ABC 8E790000 */ lw $t9, ($s3)
/* B6FC60 800F8AC0 8FA90088 */ lw $t1, 0x88($sp)
/* B6FC64 800F8AC4 00004012 */ mflo $t0
/* B6FC68 800F8AC8 03288021 */ addu $s0, $t9, $t0
/* B6FC6C 800F8ACC 8E0A0000 */ lw $t2, ($s0)
/* B6FC70 800F8AD0 552A0016 */ bnel $t1, $t2, .L800F8B2C
/* B6FC74 800F8AD4 323400FF */ andi $s4, $s1, 0xff
/* B6FC78 800F8AD8 960B0028 */ lhu $t3, 0x28($s0)
/* B6FC7C 800F8ADC 56EB0013 */ bnel $s7, $t3, .L800F8B2C
/* B6FC80 800F8AE0 323400FF */ andi $s4, $s1, 0xff
/* B6FC84 800F8AE4 9202002A */ lbu $v0, 0x2a($s0)
/* B6FC88 800F8AE8 28410003 */ slti $at, $v0, 3
/* B6FC8C 800F8AEC 14200007 */ bnez $at, .L800F8B0C
/* B6FC90 800F8AF0 00000000 */ nop
/* B6FC94 800F8AF4 920D002E */ lbu $t5, 0x2e($s0)
/* B6FC98 800F8AF8 00002825 */ move $a1, $zero
/* B6FC9C 800F8AFC 000D7200 */ sll $t6, $t5, 8
/* B6FCA0 800F8B00 0C0396C8 */ jal func_800E5B20
/* B6FCA4 800F8B04 01D62025 */ or $a0, $t6, $s6
/* B6FCA8 800F8B08 9202002A */ lbu $v0, 0x2a($s0)
.L800F8B0C:
/* B6FCAC 800F8B0C 10400003 */ beqz $v0, .L800F8B1C
/* B6FCB0 800F8B10 33C400FF */ andi $a0, $fp, 0xff
/* B6FCB4 800F8B14 0C03DED5 */ jal func_800F7B54
/* B6FCB8 800F8B18 322500FF */ andi $a1, $s1, 0xff
.L800F8B1C:
/* B6FCBC 800F8B1C 241100FF */ li $s1, 255
/* B6FCC0 800F8B20 10000002 */ b .L800F8B2C
/* B6FCC4 800F8B24 240200FF */ li $v0, 255
/* B6FCC8 800F8B28 323400FF */ andi $s4, $s1, 0xff
.L800F8B2C:
/* B6FCCC 800F8B2C 12A20007 */ beq $s5, $v0, .L800F8B4C
/* B6FCD0 800F8B30 00000000 */ nop
/* B6FCD4 800F8B34 02920019 */ multu $s4, $s2
/* B6FCD8 800F8B38 8E6F0000 */ lw $t7, ($s3)
/* B6FCDC 800F8B3C 0000C012 */ mflo $t8
/* B6FCE0 800F8B40 01F8C821 */ addu $t9, $t7, $t8
/* B6FCE4 800F8B44 9331002D */ lbu $s1, 0x2d($t9)
/* B6FCE8 800F8B48 02201025 */ move $v0, $s1
.L800F8B4C:
/* B6FCEC 800F8B4C 16A2FFDA */ bne $s5, $v0, .L800F8AB8
/* B6FCF0 800F8B50 00000000 */ nop
.L800F8B54:
/* B6FCF4 800F8B54 8FA80088 */ lw $t0, 0x88($sp)
/* B6FCF8 800F8B58 97A9008E */ lhu $t1, 0x8e($sp)
/* B6FCFC 800F8B5C 24040003 */ li $a0, 3
/* B6FD00 800F8B60 27A50050 */ addiu $a1, $sp, 0x50
/* B6FD04 800F8B64 AFA80050 */ sw $t0, 0x50($sp)
/* B6FD08 800F8B68 0C03DD38 */ jal func_800F74E0
/* B6FD0C 800F8B6C A7A90078 */ sh $t1, 0x78($sp)
/* B6FD10 800F8B70 8FBF003C */ lw $ra, 0x3c($sp)
/* B6FD14 800F8B74 8FB00018 */ lw $s0, 0x18($sp)
/* B6FD18 800F8B78 8FB1001C */ lw $s1, 0x1c($sp)
/* B6FD1C 800F8B7C 8FB20020 */ lw $s2, 0x20($sp)
/* B6FD20 800F8B80 8FB30024 */ lw $s3, 0x24($sp)
/* B6FD24 800F8B84 8FB40028 */ lw $s4, 0x28($sp)
/* B6FD28 800F8B88 8FB5002C */ lw $s5, 0x2c($sp)
/* B6FD2C 800F8B8C 8FB60030 */ lw $s6, 0x30($sp)
/* B6FD30 800F8B90 8FB70034 */ lw $s7, 0x34($sp)
/* B6FD34 800F8B94 8FBE0038 */ lw $fp, 0x38($sp)
/* B6FD38 800F8B98 03E00008 */ jr $ra
/* B6FD3C 800F8B9C 27BD0088 */ addiu $sp, $sp, 0x88
/* B6FD40 800F8BA0 27BDFF70 */ addiu $sp, $sp, -0x90
/* B6FD44 800F8BA4 AFBE0038 */ sw $fp, 0x38($sp)
/* B6FD48 800F8BA8 AFA50094 */ sw $a1, 0x94($sp)
/* B6FD4C 800F8BAC 97BE0096 */ lhu $fp, 0x96($sp)
/* B6FD50 800F8BB0 3C088013 */ lui $t0, %hi(D_801333A8) # $t0, 0x8013
/* B6FD54 800F8BB4 AFB40028 */ sw $s4, 0x28($sp)
/* B6FD58 800F8BB8 33CEF000 */ andi $t6, $fp, 0xf000
/* B6FD5C 800F8BBC 000E7B03 */ sra $t7, $t6, 0xc
/* B6FD60 800F8BC0 31F800FF */ andi $t8, $t7, 0xff
/* B6FD64 800F8BC4 0018C880 */ sll $t9, $t8, 2
/* B6FD68 800F8BC8 250833A8 */ addiu $t0, %lo(D_801333A8) # addiu $t0, $t0, 0x33a8
/* B6FD6C 800F8BCC 0328A021 */ addu $s4, $t9, $t0
/* B6FD70 800F8BD0 8E890000 */ lw $t1, ($s4)
/* B6FD74 800F8BD4 AFBF003C */ sw $ra, 0x3c($sp)
/* B6FD78 800F8BD8 AFB70034 */ sw $s7, 0x34($sp)
/* B6FD7C 800F8BDC AFB60030 */ sw $s6, 0x30($sp)
/* B6FD80 800F8BE0 AFB5002C */ sw $s5, 0x2c($sp)
/* B6FD84 800F8BE4 AFB30024 */ sw $s3, 0x24($sp)
/* B6FD88 800F8BE8 AFB20020 */ sw $s2, 0x20($sp)
/* B6FD8C 800F8BEC AFB1001C */ sw $s1, 0x1c($sp)
/* B6FD90 800F8BF0 AFB00018 */ sw $s0, 0x18($sp)
/* B6FD94 800F8BF4 AFA40090 */ sw $a0, 0x90($sp)
/* B6FD98 800F8BF8 AFB80050 */ sw $t8, 0x50($sp)
/* B6FD9C 800F8BFC 9131002D */ lbu $s1, 0x2d($t1)
/* B6FDA0 800F8C00 241600FF */ li $s6, 255
/* B6FDA4 800F8C04 0000A825 */ move $s5, $zero
/* B6FDA8 800F8C08 12D1002B */ beq $s6, $s1, .L800F8CB8
/* B6FDAC 800F8C0C 02209025 */ move $s2, $s1
/* B6FDB0 800F8C10 93AA0093 */ lbu $t2, 0x93($sp)
/* B6FDB4 800F8C14 3C170602 */ lui $s7, 0x602
/* B6FDB8 800F8C18 24130030 */ li $s3, 48
/* B6FDBC 800F8C1C AFAA0044 */ sw $t2, 0x44($sp)
.L800F8C20:
/* B6FDC0 800F8C20 02330019 */ multu $s1, $s3
/* B6FDC4 800F8C24 8E8B0000 */ lw $t3, ($s4)
/* B6FDC8 800F8C28 8FAD0044 */ lw $t5, 0x44($sp)
/* B6FDCC 800F8C2C 00006012 */ mflo $t4
/* B6FDD0 800F8C30 016C8021 */ addu $s0, $t3, $t4
/* B6FDD4 800F8C34 920E000C */ lbu $t6, 0xc($s0)
/* B6FDD8 800F8C38 55AE0015 */ bnel $t5, $t6, .L800F8C90
/* B6FDDC 800F8C3C 323500FF */ andi $s5, $s1, 0xff
/* B6FDE0 800F8C40 960F0028 */ lhu $t7, 0x28($s0)
/* B6FDE4 800F8C44 57CF0012 */ bnel $fp, $t7, .L800F8C90
/* B6FDE8 800F8C48 323500FF */ andi $s5, $s1, 0xff
/* B6FDEC 800F8C4C 9202002A */ lbu $v0, 0x2a($s0)
/* B6FDF0 800F8C50 28410003 */ slti $at, $v0, 3
/* B6FDF4 800F8C54 14200007 */ bnez $at, .L800F8C74
/* B6FDF8 800F8C58 00000000 */ nop
/* B6FDFC 800F8C5C 9219002E */ lbu $t9, 0x2e($s0)
/* B6FE00 800F8C60 00002825 */ move $a1, $zero
/* B6FE04 800F8C64 00194200 */ sll $t0, $t9, 8
/* B6FE08 800F8C68 0C0396C8 */ jal func_800E5B20
/* B6FE0C 800F8C6C 01172025 */ or $a0, $t0, $s7
/* B6FE10 800F8C70 9202002A */ lbu $v0, 0x2a($s0)
.L800F8C74:
/* B6FE14 800F8C74 10400006 */ beqz $v0, .L800F8C90
/* B6FE18 800F8C78 93A40053 */ lbu $a0, 0x53($sp)
/* B6FE1C 800F8C7C 0C03DED5 */ jal func_800F7B54
/* B6FE20 800F8C80 322500FF */ andi $a1, $s1, 0xff
/* B6FE24 800F8C84 10000002 */ b .L800F8C90
/* B6FE28 800F8C88 00000000 */ nop
/* B6FE2C 800F8C8C 323500FF */ andi $s5, $s1, 0xff
.L800F8C90:
/* B6FE30 800F8C90 12D20007 */ beq $s6, $s2, .L800F8CB0
/* B6FE34 800F8C94 00000000 */ nop
/* B6FE38 800F8C98 02B30019 */ multu $s5, $s3
/* B6FE3C 800F8C9C 8E890000 */ lw $t1, ($s4)
/* B6FE40 800F8CA0 00005012 */ mflo $t2
/* B6FE44 800F8CA4 012A5821 */ addu $t3, $t1, $t2
/* B6FE48 800F8CA8 9171002D */ lbu $s1, 0x2d($t3)
/* B6FE4C 800F8CAC 02209025 */ move $s2, $s1
.L800F8CB0:
/* B6FE50 800F8CB0 16D2FFDB */ bne $s6, $s2, .L800F8C20
/* B6FE54 800F8CB4 00000000 */ nop
.L800F8CB8:
/* B6FE58 800F8CB8 93AC0093 */ lbu $t4, 0x93($sp)
/* B6FE5C 800F8CBC 97AD0096 */ lhu $t5, 0x96($sp)
/* B6FE60 800F8CC0 24040004 */ li $a0, 4
/* B6FE64 800F8CC4 27A50058 */ addiu $a1, $sp, 0x58
/* B6FE68 800F8CC8 A3AC0064 */ sb $t4, 0x64($sp)
/* B6FE6C 800F8CCC 0C03DD38 */ jal func_800F74E0
/* B6FE70 800F8CD0 A7AD0080 */ sh $t5, 0x80($sp)
/* B6FE74 800F8CD4 8FBF003C */ lw $ra, 0x3c($sp)
/* B6FE78 800F8CD8 8FB00018 */ lw $s0, 0x18($sp)
/* B6FE7C 800F8CDC 8FB1001C */ lw $s1, 0x1c($sp)
/* B6FE80 800F8CE0 8FB20020 */ lw $s2, 0x20($sp)
/* B6FE84 800F8CE4 8FB30024 */ lw $s3, 0x24($sp)
/* B6FE88 800F8CE8 8FB40028 */ lw $s4, 0x28($sp)
/* B6FE8C 800F8CEC 8FB5002C */ lw $s5, 0x2c($sp)
/* B6FE90 800F8CF0 8FB60030 */ lw $s6, 0x30($sp)
/* B6FE94 800F8CF4 8FB70034 */ lw $s7, 0x34($sp)
/* B6FE98 800F8CF8 8FBE0038 */ lw $fp, 0x38($sp)
/* B6FE9C 800F8CFC 03E00008 */ jr $ra
/* B6FEA0 800F8D00 27BD0090 */ addiu $sp, $sp, 0x90

View file

@ -1,86 +0,0 @@
glabel func_800F8D04
/* B6FEA4 800F8D04 27BDFF78 */ addiu $sp, $sp, -0x88
/* B6FEA8 800F8D08 AFB40028 */ sw $s4, 0x28($sp)
/* B6FEAC 800F8D0C 3094F000 */ andi $s4, $a0, 0xf000
/* B6FEB0 800F8D10 0014A302 */ srl $s4, $s4, 0xc
/* B6FEB4 800F8D14 329400FF */ andi $s4, $s4, 0xff
/* B6FEB8 800F8D18 3C0F8013 */ lui $t7, %hi(D_801333A8) # $t7, 0x8013
/* B6FEBC 800F8D1C AFB5002C */ sw $s5, 0x2c($sp)
/* B6FEC0 800F8D20 25EF33A8 */ addiu $t7, %lo(D_801333A8) # addiu $t7, $t7, 0x33a8
/* B6FEC4 800F8D24 00147080 */ sll $t6, $s4, 2
/* B6FEC8 800F8D28 01CFA821 */ addu $s5, $t6, $t7
/* B6FECC 800F8D2C 8EA20000 */ lw $v0, ($s5)
/* B6FED0 800F8D30 AFBF003C */ sw $ra, 0x3c($sp)
/* B6FED4 800F8D34 AFBE0038 */ sw $fp, 0x38($sp)
/* B6FED8 800F8D38 AFB70034 */ sw $s7, 0x34($sp)
/* B6FEDC 800F8D3C AFB60030 */ sw $s6, 0x30($sp)
/* B6FEE0 800F8D40 AFB30024 */ sw $s3, 0x24($sp)
/* B6FEE4 800F8D44 AFB20020 */ sw $s2, 0x20($sp)
/* B6FEE8 800F8D48 AFB1001C */ sw $s1, 0x1c($sp)
/* B6FEEC 800F8D4C AFB00018 */ sw $s0, 0x18($sp)
/* B6FEF0 800F8D50 AFA40088 */ sw $a0, 0x88($sp)
/* B6FEF4 800F8D54 9051002D */ lbu $s1, 0x2d($v0)
/* B6FEF8 800F8D58 241600FF */ li $s6, 255
/* B6FEFC 800F8D5C 00009025 */ move $s2, $zero
/* B6FF00 800F8D60 12D10025 */ beq $s6, $s1, .L800F8DF8
/* B6FF04 800F8D64 24170030 */ li $s7, 48
/* B6FF08 800F8D68 3C1E0602 */ lui $fp, 0x602
.L800F8D6C:
/* B6FF0C 800F8D6C 02370019 */ multu $s1, $s7
/* B6FF10 800F8D70 8FB90088 */ lw $t9, 0x88($sp)
/* B6FF14 800F8D74 0000C012 */ mflo $t8
/* B6FF18 800F8D78 00588021 */ addu $s0, $v0, $t8
/* B6FF1C 800F8D7C 96080028 */ lhu $t0, 0x28($s0)
/* B6FF20 800F8D80 57280016 */ bnel $t9, $t0, .L800F8DDC
/* B6FF24 800F8D84 323200FF */ andi $s2, $s1, 0xff
/* B6FF28 800F8D88 9202002A */ lbu $v0, 0x2a($s0)
/* B6FF2C 800F8D8C 00129880 */ sll $s3, $s2, 2
/* B6FF30 800F8D90 02729823 */ subu $s3, $s3, $s2
/* B6FF34 800F8D94 28410003 */ slti $at, $v0, 3
/* B6FF38 800F8D98 14200007 */ bnez $at, .L800F8DB8
/* B6FF3C 800F8D9C 00139900 */ sll $s3, $s3, 4
/* B6FF40 800F8DA0 920A002E */ lbu $t2, 0x2e($s0)
/* B6FF44 800F8DA4 00002825 */ move $a1, $zero
/* B6FF48 800F8DA8 000A5A00 */ sll $t3, $t2, 8
/* B6FF4C 800F8DAC 0C0396C8 */ jal func_800E5B20
/* B6FF50 800F8DB0 017E2025 */ or $a0, $t3, $fp
/* B6FF54 800F8DB4 9202002A */ lbu $v0, 0x2a($s0)
.L800F8DB8:
/* B6FF58 800F8DB8 10400003 */ beqz $v0, .L800F8DC8
/* B6FF5C 800F8DBC 328400FF */ andi $a0, $s4, 0xff
/* B6FF60 800F8DC0 0C03DED5 */ jal func_800F7B54
/* B6FF64 800F8DC4 322500FF */ andi $a1, $s1, 0xff
.L800F8DC8:
/* B6FF68 800F8DC8 8EA20000 */ lw $v0, ($s5)
/* B6FF6C 800F8DCC 00536021 */ addu $t4, $v0, $s3
/* B6FF70 800F8DD0 10000007 */ b .L800F8DF0
/* B6FF74 800F8DD4 9191002D */ lbu $s1, 0x2d($t4)
/* B6FF78 800F8DD8 323200FF */ andi $s2, $s1, 0xff
.L800F8DDC:
/* B6FF7C 800F8DDC 00126880 */ sll $t5, $s2, 2
/* B6FF80 800F8DE0 01B26823 */ subu $t5, $t5, $s2
/* B6FF84 800F8DE4 000D6900 */ sll $t5, $t5, 4
/* B6FF88 800F8DE8 004D7021 */ addu $t6, $v0, $t5
/* B6FF8C 800F8DEC 91D1002D */ lbu $s1, 0x2d($t6)
.L800F8DF0:
/* B6FF90 800F8DF0 16D1FFDE */ bne $s6, $s1, .L800F8D6C
/* B6FF94 800F8DF4 00000000 */ nop
.L800F8DF8:
/* B6FF98 800F8DF8 8FAF0088 */ lw $t7, 0x88($sp)
/* B6FF9C 800F8DFC 24040005 */ li $a0, 5
/* B6FFA0 800F8E00 27A50050 */ addiu $a1, $sp, 0x50
/* B6FFA4 800F8E04 0C03DD38 */ jal func_800F74E0
/* B6FFA8 800F8E08 A7AF0078 */ sh $t7, 0x78($sp)
/* B6FFAC 800F8E0C 8FBF003C */ lw $ra, 0x3c($sp)
/* B6FFB0 800F8E10 8FB00018 */ lw $s0, 0x18($sp)
/* B6FFB4 800F8E14 8FB1001C */ lw $s1, 0x1c($sp)
/* B6FFB8 800F8E18 8FB20020 */ lw $s2, 0x20($sp)
/* B6FFBC 800F8E1C 8FB30024 */ lw $s3, 0x24($sp)
/* B6FFC0 800F8E20 8FB40028 */ lw $s4, 0x28($sp)
/* B6FFC4 800F8E24 8FB5002C */ lw $s5, 0x2c($sp)
/* B6FFC8 800F8E28 8FB60030 */ lw $s6, 0x30($sp)
/* B6FFCC 800F8E2C 8FB70034 */ lw $s7, 0x34($sp)
/* B6FFD0 800F8E30 8FBE0038 */ lw $fp, 0x38($sp)
/* B6FFD4 800F8E34 03E00008 */ jr $ra
/* B6FFD8 800F8E38 27BD0088 */ addiu $sp, $sp, 0x88

View file

@ -1,70 +0,0 @@
glabel func_800F8E3C
/* B6FFDC 800F8E3C 27BDFFE0 */ addiu $sp, $sp, -0x20
/* B6FFE0 800F8E40 AFB10018 */ sw $s1, 0x18($sp)
/* B6FFE4 800F8E44 AFB00014 */ sw $s0, 0x14($sp)
/* B6FFE8 800F8E48 3C108013 */ lui $s0, %hi(D_801333A4) # $s0, 0x8013
/* B6FFEC 800F8E4C 3C118013 */ lui $s1, %hi(D_801333A0) # $s1, 0x8013
/* B6FFF0 800F8E50 263133A0 */ addiu $s1, %lo(D_801333A0) # addiu $s1, $s1, 0x33a0
/* B6FFF4 800F8E54 261033A4 */ addiu $s0, %lo(D_801333A4) # addiu $s0, $s0, 0x33a4
/* B6FFF8 800F8E58 920E0000 */ lbu $t6, ($s0)
/* B6FFFC 800F8E5C 922F0000 */ lbu $t7, ($s1)
/* B70000 800F8E60 AFBF001C */ sw $ra, 0x1c($sp)
/* B70004 800F8E64 51CF000A */ beql $t6, $t7, .L800F8E90
/* B70008 800F8E68 8FBF001C */ lw $ra, 0x1c($sp)
.L800F8E6C:
/* B7000C 800F8E6C 0C03DDA0 */ jal func_800F7680
/* B70010 800F8E70 00000000 */ nop
/* B70014 800F8E74 92180000 */ lbu $t8, ($s0)
/* B70018 800F8E78 92290000 */ lbu $t1, ($s1)
/* B7001C 800F8E7C 27190001 */ addiu $t9, $t8, 1
/* B70020 800F8E80 332800FF */ andi $t0, $t9, 0xff
/* B70024 800F8E84 1509FFF9 */ bne $t0, $t1, .L800F8E6C
/* B70028 800F8E88 A2190000 */ sb $t9, ($s0)
/* B7002C 800F8E8C 8FBF001C */ lw $ra, 0x1c($sp)
.L800F8E90:
/* B70030 800F8E90 8FB00014 */ lw $s0, 0x14($sp)
/* B70034 800F8E94 8FB10018 */ lw $s1, 0x18($sp)
/* B70038 800F8E98 03E00008 */ jr $ra
/* B7003C 800F8E9C 27BD0020 */ addiu $sp, $sp, 0x20
/* B70040 800F8EA0 AFA60008 */ sw $a2, 8($sp)
/* B70044 800F8EA4 30C6FFFF */ andi $a2, $a2, 0xffff
/* B70048 800F8EA8 AFA40000 */ sw $a0, ($sp)
/* B7004C 800F8EAC AFA50004 */ sw $a1, 4($sp)
/* B70050 800F8EB0 30A500FF */ andi $a1, $a1, 0xff
/* B70054 800F8EB4 14C00003 */ bnez $a2, .L800F8EC4
/* B70058 800F8EB8 308400FF */ andi $a0, $a0, 0xff
/* B7005C 800F8EBC 24C60001 */ addiu $a2, $a2, 1
/* B70060 800F8EC0 30C6FFFF */ andi $a2, $a2, 0xffff
.L800F8EC4:
/* B70064 800F8EC4 44852000 */ mtc1 $a1, $f4
/* B70068 800F8EC8 3C0F8017 */ lui $t7, %hi(D_8016E270)
/* B7006C 800F8ECC 25EFE270 */ addiu $t7, %lo(D_8016E270) # addiu $t7, $t7, -0x1d90
/* B70070 800F8ED0 00047100 */ sll $t6, $a0, 4
/* B70074 800F8ED4 01CF1021 */ addu $v0, $t6, $t7
/* B70078 800F8ED8 04A10005 */ bgez $a1, .L800F8EF0
/* B7007C 800F8EDC 468021A0 */ cvt.s.w $f6, $f4
/* B70080 800F8EE0 3C014F80 */ li $at, 0x4F800000 # 0.000000
/* B70084 800F8EE4 44814000 */ mtc1 $at, $f8
/* B70088 800F8EE8 00000000 */ nop
/* B7008C 800F8EEC 46083180 */ add.s $f6, $f6, $f8
.L800F8EF0:
/* B70090 800F8EF0 3C0142FE */ li $at, 0x42FE0000 # 0.000000
/* B70094 800F8EF4 44815000 */ mtc1 $at, $f10
/* B70098 800F8EF8 C4500000 */ lwc1 $f16, ($v0)
/* B7009C 800F8EFC 44862000 */ mtc1 $a2, $f4
/* B700A0 800F8F00 460A3003 */ div.s $f0, $f6, $f10
/* B700A4 800F8F04 A446000C */ sh $a2, 0xc($v0)
/* B700A8 800F8F08 3C014F80 */ li $at, 0x4F800000 # 0.000000
/* B700AC 800F8F0C 46802220 */ cvt.s.w $f8, $f4
/* B700B0 800F8F10 E4400004 */ swc1 $f0, 4($v0)
/* B700B4 800F8F14 04C10004 */ bgez $a2, .L800F8F28
/* B700B8 800F8F18 46008481 */ sub.s $f18, $f16, $f0
/* B700BC 800F8F1C 44813000 */ mtc1 $at, $f6
/* B700C0 800F8F20 00000000 */ nop
/* B700C4 800F8F24 46064200 */ add.s $f8, $f8, $f6
.L800F8F28:
/* B700C8 800F8F28 46089283 */ div.s $f10, $f18, $f8
/* B700CC 800F8F2C 03E00008 */ jr $ra
/* B700D0 800F8F30 E44A0008 */ swc1 $f10, 8($v0)

View file

@ -1,26 +0,0 @@
glabel func_800F8F34
/* B700D4 800F8F34 AFA40000 */ sw $a0, ($sp)
/* B700D8 800F8F38 308400FF */ andi $a0, $a0, 0xff
/* B700DC 800F8F3C 3C0F8017 */ lui $t7, %hi(D_8016E270) # $t7, 0x8017
/* B700E0 800F8F40 25EFE270 */ addiu $t7, %lo(D_8016E270) # addiu $t7, $t7, -0x1d90
/* B700E4 800F8F44 00047100 */ sll $t6, $a0, 4
/* B700E8 800F8F48 01CF1021 */ addu $v0, $t6, $t7
/* B700EC 800F8F4C 9443000C */ lhu $v1, 0xc($v0)
/* B700F0 800F8F50 1060000B */ beqz $v1, .L800F8F80
/* B700F4 800F8F54 2478FFFF */ addiu $t8, $v1, -1
/* B700F8 800F8F58 3319FFFF */ andi $t9, $t8, 0xffff
/* B700FC 800F8F5C 13200006 */ beqz $t9, .L800F8F78
/* B70100 800F8F60 A458000C */ sh $t8, 0xc($v0)
/* B70104 800F8F64 C4440000 */ lwc1 $f4, ($v0)
/* B70108 800F8F68 C4460008 */ lwc1 $f6, 8($v0)
/* B7010C 800F8F6C 46062201 */ sub.s $f8, $f4, $f6
/* B70110 800F8F70 03E00008 */ jr $ra
/* B70114 800F8F74 E4480000 */ swc1 $f8, ($v0)
.L800F8F78:
/* B70118 800F8F78 C44A0004 */ lwc1 $f10, 4($v0)
/* B7011C 800F8F7C E44A0000 */ swc1 $f10, ($v0)
.L800F8F80:
/* B70120 800F8F80 03E00008 */ jr $ra
/* B70124 800F8F84 00000000 */ nop

View file

@ -1,31 +0,0 @@
glabel func_800F8F88
/* B70128 800F8F88 3C0F8017 */ lui $t7, %hi(gAudioContext+0x3828) # $t7, 0x8017
/* B7012C 800F8F8C 8DEF29A8 */ lw $t7, %lo(gAudioContext+0x3828)($t7)
/* B70130 800F8F90 3C0E8017 */ lui $t6, %hi(gAudioContext+0x5AB0) # $t6, 0x8017
/* B70134 800F8F94 27BDFFE0 */ addiu $sp, $sp, -0x20
/* B70138 800F8F98 25CE4C30 */ addiu $t6, %lo(gAudioContext+0x5AB0) # addiu $t6, $t6, 0x4c30
/* B7013C 800F8F9C AFBF001C */ sw $ra, 0x1c($sp)
/* B70140 800F8FA0 11CF000F */ beq $t6, $t7, .L800F8FE0
/* B70144 800F8FA4 AFB00018 */ sw $s0, 0x18($sp)
/* B70148 800F8FA8 3C018017 */ lui $at, %hi(D_8016E260) # $at, 0x8017
/* B7014C 800F8FAC A020E260 */ sb $zero, %lo(D_8016E260)($at)
/* B70150 800F8FB0 00008025 */ move $s0, $zero
.L800F8FB4:
/* B70154 800F8FB4 0C03DF3B */ jal func_800F7CEC
/* B70158 800F8FB8 320400FF */ andi $a0, $s0, 0xff
/* B7015C 800F8FBC 0C03E120 */ jal func_800F8480
/* B70160 800F8FC0 320400FF */ andi $a0, $s0, 0xff
/* B70164 800F8FC4 0C03E3CD */ jal func_800F8F34
/* B70168 800F8FC8 320400FF */ andi $a0, $s0, 0xff
/* B7016C 800F8FCC 26100001 */ addiu $s0, $s0, 1
/* B70170 800F8FD0 321000FF */ andi $s0, $s0, 0xff
/* B70174 800F8FD4 2A010007 */ slti $at, $s0, 7
/* B70178 800F8FD8 1420FFF6 */ bnez $at, .L800F8FB4
/* B7017C 800F8FDC 00000000 */ nop
.L800F8FE0:
/* B70180 800F8FE0 8FBF001C */ lw $ra, 0x1c($sp)
/* B70184 800F8FE4 8FB00018 */ lw $s0, 0x18($sp)
/* B70188 800F8FE8 27BD0020 */ addiu $sp, $sp, 0x20
/* B7018C 800F8FEC 03E00008 */ jr $ra
/* B70190 800F8FF0 00000000 */ nop

View file

@ -1,32 +0,0 @@
glabel func_800F8FF4
/* B70194 800F8FF4 308EF000 */ andi $t6, $a0, 0xf000
/* B70198 800F8FF8 000E7B02 */ srl $t7, $t6, 0xc
/* B7019C 800F8FFC 31F800FF */ andi $t8, $t7, 0xff
/* B701A0 800F9000 0018C880 */ sll $t9, $t8, 2
/* B701A4 800F9004 3C038013 */ lui $v1, %hi(D_801333A8)
/* B701A8 800F9008 00791821 */ addu $v1, $v1, $t9
/* B701AC 800F900C 8C6333A8 */ lw $v1, %lo(D_801333A8)($v1)
/* B701B0 800F9010 240600FF */ li $a2, 255
/* B701B4 800F9014 24070030 */ li $a3, 48
/* B701B8 800F9018 9062002D */ lbu $v0, 0x2d($v1)
/* B701BC 800F901C 50C2000D */ beql $a2, $v0, .L800F9054
/* B701C0 800F9020 00001025 */ move $v0, $zero
.L800F9024:
/* B701C4 800F9024 00470019 */ multu $v0, $a3
/* B701C8 800F9028 00004012 */ mflo $t0
/* B701CC 800F902C 00682821 */ addu $a1, $v1, $t0
/* B701D0 800F9030 94A90028 */ lhu $t1, 0x28($a1)
/* B701D4 800F9034 54890004 */ bnel $a0, $t1, .L800F9048
/* B701D8 800F9038 90A2002D */ lbu $v0, 0x2d($a1)
/* B701DC 800F903C 03E00008 */ jr $ra
/* B701E0 800F9040 24020001 */ li $v0, 1
/* B701E4 800F9044 90A2002D */ lbu $v0, 0x2d($a1)
.L800F9048:
/* B701E8 800F9048 14C2FFF6 */ bne $a2, $v0, .L800F9024
/* B701EC 800F904C 00000000 */ nop
/* B701F0 800F9050 00001025 */ move $v0, $zero
.L800F9054:
/* B701F4 800F9054 03E00008 */ jr $ra
/* B701F8 800F9058 00000000 */ nop

View file

@ -1,143 +0,0 @@
glabel func_800F905C
/* B701FC 800F905C 3C018013 */ lui $at, %hi(D_801333A0) # $at, 0x8013
/* B70200 800F9060 A02033A0 */ sb $zero, %lo(D_801333A0)($at)
/* B70204 800F9064 3C018013 */ lui $at, %hi(D_801333A4) # $at, 0x8013
/* B70208 800F9068 A02033A4 */ sb $zero, %lo(D_801333A4)($at)
/* B7020C 800F906C 3C018013 */ lui $at, %hi(D_801333D0) # $at, 0x8013
/* B70210 800F9070 A42033D0 */ sh $zero, %lo(D_801333D0)($at)
/* B70214 800F9074 3C013F80 */ lui $at, 0x3f80
/* B70218 800F9078 3C098017 */ lui $t1, %hi(D_8016E270) # $t1, 0x8017
/* B7021C 800F907C 3C088017 */ lui $t0, %hi(D_8016E264) # $t0, 0x8017
/* B70220 800F9080 3C078017 */ lui $a3, %hi(D_8016E1B0) # $a3, 0x8017
/* B70224 800F9084 3C058017 */ lui $a1, %hi(D_8016E1A8) # $a1, 0x8017
/* B70228 800F9088 3C048017 */ lui $a0, %hi(D_8016E1A0)
/* B7022C 800F908C 44810000 */ mtc1 $at, $f0
/* B70230 800F9090 2484E1A0 */ addiu $a0, %lo(D_8016E1A0)
/* B70234 800F9094 24A5E1A8 */ addiu $a1, %lo(D_8016E1A8) # addiu $a1, $a1, -0x1e58
/* B70238 800F9098 24E7E1B0 */ addiu $a3, %lo(D_8016E1B0) # addiu $a3, $a3, -0x1e50
/* B7023C 800F909C 2508E264 */ addiu $t0, %lo(D_8016E264) # addiu $t0, $t0, -0x1d9c
/* B70240 800F90A0 2529E270 */ addiu $t1, %lo(D_8016E270) # addiu $t1, $t1, -0x1d90
/* B70244 800F90A4 00001025 */ move $v0, $zero
/* B70248 800F90A8 24060001 */ li $a2, 1
.L800F90AC:
/* B7024C 800F90AC 00827021 */ addu $t6, $a0, $v0
/* B70250 800F90B0 00A27821 */ addu $t7, $a1, $v0
/* B70254 800F90B4 A1C00000 */ sb $zero, ($t6)
/* B70258 800F90B8 00E2C021 */ addu $t8, $a3, $v0
/* B7025C 800F90BC 0102C821 */ addu $t9, $t0, $v0
/* B70260 800F90C0 00026100 */ sll $t4, $v0, 4
/* B70264 800F90C4 24420001 */ addiu $v0, $v0, 1
/* B70268 800F90C8 A1E60000 */ sb $a2, ($t7)
/* B7026C 800F90CC 304200FF */ andi $v0, $v0, 0xff
/* B70270 800F90D0 A3000000 */ sb $zero, ($t8)
/* B70274 800F90D4 28410007 */ slti $at, $v0, 7
/* B70278 800F90D8 A3200000 */ sb $zero, ($t9)
/* B7027C 800F90DC 012C1821 */ addu $v1, $t1, $t4
/* B70280 800F90E0 E4600000 */ swc1 $f0, ($v1)
/* B70284 800F90E4 1420FFF1 */ bnez $at, .L800F90AC
/* B70288 800F90E8 A460000C */ sh $zero, 0xc($v1)
/* B7028C 800F90EC 00001025 */ move $v0, $zero
/* B70290 800F90F0 240800FF */ li $t0, 255
/* B70294 800F90F4 00026880 */ sll $t5, $v0, 2
.L800F90F8:
/* B70298 800F90F8 01A26823 */ subu $t5, $t5, $v0
/* B7029C 800F90FC 3C0E8017 */ lui $t6, %hi(D_8016E1B8) # $t6, 0x8017
/* B702A0 800F9100 25CEE1B8 */ addiu $t6, %lo(D_8016E1B8) # addiu $t6, $t6, -0x1e48
/* B702A4 800F9104 000D68C0 */ sll $t5, $t5, 3
/* B702A8 800F9108 01AE2021 */ addu $a0, $t5, $t6
/* B702AC 800F910C 00001825 */ move $v1, $zero
.L800F9110:
/* B702B0 800F9110 000378C0 */ sll $t7, $v1, 3
/* B702B4 800F9114 24630001 */ addiu $v1, $v1, 1
/* B702B8 800F9118 306300FF */ andi $v1, $v1, 0xff
/* B702BC 800F911C 28610003 */ slti $at, $v1, 3
/* B702C0 800F9120 008FC021 */ addu $t8, $a0, $t7
/* B702C4 800F9124 1420FFFA */ bnez $at, .L800F9110
/* B702C8 800F9128 A3080004 */ sb $t0, 4($t8)
/* B702CC 800F912C 24420001 */ addiu $v0, $v0, 1
/* B702D0 800F9130 304200FF */ andi $v0, $v0, 0xff
/* B702D4 800F9134 28410007 */ slti $at, $v0, 7
/* B702D8 800F9138 5420FFEF */ bnezl $at, .L800F90F8
/* B702DC 800F913C 00026880 */ sll $t5, $v0, 2
/* B702E0 800F9140 3C0A8013 */ lui $t2, %hi(D_801333C4) # $t2, 0x8013
/* B702E4 800F9144 3C098013 */ lui $t1, %hi(D_801333A8) # $t1, 0x8013
/* B702E8 800F9148 252933A8 */ addiu $t1, %lo(D_801333A8) # addiu $t1, $t1, 0x33a8
/* B702EC 800F914C 254A33C4 */ addiu $t2, %lo(D_801333C4) # addiu $t2, $t2, 0x33c4
/* B702F0 800F9150 00001025 */ move $v0, $zero
/* B702F4 800F9154 240B0030 */ li $t3, 48
.L800F9158:
/* B702F8 800F9158 0002C880 */ sll $t9, $v0, 2
/* B702FC 800F915C 01392821 */ addu $a1, $t1, $t9
/* B70300 800F9160 8CAC0000 */ lw $t4, ($a1)
/* B70304 800F9164 01423021 */ addu $a2, $t2, $v0
/* B70308 800F9168 24030001 */ li $v1, 1
/* B7030C 800F916C A188002C */ sb $t0, 0x2c($t4)
/* B70310 800F9170 8CAD0000 */ lw $t5, ($a1)
/* B70314 800F9174 24040001 */ li $a0, 1
/* B70318 800F9178 A1A8002D */ sb $t0, 0x2d($t5)
/* B7031C 800F917C 90CE0000 */ lbu $t6, ($a2)
/* B70320 800F9180 25CFFFFF */ addiu $t7, $t6, -1
/* B70324 800F9184 29E10002 */ slti $at, $t7, 2
/* B70328 800F9188 14200013 */ bnez $at, .L800F91D8
/* B7032C 800F918C 00000000 */ nop
.L800F9190:
/* B70330 800F9190 006B0019 */ multu $v1, $t3
/* B70334 800F9194 8CB90000 */ lw $t9, ($a1)
/* B70338 800F9198 2498FFFF */ addiu $t8, $a0, -1
/* B7033C 800F919C 248D0001 */ addiu $t5, $a0, 1
/* B70340 800F91A0 24630001 */ addiu $v1, $v1, 1
/* B70344 800F91A4 306300FF */ andi $v1, $v1, 0xff
/* B70348 800F91A8 00602025 */ move $a0, $v1
/* B7034C 800F91AC 00003812 */ mflo $a3
/* B70350 800F91B0 03276021 */ addu $t4, $t9, $a3
/* B70354 800F91B4 A198002C */ sb $t8, 0x2c($t4)
/* B70358 800F91B8 8CAE0000 */ lw $t6, ($a1)
/* B7035C 800F91BC 01C77821 */ addu $t7, $t6, $a3
/* B70360 800F91C0 A1ED002D */ sb $t5, 0x2d($t7)
/* B70364 800F91C4 90D90000 */ lbu $t9, ($a2)
/* B70368 800F91C8 2738FFFF */ addiu $t8, $t9, -1
/* B7036C 800F91CC 0078082A */ slt $at, $v1, $t8
/* B70370 800F91D0 1420FFEF */ bnez $at, .L800F9190
/* B70374 800F91D4 00000000 */ nop
.L800F91D8:
/* B70378 800F91D8 006B0019 */ multu $v1, $t3
/* B7037C 800F91DC 8CAE0000 */ lw $t6, ($a1)
/* B70380 800F91E0 246CFFFF */ addiu $t4, $v1, -1
/* B70384 800F91E4 24420001 */ addiu $v0, $v0, 1
/* B70388 800F91E8 304200FF */ andi $v0, $v0, 0xff
/* B7038C 800F91EC 28410007 */ slti $at, $v0, 7
/* B70390 800F91F0 00003812 */ mflo $a3
/* B70394 800F91F4 01C76821 */ addu $t5, $t6, $a3
/* B70398 800F91F8 A1AC002C */ sb $t4, 0x2c($t5)
/* B7039C 800F91FC 8CAF0000 */ lw $t7, ($a1)
/* B703A0 800F9200 01E7C821 */ addu $t9, $t7, $a3
/* B703A4 800F9204 1420FFD4 */ bnez $at, .L800F9158
/* B703A8 800F9208 A328002D */ sb $t0, 0x2d($t9)
/* B703AC 800F920C 3C058013 */ lui $a1, %hi(D_801333F8) # $a1, 0x8013
/* B703B0 800F9210 24A533F8 */ addiu $a1, %lo(D_801333F8) # addiu $a1, $a1, 0x33f8
/* B703B4 800F9214 90A30000 */ lbu $v1, ($a1)
/* B703B8 800F9218 3C088017 */ lui $t0, %hi(D_8016E310) # $t0, 0x8017
/* B703BC 800F921C 2508E310 */ addiu $t0, %lo(D_8016E310) # addiu $t0, $t0, -0x1cf0
/* B703C0 800F9220 14600012 */ bnez $v1, .L800F926C
/* B703C4 800F9224 00001025 */ move $v0, $zero
/* B703C8 800F9228 3C078017 */ lui $a3, %hi(D_8016E2F8) # $a3, 0x8017
/* B703CC 800F922C 3C068017 */ lui $a2, %hi(D_8016E2E0) # $a2, 0x8017
/* B703D0 800F9230 24C6E2E0 */ addiu $a2, %lo(D_8016E2E0) # addiu $a2, $a2, -0x1d20
/* B703D4 800F9234 24E7E2F8 */ addiu $a3, %lo(D_8016E2F8) # addiu $a3, $a3, -0x1d08
.L800F9238:
/* B703D8 800F9238 00022040 */ sll $a0, $v0, 1
/* B703DC 800F923C 01026021 */ addu $t4, $t0, $v0
/* B703E0 800F9240 24420001 */ addiu $v0, $v0, 1
/* B703E4 800F9244 00C4C021 */ addu $t8, $a2, $a0
/* B703E8 800F9248 304200FF */ andi $v0, $v0, 0xff
/* B703EC 800F924C A7000000 */ sh $zero, ($t8)
/* B703F0 800F9250 00E47021 */ addu $t6, $a3, $a0
/* B703F4 800F9254 2841000A */ slti $at, $v0, 0xa
/* B703F8 800F9258 A5C00000 */ sh $zero, ($t6)
/* B703FC 800F925C 1420FFF6 */ bnez $at, .L800F9238
/* B70400 800F9260 A1800000 */ sb $zero, ($t4)
/* B70404 800F9264 246D0001 */ addiu $t5, $v1, 1
/* B70408 800F9268 A0AD0000 */ sb $t5, ($a1)
.L800F926C:
/* B7040C 800F926C 03E00008 */ jr $ra
/* B70410 800F9270 00000000 */ nop

View file

@ -1,64 +0,0 @@
.include "macro.inc"
# assembler directives
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.set gp=64 # allow use of 64-bit general purpose registers
.section .data
.balign 16
glabel D_80133340
.incbin "baserom.z64", 0xBAA4E0, 0x4
glabel D_80133344
.incbin "baserom.z64", 0xBAA4E4, 0x4C
glabel D_80133390
.incbin "baserom.z64", 0xBAA530, 0x8
glabel D_80133398
.incbin "baserom.z64", 0xBAA538, 0x8
glabel D_801333A0
.incbin "baserom.z64", 0xBAA540, 0x4
glabel D_801333A4
.incbin "baserom.z64", 0xBAA544, 0x4
glabel D_801333A8
.word D_8016BAD0
.word D_8016BC80
.word D_8016BEC0
.word D_8016C2E0
.word D_8016C6A0
.word D_8016C820
.word D_8016C8B0
glabel D_801333C4
.incbin "baserom.z64", 0xBAA564, 0x8
glabel D_801333CC
.incbin "baserom.z64", 0xBAA56C, 0x4
glabel D_801333D0
.incbin "baserom.z64", 0xBAA570, 0x4
glabel D_801333D4
.incbin "baserom.z64", 0xBAA574, 0xC
glabel D_801333E0
.incbin "baserom.z64", 0xBAA580, 0x8
glabel D_801333E8
.incbin "baserom.z64", 0xBAA588, 0x8
glabel D_801333F0
.incbin "baserom.z64", 0xBAA590, 0x4
glabel D_801333F4
.incbin "baserom.z64", 0xBAA594, 0x4
glabel D_801333F8
.incbin "baserom.z64", 0xBAA598, 0x8

View file

@ -2136,7 +2136,7 @@ void func_800E4FB0(void);
// ? func_800E5A8C(?); // ? func_800E5A8C(?);
// ? func_800E5AD8(?); // ? func_800E5AD8(?);
// ? func_800E5AFC(?); // ? func_800E5AFC(?);
// ? func_800E5B20(?); void func_800E5B20(u32, s8);
// ? func_800E5B50(?); // ? func_800E5B50(?);
// ? func_800E5B80(?); // ? func_800E5B80(?);
// ? func_800E5C10(?); // ? func_800E5C10(?);
@ -2152,7 +2152,7 @@ void func_800E4FB0(void);
// ? func_800E6300(?); // ? func_800E6300(?);
// ? func_800E6680(?); // ? func_800E6680(?);
// ? func_800E66C0(?); // ? func_800E66C0(?);
// ? func_800E67C0(?); s32 Audio_NextRandom(void);
// ? func_800E6818(?); // ? func_800E6818(?);
// ? func_800E6840(?); // ? func_800E6840(?);
void func_800E6880(void* mem, s32 size); void func_800E6880(void* mem, s32 size);
@ -2247,7 +2247,7 @@ void func_800ED858(u8);
// ? func_800F28B4(?); // ? func_800F28B4(?);
// ? func_800F29FC(?); // ? func_800F29FC(?);
// ? func_800F2A04(?); // ? func_800F2A04(?);
// ? func_800F2D6C(?); void func_800F2D6C(u8*, u16);
// ? func_800F2E28(?); // ? func_800F2E28(?);
// ? func_800F3054(?); // ? func_800F3054(?);
// ? func_800F3188(?); // ? func_800F3188(?);
@ -2256,7 +2256,7 @@ void func_800ED858(u8);
// ? func_800F35EC(?); // ? func_800F35EC(?);
// ? func_800F37B8(?); // ? func_800F37B8(?);
// ? func_800F3990(?); // ? func_800F3990(?);
// ? func_800F3A08(?); void func_800F3A08(u8, u8, u8);
// ? func_800F3ED4(?); // ? func_800F3ED4(?);
void func_800F3F3C(u8); void func_800F3F3C(u8);
// ? func_800F3F84(?); // ? func_800F3F84(?);
@ -2313,36 +2313,41 @@ void func_800F711C();
// ? func_800F7170(?); // ? func_800F7170(?);
// ? func_800F71BC(?); // ? func_800F71BC(?);
void func_800F7260(u16); void func_800F7260(u16);
// ? func_800F72B8(?); void func_800F72B8(u8);
// ? func_800F731C(?); void func_800F731C(u8);
void Audio_PlaySoundGeneral(u16 sfxId, Vec3f* a1, u32 a2, u32* a3, u32* a4, u32* a5); void Audio_PlaySoundGeneral(u16 sfxId, Vec3f* a1, u8 a2, u32* a3, u32* a4, u32* a5);
// ? func_800F74E0(?); // ? func_800F74E0(?);
// ? func_800F7680(?); void func_800F7680(void);
// ? func_800F7B54(?); void func_800F7B54(u8, u8);
// ? func_800F7CEC(?); void func_800F7CEC(u8);
// ? func_800F8480(?); void func_800F8480(u8);
// ? func_800F87A0(?); void func_800F87A0(u8);
// ? func_800F8884(?); void func_800F8884(u8, Vec3f*);
void func_800F89A0(u8, Vec3f*);
void func_800F89E8(Vec3f*); void func_800F89E8(Vec3f*);
void func_800F8D04(u16 arg0); void func_800F8A44(Vec3f*, u16);
// ? func_800F8D04(?); void func_800F8BA0(u8, u16);
// ? func_800F8E3C(?); void func_800F8D04(u32 sfxId);
// ? func_800F8F34(?); void func_800F8E3C(void);
// ? func_800F8F88(?); void func_800F8EA0(u8, u8, u16);
// ? func_800F8FF4(?); void func_800F8F34(u8);
// ? func_800F905C(?); void func_800F8F88(void);
u8 func_800F8FF4(u32 sfxId);
void func_800F905C(void);
// ? func_800F9280(?); // ? func_800F9280(?);
// ? func_800F9474(?); void func_800F9474(u8, u16);
// ? func_800F94FC(?); void func_800F94FC(u32);
void Audio_SetBGM(u32 bgmID); void Audio_SetBGM(u32 bgmId);
// ? func_800FA034(?); void func_800FA034(void);
u16 func_800FA0B4(s32 a0); u16 func_800FA0B4(u8 a0);
// ? func_800FA11C(?); s32 func_800FA11C(u32, s32);
// ? func_800FA240(?); void func_800FA174(u8);
// ? func_800FA3DC(?); void func_800FA18C(u8, u8);
// ? func_800FAD34(?); void func_800FA240(u8, u8, u8, u8);
// ? func_800FADF8(?); void func_800FA3DC(void);
// ? func_800FAEB4(?); u8 func_800FAD34(void);
void func_800FADF8(void);
void func_800FAEB4(void);
void GfxPrint_InitDlist(GfxPrint*); void GfxPrint_InitDlist(GfxPrint*);
void GfxPrint_SetColor(GfxPrint*, u32, u32, u32, u32); void GfxPrint_SetColor(GfxPrint*, u32, u32, u32, u32);
void GfxPrint_SetPosPx(GfxPrint*, s32, s32); void GfxPrint_SetPosPx(GfxPrint*, s32, s32);

View file

@ -612,8 +612,9 @@ extern s16 D_80130328[];
//extern ? D_80130500; //extern ? D_80130500;
extern f32 D_80130510; extern f32 D_80130510;
extern s32 D_80130514; extern s32 D_80130514;
//extern ? D_80130570; extern u8 D_80130570[8];
//extern ? D_80130578; extern u8 D_80130578[4][7];
extern u8 D_80130594[4][7];
//extern ? D_801305B0; //extern ? D_801305B0;
//extern ? D_801305B4; //extern ? D_801305B4;
//extern ? D_801305B8; //extern ? D_801305B8;
@ -752,22 +753,23 @@ extern u8* gScarecrowSpawnSongPtr;
//extern ? D_80131F68; //extern ? D_80131F68;
//extern ? D_80131F6C; //extern ? D_80131F6C;
//extern ? D_8013331C; //extern ? D_8013331C;
//extern ? D_80133340; extern u8 D_80133340[4];
//extern ? D_80133344; //extern ? D_80133344;
//extern ? D_80133390; extern s32 D_8013338C;
//extern ? D_80133398; extern UNK_TYPE D_80133390[];
//extern ? D_801333A0; extern UNK_TYPE D_80133398[];
//extern ? D_801333A4; extern u8 D_801333A0;
//extern ? D_801333A8; extern u8 D_801333A4;
//extern ? D_801333C4; extern SoundBankEntry* gSoundBanks[7];
//extern ? D_801333CC; extern u8 sBankSizes[7];
//extern ? D_801333D0; extern u8 D_801333CC;
extern u16 D_801333D0;
extern Vec3f D_801333D4; extern Vec3f D_801333D4;
extern u32 D_801333E0; extern f32 D_801333E0;
extern u32 D_801333E8; extern f32 D_801333E8;
//extern ? D_801333F0; extern u8 D_801333F0;
//extern ? D_801333F4; extern u8 D_801333F4;
//extern ? D_801333F8; extern u8 D_801333F8;
//extern ? D_80133400; //extern ? D_80133400;
//extern ? D_80133404; //extern ? D_80133404;
//extern ? D_80133408; //extern ? D_80133408;
@ -3529,17 +3531,24 @@ extern FaultThreadStruct gFaultStruct;
//extern ? D_8016BAB8; //extern ? D_8016BAB8;
//extern ? D_8016BABC; //extern ? D_8016BABC;
//extern ? D_8016BAC0; //extern ? D_8016BAC0;
extern SoundBankEntry D_8016BAD0[9];
extern SoundBankEntry D_8016BC80[12];
extern SoundBankEntry D_8016BEC0[22];
extern SoundBankEntry D_8016C2E0[20];
extern SoundBankEntry D_8016C6A0[8];
extern SoundBankEntry D_8016C820[3];
extern SoundBankEntry D_8016C8B0[5];
//extern ? D_8016C9A0; //extern ? D_8016C9A0;
//extern ? D_8016E1A0; extern u8 D_8016E1A0[7];
//extern ? D_8016E1A8; extern u8 D_8016E1A8[7];
//extern ? D_8016E1B0; extern u8 D_8016E1B0[7];
//extern ? D_8016E1B8; //extern ? D_8016E1B8;
//extern ? D_8016E260; extern u8 D_8016E260;
//extern ? D_8016E264; extern u8 D_8016E264[];
//extern ? D_8016E270; //extern ? D_8016E270;
//extern ? D_8016E2E0; extern u16 D_8016E2E0[];
//extern ? D_8016E2F8; extern u16 D_8016E2F8[];
//extern ? D_8016E310; extern u8 D_8016E310[];
//extern ? D_8016E320; //extern ? D_8016E320;
//extern ? D_8016E348; //extern ? D_8016E348;
//extern ? D_8016E350; //extern ? D_8016E350;

View file

@ -742,4 +742,47 @@ typedef struct {
/* 0x16 */ u16 unk_16; /* 0x16 */ u16 unk_16;
} Reverb; // size >= 0x18 } Reverb; // size >= 0x18
typedef struct {
/* 0x00 */ f32* posX;
/* 0x04 */ f32* posY;
/* 0x08 */ f32* posZ;
/* 0x0C */ u8 unk_C;
/* 0x10 */ u32* unk_10;
/* 0x14 */ u32* unk_14;
/* 0x18 */ u32* unk_18;
/* 0x1C */ f32 unk_1C;
/* 0x20 */ u32 unk_20;
/* 0x24 */ u8 unk_24;
/* 0x26 */ u16 unk_26;
/* 0x28 */ u16 unk_28; // "flag"
/* 0x2A */ u8 unk_2A;
/* 0x2B */ u8 unk_2B;
/* 0x2C */ u8 prev; // prev bank index
/* 0x2D */ u8 next; // next bank index
/* 0x2E */ u8 unk_2E;
/* 0x2F */ u8 unk_2F;
} SoundBankEntry; // size = 0x30
/*
* SFX IDs
*
* index 0000000111111111 observed in audio code
* & 200 0000001000000000 single bit
* & 400 0000010000000000 single bit
* & 800 0000100000000000 single bit, what we currently call SFX_FLAG
* & 600 0000011000000000 2 bits
* & A00 0000101000000000 2 bits
* & C00 0000110000000000 2 bits, observed in audio code
* & E00 0000111000000000 all 3 bits
* bank 1111000000000000 observed in audio code
*
*/
#define SFX_BANK_SHIFT(sfxId) ((sfxId >> 0xC) & 0xFF)
#define SFX_BANK_MASK(sfxId) (sfxId & 0xF000)
#define SFX_INDEX(sfxId) (sfxId & 0x01FF)
#define SFX_BANK(sfxId) SFX_BANK_SHIFT(SFX_BANK_MASK(sfxId))
#endif #endif

1
spec
View file

@ -419,7 +419,6 @@ beginseg
include "build/src/code/code_800EC960.o" include "build/src/code/code_800EC960.o"
include "build/data/code_800EC960.data.o" include "build/data/code_800EC960.data.o"
include "build/src/code/code_800F7260.o" include "build/src/code/code_800F7260.o"
include "build/data/code_800F7260.data.o"
include "build/src/code/code_800F9280.o" include "build/src/code/code_800F9280.o"
include "build/data/code_800F9280.data.o" include "build/data/code_800F9280.data.o"
include "build/data/code_800F9280.rodata.o" include "build/data/code_800F9280.rodata.o"

View file

@ -229,6 +229,6 @@
#pragma GLOBAL_ASM("asm/non_matchings/code/code_800E11F0/func_800E66C0.s") #pragma GLOBAL_ASM("asm/non_matchings/code/code_800E11F0/func_800E66C0.s")
#pragma GLOBAL_ASM("asm/non_matchings/code/code_800E11F0/func_800E67C0.s") #pragma GLOBAL_ASM("asm/non_matchings/code/code_800E11F0/Audio_NextRandom.s")
#pragma GLOBAL_ASM("asm/non_matchings/code/code_800E11F0/func_800E6818.s") #pragma GLOBAL_ASM("asm/non_matchings/code/code_800E11F0/func_800E6818.s")

View file

@ -1,40 +1,638 @@
#include "ultra64.h" #include "ultra64.h"
#include "global.h" #include "global.h"
#include "vt.h"
#pragma GLOBAL_ASM("asm/non_matchings/code/code_800F7260/func_800F7260.s") typedef struct {
/* 0x00 */ u16 sfxId;
/* 0x04 */ Vec3f* pos;
/* 0x08 */ u8 unk_8;
/* 0x0C */ u32* unk_C;
/* 0x10 */ u32* unk_10;
/* 0x14 */ u32* unk_14;
} Struct_800F738C; // size = 0x18
#pragma GLOBAL_ASM("asm/non_matchings/code/code_800F7260/func_800F72B8.s") typedef struct {
/* 0x00 */ f32 unk_0;
/* 0x04 */ f32 unk_4;
/* 0x08 */ f32 unk_8;
/* 0x0C */ u16 unk_C;
} Struct_800F8EA0; // size = 0x10
#pragma GLOBAL_ASM("asm/non_matchings/code/code_800F7260/func_800F731C.s") typedef struct {
u32 unk_0;
u8 unk_4;
} Struct_800F7CEC;
#pragma GLOBAL_ASM("asm/non_matchings/code/code_800F7260/Audio_PlaySoundGeneral.s") typedef struct {
u8 unk_0;
u16 unk_2;
} Struct_8013331C;
#pragma GLOBAL_ASM("asm/non_matchings/code/code_800F7260/func_800F74E0.s") u8 D_80133340[4] = {
0x53,
0x45,
0x00,
0x00,
};
char D_80133344[] = VT_COL(RED, WHITE) "<INAGAKI CHECK> dist over! flag:%04X ptr:%08X pos:%f-%f-%f" VT_RST "\n";
s32 D_8013338C = 0;
UNK_TYPE D_80133390[] = {
0x53455120,
0x48000000,
};
UNK_TYPE D_80133398[] = {
0x20202020,
0x4C000000,
};
u8 D_801333A0 = 0;
u8 D_801333A4 = 0;
/**
* Array of pointers to arrays of SoundBankEntry of sizes: 9, 12, 22, 20, 8, 3, 5
*
* 0 : Player Bank size 9
* 1 : Item Bank size 12
* 2 : Environment Bank size 22
* 3 : Enemy Bank size 20
* 4 : System Bank size 8
* 5 : Ocarina Bank size 3
* 6 : Voice Bank size 5
*/
SoundBankEntry* gSoundBanks[7] = {
D_8016BAD0, D_8016BC80, D_8016BEC0, D_8016C2E0, D_8016C6A0, D_8016C820, D_8016C8B0,
};
u8 sBankSizes[ARRAY_COUNT(gSoundBanks)] = {
ARRAY_COUNT(D_8016BAD0), ARRAY_COUNT(D_8016BC80), ARRAY_COUNT(D_8016BEC0), ARRAY_COUNT(D_8016C2E0),
ARRAY_COUNT(D_8016C6A0), ARRAY_COUNT(D_8016C820), ARRAY_COUNT(D_8016C8B0),
};
u8 D_801333CC = 0;
u16 D_801333D0 = 0;
Vec3f D_801333D4 = { 0.0f, 0.0f, 0.0f };
f32 D_801333E0 = 1.0f;
UNK_TYPE D_801333E4 = 0;
f32 D_801333E8 = 0.0f;
UNK_TYPE D_801333EC = 0;
u8 D_801333F0 = 0;
u8 D_801333F4 = 0;
u8 D_801333F8 = 0;
extern Struct_800F738C D_8016C9A0[];
extern Struct_800F7CEC D_8016E1B8[7][3]; // total size = 0xA8
extern Struct_800F8EA0 D_8016E270[];
extern Struct_8013331C* D_8013331C[9];
void func_800F7260(u16 arg0) {
u8 bankId;
for (bankId = 0; bankId < ARRAY_COUNT(gSoundBanks); bankId++) {
if (arg0 & 1) {
D_8016E264[bankId] = 1;
} else {
D_8016E264[bankId] = 0;
}
arg0 = (arg0 >> 1) & 0xFFFF;
}
}
void func_800F72B8(u8 arg0) {
D_801333D0 |= (1 << arg0);
func_800FA240(0, 2, 0x40, 0xF);
func_800FA240(3, 2, 0x40, 0xF);
}
void func_800F731C(u8 arg0) {
D_801333D0 &= ((1 << arg0) ^ 0xFFFF);
if (D_801333D0 == 0) {
func_800FA240(0, 2, 0x7F, 0xF);
func_800FA240(3, 2, 0x7F, 0xF);
}
}
void Audio_PlaySoundGeneral(u16 sfxId, Vec3f* a1, u8 a2, u32* a3, u32* a4, u32* a5) {
u8 i;
Struct_800F738C* phi_v0;
if (D_8016E264[SFX_BANK_SHIFT(sfxId)] == 0) {
phi_v0 = &D_8016C9A0[D_801333A0];
if (D_801333F4 == 0) {
for (i = 0; i < 10; i++) {
if (sfxId == D_8016E2E0[i]) {
if (D_8016E310[i] == 0) {
sfxId = D_8016E2F8[i];
} else {
phi_v0->sfxId = D_8016E2F8[i];
phi_v0->pos = a1;
phi_v0->unk_8 = a2;
phi_v0->unk_C = a3;
phi_v0->unk_10 = a4;
phi_v0->unk_14 = a5;
D_801333A0++;
phi_v0 = &D_8016C9A0[D_801333A0];
}
i = 10;
}
}
}
phi_v0->sfxId = sfxId;
phi_v0->pos = a1;
phi_v0->unk_8 = a2;
phi_v0->unk_C = a3;
phi_v0->unk_10 = a4;
phi_v0->unk_14 = a5;
D_801333A0++;
}
}
void func_800F74E0(u8 arg0, SoundBankEntry* arg1) {
Struct_800F738C* entry;
s32 phi_a0;
u8 i = D_801333A4;
while (i != D_801333A0) {
phi_a0 = false;
entry = &D_8016C9A0[i];
switch (arg0) {
case 0:
if (SFX_BANK_MASK(entry->sfxId) == SFX_BANK_MASK(arg1->unk_28)) {
phi_a0 = true;
}
break;
case 1:
if (SFX_BANK_MASK(entry->sfxId) == SFX_BANK_MASK(arg1->unk_28) && (&entry->pos->x == arg1->posX)) {
phi_a0 = true;
}
break;
case 2:
if (&entry->pos->x == arg1->posX) {
phi_a0 = true;
}
break;
case 3:
if (&entry->pos->x == arg1->posX && entry->sfxId == arg1->unk_28) {
phi_a0 = true;
}
break;
case 4:
if (entry->unk_8 == arg1->unk_C && entry->sfxId == arg1->unk_28) {
phi_a0 = true;
}
break;
case 5:
if (entry->sfxId == arg1->unk_28) {
phi_a0 = true;
}
break;
}
if (phi_a0) {
entry->sfxId = 0;
}
i++;
}
}
#ifdef NON_EQUIVALENT
// Mostly ok at the start, then runs into some reorderings near the assignments
// of temp_s0 and temp_a2, inducing regalloc throughout the rest
void func_800F7680(void) {
u8 sp43;
Struct_8013331C* temp_a2;
SoundBankEntry* temp_s0;
s32 phi_s5;
Struct_800F738C* phi_t2;
u8 phi_a1;
u8 phi_t4;
s32 phi_s1;
phi_t2 = &D_8016C9A0[D_801333A4];
phi_s1 = 0x80;
if (phi_t2->sfxId == 0) {
return;
}
phi_s5 = SFX_BANK(phi_t2->sfxId);
if ((1 << phi_s5) & D_801333F0) {
func_800F2D6C(D_80133340, phi_t2->sfxId);
phi_s5 = SFX_BANK(phi_t2->sfxId);
}
phi_t4 = 0;
phi_a1 = gSoundBanks[phi_s5][0].next;
while (phi_a1 != 0xFF && phi_a1 != 0) {
if (gSoundBanks[phi_s5][phi_a1].posX == &phi_t2->pos->x) {
temp_a2 = &D_8013331C[SFX_BANK_SHIFT(phi_t2->sfxId)][SFX_INDEX(phi_t2->sfxId)];
temp_s0 = &gSoundBanks[phi_s5][phi_a1];
if (!(temp_a2->unk_2 & 0x20) || temp_s0->unk_24 != temp_a2->unk_0) {
if (temp_s0->unk_28 == phi_t2->sfxId) {
phi_t4 = D_80130594[phi_s5][D_801333CC];
} else {
//!@bug possibly uninitialized sp43 ? confirm when matching
if (phi_t4 == 0) {
phi_s1 = phi_a1;
sp43 = D_8013331C[SFX_BANK_SHIFT(temp_s0->unk_28)][SFX_INDEX(temp_s0->unk_28)].unk_0;
} else if (temp_s0->unk_24 < sp43) {
if (1) {}
if (1) {}
if (1) {}
if (1) {}
if (1) {}
if (1) {}
phi_s1 = phi_a1;
sp43 = D_8013331C[SFX_BANK_SHIFT(temp_s0->unk_28)][SFX_INDEX(temp_s0->unk_28)].unk_0;
}
phi_t4++;
if (phi_t4 == D_80130594[phi_s5][D_801333CC]) {
phi_a1 = (temp_a2->unk_0 >= sp43) ? phi_s1 : 0;
}
}
if (D_80130594[phi_s5][D_801333CC] == phi_t4) {
if ((phi_t2->sfxId & 0xC00) || (temp_a2->unk_2 & 4) || phi_a1 == phi_s1) {
if ((gSoundBanks[phi_s5][phi_a1].unk_26 & 8) && gSoundBanks[phi_s5][phi_a1].unk_2A != 1) {
func_800F731C(gSoundBanks[phi_s5][phi_a1].unk_2E);
}
gSoundBanks[phi_s5][phi_a1].unk_C = phi_t2->unk_8;
gSoundBanks[phi_s5][phi_a1].unk_28 = phi_t2->sfxId;
gSoundBanks[phi_s5][phi_a1].unk_2A = 1;
gSoundBanks[phi_s5][phi_a1].unk_2B = 2;
gSoundBanks[phi_s5][phi_a1].unk_10 = phi_t2->unk_C;
gSoundBanks[phi_s5][phi_a1].unk_14 = phi_t2->unk_10;
gSoundBanks[phi_s5][phi_a1].unk_18 = phi_t2->unk_14;
gSoundBanks[phi_s5][phi_a1].unk_26 = temp_a2->unk_2;
gSoundBanks[phi_s5][phi_a1].unk_24 = temp_a2->unk_0;
} else if (gSoundBanks[phi_s5][phi_a1].unk_2A == 5) {
gSoundBanks[phi_s5][phi_a1].unk_2A = 4;
}
phi_a1 = 0;
}
} else {
return;
}
}
if (phi_a1 != 0) {
phi_a1 = gSoundBanks[phi_s5][phi_a1].next;
}
}
if (gSoundBanks[phi_s5][D_8016E1A8[phi_s5]].next != 0xFF && phi_a1 != 0) {
phi_a1 = D_8016E1A8[phi_s5];
temp_s0 = &gSoundBanks[phi_s5][phi_a1];
temp_s0->posX = &phi_t2->pos->x;
temp_s0->posY = &phi_t2->pos->y;
temp_s0->posZ = &phi_t2->pos->z;
temp_s0->unk_C = phi_t2->unk_8;
temp_s0->unk_10 = phi_t2->unk_C;
temp_s0->unk_14 = phi_t2->unk_10;
temp_s0->unk_18 = phi_t2->unk_14;
temp_a2 = &D_8013331C[SFX_BANK_SHIFT(phi_t2->sfxId)][SFX_INDEX(phi_t2->sfxId)];
temp_s0->unk_26 = temp_a2->unk_2;
temp_s0->unk_24 = temp_a2->unk_0;
temp_s0->unk_28 = phi_t2->sfxId;
temp_s0->unk_2A = 1;
temp_s0->unk_2B = 2;
temp_s0->prev = D_8016E1A0[phi_s5];
gSoundBanks[phi_s5][D_8016E1A0[phi_s5]].next = D_8016E1A8[phi_s5];
D_8016E1A0[phi_s5] = D_8016E1A8[phi_s5];
D_8016E1A8[phi_s5] = gSoundBanks[phi_s5][D_8016E1A8[phi_s5]].next;
gSoundBanks[phi_s5][D_8016E1A8[phi_s5]].prev = 0xFF;
temp_s0->next = 0xFF;
}
}
#else
void func_800F7680(void);
#pragma GLOBAL_ASM("asm/non_matchings/code/code_800F7260/func_800F7680.s") #pragma GLOBAL_ASM("asm/non_matchings/code/code_800F7260/func_800F7680.s")
#endif
#pragma GLOBAL_ASM("asm/non_matchings/code/code_800F7260/func_800F7B54.s") void func_800F7B54(u8 bankId, u8 bankIndex) {
SoundBankEntry* entry = &gSoundBanks[bankId][bankIndex];
u8 i;
if (entry->unk_26 & 8) {
func_800F731C(entry->unk_2E);
}
if (bankIndex == D_8016E1A0[bankId]) {
D_8016E1A0[bankId] = entry->prev;
} else {
gSoundBanks[bankId][entry->next].prev = entry->prev;
}
gSoundBanks[bankId][entry->prev].next = entry->next;
entry->next = D_8016E1A8[bankId];
entry->prev = 0xFF;
gSoundBanks[bankId][D_8016E1A8[bankId]].prev = bankIndex;
D_8016E1A8[bankId] = bankIndex;
entry->unk_2A = 0;
for (i = 0; i < D_80130578[D_801333CC][bankId]; i++) {
if (D_8016E1B8[bankId][i].unk_4 == bankIndex) {
D_8016E1B8[bankId][i].unk_4 = 0xFF;
i = D_80130578[D_801333CC][bankId];
}
}
}
#pragma GLOBAL_ASM("asm/non_matchings/code/code_800F7260/func_800F7CEC.s") #pragma GLOBAL_ASM("asm/non_matchings/code/code_800F7260/func_800F7CEC.s")
#pragma GLOBAL_ASM("asm/non_matchings/code/code_800F7260/func_800F8480.s") void func_800F8480(u8 bankId) {
u8 bankIndex;
SequenceChannel* seqChannel;
SoundBankEntry* entry;
u8 i;
#pragma GLOBAL_ASM("asm/non_matchings/code/code_800F7260/func_800F87A0.s") for (i = 0; i < D_80130578[D_801333CC][bankId]; i++) {
bankIndex = D_8016E1B8[bankId][i].unk_4;
if (bankIndex != 0xFF) {
entry = &gSoundBanks[bankId][bankIndex];
seqChannel = gAudioContext.gSequencePlayers[2].channels[D_8016E260];
if (entry->unk_2A == 2) {
entry->unk_2E = D_8016E260;
if (entry->unk_26 & 8) {
func_800F72B8(D_8016E260);
}
if (entry->unk_26 & 0xC0) {
switch (entry->unk_26 & 0xC0) {
case 0x40:
entry->unk_2F = Audio_NextRandom() & 0xF;
break;
case 0x80:
entry->unk_2F = Audio_NextRandom() & 0x1F;
break;
case 0xC0:
entry->unk_2F = Audio_NextRandom() & 0x3F;
break;
default:
entry->unk_2F = 0;
break;
}
}
func_800F3A08(bankId, bankIndex, D_8016E260);
func_800E5B20(0x06020000 | ((D_8016E260 & 0xFF) << 8), 1);
func_800E5B20(0x06020000 | ((D_8016E260 & 0xFF) << 8) | 4, entry->unk_28 & 0xFF);
if (D_80130570[bankId] != 0) {
func_800E5B20(0x06020000 | ((D_8016E260 & 0xFF) << 8) | 5, (entry->unk_28 & 0x100) >> 8);
}
if (entry->unk_28 & 0xC00) {
entry->unk_2A = 4;
} else {
entry->unk_2A = 5;
}
} else if ((u8)seqChannel->soundScriptIO[1] == 0xFF) {
func_800F7B54(bankId, bankIndex);
} else if (entry->unk_2A == 3) {
func_800F3A08(bankId, bankIndex, D_8016E260);
if (entry->unk_28 & 0xC00) {
entry->unk_2A = 4;
} else {
entry->unk_2A = 5;
}
}
}
D_8016E260++;
}
}
#pragma GLOBAL_ASM("asm/non_matchings/code/code_800F7260/func_800F8884.s") void func_800F87A0(u8 bankId) {
SoundBankEntry* entry;
s32 pad;
SoundBankEntry sp48;
u8 bankIndex = gSoundBanks[bankId][0].next;
#pragma GLOBAL_ASM("asm/non_matchings/code/code_800F7260/func_800F89E8.s") while (bankIndex != 0xFF) {
entry = &gSoundBanks[bankId][bankIndex];
if (entry->unk_2A >= 3) {
func_800E5B20(0x06020000 | ((entry->unk_2E & 0xFF) << 8), 0);
}
if (entry->unk_2A != 0) {
func_800F7B54(bankId, bankIndex);
}
bankIndex = gSoundBanks[bankId][0].next;
}
sp48.unk_28 = bankId << 0xC;
func_800F74E0(0, &sp48);
}
#pragma GLOBAL_ASM("asm/non_matchings/code/code_800F7260/func_800F8A44.s") void func_800F8884(u8 bankId, Vec3f* pos) {
SoundBankEntry* entry;
u8 bankIndex = gSoundBanks[bankId][0].next;
u8 bankIndex2 = 0;
#pragma GLOBAL_ASM("asm/non_matchings/code/code_800F7260/func_800F8D04.s") while (bankIndex != 0xFF) {
entry = &gSoundBanks[bankId][bankIndex];
if (entry->posX == &pos->x) {
if (entry->unk_2A >= 3) {
func_800E5B20(0x06020000 | ((entry->unk_2E & 0xFF) << 8), 0);
}
if (entry->unk_2A != 0) {
func_800F7B54(bankId, bankIndex);
}
} else {
bankIndex2 = bankIndex;
}
bankIndex = gSoundBanks[bankId][bankIndex2].next;
}
}
#pragma GLOBAL_ASM("asm/non_matchings/code/code_800F7260/func_800F8E3C.s") void func_800F89A0(u8 bankId, Vec3f* pos) {
SoundBankEntry sp18;
#pragma GLOBAL_ASM("asm/non_matchings/code/code_800F7260/func_800F8F34.s") func_800F8884(bankId, pos);
sp18.unk_28 = bankId << 0xC;
sp18.posX = &pos->x;
func_800F74E0(1, &sp18);
}
#pragma GLOBAL_ASM("asm/non_matchings/code/code_800F7260/func_800F8F88.s") void func_800F89E8(Vec3f* pos) {
u8 i;
SoundBankEntry sp24;
#pragma GLOBAL_ASM("asm/non_matchings/code/code_800F7260/func_800F8FF4.s") for (i = 0; i < ARRAY_COUNT(gSoundBanks); i++) {
func_800F8884(i, pos);
}
sp24.posX = &pos->x;
func_800F74E0(2, &sp24);
}
#pragma GLOBAL_ASM("asm/non_matchings/code/code_800F7260/func_800F905C.s") void func_800F8A44(Vec3f* pos, u16 sfxId) {
SoundBankEntry* entry;
u8 bankIndex = gSoundBanks[SFX_BANK(sfxId)][0].next;
u8 bankIndex2 = 0;
SoundBankEntry sp50;
while (bankIndex != 0xFF) {
entry = &gSoundBanks[SFX_BANK(sfxId)][bankIndex];
if (entry->posX == &pos->x && entry->unk_28 == sfxId) {
if (entry->unk_2A >= 3) {
func_800E5B20(0x06020000 | ((entry->unk_2E & 0xFF) << 8), 0);
}
if (entry->unk_2A != 0) {
func_800F7B54(SFX_BANK(sfxId), bankIndex);
}
bankIndex = 0xFF;
} else {
bankIndex2 = bankIndex;
}
if (bankIndex != 0xFF) {
bankIndex = gSoundBanks[SFX_BANK(sfxId)][bankIndex2].next;
}
}
sp50.posX = &pos->x;
sp50.unk_28 = sfxId;
func_800F74E0(3, &sp50);
}
void func_800F8BA0(u8 arg0, u16 sfxId) {
SoundBankEntry* entry;
u8 bankIndex = gSoundBanks[SFX_BANK(sfxId)][0].next;
u8 bankIndex2 = 0;
SoundBankEntry sp58;
while (bankIndex != 0xFF) {
entry = &gSoundBanks[SFX_BANK(sfxId)][bankIndex];
if (entry->unk_C == arg0 && entry->unk_28 == sfxId) {
if (entry->unk_2A >= 3) {
func_800E5B20(0x06020000 | ((entry->unk_2E & 0xFF) << 8), 0);
}
if (entry->unk_2A != 0) {
func_800F7B54(SFX_BANK(sfxId), bankIndex);
}
} else {
bankIndex2 = bankIndex;
}
if (bankIndex != 0xFF) {
bankIndex = gSoundBanks[SFX_BANK(sfxId)][bankIndex2].next;
}
}
sp58.unk_C = arg0;
sp58.unk_28 = sfxId;
func_800F74E0(4, &sp58);
}
void func_800F8D04(u32 sfxId) {
SoundBankEntry* entry;
u8 bankIndex = gSoundBanks[SFX_BANK(sfxId)][0].next;
u8 bankIndex2 = 0;
SoundBankEntry sp50;
while (bankIndex != 0xFF) {
entry = &gSoundBanks[SFX_BANK(sfxId)][bankIndex];
if (entry->unk_28 == sfxId) {
if (entry->unk_2A >= 3) {
func_800E5B20(0x06020000 | ((entry->unk_2E & 0xFF) << 8), 0);
}
if (entry->unk_2A != 0) {
func_800F7B54(SFX_BANK(sfxId), bankIndex);
}
} else {
bankIndex2 = bankIndex;
}
bankIndex = gSoundBanks[SFX_BANK(sfxId)][bankIndex2].next;
}
sp50.unk_28 = sfxId;
func_800F74E0(5, &sp50);
}
void func_800F8E3C(void) {
while (D_801333A0 != D_801333A4) {
func_800F7680();
D_801333A4++;
}
}
void func_800F8EA0(u8 arg0, u8 arg1, u16 arg2) {
if (arg2 == 0) {
arg2++;
}
D_8016E270[arg0].unk_4 = arg1 / 127.0f;
D_8016E270[arg0].unk_C = arg2;
D_8016E270[arg0].unk_8 = ((D_8016E270[arg0].unk_0 - D_8016E270[arg0].unk_4) / arg2);
}
void func_800F8F34(u8 arg0) {
if (D_8016E270[arg0].unk_C != 0) {
D_8016E270[arg0].unk_C--;
if (D_8016E270[arg0].unk_C != 0) {
D_8016E270[arg0].unk_0 -= D_8016E270[arg0].unk_8;
} else {
D_8016E270[arg0].unk_0 = D_8016E270[arg0].unk_4;
}
}
}
void func_800F8F88(void) {
u8 i;
if (IS_SEQUENCE_CHANNEL_VALID(gAudioContext.gSequencePlayers[2].channels[0])) {
D_8016E260 = 0;
for (i = 0; i < ARRAY_COUNT(gSoundBanks); i++) {
func_800F7CEC(i);
func_800F8480(i);
func_800F8F34(i);
}
}
}
u8 func_800F8FF4(u32 sfxId) {
SoundBankEntry* entry;
u8 bankIndex = gSoundBanks[SFX_BANK(sfxId)][0].next;
while (bankIndex != 0xFF) {
entry = &gSoundBanks[SFX_BANK(sfxId)][bankIndex];
if (entry->unk_28 == sfxId) {
return true;
}
bankIndex = entry->next;
}
return false;
}
void func_800F905C(void) {
u8 bankId;
u8 i;
u8 bankIndex;
D_801333A0 = 0;
D_801333A4 = 0;
D_801333D0 = 0;
for (bankId = 0; bankId < ARRAY_COUNT(gSoundBanks); bankId++) {
D_8016E1A0[bankId] = 0;
D_8016E1A8[bankId] = 1;
D_8016E1B0[bankId] = 0;
D_8016E264[bankId] = 0;
D_8016E270[bankId].unk_0 = 1.0f;
D_8016E270[bankId].unk_C = 0;
}
for (bankId = 0; bankId < ARRAY_COUNT(gSoundBanks); bankId++) {
for (i = 0; i < 3; i++) {
D_8016E1B8[bankId][i].unk_4 = 0xFF;
}
}
for (bankId = 0; bankId < ARRAY_COUNT(gSoundBanks); bankId++) {
gSoundBanks[bankId][0].prev = 0xFF;
gSoundBanks[bankId][0].next = 0xFF;
for (i = 1; i < sBankSizes[bankId] - 1; i++) {
gSoundBanks[bankId][i].prev = i - 1;
gSoundBanks[bankId][i].next = i + 1;
}
gSoundBanks[bankId][i].prev = i - 1;
gSoundBanks[bankId][i].next = 0xFF;
}
if (D_801333F8 == 0) {
for (bankId = 0; bankId < 10; bankId++) {
D_8016E2E0[bankId] = 0;
D_8016E2F8[bankId] = 0;
D_8016E310[bankId] = 0;
}
D_801333F8++;
}
}

View file

@ -1341,7 +1341,7 @@ void func_808326F0(Player* this) {
s32 i; s32 i;
for (i = 0; i < 4; i++) { for (i = 0; i < 4; i++) {
func_800F8D04(*entry + this->ageProperties->unk_92); func_800F8D04((u16)(*entry + this->ageProperties->unk_92));
entry++; entry++;
} }
} }