diff options
Diffstat (limited to 'engines/mortevielle/speech.cpp')
-rw-r--r-- | engines/mortevielle/speech.cpp | 8 |
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(); } |