aboutsummaryrefslogtreecommitdiff
path: root/engines/scumm/actor.h
diff options
context:
space:
mode:
authorTravis Howell2010-10-26 04:20:20 +0000
committerTravis Howell2010-10-26 04:20:20 +0000
commit2f254a35317e9f5588832d88490cf3fca12b94f2 (patch)
tree03316ca96d59cb92a7822197f610c56536073165 /engines/scumm/actor.h
parentae2c4b7cd209b310ae9e01edafa9613c06ff421f (diff)
downloadscummvm-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.h15
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:
};