aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/engine/game.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/sci/engine/game.cpp')
-rw-r--r--engines/sci/engine/game.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/engines/sci/engine/game.cpp b/engines/sci/engine/game.cpp
index e35fbf99f8..ea03705fc2 100644
--- a/engines/sci/engine/game.cpp
+++ b/engines/sci/engine/game.cpp
@@ -257,7 +257,7 @@ static int create_class_table_sci0(EngineState *s) {
Resource *script = s->resmgr->findResource(ResourceId(kResourceTypeScript, scriptnr), 0);
if (script) {
- if (s->_flags & GF_SCI0_OLD)
+ if (s->_kernel->hasOldScriptHeader())
magic_offset = seeker = 2;
else
magic_offset = seeker = 0;
@@ -327,6 +327,9 @@ int script_init_engine(EngineState *s) {
s->kernel_opt_flags = 0;
+ s->_kernel = new Kernel(s->resmgr);
+ s->_vocabulary = new Vocabulary(s->resmgr);
+
if (s->_version >= SCI_VERSION_1_1)
result = create_class_table_sci11(s);
else
@@ -367,9 +370,6 @@ int script_init_engine(EngineState *s) {
s->_executionStack.clear(); // Start without any execution stack
s->execution_stack_base = -1; // No vm is running yet
- s->_kernel = new Kernel(s->resmgr, (s->_flags & GF_SCI0_OLD));
- s->_vocabulary = new Vocabulary(s->resmgr);
-
s->restarting_flags = SCI_GAME_IS_NOT_RESTARTING;
s->bp_list = NULL; // No breakpoints defined