aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorMartin Kiewitz2010-07-17 12:57:05 +0000
committerMartin Kiewitz2010-07-17 12:57:05 +0000
commit7ac5c3ef4faa91d48953c36693f406a749f80787 (patch)
tree347d6a4f42f71e1f4e38103b4dacf6cd181b576f /engines
parente9ed821953c3008b8bcfd836cd1afaa2428c6c16 (diff)
downloadscummvm-rg350-7ac5c3ef4faa91d48953c36693f406a749f80787.tar.gz
scummvm-rg350-7ac5c3ef4faa91d48953c36693f406a749f80787.tar.bz2
scummvm-rg350-7ac5c3ef4faa91d48953c36693f406a749f80787.zip
SCI: added iceman hack to original said.y as well
svn-id: r50959
Diffstat (limited to 'engines')
-rw-r--r--engines/sci/parser/said.y8
1 files changed, 8 insertions, 0 deletions
diff --git a/engines/sci/parser/said.y b/engines/sci/parser/said.y
index cbb2ff3e62..822ae07493 100644
--- a/engines/sci/parser/said.y
+++ b/engines/sci/parser/said.y
@@ -381,6 +381,14 @@ static int said_parse_spec(byte *spec) {
} while ((nextitem != SAID_TERM) && (said_tokens_nr < MAX_SAID_TOKENS));
+ if ((said_tokens_nr > 2) && (said_tokens[0] == 0xF500) && (said_tokens[1] == 0xFFE) && (said_tokens[2] == 0xF600)) {
+ // HACK: "[!*]" found at the start, remove it - occurs in iceman
+ for (int saidNr = 3; saidNr < said_tokens_nr; saidNr++) {
+ said_tokens[saidNr - 3] = said_tokens[saidNr];
+ }
+ // FIXME: this should get properly implemented, but the parser code goes way over my head
+ }
+
if (nextitem == SAID_TERM)
yyparse();
else {