aboutsummaryrefslogtreecommitdiff
path: root/engines/illusions/actor.h
diff options
context:
space:
mode:
authorjohndoe1232014-03-27 18:55:41 +0100
committerEugene Sandulenko2018-07-20 06:43:33 +0000
commit33d28deb690c79a6aca190c5b1bc998c39d95662 (patch)
treefaf3167dacc8c56a63e455af79cb8d7b2f16e2aa /engines/illusions/actor.h
parent22e898f7eb1bddc363900f4146696bf6e9d41e2f (diff)
downloadscummvm-rg350-33d28deb690c79a6aca190c5b1bc998c39d95662.tar.gz
scummvm-rg350-33d28deb690c79a6aca190c5b1bc998c39d95662.tar.bz2
scummvm-rg350-33d28deb690c79a6aca190c5b1bc998c39d95662.zip
ILLUSIONS: Additions in various places
- Add NamedPoint and related code - Remove some debug output - Fix right mouse button input - Add bubble code - Add BBDOU inventory skeleton
Diffstat (limited to 'engines/illusions/actor.h')
-rw-r--r--engines/illusions/actor.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/engines/illusions/actor.h b/engines/illusions/actor.h
index 9ddfc9cf16..7e3bc7f228 100644
--- a/engines/illusions/actor.h
+++ b/engines/illusions/actor.h
@@ -70,6 +70,7 @@ typedef Common::Functor2<Control*, uint32, void> ActorControlRoutine;
class Actor {
public:
Actor(IllusionsEngine *vm);
+ ~Actor();
void pause();
void unpause();
void createSurface(SurfInfo &surfInfo);
@@ -79,6 +80,7 @@ public:
int16 popSequenceStack();
void setControlRoutine(ActorControlRoutine *controlRoutine);
void runControlRoutine(Control *control, uint32 deltaTime);
+ bool findNamedPoint(uint32 namedPointId, Common::Point &pt);
public:
IllusionsEngine *_vm;
byte _drawFlags;
@@ -94,6 +96,7 @@ public:
Graphics::Surface *_surface;
FramesList *_frames;
+ NamedPoints *_namedPoints;
ScaleLayer *_scaleLayer;
PriorityLayer *_priorityLayer;
@@ -157,7 +160,7 @@ public:
void clearNotifyThreadId1();
void clearNotifyThreadId2();
void setPriority(int16 priority);
- int getPriority();
+ uint32 getPriority();
Common::Point calcPosition(Common::Point posDelta);
uint32 getSubActorParent();
void getCollisionRectAccurate(Common::Rect &collisionRect);
@@ -200,10 +203,12 @@ public:
void placeActor(uint32 actorTypeId, Common::Point placePt, uint32 sequenceId, uint32 objectId, uint32 notifyThreadId);
void placeSequenceLessActor(uint32 objectId, Common::Point placePt, WidthHeight dimensions, int16 priority);
void placeActorLessObject(uint32 objectId, Common::Point feetPt, Common::Point pt, int16 priority, uint flags);
+ void placeSubActor(uint32 objectId, int linkIndex, uint32 actorTypeId, uint32 sequenceId);
void destroyControlsByTag(uint32 tag);
void pauseControlsByTag(uint32 tag);
void unpauseControlsByTag(uint32 tag);
bool getOverlappedObject(Control *control, Common::Point pt, Control **outOverlappedControl, int minPriority);
+ bool findNamedPoint(uint32 namedPointId, Common::Point &pt);
void actorControlRoutine(Control *control, uint32 deltaTime);
public:
typedef Common::List<Control*> Items;
@@ -211,8 +216,10 @@ public:
IllusionsEngine *_vm;
Items _controls;
SequenceOpcodes *_sequenceOpcodes;
+ uint32 _nextTempObjectId;
Actor *newActor();
Control *newControl();
+ uint32 newTempObjectId();
void destroyControl(Control *control);
};