aboutsummaryrefslogtreecommitdiff
path: root/engines/mortevielle/speech.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/mortevielle/speech.cpp')
-rw-r--r--engines/mortevielle/speech.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/engines/mortevielle/speech.cpp b/engines/mortevielle/speech.cpp
index 899cd80472..445f7faffb 100644
--- a/engines/mortevielle/speech.cpp
+++ b/engines/mortevielle/speech.cpp
@@ -162,13 +162,15 @@ void SpeechManager::regenbruit() {
*/
void SpeechManager::loadMusicSound() {
Common::File f;
-
if (!f.open("sonmus.mor"))
error("Missing file - sonmus.mor");
- f.read(&_vm->_mem[kAdrCompMusicBuf1 * 16], 273 * 128);
+ free(_vm->_compMusicBuf1);
+ int size = f.size();
+ _vm->_compMusicBuf1 = (byte *)malloc(sizeof(byte) * size);
+ f.read(_vm->_compMusicBuf1, size);
- _vm->_soundManager.decodeMusic(&_vm->_mem[kAdrCompMusicBuf1 * 16], &_vm->_mem[kAdrNoise * 16], 273);
+ _vm->_soundManager.decodeMusic(_vm->_compMusicBuf1, &_vm->_mem[kAdrNoise * 16], size / 128);
f.close();
}