aboutsummaryrefslogtreecommitdiff
path: root/engines/scumm/actor.h
diff options
context:
space:
mode:
Diffstat (limited to 'engines/scumm/actor.h')
-rw-r--r--engines/scumm/actor.h60
1 files changed, 33 insertions, 27 deletions
diff --git a/engines/scumm/actor.h b/engines/scumm/actor.h
index fe5865d12b..3e8fe6626b 100644
--- a/engines/scumm/actor.h
+++ b/engines/scumm/actor.h
@@ -61,6 +61,7 @@ struct CostumeData {
uint16 end[16];
uint16 frame[16];
+ /* HE specific */
uint16 heJumpOffsetTable[16];
uint16 heJumpCountTable[16];
uint32 heCondMaskTable[16];
@@ -133,27 +134,11 @@ public:
CostumeData _cost;
/* HE specific */
-
- /** This rect is used to clip actor drawing. */
- Common::Rect _clipOverride;
-
int _heOffsX, _heOffsY;
- bool _heNoTalkAnimation;
bool _heSkipLimbs;
- bool _heTalking;
uint32 _heCondMask;
uint32 _hePaletteNum;
uint32 _heXmapNum;
- byte _heFlags;
-
- AuxBlock _auxBlock;
-
- struct {
- int16 posX;
- int16 posY;
- int16 color;
- byte sentence[128];
- } _heTalkQueue[16];
protected:
struct ActorWalkData {
@@ -188,7 +173,7 @@ public:
virtual ~Actor() {}
//protected:
- void hideActor();
+ virtual void hideActor();
void showActor();
virtual void initActor(int mode);
@@ -227,7 +212,7 @@ public:
void drawActorCostume(bool hitTestMode = false);
virtual void prepareDrawActorCostume(BaseCostumeRenderer *bcr);
void animateCostume();
- void setActorCostume(int c);
+ virtual void setActorCostume(int c);
void animateLimb(int limb, int f);
@@ -318,14 +303,6 @@ public:
void classChanged(int cls, bool value);
- void setHEFlag(int bit, int set);
-
- void setUserCondition(int slot, int set);
- bool isUserConditionSet(int slot) const;
-
- void setTalkCondition(int slot);
- bool isTalkConditionSet(int slot) const;
-
// Used by the save/load system:
void saveLoadWithSerializer(Serializer *ser);
@@ -342,10 +319,39 @@ public:
ActorHE(ScummEngine *scumm, int id) : Actor(scumm, id) {}
virtual void initActor(int mode);
+
+ virtual void hideActor();
+
void drawActorToBackBuf(int x, int y);
-protected:
+ void setHEFlag(int bit, int set);
+
+ void setUserCondition(int slot, int set);
+ bool isUserConditionSet(int slot) const;
+
+ void setTalkCondition(int slot);
+ bool isTalkConditionSet(int slot) const;
+
+public:
+ /** This rect is used to clip actor drawing. */
+ Common::Rect _clipOverride;
+
+ bool _heNoTalkAnimation;
+ bool _heTalking;
+ byte _heFlags;
+
+ AuxBlock _auxBlock;
+
+ struct {
+ int16 posX;
+ int16 posY;
+ int16 color;
+ byte sentence[128];
+ } _heTalkQueue[16];
+
+
virtual void prepareDrawActorCostume(BaseCostumeRenderer *bcr);
+ virtual void setActorCostume(int c);
};
class Actor_v3 : public Actor {