diff options
author | Nipun Garg | 2019-06-22 05:08:42 +0530 |
---|---|---|
committer | Eugene Sandulenko | 2019-09-03 17:16:54 +0200 |
commit | d5dca7ea7c3ab63060b1ecefc9dc31b1ada8004d (patch) | |
tree | c27531b596b9c463aa9171c8829f839b0d381dc7 | |
parent | b085dcfa974ddcb1cdad211b088428dfc9cb625d (diff) | |
download | scummvm-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.cpp | 67 | ||||
-rw-r--r-- | engines/hdb/ai.h | 70 |
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; |