diff options
author | Travis Howell | 2005-10-22 04:08:48 +0000 |
---|---|---|
committer | Travis Howell | 2005-10-22 04:08:48 +0000 |
commit | 3374e399b59cc77ffe14eba180fd27319ea3dba9 (patch) | |
tree | d147e1bb82f876b6856a8fb6d4977a322e3ffd5e /scumm | |
parent | 4079dd03b14c393932699db988062d0c1e5548c5 (diff) | |
download | scummvm-rg350-3374e399b59cc77ffe14eba180fd27319ea3dba9.tar.gz scummvm-rg350-3374e399b59cc77ffe14eba180fd27319ea3dba9.tar.bz2 scummvm-rg350-3374e399b59cc77ffe14eba180fd27319ea3dba9.zip |
Load/Save palette correctly in HE99 games.
Save actor shadows in HE games.
svn-id: r19231
Diffstat (limited to 'scumm')
-rw-r--r-- | scumm/actor.cpp | 2 | ||||
-rw-r--r-- | scumm/actor.h | 4 | ||||
-rw-r--r-- | scumm/saveload.cpp | 2 | ||||
-rw-r--r-- | scumm/saveload.h | 2 | ||||
-rw-r--r-- | scumm/wiz_he.cpp | 2 |
5 files changed, 7 insertions, 5 deletions
diff --git a/scumm/actor.cpp b/scumm/actor.cpp index 4ed79ae795..02fed10153 100644 --- a/scumm/actor.cpp +++ b/scumm/actor.cpp @@ -2196,6 +2196,8 @@ void Actor::saveLoadWithSerializer(Serializer *ser) { MKLINE(Actor, _needBgReset, sleByte, VER(8)), MKLINE(Actor, _costumeNeedsInit, sleByte, VER(8)), MKLINE(Actor, _heCondMask, sleUint32, VER(38)), + MKLINE(Actor, _hePaletteNum, sleUint32, VER(59)), + MKLINE(Actor, _heXmapNum, sleUint32, VER(59)), MKLINE(Actor, _talkPosY, sleInt16, VER(8)), MKLINE(Actor, _talkPosX, sleInt16, VER(8)), diff --git a/scumm/actor.h b/scumm/actor.h index 9d7da4e82b..20d94c1347 100644 --- a/scumm/actor.h +++ b/scumm/actor.h @@ -133,12 +133,12 @@ public: CostumeData _cost; /* HE specific */ - int32 _heXmapNum; - byte _hePaletteNum; bool _heNoTalkAnimation; bool _heSkipLimbs; bool _heTalking; uint32 _heCondMask; + uint32 _hePaletteNum; + uint32 _heXmapNum; AuxBlock _auxBlock; diff --git a/scumm/saveload.cpp b/scumm/saveload.cpp index 0cfb1650af..2463f20a4b 100644 --- a/scumm/saveload.cpp +++ b/scumm/saveload.cpp @@ -1270,7 +1270,7 @@ void ScummEngine_v90he::saveOrLoad(Serializer *s, uint32 savegameVersion) { void ScummEngine_v99he::saveOrLoad(Serializer *s, uint32 savegameVersion) { ScummEngine_v90he::saveOrLoad(s, savegameVersion); - s->saveLoadArrayOf(_hePalettes, _numPalettes, sizeof(_hePalettes[0]), sleUint8); + s->saveLoadArrayOf(_hePalettes, (_numPalettes + 1) * 1024, sizeof(_hePalettes[0]), sleUint8); } void ScummEngine_v100he::saveOrLoad(Serializer *s, uint32 savegameVersion) { diff --git a/scumm/saveload.h b/scumm/saveload.h index dcaab584f5..3c27f8f9c7 100644 --- a/scumm/saveload.h +++ b/scumm/saveload.h @@ -45,7 +45,7 @@ namespace Scumm { * only saves/loads those which are valid for the version of the savegame * which is being loaded/saved currently. */ -#define CURRENT_VER 58 +#define CURRENT_VER 59 /** * An auxillary macro, used to specify savegame versions. We use this instead diff --git a/scumm/wiz_he.cpp b/scumm/wiz_he.cpp index d91b9585df..aaedb408f9 100644 --- a/scumm/wiz_he.cpp +++ b/scumm/wiz_he.cpp @@ -504,7 +504,7 @@ dec_sub2: w -= code; *dstPtr++ = palPtr[*dataPtr]; } } - *dataPtr++; + dataPtr++; } else { dec_sub3: w -= code; if (w < 0) { |