aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/agos/cursor.cpp6
-rw-r--r--engines/agos/verb.cpp5
2 files changed, 9 insertions, 2 deletions
diff --git a/engines/agos/cursor.cpp b/engines/agos/cursor.cpp
index 01d9dea9aa..012308b3a4 100644
--- a/engines/agos/cursor.cpp
+++ b/engines/agos/cursor.cpp
@@ -387,6 +387,12 @@ void AGOSEngine::handleMouseMoved() {
get_out2:;
_vgaVar9 = 0;
}
+ } else if (getGameType() == GType_WW || getGameType() == GType_ELVIRA2) {
+ uint swordCursor = (getGameType() == GType_WW) ? _variableArray[51] : _variableArray[72];
+ if (swordCursor != 0 && _mouseCursor != swordCursor) {
+ _mouseCursor = swordCursor;
+ _needHitAreaRecalc++;
+ }
}
if (_mouseX != _mouseXOld || _mouseY != _mouseYOld)
diff --git a/engines/agos/verb.cpp b/engines/agos/verb.cpp
index f5caad58af..87c9164dcb 100644
--- a/engines/agos/verb.cpp
+++ b/engines/agos/verb.cpp
@@ -744,9 +744,10 @@ void AGOSEngine::boxController(uint x, uint y, uint mode) {
if (best_ha == NULL) {
clearName();
- if (getGameType() == GType_WW && _mouseCursor >= 4)
+ if (getGameType() == GType_WW && _mouseCursor >= 4) {
_mouseCursor = 0;
-
+ _needHitAreaRecalc++;
+ }
return;
}