diff options
author | Akira Akashi <rubenru09@aol.com> | 2021-07-22 23:43:13 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-07-22 23:43:13 +0100 |
commit | a917f956c984513f7ef3a5f22f42d9527331b9af (patch) | |
tree | 51f167244be136b5d8d78a81270cb2f8f1655d0c | |
parent | 02b617600e93c9bf01d9bd0b836c2768048807da (diff) | |
parent | 72e5e5f9cb87c37d278bf3dde2ac5630498b87bb (diff) |
Merge pull request #432 from remicalixte/unk_020051F4
decompile unk_020051F4.s
-rw-r--r-- | arm9/asm/unk_020051F4.s | 1319 | ||||
-rw-r--r-- | arm9/lib/include/NNS_SND_arc.h | 3 | ||||
-rw-r--r-- | arm9/src/sound.c | 6 | ||||
-rw-r--r-- | arm9/src/unk_020040F4.c | 35 | ||||
-rw-r--r-- | arm9/src/unk_020051F4.c | 717 | ||||
-rw-r--r-- | include/sound.h | 3 | ||||
-rw-r--r-- | include/unk_020040F4.h | 18 | ||||
-rw-r--r-- | include/unk_020051F4.h | 45 |
8 files changed, 794 insertions, 1352 deletions
diff --git a/arm9/asm/unk_020051F4.s b/arm9/asm/unk_020051F4.s deleted file mode 100644 index 6e6cec72..00000000 --- a/arm9/asm/unk_020051F4.s +++ /dev/null @@ -1,1319 +0,0 @@ - .include "asm/macros.inc" - .include "global.inc" - - .text - - thumb_func_start FUN_020051F4 -FUN_020051F4: ; 0x020051F4 - push {r4-r6, lr} - add r5, r0, #0x0 - bl FUN_020048D0 - bl FUN_02004018 - add r4, r0, #0x0 - bl GetSoundPlayer - add r1, r5, #0x0 - bl NNS_SndArcPlayerStartSeq - add r6, r0, #0x0 - add r0, r5, #0x0 - add r1, r4, #0x0 - bl FUN_0200526C - add r0, r6, #0x0 - pop {r4-r6, pc} - .balign 4 - - thumb_func_start FUN_0200521C -FUN_0200521C: ; 0x0200521C - push {r4-r6, lr} - add r5, r0, #0x0 - bl FUN_020048D0 - add r4, r0, #0x0 - bl FUN_02004018 - add r6, r0, #0x0 - cmp r4, #0x7 - bne _0200523E - add r0, r5, #0x0 - add r1, r4, #0x0 - add r2, r6, #0x0 - bl FUN_02005288 - add r4, r0, #0x0 - b _02005258 -_0200523E: - cmp r4, #0x1 - bne _02005250 - add r0, r5, #0x0 - add r1, r4, #0x0 - add r2, r6, #0x0 - bl FUN_020052B8 - add r4, r0, #0x0 - b _02005258 -_02005250: - bl GF_AssertFail - mov r0, #0x0 - pop {r4-r6, pc} -_02005258: - mov r0, #0x0 - bl FUN_02004DBC - add r0, r5, #0x0 - add r1, r6, #0x0 - bl FUN_0200526C - add r0, r4, #0x0 - pop {r4-r6, pc} - .balign 4 - - thumb_func_start FUN_0200526C -FUN_0200526C: ; 0x0200526C - push {r3-r5, lr} - add r5, r0, #0x0 - add r4, r1, #0x0 - bl FUN_02004110 - add r0, r5, #0x0 - add r1, r4, #0x0 - bl FUN_02004858 - mov r0, #0x1 - bl FUN_02003CE8 - pop {r3-r5, pc} - .balign 4 - - thumb_func_start FUN_02005288 -FUN_02005288: ; 0x02005288 - push {r3-r5, lr} - add r5, r0, #0x0 - mov r0, #0x3 - add r4, r2, #0x0 - bl FUN_02004748 - bl GF_Snd_RestoreState - add r0, r5, #0x0 - bl GF_Snd_LoadSeq - mov r0, #0x1a - bl FUN_02003D38 - bl GF_Snd_SaveState - add r0, r4, #0x0 - bl GetSoundPlayer - add r1, r5, #0x0 - bl NNS_SndArcPlayerStartSeq - pop {r3-r5, pc} - .balign 4 - - thumb_func_start FUN_020052B8 -FUN_020052B8: ; 0x020052B8 - push {r3-r6, lr} - sub sp, #0x4 - add r5, r0, #0x0 - mov r0, #0x12 - add r6, r2, #0x0 - bl FUN_02003D38 - mov r0, #0x1f - bl FUN_02003D38 - add r4, r0, #0x0 - mov r0, #0x0 - bl GetSoundPlayer - bl GF_SndPlayerGetSeqNo - bl FUN_02004900 - add r1, r0, #0x0 - add r0, r5, #0x0 - bl FUN_020045C4 - add r0, r6, #0x0 - bl GetSoundPlayer - add r6, r0, #0x0 - ldrh r0, [r4, #0x0] - bl FUN_02004900 - mov r1, #0x0 - mvn r1, r1 - add r2, r0, #0x0 - add r0, r6, #0x0 - add r3, r1, #0x0 - str r5, [sp, #0x0] - bl NNS_SndArcPlayerStartSeqEx - add sp, #0x4 - pop {r3-r6, pc} - .balign 4 - - thumb_func_start FUN_02005308 -FUN_02005308: ; 0x02005308 - push {r3-r5, lr} - add r5, r1, #0x0 - cmp r0, #0x4 - beq _02005318 - bl GF_AssertFail - mov r0, #0x0 - pop {r3-r5, pc} -_02005318: - add r0, r5, #0x0 - bl FUN_020048D0 - cmp r0, #0x7 - beq _0200532A - bl GF_AssertFail - mov r0, #0x0 - pop {r3-r5, pc} -_0200532A: - add r0, r5, #0x0 - mov r1, #0x1 - bl GF_Snd_LoadSeqEx - mov r0, #0x7 - bl GetSoundPlayer - add r1, r5, #0x0 - bl NNS_SndArcPlayerStartSeq - add r4, r0, #0x0 - add r0, r5, #0x0 - bl FUN_02004110 - mov r0, #0x1 - bl FUN_02003CE8 - add r0, r4, #0x0 - pop {r3-r5, pc} - - thumb_func_start FUN_02005350 -FUN_02005350: ; 0x02005350 - push {r4, lr} - add r4, r0, #0x0 - bl NNS_SndPlayerStopSeqBySeqNo - add r0, r4, #0x0 - bl FUN_020048D0 - cmp r0, #0xff - beq _0200536E - bl FUN_02004018 - bl GetSoundPlayer - bl NNS_SndHandleReleaseSeq -_0200536E: - bl FUN_02005374 - pop {r4, pc} - - thumb_func_start FUN_02005374 -FUN_02005374: ; 0x02005374 - push {r3, lr} - mov r0, #0x0 - bl FUN_02004110 - mov r0, #0x0 - bl FUN_02004130 - mov r0, #0x0 - bl FUN_02003CE8 - pop {r3, pc} - .balign 4 - - thumb_func_start FUN_0200538C -FUN_0200538C: ; 0x0200538C - push {r3-r7, lr} - add r6, r0, #0x0 - add r5, r1, #0x0 - add r4, r2, #0x0 - bl FUN_02004124 - bl FUN_020048D0 - cmp r0, #0xff - beq _020053C8 - bl FUN_02004018 - add r7, r0, #0x0 - cmp r4, #0x0 - bne _020053B2 - mov r1, #0x0 - add r2, r1, #0x0 - bl GF_SndPlayerMoveVolume -_020053B2: - add r0, r7, #0x0 - add r1, r6, #0x0 - add r2, r5, #0x0 - bl GF_SndPlayerMoveVolume - add r0, r5, #0x0 - bl FUN_02004D74 - mov r0, #0x3 - bl FUN_02003CE8 -_020053C8: - pop {r3-r7, pc} - .balign 4 - - thumb_func_start FUN_020053CC -FUN_020053CC: ; 0x020053CC - push {r4-r6, lr} - add r5, r0, #0x0 - add r4, r1, #0x0 - bl FUN_02004124 - bl FUN_020048D0 - add r6, r0, #0x0 - cmp r6, #0xff - beq _02005402 - bl FUN_02005404 - cmp r0, #0x0 - bne _020053FC - add r0, r6, #0x0 - bl FUN_02004018 - add r1, r5, #0x0 - add r2, r4, #0x0 - bl GF_SndPlayerMoveVolume - add r0, r4, #0x0 - bl FUN_02004D74 -_020053FC: - mov r0, #0x4 - bl FUN_02003CE8 -_02005402: - pop {r4-r6, pc} - - thumb_func_start FUN_02005404 -FUN_02005404: ; 0x02005404 - push {r3, lr} - mov r0, #0x6 - bl FUN_02003D38 - ldrh r0, [r0, #0x0] - pop {r3, pc} - - thumb_func_start FUN_02005410 -FUN_02005410: ; 0x02005410 - push {r3, lr} - bl FUN_020048D0 - bl GF_SndPlayerCountPlayingSeqByPlayerNo - pop {r3, pc} - - thumb_func_start FUN_0200541C -FUN_0200541C: ; 0x0200541C - push {r3-r5, lr} - mov r0, #0xf - bl FUN_02003D38 - add r5, r0, #0x0 - mov r0, #0x10 - bl FUN_02003D38 - add r4, r0, #0x0 - mov r0, #0x0 - bl NNS_SndPlayerStopSeqAll - ldrb r0, [r5, #0x0] - cmp r0, #0x1 - bne _02005440 - mov r0, #0xe - bl FUN_02004AAC -_02005440: - ldrb r0, [r4, #0x0] - cmp r0, #0x1 - bne _0200544C - mov r0, #0xf - bl FUN_02004AAC -_0200544C: - mov r0, #0x0 - bl FUN_02003CE8 - pop {r3-r5, pc} - - thumb_func_start FUN_02005454 -FUN_02005454: ; 0x02005454 - push {r3-r7, lr} - mov r0, #0xf - bl FUN_02003D38 - add r7, r0, #0x0 - mov r0, #0x10 - bl FUN_02003D38 - add r6, r0, #0x0 - mov r0, #0x7 - bl GetSoundPlayer - mov r1, #0x0 - bl NNS_SndPlayerStopSeq - bl FUN_02005374 - mov r5, #0x0 - add r4, r5, #0x0 -_0200547A: - add r0, r5, #0x3 - add r1, r4, #0x0 - bl FUN_020054F8 - add r5, r5, #0x1 - cmp r5, #0x4 - blt _0200547A - mov r0, #0x0 - bl FUN_02005614 - ldrb r0, [r7, #0x0] - cmp r0, #0x1 - bne _0200549A - mov r0, #0xe - bl FUN_02004AAC -_0200549A: - ldrb r0, [r6, #0x0] - cmp r0, #0x1 - bne _020054A6 - mov r0, #0xf - bl FUN_02004AAC -_020054A6: - pop {r3-r7, pc} - - thumb_func_start FUN_020054A8 -FUN_020054A8: ; 0x020054A8 - push {r4-r6, lr} - add r5, r0, #0x0 - add r4, r1, #0x0 - bl PlaySE - add r6, r0, #0x0 - ldr r1, _020054C4 ; =0x0000FFFF - add r0, r5, #0x0 - add r2, r4, #0x0 - bl FUN_02005530 - add r0, r6, #0x0 - pop {r4-r6, pc} - nop -_020054C4: .word 0x0000FFFF - - thumb_func_start PlaySE -PlaySE: ; 0x020054C8 - push {r4-r6, lr} - add r5, r0, #0x0 - bl FUN_020048D0 - bl FUN_02004018 - add r4, r0, #0x0 - bl GetSoundPlayer - add r1, r5, #0x0 - bl NNS_SndArcPlayerStartSeq - add r6, r0, #0x0 - add r0, r5, #0x0 - add r1, r4, #0x0 - bl FUN_02004858 - add r0, r6, #0x0 - pop {r4-r6, pc} - .balign 4 - - thumb_func_start FUN_020054F0 -FUN_020054F0: ; 0x020054F0 - ldr r3, _020054F4 ; =NNS_SndPlayerStopSeqBySeqNo - bx r3 - .balign 4 -_020054F4: .word NNS_SndPlayerStopSeqBySeqNo - - thumb_func_start FUN_020054F8 -FUN_020054F8: ; 0x020054F8 - push {r4, lr} - add r4, r1, #0x0 - bl GetSoundPlayer - add r1, r4, #0x0 - bl NNS_SndPlayerStopSeq - pop {r4, pc} - - thumb_func_start FUN_02005508 -FUN_02005508: ; 0x02005508 - push {r3, lr} - bl FUN_020048D0 - bl GF_SndPlayerCountPlayingSeqByPlayerNo - pop {r3, pc} - - thumb_func_start FUN_02005514 -FUN_02005514: ; 0x02005514 - push {r4, lr} - mov r4, #0x0 -_02005518: - add r0, r4, #0x3 - bl GF_SndPlayerCountPlayingSeqByPlayerNo - cmp r0, #0x1 - bne _02005526 - mov r0, #0x1 - pop {r4, pc} -_02005526: - add r4, r4, #0x1 - cmp r4, #0x4 - blt _02005518 - mov r0, #0x0 - pop {r4, pc} - - thumb_func_start FUN_02005530 -FUN_02005530: ; 0x02005530 - push {r3-r5, lr} - add r5, r1, #0x0 - add r4, r2, #0x0 - bl FUN_020048D0 - bl FUN_02004018 - bl GetSoundPlayer - add r1, r5, #0x0 - add r2, r4, #0x0 - bl NNS_SndPlayerSetTrackPan - pop {r3-r5, pc} - - thumb_func_start FUN_0200554C -FUN_0200554C: ; 0x0200554C - push {r3-r7, lr} - add r6, r0, #0x0 - mov r0, #0x3 - bl FUN_02004018 - ldr r7, _02005574 ; =0x0000FFFF - add r4, r0, #0x0 - mov r5, #0x0 -_0200555C: - add r0, r4, r5 - bl GetSoundPlayer - add r1, r7, #0x0 - add r2, r6, #0x0 - bl NNS_SndPlayerSetTrackPan - add r5, r5, #0x1 - cmp r5, #0x4 - blt _0200555C - pop {r3-r7, pc} - nop -_02005574: .word 0x0000FFFF - - thumb_func_start FUN_02005578 -FUN_02005578: ; 0x02005578 - push {r3-r5, lr} - add r5, r0, #0x0 - mov r0, #0x11 - bl FUN_02003D38 - add r4, r0, #0x0 - mov r0, #0x23 - bl FUN_02003D38 - ldr r1, _02005610 ; =0x000001B9 - cmp r5, r1 - beq _0200559C - add r1, #0x36 - cmp r5, r1 - bhi _0200559A - cmp r5, #0x0 - bne _0200559C -_0200559A: - mov r5, #0x1 -_0200559C: - ldr r1, _02005610 ; =0x000001B9 - cmp r5, r1 - bne _020055BC - mov r1, #0x0 - ldr r0, [r0, #0x0] - mov r2, #0x7f - add r3, r1, #0x0 - bl FUN_02005D48 - cmp r0, #0x1 - bne _020055BC - mov r0, #0x0 - bl FUN_02005E80 - mov r0, #0x1 - pop {r3-r5, pc} -_020055BC: - ldrb r0, [r4, #0x0] - cmp r0, #0x0 - bne _020055E8 - mov r0, #0x0 - bl FUN_02005614 - mov r0, #0x1 - bl GetSoundPlayer - mov r1, #0x2 - str r1, [sp, #0x0] - sub r1, r1, #0x3 - add r2, r5, #0x0 - add r3, r1, #0x0 - bl NNS_SndArcPlayerStartSeqEx - add r4, r0, #0x0 - add r0, r5, #0x0 - mov r1, #0x1 - bl FUN_02004858 - b _02005606 -_020055E8: - mov r0, #0x8 - bl GetSoundPlayer - mov r1, #0x2 - str r1, [sp, #0x0] - sub r1, r1, #0x3 - add r2, r5, #0x0 - add r3, r1, #0x0 - bl NNS_SndArcPlayerStartSeqEx - add r4, r0, #0x0 - add r0, r5, #0x0 - mov r1, #0x8 - bl FUN_02004858 -_02005606: - mov r0, #0x0 - bl FUN_02005E80 - add r0, r4, #0x0 - pop {r3-r5, pc} - .balign 4 -_02005610: .word 0x000001B9 - - thumb_func_start FUN_02005614 -FUN_02005614: ; 0x02005614 - push {r4-r6, lr} - add r5, r0, #0x0 - mov r0, #0xf - bl FUN_02003D38 - add r6, r0, #0x0 - mov r0, #0x10 - bl FUN_02003D38 - add r4, r0, #0x0 - mov r0, #0xe - bl FUN_02003D38 - mov r0, #0x1 - bl GetSoundPlayer - add r1, r5, #0x0 - bl NNS_SndPlayerStopSeq - mov r0, #0x8 - bl GetSoundPlayer - add r1, r5, #0x0 - bl NNS_SndPlayerStopSeq - ldrb r0, [r6, #0x0] - cmp r0, #0x1 - bne _02005658 - mov r0, #0xe - bl FUN_02004C3C - mov r0, #0xe - bl FUN_02004A04 -_02005658: - ldrb r0, [r4, #0x0] - cmp r0, #0x1 - bne _0200566A - mov r0, #0xf - bl FUN_02004C3C - mov r0, #0xf - bl FUN_02004A04 -_0200566A: - bl FUN_02005DFC - pop {r4-r6, pc} - - thumb_func_start FUN_02005670 -FUN_02005670: ; 0x02005670 - push {r3-r5, lr} - mov r0, #0xf - bl FUN_02003D38 - add r5, r0, #0x0 - mov r0, #0x10 - bl FUN_02003D38 - add r4, r0, #0x0 - mov r0, #0xe - bl FUN_02003D38 - ldrb r0, [r5, #0x0] - cmp r0, #0x1 - bne _02005696 - mov r0, #0xe - bl FUN_02004ABC - pop {r3-r5, pc} -_02005696: - ldrb r0, [r4, #0x0] - cmp r0, #0x1 - bne _020056A4 - mov r0, #0xf - bl FUN_02004ABC - pop {r3-r5, pc} -_020056A4: - mov r0, #0x0 - bl GF_SndPlayerCountPlayingSeqByPlayerNo - pop {r3-r5, pc} - - thumb_func_start FUN_020056AC -FUN_020056AC: ; 0x020056AC - push {r3-r7, lr} - sub sp, #0x20 - str r0, [sp, #0x4] - mov r0, #0xf - str r1, [sp, #0x8] - add r5, r2, #0x0 - add r6, r3, #0x0 - ldr r7, [sp, #0x38] - bl FUN_02003D38 - str r0, [sp, #0x14] - mov r0, #0x10 - bl FUN_02003D38 - str r0, [sp, #0x10] - mov r0, #0x11 - bl FUN_02003D38 - add r4, r0, #0x0 - mov r0, #0x1d - bl FUN_02003D38 - str r0, [sp, #0xc] - mov r0, #0x23 - bl FUN_02003D38 - lsr r0, r5, #0x1f - add r0, r5, r0 - asr r0, r0, #0x1 - str r0, [sp, #0x1c] - add r0, #0x40 - str r0, [sp, #0x1c] - add r0, r6, #0x0 - str r0, [sp, #0x18] - sub r0, #0x1e - str r0, [sp, #0x18] - cmp r0, #0x0 - bgt _020056FC - mov r0, #0x1 - str r0, [sp, #0x18] -_020056FC: - mov r0, #0x0 - strb r0, [r4, #0x0] - ldr r0, [sp, #0x14] - ldrb r0, [r0, #0x0] - cmp r0, #0x1 - bne _02005714 - mov r0, #0xe - bl FUN_02004C3C - mov r0, #0xe - bl FUN_02004A04 -_02005714: - ldr r0, [sp, #0x10] - ldrb r0, [r0, #0x0] - cmp r0, #0x1 - bne _02005728 - mov r0, #0xf - bl FUN_02004C3C - mov r0, #0xf - bl FUN_02004A04 -_02005728: - ldr r4, [sp, #0x8] - ldr r0, _02005AB4 ; =0x000001B9 - add r1, r4, #0x0 - cmp r1, r0 - beq _0200573E - add r0, #0x36 - cmp r1, r0 - bhi _0200573C - add r0, r4, #0x0 - bne _0200573E -_0200573C: - mov r4, #0x1 -_0200573E: - ldr r0, _02005AB4 ; =0x000001B9 - ldr r1, [sp, #0x8] - cmp r1, r0 - bne _020057B4 - ldr r1, [sp, #0x4] - cmp r1, #0xc - bhi _020057AE - add r1, r1, r1 - add r1, pc - ldrh r1, [r1, #0x6] - lsl r1, r1, #0x10 - asr r1, r1, #0x10 - add pc, r1 -_02005758: ; jump table (using 16-bit offset) - .short _02005772 - _02005758 - 2; case 0 - .short _02005772 - _02005758 - 2; case 1 - .short _02005772 - _02005758 - 2; case 2 - .short _020057AE - _02005758 - 2; case 3 - .short _020057AE - _02005758 - 2; case 4 - .short _02005772 - _02005758 - 2; case 5 - .short _020057AE - _02005758 - 2; case 6 - .short _020057AE - _02005758 - 2; case 7 - .short _020057AE - _02005758 - 2; case 8 - .short _020057AE - _02005758 - 2; case 9 - .short _020057AE - _02005758 - 2; case 10 - .short _02005772 - _02005758 - 2; case 11 - .short _02005772 - _02005758 - 2; case 12 -_02005772: - bl FUN_02005578 - ldr r0, [sp, #0xc] - ldrb r0, [r0, #0x0] - cmp r0, #0x0 - bne _02005794 - ldr r1, _02005AB8 ; =0x0000FFFF - mov r0, #0x1 - add r2, r5, #0x0 - bl GF_SndPlayerSetTrackPan - add r0, r4, #0x0 - mov r1, #0x1 - add r2, r6, #0x0 - bl FUN_02005AC8 - b _020057A8 -_02005794: - ldr r1, [sp, #0x1c] - mov r0, #0xe - lsl r1, r1, #0x18 - lsr r1, r1, #0x18 - bl FUN_02004ACC - mov r0, #0xe - add r1, r6, #0x0 - bl FUN_02004AF8 -_020057A8: - add sp, #0x20 - mov r0, #0x1 - pop {r3-r7, pc} -_020057AE: - mov r0, #0x1 - bl FUN_02005E80 -_020057B4: - ldr r0, [sp, #0x4] - cmp r0, #0xe - bls _020057BC - b _02005AC2 -_020057BC: - add r0, r0, r0 - add r0, pc - ldrh r0, [r0, #0x6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 -_020057C8: ; jump table (using 16-bit offset) - .short _020057E6 - _020057C8 - 2; case 0 - .short _02005802 - _020057C8 - 2; case 1 - .short _02005826 - _020057C8 - 2; case 2 - .short _02005868 - _020057C8 - 2; case 3 - .short _020058B2 - _020057C8 - 2; case 4 - .short _02005900 - _020057C8 - 2; case 5 - .short _02005928 - _020057C8 - 2; case 6 - .short _0200596C - _020057C8 - 2; case 7 - .short _0200599C - _020057C8 - 2; case 8 - .short _020059CA - _020057C8 - 2; case 9 - .short _020059FE - _020057C8 - 2; case 10 - .short _02005A2E - _020057C8 - 2; case 11 - .short _02005A56 - _020057C8 - 2; case 12 - .short _02005A86 - _020057C8 - 2; case 13 - .short _02005ABC - _020057C8 - 2; case 14 -_020057E6: - add r0, r4, #0x0 - bl FUN_02005578 - ldr r1, _02005AB8 ; =0x0000FFFF - mov r0, #0x1 - add r2, r5, #0x0 - bl GF_SndPlayerSetTrackPan - add r0, r4, #0x0 - mov r1, #0x1 - add r2, r6, #0x0 - bl FUN_02005AC8 - b _02005AC2 -_02005802: - add r0, r4, #0x0 - bl FUN_02005578 - ldr r1, _02005AB8 ; =0x0000FFFF - mov r0, #0x1 - add r2, r5, #0x0 - bl GF_SndPlayerSetTrackPan - add r0, r4, #0x0 - mov r1, #0x1 - add r2, r6, #0x0 - bl FUN_02005AC8 - mov r0, #0x14 - add r1, r7, #0x0 - bl FUN_02005AE0 - b _02005AC2 -_02005826: - add r0, r4, #0x0 - bl FUN_02005578 - ldr r1, _02005AB8 ; =0x0000FFFF - mov r0, #0x1 - add r2, r5, #0x0 - bl GF_SndPlayerSetTrackPan - add r0, r4, #0x0 - mov r1, #0x1 - add r2, r6, #0x0 - bl FUN_02005AC8 - ldr r1, _02005AB8 ; =0x0000FFFF - mov r0, #0x1 - mov r2, #0x40 - bl GF_SndPlayerSetTrackPitch - add r0, r4, #0x0 - mov r1, #0x14 - bl FUN_02005BC8 - ldr r1, _02005AB8 ; =0x0000FFFF - mov r0, #0x8 - add r2, r5, #0x0 - bl GF_SndPlayerSetTrackPan - ldr r2, [sp, #0x18] - add r0, r4, #0x0 - mov r1, #0x8 - bl FUN_02005AC8 - b _02005AC2 -_02005868: - add r0, r4, #0x0 - bl FUN_02005578 - ldr r1, _02005AB8 ; =0x0000FFFF - mov r0, #0x1 - add r2, r5, #0x0 - bl GF_SndPlayerSetTrackPan - add r0, r4, #0x0 - mov r1, #0x1 - add r2, r6, #0x0 - bl FUN_02005AC8 - mov r0, #0x1e - add r1, r7, #0x0 - bl FUN_02005AE0 - ldr r1, _02005AB8 ; =0x0000FFFF - mov r0, #0x1 - mov r2, #0xc0 - bl GF_SndPlayerSetTrackPitch - add r0, r4, #0x0 - mov r1, #0x10 - bl FUN_02005BC8 - ldr r1, _02005AB8 ; =0x0000FFFF - mov r0, #0x8 - add r2, r5, #0x0 - bl GF_SndPlayerSetTrackPan - ldr r2, [sp, #0x18] - add r0, r4, #0x0 - mov r1, #0x8 - bl FUN_02005AC8 - b _02005AC2 -_020058B2: - mov r0, #0xe - bl FUN_02004984 - ldr r2, [sp, #0x1c] - add r0, r4, #0x0 - add r1, r6, #0x0 - mov r3, #0xe - str r7, [sp, #0x0] - bl FUN_02004B30 - ldr r1, [sp, #0x1c] - mov r0, #0xe - lsl r1, r1, #0x18 - lsr r1, r1, #0x18 - bl FUN_02004ACC - mov r0, #0xf - add r1, r7, #0x0 - bl FUN_02005AE0 - mov r1, #0x86 - mov r0, #0xe - lsl r1, r1, #0x8 - bl FUN_02004AE4 - mov r1, #0x3f - ldr r2, [sp, #0x18] - ldr r3, [sp, #0x1c] - add r0, r4, #0x0 - mvn r1, r1 - str r7, [sp, #0x0] - bl FUN_02005BF8 - mov r1, #0x86 - mov r0, #0xf - lsl r1, r1, #0x8 - bl FUN_02004AE4 - b _02005AC2 -_02005900: - add r0, r4, #0x0 - bl FUN_02005578 - ldr r1, _02005AB8 ; =0x0000FFFF - mov r0, #0x1 - add r2, r5, #0x0 - bl GF_SndPlayerSetTrackPan - add r0, r4, #0x0 - mov r1, #0x1 - add r2, r6, #0x0 - bl FUN_02005AC8 - mov r0, #0x1 - add r2, r0, #0x0 - ldr r1, _02005AB8 ; =0x0000FFFF - sub r2, #0xe1 - bl GF_SndPlayerSetTrackPitch - b _02005AC2 -_02005928: - add r0, r4, #0x0 - bl FUN_02005578 - ldr r1, _02005AB8 ; =0x0000FFFF - mov r0, #0x1 - add r2, r5, #0x0 - bl GF_SndPlayerSetTrackPan - add r0, r4, #0x0 - mov r1, #0x1 - add r2, r6, #0x0 - bl FUN_02005AC8 - ldr r1, _02005AB8 ; =0x0000FFFF - mov r0, #0x1 - mov r2, #0x2c - bl GF_SndPlayerSetTrackPitch - mov r1, #0x3f - add r0, r4, #0x0 - mvn r1, r1 - bl FUN_02005BC8 - ldr r1, _02005AB8 ; =0x0000FFFF - mov r0, #0x8 - add r2, r5, #0x0 - bl GF_SndPlayerSetTrackPan - ldr r2, [sp, #0x18] - add r0, r4, #0x0 - mov r1, #0x8 - bl FUN_02005AC8 - b _02005AC2 -_0200596C: - add r0, r4, #0x0 - bl FUN_02005578 - ldr r1, _02005AB8 ; =0x0000FFFF - mov r0, #0x1 - add r2, r5, #0x0 - bl GF_SndPlayerSetTrackPan - add r0, r4, #0x0 - mov r1, #0x1 - add r2, r6, #0x0 - bl FUN_02005AC8 - mov r0, #0xb - add r1, r7, #0x0 - bl FUN_02005AE0 - mov r0, #0x1 - add r2, r0, #0x0 - ldr r1, _02005AB8 ; =0x0000FFFF - sub r2, #0x81 - bl GF_SndPlayerSetTrackPitch - b _02005AC2 -_0200599C: - add r0, r4, #0x0 - bl FUN_02005578 - ldr r1, _02005AB8 ; =0x0000FFFF - mov r0, #0x1 - add r2, r5, #0x0 - bl GF_SndPlayerSetTrackPan - add r0, r4, #0x0 - mov r1, #0x1 - add r2, r6, #0x0 - bl FUN_02005AC8 - mov r0, #0x3c - add r1, r7, #0x0 - bl FUN_02005AE0 - ldr r1, _02005AB8 ; =0x0000FFFF - mov r0, #0x1 - mov r2, #0x3c - bl GF_SndPlayerSetTrackPitch - b _02005AC2 -_020059CA: - mov r0, #0xe - bl FUN_02004984 - ldr r2, [sp, #0x1c] - add r0, r4, #0x0 - add r1, r6, #0x0 - mov r3, #0xe - str r7, [sp, #0x0] - bl FUN_02004B30 - ldr r1, [sp, #0x1c] - mov r0, #0xe - lsl r1, r1, #0x18 - lsr r1, r1, #0x18 - bl FUN_02004ACC - mov r0, #0xd - add r1, r7, #0x0 - bl FUN_02005AE0 - mov r1, #0x1a - mov r0, #0xe - lsl r1, r1, #0xa - bl FUN_02004AE4 - b _02005AC2 -_020059FE: - add r0, r4, #0x0 - bl FUN_02005578 - ldr r1, _02005AB8 ; =0x0000FFFF - mov r0, #0x1 - add r2, r5, #0x0 - bl GF_SndPlayerSetTrackPan - add r0, r4, #0x0 - mov r1, #0x1 - add r2, r6, #0x0 - bl FUN_02005AC8 - mov r0, #0x64 - add r1, r7, #0x0 - bl FUN_02005AE0 - mov r0, #0x1 - add r2, r0, #0x0 - ldr r1, _02005AB8 ; =0x0000FFFF - sub r2, #0x2d - bl GF_SndPlayerSetTrackPitch - b _02005AC2 -_02005A2E: - add r0, r4, #0x0 - bl FUN_02005578 - ldr r1, _02005AB8 ; =0x0000FFFF - mov r0, #0x1 - add r2, r5, #0x0 - bl GF_SndPlayerSetTrackPan - add r0, r4, #0x0 - mov r1, #0x1 - add r2, r6, #0x0 - bl FUN_02005AC8 - mov r0, #0x1 - add r2, r0, #0x0 - ldr r1, _02005AB8 ; =0x0000FFFF - sub r2, #0x61 - bl GF_SndPlayerSetTrackPitch - b _02005AC2 -_02005A56: - add r0, r4, #0x0 - bl FUN_02005578 - ldr r1, _02005AB8 ; =0x0000FFFF - mov r0, #0x1 - add r2, r5, #0x0 - bl GF_SndPlayerSetTrackPan - add r0, r4, #0x0 - mov r1, #0x1 - add r2, r6, #0x0 - bl FUN_02005AC8 - mov r0, #0x14 - add r1, r7, #0x0 - bl FUN_02005AE0 - mov r0, #0x1 - add r2, r0, #0x0 - ldr r1, _02005AB8 ; =0x0000FFFF - sub r2, #0x61 - bl GF_SndPlayerSetTrackPitch - b _02005AC2 -_02005A86: - add r0, r4, #0x0 - bl FUN_02005578 - add r0, r4, #0x0 - mov r1, #0x1 - mov r2, #0x7f - bl FUN_02005AC8 - add r0, r4, #0x0 - mov r1, #0x14 - bl FUN_02005BC8 - ldr r1, _02005AB8 ; =0x0000FFFF - mov r0, #0x8 - add r2, r5, #0x0 - bl GF_SndPlayerSetTrackPan - mov r0, #0x8 - add r1, r6, #0x0 - mov r2, #0x0 - bl GF_SndPlayerMoveVolume - b _02005AC2 - .balign 4 -_02005AB4: .word 0x000001B9 -_02005AB8: .word 0x0000FFFF -_02005ABC: - add r0, r4, #0x0 - bl FUN_02005578 -_02005AC2: - mov r0, #0x1 - add sp, #0x20 - pop {r3-r7, pc} - - thumb_func_start FUN_02005AC8 -FUN_02005AC8: ; 0x02005AC8 - push {r3-r5, lr} - add r4, r1, #0x0 - add r5, r0, #0x0 - add r0, r4, #0x0 - add r1, r2, #0x0 - bl GF_SndPlayerSetInitialVolume - add r0, r5, #0x0 - add r1, r4, #0x0 - bl FUN_02004858 - pop {r3-r5, pc} - - thumb_func_start FUN_02005AE0 -FUN_02005AE0: ; 0x02005AE0 - push {r4-r6, lr} - add r5, r0, #0x0 - add r4, r1, #0x0 - mov r0, #0x22 - bl FUN_02003D38 - add r6, r0, #0x0 - bl FUN_02005BA0 - add r0, r4, #0x0 - mov r1, #0x8 - bl AllocFromHeap - add r4, r0, #0x0 - bne _02005B04 - bl GF_AssertFail - pop {r4-r6, pc} -_02005B04: - mov r2, #0x0 - strb r2, [r4, #0x0] - strb r2, [r4, #0x1] - strb r2, [r4, #0x2] - strb r2, [r4, #0x3] - strb r2, [r4, #0x4] - strb r2, [r4, #0x5] - strb r2, [r4, #0x6] - strb r2, [r4, #0x7] - ldr r0, _02005B28 ; =FUN_02005B2C - add r1, r4, #0x0 - str r5, [r4, #0x0] - bl FUN_0200CA44 - str r0, [r4, #0x4] - str r0, [r6, #0x0] - pop {r4-r6, pc} - nop -_02005B28: .word FUN_02005B2C - - thumb_func_start FUN_02005B2C -FUN_02005B2C: ; 0x02005B2C - push {r4-r6, lr} - mov r0, #0xf - add r5, r1, #0x0 - bl FUN_02003D38 - add r6, r0, #0x0 - mov r0, #0x10 - bl FUN_02003D38 - ldr r2, [r5, #0x0] - add r4, r0, #0x0 - cmp r2, #0xa - bne _02005B58 - mov r0, #0x1 - mov r1, #0x0 - bl GF_SndPlayerMoveVolume - ldr r2, [r5, #0x0] - mov r0, #0x8 - mov r1, #0x0 - bl GF_SndPlayerMoveVolume -_02005B58: - ldr r0, [r5, #0x0] - sub r0, r0, #0x1 - str r0, [r5, #0x0] - bl FUN_02005670 - cmp r0, #0x0 - bne _02005B6A - mov r0, #0x0 - str r0, [r5, #0x0] -_02005B6A: - ldr r0, [r5, #0x0] - cmp r0, #0x0 - bgt _02005B9E - mov r0, #0x0 - bl FUN_02005614 - ldrb r0, [r6, #0x0] - cmp r0, #0x1 - bne _02005B88 - mov r0, #0xe - bl FUN_02004C3C - mov r0, #0xe - bl FUN_02004A04 -_02005B88: - ldrb r0, [r4, #0x0] - cmp r0, #0x1 - bne _02005B9A - mov r0, #0xf - bl FUN_02004C3C - mov r0, #0xf - bl FUN_02004A04 -_02005B9A: - bl FUN_02005BA0 -_02005B9E: - pop {r4-r6, pc} - - thumb_func_start FUN_02005BA0 -FUN_02005BA0: ; 0x02005BA0 - push {r3-r5, lr} - mov r0, #0x22 - bl FUN_02003D38 - add r4, r0, #0x0 - ldr r0, [r4, #0x0] - cmp r0, #0x0 - beq _02005BC2 - bl FUN_0201B6C8 - add r5, r0, #0x0 - ldr r0, [r4, #0x0] - bl FUN_0200CAB4 - add r0, r5, #0x0 - bl FreeToHeap -_02005BC2: - mov r0, #0x0 - str r0, [r4, #0x0] - pop {r3-r5, pc} - - thumb_func_start FUN_02005BC8 -FUN_02005BC8: ; 0x02005BC8 - push {r3-r5, lr} - add r5, r0, #0x0 - mov r0, #0x11 - add r4, r1, #0x0 - bl FUN_02003D38 - mov r1, #0x1 - strb r1, [r0, #0x0] - add r0, r1, #0x0 - bl FUN_02005E80 - add r0, r5, #0x0 - bl FUN_02005578 - add r5, r0, #0x0 - ldr r1, _02005BF4 ; =0x0000FFFF - mov r0, #0x8 - add r2, r4, #0x0 - bl GF_SndPlayerSetTrackPitch - add r0, r5, #0x0 - pop {r3-r5, pc} - .balign 4 -_02005BF4: .word 0x0000FFFF - - thumb_func_start FUN_02005BF8 -FUN_02005BF8: ; 0x02005BF8 - push {r3-r6, lr} - sub sp, #0x4 - add r5, r0, #0x0 - mov r0, #0x11 - add r4, r2, #0x0 - add r6, r3, #0x0 - bl FUN_02003D38 - mov r1, #0x1 - strb r1, [r0, #0x0] - mov r0, #0xf - bl FUN_02004984 - ldr r0, [sp, #0x18] - add r1, r4, #0x0 - str r0, [sp, #0x0] - add r0, r5, #0x0 - add r2, r6, #0x0 - mov r3, #0xf - bl FUN_02004B30 - add sp, #0x4 - pop {r3-r6, pc} - .balign 4 - - thumb_func_start PlaySound -PlaySound: ; 0x02005C28 - push {r3-r5, lr} - add r5, r0, #0x0 - bl FUN_020048F4 - add r0, r5, #0x0 - bl FUN_02005CEC - bl FUN_02004124 - bl FUN_020048D0 - cmp r0, #0xff - beq _02005C48 - mov r1, #0x1 - bl FUN_020047C8 -_02005C48: - mov r0, #0x1c - bl FUN_02003D38 - bl GF_Snd_SaveState - add r0, r5, #0x0 - mov r1, #0x3 - bl GF_Snd_LoadSeqEx - mov r0, #0x2 - bl GetSoundPlayer - add r1, r5, #0x0 - bl NNS_SndArcPlayerStartSeq - add r4, r0, #0x0 - add r0, r5, #0x0 - mov r1, #0x2 - bl FUN_02004858 - add r0, r4, #0x0 - pop {r3-r5, pc} - - thumb_func_start FUN_02005C74 -FUN_02005C74: ; 0x02005C74 - push {r4, lr} - mov r0, #0xd - bl FUN_02003D38 - add r4, r0, #0x0 - mov r0, #0x2 - bl GF_SndPlayerCountPlayingSeqByPlayerNo - cmp r0, #0x0 - beq _02005C8C - mov r0, #0x1 - pop {r4, pc} -_02005C8C: - ldrh r0, [r4, #0x0] - cmp r0, #0x0 - beq _02005C9A - sub r0, r0, #0x1 - strh r0, [r4, #0x0] - mov r0, #0x1 - pop {r4, pc} -_02005C9A: - mov r0, #0x0 - pop {r4, pc} - .balign 4 - - thumb_func_start FUN_02005CA0 -FUN_02005CA0: ; 0x02005CA0 - push {r4, lr} - add r4, r0, #0x0 - mov r0, #0x2 - bl GetSoundPlayer - add r1, r4, #0x0 - bl NNS_SndPlayerStopSeq - mov r0, #0x6 - bl FUN_02004748 - bl GF_Snd_RestoreState - pop {r4, pc} - - thumb_func_start FUN_02005CBC -FUN_02005CBC: ; 0x02005CBC - push {r3, lr} - mov r0, #0xd - bl FUN_02003D38 - bl FUN_02005C74 - cmp r0, #0x1 - bne _02005CD0 - mov r0, #0x1 - pop {r3, pc} -_02005CD0: - mov r0, #0x0 - bl FUN_02005CA0 - bl FUN_02004124 - bl FUN_020048D0 - cmp r0, #0xff - beq _02005CE8 - mov r1, #0x0 - bl FUN_020047C8 -_02005CE8: - mov r0, #0x0 - pop {r3, pc} - - thumb_func_start FUN_02005CEC -FUN_02005CEC: ; 0x02005CEC - push {r3, lr} - mov r0, #0xd - bl FUN_02003D38 - mov r1, #0xf - strh r1, [r0, #0x0] - pop {r3, pc} - .balign 4 diff --git a/arm9/lib/include/NNS_SND_arc.h b/arm9/lib/include/NNS_SND_arc.h index 95b33141..5298d805 100644 --- a/arm9/lib/include/NNS_SND_arc.h +++ b/arm9/lib/include/NNS_SND_arc.h @@ -2,6 +2,7 @@ #define GUARD_NNS_SND_ARC_H #include "SND_main.h" +#include "FS_file.h" typedef struct NNSSndArcHeader { @@ -33,6 +34,6 @@ void NNS_SndArcPlayerSetup(void *); void NNS_SndMain(void); void NNS_SndHandleInit(u32 *); void NNS_SndPlayerStopSeqByPlayerNo(int playerNo, int fadeFrame); -void NNS_SndHandleReleaseSeq(void); +void NNS_SndHandleReleaseSeq(u32 *); #endif //GUARD_NNS_SND_ARC_H diff --git a/arm9/src/sound.c b/arm9/src/sound.c index 6efef50a..ec65dd06 100644 --- a/arm9/src/sound.c +++ b/arm9/src/sound.c @@ -16,7 +16,6 @@ void GF_InitMic(void); void GF_SoundDataInit(struct SoundData *); void FUN_02004088(struct SoundData *); void FUN_020040A4(struct SoundData *); -void FUN_02003CE8(int); void FUN_020040DC(void); extern void FUN_0200521C(int); @@ -255,7 +254,7 @@ u32 * GetSoundPlayer(int playerNo) return &sdat->players[playerNo]; } -u32 FUN_02004018(u32 a0) +int FUN_02004018(u32 a0) { switch (a0) { @@ -315,6 +314,5 @@ void GF_InitMic(void) void FUN_020040DC(void) { NNS_SndPlayerStopSeqByPlayerNo(7, 0); - GetSoundPlayer(7); - NNS_SndHandleReleaseSeq(); + NNS_SndHandleReleaseSeq(GetSoundPlayer(7)); } diff --git a/arm9/src/unk_020040F4.c b/arm9/src/unk_020040F4.c index 0cbd5e23..5713ddf0 100644 --- a/arm9/src/unk_020040F4.c +++ b/arm9/src/unk_020040F4.c @@ -15,7 +15,7 @@ extern void FUN_0200541C(); extern void FUN_0200521C(int); extern void FUN_0200538C(u32, u16, u32); extern void NNS_SndPlayerPause(u32 *, u8); -extern void NNS_SndPlayerMoveVolume(u32 *, u32, u32); +extern void NNS_SndPlayerMoveVolume(u32 *, s32, s32); extern void NNS_SndPlayerSetInitialVolume(u32 *, s32); extern void *NNS_SndArcGetSeqParam(u32); extern void NNS_SndArcPlayerStartSeqEx(u32 *, u32, s32, s32, u32); @@ -27,9 +27,9 @@ extern u32 MIC_StopAutoSampling(); extern u32 MIC_DoSamplingAsync(u32 param0, u32 param1, u32 param2, u32 param3); extern u32 NNS_SndWaveOutAllocChannel(u32); extern void NNS_SndWaveOutFreeChannel(u32); -extern u32 NNS_SndWaveOutStart(u32, u32, void *, u32, u32, u32, u32, s32, u32, u32); +extern u32 NNS_SndWaveOutStart(u32, u32, void *, u32, u32, u32, u32, s32, u32, s32); extern void NNS_SndWaveOutStop(u32); -extern void NNS_SndWaveOutIsPlaying(u32); +extern BOOL NNS_SndWaveOutIsPlaying(u32); extern void NNS_SndWaveOutSetPan(u32, u32); extern void NNS_SndWaveOutSetSpeed(u32, u32); extern void NNS_SndWaveOutSetVolume(u32, s32); @@ -42,10 +42,9 @@ extern void NNS_SndCaptureStopReverb(u32); extern void NNS_SndCaptureSetReverbVolume(u32, u32); extern u32 NNS_SndCaptureStartEffect(void *, u32, u32, u32, u32, void (*)(), void *); extern void NNS_SndCaptureStopEffect(); -extern void NNS_SndPlayerSetTrackPitch(u32 *, u32, u32); -extern void NNS_SndPlayerSetTrackPan(u32 *, u32, u32); +extern void NNS_SndPlayerSetTrackPitch(u32 *, u32, s32); +extern void NNS_SndPlayerSetTrackPan(u32 *, u32, s32); extern void NNS_SndSetMonoFlag(u32 param0); -extern void FUN_02003CE8(u32); extern void FUN_020053CC(u32, u32); extern u32 NNS_SndArcGetFileAddress(u32); extern u32 SND_GetWaveDataAddress(u32, u32); @@ -553,7 +552,7 @@ THUMB_FUNC void FUN_02004810() *ptr2 = 0; } -THUMB_FUNC void GF_SndPlayerMoveVolume(int playerNo, u32 param1, u32 param2) +THUMB_FUNC void GF_SndPlayerMoveVolume(int playerNo, s32 param1, s32 param2) { NNS_SndPlayerMoveVolume(GetSoundPlayer(playerNo), param1, param2); } @@ -599,7 +598,7 @@ THUMB_FUNC void FUN_02004858(u32 param0, int playerNo) THUMB_FUNC void FUN_0200488C(u16 param0, u16 param1) { - GF_SndPlayerSetInitialVolume((int)FUN_02004018(FUN_020048D0(param0)), param1); + GF_SndPlayerSetInitialVolume(FUN_02004018(FUN_020048D0(param0)), param1); } THUMB_FUNC void GF_SndArcPlayerStartSeqEx(int playerNo, u32 param1, u32 param2) @@ -640,7 +639,7 @@ THUMB_FUNC u32 FUN_020048F4(u16 param0) return NNS_SndArcGetBankInfo(FUN_02004900(param0)); } -THUMB_FUNC u16 FUN_02004900(u16 param0) +THUMB_FUNC u16 FUN_02004900(u32 param0) { u16 *ptr = NNS_SndArcGetSeqParam(param0); if (ptr == NULL) @@ -794,9 +793,9 @@ THUMB_FUNC void FUN_02004AAC(u32 param0) NNS_SndWaveOutStop(*(u32 *)FUN_02004930(param0)); } -THUMB_FUNC void FUN_02004ABC(u32 param0) +THUMB_FUNC BOOL FUN_02004ABC(u32 param0) { - NNS_SndWaveOutIsPlaying(*(u32 *)FUN_02004930(param0)); + return NNS_SndWaveOutIsPlaying(*(u32 *)FUN_02004930(param0)); } THUMB_FUNC void FUN_02004ACC(u32 param0, u32 param1) @@ -825,7 +824,7 @@ THUMB_FUNC void FUN_02004AF8(u32 param0, s32 param1) NNS_SndWaveOutSetVolume(*(u32 *)FUN_02004930(param0), param1); } -THUMB_FUNC u32 FUN_02004B30(u32 param0, s32 param1, u32 param2, u32 param3, u32 param4) +THUMB_FUNC u32 FUN_02004B30(u32 param0, s32 param1, s32 param2, u32 param3, u32 param4) { GetSoundDataPointer(); @@ -970,17 +969,17 @@ THUMB_FUNC void FUN_02004D04(s32 param0) *ptr = (u8)param0; } -THUMB_FUNC void GF_SndPlayerSetTrackPitch(int playerNo, u32 param1, u32 param2) +THUMB_FUNC void GF_SndPlayerSetTrackPitch(int playerNo, u32 param1, s32 param2) { NNS_SndPlayerSetTrackPitch(GetSoundPlayer(playerNo), param1, param2); } -THUMB_FUNC void FUN_02004D34(u16 param0, u32 param1, u32 param2) +THUMB_FUNC void FUN_02004D34(u16 param0, u32 param1, s32 param2) { - GF_SndPlayerSetTrackPitch((int)FUN_02004018(FUN_020048D0(param0)), param1, param2); + GF_SndPlayerSetTrackPitch(FUN_02004018(FUN_020048D0(param0)), param1, param2); } -THUMB_FUNC void GF_SndPlayerSetTrackPan(int playerNo, u32 param1, u32 param2) +THUMB_FUNC void GF_SndPlayerSetTrackPan(int playerNo, u32 param1, s32 param2) { NNS_SndPlayerSetTrackPan(GetSoundPlayer(playerNo), param1, param2); } @@ -991,9 +990,9 @@ THUMB_FUNC void GF_SndSetMonoFlag(u32 param0) UNK_021C3DD8[0] = param0; } -THUMB_FUNC void FUN_02004D74(u32 param0) +THUMB_FUNC void FUN_02004D74(s32 param0) { - *(u32 *)FUN_02003D38(6) = param0; + *(s32 *)FUN_02003D38(6) = param0; } THUMB_FUNC void FUN_02004D84(u32 param0) diff --git a/arm9/src/unk_020051F4.c b/arm9/src/unk_020051F4.c new file mode 100644 index 00000000..1d3679c8 --- /dev/null +++ b/arm9/src/unk_020051F4.c @@ -0,0 +1,717 @@ +#include "global.h" +#include "unk_020051F4.h" +#include "NNS_SND_arc.h" +#include "constants/species.h" +#include "heap.h" +#include "sound.h" +#include "unk_020040F4.h" +#include "unk_0200CA44.h" + +extern u32 NNS_SndArcPlayerStartSeq(u32 *, u32); +extern u32 NNS_SndArcPlayerStartSeqEx(u32 *, s32, s32, s32, u32); +extern void NNS_SndPlayerStopSeqBySeqNo(u32, u32); +extern void NNS_SndPlayerStopSeqAll(u32); +extern void NNS_SndPlayerStopSeq(u32 *, u32); +extern void NNS_SndPlayerSetTrackPan(u32 *, u32, u32); +extern u32 FUN_02005D48(u32, u32, u32, u32); +extern void FUN_02005E80(u32); +extern void FUN_02005DFC(); +extern void *FUN_0201B6C8(u32 *); + +THUMB_FUNC u32 FUN_020051F4(u16 param0) +{ + int playerNo = FUN_02004018(FUN_020048D0(param0)); + + u32 ret = NNS_SndArcPlayerStartSeq(GetSoundPlayer(playerNo), param0); + + FUN_0200526C(param0, playerNo); + + return ret; +} + +THUMB_FUNC u32 FUN_0200521C(u16 param0) +{ + u8 r4 = FUN_020048D0(param0); + int playerNo = FUN_02004018(r4); + + u32 ret; + if (r4 == 7) + { + ret = FUN_02005288(param0, r4, playerNo); + } + else if (r4 == 1) + { + ret = FUN_020052B8(param0, r4, playerNo); + } + else + { + GF_AssertFail(); + return 0; + } + + FUN_02004DBC(0); + FUN_0200526C(param0, playerNo); + + return ret; +} + +THUMB_FUNC void FUN_0200526C(u16 param0, int playerNo) +{ + FUN_02004110(param0); + FUN_02004858(param0, playerNo); + + FUN_02003CE8(1); +} + +THUMB_FUNC u32 FUN_02005288(u16 param0, u32 param1, int playerNo) +{ +#pragma unused(param1) + GF_Snd_RestoreState(FUN_02004748(3)); + GF_Snd_LoadSeq(param0); + GF_Snd_SaveState(FUN_02003D38(26)); + return NNS_SndArcPlayerStartSeq(GetSoundPlayer(playerNo), param0); +} + +THUMB_FUNC u32 FUN_020052B8(u16 param0, u32 param1, int playerNo) +{ +#pragma unused(param1) + FUN_02003D38(18); + u16 *r4 = FUN_02003D38(31); + + FUN_020045C4(param0, FUN_02004900(GF_SndPlayerGetSeqNo(GetSoundPlayer(0)))); + + return NNS_SndArcPlayerStartSeqEx(GetSoundPlayer(playerNo), -1, FUN_02004900(*r4), -1, param0); +} + +THUMB_FUNC u32 FUN_02005308(u32 param0, u16 param1) +{ + if (param0 != 4) + { + GF_AssertFail(); + return 0; + } + + if (FUN_020048D0(param1) != 7) + { + GF_AssertFail(); + return 0; + } + + GF_Snd_LoadSeqEx(param1, 1); + + u32 r4 = NNS_SndArcPlayerStartSeq(GetSoundPlayer(7), param1); + FUN_02004110(param1); + FUN_02003CE8(1); + + return r4; +} + +THUMB_FUNC void FUN_02005350(u16 param0, u32 param1) +{ + NNS_SndPlayerStopSeqBySeqNo(param0, param1); + + u8 r0 = FUN_020048D0(param0); + if (r0 != 0xff) + { + NNS_SndHandleReleaseSeq(GetSoundPlayer(FUN_02004018(r0))); + } + + FUN_02005374(); +} + +THUMB_FUNC void FUN_02005374() +{ + FUN_02004110(0); + FUN_02004130(0); + FUN_02003CE8(0); +} + +THUMB_FUNC void FUN_0200538C(s32 param0, u16 param1, u32 param2) +{ + u8 r0 = FUN_020048D0(FUN_02004124()); + if (r0 == 0xff) + { + return; + } + + int playerNo = FUN_02004018(r0); + if (param2 == 0) + { + GF_SndPlayerMoveVolume(playerNo, 0, 0); + } + + GF_SndPlayerMoveVolume(playerNo, param0, param1); + FUN_02004D74(param1); + FUN_02003CE8(3); +} + +THUMB_FUNC void FUN_020053CC(s32 param0, s32 param1) +{ + u8 r6 = FUN_020048D0(FUN_02004124()); + if (r6 == 0xff) + { + return; + } + + if (!FUN_02005404()) + { + GF_SndPlayerMoveVolume(FUN_02004018(r6), param0, param1); + FUN_02004D74(param1); + } + + FUN_02003CE8(4); +} + +THUMB_FUNC u16 FUN_02005404() +{ + return *(u16 *)FUN_02003D38(6); +} + +THUMB_FUNC u16 FUN_02005410(u16 param0) +{ + return GF_SndPlayerCountPlayingSeqByPlayerNo(FUN_020048D0(param0)); +} + +THUMB_FUNC void FUN_0200541C() +{ + u8 *r5 = FUN_02003D38(15); + u8 *r4 = FUN_02003D38(16); + NNS_SndPlayerStopSeqAll(0); + + if (*r5 == 1) + { + FUN_02004AAC(14); + } + + if (*r4 == 1) + { + FUN_02004AAC(15); + } + + FUN_02003CE8(0); +} + +THUMB_FUNC void FUN_02005454() +{ + u8 *r5 = FUN_02003D38(15); + u8 *r4 = FUN_02003D38(16); + + NNS_SndPlayerStopSeq(GetSoundPlayer(7), 0); + FUN_02005374(); + + for (s32 i = 0; i < 4; i++) + { + FUN_020054F8(i + 3, 0); + } + + FUN_02005614(0); + + if (*r5 == 1) + { + FUN_02004AAC(14); + } + + if (*r4 == 1) + { + FUN_02004AAC(15); + } +} + +THUMB_FUNC u32 FUN_020054A8(u16 param0, u32 param1) +{ + u32 r6 = PlaySE(param0); + FUN_02005530(param0, 0xFFFF, param1); + + return r6; +} + +THUMB_FUNC u32 PlaySE(u16 param0) +{ + int playerNo = FUN_02004018(FUN_020048D0(param0)); + + u32 r6 = NNS_SndArcPlayerStartSeq(GetSoundPlayer(playerNo), param0); + FUN_02004858(param0, playerNo); + + return r6; +} + +THUMB_FUNC void FUN_020054F0(u32 param0, u32 param1) +{ + NNS_SndPlayerStopSeqBySeqNo(param0, param1); +} + +THUMB_FUNC void FUN_020054F8(s32 param0, u32 param1) +{ + NNS_SndPlayerStopSeq(GetSoundPlayer(param0), param1); +} + +THUMB_FUNC u16 FUN_02005508(u16 param0) +{ + return GF_SndPlayerCountPlayingSeqByPlayerNo(FUN_020048D0(param0)); +} + +THUMB_FUNC BOOL FUN_02005514() +{ + for (s32 i = 0; i < 4; i++) + { + if (GF_SndPlayerCountPlayingSeqByPlayerNo(i + 3) == 1) + { + return TRUE; + } + } + + return FALSE; +} + +THUMB_FUNC void FUN_02005530(u16 param0, u32 param1, u32 param2) +{ + NNS_SndPlayerSetTrackPan(GetSoundPlayer(FUN_02004018(FUN_020048D0(param0))), param1, param2); +} + +THUMB_FUNC void FUN_0200554C(u32 param0) +{ + int playerNo = FUN_02004018(3); + + for (int i = 0; i < 4; i++) + { + NNS_SndPlayerSetTrackPan(GetSoundPlayer(playerNo + i), 0xFFFF, param0); + } +} + +THUMB_FUNC u32 FUN_02005578(u16 species) +{ + u8 *r4 = FUN_02003D38(17); + u32 *r0 = FUN_02003D38(35); + + if (species != SPECIES_CHATOT) + { + if (species > SPECIES_MANAPHY_EGG || species == SPECIES_NONE) + { + species = SPECIES_BULBASAUR; + } + } + + if (species == SPECIES_CHATOT) + { + if (FUN_02005D48(*r0, 0, 127, 0) == 1) + { + FUN_02005E80(0); + + return 1; + } + } + + u32 res; + if (*r4 == 0) + { + FUN_02005614(0); + res = NNS_SndArcPlayerStartSeqEx(GetSoundPlayer(1), -1, species, -1, 2); + FUN_02004858(species, 1); + } + else + { + res = NNS_SndArcPlayerStartSeqEx(GetSoundPlayer(8), -1, species, -1, 2); + FUN_02004858(species, 8); + } + + FUN_02005E80(0); + + return res; +} + +THUMB_FUNC void FUN_02005614(u32 param0) +{ + u8 *r6 = FUN_02003D38(15); + u8 *r4 = FUN_02003D38(16); + FUN_02003D38(14); + + NNS_SndPlayerStopSeq(GetSoundPlayer(1), param0); + NNS_SndPlayerStopSeq(GetSoundPlayer(8), param0); + + if (*r6 == 1) + { + FUN_02004C3C(14); + FUN_02004A04(14); + } + + if (*r4 == 1) + { + FUN_02004C3C(15); + FUN_02004A04(15); + } + + FUN_02005DFC(); +} + +THUMB_FUNC BOOL FUN_02005670() +{ + u8 *r5 = FUN_02003D38(15); + u8 *r4 = FUN_02003D38(16); + FUN_02003D38(14); + + if (*r5 == 1) + { + return FUN_02004ABC(14); + } + + if (*r4 == 1) + { + return FUN_02004ABC(15); + } + + return GF_SndPlayerCountPlayingSeqByPlayerNo(0); +} + +THUMB_FUNC u32 FUN_020056AC(u32 param0, u16 param1, s32 param2, s32 param3, u32 param4) +{ + s32 st1c, st18; + u8 *st14 = FUN_02003D38(15); + u8 *st10 = FUN_02003D38(16); + u8 *r4 = FUN_02003D38(17); + u8 *stc = FUN_02003D38(29); + FUN_02003D38(35); + + st1c = 64 + (param2 / 2); + st18 = param3 - 30; + + if (st18 <= 0) + { + st18 = 1; + } + + *r4 = 0; + if (*st14 == 1) + { + FUN_02004C3C(14); + FUN_02004A04(14); + } + + if (*st10 == 1) + { + FUN_02004C3C(15); + FUN_02004A04(15); + } + + u16 species = param1; + if (species != SPECIES_CHATOT) + { + if (species > SPECIES_MANAPHY_EGG || species == SPECIES_NONE) + { + species = SPECIES_BULBASAUR; + } + } + + if (param1 == SPECIES_CHATOT) + { + switch (param0) + { + case 0: + case 1: + case 2: + case 5: + case 11: + case 12: + FUN_02005578(SPECIES_CHATOT); + if (*stc == 0) + { + GF_SndPlayerSetTrackPan(1, 0xFFFF, param2); + FUN_02005AC8(species, 1, param3); + } + else + { + FUN_02004ACC(14, (u8)st1c); + FUN_02004AF8(14, param3); + } + + return 1; + + default: + FUN_02005E80(1); + } + } + + switch (param0) + { + case 0: + FUN_02005578(species); + GF_SndPlayerSetTrackPan(1, 0xFFFF, param2); + FUN_02005AC8(species, 1, param3); + break; + case 1: + FUN_02005578(species); + GF_SndPlayerSetTrackPan(1, 0xFFFF, param2); + FUN_02005AC8(species, 1, param3); + FUN_02005AE0(20, param4); + break; + case 2: + FUN_02005578(species); + GF_SndPlayerSetTrackPan(1, 0xFFFF, param2); + FUN_02005AC8(species, 1, param3); + GF_SndPlayerSetTrackPitch(1, 0xFFFF, 64); + FUN_02005BC8(species, 20); + GF_SndPlayerSetTrackPan(8, 0xFFFF, param2); + FUN_02005AC8(species, 8, st18); + break; + case 3: + FUN_02005578(species); + GF_SndPlayerSetTrackPan(1, 0xFFFF, param2); + FUN_02005AC8(species, 1, param3); + FUN_02005AE0(30, param4); + GF_SndPlayerSetTrackPitch(1, 0xFFFF, 192); + FUN_02005BC8(species, 16); + GF_SndPlayerSetTrackPan(8, 0xFFFF, param2); + FUN_02005AC8(species, 8, st18); + break; + case 4: + FUN_02004984(14); + FUN_02004B30(species, param3, st1c, 14, param4); + FUN_02004ACC(14, (u8)st1c); + FUN_02005AE0(15, param4); + FUN_02004AE4(14, 34304); + FUN_02005BF8(species, -64, st18, st1c, param4); + FUN_02004AE4(15, 34304); + break; + case 5: + FUN_02005578(species); + GF_SndPlayerSetTrackPan(1, 0xFFFF, param2); + FUN_02005AC8(species, 1, param3); + GF_SndPlayerSetTrackPitch(1, 0xFFFF, -224); + break; + case 6: + FUN_02005578(species); + GF_SndPlayerSetTrackPan(1, 0xFFFF, param2); + FUN_02005AC8(species, 1, param3); + GF_SndPlayerSetTrackPitch(1, 0xFFFF, 44); + FUN_02005BC8(species, -64); + GF_SndPlayerSetTrackPan(8, 0xFFFF, param2); + FUN_02005AC8(species, 8, st18); + break; + case 7: + FUN_02005578(species); + GF_SndPlayerSetTrackPan(1, 0xFFFF, param2); + FUN_02005AC8(species, 1, param3); + FUN_02005AE0(11, param4); + GF_SndPlayerSetTrackPitch(1, 0xFFFF, -128); + break; + case 8: + FUN_02005578(species); + GF_SndPlayerSetTrackPan(1, 0xFFFF, param2); + FUN_02005AC8(species, 1, param3); + FUN_02005AE0(60, param4); + GF_SndPlayerSetTrackPitch(1, 0xFFFF, 60); + break; + case 9: + FUN_02004984(14); + FUN_02004B30(species, param3, st1c, 14, param4); + FUN_02004ACC(14, (u8)st1c); + FUN_02005AE0(13, param4); + FUN_02004AE4(14, 26624); + break; + case 10: + FUN_02005578(species); + GF_SndPlayerSetTrackPan(1, 0xFFFF, param2); + FUN_02005AC8(species, 1, param3); + FUN_02005AE0(100, param4); + GF_SndPlayerSetTrackPitch(1, 0xFFFF, -44); + break; + case 11: + FUN_02005578(species); + GF_SndPlayerSetTrackPan(1, 0xFFFF, param2); + FUN_02005AC8(species, 1, param3); + GF_SndPlayerSetTrackPitch(1, 0xFFFF, -96); + break; + case 12: + FUN_02005578(species); + GF_SndPlayerSetTrackPan(1, 0xFFFF, param2); + FUN_02005AC8(species, 1, param3); + FUN_02005AE0(20, param4); + GF_SndPlayerSetTrackPitch(1, 0xFFFF, -96); + break; + case 13: + FUN_02005578(species); + FUN_02005AC8(species, 1, 127); + FUN_02005BC8(species, 20); + GF_SndPlayerSetTrackPan(8, 0xFFFF, param2); + GF_SndPlayerMoveVolume(8, param3, 0); + break; + case 14: + FUN_02005578(species); + break; + } + + return 1; +} + +THUMB_FUNC void FUN_02005AC8(u32 param0, int playerNo, s32 param2) +{ + GF_SndPlayerSetInitialVolume(playerNo, param2); + FUN_02004858(param0, playerNo); +} + +THUMB_FUNC void FUN_02005AE0(u32 param0, u32 param1) +{ + u32 *r6 = FUN_02003D38(34); + FUN_02005BA0(); + + u32 *ptr = AllocFromHeap(param1, 2 * sizeof(u32)); + if (ptr == NULL) + { + GF_AssertFail(); + return; + } + + ((u8 *)ptr)[0] = 0; + ((u8 *)ptr)[1] = 0; + ((u8 *)ptr)[2] = 0; + ((u8 *)ptr)[3] = 0; + ((u8 *)ptr)[4] = 0; + ((u8 *)ptr)[5] = 0; + ((u8 *)ptr)[6] = 0; + ((u8 *)ptr)[7] = 0; + + ptr[0] = param0; + u32 r0 = (u32)FUN_0200CA44( + (void (*)(u32, struct TextPrinter *))FUN_02005B2C, (struct TextPrinter *)ptr, 0); + ptr[1] = r0; + *r6 = r0; +} + +THUMB_FUNC void FUN_02005B2C(u32 param0, s32 *param1) +{ +#pragma unused(param0) + u8 *r6 = FUN_02003D38(15); + u8 *r4 = FUN_02003D38(16); + + if (*param1 == 10) + { + GF_SndPlayerMoveVolume(1, 0, *param1); + GF_SndPlayerMoveVolume(8, 0, *param1); + } + + (*param1)--; + + if (!FUN_02005670()) + { + *param1 = 0; + } + + if (*param1 <= 0) + { + FUN_02005614(0); + if (*r6 == 1) + { + FUN_02004C3C(14); + FUN_02004A04(14); + } + if (*r4 == 1) + { + FUN_02004C3C(15); + FUN_02004A04(15); + } + + FUN_02005BA0(); + } +} + +THUMB_FUNC void FUN_02005BA0() +{ + u32 **r4 = FUN_02003D38(34); + if (*r4 != NULL) + { + void *r5 = FUN_0201B6C8(*r4); + FUN_0200CAB4((s32)(*r4)); + FreeToHeap(r5); + } + + *r4 = 0; +} + +THUMB_FUNC u32 FUN_02005BC8(u16 param0, s32 param1) +{ + *(u8 *)FUN_02003D38(17) = 1; + + FUN_02005E80(1); + u32 res = FUN_02005578(param0); + + GF_SndPlayerSetTrackPitch(8, 0xFFFF, param1); + + return res; +} + +THUMB_FUNC void FUN_02005BF8(u32 param0, s32 param1, s32 param2, s32 param3, u32 param4) +{ +#pragma unused(param1) + *(u8 *)FUN_02003D38(17) = 1; + + FUN_02004984(15); + FUN_02004B30(param0, param2, param3, 15, param4); +} + +THUMB_FUNC u32 PlaySound(u16 param0) +{ + FUN_020048F4(param0); + FUN_02005CEC(param0); + + u8 r0 = FUN_020048D0(FUN_02004124()); + if (r0 != 0xff) + { + FUN_020047C8(r0, 1); + } + + GF_Snd_SaveState((int *)FUN_02003D38(28)); + GF_Snd_LoadSeqEx(param0, 3); + u32 res = NNS_SndArcPlayerStartSeq(GetSoundPlayer(2), param0); + FUN_02004858(param0, 2); + + return res; +} + +THUMB_FUNC BOOL FUN_02005C74() +{ + u16 *r4 = FUN_02003D38(13); + + if (GF_SndPlayerCountPlayingSeqByPlayerNo(2) != 0) + { + return TRUE; + } + + if (*r4 != 0) + { + (*r4)--; + return TRUE; + } + + return FALSE; +} + +THUMB_FUNC void FUN_02005CA0(u32 param0) +{ + NNS_SndPlayerStopSeq(GetSoundPlayer(2), param0); + GF_Snd_RestoreState(FUN_02004748(6)); +} + +THUMB_FUNC BOOL FUN_02005CBC() +{ + FUN_02003D38(13); + + if (FUN_02005C74() == TRUE) + { + return TRUE; + } + + FUN_02005CA0(0); + u8 r0 = FUN_020048D0(FUN_02004124()); + + if (r0 != 0xff) + { + FUN_020047C8(r0, 0); + } + + return FALSE; +} + +THUMB_FUNC void FUN_02005CEC(u16 param0) +{ +#pragma unused(param0) + *(u16 *)FUN_02003D38(13) = 15; +} diff --git a/include/sound.h b/include/sound.h index aa2f1641..11053cd6 100644 --- a/include/sound.h +++ b/include/sound.h @@ -63,7 +63,8 @@ BOOL GF_Snd_LoadSeqEx(int seqNo, u32 loadFlag); BOOL GF_Snd_LoadWaveArc(int waveArcNo); BOOL GF_Snd_LoadBank(int bankNo); u32 * GetSoundPlayer(int playerNo); -u32 FUN_02004018(u32 a0); +int FUN_02004018(u32 a0); void DoSoundUpdateFrame(void); +void FUN_02003CE8(int); #endif //POKEDIAMOND_SOUND_H diff --git a/include/unk_020040F4.h b/include/unk_020040F4.h index 641decb7..413e853f 100644 --- a/include/unk_020040F4.h +++ b/include/unk_020040F4.h @@ -19,7 +19,7 @@ struct UnkStruct_020040F4_1 u32 unk18; s32 unk1c; u32 unk20; - u32 unk24; + s32 unk24; }; struct UnkStruct_020040F4_2 @@ -55,7 +55,7 @@ void FUN_02004738(); int FUN_02004748(s32 param0); void FUN_020047C8(u8 param0, u8 param1); void FUN_02004810(); -void GF_SndPlayerMoveVolume(int playerNo, u32 param1, u32 param2); +void GF_SndPlayerMoveVolume(int playerNo, s32 param1, s32 param2); void GF_SndPlayerSetInitialVolume(int playerNo, s32 param1); void FUN_02004858(u32 param0, int playerNo); void FUN_0200488C(u16 param0, u16 param1); @@ -64,7 +64,7 @@ u16 GF_SndPlayerCountPlayingSeqByPlayerNo(int playerNo); u8 FUN_020048D0(u16 param0); u32 GF_SndPlayerGetSeqNo(u32 *param0); u32 FUN_020048F4(u16 param0); -u16 FUN_02004900(u16 param0); +u16 FUN_02004900(u32 param0); u32 GF_MIC_StartAutoSampling(u32 param0); u32 GF_MIC_StopAutoSampling(u32 param0); u32 GF_MIC_DoSamplingAsync(u32 param0, u32 param1, u32 param2, u32 param3); @@ -73,11 +73,11 @@ BOOL FUN_02004984(u32 param0); void FUN_02004A04(u32 param0); u32 FUN_02004A6C(struct UnkStruct_020040F4_1 *param0, u32 param1); void FUN_02004AAC(u32 param0); -void FUN_02004ABC(u32 param0); +BOOL FUN_02004ABC(u32 param0); void FUN_02004ACC(u32 param0, u32 param1); void FUN_02004AE4(u32 param0, u32 param1); void FUN_02004AF8(u32 param0, s32 param1); -u32 FUN_02004B30(u32 param0, s32 param1, u32 param2, u32 param3, u32 param4); +u32 FUN_02004B30(u32 param0, s32 param1, s32 param2, u32 param3, u32 param4); void FUN_02004C1C(u8 *param0, u32 param1); void FUN_02004C3C(u32 param0); BOOL GF_SndCaptureIsActive(); @@ -87,11 +87,11 @@ void GF_SndCaptureSetReverbVolume(u32 param0, u32 param1); void FUN_02004CB4(); void GF_SndCaptureStopEffect(); void FUN_02004D04(s32 param0); -void GF_SndPlayerSetTrackPitch(int playerNo, u32 param1, u32 param2); -void FUN_02004D34(u16 param0, u32 param1, u32 param2); -void GF_SndPlayerSetTrackPan(int playerNo, u32 param1, u32 param2); +void GF_SndPlayerSetTrackPitch(int playerNo, u32 param1, s32 param2); +void FUN_02004D34(u16 param0, u32 param1, s32 param2); +void GF_SndPlayerSetTrackPan(int playerNo, u32 param1, s32 param2); void GF_SndSetMonoFlag(u32 param0); -void FUN_02004D74(u32 param0); +void FUN_02004D74(s32 param0); void FUN_02004D84(u32 param0); u16 FUN_02004D94(); u8 *FUN_02004DB4(); diff --git a/include/unk_020051F4.h b/include/unk_020051F4.h new file mode 100644 index 00000000..05be8db7 --- /dev/null +++ b/include/unk_020051F4.h @@ -0,0 +1,45 @@ +#ifndef POKEDIAMOND_UNK_020051F4_H +#define POKEDIAMOND_UNK_020051F4_H + +#include "global.h" + + +u32 FUN_020051F4(u16 param0); +u32 FUN_0200521C(u16 param0); +void FUN_0200526C(u16 param0, int playerNo); +u32 FUN_02005288(u16 param0, u32 param1, int playerNo); +u32 FUN_020052B8(u16 param0, u32 param1, int playerNo); +u32 FUN_02005308(u32 param0, u16 param1); +void FUN_02005350(u16 param0, u32 param1); +void FUN_02005374(); +void FUN_0200538C(s32 param0, u16 param1, u32 param2); +void FUN_020053CC(s32 param0, s32 param1); +u16 FUN_02005404(); +u16 FUN_02005410(u16 param0); +void FUN_0200541C(); +void FUN_02005454(); +u32 FUN_020054A8(u16 param0, u32 param1); +u32 PlaySE(u16 param0); +void FUN_020054F0(u32 param0, u32 param1); +void FUN_020054F8(s32 param0, u32 param1); +u16 FUN_02005508(u16 param0); +BOOL FUN_02005514(); +void FUN_02005530(u16 param0, u32 param1, u32 param2); +void FUN_0200554C(u32 param0); +u32 FUN_02005578(u16 species); +void FUN_02005614(u32 param0); +BOOL FUN_02005670(); +u32 FUN_020056AC(u32 param0, u16 param1, s32 param2, s32 param3, u32 param4); +void FUN_02005AC8(u32 param0, int playerNo, s32 param2); +void FUN_02005AE0(u32 param0, u32 param1); +void FUN_02005B2C(u32 param0, s32 *param1); +void FUN_02005BA0(); +u32 FUN_02005BC8(u16 param0, s32 param1); +void FUN_02005BF8(u32 param0, s32 param1, s32 param2, s32 param3, u32 param4); +u32 PlaySound(u16 param0); +BOOL FUN_02005C74(); +void FUN_02005CA0(u32 param0); +BOOL FUN_02005CBC(); +void FUN_02005CEC(u16 param0); + +#endif //POKEDIAMOND_UNK_020051F4_H |