aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorEugene Sandulenko2013-08-28 10:20:55 +0300
committerEugene Sandulenko2013-09-06 14:51:21 +0300
commit0daaadc604b5ec8ce3be491736b01156c19afca9 (patch)
tree9a3881e0852d864417b93c2c27afee03eb505574 /engines
parentf1eb4043c2601f1d5f18aec3841b838942939d8c (diff)
downloadscummvm-rg350-0daaadc604b5ec8ce3be491736b01156c19afca9.tar.gz
scummvm-rg350-0daaadc604b5ec8ce3be491736b01156c19afca9.tar.bz2
scummvm-rg350-0daaadc604b5ec8ce3be491736b01156c19afca9.zip
FULLPIPE: Fixed off-screen bitmap rendering
Diffstat (limited to 'engines')
-rw-r--r--engines/fullpipe/gfx.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/engines/fullpipe/gfx.cpp b/engines/fullpipe/gfx.cpp
index ef6a589f8f..3384b87815 100644
--- a/engines/fullpipe/gfx.cpp
+++ b/engines/fullpipe/gfx.cpp
@@ -783,16 +783,18 @@ void Bitmap::putDibCB(int32 *palette) {
byte *srcPtr = &_pixels[pitch * (endy - _y)];
+ int starty = _y;
+ if (starty < 0) {
+ starty = 0;
+ srcPtr = &_pixels[pitch * (_height + _y)];
+ }
+
int startx = _x;
if (startx < 0) {
srcPtr += bpp * -_x;
startx = 0;
}
- int starty = _y;
- if (starty < 0)
- starty = 0;
-
if (_flags & 0x1000000) {
for (int y = starty; y < endy; srcPtr -= pitch, y++) {
curDestPtr = (uint16 *)g_fullpipe->_backgroundSurface.getBasePtr(startx, y);