diff options
author | Andrew Kurushin | 2005-01-08 20:30:07 +0000 |
---|---|---|
committer | Andrew Kurushin | 2005-01-08 20:30:07 +0000 |
commit | bdb1b1eb1c21faf8dfc00ce4fb57965cdb649d8a (patch) | |
tree | 233893d2177e474fb1257b9717be0d83e118cbec /saga/actor.h | |
parent | 65a4044203f2d26edb26a7677dd1a6107d24adcb (diff) | |
download | scummvm-rg350-bdb1b1eb1c21faf8dfc00ce4fb57965cdb649d8a.tar.gz scummvm-rg350-bdb1b1eb1c21faf8dfc00ce4fb57965cdb649d8a.tar.bz2 scummvm-rg350-bdb1b1eb1c21faf8dfc00ce4fb57965cdb649d8a.zip |
begining of verb implementation
introduced getObjectName
svn-id: r16491
Diffstat (limited to 'saga/actor.h')
-rw-r--r-- | saga/actor.h | 30 |
1 files changed, 12 insertions, 18 deletions
diff --git a/saga/actor.h b/saga/actor.h index 0b7a114411..dfb6421b19 100644 --- a/saga/actor.h +++ b/saga/actor.h @@ -29,10 +29,11 @@ #include "saga/sprite.h" #include "saga/actordata.h" #include "saga/list.h" +#include "saga/saga.h" namespace Saga { -//#define ACTOR_DEBUG +#define ACTOR_DEBUG #define ACTOR_BARRIERS_MAX 16 @@ -56,16 +57,6 @@ namespace Saga { #define PATH_NODE_EMPTY -1 - -#define ID_NOTHING 0 -#define ID_PROTAG 1 - -#define IS_VALID_ACTOR_INDEX(index) ((index >= 0) && (index < ACTORCOUNT)) -#define IS_VALID_ACTOR_ID(id) ((id == 1) || (id >= 0x2000) && (id < (0x2000 | ACTORCOUNT))) -#define ACTOR_ID_TO_INDEX(id) ((((uint16)id) == 1 ) ? 0 : (int)(((uint16)id) & ~0x2000)) -#define ACTOR_INDEX_TO_ID(index) ((((int)index) == 0 ) ? 1 : (uint16)(((int)index) | 0x2000)) - - enum ActorActions { kActionWait = 0, kActionWalkToPoint = 1, @@ -207,7 +198,7 @@ struct ActorData { uint8 cycleTimeCount; uint8 cycleFlags; - SPRITELIST *spriteList; // Actor's sprite list data + SpriteList *spriteList; // Actor's sprite list data int spriteListResourceId; // Actor's sprite list resource id ActorFrameSequence *frames; // Actor's frames @@ -275,18 +266,20 @@ public: Actor(SagaEngine *vm); ~Actor(); -/* - void CF_actor_move(int argc, const char **argv); - void CF_actor_moverel(int argc, const char **argv); - void CF_actor_seto(int argc, const char **argv); - void CF_actor_setact(int argc, const char **argv); -*/ + + void cmdActorWalkTo(int argc, const char **argv); + + bool validActorId(uint16 id) { return (id == 1) || ((id >= 0x2000) && (id < (0x2000 | ACTORCOUNT))); } + int actorIdToIndex(uint16 id) { return (id == 1 ) ? 0 : (id & ~0x2000); } + uint16 actorIndexToId(int index) { return (index == 0 ) ? 1 : (index | 0x2000); } + int direct(int msec); int drawActors(); void updateActorsScene(); // calls from scene loading to update Actors info void drawPathTest(); + const char * getActorName(uint16 actorId); bool actorEndWalk(uint16 actorId, bool recurse); bool actorWalkTo(uint16 actorId, const ActorLocation &toLocation); ActorData *getActor(uint16 actorId); @@ -350,6 +343,7 @@ private: ActorOrderList _drawOrderList; ActorData _actors[ACTORCOUNT]; SpeechData _activeSpeech; + StringsList _actorsStrings; //path stuff Rect _barrierList[ACTOR_BARRIERS_MAX]; |