summaryrefslogtreecommitdiff
path: root/src/egg/audio/eggAudioExpMgr.cpp
diff options
context:
space:
mode:
authorrobojumper <robojumper@gmail.com>2024-10-20 15:53:23 +0200
committerGitHub <noreply@github.com>2024-10-20 09:53:23 -0400
commitbe06bc04a9090db85a2fdcf53553a4113c1e35f8 (patch)
treebabd84fa9cbaa197eaa79766450131cab7d459d2 /src/egg/audio/eggAudioExpMgr.cpp
parent01b132f93406465a9d9ba68b0185b791da29c3db (diff)
EGG::ExpAudioMgr OK (thanks RootCubed!) (#74)
Diffstat (limited to 'src/egg/audio/eggAudioExpMgr.cpp')
-rw-r--r--src/egg/audio/eggAudioExpMgr.cpp35
1 files changed, 35 insertions, 0 deletions
diff --git a/src/egg/audio/eggAudioExpMgr.cpp b/src/egg/audio/eggAudioExpMgr.cpp
new file mode 100644
index 00000000..6745baa9
--- /dev/null
+++ b/src/egg/audio/eggAudioExpMgr.cpp
@@ -0,0 +1,35 @@
+#include "egg/audio/eggAudioMgr.h"
+
+
+// Note: Pretty much this entire file is deadstripped by the linker, but ONE artifact remains:
+// The single `EGG::SimpleAudioMgr::@248@calc()` weak function.
+// As a result, this file has no corresponding header, and is basically unimplemented.
+
+namespace EGG {
+
+class ExpAudioMgr : public SimpleAudioMgr {
+public:
+
+ ExpAudioMgr();
+ virtual ~ExpAudioMgr();
+
+ // Do not override calc()
+
+ void initialize(EGG::IAudioMgr::Arg *) override;
+
+ virtual UNKTYPE *openDvdArchive(const char *, nw4r::snd::SoundHeap *) override; // at 0x10
+ virtual UNKTYPE *openNandArchive(const char *, nw4r::snd::SoundHeap *) override; // at 0x14
+ virtual UNKTYPE *setupMemoryArchive(const void *, nw4r::snd::SoundHeap *) override; // at 0x18
+
+ virtual void closeArchive() override; // at 0x20
+ virtual bool loadGroup(unsigned int, nw4r::snd::SoundHeap *, u32) override; // at 0x24
+ virtual bool loadGroup(int, nw4r::snd::SoundHeap *, u32) override; // at 0x28
+ virtual bool loadGroup(u32, nw4r::snd::SoundHeap *, u32) override; // at 0x2C
+ virtual bool loadGroup(const char *, nw4r::snd::SoundHeap *, u32) override; // at 0x30
+};
+
+
+ExpAudioMgr::ExpAudioMgr() {}
+ExpAudioMgr::~ExpAudioMgr() {}
+
+} // namespace EGG