aboutsummaryrefslogtreecommitdiff
path: root/engines/draci/draci.cpp
diff options
context:
space:
mode:
authorRobert Špalek2009-10-26 04:59:52 +0000
committerRobert Špalek2009-10-26 04:59:52 +0000
commit74da9e5e3bd842b6b5f44a01aff6fd26dee510ec (patch)
treeb1365db3c9e979b013def7da484df11be26c7a1f /engines/draci/draci.cpp
parent6b61700a7bf9ac66acc01b69f19703196b497320 (diff)
downloadscummvm-rg350-74da9e5e3bd842b6b5f44a01aff6fd26dee510ec.tar.gz
scummvm-rg350-74da9e5e3bd842b6b5f44a01aff6fd26dee510ec.tar.bz2
scummvm-rg350-74da9e5e3bd842b6b5f44a01aff6fd26dee510ec.zip
Fix Escape in the intro, and switching map and the inventory
svn-id: r45389
Diffstat (limited to 'engines/draci/draci.cpp')
-rw-r--r--engines/draci/draci.cpp11
1 files changed, 10 insertions, 1 deletions
diff --git a/engines/draci/draci.cpp b/engines/draci/draci.cpp
index 4b93e02ab6..e32a239f94 100644
--- a/engines/draci/draci.cpp
+++ b/engines/draci/draci.cpp
@@ -231,6 +231,12 @@ void DraciEngine::handleEvents() {
_game->scheduleEnteringRoomUsingGate(_game->prevRoomNum(), 0);
break;
case Common::KEYCODE_ESCAPE: {
+ if (_game->getLoopStatus() == kStatusInventory &&
+ _game->getLoopSubstatus() == kSubstatusOrdinary) {
+ _game->inventoryDone();
+ break;
+ }
+
const int escRoom = _game->getRoomNum() != _game->getMapRoom()
? _game->getEscRoom() : _game->getPreviousRoomNum();
@@ -243,7 +249,7 @@ void DraciEngine::handleEvents() {
_game->setExitLoop(true);
// End any currently running GPL programs
- _script->endCurrentProgram();
+ _script->endCurrentProgram(true);
}
break;
}
@@ -259,6 +265,9 @@ void DraciEngine::handleEvents() {
_showWalkingMap = !_showWalkingMap;
break;
case Common::KEYCODE_i:
+ if (_game->getRoomNum() == _game->getMapRoom()) {
+ break;
+ }
if (_game->getLoopStatus() == kStatusInventory &&
_game->getLoopSubstatus() == kSubstatusOrdinary) {
_game->inventoryDone();