diff options
Diffstat (limited to 'engines/sci/engine/game.cpp')
-rw-r--r-- | engines/sci/engine/game.cpp | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/engines/sci/engine/game.cpp b/engines/sci/engine/game.cpp index d84df17117..b5e575e21d 100644 --- a/engines/sci/engine/game.cpp +++ b/engines/sci/engine/game.cpp @@ -263,8 +263,11 @@ int game_init(EngineState *s) { return 1; } - s->parserIsValid = false; // Invalidate parser - s->parser_event = NULL_REG; // Invalidate parser event + if (s->_voc) { + s->_voc->parserIsValid = false; // Invalidate parser + s->_voc->parser_event = NULL_REG; // Invalidate parser event + s->_voc->parser_base = make_reg(s->sys_strings_segment, SYS_STRING_PARSER_BASE); + } // Initialize menu TODO: Actually this should be another init() s->_gui->menuReset(); @@ -276,8 +279,6 @@ int game_init(EngineState *s) { str->_maxSize = MAX_PARSER_BASE; str->_value = (char *)calloc(MAX_PARSER_BASE, sizeof(char)); - s->parser_base = make_reg(s->sys_strings_segment, SYS_STRING_PARSER_BASE); - s->game_start_time = g_system->getMillis(); s->last_wait_time = s->game_start_time; |