aboutsummaryrefslogtreecommitdiff
path: root/engines/mads/player.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/mads/player.cpp')
-rw-r--r--engines/mads/player.cpp81
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