From fad11ade6efbfcbd61c4398fb2f077a278057334 Mon Sep 17 00:00:00 2001 From: Travis Howell Date: Thu, 23 Jul 2009 05:48:20 +0000 Subject: Simplify the code to check whether loading or saving a game is possible. svn-id: r42671 --- engines/scumm/input.cpp | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) (limited to 'engines/scumm/input.cpp') diff --git a/engines/scumm/input.cpp b/engines/scumm/input.cpp index 61b714a3e2..4eadda8485 100644 --- a/engines/scumm/input.cpp +++ b/engines/scumm/input.cpp @@ -111,8 +111,8 @@ void ScummEngine::parseEvent(Common::Event event) { switch (event.type) { case Common::EVENT_KEYDOWN: if (event.kbd.keycode >= '0' && event.kbd.keycode <= '9' - && (event.kbd.flags == Common::KBD_ALT || - event.kbd.flags == Common::KBD_CTRL)) { + && event.kbd.flags == Common::KBD_CTRL && + canLoadGameStateCurrently()) { _saveLoadSlot = event.kbd.keycode - '0'; // don't overwrite autosave (slot 0) @@ -120,8 +120,24 @@ void ScummEngine::parseEvent(Common::Event event) { _saveLoadSlot = 10; sprintf(_saveLoadName, "Quicksave %d", _saveLoadSlot); - _saveLoadFlag = (event.kbd.flags == Common::KBD_ALT) ? 1 : 2; + _saveLoadFlag = 2; _saveTemporaryState = false; + } else if (event.kbd.keycode >= '0' && event.kbd.keycode <= '9' + && event.kbd.flags == Common::KBD_ALT && + canSaveGameStateCurrently()) { + _saveLoadSlot = event.kbd.keycode - '0'; + + // don't overwrite autosave (slot 0) + if (_saveLoadSlot == 0) + _saveLoadSlot = 10; + + sprintf(_saveLoadName, "Quicksave %d", _saveLoadSlot); + _saveLoadFlag = 1; + _saveTemporaryState = false; + } else if (event.kbd.flags == Common::KBD_CTRL && event.kbd.keycode == 'f') { + + + } else if (event.kbd.flags == Common::KBD_CTRL && event.kbd.keycode == 'f') { _fastMode ^= 1; } else if (event.kbd.flags == Common::KBD_CTRL && event.kbd.keycode == 'g') { -- cgit v1.2.3 From 46be9c3a1c0cce6b7d5888eeb46398decd6ff466 Mon Sep 17 00:00:00 2001 From: Travis Howell Date: Thu, 23 Jul 2009 05:57:00 +0000 Subject: Simplify the code to check whether loading or saving a game is possible. svn-id: r42672 --- engines/scumm/input.cpp | 24 ++++-------------------- 1 file changed, 4 insertions(+), 20 deletions(-) (limited to 'engines/scumm/input.cpp') diff --git a/engines/scumm/input.cpp b/engines/scumm/input.cpp index 4eadda8485..db102f5591 100644 --- a/engines/scumm/input.cpp +++ b/engines/scumm/input.cpp @@ -110,9 +110,9 @@ void ScummEngine_v80he::parseEvent(Common::Event event) { void ScummEngine::parseEvent(Common::Event event) { switch (event.type) { case Common::EVENT_KEYDOWN: - if (event.kbd.keycode >= '0' && event.kbd.keycode <= '9' - && event.kbd.flags == Common::KBD_CTRL && - canLoadGameStateCurrently()) { + if (event.kbd.keycode >= '0' && event.kbd.keycode <= '9' && + ((event.kbd.flags == Common::KBD_ALT && canSaveGameStateCurrently()) || + (event.kbd.flags == Common::KBD_CTRL && canLoadGameStateCurrently()))) { _saveLoadSlot = event.kbd.keycode - '0'; // don't overwrite autosave (slot 0) @@ -120,24 +120,8 @@ void ScummEngine::parseEvent(Common::Event event) { _saveLoadSlot = 10; sprintf(_saveLoadName, "Quicksave %d", _saveLoadSlot); - _saveLoadFlag = 2; + _saveLoadFlag = (event.kbd.flags == Common::KBD_ALT) ? 1 : 2; _saveTemporaryState = false; - } else if (event.kbd.keycode >= '0' && event.kbd.keycode <= '9' - && event.kbd.flags == Common::KBD_ALT && - canSaveGameStateCurrently()) { - _saveLoadSlot = event.kbd.keycode - '0'; - - // don't overwrite autosave (slot 0) - if (_saveLoadSlot == 0) - _saveLoadSlot = 10; - - sprintf(_saveLoadName, "Quicksave %d", _saveLoadSlot); - _saveLoadFlag = 1; - _saveTemporaryState = false; - } else if (event.kbd.flags == Common::KBD_CTRL && event.kbd.keycode == 'f') { - - - } else if (event.kbd.flags == Common::KBD_CTRL && event.kbd.keycode == 'f') { _fastMode ^= 1; } else if (event.kbd.flags == Common::KBD_CTRL && event.kbd.keycode == 'g') { -- cgit v1.2.3 From 68a75c21706928ed8bc20ac96b957e388926ee83 Mon Sep 17 00:00:00 2001 From: Travis Howell Date: Thu, 23 Jul 2009 10:31:06 +0000 Subject: Remove keyboard support for mouse buttons, since it interferes with load/save scripts in HE games and input scripts in others games (COMI, FT). It isn't much use anyway, since we dropped support for cursor movement via keyboard long ago. svn-id: r42674 --- engines/scumm/input.cpp | 11 ----------- 1 file changed, 11 deletions(-) (limited to 'engines/scumm/input.cpp') diff --git a/engines/scumm/input.cpp b/engines/scumm/input.cpp index db102f5591..ab32992b03 100644 --- a/engines/scumm/input.cpp +++ b/engines/scumm/input.cpp @@ -302,17 +302,6 @@ void ScummEngine::processInput() { // _mouseAndKeyboardStat = 0; - // Interpret 'return' as left click and 'tab' as right click - if (lastKeyHit.keycode && _cursor.state > 0) { - if (lastKeyHit.keycode == Common::KEYCODE_TAB) { - _mouseAndKeyboardStat = MBS_RIGHT_CLICK; - lastKeyHit.reset(); - } else if (lastKeyHit.keycode == Common::KEYCODE_RETURN) { - _mouseAndKeyboardStat = MBS_LEFT_CLICK; - lastKeyHit.reset(); - } - } - if ((_leftBtnPressed & msClicked) && (_rightBtnPressed & msClicked) && _game.version >= 4) { // Pressing both mouse buttons is treated as if you pressed // the cutscene exit key (ESC) in V4+ games. That mimicks -- cgit v1.2.3