From 2f254a35317e9f5588832d88490cf3fca12b94f2 Mon Sep 17 00:00:00 2001 From: Travis Howell Date: Tue, 26 Oct 2010 04:20:20 +0000 Subject: SCUMM: Add alternative version of patch #3094717 - MMC64: save actor state. svn-id: r53842 --- engines/scumm/actor.h | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) (limited to 'engines/scumm/actor.h') 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: }; -- cgit v1.2.3