aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/parser
diff options
context:
space:
mode:
authorFilippos Karapetis2010-06-01 15:11:20 +0000
committerFilippos Karapetis2010-06-01 15:11:20 +0000
commit9c92bd1b810621bdaa779bd3354b10ad048c7924 (patch)
tree16a56f987b162ff3ca0f1f8ef0ec78e6a762f866 /engines/sci/parser
parente083c20da1aab0090a5fc3ea624c9810c63dad52 (diff)
downloadscummvm-rg350-9c92bd1b810621bdaa779bd3354b10ad048c7924.tar.gz
scummvm-rg350-9c92bd1b810621bdaa779bd3354b10ad048c7924.tar.bz2
scummvm-rg350-9c92bd1b810621bdaa779bd3354b10ad048c7924.zip
The parser vocabulary remains static throughout the game, thus it has been removed from the engine state
svn-id: r49373
Diffstat (limited to 'engines/sci/parser')
-rw-r--r--engines/sci/parser/said.cpp7
-rw-r--r--engines/sci/parser/said.y7
2 files changed, 8 insertions, 6 deletions
diff --git a/engines/sci/parser/said.cpp b/engines/sci/parser/said.cpp
index 5cd1310ad3..f49704372a 100644
--- a/engines/sci/parser/said.cpp
+++ b/engines/sci/parser/said.cpp
@@ -2443,13 +2443,14 @@ static int augment_parse_nodes(parse_tree_node_t *parset, parse_tree_node_t *sai
int said(EngineState *s, byte *spec, bool verbose) {
int retval;
+ Vocabulary *voc = g_sci->getVocabulary();
- parse_tree_node_t *parse_tree_ptr = s->_voc->_parserNodes;
+ parse_tree_node_t *parse_tree_ptr = voc->_parserNodes;
- if (s->_voc->parserIsValid) {
+ if (voc->parserIsValid) {
if (said_parse_spec(spec)) {
printf("Offending spec was: ");
- s->_voc->decipherSaidBlock(spec);
+ voc->decipherSaidBlock(spec);
return SAID_NO_MATCH;
}
diff --git a/engines/sci/parser/said.y b/engines/sci/parser/said.y
index 27486c5794..cbb2ff3e62 100644
--- a/engines/sci/parser/said.y
+++ b/engines/sci/parser/said.y
@@ -799,13 +799,14 @@ static int augment_parse_nodes(parse_tree_node_t *parset, parse_tree_node_t *sai
int said(EngineState *s, byte *spec, bool verbose) {
int retval;
+ Vocabulary *voc = g_sci->getVocabulary();
- parse_tree_node_t *parse_tree_ptr = s->_voc->_parserNodes;
+ parse_tree_node_t *parse_tree_ptr = voc->_parserNodes;
- if (s->_voc->parserIsValid) {
+ if (voc->parserIsValid) {
if (said_parse_spec(spec)) {
printf("Offending spec was: ");
- s->_voc->decipherSaidBlock(spec);
+ voc->decipherSaidBlock(spec);
return SAID_NO_MATCH;
}