[Scummvm-cvs-logs] scummvm master -> c57e98ce8dc0dad0ab3154c354afc4dbead3fb85
urukgit
urukgit at users.noreply.github.com
Fri Feb 14 03:18:42 CET 2014
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
c57e98ce8d AVALANCHE: Simplify continueHelp(), move keyboard control to it's own function.
Commit: c57e98ce8dc0dad0ab3154c354afc4dbead3fb85
https://github.com/scummvm/scummvm/commit/c57e98ce8dc0dad0ab3154c354afc4dbead3fb85
Author: uruk (koppirnyo at gmail.com)
Date: 2014-02-13T18:18:11-08:00
Commit Message:
AVALANCHE: Simplify continueHelp(), move keyboard control to it's own function.
Changed paths:
engines/avalanche/help.cpp
engines/avalanche/help.h
diff --git a/engines/avalanche/help.cpp b/engines/avalanche/help.cpp
index 17faa2a..9985e9e 100644
--- a/engines/avalanche/help.cpp
+++ b/engines/avalanche/help.cpp
@@ -144,37 +144,38 @@ byte Help::checkMouse() {
return 0;
}
-void Help::continueHelp() {
- warning("STUB: Help::continueHelp()");
-
- do {
- Common::Event event;
- bool escape = false;
- while (!_vm->shouldQuit() && !escape) {
- _vm->_graphics->refreshScreen();
- while (_vm->getEvent(event)) {
- if (event.type == Common::EVENT_KEYDOWN) {
- escape = true;
- break;
- }
- }
+bool Help::handleKeyboard(const Common::Event &event) {
+ if (event.kbd.keycode == Common::KEYCODE_ESCAPE)
+ return true;
+
+ for (int i = 0; i < _buttonNum; i++) {
+ char upperCase = toupper(event.kbd.ascii);
+ if (((Common::KEYCODE_a <= event.kbd.keycode) && (event.kbd.keycode <= Common::KEYCODE_z) && (_buttons[i]._trigger == upperCase)) ||
+ ((event.kbd.keycode == Common::KEYCODE_PAGEUP) && (_buttons[i]._trigger == 214)) ||
+ ((event.kbd.keycode == Common::KEYCODE_PAGEDOWN) && (_buttons[i]._trigger == 216))) { // We had to handle the pageups/pagedowns separately.
+ _vm->fadeOut();
+ switchPage(_buttons[i]._whither);
+ _vm->fadeIn();
+ return false;
}
+ }
- if (event.kbd.keycode == Common::KEYCODE_ESCAPE)
- break;
+ return false;
+}
- for (int i = 0; i < _buttonNum; i++) {
- char upperCase = toupper(event.kbd.ascii);
- if (((Common::KEYCODE_a <= event.kbd.keycode) && (event.kbd.keycode <= Common::KEYCODE_z) && (_buttons[i]._trigger == upperCase)) ||
- ((event.kbd.keycode == Common::KEYCODE_PAGEUP) && (_buttons[i]._trigger == 214)) ||
- ((event.kbd.keycode == Common::KEYCODE_PAGEDOWN) && (_buttons[i]._trigger == 216))) { // We had to handle the pageups/pagedowns separately.
- _vm->fadeOut();
- switchPage(_buttons[i]._whither);
- _vm->fadeIn();
- break;
- }
- }
- } while (true);
+void Help::continueHelp() {
+ warning("STUB: Help::continueHelp()");
+
+ bool close = false;
+ Common::Event event;
+ while (!_vm->shouldQuit() && !close) {
+ _vm->_graphics->refreshScreen();
+ _vm->getEvent(event);
+ if (event.type == Common::EVENT_KEYDOWN) {
+ close = handleKeyboard(event);
+ }
+ }
+
}
/**
diff --git a/engines/avalanche/help.h b/engines/avalanche/help.h
index 23fa5d4..8ac552d 100644
--- a/engines/avalanche/help.h
+++ b/engines/avalanche/help.h
@@ -53,6 +53,7 @@ private:
void switchPage(byte which);
Common::String getLine(Common::File &file); // It was a nested function in getMe().
byte checkMouse(); // Returns clicked-on button, or 0 if none.
+ bool handleKeyboard(const Common::Event &event);
void continueHelp();
};
More information about the Scummvm-git-logs
mailing list