Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion config/RSPE01_01/splits.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3235,10 +3235,10 @@ Pack/RPAudio/RPSndSpeakerMgr.cpp:
Pack/RPAudio/RPSndObject.cpp:
.text start:0x801B8EF8 end:0x801B8F78
.bss start:0x804A4670 end:0x804A4680
.sbss start:0x804BF658 end:0x804BF660

Pack/RPAudio/RPSndUtility.cpp:
.text start:0x801B8F78 end:0x801B9070
.sbss start:0x804BF658 end:0x804BF660
.sdata2 start:0x804C1970 end:0x804C1980

Pack/RPAudio/RPSndMoveParam.cpp:
Expand Down
114 changes: 57 additions & 57 deletions config/RSPE01_01/symbols.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8159,37 +8159,37 @@ 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
fn_801B8384 = .text:0x801B8384; // type:function size:0x2C
fn_801B83B0 = .text:0x801B83B0; // type:function size:0x80
fn_801B8430 = .text:0x801B8430; // type:function size:0xF8
fn_801B8528 = .text:0x801B8528; // type:function size:0x34
fn_801B855C = .text:0x801B855C; // type:function size:0x30
fn_801B858C = .text:0x801B858C; // type:function size:0xD0
fn_801B865C = .text:0x801B865C; // type:function size:0xD4
fn_801B8730 = .text:0x801B8730; // type:function size:0x58
fn_801B8788 = .text:0x801B8788; // type:function size:0xE4
fn_801B886C = .text:0x801B886C; // type:function size:0x190
fn_801B89FC = .text:0x801B89FC; // type:function size:0xEC
fn_801B8AE8 = .text:0x801B8AE8; // type:function size:0x30
fn_801B8B18 = .text:0x801B8B18; // type:function size:0x80
fn_801B8B98 = .text:0x801B8B98; // type:function size:0x208
fn_801B8DA0 = .text:0x801B8DA0; // type:function size:0xF8
fn_801B8E98 = .text:0x801B8E98; // type:function size:0x60
fn_801B8EF8 = .text:0x801B8EF8; // type:function size:0x80
fn_801B8F78 = .text:0x801B8F78; // type:function size:0xF8
fn_801B9070 = .text:0x801B9070; // type:function size:0x94
fn_801B9104 = .text:0x801B9104; // type:function size:0x168
fn_801B926C = .text:0x801B926C; // type:function size:0x3C
fn_801B92A8 = .text:0x801B92A8; // type:function size:0x78
fn_801B9320 = .text:0x801B9320; // type:function size:0x4C
fn_801B936C = .text:0x801B936C; // type:function size:0x2C
fn_801B9398 = .text:0x801B9398; // type:function size:0x8
fn_801B93A0 = .text:0x801B93A0; // type:function size:0x18
fn_801B93B8 = .text:0x801B93B8; // type:function size:0x54
fn_801B940C = .text:0x801B940C; // type:function size:0x90
fn_801B949C = .text:0x801B949C; // type:function size:0x9C
fn_801B9538 = .text:0x801B9538; // type:function size:0x8
fn_801B9540 = .text:0x801B9540; // 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
setSpeakerShutdownCallback__15RPSndSpeakerMgrFll = .text:0x801B8528; // type:function size:0x34
setSpeakerSetupCallback__15RPSndSpeakerMgrFll = .text:0x801B855C; // type:function size:0x30
setSpeakerOffCallback__15RPSndSpeakerMgrFll = .text:0x801B858C; // type:function size:0xD0
setSpeakerOnCallback__15RPSndSpeakerMgrFll = .text:0x801B865C; // type:function size:0xD4
__dt__15RPSndSpeakerMgrFv = .text:0x801B8730; // type:function size:0x58
__ct__15RPSndSpeakerMgrFPQ23EGG4Heap = .text:0x801B8788; // type:function size:0xE4
setRemoteSend__15RPSndSpeakerMgrFPQ34nw4r3snd11SoundHandleUlfff = .text:0x801B886C; // type:function size:0x190
setEnableSw__15RPSndSpeakerMgrFlb = .text:0x801B89FC; // type:function size:0xEC
updateMasterVolume__15RPSndSpeakerMgrFv = .text:0x801B8AE8; // type:function size:0x30
exit__15RPSndSpeakerMgrFv = .text:0x801B8B18; // type:function size:0x80
calc__15RPSndSpeakerMgrFv = .text:0x801B8B98; // type:function size:0x208
reset__15RPSndSpeakerMgrFv = .text:0x801B8DA0; // type:function size:0xF8
CreateInstance__15RPSndSpeakerMgrFPQ23EGG4Heap = .text:0x801B8E98; // type:function size:0x60
stopAllActorSound__11RPSndObjMgrFi = .text:0x801B8EF8; // type:function size:0x80
setHandleDpdPan__12RPSndUtilityFRQ34nw4r3snd11SoundHandleRCQ34nw4r4math4VEC2f = .text:0x801B8F78; // type:function size:0xF8
update__17RPSndMoveParamMgrFv = .text:0x801B9070; // type:function size:0x94
update__14RPSndMoveParamFv = .text:0x801B9104; // type:function size:0x168
__ct__14RPSndMoveParamFQ214RPSndMoveParam13ParamCategoryRQ34nw4r3snd11SoundHandle = .text:0x801B926C; // type:function size:0x3C
update__17RPSndMoveValueF32Fv = .text:0x801B92A8; // type:function size:0x78
moveValue__17RPSndMoveValueF32FfUl = .text:0x801B9320; // type:function size:0x4C
__ct__17RPSndMoveValueF32Fv = .text:0x801B936C; // type:function size:0x2C
@8@update__14RPSndMoveParamFv = .text:0x801B9398; // type:function size:0x8
calc__19RPSndHomeMenuArcMgrFv = .text:0x801B93A0; // type:function size:0x18
setupArchive__19RPSndHomeMenuArcMgrFPCv = .text:0x801B93B8; // type:function size:0x54
__dt__19RPSndHomeMenuArcMgrFv = .text:0x801B940C; // type:function size:0x90
__ct__19RPSndHomeMenuArcMgrFv = .text:0x801B949C; // type:function size:0x9C
@240@calc__19RPSndHomeMenuArcMgrFv = .text:0x801B9538; // type:function size:0x8
@240@__dt__19RPSndHomeMenuArcMgrFv = .text:0x801B9540; // type:function size:0x8
fn_801B9548 = .text:0x801B9548; // type:function size:0x148
fn_801B9690 = .text:0x801B9690; // type:function size:0x16C
fn_801B97FC = .text:0x801B97FC; // type:function size:0x54
Expand Down Expand Up @@ -9860,7 +9860,7 @@ fn_80214AC8 = .text:0x80214AC8; // type:function size:0x9C
fn_80214B64 = .text:0x80214B64; // type:function size:0x200
fn_80214D64 = .text:0x80214D64; // type:function size:0x78
fn_80214DDC = .text:0x80214DDC; // type:function size:0x58
fn_80214E34 = .text:0x80214E34; // type:function size:0xC
__ct__Q34nw4r3snd11SoundHandleFv = .text:0x80214E34; // type:function size:0xC
fn_80214E40 = .text:0x80214E40; // type:function size:0x104
fn_80214F44 = .text:0x80214F44; // type:function size:0x78
fn_80214FBC = .text:0x80214FBC; // type:function size:0x44
Expand Down Expand Up @@ -10056,12 +10056,12 @@ fn_8021DAC4 = .text:0x8021DAC4; // type:function size:0xB4
fn_8021DB78 = .text:0x8021DB78; // type:function size:0x8
fn_8021DB80 = .text:0x8021DB80; // type:function size:0x464
fn_8021DFE4 = .text:0x8021DFE4; // type:function size:0x10C
fn_8021E0F0 = .text:0x8021E0F0; // type:function size:0xB0
fn_8021E1A0 = .text:0x8021E1A0; // type:function size:0xAC
__dt__15TRPSndObject<4>Fv = .text:0x8021E0F0; // type:function size:0xB0
__dt__36TRPSndAudioActorBaseWithHandles<4,4>Fv = .text:0x8021E1A0; // type:function size:0xAC
fn_8021E24C = .text:0x8021E24C; // type:function size:0x58
fn_8021E2A4 = .text:0x8021E2A4; // type:function size:0x8
fn_8021E2AC = .text:0x8021E2AC; // type:function size:0x8
fn_8021E2B4 = .text:0x8021E2B4; // type:function size:0x8
getOuterPitch__21TRPSndAudioHandles<8>Fv = .text:0x8021E2A4; // type:function size:0x8
getOuterVolume__21TRPSndAudioHandles<8>Fv = .text:0x8021E2AC; // type:function size:0x8
get3DPosition__36TRPSndAudioActorBaseWithHandles<4,4>Fi = .text:0x8021E2B4; // type:function size:0x8
fn_8021E2BC = .text:0x8021E2BC; // type:function size:0xE8
fn_8021E3A4 = .text:0x8021E3A4; // type:function size:0x110
fn_8021E4B4 = .text:0x8021E4B4; // type:function size:0x11C
Expand Down Expand Up @@ -14253,11 +14253,11 @@ fn_8032781C = .text:0x8032781C; // type:function size:0x3C
fn_80327858 = .text:0x80327858; // type:function size:0x298
fn_80327AF0 = .text:0x80327AF0; // type:function size:0xA0
fn_80327B90 = .text:0x80327B90; // type:function size:0x4C
fn_80327BDC = .text:0x80327BDC; // type:function size:0x70
fn_80327C4C = .text:0x80327C4C; // type:function size:0x4C
fn_80327C98 = .text:0x80327C98; // type:function size:0x64
fn_80327CFC = .text:0x80327CFC; // type:function size:0x6C
fn_80327D68 = .text:0x80327D68; // type:function size:0x9C
__ct__15TRPSndObject<4>FRQ34nw4r3snd18SoundArchivePlayerRQ34nw4r3snd14Sound3DManagerUl = .text:0x80327BDC; // type:function size:0x70
__ct__36TRPSndAudioActorBaseWithHandles<4,4>Fi = .text:0x80327C4C; // type:function size:0x4C
__ct__21TRPSndAudioHandles<8>Fv = .text:0x80327C98; // type:function size:0x64
__ct__19RPSndAudioActorBaseFi = .text:0x80327CFC; // type:function size:0x6C
__ct__21TRPSndAudio3DActor<4>FRQ34nw4r3snd18SoundArchivePlayer = .text:0x80327D68; // type:function size:0x9C
fn_80327E04 = .text:0x80327E04; // type:function size:0xC
fn_80327E10 = .text:0x80327E10; // type:function size:0x8
fn_80327E18 = .text:0x80327E18; // type:function size:0x8
Expand Down Expand Up @@ -18722,10 +18722,10 @@ 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
lbl_803BAA60 = .data:0x803BAA60; // type:object size:0x10
lbl_803BAA70 = .data:0x803BAA70; // type:object size:0x18
__vt__15RPSndSpeakerMgr = .data:0x803BAA60; // type:object size:0xC
__vt__14RPSndMoveParam = .data:0x803BAA70; // type:object size:0x18
lbl_803BAA88 = .data:0x803BAA88; // type:object size:0x10
lbl_803BAA98 = .data:0x803BAA98; // type:object size:0x88
__vt__19RPSndHomeMenuArcMgr = .data:0x803BAA98; // type:object size:0x88
sStaticSoundArchive__14RPSndStaticMgr = .data:0x803BAB20; // type:object size:0x6BA0 align:32 noreloc
lbl_803C16C0 = .data:0x803C16C0; // type:object size:0x60
lbl_803C1720 = .data:0x803C1720; // type:object size:0x28
Expand Down Expand Up @@ -18892,7 +18892,7 @@ lbl_803C3718 = .data:0x803C3718; // type:object size:0x18
lbl_803C3730 = .data:0x803C3730; // type:object size:0x80
lbl_803C37B0 = .data:0x803C37B0; // type:object size:0x68
lbl_803C3818 = .data:0x803C3818; // type:object size:0x10
lbl_803C3828 = .data:0x803C3828; // type:object size:0x28
__vt__19RPSndAudioActorBase = .data:0x803C3828; // type:object size:0x28
lbl_803C3850 = .data:0x803C3850; // type:object size:0x10
lbl_803C3860 = .data:0x803C3860; // type:object size:0x10
lbl_803C3870 = .data:0x803C3870; // type:object size:0xC
Expand All @@ -18914,7 +18914,7 @@ lbl_803C3CD8 = .data:0x803C3CD8; // type:object size:0x30
lbl_803C3D08 = .data:0x803C3D08; // type:object size:0x30
lbl_803C3D38 = .data:0x803C3D38; // type:object size:0xDC
lbl_803C3E14 = .data:0x803C3E14; // type:object size:0xDC
lbl_803C3EF0 = .data:0x803C3EF0; // type:object size:0xD0
__vt__15TRPSndObject<4> = .data:0x803C3EF0; // type:object size:0xD0
lbl_803C3FC0 = .data:0x803C3FC0; // type:object size:0x38
lbl_803C3FF8 = .data:0x803C3FF8; // type:object size:0x10
lbl_803C4008 = .data:0x803C4008; // type:object size:0x10
Expand Down Expand Up @@ -19888,8 +19888,8 @@ 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
lbl_804A4670 = .bss:0x804A4670; // type:object size:0x10
lbl_804A4680 = .bss:0x804A4680; // type:object size:0x10
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
lbl_804A469C = .bss:0x804A469C; // type:object size:0xC align:4 data:float
lbl_804A46A8 = .bss:0x804A46A8; // type:object size:0xC align:4 data:float
Expand Down Expand Up @@ -21939,10 +21939,10 @@ 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
lbl_804BF644 = .sbss:0x804BF644; // 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
lbl_804BF650 = .sbss:0x804BF650; // type:object size:0x8 data:4byte
lbl_804BF658 = .sbss:0x804BF658; // 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
lbl_804BF668 = .sbss:0x804BF668; // type:object size:0x8 data:4byte
lbl_804BF670 = .sbss:0x804BF670; // type:object size:0x4 data:4byte
Expand Down Expand Up @@ -23726,11 +23726,11 @@ lbl_804C1954 = .sdata2:0x804C1954; // type:object size:0x4 align:4 data:float
lbl_804C1958 = .sdata2:0x804C1958; // type:object size:0x4 align:4 data:float
gap_12_804C195C_sdata2 = .sdata2:0x804C195C; // type:object size:0x4 scope:global
lbl_804C1960 = .sdata2:0x804C1960; // type:object size:0x8 align:8 data:double
lbl_804C1968 = .sdata2:0x804C1968; // type:object size:0x8 align:4 data:float
lbl_804C1970 = .sdata2:0x804C1970; // type:object size:0x4 align:4 data:float
lbl_804C1974 = .sdata2:0x804C1974; // type:object size:0x4 align:4 data:float
lbl_804C1978 = .sdata2:0x804C1978; // type:object size:0x4 align:4 data:float
lbl_804C197C = .sdata2:0x804C197C; // type:object size:0x4 align:4 data:float
@11215 = .sdata2:0x804C1968; // type:object size:0x4 scope:local align:4 data:float
@10669 = .sdata2:0x804C1970; // type:object size:0x4 scope:local align:4 data:float
@10670 = .sdata2:0x804C1974; // type:object size:0x4 scope:local align:4 data:float
@10671 = .sdata2:0x804C1978; // type:object size:0x4 scope:local align:4 data:float
@10672 = .sdata2:0x804C197C; // type:object size:0x4 scope:local align:4 data:float
lbl_804C1980 = .sdata2:0x804C1980; // type:object size:0x8 align:8 data:double
lbl_804C1988 = .sdata2:0x804C1988; // type:object size:0x8 align:4 data:float
lbl_804C1990 = .sdata2:0x804C1990; // type:object size:0x4 align:4 data:float
Expand Down
8 changes: 4 additions & 4 deletions configure.py
Original file line number Diff line number Diff line change
Expand Up @@ -1216,11 +1216,11 @@ def MatchingFor(*versions):
"progress_category": "audio", # str | List[str]
"objects": [
Object(NonMatching, "Pack/RPAudio/RPSndAudioMgr.cpp"),
Object(NonMatching, "Pack/RPAudio/RPSndSpeakerMgr.cpp"),
Object(NonMatching, "Pack/RPAudio/RPSndObject.cpp"),
Object(NonMatching, "Pack/RPAudio/RPSndUtility.cpp"),
Object(Matching, "Pack/RPAudio/RPSndSpeakerMgr.cpp"),
Object(Matching, "Pack/RPAudio/RPSndObject.cpp"),
Object(Matching, "Pack/RPAudio/RPSndUtility.cpp"),
Object(NonMatching, "Pack/RPAudio/RPSndMoveParam.cpp"),
Object(NonMatching, "Pack/RPAudio/RPSndHomeMenuArcMgr.cpp"),
Object(Matching, "Pack/RPAudio/RPSndHomeMenuArcMgr.cpp"),
Object(NonMatching, "Pack/RPAudio/RPSndStaticMgr.cpp"),
],
},
Expand Down
11 changes: 11 additions & 0 deletions include/Pack/RPAudio.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
#ifndef RP_PUBLIC_AUDIO_H
#define RP_PUBLIC_AUDIO_H

#include <Pack/RPAudio/RPSndAudioMgr.h>
#include <Pack/RPAudio/RPSndHomeMenuArcMgr.h>
#include <Pack/RPAudio/RPSndMoveParam.h>
#include <Pack/RPAudio/RPSndObject.h>
#include <Pack/RPAudio/RPSndSpeakerMgr.h>
#include <Pack/RPAudio/RPSndUtility.h>

#endif
35 changes: 35 additions & 0 deletions include/Pack/RPAudio/RPSndAudioMgr.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
#ifndef RP_AUDIO_SND_AUDIO_MGR_H
#define RP_AUDIO_SND_AUDIO_MGR_H
#include <Pack/types_pack.h>

#include <Pack/RPSingleton.h>

#include <egg/audio.h>

#include <nw4r/snd.h>

//! @addtogroup rp_audio
//! @{

/**
* @brief RP sound manager (BGM, SFX, etc.)
*/
class RPSndAudioMgr : public EGG::ExpAudioMgr {
RP_SINGLETON_DECL_EX(RPSndAudioMgr);

public:
u32 getUserParam(const nw4r::snd::SoundArchivePlayer& rPlayer,
u32 id) const;

u32 getPlayerNum() const {
return mPlayerNum;
}

private:
char unk8A0[0x968 - 0x8A0];
u32 mPlayerNum; // at 0x968
};

//! @}

#endif
47 changes: 47 additions & 0 deletions include/Pack/RPAudio/RPSndHomeMenuArcMgr.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
#ifndef RP_AUDIO_SND_HOME_MENU_ARC_MGR_H
#define RP_AUDIO_SND_HOME_MENU_ARC_MGR_H
#include <Pack/types_pack.h>

#include <egg/audio.h>

//! @addtogroup rp_audio
//! @{

/**
* @brief Home menu sound archive manager
*/
class RPSndHomeMenuArcMgr : public EGG::SoundHeapMgr, public EGG::ArcPlayer {
public:
/**
* @brief Constructor
*/
RPSndHomeMenuArcMgr();

/**
* @brief Destructor
*/
virtual ~RPSndHomeMenuArcMgr(); // at 0x8

/**
* @brief Updates the state of the sound player
*/
virtual void calc(); // at 0x34

/**
* @brief Mounts the provided sound archive
*
* @param pBinary Binary sound archive
* @return Success
*/
bool setupArchive(const void* pBinary);

private:
//! Active sound handle
nw4r::snd::SoundHandle mSoundHandle; // at 0x6A4
//! Whether the sound archive has been setup
bool mIsInitialized; // at 0x6A8
};

//! @}

#endif
Loading
Loading