[Scummvm-cvs-logs] CVS: scummvm/scumm charset.cpp,2.90,2.91 charset.h,2.26,2.27

Max Horn fingolfin at users.sourceforge.net
Thu Apr 8 16:55:00 CEST 2004


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

Modified Files:
	charset.cpp charset.h 
Log Message:
Record on which virtual screen we last drew masked text

Index: charset.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/charset.cpp,v
retrieving revision 2.90
retrieving revision 2.91
diff -u -d -r2.90 -r2.91
--- charset.cpp	8 Apr 2004 01:38:07 -0000	2.90
+++ charset.cpp	8 Apr 2004 23:41:10 -0000	2.91
@@ -40,6 +40,7 @@
 	_dropShadow = false;
 	_center = false;
 	_hasMask = false;
+	_textScreenID = kMainVirtScreen;
 	_ignoreCharsetMask = false;
 	_blitAlso = false;
 	_firstChar = false;
@@ -978,8 +979,10 @@
 
 	_vm->markRectAsDirty(vs->number, _left, _left + width, drawTop, drawTop + height);
 	
-	if (!_ignoreCharsetMask)
+	if (!_ignoreCharsetMask) {
 		_hasMask = true;
+		_textScreenID = vs->number;
+	}
 
 	drawBits1(vs, dest_ptr, char_ptr, mask_ptr, drawTop, 8, 8);
 
@@ -1084,8 +1087,10 @@
 
 	_vm->markRectAsDirty(vs->number, _left, _left + width, drawTop, drawTop + height + offsY);
 
-	if (!_ignoreCharsetMask)
+	if (!_ignoreCharsetMask) {
 		_hasMask = true;
+		_textScreenID = vs->number;
+	}
 
 	byte *mask = _vm->getMaskBuffer(_left, drawTop, 0);
 	byte *dst = vs->screenPtr + vs->xstart + drawTop * vs->width + _left;
@@ -1290,8 +1295,10 @@
 	shadow.right = _left + width + 2;
 	shadow.bottom = _top + height + 2;
 
-	if (!_ignoreCharsetMask)
+	if (!_ignoreCharsetMask) {
 		_hasMask = true;
+		_textScreenID = kMainVirtScreen;
+	}
 
 	_current->drawShadowChar(chr, _left, _top, _color, !_ignoreCharsetMask, _curId != 3);
 	_vm->markRectAsDirty(kMainVirtScreen, shadow);

Index: charset.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/charset.h,v
retrieving revision 2.26
retrieving revision 2.27
diff -u -d -r2.26 -r2.27
--- charset.h	4 Apr 2004 20:20:08 -0000	2.26
+++ charset.h	8 Apr 2004 23:41:10 -0000	2.27
@@ -21,8 +21,9 @@
 #ifndef CHARSET_H
 #define CHARSET_H
 
-#include "common/rect.h"
 #include "common/scummsys.h"
+#include "common/rect.h"
+#include "scumm/gfx.h"
 
 namespace Scumm {
 
@@ -47,7 +48,10 @@
 
 public:
 	bool _center;
-	bool _hasMask;
+
+	bool _hasMask;	// True if "removable" text is visible somewhere (should be called _hasText or so)
+	VirtScreenNumber _textScreenID;	// ID of the virtual screen on which the text is visible.
+
 	bool _ignoreCharsetMask;
 	bool _blitAlso;
 	bool _firstChar;





More information about the Scummvm-git-logs mailing list