From 9cac9a8592fb100946728f2c77828f4b6110d77e Mon Sep 17 00:00:00 2001 From: Jaromir Wysoglad Date: Tue, 25 Jun 2019 00:06:20 +0200 Subject: SUPERNOVA: Fix bugs Fix GUI not working after leaving text edit field Forbid showing help, info, doc screens, when GUI isn't alowed, this should mimic the original game better and also resolves some issues. --- engines/supernova/game-manager.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'engines/supernova/game-manager.cpp') diff --git a/engines/supernova/game-manager.cpp b/engines/supernova/game-manager.cpp index 8296e27651..b5bbe2e58f 100644 --- a/engines/supernova/game-manager.cpp +++ b/engines/supernova/game-manager.cpp @@ -225,6 +225,8 @@ void GameManager::processInput(Common::KeyState &state) { switch (state.keycode) { case Common::KEYCODE_F1: // help + if (!_guiEnabled) + return; if (_vm->_MSPart == 1) _vm->showHelpScreen1(); else if (_vm->_MSPart == 2) @@ -232,6 +234,8 @@ void GameManager::processInput(Common::KeyState &state) { break; case Common::KEYCODE_F2: // show game manual + if (!_guiEnabled) + return; if (_vm->_MSPart == 1) _vm->showTextReader("msn.doc"); else if (_vm->_MSPart == 2) @@ -239,12 +243,16 @@ void GameManager::processInput(Common::KeyState &state) { break; case Common::KEYCODE_F3: // show game info + if (!_guiEnabled) + return; if (_vm->_MSPart == 1) _vm->showTextReader("msn.inf"); else if (_vm->_MSPart == 2) _vm->showTextReader("ms2.inf"); break; case Common::KEYCODE_F4: + if (!_guiEnabled) + return; _vm->setTextSpeed(); break; case Common::KEYCODE_F5: @@ -850,6 +858,7 @@ void GameManager::edit(Common::String &input, int x, int y, uint length) { break; } } + _guiEnabled = true; } void GameManager::takeMoney(int amount) { -- cgit v1.2.3