aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
Diffstat (limited to 'engines')
-rw-r--r--engines/tinsel/saveload.cpp23
1 files changed, 16 insertions, 7 deletions
diff --git a/engines/tinsel/saveload.cpp b/engines/tinsel/saveload.cpp
index b6935d41ab..50f6d8d00b 100644
--- a/engines/tinsel/saveload.cpp
+++ b/engines/tinsel/saveload.cpp
@@ -165,8 +165,7 @@ static bool syncSaveGameHeader(Common::Serializer &s, SaveGameHeader &hdr) {
}
static void syncSavedMover(Common::Serializer &s, SAVED_MOVER &sm) {
- SCNHANDLE *pList[3] = { (SCNHANDLE *)&sm.walkReels,
- (SCNHANDLE *)&sm.standReels, (SCNHANDLE *)&sm.talkReels };
+ int i, j;
s.syncAsUint32LE(sm.bActive);
s.syncAsSint32LE(sm.actorID);
@@ -174,11 +173,21 @@ static void syncSavedMover(Common::Serializer &s, SAVED_MOVER &sm) {
s.syncAsSint32LE(sm.objY);
s.syncAsUint32LE(sm.hLastfilm);
- for (int pIndex = 0; pIndex < 3; ++pIndex) {
- SCNHANDLE *p = pList[pIndex];
- for (int i = 0; i < TOTAL_SCALES * 4; ++i)
- s.syncAsUint32LE(*p++);
- }
+ // Sync walk reels
+ for (i = 0; i < TOTAL_SCALES; ++i)
+ for (j = 0; j < 4; ++j)
+ s.syncAsUint32LE(sm.walkReels[i][j]);
+
+ // Sync stand reels
+ for (i = 0; i < TOTAL_SCALES; ++i)
+ for (j = 0; j < 4; ++j)
+ s.syncAsUint32LE(sm.standReels[i][j]);
+
+ // Sync talk reels
+ for (i = 0; i < TOTAL_SCALES; ++i)
+ for (j = 0; j < 4; ++j)
+ s.syncAsUint32LE(sm.talkReels[i][j]);
+
if (TinselV2) {
s.syncAsByte(sm.bHidden);