diff options
author | Eugene Sandulenko | 2007-09-19 09:54:42 +0000 |
---|---|---|
committer | Eugene Sandulenko | 2007-09-19 09:54:42 +0000 |
commit | 2254028365cf5f162bd41cf0011b4475ec608f4c (patch) | |
tree | 74d598d2a2df85ea26f257c28e72e8e4f71629ba /engines/agi/preagi_common.cpp | |
parent | 258901bab96f0050385a9912c8ea0fe2a41b2d6f (diff) | |
download | scummvm-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.cpp | 72 |
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; - } - } - } -} - } |