diff options
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: }; |