aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--scumm/scumm.cpp18
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];