[Scummvm-cvs-logs] CVS: scummvm/scumm string.cpp,1.214,1.215 charset.cpp,2.89,2.90
Max Horn
fingolfin at users.sourceforge.net
Wed Apr 7 18:52:01 CEST 2004
Update of /cvsroot/scummvm/scummvm/scumm
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15994
Modified Files:
string.cpp charset.cpp
Log Message:
Semi-experimental change: revised _hasMask handling -> simpler code (after removing those FIXME's that is :-), which should still produce identical results (let's wait for the regressions rolling in :-)
Index: string.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/string.cpp,v
retrieving revision 1.214
retrieving revision 1.215
diff -u -d -r1.214 -r1.215
--- string.cpp 5 Apr 2004 23:54:58 -0000 1.214
+++ string.cpp 8 Apr 2004 01:38:07 -0000 1.215
@@ -161,7 +161,10 @@
if (!_keepText) {
if (_version <= 3 && _gameId != GID_LOOM) {
- _charset->_hasMask = true;
+// FIXME: Remove this commented out code eventually
+// if (!_charset->_hasMask)
+// warning("_hasMask mismatch (case C) - please report to Fingolfin");
+// _charset->_hasMask = true;
}
_charset->restoreCharsetBg();
}
@@ -310,7 +313,10 @@
_charsetBufPos = buffer - _charsetBuffer;
- _charset->_hasMask = (_charset->_str.left != -1);
+ // FIXME: Remove this and the next three lines eventually!
+ if (_charset->_hasMask != (_charset->_str.left != -1))
+ warning("_hasMask mismatch (case A %d) - please report to Fingolfin", _charset->_hasMask);
+// _charset->_hasMask = (_charset->_str.left != -1);
}
@@ -439,6 +445,9 @@
_string[a].xpos = _charset->_str.right + 8; // Indy3: Fixes Grail Diary text positioning
if (_version >= 7) {
+ // FIXME: Remove this and the next three lines eventually!
+ if (!_charset->_hasMask)
+ warning("_hasMask mismatch (case B %d) - please report to Fingolfin", _charset->_hasMask);
_charset->_hasMask = true;
}
}
Index: charset.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/charset.cpp,v
retrieving revision 2.89
retrieving revision 2.90
diff -u -d -r2.89 -r2.90
--- charset.cpp 6 Apr 2004 22:02:02 -0000 2.89
+++ charset.cpp 8 Apr 2004 01:38:07 -0000 2.90
@@ -978,7 +978,7 @@
_vm->markRectAsDirty(vs->number, _left, _left + width, drawTop, drawTop + height);
- if (vs->number == kMainVirtScreen && !_ignoreCharsetMask)
+ if (!_ignoreCharsetMask)
_hasMask = true;
drawBits1(vs, dest_ptr, char_ptr, mask_ptr, drawTop, 8, 8);
@@ -1084,10 +1084,9 @@
_vm->markRectAsDirty(vs->number, _left, _left + width, drawTop, drawTop + height + offsY);
- if (vs->number == kMainVirtScreen && !_ignoreCharsetMask)
+ if (!_ignoreCharsetMask)
_hasMask = true;
-
byte *mask = _vm->getMaskBuffer(_left, drawTop, 0);
byte *dst = vs->screenPtr + vs->xstart + drawTop * vs->width + _left;
@@ -1291,7 +1290,9 @@
shadow.right = _left + width + 2;
shadow.bottom = _top + height + 2;
- _hasMask = true;
+ if (!_ignoreCharsetMask)
+ _hasMask = true;
+
_current->drawShadowChar(chr, _left, _top, _color, !_ignoreCharsetMask, _curId != 3);
_vm->markRectAsDirty(kMainVirtScreen, shadow);
More information about the Scummvm-git-logs
mailing list