diff options
author | Nipun Garg | 2019-06-25 09:25:10 +0530 |
---|---|---|
committer | Eugene Sandulenko | 2019-09-03 17:17:00 +0200 |
commit | dc0ad525cdad76368689282aab3772e5a5e464b5 (patch) | |
tree | ffac3b78363c767dd0c0419b58133d3e7509c1ff /engines/hdb/ai.h | |
parent | 69235618f248167f81054eaa599d53b1062f13fc (diff) | |
download | scummvm-rg350-dc0ad525cdad76368689282aab3772e5a5e464b5.tar.gz scummvm-rg350-dc0ad525cdad76368689282aab3772e5a5e464b5.tar.bz2 scummvm-rg350-dc0ad525cdad76368689282aab3772e5a5e464b5.zip |
HDB: Add _teleporters related functions
Diffstat (limited to 'engines/hdb/ai.h')
-rw-r--r-- | engines/hdb/ai.h | 135 |
1 files changed, 69 insertions, 66 deletions
diff --git a/engines/hdb/ai.h b/engines/hdb/ai.h index 5761fe4506..a099deeca2 100644 --- a/engines/hdb/ai.h +++ b/engines/hdb/ai.h @@ -386,7 +386,7 @@ struct AIEntity { uint16 goalX, goalY; // where we're trying to go - TILE COORDS uint16 touchpX, touchpY, touchpTile, touchpWait; // ACTION index a touchplate is using, which you're on uint32 stunnedWait; // if we're stunned, this is the delay before being normal again - uint16 sequence; // to use for specially-coded sequences + int16 sequence; // to use for specially-coded sequences char entityName[32]; // the name of the entity, as registered by the Lua init function for the entity char printedName[32]; // the name of the entity/item, the way it should be printed @@ -702,6 +702,9 @@ public: bool activateAction(AIEntity *e, int x, int y, int targetX, int targetY); bool checkAutoList(AIEntity *e, int x, int y); bool autoActive(int x, int y); + void addToTeleportList(int teleIndex, int x, int y, int dir, int level, int anim, int usable, const char *luaFuncUse); + bool checkTeleportList(AIEntity *e, int x, int y); + bool findTeleporterDest(int tileX, int tileY, SingleTele *info); void addToPathList(int x, int y, int type, AIDir dir); ArrowPath *findArrowPath(int x, int y); @@ -896,71 +899,71 @@ public: // These variables hold the tile-indices set // in ai-init.cpp - int _useSwitchOff; // the door opening switch - int _useSwitchOn; // state, when opened - int _useHolderEmpty; // cell holding switch - int _useHolderFull; // state, when full - int _useSwitch2Off; // another switch - int _useSwitch2On; // state, when opened - int _useMailsorter; // mailsorter entity - int _useAskcomp; // askcomp entitiy - int _useTeleporter; // teleporter entity - int _useHandswitchOn; // 2-sided handswitch - int _useHandswitchOff; // 2-sided handswitch - - int _targetDoorN; // horz SILVER door - int _targetDoorP; // horz BLUE door - int _targetDoorS; // horz RED door - int _targetDoorNv; // vert SILVER door - int _targetDoorPv; // vert BLUE door - int _targetDoorSv; // vert RED door - - int _targetDoor2N; // horz SILVER door - int _targetDoor2P; // horz BLUE door - int _targetDoor2S; // horz RED door - int _targetDoor2Nv; // vert SILVER door - int _targetDoor2Pv; // vert BLUE door - int _targetDoor2Sv; // vert RED door - - int _target2DoorN; // horz SILVER door - int _target2DoorP; // horz BLUE door - int _target2DoorS; // horz RED door - int _target2DoorNv; // vert SILVER door - int _target2DoorPv; // vert BLUE door - int _target2DoorSv; // vert RED door - - int _target3DoorN; // horz SILVER door - int _target3DoorP; // horz BLUE door - int _target3DoorS; // horz RED door - int _target3DoorNv; // vert SILVER door - int _target3DoorPv; // vert BLUE door - int _target3DoorSv; // vert RED door - - int _targetBridgeU; // bridge extending UP - int _targetBridgeD; // bridge extending DOWN - int _targetBridgeL; // bridge extending LEFT - int _targetBridgeR; // bridge extending RIGHT - - int _targetBridgeMidLR; // bridge grating plank LEFT/RIGHT - int _targetBridgeMidUD; // bridge grating plank UP/DOWN - int _touchplateOn; // touchplate ON - int _touchplateOff; - int _templeTouchpOn; // touchplate ON - int _templeTouchpOff; - int _blockpole; // blockpole - - int _kcHolderWhiteOff; // keycard holders - int _kcHolderWhiteOn; - int _kcHolderBlueOff; - int _kcHolderBlueOn; - int _kcHolderRedOff; - int _kcHolderRedOn; - int _kcHolderGreenOff; - int _kcHolderGreenOn; - int _kcHolderPurpleOff; - int _kcHolderPurpleOn; - int _kcHolderBlackOff; - int _kcHolderBlackOn; + int _useSwitchOff; // the door opening switch + int _useSwitchOn; // state, when opened + int _useHolderEmpty; // cell holding switch + int _useHolderFull; // state, when full + int _useSwitch2Off; // another switch + int _useSwitch2On; // state, when opened + int _useMailsorter; // mailsorter entity + int _useAskcomp; // askcomp entitiy + int _useTeleporter; // teleporter entity + int _useHandswitchOn; // 2-sided handswitch + int _useHandswitchOff; // 2-sided handswitch + + int _targetDoorN; // horz SILVER door + int _targetDoorP; // horz BLUE door + int _targetDoorS; // horz RED door + int _targetDoorNv; // vert SILVER door + int _targetDoorPv; // vert BLUE door + int _targetDoorSv; // vert RED door + + int _targetDoor2N; // horz SILVER door + int _targetDoor2P; // horz BLUE door + int _targetDoor2S; // horz RED door + int _targetDoor2Nv; // vert SILVER door + int _targetDoor2Pv; // vert BLUE door + int _targetDoor2Sv; // vert RED door + + int _target2DoorN; // horz SILVER door + int _target2DoorP; // horz BLUE door + int _target2DoorS; // horz RED door + int _target2DoorNv; // vert SILVER door + int _target2DoorPv; // vert BLUE door + int _target2DoorSv; // vert RED door + + int _target3DoorN; // horz SILVER door + int _target3DoorP; // horz BLUE door + int _target3DoorS; // horz RED door + int _target3DoorNv; // vert SILVER door + int _target3DoorPv; // vert BLUE door + int _target3DoorSv; // vert RED door + + int _targetBridgeU; // bridge extending UP + int _targetBridgeD; // bridge extending DOWN + int _targetBridgeL; // bridge extending LEFT + int _targetBridgeR; // bridge extending RIGHT + + int _targetBridgeMidLR; // bridge grating plank LEFT/RIGHT + int _targetBridgeMidUD; // bridge grating plank UP/DOWN + int _touchplateOn; // touchplate ON + int _touchplateOff; + int _templeTouchpOn; // touchplate ON + int _templeTouchpOff; + int _blockpole; // blockpole + + int _kcHolderWhiteOff; // keycard holders + int _kcHolderWhiteOn; + int _kcHolderBlueOff; + int _kcHolderBlueOn; + int _kcHolderRedOff; + int _kcHolderRedOn; + int _kcHolderGreenOff; + int _kcHolderGreenOn; + int _kcHolderPurpleOff; + int _kcHolderPurpleOn; + int _kcHolderBlackOff; + int _kcHolderBlackOn; AIEntLevel2 _entsLevel2[kMaxLevel2Ents]; int _numLevel2Ents; |