[Scummvm-cvs-logs] CVS: scummvm/scumm string.cpp,1.231,1.232 script.cpp,1.168,1.169

Max Horn fingolfin at users.sourceforge.net
Mon Aug 2 13:56:53 CEST 2004


Update of /cvsroot/scummvm/scummvm/scumm
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1406

Modified Files:
	string.cpp script.cpp 
Log Message:
WORKAROUND for bug #985948 (INDY3VGA: Lockup during conversation with drunken nazi)

Index: string.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/string.cpp,v
retrieving revision 1.231
retrieving revision 1.232
diff -u -d -r1.231 -r1.232
--- string.cpp	2 Aug 2004 17:55:14 -0000	1.231
+++ string.cpp	2 Aug 2004 20:55:35 -0000	1.232
@@ -468,6 +468,15 @@
 			break;
 		if (chr == 0xFF) {
 			chr = src[num++];
+
+			// WORKAROUND for bug #985948, a script bug in Indy3. Apparently,
+			// a german 'sz' was encoded incorrectly as 0xFF2E. We replace
+			// this by the correct encoding here. See also ScummEngine::resStrLen().
+			if (_gameId == GID_INDY3 && chr == 0x2E) {
+				*dst++ = 0xE1;
+				continue;
+			}
+
 			if (chr == 1 || chr == 2 || chr == 3 || chr == 8) {
 				// Simply copy these special codes
 				*dst++ = 0xFF;

Index: script.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/script.cpp,v
retrieving revision 1.168
retrieving revision 1.169
diff -u -d -r1.168 -r1.169
--- script.cpp	2 Aug 2004 14:27:10 -0000	1.168
+++ script.cpp	2 Aug 2004 20:55:35 -0000	1.169
@@ -1059,6 +1059,12 @@
 			chr = *src++;
 			num++;
 
+			// WORKAROUND for bug #985948, a script bug in Indy3. See also
+			// the corresponding code in ScummEngine::addMessageToStack().
+			if (_gameId == GID_INDY3 && chr == 0x2E) {
+				continue;
+			}
+
 			if (chr != 1 && chr != 2 && chr != 3 && chr != 8) {
 				if (_version == 8) {
 					src += 4;





More information about the Scummvm-git-logs mailing list