aboutsummaryrefslogtreecommitdiff
path: root/engines/dm/eventman.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/dm/eventman.cpp')
-rw-r--r--engines/dm/eventman.cpp16
1 files changed, 15 insertions, 1 deletions
diff --git a/engines/dm/eventman.cpp b/engines/dm/eventman.cpp
index 83e07eb1f7..16bfe4d3f9 100644
--- a/engines/dm/eventman.cpp
+++ b/engines/dm/eventman.cpp
@@ -596,12 +596,15 @@ Common::EventType EventManager::processInput(Common::Event *grabKey, Common::Eve
case Common::EVENT_RBUTTONUP: {
MouseButton button = (event.type == Common::EVENT_LBUTTONDOWN) ? k1_LeftMouseButton : k2_RightMouseButton;
_g558_mouseButtonStatus &= ~button;
+ f544_resetPressingEyeOrMouth();
break;
}
default:
break;
}
}
+ if (_g597_ignoreMouseMovements)
+ setMousePos(_mousePos);
return Common::EVENT_INVALID;
}
@@ -722,7 +725,7 @@ void EventManager::f380_processCommandQueue() {
return;
}
if (cmdType == k71_CommandClickOnEye) {
- warning(false, "MISSING CODE: F0352_INVENTORY_ProcessCommand71_ClickOnEye();");
+ _vm->_inventoryMan->f352_processCommand71_clickOnEye();
return;
}
if (cmdType == k80_CommandClickInDungeonView) {
@@ -1523,4 +1526,15 @@ void EventManager::f371_commandProcessType111To115_ClickInActionArea(int16 posX,
}
}
}
+
+void EventManager::f544_resetPressingEyeOrMouth() {
+ if (_vm->_g331_pressingEye) {
+ _g597_ignoreMouseMovements = false;
+ _vm->_g332_stopPressingEye = true;
+ }
+ if (_vm->_g333_pressingMouth) {
+ _g597_ignoreMouseMovements = false;
+ _vm->_g334_stopPressingMouth = true;
+ }
+}
} // end of namespace DM