[Scummvm-cvs-logs] CVS: scummvm/bs2 save_rest.cpp,1.10,1.11

Max Horn fingolfin at users.sourceforge.net
Sat Sep 13 11:19:02 CEST 2003


Update of /cvsroot/scummvm/scummvm/bs2
In directory sc8-pr-cvs1:/tmp/cvs-serv18658

Modified Files:
	save_rest.cpp 
Log Message:
fix global vars storing

Index: save_rest.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/bs2/save_rest.cpp,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -d -r1.10 -r1.11
--- save_rest.cpp	13 Sep 2003 17:36:53 -0000	1.10
+++ save_rest.cpp	13 Sep 2003 18:18:02 -0000	1.11
@@ -215,8 +215,8 @@
 	varsRes = res_man.Res_open(1);									// open variables resource
 	memcpy(buffer->ad + sizeof(g_header), varsRes, FROM_LE_32(g_header.varLength));	// copy that to the buffer, following the header
 #ifdef SCUMM_BIG_ENDIAN
-	uint32 *globalVars = (uint32 *)(buffer->ad + sizeof(g_header));
-	const uint numVars = FROM_LE_32(g_header.varLength)/4;
+	uint32 *globalVars = (uint32 *)(buffer->ad + sizeof(g_header) + sizeof(_standardHeader));
+	const uint numVars = (FROM_LE_32(g_header.varLength) - sizeof(_standardHeader))/4;
 	for (uint i = 0; i < numVars; i++) {
 		globalVars[i] = SWAP_BYTES_32(globalVars[i]);
 	}
@@ -389,8 +389,8 @@
 	varsRes = res_man.Res_open(1);								// open variables resource
 	memcpy( varsRes, buffer->ad + sizeof(g_header), g_header.varLength );// copy that to the buffer, following the header
 #ifdef SCUMM_BIG_ENDIAN
-	uint32 *globalVars = (uint32 *)varsRes;
-	const uint numVars = g_header.varLength/4;
+	uint32 *globalVars = (uint32 *)(varsRes + sizeof(_standardHeader));
+	const uint numVars = (g_header.varLength - sizeof(_standardHeader))/4;
 	for (uint i = 0; i < numVars; i++) {
 		globalVars[i] = SWAP_BYTES_32(globalVars[i]);
 	}





More information about the Scummvm-git-logs mailing list