[Scummvm-cvs-logs] SF.net SVN: scummvm: [25335] scummvm/trunk/engines/scumm/script_v5.cpp
fingolfin at users.sourceforge.net
fingolfin at users.sourceforge.net
Fri Feb 2 14:54:00 CET 2007
Revision: 25335
http://scummvm.svn.sourceforge.net/scummvm/?rev=25335&view=rev
Author: fingolfin
Date: 2007-02-02 05:53:59 -0800 (Fri, 02 Feb 2007)
Log Message:
-----------
Workaround for bug #1621210 (FOA: Kerner counts incorrectly during end sequence)
Modified Paths:
--------------
scummvm/trunk/engines/scumm/script_v5.cpp
Modified: scummvm/trunk/engines/scumm/script_v5.cpp
===================================================================
--- scummvm/trunk/engines/scumm/script_v5.cpp 2007-02-02 12:51:44 UTC (rev 25334)
+++ scummvm/trunk/engines/scumm/script_v5.cpp 2007-02-02 13:53:59 UTC (rev 25335)
@@ -2758,15 +2758,30 @@
}
}
break;
- case 15: // SO_TEXTSTRING
- // WORKAROUND: This happens when Chaos introduces
- // herself to bishop Mandible. Of all the places to put
- // a typo...
- if (_game.id == GID_LOOM && strcmp((const char *) _scriptPointer, "I am Choas.") == 0)
- printString(textSlot, (const byte *) "I am Chaos.");
- else
- printString(textSlot, _scriptPointer);
- _scriptPointer += resStrLen(_scriptPointer) + 1;
+ case 15:{ // SO_TEXTSTRING
+ const int len = resStrLen(_scriptPointer);
+
+ if (_game.id == GID_LOOM && strcmp((const char *) _scriptPointer, "I am Choas.") == 0) {
+ // WORKAROUND: This happens when Chaos introduces
+ // herself to bishop Mandible. Of all the places to put
+ // a typo...
+ printString(textSlot, (const byte *) "I am Chaos.");
+ } else if (_game.id == GID_INDY4 && _roomResource == 23 && vm.slot[_currentScript].number == 167 &&
+ len == 24 && 0==memcmp(_scriptPointer+16, "pregod", 6)) {
+ // WORKAROUND for bug #1621210.
+ byte tmpBuf[25];
+ memcpy(tmpBuf, _scriptPointer, 25);
+ if (tmpBuf[22] == '8')
+ strcpy((char *)tmpBuf+16, "^18^");
+ else
+ strcpy((char *)tmpBuf+16, "^19^");
+ printf("evil workaround active");
+ printString(textSlot, tmpBuf);
+ } else {
+ printString(textSlot, _scriptPointer);
+ }
+ _scriptPointer += len + 1;
+ }
// In SCUMM V1-V3, there were no 'default' values for the text slot
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