[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