aboutsummaryrefslogtreecommitdiff
path: root/engines/agi/preagi_common.cpp
diff options
context:
space:
mode:
authorEugene Sandulenko2007-09-19 09:54:42 +0000
committerEugene Sandulenko2007-09-19 09:54:42 +0000
commit2254028365cf5f162bd41cf0011b4475ec608f4c (patch)
tree74d598d2a2df85ea26f257c28e72e8e4f71629ba /engines/agi/preagi_common.cpp
parent258901bab96f0050385a9912c8ea0fe2a41b2d6f (diff)
downloadscummvm-rg350-2254028365cf5f162bd41cf0011b4475ec608f4c.tar.gz
scummvm-rg350-2254028365cf5f162bd41cf0011b4475ec608f4c.tar.bz2
scummvm-rg350-2254028365cf5f162bd41cf0011b4475ec608f4c.zip
Merge several choice-related functions
svn-id: r28967
Diffstat (limited to 'engines/agi/preagi_common.cpp')
-rw-r--r--engines/agi/preagi_common.cpp72
1 files changed, 9 insertions, 63 deletions
diff --git a/engines/agi/preagi_common.cpp b/engines/agi/preagi_common.cpp
index b0dba6fb0c..190625bbdf 100644
--- a/engines/agi/preagi_common.cpp
+++ b/engines/agi/preagi_common.cpp
@@ -122,19 +122,16 @@ void PreAgiEngine::printStrXOR(char *szMsg) {
int PreAgiEngine::getSelection(SelectionTypes type) {
Common::Event event;
- // Selection types:
- // 0: Y/N
- // 1: 1-9
for (;;) {
while (_eventMan->pollEvent(event)) {
switch(event.type) {
case Common::EVENT_QUIT:
_system->quit();
- case Common::EVENT_LBUTTONUP:
- if (type == kSelYesNo)
- return 1;
case Common::EVENT_RBUTTONUP:
return 0;
+ case Common::EVENT_LBUTTONUP:
+ if (type == kSelYesNo || type == kSelAnyKey)
+ return 1;
case Common::EVENT_KEYDOWN:
switch (event.kbd.keycode) {
case Common::KEYCODE_y:
@@ -144,7 +141,7 @@ int PreAgiEngine::getSelection(SelectionTypes type) {
if (type == kSelYesNo)
return 0;
case Common::KEYCODE_ESCAPE:
- if (type == kSelNumber)
+ if (type == kSelNumber || type == kSelAnyKey)
return 0;
case Common::KEYCODE_1:
case Common::KEYCODE_2:
@@ -160,11 +157,16 @@ int PreAgiEngine::getSelection(SelectionTypes type) {
case Common::KEYCODE_SPACE:
if (type == kSelSpace)
return 1;
+ case Common::KEYCODE_BACKSPACE:
+ if (type == kSelBackspace)
+ return 0;
default:
if (type == kSelYesNo) {
return 2;
} else if (type == kSelNumber) {
return 10;
+ } else if (type == kSelAnyKey || type == kSelBackspace) {
+ return 1;
}
}
break;
@@ -178,60 +180,4 @@ int PreAgiEngine::getSelection(SelectionTypes type) {
return 0;
}
-bool PreAgiEngine::waitAnyKeyChoice() {
- Common::Event event;
-
- for (;;) {
- while (_eventMan->pollEvent(event)) {
- switch(event.type) {
- case Common::EVENT_QUIT:
- _system->quit();
- case Common::EVENT_LBUTTONUP:
- return true;
- case Common::EVENT_RBUTTONUP:
- return false;
- case Common::EVENT_KEYDOWN:
- switch (event.kbd.keycode) {
- case Common::KEYCODE_ESCAPE: //Escape
- return false;
- default:
- return true;
- }
- break;
- default:
- break;
- }
- }
- _system->updateScreen();
- _system->delayMillis(10);
- }
-}
-
-bool PreAgiEngine::getSelOkBack() {
- Common::Event event;
-
- for (;;) {
- while (_eventMan->pollEvent(event)) {
- switch (event.type) {
- case Common::EVENT_QUIT:
- _system->quit();
- break;
- case Common::EVENT_LBUTTONUP:
- return true;
- case Common::EVENT_RBUTTONUP:
- return false;
- case Common::EVENT_KEYDOWN:
- switch (event.kbd.keycode) {
- case Common::KEYCODE_BACKSPACE:
- return false;
- default:
- return true;
- }
- default:
- break;
- }
- }
- }
-}
-
}