aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNipun Garg2019-06-22 05:08:42 +0530
committerEugene Sandulenko2019-09-03 17:16:54 +0200
commitd5dca7ea7c3ab63060b1ecefc9dc31b1ada8004d (patch)
treec27531b596b9c463aa9171c8829f839b0d381dc7
parentb085dcfa974ddcb1cdad211b088428dfc9cb625d (diff)
downloadscummvm-rg350-d5dca7ea7c3ab63060b1ecefc9dc31b1ada8004d.tar.gz
scummvm-rg350-d5dca7ea7c3ab63060b1ecefc9dc31b1ada8004d.tar.bz2
scummvm-rg350-d5dca7ea7c3ab63060b1ecefc9dc31b1ada8004d.zip
HDB: Add variables for AutoAction tiles
-rw-r--r--engines/hdb/ai-init.cpp67
-rw-r--r--engines/hdb/ai.h70
2 files changed, 137 insertions, 0 deletions
diff --git a/engines/hdb/ai-init.cpp b/engines/hdb/ai-init.cpp
index e03f456bbc..76c794457f 100644
--- a/engines/hdb/ai-init.cpp
+++ b/engines/hdb/ai-init.cpp
@@ -700,6 +700,73 @@ bool AI::init() {
_waypointGfx[3] = new Tile;
_waypointGfx[3]->load(g_hdb->_fileMan->findFirstData("icon_waypoint_select4", TYPE_ICON32));
+ // Setup Vars to reference SPECIAL Map Tiles
+ _useSwitchOff = g_hdb->_drawMan->getTileIndex("anim_t32_switch_off01");
+ _useSwitchOn = g_hdb->_drawMan->getTileIndex("t32_switch_on");
+ _useSwitch2Off = g_hdb->_drawMan->getTileIndex("anim_t32_1switch_off01");
+ _useSwitch2On = g_hdb->_drawMan->getTileIndex("t32_1switch_on");
+// _useHandswitchOn = g_hdb->_drawMan->getTileIndex("t32_ship_handswitch_on");
+// _useHandswitchOff = g_hdb->_drawMan->getTileIndex("anim_t32_ship_handswitch_off1");
+ _useHolderEmpty = g_hdb->_drawMan->getTileIndex("anim_t32_holder_empty1");
+ _useHolderFull = g_hdb->_drawMan->getTileIndex("t32_holder_full");
+ _useMailsorter = g_hdb->_drawMan->getTileIndex("anim_t32_mailsort1");
+ _useAskcomp = g_hdb->_drawMan->getTileIndex("anim_t32_askcomp1");
+
+ _targetDoorN = g_hdb->_drawMan->getTileIndex("t32_door_n_1");
+ _targetDoorP = g_hdb->_drawMan->getTileIndex("t32_door_p_1");
+ _targetDoorS = g_hdb->_drawMan->getTileIndex("t32_door_s_1");
+ _targetDoorNv = g_hdb->_drawMan->getTileIndex("t32_door_nv_1");
+ _targetDoorPv = g_hdb->_drawMan->getTileIndex("t32_door_pv_1");
+ _targetDoorSv = g_hdb->_drawMan->getTileIndex("t32_door_sv_1");
+
+ _targetDoor2N = g_hdb->_drawMan->getTileIndex("t32_door2_n_1");
+ _targetDoor2P = g_hdb->_drawMan->getTileIndex("t32_door2_p_1");
+ _targetDoor2S = g_hdb->_drawMan->getTileIndex("t32_door2_s_1");
+ _targetDoor2Nv = g_hdb->_drawMan->getTileIndex("t32_door2_nv_1");
+ _targetDoor2Pv = g_hdb->_drawMan->getTileIndex("t32_door2_pv_1");
+ _targetDoor2Sv = g_hdb->_drawMan->getTileIndex("t32_door2_sv_1");
+
+ _target2DoorN = g_hdb->_drawMan->getTileIndex("t32_e2_door_n_1");
+ _target2DoorP = g_hdb->_drawMan->getTileIndex("t32_e2_door_p_1");
+ _target2DoorS = g_hdb->_drawMan->getTileIndex("t32_e2_door_s_1");
+ _target2DoorNv = g_hdb->_drawMan->getTileIndex("t32_e2_door_nv_1");
+ _target2DoorPv = g_hdb->_drawMan->getTileIndex("t32_e2_door_pv_1");
+ _target2DoorSv = g_hdb->_drawMan->getTileIndex("t32_e2_door_sv_1");
+
+ _target3DoorN = g_hdb->_drawMan->getTileIndex("t32_e3_door_n_1");
+ _target3DoorP = g_hdb->_drawMan->getTileIndex("t32_e3_door_p_1");
+ _target3DoorS = g_hdb->_drawMan->getTileIndex("t32_e3_door_s_1");
+ _target3DoorNv = g_hdb->_drawMan->getTileIndex("t32_e3_door_nv_1");
+ _target3DoorPv = g_hdb->_drawMan->getTileIndex("t32_e3_door_pv_1");
+ _target3DoorSv = g_hdb->_drawMan->getTileIndex("t32_e3_door_sv_1");
+
+ _targetBridgeU = g_hdb->_drawMan->getTileIndex("t32_bridgeup1");
+ _targetBridgeD = g_hdb->_drawMan->getTileIndex("t32_bridgedown1");
+ _targetBridgeL = g_hdb->_drawMan->getTileIndex("t32_bridgeleft1");
+ _targetBridgeR = g_hdb->_drawMan->getTileIndex("t32_bridgeright1");
+ _targetBridgeMidLR = g_hdb->_drawMan->getTileIndex("t32_mgrate_mid");
+ _targetBridgeMidUD = g_hdb->_drawMan->getTileIndex("t32_mgrate_tbmid");
+ _touchplateOn = g_hdb->_drawMan->getTileIndex("t32_touchplateon");
+ _touchplateOff = g_hdb->_drawMan->getTileIndex("t32_touchplateoff");
+ _blockpole = g_hdb->_drawMan->getTileIndex("t32_blockpole_1");
+ _useTeleporter = g_hdb->_drawMan->getTileIndex("anim_t32_teleporter1");
+
+ _useSwitchOff = g_hdb->_drawMan->getTileIndex("t32_temple_touchplate_on");
+ _useSwitchOff = g_hdb->_drawMan->getTileIndex("t32_temple_touchplate_off");
+
+ _kcHolderWhiteOff = g_hdb->_drawMan->getTileIndex("anim_t32_kcholder_white_off1");
+ _kcHolderWhiteOn = g_hdb->_drawMan->getTileIndex("t32_kcholder_white_on");
+ _kcHolderBlueOff = g_hdb->_drawMan->getTileIndex("anim_t32_kcholder_blue_off1");
+ _kcHolderBlueOn = g_hdb->_drawMan->getTileIndex("t32_kcholder_blue_on");
+ _kcHolderRedOff = g_hdb->_drawMan->getTileIndex("anim_t32_kcholder_red_off1");
+ _kcHolderRedOn = g_hdb->_drawMan->getTileIndex("t32_kcholder_red_on");
+ _kcHolderGreenOff = g_hdb->_drawMan->getTileIndex("anim_t32_kcholder_green_off1");
+ _kcHolderGreenOn = g_hdb->_drawMan->getTileIndex("t32_kcholder_green_on");
+ _kcHolderPurpleOff = g_hdb->_drawMan->getTileIndex("anim_t32_kcholder_purple_off1");
+ _kcHolderPurpleOn = g_hdb->_drawMan->getTileIndex("t32_kcholder_purple_on");
+ _kcHolderBlackOff = g_hdb->_drawMan->getTileIndex("anim_t32_kcholder_black_off1");
+ _kcHolderBlackOn = g_hdb->_drawMan->getTileIndex("t32_kcholder_black_on");
+
_playerRunning = false;
restartSystem();
diff --git a/engines/hdb/ai.h b/engines/hdb/ai.h
index 5c9dee107e..6e6247b593 100644
--- a/engines/hdb/ai.h
+++ b/engines/hdb/ai.h
@@ -748,6 +748,76 @@ public:
int _numGooCups;
int _numMonkeystones;
+ // Special Tiles that are usable
+ // 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;
+
AIEntLevel2 *_entsLevel2[kMaxLevel2Ents];
int _numLevel2Ents;