From d4b566ecb28084ccb37f5bee9e023b968e12c1c9 Mon Sep 17 00:00:00 2001 From: Filip Gawin Date: Wed, 12 Jun 2019 19:56:45 +0200 Subject: AudioManager::GetPhrase --- src/audio/AudioManager.cpp | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'src/audio/AudioManager.cpp') diff --git a/src/audio/AudioManager.cpp b/src/audio/AudioManager.cpp index 757ffa79..5a290d28 100644 --- a/src/audio/AudioManager.cpp +++ b/src/audio/AudioManager.cpp @@ -10,8 +10,21 @@ cAudioManager::PlayerJustLeftCar(void) // UNUSED: This is a perfectly empty function. } +void +cAudioManager::GetPhrase(uint32 *phrase, uint32 *prevPhrase, + eAudioSamples sample, uint32 maxOffset) +{ + *phrase = (uint32)sample + + (uint32)m_anRandomTable[m_sQueueSample.m_nEntityIndex & 3] % + maxOffset; + if(*phrase == *prevPhrase && ++*phrase >= (uint32)sample + maxOffset) + *phrase = (uint32)sample; + *prevPhrase = *phrase; +} + WRAPPER void cAudioManager::Service() { EAXJMP(0x57A2A0); } STARTPATCHES InjectHook(0x56AD20, &cAudioManager::PlayerJustLeftCar, PATCH_JUMP); -ENDPATCHES \ No newline at end of file + InjectHook(0x570DB0, &cAudioManager::GetPhrase, PATCH_JUMP); +ENDPATCHES -- cgit v1.2.3