[Scummvm-cvs-logs] scummvm master -> 717248e1625bc42fc7f777ca9d3029f6ef8978e6

athrxx athrxx at scummvm.org
Fri Jun 3 00:43:07 CEST 2011


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:
717248e162 KYRA: improve readability of key mapping code


Commit: 717248e1625bc42fc7f777ca9d3029f6ef8978e6
    https://github.com/scummvm/scummvm/commit/717248e1625bc42fc7f777ca9d3029f6ef8978e6
Author: athrxx (athrxx at scummvm.org)
Date: 2011-06-02T15:41:09-07:00

Commit Message:
KYRA: improve readability of key mapping code

Changed paths:
    engines/kyra/kyra_v1.cpp



diff --git a/engines/kyra/kyra_v1.cpp b/engines/kyra/kyra_v1.cpp
index 75df1d1..f108082 100644
--- a/engines/kyra/kyra_v1.cpp
+++ b/engines/kyra/kyra_v1.cpp
@@ -350,23 +350,43 @@ int KyraEngine_v1::checkInput(Button *buttonList, bool mainLoop, int eventFlag)
 }
 
 void KyraEngine_v1::setupKeyMap() {
-	static const Common::KeyCode keyboardEvents[] = {
-		Common::KEYCODE_SPACE,  Common::KEYCODE_RETURN, Common::KEYCODE_UP,     Common::KEYCODE_KP8,
-		Common::KEYCODE_RIGHT,  Common::KEYCODE_KP6,    Common::KEYCODE_DOWN,   Common::KEYCODE_KP2,
-		Common::KEYCODE_KP5,	Common::KEYCODE_LEFT,   Common::KEYCODE_KP4,	Common::KEYCODE_HOME,
-		Common::KEYCODE_KP7,	Common::KEYCODE_PAGEUP, Common::KEYCODE_KP9,    Common::KEYCODE_F1,
-		Common::KEYCODE_F2,		Common::KEYCODE_F3,     Common::KEYCODE_o,      Common::KEYCODE_r,
-		Common::KEYCODE_SLASH,	Common::KEYCODE_ESCAPE
+	struct KeyMapEntry {
+		Common::KeyCode kcScummVM;
+		int16 kcDOS;
+		int16 kcPC98;
 	};
 
-	static const int16 keyCodesDOS[] = { 61, 43, 96, 96, 102, 102, 98, 98, 97, 92, 92, 91, 91, 101, 101, 112, 113, 114, 25, 20, 55, 110};
-	static const int16 keyCodesPC98[] = { 53, 29, 68, 68, 73, 73, 76, 76, 72, 71, 71, 67, 67, 69, 69, 99, 100, 101, 25, 20, 55, 1 };
+#define KC(x) Common::KEYCODE_##x
+	static const KeyMapEntry keys[] = {
+		{ KC(SPACE), 61, 53 },
+		{ KC(RETURN), 43, 29 },
+		{ KC(UP), 96, 68 },
+		{ KC(KP8), 96, 68 },
+		{ KC(RIGHT), 102, 73 },
+		{ KC(KP6), 102, 73 },
+		{ KC(DOWN), 98, 76 },
+		{ KC(KP2), 98, 76 },
+		{ KC(KP5), 97, 72 },
+		{ KC(LEFT), 92, 71 },
+		{ KC(KP4), 92, 71 },
+		{ KC(HOME), 91, 67 },
+		{ KC(KP7), 91, 67 },
+		{ KC(PAGEUP), 101, 69 },
+		{ KC(KP9), 101, 69 },
+		{ KC(F1), 112, 99 },
+		{ KC(F2), 113, 100 },
+		{ KC(F3), 114, 101 },
+		{ KC(o), 25, 25 },
+		{ KC(r), 20, 20 },
+		{ KC(SLASH), 55, 55 },
+		{ KC(ESCAPE), 110, 1 },
+	};
+#undef KC
 
-	const int16 *keyCodes = _flags.platform == Common::kPlatformPC98 ? keyCodesPC98 : keyCodesDOS;
 	_keyMap.clear();
 
-	for (int i = 0; i < ARRAYSIZE(keyboardEvents); i++)
-		_keyMap[keyboardEvents[i]] = keyCodes[i];
+	for (int i = 0; i < ARRAYSIZE(keys); i++)
+		_keyMap[keys[i].kcScummVM] = (_flags.platform == Common::kPlatformPC98) ? keys[i].kcPC98 : keys[i].kcDOS;
 }
 
 void KyraEngine_v1::updateInput() {






More information about the Scummvm-git-logs mailing list