aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorEugene Sandulenko2019-12-25 01:10:32 +0100
committerEugene Sandulenko2019-12-25 01:10:32 +0100
commitb5f7f6d35eba3d82cab24e06f084e6373a09a56e (patch)
tree806696393a85c3bf8be77131b8d20c9cf05508fd /engines
parente5f3febb1a581b537ca0ee69b534ecd16ad18e0d (diff)
downloadscummvm-rg350-b5f7f6d35eba3d82cab24e06f084e6373a09a56e.tar.gz
scummvm-rg350-b5f7f6d35eba3d82cab24e06f084e6373a09a56e.tar.bz2
scummvm-rg350-b5f7f6d35eba3d82cab24e06f084e6373a09a56e.zip
DIRECTOR: Use colors for QuickDraw sprites from Channel Info
Diffstat (limited to 'engines')
-rw-r--r--engines/director/frame.cpp10
-rw-r--r--engines/director/sprite.cpp4
-rw-r--r--engines/director/sprite.h2
3 files changed, 5 insertions, 11 deletions
diff --git a/engines/director/frame.cpp b/engines/director/frame.cpp
index 79f3b0b8c1..969a8464f0 100644
--- a/engines/director/frame.cpp
+++ b/engines/director/frame.cpp
@@ -197,8 +197,8 @@ void Frame::readChannels(Common::ReadStreamEndian *stream) {
sprite._scriptId = stream->readByte();
sprite._spriteType = stream->readByte();
sprite._enabled = sprite._spriteType != 0;
- sprite._foreColor = stream->readByte();
- sprite._backColor = stream->readByte();
+ sprite._foreColor = (stream->readByte() + 128) & 0xff;
+ sprite._backColor = (stream->readByte() + 128) & 0xff;
sprite._flags = stream->readUint16();
sprite._ink = static_cast<InkType>(sprite._flags & 0x3f);
@@ -243,11 +243,11 @@ void Frame::readChannels(Common::ReadStreamEndian *stream) {
}
if (sprite._castId) {
- debugC(4, kDebugLoading, "CH: %-3d castId: %03d(%s) [%x,%x, flags:%04x [ink: %x trails: %d line: %d], %dx%d@%d,%d type: %d] script: %d, flags2: %x, unk2: %x, unk3: %x",
- i + 1, sprite._castId, numToCastNum(sprite._castId), sprite._x1, sprite._x2, sprite._flags,
+ debugC(4, kDebugLoading, "CH: %-3d castId: %03d(%s) [flags:%04x [ink: %x trails: %d line: %d], %dx%d@%d,%d type: %d fg: %d bg: %d] script: %d, flags2: %x, unk2: %x, unk3: %x",
+ i + 1, sprite._castId, numToCastNum(sprite._castId), sprite._flags,
sprite._ink, sprite._trails, sprite._lineSize, sprite._width, sprite._height,
sprite._startPoint.x, sprite._startPoint.y,
- sprite._spriteType, sprite._scriptId, sprite._flags2, sprite._unk2, sprite._unk3);
+ sprite._spriteType, sprite._foreColor, sprite._backColor, sprite._scriptId, sprite._flags2, sprite._unk2, sprite._unk3);
} else {
debugC(4, kDebugLoading, "CH: %-3d castId: 000", i + 1);
}
diff --git a/engines/director/sprite.cpp b/engines/director/sprite.cpp
index 53d65dceae..ac355fbe91 100644
--- a/engines/director/sprite.cpp
+++ b/engines/director/sprite.cpp
@@ -60,8 +60,6 @@ Sprite::Sprite() {
_blend = 0;
_lineSize = 1;
- _x1 = 0;
- _x2 = 0;
_scriptId = 0;
_flags2 = 0;
_unk2 = 0;
@@ -104,8 +102,6 @@ Sprite::Sprite(const Sprite &sprite) {
_startTime = sprite._startTime;
_lineSize = sprite._lineSize;
- _x1 = sprite._x1;
- _x2 = sprite._x2;
_scriptId = sprite._scriptId;
_flags2 = sprite._flags2;
_unk2 = sprite._unk2;
diff --git a/engines/director/sprite.h b/engines/director/sprite.h
index c76a25f2ac..c7c2ad091a 100644
--- a/engines/director/sprite.h
+++ b/engines/director/sprite.h
@@ -85,8 +85,6 @@ public:
Sprite(const Sprite &sprite);
~Sprite();
- byte _x1;
- uint16 _x2;
uint16 _scriptId;
byte _flags2; // x40 editable, 0x80 moveable
byte _unk2;