[Scummvm-cvs-logs] CVS: scummvm/scumm akos.cpp,1.236.2.11,1.236.2.12 saveload.cpp,1.239.2.8,1.239.2.9 sprite_he.cpp,1.153.2.5,1.153.2.6

kirben kirben at users.sourceforge.net
Sat Feb 4 02:18:29 CET 2006


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

Modified Files:
      Tag: branch-0-8-0
	akos.cpp saveload.cpp sprite_he.cpp 
Log Message:

Backport fix for broken saved games.


Index: akos.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/akos.cpp,v
retrieving revision 1.236.2.11
retrieving revision 1.236.2.12
diff -u -d -r1.236.2.11 -r1.236.2.12
--- akos.cpp	4 Feb 2006 02:16:08 -0000	1.236.2.11
+++ akos.cpp	4 Feb 2006 10:17:26 -0000	1.236.2.12
@@ -466,11 +466,13 @@
 				_ymove -= lastDy;
 			}
 
-			uint16 shadowMask = 0;
+			if (_vm->_heversion >= 90)
+				_shadow_mode = 0;
 
 			if (!useCondMask || !akct) {
 				decflag = 1;
 			} else {
+				uint16 shadowMask = 0;
 				uint32 cond = READ_LE_UINT32(akct + cost.heCondMaskTable[limb] + heCondMaskIndex[i] * 4);
 				if (cond == 0) {
 					decflag = 1;
@@ -491,9 +493,8 @@
 						decflag = (a->_heCondMask & cond) ? 1 : 0;
 					}
 
-					if (_vm->_heversion >= 90) {
-						_shadow_mode = ((shadowMask & 0x8000) && xmap) ? 3 : 0;
-					}
+					if (_vm->_heversion >= 90 && (shadowMask & 0x8000) && xmap)
+						_shadow_mode = 3;
 				}
 			}
 

Index: saveload.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/saveload.cpp,v
retrieving revision 1.239.2.8
retrieving revision 1.239.2.9
diff -u -d -r1.239.2.8 -r1.239.2.9
--- saveload.cpp	18 Jan 2006 18:07:32 -0000	1.239.2.8
+++ saveload.cpp	4 Feb 2006 10:17:26 -0000	1.239.2.9
@@ -1273,9 +1273,7 @@
 
 	s->saveLoadArrayOf(&_floodFillParams, 1, sizeof(_floodFillParams), floodFillEntries);
 
-	_numSpritesToProcess = _sprite->_numSpritesToProcess;
 	s->saveLoadEntries(this, HE90Entries);
-	_sprite->_numSpritesToProcess = _numSpritesToProcess;
 }
 
 void ScummEngine_v99he::saveOrLoad(Serializer *s, uint32 savegameVersion) {

Index: sprite_he.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/sprite_he.cpp,v
retrieving revision 1.153.2.5
retrieving revision 1.153.2.6
diff -u -d -r1.153.2.5 -r1.153.2.6
--- sprite_he.cpp	3 Feb 2006 23:56:56 -0000	1.153.2.5
+++ sprite_he.cpp	4 Feb 2006 10:17:26 -0000	1.153.2.6
@@ -1419,6 +1419,11 @@
 	s->saveLoadArrayOf(_activeSpritesTable, _varNumSprites, sizeof(_activeSpritesTable[0]), spriteEntries);
 	s->saveLoadArrayOf(_spriteTable, _varNumSprites, sizeof(_spriteTable[0]), spriteEntries);
 	s->saveLoadArrayOf(_spriteGroups, _varNumSpriteGroups, sizeof(_spriteGroups[0]), spriteGroupEntries);
+
+	// Reset active sprite table
+	if (s->isLoading())
+		_numSpritesToProcess = 0;
+
 }
 
 } // End of namespace Scumm





More information about the Scummvm-git-logs mailing list