[Scummvm-cvs-logs] CVS: scummvm/scumm script_v5.cpp,1.114,1.115

Max Horn fingolfin at users.sourceforge.net
Sat Jun 7 11:27:03 CEST 2003


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

Modified Files:
	script_v5.cpp 
Log Message:
Fix for bug #654286: ZAK256: Ending credits are illegible

Index: script_v5.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/script_v5.cpp,v
retrieving revision 1.114
retrieving revision 1.115
diff -u -d -r1.114 -r1.115
--- script_v5.cpp	7 Jun 2003 00:49:36 -0000	1.114
+++ script_v5.cpp	7 Jun 2003 18:26:51 -0000	1.115
@@ -2593,9 +2593,16 @@
 				// No idea what byte_2FCCF is, but it's a globale boolean flag.
 				// I only add it here as a temporary hack to make the pseudo code compile.
 				// Maybe it is just there as a reentry protection guard, given
-				// how it is used?
+				// how it is used? It might also correspond to _screenEffectFlag.
 				int byte_2FCCF = 0;
 
+				// For now, we force a redraw of the screen background. This 
+				// Makes the Zak end credits work more or less correctly.
+				VirtScreen *vs = &virtscr[0];
+				restoreBG(ScummVM::Rect(0,vs->topline, vs->width, vs->topline + vs->height));
+				virtscr[0].setDirtyRange(0, virtscr[0].height);
+				updateDirtyScreen(0);
+				
 				if (byte_2FCCF) {
 					// Here now "sub_1C44" is called, which sets byte_2FCCF to 0 then
 					// calls yet another sub (which also reads byte_2FCCF):
@@ -2607,7 +2614,8 @@
 					// Now sub_085C is called. This is quite simply: it sets 
 					// 0xF000 bytes. starting at 0x40000 to 0. No idea what that
 					// buffer is, maybe a screen buffer, though. Note that
-					// 0xF000 = 320*192
+					// 0xF000 = 320*192.
+					// Maybe this is also the charset mask being cleaned?
 					
 					// call sub_085C
 





More information about the Scummvm-git-logs mailing list