[Scummvm-git-logs] scummvm master -> 43babaeef8ff385b1f10be1c2fa917085afd2f88
bgK
bastien.bouclet at gmail.com
Fri May 18 19:27:36 CEST 2018
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
43babaeef8 MOHAWK: RIVEN: Always release the prison combination buttons
Commit: 43babaeef8ff385b1f10be1c2fa917085afd2f88
https://github.com/scummvm/scummvm/commit/43babaeef8ff385b1f10be1c2fa917085afd2f88
Author: Bastien Bouclet (bastien.bouclet at gmail.com)
Date: 2018-05-18T19:28:27+02:00
Commit Message:
MOHAWK: RIVEN: Always release the prison combination buttons
Fixes Trac#10525.
Changed paths:
engines/mohawk/riven_stacks/pspit.cpp
diff --git a/engines/mohawk/riven_stacks/pspit.cpp b/engines/mohawk/riven_stacks/pspit.cpp
index 37d159f..3c8b430 100644
--- a/engines/mohawk/riven_stacks/pspit.cpp
+++ b/engines/mohawk/riven_stacks/pspit.cpp
@@ -87,6 +87,19 @@ void PSpit::xpisland990_elevcombo(const ArgumentArray &args) {
_vm->delay(500);
_vm->_cursor->showCursor();
+ // If the user released the mouse button during the wait time, the mouse up event
+ // is not forwarded to the game script handler. The button appears to be down
+ // until the user moves the mouse outside of the button hotspot.
+ // This happens with the original engine as well.
+ // To work around this issue we run the mouse up script if the mouse is not
+ // pressed anymore at this point.
+ if (!mouseIsDown()) {
+ Common::String buttonName = Common::String::format("combo%d", args[0]);
+ RivenHotspot *button = _vm->getCard()->getHotspotByName(buttonName);
+ RivenScriptPtr mouseUpScript = button->getScript(kMouseUpScript);
+ _vm->_scriptMan->runScript(mouseUpScript, false);
+ }
+
// It is impossible to get here if Gehn is not trapped. However,
// the original also disallows brute forcing the ending if you have
// not yet trapped Gehn.
More information about the Scummvm-git-logs
mailing list