aboutsummaryrefslogtreecommitdiff
path: root/saga/actor.h
diff options
context:
space:
mode:
authorAndrew Kurushin2004-12-19 13:38:11 +0000
committerAndrew Kurushin2004-12-19 13:38:11 +0000
commit3f55bee1991d1932ab019b972bd2f128d164753a (patch)
treebb36c73275f68e9f2adaf9b719abad52d25ce5c6 /saga/actor.h
parent9d6b4c3088025a2b2a4f5635aeb996bbcc586d89 (diff)
downloadscummvm-rg350-3f55bee1991d1932ab019b972bd2f128d164753a.tar.gz
scummvm-rg350-3f55bee1991d1932ab019b972bd2f128d164753a.tar.bz2
scummvm-rg350-3f55bee1991d1932ab019b972bd2f128d164753a.zip
- implemented perspective actors calculation
TODO: decodeRLESprite must do scale svn-id: r16135
Diffstat (limited to 'saga/actor.h')
-rw-r--r--saga/actor.h17
1 files changed, 14 insertions, 3 deletions
diff --git a/saga/actor.h b/saga/actor.h
index 545a130a75..bb75e54f10 100644
--- a/saga/actor.h
+++ b/saga/actor.h
@@ -181,7 +181,15 @@ struct ActorData {
int nameIndex; // Actor's index in actor name string list
byte speechColor; // Actor dialogue color
uint16 flags; // Actor flags
+
int sceneNumber; // scene of actor
+ int actorX; // Actor's logical coordinates
+ int actorY; //
+ int actorZ; //
+
+ Point screenPosition; // Actor's screen coordinates
+ int screenDepth; //
+ int screenScale; //
int currentAction;
int facingDirection;
@@ -195,8 +203,6 @@ struct ActorData {
int frameListResourceId; // Actor's frame list resource id
- Point a_pt; // Actor's logical coordinates
- Point s_pt; // Actor's screen coordinates
int idle_time;
@@ -237,6 +243,11 @@ struct ActorData {
spriteList = NULL;
spriteListResourceId = 0;
flags = 0;
+ sceneNumber = 0;
+ actorX = 0;
+ actorY = 0;
+ actorZ = 0;
+ screenDepth = 0;
idle_time = 0;
orient = 0;
@@ -294,7 +305,7 @@ public:
private:
int handleWalkIntent(ActorData *actor, WALKINTENT *a_walk_int, int *complete_p, int msec);
int handleSpeakIntent(ActorData *actor, ACTORINTENT *a_aintent, int *complete_p, int msec);
- int setPathNode(WALKINTENT *walk_int, Point *src_pt, Point *dst_pt, SEMAPHORE *sem);
+ int setPathNode(WALKINTENT *walk_int, const Point &src_pt, Point *dst_pt, SEMAPHORE *sem);
ActorData *getActor(uint16 actorId);