diff options
author | Eugene Sandulenko | 2013-08-28 10:20:55 +0300 |
---|---|---|
committer | Eugene Sandulenko | 2013-09-06 14:51:21 +0300 |
commit | 0daaadc604b5ec8ce3be491736b01156c19afca9 (patch) | |
tree | 9a3881e0852d864417b93c2c27afee03eb505574 /engines | |
parent | f1eb4043c2601f1d5f18aec3841b838942939d8c (diff) | |
download | scummvm-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.cpp | 10 |
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); |