aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMax Horn2003-05-30 00:41:58 +0000
committerMax Horn2003-05-30 00:41:58 +0000
commit94a404899a94e831fa39d3296d39a710007caaa1 (patch)
treea55b0e2cf37b9611ccacbe87c010d539a7f5d8a5
parent5557ec719eb20de718edff582fe4861c28b683ae (diff)
downloadscummvm-rg350-94a404899a94e831fa39d3296d39a710007caaa1.tar.gz
scummvm-rg350-94a404899a94e831fa39d3296d39a710007caaa1.tar.bz2
scummvm-rg350-94a404899a94e831fa39d3296d39a710007caaa1.zip
fix The Dig 'hang' regression
svn-id: r8124
-rw-r--r--scumm/akos.cpp6
-rw-r--r--scumm/costume.cpp4
2 files changed, 5 insertions, 5 deletions
diff --git a/scumm/akos.cpp b/scumm/akos.cpp
index 0d88984c01..d1a0a18d36 100644
--- a/scumm/akos.cpp
+++ b/scumm/akos.cpp
@@ -641,11 +641,13 @@ byte AkosRenderer::codec1(int xmoveCur, int ymoveCur) {
v1.skip_width = _width;
v1.scaleXstep = _mirror ? 1 : -1;
+ _vm->updateDirtyRect(0, x_left, x_right, y_top, y_bottom, _dirty_id);
+
if (y_top >= (int)_outheight || y_bottom <= 0)
return 0;
if (x_left >= (int)_outwidth || x_right <= 0)
- return 1;
+ return 0;
v1.replen = 0;
@@ -687,8 +689,6 @@ byte AkosRenderer::codec1(int xmoveCur, int ymoveCur) {
if (v1.skip_width <= 0 || _height <= 0)
return 0;
- _vm->updateDirtyRect(0, x_left, x_right, y_top, y_bottom, _dirty_id);
-
if ((uint) y_top > (uint) _outheight)
y_top = 0;
diff --git a/scumm/costume.cpp b/scumm/costume.cpp
index 81fb964fc2..129bbad71e 100644
--- a/scumm/costume.cpp
+++ b/scumm/costume.cpp
@@ -185,7 +185,7 @@ byte CostumeRenderer::mainRoutine(int xmoveCur, int ymoveCur) {
return 0;
if (x_left >= _vm->_screenWidth || x_right <= 0)
- return 1;
+ return 0;
v1.replen = 0;
@@ -242,7 +242,7 @@ byte CostumeRenderer::mainRoutine(int xmoveCur, int ymoveCur) {
return 2;
}
- v1.destptr = _outptr + v1.y * _vm->_screenWidth + v1.x;
+ v1.destptr = _outptr + v1.y * _outwidth + v1.x;
v1.mask_ptr = _vm->getResourceAddress(rtBuffer, 9) + v1.y * _numStrips + _vm->_screenStartStrip;
v1.imgbufoffs = _vm->gdi._imgBufOffs[_zbuf];