[Scummvm-cvs-logs] CVS: scummvm/scumm charset.cpp,2.16,2.17 charset.h,2.9,2.10 script_v5.cpp,1.18,1.19

Pawel Kolodziejski aquadran at users.sourceforge.net
Mon Apr 7 07:39:10 CEST 2003


Update of /cvsroot/scummvm/scummvm/scumm
In directory sc8-pr-cvs1:/tmp/cvs-serv16298

Modified Files:
	charset.cpp charset.h script_v5.cpp 
Log Message:
added charset support for all V3 games, and fix for cleaning all 16 variables not only 15

Index: charset.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/charset.cpp,v
retrieving revision 2.16
retrieving revision 2.17
diff -u -d -r2.16 -r2.17
--- charset.cpp	7 Apr 2003 06:34:41 -0000	2.16
+++ charset.cpp	7 Apr 2003 14:38:24 -0000	2.17
@@ -30,7 +30,10 @@
 
 	_fontPtr = _vm->getResourceAddress(rtCharset, id);
 	assert(_fontPtr);
-	if (_vm->_features & GF_SMALL_HEADER)
+	if (_vm->_features & GF_AFTER_V3) {
+		_nbChars = _fontPtr[4];
+		_fontPtr += 6 + _nbChars;
+	} else 	if (_vm->_features & GF_AFTER_V4)
 		_fontPtr += 17;
 	else
 		_fontPtr += 29;
@@ -56,7 +59,7 @@
 int CharsetRendererOld256::getCharWidth(byte chr) {
 	int spacing = 0;
 
-	spacing = *(_fontPtr - 11 + chr);
+	spacing = *(_fontPtr - _nbChars + chr);
 
 	// FIXME - this fixes the inventory icons in Zak256/Indy3
 	//  see bug #613109.
@@ -193,7 +196,8 @@
 		_strBottom = _top;
 		_firstChar = false;
 	}
-	char_ptr = _fontPtr + 207 + (chr + 1) * 8;
+
+	char_ptr = _fontPtr + chr * 8;
 	dest_ptr = vs->screenPtr + vs->xstart + (_top - vs->topline) * _vm->_realWidth + _left;
 	_vm->updateDirtyRect(vs->number, _left, _left + 8, _top - vs->topline, _top - vs->topline + 8, 0);
 

Index: charset.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/charset.h,v
retrieving revision 2.9
retrieving revision 2.10
diff -u -d -r2.9 -r2.10
--- charset.h	6 Mar 2003 21:45:53 -0000	2.9
+++ charset.h	7 Apr 2003 14:38:25 -0000	2.10
@@ -35,6 +35,7 @@
 	int _top;
 	int _left, _startLeft;
 	int _right;
+	int _nbChars;
 
 	byte _color;
 

Index: script_v5.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/script_v5.cpp,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -d -r1.18 -r1.19
--- script_v5.cpp	18 Mar 2003 22:05:21 -0000	1.18
+++ script_v5.cpp	7 Apr 2003 14:38:26 -0000	1.19
@@ -2346,7 +2346,7 @@
 int Scumm_v5::getWordVararg(int *ptr) {
 	int i;
 
-	for (i = 0; i < 15; i++)
+	for (i = 0; i < 16; i++)
 		ptr[i] = 0;
 
 	i = 0;





More information about the Scummvm-git-logs mailing list