diff options
Diffstat (limited to 'engines/tony')
-rw-r--r-- | engines/tony/game.cpp | 11 | ||||
-rw-r--r-- | engines/tony/game.h | 2 | ||||
-rw-r--r-- | engines/tony/gfxengine.cpp | 1 |
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 |