diff options
author | Travis Howell | 2010-10-26 04:20:20 +0000 |
---|---|---|
committer | Travis Howell | 2010-10-26 04:20:20 +0000 |
commit | 2f254a35317e9f5588832d88490cf3fca12b94f2 (patch) | |
tree | 03316ca96d59cb92a7822197f610c56536073165 /engines/scumm/actor.h | |
parent | ae2c4b7cd209b310ae9e01edafa9613c06ff421f (diff) | |
download | scummvm-rg350-2f254a35317e9f5588832d88490cf3fca12b94f2.tar.gz scummvm-rg350-2f254a35317e9f5588832d88490cf3fca12b94f2.tar.bz2 scummvm-rg350-2f254a35317e9f5588832d88490cf3fca12b94f2.zip |
SCUMM: Add alternative version of patch #3094717 - MMC64: save actor state.
svn-id: r53842
Diffstat (limited to 'engines/scumm/actor.h')
-rw-r--r-- | engines/scumm/actor.h | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/engines/scumm/actor.h b/engines/scumm/actor.h index 88ba9902b4..98854ec5ba 100644 --- a/engines/scumm/actor.h +++ b/engines/scumm/actor.h @@ -305,7 +305,7 @@ public: void classChanged(int cls, bool value); // Used by the save/load system: - void saveLoadWithSerializer(Serializer *ser); + virtual void saveLoadWithSerializer(Serializer *ser); protected: bool isInClass(int cls); @@ -381,14 +381,16 @@ protected: class ActorC64 : public Actor_v2 { public: - // FIXME: These vars are never saved, which might lead to broken save states. - byte _miscflags; - byte _speaking, _speakingPrev; byte _costCommand, _costFrame; + byte _miscflags; // 0x1: strong, 0x8: Ed's enemy, 0x40: stop moving, 0x80: hide(dead/radiation suit) + byte _speaking, _speakingPrev; public: ActorC64(ScummEngine *scumm, int id) : Actor_v2(scumm, id) { - _speaking = _speakingPrev = _costCommand = _costFrame = 0; + _costCommand = 0; + _costFrame = 0; + _speaking = 0; + _speakingPrev = 0; } virtual void initActor(int mode) { Actor_v2::initActor(mode); @@ -397,6 +399,9 @@ public: } } + // Used by the save/load system: + virtual void saveLoadWithSerializer(Serializer *ser); + protected: }; |