aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTravis Howell2006-04-16 06:49:13 +0000
committerTravis Howell2006-04-16 06:49:13 +0000
commit58bfa30c7baedde26e0b1901c4dce3f0229b866b (patch)
tree0248befdf54087fec3b65f44b7df717ddb85b839
parentcc0ebb97e4a3282644153e274d596dc69e83345f (diff)
downloadscummvm-rg350-58bfa30c7baedde26e0b1901c4dce3f0229b866b.tar.gz
scummvm-rg350-58bfa30c7baedde26e0b1901c4dce3f0229b866b.tar.bz2
scummvm-rg350-58bfa30c7baedde26e0b1901c4dce3f0229b866b.zip
Improve cursor support in FF
svn-id: r21930
-rw-r--r--engines/simon/cursor.cpp10
-rw-r--r--engines/simon/verb.cpp3
2 files changed, 10 insertions, 3 deletions
diff --git a/engines/simon/cursor.cpp b/engines/simon/cursor.cpp
index 9acc4aa59f..c7800eb434 100644
--- a/engines/simon/cursor.cpp
+++ b/engines/simon/cursor.cpp
@@ -230,7 +230,15 @@ void SimonEngine::drawMousePointer() {
byte *src, *dst;
VgaPointersEntry *vpe = &_vgaBufferPointers[7];
- src = vpe->vgaFile2 + 98 * 8;
+ if (_animatePointer) {
+ _mouseAnim++;
+ if (_mouseAnim == _mouseAnimMax)
+ _mouseAnim = 1;
+ }
+
+ uint cursor = _mouseCursor * 16 + 1 + _mouseAnim;
+ src = vpe->vgaFile2 + cursor * 8;
+
uint width = READ_LE_UINT16(src + 6);
uint height = READ_LE_UINT16(src + 4) & 0x7FFF;
src = vpe->vgaFile2 + readUint32Wrapper(src);
diff --git a/engines/simon/verb.cpp b/engines/simon/verb.cpp
index a05cb6f442..dff5ceadfb 100644
--- a/engines/simon/verb.cpp
+++ b/engines/simon/verb.cpp
@@ -715,7 +715,7 @@ void SimonEngine::displayName(HitArea *ha) {
return;
if (getBitFlag(99))
- _animatePointer = ((ha->flags & kBFTextBox) != 0);
+ _animatePointer = ((ha->flags & kBFTextBox) == 0);
else
_animatePointer = 1;
@@ -755,7 +755,6 @@ void SimonEngine::invertBox(HitArea *ha, bool state) {
_oldMouseAnimMax = _mouseAnimMax;
_mouseAnimMax = 2;
_mouseCursor = 18;
-
}
} else {
if (getBitFlag(207)) {