aboutsummaryrefslogtreecommitdiff
path: root/engines/mohawk
diff options
context:
space:
mode:
authorMatthew Hoops2011-01-11 19:23:24 +0000
committerMatthew Hoops2011-01-11 19:23:24 +0000
commitd03ff6e036c3ff2818ccd9e2e27d63b56f11d18b (patch)
treed0224f0c363fa0a0044249b392b70c17a1c76466 /engines/mohawk
parent1f043e15c759e2f15d5170ce96494800509633c9 (diff)
downloadscummvm-rg350-d03ff6e036c3ff2818ccd9e2e27d63b56f11d18b.tar.gz
scummvm-rg350-d03ff6e036c3ff2818ccd9e2e27d63b56f11d18b.tar.bz2
scummvm-rg350-d03ff6e036c3ff2818ccd9e2e27d63b56f11d18b.zip
MOHAWK: Allow for Riven to update specific portions of the screen
svn-id: r55206
Diffstat (limited to 'engines/mohawk')
-rw-r--r--engines/mohawk/graphics.cpp4
-rw-r--r--engines/mohawk/graphics.h2
2 files changed, 3 insertions, 3 deletions
diff --git a/engines/mohawk/graphics.cpp b/engines/mohawk/graphics.cpp
index c13738689f..19fb561e37 100644
--- a/engines/mohawk/graphics.cpp
+++ b/engines/mohawk/graphics.cpp
@@ -672,7 +672,7 @@ void RivenGraphics::drawPLST(uint16 x) {
delete plst;
}
-void RivenGraphics::updateScreen() {
+void RivenGraphics::updateScreen(Common::Rect updateRect) {
if (_updatesEnabled) {
_vm->runUpdateScreenScript();
@@ -681,7 +681,7 @@ void RivenGraphics::updateScreen() {
// Copy to screen if there's no transition. Otherwise transition. ;)
if (_scheduledTransition < 0)
- _vm->_system->copyRectToScreen((byte *)_mainScreen->pixels, _mainScreen->pitch, 0, 0, _mainScreen->w, _mainScreen->h);
+ _vm->_system->copyRectToScreen((byte *)_mainScreen->getBasePtr(updateRect.left, updateRect.top), _mainScreen->pitch, updateRect.left, updateRect.top, updateRect.width(), updateRect.height());
else
runScheduledTransition();
diff --git a/engines/mohawk/graphics.h b/engines/mohawk/graphics.h
index 7c11692af3..c664e76dcc 100644
--- a/engines/mohawk/graphics.h
+++ b/engines/mohawk/graphics.h
@@ -171,7 +171,7 @@ public:
~RivenGraphics();
void copyImageToScreen(uint16, uint32, uint32, uint32, uint32);
- void updateScreen();
+ void updateScreen(Common::Rect updateRect = Common::Rect(0, 0, 608, 392));
bool _updatesEnabled;
Common::Array<uint16> _activatedPLSTs;
void drawPLST(uint16 x);