aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoseph-Eugene Winzer2017-07-25 13:50:42 +0200
committerThierry Crozat2018-01-23 00:29:34 +0000
commit2ff15f37ebe34785aec6e065611a3871544c3f37 (patch)
tree0f7b1b69b4cdc955bcfcd2c04429e83f0f96486f
parent0462bd0184edf230b92e6513eb4f6ca0804ec73f (diff)
downloadscummvm-rg350-2ff15f37ebe34785aec6e065611a3871544c3f37.tar.gz
scummvm-rg350-2ff15f37ebe34785aec6e065611a3871544c3f37.tar.bz2
scummvm-rg350-2ff15f37ebe34785aec6e065611a3871544c3f37.zip
SUPERNOVA: Gets input before drawing calls;
Before the status line would show invalid input for a frame what was especially annoying during animations, as they currently tend to block the game loop for their duration.
-rw-r--r--engines/supernova/state.cpp13
1 files changed, 5 insertions, 8 deletions
diff --git a/engines/supernova/state.cpp b/engines/supernova/state.cpp
index 9066ac400a..cb08c7bd2c 100644
--- a/engines/supernova/state.cpp
+++ b/engines/supernova/state.cpp
@@ -1066,6 +1066,11 @@ void GameManager::handleInput() {
}
void GameManager::executeRoom() {
+ if (_processInput && !_vm->_messageDisplayed && _guiEnabled) {
+ handleInput();
+ resetInputState();
+ }
+
if (_guiEnabled) {
if (!_vm->_messageDisplayed) {
g_system->fillScreen(kColorBlack);
@@ -1083,14 +1088,6 @@ void GameManager::executeRoom() {
_vm->paletteBrightness();
if (!_currentRoom->hasSeen())
_currentRoom->onEntrance();
-
- if (!_guiEnabled || !_processInput || _vm->_messageDisplayed) {
-
- } else {
- handleInput();
- resetInputState();
- }
-
}
}