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.cpp9
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;