diff options
Diffstat (limited to 'engines/mads/player.cpp')
-rw-r--r-- | engines/mads/player.cpp | 81 |
1 files changed, 40 insertions, 41 deletions
diff --git a/engines/mads/player.cpp b/engines/mads/player.cpp index 2049042e07..0c9a496144 100644 --- a/engines/mads/player.cpp +++ b/engines/mads/player.cpp @@ -695,71 +695,70 @@ void Player::releasePlayerSprites() { } void Player::synchronize(Common::Serializer &s) { - s.syncAsByte(_visible); - s.syncAsByte(_priorVisible); - s.syncAsByte(_beenVisible); s.syncAsByte(_moving); - s.syncAsByte(_stepEnabled); s.syncAsSint16LE(_playerPos.x); s.syncAsSint16LE(_playerPos.y); s.syncAsSint16LE(_targetPos.x); s.syncAsSint16LE(_targetPos.y); - s.syncAsSint16LE(_posChange.x); - s.syncAsSint16LE(_posChange.y); - s.syncAsSint16LE(_posDiff.x); - s.syncAsSint16LE(_posDiff.y); s.syncAsSint16LE(_xDirection); s.syncAsSint16LE(_yDirection); - s.syncAsUint16LE(_facing); + s.syncAsSint16LE(_posDiff.x); + s.syncAsSint16LE(_posDiff.y); + s.syncAsSint16LE(_posChange.x); + s.syncAsSint16LE(_posChange.y); s.syncAsUint16LE(_targetFacing); - s.syncAsByte(_spritesChanged); - s.syncAsByte(_walkAnywhere); - s.syncAsByte(_walkOffScreen); + s.syncAsSint16LE(_special); + s.syncAsByte(_forceRefresh); s.syncAsSint16LE(_ticksAmount); - s.syncAsSint16LE(_centerOfGravity); + s.syncAsByte(_walkAnywhere); s.syncAsUint16LE(_walkOffScreenSceneId); + s.syncAsByte(_walkOffScreen); s.syncAsByte(_needToWalk); s.syncAsByte(_readyToWalk); s.syncAsUint16LE(_prepareWalkFacing); s.syncAsSint16LE(_prepareWalkPos.x); s.syncAsSint16LE(_prepareWalkPos.y); + s.syncAsByte(_stepEnabled); + s.syncAsByte(_visible); + s.syncAsByte(_priorVisible); - s.syncAsByte(_mirror); - s.syncAsUint16LE(_frameCount); + s.syncAsSint16LE(_spritesStart); + for (int i = 0; i < 8; ++i) + s.syncAsByte(_spriteSetsPresent[i]); + + s.syncAsByte(_facing); + s.syncAsByte(_turnToFacing); + s.syncAsSint16LE(_spritesIdx); + s.syncAsSint16LE(_frameNumber); + s.syncAsSint16LE(_currentDepth); + s.syncAsSint16LE(_currentScale); s.syncAsSint16LE(_frameListIndex); - s.syncAsSint16LE(_distAccum); - s.syncAsSint16LE(_pixelAccum); - s.syncAsSint16LE(_deltaDistance); - + for (int i = 0; i < 12; ++i) { s.syncAsSint16LE(_stopWalkerList[i]); s.syncAsSint16LE(_stopWalkerTrigger[i]); } + s.syncAsSint16LE(_stopWalkerIndex); - s.syncAsSint16LE(_totalDistance); - s.syncAsSint16LE(_frameNumber); - s.syncAsSint16LE(_special); - s.syncAsSint16LE(_velocity); - s.syncAsSint16LE(_scalingVelocity); s.syncAsSint16LE(_upcomingTrigger); s.syncAsSint16LE(_trigger); - s.syncAsSint16LE(_currentDepth); - s.syncAsSint16LE(_currentScale); - - int count; - char ch; - if (s.isSaving()) { - count = _spritesPrefix.size(); - s.syncAsUint16LE(count); - s.syncBytes((byte *)_spritesPrefix.c_str(), count); - } else { - s.syncAsSint16LE(count); - _spritesPrefix.clear(); - for (int i = 0; i < count; ++i) { - s.syncAsByte(ch); - _spritesPrefix += ch; - } - } + s.syncAsSint16LE(_scalingVelocity); + s.syncAsSint16LE(_pixelAccum); + s.syncAsSint16LE(_distAccum); + s.syncAsSint16LE(_deltaDistance); + s.syncAsSint16LE(_totalDistance); + s.syncAsSint16LE(_velocity); + s.syncAsUint16LE(_frameCount); + synchronizeString(s, _spritesPrefix); + s.syncAsUint32LE(_priorTimer); + s.syncAsSint16LE(_numSprites); + s.syncAsByte(_loadsFirst); + s.syncAsByte(_loadedFirst); + s.syncAsByte(_spritesLoaded); + s.syncAsByte(_spritesChanged); + s.syncAsByte(_beenVisible); + s.syncAsSint16LE(_centerOfGravity); + s.syncAsByte(_mirror); } } // End of namespace MADS |