aboutsummaryrefslogtreecommitdiff
path: root/engines/tony
diff options
context:
space:
mode:
authorAlyssa Milburn2012-08-24 19:43:22 +0200
committerAlyssa Milburn2012-08-25 08:41:21 +0200
commitaf134e02448c7e4d5d17711c0cb7f53ddc0674f6 (patch)
tree65f8a1a4cc29beb2e9b89533306460e563b93711 /engines/tony
parentaa603bc208c6b26e78e66d66a120a24ba80c28c4 (diff)
downloadscummvm-rg350-af134e02448c7e4d5d17711c0cb7f53ddc0674f6.tar.gz
scummvm-rg350-af134e02448c7e4d5d17711c0cb7f53ddc0674f6.tar.bz2
scummvm-rg350-af134e02448c7e4d5d17711c0cb7f53ddc0674f6.zip
TONY: Animate mouse cursors.
This restores the forgotten doFrame code for RMPointer, which fixes the bird mouse cursor. Thanks to eriktorbjorn for noticing it.
Diffstat (limited to 'engines/tony')
-rw-r--r--engines/tony/game.cpp11
-rw-r--r--engines/tony/game.h2
-rw-r--r--engines/tony/gfxengine.cpp1
3 files changed, 12 insertions, 2 deletions
diff --git a/engines/tony/game.cpp b/engines/tony/game.cpp
index d50f480625..a27b8ea544 100644
--- a/engines/tony/game.cpp
+++ b/engines/tony/game.cpp
@@ -1587,13 +1587,22 @@ void RMPointer::hideCursor() {
}
}
+void RMPointer::doFrame() {
+ // Update the cursor animation if needed.
+ if (_nCurSpecialPointer == 0 || _nCurSpecialPointer == PTR_CUSTOM)
+ return;
+
+ RMGfxTargetBuffer buf;
+ if (_specialPointer[_nCurSpecialPointer - 1]->doFrame(&buf, false))
+ updateCursor();
+}
void RMPointer::updateCursor() {
// Create an intermediate buffer and draw the cursor onto it
RMGfxTargetBuffer buf;
buf.create(64, 64, 16);
RMGfxPrimitive prim;
-
+
draw(Common::nullContext, buf, &prim);
// Get a pointer to the cursor data
diff --git a/engines/tony/game.h b/engines/tony/game.h
index 9804ac87fe..1a758dc8ca 100644
--- a/engines/tony/game.h
+++ b/engines/tony/game.h
@@ -98,7 +98,7 @@ public:
/**
* Process a frame
*/
- void doFrame(RMGfxTargetBuffer *bigBuf);
+ void doFrame();
/**
* Overloading of priorities
diff --git a/engines/tony/gfxengine.cpp b/engines/tony/gfxengine.cpp
index 183e68c8c6..5431a0ca7d 100644
--- a/engines/tony/gfxengine.cpp
+++ b/engines/tony/gfxengine.cpp
@@ -310,6 +310,7 @@ SKIPCLICKSINISTRO:
} else {
_point.hideCursor();
}
+ _point.doFrame();
// **********************
// Draw the list in the OT