diff options
author | Gregory Montoir | 2007-01-07 23:18:18 +0000 |
---|---|---|
committer | Gregory Montoir | 2007-01-07 23:18:18 +0000 |
commit | 216bcae2111156cd82791f2919d438b1f548cfe3 (patch) | |
tree | 571e5a5bde944ddd0e9be38ad69b034578b1f247 | |
parent | ab180132c13e3e67a01ec02cce95e617cf7a6fc8 (diff) | |
download | scummvm-rg350-216bcae2111156cd82791f2919d438b1f548cfe3.tar.gz scummvm-rg350-216bcae2111156cd82791f2919d438b1f548cfe3.tar.bz2 scummvm-rg350-216bcae2111156cd82791f2919d438b1f548cfe3.zip |
possible fix for bug #1193185
svn-id: r25051
-rw-r--r-- | engines/scumm/input.cpp | 6 | ||||
-rw-r--r-- | engines/scumm/verbs.cpp | 21 |
2 files changed, 16 insertions, 11 deletions
diff --git a/engines/scumm/input.cpp b/engines/scumm/input.cpp index 52bff5bd01..ae7b5682df 100644 --- a/engines/scumm/input.cpp +++ b/engines/scumm/input.cpp @@ -172,14 +172,14 @@ void ScummEngine::parseEvents() { // The following two cases enable dialog choices to be // scrolled through in the SegaCD version of MI // as nothing else uses the wheel don't bother - // checking the gameid + // checking the gameid. Values are taken from script-14. case OSystem::EVENT_WHEELDOWN: - _keyPressed = 'a'; + _keyPressed = 55; break; case OSystem::EVENT_WHEELUP: - _keyPressed = 'q'; + _keyPressed = 54; break; case OSystem::EVENT_QUIT: diff --git a/engines/scumm/verbs.cpp b/engines/scumm/verbs.cpp index 0efb37ea19..ae585104dd 100644 --- a/engines/scumm/verbs.cpp +++ b/engines/scumm/verbs.cpp @@ -485,13 +485,18 @@ void ScummEngine::checkExecVerbs() { if (_mouseAndKeyboardStat < MBS_MAX_KEY) { /* Check keypresses */ - vs = &_verbs[1]; - for (i = 1; i < _numVerbs; i++, vs++) { - if (vs->verbid && vs->saveid == 0 && vs->curmode == 1) { - if (_mouseAndKeyboardStat == vs->key) { - // Trigger verb as if the user clicked it - runInputScript(1, vs->verbid, 1); - return; + if (!(_game.id == GID_MONKEY && _game.platform == Common::kPlatformSegaCD)) { + // This is disabled in the SegaCD version as the "vs->key" values setup + // by script-17 conflict with the values expected by the generic keyboard + // input script + vs = &_verbs[1]; + for (i = 1; i < _numVerbs; i++, vs++) { + if (vs->verbid && vs->saveid == 0 && vs->curmode == 1) { + if (_mouseAndKeyboardStat == vs->key) { + // Trigger verb as if the user clicked it + runInputScript(1, vs->verbid, 1); + return; + } } } } @@ -623,7 +628,7 @@ void ScummEngine::verbMouseOver(int verb) { if (_verbs[_verbMouseOver].type != kImageVerbType) { drawVerb(_verbMouseOver, 0); } - + if (_verbs[verb].type != kImageVerbType && _verbs[verb].hicolor) { drawVerb(verb, 1); _verbMouseOver = verb; |