aboutsummaryrefslogtreecommitdiff
path: root/engines/supernova/supernova2/rooms.cpp
diff options
context:
space:
mode:
authorJaromir Wysoglad2019-07-01 16:13:58 +0200
committerThierry Crozat2019-07-28 15:09:14 +0100
commit61975aa2e2cb8f432b58d7c1c4af6110fbf9d81d (patch)
treef05830950de3dc3d876eeba7632d6beab45028ac /engines/supernova/supernova2/rooms.cpp
parentc1317bb9c7b8c3d3164919de31f064d54de78994 (diff)
downloadscummvm-rg350-61975aa2e2cb8f432b58d7c1c4af6110fbf9d81d.tar.gz
scummvm-rg350-61975aa2e2cb8f432b58d7c1c4af6110fbf9d81d.tar.bz2
scummvm-rg350-61975aa2e2cb8f432b58d7c1c4af6110fbf9d81d.zip
SUPERNOVA: Add improved mode
Diffstat (limited to 'engines/supernova/supernova2/rooms.cpp')
-rw-r--r--engines/supernova/supernova2/rooms.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/engines/supernova/supernova2/rooms.cpp b/engines/supernova/supernova2/rooms.cpp
index 43adab12c2..edfc3897e7 100644
--- a/engines/supernova/supernova2/rooms.cpp
+++ b/engines/supernova/supernova2/rooms.cpp
@@ -2728,7 +2728,8 @@ bool PuzzleFront::interact(Action verb, Object &obj1, Object &obj2) {
if (_gm->move(verb, obj1)) {
_gm->passageConstruction();
_gm->_newRoom = true;
- } else if (verb == ACTION_PRESS && obj1._id >= PART0 && obj1._id <= PART15) {
+ } else if ((verb == ACTION_PRESS || (verb == ACTION_WALK && _vm->_improved))
+ && obj1._id >= PART0 && obj1._id <= PART15) {
int pos = obj1._id - PART0;
int newPos = 0;
if (pos > 3 && _gm->_puzzleField[pos - 4] == 255)
@@ -3573,7 +3574,8 @@ bool BstDoor::interact(Action verb, Object &obj1, Object &obj2) {
if (_gm->move(verb, obj1)) {
_gm->passageConstruction();
_gm->_newRoom = true;
- } else if (verb == ACTION_PRESS && obj1._id >= BST1 && obj1._id <= BST16) {
+ } else if ((verb == ACTION_PRESS || (verb == ACTION_WALK && _vm->_improved))
+ && obj1._id >= BST1 && obj1._id <= BST16) {
int number = obj1._id - (BST1 - 1);
if (isSectionVisible(number))
_vm->renderImage(number + 128);