[Scummvm-cvs-logs] SF.net SVN: scummvm: [29890] scummvm/trunk/engines/scumm
fingolfin at users.sourceforge.net
fingolfin at users.sourceforge.net
Sun Dec 16 22:46:34 CET 2007
Revision: 29890
http://scummvm.svn.sourceforge.net/scummvm/?rev=29890&view=rev
Author: fingolfin
Date: 2007-12-16 13:46:34 -0800 (Sun, 16 Dec 2007)
Log Message:
-----------
Patch #1851568: INDY3 Mac: Grail Diary Fix
Modified Paths:
--------------
scummvm/trunk/engines/scumm/charset.cpp
scummvm/trunk/engines/scumm/string.cpp
Modified: scummvm/trunk/engines/scumm/charset.cpp
===================================================================
--- scummvm/trunk/engines/scumm/charset.cpp 2007-12-16 21:41:10 UTC (rev 29889)
+++ scummvm/trunk/engines/scumm/charset.cpp 2007-12-16 21:46:34 UTC (rev 29890)
@@ -1509,6 +1509,12 @@
void CharsetRendererV3::printChar(int chr, bool ignoreCharsetMask) {
+ // WORKAROUND for bug #1509509: Indy3 Mac does not show black
+ // characters (such as in the grail diary) if ignoreCharsetMask
+ // is true. See also patch #1851568.
+ if (_vm->_game.id == GID_INDY3 && _vm->_game.platform == Common::kPlatformMacintosh && _color == 0)
+ ignoreCharsetMask = false;
+
// Indy3 / Zak256 / Loom
int width, height, origWidth = 0, origHeight;
VirtScreen *vs;
Modified: scummvm/trunk/engines/scumm/string.cpp
===================================================================
--- scummvm/trunk/engines/scumm/string.cpp 2007-12-16 21:41:10 UTC (rev 29889)
+++ scummvm/trunk/engines/scumm/string.cpp 2007-12-16 21:46:34 UTC (rev 29890)
@@ -856,6 +856,27 @@
_charset->_disableOffsX = _charset->_firstChar = true;
_charset->setCurID(_string[a].charset);
+ // HACK: Correct positions of text in the grail diary in Indy3 Mac.
+ // See also patch #1851568.
+ if (_game.id == GID_INDY3 && _game.platform == Common::kPlatformMacintosh && a == 1) {
+ if (_currentRoom == 75) {
+ if (_charset->_startLeft < 160)
+ _charset->_startLeft = _charset->_left = _string[a].xpos - 22;
+ else if (_charset->_startLeft < 200)
+ _charset->_startLeft = _charset->_left = _string[a].xpos - 10;
+ } else if (_currentRoom == 69) {
+ if (_charset->_startLeft < 160)
+ _charset->_startLeft = _charset->_left = _string[a].xpos - 15;
+ else if (_charset->_startLeft < 200)
+ _charset->_startLeft = _charset->_left = _string[a].xpos - 10;
+ } else if (_currentRoom == 90) {
+ if (_charset->_startLeft < 160)
+ _charset->_startLeft = _charset->_left = _string[a].xpos - 21;
+ else if (_charset->_startLeft < 200)
+ _charset->_startLeft = _charset->_left = _string[a].xpos - 15;
+ }
+ }
+
if (_game.version >= 5)
memcpy(_charsetColorMap, _charsetData[_charset->getCurID()], 4);
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