diff options
Diffstat (limited to 'engines/mortevielle/speech.cpp')
-rw-r--r-- | engines/mortevielle/speech.cpp | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/engines/mortevielle/speech.cpp b/engines/mortevielle/speech.cpp index 7fe8c54f2d..3a42c957c8 100644 --- a/engines/mortevielle/speech.cpp +++ b/engines/mortevielle/speech.cpp @@ -68,6 +68,11 @@ SpeechManager::SpeechManager() { _queue[i]._freq = 0; _queue[i]._rep = 0; } + _noise5Buf = nullptr; +} + +SpeechManager::~SpeechManager() { + free(_noise5Buf); } void SpeechManager::spfrac(int wor) { @@ -194,10 +199,10 @@ void SpeechManager::loadNoise() { if (!f.open("bruits")) //Translation: "noise" error("Missing file - bruits"); - f.read(&_vm->_mem[kAdrNoise * 16], 250 * 128); + f.read(&_vm->_mem[kAdrNoise * 16], 250 * 128); // 32000 for (i = 0; i <= 19013; ++i) - _vm->_mem[(kAdrNoise * 16) + 32000 + i] = _vm->_mem[(kAdrNoise5 * 16) + i]; - f.read(&_vm->_mem[(kAdrNoise1 * 16) + kOffsetB1], 149 * 128); + _vm->_mem[(kAdrNoise * 16) + 32000 + i] = _noise5Buf[i]; + f.read(&_vm->_mem[(kAdrNoise1 * 16) + kOffsetB1], 149 * 128); // 19072 f.close(); } |