diff options
Diffstat (limited to 'engines/tinsel/saveload.cpp')
-rw-r--r-- | engines/tinsel/saveload.cpp | 26 |
1 files changed, 16 insertions, 10 deletions
diff --git a/engines/tinsel/saveload.cpp b/engines/tinsel/saveload.cpp index b6935d41ab..caaf9a13f8 100644 --- a/engines/tinsel/saveload.cpp +++ b/engines/tinsel/saveload.cpp @@ -18,9 +18,6 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * - * $URL$ - * $Id$ - * * Save and restore scene and game. */ @@ -165,8 +162,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 +170,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); |