diff options
author | johndoe123 | 2014-03-27 18:55:41 +0100 |
---|---|---|
committer | Eugene Sandulenko | 2018-07-20 06:43:33 +0000 |
commit | 33d28deb690c79a6aca190c5b1bc998c39d95662 (patch) | |
tree | faf3167dacc8c56a63e455af79cb8d7b2f16e2aa /engines/illusions/actor.h | |
parent | 22e898f7eb1bddc363900f4146696bf6e9d41e2f (diff) | |
download | scummvm-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.h | 9 |
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); }; |