aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoseph-Eugene Winzer2017-12-28 02:02:15 +0100
committerThierry Crozat2018-01-23 02:15:45 +0000
commitf3f75da959ff4ce33fa6a5b542518d71198158dc (patch)
tree3b29bafb44f571f8e6721ca7794f521528b9d2f5
parent6df88c5c4611199d4c7047fb5578cdcb0896c41b (diff)
downloadscummvm-rg350-f3f75da959ff4ce33fa6a5b542518d71198158dc.tar.gz
scummvm-rg350-f3f75da959ff4ce33fa6a5b542518d71198158dc.tar.bz2
scummvm-rg350-f3f75da959ff4ce33fa6a5b542518d71198158dc.zip
SUPERNOVA: Pushes a mousemove to update object state
If you click on an exit on the map and there is again an exit on the same spot, it won't be recognized until the next mouse move/click. This change fakes a mouse move and thus updates the object state.
-rw-r--r--engines/supernova/state.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/engines/supernova/state.cpp b/engines/supernova/state.cpp
index e27a68f1bb..9392dd5b02 100644
--- a/engines/supernova/state.cpp
+++ b/engines/supernova/state.cpp
@@ -2250,6 +2250,13 @@ void GameManager::handleInput() {
void GameManager::executeRoom() {
if (_processInput && !_vm->_messageDisplayed && _guiEnabled) {
handleInput();
+ if (_mouseClicked) {
+ Common::Event event;
+ event.type = Common::EVENT_MOUSEMOVE;
+ event.mouse = Common::Point(_mouseX, _mouseY);
+ _vm->getEventManager()->pushEvent(event);
+ }
+
resetInputState();
}