summaryrefslogtreecommitdiffstats
path: root/src/audio/SampleManager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/audio/SampleManager.cpp')
-rw-r--r--src/audio/SampleManager.cpp85
1 files changed, 84 insertions, 1 deletions
diff --git a/src/audio/SampleManager.cpp b/src/audio/SampleManager.cpp
index 2319baec..7af3446b 100644
--- a/src/audio/SampleManager.cpp
+++ b/src/audio/SampleManager.cpp
@@ -1,9 +1,92 @@
#include "common.h"
+#include "patcher.h"
#include "SampleManager.h"
CSampleManager &cSampleManager = *(CSampleManager *)0x7341E0;
-uint32 &CSampleManager::nNumOfMp3Files = *(uint32*)0x95CC00;
+
+uint32 &nNumOfMp3Files = *(uint32 *)0x95CC00;
+uint8 &num3DProvidersAvailable = *(uint8 *)0x734237;
+uint32 *asName3DProviders = (uint32 *)0x734238;
bool CSampleManager::IsMP3RadioChannelAvailable() {
return nNumOfMp3Files != 0;
}
+
+WRAPPER void
+CSampleManager::ReleaseDigitalHandle()
+{
+ EAXJMP(0x5664B0);
+}
+
+WRAPPER
+void
+CSampleManager::RequireDigitalHandle()
+{
+ EAXJMP(0x5664F0);
+}
+
+WRAPPER
+char
+CSampleManager::AutoDetect3DProviders()
+{
+ EAXJMP(0x565990);
+}
+
+WRAPPER
+uint8
+CSampleManager::GetCDAudioDriveLetter()
+{
+ EAXJMP(0x566F20);
+}
+
+WRAPPER
+void
+CSampleManager::SetEffectsMasterVolume(uint8 volume)
+{
+ EAXJMP(0x567010);
+}
+
+WRAPPER
+void
+CSampleManager::SetMusicMasterVolume(uint8 volume)
+{
+ EAXJMP(0x567020);
+}
+
+WRAPPER
+void
+CSampleManager::SetEffectsFadeVol(uint8 volume)
+{
+ EAXJMP(0x567030);
+}
+
+WRAPPER
+void
+CSampleManager::SetMusicFadeVol(uint8 volume)
+{
+ EAXJMP(0x567040);
+}
+
+WRAPPER
+void
+CSampleManager::SetSpeakerConfig(uint32 config)
+{
+ EAXJMP(0x565900);
+}
+
+WRAPPER
+bool
+CSampleManager::GetChannelUsedFlag(int32 id)
+{
+ EAXJMP(0x567B00);
+}
+
+WRAPPER
+void
+CSampleManager::StopChannel(int32 id)
+{
+ EAXJMP(0x567BE0);
+}
+STARTPATCHES
+InjectHook(0x566490, CSampleManager::IsMP3RadioChannelAvailable, PATCH_JUMP);
+ENDPATCHES \ No newline at end of file