aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Gilbert2015-09-06 19:37:28 -0400
committerPaul Gilbert2015-09-06 19:37:28 -0400
commit735bd2c3f7ddce6eefa4dacf396df1180e93373e (patch)
tree3b09b0456755cefe6db8f4df616749987d8ce676
parentb046479cabd33bf8d11ef3b3bdce841ab0521c59 (diff)
downloadscummvm-rg350-735bd2c3f7ddce6eefa4dacf396df1180e93373e.tar.gz
scummvm-rg350-735bd2c3f7ddce6eefa4dacf396df1180e93373e.tar.bz2
scummvm-rg350-735bd2c3f7ddce6eefa4dacf396df1180e93373e.zip
SHERLOCK: 3DO: Fix Settings button
-rw-r--r--engines/sherlock/scalpel/scalpel_user_interface.cpp10
-rw-r--r--engines/sherlock/scalpel/scalpel_user_interface.h1
2 files changed, 7 insertions, 4 deletions
diff --git a/engines/sherlock/scalpel/scalpel_user_interface.cpp b/engines/sherlock/scalpel/scalpel_user_interface.cpp
index efcf6ea05b..47e7176a65 100644
--- a/engines/sherlock/scalpel/scalpel_user_interface.cpp
+++ b/engines/sherlock/scalpel/scalpel_user_interface.cpp
@@ -65,6 +65,7 @@ const int INVENTORY_POINTS[8][3] = {
};
const char COMMANDS[13] = "LMTPOCIUGJFS";
+const char COMMANDS_3DO[13] = "LMTPOCIUGSFF";
const char INVENTORY_COMMANDS[9] = { "ELUG-+,." };
const char *const PRESS_KEY_FOR_MORE = "Press any Key for More.";
const char *const PRESS_KEY_TO_CONTINUE = "Press any Key to Continue.";
@@ -1268,6 +1269,7 @@ void ScalpelUserInterface::doMainControl() {
ScalpelInventory &inv = *(ScalpelInventory *)_vm->_inventory;
ScalpelSaveManager &saves = *(ScalpelSaveManager *)_vm->_saves;
Common::Point pt = events.mousePos();
+ const char *commands = IS_3DO ? COMMANDS_3DO : COMMANDS;
if ((events._pressed || events._released) && pt.y > CONTROLS_Y) {
events.clearKeyboard();
@@ -1282,7 +1284,7 @@ void ScalpelUserInterface::doMainControl() {
r.right += UI_OFFSET_3DO - 1;
}
if (r.contains(pt))
- _key = COMMANDS[_temp];
+ _key = commands[_temp];
}
--_temp;
} else if (_keyPress) {
@@ -1290,8 +1292,8 @@ void ScalpelUserInterface::doMainControl() {
_keyboardInput = true;
if (_keyPress >= 'A' && _keyPress <= 'Z') {
- const char *c = strchr(COMMANDS, _keyPress);
- _temp = !c ? 12 : c - COMMANDS;
+ const char *c = strchr(commands, _keyPress);
+ _temp = !c ? 12 : c - commands;
} else {
_temp = 12;
}
@@ -1393,7 +1395,7 @@ void ScalpelUserInterface::doMainControl() {
}
break;
case 'S':
- pushButton(11);
+ pushButton(IS_3DO ? 9 : 11);
_menuMode = SETUP_MODE;
Settings::show(_vm);
break;
diff --git a/engines/sherlock/scalpel/scalpel_user_interface.h b/engines/sherlock/scalpel/scalpel_user_interface.h
index 9a55189a66..d88e607c2a 100644
--- a/engines/sherlock/scalpel/scalpel_user_interface.h
+++ b/engines/sherlock/scalpel/scalpel_user_interface.h
@@ -34,6 +34,7 @@ class Talk;
namespace Scalpel {
extern const char COMMANDS[13];
+extern const char COMMANDS_3DO[13];
extern const int MENU_POINTS[12][4];
extern const int INVENTORY_POINTS[8][3];