aboutsummaryrefslogtreecommitdiff
path: root/engines/tony
diff options
context:
space:
mode:
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