From c7d28132b4240c7c253ad91904f59cf3dd896e4d Mon Sep 17 00:00:00 2001 From: Travis Howell Date: Fri, 10 Sep 2004 01:03:01 +0000 Subject: Save game changes for HE80+ games. svn-id: r14985 --- scumm/actor.cpp | 5 +++-- scumm/actor.h | 2 +- scumm/saveload.cpp | 3 +++ scumm/saveload.h | 2 +- 4 files changed, 8 insertions(+), 4 deletions(-) diff --git a/scumm/actor.cpp b/scumm/actor.cpp index ef29630383..c31da182f8 100644 --- a/scumm/actor.cpp +++ b/scumm/actor.cpp @@ -1915,7 +1915,8 @@ const SaveLoadEntry *Actor::getSaveLoadEntries() { MKLINE(Actor, needRedraw, sleByte, VER(8)), MKLINE(Actor, needBgReset, sleByte, VER(8)), MKLINE(Actor, costumeNeedsInit, sleByte, VER(8)), - + MKLINE(Actor, condMask, sleUint32, VER(38)), + MKLINE(Actor, talkPosY, sleInt16, VER(8)), MKLINE(Actor, talkPosX, sleInt16, VER(8)), MKLINE(Actor, ignoreTurns, sleByte, VER(8)), @@ -1924,7 +1925,7 @@ const SaveLoadEntry *Actor::getSaveLoadEntries() { MKLINE(Actor, talkScript, sleUint16, VER(8)), MKLINE(Actor, walkScript, sleUint16, VER(8)), - + MKLINE(Actor, walkdata.dest.x, sleInt16, VER(8)), MKLINE(Actor, walkdata.dest.y, sleInt16, VER(8)), MKLINE(Actor, walkdata.destbox, sleByte, VER(8)), diff --git a/scumm/actor.h b/scumm/actor.h index 88e557eb18..0e036ff944 100644 --- a/scumm/actor.h +++ b/scumm/actor.h @@ -123,7 +123,7 @@ public: int8 layer; uint16 sound[32]; CostumeData cost; - uint32 condMask; // XXX save/load + uint32 condMask; protected: byte palette[256]; int elevation; diff --git a/scumm/saveload.cpp b/scumm/saveload.cpp index c369032213..aba1fcc3d1 100644 --- a/scumm/saveload.cpp +++ b/scumm/saveload.cpp @@ -776,6 +776,9 @@ void ScummEngine::saveOrLoad(Serializer *s, uint32 savegameVersion) { var120Backup = _scummVars[120]; var98Backup = _scummVars[98]; + if (savegameVersion > VER(37)) + s->saveLoadArrayOf(_roomVars, _numRoomVariables, sizeof(_roomVars[0]), sleInt32); + // The variables grew from 16 to 32 bit. if (savegameVersion < VER(15)) s->saveLoadArrayOf(_scummVars, _numVariables, sizeof(_scummVars[0]), sleInt16); diff --git a/scumm/saveload.h b/scumm/saveload.h index aae7896408..fba338e6db 100644 --- a/scumm/saveload.h +++ b/scumm/saveload.h @@ -32,7 +32,7 @@ namespace Scumm { // Can be useful for other ports too :) #define VER(x) x -#define CURRENT_VER 37 +#define CURRENT_VER 38 // To work around a warning in GCC 3.2 (and 3.1 ?) regarding non-POD types, // we use a small trick: instead of 0 we use 42. Why? Well, it seems newer GCC -- cgit v1.2.3