aboutsummaryrefslogtreecommitdiff
path: root/engines/kyra/lol.cpp
diff options
context:
space:
mode:
authorFlorian Kagerer2009-10-03 20:42:26 +0000
committerFlorian Kagerer2009-10-03 20:42:26 +0000
commitf6de0b4ec9fcc240cdc0c46aedb2e2089e07bd5c (patch)
tree29445b690968061b7d2a82e0bbb15ae1a4c693c9 /engines/kyra/lol.cpp
parenta3fc7230eb6aecce6ad48c22540fa1dbe11606b1 (diff)
downloadscummvm-rg350-f6de0b4ec9fcc240cdc0c46aedb2e2089e07bd5c.tar.gz
scummvm-rg350-f6de0b4ec9fcc240cdc0c46aedb2e2089e07bd5c.tar.bz2
scummvm-rg350-f6de0b4ec9fcc240cdc0c46aedb2e2089e07bd5c.zip
LOL/PC-98: add keyboard support
svn-id: r44564
Diffstat (limited to 'engines/kyra/lol.cpp')
-rw-r--r--engines/kyra/lol.cpp31
1 files changed, 18 insertions, 13 deletions
diff --git a/engines/kyra/lol.cpp b/engines/kyra/lol.cpp
index aac1b2fe34..2bfe687680 100644
--- a/engines/kyra/lol.cpp
+++ b/engines/kyra/lol.cpp
@@ -4001,7 +4001,7 @@ void LoLEngine::displayAutomap() {
for (int i = 0; i < 1024; i++)
_levelBlockProperties[i].flags |= 7;
_mapUpdateNeeded = true;
- } else if (f == 0x6e) {
+ } else if (f == _keyMap[Common::KEYCODE_ESCAPE]) {
exitAutomap = true;
}
@@ -4239,23 +4239,28 @@ void LoLEngine::drawMapPage(int pageNum) {
}
bool LoLEngine::automapProcessButtons(int inputFlag) {
- if (inputFlag != 199)
- return false;
-
int r = -1;
- if (posWithinRect(_mouseX, _mouseY, 252, 175, 273, 200))
+ if (inputFlag == _keyMap[Common::KEYCODE_RIGHT] || inputFlag == _keyMap[Common::KEYCODE_KP6]) {
r = 0;
- else if (posWithinRect(_mouseX, _mouseY, 231, 175, 252, 200))
+ } else if (inputFlag == _keyMap[Common::KEYCODE_LEFT] || inputFlag == _keyMap[Common::KEYCODE_KP4]) {
r = 1;
- else if (posWithinRect(_mouseX, _mouseY, 275, 175, 315, 197))
- r = 2;
+ } else if (inputFlag == 199) {
+ if (posWithinRect(_mouseX, _mouseY, 252, 175, 273, 200))
+ r = 0;
+ else if (posWithinRect(_mouseX, _mouseY, 231, 175, 252, 200))
+ r = 1;
+ else if (posWithinRect(_mouseX, _mouseY, 275, 175, 315, 197))
+ r = 2;
- printMapExitButtonText();
+ printMapExitButtonText();
- while (inputFlag == 199 || inputFlag == 200) {
- inputFlag = checkInput(0, false);
- removeInputTop();
- delay(_tickLength);
+ while (inputFlag == 199 || inputFlag == 200) {
+ inputFlag = checkInput(0, false);
+ removeInputTop();
+ delay(_tickLength);
+ }
+ } else {
+ return false;
}
if (r == 0) {