aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Gilbert2017-08-20 17:23:55 -0400
committerPaul Gilbert2017-08-20 17:23:55 -0400
commit445e12f7ca05ab3b1c8b80d9f562852769a51220 (patch)
treefd4c1a787f8adabce216581a3ec58515a2c86c17
parent05f668ab34afa2a5dcb24b02f22c3aecd9692b8c (diff)
downloadscummvm-rg350-445e12f7ca05ab3b1c8b80d9f562852769a51220.tar.gz
scummvm-rg350-445e12f7ca05ab3b1c8b80d9f562852769a51220.tar.bz2
scummvm-rg350-445e12f7ca05ab3b1c8b80d9f562852769a51220.zip
TITANIC: Add Tab key as a shortcut for switching to inventory
-rw-r--r--engines/titanic/npcs/parrot.cpp1
-rw-r--r--engines/titanic/pet_control/pet_control.cpp19
-rw-r--r--engines/titanic/pet_control/pet_conversations.cpp3
-rw-r--r--engines/titanic/pet_control/pet_real_life.cpp3
4 files changed, 19 insertions, 7 deletions
diff --git a/engines/titanic/npcs/parrot.cpp b/engines/titanic/npcs/parrot.cpp
index d1ca4781b1..dd033abbae 100644
--- a/engines/titanic/npcs/parrot.cpp
+++ b/engines/titanic/npcs/parrot.cpp
@@ -700,7 +700,6 @@ bool CParrot::PreEnterViewMsg(CPreEnterViewMsg *msg) {
}
bool CParrot::PanningAwayFromParrotMsg(CPanningAwayFromParrotMsg *msg) {
- warning("PAN");
if (_state != PARROT_IN_CAGE) {
CActMsg actMsg("PanAwayFromParrot");
actMsg.execute(msg->_target);
diff --git a/engines/titanic/pet_control/pet_control.cpp b/engines/titanic/pet_control/pet_control.cpp
index a62377bfb8..fd77f44117 100644
--- a/engines/titanic/pet_control/pet_control.cpp
+++ b/engines/titanic/pet_control/pet_control.cpp
@@ -331,7 +331,20 @@ bool CPetControl::KeyCharMsg(CKeyCharMsg *msg) {
return false;
makeDirty();
- return _sections[_currentArea]->KeyCharMsg(msg);
+ bool result = _sections[_currentArea]->KeyCharMsg(msg);
+
+ if (!result) {
+ switch (msg->_key) {
+ case Common::KEYCODE_TAB:
+ setArea(PET_INVENTORY);
+ result = true;
+ break;
+ default:
+ break;
+ }
+ }
+
+ return result;
}
bool CPetControl::VirtualKeyCharMsg(CVirtualKeyCharMsg *msg) {
@@ -344,11 +357,11 @@ bool CPetControl::VirtualKeyCharMsg(CVirtualKeyCharMsg *msg) {
switch (msg->_keyState.keycode) {
case Common::KEYCODE_F1:
result = true;
- setArea(PET_INVENTORY);
+ setArea(PET_CONVERSATION);
break;
case Common::KEYCODE_F2:
+ setArea(PET_INVENTORY);
result = true;
- setArea(PET_CONVERSATION);
break;
case Common::KEYCODE_F3:
result = true;
diff --git a/engines/titanic/pet_control/pet_conversations.cpp b/engines/titanic/pet_control/pet_conversations.cpp
index 0a31f44bbf..6d249a388d 100644
--- a/engines/titanic/pet_control/pet_conversations.cpp
+++ b/engines/titanic/pet_control/pet_conversations.cpp
@@ -478,7 +478,8 @@ bool CPetConversations::handleKey(const Common::KeyState &keyState) {
scrollToBottom();
return true;
default:
- if (keyState.ascii > 0 && keyState.ascii <= 127) {
+ if (keyState.ascii >= 0 && keyState.ascii <= 127 &&
+ keyState.ascii != Common::KEYCODE_TAB) {
if (_textInput.handleKey(keyState.ascii))
// Text line finished, so process line
textLineEntered(_textInput.getText());
diff --git a/engines/titanic/pet_control/pet_real_life.cpp b/engines/titanic/pet_control/pet_real_life.cpp
index b9e1990dd2..57d81c739e 100644
--- a/engines/titanic/pet_control/pet_real_life.cpp
+++ b/engines/titanic/pet_control/pet_real_life.cpp
@@ -71,8 +71,7 @@ bool CPetRealLife::MouseButtonUpMsg(CMouseButtonUpMsg *msg) {
}
bool CPetRealLife::KeyCharMsg(CKeyCharMsg *msg) {
- _glyphs.KeyCharMsg(msg->_key);
- return true;
+ return _glyphs.KeyCharMsg(msg->_key);
}
bool CPetRealLife::VirtualKeyCharMsg(CVirtualKeyCharMsg *msg) {