diff --git a/.clang-format b/.clang-format index 5f64f593..977524fc 100644 --- a/.clang-format +++ b/.clang-format @@ -24,8 +24,10 @@ WhitespaceSensitiveMacros: DECOMP_FORCEACTIVE_DTOR, DECOMP_FORCEACTIVE, DECOMP_FORCELITERAL, - EGG_ASSERT_MSG, EGG_ASSERT, + EGG_ASSERT_MSG, + RP_ASSERT, + RP_ASSERT_MSG, NW4R_EF_LIST_FOREACH_SAFE, NW4R_EF_LIST_FOREACH, NW4R_UT_LINKLIST_FOREACH, diff --git a/config/RSPE01_01/symbols.txt b/config/RSPE01_01/symbols.txt index b2ed5600..c5c26a59 100644 --- a/config/RSPE01_01/symbols.txt +++ b/config/RSPE01_01/symbols.txt @@ -7005,15 +7005,15 @@ fn_80186E98 = .text:0x80186E98; // type:function size:0x1C fn_80186EB4 = .text:0x80186EB4; // type:function size:0xEC fn_80186FA0 = .text:0x80186FA0; // type:function size:0x254 fn_801871F4 = .text:0x801871F4; // type:function size:0x9C -fn_80187290 = .text:0x80187290; // type:function size:0x70 -fn_80187300 = .text:0x80187300; // type:function size:0x6C -fn_8018736C = .text:0x8018736C; // type:function size:0x7C -fn_801873E8 = .text:0x801873E8; // type:function size:0x64 +GetGameSoundLocalPath__20RPSysResourceManagerFPcUll = .text:0x80187290; // type:function size:0x70 +GetGameSoundCommonPath__20RPSysResourceManagerFPcUll = .text:0x80187300; // type:function size:0x6C +GetStaticSoundLocalPath__20RPSysResourceManagerFPcUl = .text:0x8018736C; // type:function size:0x7C +GetStaticSoundCommonPath__20RPSysResourceManagerFPcUl = .text:0x801873E8; // type:function size:0x64 fn_8018744C = .text:0x8018744C; // type:function size:0x68 fn_801874B4 = .text:0x801874B4; // type:function size:0x150 fn_80187604 = .text:0x80187604; // type:function size:0x1D0 RemoveFromFileList__20RPSysResourceManagerFP9RPSysFile = .text:0x801877D4; // type:function size:0x8 -fn_801877DC = .text:0x801877DC; // type:function size:0x60 +IsExist__20RPSysResourceManagerFPCc = .text:0x801877DC; // type:function size:0x60 fn_8018783C = .text:0x8018783C; // type:function size:0x3C fn_80187878 = .text:0x80187878; // type:function size:0x4C fn_801878C4 = .text:0x801878C4; // type:function size:0xA0 @@ -7516,7 +7516,7 @@ fn_8019B51C = .text:0x8019B51C; // type:function size:0x24 fn_8019B540 = .text:0x8019B540; // type:function size:0x24 fn_8019B564 = .text:0x8019B564; // type:function size:0x24 fn_8019B588 = .text:0x8019B588; // type:function size:0x24 -fn_8019B5AC = .text:0x8019B5AC; // type:function size:0x20 +isPrevDpdCtrlEnable__19RPSysCoreControllerFv = .text:0x8019B5AC; // type:function size:0x20 fn_8019B5CC = .text:0x8019B5CC; // type:function size:0x54 fn_8019B620 = .text:0x8019B620; // type:function size:0x70 fn_8019B690 = .text:0x8019B690; // type:function size:0x68 @@ -8112,53 +8112,53 @@ __sinit_\RPGrpModelRfl_cpp = .text:0x801B6238; // type:function size:0x44 @72@ExecCallback_CALC_MAT__13RPGrpModelRflFQ44nw4r3g3d6ScnObj6TimingPQ34nw4r3g3d6ScnObjUlPv = .text:0x801B6294; // type:function size:0x8 @72@ExecCallback_CALC_WORLD__13RPGrpModelRflFQ44nw4r3g3d6ScnObj6TimingPQ34nw4r3g3d6ScnObjUlPv = .text:0x801B629C; // type:function size:0x8 @72@__dt__13RPGrpModelRflFv = .text:0x801B62A4; // type:function size:0x8 -fn_801B62AC = .text:0x801B62AC; // type:function size:0xC4 -fn_801B6370 = .text:0x801B6370; // type:function size:0xC -fn_801B637C = .text:0x801B637C; // type:function size:0x2BC -fn_801B6638 = .text:0x801B6638; // type:function size:0x4C -fn_801B6684 = .text:0x801B6684; // type:function size:0x4C -fn_801B66D0 = .text:0x801B66D0; // type:function size:0x40 -fn_801B6710 = .text:0x801B6710; // type:function size:0x80 -fn_801B6790 = .text:0x801B6790; // type:function size:0xB4 -fn_801B6844 = .text:0x801B6844; // type:function size:0xAC -fn_801B68F0 = .text:0x801B68F0; // type:function size:0xE4 -fn_801B69D4 = .text:0x801B69D4; // type:function size:0xDC -fn_801B6AB0 = .text:0x801B6AB0; // type:function size:0xC4 -fn_801B6B74 = .text:0x801B6B74; // type:function size:0x8C -fn_801B6C00 = .text:0x801B6C00; // type:function size:0x80 -fn_801B6C80 = .text:0x801B6C80; // type:function size:0x80 -fn_801B6D00 = .text:0x801B6D00; // type:function size:0x118 -fn_801B6E18 = .text:0x801B6E18; // type:function size:0x88 -fn_801B6EA0 = .text:0x801B6EA0; // type:function size:0x124 -fn_801B6FC4 = .text:0x801B6FC4; // type:function size:0x2C -fn_801B6FF0 = .text:0x801B6FF0; // type:function size:0xAC -fn_801B709C = .text:0x801B709C; // type:function size:0x3C -fn_801B70D8 = .text:0x801B70D8; // type:function size:0x3C -fn_801B7114 = .text:0x801B7114; // type:function size:0x8C -fn_801B71A0 = .text:0x801B71A0; // type:function size:0x180 -fn_801B7320 = .text:0x801B7320; // type:function size:0x34 -fn_801B7354 = .text:0x801B7354; // type:function size:0x80 -fn_801B73D4 = .text:0x801B73D4; // type:function size:0x28 -fn_801B73FC = .text:0x801B73FC; // type:function size:0xB4 -fn_801B74B0 = .text:0x801B74B0; // type:function size:0x84 -fn_801B7534 = .text:0x801B7534; // type:function size:0x74 -fn_801B75A8 = .text:0x801B75A8; // type:function size:0x680 -fn_801B7C28 = .text:0x801B7C28; // type:function size:0x170 -fn_801B7D98 = .text:0x801B7D98; // type:function size:0x1F8 -fn_801B7F90 = .text:0x801B7F90; // type:function size:0x1C8 -fn_801B8158 = .text:0x801B8158; // type:function size:0x4 -fn_801B815C = .text:0x801B815C; // type:function size:0xA4 -fn_801B8200 = .text:0x801B8200; // type:function size:0xDC -fn_801B82DC = .text:0x801B82DC; // type:function size:0x60 -fn_801B833C = .text:0x801B833C; // type:function size:0x8 -fn_801B8344 = .text:0x801B8344; // type:function size:0x8 -fn_801B834C = .text:0x801B834C; // type:function size:0x8 -fn_801B8354 = .text:0x801B8354; // type:function size:0x8 -fn_801B835C = .text:0x801B835C; // type:function size:0x8 -fn_801B8364 = .text:0x801B8364; // type:function size:0x8 -fn_801B836C = .text:0x801B836C; // type:function size:0x8 -fn_801B8374 = .text:0x801B8374; // type:function size:0x8 -fn_801B837C = .text:0x801B837C; // type:function size:0x8 +setOutputMode__13RPSndAudioMgrFUc = .text:0x801B62AC; // type:function size:0xC4 +getUserParam__13RPSndAudioMgrFRCQ34nw4r3snd12SoundArchiveUl = .text:0x801B6370; // type:function size:0xC +startFanfare__13RPSndAudioMgrFPCc = .text:0x801B637C; // type:function size:0x2BC +startFanfare__13RPSndAudioMgrFUl = .text:0x801B6638; // type:function size:0x4C +resetSystem__13RPSndAudioMgrFi = .text:0x801B6684; // type:function size:0x4C +shutdownSystem__13RPSndAudioMgrFi = .text:0x801B66D0; // type:function size:0x40 +stopAllSoundOnPauseOff__13RPSndAudioMgrFv = .text:0x801B6710; // type:function size:0x80 +exitPause__13RPSndAudioMgrFv = .text:0x801B6790; // type:function size:0xB4 +enterPause__13RPSndAudioMgrFv = .text:0x801B6844; // type:function size:0xAC +exitMenu__13RPSndAudioMgrFv = .text:0x801B68F0; // type:function size:0xE4 +enterMenu__13RPSndAudioMgrFv = .text:0x801B69D4; // type:function size:0xDC +setRemote__13RPSndAudioMgrFUl = .text:0x801B6AB0; // type:function size:0xC4 +loadGroup__13RPSndAudioMgrFPCcPQ34nw4r3snd9SoundHeapUl = .text:0x801B6B74; // type:function size:0x8C +loadGroup__13RPSndAudioMgrFiPQ34nw4r3snd9SoundHeapUl = .text:0x801B6C00; // type:function size:0x80 +loadGroup__13RPSndAudioMgrFUiPQ34nw4r3snd9SoundHeapUl = .text:0x801B6C80; // type:function size:0x80 +setDefaultFx__13RPSndAudioMgrFv = .text:0x801B6D00; // type:function size:0x118 +startPauseSe__13RPSndAudioMgrFPCcPCcbl = .text:0x801B6E18; // type:function size:0x88 +startPointCursorSe__13RPSndAudioMgrFPCcRCQ34nw4r4math4VEC2fUl = .text:0x801B6EA0; // type:function size:0x124 +getStreamPlaySecond__13RPSndAudioMgrFv = .text:0x801B6FC4; // type:function size:0x2C +startSound__13RPSndAudioMgrFPQ34nw4r3snd11SoundHandlePCc = .text:0x801B6FF0; // type:function size:0xAC +startSound__13RPSndAudioMgrFPQ34nw4r3snd11SoundHandleUi = .text:0x801B709C; // type:function size:0x3C +startSound__13RPSndAudioMgrFPQ34nw4r3snd11SoundHandleUl = .text:0x801B70D8; // type:function size:0x3C +loadState__13RPSndAudioMgrFl = .text:0x801B7114; // type:function size:0x8C +exitAudio__13RPSndAudioMgrFv = .text:0x801B71A0; // type:function size:0x180 +changeScene__13RPSndAudioMgrFv = .text:0x801B7320; // type:function size:0x34 +setAutoFadeOnRetry__13RPSndAudioMgrFv = .text:0x801B7354; // type:function size:0x80 +fadeOutAllSound__13RPSndAudioMgrFUs = .text:0x801B73D4; // type:function size:0x28 +configureMiniGame__13RPSndAudioMgrFl = .text:0x801B73FC; // type:function size:0xB4 +configureNoBgm__13RPSndAudioMgrFv = .text:0x801B74B0; // type:function size:0x84 +configureTitle__13RPSndAudioMgrFv = .text:0x801B7534; // type:function size:0x74 +calc__13RPSndAudioMgrFv = .text:0x801B75A8; // type:function size:0x680 +attachArchive__13RPSndAudioMgrFPCcbPQ34nw4r3snd9SoundHeap = .text:0x801B7C28; // type:function size:0x170 +openArchiveRP__13RPSndAudioMgrFPCcPQ34nw4r3snd9SoundHeapPv = .text:0x801B7D98; // type:function size:0x1F8 +initialize__13RPSndAudioMgrFPQ33EGG9IAudioMgr3Arg = .text:0x801B7F90; // type:function size:0x1C8 +MemDeallocCallback__FPvUlPv = .text:0x801B8158; // type:function size:0x4 +__dt__13RPSndAudioMgrFv = .text:0x801B815C; // type:function size:0xA4 +__ct__13RPSndAudioMgrFPQ23EGG4Heap = .text:0x801B8200; // type:function size:0xDC +CreateInstance__13RPSndAudioMgrFPQ23EGG4Heap = .text:0x801B82DC; // type:function size:0x60 +@8@loadState__13RPSndAudioMgrFl = .text:0x801B833C; // type:function size:0x8 +@248@startSound__13RPSndAudioMgrFPQ34nw4r3snd11SoundHandleUl = .text:0x801B8344; // type:function size:0x8 +@248@startSound__13RPSndAudioMgrFPQ34nw4r3snd11SoundHandleUi = .text:0x801B834C; // type:function size:0x8 +@248@startSound__13RPSndAudioMgrFPQ34nw4r3snd11SoundHandlePCc = .text:0x801B8354; // type:function size:0x8 +@248@calc__13RPSndAudioMgrFv = .text:0x801B835C; // type:function size:0x8 +@248@loadGroup__13RPSndAudioMgrFUiPQ34nw4r3snd9SoundHeapUl = .text:0x801B8364; // type:function size:0x8 +@248@loadGroup__13RPSndAudioMgrFiPQ34nw4r3snd9SoundHeapUl = .text:0x801B836C; // type:function size:0x8 +@248@loadGroup__13RPSndAudioMgrFPCcPQ34nw4r3snd9SoundHeapUl = .text:0x801B8374; // type:function size:0x8 +@248@__dt__13RPSndAudioMgrFv = .text:0x801B837C; // type:function size:0x8 isDisconnectAllFinished__15RPSndSpeakerMgrFv = .text:0x801B8384; // type:function size:0x2C disconnectAll__15RPSndSpeakerMgrFv = .text:0x801B83B0; // type:function size:0x80 connectAll__15RPSndSpeakerMgrFv = .text:0x801B8430; // type:function size:0xF8 @@ -18634,8 +18634,8 @@ __vt__26RPSysKokeshiCtrlDataLoader = .data:0x803B9DB0; // type:object size:0xC lbl_803B9DC0 = .data:0x803B9DC0; // type:object size:0x40 lbl_803B9E00 = .data:0x803B9E00; // type:object size:0xC lbl_803B9E0C = .data:0x803B9E0C; // type:object size:0xC -lbl_803B9E18 = .data:0x803B9E18; // type:object size:0x19 data:string -lbl_803B9E38 = .data:0x803B9E38; // type:object size:0x10 data:string +@STRING@changeNameToIdRP__13RPSndAudioMgrFPCc@0 = .data:0x803B9E18; // type:object size:0x19 data:string +@STRING@changeNameToIdRP__13RPSndAudioMgrFPCc = .data:0x803B9E38; // type:object size:0x10 data:string lbl_803B9E48 = .data:0x803B9E48; // type:object size:0x10 __vt__15RPSysOfficialDB = .data:0x803B9E58; // type:object size:0xC __vt__23RPSysKokeshiCtrlDataMgr = .data:0x803B9E68; // type:object size:0xC @@ -18718,10 +18718,10 @@ lbl_803BA9C4 = .data:0x803BA9C4; // type:object size:0x17 data:string lbl_803BA9DC = .data:0x803BA9DC; // type:object size:0x14 data:string lbl_803BA9F0 = .data:0x803BA9F0; // type:object size:0x16 data:string lbl_803BAA08 = .data:0x803BAA08; // type:object size:0x16 data:string -lbl_803BAA20 = .data:0x803BAA20; // type:object size:0xD data:string -lbl_803BAA30 = .data:0x803BAA30; // type:object size:0x10 data:string -lbl_803BAA40 = .data:0x803BAA40; // type:object size:0xC data:string -lbl_803BAA50 = .data:0x803BAA50; // type:object size:0x10 data:string +@STRING@setCameraCount__Q23EGG19TAudioSound3DMgr<4>Fl@2 = .data:0x803BAA20; // type:object size:0xD data:string +@STRING@setCameraCount__Q23EGG19TAudioSound3DMgr<4>Fl@1 = .data:0x803BAA30; // type:object size:0x10 data:string +@STRING@setCameraCount__Q23EGG19TAudioSound3DMgr<4>Fl@0 = .data:0x803BAA40; // type:object size:0xC data:string +@STRING@setCameraCount__Q23EGG19TAudioSound3DMgr<4>Fl = .data:0x803BAA50; // type:object size:0x10 data:string __vt__15RPSndSpeakerMgr = .data:0x803BAA60; // type:object size:0xC __vt__14RPSndMoveParam = .data:0x803BAA70; // type:object size:0x18 lbl_803BAA88 = .data:0x803BAA88; // type:object size:0x10 @@ -19887,7 +19887,7 @@ lbl_804A45B0 = .bss:0x804A45B0; // type:object size:0xC lbl_804A45BC = .bss:0x804A45BC; // type:object size:0x4C align:4 data:float lbl_804A4608 = .bss:0x804A4608; // type:object size:0x30 align:4 data:float lbl_804A4638 = .bss:0x804A4638; // type:object size:0x28 data:byte -lbl_804A4660 = .bss:0x804A4660; // type:object size:0x10 data:4byte +smCommon3DManager__Q23EGG32AudioSoundActorBaseWithCamera<4> = .bss:0x804A4660; // type:object size:0x10 data:4byte sActorList__19RPSndAudioActorBase = .bss:0x804A4670; // type:object size:0xC sMoveParamList__17RPSndMoveParamMgr = .bss:0x804A4680; // type:object size:0x10 lbl_804A4690 = .bss:0x804A4690; // type:object size:0xC align:4 data:float @@ -21938,9 +21938,9 @@ lbl_804BF620 = .sbss:0x804BF620; // type:object size:0x8 data:4byte lbl_804BF628 = .sbss:0x804BF628; // type:object size:0x8 data:byte lbl_804BF630 = .sbss:0x804BF630; // type:object size:0x8 data:4byte lbl_804BF638 = .sbss:0x804BF638; // type:object size:0x8 data:4byte -lbl_804BF640 = .sbss:0x804BF640; // type:object size:0x4 data:4byte +MemDeallocCallbackArg = .sbss:0x804BF640; // type:object size:0x4 data:4byte spInstance__13RPSndAudioMgr = .sbss:0x804BF644; // type:object size:0x4 data:4byte -lbl_804BF648 = .sbss:0x804BF648; // type:object size:0x8 data:4byte +DAT_804bf648 = .sbss:0x804BF648; // type:object size:0x8 data:4byte spInstance__15RPSndSpeakerMgr = .sbss:0x804BF650; // type:object size:0x4 data:4byte spSoundArchivePlayer__12RPSndUtility = .sbss:0x804BF658; // type:object size:0x4 data:4byte lbl_804BF660 = .sbss:0x804BF660; // type:object size:0x8 align:4 data:float diff --git a/include/Pack/RPAudio/RPSndAudioMgr.h b/include/Pack/RPAudio/RPSndAudioMgr.h index 4864de72..f8c1128d 100644 --- a/include/Pack/RPAudio/RPSndAudioMgr.h +++ b/include/Pack/RPAudio/RPSndAudioMgr.h @@ -2,32 +2,647 @@ #define RP_AUDIO_SND_AUDIO_MGR_H #include +#include +#include +#include #include #include +#include #include +#include + //! @addtogroup rp_audio //! @{ /** - * @brief RP sound manager (BGM, SFX, etc.) + * @brief Audio manager */ class RPSndAudioMgr : public EGG::ExpAudioMgr { RP_SINGLETON_DECL_EX(RPSndAudioMgr); public: - u32 getUserParam(const nw4r::snd::SoundArchivePlayer& rPlayer, - u32 id) const; + /** + * @brief Callback for configuring audio effects + */ + typedef void (*SetFxCallback)(); + +public: + /** + * @brief Initializes the audio manager state + * + * @param pArg Audio system configuration + */ + virtual void initialize(Arg* pArg); // at 0x8 + + /** + * @brief Attempts to open the specified sound archive, using storage + * settings from the project locale + * + * @param pPath Sound archive path + * @param pHeap Sound heap + * @param pMultiHandle Multi handle for special storage types + * @return Archive player + */ + virtual nw4r::snd::SoundArchivePlayer* + openArchiveRP(const char* pPath, nw4r::snd::SoundHeap* pHeap, + void* pMultiHandle); // at 0xB0 + + /** + * @brief Updates the state of the audio manager + */ + virtual void calc(); // at 0xC + + /** + * @brief Attempts to restore the specified sound heap state + * + * @param id State ID + * @return Success + */ + virtual bool loadState(s32 id); // at 0x18 + + /** + * @brief Attempts to load the specified sound group + * + * @param id Group ID + * @param pHeap Sound heap to use for allocations + * @param blockSize Read block size (zero tries to read it all at once) + * @return Success + */ + virtual bool loadGroup(unsigned int id, nw4r::snd::SoundHeap* pHeap = NULL, + u32 blockSize = 0); // at 0x28 + + /** + * @brief Attempts to load the specified sound group + * + * @param id Group ID + * @param pHeap Sound heap to use for allocations + * @param blockSize Read block size (zero tries to read it all at once) + * @return Success + */ + virtual bool loadGroup(int id, nw4r::snd::SoundHeap* pHeap = NULL, + u32 blockSize = 0); // at 0x2C + + /** + * @brief Attempts to load the specified sound group + * + * @param pName Group name + * @param pHeap Sound heap to use for allocations + * @param blockSize Read block size (zero tries to read it all at once) + * @return Success + */ + virtual bool loadGroup(const char* pName, + nw4r::snd::SoundHeap* pHeap = NULL, + u32 blockSize = 0); // at 0x30 + + /** + * @brief Attempts to start the specified sound + * + * @param pHandle Sound handle + * @param id Sound ID + * @return Success + */ + virtual bool startSound(nw4r::snd::SoundHandle* pHandle, u32 id); // at 0x38 + + /** + * @brief Attempts to start the specified sound + * + * @param pHandle Sound handle + * @param id Sound ID + * @return Success + */ + virtual bool startSound(nw4r::snd::SoundHandle* pHandle, + unsigned int id); // at 0x3C + + /** + * @brief Attempts to start the specified sound + * + * @param pHandle Sound handle + * @param pName Sound name + * @return Success + */ + virtual bool startSound(nw4r::snd::SoundHandle* pHandle, + const char* pName); // at 0x40 + + /** + * @brief Attempts to open and prepare the specified sound archive + * + * @param pPath Sound archive path + * @param staticPath Whether the archive path is relative to the static + * resource directory + * @param pHeap Sound heap + * @return Archive player + */ + nw4r::snd::SoundArchivePlayer* attachArchive(const char* pPath, + bool staticPath, + nw4r::snd::SoundHeap* pHeap); + + /** + * @brief Attempts to start the specified BGM ("BGM_") sound + * + * @param id Sound ID + * @return Success + */ + bool startBgm(u32 id) { + return startSound(&mHandleBgm, id); + } + /** + * @brief Attempts to start the specified BGM ("BGM_") sound + * + * @param pName Sound name + * @return Success + */ + bool startBgm(const char* pName) { + return startBgm(changeNameToIdRP(pName)); + } + + /** + * @brief Attempts to start the specified stream ("STRM_") sound + * + * @param id Sound ID + * @return Success + */ + bool startStream(u32 id) { + return startSound(&mHandleStream, id); + } + /** + * @brief Attempts to start the specified stream ("STRM_") sound + * + * @param pName Sound name + * @return Success + */ + bool startStream(const char* pName) { + return startStream(changeNameToIdRP(pName)); + } + + /** + * @brief Attempts to start the specified system sound effect + * + * @param id Sound ID + * @return Success + */ + bool startSystemSe(u32 id) { + return startSystemSe(getSoundArchive().GetSoundLabelString(id)); + } + /** + * @brief Attempts to start the specified system sound effect + * + * @param pName Sound name + * @return Success + */ + bool startSystemSe(const char* pName) { + if (mIsDisableFanfare) { + if (pName[7] == 'B' && pName[8] == 'G' && pName[9] == 'M') { + return false; + } + } + + return startSound(&mHandleSystemSe, pName); + } + + /** + * @brief Attempts to start the specified system sound effect through the + * remote speaker(s) + * + * @param id Sound ID + * @param playerFlag Player output line flags + * @return Success + */ + bool startSystemSeWithRemote(u32 id, u32 playerFlag) { + bool success = startSound(&mHandleSystemSe, id); + if (success) { + setRemote(playerFlag); + } + + return success; + } + /** + * @brief Attempts to start the specified system sound effect through the + * remote speaker(s) + * + * @param pName Sound name + * @param playerFlag Player output line flags + * @return Success + */ + bool startSystemSeWithRemote(const char* pName, u32 playerFlag) { + return startSystemSeWithRemote(changeNameToIdRP(pName), playerFlag); + } + + /** + * @brief Attempts to start the specified wave sound + * + * @param id Sound ID + * @return Success + */ + bool startWaveSound(u32 id) { + return startWaveSound(getSoundArchive().GetSoundLabelString(id)); + } + /** + * @brief Attempts to start the specified wave sound + * + * @param pName Sound name + * @return Success + */ + bool startWaveSound(const char* pName) { + if (pName[0] == 'B' && pName[1] == 'g' && pName[2] == 'm') { + return false; + } + + return startSound(&mHandleWaveSound, pName); + } + + /** + * @brief Converts a sound effect name to its corresponding ID + * + * @param pName Sound effect name + * @return Sound effect ID + */ + u32 changeNameToIdRP(const char* pName) { + u32 id = mArchive->ConvertLabelStringToSoundId(pName); + +#line 206 + RP_ASSERT_MSG(id != nw4r::snd::SoundArchive::INVALID_ID, "Wrong Sound Name < %s >\n", pName); + return id; + } + + /** + * @brief Configures the audio system for title scenes + */ + void configureTitle(); + + /** + * @brief Configures the audio system for scenes without BGM + */ + void configureNoBgm(); + + /** + * @brief Configures the audio system for game scenes + * + * @param cameraNum 3D audio camera count + */ + void configureMiniGame(s32 cameraNum); + + /** + * @brief Fades out all audio in the specified number of frames + * + * @param frames Fade out length + */ + void fadeOutAllSound(u16 frames); + + /** + * @brief Applies the fade out for game Retry buttons + */ + void setAutoFadeOnRetry(); + + /** + * @brief Prepares the audio system for a scene change + */ + void changeScene(); + + /** + * @brief Resets the audio system configuration + */ + void exitAudio(); + + /** + * @brief Sets the volume of all sound players + * + * @param volume New volume + * @param frames Interpolation time + */ + void setArcVolume(f32 volume, u32 frames); + + /** + * @brief Resets the volume of all sound players + */ + void resetArcVolume(); + + /** + * @brief Sets the volume of the current BGM + * + * @param volume New volume + * @param frames Interpolation time + */ + void setBgmVolume(f32 volume, int frames); + + /** + * @brief Sets the volume of the current stream + * + * @param volume New volume + * @param frames Interpolation time + */ + void setStreamVolume(f32 volume, int frames); + + /** + * @brief Gets the position of the current stream, in seconds + */ + u32 getStreamPlaySecond(); + + /** + * @brief Attempts to start a cursor sound effect + * + * @param pName Sound name + * @param rDpdPos Cursor DPD/IR position + * @param pan Sound pan + * @param playerFlag Player output line flag + * @return Success + */ + bool startPointCursorSe(const char* pName, const nw4r::math::VEC2& rDpdPos, + f32 pan, u32 playerFlag); + /** + * @brief Attempts to start a pause sound effect + * + * @param pNameRemote Remote speaker sound name + * @param pNameTV TV speaker sound name + * @param waitForDpd Whether to wait until the controller reconnects + * @param player Player whose remote speaker should be used + */ + void startPauseSe(const char* pNameRemote, const char* pNameTV, + bool waitForDpd, s32 player); + + /** + * @brief Applies the default audio effect configuration + */ + void setDefaultFx(); + + /** + * @brief Configures the specified remote speaker(s) for the current system + * sound effect + * + * @param playerFlag Player output line flags + */ + void setRemote(u32 playerFlag); + + /** + * @brief Prepares the audio system for entering the home button menu + */ + void enterMenu(); + /** + * @brief Prepares the audio system for returning from the home button menu + */ + void exitMenu(); + + /** + * @brief Prepares the audio system for entering the pause menu + */ + void enterPause(); + /** + * @brief Prepares the audio system for returning from the pause menu + */ + void exitPause(); + + /** + * @brief Pauses the audio system when a DVD error occurs + */ + void onDvdError(); + /** + * @brief Resumes the audio system after a DVD error + */ + void exitDvdError(); + + /** + * @brief Stops all sounds when exiting the scene from the pause menu + */ + void stopAllSoundOnPauseOff(); + + /** + * @brief Requests the audio system to shutdown + * + * @param frames Time to fade out the master volume + */ + void shutdownSystem(int frames); + + /** + * @brief Requests the audio system to reset + * + * @param frames Time to fade out the archive volume + */ + void resetSystem(int frames); + + /** + * @brief Attempts to start the specified fanfare sound effect + * + * @param id Sound ID + * @return Success + */ + bool startFanfare(u32 id); + /** + * @brief Attempts to start the specified fanfare sound effect + * + * @param pName Sound name + * @return Success + */ + bool startFanfare(const char* pName); + + /** + * @brief Gets the user parameters attached to the specified sound + * + * @param rArchive Sound archive + * @param id Sound ID + */ + u32 getUserParam(const nw4r::snd::SoundArchive& rArchive, u32 id); + + /** + * @brief Sets the output mode of the audio system + * + * @param confMode Sound mode from the SYSCONF + */ + void setOutputMode(u8 confMode); + + /** + * @brief Gets the number of game players + */ u32 getPlayerNum() const { return mPlayerNum; } private: - char unk8A0[0x968 - 0x8A0]; + /** + * @brief Audio manager flags + */ + enum { + EFlag_IsPause = 1 << 0, //!< Pause state was entered + EFlag_IsMenu = 1 << 1, //!< Menu state was entered + EFlag_IsDvdError = 1 << 2, //!< DVD error state was entered + }; + + /** + * @brief Audio manager state + */ + enum EState { + EState_Exited, //!< Needs configuration for the current scene + EState_Title, //!< Configured for a title scene + EState_MiniGame, //!< Configured for a minigame scene + EState_NoBgm, //!< Configured for a scene without BGM + }; + + //! Maximum file path length + static const u32 PATH_MAX = 128; + + //! Time to fadeout all sounds + static const u32 RETRY_FADE_TIME = 60; + //! Time to fade in when exiting the pause/HBM menu + static const u32 EXIT_FADE_TIME = 20; + + //! Time to clear audio bus effects + static const u32 MENU_FX_CLEAR_TIME = 15; + + //! Stream sound tickrate + static const u32 STREAM_TICKRATE = 60; + +private: + /** + * @brief Sets the specified bitflags + * + * @param flag Bitflags + */ + void setFlag(u8 flag) { + mFlags |= flag; + } + /** + * @brief Clears the specified bitflags + * + * @param flag Bitflags + */ + void clearFlag(u8 flag) { + mFlags &= static_cast(~flag); + } + /** + * @brief Tests whether the specified bitflags are set + * + * @param flag Bitflags + */ + bool testFlag(u8 flag) { + return mFlags & flag; + } + + /** + * @brief Gets the playtime of the specified fanfare sound effect, in + * milliseconds + * + * @param pName Fanfare sound effect name + */ + u32 getFanfareLength(const char* pName) { + if (std::strcmp("RP_COM_BGM_GET_COPPER", pName) == 0) { + return 1900; + } + if (std::strcmp("RP_COM_BGM_GET_SILVER", pName) == 0) { + return 3400; + } + if (std::strcmp("RP_COM_BGM_GET_GOLD", pName) == 0) { + return 3100; + } + if (std::strcmp("RP_COM_BGM_GET_PLATINA", pName) == 0) { + return 4900; + } + + if (std::strcmp("RP_COMMON_BGM_RANK_COMPLETE", pName) == 0) { + return 3300; + } + + if (std::strcmp("RP_PNP_BGM_FANFARE_WIN", pName) == 0) { + return 3000; + } + + if (std::strcmp("FANFARE_HomeRun", pName) == 0) { + return 1736; + } + if (std::strcmp("FANFARE_OutOfTheParkHomer", pName) == 0) { + return 2576; + } + + if (std::strcmp("FANFARE_Strike", pName) == 0) { + return 1760; + } + if (std::strcmp("FANFARE_SpareGet", pName) == 0) { + return 2192; + } + + // Assume it runs until the sound is detached + return 0xFFFFFFFF; + } + +private: + //! Sound archive file path + char mArchivePath[PATH_MAX]; // at 0x8A0 + + //! BGM sound handle + nw4r::snd::SoundHandle mHandleBgm; // at 0x920 + //! Stream sound handle + nw4r::snd::SoundHandle mHandleStream; // at 0x924 + //! System sound effect handle + nw4r::snd::SoundHandle mHandleSystemSe; // at 0x928 + //! Wave sound handle + nw4r::snd::SoundHandle mHandleWaveSound; // at 0x92C + //! Fanfare sound handle + nw4r::snd::SoundHandle mHandleFanfare; // at 0x930 + + //! Current sound heap level + s32 mSoundHeapLevel; // at 0x934 + //! Shutdown status + EShutDownStatus mShutDownStatusRP; // at 0x938 + + //! Audio manager flags + u8 mFlags; // at 0x93C + u32 unk940; + + //! Current stream sound tick + u32 mStreamPlayTick; // at 0x944 + u32 unk948; + + //! Sound archive volume + RPSndMoveValueF32 mArcVolume; // at 0x94C + + //! Number of game players u32 mPlayerNum; // at 0x968 + + //! Time until the audio system is reset + u32 mResetTimer; // at 0x96C + + //! Whether fanfare sounds are disabled + bool mIsDisableFanfare; // at 0x970 + + //! Static sound manager + RPSndStaticMgr mStaticMgr; // at 0x974 + + //! Whether a pause sound effect task is queued + bool mIsPauseSe; // at 0xF7C + //! Whether the pause sound effect should wait for the controller + bool mPauseSeWaitForDpd; // at 0xF7D + //! Whether a DVD error has just occurred + bool mIsNewDvdError; // at 0xF7E + //! Previous DPD enable state when the pause sound effect was requested + bool mPauseSePrevDpdEnable; // at 0xF7F + //! Remote speaker pause sound effect name + const char* mpPauseSeNameRemote; // at 0xF80 + //! TV speaker pause sound effect name + const char* mpPauseSeName; // at 0xF84 + + //! Fanfare start time + u32 mFanfareStart; // at 0xF88 + //! Pause sound effect player output line flags + u32 mPauseSePlayerFlag; // at 0xF8C + //! Pause sound effect channel + u32 mPauseSeChan; // at 0xF90 + //! Fanfare sound effect length, in milliseconds + u32 mFanfareLength; // at 0xF94 + + //! User-set fade time to use instead of the default + u32 mMenuPauseFrame; // at 0xF98 + //! Time until an exit fade in is triggered + u32 mMenuPauseFadeInTimer; // at 0xF9C + + //! Callback for re-configuring audio effects + SetFxCallback mpSetFxCallback; // at 0xFA0 + + //! BGM volume control + RPSndMoveParam* mpBgmVolume; // at 0xFA4 + + //! Audio system state + EState mState; // at 0xFA8 }; //! @} diff --git a/include/Pack/RPAudio/RPSndMoveParam.h b/include/Pack/RPAudio/RPSndMoveParam.h index b5522b52..d935565b 100644 --- a/include/Pack/RPAudio/RPSndMoveParam.h +++ b/include/Pack/RPAudio/RPSndMoveParam.h @@ -48,6 +48,20 @@ class RPSndMoveValueF32 { */ virtual bool update(); // at 0x8 + /** + * @brief Gets the number of remaining interpolation frames + */ + u32 getFrame() const { + return mFrame; + } + + /** + * @brief Accesses the current value + */ + f32 getValue() const { + return mValue; + } + protected: //! Interpolation callback Callback mpCallback; // at 0x4 @@ -139,7 +153,7 @@ class RPSndMoveParamMgr { /** * @brief Updates the state of all move parameters */ - void update(); + static void update(); private: //! List of all active move parameters diff --git a/include/Pack/RPAudio/RPSndObject.h b/include/Pack/RPAudio/RPSndObject.h index 41d8da20..1372a602 100644 --- a/include/Pack/RPAudio/RPSndObject.h +++ b/include/Pack/RPAudio/RPSndObject.h @@ -11,6 +11,8 @@ #include #include +#include + //! @addtogroup rp_audio //! @{ @@ -43,15 +45,23 @@ class RPSndAudioActorBase : public EGG::Disposer { virtual void setActorVolume(f32 volume, int frames) = 0; // at 0x1C virtual void update() = 0; // at 0x20 + static void initList() { + NW4R_UT_LIST_INIT(sActorList, RPSndAudioActorBase); + } + static nw4r::ut::List& getActorList() { return sActorList; } protected: - RPSndMoveValueF32 mVolume; // at 0x8 - bool mIsSilenced; // at 0x10 - UNKWORD WORD_0x14; // at 0x14 - char unk18[0x20 - 0x18]; + bool mIsSilenced; // at 0x10 + UNKWORD WORD_0x14; // at 0x14 + +public: + NW4R_UT_LIST_LINK_DECL(); // at 0x18 + +private: + RPSndMoveValueF32 mVolume; // at 0x20 private: static nw4r::ut::List sActorList; @@ -62,6 +72,7 @@ class RPSndAudioActorBase : public EGG::Disposer { * TRPSndAudioHandles * ******************************************************************************/ + template class TRPSndAudioHandles { public: TRPSndAudioHandles() { @@ -93,6 +104,7 @@ template class TRPSndAudioHandles { * TRPSndAudioActorBaseWithHandles * ******************************************************************************/ + template class TRPSndAudioActorBaseWithHandles : public RPSndAudioActorBase, public TRPSndAudioHandles { @@ -109,6 +121,7 @@ class TRPSndAudioActorBaseWithHandles : public RPSndAudioActorBase, * TRPSndAudio3DActor * ******************************************************************************/ + template class TRPSndAudio3DActor : public EGG::AudioSoundActorBaseWithCamera { public: @@ -131,6 +144,7 @@ class TRPSndAudio3DActor : public EGG::AudioSoundActorBaseWithCamera { * TRPSndObject * ******************************************************************************/ + template class TRPSndObject : public TRPSndAudio3DActor, public TRPSndAudioActorBaseWithHandles { @@ -186,6 +200,9 @@ class TRPSndObject : public TRPSndAudio3DActor, u32 mRemoteFlag; }; +//! Shorthand for default specialization +typedef TRPSndObject RPSndObject; + /****************************************************************************** * * RPSndObjMgr @@ -203,6 +220,23 @@ class RPSndObjMgr { * @param frames Fade out time */ static void stopAllActorSound(int frames); + + /** + * @brief Updates the state of all active sounds + */ + static void update() { + RPSndAudioActorBase* pIt = static_cast( + nw4r::ut::List_GetFirst(&RPSndAudioActorBase::sActorList)); + + for (; pIt != NULL; + pIt = static_cast(nw4r::ut::List_GetNext( + &RPSndAudioActorBase::sActorList, pIt))) { + + if (pIt->mVolume.getFrame() > 0) { + pIt->update(); + } + } + } }; //! @} diff --git a/include/Pack/RPAudio/archive/rp_Bil_sound.h b/include/Pack/RPAudio/archive/rp_Bil_sound.h new file mode 100644 index 00000000..6bbcd80c --- /dev/null +++ b/include/Pack/RPAudio/archive/rp_Bil_sound.h @@ -0,0 +1,122 @@ +#ifndef RP_AUDIO_RP_BIL_SOUND_H +#define RP_AUDIO_RP_BIL_SOUND_H + +//! @addtogroup rp_audio +//! @{ + +//! @file +//! @brief Sound IDs for the RPBilScene sound archive + +//! @} + +enum { + /* 0x00 */ RP_BIL_SE_KANSEI_END, + /* 0x01 */ RP_BIL_SE_CUE_FIX, + /* 0x02 */ RP_BIL_SE_CUE_CLEAR, + /* 0x03 */ RP_BIL_SE_WINDOWCHANGE, + /* 0x04 */ RP_BIL_SE_WINDOWCHANGE_R, + /* 0x05 */ RP_BIL_SE_TURN_DECIDE, + /* 0x06 */ RP_BIL_SE_CAL_TABLE, + /* 0x07 */ RP_BIL_SE_CAL_TABLEWALL, + /* 0x08 */ RP_BIL_SE_CAL_BALL, + /* 0x09 */ RP_BIL_SE_CAL_BALL2, + /* 0x0A */ RP_BIL_SE_CAL_BALL3, + /* 0x0B */ RP_BIL_SE_CAL_CUE01, + /* 0x0C */ RP_BIL_SE_CAL_CUE02, + /* 0x0D */ RP_BIL_SE_CAL_CUE03, + /* 0x0E */ RP_BIL_SE_POCKET01, + /* 0x0F */ RP_BIL_SE_POCKET02, + /* 0x10 */ RP_BIL_SE_BALLROLL, + /* 0x11 */ RP_BIL_SE_MISCUE, + /* 0x12 */ RP_BIL_SE_CAMERA, + /* 0x13 */ RP_BIL_SE_BALL_ROLL, + /* 0x14 */ RP_BIL_SE_BALL_FRIC, + /* 0x15 */ RP_BIL_SE_IMAGEBALL, + /* 0x16 */ RP_BIL_SE_BALL_ROLL2, + /* 0x17 */ RP_BIL_SE_BALL_FRIC2, + /* 0x18 */ RP_BIL_SE_BALL_PLACE, + /* 0x19 */ RP_BIL_SE_SPIN, + /* 0x1A */ RP_BIL_SE_PLAYERCHANGE, + /* 0x1B */ RP_BIL_SE_PLAYERCHANGE2, + /* 0x1C */ RP_BIL_NONE_SOUND, + /* 0x1D */ RP_BIL_SE_CAL_CONSPK_CUE01, + /* 0x1E */ RP_BIL_SE_CAL_CONSPK_CUE02, + /* 0x1F */ RP_BIL_SE_CAL_CONSPK_CUE03, + /* 0x20 */ RP_BIL_SE_BALL_FALL_FLOOR_0, + /* 0x21 */ RP_BIL_SE_BALL_FALL_FLOOR, + /* 0x22 */ RP_BIL_SE_PLAYERCHANGE_1P, + /* 0x23 */ RP_BIL_SE_PLAYERCHANGE_2P, + /* 0x24 */ RP_BIL_SE_GET_BALL_IN, + /* 0x25 */ RP_BIL_SE_GET_BALL_OUT, + /* 0x26 */ RP_BIL_SE_KANSEI01, + /* 0x27 */ RP_BIL_SE_KANSEI02, + /* 0x28 */ RP_BIL_SE_KANSEI03, + /* 0x29 */ RP_BIL_SE_BOOING, + /* 0x2A */ RP_COM_GAME_PARTY_SE_A_01_CTSP, + /* 0x2B */ RP_COM_GAME_PARTY_SE_A_01_TVSP, + /* 0x2C */ RP_COM_GAME_PARTY_SE_A_01, + /* 0x2D */ RP_COM_GAME_PARTY_SE_Cursor_01, + /* 0x2E */ RP_COM_GAME_PARTY_SE_LANK_01, + /* 0x2F */ RP_COM_GAME_PARTY_SE_Win_Open_01, + /* 0x30 */ RP_COM_GAME_PARTY_SE_Win_Close_01, + /* 0x31 */ RP_COM_GAME_PARTY_SE_COUNT_TIME_01, + /* 0x32 */ RP_COM_GAME_PARTY_SE_COUNT_TIME_02, + /* 0x33 */ RP_COM_GAME_PARTY_SE_COUNT_TIME_03, + /* 0x34 */ RP_COM_GAME_PARTY_SE_COUNT_TIME_x_01, + /* 0x35 */ RP_COM_GAME_PARTY_SE_COUNT_01, + /* 0x36 */ RP_COM_GAME_PARTY_SE_COUNT_02, + /* 0x37 */ RP_COM_GAME_PARTY_SE_RESULT_KEY_A_01_CTSP, + /* 0x38 */ RP_COM_GAME_PARTY_SE_RESULT_KEY_A_01_TVSP, + /* 0x39 */ RP_COM_GAME_PARTY_SE_RESULT_KEY_A_01, + /* 0x3A */ RP_COM_GAME_PARTY_SE_RESULT_KEY_A_02_CTSP, + /* 0x3B */ RP_COM_GAME_PARTY_SE_RESULT_KEY_A_02_TVSP, + /* 0x3C */ RP_COM_GAME_PARTY_SE_RESULT_KEY_A_02, + /* 0x3D */ RP_COM_GAME_PARTY_SE_BUTTON_03, + /* 0x3E */ RP_COM_GAME_PARTY_SE_BUTTON_05, + /* 0x3F */ RP_COM_GAME_SE_PAUSE_KEY_A_01_CTSP, + /* 0x40 */ RP_COM_GAME_SE_PAUSE_KEY_A_01_TVSP, + /* 0x41 */ RP_COM_GAME_SE_PAUSE_KEY_A_01, + /* 0x42 */ RP_COM_GAME_SE_PAUSE_KEY_A_02_CTSP, + /* 0x43 */ RP_COM_GAME_SE_PAUSE_KEY_A_02_TVSP, + /* 0x44 */ RP_COM_GAME_SE_PAUSE_KEY_A_02, + /* 0x45 */ RP_COM_GAME_SE_PAUSE_KEY_A_03_CTSP, + /* 0x46 */ RP_COM_GAME_SE_PAUSE_KEY_A_03_TVSP, + /* 0x47 */ RP_COM_GAME_SE_PAUSE_KEY_A_03, + /* 0x48 */ RP_COM_GAME_SE_PAUSE_Cursor_01, + /* 0x49 */ RP_COM_GAME_SE_2P_WIN_LOSE_01, + /* 0x4A */ RP_COM_GAME_SE_PAUSE_01_CTSP, + /* 0x4B */ RP_COM_GAME_SE_PAUSE_01_TVSP, + /* 0x4C */ RP_COM_GAME_SE_PAUSE_01, + /* 0x4D */ RP_BIL_BGM_BOLLIN, + /* 0x4E */ RP_BIL_BGM_PLAY, + /* 0x4F */ RP_BIL_DRFIL_1IN_BGM, + /* 0x50 */ RP_BIL_DRFIL_2IN_BGM, + /* 0x51 */ RP_BIL_DRFIL_3IN_BGM, + /* 0x52 */ RP_BIL_DRFIL_4IN_BGM, + /* 0x53 */ RP_BIL_DRFIL_4IN_HITACC, + /* 0x54 */ RP_BIL_DRFIL_3IN_HITACC, + /* 0x55 */ RP_BIL_DRFIL_2IN_HITACC, + /* 0x56 */ RP_BIL_DRFIL_1IN_HITACC, + /* 0x57 */ RP_BIL_DRFIL_4IN_ZOOMFIL, + /* 0x58 */ RP_BIL_DRFIL_3IN_ZOOMFIL, + /* 0x59 */ RP_BIL_DRFIL_2IN_ZOOMFIL, + /* 0x5A */ RP_BIL_DRFIL_1IN_ZOOMFIL, + /* 0x5B */ RP_BIL_DRFIL_ENDFIL, + /* 0x5C */ RP_COM_BGM_GET_COPPER, + /* 0x5D */ RP_COM_BGM_GET_SILVER, + /* 0x5E */ RP_COM_BGM_GET_GOLD, + /* 0x5F */ RP_COM_BGM_GET_PLATINA, + /* 0x60 */ RP_COM_BGM_RENEW_RECORD2, + /* 0x61 */ RP_COM_BGM_RENEW_RECORD, + /* 0x62 */ RP_COMMON_SE_MESS_10, + /* 0x63 */ RP_COMMON_SE_MESS_20, + /* 0x64 */ RP_COMMON_SE_KEY_A_04_CTSP, + /* 0x65 */ RP_COMMON_SE_KEY_A_04_TVSP, + /* 0x66 */ RP_COMMON_SE_KEY_A_04, + /* 0x67 */ RP_COMMON_SE_KEY_BACK_01_CTSP, + /* 0x68 */ RP_COMMON_SE_KEY_BACK_01_TVSP, + /* 0x69 */ RP_COMMON_SE_KEY_BACK_01, + /* 0x6A */ RP_COMMON_SE_KEY_CURSOR_01 +}; + +#endif diff --git a/include/Pack/RPAudio/archive/rp_Bom_sound.h b/include/Pack/RPAudio/archive/rp_Bom_sound.h new file mode 100644 index 00000000..5434ea57 --- /dev/null +++ b/include/Pack/RPAudio/archive/rp_Bom_sound.h @@ -0,0 +1,104 @@ +#ifndef RP_AUDIO_RP_BOM_SOUND_H +#define RP_AUDIO_RP_BOM_SOUND_H + +//! @addtogroup rp_audio +//! @{ + +//! @file +//! @brief Sound IDs for the RPBomScene sound archive + +//! @} + +enum { + /* 0x00 */ RP_BOM_SE_COIN_BREED, + /* 0x01 */ RP_BOM_SE_NG_01, + /* 0x02 */ RP_BOM_SE_CHANGE_POSE, + /* 0x03 */ RP_BOM_SE_CHANGE_PICTURE, + /* 0x04 */ RP_BOM_SE_GENTEN_1, + /* 0x05 */ RP_BOM_SE_GENTEN_2, + /* 0x06 */ RP_BOM_SE_FALL, + /* 0x07 */ RP_BOM_SE_KAGIANA, + /* 0x08 */ RP_BOM_SE_KAGIANA_X2, + /* 0x09 */ RP_BOM_SE_KAGIANA_SP, + /* 0x0A */ RP_BOM_SE_BOMB_MIS, + /* 0x0B */ RP_BOM_SE_BOMB_OK, + /* 0x0C */ RP_BOM_SE_COIN, + /* 0x0D */ RP_BOM_SE_TOGE, + /* 0x0E */ RP_BOM_SE_JITABATA, + /* 0x0F */ RP_BOM_SE_AWA_BREED, + /* 0x10 */ RP_BOM_SE_METRO, + /* 0x11 */ RP_BOM_SE_GENKIRE_01, + /* 0x12 */ RP_BOM_SE_GENKIRE_02, + /* 0x13 */ RP_BOM_SE_GENKIRE_03, + /* 0x14 */ RP_BOM_SE_KASAN_1, + /* 0x15 */ RP_BOM_SE_KASAN_2, + /* 0x16 */ RP_BOM_SE_GEN_FALL_1, + /* 0x17 */ RP_BOM_SE_GEN_FALL_2, + /* 0x18 */ RP_BOM_SE_GEN_FALL_3, + /* 0x19 */ RP_BOM_SE_BONUS_WINDOW, + /* 0x1A */ RP_BOM_SE_BONUS_TOKUTEN, + /* 0x1B */ RP_BOM_SE_AWA_HAJIKE, + /* 0x1C */ RP_BOM_SE_AWA_HAJIKE_SP, + /* 0x1D */ RP_BOM_BGM_MISS1, + /* 0x1E */ RP_BOM_BGM_MISS2, + /* 0x1F */ RP_BOM_BGM_RESULT_GOOD, + /* 0x20 */ RP_BOM_BGM_RESULT_BAD, + /* 0x21 */ RP_BOM_BGM_INTRO, + /* 0x22 */ RP_BOM_BGM_PLAY, + /* 0x23 */ RP_BOM_BGM_REST, + /* 0x24 */ RP_BOM_BGM_FANFARE, + /* 0x25 */ RP_BOM_BGM_FANFARE_REST, + /* 0x26 */ RP_BOM_BGM_COMP, + /* 0x27 */ RP_COM_GAME_PARTY_SE_A_01_CTSP, + /* 0x28 */ RP_COM_GAME_PARTY_SE_A_01_TVSP, + /* 0x29 */ RP_COM_GAME_PARTY_SE_A_01, + /* 0x2A */ RP_COM_GAME_PARTY_SE_Cursor_01, + /* 0x2B */ RP_COM_GAME_PARTY_SE_LANK_01, + /* 0x2C */ RP_COM_GAME_PARTY_SE_Win_Open_01, + /* 0x2D */ RP_COM_GAME_PARTY_SE_Win_Close_01, + /* 0x2E */ RP_COM_GAME_PARTY_SE_COUNT_TIME_01, + /* 0x2F */ RP_COM_GAME_PARTY_SE_COUNT_TIME_02, + /* 0x30 */ RP_COM_GAME_PARTY_SE_COUNT_TIME_03, + /* 0x31 */ RP_COM_GAME_PARTY_SE_COUNT_TIME_x_01, + /* 0x32 */ RP_COM_GAME_PARTY_SE_COUNT_01, + /* 0x33 */ RP_COM_GAME_PARTY_SE_COUNT_02, + /* 0x34 */ RP_COM_GAME_PARTY_SE_RESULT_KEY_A_01_CTSP, + /* 0x35 */ RP_COM_GAME_PARTY_SE_RESULT_KEY_A_01_TVSP, + /* 0x36 */ RP_COM_GAME_PARTY_SE_RESULT_KEY_A_01, + /* 0x37 */ RP_COM_GAME_PARTY_SE_RESULT_KEY_A_02_CTSP, + /* 0x38 */ RP_COM_GAME_PARTY_SE_RESULT_KEY_A_02_TVSP, + /* 0x39 */ RP_COM_GAME_PARTY_SE_RESULT_KEY_A_02, + /* 0x3A */ RP_COM_GAME_PARTY_SE_BUTTON_03, + /* 0x3B */ RP_COM_GAME_PARTY_SE_BUTTON_05, + /* 0x3C */ RP_COM_GAME_SE_PAUSE_KEY_A_01_CTSP, + /* 0x3D */ RP_COM_GAME_SE_PAUSE_KEY_A_01_TVSP, + /* 0x3E */ RP_COM_GAME_SE_PAUSE_KEY_A_01, + /* 0x3F */ RP_COM_GAME_SE_PAUSE_KEY_A_02_CTSP, + /* 0x40 */ RP_COM_GAME_SE_PAUSE_KEY_A_02_TVSP, + /* 0x41 */ RP_COM_GAME_SE_PAUSE_KEY_A_02, + /* 0x42 */ RP_COM_GAME_SE_PAUSE_KEY_A_03_CTSP, + /* 0x43 */ RP_COM_GAME_SE_PAUSE_KEY_A_03_TVSP, + /* 0x44 */ RP_COM_GAME_SE_PAUSE_KEY_A_03, + /* 0x45 */ RP_COM_GAME_SE_PAUSE_Cursor_01, + /* 0x46 */ RP_COM_GAME_SE_2P_WIN_LOSE_01, + /* 0x47 */ RP_COM_GAME_SE_PAUSE_01_CTSP, + /* 0x48 */ RP_COM_GAME_SE_PAUSE_01_TVSP, + /* 0x49 */ RP_COM_GAME_SE_PAUSE_01, + /* 0x4A */ RP_COM_BGM_GET_COPPER, + /* 0x4B */ RP_COM_BGM_GET_SILVER, + /* 0x4C */ RP_COM_BGM_GET_GOLD, + /* 0x4D */ RP_COM_BGM_GET_PLATINA, + /* 0x4E */ RP_COM_BGM_RENEW_RECORD2, + /* 0x4F */ RP_COM_BGM_RENEW_RECORD, + /* 0x50 */ RP_COMMON_SE_MESS_10, + /* 0x51 */ RP_COMMON_SE_MESS_20, + /* 0x52 */ RP_COMMON_SE_KEY_A_04_CTSP, + /* 0x53 */ RP_COMMON_SE_KEY_A_04_TVSP, + /* 0x54 */ RP_COMMON_SE_KEY_A_04, + /* 0x55 */ RP_COMMON_SE_KEY_BACK_01_CTSP, + /* 0x56 */ RP_COMMON_SE_KEY_BACK_01_TVSP, + /* 0x57 */ RP_COMMON_SE_KEY_BACK_01, + /* 0x58 */ RP_COMMON_SE_KEY_CURSOR_01 +}; + +#endif diff --git a/include/Pack/RPAudio/archive/rp_Bow_sound.h b/include/Pack/RPAudio/archive/rp_Bow_sound.h new file mode 100644 index 00000000..adc519da --- /dev/null +++ b/include/Pack/RPAudio/archive/rp_Bow_sound.h @@ -0,0 +1,174 @@ +#ifndef RP_AUDIO_RP_BOW_SOUND_H +#define RP_AUDIO_RP_BOW_SOUND_H + +//! @addtogroup rp_audio +//! @{ + +//! @file +//! @brief Sound IDs for the RPBowScene sound archive + +//! @} + +enum { + /* 0x00 */ SE_TR_Training_Kabeyoke_Replay_WallEffect, + /* 0x01 */ SE_TR_HitFloor, + /* 0x02 */ SE_TR_HitFloor_TVSP, + /* 0x03 */ SE_TR_Release, + /* 0x04 */ SE_TR_Release_TVSP, + /* 0x05 */ SE_LV_StandingPositionAdj, + /* 0x06 */ SE_LV_StandingPositionAdj_TVSP, + /* 0x07 */ SE_LV_ThrowAngleAdj, + /* 0x08 */ SE_LV_ThrowAngleAdj_TVSP, + /* 0x09 */ SE_TR_PushB_forThrow, + /* 0x0A */ SE_TR_PushB_forThrow_TVSP, + /* 0x0B */ SE_TR_AdjModeChange, + /* 0x0C */ SE_TR_AdjModeChange_TVSP, + /* 0x0D */ SE_TR_CameraYoru, + /* 0x0E */ SE_TR_CameraYoru_TVSP, + /* 0x0F */ SE_TR_CameraHiku, + /* 0x10 */ SE_TR_CameraHiku_TVSP, + /* 0x11 */ SE_LV_BowlRoll, + /* 0x12 */ SE_LV_BowlRoll_NPC, + /* 0x13 */ SE_LV_BowlRollGutter, + /* 0x14 */ SE_LV_BowlRollGutter_NPC, + /* 0x15 */ SE_TR_BowlHitPin1, + /* 0x16 */ SE_TR_BowlHitPin1_NPC, + /* 0x17 */ SE_TR_BowlHitPin2, + /* 0x18 */ SE_TR_BowlHitPin2_NPC, + /* 0x19 */ SE_TR_PinHitPin1, + /* 0x1A */ SE_TR_PinHitPin1_NPC, + /* 0x1B */ SE_TR_PinHitFloor1, + /* 0x1C */ SE_TR_PinHitFloor1_NPC, + /* 0x1D */ SE_TR_PinHitFloor2, + /* 0x1E */ SE_TR_BowlHitWallFast, + /* 0x1F */ SE_TR_BowlHitWallFast_NPC, + /* 0x20 */ SE_TR_BowlHitWallSlow, + /* 0x21 */ SE_TR_BowlHitWallSlow_NPC, + /* 0x22 */ SE_TR_GutterFall, + /* 0x23 */ SE_TR_bow_walk1, + /* 0x24 */ SE_TR_bow_walk2, + /* 0x25 */ SE_TR_bow_walk3, + /* 0x26 */ SE_TR_bow_walk4, + /* 0x27 */ SE_TR_CrushGate, + /* 0x28 */ SE_TR_LaneGapHit, + /* 0x29 */ SE_TR_KeyError, + /* 0x2A */ SE_TR_KeyError_TVSP, + /* 0x2B */ SE_TR_Training_Miss, + /* 0x2C */ SE_TR_Training_Nagitaoshi_HitWall, + /* 0x2D */ SE_TR_Training_Nagitaoshi_YamiSwOn, + /* 0x2E */ SE_TR_PinScoreDisp, + /* 0x2F */ SE_TR_Kansei_Strike, + /* 0x30 */ SE_TR_Kansei_spare, + /* 0x31 */ SE_TR_Kansei_9_X, + /* 0x32 */ SE_TR_Kansei_X_1, + /* 0x33 */ SE_TR_Kansei_split, + /* 0x34 */ SE_TR_Kansei_gutter, + /* 0x35 */ SE_TR_Kansei_no_spare_any_pin, + /* 0x36 */ SE_TR_Kansei_no_spare_but_get1over, + /* 0x37 */ SE_TR_KanseiWaraigoe, + /* 0x38 */ SE_TR_Kansei_Bikkuri, + /* 0x39 */ SE_LV_Kansei_Base, + /* 0x3A */ SE_LV_TrialEnvSE, + /* 0x3B */ SE_LV_NagitaoshiEnvSE, + /* 0x3C */ SE_LV_GateChallengeEnvSE, + /* 0x3D */ SE_LV_Kansei_Base_BackView, + /* 0x3E */ BGM_Env, + /* 0x3F */ BGM_GameScoreDisp, + /* 0x40 */ BGM_TrainingResultDisp, + /* 0x41 */ BGM_Training_Gatetoshi, + /* 0x42 */ BGM_Training_Nagitaoshi, + /* 0x43 */ BGM_Training_Spareget, + /* 0x44 */ FANFARE_Strike, + /* 0x45 */ FANFARE_SpareGet, + /* 0x46 */ FANFARE_Training_SpareGet, + /* 0x47 */ FANFARE_Training_Nagitaoshi, + /* 0x48 */ FANFARE_Training_Kabeyoke, + /* 0x49 */ BGM_Close, + /* 0x4A */ BGM_CoursePresentationDemo_WS, + /* 0x4B */ VOICE_TR_NiceThrow, + /* 0x4C */ VOICE_TR_NiceCover, + /* 0x4D */ VOICE_TR_GreatShot, + /* 0x4E */ VOICE_TR_Perfect, + /* 0x4F */ VOICE_TR_ChallengeCleard, + /* 0x50 */ VOICE_TR_NiceThrow_NPC, + /* 0x51 */ VOICE_TR_NiceCover_NPC, + /* 0x52 */ VOICE_TR_GreatShot_NPC, + /* 0x53 */ VOICE_TR_NiceThrowTraining, + /* 0x54 */ VOICE_TR_NiceStrike_MainLaneNPC, + /* 0x55 */ VOICE_TR_NiceSpare_MainLaneNPC, + /* 0x56 */ RP_COM_GAME_SE_PAUSE_01_CTSP, + /* 0x57 */ RP_COM_GAME_SE_PAUSE_01_TVSP, + /* 0x58 */ RP_COM_GAME_SE_PAUSE_01, + /* 0x59 */ FANFARE_GameSet, + /* 0x5A */ FANFARE_GameSet_Win, + /* 0x5B */ FANFARE_GameSet_Lose, + /* 0x5C */ FANFARE_GameSet_Tie, + /* 0x5D */ SE_TR_Common_KeikokuForDebug, + /* 0x5E */ SE_TR_Common_Sports_Cursol, + /* 0x5F */ SE_TR_Common_Sports_Decide, + /* 0x60 */ SE_TR_Common_Sports_Decide_TVSP, + /* 0x61 */ SE_TR_Common_Sports_DecideBig, + /* 0x62 */ SE_TR_Common_Sports_DecideBig_TVSP, + /* 0x63 */ SE_TR_Common_Sports_DemoSkipButton, + /* 0x64 */ SE_TR_Common_Sports_DemoSkipButton_TVSP, + /* 0x65 */ SE_TR_Common_Sports_Cancel, + /* 0x66 */ SE_TR_Common_Sports_Cancel_TVSP, + /* 0x67 */ SE_TR_Common_Sports_Wipe, + /* 0x68 */ SE_TR_Common_Jyunban, + /* 0x69 */ SE_TR_Common_Jyunban_TVSP, + /* 0x6A */ SE_TR_Common_Medal_Platinum, + /* 0x6B */ SE_TR_Common_Medal_Gold, + /* 0x6C */ SE_TR_Common_Medal_Silver, + /* 0x6D */ SE_TR_Common_Medal_Copper, + /* 0x6E */ SE_TR_Common_Sports_Game_Start, + /* 0x6F */ SE_TR_Common_Sports_Game_End, + /* 0x70 */ SE_TR_Common_Sports_MyBestRecord, + /* 0x71 */ SE_TR_Common_Sports_KanseiRecord, + /* 0x72 */ SE_TR_Common_Sports_Training_Good, + /* 0x73 */ SE_TR_Common_Sports_Training_GoodLong, + /* 0x74 */ SE_TR_Common_Sports_Training_VeryGoodLong, + /* 0x75 */ SE_TR_Common_Sports_Training_GoodLongSoft, + /* 0x76 */ SE_TR_Common_Sports_Training_NotGood, + /* 0x77 */ RP_COM_GAME_SE_PAUSE_KEY_A_02_CTSP, + /* 0x78 */ RP_COM_GAME_SE_PAUSE_KEY_A_02_TVSP, + /* 0x79 */ RP_COM_GAME_SE_PAUSE_KEY_A_02, + /* 0x7A */ RP_COM_GAME_SE_PAUSE_KEY_A_03_CTSP, + /* 0x7B */ RP_COM_GAME_SE_PAUSE_KEY_A_03_TVSP, + /* 0x7C */ RP_COM_GAME_SE_PAUSE_KEY_A_03, + /* 0x7D */ RP_COM_GAME_SE_PAUSE_Cursor_01, + /* 0x7E */ SE_LV_Common_click_CTSP, + /* 0x7F */ SE_LV_Common_click_TVSP, + /* 0x80 */ SE_TR_Common_ModeChange_CTSP, + /* 0x81 */ SE_TR_Common_ModeChange_TVSP, + /* 0x82 */ SE_TR_Common_KeyError_CTSP, + /* 0x83 */ SE_TR_Common_KeyError_TVSP, + /* 0x84 */ RP_COMMON_SE_KEY_CURSOR_01, + /* 0x85 */ RP_COMMON_SE_KEY_BACK_01_CTSP, + /* 0x86 */ RP_COMMON_SE_KEY_BACK_01_TVSP, + /* 0x87 */ SE_TR_COMMON_win_OPEN, + /* 0x88 */ SE_TR_COMMON_win_CLOSE, + /* 0x89 */ SE_TR_COMMON_Jyukurendo_ScoreFlash, + /* 0x8A */ SE_TR_COMMON_Jyukurendo_NameFlash, + /* 0x8B */ SE_TR_COMMON_Jyukurendo_NameSmoke, + /* 0x8C */ SE_TR_COMMON_Push_AB_CTSP, + /* 0x8D */ SE_TR_COMMON_Push_AB_TVSP, + /* 0x8E */ VOICE_TR_Common_BronzeMedal, + /* 0x8F */ VOICE_TR_Common_SilverMedal, + /* 0x90 */ VOICE_TR_Common_GoldMedal, + /* 0x91 */ VOICE_TR_Common_PlatinumMedal, + /* 0x92 */ VOICE_TR_Common_HighScore, + /* 0x93 */ STRM_Training_Result01, + /* 0x94 */ STRM_Training_Result02, + /* 0x95 */ STRM_Training_Result03, + /* 0x96 */ Bgm_Tutorial, + /* 0x97 */ RP_COMMON_SE_MESS_10, + /* 0x98 */ RP_COMMON_SE_MESS_20, + /* 0x99 */ RP_COMMON_SE_KEY_A_04_CTSP, + /* 0x9A */ RP_COMMON_SE_KEY_A_04_TVSP, + /* 0x9B */ RP_COMMON_SE_KEY_A_04, + /* 0x9C */ RP_COM_GAME_SE_PAUSE_KEY_A_01_CTSP, + /* 0x9D */ RP_COM_GAME_SE_PAUSE_KEY_A_01_TVSP, + /* 0x9E */ RP_COM_GAME_SE_PAUSE_KEY_A_01 +}; + +#endif diff --git a/include/Pack/RPAudio/archive/rp_Box_sound.h b/include/Pack/RPAudio/archive/rp_Box_sound.h new file mode 100644 index 00000000..2b0750eb --- /dev/null +++ b/include/Pack/RPAudio/archive/rp_Box_sound.h @@ -0,0 +1,281 @@ +#ifndef RP_AUDIO_RP_BOX_SOUND_H +#define RP_AUDIO_RP_BOX_SOUND_H + +//! @addtogroup rp_audio +//! @{ + +//! @file +//! @brief Sound IDs for the RPBoxScene sound archive + +//! @} + +enum { + /* 0x000 */ SE_TR_punch_jab, + /* 0x001 */ SE_TR_punch_jab_TVSP, + /* 0x002 */ SE_TR_punch_straight, + /* 0x003 */ SE_TR_punch_straight_TVSP, + /* 0x004 */ SE_TR_punch_hook, + /* 0x005 */ SE_TR_punch_hook_TVSP, + /* 0x006 */ SE_TR_punch_upper, + /* 0x007 */ SE_TR_punch_upper_TVSP, + /* 0x008 */ SE_TR_HitPunchGuard, + /* 0x009 */ SE_TR_HitPunchGuard_TVSP, + /* 0x00A */ SE_TR_HitPunchSmall, + /* 0x00B */ SE_TR_HitPunchSmall_TVSP, + /* 0x00C */ SE_TR_HitPunchMid, + /* 0x00D */ SE_TR_HitPunchMid_TVSP, + /* 0x00E */ SE_TR_HitPunchBig, + /* 0x00F */ SE_TR_HitPunchBig_TVSP, + /* 0x010 */ SE_TR_HitPunchCounter, + /* 0x011 */ SE_TR_HitPunchCounter_TVSP, + /* 0x012 */ SE_TR_HitBody, + /* 0x013 */ SE_TR_HitBody_TVSP, + /* 0x014 */ SE_TR_Slow_punch_jab, + /* 0x015 */ SE_TR_Slow_punch_jab_TVSP, + /* 0x016 */ SE_TR_Slow_punch_straight, + /* 0x017 */ SE_TR_Slow_punch_straight_TVSP, + /* 0x018 */ SE_TR_Slow_punch_hook, + /* 0x019 */ SE_TR_Slow_punch_hook_TVSP, + /* 0x01A */ SE_TR_Slow_punch_upper, + /* 0x01B */ SE_TR_Slow_punch_upper_TVSP, + /* 0x01C */ SE_TR_Slow_HitPunchGuard, + /* 0x01D */ SE_TR_Slow_HitPunchGuard_TVSP, + /* 0x01E */ SE_TR_Slow_HitPunchSmall, + /* 0x01F */ SE_TR_Slow_HitPunchSmall_TVSP, + /* 0x020 */ SE_TR_Slow_HitPunchMid, + /* 0x021 */ SE_TR_Slow_HitPunchMid_TVSP, + /* 0x022 */ SE_TR_Slow_HitPunchBig, + /* 0x023 */ SE_TR_Slow_HitPunchBig_TVSP, + /* 0x024 */ SE_TR_Slow_HitPunchCounter, + /* 0x025 */ SE_TR_Slow_HitPunchCounter_TVSP, + /* 0x026 */ SE_TR_Slow_HitBody, + /* 0x027 */ SE_TR_Slow_HitBody_TVSP, + /* 0x028 */ SE_TR_body_move, + /* 0x029 */ SE_TR_body_move_TVSP, + /* 0x02A */ SE_TR_weave_swey, + /* 0x02B */ SE_TR_weave_swey_TVSP, + /* 0x02C */ SE_TR_Training_Sparring_open_mitt_punch, + /* 0x02D */ SE_TR_Training_Sparring_open_mitt_punch_TVSP, + /* 0x02E */ SE_TR_Training_Sparring_close_mitt_punch, + /* 0x02F */ SE_TR_Training_Sparring_close_mitt_punch_TVSP, + /* 0x030 */ SE_TR_Training_Sparring_trainer_hit_punch, + /* 0x031 */ SE_TR_Training_Sparring_trainer_hit_punch_TVSP, + /* 0x032 */ SE_TR_Training_Tamayoke_hit_pinpon, + /* 0x033 */ SE_TR_Training_Tamayoke_hit_pinpon_TVSP, + /* 0x034 */ SE_TR_Training_Tamayoke_hit_tennis_ball, + /* 0x035 */ SE_TR_Training_Tamayoke_hit_tennis_ball_TVSP, + /* 0x036 */ SE_TR_Training_Tamayoke_hit_baseball_ball, + /* 0x037 */ SE_TR_Training_Tamayoke_hit_baseball_ball_TVSP, + /* 0x038 */ SE_TR_Training_Tamayoke_hit_golf_ball, + /* 0x039 */ SE_TR_Training_Tamayoke_hit_golf_ball_TVSP, + /* 0x03A */ SE_TR_Training_Tamayoke_hit_bowling_ball, + /* 0x03B */ SE_TR_Training_Tamayoke_hit_bowling_ball_TVSP, + /* 0x03C */ SE_TR_Training_SandBag_punch_sandbag, + /* 0x03D */ SE_TR_Training_SandBag_punch_sandbag_TVSP, + /* 0x03E */ SE_TR_Training_SandBag_futtobu_sandbag, + /* 0x03F */ SE_TR_Training_SandBag_futtobu_sandbag_TVSP, + /* 0x040 */ SE_TR_down_mat, + /* 0x041 */ SE_TR_down_mat_TVSP, + /* 0x042 */ SE_TR_Gong1Shot, + /* 0x043 */ SE_TR_GongKO, + /* 0x044 */ SE_TR_WalkMat1, + /* 0x045 */ SE_TR_WalkMat2, + /* 0x046 */ SE_TR_WalkMat3, + /* 0x047 */ SE_TR_WalkMat4, + /* 0x048 */ SE_TR_WalkRoom1, + /* 0x049 */ SE_TR_WalkRoom2, + /* 0x04A */ SE_TR_WalkRoom3, + /* 0x04B */ SE_TR_WalkRoom4, + /* 0x04C */ SE_TR_Training_Tamayoke_trainer_throw, + /* 0x04D */ SE_TR_Training_Tamayoke_ok, + /* 0x04E */ SE_TR_Training_SandBag_down_sandbag, + /* 0x04F */ SE_TR_Training_SandBag_up_sandbag, + /* 0x050 */ SE_TR_HanteiKekkaHyouji, + /* 0x051 */ SE_TR_SandBagHitWall, + /* 0x052 */ SE_TR_SandBagHitFloor, + /* 0x053 */ SE_TR_Tired_BOY, + /* 0x054 */ SE_TR_Tired_BOY_TVSP, + /* 0x055 */ SE_TR_Tired_GAL, + /* 0x056 */ SE_TR_Tired_GAL_TVSP, + /* 0x057 */ SE_TR_Training_punch_jab, + /* 0x058 */ SE_TR_Training_punch_jab_TVSP, + /* 0x059 */ SE_TR_Training_punch_straight, + /* 0x05A */ SE_TR_Training_punch_straight_TVSP, + /* 0x05B */ SE_TR_Training_punch_hook, + /* 0x05C */ SE_TR_Training_punch_hook_TVSP, + /* 0x05D */ SE_TR_Training_punch_upper, + /* 0x05E */ SE_TR_Training_punch_upper_TVSP, + /* 0x05F */ SE_TR_Training_HitPunchSmall, + /* 0x060 */ SE_TR_Training_HitPunchSmall_TVSP, + /* 0x061 */ SE_TR_Training_HitPunchMid, + /* 0x062 */ SE_TR_Training_HitPunchMid_TVSP, + /* 0x063 */ SE_TR_Training_HitPunchBig, + /* 0x064 */ SE_TR_Training_HitPunchBig_TVSP, + /* 0x065 */ SE_TR_Training_HitBody, + /* 0x066 */ SE_TR_Training_HitBody_TVSP, + /* 0x067 */ SE_TR_Training_CountDown, + /* 0x068 */ SE_TR_DamageMeter_L, + /* 0x069 */ SE_TR_DamageMeter_R, + /* 0x06A */ SE_TR_DamageMeter_C, + /* 0x06B */ SE_TR_DamageMeter_L_Me, + /* 0x06C */ SE_TR_DamageMeter_R_Me, + /* 0x06D */ SE_TR_DamageMeter_C_Me, + /* 0x06E */ SE_TR_DamageMeter_Recover_L, + /* 0x06F */ SE_TR_DamageMeter_Recover_R, + /* 0x070 */ SE_TR_DamageMeter_Recover_C, + /* 0x071 */ SE_TR_parrying_wait, + /* 0x072 */ SE_TR_parrying_ok, + /* 0x073 */ SE_TR_parrying_wait_TVSP, + /* 0x074 */ SE_TR_parrying_ok_TVSP, + /* 0x075 */ SE_TR_punch_homing_CTSP, + /* 0x076 */ SE_TR_punch_homing_TVSP, + /* 0x077 */ SE_TR_Training_Sparring_trainer_hit_voice, + /* 0x078 */ SE_TR_Training_Sparring_trainer_punch_NG_voice, + /* 0x079 */ SE_TR_Training_Sparring_trainer_praise, + /* 0x07A */ SE_TR_Training_Tamayoke_trainer_throw_voice, + /* 0x07B */ SE_TR_Training_Tamayoke_TrainerIkigire, + /* 0x07C */ SE_LV_SlowMotion, + /* 0x07D */ SE_LV_Kansei, + /* 0x07E */ SE_LV_Kansei2, + /* 0x07F */ SE_LV_Kansei3, + /* 0x080 */ SE_LV_Kansei_small, + /* 0x081 */ SE_LV_Kansei2_small, + /* 0x082 */ SE_LV_Kansei3_small, + /* 0x083 */ SE_LV_TrainingEnv, + /* 0x084 */ SE_TR_KanseiHit, + /* 0x085 */ SE_TR_KanseiHitMid, + /* 0x086 */ SE_TR_Kansei_Daikansei, + /* 0x087 */ SE_TR_Kansei_Yaji, + /* 0x088 */ SE_TR_Kansei_Down, + /* 0x089 */ SE_TR_Kansei_DownFukkatsu, + /* 0x08A */ SE_TR_Kansei_RoundFinish, + /* 0x08B */ SE_TR_Kansei_MatchFinish, + /* 0x08C */ SE_TR_Kansei_KnockoutDaikansei, + /* 0x08D */ BGM_GameResultDisp, + /* 0x08E */ BGM_Training_Mituchi, + /* 0x08F */ BGM_Training_Sandbag, + /* 0x090 */ BGM_Training_Tamayoke, + /* 0x091 */ BGM_GameSetReplay, + /* 0x092 */ Fanfare_VS, + /* 0x093 */ Fanfare_Round, + /* 0x094 */ Fanfare_Judgment, + /* 0x095 */ VOICE_TR_Count_1, + /* 0x096 */ VOICE_TR_Count_1_TVSP, + /* 0x097 */ VOICE_TR_Count_2, + /* 0x098 */ VOICE_TR_Count_2_TVSP, + /* 0x099 */ VOICE_TR_Count_3, + /* 0x09A */ VOICE_TR_Count_3_TVSP, + /* 0x09B */ VOICE_TR_Count_4, + /* 0x09C */ VOICE_TR_Count_4_TVSP, + /* 0x09D */ VOICE_TR_Count_5, + /* 0x09E */ VOICE_TR_Count_5_TVSP, + /* 0x09F */ VOICE_TR_Count_6, + /* 0x0A0 */ VOICE_TR_Count_6_TVSP, + /* 0x0A1 */ VOICE_TR_Count_7, + /* 0x0A2 */ VOICE_TR_Count_7_TVSP, + /* 0x0A3 */ VOICE_TR_Count_8, + /* 0x0A4 */ VOICE_TR_Count_8_TVSP, + /* 0x0A5 */ VOICE_TR_Count_9, + /* 0x0A6 */ VOICE_TR_Count_9_TVSP, + /* 0x0A7 */ VOICE_TR_Count_10, + /* 0x0A8 */ VOICE_TR_Count_10_TVSP, + /* 0x0A9 */ VOICE_TR_Down_CTSP, + /* 0x0AA */ VOICE_TR_Down_TVSP, + /* 0x0AB */ VOICE_TR_KO, + /* 0x0AC */ VOICE_TR_KO_TVSP, + /* 0x0AD */ VOICE_TR_Count_1_CPU, + /* 0x0AE */ VOICE_TR_Count_2_CPU, + /* 0x0AF */ VOICE_TR_Count_3_CPU, + /* 0x0B0 */ VOICE_TR_Count_4_CPU, + /* 0x0B1 */ VOICE_TR_Count_5_CPU, + /* 0x0B2 */ VOICE_TR_Count_6_CPU, + /* 0x0B3 */ VOICE_TR_Count_7_CPU, + /* 0x0B4 */ VOICE_TR_Count_8_CPU, + /* 0x0B5 */ VOICE_TR_Count_9_CPU, + /* 0x0B6 */ VOICE_TR_Count_10_CPU, + /* 0x0B7 */ VOICE_TR_Down_CPU, + /* 0x0B8 */ VOICE_TR_KO_CPU, + /* 0x0B9 */ VOICE_TR_Round1, + /* 0x0BA */ VOICE_TR_Round1_TVSP, + /* 0x0BB */ VOICE_TR_Round2, + /* 0x0BC */ VOICE_TR_Round2_TVSP, + /* 0x0BD */ VOICE_TR_FinalRound, + /* 0x0BE */ VOICE_TR_FinalRound_TVSP, + /* 0x0BF */ VOICE_TR_Fight, + /* 0x0C0 */ VOICE_TR_Fight_TVSP, + /* 0x0C1 */ RP_COM_GAME_SE_PAUSE_01_CTSP, + /* 0x0C2 */ RP_COM_GAME_SE_PAUSE_01_TVSP, + /* 0x0C3 */ RP_COM_GAME_SE_PAUSE_01, + /* 0x0C4 */ FANFARE_GameSet, + /* 0x0C5 */ FANFARE_GameSet_Win, + /* 0x0C6 */ FANFARE_GameSet_Lose, + /* 0x0C7 */ FANFARE_GameSet_Tie, + /* 0x0C8 */ SE_TR_Common_KeikokuForDebug, + /* 0x0C9 */ SE_TR_Common_Sports_Cursol, + /* 0x0CA */ SE_TR_Common_Sports_Decide, + /* 0x0CB */ SE_TR_Common_Sports_Decide_TVSP, + /* 0x0CC */ SE_TR_Common_Sports_DecideBig, + /* 0x0CD */ SE_TR_Common_Sports_DecideBig_TVSP, + /* 0x0CE */ SE_TR_Common_Sports_DemoSkipButton, + /* 0x0CF */ SE_TR_Common_Sports_DemoSkipButton_TVSP, + /* 0x0D0 */ SE_TR_Common_Sports_Cancel, + /* 0x0D1 */ SE_TR_Common_Sports_Cancel_TVSP, + /* 0x0D2 */ SE_TR_Common_Sports_Wipe, + /* 0x0D3 */ SE_TR_Common_Jyunban, + /* 0x0D4 */ SE_TR_Common_Jyunban_TVSP, + /* 0x0D5 */ SE_TR_Common_Medal_Platinum, + /* 0x0D6 */ SE_TR_Common_Medal_Gold, + /* 0x0D7 */ SE_TR_Common_Medal_Silver, + /* 0x0D8 */ SE_TR_Common_Medal_Copper, + /* 0x0D9 */ SE_TR_Common_Sports_Game_Start, + /* 0x0DA */ SE_TR_Common_Sports_Game_End, + /* 0x0DB */ SE_TR_Common_Sports_MyBestRecord, + /* 0x0DC */ SE_TR_Common_Sports_KanseiRecord, + /* 0x0DD */ SE_TR_Common_Sports_Training_Good, + /* 0x0DE */ SE_TR_Common_Sports_Training_GoodLong, + /* 0x0DF */ SE_TR_Common_Sports_Training_VeryGoodLong, + /* 0x0E0 */ SE_TR_Common_Sports_Training_GoodLongSoft, + /* 0x0E1 */ SE_TR_Common_Sports_Training_NotGood, + /* 0x0E2 */ RP_COM_GAME_SE_PAUSE_KEY_A_02_CTSP, + /* 0x0E3 */ RP_COM_GAME_SE_PAUSE_KEY_A_02_TVSP, + /* 0x0E4 */ RP_COM_GAME_SE_PAUSE_KEY_A_02, + /* 0x0E5 */ RP_COM_GAME_SE_PAUSE_KEY_A_03_CTSP, + /* 0x0E6 */ RP_COM_GAME_SE_PAUSE_KEY_A_03_TVSP, + /* 0x0E7 */ RP_COM_GAME_SE_PAUSE_KEY_A_03, + /* 0x0E8 */ RP_COM_GAME_SE_PAUSE_Cursor_01, + /* 0x0E9 */ SE_LV_Common_click_CTSP, + /* 0x0EA */ SE_LV_Common_click_TVSP, + /* 0x0EB */ SE_TR_Common_ModeChange_CTSP, + /* 0x0EC */ SE_TR_Common_ModeChange_TVSP, + /* 0x0ED */ SE_TR_Common_KeyError_CTSP, + /* 0x0EE */ SE_TR_Common_KeyError_TVSP, + /* 0x0EF */ RP_COMMON_SE_KEY_CURSOR_01, + /* 0x0F0 */ RP_COMMON_SE_KEY_BACK_01_CTSP, + /* 0x0F1 */ RP_COMMON_SE_KEY_BACK_01_TVSP, + /* 0x0F2 */ SE_TR_COMMON_win_OPEN, + /* 0x0F3 */ SE_TR_COMMON_win_CLOSE, + /* 0x0F4 */ SE_TR_COMMON_Jyukurendo_ScoreFlash, + /* 0x0F5 */ SE_TR_COMMON_Jyukurendo_NameFlash, + /* 0x0F6 */ SE_TR_COMMON_Jyukurendo_NameSmoke, + /* 0x0F7 */ SE_TR_COMMON_Push_AB_CTSP, + /* 0x0F8 */ SE_TR_COMMON_Push_AB_TVSP, + /* 0x0F9 */ VOICE_TR_Common_BronzeMedal, + /* 0x0FA */ VOICE_TR_Common_SilverMedal, + /* 0x0FB */ VOICE_TR_Common_GoldMedal, + /* 0x0FC */ VOICE_TR_Common_PlatinumMedal, + /* 0x0FD */ VOICE_TR_Common_HighScore, + /* 0x0FE */ STRM_Training_Result01, + /* 0x0FF */ STRM_Training_Result02, + /* 0x100 */ STRM_Training_Result03, + /* 0x101 */ Bgm_Tutorial, + /* 0x102 */ RP_COMMON_SE_MESS_10, + /* 0x103 */ RP_COMMON_SE_MESS_20, + /* 0x104 */ RP_COMMON_SE_KEY_A_04_CTSP, + /* 0x105 */ RP_COMMON_SE_KEY_A_04_TVSP, + /* 0x106 */ RP_COMMON_SE_KEY_A_04, + /* 0x107 */ RP_COM_GAME_SE_PAUSE_KEY_A_01_CTSP, + /* 0x108 */ RP_COM_GAME_SE_PAUSE_KEY_A_01_TVSP, + /* 0x109 */ RP_COM_GAME_SE_PAUSE_KEY_A_01 +}; + +#endif diff --git a/include/Pack/RPAudio/archive/rp_Bsb_sound.h b/include/Pack/RPAudio/archive/rp_Bsb_sound.h new file mode 100644 index 00000000..2f775143 --- /dev/null +++ b/include/Pack/RPAudio/archive/rp_Bsb_sound.h @@ -0,0 +1,193 @@ +#ifndef RP_AUDIO_RP_BSB_SOUND_H +#define RP_AUDIO_RP_BSB_SOUND_H + +//! @addtogroup rp_audio +//! @{ + +//! @file +//! @brief Sound IDs for the RPBsbScene sound archive + +//! @} + +enum { + /* 0x00 */ SE_TR_BallFall, + /* 0x01 */ SE_TR_ScoreDispChange, + /* 0x02 */ SE_TR_Furikaburi, + /* 0x03 */ SE_TR_Furikaburi_TVSP, + /* 0x04 */ SE_TR_Swing, + /* 0x05 */ SE_TR_Swing_TVSP, + /* 0x06 */ SE_TR_just_meet, + /* 0x07 */ SE_TR_just_meet_TVSP, + /* 0x08 */ SE_TR_Straight, + /* 0x09 */ SE_TR_Straight_TVSP, + /* 0x0A */ SE_TR_BallFlyJustMeet, + /* 0x0B */ SE_TR_BallFlyJustMeet_TVSP, + /* 0x0C */ SE_TR_meet, + /* 0x0D */ SE_TR_meet_TVSP, + /* 0x0E */ SE_TR_FaulChip, + /* 0x0F */ SE_TR_FaulChip_TVSP, + /* 0x10 */ SE_TR_CatcherCatch, + /* 0x11 */ SE_TR_FieldPlayerCatch, + /* 0x12 */ SE_TR_BallHitFence, + /* 0x13 */ SE_TR_BallBoundGrass, + /* 0x14 */ SE_TR_BallBoundDirt, + /* 0x15 */ SE_TR_BallBound_Dummy, + /* 0x16 */ SE_TR_FieldPlayerDiving, + /* 0x17 */ SE_TR_FieldPlayerKokeru, + /* 0x18 */ SE_TR_BatterStep, + /* 0x19 */ SE_LV_BallRollGrass, + /* 0x1A */ SE_LV_BallRollDirt, + /* 0x1B */ SE_TR_Training_PushA, + /* 0x1C */ SE_TR_Training_RenzokuBatting_BallHitCombo1, + /* 0x1D */ SE_TR_Training_RenzokuBatting_BallHitCombo2, + /* 0x1E */ SE_TR_Training_RenzokuBatting_BallHitCombo3, + /* 0x1F */ SE_TR_Training_RenzokuBatting_BallHitCombo4, + /* 0x20 */ SE_TR_Training_RenzokuBatting_BallHitCombo5, + /* 0x21 */ SE_TR_Training_RenzokuBatting_BallHitCombo6, + /* 0x22 */ SE_TR_Training_RenzokuBatting_BallHitCombo7, + /* 0x23 */ SE_TR_Training_RenzokuBatting_BallHitCombo8, + /* 0x24 */ SE_TR_Training_RenzokuBatting_BallHitCombo9, + /* 0x25 */ SE_TR_Training_RenzokuBatting_BallHitCombo10, + /* 0x26 */ SE_TR_Training_RenzokuBatting_BallFaul, + /* 0x27 */ SE_TR_Training_Uchiwake_HittingAngleDecide, + /* 0x28 */ SE_TR_Training_Uchiwake_C, + /* 0x29 */ SE_TR_Training_Uchiwake_L, + /* 0x2A */ SE_TR_Training_Uchiwake_R, + /* 0x2B */ SE_TR_Training_Uchiwake_NG, + /* 0x2C */ SE_TR_Training_Uchiwake_CenterZone, + /* 0x2D */ SE_TR_Training_Uchiwake_InsideZone, + /* 0x2E */ SE_TR_Training_Uchiwake_OutsideZone, + /* 0x2F */ SE_TR_Training_RenzokuBatting_BallHitComboOver, + /* 0x30 */ SE_TR_Training_Uchiwake_Gyuiiiin, + /* 0x31 */ SE_TR_KanseiChange, + /* 0x32 */ SE_LV_Kansei, + /* 0x33 */ SE_TR_KanseiFun, + /* 0x34 */ SE_TR_KanseiFun_soon, + /* 0x35 */ SE_TR_KanseiBooing, + /* 0x36 */ SE_TR_KanseiSurprise, + /* 0x37 */ SE_TR_KanseiChangeSide, + /* 0x38 */ SE_TR_KanseiPlayBall, + /* 0x39 */ SE_TR_KanseiPlayballShort, + /* 0x3A */ SE_TR_KanseiGameSet, + /* 0x3B */ SE_TR_Kansei_UchiwakeZone1, + /* 0x3C */ SE_TR_Kansei_UchiwakeZone2, + /* 0x3D */ SE_TR_Kansei_UchiwakeZone3, + /* 0x3E */ SE_TR_Kansei_UchiwakeFailure, + /* 0x3F */ SE_TR_Kansei_RenzokuSuccess, + /* 0x40 */ SE_TR_Kansei_RenzokuFailure, + /* 0x41 */ SE_TR_Kansei_HomerunFailure, + /* 0x42 */ BGM_GameResultDisp, + /* 0x43 */ BGM_TrainingResultDisp, + /* 0x44 */ BGM_Training_Homerun, + /* 0x45 */ BGM_Training_Renzoku, + /* 0x46 */ BGM_Training_Uchiwake, + /* 0x47 */ FANFARE_SingleHit, + /* 0x48 */ FANFARE_TwoBaseHit, + /* 0x49 */ FANFARE_ThreeBaseHit, + /* 0x4A */ FANFARE_HomeRun, + /* 0x4B */ FANFARE_OutOfTheParkHomer, + /* 0x4C */ FANFARE_VS, + /* 0x4D */ FANFARE_Form_A_Line, + /* 0x4E */ VOICE_TR_PlayBall, + /* 0x4F */ VOICE_TR_Change, + /* 0x50 */ VOICE_TR_GameSet, + /* 0x51 */ VOICE_TR_Strike, + /* 0x52 */ VOICE_TR_Ball, + /* 0x53 */ VOICE_TR_Faul, + /* 0x54 */ VOICE_TR_HomeRun, + /* 0x55 */ VOICE_TR_Hit, + /* 0x56 */ VOICE_TR_BatterOut, + /* 0x57 */ VOICE_TR_FourBall, + /* 0x58 */ VOICE_TR_Out, + /* 0x59 */ VOICE_TR_Fair, + /* 0x5A */ VOICE_TR_EntitledTwoBase, + /* 0x5B */ VOICE_TR_TwoBaseHit, + /* 0x5C */ VOICE_TR_ThreeBaseHit, + /* 0x5D */ VOICE_TR_DoublePlay, + /* 0x5E */ VOICE_TR_TriplePlay, + /* 0x5F */ VOICE_TR_OutOfThePark, + /* 0x60 */ VOICE_TR_Uchiwake1, + /* 0x61 */ VOICE_TR_Uchiwake2, + /* 0x62 */ VOICE_TR_Uchiwake3, + /* 0x63 */ VOICE_TR_Renzoku5, + /* 0x64 */ VOICE_TR_Renzoku10, + /* 0x65 */ VOICE_TR_Renzoku15, + /* 0x66 */ VOICE_TR_Renzoku20, + /* 0x67 */ VOICE_TR_Renzoku25, + /* 0x68 */ VOICE_TR_Renzoku30, + /* 0x69 */ FANFARE_GameSet, + /* 0x6A */ FANFARE_GameSet_Win, + /* 0x6B */ FANFARE_GameSet_Lose, + /* 0x6C */ FANFARE_GameSet_Tie, + /* 0x6D */ SE_TR_Common_KeikokuForDebug, + /* 0x6E */ SE_TR_Common_Sports_Cursol, + /* 0x6F */ SE_TR_Common_Sports_Decide, + /* 0x70 */ SE_TR_Common_Sports_Decide_TVSP, + /* 0x71 */ SE_TR_Common_Sports_DecideBig, + /* 0x72 */ SE_TR_Common_Sports_DecideBig_TVSP, + /* 0x73 */ SE_TR_Common_Sports_DemoSkipButton, + /* 0x74 */ SE_TR_Common_Sports_DemoSkipButton_TVSP, + /* 0x75 */ SE_TR_Common_Sports_Cancel, + /* 0x76 */ SE_TR_Common_Sports_Cancel_TVSP, + /* 0x77 */ SE_TR_Common_Sports_Wipe, + /* 0x78 */ SE_TR_Common_Jyunban, + /* 0x79 */ SE_TR_Common_Jyunban_TVSP, + /* 0x7A */ SE_TR_Common_Medal_Platinum, + /* 0x7B */ SE_TR_Common_Medal_Gold, + /* 0x7C */ SE_TR_Common_Medal_Silver, + /* 0x7D */ SE_TR_Common_Medal_Copper, + /* 0x7E */ SE_TR_Common_Sports_Game_Start, + /* 0x7F */ SE_TR_Common_Sports_Game_End, + /* 0x80 */ SE_TR_Common_Sports_MyBestRecord, + /* 0x81 */ SE_TR_Common_Sports_KanseiRecord, + /* 0x82 */ SE_TR_Common_Sports_Training_Good, + /* 0x83 */ SE_TR_Common_Sports_Training_GoodLong, + /* 0x84 */ SE_TR_Common_Sports_Training_VeryGoodLong, + /* 0x85 */ SE_TR_Common_Sports_Training_GoodLongSoft, + /* 0x86 */ SE_TR_Common_Sports_Training_NotGood, + /* 0x87 */ RP_COM_GAME_SE_PAUSE_KEY_A_02_CTSP, + /* 0x88 */ RP_COM_GAME_SE_PAUSE_KEY_A_02_TVSP, + /* 0x89 */ RP_COM_GAME_SE_PAUSE_KEY_A_02, + /* 0x8A */ RP_COM_GAME_SE_PAUSE_KEY_A_03_CTSP, + /* 0x8B */ RP_COM_GAME_SE_PAUSE_KEY_A_03_TVSP, + /* 0x8C */ RP_COM_GAME_SE_PAUSE_KEY_A_03, + /* 0x8D */ RP_COM_GAME_SE_PAUSE_Cursor_01, + /* 0x8E */ SE_LV_Common_click_CTSP, + /* 0x8F */ SE_LV_Common_click_TVSP, + /* 0x90 */ SE_TR_Common_ModeChange_CTSP, + /* 0x91 */ SE_TR_Common_ModeChange_TVSP, + /* 0x92 */ SE_TR_Common_KeyError_CTSP, + /* 0x93 */ SE_TR_Common_KeyError_TVSP, + /* 0x94 */ RP_COMMON_SE_KEY_CURSOR_01, + /* 0x95 */ RP_COMMON_SE_KEY_BACK_01_CTSP, + /* 0x96 */ RP_COMMON_SE_KEY_BACK_01_TVSP, + /* 0x97 */ SE_TR_COMMON_win_OPEN, + /* 0x98 */ SE_TR_COMMON_win_CLOSE, + /* 0x99 */ SE_TR_COMMON_Jyukurendo_ScoreFlash, + /* 0x9A */ SE_TR_COMMON_Jyukurendo_NameFlash, + /* 0x9B */ SE_TR_COMMON_Jyukurendo_NameSmoke, + /* 0x9C */ SE_TR_COMMON_Push_AB_CTSP, + /* 0x9D */ SE_TR_COMMON_Push_AB_TVSP, + /* 0x9E */ VOICE_TR_Common_BronzeMedal, + /* 0x9F */ VOICE_TR_Common_SilverMedal, + /* 0xA0 */ VOICE_TR_Common_GoldMedal, + /* 0xA1 */ VOICE_TR_Common_PlatinumMedal, + /* 0xA2 */ VOICE_TR_Common_HighScore, + /* 0xA3 */ RP_COM_GAME_SE_PAUSE_01_CTSP, + /* 0xA4 */ RP_COM_GAME_SE_PAUSE_01_TVSP, + /* 0xA5 */ RP_COM_GAME_SE_PAUSE_01, + /* 0xA6 */ STRM_Training_Result01, + /* 0xA7 */ STRM_Training_Result02, + /* 0xA8 */ STRM_Training_Result03, + /* 0xA9 */ Bgm_Tutorial, + /* 0xAA */ RP_COMMON_SE_MESS_10, + /* 0xAB */ RP_COMMON_SE_MESS_20, + /* 0xAC */ RP_COMMON_SE_KEY_A_04_CTSP, + /* 0xAD */ RP_COMMON_SE_KEY_A_04_TVSP, + /* 0xAE */ RP_COMMON_SE_KEY_A_04, + /* 0xAF */ RP_COM_GAME_SE_PAUSE_KEY_A_01_CTSP, + /* 0xB0 */ RP_COM_GAME_SE_PAUSE_KEY_A_01_TVSP, + /* 0xB1 */ RP_COM_GAME_SE_PAUSE_KEY_A_01 +}; + +#endif diff --git a/include/Pack/RPAudio/archive/rp_Common_Party.h b/include/Pack/RPAudio/archive/rp_Common_Party.h new file mode 100644 index 00000000..b6bcb673 --- /dev/null +++ b/include/Pack/RPAudio/archive/rp_Common_Party.h @@ -0,0 +1,84 @@ +#ifndef RP_AUDIO_RP_COMMON_PARTY_SOUND_H +#define RP_AUDIO_RP_COMMON_PARTY_SOUND_H + +//! @addtogroup rp_audio +//! @{ + +//! @file +//! @brief Sound IDs for the RPPartyCommon sound archive + +//! @} + +enum { + /* 0x00 */ RP_COMMON_SE_LOGO_01, + /* 0x01 */ RP_COMMON_SE_WIN_OPEN_01, + /* 0x02 */ RP_COMMON_SE_WIN_CLOSE_01, + /* 0x03 */ RP_COMMON_SE_MESS_OK_01_CTSP, + /* 0x04 */ RP_COMMON_SE_MESS_OK_01_TVSP, + /* 0x05 */ RP_COMMON_SE_MESS_OK_02_CTSP, + /* 0x06 */ RP_COMMON_SE_MESS_OK_02_TVSP, + /* 0x07 */ RP_COMMON_SE_SEARCH_01, + /* 0x08 */ RP_COMMON_SE_CON_ADD_01, + /* 0x09 */ RP_COMMON_SE_MESS_FLASH_01, + /* 0x0A */ RP_COMMON_SE_MESS_10, + /* 0x0B */ RP_COMMON_SE_MESS_20, + /* 0x0C */ RP_COMMON_BGM_RANK_COMPLETE, + /* 0x0D */ RP_COMMON_BGM_PARTY_01, + /* 0x0E */ RP_COMMON_BGM_PARTY_MENU, + /* 0x0F */ RP_COMMON_BGM_PARTY_MENU_SLEEP, + /* 0x10 */ RP_COMMON_SE_KEY_AB_pri_A_01_CTSP, + /* 0x11 */ RP_COMMON_SE_KEY_AB_pri_A_01_TVSP, + /* 0x12 */ RP_COMMON_SE_KEY_AB_pri_A_01, + /* 0x13 */ RP_COMMON_SE_KEY_AB_pri_B_01_CTSP, + /* 0x14 */ RP_COMMON_SE_KEY_AB_pri_B_01_TVSP, + /* 0x15 */ RP_COMMON_SE_KEY_AB_pri_B_01, + /* 0x16 */ RP_COMMON_SE_KEY_AB_01_CTSP, + /* 0x17 */ RP_COMMON_SE_KEY_AB_01_TVSP, + /* 0x18 */ RP_COMMON_SE_KEY_AB_01, + /* 0x19 */ RP_COMMON_SE_KEY_A_01_CTSP, + /* 0x1A */ RP_COMMON_SE_KEY_A_01_TVSP, + /* 0x1B */ RP_COMMON_SE_KEY_A_01, + /* 0x1C */ RP_COMMON_SE_KEY_A_02_CTSP, + /* 0x1D */ RP_COMMON_SE_KEY_A_02_TVSP, + /* 0x1E */ RP_COMMON_SE_KEY_A_02, + /* 0x1F */ RP_COMMON_SE_KEY_A_03_CTSP, + /* 0x20 */ RP_COMMON_SE_KEY_A_03_TVSP, + /* 0x21 */ RP_COMMON_SE_KEY_A_03, + /* 0x22 */ RP_COMMON_SE_KEY_NG_01_CTSP, + /* 0x23 */ RP_COMMON_SE_KEY_NG_01_TVSP, + /* 0x24 */ RP_COMMON_SE_KEY_NG_01, + /* 0x25 */ RP_COMMON_SE_KEY_CURSOR_02, + /* 0x26 */ RP_COMMON_SE_KEY_CURSOR_03, + /* 0x27 */ RP_COMMON_SE_KEY_CURSOR_04, + /* 0x28 */ RP_COMMON_SE_KEY_CURSOR_05, + /* 0x29 */ RP_COMMON_SE_CON_Change_01_CTSP, + /* 0x2A */ RP_COMMON_SE_CON_Change_01_TVSP, + /* 0x2B */ RP_COMMON_SE_CON_Change_01, + /* 0x2C */ RP_COMMON_SE_CON_Change_02, + /* 0x2D */ RP_COMMON_SE_Balloon_OPEN_01, + /* 0x2E */ RP_COMMON_SE_Balloon_CLOSE_01, + /* 0x2F */ RP_COMMON_SE_Party_DOLL_CLICK_01_CTSP, + /* 0x30 */ RP_COMMON_SE_Party_DOLL_CLICK_01_TVSP, + /* 0x31 */ RP_COMMON_SE_Party_DOLL_CLICK_02_CTSP, + /* 0x32 */ RP_COMMON_SE_Party_DOLL_CLICK_02_TVSP, + /* 0x33 */ RP_COMMON_SE_Party_DOLL_CLICK_HL_CTSP, + /* 0x34 */ RP_COMMON_SE_Party_DOLL_CLICK_HL_TVSP, + /* 0x35 */ RP_COMMON_SE_Party_DOLL_CLICK_HR_CTSP, + /* 0x36 */ RP_COMMON_SE_Party_DOLL_CLICK_HR_TVSP, + /* 0x37 */ RP_COMMON_SE_Party_DOLL_CLICK_FL_CTSP, + /* 0x38 */ RP_COMMON_SE_Party_DOLL_CLICK_FL_TVSP, + /* 0x39 */ RP_COMMON_SE_Party_DOLL_CLICK_FR_CTSP, + /* 0x3A */ RP_COMMON_SE_Party_DOLL_CLICK_FR_TVSP, + /* 0x3B */ RP_COMMON_SE_Party_DOLL_WakUp_01, + /* 0x3C */ RP_COMMON_SE_Party_DOLL_TALK_01, + /* 0x3D */ RP_COMMON_SE_Party_DOLL_SLEEP_01, + /* 0x3E */ RP_COMMON_SE_KEY_A_04_CTSP, + /* 0x3F */ RP_COMMON_SE_KEY_A_04_TVSP, + /* 0x40 */ RP_COMMON_SE_KEY_A_04, + /* 0x41 */ RP_COMMON_SE_KEY_BACK_01_CTSP, + /* 0x42 */ RP_COMMON_SE_KEY_BACK_01_TVSP, + /* 0x43 */ RP_COMMON_SE_KEY_BACK_01, + /* 0x44 */ RP_COMMON_SE_KEY_CURSOR_01 +}; + +#endif diff --git a/include/Pack/RPAudio/archive/rp_Common_Sports.h b/include/Pack/RPAudio/archive/rp_Common_Sports.h new file mode 100644 index 00000000..a3fc83ba --- /dev/null +++ b/include/Pack/RPAudio/archive/rp_Common_Sports.h @@ -0,0 +1,93 @@ +#ifndef RP_AUDIO_RP_COMMON_SPORTS_SOUND_H +#define RP_AUDIO_RP_COMMON_SPORTS_SOUND_H + +//! @addtogroup rp_audio +//! @{ + +//! @file +//! @brief Sound IDs for the RPSportsCommon sound archive + +//! @} + +enum { + /* 0x00 */ RP_COMMON_SE_LOGO_01, + /* 0x01 */ RP_COMMON_SE_WIN_OPEN_01, + /* 0x02 */ RP_COMMON_SE_WIN_CLOSE_01, + /* 0x03 */ RP_COMMON_SE_MESS_OK_01_CTSP, + /* 0x04 */ RP_COMMON_SE_MESS_OK_01_TVSP, + /* 0x05 */ RP_COMMON_SE_MESS_OK_02_CTSP, + /* 0x06 */ RP_COMMON_SE_MESS_OK_02_TVSP, + /* 0x07 */ RP_COMMON_SE_SEARCH_01, + /* 0x08 */ RP_COMMON_SE_CON_ADD_01, + /* 0x09 */ RP_COMMON_SE_MESS_FLASH_01, + /* 0x0A */ STRM_SportsPackTittle, + /* 0x0B */ STRM_SportsPack_PhysicalMeasure_bridge, + /* 0x0C */ STRM_Training_Select, + /* 0x0D */ STRM_Measurement_Bow, + /* 0x0E */ STRM_Measurement_Box, + /* 0x0F */ STRM_Measurement_Bsb, + /* 0x10 */ STRM_Measurement_Gol, + /* 0x11 */ STRM_Measurement_Tns, + /* 0x12 */ STRM_Measurement_Result, + /* 0x13 */ STRM_Measurement_Start, + /* 0x14 */ STRM_SportsPackSelect, + /* 0x15 */ RP_COMMON_SE_KEY_AB_pri_A_01_CTSP, + /* 0x16 */ RP_COMMON_SE_KEY_AB_pri_A_01_TVSP, + /* 0x17 */ RP_COMMON_SE_KEY_AB_pri_A_01, + /* 0x18 */ RP_COMMON_SE_KEY_AB_pri_B_01_CTSP, + /* 0x19 */ RP_COMMON_SE_KEY_AB_pri_B_01_TVSP, + /* 0x1A */ RP_COMMON_SE_KEY_AB_pri_B_01, + /* 0x1B */ RP_COMMON_SE_KEY_AB_01_CTSP, + /* 0x1C */ RP_COMMON_SE_KEY_AB_01_TVSP, + /* 0x1D */ RP_COMMON_SE_KEY_AB_01, + /* 0x1E */ RP_COMMON_SE_KEY_A_01_CTSP, + /* 0x1F */ RP_COMMON_SE_KEY_A_01_TVSP, + /* 0x20 */ RP_COMMON_SE_KEY_A_01, + /* 0x21 */ RP_COMMON_SE_KEY_A_02_CTSP, + /* 0x22 */ RP_COMMON_SE_KEY_A_02_TVSP, + /* 0x23 */ RP_COMMON_SE_KEY_A_02, + /* 0x24 */ RP_COMMON_SE_KEY_A_03_CTSP, + /* 0x25 */ RP_COMMON_SE_KEY_A_03_TVSP, + /* 0x26 */ RP_COMMON_SE_KEY_A_03, + /* 0x27 */ RP_COMMON_SE_KEY_NG_01_CTSP, + /* 0x28 */ RP_COMMON_SE_KEY_NG_01_TVSP, + /* 0x29 */ RP_COMMON_SE_KEY_NG_01, + /* 0x2A */ RP_COMMON_SE_KEY_BACK_01_CTSP, + /* 0x2B */ RP_COMMON_SE_KEY_BACK_01_TVSP, + /* 0x2C */ RP_COMMON_SE_KEY_BACK_01, + /* 0x2D */ RP_COMMON_SE_KEY_CURSOR_01, + /* 0x2E */ RP_COMMON_SE_KEY_CURSOR_02, + /* 0x2F */ RP_COMMON_SE_KEY_CURSOR_03, + /* 0x30 */ RP_COMMON_SE_KEY_CURSOR_04, + /* 0x31 */ RP_COMMON_SE_KEY_CURSOR_05, + /* 0x32 */ RP_COMMON_SE_CON_Change_01_CTSP, + /* 0x33 */ RP_COMMON_SE_CON_Change_01_TVSP, + /* 0x34 */ RP_COMMON_SE_CON_Change_01, + /* 0x35 */ RP_COMMON_SE_CON_Change_02, + /* 0x36 */ RP_COMMON_SE_KEY_NG_Decide_CTSP, + /* 0x37 */ RP_COMMON_SE_KEY_NG_Decide_TVSP, + /* 0x38 */ RP_COMMON_SE_TR_TrainingPanelOpen, + /* 0x39 */ SE_TR_COMMON_Push_AB_CTSP, + /* 0x3A */ SE_TR_COMMON_Push_AB_TVSP, + /* 0x3B */ RP_COMMON_SE_TR_StartMeasureAge, + /* 0x3C */ RP_COMMON_SE_TR_MeasureAgeCount, + /* 0x3D */ RP_COMMON_SE_TR_StartMeasureAgeLong, + /* 0x3E */ RP_COMMON_SE_TR_AgeDisp, + /* 0x3F */ RP_COMMON_SE_TR_AgeKatamuku, + /* 0x40 */ RP_COMMON_SE_TR_AgeStop, + /* 0x41 */ RP_COMMON_SE_TR_AgeSmoke, + /* 0x42 */ RP_COMMON_SE_TR_AgePush, + /* 0x43 */ RP_COMMON_SE_TR_Decide, + /* 0x44 */ RP_COMMON_SE_TR_Decide_CTSP, + /* 0x45 */ RP_COMMON_SE_TR_Decide_TVSP, + /* 0x46 */ RP_COMMON_SE_MESS_10, + /* 0x47 */ RP_COMMON_SE_MESS_20, + /* 0x48 */ RP_COMMON_SE_KEY_A_04_CTSP, + /* 0x49 */ RP_COMMON_SE_KEY_A_04_TVSP, + /* 0x4A */ RP_COMMON_SE_KEY_A_04, + /* 0x4B */ RP_COM_GAME_SE_PAUSE_KEY_A_01_CTSP, + /* 0x4C */ RP_COM_GAME_SE_PAUSE_KEY_A_01_TVSP, + /* 0x4D */ RP_COM_GAME_SE_PAUSE_KEY_A_01 +}; + +#endif diff --git a/include/Pack/RPAudio/archive/rp_Cow_sound.h b/include/Pack/RPAudio/archive/rp_Cow_sound.h new file mode 100644 index 00000000..346a5374 --- /dev/null +++ b/include/Pack/RPAudio/archive/rp_Cow_sound.h @@ -0,0 +1,176 @@ +#ifndef RP_AUDIO_RP_COW_SOUND_H +#define RP_AUDIO_RP_COW_SOUND_H + +//! @addtogroup rp_audio +//! @{ + +//! @file +//! @brief Sound IDs for the RPCowScene sound archive + +//! @} + +enum { + /* 0x00 */ RP_COW_SE_CON_01_L_CTSP, + /* 0x01 */ RP_COW_SE_CON_01_R_CTSP, + /* 0x02 */ RP_COW_SE_CON_02_1P_TALK_CTSP, + /* 0x03 */ RP_COW_SE_CON_02_2P_TALK_CTSP, + /* 0x04 */ RP_COW_SE_CON_03_1P_WORD_CTSP, + /* 0x05 */ RP_COW_SE_CON_03_2P_WORD_CTSP, + /* 0x06 */ RP_COW_SE_CON_04_1P_WORD_CTSP, + /* 0x07 */ RP_COW_SE_CON_04_2P_WORD_CTSP, + /* 0x08 */ RP_COW_SE_CON_05_1P_WORD_CTSP, + /* 0x09 */ RP_COW_SE_CON_05_2P_WORD_CTSP, + /* 0x0A */ RP_COW_SE_CON_06_1P_WORD_CTSP, + /* 0x0B */ RP_COW_SE_CON_06_2P_WORD_CTSP, + /* 0x0C */ RP_COW_SE_CON_07_1P_WORD_CTSP, + /* 0x0D */ RP_COW_SE_CON_07_2P_WORD_CTSP, + /* 0x0E */ RP_COW_AMB_01, + /* 0x0F */ RP_COW_AMB_02, + /* 0x10 */ RP_COW_SE_FOOTSTEPS_STEP_01, + /* 0x11 */ RP_COW_SE_FOOTSTEPS_A_00, + /* 0x12 */ RP_COW_SE_FOOTSTEPS_A_01, + /* 0x13 */ RP_COW_SE_FOOTSTEPS_A_02, + /* 0x14 */ RP_COW_SE_FOOTSTEPS_A_03, + /* 0x15 */ RP_COW_SE_FOOTSTEPS_A_04, + /* 0x16 */ RP_COW_SE_FOOTSTEPS_A_05, + /* 0x17 */ RP_COW_SE_FOOTSTEPS_1P_00, + /* 0x18 */ RP_COW_SE_FOOTSTEPS_1P_01, + /* 0x19 */ RP_COW_SE_FOOTSTEPS_1P_02, + /* 0x1A */ RP_COW_SE_FOOTSTEPS_1P_03, + /* 0x1B */ RP_COW_SE_FOOTSTEPS_1P_04, + /* 0x1C */ RP_COW_SE_FOOTSTEPS_1P_05, + /* 0x1D */ RP_COW_SE_FOOTSTEPS_2P_00, + /* 0x1E */ RP_COW_SE_FOOTSTEPS_2P_01, + /* 0x1F */ RP_COW_SE_FOOTSTEPS_2P_02, + /* 0x20 */ RP_COW_SE_FOOTSTEPS_2P_03, + /* 0x21 */ RP_COW_SE_FOOTSTEPS_2P_04, + /* 0x22 */ RP_COW_SE_FOOTSTEPS_2P_05, + /* 0x23 */ RP_COW_SE_FOOTSTEPS_A_00_GRASS, + /* 0x24 */ RP_COW_SE_FOOTSTEPS_A_01_GRASS, + /* 0x25 */ RP_COW_SE_FOOTSTEPS_A_02_GRASS, + /* 0x26 */ RP_COW_SE_FOOTSTEPS_A_03_GRASS, + /* 0x27 */ RP_COW_SE_FOOTSTEPS_A_04_GRASS, + /* 0x28 */ RP_COW_SE_FOOTSTEPS_A_05_GRASS, + /* 0x29 */ RP_COW_SE_FOOTSTEPS_1P_00_GRASS, + /* 0x2A */ RP_COW_SE_FOOTSTEPS_1P_01_GRASS, + /* 0x2B */ RP_COW_SE_FOOTSTEPS_1P_02_GRASS, + /* 0x2C */ RP_COW_SE_FOOTSTEPS_1P_03_GRASS, + /* 0x2D */ RP_COW_SE_FOOTSTEPS_1P_04_GRASS, + /* 0x2E */ RP_COW_SE_FOOTSTEPS_1P_05_GRASS, + /* 0x2F */ RP_COW_SE_FOOTSTEPS_2P_00_GRASS, + /* 0x30 */ RP_COW_SE_FOOTSTEPS_2P_01_GRASS, + /* 0x31 */ RP_COW_SE_FOOTSTEPS_2P_02_GRASS, + /* 0x32 */ RP_COW_SE_FOOTSTEPS_2P_03_GRASS, + /* 0x33 */ RP_COW_SE_FOOTSTEPS_2P_04_GRASS, + /* 0x34 */ RP_COW_SE_FOOTSTEPS_2P_05_GRASS, + /* 0x35 */ RP_COW_SE_FOOTSTEPS_BStream_1P_01, + /* 0x36 */ RP_COW_SE_FOOTSTEPS_BStream_2P_01, + /* 0x37 */ RP_COW_SE_START_DASH_1P_01, + /* 0x38 */ RP_COW_SE_START_DASH_2P_01, + /* 0x39 */ RP_COW_SE_FOOTSTEPS_BOOST_1P_01, + /* 0x3A */ RP_COW_SE_FOOTSTEPS_BOOST_2P_01, + /* 0x3B */ RP_COW_SE_BREAK_A_01, + /* 0x3C */ RP_COW_SE_BREAK_1P_01, + /* 0x3D */ RP_COW_SE_BREAK_2P_01, + /* 0x3E */ RP_COW_JUMP_01, + /* 0x3F */ RP_COW_JUMP_02, + /* 0x40 */ RP_COW_JUMP_03, + /* 0x41 */ RP_COW_JUMP_1P_01, + /* 0x42 */ RP_COW_JUMP_1P_02, + /* 0x43 */ RP_COW_JUMP_1P_03, + /* 0x44 */ RP_COW_JUMP_2P_01, + /* 0x45 */ RP_COW_JUMP_2P_02, + /* 0x46 */ RP_COW_JUMP_2P_03, + /* 0x47 */ RP_COW_SE_DOLL_ON_01, + /* 0x48 */ RP_COW_SE_DOLL_ON_BONUS_01_2P, + /* 0x49 */ RP_COW_SE_DOLL_ON_BONUS_01, + /* 0x4A */ RP_COW_CLASH_01, + /* 0x4B */ RP_COW_CLASH_COW_01, + /* 0x4C */ RP_COW_CLASH_FENCE_01, + /* 0x4D */ RP_COW_CLASH_WALL_01, + /* 0x4E */ RP_COW_CLASH_BONUS_01, + /* 0x4F */ RP_COW_SE_DOLL_JUMP_01, + /* 0x50 */ RP_COW_SE_CLASH_TREE_01, + /* 0x51 */ RP_COW_SE_GOAL_01, + /* 0x52 */ RP_COW_SE_GOAL_TIMEUP_01, + /* 0x53 */ RP_COW_SE_GOAL_TIMEOVER_01, + /* 0x54 */ RP_COW_SE_GOAL_POINT_0, + /* 0x55 */ RP_COW_SE_GOAL_TIME_BONUS_01, + /* 0x56 */ RP_COW_SYS_CountPoint_01, + /* 0x57 */ RP_COW_SYS_CountPoint_02, + /* 0x58 */ RP_COW_SE_ROD_01, + /* 0x59 */ RP_COW_SE_ROD_02, + /* 0x5A */ RP_COW_SE_FOOTSTEPS_01, + /* 0x5B */ RP_COW_SYS_ALARM_01, + /* 0x5C */ RP_COW_ROPE_SWING_01, + /* 0x5D */ RP_COW_SE_FOOTSTEPS_C_01, + /* 0x5E */ RP_COW_SE_FOOTSTEPS_C_02, + /* 0x5F */ RP_COW_SE_FOOTSTEPS_C_03, + /* 0x60 */ RP_COW_SE_FOOTSTEPS_C_04, + /* 0x61 */ RP_COW_SE_FOOTSTEPS_C_05, + /* 0x62 */ RP_COW_SE_FOOTSTEPS_D_01, + /* 0x63 */ RP_COW_SE_FOOTSTEPS_D_02, + /* 0x64 */ RP_COW_SE_FOOTSTEPS_D_03, + /* 0x65 */ RP_COW_SE_FOOTSTEPS_D_04, + /* 0x66 */ RP_COW_SE_FOOTSTEPS_D_05, + /* 0x67 */ RP_COM_GAME_SE_PAUSE_01_CTSP, + /* 0x68 */ RP_COM_GAME_SE_PAUSE_01_TVSP, + /* 0x69 */ RP_COM_GAME_SE_PAUSE_01, + /* 0x6A */ RP_COM_GAME_PARTY_SE_A_01_CTSP, + /* 0x6B */ RP_COM_GAME_PARTY_SE_A_01_TVSP, + /* 0x6C */ RP_COM_GAME_PARTY_SE_A_01, + /* 0x6D */ RP_COM_GAME_PARTY_SE_Cursor_01, + /* 0x6E */ RP_COM_GAME_PARTY_SE_LANK_01, + /* 0x6F */ RP_COM_GAME_PARTY_SE_Win_Open_01, + /* 0x70 */ RP_COM_GAME_PARTY_SE_Win_Close_01, + /* 0x71 */ RP_COM_GAME_PARTY_SE_COUNT_TIME_01, + /* 0x72 */ RP_COM_GAME_PARTY_SE_COUNT_TIME_02, + /* 0x73 */ RP_COM_GAME_PARTY_SE_COUNT_TIME_03, + /* 0x74 */ RP_COM_GAME_PARTY_SE_COUNT_TIME_x_01, + /* 0x75 */ RP_COM_GAME_PARTY_SE_COUNT_01, + /* 0x76 */ RP_COM_GAME_PARTY_SE_COUNT_02, + /* 0x77 */ RP_COM_GAME_PARTY_SE_RESULT_KEY_A_01_CTSP, + /* 0x78 */ RP_COM_GAME_PARTY_SE_RESULT_KEY_A_01_TVSP, + /* 0x79 */ RP_COM_GAME_PARTY_SE_RESULT_KEY_A_01, + /* 0x7A */ RP_COM_GAME_PARTY_SE_RESULT_KEY_A_02_CTSP, + /* 0x7B */ RP_COM_GAME_PARTY_SE_RESULT_KEY_A_02_TVSP, + /* 0x7C */ RP_COM_GAME_PARTY_SE_RESULT_KEY_A_02, + /* 0x7D */ RP_COM_GAME_PARTY_SE_BUTTON_03, + /* 0x7E */ RP_COM_GAME_PARTY_SE_BUTTON_05, + /* 0x7F */ RP_COM_GAME_SE_PAUSE_KEY_A_01_CTSP, + /* 0x80 */ RP_COM_GAME_SE_PAUSE_KEY_A_01_TVSP, + /* 0x81 */ RP_COM_GAME_SE_PAUSE_KEY_A_01, + /* 0x82 */ RP_COM_GAME_SE_PAUSE_KEY_A_02_CTSP, + /* 0x83 */ RP_COM_GAME_SE_PAUSE_KEY_A_02_TVSP, + /* 0x84 */ RP_COM_GAME_SE_PAUSE_KEY_A_02, + /* 0x85 */ RP_COM_GAME_SE_PAUSE_KEY_A_03_CTSP, + /* 0x86 */ RP_COM_GAME_SE_PAUSE_KEY_A_03_TVSP, + /* 0x87 */ RP_COM_GAME_SE_PAUSE_KEY_A_03, + /* 0x88 */ RP_COM_GAME_SE_PAUSE_Cursor_01, + /* 0x89 */ RP_COM_GAME_SE_2P_WIN_LOSE_01, + /* 0x8A */ RP_COMMON_SE_MESS_10, + /* 0x8B */ RP_COMMON_SE_MESS_20, + /* 0x8C */ RP_COMMON_SE_KEY_A_04_CTSP, + /* 0x8D */ RP_COMMON_SE_KEY_A_04_TVSP, + /* 0x8E */ RP_COMMON_SE_KEY_A_04, + /* 0x8F */ RP_COMMON_SE_KEY_BACK_01_CTSP, + /* 0x90 */ RP_COMMON_SE_KEY_BACK_01_TVSP, + /* 0x91 */ RP_COMMON_SE_KEY_BACK_01, + /* 0x92 */ RP_COMMON_SE_KEY_CURSOR_01, + /* 0x93 */ RP_COW_BGM_RESULT, + /* 0x94 */ RP_COW_BGM_TIMEUPRESULT, + /* 0x95 */ RP_COW_BGM_PLAY, + /* 0x96 */ RP_COW_BGM_OPENING, + /* 0x97 */ RP_COW_BGM_PERFECT, + /* 0x98 */ RP_COW_BGM_ALLPERFECT, + /* 0x99 */ RP_COW_BGM_PERFECT_START, + /* 0x9A */ RP_COW_BGM_PERFECT_OOSAMA, + /* 0x9B */ RP_COM_BGM_GET_COPPER, + /* 0x9C */ RP_COM_BGM_GET_SILVER, + /* 0x9D */ RP_COM_BGM_GET_GOLD, + /* 0x9E */ RP_COM_BGM_GET_PLATINA, + /* 0x9F */ RP_COM_BGM_RENEW_RECORD2, + /* 0xA0 */ RP_COM_BGM_RENEW_RECORD +}; + +#endif diff --git a/include/Pack/RPAudio/archive/rp_Duc_sound.h b/include/Pack/RPAudio/archive/rp_Duc_sound.h new file mode 100644 index 00000000..f9a15414 --- /dev/null +++ b/include/Pack/RPAudio/archive/rp_Duc_sound.h @@ -0,0 +1,128 @@ +#ifndef RP_AUDIO_RP_DUC_SOUND_H +#define RP_AUDIO_RP_DUC_SOUND_H + +//! @addtogroup rp_audio +//! @{ + +//! @file +//! @brief Sound IDs for the RPDucScene sound archive + +//! @} + +enum { + /* 0x00 */ RP_DUC_AMB_01, + /* 0x01 */ RP_DUC_SE_TARGET_BOUND_GRASS, + /* 0x02 */ RP_DUC_SE_TARGET_GRASS_01, + /* 0x03 */ RP_DUC_SE_TARGET_GRASS_02, + /* 0x04 */ RP_DUC_SE_GUN_SHOT_01, + /* 0x05 */ RP_DUC_SE_GUN_SHOT_02, + /* 0x06 */ RP_DUC_SE_GUN_SHOT_03, + /* 0x07 */ RP_DUC_SE_GUN_SHOT_04, + /* 0x08 */ RP_DUC_SE_GUN_SHOT_05, + /* 0x09 */ RP_DUC_SE_GUN_SHOT_06, + /* 0x0A */ RP_DUC_SE_GUN_SHOT_BLANK_01, + /* 0x0B */ RP_DUC_SE_TARGET_BOMB_A_01, + /* 0x0C */ RP_DUC_SE_TARGET_BOMB_B_01, + /* 0x0D */ RP_DUC_SE_TARGET_BOMB_B_OK_01, + /* 0x0E */ RP_DUC_SE_TARGET_BOMB_B_NG_01, + /* 0x0F */ RP_DUC_SE_TARGET_BOMB_C_01, + /* 0x10 */ RP_DUC_SE_TARGET_BOMB_C_02, + /* 0x11 */ RP_DUC_SE_TARGET_BOMB_C_03, + /* 0x12 */ RP_DUC_SE_TARGET_BOMB_D_01, + /* 0x13 */ RP_DUC_SE_TARGET_BOMB_E_01, + /* 0x14 */ RP_DUC_SE_TARGET_BOMB_F_01, + /* 0x15 */ RP_DUC_SE_TARGET_BOMB_F_02, + /* 0x16 */ RP_DUC_SE_TARGET_BOMB_SP_A_01, + /* 0x17 */ RP_DUC_SE_TARGET_BOMB_SP_B_01, + /* 0x18 */ RP_DUC_SE_TARGET_BOMB_SP_C_01, + /* 0x19 */ RP_DUC_SE_TARGET_BOMB_SP_D_01, + /* 0x1A */ RP_DUC_SE_TARGET_BOMB_SP_E_01, + /* 0x1B */ RP_DUC_SE_TARGET_FLY_A_01, + /* 0x1C */ RP_DUC_SE_TARGET_FLY_B_01, + /* 0x1D */ RP_DUC_SE_TARGET_FLY_C_01, + /* 0x1E */ RP_DUC_SE_TARGET_FLY_C_CON_01, + /* 0x1F */ RP_DUC_SE_TARGET_FLY_D_01, + /* 0x20 */ RP_DUC_SE_TARGET_FLY_E_01, + /* 0x21 */ RP_DUC_SE_TARGET_FLY_F_01, + /* 0x22 */ RP_DUC_SE_OPEN_FLY_01, + /* 0x23 */ RP_DUC_SE_SIGN_LEVEL_01, + /* 0x24 */ RP_DUC_SE_SIGN_LEVEL_FINAL, + /* 0x25 */ RP_DUC_SE_SIGN_AMMO_01, + /* 0x26 */ RP_DUC_SE_SIGN_AMMO_CON_01, + /* 0x27 */ RP_DUC_SE_SIGN_TARGETS_01, + /* 0x28 */ RP_DUC_SE_GUN_SHOT_21, + /* 0x29 */ RP_DUC_SE_GUN_SHOT_22, + /* 0x2A */ RP_DUC_SE_GUN_SHOT_23, + /* 0x2B */ RP_DUC_SE_GUN_SHOT_24, + /* 0x2C */ RP_DUC_SE_GUN_SHOT_25, + /* 0x2D */ RP_DUC_SE_GUN_SHOT_26, + /* 0x2E */ RP_DUC_SE_PLAY_DOG_01, + /* 0x2F */ RP_DUC_SE_DEMO_DOG_01, + /* 0x30 */ RP_DUC_SE_DOLL_AWAY_01, + /* 0x31 */ RP_DUC_SE_DOLL_SAFE_01, + /* 0x32 */ RP_DUC_SE_DOLL_HAPPY_01, + /* 0x33 */ RP_DUC_SE_DOLL_TALK_01, + /* 0x34 */ RP_DUC_SE_DOLL_ON_01, + /* 0x35 */ RP_DUC_SE_DOLL_OFF_01, + /* 0x36 */ RP_DUC_SE_2P_CON_ON_1, + /* 0x37 */ RP_DUC_SE_2P_CON_ON_2, + /* 0x38 */ RP_COM_GAME_SE_PAUSE_01_CTSP, + /* 0x39 */ RP_COM_GAME_SE_PAUSE_01_TVSP, + /* 0x3A */ RP_COM_GAME_SE_PAUSE_01, + /* 0x3B */ RP_COM_GAME_PARTY_SE_A_01_CTSP, + /* 0x3C */ RP_COM_GAME_PARTY_SE_A_01_TVSP, + /* 0x3D */ RP_COM_GAME_PARTY_SE_A_01, + /* 0x3E */ RP_COM_GAME_PARTY_SE_Cursor_01, + /* 0x3F */ RP_COM_GAME_PARTY_SE_LANK_01, + /* 0x40 */ RP_COM_GAME_PARTY_SE_Win_Open_01, + /* 0x41 */ RP_COM_GAME_PARTY_SE_Win_Close_01, + /* 0x42 */ RP_COM_GAME_PARTY_SE_COUNT_TIME_01, + /* 0x43 */ RP_COM_GAME_PARTY_SE_COUNT_TIME_02, + /* 0x44 */ RP_COM_GAME_PARTY_SE_COUNT_TIME_03, + /* 0x45 */ RP_COM_GAME_PARTY_SE_COUNT_TIME_x_01, + /* 0x46 */ RP_COM_GAME_PARTY_SE_COUNT_01, + /* 0x47 */ RP_COM_GAME_PARTY_SE_COUNT_02, + /* 0x48 */ RP_COM_GAME_PARTY_SE_RESULT_KEY_A_01_CTSP, + /* 0x49 */ RP_COM_GAME_PARTY_SE_RESULT_KEY_A_01_TVSP, + /* 0x4A */ RP_COM_GAME_PARTY_SE_RESULT_KEY_A_01, + /* 0x4B */ RP_COM_GAME_PARTY_SE_RESULT_KEY_A_02_CTSP, + /* 0x4C */ RP_COM_GAME_PARTY_SE_RESULT_KEY_A_02_TVSP, + /* 0x4D */ RP_COM_GAME_PARTY_SE_RESULT_KEY_A_02, + /* 0x4E */ RP_COM_GAME_PARTY_SE_BUTTON_03, + /* 0x4F */ RP_COM_GAME_PARTY_SE_BUTTON_05, + /* 0x50 */ RP_COM_GAME_SE_PAUSE_KEY_A_01_CTSP, + /* 0x51 */ RP_COM_GAME_SE_PAUSE_KEY_A_01_TVSP, + /* 0x52 */ RP_COM_GAME_SE_PAUSE_KEY_A_01, + /* 0x53 */ RP_COM_GAME_SE_PAUSE_KEY_A_02_CTSP, + /* 0x54 */ RP_COM_GAME_SE_PAUSE_KEY_A_02_TVSP, + /* 0x55 */ RP_COM_GAME_SE_PAUSE_KEY_A_02, + /* 0x56 */ RP_COM_GAME_SE_PAUSE_KEY_A_03_CTSP, + /* 0x57 */ RP_COM_GAME_SE_PAUSE_KEY_A_03_TVSP, + /* 0x58 */ RP_COM_GAME_SE_PAUSE_KEY_A_03, + /* 0x59 */ RP_COM_GAME_SE_PAUSE_Cursor_01, + /* 0x5A */ RP_COM_GAME_SE_2P_WIN_LOSE_01, + /* 0x5B */ RP_COMMON_SE_MESS_10, + /* 0x5C */ RP_COMMON_SE_MESS_20, + /* 0x5D */ RP_COMMON_SE_KEY_A_04_CTSP, + /* 0x5E */ RP_COMMON_SE_KEY_A_04_TVSP, + /* 0x5F */ RP_COMMON_SE_KEY_A_04, + /* 0x60 */ RP_COMMON_SE_KEY_BACK_01_CTSP, + /* 0x61 */ RP_COMMON_SE_KEY_BACK_01_TVSP, + /* 0x62 */ RP_COMMON_SE_KEY_BACK_01, + /* 0x63 */ RP_COMMON_SE_KEY_CURSOR_01, + /* 0x64 */ RP_DUC_BGM_START, + /* 0x65 */ RP_DUC_BGM_LEVEL_UP, + /* 0x66 */ RP_DUC_BGM_LEVEL_FIN, + /* 0x67 */ RP_DUC_BGM_FANFARE_WIN, + /* 0x68 */ RP_DUC_BGM_FANFARE_DRAW, + /* 0x69 */ RP_DUC_BGM_COMBO_HIT, + /* 0x6A */ RP_DUC_BGM_COMBO_BONUS, + /* 0x6B */ RP_COM_BGM_GET_COPPER, + /* 0x6C */ RP_COM_BGM_GET_SILVER, + /* 0x6D */ RP_COM_BGM_GET_GOLD, + /* 0x6E */ RP_COM_BGM_GET_PLATINA, + /* 0x6F */ RP_COM_BGM_RENEW_RECORD2, + /* 0x70 */ RP_COM_BGM_RENEW_RECORD +}; + +#endif diff --git a/include/Pack/RPAudio/archive/rp_Fsh_sound.h b/include/Pack/RPAudio/archive/rp_Fsh_sound.h new file mode 100644 index 00000000..60855e36 --- /dev/null +++ b/include/Pack/RPAudio/archive/rp_Fsh_sound.h @@ -0,0 +1,135 @@ +#ifndef RP_AUDIO_RP_FSH_SOUND_H +#define RP_AUDIO_RP_FSH_SOUND_H + +//! @addtogroup rp_audio +//! @{ + +//! @file +//! @brief Sound IDs for the RPFshSound sound archive + +//! @} + +enum { + /* 0x00 */ RP_FSH_SE_FISH_ROD_CATCH_01, + /* 0x01 */ RP_FSH_SE_FISH_ROD_SWING_01, + /* 0x02 */ RP_FSH_SE_FEED_FLY_01, + /* 0x03 */ RP_FSH_SE_FEED_PUT_01, + /* 0x04 */ RP_FSH_SE_DROP_IN_01, + /* 0x05 */ RP_FSH_SE_DROP_OUT_01, + /* 0x06 */ RP_FSH_SE_ROD_MOVE_01, + /* 0x07 */ RP_FSH_SE_CON_PECK_S, + /* 0x08 */ RP_FSH_SE_CON_PECK_M, + /* 0x09 */ RP_FSH_SE_CON_PECK_L, + /* 0x0A */ RP_FSH_SE_CON_PECK_XL, + /* 0x0B */ RP_FSH_SE_FISH_HIT_RED_01, + /* 0x0C */ RP_FSH_SE_FISH_HIT_01, + /* 0x0D */ RP_FSH_SE_FISH_HIT_02, + /* 0x0E */ RP_FSH_SE_FISH_HIT_03, + /* 0x0F */ RP_FSH_SE_FISH_HIT_04, + /* 0x10 */ RP_FSH_SE_FISH_HIT_CON_S, + /* 0x11 */ RP_FSH_SE_FISH_HIT_CON_M, + /* 0x12 */ RP_FSH_SE_FISH_HIT_CON_L, + /* 0x13 */ RP_FSH_SE_FISH_HIT_CON_XL, + /* 0x14 */ RP_FSH_SE_FISH_UP_01, + /* 0x15 */ RP_FSH_SE_FISH_UP_02, + /* 0x16 */ RP_FSH_SE_FISH_UP_03, + /* 0x17 */ RP_FSH_SE_FISH_UP_04, + /* 0x18 */ RP_FSH_SE_FISH_UP_NG_01, + /* 0x19 */ RP_FSH_SE_FISH_UP_CON_S, + /* 0x1A */ RP_FSH_SE_FISH_UP_CON_M, + /* 0x1B */ RP_FSH_SE_FISH_UP_CON_L, + /* 0x1C */ RP_FSH_SE_FISH_UP_CON_XL, + /* 0x1D */ RP_FSH_SE_FISH_UP_NG_CON_01, + /* 0x1E */ RP_FSH_SE_CHEER_01, + /* 0x1F */ RP_FSH_SE_CHEER_02, + /* 0x20 */ RP_FSH_SE_CHEER_03, + /* 0x21 */ RP_FSH_SE_RESULT_WIN_01, + /* 0x22 */ RP_FSH_SE_FISH_UP_FAIL_01, + /* 0x23 */ RP_FSH_SE_RESULT_COUNT_01, + /* 0x24 */ RP_FSH_SE_SYS_COUNT_01, + /* 0x25 */ RP_FSH_SE_SYS_COUNT_02, + /* 0x26 */ RP_FSH_SE_SYS_COUNT_DOWN_01, + /* 0x27 */ RP_FSH_SE_SYS_COUNT_DOWN_02, + /* 0x28 */ RP_FSH_AMB_01, + /* 0x29 */ RP_FSH_SE_SYS_COUNT_STOP_01, + /* 0x2A */ RP_FSH_SE_SYS_COUNT_STOP_02, + /* 0x2B */ RP_FSH_SE_COUNT_01, + /* 0x2C */ RP_FSH_SE_COUNT_02, + /* 0x2D */ RP_FSH_SE_SYS_COUNTDOWN_10, + /* 0x2E */ RP_FSH_SE_SYS_COUNTDOWN_09, + /* 0x2F */ RP_FSH_SE_SYS_COUNTDOWN_08, + /* 0x30 */ RP_FSH_SE_SYS_COUNTDOWN_07, + /* 0x31 */ RP_FSH_SE_SYS_COUNTDOWN_06, + /* 0x32 */ RP_FSH_SE_SYS_COUNTDOWN_05, + /* 0x33 */ RP_FSH_SE_SYS_COUNTDOWN_04, + /* 0x34 */ RP_FSH_SE_SYS_COUNTDOWN_03, + /* 0x35 */ RP_FSH_SE_SYS_COUNTDOWN_02, + /* 0x36 */ RP_FSH_SE_SYS_COUNTDOWN_01, + /* 0x37 */ RP_FSH_SE_SYS_COUNTDOWN_00, + /* 0x38 */ RP_FSH_SE_SYS_BONUSFISH_01, + /* 0x39 */ RP_FSH_SE_SYS_BONUSFISH_FIX_01, + /* 0x3A */ RP_FSH_SE_SYS_WIN_01, + /* 0x3B */ RP_COM_GAME_SE_PAUSE_01_CTSP, + /* 0x3C */ RP_COM_GAME_SE_PAUSE_01_TVSP, + /* 0x3D */ RP_COM_GAME_SE_PAUSE_01, + /* 0x3E */ RP_COM_GAME_PARTY_SE_A_01_CTSP, + /* 0x3F */ RP_COM_GAME_PARTY_SE_A_01_TVSP, + /* 0x40 */ RP_COM_GAME_PARTY_SE_A_01, + /* 0x41 */ RP_COM_GAME_PARTY_SE_Cursor_01, + /* 0x42 */ RP_COM_GAME_PARTY_SE_LANK_01, + /* 0x43 */ RP_COM_GAME_PARTY_SE_Win_Open_01, + /* 0x44 */ RP_COM_GAME_PARTY_SE_Win_Close_01, + /* 0x45 */ RP_COM_GAME_PARTY_SE_COUNT_TIME_01, + /* 0x46 */ RP_COM_GAME_PARTY_SE_COUNT_TIME_02, + /* 0x47 */ RP_COM_GAME_PARTY_SE_COUNT_TIME_03, + /* 0x48 */ RP_COM_GAME_PARTY_SE_COUNT_TIME_x_01, + /* 0x49 */ RP_COM_GAME_PARTY_SE_COUNT_01, + /* 0x4A */ RP_COM_GAME_PARTY_SE_COUNT_02, + /* 0x4B */ RP_COM_GAME_PARTY_SE_RESULT_KEY_A_01_CTSP, + /* 0x4C */ RP_COM_GAME_PARTY_SE_RESULT_KEY_A_01_TVSP, + /* 0x4D */ RP_COM_GAME_PARTY_SE_RESULT_KEY_A_01, + /* 0x4E */ RP_COM_GAME_PARTY_SE_RESULT_KEY_A_02_CTSP, + /* 0x4F */ RP_COM_GAME_PARTY_SE_RESULT_KEY_A_02_TVSP, + /* 0x50 */ RP_COM_GAME_PARTY_SE_RESULT_KEY_A_02, + /* 0x51 */ RP_COM_GAME_PARTY_SE_BUTTON_03, + /* 0x52 */ RP_COM_GAME_PARTY_SE_BUTTON_05, + /* 0x53 */ RP_COM_GAME_SE_PAUSE_KEY_A_01_CTSP, + /* 0x54 */ RP_COM_GAME_SE_PAUSE_KEY_A_01_TVSP, + /* 0x55 */ RP_COM_GAME_SE_PAUSE_KEY_A_01, + /* 0x56 */ RP_COM_GAME_SE_PAUSE_KEY_A_02_CTSP, + /* 0x57 */ RP_COM_GAME_SE_PAUSE_KEY_A_02_TVSP, + /* 0x58 */ RP_COM_GAME_SE_PAUSE_KEY_A_02, + /* 0x59 */ RP_COM_GAME_SE_PAUSE_KEY_A_03_CTSP, + /* 0x5A */ RP_COM_GAME_SE_PAUSE_KEY_A_03_TVSP, + /* 0x5B */ RP_COM_GAME_SE_PAUSE_KEY_A_03, + /* 0x5C */ RP_COM_GAME_SE_PAUSE_Cursor_01, + /* 0x5D */ RP_COM_GAME_SE_2P_WIN_LOSE_01, + /* 0x5E */ RP_COMMON_SE_MESS_10, + /* 0x5F */ RP_COMMON_SE_MESS_20, + /* 0x60 */ RP_COMMON_SE_KEY_A_04_CTSP, + /* 0x61 */ RP_COMMON_SE_KEY_A_04_TVSP, + /* 0x62 */ RP_COMMON_SE_KEY_A_04, + /* 0x63 */ RP_COMMON_SE_KEY_BACK_01_CTSP, + /* 0x64 */ RP_COMMON_SE_KEY_BACK_01_TVSP, + /* 0x65 */ RP_COMMON_SE_KEY_BACK_01, + /* 0x66 */ RP_COMMON_SE_KEY_CURSOR_01, + /* 0x67 */ RP_FSH_BGM_FISH_START, + /* 0x68 */ RP_FSH_BGM_FISH_FISHING, + /* 0x69 */ RP_FSH_BGM_FISH_GET, + /* 0x6A */ RP_FSH_BGM_FISH_GET2, + /* 0x6B */ RP_FSH_BGM_FISH_GET_ZACO, + /* 0x6C */ RP_FSH_BGM_FISH_GET_ZACO2, + /* 0x6D */ RP_FSH_BGM_FISH_GET_BONUS, + /* 0x6E */ RP_FSH_BGM_FISH_GET_BONUS2, + /* 0x6F */ RP_FSH_BGM_FISH_FANFARE_WIN, + /* 0x70 */ RP_FSH_BGM_FISH_FANFARE_DRAW, + /* 0x71 */ RP_FSH_BGM_FISH_RESULT_DRAW, + /* 0x72 */ RP_COM_BGM_GET_COPPER, + /* 0x73 */ RP_COM_BGM_GET_SILVER, + /* 0x74 */ RP_COM_BGM_GET_GOLD, + /* 0x75 */ RP_COM_BGM_GET_PLATINA, + /* 0x76 */ RP_COM_BGM_RENEW_RECORD2, + /* 0x77 */ RP_COM_BGM_RENEW_RECORD +}; + +#endif diff --git a/include/Pack/RPAudio/archive/rp_Gol_sound.h b/include/Pack/RPAudio/archive/rp_Gol_sound.h new file mode 100644 index 00000000..f4665437 --- /dev/null +++ b/include/Pack/RPAudio/archive/rp_Gol_sound.h @@ -0,0 +1,229 @@ +#ifndef RP_AUDIO_RP_GOL_SOUND_H +#define RP_AUDIO_RP_GOL_SOUND_H + +//! @addtogroup rp_audio +//! @{ + +//! @file +//! @brief Sound IDs for the RPGolScene sound archive + +//! @} + +enum { + /* 0x00 */ SE_TR_FlagHit, + /* 0x01 */ SE_TR_DRIVER_HIT, + /* 0x02 */ SE_TR_DRIVER_HIT_TVSP, + /* 0x03 */ SE_TR_IRON_HIT, + /* 0x04 */ SE_TR_IRON_HIT_TVSP, + /* 0x05 */ SE_TR_PUTTER_HIT, + /* 0x06 */ SE_TR_PUTTER_HIT_TVSP, + /* 0x07 */ SE_TR_SWING_DRIVER, + /* 0x08 */ SE_TR_SWING_DRIVER_TVSP, + /* 0x09 */ SE_TR_SWING_IRON, + /* 0x0A */ SE_TR_SWING_IRON_TVSP, + /* 0x0B */ SE_TR_SWING_PUTTER, + /* 0x0C */ SE_TR_SWING_PUTTER_TVSP, + /* 0x0D */ SE_TR_HIT_GROUND_PIN, + /* 0x0E */ SE_TR_HIT_GROUND_PIN_TVSP, + /* 0x0F */ SE_TR_HIT_GROUND_FAIRWAY, + /* 0x10 */ SE_TR_HIT_GROUND_FAIRWAY_TVSP, + /* 0x11 */ SE_TR_HIT_GROUND_GREEN, + /* 0x12 */ SE_TR_HIT_GROUND_GREEN_TVSP, + /* 0x13 */ SE_TR_HIT_GROUND_ROUGH, + /* 0x14 */ SE_TR_HIT_GROUND_ROUGH_TVSP, + /* 0x15 */ SE_TR_HIT_GROUND_SAND, + /* 0x16 */ SE_TR_HIT_GROUND_SAND_TVSP, + /* 0x17 */ SE_TR_HIT_GROUND_WATER, + /* 0x18 */ SE_TR_HIT_GROUND_WATER_TVSP, + /* 0x19 */ SE_TR_HIT_GROUND_ROCK, + /* 0x1A */ SE_TR_HIT_GROUND_ROCK_TVSP, + /* 0x1B */ SE_TR_StepFront, + /* 0x1C */ SE_TR_StepFront_TVSP, + /* 0x1D */ SE_TR_StepBack, + /* 0x1E */ SE_TR_StepBack_TVSP, + /* 0x1F */ SE_TR_CameraHiku, + /* 0x20 */ SE_TR_CameraHiku_TVSP, + /* 0x21 */ SE_TR_CameraYoru, + /* 0x22 */ SE_TR_CameraYoru_TVSP, + /* 0x23 */ SE_TR_ToukousenDisp, + /* 0x24 */ SE_TR_ToukousenDisp_TVSP, + /* 0x25 */ SE_TR_ToukousenClose, + /* 0x26 */ SE_TR_ToukousenClose_TVSP, + /* 0x27 */ SE_TR_SwingOver, + /* 0x28 */ SE_TR_SwingOver_TVSP, + /* 0x29 */ SE_LV_ShotAngleAdj, + /* 0x2A */ SE_LV_ShotAngleAdj_TVSP, + /* 0x2B */ SE_TR_BALL_BOUND_FAIRWAY, + /* 0x2C */ SE_TR_BALL_BOUND_GREEN, + /* 0x2D */ SE_TR_BALL_BOUND_ROUGH, + /* 0x2E */ SE_TR_BALL_BOUND_SAND, + /* 0x2F */ SE_TR_BALL_BOUND_ROCK, + /* 0x30 */ SE_TR_BALL_IN_WATER, + /* 0x31 */ SE_LV_BALL_ROLL_FAIRWAY, + /* 0x32 */ SE_LV_BALL_ROLL_GREEN, + /* 0x33 */ SE_LV_BALL_ROLL_ROUGH, + /* 0x34 */ SE_LV_BALL_ROLL_SAND, + /* 0x35 */ SE_LV_BALL_ROLL_ROCK, + /* 0x36 */ SE_TR_CUP_IN, + /* 0x37 */ SE_TR_BallInForest, + /* 0x38 */ SE_TR_BallHitTree, + /* 0x39 */ SE_TR_OB_SoundEffect, + /* 0x3A */ SE_TR_TryMistake_SoundEffect, + /* 0x3B */ SE_TR_CupKerareta, + /* 0x3C */ SE_TR_BallRest, + /* 0x3D */ SE_TR_GiveUp, + /* 0x3E */ SE_TR_Training_OnePatTry_TriAgain, + /* 0x3F */ SE_TR_Training_OK, + /* 0x40 */ SE_TR_Training_NearPin_Miss, + /* 0x41 */ SE_TR_Training_Target_WindDisp, + /* 0x42 */ SE_TR_Training_Target_Point_NG, + /* 0x43 */ SE_TR_Training_Target_Point_OK, + /* 0x44 */ SE_TR_Training_Target_PointGet0, + /* 0x45 */ SE_TR_Training_Target_PointGet5, + /* 0x46 */ SE_TR_Training_Target_PointGet25, + /* 0x47 */ SE_TR_Training_Target_PointGet50, + /* 0x48 */ SE_TR_Training_Target_PointGet75, + /* 0x49 */ SE_TR_Training_Target_PointGet100, + /* 0x4A */ SE_TR_FLAG_POLE_HIT, + /* 0x4B */ SE_TR_MAP_ZOOM_UP, + /* 0x4C */ SE_LV_MAP_ZOOM_UP, + /* 0x4D */ SE_TR_Gol_Cursol, + /* 0x4E */ SE_TR_Gol_Decide, + /* 0x4F */ SE_TR_Gol_Decide_TVSP, + /* 0x50 */ SE_TR_ClubChange_CTSP, + /* 0x51 */ SE_TR_ClubChange_TVSP, + /* 0x52 */ START_SE_TR_ClubChangeError_CTSP, + /* 0x53 */ START_SE_TR_ClubChangeError_TVSP, + /* 0x54 */ SE_TR_Training_OnePat_NiceIn, + /* 0x55 */ SE_TR_Training_NearPin_NiceOn, + /* 0x56 */ SE_TR_Training_NearPin_ChipIn, + /* 0x57 */ SE_TR_Training_PointDisp, + /* 0x58 */ SE_TR_Training_Target_FallPoint, + /* 0x59 */ SE_TR_Kansei_Hakushu, + /* 0x5A */ SE_TR_Kansei_Kanshin, + /* 0x5B */ SE_TR_Kansei_Shukufuku, + /* 0x5C */ SE_TR_Kansei_Zannen, + /* 0x5D */ SE_TR_Kansei_Rakutan, + /* 0x5E */ SE_TR_Kansei_HoleInOne, + /* 0x5F */ SE_TR_Kansei_Kitai, + /* 0x60 */ SE_TR_Kansei_ShukufukuBig, + /* 0x61 */ SE_LV_Env_ForestShot, + /* 0x62 */ SE_LV_Env_TeeShot, + /* 0x63 */ SE_LV_Env_Green, + /* 0x64 */ SE_LV_Env_Other, + /* 0x65 */ SE_LV_Env2_River, + /* 0x66 */ SE_LV_Env2_Sea, + /* 0x67 */ SE_LV_Wind, + /* 0x68 */ BGM_CoursePresentationDemo, + /* 0x69 */ BGM_GameResultDisp, + /* 0x6A */ BGM_TrainingResultDisp, + /* 0x6B */ BGM_CourseSelect, + /* 0x6C */ BGM_Training_Nearpin, + /* 0x6D */ BGM_Training_Onepat, + /* 0x6E */ BGM_Training_Target, + /* 0x6F */ FANFARE_TR_Training_Target, + /* 0x70 */ FANFARE_DoubleBogey, + /* 0x71 */ FANFARE_Bogey, + /* 0x72 */ FANFARE_Par, + /* 0x73 */ FANFARE_Birdie, + /* 0x74 */ FANFARE_Eagle, + /* 0x75 */ FANFARE_Albatross, + /* 0x76 */ FANFARE_HoleInOne, + /* 0x77 */ FANFARE_BallStop, + /* 0x78 */ FANFARE_Training_Target_PointGet_2D_0, + /* 0x79 */ FANFARE_Training_Target_PointGet_2D_5, + /* 0x7A */ FANFARE_Training_Target_PointGet_2D_25, + /* 0x7B */ FANFARE_Training_Target_PointGet_2D_50, + /* 0x7C */ FANFARE_Training_Target_PointGet_2D_75, + /* 0x7D */ FANFARE_Training_Target_PointGet_2D_100, + /* 0x7E */ VOICE_TR_Nice_Shot, + /* 0x7F */ VOICE_TR_NiceOn, + /* 0x80 */ VOICE_TR_NiceIn, + /* 0x81 */ VOICE_TR_HoleInOne, + /* 0x82 */ VOICE_TR_NiceApproach, + /* 0x83 */ VOICE_TR_NicePar, + /* 0x84 */ VOICE_TR_NiceBirdie, + /* 0x85 */ VOICE_TR_NiceEagle, + /* 0x86 */ VOICE_TR_NiceAlbatross, + /* 0x87 */ VOICE_TR_TryAgain, + /* 0x88 */ VOICE_TR_ChipIn, + /* 0x89 */ VOICE_TR_ChipIn_Birdie, + /* 0x8A */ VOICE_TR_ChipIn_Eagle, + /* 0x8B */ VOICE_TR_ChipIn_Albatross, + /* 0x8C */ VOICE_TR_CharangeCleared, + /* 0x8D */ RP_COM_GAME_SE_PAUSE_01_CTSP, + /* 0x8E */ RP_COM_GAME_SE_PAUSE_01_TVSP, + /* 0x8F */ RP_COM_GAME_SE_PAUSE_01, + /* 0x90 */ FANFARE_GameSet, + /* 0x91 */ FANFARE_GameSet_Win, + /* 0x92 */ FANFARE_GameSet_Lose, + /* 0x93 */ FANFARE_GameSet_Tie, + /* 0x94 */ SE_TR_Common_KeikokuForDebug, + /* 0x95 */ SE_TR_Common_Sports_Cursol, + /* 0x96 */ SE_TR_Common_Sports_Decide, + /* 0x97 */ SE_TR_Common_Sports_Decide_TVSP, + /* 0x98 */ SE_TR_Common_Sports_DecideBig, + /* 0x99 */ SE_TR_Common_Sports_DecideBig_TVSP, + /* 0x9A */ SE_TR_Common_Sports_DemoSkipButton, + /* 0x9B */ SE_TR_Common_Sports_DemoSkipButton_TVSP, + /* 0x9C */ SE_TR_Common_Sports_Cancel, + /* 0x9D */ SE_TR_Common_Sports_Cancel_TVSP, + /* 0x9E */ SE_TR_Common_Sports_Wipe, + /* 0x9F */ SE_TR_Common_Jyunban, + /* 0xA0 */ SE_TR_Common_Jyunban_TVSP, + /* 0xA1 */ SE_TR_Common_Medal_Platinum, + /* 0xA2 */ SE_TR_Common_Medal_Gold, + /* 0xA3 */ SE_TR_Common_Medal_Silver, + /* 0xA4 */ SE_TR_Common_Medal_Copper, + /* 0xA5 */ SE_TR_Common_Sports_Game_Start, + /* 0xA6 */ SE_TR_Common_Sports_Game_End, + /* 0xA7 */ SE_TR_Common_Sports_MyBestRecord, + /* 0xA8 */ SE_TR_Common_Sports_KanseiRecord, + /* 0xA9 */ SE_TR_Common_Sports_Training_Good, + /* 0xAA */ SE_TR_Common_Sports_Training_GoodLong, + /* 0xAB */ SE_TR_Common_Sports_Training_VeryGoodLong, + /* 0xAC */ SE_TR_Common_Sports_Training_GoodLongSoft, + /* 0xAD */ SE_TR_Common_Sports_Training_NotGood, + /* 0xAE */ RP_COM_GAME_SE_PAUSE_KEY_A_02_CTSP, + /* 0xAF */ RP_COM_GAME_SE_PAUSE_KEY_A_02_TVSP, + /* 0xB0 */ RP_COM_GAME_SE_PAUSE_KEY_A_02, + /* 0xB1 */ RP_COM_GAME_SE_PAUSE_KEY_A_03_CTSP, + /* 0xB2 */ RP_COM_GAME_SE_PAUSE_KEY_A_03_TVSP, + /* 0xB3 */ RP_COM_GAME_SE_PAUSE_KEY_A_03, + /* 0xB4 */ RP_COM_GAME_SE_PAUSE_Cursor_01, + /* 0xB5 */ SE_LV_Common_click_CTSP, + /* 0xB6 */ SE_LV_Common_click_TVSP, + /* 0xB7 */ SE_TR_Common_ModeChange_CTSP, + /* 0xB8 */ SE_TR_Common_ModeChange_TVSP, + /* 0xB9 */ SE_TR_Common_KeyError_CTSP, + /* 0xBA */ SE_TR_Common_KeyError_TVSP, + /* 0xBB */ RP_COMMON_SE_KEY_CURSOR_01, + /* 0xBC */ RP_COMMON_SE_KEY_BACK_01_CTSP, + /* 0xBD */ RP_COMMON_SE_KEY_BACK_01_TVSP, + /* 0xBE */ SE_TR_COMMON_win_OPEN, + /* 0xBF */ SE_TR_COMMON_win_CLOSE, + /* 0xC0 */ SE_TR_COMMON_Jyukurendo_ScoreFlash, + /* 0xC1 */ SE_TR_COMMON_Jyukurendo_NameFlash, + /* 0xC2 */ SE_TR_COMMON_Jyukurendo_NameSmoke, + /* 0xC3 */ SE_TR_COMMON_Push_AB_CTSP, + /* 0xC4 */ SE_TR_COMMON_Push_AB_TVSP, + /* 0xC5 */ VOICE_TR_Common_BronzeMedal, + /* 0xC6 */ VOICE_TR_Common_SilverMedal, + /* 0xC7 */ VOICE_TR_Common_GoldMedal, + /* 0xC8 */ VOICE_TR_Common_PlatinumMedal, + /* 0xC9 */ VOICE_TR_Common_HighScore, + /* 0xCA */ STRM_Training_Result01, + /* 0xCB */ STRM_Training_Result02, + /* 0xCC */ STRM_Training_Result03, + /* 0xCD */ Bgm_Tutorial, + /* 0xCE */ RP_COMMON_SE_MESS_10, + /* 0xCF */ RP_COMMON_SE_MESS_20, + /* 0xD0 */ RP_COMMON_SE_KEY_A_04_CTSP, + /* 0xD1 */ RP_COMMON_SE_KEY_A_04_TVSP, + /* 0xD2 */ RP_COMMON_SE_KEY_A_04, + /* 0xD3 */ RP_COM_GAME_SE_PAUSE_KEY_A_01_CTSP, + /* 0xD4 */ RP_COM_GAME_SE_PAUSE_KEY_A_01_TVSP, + /* 0xD5 */ RP_COM_GAME_SE_PAUSE_KEY_A_01 +}; + +#endif diff --git a/include/Pack/RPAudio/archive/rp_Hky_sound.h b/include/Pack/RPAudio/archive/rp_Hky_sound.h new file mode 100644 index 00000000..595d8032 --- /dev/null +++ b/include/Pack/RPAudio/archive/rp_Hky_sound.h @@ -0,0 +1,91 @@ +#ifndef RP_AUDIO_RP_HKY_SOUND_H +#define RP_AUDIO_RP_HKY_SOUND_H + +//! @addtogroup rp_audio +//! @{ + +//! @file +//! @brief Sound IDs for the RPHkyScene sound archive + +//! @} + +enum { + /* 0x00 */ RP_HKY_SE_HIT_A_01, + /* 0x01 */ RP_HKY_SE_HIT_B_01, + /* 0x02 */ RP_HKY_SE_Bound_Wall_A_01, + /* 0x03 */ RP_HKY_SE_Bound_Wall_B_01, + /* 0x04 */ RP_HKY_SE_GOAL_A_01, + /* 0x05 */ RP_HKY_SE_GOAL_B_01, + /* 0x06 */ RP_HKY_SE_GOAL_A_CON_01, + /* 0x07 */ RP_HKY_SE_GOAL_B_CON_01, + /* 0x08 */ RP_HKY_SE_Count_01, + /* 0x09 */ RP_HKY_SE_Count_02, + /* 0x0A */ RP_HKY_SE_Count_POINT_01, + /* 0x0B */ RP_HKY_SE_Count_POINT_02, + /* 0x0C */ RP_HKY_SYS_TIME_COUNT_01, + /* 0x0D */ RP_HKY_SYS_TIME_COUNT_02, + /* 0x0E */ RP_HKY_SYS_TIME_COUNT_03, + /* 0x0F */ RP_HKY_SYS_TIME_COUNT_10, + /* 0x10 */ RP_HKY_SE_SWING_01, + /* 0x11 */ RP_HKY_SE_SWING_02, + /* 0x12 */ RP_HKY_SE_FINISH_01, + /* 0x13 */ RP_HKY_SE_Pack_Change_01, + /* 0x14 */ RP_HKY_SE_Pack_Change_02, + /* 0x15 */ RP_COM_GAME_SE_PAUSE_01_CTSP, + /* 0x16 */ RP_COM_GAME_SE_PAUSE_01_TVSP, + /* 0x17 */ RP_COM_GAME_SE_PAUSE_01, + /* 0x18 */ RP_COM_GAME_PARTY_SE_A_01_CTSP, + /* 0x19 */ RP_COM_GAME_PARTY_SE_A_01_TVSP, + /* 0x1A */ RP_COM_GAME_PARTY_SE_A_01, + /* 0x1B */ RP_COM_GAME_PARTY_SE_Cursor_01, + /* 0x1C */ RP_COM_GAME_PARTY_SE_LANK_01, + /* 0x1D */ RP_COM_GAME_PARTY_SE_Win_Open_01, + /* 0x1E */ RP_COM_GAME_PARTY_SE_Win_Close_01, + /* 0x1F */ RP_COM_GAME_PARTY_SE_COUNT_TIME_01, + /* 0x20 */ RP_COM_GAME_PARTY_SE_COUNT_TIME_02, + /* 0x21 */ RP_COM_GAME_PARTY_SE_COUNT_TIME_03, + /* 0x22 */ RP_COM_GAME_PARTY_SE_COUNT_TIME_x_01, + /* 0x23 */ RP_COM_GAME_PARTY_SE_COUNT_01, + /* 0x24 */ RP_COM_GAME_PARTY_SE_COUNT_02, + /* 0x25 */ RP_COM_GAME_PARTY_SE_RESULT_KEY_A_01_CTSP, + /* 0x26 */ RP_COM_GAME_PARTY_SE_RESULT_KEY_A_01_TVSP, + /* 0x27 */ RP_COM_GAME_PARTY_SE_RESULT_KEY_A_01, + /* 0x28 */ RP_COM_GAME_PARTY_SE_RESULT_KEY_A_02_CTSP, + /* 0x29 */ RP_COM_GAME_PARTY_SE_RESULT_KEY_A_02_TVSP, + /* 0x2A */ RP_COM_GAME_PARTY_SE_RESULT_KEY_A_02, + /* 0x2B */ RP_COM_GAME_PARTY_SE_BUTTON_03, + /* 0x2C */ RP_COM_GAME_PARTY_SE_BUTTON_05, + /* 0x2D */ RP_COM_GAME_SE_PAUSE_KEY_A_01_CTSP, + /* 0x2E */ RP_COM_GAME_SE_PAUSE_KEY_A_01_TVSP, + /* 0x2F */ RP_COM_GAME_SE_PAUSE_KEY_A_01, + /* 0x30 */ RP_COM_GAME_SE_PAUSE_KEY_A_02_CTSP, + /* 0x31 */ RP_COM_GAME_SE_PAUSE_KEY_A_02_TVSP, + /* 0x32 */ RP_COM_GAME_SE_PAUSE_KEY_A_02, + /* 0x33 */ RP_COM_GAME_SE_PAUSE_KEY_A_03_CTSP, + /* 0x34 */ RP_COM_GAME_SE_PAUSE_KEY_A_03_TVSP, + /* 0x35 */ RP_COM_GAME_SE_PAUSE_KEY_A_03, + /* 0x36 */ RP_COM_GAME_SE_PAUSE_Cursor_01, + /* 0x37 */ RP_COM_GAME_SE_2P_WIN_LOSE_01, + /* 0x38 */ RP_COMMON_SE_MESS_10, + /* 0x39 */ RP_COMMON_SE_MESS_20, + /* 0x3A */ RP_COMMON_SE_KEY_A_04_CTSP, + /* 0x3B */ RP_COMMON_SE_KEY_A_04_TVSP, + /* 0x3C */ RP_COMMON_SE_KEY_A_04, + /* 0x3D */ RP_COMMON_SE_KEY_BACK_01_CTSP, + /* 0x3E */ RP_COMMON_SE_KEY_BACK_01_TVSP, + /* 0x3F */ RP_COMMON_SE_KEY_BACK_01, + /* 0x40 */ RP_COMMON_SE_KEY_CURSOR_01, + /* 0x41 */ RP_HKY_GOLL_STRM, + /* 0x42 */ RP_HKY_GOLL2_STRM, + /* 0x43 */ RP_HKY_BGM_START, + /* 0x44 */ RP_HKY_BGM_ALL_PLAY, + /* 0x45 */ RP_HKY_BGM_ALL_RESULT, + /* 0x46 */ RP_COM_BGM_GET_COPPER, + /* 0x47 */ RP_COM_BGM_GET_SILVER, + /* 0x48 */ RP_COM_BGM_GET_GOLD, + /* 0x49 */ RP_COM_BGM_GET_PLATINA, + /* 0x4A */ RP_COM_BGM_RENEW_RECORD2, + /* 0x4B */ RP_COM_BGM_RENEW_RECORD +}; + +#endif diff --git a/include/Pack/RPAudio/archive/rp_Pnp_sound.h b/include/Pack/RPAudio/archive/rp_Pnp_sound.h new file mode 100644 index 00000000..fbd802fd --- /dev/null +++ b/include/Pack/RPAudio/archive/rp_Pnp_sound.h @@ -0,0 +1,136 @@ +#ifndef RP_AUDIO_RP_PNP_SOUND_H +#define RP_AUDIO_RP_PNP_SOUND_H + +//! @addtogroup rp_audio +//! @{ + +//! @file +//! @brief Sound IDs for the RPPnpScene sound archive + +//! @} + +enum { + /* 0x00 */ RP_PNP_SE_HIT_ME_L_01, + /* 0x01 */ RP_PNP_SE_HIT_ME_L_02, + /* 0x02 */ RP_PNP_SE_HIT_ME_L_03, + /* 0x03 */ RP_PNP_SE_HIT_ME_A_1P_01, + /* 0x04 */ RP_PNP_SE_HIT_ME_A_1P_02, + /* 0x05 */ RP_PNP_SE_HIT_ME_A_1P_03, + /* 0x06 */ RP_PNP_SE_HIT_ME_A_2P_01, + /* 0x07 */ RP_PNP_SE_HIT_ME_A_2P_02, + /* 0x08 */ RP_PNP_SE_HIT_ME_A_2P_03, + /* 0x09 */ RP_PNP_SE_HIT_ME_B_1P_01, + /* 0x0A */ RP_PNP_SE_HIT_ME_B_1P_02, + /* 0x0B */ RP_PNP_SE_HIT_ME_C_1P_01, + /* 0x0C */ RP_PNP_SE_HIT_ME_D_1P_01, + /* 0x0D */ RP_PNP_AMB_01, + /* 0x0E */ RP_PNP_AMB_02, + /* 0x0F */ RP_PNP_SE_HIT_ME_01_2, + /* 0x10 */ RP_PNP_SE_HIT_ME_01_3, + /* 0x11 */ RP_PNP_SE_HIT_ME_01_4, + /* 0x12 */ RP_PNP_SE_HIT_ME_01_5, + /* 0x13 */ RP_PNP_SE_HIT_ME_01, + /* 0x14 */ RP_PNP_SE_HIT_YOU_01, + /* 0x15 */ RP_PNP_SE_BOUND_ME_01, + /* 0x16 */ RP_PNP_SE_BOUND_YOU_01, + /* 0x17 */ RP_PNP_SE_HIT_ME_NG_01, + /* 0x18 */ RP_PNP_SE_HIT_YOU_NG_01, + /* 0x19 */ RP_PNP_SE_HIT_ME_SMASH_01, + /* 0x1A */ RP_PNP_SE_HIT_YOU_SMASH_01, + /* 0x1B */ RP_PNP_SE_HIT_1P_01, + /* 0x1C */ RP_PNP_SE_HIT_2P_01, + /* 0x1D */ RP_PNP_SE_HIT_1P_NG_01, + /* 0x1E */ RP_PNP_SE_HIT_2P_NG_01, + /* 0x1F */ RP_PNP_SE_HIT_1P_SMASH_01, + /* 0x20 */ RP_PNP_SE_HIT_2P_SMASH_01, + /* 0x21 */ RP_PNP_SE_BOUND_1P_01, + /* 0x22 */ RP_PNP_SE_BOUND_2P_01, + /* 0x23 */ RP_PNP_SE_BOUND_FLOOR_01, + /* 0x24 */ RP_PNP_SE_BOUND_FLOOR_02, + /* 0x25 */ RP_PNP_SE_BOUND_FLOOR_03, + /* 0x26 */ RP_PNP_SE_BOUND_FLOOR_04, + /* 0x27 */ RP_PNP_SE_CATCH_01, + /* 0x28 */ RP_PNP_SE_CATCH_02, + /* 0x29 */ RP_PNP_SE_DETACH_01, + /* 0x2A */ RP_PNP_SE_NET_01, + /* 0x2B */ RP_PNP_SE_TOSSUP_01, + /* 0x2C */ RP_PNP_SE_TOSSUP_02, + /* 0x2D */ RP_PNP_SE_POINT_01, + /* 0x2E */ RP_PNP_SE_POINT_02, + /* 0x2F */ RP_PNP_SE_SWING_A_01, + /* 0x30 */ RP_PNP_SE_SWING_B_01, + /* 0x31 */ RP_PNP_SE_SERVECHANGE_ME_01, + /* 0x32 */ RP_PNP_SE_SERVECHANGE_YOU_01, + /* 0x33 */ RP_PNP_SE_SERVECHANGE_1P_01, + /* 0x34 */ RP_PNP_SE_SERVECHANGE_2P_01, + /* 0x35 */ RP_PNP_SE_SERVECHANGE_TURN_01, + /* 0x36 */ RP_PNP_SE_CHEER_2P_01, + /* 0x37 */ RP_PNP_SE_CHEER_01, + /* 0x38 */ RP_PNP_SE_CHEER_02, + /* 0x39 */ RP_PNP_SE_SLOWBALL_01, + /* 0x3A */ RP_PNP_SE_TIMES_FF_01, + /* 0x3B */ RP_PNP_SE_APPLAUSE_01, + /* 0x3C */ RP_PNP_SE_APPLAUSE_02, + /* 0x3D */ RP_PNP_SE_APPLAUSE_03, + /* 0x3E */ RP_COM_GAME_SE_PAUSE_01_CTSP, + /* 0x3F */ RP_COM_GAME_SE_PAUSE_01_TVSP, + /* 0x40 */ RP_COM_GAME_SE_PAUSE_01, + /* 0x41 */ RP_COM_GAME_PARTY_SE_A_01_CTSP, + /* 0x42 */ RP_COM_GAME_PARTY_SE_A_01_TVSP, + /* 0x43 */ RP_COM_GAME_PARTY_SE_A_01, + /* 0x44 */ RP_COM_GAME_PARTY_SE_Cursor_01, + /* 0x45 */ RP_COM_GAME_PARTY_SE_LANK_01, + /* 0x46 */ RP_COM_GAME_PARTY_SE_Win_Open_01, + /* 0x47 */ RP_COM_GAME_PARTY_SE_Win_Close_01, + /* 0x48 */ RP_COM_GAME_PARTY_SE_COUNT_TIME_01, + /* 0x49 */ RP_COM_GAME_PARTY_SE_COUNT_TIME_02, + /* 0x4A */ RP_COM_GAME_PARTY_SE_COUNT_TIME_03, + /* 0x4B */ RP_COM_GAME_PARTY_SE_COUNT_TIME_x_01, + /* 0x4C */ RP_COM_GAME_PARTY_SE_COUNT_01, + /* 0x4D */ RP_COM_GAME_PARTY_SE_COUNT_02, + /* 0x4E */ RP_COM_GAME_PARTY_SE_RESULT_KEY_A_01_CTSP, + /* 0x4F */ RP_COM_GAME_PARTY_SE_RESULT_KEY_A_01_TVSP, + /* 0x50 */ RP_COM_GAME_PARTY_SE_RESULT_KEY_A_01, + /* 0x51 */ RP_COM_GAME_PARTY_SE_RESULT_KEY_A_02_CTSP, + /* 0x52 */ RP_COM_GAME_PARTY_SE_RESULT_KEY_A_02_TVSP, + /* 0x53 */ RP_COM_GAME_PARTY_SE_RESULT_KEY_A_02, + /* 0x54 */ RP_COM_GAME_PARTY_SE_BUTTON_03, + /* 0x55 */ RP_COM_GAME_PARTY_SE_BUTTON_05, + /* 0x56 */ RP_COM_GAME_SE_PAUSE_KEY_A_01_CTSP, + /* 0x57 */ RP_COM_GAME_SE_PAUSE_KEY_A_01_TVSP, + /* 0x58 */ RP_COM_GAME_SE_PAUSE_KEY_A_01, + /* 0x59 */ RP_COM_GAME_SE_PAUSE_KEY_A_02_CTSP, + /* 0x5A */ RP_COM_GAME_SE_PAUSE_KEY_A_02_TVSP, + /* 0x5B */ RP_COM_GAME_SE_PAUSE_KEY_A_02, + /* 0x5C */ RP_COM_GAME_SE_PAUSE_KEY_A_03_CTSP, + /* 0x5D */ RP_COM_GAME_SE_PAUSE_KEY_A_03_TVSP, + /* 0x5E */ RP_COM_GAME_SE_PAUSE_KEY_A_03, + /* 0x5F */ RP_COM_GAME_SE_PAUSE_Cursor_01, + /* 0x60 */ RP_COM_GAME_SE_2P_WIN_LOSE_01, + /* 0x61 */ RP_COMMON_SE_MESS_10, + /* 0x62 */ RP_COMMON_SE_MESS_20, + /* 0x63 */ RP_COMMON_SE_KEY_A_04_CTSP, + /* 0x64 */ RP_COMMON_SE_KEY_A_04_TVSP, + /* 0x65 */ RP_COMMON_SE_KEY_A_04, + /* 0x66 */ RP_COMMON_SE_KEY_BACK_01_CTSP, + /* 0x67 */ RP_COMMON_SE_KEY_BACK_01_TVSP, + /* 0x68 */ RP_COMMON_SE_KEY_BACK_01, + /* 0x69 */ RP_COMMON_SE_KEY_CURSOR_01, + /* 0x6A */ RP_PNP_BGM_START, + /* 0x6B */ RP_PNP_BGM_PLAY, + /* 0x6C */ RP_PNP_BGM_PLAY_VS, + /* 0x6D */ RP_PNP_BGM_FANFARE_WIN, + /* 0x6E */ RP_PNP_BGM_FANFARE_DRAW, + /* 0x6F */ RP_PNP_BGM_FANFARE_LOSE, + /* 0x70 */ RP_PNP_BGM_FANFARE_CONGRATU, + /* 0x71 */ RP_PNP_BGM_FANFARE_CHAMP, + /* 0x72 */ RP_PNP_BGM_RESULT, + /* 0x73 */ RP_COM_BGM_GET_COPPER, + /* 0x74 */ RP_COM_BGM_GET_SILVER, + /* 0x75 */ RP_COM_BGM_GET_GOLD, + /* 0x76 */ RP_COM_BGM_GET_PLATINA, + /* 0x77 */ RP_COM_BGM_RENEW_RECORD2, + /* 0x78 */ RP_COM_BGM_RENEW_RECORD +}; + +#endif diff --git a/include/Pack/RPAudio/archive/rp_Static_sound.h b/include/Pack/RPAudio/archive/rp_Static_sound.h new file mode 100644 index 00000000..71a63268 --- /dev/null +++ b/include/Pack/RPAudio/archive/rp_Static_sound.h @@ -0,0 +1,16 @@ +#ifndef RP_AUDIO_RP_STATIC_SOUND_H +#define RP_AUDIO_RP_STATIC_SOUND_H + +//! @addtogroup rp_audio +//! @{ + +//! @file +//! @brief Sound IDs for the RPAudio (DOL-embedded) sound archive + +//! @} + +enum { + /* 0x0 */ rp_STATIC_CONNECT_01_CTSP +}; + +#endif diff --git a/include/Pack/RPAudio/archive/rp_Tnk_sound.h b/include/Pack/RPAudio/archive/rp_Tnk_sound.h new file mode 100644 index 00000000..ec4f5e43 --- /dev/null +++ b/include/Pack/RPAudio/archive/rp_Tnk_sound.h @@ -0,0 +1,131 @@ +#ifndef RP_AUDIO_RP_TNK_SOUND_H +#define RP_AUDIO_RP_TNK_SOUND_H + +//! @addtogroup rp_audio +//! @{ + +//! @file +//! @brief Sound IDs for the RPTnkScene sound archive + +//! @} + +enum { + /* 0x00 */ RP_TNK_SE_RESULT_OPEN, + /* 0x01 */ RP_TNK_SE_SHOOT_1P, + /* 0x02 */ RP_TNK_SE_SHOOT_2P, + /* 0x03 */ RP_TNK_SE_SHOOT_ENEMY1, + /* 0x04 */ RP_TNK_SE_SHOOT_ENEMY2, + /* 0x05 */ RP_TNK_SE_SHOOT_ENEMY3_LV, + /* 0x06 */ RP_TNK_SE_SHOOT_ENEMY4, + /* 0x07 */ RP_TNK_SE_SHOOT_ENEMY5, + /* 0x08 */ RP_TNK_SE_SHOOT_ENEMY6, + /* 0x09 */ RP_TNK_SE_SHOOT_ENEMY7_LV, + /* 0x0A */ RP_TNK_SE_SHOOT_ENEMY8, + /* 0x0B */ RP_TNK_SE_SHOOT_ENEMY9_LV, + /* 0x0C */ RP_TNK_SE_SHOOT, + /* 0x0D */ RP_TNK_SE_HIT_CSPK, + /* 0x0E */ RP_TNK_SE_HIT, + /* 0x0F */ RP_TNK_SE_REFLECT_SUPER, + /* 0x10 */ RP_TNK_SE_REFLECT, + /* 0x11 */ RP_TNK_SE_BROKEN, + /* 0x12 */ RP_TNK_SE_TNK_DISAPPEAR, + /* 0x13 */ RP_TNK_SE_JIRAI_SET_CSPK, + /* 0x14 */ RP_TNK_SE_JIRAI_SET, + /* 0x15 */ RP_TNK_SE_JIRAI_TIMER, + /* 0x16 */ RP_TNK_SE_JIRAI_EXP, + /* 0x17 */ RP_TNK_SE_JIRAI_EXP_MAE, + /* 0x18 */ RP_TNK_SE_CATERPILLAR_1P, + /* 0x19 */ RP_TNK_SE_CATERPILLAR_2P, + /* 0x1A */ RP_TNK_SE_CATERPILLAR_SLOW, + /* 0x1B */ RP_TNK_SE_CATERPILLAR_MID, + /* 0x1C */ RP_TNK_SE_CATERPILLAR_SAME, + /* 0x1D */ RP_TNK_SE_CATERPILLAR_FAST, + /* 0x1E */ RP_TNK_SE_CATERPILLAR, + /* 0x1F */ RP_TNK_SE_ENGINE, + /* 0x20 */ RP_TNK_SE_IDLING, + /* 0x21 */ RP_TNK_SE_MISSION_BONUS, + /* 0x22 */ RP_TNK_SE_TNK1UP, + /* 0x23 */ RP_TNK_SE_GAMESTART, + /* 0x24 */ RP_TNK_SE_GET_TNKNUM, + /* 0x25 */ RP_TNK_SE_GET_HIT, + /* 0x26 */ RP_TNK_SE_GET_HIT_01, + /* 0x27 */ RP_TNK_SE_GET_HIT_02, + /* 0x28 */ RP_TNK_SE_GET_HIT_CSPK, + /* 0x29 */ RP_TNK_SE_GET_HIT_01_CSPK, + /* 0x2A */ RP_TNK_SE_GET_HIT_02_CSPK, + /* 0x2B */ RP_TNK_SE_RESULT_TNK_TOTAL, + /* 0x2C */ RP_TNK_SE_RESULT_TNK_LINE09, + /* 0x2D */ RP_TNK_SE_RESULT_TNK_LINE08, + /* 0x2E */ RP_TNK_SE_RESULT_TNK_LINE07, + /* 0x2F */ RP_TNK_SE_RESULT_TNK_LINE06, + /* 0x30 */ RP_TNK_SE_RESULT_TNK_LINE05, + /* 0x31 */ RP_TNK_SE_RESULT_TNK_LINE04, + /* 0x32 */ RP_TNK_SE_RESULT_TNK_LINE03, + /* 0x33 */ RP_TNK_SE_RESULT_TNK_LINE02, + /* 0x34 */ RP_TNK_SE_RESULT_TNK_LINE01, + /* 0x35 */ RP_TNK_SE_INTRO_CATERPILLAR_00, + /* 0x36 */ RP_TNK_SE_INTRO_CATERPILLAR_01, + /* 0x37 */ RP_TNK_SE_INTRO_CATERPILLAR_02, + /* 0x38 */ RP_TNK_SE_INTRO_CATERPILLAR_03, + /* 0x39 */ RP_TNK_SE_INTRO_CATERPILLAR_04, + /* 0x3A */ RP_TNK_SE_INTRO_CATERPILLAR_05, + /* 0x3B */ RP_TNK_BGM_LOOP2, + /* 0x3C */ RP_TNK_BGM_FILL2, + /* 0x3D */ RP_TNK_BGM_RESULT2, + /* 0x3E */ RP_TNK_BGM_COMP20, + /* 0x3F */ RP_TNK_BGM_COMP100, + /* 0x40 */ RP_TNK_BGM_MISS, + /* 0x41 */ RP_TNK_BGM_PANPAKAPAN, + /* 0x42 */ RP_COM_GAME_SE_PAUSE_01_CTSP, + /* 0x43 */ RP_COM_GAME_SE_PAUSE_01_TVSP, + /* 0x44 */ RP_COM_GAME_SE_PAUSE_01, + /* 0x45 */ RP_COM_GAME_PARTY_SE_A_01_CTSP, + /* 0x46 */ RP_COM_GAME_PARTY_SE_A_01_TVSP, + /* 0x47 */ RP_COM_GAME_PARTY_SE_A_01, + /* 0x48 */ RP_COM_GAME_PARTY_SE_Cursor_01, + /* 0x49 */ RP_COM_GAME_PARTY_SE_LANK_01, + /* 0x4A */ RP_COM_GAME_PARTY_SE_Win_Open_01, + /* 0x4B */ RP_COM_GAME_PARTY_SE_Win_Close_01, + /* 0x4C */ RP_COM_GAME_PARTY_SE_COUNT_TIME_01, + /* 0x4D */ RP_COM_GAME_PARTY_SE_COUNT_TIME_02, + /* 0x4E */ RP_COM_GAME_PARTY_SE_COUNT_TIME_03, + /* 0x4F */ RP_COM_GAME_PARTY_SE_COUNT_TIME_x_01, + /* 0x50 */ RP_COM_GAME_PARTY_SE_COUNT_01, + /* 0x51 */ RP_COM_GAME_PARTY_SE_COUNT_02, + /* 0x52 */ RP_COM_GAME_PARTY_SE_RESULT_KEY_A_01_CTSP, + /* 0x53 */ RP_COM_GAME_PARTY_SE_RESULT_KEY_A_01_TVSP, + /* 0x54 */ RP_COM_GAME_PARTY_SE_RESULT_KEY_A_01, + /* 0x55 */ RP_COM_GAME_PARTY_SE_RESULT_KEY_A_02_CTSP, + /* 0x56 */ RP_COM_GAME_PARTY_SE_RESULT_KEY_A_02_TVSP, + /* 0x57 */ RP_COM_GAME_PARTY_SE_RESULT_KEY_A_02, + /* 0x58 */ RP_COM_GAME_PARTY_SE_BUTTON_03, + /* 0x59 */ RP_COM_GAME_PARTY_SE_BUTTON_05, + /* 0x5A */ RP_COM_GAME_SE_PAUSE_KEY_A_01_CTSP, + /* 0x5B */ RP_COM_GAME_SE_PAUSE_KEY_A_01_TVSP, + /* 0x5C */ RP_COM_GAME_SE_PAUSE_KEY_A_01, + /* 0x5D */ RP_COM_GAME_SE_PAUSE_KEY_A_02_CTSP, + /* 0x5E */ RP_COM_GAME_SE_PAUSE_KEY_A_02_TVSP, + /* 0x5F */ RP_COM_GAME_SE_PAUSE_KEY_A_02, + /* 0x60 */ RP_COM_GAME_SE_PAUSE_KEY_A_03_CTSP, + /* 0x61 */ RP_COM_GAME_SE_PAUSE_KEY_A_03_TVSP, + /* 0x62 */ RP_COM_GAME_SE_PAUSE_KEY_A_03, + /* 0x63 */ RP_COM_GAME_SE_PAUSE_Cursor_01, + /* 0x64 */ RP_COM_GAME_SE_2P_WIN_LOSE_01, + /* 0x65 */ RP_COM_BGM_GET_COPPER, + /* 0x66 */ RP_COM_BGM_GET_SILVER, + /* 0x67 */ RP_COM_BGM_GET_GOLD, + /* 0x68 */ RP_COM_BGM_GET_PLATINA, + /* 0x69 */ RP_COM_BGM_RENEW_RECORD2, + /* 0x6A */ RP_COM_BGM_RENEW_RECORD, + /* 0x6B */ RP_COMMON_SE_MESS_10, + /* 0x6C */ RP_COMMON_SE_MESS_20, + /* 0x6D */ RP_COMMON_SE_KEY_A_04_CTSP, + /* 0x6E */ RP_COMMON_SE_KEY_A_04_TVSP, + /* 0x6F */ RP_COMMON_SE_KEY_A_04, + /* 0x70 */ RP_COMMON_SE_KEY_BACK_01_CTSP, + /* 0x71 */ RP_COMMON_SE_KEY_BACK_01_TVSP, + /* 0x72 */ RP_COMMON_SE_KEY_BACK_01, + /* 0x73 */ RP_COMMON_SE_KEY_CURSOR_01 +}; + +#endif diff --git a/include/Pack/RPAudio/archive/rp_Tns_sound.h b/include/Pack/RPAudio/archive/rp_Tns_sound.h new file mode 100644 index 00000000..f30cfdab --- /dev/null +++ b/include/Pack/RPAudio/archive/rp_Tns_sound.h @@ -0,0 +1,187 @@ +#ifndef RP_AUDIO_RP_TNS_SOUND_H +#define RP_AUDIO_RP_TNS_SOUND_H + +//! @addtogroup rp_audio +//! @{ + +//! @file +//! @brief Sound IDs for the RPTnsScene sound archive + +//! @} + +enum { + /* 0x00 */ SE_TR_TARGET_CRUSH, + /* 0x01 */ SE_TR_WALL_CRUSH, + /* 0x02 */ SE_TR_SERVE, + /* 0x03 */ SE_TR_SERVE_TVSP, + /* 0x04 */ SE_TR_SERVE_CPU, + /* 0x05 */ SE_TR_SERVE_Rocket_CTSP, + /* 0x06 */ SE_TR_SERVE_Rocket_TVSP, + /* 0x07 */ SE_TR_SERVE_Rocket_CPU, + /* 0x08 */ SE_TR_RECEIVE, + /* 0x09 */ SE_TR_RECEIVE_TVSP, + /* 0x0A */ SE_TR_RECEIVE_CPU, + /* 0x0B */ SE_TR_RACKET_FURU, + /* 0x0C */ SE_TR_RACKET_FURU_TVSP, + /* 0x0D */ SE_TR_RACKET_FURU_CPU, + /* 0x0E */ SE_TR_Toss, + /* 0x0F */ SE_TR_Toss_TVSP, + /* 0x10 */ SE_TR_Toss_CPU, + /* 0x11 */ SE_TR_PositionCursol, + /* 0x12 */ SE_TR_PositionCursol_TVSP, + /* 0x13 */ SE_TR_PositionSelect, + /* 0x14 */ SE_TR_PositionSelect_TVSP, + /* 0x15 */ SE_TR_PositionCancel, + /* 0x16 */ SE_TR_PositionCancel_TVSP, + /* 0x17 */ SE_TR_StartGame, + /* 0x18 */ SE_TR_StartGame_TVSP, + /* 0x19 */ SE_TR_BALL_BOUND, + /* 0x1A */ SE_TR_WALLHIT, + /* 0x1B */ SE_TR_NETHIT, + /* 0x1C */ SE_TR_run_grass1, + /* 0x1D */ SE_TR_run_grass2, + /* 0x1E */ SE_TR_run_grass3, + /* 0x1F */ SE_TR_run_grass4, + /* 0x20 */ SE_TR_Hit_OK_Area_Pole, + /* 0x21 */ SE_TR_HitNetPole, + /* 0x22 */ SE_TR_KokeshiKokeru, + /* 0x23 */ SE_TR_OK_AREA_PATH, + /* 0x24 */ SE_TR_RenzokuReturn_CourtIn, + /* 0x25 */ SE_TR_OK, + /* 0x26 */ SE_TR_RenzokuReturn_CourtOut, + /* 0x27 */ SE_TR_ScoreDispChange, + /* 0x28 */ SE_TR_WinGameDispChange, + /* 0x29 */ SE_TR_WinGameDispChange_L, + /* 0x2A */ SE_TR_WinGameDispChange_R, + /* 0x2B */ SE_TR_GameSet, + /* 0x2C */ SE_TR_run_HardCourt1, + /* 0x2D */ SE_TR_run_HardCourt2, + /* 0x2E */ SE_TR_run_HardCourt3, + /* 0x2F */ SE_TR_run_HardCourt4, + /* 0x30 */ SE_TR_StartFlyIn, + /* 0x31 */ SE_TR_ZeneiKoueiChange, + /* 0x32 */ SE_LV_Kansei_Replay, + /* 0x33 */ SE_LV_TrainingStartENV, + /* 0x34 */ SE_LV_ServeWait_Zawameki, + /* 0x35 */ SE_TR_KANSEI_HAKUSHU, + /* 0x36 */ SE_TR_KANSEI_ODOROKI, + /* 0x37 */ SE_TR_KANSEI_ODOROKI_SMALL, + /* 0x38 */ SE_TR_KANSEI_RAKUTAN, + /* 0x39 */ SE_TR_KANSEI_GameSet, + /* 0x3A */ SE_TR_KANSEI_OK, + /* 0x3B */ SE_TR_KANSEI_TARGET_CRUSH, + /* 0x3C */ SE_TR_KANSEI_Hit_OK_Area_Pole, + /* 0x3D */ SE_TR_KANSEI_RenzokuReturn_CourtOut, + /* 0x3E */ SE_TR_KANSEI_NeraiUchi_CourtOut, + /* 0x3F */ SE_TR_KANSEI_KabeUchi_CourtOut, + /* 0x40 */ BGM_SelectPosition, + /* 0x41 */ BGM_GameResultDisp, + /* 0x42 */ BGM_TrainingResultDisp, + /* 0x43 */ BGM_GameSetReplay, + /* 0x44 */ BGM_Training_Kabeuchi, + /* 0x45 */ BGM_Training_Nerauchii, + /* 0x46 */ BGM_Training_Renzoku, + /* 0x47 */ Fanfare_Set, + /* 0x48 */ VOICE_TR_Love_Fifteen, + /* 0x49 */ VOICE_TR_Love_Thirty, + /* 0x4A */ VOICE_TR_Love_Forty, + /* 0x4B */ VOICE_TR_Fifteen_Love, + /* 0x4C */ VOICE_TR_Fifteen_all, + /* 0x4D */ VOICE_TR_Fifteen_Thirty, + /* 0x4E */ VOICE_TR_Fifteen_Forty, + /* 0x4F */ VOICE_TR_Thirty_Love, + /* 0x50 */ VOICE_TR_Thirty_Fifteen, + /* 0x51 */ VOICE_TR_Thirty_all, + /* 0x52 */ VOICE_TR_Thirty_Forty, + /* 0x53 */ VOICE_TR_Forty_Love, + /* 0x54 */ VOICE_TR_Forty_Fifteen, + /* 0x55 */ VOICE_TR_Forty_Thirty, + /* 0x56 */ VOICE_TR_Forty_all_Deuce, + /* 0x57 */ VOICE_TR_Deuce, + /* 0x58 */ VOICE_TR_Advantage_Front_Team, + /* 0x59 */ VOICE_TR_Advantage_Rear_Team, + /* 0x5A */ VOICE_TR_Advantage_Left_Team, + /* 0x5B */ VOICE_TR_Advantage_Right_Team, + /* 0x5C */ VOICE_TR_Game_won_by_Front_Team, + /* 0x5D */ VOICE_TR_Game_won_by_Rear_Team, + /* 0x5E */ VOICE_TR_Game_won_by_Left_Team, + /* 0x5F */ VOICE_TR_Game_won_by_Right_Team, + /* 0x60 */ VOICE_TR_BreakPoint, + /* 0x61 */ VOICE_TR_GamePoint, + /* 0x62 */ VOICE_TR_MatchPoint, + /* 0x63 */ RP_COM_GAME_SE_PAUSE_01_CTSP, + /* 0x64 */ RP_COM_GAME_SE_PAUSE_01_TVSP, + /* 0x65 */ RP_COM_GAME_SE_PAUSE_01, + /* 0x66 */ FANFARE_GameSet, + /* 0x67 */ FANFARE_GameSet_Win, + /* 0x68 */ FANFARE_GameSet_Lose, + /* 0x69 */ FANFARE_GameSet_Tie, + /* 0x6A */ SE_TR_Common_KeikokuForDebug, + /* 0x6B */ SE_TR_Common_Sports_Cursol, + /* 0x6C */ SE_TR_Common_Sports_Decide, + /* 0x6D */ SE_TR_Common_Sports_Decide_TVSP, + /* 0x6E */ SE_TR_Common_Sports_DecideBig, + /* 0x6F */ SE_TR_Common_Sports_DecideBig_TVSP, + /* 0x70 */ SE_TR_Common_Sports_DemoSkipButton, + /* 0x71 */ SE_TR_Common_Sports_DemoSkipButton_TVSP, + /* 0x72 */ SE_TR_Common_Sports_Cancel, + /* 0x73 */ SE_TR_Common_Sports_Cancel_TVSP, + /* 0x74 */ SE_TR_Common_Sports_Wipe, + /* 0x75 */ SE_TR_Common_Jyunban, + /* 0x76 */ SE_TR_Common_Jyunban_TVSP, + /* 0x77 */ SE_TR_Common_Medal_Platinum, + /* 0x78 */ SE_TR_Common_Medal_Gold, + /* 0x79 */ SE_TR_Common_Medal_Silver, + /* 0x7A */ SE_TR_Common_Medal_Copper, + /* 0x7B */ SE_TR_Common_Sports_Game_Start, + /* 0x7C */ SE_TR_Common_Sports_Game_End, + /* 0x7D */ SE_TR_Common_Sports_MyBestRecord, + /* 0x7E */ SE_TR_Common_Sports_KanseiRecord, + /* 0x7F */ SE_TR_Common_Sports_Training_Good, + /* 0x80 */ SE_TR_Common_Sports_Training_GoodLong, + /* 0x81 */ SE_TR_Common_Sports_Training_VeryGoodLong, + /* 0x82 */ SE_TR_Common_Sports_Training_GoodLongSoft, + /* 0x83 */ SE_TR_Common_Sports_Training_NotGood, + /* 0x84 */ RP_COM_GAME_SE_PAUSE_KEY_A_02_CTSP, + /* 0x85 */ RP_COM_GAME_SE_PAUSE_KEY_A_02_TVSP, + /* 0x86 */ RP_COM_GAME_SE_PAUSE_KEY_A_02, + /* 0x87 */ RP_COM_GAME_SE_PAUSE_KEY_A_03_CTSP, + /* 0x88 */ RP_COM_GAME_SE_PAUSE_KEY_A_03_TVSP, + /* 0x89 */ RP_COM_GAME_SE_PAUSE_KEY_A_03, + /* 0x8A */ RP_COM_GAME_SE_PAUSE_Cursor_01, + /* 0x8B */ SE_LV_Common_click_CTSP, + /* 0x8C */ SE_LV_Common_click_TVSP, + /* 0x8D */ SE_TR_Common_ModeChange_CTSP, + /* 0x8E */ SE_TR_Common_ModeChange_TVSP, + /* 0x8F */ SE_TR_Common_KeyError_CTSP, + /* 0x90 */ SE_TR_Common_KeyError_TVSP, + /* 0x91 */ RP_COMMON_SE_KEY_CURSOR_01, + /* 0x92 */ RP_COMMON_SE_KEY_BACK_01_CTSP, + /* 0x93 */ RP_COMMON_SE_KEY_BACK_01_TVSP, + /* 0x94 */ SE_TR_COMMON_win_OPEN, + /* 0x95 */ SE_TR_COMMON_win_CLOSE, + /* 0x96 */ SE_TR_COMMON_Jyukurendo_ScoreFlash, + /* 0x97 */ SE_TR_COMMON_Jyukurendo_NameFlash, + /* 0x98 */ SE_TR_COMMON_Jyukurendo_NameSmoke, + /* 0x99 */ SE_TR_COMMON_Push_AB_CTSP, + /* 0x9A */ SE_TR_COMMON_Push_AB_TVSP, + /* 0x9B */ VOICE_TR_Common_BronzeMedal, + /* 0x9C */ VOICE_TR_Common_SilverMedal, + /* 0x9D */ VOICE_TR_Common_GoldMedal, + /* 0x9E */ VOICE_TR_Common_PlatinumMedal, + /* 0x9F */ VOICE_TR_Common_HighScore, + /* 0xA0 */ STRM_Training_Result01, + /* 0xA1 */ STRM_Training_Result02, + /* 0xA2 */ STRM_Training_Result03, + /* 0xA3 */ Bgm_Tutorial, + /* 0xA4 */ RP_COMMON_SE_MESS_10, + /* 0xA5 */ RP_COMMON_SE_MESS_20, + /* 0xA6 */ RP_COMMON_SE_KEY_A_04_CTSP, + /* 0xA7 */ RP_COMMON_SE_KEY_A_04_TVSP, + /* 0xA8 */ RP_COMMON_SE_KEY_A_04, + /* 0xA9 */ RP_COM_GAME_SE_PAUSE_KEY_A_01_CTSP, + /* 0xAA */ RP_COM_GAME_SE_PAUSE_KEY_A_01_TVSP, + /* 0xAB */ RP_COM_GAME_SE_PAUSE_KEY_A_01 +}; + +#endif diff --git a/include/Pack/RPAudio/archive/rp_Wly_sound.h b/include/Pack/RPAudio/archive/rp_Wly_sound.h new file mode 100644 index 00000000..f3b2035d --- /dev/null +++ b/include/Pack/RPAudio/archive/rp_Wly_sound.h @@ -0,0 +1,145 @@ +#ifndef RP_AUDIO_RP_WLY_SOUND_H +#define RP_AUDIO_RP_WLY_SOUND_H + +//! @addtogroup rp_audio +//! @{ + +//! @file +//! @brief Sound IDs for the RPWlyScene sound archive + +//! @} + +enum { + /* 0x00 */ RP_WLY_SE_TIME_COUNT_01, + /* 0x01 */ RP_WLY_SE_TIME_COUNT_02, + /* 0x02 */ RP_WLY_SE_TIME_UP_01, + /* 0x03 */ RP_WLY_SE_COUNTDOWN_01, + /* 0x04 */ RP_WLY_SE_COUNTDOWN_02, + /* 0x05 */ RP_WLY_SE_ZOOM_IN, + /* 0x06 */ RP_WLY_SE_ZOOM_OUT, + /* 0x07 */ RP_WLY_SE_DOLL_SELECT_01, + /* 0x08 */ RP_WLY_SE_non_Select_01, + /* 0x09 */ RP_WLY_SE_non_Select_CON_01, + /* 0x0A */ RP_WLY_SE_Select_01, + /* 0x0B */ RP_WLY_SE_Select_02, + /* 0x0C */ RP_WLY_SE_Select_03, + /* 0x0D */ RP_WLY_SE_Select_04, + /* 0x0E */ RP_WLY_SE_Select_05, + /* 0x0F */ RP_WLY_SE_Select_CON_01, + /* 0x10 */ RP_WLY_SE_Select_CON_02, + /* 0x11 */ RP_WLY_SE_Select_CON_03, + /* 0x12 */ RP_WLY_SE_Select_CON_04, + /* 0x13 */ RP_WLY_SE_Select_CON_05, + /* 0x14 */ RP_WLY_SE_OK_pri_01, + /* 0x15 */ RP_WLY_SE_OK_pri_02, + /* 0x16 */ RP_WLY_SE_OK_pri_03, + /* 0x17 */ RP_WLY_SE_OK_pri_04, + /* 0x18 */ RP_WLY_SE_OK_pri_05, + /* 0x19 */ RP_WLY_SE_OK_pri_CON_01, + /* 0x1A */ RP_WLY_SE_OK_pri_CON_02, + /* 0x1B */ RP_WLY_SE_OK_pri_CON_03, + /* 0x1C */ RP_WLY_SE_OK_pri_CON_04, + /* 0x1D */ RP_WLY_SE_OK_pri_CON_05, + /* 0x1E */ RP_WLY_SE_OK_01, + /* 0x1F */ RP_WLY_SE_OK_02, + /* 0x20 */ RP_WLY_SE_OK_03, + /* 0x21 */ RP_WLY_SE_OK_04, + /* 0x22 */ RP_WLY_SE_OK_05, + /* 0x23 */ RP_WLY_SE_OK_CON_01, + /* 0x24 */ RP_WLY_SE_OK_CON_02, + /* 0x25 */ RP_WLY_SE_OK_CON_03, + /* 0x26 */ RP_WLY_SE_OK_CON_04, + /* 0x27 */ RP_WLY_SE_OK_CON_05, + /* 0x28 */ RP_WLY_SE_NG_01, + /* 0x29 */ RP_WLY_SE_NG_02, + /* 0x2A */ RP_WLY_SE_NG_03, + /* 0x2B */ RP_WLY_SE_NG_04, + /* 0x2C */ RP_WLY_SE_NG_05, + /* 0x2D */ RP_WLY_SE_NG_CON_01, + /* 0x2E */ RP_WLY_SE_NG_CON_02, + /* 0x2F */ RP_WLY_SE_NG_CON_03, + /* 0x30 */ RP_WLY_SE_NG_CON_04, + /* 0x31 */ RP_WLY_SE_NG_CON_05, + /* 0x32 */ RP_WLY_SE_AMB_01, + /* 0x33 */ RP_WLY_SE_AMB_01_night, + /* 0x34 */ RP_WLY_SE_AMB_01_RALLY_01_R, + /* 0x35 */ RP_WLY_SE_AMB_01_RALLY_01_L, + /* 0x36 */ RP_WLY_SE_AMB_01_RALLY_02_R, + /* 0x37 */ RP_WLY_SE_AMB_01_RALLY_02_L, + /* 0x38 */ RP_WLY_SE_AMB_02, + /* 0x39 */ RP_WLY_SE_AMB_02_night, + /* 0x3A */ RP_WLY_SE_AMB_03, + /* 0x3B */ RP_WLY_SE_AMB_03_night, + /* 0x3C */ RP_WLY_SE_AMB_04, + /* 0x3D */ RP_WLY_SE_AMB_04_night, + /* 0x3E */ RP_WLY_SE_AMB_04_RALLY_01_R, + /* 0x3F */ RP_WLY_SE_AMB_04_RALLY_01_L, + /* 0x40 */ RP_WLY_SE_AMB_04_RALLY_02_R, + /* 0x41 */ RP_WLY_SE_AMB_04_RALLY_02_L, + /* 0x42 */ RP_WLY_SE_AMB_05, + /* 0x43 */ RP_WLY_SE_AMB_05_night, + /* 0x44 */ RP_WLY_SE_AMB_06, + /* 0x45 */ RP_WLY_SE_AMB_06_night, + /* 0x46 */ RP_WLY_SE_AMB_07, + /* 0x47 */ RP_WLY_SE_AMB_07_night, + /* 0x48 */ RP_WLY_SE_AMB_08, + /* 0x49 */ RP_WLY_SE_AMB_08_night, + /* 0x4A */ RP_WLY_SE_AMB_09, + /* 0x4B */ RP_WLY_SE_AMB_09_night, + /* 0x4C */ RP_COM_GAME_SE_PAUSE_01_CTSP, + /* 0x4D */ RP_COM_GAME_SE_PAUSE_01_TVSP, + /* 0x4E */ RP_COM_GAME_SE_PAUSE_01, + /* 0x4F */ RP_COM_GAME_PARTY_SE_A_01_CTSP, + /* 0x50 */ RP_COM_GAME_PARTY_SE_A_01_TVSP, + /* 0x51 */ RP_COM_GAME_PARTY_SE_A_01, + /* 0x52 */ RP_COM_GAME_PARTY_SE_Cursor_01, + /* 0x53 */ RP_COM_GAME_PARTY_SE_LANK_01, + /* 0x54 */ RP_COM_GAME_PARTY_SE_Win_Open_01, + /* 0x55 */ RP_COM_GAME_PARTY_SE_Win_Close_01, + /* 0x56 */ RP_COM_GAME_PARTY_SE_COUNT_TIME_01, + /* 0x57 */ RP_COM_GAME_PARTY_SE_COUNT_TIME_02, + /* 0x58 */ RP_COM_GAME_PARTY_SE_COUNT_TIME_03, + /* 0x59 */ RP_COM_GAME_PARTY_SE_COUNT_TIME_x_01, + /* 0x5A */ RP_COM_GAME_PARTY_SE_COUNT_01, + /* 0x5B */ RP_COM_GAME_PARTY_SE_COUNT_02, + /* 0x5C */ RP_COM_GAME_PARTY_SE_RESULT_KEY_A_01_CTSP, + /* 0x5D */ RP_COM_GAME_PARTY_SE_RESULT_KEY_A_01_TVSP, + /* 0x5E */ RP_COM_GAME_PARTY_SE_RESULT_KEY_A_01, + /* 0x5F */ RP_COM_GAME_PARTY_SE_RESULT_KEY_A_02_CTSP, + /* 0x60 */ RP_COM_GAME_PARTY_SE_RESULT_KEY_A_02_TVSP, + /* 0x61 */ RP_COM_GAME_PARTY_SE_RESULT_KEY_A_02, + /* 0x62 */ RP_COM_GAME_PARTY_SE_BUTTON_03, + /* 0x63 */ RP_COM_GAME_PARTY_SE_BUTTON_05, + /* 0x64 */ RP_COM_GAME_SE_PAUSE_KEY_A_01_CTSP, + /* 0x65 */ RP_COM_GAME_SE_PAUSE_KEY_A_01_TVSP, + /* 0x66 */ RP_COM_GAME_SE_PAUSE_KEY_A_01, + /* 0x67 */ RP_COM_GAME_SE_PAUSE_KEY_A_02_CTSP, + /* 0x68 */ RP_COM_GAME_SE_PAUSE_KEY_A_02_TVSP, + /* 0x69 */ RP_COM_GAME_SE_PAUSE_KEY_A_02, + /* 0x6A */ RP_COM_GAME_SE_PAUSE_KEY_A_03_CTSP, + /* 0x6B */ RP_COM_GAME_SE_PAUSE_KEY_A_03_TVSP, + /* 0x6C */ RP_COM_GAME_SE_PAUSE_KEY_A_03, + /* 0x6D */ RP_COM_GAME_SE_PAUSE_Cursor_01, + /* 0x6E */ RP_COM_GAME_SE_2P_WIN_LOSE_01, + /* 0x6F */ RP_COMMON_SE_MESS_10, + /* 0x70 */ RP_COMMON_SE_MESS_20, + /* 0x71 */ RP_COMMON_SE_KEY_A_04_CTSP, + /* 0x72 */ RP_COMMON_SE_KEY_A_04_TVSP, + /* 0x73 */ RP_COMMON_SE_KEY_A_04, + /* 0x74 */ RP_COMMON_SE_KEY_BACK_01_CTSP, + /* 0x75 */ RP_COMMON_SE_KEY_BACK_01_TVSP, + /* 0x76 */ RP_COMMON_SE_KEY_BACK_01, + /* 0x77 */ RP_COMMON_SE_KEY_CURSOR_01, + /* 0x78 */ RP_WLY_BGM_RESULT, + /* 0x79 */ RP_WLY_BGM_CLEAR, + /* 0x7A */ RP_WLY_BGM_PLAY_GUSU, + /* 0x7B */ RP_WLY_BGM_START, + /* 0x7C */ RP_COM_BGM_GET_COPPER, + /* 0x7D */ RP_COM_BGM_GET_SILVER, + /* 0x7E */ RP_COM_BGM_GET_GOLD, + /* 0x7F */ RP_COM_BGM_GET_PLATINA, + /* 0x80 */ RP_COM_BGM_RENEW_RECORD2, + /* 0x81 */ RP_COM_BGM_RENEW_RECORD +}; + +#endif diff --git a/include/Pack/RPKernel.h b/include/Pack/RPKernel.h index 0f480270..b8ce3d8e 100644 --- a/include/Pack/RPKernel.h +++ b/include/Pack/RPKernel.h @@ -6,6 +6,7 @@ #include #include #include +#include #include #include #include diff --git a/include/Pack/RPKernel/RPSysController.h b/include/Pack/RPKernel/RPSysController.h new file mode 100644 index 00000000..cf5b80c2 --- /dev/null +++ b/include/Pack/RPKernel/RPSysController.h @@ -0,0 +1,27 @@ +#ifndef RP_KERNEL_CONTROLLER_H +#define RP_KERNEL_CONTROLLER_H +#include + +#include + +//! @addtogroup rp_kernel +//! @{ + +class RPSysCoreControllerMgr { +public: + static u32 isDpdCtrlEnable(s32 chan) { + return sDpdCtrlEnableFlag & (1 << chan); + } + +private: + static u32 sDpdCtrlEnableFlag; +}; + +class RPSysCoreController : public EGG::CoreController { +public: + bool isPrevDpdCtrlEnable(); +}; + +//! @} + +#endif diff --git a/include/Pack/RPKernel/RPSysFile.h b/include/Pack/RPKernel/RPSysFile.h index 5d4ecb85..f0ce534d 100644 --- a/include/Pack/RPKernel/RPSysFile.h +++ b/include/Pack/RPKernel/RPSysFile.h @@ -54,9 +54,13 @@ class RPSysFile : public EGG::Disposer { //! Linked-list node used for cache lists NW4R_UT_LIST_LINK_DECL(); // at 0x10 +private: + //! Maximum file path length + static const u32 PATH_MAX = 128; + private: //! File path - char mPath[128]; // at 0x18 + char mPath[PATH_MAX]; // at 0x18 //! File data size s32 mSize; // at 0x98 //! File data contents diff --git a/include/Pack/RPSystem/RPSysProjectLocal.h b/include/Pack/RPSystem/RPSysProjectLocal.h index ee019054..f2ad9388 100644 --- a/include/Pack/RPSystem/RPSysProjectLocal.h +++ b/include/Pack/RPSystem/RPSysProjectLocal.h @@ -45,9 +45,12 @@ class RPSysProjectLocal { * @brief Storage device */ enum EStorage { - EStorage_Memory, //!< Sound archives are loaded from RAM - EStorage_NAND, //!< Sound archives are loaded from the NAND (WiiWare) - EStorage_DVD //!< Sound archives are loaded from the DVD + //! Sound archives are read from the DVD as needed + EStorage_DVDStream, + //! Sound archives are read from the NAND ahead of time + EStorage_NANDBuffer, + //! Sound archives are read from the DVD ahead of time + EStorage_DVDBuffer }; public: diff --git a/include/Pack/RPSystem/RPSysResourceManager.h b/include/Pack/RPSystem/RPSysResourceManager.h index 74bfd8bb..8ba7591e 100644 --- a/include/Pack/RPSystem/RPSysResourceManager.h +++ b/include/Pack/RPSystem/RPSysResourceManager.h @@ -152,7 +152,7 @@ class RPSysResourceManager { * @param bufSize Size of the buffer pointed to by @p pBuffer * @param id Scene ID */ - void GetGameSoundCommonPath(char* pBuffer, u32 bufSize, s32 id); + void GetGameSoundCommonPath(char* pBuffer, u32 bufSize, s32 id = -1); /** * @brief Gets the local sound path of the specified scene * @bug This function ignores the @p bufSize parameter and instead uses @@ -162,12 +162,16 @@ class RPSysResourceManager { * @param bufSize Size of the buffer pointed to by @p pBuffer * @param id Scene ID */ - void GetGameSoundLocalPath(char* pBuffer, u32 bufSize, s32 id); + void GetGameSoundLocalPath(char* pBuffer, u32 bufSize, s32 id = -1); EGG::Archive* GetKokeshiArchive() const { return mpKokeshiArchive; } + void* GetMultiHandle() { + return &mpMultiHandle; + } + private: //! Resource cache for compressed files nw4r::ut::List mFileCache; // at 0x4 diff --git a/include/egg/audio/eggAudio3DMgr.h b/include/egg/audio/eggAudio3DMgr.h index 09ae7f04..c3070b0e 100644 --- a/include/egg/audio/eggAudio3DMgr.h +++ b/include/egg/audio/eggAudio3DMgr.h @@ -37,6 +37,16 @@ template class TAudioSound3DMgr { } } + void setParam3D(TAudioSound3DMgrArg* arg) { + for (int i = 0; i < N; i++) { + mSound3DManagers[i].SetMaxPriorityReduction(arg->maxPrioReduction); + + mSound3DListeners[i].SetInteriorSize(arg->interiorSize); + mSound3DListeners[i].SetMaxVolumeDistance(arg->maxVolumeDistance); + mSound3DListeners[i].SetUnitDistance(arg->unitDistance); + } + } + void setUseArchive3D(nw4r::snd::SoundArchive* archive, nw4r::snd::SoundHeap* heap) { @@ -64,6 +74,10 @@ template class TAudioSound3DMgr { return mSound3DManagers[cam_num]; } + nw4r::snd::Sound3DListener& getSound3DListener(s32 cam_num) { + return mSound3DListeners[cam_num]; + } + void setListenerMatrix(s32 cam_num, const nw4r::math::MTX34& rMtx) { #line 107 EGG_ASSERT(cam_num #include - #include #include diff --git a/include/nw4r/snd/snd_SeqSoundHandle.h b/include/nw4r/snd/snd_SeqSoundHandle.h index f284296c..a4f7c4ac 100644 --- a/include/nw4r/snd/snd_SeqSoundHandle.h +++ b/include/nw4r/snd/snd_SeqSoundHandle.h @@ -48,6 +48,10 @@ class SeqSoundHandle : private ut::NonCopyable { } } + static void WriteGlobalVariable(int idx, s16 value) { + detail::SeqSound::WriteGlobalVariable(idx, value); + } + private: detail::SeqSound* mSound; // at 0x0 }; diff --git a/include/nw4r/snd/snd_SoundSystem.h b/include/nw4r/snd/snd_SoundSystem.h index 71c16628..7a7c1a2b 100644 --- a/include/nw4r/snd/snd_SoundSystem.h +++ b/include/nw4r/snd/snd_SoundSystem.h @@ -49,6 +49,9 @@ class SoundSystem { detail::AxManager::GetInstance().PrepareReset(); } + static OutputMode GetOutputMode() { + return detail::AxManager::GetInstance().GetOutputMode(); + } static void SetOutputMode(OutputMode mode) { detail::AxManager::GetInstance().SetOutputMode(mode); } diff --git a/src/Pack/RPAudio/RPSndAudioMgr.cpp b/src/Pack/RPAudio/RPSndAudioMgr.cpp new file mode 100644 index 00000000..c029366c --- /dev/null +++ b/src/Pack/RPAudio/RPSndAudioMgr.cpp @@ -0,0 +1,1125 @@ +#include +#include +#include + +#include +#include + +#include + +#include +#include +#include +#include + +#include + +RP_SINGLETON_IMPL_EX(RPSndAudioMgr); + +/** + * @brief Constructor + * + * @param pHeap Parent heap + */ +RPSndAudioMgr::RPSndAudioMgr(EGG::Heap* pHeap) : mpParentHeap(pHeap) { + mSoundHeapLevel = 1; + unk948 = 0; + mArchivePath[0] = '\0'; + mState = EState_Exited; + mShutDownStatusRP = SHUTDOWN_STATUS_NONE; + mResetTimer = 0; + mPlayerNum = WPAD_MAX_CONTROLLERS; + mFlags = 0; + mIsPauseSe = false; + mFanfareLength = 0; + mFanfareStart = 0; + mIsNewDvdError = false; + mStreamPlayTick = 0; + mpSetFxCallback = NULL; + mMenuPauseFrame = 20; + mMenuPauseFadeInTimer = 0; + mIsDisableFanfare = false; +} + +/** + * @brief Destructor + */ +RPSndAudioMgr::~RPSndAudioMgr() {} + +/** + * @brief Callback for sound heap deallocation + * + * @param pBuffer Memory block buffer + * @param size Buffer size + * @param pCallbackArg Callback user argument + */ +static void MemDeallocCallback(void* /* pBuffer */, u32 /* size */, + void* /* pCallbackArg */) {} + +/** + * @brief MemDeallocCallback user argument + */ +static void* MemDeallocCallbackArg = NULL; + +static u32 DAT_804bf648 = 0; + +/** + * @brief Initializes the audio manager state + * + * @param pArg Audio system configuration + */ +void RPSndAudioMgr::initialize(Arg* pArg) { + ExpAudioMgrArg* pArgExp = static_cast(pArg); + + pArgExp->maxVolumeDistance = 10000.0f; + + RPSysSceneCreator::EPackID pack = + RP_GET_INSTANCE(RPSysProjectLocal)->getPack(); + + // TODO(kiwi) How are these calculated? + if (pack == RPSysSceneCreator::EPackID_SportsPack) { + pArgExp->heapSize[nw4r::snd::AUX_A] = 0x31400; + pArgExp->heapSize[nw4r::snd::AUX_B] = 0x400; + pArgExp->heapSize[nw4r::snd::AUX_C] = 0x400; + } else if (pack == RPSysSceneCreator::EPackID_PartyPack) { + pArgExp->heapSize[nw4r::snd::AUX_A] = 0x25000; + pArgExp->heapSize[nw4r::snd::AUX_B] = 0x9A80; + pArgExp->heapSize[nw4r::snd::AUX_C] = 0x4080; + } else { + pArgExp->heapSize[nw4r::snd::AUX_A] = 0x2D000; + pArgExp->heapSize[nw4r::snd::AUX_B] = 0x2D000; + pArgExp->heapSize[nw4r::snd::AUX_C] = 0x2D000; + } + + u32 soundHeapSize = pArgExp->soundHeapSize; + pArgExp->soundHeapSize = 0; + + if (RP_GET_INSTANCE(RPSysProjectLocal)->getPack() == + RPSysSceneCreator::EPackID_SportsPack) { + + pArgExp->streamBlocks = 3; + } + + ExpAudioMgr::initialize(pArgExp); + createSoundHeap(pArgExp->pHeap, soundHeapSize); + initializeFx(&getSoundHeap(), pArgExp); + + if (RP_GET_INSTANCE(RPSysProjectLocal)->getPack() == + RPSysSceneCreator::EPackID_HealthPack) { + + setDefaultFx(); + } + + mStaticMgr.setupArchive(); + saveState(); + + for (int i = 0; i < WPAD_MAX_CONTROLLERS; i++) { + RPSndObject::setCommonManager(&getSound3DManager(i), i); + } + RPSndObject::initList(); + + mpBgmVolume = new (pArg->pHeap) + RPSndMoveParam(RPSndMoveParam::ParamCategory_TrackVolume, mHandleBgm); + + RP_GET_INSTANCE(RPSndSpeakerMgr)->updateMasterVolume(); + + mSoundHeapLevel = SoundHeapMgr::getCurrentLevel(); + saveState(); +} + +/** + * @brief Attempts to open the specified sound archive, using storage + * settings from the project locale + * + * @param pPath Sound archive path + * @param pHeap Sound heap + * @param pMultiHandle Multi handle for special storage types + * @return Archive player + */ +nw4r::snd::SoundArchivePlayer* +RPSndAudioMgr::openArchiveRP(const char* pPath, nw4r::snd::SoundHeap* pHeap, + void* pMultiHandle) { + + if (getPlayer().IsAvailable() && std::strcmp(mArchivePath, pPath) == 0) { + return &getPlayer(); + } + + // @bug Unsafe string operations +#if defined(BUG_FIX) + std::strncpy(mArchivePath, pPath, ARRAY_SIZE(mArchivePath)); +#else + std::strcpy(mArchivePath, pPath); +#endif + + if (pHeap == NULL) { + pHeap = &getSoundHeap(); + } + + nw4r::snd::SoundArchivePlayer* pPlayer; + + switch (RP_GET_INSTANCE(RPSysProjectLocal)->getSoundStorage()) { + case RPSysProjectLocal::EStorage_DVDStream: { + pPlayer = + ExpAudioMgr::openArchive(pPath, pHeap, SARC_STORAGE_DVD, NULL); + break; + } + + case RPSysProjectLocal::EStorage_NANDBuffer: { + EGG::CntFile file; + file.initiate(); + + file.open(pPath, static_cast(pMultiHandle)); + u32 fileSize = file.getFileSize(); + + void* pBuffer = getSoundHeap().Alloc(fileSize, MemDeallocCallback, + MemDeallocCallbackArg); + + file.readData(pBuffer, fileSize, 0); + file.close(); + + pPlayer = ExpAudioMgr::setupMemoryArchive(pPath, pHeap); + break; + } + + case RPSysProjectLocal::EStorage_DVDBuffer: { + EGG::DvdFile file; + file.initiate(); + + file.open(pPath); + u32 fileSize = file.getFileSize(); + + void* pBuffer = getSoundHeap().Alloc(fileSize, MemDeallocCallback, + MemDeallocCallbackArg); + + file.readData(pBuffer, fileSize, 0); + file.close(); + + pPlayer = ExpAudioMgr::setupMemoryArchive(pPath, pHeap); + break; + } + } + + setArcVolume(1.0f, 0); + RPSndUtility::setPlayer(&getPlayer()); + + return pPlayer; +} + +/** + * @brief Attempts to open and prepare the specified sound archive + * + * @param pPath Sound archive path + * @param staticPath Whether the archive path is relative to the static + * resource directory + * @param pHeap Sound heap + * @return Archive player + */ +nw4r::snd::SoundArchivePlayer* +RPSndAudioMgr::attachArchive(const char* pPath, bool staticPath, + nw4r::snd::SoundHeap* pHeap) { + + char commonPath[PATH_MAX]; + char localPath[PATH_MAX]; + char expPath[PATH_MAX]; + + RPSysResourceManager* pResMgr = RP_GET_INSTANCE(RPSysResourceManager); + + if (staticPath) { + pResMgr->GetStaticSoundCommonPath(commonPath, ARRAY_SIZE(commonPath)); + pResMgr->GetStaticSoundLocalPath(localPath, ARRAY_SIZE(localPath)); + } else { + pResMgr->GetGameSoundCommonPath(commonPath, ARRAY_SIZE(commonPath)); + pResMgr->GetGameSoundLocalPath(localPath, ARRAY_SIZE(localPath)); + } + + // @bug Unsafe string operations +#if defined(BUG_FIX) + std::strncat(commonPath, pPath, ARRAY_SIZE(commonPath)); + std::strncat(localPath, pPath, ARRAY_SIZE(localPath)); +#else + std::strcat(commonPath, pPath); + std::strcat(localPath, pPath); +#endif + + void* pMultiHandle = pResMgr->GetMultiHandle(); + + if (pResMgr->IsExist(commonPath)) { + return openArchiveRP(commonPath, pHeap, pMultiHandle); + } + + if (pResMgr->IsExist(localPath)) { + return openArchiveRP(localPath, pHeap, pMultiHandle); + } + + // Fallback to the music experiment scene? + std::strcpy(expPath, "Sound/RPMpeScene/"); + + // @bug Unsafe string operations +#if defined(BUG_FIX) + std::strcat(expPath, pPath, ARRAY_SIZE(expPath)); +#else + std::strcat(expPath, pPath); +#endif + + if (pResMgr->IsExist(expPath)) { + return openArchiveRP(expPath, pHeap, pMultiHandle); + } + + return NULL; +} + +/** + * @brief Updates the state of the audio manager + */ +void RPSndAudioMgr::calc() { + if (mShutDownStatusRP == SHUTDOWN_STATUS_QUEUED) { + if (nw4r::snd::SoundSystem::GetMasterVolume() == 0.0f) { + nw4r::snd::SoundSystem::ShutdownSoundSystem(); + nw4r::snd::SoundSystem::PrepareReset(); + nw4r::snd::SoundSystem::WaitForResetReady(); + + mShutDownStatusRP = SHUTDOWN_STATUS_FINISH; + } + } + + if (mShutDownStatusRP == SHUTDOWN_STATUS_FINISH) { + return; + } + + if (mResetTimer > 0 && --mResetTimer == 0) { + stopAllSound(); + resetArcVolume(); + } + + if (mHandleStream.IsAttachedSound()) { + mStreamPlayTick++; + } + + if (mIsPauseSe) { + bool startSe = !mPauseSeWaitForDpd || + RPSysCoreControllerMgr::isDpdCtrlEnable(mPauseSeChan); + + if (startSe) { + startSystemSeWithRemote(mpPauseSeNameRemote, mPauseSePlayerFlag); + startSystemSe(mpPauseSeName); + + mIsPauseSe = false; + } + } + + if (getPlayer().IsAvailable()) { + RPSndObjMgr::update(); + RPSndMoveParamMgr::update(); + + if (mArcVolume.update()) { + for (u32 i = 0; i < getPlayer().GetSoundPlayerCount(); i++) { + getPlayer().GetSoundPlayer(i).SetVolume(mArcVolume.getValue()); + } + } + + SimpleAudioMgr::calc(); + } + + RP_GET_INSTANCE(RPSndSpeakerMgr)->calc(); + mStaticMgr.calc(); + + if (mFanfareLength > 0) { + if (mHandleFanfare.IsAttachedSound()) { + if (OS_TICKS_TO_MSEC(OSGetTick() - mFanfareStart) >= + mFanfareLength) { + + mFanfareLength = 0; + } + } else { + mFanfareLength = 0; + } + + if (mFanfareLength == 0) { + RPSysSceneCreator::EPackID pack = + RP_GET_INSTANCE(RPSysProjectLocal)->getPack(); + + if (pack == RPSysSceneCreator::EPackID_PartyPack) { + setBgmVolume(1.0f, 80); + setStreamVolume(1.0f, 80); + } else if (pack == RPSysSceneCreator::EPackID_SportsPack) { + setStreamVolume(1.0f, 72); + } else if (pack == RPSysSceneCreator::EPackID_HealthPack) { + setStreamVolume(1.0f, 72); + } + } + } + + bool dvdErrorChange = false; + s32 dvdStatus = DVDGetDriveStatus(); + + switch (dvdStatus) { + case DVD_STATE_NO_DISK: + case DVD_STATE_WRONG_DISK_ID: { + if (!mIsNewDvdError) { + dvdErrorChange = true; + } + + mIsNewDvdError = true; + break; + } + + case DVD_STATE_COVER_OPENED: + default: { + if (mIsNewDvdError) { + dvdErrorChange = true; + } + + mIsNewDvdError = false; + break; + } + } + + if (dvdErrorChange) { + if (mIsNewDvdError) { + onDvdError(); + } else { + exitDvdError(); + } + } + + RPSndMoveParamMgr::update(); + + if (mMenuPauseFadeInTimer > 0 && --mMenuPauseFadeInTimer == 0) { + for (u32 i = 0; i < getPlayer().GetSoundPlayerCount(); i++) { + // Ignore pause players so the buttons can still be heard + u32 idx = getSoundArchive().ConvertLabelStringToPlayerId( + "RP_COM_GAME_PLAYER_PAUSE"); + + if (i != idx) { + getPlayer().GetSoundPlayer(i).PauseAllSound(false, + EXIT_FADE_TIME); + } + } + } +} + +/** + * @brief Configures the audio system for title scenes + */ +void RPSndAudioMgr::configureTitle() { + if (mState == EState_MiniGame) { + exitAudio(); + } + + if (mState != EState_Title) { + setDefaultFx(); + setArcVolume(1.0f, 1); + mState = EState_Title; + } + + mPlayerNum = WPAD_MAX_CONTROLLERS; + RP_GET_INSTANCE(RPSndSpeakerMgr)->reset(); +} + +/** + * @brief Configures the audio system for scenes without BGM + */ +void RPSndAudioMgr::configureNoBgm() { + for (u32 i = 0; i < getPlayer().GetSoundPlayerCount(); i++) { + getPlayer().GetSoundPlayer(i).StopAllSound(0); + } + + mState = EState_NoBgm; + + mPlayerNum = WPAD_MAX_CONTROLLERS; + RP_GET_INSTANCE(RPSndSpeakerMgr)->reset(); + + setArcVolume(1.0f, 1); +} + +/** + * @brief Configures the audio system for game scenes + * + * @param cameraNum 3D audio camera count + */ +void RPSndAudioMgr::configureMiniGame(s32 cameraNum) { + if (mState == EState_Title || mState == EState_NoBgm) { + exitAudio(); + } + + mState = EState_MiniGame; + setCameraCount(cameraNum); + + mPlayerNum = WPAD_MAX_CONTROLLERS; + RP_GET_INSTANCE(RPSndSpeakerMgr)->reset(); +} + +/** + * @brief Fades out all audio in the specified number of frames + * + * @param frames Fade out length + */ +void RPSndAudioMgr::fadeOutAllSound(u16 frames) { + RPSysSceneCreator::EPackID pack = + RP_GET_INSTANCE(RPSysProjectLocal)->getPack(); + + if (pack == RPSysSceneCreator::EPackID_MusicPack) { + return; + } + + if (pack == RPSysSceneCreator::EPackID_HealthPack) { + return; + } + + setArcVolume(0.0f, frames); +} + +/** + * @brief Applies the fade out for game Retry buttons + */ +void RPSndAudioMgr::setAutoFadeOnRetry() { + for (u32 i = 0; i < getPlayer().GetSoundPlayerCount(); i++) { + // Ignore pause players so the buttons can still be heard + if (i == getSoundArchive().ConvertLabelStringToPlayerId( + "RP_COM_GAME_PLAYER_PAUSE")) { + continue; + } + + getPlayer().GetSoundPlayer(i).StopAllSound(RETRY_FADE_TIME); + } +} + +/** + * @brief Prepares the audio system for a scene change + */ +void RPSndAudioMgr::changeScene() { + exitAudio(); + mState = EState_Exited; +} + +/** + * @brief Resets the audio system configuration + */ +void RPSndAudioMgr::exitAudio() { + for (u32 i = 0; i < getPlayer().GetSoundPlayerCount(); i++) { + getPlayer().GetSoundPlayer(i).StopAllSound(0); + } + + ArcPlayer::closeArchive(); + + loadState(mSoundHeapLevel); + saveState(); + + TAudioSound3DMgrArg arg; + arg.maxPrioReduction = 32; + arg.interiorSize = 1.0f; + arg.unitDistance = 1.0f; + arg.maxVolumeDistance = 10000.0f; + setParam3D(&arg); + + RP_GET_INSTANCE(RPSndSpeakerMgr)->exit(); + exitMenu(); + exitPause(); + + mFanfareLength = 0; + mIsPauseSe = false; +} + +/** + * @brief Attempts to restore the specified sound heap state + * + * @param id State ID + * @return Success + */ +bool RPSndAudioMgr::loadState(s32 id) { + nw4r::snd::SoundHeap* pHeap = &getSoundHeap(); + s32 level = pHeap->GetCurrentLevel(); + + // Mostly EGG code, but prevents re-loading the current state? + if (id > 0 && level > id) { + pHeap->LoadState(id); + return true; + } + + return false; +} + +/** + * @brief Attempts to start the specified sound + * + * @param pHandle Sound handle + * @param id Sound ID + * @return Success + */ +bool RPSndAudioMgr::startSound(nw4r::snd::SoundHandle* pHandle, u32 id) { + return getPlayer().StartSound(pHandle, id); +} + +/** + * @brief Attempts to start the specified sound + * + * @param pHandle Sound handle + * @param id Sound ID + * @return Success + */ +bool RPSndAudioMgr::startSound(nw4r::snd::SoundHandle* pHandle, + unsigned int id) { + return getPlayer().StartSound(pHandle, id); +} + +/** + * @brief Attempts to start the specified sound + * + * @param pHandle Sound handle + * @param pName Sound name + * @return Success + */ +bool RPSndAudioMgr::startSound(nw4r::snd::SoundHandle* pHandle, + const char* pName) { + u32 id = changeNameToIdRP(pName); + return getPlayer().StartSound(pHandle, id); +} + +/** + * @brief Sets the volume of all sound players + * + * @param volume New volume + * @param frames Interpolation time + */ +void RPSndAudioMgr::setArcVolume(f32 volume, u32 frames) { + mArcVolume.moveValue(volume, frames); +} + +/** + * @brief Resets the volume of all sound players + */ +void RPSndAudioMgr::resetArcVolume() { + setArcVolume(1.0f, 0); + + for (u32 i = 0; i < getPlayer().GetSoundPlayerCount(); i++) { + getPlayer().GetSoundPlayer(i).SetVolume(1.0f); + } +} + +/** + * @brief Sets the volume of the current BGM + * + * @param volume New volume + * @param frames Interpolation time + */ +void RPSndAudioMgr::setBgmVolume(f32 volume, int frames) { + mHandleBgm.SetVolume(volume, frames); +} + +/** + * @brief Sets the volume of the current stream + * + * @param volume New volume + * @param frames Interpolation time + */ +void RPSndAudioMgr::setStreamVolume(f32 volume, int frames) { + mHandleStream.SetVolume(volume, frames); +} + +/** + * @brief Gets the position of the current stream, in seconds + */ +u32 RPSndAudioMgr::getStreamPlaySecond() { + if (mHandleStream.IsAttachedSound()) { + return mStreamPlayTick / STREAM_TICKRATE; + } + + return 0; +} + +/** + * @brief Attempts to start a cursor sound effect + * + * @param pName Sound name + * @param rDpdPos Cursor DPD/IR position + * @param pan Sound pan + * @param playerFlag Player output line flag + * @return Success + */ +bool RPSndAudioMgr::startPointCursorSe(const char* pName, + const nw4r::math::VEC2& rDpdPos, f32 pan, + u32 playerFlag) { + bool success = startSound(&mHandleSystemSe, pName); + + if (success) { + RPSndUtility::setHandleDpdPan(mHandleSystemSe, rDpdPos, pan); + setRemote(playerFlag); + } + + return success; +} + +/** + * @brief Attempts to start a pause sound effect + * + * @param pNameRemote Remote speaker sound name + * @param pNameTV TV speaker sound name + * @param waitForDpd Whether to wait until the controller reconnects + * @param player Player whose remote speaker should be used + */ +void RPSndAudioMgr::startPauseSe(const char* pNameRemote, const char* pNameTV, + bool waitForDpd, s32 player) { + + mpPauseSeNameRemote = pNameRemote; + mPauseSeWaitForDpd = waitForDpd; + mIsPauseSe = true; + mpPauseSeName = pNameTV; + + s32 chan = EGG_GET_INSTANCE(EGG::CoreControllerMgr) + ->getNthController(player) + ->getChannelID(); + + mPauseSePlayerFlag = 1 << player; + mPauseSeChan = chan; + + RPSysCoreController* pControllerRP = static_cast( + EGG_GET_INSTANCE(EGG::CoreControllerMgr)->getNthController(player)); + + mPauseSePrevDpdEnable = pControllerRP->isPrevDpdCtrlEnable(); + DAT_804bf648 = 0; +} + +/** + * @brief Applies the default audio effect configuration + */ +void RPSndAudioMgr::setDefaultFx() { + RPSysSceneCreator::EPackID pack = + RP_GET_INSTANCE(RPSysProjectLocal)->getPack(); + + if (pack == RPSysSceneCreator::EPackID_PartyPack) { + static const nw4r::snd::FxReverbHi::ReverbHiParam reverbHiParam = { + 0.03f, // preDelayTime + 1.5f, // fusedTime + 0.0f, // coloration + 0.1f, // damping + 0.2f, // crossTalk + 0.5f // outGain + }; + + static const nw4r::snd::FxChorus::ChorusParam chorusParam = { + 5.0f, // delayTime + 1.0f, // depth + 0.6f // rate + }; + + static const nw4r::snd::FxDelay::DelayParam delayParam = { + 40.0f, // delay + 0.0f, // feedback + 0.6f // outGain + }; + + setFxReverbHi(nw4r::snd::AUX_A, &reverbHiParam); + setFxChorus(nw4r::snd::AUX_B, &chorusParam); + setFxDelay(nw4r::snd::AUX_C, &delayParam); + + } else if (pack == RPSysSceneCreator::EPackID_SportsPack) { + if (nw4r::snd::SoundSystem::GetOutputMode() == + nw4r::snd::OUTPUT_MODE_DPL2) { + + setFxReverbHiDpl2(nw4r::snd::AUX_A, getDefaultFxReverbHiDpl2()); + } else { + setFxReverbHi(nw4r::snd::AUX_A, getDefaultFxReverbHi()); + } + + clearFx(nw4r::snd::AUX_B); + clearFx(nw4r::snd::AUX_C); + + } else /* EPackID_HealthPack, EPackID_MusicPack */ { + setFxReverbHi(nw4r::snd::AUX_A, getDefaultFxReverbHi()); + setFxChorus(nw4r::snd::AUX_B, getDefaultFxChorus()); + setFxDelay(nw4r::snd::AUX_C, getDefaultFxDelay()); + } +} + +/** + * @brief Attempts to load the specified sound group + * + * @param id Group ID + * @param pHeap Sound heap to use for allocations + * @param blockSize Read block size (zero tries to read it all at once) + * @return Success + */ +bool RPSndAudioMgr::loadGroup(unsigned int id, + nw4r::snd::SoundHeap* /* pHeap */, + u32 /* blockSize */) { + if (mStorage != SARC_STORAGE_DVD) { + return true; + } + + (void)mHeap.GetFreeSize(); // unused + + return getPlayer().LoadGroup(id, &getSoundHeap(), 0); +} + +/** + * @brief Attempts to load the specified sound group + * + * @param id Group ID + * @param pHeap Sound heap to use for allocations + * @param blockSize Read block size (zero tries to read it all at once) + * @return Success + */ +bool RPSndAudioMgr::loadGroup(int id, nw4r::snd::SoundHeap* /* pHeap */, + u32 /* blockSize */) { + if (mStorage != SARC_STORAGE_DVD) { + return true; + } + + (void)mHeap.GetFreeSize(); // unused + + return getPlayer().LoadGroup(id, &getSoundHeap(), 0); +} + +/** + * @brief Attempts to load the specified sound group + * + * @param pName Group name + * @param pHeap Sound heap to use for allocations + * @param blockSize Read block size (zero tries to read it all at once) + * @return Success + */ +bool RPSndAudioMgr::loadGroup(const char* pName, + nw4r::snd::SoundHeap* /* pHeap */, + u32 /* blockSize */) { + if (mStorage != SARC_STORAGE_DVD) { + return true; + } + + (void)mHeap.GetFreeSize(); // unused + + u32 id = getSoundArchive().ConvertLabelStringToGroupId(pName); + return getPlayer().LoadGroup(id, &getSoundHeap(), 0); +} + +/** + * @brief Configures the specified remote speaker(s) for the current system + * sound effect + * + * @param playerFlag Player output line flags + */ +void RPSndAudioMgr::setRemote(u32 playerFlag) { + if (!mHandleSystemSe.IsAttachedSound()) { + return; + } + + u32 param = getSoundArchive().GetSoundUserParam(mHandleSystemSe.GetId()); + if (!(param & 0xFFFF0000)) { + return; + } + + // clang-format off + f32 mainOut = static_cast(param >> 16 & 0x7F) / WPAD_MAX_SPEAKER_VOLUME; + f32 muteOut = static_cast(param >> 8 & 0x7F) / WPAD_MAX_SPEAKER_VOLUME; + f32 remoteOut = static_cast(param >> 24) / WPAD_MAX_SPEAKER_VOLUME; + // clang-format on + + RP_GET_INSTANCE(RPSndSpeakerMgr) + ->setRemoteSend(&mHandleSystemSe, playerFlag, mainOut, remoteOut, + muteOut); +} + +/** + * @brief Prepares the audio system for entering the home button menu + */ +void RPSndAudioMgr::enterMenu() { + if (mFlags == 0) { + mMenuPauseFadeInTimer = 0; + + for (u32 i = 0; i < getPlayer().GetSoundPlayerCount(); i++) { + // Ignore pause players so the buttons can still be heard + if (i == getSoundArchive().ConvertLabelStringToPlayerId( + "RP_COM_GAME_PLAYER_PAUSE")) { + continue; + } + + getPlayer().GetSoundPlayer(i).PauseAllSound(true, mMenuPauseFrame); + } + } + + setFlag(EFlag_IsMenu); + + nw4r::snd::SoundSystem::ClearEffect(nw4r::snd::AUX_A, MENU_FX_CLEAR_TIME); + nw4r::snd::SoundSystem::ClearEffect(nw4r::snd::AUX_B, MENU_FX_CLEAR_TIME); + nw4r::snd::SoundSystem::ClearEffect(nw4r::snd::AUX_C, MENU_FX_CLEAR_TIME); + + RP_GET_INSTANCE(RPSndSpeakerMgr)->disconnectAll(); +} + +/** + * @brief Prepares the audio system for returning from the home button menu + */ +void RPSndAudioMgr::exitMenu() { + if (!testFlag(EFlag_IsMenu)) { + return; + } + + clearFlag(EFlag_IsMenu); + + if (mFlags == 0) { + if (mMenuPauseFrame > 0) { + for (u32 i = 0; i < getPlayer().GetSoundPlayerCount(); i++) { + // Ignore pause players so the buttons can still be heard + if (i == getSoundArchive().ConvertLabelStringToPlayerId( + "RP_COM_GAME_PLAYER_PAUSE")) { + continue; + } + + getPlayer().GetSoundPlayer(i).PauseAllSound(false, + EXIT_FADE_TIME); + } + } else { + mMenuPauseFadeInTimer = 1; + } + } + + // Re-apply original audio effect configuration + if (mpSetFxCallback != NULL) { + mpSetFxCallback(); + } else { + setDefaultFx(); + } + + RP_GET_INSTANCE(RPSndSpeakerMgr)->updateMasterVolume(); + RP_GET_INSTANCE(RPSndSpeakerMgr)->connectAll(); +} + +/** + * @brief Prepares the audio system for entering the pause menu + */ +void RPSndAudioMgr::enterPause() { + if (testFlag(EFlag_IsPause)) { + return; + } + + if (mFlags == 0) { + mMenuPauseFadeInTimer = 0; + + for (u32 i = 0; i < getPlayer().GetSoundPlayerCount(); i++) { + // Ignore pause players so the buttons can still be heard + if (i == getSoundArchive().ConvertLabelStringToPlayerId( + "RP_COM_GAME_PLAYER_PAUSE")) { + continue; + } + + getPlayer().GetSoundPlayer(i).PauseAllSound(true, mMenuPauseFrame); + } + } + + setFlag(EFlag_IsPause); +} + +/** + * @brief Prepares the audio system for returning from the pause menu + */ +void RPSndAudioMgr::exitPause() { + if (!testFlag(EFlag_IsPause)) { + return; + } + + clearFlag(EFlag_IsPause); + + if (mFlags == 0) { + if (mMenuPauseFrame > 0) { + for (u32 i = 0; i < getPlayer().GetSoundPlayerCount(); i++) { + // Ignore pause players so the buttons can still be heard + if (i == getSoundArchive().ConvertLabelStringToPlayerId( + "RP_COM_GAME_PLAYER_PAUSE")) { + continue; + } + + getPlayer().GetSoundPlayer(i).PauseAllSound(false, 0); + } + } else { + mMenuPauseFadeInTimer = 1; + } + } +} + +/** + * @brief Pauses the audio system when a DVD error occurs + */ +void RPSndAudioMgr::onDvdError() { + if (mFlags == 0) { + for (u32 i = 0; i < getPlayer().GetSoundPlayerCount(); i++) { + // Ignore pause players so the buttons can still be heard + if (i == getSoundArchive().ConvertLabelStringToPlayerId( + "RP_COM_GAME_PLAYER_PAUSE")) { + continue; + } + + getPlayer().GetSoundPlayer(i).PauseAllSound(true, 0); + } + } + + setFlag(EFlag_IsDvdError); +} + +/** + * @brief Resumes the audio system after a DVD error + */ +void RPSndAudioMgr::exitDvdError() { + clearFlag(EFlag_IsDvdError); + + if (mFlags == 0) { + for (u32 i = 0; i < getPlayer().GetSoundPlayerCount(); i++) { + // Ignore pause players so the buttons can still be heard + if (i == getSoundArchive().ConvertLabelStringToPlayerId( + "RP_COM_GAME_PLAYER_PAUSE")) { + continue; + } + + getPlayer().GetSoundPlayer(i).PauseAllSound(false, 0); + } + } +} + +/** + * @brief Stops all sounds when exiting the scene from the pause menu + */ +void RPSndAudioMgr::stopAllSoundOnPauseOff() { + for (u32 i = 0; i < getPlayer().GetSoundPlayerCount(); i++) { + // Ignore pause players so the buttons can still be heard + if (i == getSoundArchive().ConvertLabelStringToPlayerId( + "RP_COM_GAME_PLAYER_PAUSE")) { + continue; + } + + getPlayer().GetSoundPlayer(i).StopAllSound(0); + } +} + +/** + * @brief Requests the audio system to shutdown + * + * @param frames Time to fade out the master volume + */ +void RPSndAudioMgr::shutdownSystem(int frames) { + mShutDownStatusRP = SHUTDOWN_STATUS_QUEUED; + nw4r::snd::SoundSystem::SetMasterVolume(0.0f, frames); +} + +/** + * @brief Requests the audio system to reset + * + * @param frames Time to fade out the archive volume + */ +void RPSndAudioMgr::resetSystem(int frames) { + setArcVolume(0.0f, frames); + mResetTimer = frames; + RP_GET_INSTANCE(RPSndSpeakerMgr)->updateMasterVolume(); +} + +/** + * @brief Attempts to start the specified fanfare sound effect + * + * @param id Sound ID + * @return Success + */ +bool RPSndAudioMgr::startFanfare(u32 id) { + const char* pName = getSoundArchive().GetSoundLabelString(id); + return pName != NULL ? startFanfare(pName) : false; +} + +/** + * @brief Attempts to start the specified fanfare sound effect + * + * @param pName Sound name + * @return Success + */ +bool RPSndAudioMgr::startFanfare(const char* pName) { + if (mIsDisableFanfare) { + return false; + } + + bool success = startSound(&mHandleFanfare, pName); + + if (success) { + mFanfareStart = OSGetTick(); + mFanfareLength = getFanfareLength(pName); + + RPSysSceneCreator::EPackID pack = + RP_GET_INSTANCE(RPSysProjectLocal)->getPack(); + + if (pack == RPSysSceneCreator::EPackID_PartyPack) { + setBgmVolume(0.3f, 3); + setStreamVolume(0.3f, 3); + + } else if (pack == RPSysSceneCreator::EPackID_SportsPack) { + u32 param = getUserParam(getSoundArchive(), mHandleFanfare.GetId()); + + // @bug Overwritten with zero?? Maybe intentional +#if !defined(BUG_FIX) + param = 0; +#endif + + f32 volume = param / 127.0f; + setStreamVolume(volume, 3); + + } else if (pack == RPSysSceneCreator::EPackID_HealthPack) { + setStreamVolume(0.3f, 20); + } + } + + return success; +} + +/** + * @brief Gets the user parameters attached to the specified sound + * + * @param rArchive Sound archive + * @param id Sound ID + */ +u32 RPSndAudioMgr::getUserParam(const nw4r::snd::SoundArchive& rArchive, + u32 id) { + return rArchive.GetSoundUserParam(id); +} + +/** + * @brief Sets the output mode of the audio system + * + * @param confMode Sound mode from the SYSCONF + */ +void RPSndAudioMgr::setOutputMode(u8 confMode) { + nw4r::snd::OutputMode outputMode = nw4r::snd::OUTPUT_MODE_STEREO; + + switch (confMode) { + case SC_SND_MONO: { + outputMode = nw4r::snd::OUTPUT_MODE_MONO; + break; + } + + case SC_SND_STEREO: { + outputMode = nw4r::snd::OUTPUT_MODE_STEREO; + break; + } + + case SC_SND_SURROUND: { + RPSysSceneCreator::EPackID pack = + RP_GET_INSTANCE(RPSysProjectLocal)->getPack(); + + if (pack == RPSysSceneCreator::EPackID_PartyPack || + pack == RPSysSceneCreator::EPackID_HealthPack) { + + outputMode = nw4r::snd::OUTPUT_MODE_STEREO; + } else { + outputMode = nw4r::snd::OUTPUT_MODE_DPL2; + } + break; + } + } + + nw4r::snd::SoundSystem::SetOutputMode(outputMode); + + if (RP_GET_INSTANCE(RPSysProjectLocal)->getPack() == + RPSysSceneCreator::EPackID_SportsPack) { + + s16 variable = 0; + if (outputMode == nw4r::snd::OUTPUT_MODE_DPL2) { + variable = 1; + } else if (outputMode == nw4r::snd::OUTPUT_MODE_MONO) { + variable = 2; + } + + nw4r::snd::SeqSoundHandle::WriteGlobalVariable(0, variable); + } +} diff --git a/src/Pack/RPAudio/RPSndHomeMenuArcMgr.cpp b/src/Pack/RPAudio/RPSndHomeMenuArcMgr.cpp index 5599accc..8e1a84cf 100644 --- a/src/Pack/RPAudio/RPSndHomeMenuArcMgr.cpp +++ b/src/Pack/RPAudio/RPSndHomeMenuArcMgr.cpp @@ -4,7 +4,7 @@ * @brief Constructor */ RPSndHomeMenuArcMgr::RPSndHomeMenuArcMgr() - : EGG::ArcPlayer(&getSoundHeap()), mIsInitialized(false) {} + : ArcPlayer(&getSoundHeap()), mIsInitialized(false) {} /** * @brief Destructor @@ -32,5 +32,5 @@ void RPSndHomeMenuArcMgr::calc() { return; } - EGG::ArcPlayer::calc(); + ArcPlayer::calc(); } diff --git a/src/Pack/RPAudio/RPSndStaticMgr.cpp b/src/Pack/RPAudio/RPSndStaticMgr.cpp index 78e9bd7b..a63e08bf 100644 --- a/src/Pack/RPAudio/RPSndStaticMgr.cpp +++ b/src/Pack/RPAudio/RPSndStaticMgr.cpp @@ -13,7 +13,7 @@ /** * @brief Constructor */ -RPSndStaticMgr::RPSndStaticMgr() : EGG::ArcPlayer(NULL) { +RPSndStaticMgr::RPSndStaticMgr() : ArcPlayer(NULL) { for (int i = 0; i < WPAD_MAX_CONTROLLERS; i++) { mStartTasks[i].valid = false; } @@ -63,7 +63,7 @@ void RPSndStaticMgr::calc() { rTask.valid = false; } - EGG::ArcPlayer::calc(); + ArcPlayer::calc(); } /** diff --git a/src/Pack/RPKernel/RPSysFile.cpp b/src/Pack/RPKernel/RPSysFile.cpp index 1095f10d..3766d5c1 100644 --- a/src/Pack/RPKernel/RPSysFile.cpp +++ b/src/Pack/RPKernel/RPSysFile.cpp @@ -13,7 +13,7 @@ RPSysFile::RPSysFile(const char* pPath, s32 size, const void* pData) : mSize(size) { - // @bug Can easily overflow the fixed-size buffer + // @bug Unsafe string operations #if defined(BUG_FIX) std::strncpy(mPath, pPath, ARRAY_SIZE(mPath)); #else diff --git a/src/Pack/RPSystem/RPSysProjectLocal.cpp b/src/Pack/RPSystem/RPSysProjectLocal.cpp index 0dd3e86c..007aa415 100644 --- a/src/Pack/RPSystem/RPSysProjectLocal.cpp +++ b/src/Pack/RPSystem/RPSysProjectLocal.cpp @@ -17,7 +17,7 @@ RPSysProjectLocal::RPSysProjectLocal(EGG::Heap* pHeap) mLocale(EArea_USA), mLanguage(EArea_USA), mIsPal50(false), - mSoundStorage(EStorage_Memory), + mSoundStorage(EStorage_DVDStream), #endif #if defined(PACK_SPORTS) diff --git a/src/egg/audio/eggAudioFxMgr.cpp b/src/egg/audio/eggAudioFxMgr.cpp index 8194bcb9..37a89616 100644 --- a/src/egg/audio/eggAudioFxMgr.cpp +++ b/src/egg/audio/eggAudioFxMgr.cpp @@ -49,7 +49,7 @@ bool AudioFx::create(u32 fxType, const void* pParam) { // Dead-stripped case TYPE_AXFX_REVERBSTD: { - return NULL; + return false; } case TYPE_AXFX_CHORUS: {