aboutsummaryrefslogtreecommitdiff
path: root/engines/saga/sprite.cpp
diff options
context:
space:
mode:
authorFilippos Karapetis2008-12-07 18:49:35 +0000
committerFilippos Karapetis2008-12-07 18:49:35 +0000
commit78fd335a4260a16664083fbf3333b8fba52e75ea (patch)
tree49fbddacfc7a9a97eb984451da285d58b0ac5f97 /engines/saga/sprite.cpp
parentc2424b04a5964e4763a7d7c123317dec925c8214 (diff)
downloadscummvm-rg350-78fd335a4260a16664083fbf3333b8fba52e75ea.tar.gz
scummvm-rg350-78fd335a4260a16664083fbf3333b8fba52e75ea.tar.bz2
scummvm-rg350-78fd335a4260a16664083fbf3333b8fba52e75ea.zip
More dirty rectangle related changes (dirty rectangle handling is still broken)
svn-id: r35281
Diffstat (limited to 'engines/saga/sprite.cpp')
-rw-r--r--engines/saga/sprite.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/engines/saga/sprite.cpp b/engines/saga/sprite.cpp
index 200b0af206..6507b6ebb3 100644
--- a/engines/saga/sprite.cpp
+++ b/engines/saga/sprite.cpp
@@ -33,6 +33,7 @@
#include "saga/font.h"
#include "saga/sprite.h"
+#include "saga/render.h"
namespace Saga {
@@ -251,6 +252,8 @@ void Sprite::drawClip(const Rect &clipRect, const Point &spritePointer, int widt
bufRowPointer += _vm->_gfx->getBackBufferPitch();
srcRowPointer += width;
}
+
+ _vm->_render->addDirtyRect(Common::Rect(spritePointer.x, spritePointer.y, spritePointer.x + clipWidth, spritePointer.y + clipHeight));
}
void Sprite::draw(const Rect &clipRect, SpriteList &spriteList, int32 spriteNumber, const Point &screenCoord, int scale) {
@@ -391,6 +394,9 @@ void Sprite::drawOccluded(const Rect &clipRect, SpriteList &spriteList, int spri
maskRowPointer += maskWidth;
sourceRowPointer += width;
}
+
+ _vm->_render->addDirtyRect(Common::Rect(clipData.destPoint.x, clipData.destPoint.y,
+ clipData.destPoint.x + clipData.drawWidth, clipData.destPoint.y + clipData.drawHeight));
}
void Sprite::decodeRLEBuffer(const byte *inputBuffer, size_t inLength, size_t outLength) {