diff options
author | Walter van Niftrik | 2016-03-17 09:49:20 +0100 |
---|---|---|
committer | Walter van Niftrik | 2016-06-06 20:35:49 +0200 |
commit | 6fd580fb6661e6cf2e7935aae925457e7c92e822 (patch) | |
tree | 6f328567a67a6528f32bb2ebb26601b27447eea6 | |
parent | a653fa2f459957029978f14618ff634ec3485cf8 (diff) | |
download | scummvm-rg350-6fd580fb6661e6cf2e7935aae925457e7c92e822.tar.gz scummvm-rg350-6fd580fb6661e6cf2e7935aae925457e7c92e822.tar.bz2 scummvm-rg350-6fd580fb6661e6cf2e7935aae925457e7c92e822.zip |
ADL: Add pic offsetting
-rw-r--r-- | engines/adl/graphics.h | 1 | ||||
-rw-r--r-- | engines/adl/graphics_v2.cpp | 7 |
2 files changed, 8 insertions, 0 deletions
diff --git a/engines/adl/graphics.h b/engines/adl/graphics.h index ec29ee073b..95f4159a68 100644 --- a/engines/adl/graphics.h +++ b/engines/adl/graphics.h @@ -68,6 +68,7 @@ private: void fill(Common::SeekableReadStream &pic); byte _color; + Common::Point _offset; }; } // End of namespace Adl diff --git a/engines/adl/graphics_v2.cpp b/engines/adl/graphics_v2.cpp index c705b9ce6f..7da4eedc64 100644 --- a/engines/adl/graphics_v2.cpp +++ b/engines/adl/graphics_v2.cpp @@ -30,6 +30,8 @@ namespace Adl { +// FIXME: Add clipping + #define NUM_PATTERNS 22 #define PATTERN_LEN 4 static const byte fillPatterns[NUM_PATTERNS][PATTERN_LEN] = { @@ -78,8 +80,10 @@ static const byte fillPatterns[NUM_PATTERNS][PATTERN_LEN] = { #define READ_POINT(p) \ do { \ READ_BYTE(p.x); \ + p.x += _offset.x; \ p.x <<= 1; \ READ_BYTE(p.y); \ + p.y += _offset.y; \ } while (0) void Graphics_v2::clear() { @@ -99,6 +103,7 @@ void Graphics_v2::drawCorners(Common::SeekableReadStream &pic, bool yFirst) { int16 n; READ_BYTE(n); + n += _offset.x; _display.putPixel(p, _color); @@ -108,6 +113,7 @@ void Graphics_v2::drawCorners(Common::SeekableReadStream &pic, bool yFirst) { doYStep: READ_BYTE(n); + n += _offset.y; _display.putPixel(p, _color); drawLine(p, Common::Point(p.x, n), _color); @@ -236,6 +242,7 @@ void Graphics_v2::fill(Common::SeekableReadStream &pic) { void Graphics_v2::drawPic(Common::SeekableReadStream &pic, const Common::Point &pos, byte color) { _color = color; + _offset = pos; while (true) { byte opcode = pic.readByte(); |