From 7ac5c3ef4faa91d48953c36693f406a749f80787 Mon Sep 17 00:00:00 2001 From: Martin Kiewitz Date: Sat, 17 Jul 2010 12:57:05 +0000 Subject: SCI: added iceman hack to original said.y as well svn-id: r50959 --- engines/sci/parser/said.y | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'engines/sci/parser') 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 { -- cgit v1.2.3