1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2024-11-25 09:45:02 +00:00

code_800EC960 OK + data migrated (#937)

* Match AudioDebug_ProcessInput_SEFlagSwap

* Data migration

* Migrate in-function statics for func_800EE824

* More data migration

* Migrate in-function static for func_800F510C

* Last bit of migration

* formatting

* naming fix

* Prune variables.h

Co-authored-by: zelda2774 <zelda2774@invalid>
This commit is contained in:
zelda2774 2021-09-02 00:33:37 +02:00 committed by GitHub
parent 15c3a5eb91
commit 9b840ad842
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
11 changed files with 796 additions and 1323 deletions

View file

@ -1,233 +0,0 @@
glabel AudioDebug_ProcessInput_SEFlagSwap
/* B69604 800F2464 3C058013 */ lui $a1, %hi(sAudioSEFlagSwapIsEditing) # $a1, 0x8013
/* B69608 800F2468 24A51F00 */ addiu $a1, %lo(sAudioSEFlagSwapIsEditing) # addiu $a1, $a1, 0x1f00
/* B6960C 800F246C 90AE0000 */ lbu $t6, ($a1)
/* B69610 800F2470 27BDFFF8 */ addiu $sp, $sp, -8
/* B69614 800F2474 3C028017 */ lui $v0, %hi(sDebugPadPress) # $v0, 0x8017
/* B69618 800F2478 15C0003F */ bnez $t6, .L800F2578
/* B6961C 800F247C 00000000 */ nop
/* B69620 800F2480 8C42BAB8 */ lw $v0, %lo(sDebugPadPress)($v0)
/* B69624 800F2484 3C048013 */ lui $a0, %hi(sAudioSEFlagSwapSel) # $a0, 0x8013
/* B69628 800F2488 24841F04 */ addiu $a0, %lo(sAudioSEFlagSwapSel) # addiu $a0, $a0, 0x1f04
/* B6962C 800F248C 304F0800 */ andi $t7, $v0, 0x800
/* B69630 800F2490 11E00008 */ beqz $t7, .L800F24B4
/* B69634 800F2494 304C0400 */ andi $t4, $v0, 0x400
/* B69638 800F2498 90830000 */ lbu $v1, ($a0)
/* B6963C 800F249C 24190009 */ li $t9, 9
/* B69640 800F24A0 18600003 */ blez $v1, .L800F24B0
/* B69644 800F24A4 2478FFFF */ addiu $t8, $v1, -1
/* B69648 800F24A8 10000002 */ b .L800F24B4
/* B6964C 800F24AC A0980000 */ sb $t8, ($a0)
.L800F24B0:
/* B69650 800F24B0 A0990000 */ sb $t9, ($a0)
.L800F24B4:
/* B69654 800F24B4 3C048013 */ lui $a0, %hi(sAudioSEFlagSwapSel) # $a0, 0x8013
/* B69658 800F24B8 11800008 */ beqz $t4, .L800F24DC
/* B6965C 800F24BC 24841F04 */ addiu $a0, %lo(sAudioSEFlagSwapSel) # addiu $a0, $a0, 0x1f04
/* B69660 800F24C0 90830000 */ lbu $v1, ($a0)
/* B69664 800F24C4 28610009 */ slti $at, $v1, 9
/* B69668 800F24C8 10200003 */ beqz $at, .L800F24D8
/* B6966C 800F24CC 246D0001 */ addiu $t5, $v1, 1
/* B69670 800F24D0 10000002 */ b .L800F24DC
/* B69674 800F24D4 A08D0000 */ sb $t5, ($a0)
.L800F24D8:
/* B69678 800F24D8 A0800000 */ sb $zero, ($a0)
.L800F24DC:
/* B6967C 800F24DC 304E8000 */ andi $t6, $v0, 0x8000
/* B69680 800F24E0 11C00003 */ beqz $t6, .L800F24F0
/* B69684 800F24E4 30584000 */ andi $t8, $v0, 0x4000
/* B69688 800F24E8 240F0001 */ li $t7, 1
/* B6968C 800F24EC A0AF0000 */ sb $t7, ($a1)
.L800F24F0:
/* B69690 800F24F0 13000009 */ beqz $t8, .L800F2518
/* B69694 800F24F4 30591000 */ andi $t9, $v0, 0x1000
/* B69698 800F24F8 90860000 */ lbu $a2, ($a0)
/* B6969C 800F24FC 3C018017 */ lui $at, %hi(gAudioSEFlagSwapSource)
/* B696A0 800F2500 00063040 */ sll $a2, $a2, 1
/* B696A4 800F2504 00260821 */ addu $at, $at, $a2
/* B696A8 800F2508 A420E2E0 */ sh $zero, %lo(gAudioSEFlagSwapSource)($at)
/* B696AC 800F250C 3C018017 */ lui $at, %hi(gAudioSEFlagSwapTarget)
/* B696B0 800F2510 00260821 */ addu $at, $at, $a2
/* B696B4 800F2514 A420E2F8 */ sh $zero, %lo(gAudioSEFlagSwapTarget)($at)
.L800F2518:
/* B696B8 800F2518 1320008E */ beqz $t9, .L800F2754
/* B696BC 800F251C 3C0C8017 */ lui $t4, %hi(gAudioSEFlagSwapSource) # $t4, 0x8017
/* B696C0 800F2520 90830000 */ lbu $v1, ($a0)
/* B696C4 800F2524 3C0D8017 */ lui $t5, %hi(gAudioSEFlagSwapTarget) # $t5, 0x8017
/* B696C8 800F2528 25ADE2F8 */ addiu $t5, %lo(gAudioSEFlagSwapTarget) # addiu $t5, $t5, -0x1d08
/* B696CC 800F252C 258CE2E0 */ addiu $t4, %lo(gAudioSEFlagSwapSource) # addiu $t4, $t4, -0x1d20
/* B696D0 800F2530 00033040 */ sll $a2, $v1, 1
/* B696D4 800F2534 00CC3821 */ addu $a3, $a2, $t4
/* B696D8 800F2538 10600004 */ beqz $v1, .L800F254C
/* B696DC 800F253C 00CD4021 */ addu $t0, $a2, $t5
/* B696E0 800F2540 2463FFFF */ addiu $v1, $v1, -1
/* B696E4 800F2544 10000002 */ b .L800F2550
/* B696E8 800F2548 306300FF */ andi $v1, $v1, 0xff
.L800F254C:
/* B696EC 800F254C 24030009 */ li $v1, 9
.L800F2550:
/* B696F0 800F2550 00032840 */ sll $a1, $v1, 1
/* B696F4 800F2554 3C0E8017 */ lui $t6, %hi(gAudioSEFlagSwapSource)
/* B696F8 800F2558 01C57021 */ addu $t6, $t6, $a1
/* B696FC 800F255C 95CEE2E0 */ lhu $t6, %lo(gAudioSEFlagSwapSource)($t6)
/* B69700 800F2560 3C0F8017 */ lui $t7, %hi(gAudioSEFlagSwapTarget)
/* B69704 800F2564 01E57821 */ addu $t7, $t7, $a1
/* B69708 800F2568 A4EE0000 */ sh $t6, ($a3)
/* B6970C 800F256C 95EFE2F8 */ lhu $t7, %lo(gAudioSEFlagSwapTarget)($t7)
/* B69710 800F2570 10000078 */ b .L800F2754
/* B69714 800F2574 A50F0000 */ sh $t7, ($t0)
.L800F2578:
/* B69718 800F2578 3C028017 */ lui $v0, %hi(sDebugPadPress) # $v0, 0x8017
/* B6971C 800F257C 8C42BAB8 */ lw $v0, %lo(sDebugPadPress)($v0)
/* B69720 800F2580 30580200 */ andi $t8, $v0, 0x200
/* B69724 800F2584 1300000A */ beqz $t8, .L800F25B0
/* B69728 800F2588 304D0100 */ andi $t5, $v0, 0x100
/* B6972C 800F258C 3C038013 */ lui $v1, %hi(sAudioSEFlagSwapNibbleSel) # $v1, 0x8013
/* B69730 800F2590 24631F08 */ addiu $v1, %lo(sAudioSEFlagSwapNibbleSel) # addiu $v1, $v1, 0x1f08
/* B69734 800F2594 90640000 */ lbu $a0, ($v1)
/* B69738 800F2598 240C0007 */ li $t4, 7
/* B6973C 800F259C 18800003 */ blez $a0, .L800F25AC
/* B69740 800F25A0 2499FFFF */ addiu $t9, $a0, -1
/* B69744 800F25A4 10000002 */ b .L800F25B0
/* B69748 800F25A8 A0790000 */ sb $t9, ($v1)
.L800F25AC:
/* B6974C 800F25AC A06C0000 */ sb $t4, ($v1)
.L800F25B0:
/* B69750 800F25B0 3C038013 */ lui $v1, %hi(sAudioSEFlagSwapNibbleSel) # $v1, 0x8013
/* B69754 800F25B4 11A00008 */ beqz $t5, .L800F25D8
/* B69758 800F25B8 24631F08 */ addiu $v1, %lo(sAudioSEFlagSwapNibbleSel) # addiu $v1, $v1, 0x1f08
/* B6975C 800F25BC 90640000 */ lbu $a0, ($v1)
/* B69760 800F25C0 28810007 */ slti $at, $a0, 7
/* B69764 800F25C4 10200003 */ beqz $at, .L800F25D4
/* B69768 800F25C8 248E0001 */ addiu $t6, $a0, 1
/* B6976C 800F25CC 10000002 */ b .L800F25D8
/* B69770 800F25D0 A06E0000 */ sb $t6, ($v1)
.L800F25D4:
/* B69774 800F25D4 A0600000 */ sb $zero, ($v1)
.L800F25D8:
/* B69778 800F25D8 30440800 */ andi $a0, $v0, 0x800
/* B6977C 800F25DC 14800003 */ bnez $a0, .L800F25EC
/* B69780 800F25E0 304F0400 */ andi $t7, $v0, 0x400
/* B69784 800F25E4 11E00047 */ beqz $t7, .L800F2704
/* B69788 800F25E8 00000000 */ nop
.L800F25EC:
/* B6978C 800F25EC 1080000B */ beqz $a0, .L800F261C
/* B69790 800F25F0 30460400 */ andi $a2, $v0, 0x400
/* B69794 800F25F4 3C188017 */ lui $t8, %hi(sDebugPadHold) # $t8, 0x8017
/* B69798 800F25F8 8F18BAB0 */ lw $t8, %lo(sDebugPadHold)($t8)
/* B6979C 800F25FC 24090001 */ li $t1, 1
/* B697A0 800F2600 33190008 */ andi $t9, $t8, 8
/* B697A4 800F2604 53200005 */ beql $t9, $zero, .L800F261C
/* B697A8 800F2608 A7A90006 */ sh $t1, 6($sp)
/* B697AC 800F260C 24090008 */ li $t1, 8
/* B697B0 800F2610 10000002 */ b .L800F261C
/* B697B4 800F2614 A7A90006 */ sh $t1, 6($sp)
/* B697B8 800F2618 A7A90006 */ sh $t1, 6($sp)
.L800F261C:
/* B697BC 800F261C 10C00009 */ beqz $a2, .L800F2644
/* B697C0 800F2620 87A90006 */ lh $t1, 6($sp)
/* B697C4 800F2624 3C0C8017 */ lui $t4, %hi(sDebugPadHold) # $t4, 0x8017
/* B697C8 800F2628 8D8CBAB0 */ lw $t4, %lo(sDebugPadHold)($t4)
/* B697CC 800F262C 2409FFFF */ li $t1, -1
/* B697D0 800F2630 318D0008 */ andi $t5, $t4, 8
/* B697D4 800F2634 11A00003 */ beqz $t5, .L800F2644
/* B697D8 800F2638 00000000 */ nop
/* B697DC 800F263C 10000001 */ b .L800F2644
/* B697E0 800F2640 2409FFF8 */ li $t1, -8
.L800F2644:
/* B697E4 800F2644 90660000 */ lbu $a2, ($v1)
/* B697E8 800F2648 3C048013 */ lui $a0, %hi(sAudioSEFlagSwapSel) # $a0, 0x8013
/* B697EC 800F264C 24841F04 */ addiu $a0, %lo(sAudioSEFlagSwapSel) # addiu $a0, $a0, 0x1f04
/* B697F0 800F2650 28C10004 */ slti $at, $a2, 4
/* B697F4 800F2654 10200015 */ beqz $at, .L800F26AC
/* B697F8 800F2658 3C188017 */ lui $t8, %hi(gAudioSEFlagSwapSource) # $t8, 0x8017
/* B697FC 800F265C 908E0000 */ lbu $t6, ($a0)
/* B69800 800F2660 2718E2E0 */ addiu $t8, %lo(gAudioSEFlagSwapSource) # addiu $t8, $t8, -0x1d20
/* B69804 800F2664 00065823 */ negu $t3, $a2
/* B69808 800F2668 000E7840 */ sll $t7, $t6, 1
/* B6980C 800F266C 01F83821 */ addu $a3, $t7, $t8
/* B69810 800F2670 94E80000 */ lhu $t0, ($a3)
/* B69814 800F2674 000B5880 */ sll $t3, $t3, 2
/* B69818 800F2678 256B000C */ addiu $t3, $t3, 0xc
/* B6981C 800F267C 01685007 */ srav $t2, $t0, $t3
/* B69820 800F2680 01495021 */ addu $t2, $t2, $t1
/* B69824 800F2684 2419000F */ li $t9, 15
/* B69828 800F2688 314A000F */ andi $t2, $t2, 0xf
/* B6982C 800F268C 01796004 */ sllv $t4, $t9, $t3
/* B69830 800F2690 314AFFFF */ andi $t2, $t2, 0xffff
/* B69834 800F2694 398DFFFF */ xori $t5, $t4, 0xffff
/* B69838 800F2698 016A7804 */ sllv $t7, $t2, $t3
/* B6983C 800F269C 010D7024 */ and $t6, $t0, $t5
/* B69840 800F26A0 01CFC021 */ addu $t8, $t6, $t7
/* B69844 800F26A4 10000017 */ b .L800F2704
/* B69848 800F26A8 A4F80000 */ sh $t8, ($a3)
.L800F26AC:
/* B6984C 800F26AC 3C048013 */ lui $a0, %hi(sAudioSEFlagSwapSel) # $a0, 0x8013
/* B69850 800F26B0 24841F04 */ addiu $a0, %lo(sAudioSEFlagSwapSel) # addiu $a0, $a0, 0x1f04
/* B69854 800F26B4 90990000 */ lbu $t9, ($a0)
/* B69858 800F26B8 3C0D8017 */ lui $t5, %hi(gAudioSEFlagSwapTarget) # $t5, 0x8017
/* B6985C 800F26BC 25ADE2F8 */ addiu $t5, %lo(gAudioSEFlagSwapTarget) # addiu $t5, $t5, -0x1d08
/* B69860 800F26C0 00196040 */ sll $t4, $t9, 1
/* B69864 800F26C4 018D4021 */ addu $t0, $t4, $t5
/* B69868 800F26C8 95070000 */ lhu $a3, ($t0)
/* B6986C 800F26CC 00065823 */ negu $t3, $a2
/* B69870 800F26D0 000B5880 */ sll $t3, $t3, 2
/* B69874 800F26D4 256B001C */ addiu $t3, $t3, 0x1c
/* B69878 800F26D8 01675007 */ srav $t2, $a3, $t3
/* B6987C 800F26DC 01495021 */ addu $t2, $t2, $t1
/* B69880 800F26E0 240E000F */ li $t6, 15
/* B69884 800F26E4 314A000F */ andi $t2, $t2, 0xf
/* B69888 800F26E8 016E7804 */ sllv $t7, $t6, $t3
/* B6988C 800F26EC 314AFFFF */ andi $t2, $t2, 0xffff
/* B69890 800F26F0 39F8FFFF */ xori $t8, $t7, 0xffff
/* B69894 800F26F4 016A6004 */ sllv $t4, $t2, $t3
/* B69898 800F26F8 00F8C824 */ and $t9, $a3, $t8
/* B6989C 800F26FC 032C6821 */ addu $t5, $t9, $t4
/* B698A0 800F2700 A50D0000 */ sh $t5, ($t0)
.L800F2704:
/* B698A4 800F2704 3C048013 */ lui $a0, %hi(sAudioSEFlagSwapSel) # $a0, 0x8013
/* B698A8 800F2708 304E8000 */ andi $t6, $v0, 0x8000
/* B698AC 800F270C 11C00002 */ beqz $t6, .L800F2718
/* B698B0 800F2710 24841F04 */ addiu $a0, %lo(sAudioSEFlagSwapSel) # addiu $a0, $a0, 0x1f04
/* B698B4 800F2714 A0A00000 */ sb $zero, ($a1)
.L800F2718:
/* B698B8 800F2718 304F4000 */ andi $t7, $v0, 0x4000
/* B698BC 800F271C 51E0000E */ beql $t7, $zero, .L800F2758
/* B698C0 800F2720 30590002 */ andi $t9, $v0, 2
/* B698C4 800F2724 90780000 */ lbu $t8, ($v1)
/* B698C8 800F2728 90860000 */ lbu $a2, ($a0)
/* B698CC 800F272C 2B010004 */ slti $at, $t8, 4
/* B698D0 800F2730 10200005 */ beqz $at, .L800F2748
/* B698D4 800F2734 00063040 */ sll $a2, $a2, 1
/* B698D8 800F2738 3C018017 */ lui $at, %hi(gAudioSEFlagSwapSource)
/* B698DC 800F273C 00260821 */ addu $at, $at, $a2
/* B698E0 800F2740 10000004 */ b .L800F2754
/* B698E4 800F2744 A420E2E0 */ sh $zero, %lo(gAudioSEFlagSwapSource)($at)
.L800F2748:
/* B698E8 800F2748 3C018017 */ lui $at, %hi(gAudioSEFlagSwapTarget)
/* B698EC 800F274C 00260821 */ addu $at, $at, $a2
/* B698F0 800F2750 A420E2F8 */ sh $zero, %lo(gAudioSEFlagSwapTarget)($at)
.L800F2754:
/* B698F4 800F2754 30590002 */ andi $t9, $v0, 2
.L800F2758:
/* B698F8 800F2758 13200006 */ beqz $t9, .L800F2774
/* B698FC 800F275C 304E0004 */ andi $t6, $v0, 4
/* B69900 800F2760 3C038013 */ lui $v1, %hi(gAudioSEFlagSwapOff) # $v1, 0x8013
/* B69904 800F2764 246333F4 */ addiu $v1, %lo(gAudioSEFlagSwapOff) # addiu $v1, $v1, 0x33f4
/* B69908 800F2768 906C0000 */ lbu $t4, ($v1)
/* B6990C 800F276C 398D0001 */ xori $t5, $t4, 1
/* B69910 800F2770 A06D0000 */ sb $t5, ($v1)
.L800F2774:
/* B69914 800F2774 11C00008 */ beqz $t6, .L800F2798
/* B69918 800F2778 00000000 */ nop
/* B6991C 800F277C 908F0000 */ lbu $t7, ($a0)
/* B69920 800F2780 3C188017 */ lui $t8, %hi(gAudioSEFlagSwapMode) # $t8, 0x8017
/* B69924 800F2784 2718E310 */ addiu $t8, %lo(gAudioSEFlagSwapMode) # addiu $t8, $t8, -0x1cf0
/* B69928 800F2788 01F81021 */ addu $v0, $t7, $t8
/* B6992C 800F278C 90590000 */ lbu $t9, ($v0)
/* B69930 800F2790 3B2C0001 */ xori $t4, $t9, 1
/* B69934 800F2794 A04C0000 */ sb $t4, ($v0)
.L800F2798:
/* B69938 800F2798 03E00008 */ jr $ra
/* B6993C 800F279C 27BD0008 */ addiu $sp, $sp, 8

View file

@ -1,76 +0,0 @@
glabel func_800EE824
/* B659C4 800EE824 3C058013 */ lui $a1, %hi(D_80131C80) # $a1, 0x8013
/* B659C8 800EE828 90A51C80 */ lbu $a1, %lo(D_80131C80)($a1)
/* B659CC 800EE82C 27BDFFE8 */ addiu $sp, $sp, -0x18
/* B659D0 800EE830 AFBF0014 */ sw $ra, 0x14($sp)
/* B659D4 800EE834 10A00008 */ beqz $a1, .L800EE858
/* B659D8 800EE838 00A01025 */ move $v0, $a1
/* B659DC 800EE83C 24010001 */ li $at, 1
/* B659E0 800EE840 1041001D */ beq $v0, $at, .L800EE8B8
/* B659E4 800EE844 24010002 */ li $at, 2
/* B659E8 800EE848 1041002E */ beq $v0, $at, .L800EE904
/* B659EC 800EE84C 00000000 */ nop
/* B659F0 800EE850 10000034 */ b .L800EE924
/* B659F4 800EE854 8FBF0014 */ lw $ra, 0x14($sp)
.L800EE858:
/* B659F8 800EE858 3C038013 */ lui $v1, %hi(D_80131C88) # $v1, 0x8013
/* B659FC 800EE85C 94631C88 */ lhu $v1, %lo(D_80131C88)($v1)
/* B65A00 800EE860 3C018013 */ lui $at, %hi(D_80131C88) # $at, 0x8013
/* B65A04 800EE864 3C0E8013 */ lui $t6, %hi(D_80131C84) # $t6, 0x8013
/* B65A08 800EE868 2C620001 */ sltiu $v0, $v1, 1
/* B65A0C 800EE86C 2463FFFF */ addiu $v1, $v1, -1
/* B65A10 800EE870 1040002B */ beqz $v0, .L800EE920
/* B65A14 800EE874 A4231C88 */ sh $v1, %lo(D_80131C88)($at)
/* B65A18 800EE878 91CE1C84 */ lbu $t6, %lo(D_80131C84)($t6)
/* B65A1C 800EE87C 24A50001 */ addiu $a1, $a1, 1
/* B65A20 800EE880 00002025 */ move $a0, $zero
/* B65A24 800EE884 29C10007 */ slti $at, $t6, 7
/* B65A28 800EE888 10200003 */ beqz $at, .L800EE898
/* B65A2C 800EE88C 3C018013 */ lui $at, %hi(D_80131C80) # $at, 0x8013
/* B65A30 800EE890 10000005 */ b .L800EE8A8
/* B65A34 800EE894 A0251C80 */ sb $a1, %lo(D_80131C80)($at)
.L800EE898:
/* B65A38 800EE898 24050003 */ li $a1, 3
/* B65A3C 800EE89C 3C018013 */ lui $at, %hi(D_80131C80) # $at, 0x8013
/* B65A40 800EE8A0 0C03B616 */ jal func_800ED858
/* B65A44 800EE8A4 A0251C80 */ sb $a1, %lo(D_80131C80)($at)
.L800EE8A8:
/* B65A48 800EE8A8 240304B0 */ li $v1, 1200
/* B65A4C 800EE8AC 3C018013 */ lui $at, %hi(D_80131C88) # $at, 0x8013
/* B65A50 800EE8B0 1000001B */ b .L800EE920
/* B65A54 800EE8B4 A4231C88 */ sh $v1, %lo(D_80131C88)($at)
.L800EE8B8:
/* B65A58 800EE8B8 0C03DC98 */ jal Audio_SetSoundBanksMute
/* B65A5C 800EE8BC 00002025 */ move $a0, $zero
/* B65A60 800EE8C0 3C048013 */ lui $a0, %hi(D_80131C84) # $a0, 0x8013
/* B65A64 800EE8C4 0C03B616 */ jal func_800ED858
/* B65A68 800EE8C8 90841C84 */ lbu $a0, %lo(D_80131C84)($a0)
/* B65A6C 800EE8CC 2404000F */ li $a0, 15
/* B65A70 800EE8D0 0C03B64F */ jal func_800ED93C
/* B65A74 800EE8D4 24050001 */ li $a1, 1
/* B65A78 800EE8D8 3C0F8013 */ lui $t7, %hi(D_80131C84) # $t7, 0x8013
/* B65A7C 800EE8DC 91EF1C84 */ lbu $t7, %lo(D_80131C84)($t7)
/* B65A80 800EE8E0 3C058013 */ lui $a1, %hi(D_80131C80) # $a1, 0x8013
/* B65A84 800EE8E4 90A51C80 */ lbu $a1, %lo(D_80131C80)($a1)
/* B65A88 800EE8E8 3C018013 */ lui $at, %hi(D_80131C84) # $at, 0x8013
/* B65A8C 800EE8EC 25F80001 */ addiu $t8, $t7, 1
/* B65A90 800EE8F0 A0381C84 */ sb $t8, %lo(D_80131C84)($at)
/* B65A94 800EE8F4 3C018013 */ lui $at, %hi(D_80131C80) # $at, 0x8013
/* B65A98 800EE8F8 24A50001 */ addiu $a1, $a1, 1
/* B65A9C 800EE8FC 10000008 */ b .L800EE920
/* B65AA0 800EE900 A0251C80 */ sb $a1, %lo(D_80131C80)($at)
.L800EE904:
/* B65AA4 800EE904 0C03B8FE */ jal Audio_OcaGetDisplayStaff
/* B65AA8 800EE908 00000000 */ nop
/* B65AAC 800EE90C 90590001 */ lbu $t9, 1($v0)
/* B65AB0 800EE910 3C018013 */ lui $at, %hi(D_80131C80) # $at, 0x8013
/* B65AB4 800EE914 57200003 */ bnezl $t9, .L800EE924
/* B65AB8 800EE918 8FBF0014 */ lw $ra, 0x14($sp)
/* B65ABC 800EE91C A0201C80 */ sb $zero, %lo(D_80131C80)($at)
.L800EE920:
/* B65AC0 800EE920 8FBF0014 */ lw $ra, 0x14($sp)
.L800EE924:
/* B65AC4 800EE924 27BD0018 */ addiu $sp, $sp, 0x18
/* B65AC8 800EE928 03E00008 */ jr $ra
/* B65ACC 800EE92C 00000000 */ nop

View file

@ -1,114 +0,0 @@
glabel func_800F510C
/* B6C2AC 800F510C 27BDFFB8 */ addiu $sp, $sp, -0x48
/* B6C2B0 800F5110 3C0E8013 */ lui $t6, %hi(D_80131F6C) # $t6, 0x8013
/* B6C2B4 800F5114 95CE1F6C */ lhu $t6, %lo(D_80131F6C)($t6)
/* B6C2B8 800F5118 AFB1001C */ sw $s1, 0x1c($sp)
/* B6C2BC 800F511C 00048E00 */ sll $s1, $a0, 0x18
/* B6C2C0 800F5120 AFBF002C */ sw $ra, 0x2c($sp)
/* B6C2C4 800F5124 AFA40048 */ sw $a0, 0x48($sp)
/* B6C2C8 800F5128 00118E03 */ sra $s1, $s1, 0x18
/* B6C2CC 800F512C AFB40028 */ sw $s4, 0x28($sp)
/* B6C2D0 800F5130 AFB30024 */ sw $s3, 0x24($sp)
/* B6C2D4 800F5134 AFB20020 */ sw $s2, 0x20($sp)
/* B6C2D8 800F5138 AFB00018 */ sw $s0, 0x18($sp)
/* B6C2DC 800F513C 24040001 */ li $a0, 1
/* B6C2E0 800F5140 0C03E82D */ jal func_800FA0B4
/* B6C2E4 800F5144 A7AE0040 */ sh $t6, 0x40($sp)
/* B6C2E8 800F5148 3401FFFF */ li $at, 65535
/* B6C2EC 800F514C 5441004D */ bnel $v0, $at, .L800F5284
/* B6C2F0 800F5150 8FBF002C */ lw $ra, 0x2c($sp)
/* B6C2F4 800F5154 0C03E82D */ jal func_800FA0B4
/* B6C2F8 800F5158 24040003 */ li $a0, 3
/* B6C2FC 800F515C 2401002F */ li $at, 47
/* B6C300 800F5160 10410047 */ beq $v0, $at, .L800F5280
/* B6C304 800F5164 00008025 */ move $s0, $zero
/* B6C308 800F5168 00001025 */ move $v0, $zero
/* B6C30C 800F516C 2414007F */ li $s4, 127
/* B6C310 800F5170 2413000A */ li $s3, 10
/* B6C314 800F5174 3C12A000 */ lui $s2, 0xa000
.L800F5178:
/* B6C318 800F5178 14400003 */ bnez $v0, .L800F5188
/* B6C31C 800F517C 00002825 */ move $a1, $zero
/* B6C320 800F5180 10000003 */ b .L800F5190
/* B6C324 800F5184 322300FF */ andi $v1, $s1, 0xff
.L800F5188:
/* B6C328 800F5188 02911823 */ subu $v1, $s4, $s1
/* B6C32C 800F518C 306300FF */ andi $v1, $v1, 0xff
.L800F5190:
/* B6C330 800F5190 28610065 */ slti $at, $v1, 0x65
/* B6C334 800F5194 14200003 */ bnez $at, .L800F51A4
/* B6C338 800F5198 00601025 */ move $v0, $v1
/* B6C33C 800F519C 10000013 */ b .L800F51EC
/* B6C340 800F51A0 2406000B */ li $a2, 11
.L800F51A4:
/* B6C344 800F51A4 28410014 */ slti $at, $v0, 0x14
/* B6C348 800F51A8 10200003 */ beqz $at, .L800F51B8
/* B6C34C 800F51AC 244FFFEC */ addiu $t7, $v0, -0x14
/* B6C350 800F51B0 1000000E */ b .L800F51EC
/* B6C354 800F51B4 24060002 */ li $a2, 2
.L800F51B8:
/* B6C358 800F51B8 01F3001A */ div $zero, $t7, $s3
/* B6C35C 800F51BC 00003012 */ mflo $a2
/* B6C360 800F51C0 24C60002 */ addiu $a2, $a2, 2
/* B6C364 800F51C4 30C600FF */ andi $a2, $a2, 0xff
/* B6C368 800F51C8 16600002 */ bnez $s3, .L800F51D4
/* B6C36C 800F51CC 00000000 */ nop
/* B6C370 800F51D0 0007000D */ break 7
.L800F51D4:
/* B6C374 800F51D4 2401FFFF */ li $at, -1
/* B6C378 800F51D8 16610004 */ bne $s3, $at, .L800F51EC
/* B6C37C 800F51DC 3C018000 */ lui $at, 0x8000
/* B6C380 800F51E0 15E10002 */ bne $t7, $at, .L800F51EC
/* B6C384 800F51E4 00000000 */ nop
/* B6C388 800F51E8 0006000D */ break 6
.L800F51EC:
/* B6C38C 800F51EC 03B03821 */ addu $a3, $sp, $s0
/* B6C390 800F51F0 90E70040 */ lbu $a3, 0x40($a3)
/* B6C394 800F51F4 3C198017 */ lui $t9, %hi(gAudioContext) # $t9, 0x8017
/* B6C398 800F51F8 2739F180 */ addiu $t9, %lo(gAudioContext) # addiu $t9, $t9, -0xe80
/* B6C39C 800F51FC 0007C080 */ sll $t8, $a3, 2
/* B6C3A0 800F5200 0307C023 */ subu $t8, $t8, $a3
/* B6C3A4 800F5204 0018C080 */ sll $t8, $t8, 2
/* B6C3A8 800F5208 0307C023 */ subu $t8, $t8, $a3
/* B6C3AC 800F520C 0018C140 */ sll $t8, $t8, 5
/* B6C3B0 800F5210 03191821 */ addu $v1, $t8, $t9
/* B6C3B4 800F5214 00001025 */ move $v0, $zero
/* B6C3B8 800F5218 00C02025 */ move $a0, $a2
/* B6C3BC 800F521C 00024080 */ sll $t0, $v0, 2
.L800F5220:
/* B6C3C0 800F5220 00684821 */ addu $t1, $v1, $t0
/* B6C3C4 800F5224 8D2A3568 */ lw $t2, 0x3568($t1)
/* B6C3C8 800F5228 240C0001 */ li $t4, 1
/* B6C3CC 800F522C 004C6804 */ sllv $t5, $t4, $v0
/* B6C3D0 800F5230 914B0005 */ lbu $t3, 5($t2)
/* B6C3D4 800F5234 0164082A */ slt $at, $t3, $a0
/* B6C3D8 800F5238 50200004 */ beql $at, $zero, .L800F524C
/* B6C3DC 800F523C 24420001 */ addiu $v0, $v0, 1
/* B6C3E0 800F5240 00AD2821 */ addu $a1, $a1, $t5
/* B6C3E4 800F5244 30A5FFFF */ andi $a1, $a1, 0xffff
/* B6C3E8 800F5248 24420001 */ addiu $v0, $v0, 1
.L800F524C:
/* B6C3EC 800F524C 304200FF */ andi $v0, $v0, 0xff
/* B6C3F0 800F5250 28410010 */ slti $at, $v0, 0x10
/* B6C3F4 800F5254 5420FFF2 */ bnezl $at, .L800F5220
/* B6C3F8 800F5258 00024080 */ sll $t0, $v0, 2
/* B6C3FC 800F525C 00077600 */ sll $t6, $a3, 0x18
/* B6C400 800F5260 01D27825 */ or $t7, $t6, $s2
/* B6C404 800F5264 0C03E803 */ jal Audio_QueueSeqCmd
/* B6C408 800F5268 01E52025 */ or $a0, $t7, $a1
/* B6C40C 800F526C 26100001 */ addiu $s0, $s0, 1
/* B6C410 800F5270 321000FF */ andi $s0, $s0, 0xff
/* B6C414 800F5274 2A010002 */ slti $at, $s0, 2
/* B6C418 800F5278 1420FFBF */ bnez $at, .L800F5178
/* B6C41C 800F527C 02001025 */ move $v0, $s0
.L800F5280:
/* B6C420 800F5280 8FBF002C */ lw $ra, 0x2c($sp)
.L800F5284:
/* B6C424 800F5284 8FB00018 */ lw $s0, 0x18($sp)
/* B6C428 800F5288 8FB1001C */ lw $s1, 0x1c($sp)
/* B6C42C 800F528C 8FB20020 */ lw $s2, 0x20($sp)
/* B6C430 800F5290 8FB30024 */ lw $s3, 0x24($sp)
/* B6C434 800F5294 8FB40028 */ lw $s4, 0x28($sp)
/* B6C438 800F5298 03E00008 */ jr $ra
/* B6C43C 800F529C 27BD0048 */ addiu $sp, $sp, 0x48

View file

@ -87,25 +87,7 @@ glabel D_8012FE24
.incbin "baserom.z64", 0xBA6FC4, 0x4
glabel gStereoPanVolume
.incbin "baserom.z64", 0xBA6FC8, 0x1D7
glabel D_8012FFFF
.incbin "baserom.z64", 0xBA719F, 0x2
glabel D_80130001
.incbin "baserom.z64", 0xBA71A1, 0x1
glabel D_80130002
.incbin "baserom.z64", 0xBA71A2, 0x2
glabel D_80130004
.incbin "baserom.z64", 0xBA71A4, 0x2
glabel D_80130006
.incbin "baserom.z64", 0xBA71A6, 0x1E
glabel D_80130024
.incbin "baserom.z64", 0xBA71C4, 0x4
.incbin "baserom.z64", 0xBA6FC8, 0x200
glabel gDefaultPanVolume
.incbin "baserom.z64", 0xBA71C8, 0x1FC

View file

@ -1,460 +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_80130570
.incbin "baserom.z64", 0xBA7710, 0x8
glabel D_80130578
.incbin "baserom.z64", 0xBA7718, 0x1C
glabel D_80130594
.incbin "baserom.z64", 0xBA7734, 0x1C
glabel D_801305B0
.incbin "baserom.z64", 0xBA7750, 0x4
glabel D_801305B4
.incbin "baserom.z64", 0xBA7754, 0x4
glabel D_801305B8
.incbin "baserom.z64", 0xBA7758, 0x4
glabel D_801305BC
.incbin "baserom.z64", 0xBA775C, 0x4
glabel D_801305C0
.incbin "baserom.z64", 0xBA7760, 0x4
glabel D_801305C4
.incbin "baserom.z64", 0xBA7764, 0x8
glabel sAudioIncreasingTranspose
.incbin "baserom.z64", 0xBA776C, 0x4
glabel gMorphaTransposeTable
.incbin "baserom.z64", 0xBA7770, 0x10
glabel sPrevChargeLevel
.incbin "baserom.z64", 0xBA7780, 0x4
glabel D_801305E4
.incbin "baserom.z64", 0xBA7784, 0x10
glabel D_801305F4
.incbin "baserom.z64", 0xBA7794, 0x4
glabel D_801305F8
.incbin "baserom.z64", 0xBA7798, 0x8
glabel D_80130600
.incbin "baserom.z64", 0xBA77A0, 0x4
glabel D_80130604
.incbin "baserom.z64", 0xBA77A4, 0x4
glabel D_80130608
.incbin "baserom.z64", 0xBA77A8, 0x4
glabel sAudioCutsceneFlag
.incbin "baserom.z64", 0xBA77AC, 0x4
glabel sSpecReverb
.incbin "baserom.z64", 0xBA77B0, 0x4
glabel sAudioEnvReverb
.incbin "baserom.z64", 0xBA77B4, 0x4
glabel sAudioCodeReverb
.incbin "baserom.z64", 0xBA77B8, 0x4
glabel D_8013061C
.incbin "baserom.z64", 0xBA77BC, 0x4
glabel sAudioEnemyDist
.incbin "baserom.z64", 0xBA77C0, 0x4
glabel sAudioEnemyVol
.incbin "baserom.z64", 0xBA77C4, 0x4
glabel D_80130628
.incbin "baserom.z64", 0xBA77C8, 0x4
glabel D_8013062C
.incbin "baserom.z64", 0xBA77CC, 0x4
glabel D_80130630
.incbin "baserom.z64", 0xBA77D0, 0x4
glabel D_80130634
.incbin "baserom.z64", 0xBA77D4, 0x4
glabel D_80130638
.incbin "baserom.z64", 0xBA77D8, 0x4
glabel D_8013063C
.incbin "baserom.z64", 0xBA77DC, 0x4
glabel D_80130640
.incbin "baserom.z64", 0xBA77E0, 0x4
glabel D_80130644
.incbin "baserom.z64", 0xBA77E4, 0x4
glabel D_80130648
.incbin "baserom.z64", 0xBA77E8, 0x4
glabel sSariaBgmPtr
.incbin "baserom.z64", 0xBA77EC, 0x4
glabel D_80130650
.incbin "baserom.z64", 0xBA77F0, 0x4
glabel D_80130654
.incbin "baserom.z64", 0xBA77F4, 0x4
glabel D_80130658
.incbin "baserom.z64", 0xBA77F8, 0x70
glabel sSpecReverbs
.incbin "baserom.z64", 0xBA7868, 0x14
glabel D_801306DC
.incbin "baserom.z64", 0xBA787C, 0x820
glabel sOcarinaAllowedBtnMask
.incbin "baserom.z64", 0xBA809C, 0x4
glabel sOcarinaABtnMap
.incbin "baserom.z64", 0xBA80A0, 0x4
glabel sOcarinaCUPBtnMap
.incbin "baserom.z64", 0xBA80A4, 0x4
glabel sOcarinaCDownBtnMap
.incbin "baserom.z64", 0xBA80A8, 0x4
glabel sOcarinaInpEnabled
.incbin "baserom.z64", 0xBA80AC, 0x4
glabel D_80130F10
.incbin "baserom.z64", 0xBA80B0, 0x4
glabel sCurOcarinaBtnVal
.incbin "baserom.z64", 0xBA80B4, 0x4
glabel sPrevOcarinaNoteVal
.incbin "baserom.z64", 0xBA80B8, 0x4
glabel sCurOcarinaBtnIdx
.incbin "baserom.z64", 0xBA80BC, 0x4
glabel sLearnSongLastBtn
.incbin "baserom.z64", 0xBA80C0, 0x4
glabel D_80130F24
.incbin "baserom.z64", 0xBA80C4, 0x4
glabel D_80130F28
.incbin "baserom.z64", 0xBA80C8, 0x4
glabel D_80130F2C
.incbin "baserom.z64", 0xBA80CC, 0x4
glabel D_80130F30
.incbin "baserom.z64", 0xBA80D0, 0x4
glabel D_80130F34
.incbin "baserom.z64", 0xBA80D4, 0x4
glabel sPlaybackState
.incbin "baserom.z64", 0xBA80D8, 0x4
glabel D_80130F3C
.incbin "baserom.z64", 0xBA80DC, 0x4
glabel sNotePlaybackTimer
.incbin "baserom.z64", 0xBA80E0, 0x4
glabel sPlaybackNotePos
.incbin "baserom.z64", 0xBA80E4, 0x4
glabel sStaffPlaybackPos
.incbin "baserom.z64", 0xBA80E8, 0x4
glabel D_80130F4C
.incbin "baserom.z64", 0xBA80EC, 0x4
glabel sDisplayedNoteValue
.incbin "baserom.z64", 0xBA80F0, 0x4
glabel sNotePlaybackVolume
.incbin "baserom.z64", 0xBA80F4, 0x4
glabel sNotePlaybackVibrato
.incbin "baserom.z64", 0xBA80F8, 0x4
glabel sNotePlaybackTone
.incbin "baserom.z64", 0xBA80FC, 0x4
glabel sNormalizedNotePlaybackTone
.incbin "baserom.z64", 0xBA8100, 0x4
glabel sNormalizedNotePlaybackVolume
.incbin "baserom.z64", 0xBA8104, 0x4
glabel D_80130F68
.incbin "baserom.z64", 0xBA8108, 0x4
glabel sOcarinaNoteValues
.incbin "baserom.z64", 0xBA810C, 0x8
glabel sOcaMinigameApndPos
.incbin "baserom.z64", 0xBA8114, 0x4
glabel sOcaMinigameEndPos
.incbin "baserom.z64", 0xBA8118, 0x4
glabel sOcaMinigameNoteCnts
.incbin "baserom.z64", 0xBA811C, 0x4
glabel sOcarinaSongs
.incbin "baserom.z64", 0xBA8120, 0x8C0
glabel sPlaybackSong
.word sOcarinaSongs
glabel D_80131844
.incbin "baserom.z64", 0xBA89E4, 0x10
glabel gFrogsSongPtr
.word D_80131844
glabel D_80131858
.incbin "baserom.z64", 0xBA89F8, 0x4
glabel sRecordSongPos
.incbin "baserom.z64", 0xBA89FC, 0x4
glabel D_80131860
.incbin "baserom.z64", 0xBA8A00, 0x4
glabel D_80131864
.incbin "baserom.z64", 0xBA8A04, 0x4
glabel D_80131868
.incbin "baserom.z64", 0xBA8A08, 0x4
glabel D_8013186C
.incbin "baserom.z64", 0xBA8A0C, 0x4
glabel D_80131870
.incbin "baserom.z64", 0xBA8A10, 0x4
glabel D_80131874
.incbin "baserom.z64", 0xBA8A14, 0x4
glabel D_80131878
.incbin "baserom.z64", 0xBA8A18, 0x4
glabel D_8013187C
.incbin "baserom.z64", 0xBA8A1C, 0x4
glabel D_80131880
.incbin "baserom.z64", 0xBA8A20, 0x4
glabel sPierresSong
.incbin "baserom.z64", 0xBA8A24, 0x360
glabel gScarecrowCustomSongPtr
.word sPierresSong
glabel gScarecrowSpawnSongPtr
.word sOcarinaSongs+0x780
glabel D_80131BEC
.word sOcarinaSongs+0x820
glabel sNoteValueIndexMap
.incbin "baserom.z64", 0xBA8D90, 0x10
glabel gOcarinaSongNotes
.incbin "baserom.z64", 0xBA8DA0, 0x80
glabel D_80131C80
.incbin "baserom.z64", 0xBA8E20, 0x4
glabel D_80131C84
.incbin "baserom.z64", 0xBA8E24, 0x4
glabel D_80131C88
.incbin "baserom.z64", 0xBA8E28, 0x4
glabel D_80131C8C
.incbin "baserom.z64", 0xBA8E2C, 0x4
glabel sAudioUpdateDuration
.incbin "baserom.z64", 0xBA8E30, 0x4
glabel sAudioUpdateDurationMax
.incbin "baserom.z64", 0xBA8E34, 0x4
glabel sAudioDebugEverOpened
.incbin "baserom.z64", 0xBA8E38, 0x4
glabel sAudioSEMuted
.incbin "baserom.z64", 0xBA8E3C, 0x4
glabel sAudioDebugPage
.incbin "baserom.z64", 0xBA8E40, 0x4
glabel sAudioSndContSel
.incbin "baserom.z64", 0xBA8E44, 0x4
glabel sAudioDebugTextColor
.incbin "baserom.z64", 0xBA8E48, 0x4
glabel sAudioDebugPageNames
.incbin "baserom.z64", 0xBA8E4C, 0x15C
glabel sAudioSndContWork
.incbin "baserom.z64", 0xBA8FA8, 0x18
glabel sAudioSndContWorkLims
.incbin "baserom.z64", 0xBA8FC0, 0x18
glabel sSoundBankNames
.incbin "baserom.z64", 0xBA8FD8, 0xB
.incbin "baserom.z64", 0xBA8FE3, 0xB
.incbin "baserom.z64", 0xBA8FEE, 0xB
.incbin "baserom.z64", 0xBA8FF9, 0xB
.incbin "baserom.z64", 0xBA9004, 0xB
.incbin "baserom.z64", 0xBA900F, 0xB
.incbin "baserom.z64", 0xBA901A, 0xE
glabel sSoundModeNames
.incbin "baserom.z64", 0xBA9028, 0x34
glabel sAudioIntInfoX
.incbin "baserom.z64", 0xBA905C, 0x4
glabel sAudioIntInfoY
.incbin "baserom.z64", 0xBA9060, 0x4
glabel sAudioIntInfoSel
.incbin "baserom.z64", 0xBA9064, 0x4
glabel sAudioIntInfoBankPage
.incbin "baserom.z64", 0xBA9068, 0x8
glabel sAudioScrPrtSel
.incbin "baserom.z64", 0xBA9070, 0x4
glabel sAudioScrPrtInd
.incbin "baserom.z64", 0xBA9074, 0x4
glabel sAudioScrPrtOverflow
.incbin "baserom.z64", 0xBA9078, 0x4
glabel sAudioScrPrtX
.incbin "baserom.z64", 0xBA907C, 0x4
glabel sAudioScrPrtY
.incbin "baserom.z64", 0xBA9080, 0x4
glabel sAudioScrPrtWork
.incbin "baserom.z64", 0xBA9084, 0xC
glabel sAudioScrPrtWorkLims
.incbin "baserom.z64", 0xBA9090, 0xC
glabel sAudioSubTrackInfoSpec
.incbin "baserom.z64", 0xBA909C, 0x4
glabel sAudioSEFlagSwapIsEditing
.incbin "baserom.z64", 0xBA90A0, 0x4
glabel sAudioSEFlagSwapSel
.incbin "baserom.z64", 0xBA90A4, 0x4
glabel sAudioSEFlagSwapNibbleSel
.incbin "baserom.z64", 0xBA90A8, 0x4
glabel sAudioSEFlagSwapModeNames
.incbin "baserom.z64", 0xBA90AC, 0xC
glabel sAudioSEParamChgSel
.incbin "baserom.z64", 0xBA90B8, 0x4
glabel sAudioSEParamChgBitSel
.incbin "baserom.z64", 0xBA90BC, 0x4
glabel sAudioSEParamChgWork
.incbin "baserom.z64", 0xBA90C0, 0x8
glabel sAudioSubTrackInfoPlayerSel
.incbin "baserom.z64", 0xBA90C8, 0x4
glabel sAudioSubTrackInfoChannelSel
.incbin "baserom.z64", 0xBA90CC, 0x4
glabel sSeqPlayerPeakNumLayers
.incbin "baserom.z64", 0xBA90D0, 0x14
glabel sAudioSceneNames
.incbin "baserom.z64", 0xBA90E4, 0x8
glabel sAudioBlkChgBgmWork
.incbin "baserom.z64", 0xBA90EC, 0x4
glabel sAudioBlkChgBgmSel
.incbin "baserom.z64", 0xBA90F0, 0x4
glabel sBoolStrs
.incbin "baserom.z64", 0xBA90F4, 0x10
glabel sAudioNatureFailed
.incbin "baserom.z64", 0xBA9104, 0x4
glabel sPeakNumNotes
.incbin "baserom.z64", 0xBA9108, 0x4
glabel D_80131F6C
.incbin "baserom.z64", 0xBA910C, 0x4
glabel D_80131F70
.incbin "baserom.z64", 0xBA9110, 0x7CC
glabel D_8013273C
.incbin "baserom.z64", 0xBA98DC, 0x380
glabel D_80132ABC
.incbin "baserom.z64", 0xBA9C5C, 0x140
glabel D_80132BFC
.incbin "baserom.z64", 0xBA9D9C, 0x3E0
glabel D_80132FDC
.incbin "baserom.z64", 0xBAA17C, 0x120
glabel D_801330FC
.incbin "baserom.z64", 0xBAA29C, 0x20
glabel D_8013311C
.incbin "baserom.z64", 0xBAA2BC, 0x200
glabel D_8013331C
.word D_8013273C
.word D_80132ABC
.word D_80132BFC
.word D_80131F70
.word D_80132FDC
.word D_801330FC
.word D_8013311C

View file

@ -340,8 +340,6 @@ extern s32 gDebugArenaLogSeverity;
//extern ? sUCodeDisasModeLMacros;
extern s16* gWaveSamples[9];
extern f32 gPitchBendFrequencyScale[256];
//extern ? D_8012F098;
//extern ? D_8012F0B0;
extern f32 D_8012F4B4[256];
extern f32 gNoteFrequencies[];
extern u8 gDefaultShortNoteVelocityTable[16];
@ -352,109 +350,21 @@ extern NoteSubEu gDefaultNoteSub;
extern u16 gHeadsetPanQuantization[0x10];
extern f32 gHeadsetPanVolume[128];
extern f32 gStereoPanVolume[128];
//extern ? D_8012FBAA;
//extern ? D_8012FFFF;
//extern ? D_80130001;
//extern ? D_80130002;
//extern ? D_80130004;
//extern ? D_80130006;
extern f32 gDefaultPanVolume[128];
extern s16 D_80130228[];
extern s16 D_80130328[];
//extern ? D_801304A0;
//extern ? D_801304AC;
//extern ? D_801304C0;
extern s32 gAudioContextInitalized;
//extern ? D_801304E8;
//extern ? D_80130500;
extern f32 D_80130510;
extern s32 D_80130514;
extern u8 D_80130570[8];
extern u8 D_80130570[7];
extern u8 D_80130578[4][7];
extern u8 D_80130594[4][7];
//extern ? D_801305B4;
//extern ? D_801305B8;
//extern ? D_801305BC;
//extern ? D_801305C0;
extern u8 gMorphaTransposeTable[16];
//extern ? D_801305E0;
//extern ? D_801305F4;
//extern ? D_80130600;
//extern ? D_80130604;
//extern ? D_80130608;
//extern ? D_8013061C;
//extern ? D_80130628;
//extern ? D_8013062C;
//extern ? D_80130630;
//extern ? D_80130634;
//extern ? D_80130638;
//extern ? D_8013063C;
//extern ? D_80130640;
//extern ? D_80130644;
//extern ? D_80130648;
//extern ? D_80130650;
//extern ? D_80130654;
//extern ? D_80130658;
//extern ? D_801306DC;
//extern ? sOcarinaAllowedBtnMask;
//extern ? sOcarinaABtnMap;
//extern ? sOcarinaCUPBtnMap;
//extern ? sOcarinaCDownBtnMap;
//extern ? sOcarinaInpEnabled;
//extern ? D_80130F10;
//extern ? sCurOcarinaBtnVal;
//extern ? sPrevOcarinaNoteVal;
//extern ? sCurOcarinaBtnIdx;
//extern ? sLearnSongLastBtn;
//extern ? D_80130F24;
//extern ? D_80130F28;
//extern ? D_80130F2C;
//extern ? D_80130F30;
//extern ? D_80130F34;
//extern ? sPlaybackState;
//extern ? D_80130F3C;
//extern ? sNotePlaybackTimer;
//extern ? sPlaybackNotePos;
//extern ? sStaffPlaybackPos;
//extern ? D_80130F4C;
//extern ? sDisplayedNoteValue;
//extern ? sNotePlaybackVolume;
//extern ? sNotePlaybackVibrato;
//extern ? sNotePlaybackTone;
//extern ? sNormalizedNotePlaybackTone;
//extern ? sNormalizedNotePlaybackVolume;
//extern ? D_80130F68;
//extern ? sOcarinaNoteValues;
//extern ? sOcaMinigameApndPos;
//extern ? sOcaMinigameEndPos;
//extern ? sOcarinaSongs;
//extern ? D_80131100;
//extern ? D_80131840;
extern u8* gFrogsSongPtr; // D_80131854: pointer to a u8 array of the notes you need to play for the frogs
//extern ? D_80131858;
//extern ? sRecordSongPos;
//extern ? D_80131860;
//extern ? D_80131864;
//extern ? D_80131868;
//extern ? D_8013186C;
//extern ? D_80131870;
//extern ? D_80131874;
//extern ? D_80131878;
//extern ? D_8013187C;
//extern ? D_80131880;
//extern ? sPierresSong;
//extern ? D_8013188C;
extern OcarinaSong* gScarecrowCustomSongPtr;
extern u8* gFrogsSongPtr;
extern OcarinaNote* gScarecrowCustomSongPtr;
extern u8* gScarecrowSpawnSongPtr;
//extern ? D_80131BEC;
//extern ? D_80131BF0;
extern OcarinaSongInfo gOcarinaSongNotes[];
//extern ? D_80131C80;
//extern ? D_80131C84;
//extern ? D_80131C88;
//extern ? D_80131F6C;
extern Struct_8013331C *D_8013331C[];
//extern ? D_80133344;
extern SoundParams* gSoundParams[7];
extern char D_80133390[];
extern char D_80133398[];
extern SoundBankEntry* gSoundBanks[7];

View file

@ -1057,9 +1057,9 @@ typedef struct {
/* 0x14 */ f32* unk_14;
/* 0x18 */ s8* reverbAdd;
/* 0x1C */ f32 dist;
/* 0x20 */ u32 unk_20;
/* 0x24 */ u8 unk_24;
/* 0x26 */ u16 unk_26;
/* 0x20 */ u32 priority; // lower is more prioritized
/* 0x24 */ u8 sfxImportance;
/* 0x26 */ u16 sfxParams;
/* 0x28 */ u16 sfxId;
/* 0x2A */ u8 unk_2A;
/* 0x2B */ u8 unk_2B;
@ -1091,14 +1091,14 @@ typedef struct {
#define SFX_BANK(sfxId) SFX_BANK_SHIFT(SFX_BANK_MASK(sfxId))
typedef struct {
u32 unk_0;
u32 priority; // lower is more prioritized
u8 unk_4;
} Struct_800F7CEC;
typedef struct {
u8 unk_0;
u16 unk_2;
} Struct_8013331C;
u8 importance;
u16 params;
} SoundParams;
typedef struct {
/* 0x0000 */ u8 noteIdx;
@ -1110,10 +1110,6 @@ typedef struct {
/* 0x0007 */ u8 semitone;
} OcarinaNote; // size = 0x8
typedef struct {
/* 0x0000 */ OcarinaNote notes[20];
} OcarinaSong; // size = 0xA0
#define Audio_DisableSeq(seqIdx, fadeOut) Audio_QueueCmdS32(0x83000000 | ((u8)seqIdx << 16), fadeOut)
#define Audio_Cmd82(seqIdx, a, b) Audio_QueueCmdS32(0x82000000 | ((u8)seqIdx << 16) | ((u8)a << 8), b)
#define Audio_StartSeq(seqIdx, fadeTimer, seqId) Audio_QueueSeqCmd(0x00000000 | ((u8)seqIdx << 24) | ((u8)(fadeTimer) << 0x10) | (u16)seqId)

2
spec
View file

@ -416,7 +416,7 @@ beginseg
include "build/data/audio_effects.data.o"
include "build/src/code/audio_seqplayer.o"
include "build/src/code/code_800EC960.o"
include "build/data/code_800EC960.data.o"
include "build/src/code/audio_sound_params.o"
include "build/src/code/code_800F7260.o"
include "build/data/code_800F7260.bss.o"
include "build/src/code/code_800F9280.o"

View file

@ -0,0 +1,241 @@
#include "ultra64.h"
#include "global.h"
SoundParams sEnemyBankParams[] = {
{ 0x18, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x38, 0x1 }, { 0x40, 0x1 }, { 0x30, 0x3 },
{ 0x38, 0x3 }, { 0x40, 0x3 }, { 0x30, 0x2 }, { 0x30, 0x3 }, { 0x30, 0x2 }, { 0x20, 0x81 },
{ 0x30, 0x3 }, { 0x30, 0x3 }, { 0x38, 0x3 }, { 0x30, 0x3 }, { 0x30, 0x3 }, { 0x38, 0x3 },
{ 0x40, 0x3 }, { 0x20, 0x2000 }, { 0x28, 0x3 }, { 0x28, 0x3 }, { 0x20, 0x2 }, { 0x28, 0x3 },
{ 0x38, 0x3 }, { 0x30, 0x3 }, { 0x40, 0x3 }, { 0x30, 0x3 }, { 0x30, 0x3 }, { 0x30, 0x3 },
{ 0x30, 0x3 }, { 0x30, 0x3 }, { 0x30, 0x0 }, { 0x40, 0x1 }, { 0x18, 0x0 }, { 0x14, 0x0 },
{ 0x14, 0x0 }, { 0x30, 0x3 }, { 0x30, 0x0 }, { 0x44, 0x3 }, { 0x18, 0x0 }, { 0x30, 0x2 },
{ 0x32, 0x2 }, { 0x38, 0x1 }, { 0x20, 0x0 }, { 0x40, 0x1 }, { 0x18, 0x0 }, { 0x28, 0x0 },
{ 0x18, 0x0 }, { 0x30, 0x0 }, { 0x38, 0x1 }, { 0x40, 0x1 }, { 0x14, 0x0 }, { 0x18, 0x80 },
{ 0x38, 0x2 }, { 0x30, 0x0 }, { 0x28, 0x1 }, { 0x30, 0x0 }, { 0x38, 0x1 }, { 0x40, 0x1 },
{ 0x30, 0x0 }, { 0x18, 0x0 }, { 0x20, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x20, 0x1 },
{ 0x40, 0x1 }, { 0x38, 0x1 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x40, 0x1 }, { 0x38, 0x1 },
{ 0x20, 0x0 }, { 0x30, 0x0 }, { 0x40, 0x1 }, { 0x40, 0x1 }, { 0x30, 0x3 }, { 0x30, 0x2000 },
{ 0x30, 0x3 }, { 0x30, 0x3 }, { 0x30, 0x3 }, { 0x30, 0x3 }, { 0x30, 0x3 }, { 0x30, 0x3 },
{ 0x30, 0x3 }, { 0x30, 0x3 }, { 0x18, 0x3 }, { 0x30, 0x3 }, { 0x28, 0x0 }, { 0x30, 0x0 },
{ 0x18, 0x0 }, { 0x30, 0x0 }, { 0x28, 0x0 }, { 0x30, 0x0 }, { 0x38, 0x1 }, { 0x40, 0x1 },
{ 0x28, 0x0 }, { 0x30, 0x0 }, { 0x40, 0x1 }, { 0x14, 0x0 }, { 0x30, 0x0 }, { 0x20, 0x0 },
{ 0x40, 0x1 }, { 0x30, 0x3 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x20, 0x0 }, { 0x38, 0x1 },
{ 0x20, 0x0 }, { 0x38, 0x1 }, { 0x40, 0x1 }, { 0x14, 0x0 }, { 0x30, 0x3 }, { 0x20, 0x1 },
{ 0x20, 0x1 }, { 0x30, 0x2 }, { 0x30, 0x2 }, { 0x38, 0x2 }, { 0x40, 0x2 }, { 0x40, 0x2 },
{ 0x14, 0x81 }, { 0x34, 0x0 }, { 0x40, 0x0 }, { 0x20, 0x0 }, { 0x28, 0x0 }, { 0x28, 0x0 },
{ 0x30, 0x0 }, { 0x14, 0x0 }, { 0x38, 0x1 }, { 0x40, 0x1 }, { 0x20, 0x0 }, { 0x30, 0x3 },
{ 0x30, 0x0 }, { 0x40, 0x1 }, { 0x40, 0x3 }, { 0x40, 0x1 }, { 0x28, 0x1 }, { 0x30, 0x3 },
{ 0x20, 0x0 }, { 0x38, 0x1 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x20, 0x0 }, { 0x20, 0x0 },
{ 0x38, 0x2000 }, { 0x30, 0x3 }, { 0x30, 0x2000 }, { 0x30, 0x0 }, { 0x14, 0x0 }, { 0x38, 0x1 },
{ 0x40, 0x1 }, { 0x14, 0x0 }, { 0x20, 0x0 }, { 0x20, 0x0 }, { 0x30, 0x0 }, { 0x40, 0x1 },
{ 0x40, 0x1 }, { 0x30, 0x0 }, { 0x34, 0x1 }, { 0x40, 0x1 }, { 0x30, 0x3 }, { 0x30, 0x2 },
{ 0x30, 0x2000 }, { 0x20, 0x43 }, { 0x20, 0x2 }, { 0x30, 0x3 }, { 0x30, 0x3 }, { 0x30, 0x3 },
{ 0x38, 0x3 }, { 0x30, 0x2000 }, { 0x30, 0x3 }, { 0x30, 0x2 }, { 0x30, 0x2000 }, { 0x30, 0x3 },
{ 0x38, 0x3 }, { 0x40, 0x3 }, { 0x30, 0x3 }, { 0x30, 0x3 }, { 0x30, 0x403 }, { 0x38, 0x1 },
{ 0x30, 0x3 }, { 0x30, 0x3 }, { 0x20, 0x0 }, { 0x34, 0x0 }, { 0x18, 0x1 }, { 0x20, 0x2000 },
{ 0x30, 0x2000 }, { 0x14, 0x3 }, { 0x28, 0x3 }, { 0x28, 0x3 }, { 0x40, 0x3 }, { 0x30, 0x3 },
{ 0x20, 0x0 }, { 0x14, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x28, 0x0 }, { 0x28, 0x0 },
{ 0x40, 0x1 }, { 0x40, 0x1 }, { 0x20, 0x0 }, { 0x20, 0x0 }, { 0x14, 0x0 }, { 0x30, 0x0 },
{ 0x30, 0x0 }, { 0x30, 0x0 }, { 0x40, 0x1 }, { 0x30, 0x0 }, { 0x30, 0x3 }, { 0x30, 0x3 },
{ 0x30, 0x3 }, { 0x30, 0x3 }, { 0x30, 0x3 }, { 0x38, 0x3 }, { 0x38, 0x3 }, { 0x30, 0x3 },
{ 0x30, 0x3 }, { 0x40, 0x3 }, { 0x30, 0x3 }, { 0x30, 0x3 }, { 0x38, 0x1 }, { 0x28, 0x3 },
{ 0x28, 0x83 }, { 0x28, 0x82 }, { 0x30, 0x3 }, { 0x30, 0x2000 }, { 0x30, 0x2000 }, { 0x38, 0x1 },
{ 0x20, 0x0 }, { 0x34, 0x0 }, { 0x38, 0x1 }, { 0x40, 0x1 }, { 0x34, 0x2000 }, { 0x20, 0x0 },
{ 0x38, 0x0 }, { 0x40, 0x1 }, { 0x30, 0x3 }, { 0x30, 0x2 }, { 0x30, 0x2 }, { 0x38, 0x3 },
{ 0x30, 0x3 }, { 0x32, 0x3 }, { 0x34, 0x3 }, { 0x34, 0x3 }, { 0x30, 0x3 }, { 0x30, 0x3 },
{ 0x30, 0x3 }, { 0x28, 0x82 }, { 0x40, 0x3 }, { 0x40, 0x3 }, { 0x30, 0x3 }, { 0x30, 0x3 },
{ 0x20, 0x0 }, { 0x20, 0x0 }, { 0x30, 0x0 }, { 0x20, 0x80 }, { 0x30, 0x3 }, { 0x18, 0x3 },
{ 0x34, 0x3 }, { 0x30, 0x3 }, { 0x38, 0x3 }, { 0x18, 0x3 }, { 0x30, 0x2000 }, { 0x38, 0x3 },
{ 0x30, 0x3 }, { 0x40, 0x3 }, { 0x40, 0x2000 }, { 0x38, 0x3 }, { 0x30, 0x2000 }, { 0x30, 0x3 },
{ 0x30, 0x3 }, { 0x30, 0x3 }, { 0x30, 0x3 }, { 0x30, 0x3 }, { 0x30, 0x3 }, { 0x30, 0x2 },
{ 0x30, 0x3 }, { 0x30, 0x3 }, { 0x38, 0x2000 }, { 0x38, 0x3 }, { 0x38, 0x3 }, { 0x38, 0x3 },
{ 0x38, 0x2000 }, { 0x40, 0x2000 }, { 0x18, 0x0 }, { 0x30, 0x3 }, { 0x30, 0x2 }, { 0x20, 0x2 },
{ 0x24, 0x3 }, { 0x28, 0x3 }, { 0x30, 0x3 }, { 0x30, 0x3 }, { 0x30, 0x0 }, { 0x30, 0x0 },
{ 0x30, 0x0 }, { 0x30, 0x3 }, { 0x18, 0x1 }, { 0x34, 0x3 }, { 0x30, 0x3 }, { 0x30, 0x3 },
{ 0x34, 0x3 }, { 0x30, 0x3 }, { 0x30, 0x3 }, { 0x30, 0x3 }, { 0x30, 0x1 }, { 0x14, 0x0 },
{ 0x40, 0x1 }, { 0x30, 0x1 }, { 0x30, 0x1 }, { 0x30, 0x1 }, { 0x38, 0x3 }, { 0x30, 0x0 },
{ 0x30, 0x3 }, { 0x30, 0x3 }, { 0x38, 0x3 }, { 0x38, 0x3 }, { 0x30, 0x2 }, { 0x38, 0x3 },
{ 0x38, 0x3 }, { 0x30, 0x83 }, { 0x38, 0x3 }, { 0x30, 0x3 }, { 0x34, 0x3 }, { 0x20, 0x2 },
{ 0x34, 0x3 }, { 0x30, 0x3 }, { 0x38, 0x3 }, { 0x20, 0x3 }, { 0x14, 0x0 }, { 0x20, 0x1 },
{ 0x30, 0x3 }, { 0x40, 0x1 }, { 0x38, 0x1 }, { 0x40, 0x1 }, { 0x20, 0x0 }, { 0x20, 0x0 },
{ 0x30, 0x3 }, { 0x30, 0x3 }, { 0x30, 0x3 }, { 0x30, 0x3 }, { 0x28, 0x2 }, { 0x30, 0x0 },
{ 0x38, 0x1 }, { 0x28, 0x2 }, { 0x30, 0x3 }, { 0x30, 0x3 }, { 0x38, 0x3 }, { 0x40, 0x3 },
{ 0x14, 0x0 }, { 0x30, 0x0 }, { 0x38, 0x1 }, { 0x30, 0x1 }, { 0x40, 0x1 }, { 0x28, 0x0 },
{ 0x28, 0x0 }, { 0x30, 0x2 }, { 0x30, 0x3 }, { 0x30, 0x3 }, { 0x30, 0x3 }, { 0x30, 0x3 },
{ 0x30, 0x2000 }, { 0x38, 0x3 }, { 0x38, 0x3 }, { 0x30, 0x3 }, { 0x30, 0x3 }, { 0x34, 0x3 },
{ 0x38, 0x3 }, { 0x40, 0x3 }, { 0x10, 0x0 }, { 0x34, 0x0 }, { 0x18, 0x0 }, { 0x30, 0x0 },
{ 0x14, 0x0 }, { 0x34, 0x0 }, { 0x28, 0x1 }, { 0x38, 0x1 }, { 0x40, 0x1 }, { 0x30, 0x0 },
{ 0x38, 0x3 }, { 0x20, 0x0 }, { 0x20, 0x2 }, { 0x30, 0x2 }, { 0x30, 0x3 }, { 0x30, 0x3 },
{ 0x38, 0x3 }, { 0x30, 0x3 }, { 0x20, 0x2000 }, { 0x30, 0x3 }, { 0x30, 0x0 }, { 0x40, 0x1 },
{ 0x30, 0x0 }, { 0x20, 0x0 }, { 0x38, 0x1 }, { 0x40, 0x1 }, { 0x30, 0x0 }, { 0x30, 0x2000 },
{ 0x30, 0x3 }, { 0x30, 0x2 }, { 0x30, 0x3 }, { 0x30, 0x3 }, { 0x18, 0x0 }, { 0x28, 0x0 },
{ 0x34, 0x0 }, { 0x34, 0x0 }, { 0x34, 0x0 }, { 0x38, 0x1 }, { 0x40, 0x1 }, { 0x30, 0x3 },
{ 0x30, 0x0 }, { 0x38, 0x1 }, { 0x40, 0x1 }, { 0x38, 0x3 }, { 0x30, 0x0 }, { 0x30, 0x0 },
{ 0x40, 0x3 }, { 0x40, 0x2 }, { 0x18, 0x0 }, { 0x44, 0x3 }, { 0x34, 0x0 }, { 0x18, 0x0 },
{ 0x30, 0x0 }, { 0x38, 0x1 }, { 0x40, 0x1 }, { 0x18, 0x3 }, { 0x30, 0x3 }, { 0x38, 0x3 },
{ 0x38, 0x3 }, { 0x40, 0x3 }, { 0x30, 0x3 }, { 0x36, 0x3 }, { 0x34, 0x3 }, { 0x28, 0x82 },
{ 0x30, 0x3 }, { 0x30, 0x3 }, { 0x30, 0x0 }, { 0x30, 0x3 }, { 0x30, 0x3 }, { 0x30, 0x3 },
{ 0x30, 0x0 }, { 0x30, 0x2000 }, { 0x30, 0x2000 }, { 0x30, 0x2000 }, { 0x30, 0x0 }, { 0x30, 0x2000 },
{ 0x30, 0x0 }, { 0x30, 0x0 }, { 0x28, 0x3 }, { 0x30, 0x3 }, { 0x40, 0x3 }, { 0x30, 0x3 },
{ 0x30, 0x3 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x20, 0x0 }, { 0x20, 0x3 },
{ 0x30, 0x3 }, { 0x30, 0x3 }, { 0x30, 0x3 }, { 0x30, 0x3 }, { 0x38, 0x3 }, { 0x38, 0x3 },
{ 0x20, 0x3 }, { 0x30, 0x3 }, { 0x44, 0x3 }, { 0x30, 0x83 }, { 0x30, 0x3 }, { 0x30, 0x3 },
{ 0x34, 0x3 }, { 0x30, 0x3 }, { 0x30, 0x3 }, { 0x20, 0x2 }, { 0x30, 0x3 }, { 0x20, 0x3 },
{ 0x30, 0x0 }, { 0x30, 0x2 }, { 0x40, 0x2 }, { 0x40, 0x3 }, { 0x34, 0x2 }, { 0x30, 0x3 },
{ 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x1 }, { 0x34, 0x3 }, { 0x24, 0x3 }, { 0x34, 0x1 },
{ 0x20, 0x0 }, { 0x30, 0x3 }, { 0x30, 0x0 }, { 0x8, 0x1 }, { 0x30, 0x1 }, { 0x30, 0x3 },
{ 0x38, 0x3 }, { 0x20, 0x2000 }, { 0x34, 0x3 }, { 0x34, 0x2000 }, { 0x8, 0x0 }, { 0x40, 0x3 },
{ 0x34, 0x3 },
};
SoundParams sPlayerBankParams[] = {
{ 0x20, 0x480 }, { 0x20, 0x480 }, { 0x20, 0x480 }, { 0x20, 0x480 }, { 0x20, 0x440 }, { 0x20, 0x440 },
{ 0x20, 0x440 }, { 0x20, 0x440 }, { 0x20, 0x480 }, { 0x20, 0x440 }, { 0x20, 0x480 }, { 0x20, 0x400 },
{ 0x20, 0x400 }, { 0x20, 0x400 }, { 0x20, 0x400 }, { 0x20, 0x400 }, { 0x30, 0x400 }, { 0x30, 0x400 },
{ 0x30, 0x400 }, { 0x30, 0x400 }, { 0x30, 0x400 }, { 0x30, 0x400 }, { 0x30, 0x400 }, { 0x30, 0x400 },
{ 0x30, 0x400 }, { 0x30, 0x400 }, { 0x30, 0x400 }, { 0x30, 0x400 }, { 0x30, 0x400 }, { 0x30, 0x400 },
{ 0x30, 0x400 }, { 0x30, 0x400 }, { 0x40, 0x440 }, { 0x40, 0x440 }, { 0x40, 0x440 }, { 0x40, 0x440 },
{ 0x40, 0x440 }, { 0x40, 0x440 }, { 0x40, 0x440 }, { 0x40, 0x440 }, { 0x40, 0x440 }, { 0x40, 0x440 },
{ 0x40, 0x440 }, { 0x40, 0x440 }, { 0x40, 0x440 }, { 0x40, 0x440 }, { 0x40, 0x440 }, { 0x40, 0x440 },
{ 0x30, 0x80 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x400 }, { 0x30, 0x400 },
{ 0x30, 0x400 }, { 0x30, 0x40 }, { 0x30, 0x40 }, { 0x30, 0x80 }, { 0x30, 0x400 }, { 0x30, 0x400 },
{ 0x40, 0x400 }, { 0x30, 0x400 }, { 0x30, 0x402 }, { 0x30, 0x400 }, { 0x30, 0x40 }, { 0x30, 0x40 },
{ 0x30, 0x40 }, { 0x30, 0x40 }, { 0x30, 0x40 }, { 0x30, 0x40 }, { 0x30, 0x40 }, { 0x30, 0x40 },
{ 0x30, 0x40 }, { 0x30, 0x40 }, { 0x30, 0x40 }, { 0x30, 0x40 }, { 0x30, 0x0 }, { 0x30, 0x0 },
{ 0x30, 0x0 }, { 0x30, 0x0 }, { 0x80, 0x0 }, { 0x80, 0x0 }, { 0x80, 0x0 }, { 0x80, 0x0 },
{ 0x80, 0x0 }, { 0x80, 0x0 }, { 0x80, 0x0 }, { 0x80, 0x0 }, { 0x80, 0x0 }, { 0x80, 0x0 },
{ 0x80, 0x0 }, { 0x80, 0x0 }, { 0x80, 0x0 }, { 0x80, 0x0 }, { 0x80, 0x0 }, { 0x80, 0x0 },
{ 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 },
{ 0x30, 0x400 }, { 0x30, 0x400 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 },
{ 0x30, 0x3 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x80 },
{ 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x3 }, { 0x30, 0x1 }, { 0x30, 0x0 }, { 0x30, 0x0 },
{ 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x2000 }, { 0x30, 0xc00 }, { 0x30, 0x400 },
{ 0x30, 0x400 }, { 0x30, 0x400 }, { 0x20, 0x80 }, { 0x20, 0x80 }, { 0x20, 0x80 }, { 0x20, 0x80 },
{ 0x20, 0x40 }, { 0x20, 0x40 }, { 0x20, 0x40 }, { 0x20, 0x40 }, { 0x20, 0x80 }, { 0x20, 0x80 },
{ 0x20, 0x80 }, { 0x20, 0x0 }, { 0x20, 0x0 }, { 0x20, 0x0 }, { 0x20, 0x0 }, { 0x20, 0x0 },
{ 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 },
{ 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 },
{ 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x40, 0x0 }, { 0x40, 0x0 },
{ 0x40, 0x0 }, { 0x40, 0x0 }, { 0x40, 0x0 }, { 0x40, 0x0 }, { 0x40, 0x0 }, { 0x40, 0x0 },
{ 0x40, 0x0 }, { 0x40, 0x0 }, { 0x40, 0x0 }, { 0x40, 0x0 }, { 0x40, 0x0 }, { 0x40, 0x0 },
{ 0x40, 0x0 }, { 0x40, 0x0 }, { 0x30, 0x440 }, { 0x30, 0x440 }, { 0x30, 0x440 }, { 0x30, 0x440 },
{ 0x30, 0x440 }, { 0x30, 0x440 }, { 0x30, 0x440 }, { 0x30, 0x440 }, { 0x30, 0x440 }, { 0x30, 0x440 },
{ 0x30, 0x440 }, { 0x30, 0x440 }, { 0x30, 0x440 }, { 0x30, 0x440 }, { 0x30, 0x440 }, { 0x30, 0x440 },
{ 0x30, 0xc00 }, { 0x30, 0x80 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 },
{ 0x30, 0x0 }, { 0x30, 0x0 }, { 0x60, 0x2 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x800 },
{ 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 },
{ 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 },
{ 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 },
{ 0x30, 0x0 }, { 0x30, 0x0 },
};
SoundParams sItemBankParams[] = {
{ 0x30, 0x8040 }, { 0x30, 0x40 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x440 }, { 0x30, 0x440 },
{ 0x60, 0x83 }, { 0x30, 0x440 }, { 0x80, 0x43 }, { 0x30, 0x0 }, { 0x30, 0x40 }, { 0x30, 0x400 },
{ 0x30, 0x401 }, { 0x50, 0x0 }, { 0x90, 0x2 }, { 0x50, 0x2 }, { 0x30, 0x400 }, { 0x40, 0x2 },
{ 0x30, 0x40 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x34, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 },
{ 0x30, 0x0 }, { 0x30, 0x0 }, { 0x40, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 },
{ 0x30, 0x80 }, { 0x30, 0x40 }, { 0x30, 0x400 }, { 0x20, 0x400 }, { 0x30, 0x0 }, { 0x30, 0x0 },
{ 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x400 }, { 0x30, 0x400 }, { 0x60, 0x43 },
{ 0x30, 0x1 }, { 0x30, 0x401 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0xa0, 0x2 }, { 0xa0, 0x2 },
{ 0x30, 0x400 }, { 0x30, 0x0 }, { 0x60, 0x0 }, { 0x60, 0x0 }, { 0x60, 0x0 }, { 0x30, 0x400 },
{ 0x30, 0x0 }, { 0x60, 0x81 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x60, 0x8003 }, { 0x60, 0x8003 },
{ 0x60, 0x8003 }, { 0x30, 0x4000 }, { 0x30, 0x4000 }, { 0x30, 0x40 }, { 0x80, 0x3 }, { 0x80, 0x3 },
{ 0x30, 0x3 }, { 0x30, 0x0 }, { 0x30, 0x40 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 },
{ 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x80, 0x0 }, { 0x30, 0x0 },
{ 0x30, 0x0 }, { 0x30, 0x0 },
};
SoundParams sEnvBankParams[] = {
{ 0x70, 0x640 }, { 0x80, 0x40 }, { 0x30, 0x0 }, { 0x30, 0x40 }, { 0x30, 0x40 }, { 0x40, 0x40 },
{ 0x30, 0x480 }, { 0x38, 0x2 }, { 0x30, 0x40 }, { 0x30, 0x40 }, { 0x80, 0x2 }, { 0xa0, 0x3 },
{ 0x30, 0x3 }, { 0x30, 0x3 }, { 0x30, 0x3 }, { 0x30, 0x3 }, { 0x30, 0x2 }, { 0x30, 0x40 },
{ 0x30, 0x40 }, { 0x30, 0x0 }, { 0x60, 0x0 }, { 0x30, 0x3 }, { 0x30, 0x0 }, { 0x30, 0x82 },
{ 0x30, 0x0 }, { 0x40, 0x0 }, { 0x38, 0x0 }, { 0x28, 0x0 }, { 0x60, 0x0 }, { 0x70, 0x3 },
{ 0x30, 0x3 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0xa0, 0x2008 }, { 0x20, 0x2 }, { 0x30, 0x0 },
{ 0x30, 0x800 }, { 0x30, 0x8800 }, { 0x30, 0x8000 }, { 0x30, 0x2 }, { 0x30, 0x0 }, { 0x30, 0x0 },
{ 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x400 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x80 },
{ 0x60, 0x42 }, { 0x10, 0x0 }, { 0xa0, 0x3 }, { 0x30, 0x0 }, { 0x30, 0x10 }, { 0x30, 0x3 },
{ 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x2 }, { 0x30, 0x0 }, { 0xa0, 0x3 },
{ 0x30, 0x0 }, { 0x30, 0x400 }, { 0x30, 0x400 }, { 0x70, 0x13 }, { 0x60, 0x8000 }, { 0x30, 0x8000 },
{ 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x2003 }, { 0x30, 0x0 },
{ 0x30, 0x0 }, { 0x30, 0x2010 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 },
{ 0x30, 0x1 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x40, 0x0 }, { 0x30, 0xc2 }, { 0x70, 0x2 },
{ 0x60, 0x2 }, { 0x30, 0x0 }, { 0x60, 0x1 }, { 0x30, 0x2 }, { 0x30, 0x0 }, { 0x90, 0x3 },
{ 0x90, 0x3 }, { 0x30, 0x0 }, { 0x30, 0x2 }, { 0x30, 0x3800 }, { 0x30, 0x0 }, { 0x30, 0x0 },
{ 0x30, 0x3 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x3 }, { 0x30, 0x0 }, { 0x30, 0x0 },
{ 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 },
{ 0x30, 0x0 }, { 0x30, 0x803 }, { 0x30, 0x0 }, { 0x30, 0x3 }, { 0x30, 0x0 }, { 0x30, 0x0 },
{ 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x2 }, { 0x30, 0x0 },
{ 0x30, 0x0 }, { 0x30, 0x2 }, { 0x30, 0x2 }, { 0x30, 0x2 }, { 0x40, 0x0 }, { 0x1c, 0x0 },
{ 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 },
{ 0x30, 0x0 }, { 0x60, 0x200 }, { 0x30, 0x800 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 },
{ 0x30, 0x0 }, { 0x30, 0x3 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x3 },
{ 0x30, 0x3 }, { 0x30, 0x2000 }, { 0x30, 0x2000 }, { 0x30, 0x3 }, { 0x30, 0x0 }, { 0x30, 0x0 },
{ 0x30, 0x80 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 },
{ 0x30, 0x800 }, { 0x30, 0x800 }, { 0x30, 0x2 }, { 0x30, 0x3 }, { 0x30, 0x0 }, { 0x30, 0x0 },
{ 0x30, 0x0 }, { 0x30, 0x0 }, { 0x20, 0x3 }, { 0x30, 0x0 }, { 0x30, 0x8000 }, { 0x30, 0x0 },
{ 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x2 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 },
{ 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x3 }, { 0x60, 0x3 },
{ 0x30, 0x80 }, { 0x30, 0x2000 }, { 0x30, 0x0 }, { 0x30, 0x1 }, { 0x30, 0x0 }, { 0x30, 0x0 },
{ 0x30, 0x2 }, { 0x30, 0x3 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 },
{ 0x30, 0x0 }, { 0x30, 0x0 }, { 0xa0, 0x3 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 },
{ 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0xc0 }, { 0x30, 0x2 },
{ 0x30, 0x2 }, { 0x30, 0x0 }, { 0x30, 0x3 }, { 0x30, 0x3 }, { 0x30, 0x0 }, { 0x30, 0x4083 },
{ 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 },
{ 0x80, 0x0 }, { 0x60, 0x0 }, { 0x90, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 },
{ 0x60, 0xc3 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x3 }, { 0x30, 0x3 }, { 0x30, 0x0 },
{ 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0xa0, 0x800 }, { 0x30, 0x0 },
{ 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x2 }, { 0x30, 0x0 }, { 0x30, 0x3 }, { 0x20, 0x0 },
{ 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 },
{ 0x30, 0x0 }, { 0x30, 0x0 },
};
SoundParams sSystemBankParams[] = {
{ 0xc0, 0x0 }, { 0xc0, 0x0 }, { 0xb0, 0x20 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x50, 0x0 },
{ 0x30, 0x20 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x20, 0x0 }, { 0x30, 0x0 },
{ 0x30, 0x0 }, { 0x30, 0x0 }, { 0x28, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 },
{ 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x18, 0x0 }, { 0x2c, 0x0 }, { 0x2c, 0x0 }, { 0x20, 0x0 },
{ 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 },
{ 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x20, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 },
{ 0x30, 0x0 }, { 0x30, 0x0 }, { 0x60, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 },
{ 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 },
{ 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 },
{ 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 },
{ 0x30, 0x0 }, { 0x30, 0x0 },
};
SoundParams sOcarinaBankParams[] = {
{ 0x30, 0x0 }, { 0x30, 0x20 }, { 0x30, 0x642 }, { 0x30, 0x0 },
{ 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 },
};
SoundParams sVoiceBankParams[] = {
{ 0x30, 0x402 }, { 0x30, 0x402 }, { 0x30, 0x402 }, { 0x20, 0x402 }, { 0x30, 0x402 }, { 0x30, 0x402 },
{ 0x30, 0x402 }, { 0x30, 0x402 }, { 0x30, 0x402 }, { 0x30, 0x442 }, { 0x30, 0x442 }, { 0x30, 0x402 },
{ 0x30, 0x402 }, { 0x50, 0x402 }, { 0x30, 0x402 }, { 0x30, 0x402 }, { 0x30, 0x402 }, { 0x30, 0x402 },
{ 0x30, 0x402 }, { 0x30, 0x402 }, { 0x30, 0x402 }, { 0x30, 0x402 }, { 0x30, 0x402 }, { 0x30, 0x402 },
{ 0x30, 0x482 }, { 0x30, 0x402 }, { 0x30, 0x402 }, { 0x30, 0x402 }, { 0x30, 0x402 }, { 0x80, 0x402 },
{ 0x30, 0x402 }, { 0x30, 0x402 }, { 0x30, 0x402 }, { 0x30, 0x402 }, { 0x30, 0x402 }, { 0x20, 0x402 },
{ 0x30, 0x402 }, { 0x30, 0x402 }, { 0x30, 0x402 }, { 0x30, 0x402 }, { 0x30, 0x402 }, { 0x30, 0x442 },
{ 0x30, 0x442 }, { 0x30, 0x402 }, { 0x30, 0x402 }, { 0x50, 0x402 }, { 0x30, 0x402 }, { 0x30, 0x402 },
{ 0x30, 0x402 }, { 0x30, 0x402 }, { 0x30, 0x402 }, { 0x30, 0x402 }, { 0x30, 0x402 }, { 0x30, 0x402 },
{ 0x30, 0x402 }, { 0x30, 0x402 }, { 0x30, 0x481 }, { 0x30, 0x402 }, { 0x30, 0x402 }, { 0x30, 0x402 },
{ 0x30, 0x402 }, { 0x30, 0x402 }, { 0x30, 0x402 }, { 0x30, 0x402 }, { 0x60, 0x20 }, { 0x30, 0x20 },
{ 0x30, 0x20 }, { 0x60, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 },
{ 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x0 },
{ 0x30, 0x0 }, { 0x30, 0x0 }, { 0x30, 0x8041 }, { 0x30, 0x8041 }, { 0x30, 0x8041 }, { 0x30, 0x8041 },
{ 0x30, 0x8041 }, { 0x30, 0x8041 }, { 0x30, 0x8041 }, { 0x30, 0x8041 }, { 0x30, 0x8041 }, { 0x30, 0x8041 },
{ 0x30, 0x8041 }, { 0x30, 0x8041 }, { 0x30, 0x8041 }, { 0x30, 0x8041 }, { 0x30, 0x8041 }, { 0x30, 0x8041 },
{ 0x30, 0x8041 }, { 0x30, 0x8041 }, { 0x30, 0x8041 }, { 0x30, 0x8041 }, { 0x30, 0x8041 }, { 0x30, 0x8041 },
{ 0x30, 0x8041 }, { 0x30, 0x8041 }, { 0x30, 0x8041 }, { 0x30, 0x8041 }, { 0x30, 0x8041 }, { 0x30, 0x8041 },
{ 0x30, 0x8041 }, { 0x30, 0x8041 }, { 0x30, 0x8041 }, { 0x30, 0x8041 }, { 0x30, 0x8041 }, { 0x30, 0x8041 },
{ 0x30, 0x8041 }, { 0x30, 0x8041 }, { 0x30, 0x8041 }, { 0x30, 0x8043 }, { 0x30, 0x8043 }, { 0x30, 0x8043 },
{ 0x30, 0x8041 }, { 0x30, 0x8041 }, { 0x30, 0x8041 }, { 0x30, 0x8041 }, { 0x30, 0x8041 }, { 0x30, 0x8041 },
{ 0x30, 0x8041 }, { 0x30, 0x8041 },
};
SoundParams* gSoundParams[7] = {
sPlayerBankParams, sItemBankParams, sEnvBankParams, sEnemyBankParams,
sSystemBankParams, sOcarinaBankParams, sVoiceBankParams,
};

File diff suppressed because it is too large Load diff

View file

@ -80,7 +80,6 @@ u8 D_801333F8 = 0;
extern SoundRequest sSoundRequests[0x100];
extern Struct_800F8EA0 D_8016E270[7];
extern Struct_8013331C* D_8013331C[9];
void Audio_SetSoundBanksMute(u16 muteMask) {
u8 bankId;
@ -197,13 +196,13 @@ void Audio_ProcessSoundRequest(void) {
u8 index;
SoundRequest* req;
SoundBankEntry* entry;
Struct_8013331C* sp48;
SoundParams* soundParams;
s32 bankId;
u8 bestValue;
u8 bestIndex;
u8 evictImportance;
u8 evictIndex;
req = &sSoundRequests[sSoundRequestReadIndex];
bestIndex = 0x80;
evictIndex = 0x80;
if (req->sfxId == 0) {
return;
}
@ -216,34 +215,36 @@ void Audio_ProcessSoundRequest(void) {
index = gSoundBanks[bankId][0].next;
while (index != 0xFF && index != 0) {
if (gSoundBanks[bankId][index].posX == &req->pos->x) {
if ((D_8013331C[SFX_BANK_SHIFT(req->sfxId)][SFX_INDEX(req->sfxId)].unk_2 & 0x20) &&
D_8013331C[SFX_BANK_SHIFT(req->sfxId)][SFX_INDEX(req->sfxId)].unk_0 ==
gSoundBanks[bankId][index].unk_24) {
if ((gSoundParams[SFX_BANK_SHIFT(req->sfxId)][SFX_INDEX(req->sfxId)].params & 0x20) &&
gSoundParams[SFX_BANK_SHIFT(req->sfxId)][SFX_INDEX(req->sfxId)].importance ==
gSoundBanks[bankId][index].sfxImportance) {
return;
}
if (gSoundBanks[bankId][index].sfxId == req->sfxId) {
count = D_80130594[D_801333CC][bankId];
} else {
if (count == 0) {
bestIndex = index;
evictIndex = index;
sfxId = gSoundBanks[bankId][index].sfxId & 0xFFFF;
bestValue = D_8013331C[SFX_BANK_SHIFT(sfxId)][SFX_INDEX(sfxId)].unk_0;
} else if (gSoundBanks[bankId][index].unk_24 < bestValue) {
bestIndex = index;
evictImportance = gSoundParams[SFX_BANK_SHIFT(sfxId)][SFX_INDEX(sfxId)].importance;
} else if (gSoundBanks[bankId][index].sfxImportance < evictImportance) {
evictIndex = index;
sfxId = gSoundBanks[bankId][index].sfxId & 0xFFFF;
bestValue = D_8013331C[SFX_BANK_SHIFT(sfxId)][SFX_INDEX(sfxId)].unk_0;
evictImportance = gSoundParams[SFX_BANK_SHIFT(sfxId)][SFX_INDEX(sfxId)].importance;
}
count++;
if (count == D_80130594[D_801333CC][bankId]) {
index = (D_8013331C[SFX_BANK_SHIFT(req->sfxId)][SFX_INDEX(req->sfxId)].unk_0 >= bestValue)
? bestIndex
: 0;
if (gSoundParams[SFX_BANK_SHIFT(req->sfxId)][SFX_INDEX(req->sfxId)].importance >= evictImportance) {
index = evictIndex;
} else {
index = 0;
}
}
}
if (count == D_80130594[D_801333CC][bankId]) {
sp48 = &D_8013331C[SFX_BANK_SHIFT(req->sfxId)][SFX_INDEX(req->sfxId)];
if ((req->sfxId & 0xC00) || (sp48->unk_2 & 4) || (index == bestIndex)) {
if ((gSoundBanks[bankId][index].unk_26 & 8) && gSoundBanks[bankId][index].unk_2A != 1) {
soundParams = &gSoundParams[SFX_BANK_SHIFT(req->sfxId)][SFX_INDEX(req->sfxId)];
if ((req->sfxId & 0xC00) || (soundParams->params & 4) || (index == evictIndex)) {
if ((gSoundBanks[bankId][index].sfxParams & 8) && gSoundBanks[bankId][index].unk_2A != 1) {
Audio_ClearBGMMute(gSoundBanks[bankId][index].unk_2E);
}
gSoundBanks[bankId][index].unk_C = req->unk_8;
@ -253,8 +254,8 @@ void Audio_ProcessSoundRequest(void) {
gSoundBanks[bankId][index].freqScale = req->freqScale;
gSoundBanks[bankId][index].unk_14 = req->unk_10;
gSoundBanks[bankId][index].reverbAdd = req->reverbAdd;
gSoundBanks[bankId][index].unk_26 = sp48->unk_2;
gSoundBanks[bankId][index].unk_24 = sp48->unk_0;
gSoundBanks[bankId][index].sfxParams = soundParams->params;
gSoundBanks[bankId][index].sfxImportance = soundParams->importance;
} else if (gSoundBanks[bankId][index].unk_2A == 5) {
gSoundBanks[bankId][index].unk_2A = 4;
}
@ -275,9 +276,9 @@ void Audio_ProcessSoundRequest(void) {
entry->freqScale = req->freqScale;
entry->unk_14 = req->unk_10;
entry->reverbAdd = req->reverbAdd;
sp48 = &D_8013331C[SFX_BANK_SHIFT(req->sfxId)][SFX_INDEX(req->sfxId)];
entry->unk_26 = sp48->unk_2;
entry->unk_24 = sp48->unk_0;
soundParams = &gSoundParams[SFX_BANK_SHIFT(req->sfxId)][SFX_INDEX(req->sfxId)];
entry->sfxParams = soundParams->params;
entry->sfxImportance = soundParams->importance;
entry->sfxId = req->sfxId;
entry->unk_2A = 1;
entry->unk_2B = 2;
@ -294,7 +295,7 @@ void func_800F7B54(u8 bankId, u8 bankIndex) {
SoundBankEntry* entry = &gSoundBanks[bankId][bankIndex];
u8 i;
if (entry->unk_26 & 8) {
if (entry->sfxParams & 8) {
Audio_ClearBGMMute(entry->unk_2E);
}
if (bankIndex == D_8016E1A0[bankId]) {
@ -324,7 +325,7 @@ void func_800F7CEC(u8 arg0) {
u8 i;
u8 j;
u8 phi_s0;
u8 spA9;
u8 sfxImportance;
u8 phi_v1_5;
u8 temp2;
u16 temp3;
@ -336,7 +337,7 @@ void func_800F7CEC(u8 arg0) {
phi_s3 = 0;
for (i = 0; i < 3; i++) {
sp84[i].unk_0 = 0x7FFFFFFF;
sp84[i].priority = 0x7FFFFFFF;
sp84[i].unk_4 = 0xFF;
}
phi_s4 = gSoundBanks[arg0][0].next;
@ -359,9 +360,9 @@ void func_800F7CEC(u8 arg0) {
tempf1 = *entry->posY * 1;
entry->dist = (SQ(*entry->posX) + SQ(tempf1) + SQ(*entry->posZ)) * 1;
}
spA9 = entry->unk_24;
if (entry->unk_26 & 0x10) {
entry->unk_20 = SQ(0xFF - spA9) * 0x1690;
sfxImportance = entry->sfxImportance;
if (entry->sfxParams & 0x10) {
entry->priority = SQ(0xFF - sfxImportance) * SQ(76);
} else {
if (entry->dist > 0x7FFFFFD0) {
entry->dist = 0x70000008;
@ -369,9 +370,9 @@ void func_800F7CEC(u8 arg0) {
*entry->posZ);
}
temp3 = entry->sfxId;
entry->unk_20 = (u32)entry->dist + (SQ(0xFF - spA9) * 0x1690) + temp3 - temp3;
entry->priority = (u32)entry->dist + (SQ(0xFF - sfxImportance) * SQ(76)) + temp3 - temp3;
if (*entry->posZ < 0.0f) {
entry->unk_20 += (s32)(-*entry->posZ * 6.0f);
entry->priority += (s32)(-*entry->posZ * 6.0f);
}
}
if (entry->dist > SQ(1e5f)) {
@ -385,17 +386,17 @@ void func_800F7CEC(u8 arg0) {
} else {
spAE = D_80130578[D_801333CC][arg0];
for (i = 0; i < spAE; i++) {
if (sp84[i].unk_0 >= entry->unk_20) {
if (sp84[i].priority >= entry->priority) {
if (phi_s3 < D_80130578[D_801333CC][arg0]) {
phi_s3++;
}
for (j = spAE - 1; j > i; j--) {
sp84[j].unk_0 = sp84[j - 1].unk_0;
sp84[j].priority = sp84[j - 1].priority;
sp84[j].unk_4 = sp84[j - 1].unk_4;
}
sp84[i].unk_0 = entry->unk_20;
sp84[i].priority = entry->priority;
sp84[i].unk_4 = phi_s4;
i = spAE;
i = spAE; // "break;"
}
}
}
@ -482,11 +483,11 @@ void func_800F8480(u8 bankId) {
seqChannel = gAudioContext.seqPlayers[2].channels[D_8016E260];
if (entry->unk_2A == 2) {
entry->unk_2E = D_8016E260;
if (entry->unk_26 & 8) {
if (entry->sfxParams & 8) {
Audio_QueueSeqCmdMute(D_8016E260);
}
if (entry->unk_26 & 0xC0) {
switch (entry->unk_26 & 0xC0) {
if (entry->sfxParams & 0xC0) {
switch (entry->sfxParams & 0xC0) {
case 0x40:
entry->unk_2F = Audio_NextRandom() & 0xF;
break;