aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorPaul Gilbert2009-02-10 10:16:49 +0000
committerPaul Gilbert2009-02-10 10:16:49 +0000
commit0ff8d326756b99dc9e7731f4aa41c75fe0433439 (patch)
treec87d4a4a376a5a8e0e74cc65d67534d2ac87cb56 /engines
parent7238358e6ebed522dd4e2254ba996b69884be02c (diff)
downloadscummvm-rg350-0ff8d326756b99dc9e7731f4aa41c75fe0433439.tar.gz
scummvm-rg350-0ff8d326756b99dc9e7731f4aa41c75fe0433439.tar.bz2
scummvm-rg350-0ff8d326756b99dc9e7731f4aa41c75fe0433439.zip
Cleaned up the input loop, using ScummVM keycode constants and some newly defined constants
svn-id: r36255
Diffstat (limited to 'engines')
-rw-r--r--engines/cruise/cruise_main.cpp41
-rw-r--r--engines/cruise/cruise_main.h7
2 files changed, 31 insertions, 17 deletions
diff --git a/engines/cruise/cruise_main.cpp b/engines/cruise/cruise_main.cpp
index 16d7de4d34..ada2c49bc1 100644
--- a/engines/cruise/cruise_main.cpp
+++ b/engines/cruise/cruise_main.cpp
@@ -732,7 +732,7 @@ int findObject(int mouseX, int mouseY, int *outObjOvl, int *outObjIdx) {
return -1;
}
-char keyboardVar = 0;
+Common::KeyCode keyboardCode = Common::KEYCODE_INVALID;
void freeStuff2(void) {
printf("implement freeStuff2\n");
@@ -1350,13 +1350,17 @@ int processInput(void) {
return 0;
}
- // test both buttons
- if (((button & 3) == 3) || keyboardVar == 0x44 || keyboardVar == 0x53) {
+ // Player Menu - test for both buttons or the F10 key
+ if (((button & MB_BOTH) == MB_BOTH) || (keyboardCode == Common::KEYCODE_F10)) {
changeCursor(CURSOR_NORMAL);
- keyboardVar = 0;
+ keyboardCode = Common::KEYCODE_INVALID;
return (playerMenu(mouseX, mouseY));
}
+ // Check for Exit 'X' key
+ if (keyboardCode == Common::KEYCODE_x)
+ return 1;
+
if (!userEnabled) {
return 0;
}
@@ -1390,7 +1394,7 @@ int processInput(void) {
menuDown = 0;
}
} else {
- if ((button & 1) && (buttonDown == 0)) {
+ if ((button & MB_LEFT) && (buttonDown == 0)) {
if (menuTable[0]) {
callRelation(getSelectedEntryInMenu(menuTable[0]), dialogueObj);
@@ -1412,7 +1416,7 @@ int processInput(void) {
}
}
- } else if ((button & 1) && (buttonDown == 0)) {
+ } else if ((button & MB_LEFT) && (buttonDown == 0)) {
// left click
buttonDown = 1;
@@ -1530,9 +1534,9 @@ int processInput(void) {
}
}
}
- } else if ((button & 2) || (keyboardVar == 0x43) || (keyboardVar == 0x52)) { // test right button
+ } else if ((button & MB_RIGHT) || (keyboardCode == Common::KEYCODE_F9)) {
if (buttonDown == 0) {
- keyboardVar = 0;
+ keyboardCode = Common::KEYCODE_INVALID;
// close object menu if there is no linked relation
if ((linkedRelation == 0) && (menuTable[0])) {
@@ -1572,16 +1576,16 @@ void manageEvents() {
while (eventMan->pollEvent(event)) {
switch (event.type) {
case Common::EVENT_LBUTTONDOWN:
- currentMouseButton |= 1;
+ currentMouseButton |= MB_LEFT;
break;
case Common::EVENT_LBUTTONUP:
- currentMouseButton &= ~1;
+ currentMouseButton &= ~MB_LEFT;
break;
case Common::EVENT_RBUTTONDOWN:
- currentMouseButton |= 2;
+ currentMouseButton |= MB_RIGHT;
break;
case Common::EVENT_RBUTTONUP:
- currentMouseButton &= ~2;
+ currentMouseButton &= ~MB_RIGHT;
break;
case Common::EVENT_MOUSEMOVE:
currentMouseX = event.mouse.x;
@@ -1592,8 +1596,8 @@ void manageEvents() {
break;
case Common::EVENT_KEYUP:
switch (event.kbd.keycode) {
- case 27: // ESC
- currentMouseButton &= ~4;
+ case Common::KEYCODE_ESCAPE:
+ currentMouseButton &= ~MB_MIDDLE;
break;
default:
break;
@@ -1601,10 +1605,11 @@ void manageEvents() {
break;
case Common::EVENT_KEYDOWN:
switch (event.kbd.keycode) {
- case 27: // ESC
- currentMouseButton |= 4;
+ case Common::KEYCODE_ESCAPE:
+ currentMouseButton |= MB_MIDDLE;
break;
default:
+ keyboardCode = event.kbd.keycode;
break;
}
@@ -1676,9 +1681,11 @@ void manageEvents() {
* break; */
if (event.kbd.flags == Common::KBD_CTRL) {
if (event.kbd.keycode == Common::KEYCODE_d) {
- // enable debugging stuff ?
+ // Start the debugger
+ keyboardCode = Common::KEYCODE_INVALID;
} else if (event.kbd.keycode == Common::KEYCODE_f) {
bFastMode = !bFastMode;
+ keyboardCode = Common::KEYCODE_INVALID;
}
}
diff --git a/engines/cruise/cruise_main.h b/engines/cruise/cruise_main.h
index c9c27ada49..b818c31506 100644
--- a/engines/cruise/cruise_main.h
+++ b/engines/cruise/cruise_main.h
@@ -61,6 +61,13 @@
namespace Cruise {
+enum MouseButton {
+ MB_LEFT = 1,
+ MB_RIGHT = 2,
+ MB_MIDDLE = 4,
+ MB_BOTH = MB_LEFT | MB_RIGHT
+};
+
/*#define DUMP_SCRIPT
#define DUMP_OBJECT*/