diff options
author | Max Horn | 2007-06-22 20:04:44 +0000 |
---|---|---|
committer | Max Horn | 2007-06-22 20:04:44 +0000 |
commit | 2b23374468549722c8068d448d9bbf5e100d7301 (patch) | |
tree | 0f932d85abb78a4dc9ecc93799ab7763753f3243 /engines/scumm/input.cpp | |
parent | 2496c5b5549f7b3b3f1d7777812631505f8d578f (diff) | |
download | scummvm-rg350-2b23374468549722c8068d448d9bbf5e100d7301.tar.gz scummvm-rg350-2b23374468549722c8068d448d9bbf5e100d7301.tar.bz2 scummvm-rg350-2b23374468549722c8068d448d9bbf5e100d7301.zip |
Converted lots of code to use Common::ASCII_* and COMMON::KEYCODE_* constants. This also revealed the evil mixing of keycodes and ascii we do in many places :-/
svn-id: r27616
Diffstat (limited to 'engines/scumm/input.cpp')
-rw-r--r-- | engines/scumm/input.cpp | 43 |
1 files changed, 22 insertions, 21 deletions
diff --git a/engines/scumm/input.cpp b/engines/scumm/input.cpp index 64c2169f53..4d390517a1 100644 --- a/engines/scumm/input.cpp +++ b/engines/scumm/input.cpp @@ -91,10 +91,11 @@ void ScummEngine::parseEvents() { // because that's what MI2 looks for in // its "instant win" cheat. _keyPressed = event.kbd.keycode + 154; - } else if (event.kbd.ascii == 315 && (_game.id == GID_CMI && !(_game.features & GF_DEMO))) { + } else if (event.kbd.ascii == Common::ASCII_F1 && (_game.id == GID_CMI && !(_game.features & GF_DEMO))) { // FIXME: support in-game menu screen. For now, this remaps F1 to F5 in COMI - _keyPressed = 319; - } else if (event.kbd.ascii < 273 || event.kbd.ascii > 276 || _game.version >= 7) { + _keyPressed = Common::ASCII_F5; + } else if (event.kbd.ascii < Common::KEYCODE_UP || event.kbd.ascii > Common::KEYCODE_LEFT || _game.version >= 7) { +// FIXME: Don't use ASCII value to detect arrow keys, rather, use keycode! // don't let game have arrow keys as we currently steal them // for keyboard cursor control // this fixes bug with up arrow (273) corresponding to @@ -106,8 +107,8 @@ void ScummEngine::parseEvents() { } if (_game.id == GID_MONKEY && _game.platform == Common::kPlatformSegaCD) { - if (event.kbd.ascii >= 273 && event.kbd.ascii <= 276) { - _keyPressed = event.kbd.ascii - 273 + 54; + if (event.kbd.ascii >= Common::KEYCODE_UP && event.kbd.ascii <= Common::KEYCODE_LEFT) { + _keyPressed = event.kbd.ascii - Common::KEYCODE_UP + 54; } } @@ -115,16 +116,16 @@ void ScummEngine::parseEvents() { // Keyboard is controlled via variable int _keyState = 0; - if (event.kbd.ascii == 276) // Left + if (event.kbd.ascii == Common::KEYCODE_LEFT) // Left _keyState = 1; - if (event.kbd.ascii == 275) // Right + if (event.kbd.ascii == Common::KEYCODE_RIGHT) // Right _keyState |= 2; - if (event.kbd.ascii == 273) // Up + if (event.kbd.ascii == Common::KEYCODE_UP) // Up _keyState |= 4; - if (event.kbd.ascii == 274) // Down + if (event.kbd.ascii == Common::KEYCODE_DOWN) // Down _keyState |= 8; if (event.kbd.flags == Common::KBD_SHIFT) @@ -240,8 +241,8 @@ void ScummEngine::clearClickedStatus() { void ScummEngine_v0::processInput() { // F1 - F3 - if (_keyPressed >= 315 && _keyPressed <= 317) { - switchActor(_keyPressed - 315); + if (_keyPressed >= Common::ASCII_F1 && _keyPressed <= Common::ASCII_F3) { + switchActor(_keyPressed - Common::ASCII_F1); } ScummEngine::processInput(); @@ -343,7 +344,7 @@ void ScummEngine_v8::processKeyboard(int lastKeyHit) { // Alt-F5 brings up the original save/load dialog if (lastKeyHit == 440 && !(_game.features & GF_DEMO)) { - lastKeyHit = 315; + lastKeyHit = Common::ASCII_F1; } // If a key script was specified (a V8 feature), and it's trigger @@ -449,14 +450,14 @@ void ScummEngine_v6::processKeyboard(int lastKeyHit) { void ScummEngine_v2::processKeyboard(int lastKeyHit) { if (lastKeyHit == ' ') { // space pauseGame(); - } else if (lastKeyHit == 314+5) { // F5 + } else if (lastKeyHit == Common::ASCII_F5) { mainMenuDialog(); - } else if (lastKeyHit == 314+8) { // F8 + } else if (lastKeyHit == Common::ASCII_F8) { confirmRestartDialog(); } else { if ((_game.version == 0 && lastKeyHit == 27) || - (VAR_CUTSCENEEXIT_KEY != 0xFF && lastKeyHit == 314+VAR(VAR_CUTSCENEEXIT_KEY))) { + (VAR_CUTSCENEEXIT_KEY != 0xFF && lastKeyHit == Common::ASCII_F1-1+VAR(VAR_CUTSCENEEXIT_KEY))) { abortCutscene(); } else { // Fall back to default behavior @@ -466,7 +467,7 @@ void ScummEngine_v2::processKeyboard(int lastKeyHit) { // Alt-F5 brings up the original save/load dialog if (lastKeyHit == 440) { - lastKeyHit = 314+5; + lastKeyHit = Common::ASCII_F5; } // Store the input type. So far we can't distinguish @@ -475,9 +476,9 @@ void ScummEngine_v2::processKeyboard(int lastKeyHit) { // 5) Sentence Bar if (VAR_KEYPRESS != 0xFF && lastKeyHit) { // Key Input - if (315 <= lastKeyHit && lastKeyHit < 315+12) { - // Convert F-Keys for V1/V2 games (they start at 1 instead of at 315) - VAR(VAR_KEYPRESS) = lastKeyHit - 314; + if (Common::ASCII_F1 <= lastKeyHit && lastKeyHit <= Common::ASCII_F9) { + // Convert F-Keys for V1/V2 games (they start at 1 instead of at ASCII_F1) + VAR(VAR_KEYPRESS) = lastKeyHit - Common::ASCII_F1 + 1; } else { VAR(VAR_KEYPRESS) = lastKeyHit; } @@ -486,7 +487,7 @@ void ScummEngine_v2::processKeyboard(int lastKeyHit) { } void ScummEngine_v3::processKeyboard(int lastKeyHit) { - if (_game.platform == Common::kPlatformFMTowns && lastKeyHit == 314+8) { // F8 + if (_game.platform == Common::kPlatformFMTowns && lastKeyHit == Common::ASCII_F8) { confirmRestartDialog(); } else { // Fall back to default behavior @@ -518,7 +519,7 @@ void ScummEngine::processKeyboard(int lastKeyHit) { int saveloadkey; if ((_game.version <= 3) || (_game.id == GID_SAMNMAX) || (_game.id == GID_CMI) || (_game.heversion >= 72)) - saveloadkey = 319; // F5 + saveloadkey = Common::ASCII_F5; else saveloadkey = VAR(VAR_MAINMENU_KEY); |