[Scummvm-cvs-logs] CVS: scummvm/scumm saveload.cpp,1.93,1.94

Travis Howell kirben at users.sourceforge.net
Mon Jul 14 00:27:22 CEST 2003


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

Modified Files:
	saveload.cpp 
Log Message:

Redraw screen when loading v1 saved game


Index: saveload.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/saveload.cpp,v
retrieving revision 1.93
retrieving revision 1.94
diff -u -d -r1.93 -r1.94
--- saveload.cpp	14 Jul 2003 06:44:47 -0000	1.93
+++ saveload.cpp	14 Jul 2003 07:26:57 -0000	1.94
@@ -85,6 +85,7 @@
 	int i, j;
 	SaveGameHeader hdr;
 	int sb, sh;
+	byte *roomptr;
 
 	makeSavegameName(filename, slot, compat);
 	if (!(out = mgr->open_savefile(filename, false)))
@@ -192,8 +193,20 @@
 
 	initBGBuffers(_roomHeight);
 
-	if (_version == 2) {
-		// Regenerate strip table when loading
+	// Regenerate strip table when loading
+	if (_version == 1) {
+		roomptr = getResourceAddress(rtRoom, _roomResource);
+		_IM00_offs = 0;
+		for (i = 0; i < 4; i++){
+			gdi._C64Colors[i] = roomptr[6 + i];
+		}
+		gdi.decodeC64Gfx(roomptr + READ_LE_UINT16(roomptr + 10), gdi._C64CharMap, 2048);
+		gdi.decodeC64Gfx(roomptr + READ_LE_UINT16(roomptr + 12), gdi._C64PicMap, roomptr[4] * roomptr[5]);
+		gdi.decodeC64Gfx(roomptr + READ_LE_UINT16(roomptr + 14), gdi._C64ColorMap, roomptr[4] * roomptr[5]);
+		gdi.decodeC64Gfx(roomptr + READ_LE_UINT16(roomptr + 16), gdi._C64MaskMap, roomptr[4] * roomptr[5]);
+		gdi.decodeC64Gfx(roomptr + READ_LE_UINT16(roomptr + 18) + 2, gdi._C64MaskChar, READ_LE_UINT16(roomptr + READ_LE_UINT16(roomptr + 18)));
+		gdi._C64ObjectMode = true;
+	} else if (_version == 2) {
 		_roomStrips = gdi.generateStripTable(getResourceAddress(rtRoom, _roomResource) + _IM00_offs,
 		                                     _roomWidth, _roomHeight, _roomStrips);
 	}





More information about the Scummvm-git-logs mailing list