[Scummvm-cvs-logs] SF.net SVN: scummvm:[50959] scummvm/trunk/engines/sci/parser/said.y

m_kiewitz at users.sourceforge.net m_kiewitz at users.sourceforge.net
Sat Jul 17 14:57:06 CEST 2010


Revision: 50959
          http://scummvm.svn.sourceforge.net/scummvm/?rev=50959&view=rev
Author:   m_kiewitz
Date:     2010-07-17 12:57:05 +0000 (Sat, 17 Jul 2010)

Log Message:
-----------
SCI: added iceman hack to original said.y as well

Modified Paths:
--------------
    scummvm/trunk/engines/sci/parser/said.y

Modified: scummvm/trunk/engines/sci/parser/said.y
===================================================================
--- scummvm/trunk/engines/sci/parser/said.y	2010-07-17 12:46:57 UTC (rev 50958)
+++ scummvm/trunk/engines/sci/parser/said.y	2010-07-17 12:57:05 UTC (rev 50959)
@@ -381,6 +381,14 @@
 
 	} 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 {


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list