From bcee44793fe1444bb08fa15e057ee254acae6bb4 Mon Sep 17 00:00:00 2001 From: D G Turner Date: Thu, 29 Nov 2012 01:39:08 +0000 Subject: DREAMWEB: Simplify _lastHardKey usage and migrate to Common::KeyCode. This improves readability and should help with dealing with changes to fix bug #3590814 ("DREAMWEB: M key does not work in Network"). --- engines/dreamweb/dreamweb.cpp | 23 +++------ engines/dreamweb/dreamweb.h | 3 +- engines/dreamweb/people.cpp | 2 +- engines/dreamweb/print.cpp | 4 +- engines/dreamweb/stubs.cpp | 4 +- engines/dreamweb/titles.cpp | 114 +++++++++++++++++++++--------------------- 6 files changed, 72 insertions(+), 78 deletions(-) (limited to 'engines/dreamweb') diff --git a/engines/dreamweb/dreamweb.cpp b/engines/dreamweb/dreamweb.cpp index cc9c9e6f33..1bcf6298b3 100644 --- a/engines/dreamweb/dreamweb.cpp +++ b/engines/dreamweb/dreamweb.cpp @@ -208,7 +208,7 @@ DreamWebEngine::DreamWebEngine(OSystem *syst, const DreamWebGameDescription *gam _addToRed = 0; _addToBlue = 0; _lastSoundReel = 0; - _lastHardKey = 0; + _lastHardKey = Common::KEYCODE_INVALID; _bufferIn = 0; _bufferOut = 0; _blinkFrame = 23; @@ -263,7 +263,7 @@ void DreamWebEngine::waitForVSync() { void DreamWebEngine::quit() { _quitRequested = true; - _lastHardKey = 1; + _lastHardKey = Common::KEYCODE_ESCAPE; } void DreamWebEngine::processEvents() { @@ -274,7 +274,7 @@ void DreamWebEngine::processEvents() { _sound->soundHandler(); Common::Event event; - int softKey, hardKey; + int softKey; while (_eventMan->pollEvent(event)) { switch(event.type) { case Common::EVENT_RTL: @@ -309,28 +309,21 @@ void DreamWebEngine::processEvents() { return; //do not pass ctrl + key to the engine } - // Some parts of the ASM code uses the hardware key - // code directly. We don't have that code, so we fake - // it for the keys where it's needed and assume it's - // 0 (which is actually an invalid value, as far as I - // know) otherwise. - - hardKey = 0; + // Some parts of the code uses the hardware key + // code directly. switch (event.kbd.keycode) { case Common::KEYCODE_ESCAPE: - hardKey = 1; + _lastHardKey = Common::KEYCODE_ESCAPE; break; case Common::KEYCODE_SPACE: - hardKey = 57; + _lastHardKey = Common::KEYCODE_SPACE; break; default: - hardKey = 0; + _lastHardKey = Common::KEYCODE_INVALID; break; } - _lastHardKey = hardKey; - // The rest of the keys are converted to ASCII. This // is fairly restrictive, and eventually we may want // to let through more keys. I think this is mostly to diff --git a/engines/dreamweb/dreamweb.h b/engines/dreamweb/dreamweb.h index 8cb903abcd..419f20207f 100644 --- a/engines/dreamweb/dreamweb.h +++ b/engines/dreamweb/dreamweb.h @@ -25,6 +25,7 @@ #include "common/error.h" #include "common/file.h" +#include "common/keyboard.h" #include "common/random.h" #include "common/rect.h" #include "common/savefile.h" @@ -420,7 +421,7 @@ public: uint8 _addToRed; uint8 _addToBlue; uint16 _lastSoundReel; - uint8 _lastHardKey; + Common::KeyCode _lastHardKey; uint16 _bufferIn; uint16 _bufferOut; uint8 _blinkFrame; diff --git a/engines/dreamweb/people.cpp b/engines/dreamweb/people.cpp index dbb81406cd..53f04d482b 100644 --- a/engines/dreamweb/people.cpp +++ b/engines/dreamweb/people.cpp @@ -194,7 +194,7 @@ void DreamWebEngine::madman(ReelRoutine &routine) { if (newReelPointer == 66) { ++_vars._combatCount; - if (_lastHardKey == 1) // ESC pressed, skip the mad man's speech + if (_lastHardKey == Common::KEYCODE_ESCAPE) // ESC pressed, skip the mad man's speech _vars._combatCount = _speechCount = (hasSpeech() ? 65 : 63); madmanText(); diff --git a/engines/dreamweb/print.cpp b/engines/dreamweb/print.cpp index d9350e11e4..bc75b97e71 100644 --- a/engines/dreamweb/print.cpp +++ b/engines/dreamweb/print.cpp @@ -321,7 +321,7 @@ void DreamWebEngine::rollEndCreditsGameLost() { waitForVSync(); multiDump(25, 20, 160, 160); - if (_lastHardKey == 1) + if (_lastHardKey == Common::KEYCODE_ESCAPE) return; } @@ -331,7 +331,7 @@ void DreamWebEngine::rollEndCreditsGameLost() { c = *string++; } while (c != ':' && c != 0); - if (_lastHardKey == 1) + if (_lastHardKey == Common::KEYCODE_ESCAPE) return; } diff --git a/engines/dreamweb/stubs.cpp b/engines/dreamweb/stubs.cpp index f235f7c2fd..cf072fa790 100644 --- a/engines/dreamweb/stubs.cpp +++ b/engines/dreamweb/stubs.cpp @@ -1056,7 +1056,7 @@ void DreamWebEngine::lockMon() { // key because calling readkey() drains characters from the input // buffer, we we want the user to be able to type ahead while the text // is being printed. - if (_lastHardKey == 57) { + if (_lastHardKey == Common::KEYCODE_SPACE) { // Clear the keyboard buffer. Otherwise the space that caused // the pause will be read immediately unpause the game. do { @@ -1072,7 +1072,7 @@ void DreamWebEngine::lockMon() { } // Forget the last "hard" key, otherwise the space that caused // the unpausing will immediately re-pause the game. - _lastHardKey = 0; + _lastHardKey = Common::KEYCODE_INVALID; lockLightOff(); } } diff --git a/engines/dreamweb/titles.cpp b/engines/dreamweb/titles.cpp index f005279ba0..9a63b276ff 100644 --- a/engines/dreamweb/titles.cpp +++ b/engines/dreamweb/titles.cpp @@ -105,34 +105,34 @@ void DreamWebEngine::bibleQuote() { fadeScreenUps(); hangOne(80); - if (_lastHardKey == 1) { - _lastHardKey = 0; + if (_lastHardKey == Common::KEYCODE_ESCAPE) { + _lastHardKey = Common::KEYCODE_INVALID; return; // "biblequotearly" } hangOne(560); - if (_lastHardKey == 1) { - _lastHardKey = 0; + if (_lastHardKey == Common::KEYCODE_ESCAPE) { + _lastHardKey = Common::KEYCODE_INVALID; return; // "biblequotearly" } fadeScreenDowns(); hangOne(200); - if (_lastHardKey == 1) { - _lastHardKey = 0; + if (_lastHardKey == Common::KEYCODE_ESCAPE) { + _lastHardKey = Common::KEYCODE_INVALID; return; // "biblequotearly" } _sound->cancelCh0(); - _lastHardKey = 0; + _lastHardKey = Common::KEYCODE_INVALID; } void DreamWebEngine::hangOne(uint16 delay) { do { waitForVSync(); - if (_lastHardKey == 1) + if (_lastHardKey == Common::KEYCODE_ESCAPE) return; // "hangonearly" } while (--delay); } @@ -150,8 +150,8 @@ void DreamWebEngine::intro() { fadeScreenUps(); runIntroSeq(); - if (_lastHardKey == 1) { - _lastHardKey = 0; + if (_lastHardKey == Common::KEYCODE_ESCAPE) { + _lastHardKey = Common::KEYCODE_INVALID; return; // "introearly" } @@ -160,8 +160,8 @@ void DreamWebEngine::intro() { loadIntroRoom(); runIntroSeq(); - if (_lastHardKey == 1) { - _lastHardKey = 0; + if (_lastHardKey == Common::KEYCODE_ESCAPE) { + _lastHardKey = Common::KEYCODE_INVALID; return; // "introearly" } @@ -170,8 +170,8 @@ void DreamWebEngine::intro() { loadIntroRoom(); runIntroSeq(); - if (_lastHardKey == 1) { - _lastHardKey = 0; + if (_lastHardKey == Common::KEYCODE_ESCAPE) { + _lastHardKey = Common::KEYCODE_INVALID; return; // "introearly" } @@ -181,15 +181,15 @@ void DreamWebEngine::intro() { loadIntroRoom(); runIntroSeq(); - if (_lastHardKey == 1) { - _lastHardKey = 0; + if (_lastHardKey == Common::KEYCODE_ESCAPE) { + _lastHardKey = Common::KEYCODE_INVALID; return; // "introearly" } getRidOfTempText(); clearBeforeLoad(); - _lastHardKey = 0; + _lastHardKey = Common::KEYCODE_INVALID; } void DreamWebEngine::runIntroSeq() { @@ -198,13 +198,13 @@ void DreamWebEngine::runIntroSeq() { do { waitForVSync(); - if (_lastHardKey == 1) + if (_lastHardKey == Common::KEYCODE_ESCAPE) break; spriteUpdate(); waitForVSync(); - if (_lastHardKey == 1) + if (_lastHardKey == Common::KEYCODE_ESCAPE) break; delEverything(); @@ -214,20 +214,20 @@ void DreamWebEngine::runIntroSeq() { useTimedText(); waitForVSync(); - if (_lastHardKey == 1) + if (_lastHardKey == Common::KEYCODE_ESCAPE) break; dumpMap(); dumpTimedText(); waitForVSync(); - if (_lastHardKey == 1) + if (_lastHardKey == Common::KEYCODE_ESCAPE) break; } while (_getBack != 1); - if (_lastHardKey == 1) { + if (_lastHardKey == Common::KEYCODE_ESCAPE) { getRidOfTempText(); clearBeforeLoad(); } @@ -293,24 +293,24 @@ void DreamWebEngine::realCredits() { hangOne(2); - if (_lastHardKey == 1) { - _lastHardKey = 0; + if (_lastHardKey == Common::KEYCODE_ESCAPE) { + _lastHardKey = Common::KEYCODE_INVALID; return; // "realcreditsearly" } allPalette(); hangOne(80); - if (_lastHardKey == 1) { - _lastHardKey = 0; + if (_lastHardKey == Common::KEYCODE_ESCAPE) { + _lastHardKey = Common::KEYCODE_INVALID; return; // "realcreditsearly" } fadeScreenDowns(); hangOne(256); - if (_lastHardKey == 1) { - _lastHardKey = 0; + if (_lastHardKey == Common::KEYCODE_ESCAPE) { + _lastHardKey = Common::KEYCODE_INVALID; return; // "realcreditsearly" } @@ -318,24 +318,24 @@ void DreamWebEngine::realCredits() { _sound->playChannel0(12, 0); hangOne(2); - if (_lastHardKey == 1) { - _lastHardKey = 0; + if (_lastHardKey == Common::KEYCODE_ESCAPE) { + _lastHardKey = Common::KEYCODE_INVALID; return; // "realcreditsearly" } allPalette(); hangOne(80); - if (_lastHardKey == 1) { - _lastHardKey = 0; + if (_lastHardKey == Common::KEYCODE_ESCAPE) { + _lastHardKey = Common::KEYCODE_INVALID; return; // "realcreditsearly" } fadeScreenDowns(); hangOne(256); - if (_lastHardKey == 1) { - _lastHardKey = 0; + if (_lastHardKey == Common::KEYCODE_ESCAPE) { + _lastHardKey = Common::KEYCODE_INVALID; return; // "realcreditsearly" } @@ -343,24 +343,24 @@ void DreamWebEngine::realCredits() { _sound->playChannel0(12, 0); hangOne(2); - if (_lastHardKey == 1) { - _lastHardKey = 0; + if (_lastHardKey == Common::KEYCODE_ESCAPE) { + _lastHardKey = Common::KEYCODE_INVALID; return; // "realcreditsearly" } allPalette(); hangOne(80); - if (_lastHardKey == 1) { - _lastHardKey = 0; + if (_lastHardKey == Common::KEYCODE_ESCAPE) { + _lastHardKey = Common::KEYCODE_INVALID; return; // "realcreditsearly" } fadeScreenDowns(); hangOne(256); - if (_lastHardKey == 1) { - _lastHardKey = 0; + if (_lastHardKey == Common::KEYCODE_ESCAPE) { + _lastHardKey = Common::KEYCODE_INVALID; return; // "realcreditsearly" } @@ -368,24 +368,24 @@ void DreamWebEngine::realCredits() { _sound->playChannel0(12, 0); hangOne(2); - if (_lastHardKey == 1) { - _lastHardKey = 0; + if (_lastHardKey == Common::KEYCODE_ESCAPE) { + _lastHardKey = Common::KEYCODE_INVALID; return; // "realcreditsearly" } allPalette(); hangOne(80); - if (_lastHardKey == 1) { - _lastHardKey = 0; + if (_lastHardKey == Common::KEYCODE_ESCAPE) { + _lastHardKey = Common::KEYCODE_INVALID; return; // "realcreditsearly" } fadeScreenDowns(); hangOne(256); - if (_lastHardKey == 1) { - _lastHardKey = 0; + if (_lastHardKey == Common::KEYCODE_ESCAPE) { + _lastHardKey = Common::KEYCODE_INVALID; return; // "realcreditsearly" } @@ -393,24 +393,24 @@ void DreamWebEngine::realCredits() { _sound->playChannel0(12, 0); hangOne(2); - if (_lastHardKey == 1) { - _lastHardKey = 0; + if (_lastHardKey == Common::KEYCODE_ESCAPE) { + _lastHardKey = Common::KEYCODE_INVALID; return; // "realcreditsearly" } allPalette(); hangOne(80); - if (_lastHardKey == 1) { - _lastHardKey = 0; + if (_lastHardKey == Common::KEYCODE_ESCAPE) { + _lastHardKey = Common::KEYCODE_INVALID; return; // "realcreditsearly" } fadeScreenDowns(); hangOne(256); - if (_lastHardKey == 1) { - _lastHardKey = 0; + if (_lastHardKey == Common::KEYCODE_ESCAPE) { + _lastHardKey = Common::KEYCODE_INVALID; return; // "realcreditsearly" } @@ -418,23 +418,23 @@ void DreamWebEngine::realCredits() { fadeScreenUps(); hangOne(60); - if (_lastHardKey == 1) { - _lastHardKey = 0; + if (_lastHardKey == Common::KEYCODE_ESCAPE) { + _lastHardKey = Common::KEYCODE_INVALID; return; // "realcreditsearly" } _sound->playChannel0(13, 0); hangOne(350); - if (_lastHardKey == 1) { - _lastHardKey = 0; + if (_lastHardKey == Common::KEYCODE_ESCAPE) { + _lastHardKey = Common::KEYCODE_INVALID; return; // "realcreditsearly" } fadeScreenDowns(); hangOne(256); - _lastHardKey = 0; + _lastHardKey = Common::KEYCODE_INVALID; } } // End of namespace DreamWeb -- cgit v1.2.3