diff options
-rw-r--r-- | scumm/intern.h | 1 | ||||
-rw-r--r-- | scumm/saveload.cpp | 4 | ||||
-rw-r--r-- | scumm/sprite_he.cpp | 6 |
3 files changed, 6 insertions, 5 deletions
diff --git a/scumm/intern.h b/scumm/intern.h index f574533258..4f7d4c4872 100644 --- a/scumm/intern.h +++ b/scumm/intern.h @@ -1146,7 +1146,6 @@ protected: int32 _curMaxSpriteId; int32 _curSpriteId; int32 _curSpriteGroupId; - int32 _numSpritesToProcess; public: ScummEngine_v90he(GameDetector *detector, OSystem *syst, const ScummGameSettings &gs, uint8 md5sum[16], int substResFileNameIndex); diff --git a/scumm/saveload.cpp b/scumm/saveload.cpp index 8c9fa3753f..98b6a2db62 100644 --- a/scumm/saveload.cpp +++ b/scumm/saveload.cpp @@ -1293,7 +1293,7 @@ void ScummEngine_v90he::saveOrLoad(Serializer *s) { MKLINE(ScummEngine_v90he, _curMaxSpriteId, sleInt32, VER(51)), MKLINE(ScummEngine_v90he, _curSpriteId, sleInt32, VER(51)), MKLINE(ScummEngine_v90he, _curSpriteGroupId, sleInt32, VER(51)), - MKLINE(ScummEngine_v90he, _numSpritesToProcess, sleInt32, VER(51)), + MK_OBSOLETE(ScummEngine_v90he, _numSpritesToProcess, sleInt32, VER(51), VER(63)), MKLINE(ScummEngine_v90he, _heObject, sleInt32, VER(51)), MKLINE(ScummEngine_v90he, _heObjectNum, sleInt32, VER(51)), MKLINE(ScummEngine_v90he, _hePaletteNum, sleInt32, VER(51)), @@ -1304,9 +1304,7 @@ void ScummEngine_v90he::saveOrLoad(Serializer *s) { s->saveLoadArrayOf(&_floodFillParams, 1, sizeof(_floodFillParams), floodFillEntries); - _numSpritesToProcess = _sprite->_numSpritesToProcess; s->saveLoadEntries(this, HE90Entries); - _sprite->_numSpritesToProcess = _numSpritesToProcess; } void ScummEngine_v99he::saveOrLoad(Serializer *s) { diff --git a/scumm/sprite_he.cpp b/scumm/sprite_he.cpp index cdcf144ebc..f0ecc7b6be 100644 --- a/scumm/sprite_he.cpp +++ b/scumm/sprite_he.cpp @@ -1422,7 +1422,6 @@ void Sprite::saveOrLoadSpriteData(Serializer *s) { }; if (s->getVersion() >= VER(64)) { - s->saveLoadArrayOf(_activeSpritesTable, _varNumSprites + 1, sizeof(_activeSpritesTable[0]), spriteEntries); s->saveLoadArrayOf(_spriteTable, _varNumSprites + 1, sizeof(_spriteTable[0]), spriteEntries); s->saveLoadArrayOf(_spriteGroups, _varNumSpriteGroups + 1, sizeof(_spriteGroups[0]), spriteGroupEntries); } else { @@ -1430,6 +1429,11 @@ void Sprite::saveOrLoadSpriteData(Serializer *s) { 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 |