diff options
-rw-r--r-- | scumm/scumm.cpp | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/scumm/scumm.cpp b/scumm/scumm.cpp index c0e9d0acd2..b52a1c0464 100644 --- a/scumm/scumm.cpp +++ b/scumm/scumm.cpp @@ -2718,15 +2718,23 @@ void ScummEngine::restart() { for (i = 0; i < _numGlobalObjects; i++) clearOwnerOf(i); - // Reinit things - allocateArrays(); // Reallocate arrays - readIndexFile(); // Reread index (reset objectstate etc) - scummInit(); // Reinit scumm variables + // Reallocate arrays + allocateArrays(); + + // Reread index (reset objectstate etc) + readIndexFile(); + + // Reinit scumm variables + scummInit(); initScummVars(); + if (_imuse) { _imuse->setBase(res.address[rtSound]); } - _sound->setupSound(); // Reinit sound engine + + // Reinit sound engine + if (_version >= 5) + _sound->setupSound(); // Re-run bootscript int args[16]; |