[Scummvm-git-logs] scummvm master -> 4ff998b39a5395b44568f4b3e33963c2f462a2fa
npjg
nathanael.gentrydb8 at gmail.com
Tue Jun 23 16:51:08 UTC 2020
This automated email contains information about 4 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
a3f649c10d GRAPHICS: MACGUI: Add colour decomposer
ba8762ca8f DIRECTOR: Clear drawing mask in the right place
3cac9487a2 DIRECTOR: Begin implementing the rest of the inks
4ff998b39a DIRECTOR: Remove shape transparency hack
Commit: a3f649c10da89d96286b51818d07ba94a2cad48f
https://github.com/scummvm/scummvm/commit/a3f649c10da89d96286b51818d07ba94a2cad48f
Author: Nathanael Gentry (nathanael.gentrydb8 at gmail.com)
Date: 2020-06-23T12:50:58-04:00
Commit Message:
GRAPHICS: MACGUI: Add colour decomposer
Changed paths:
graphics/macgui/macwindowmanager.cpp
graphics/macgui/macwindowmanager.h
diff --git a/graphics/macgui/macwindowmanager.cpp b/graphics/macgui/macwindowmanager.cpp
index 168dd5c6e0..116b8d6581 100644
--- a/graphics/macgui/macwindowmanager.cpp
+++ b/graphics/macgui/macwindowmanager.cpp
@@ -738,6 +738,12 @@ uint MacWindowManager::findBestColor(byte cr, byte cg, byte cb) {
return bestColor;
}
+void MacWindowManager::decomposeColor(byte color, byte &r, byte &g, byte &b) {
+ r = *(_palette + 3 * color + 0);
+ g = *(_palette + 3 * color + 1);
+ b = *(_palette + 3 * color + 2);
+}
+
PauseToken MacWindowManager::pauseEngine() {
return _engineP->pauseEngine();
}
diff --git a/graphics/macgui/macwindowmanager.h b/graphics/macgui/macwindowmanager.h
index c52bfc6d6a..73f42fa263 100644
--- a/graphics/macgui/macwindowmanager.h
+++ b/graphics/macgui/macwindowmanager.h
@@ -260,6 +260,7 @@ public:
void passPalette(const byte *palette, uint size);
uint findBestColor(byte cr, byte cg, byte cb);
+ void decomposeColor(byte color, byte &r, byte &g, byte &b);
void renderZoomBox(bool redraw = false);
void addZoomBox(ZoomBox *box);
Commit: ba8762ca8f3307a34e4be788d0750a17d3944c8f
https://github.com/scummvm/scummvm/commit/ba8762ca8f3307a34e4be788d0750a17d3944c8f
Author: Nathanael Gentry (nathanael.gentrydb8 at gmail.com)
Date: 2020-06-23T12:50:58-04:00
Commit Message:
DIRECTOR: Clear drawing mask in the right place
Changed paths:
engines/director/lingo/lingo-the.cpp
engines/director/score.cpp
engines/director/score.h
diff --git a/engines/director/lingo/lingo-the.cpp b/engines/director/lingo/lingo-the.cpp
index e50612457e..d8ca5d7b8a 100644
--- a/engines/director/lingo/lingo-the.cpp
+++ b/engines/director/lingo/lingo-the.cpp
@@ -836,8 +836,11 @@ void Lingo::setTheSprite(Datum &id1, int field, Datum &d) {
sprite->_blend = d.asInt();
break;
case kTheCastNum:
- score->unrenderSprite(id);
- sprite->setCast(d.asInt());
+ // Don't cause unnecessary flashing
+ if (d.asInt() != sprite->_castId) {
+ score->markDirtyRect(channel->getBbox());
+ sprite->setCast(d.asInt());
+ }
break;
case kTheConstraint:
if (d.type == CASTREF) {
@@ -858,7 +861,7 @@ void Lingo::setTheSprite(Datum &id1, int field, Datum &d) {
break;
case kTheHeight:
if (sprite->_puppet && sprite->_stretch) {
- score->unrenderSprite(id);
+ score->markDirtyRect(channel->getBbox());
sprite->_height = d.asInt();
}
break;
@@ -924,7 +927,7 @@ void Lingo::setTheSprite(Datum &id1, int field, Datum &d) {
break;
case kTheWidth:
if (sprite->_puppet && sprite->_stretch) {
- score->unrenderSprite(id);
+ score->markDirtyRect(channel->getBbox());
sprite->_width = d.asInt();
}
break;
diff --git a/engines/director/score.cpp b/engines/director/score.cpp
index 506c080bb7..dcd4ec8854 100644
--- a/engines/director/score.cpp
+++ b/engines/director/score.cpp
@@ -410,6 +410,7 @@ void Score::startLoop() {
_lingo->processEvent(kEventStartMovie);
+ _maskSurface->clear(1);
while (!_stopPlay) {
if (_currentFrame >= _frames.size()) {
if (debugChannelSet(-1, kDebugNoLoop))
@@ -419,6 +420,7 @@ void Score::startLoop() {
}
update();
+ _maskSurface->clear(0);
if (_currentFrame < _frames.size())
_vm->processEvents();
@@ -558,7 +560,6 @@ void Score::update() {
}
void Score::renderFrame(uint16 frameId, bool forceUpdate, bool updateStageOnly) {
- _maskSurface->clear(0);
Frame *currentFrame = _frames[frameId];
@@ -580,43 +581,37 @@ void Score::renderFrame(uint16 frameId, bool forceUpdate, bool updateStageOnly)
bool needsUpdate = currentSprite->isDirty() ||
currentSprite->_castId != nextSprite->_castId ||
channel->_delta != Common::Point(0, 0) ||
- currentSprite->_startPoint != nextSprite->_startPoint ||
currentSprite->getDims() != nextSprite->getDims() ||
- (channel->_currentPoint != nextSprite->_startPoint &&
- currentSprite != nextSprite);
+ channel->_currentPoint != nextSprite->_startPoint;
- // WORKAROUND, HACK: Redraw reverse ink sprites each time to prevent flickering
- needsUpdate = needsUpdate || (currentSprite->_ink == kInkTypeReverse);
-
- if (needsUpdate || forceUpdate)
- unrenderSprite(i);
+ if ((needsUpdate || forceUpdate) && !currentSprite->_trails)
+ markDirtyRect(channel->getBbox());
channel->_sprite = nextSprite;
+ channel->_sprite->updateCast();
- if (currentSprite->_castId == 0 && nextSprite->_castId != 0)
- channel->resetPosition();
+ // Sprites marked moveable are constrained to the same bounding box until
+ // the moveable is disabled
+ if (!nextSprite->_puppet && !nextSprite->_moveable)
+ channel->_currentPoint = nextSprite->_startPoint;
channel->updateLocation();
+
+ // TODO: Understand why conditioning this causes so many problems
+ markDirtyRect(channel->getBbox());
}
for (uint id = 0; id < _channels.size(); id++) {
Channel *channel = _channels[id];
Sprite *sprite = channel->_sprite;
- if (!sprite || !sprite->_enabled || !sprite->_castType)
+ if (!sprite || !sprite->_enabled || !sprite->_castId)
continue;
- sprite->updateCast();
-
- // Sprites marked moveable are constrained to the same bounding box until
- // the moveable is disabled
- if (!sprite->_puppet && !sprite->_moveable)
- channel->_currentPoint = sprite->_startPoint;
-
Common::Rect currentBbox = channel->getBbox();
- _maskSurface->fillRect(currentBbox, 1);
debugC(1, kDebugImages, "Score::renderFrame(): channel: %d, castType: %d, castId: %d", id, sprite->_castType, sprite->_castId);
+
if (sprite->_castType == kCastShape) {
renderShape(id);
} else {
@@ -653,6 +648,11 @@ void Score::renderFrame(uint16 frameId, bool forceUpdate, bool updateStageOnly)
}
+void Score::markDirtyRect(Common::Rect dirty) {
+ _maskSurface->fillRect(dirty, 1);
+ _surface->fillRect(dirty, _stageColor);
+}
+
void Score::screenShot() {
Graphics::Surface rawSurface = _surface->rawSurface();
const Graphics::PixelFormat requiredFormat_4byte(4, 8, 8, 8, 8, 0, 8, 16, 24);
@@ -674,17 +674,6 @@ void Score::screenShot() {
newSurface->free();
}
-void Score::unrenderSprite(int spriteId) {
- Channel *channel = _channels[spriteId];
- Sprite *currentSprite = channel->_sprite;
-
- if (!currentSprite->_trails) {
- Common::Rect currentBbox = channel->getBbox();
- _maskSurface->fillRect(currentBbox, 1);
- _surface->fillRect(currentBbox, _stageColor);
- }
-}
-
void Score::renderShape(uint16 spriteId) {
Sprite *sp = _channels[spriteId]->_sprite;
diff --git a/engines/director/score.h b/engines/director/score.h
index ddb6a2bc8b..3a4030d314 100644
--- a/engines/director/score.h
+++ b/engines/director/score.h
@@ -147,7 +147,7 @@ public:
Cast *getCastMember(int castId);
const Stxt *getStxt(int castId);
void renderFrame(uint16 frameId, bool forceUpdate = false, bool updateStageOnly = false);
- void unrenderSprite(int spriteId);
+ void markDirtyRect(Common::Rect dirty);
private:
void update();
Commit: 3cac9487a27571e35c51ace88b62399938462456
https://github.com/scummvm/scummvm/commit/3cac9487a27571e35c51ace88b62399938462456
Author: Nathanael Gentry (nathanael.gentrydb8 at gmail.com)
Date: 2020-06-23T12:50:58-04:00
Commit Message:
DIRECTOR: Begin implementing the rest of the inks
Changed paths:
engines/director/ink.cpp
engines/director/score.h
diff --git a/engines/director/ink.cpp b/engines/director/ink.cpp
index 608e697263..8f8584d508 100644
--- a/engines/director/ink.cpp
+++ b/engines/director/ink.cpp
@@ -29,91 +29,130 @@ namespace Director {
void Score::inkBasedBlit(Graphics::ManagedSurface *maskSurface, const Graphics::Surface &spriteSurface, InkType ink, Common::Rect drawRect, uint spriteId) {
- // FIXME: If we try to use one of the draw* methods below for a sprite that
- // has width and height changed, there is a butter overflow. But we don't want
- // to clip `t`, so width and height can be changed and stretched automatically.
- Common::Rect t;
- if (ink == kInkTypeCopy || ink == kInkTypeTransparent) {
- t = drawRect;
- } else {
- t = Common::Rect(spriteSurface.w, spriteSurface.h);
- t.moveTo(drawRect.left, drawRect.top);
- }
+ byte rSrc, gSrc, bSrc;
+ byte rDst, gDst, bDst;
+ int numColors = _vm->getPaletteColorCount();
+
+ Common::Rect t = Common::Rect(spriteSurface.w, spriteSurface.h);
+ t.moveTo(drawRect.left, drawRect.top);
Common::Point maskOrigin(MAX(0, -drawRect.left), MAX(0, -drawRect.top));
drawRect.clip(Common::Rect(_maskSurface->w, _maskSurface->h));
- maskSurface->transBlitFrom(*_maskSurface, drawRect, maskOrigin, _stageColor);
-
- switch (ink) {
- case kInkTypeCopy:
- _surface->transBlitFrom(spriteSurface, Common::Rect(spriteSurface.w, spriteSurface.h), t, 0, false, 0, 0xff, &maskSurface->rawSurface(), true);
- break;
- case kInkTypeTransparent:
- // FIXME: is it always white (last entry in pallette)?
- _surface->transBlitFrom(spriteSurface, Common::Rect(spriteSurface.w, spriteSurface.h), t, _vm->getPaletteColorCount() - 1);
- break;
- case kInkTypeBackgndTrans:
- drawBackgndTransSprite(spriteSurface, t, spriteId);
- break;
- case kInkTypeMatte:
- drawMatteSprite(spriteSurface, t);
- break;
- case kInkTypeGhost:
- drawGhostSprite(spriteSurface, t);
- break;
- case kInkTypeReverse:
- drawReverseSprite(spriteSurface, t, spriteId);
- break;
- default:
- warning("Score::inkBasedBlit(): Unhandled ink type %d", ink);
- _surface->blitFrom(spriteSurface, Common::Point(t.left, t.top));
- break;
- }
-
-}
-
-void Score::drawBackgndTransSprite(const Graphics::Surface &sprite, Common::Rect &drawRect, int spriteId) {
- byte skipColor = _channels[spriteId]->_sprite->_backColor;
- if (_channels[spriteId]->_sprite->_castType == kCastText && _channels[spriteId]->_sprite->_cast) {
- skipColor = ((TextCast *)_channels[spriteId]->_sprite->_cast)->getBackColor();
- }
-
- Common::Rect srcRect(sprite.w, sprite.h);
-
- if (!_surface->clip(srcRect, drawRect))
- return; // Out of screen
+ // HACK: A custom blitter is needed for the logical AND necessary here;
+ // surface class doesn't provide it.
for (int ii = 0; ii < drawRect.height(); ii++) {
- const byte *src = (const byte *)sprite.getBasePtr(srcRect.left, srcRect.top + ii);
- byte *dst = (byte *)_surface->getBasePtr(drawRect.left, drawRect.top + ii);
+ const byte *src = (const byte *)maskSurface->getBasePtr(maskOrigin.x, ii + maskOrigin.y);
+ byte *dst = (byte *)_maskSurface->getBasePtr(t.left + maskOrigin.x, t.top + maskOrigin.y + ii);
for (int j = 0; j < drawRect.width(); j++) {
- if (*src != skipColor)
- *dst = *src;
+ *dst &= *src;
src++;
dst++;
}
}
-}
-void Score::drawGhostSprite(const Graphics::Surface &sprite, Common::Rect &drawRect) {
- Common::Rect srcRect(sprite.w, sprite.h);
-
- if (!_surface->clip(srcRect, drawRect))
- return; // Out of screen
+ // TODO: Merge these two into the switch logic that is below
+ if (ink == kInkTypeMatte) {
+ Common::Rect spriteRect(spriteSurface.w, spriteSurface.h);
+ drawMatteSprite(spriteSurface, t);
+ return;
+ } else if (ink == kInkTypeReverse) {
+ drawReverseSprite(spriteSurface, t, spriteId);
+ return;
+ } else if (ink == kInkTypeMask) {
+ // TODO: Implement masked drawing
+ warning("Score::inkBasedBlit(): Masked drawing not yet implemented");
+ }
- uint8 skipColor = _vm->getPaletteColorCount() - 1;
for (int ii = 0; ii < drawRect.height(); ii++) {
- const byte *src = (const byte *)sprite.getBasePtr(srcRect.left, srcRect.top + ii);
- byte *dst = (byte *)_surface->getBasePtr(drawRect.left, drawRect.top + ii);
+ const byte *msk = (const byte *)maskSurface->getBasePtr(maskOrigin.x, maskOrigin.y + ii);
+ const byte *src = (const byte *)spriteSurface.getBasePtr(0 + maskOrigin.x, ii + maskOrigin.y);
+ byte *dst = (byte *)_surface->getBasePtr(t.left + maskOrigin.x, t.top + maskOrigin.y + ii);
for (int j = 0; j < drawRect.width(); j++) {
- if ((getSpriteIDFromPos(Common::Point(drawRect.left + j, drawRect.top + ii)) != 0) && (*src != skipColor))
- *dst = (_vm->getPaletteColorCount() - 1) - *src; // Oposite color
+ if (*msk != 0) {
+ _vm->_wm->decomposeColor(*src, rSrc, gSrc, bSrc);
+ _vm->_wm->decomposeColor(*dst, rDst, gDst, bDst);
+
+ switch (ink) {
+ case kInkTypeBackgndTrans:
+ if (*src == _channels[spriteId]->_sprite->_backColor)
+ break;
+ // fall through
+ case kInkTypeCopy:
+ *dst = *src;
+ break;
+ case kInkTypeTransparent:
+ // FIXME: Is colour to ignore always white (last entry in pallette)?
+ if (*src != numColors - 1)
+ *dst &= *src;
+ break;
+ case kInkTypeReverse:
+ if (*src != numColors - 1)
+ *dst ^= *src;
+ break;
+ case kInkTypeGhost:
+ if ((getSpriteIDFromPos(Common::Point(drawRect.left + j, drawRect.top + ii)) != 0) && *src != numColors - 1)
+ *dst = *dst | ~(*src);
+ break;
+ case kInkTypeNotCopy:
+ if (*src != numColors - 1)
+ *dst = ~(*src);
+ break;
+ case kInkTypeNotTrans:
+ if (*src != numColors - 1)
+ *dst = *dst & ~(*src);
+ break;
+ case kInkTypeNotReverse:
+ if (*src != numColors - 1)
+ *dst = *dst ^ *src;
+ break;
+ case kInkTypeNotGhost:
+ if (*src != numColors - 1)
+ *dst = *dst | *src;
+ break;
+ case kInkTypeMatte:
+ break;
+ case kInkTypeMask:
+ *dst = *src;
+ break;
+ // Arithmetic ink types
+ case kInkTypeBlend:
+ if (*src != numColors - 1)
+ *dst = _vm->_wm->findBestColor((rSrc + rDst) / 2, (gSrc + gDst) / 2, (bSrc + bDst) / 2);
+ break;
+ case kInkTypeAddPin:
+ if (*src != numColors - 1)
+ *dst = _vm->_wm->findBestColor(MIN((rSrc + rDst), numColors - 1), MIN((gSrc + gDst), numColors - 1), MIN((bSrc + bDst), numColors - 1));
+ break;
+ case kInkTypeAdd:
+ if (*src != numColors - 1)
+ *dst = _vm->_wm->findBestColor(abs(rSrc + rDst) % numColors, abs(gSrc + gDst) % numColors, abs(bSrc + bDst) % numColors);
+ break;
+ case kInkTypeSubPin:
+ if (*src != numColors - 1)
+ *dst = _vm->_wm->findBestColor(MAX(rSrc - rDst, 0), MAX(gSrc - gDst, 0), MAX(bSrc - bDst, 0));
+ break;
+ case kInkTypeLight:
+ if (*src != numColors - 1)
+ *dst = _vm->_wm->findBestColor(MAX(rSrc, rDst), MAX(gSrc, gDst), MAX(bSrc, bDst));
+ break;
+ case kInkTypeSub:
+ if (*src != numColors - 1)
+ *dst = _vm->_wm->findBestColor(abs(rSrc - rDst) % numColors, abs(gSrc - gDst) % numColors, abs(bSrc - bDst) % numColors);
+ break;
+ case kInkTypeDark:
+ if (*src != numColors - 1)
+ *dst = _vm->_wm->findBestColor(MIN(rSrc, rDst), MIN(gSrc, gDst), MIN(bSrc, bDst));
+ break;
+ }
+ }
src++;
dst++;
+ msk++;
}
}
}
@@ -126,41 +165,45 @@ void Score::drawReverseSprite(const Graphics::Surface &sprite, Common::Rect &dra
uint8 skipColor = _vm->getPaletteColorCount() - 1;
for (int ii = 0; ii < drawRect.height(); ii++) {
+ const byte *msk = (const byte *)_maskSurface->getBasePtr(drawRect.left, drawRect.top + ii);
const byte *src = (const byte *)sprite.getBasePtr(srcRect.left, srcRect.top + ii);
byte *dst = (byte *)_surface->getBasePtr(drawRect.left, drawRect.top + ii);
byte srcColor = *src;
for (int j = 0; j < drawRect.width(); j++) {
- if (!_channels[spriteId]->_sprite->_cast || _channels[spriteId]->_sprite->_cast->_type == kCastShape)
- srcColor = 0x0;
- else
- srcColor = *src;
- uint16 targetSprite = getSpriteIDFromPos(Common::Point(drawRect.left + j, drawRect.top + ii));
- if ((targetSprite != 0)) {
- // TODO: This entire reverse colour attempt needs a lot more testing on
- // a lot more colour depths.
- if (srcColor != skipColor) {
- if (!_channels[targetSprite]->_sprite->_cast || _channels[targetSprite]->_sprite->_cast->_type != kCastBitmap) {
- if (*dst == 0 || *dst == 255) {
- *dst = _vm->transformColor(*dst);
- } else if (srcColor == 255 || srcColor == 0) {
- *dst = _vm->transformColor(*dst - 40);
- } else {
- *dst = _vm->transformColor(*src - 40);
- }
- } else {
- if (*dst == 0 && _vm->getVersion() == 3 &&
- _channels[spriteId]->_sprite->_cast->_type == kCastBitmap &&
- ((BitmapCast*)_channels[spriteId]->_sprite->_cast)->_bitsPerPixel > 1) {
- *dst = _vm->transformColor(*src - 40);
+ if (*msk != 0) {
+ if (!_channels[spriteId]->_sprite->_cast || _channels[spriteId]->_sprite->_cast->_type == kCastShape)
+ srcColor = 0x0;
+ else
+ srcColor = *src;
+ uint16 targetSprite = getSpriteIDFromPos(Common::Point(drawRect.left + j, drawRect.top + ii));
+ if ((targetSprite != 0)) {
+ // TODO: This entire reverse colour attempt needs a lot more testing on
+ // a lot more colour depths.
+ if (srcColor != skipColor) {
+ if (!_channels[targetSprite]->_sprite->_cast || _channels[targetSprite]->_sprite->_cast->_type != kCastBitmap) {
+ if (*dst == 0 || *dst == 255) {
+ *dst = _vm->transformColor(*dst);
+ } else if (srcColor == 255 || srcColor == 0) {
+ *dst = _vm->transformColor(*dst - 40);
+ } else {
+ *dst = _vm->transformColor(*src - 40);
+ }
} else {
- *dst ^= _vm->transformColor(srcColor);
+ if (*dst == 0 && _vm->getVersion() == 3 &&
+ _channels[spriteId]->_sprite->_cast->_type == kCastBitmap &&
+ ((BitmapCast*)_channels[spriteId]->_sprite->_cast)->_bitsPerPixel > 1) {
+ *dst = _vm->transformColor(*src - 40);
+ } else {
+ *dst ^= _vm->transformColor(srcColor);
+ }
}
}
+ } else if (srcColor != skipColor) {
+ *dst = _vm->transformColor(srcColor);
}
- } else if (srcColor != skipColor) {
- *dst = _vm->transformColor(srcColor);
}
+ msk++;
src++;
dst++;
}
@@ -196,11 +239,13 @@ void Score::drawMatteSprite(const Graphics::Surface &sprite, Common::Rect &drawR
debugC(1, kDebugImages, "Score::drawMatteSprite(): No white color for Matte image");
for (int yy = 0; yy < drawRect.height(); yy++) {
+ const byte *msk = (const byte *)_maskSurface->getBasePtr(drawRect.left, drawRect.top + yy);
const byte *src = (const byte *)tmp.getBasePtr(srcRect.left, srcRect.top + yy);
byte *dst = (byte *)_surface->getBasePtr(drawRect.left, drawRect.top + yy);
- for (int xx = 0; xx < drawRect.width(); xx++, src++, dst++)
- *dst = *src;
+ for (int xx = 0; xx < drawRect.width(); xx++, src++, dst++, msk++)
+ if (*msk != 0)
+ *dst = *src;
}
} else {
Graphics::FloodFill ff(&tmp, whiteColor, 0, true);
diff --git a/engines/director/score.h b/engines/director/score.h
index 3a4030d314..1e28560fd7 100644
--- a/engines/director/score.h
+++ b/engines/director/score.h
@@ -155,9 +155,7 @@ private:
// ink.cpp
void inkBasedBlit(Graphics::ManagedSurface *maskSurface, const Graphics::Surface &spriteSurface, InkType ink, Common::Rect drawRect, uint spriteId);
- void drawBackgndTransSprite(const Graphics::Surface &sprite, Common::Rect &drawRect, int spriteId);
void drawMatteSprite(const Graphics::Surface &sprite, Common::Rect &drawRect);
- void drawGhostSprite(const Graphics::Surface &sprite, Common::Rect &drawRect);
void drawReverseSprite(const Graphics::Surface &sprite, Common::Rect &drawRect, uint16 spriteId);
// transitions.cpp
Commit: 4ff998b39a5395b44568f4b3e33963c2f462a2fa
https://github.com/scummvm/scummvm/commit/4ff998b39a5395b44568f4b3e33963c2f462a2fa
Author: Nathanael Gentry (nathanael.gentrydb8 at gmail.com)
Date: 2020-06-23T12:50:58-04:00
Commit Message:
DIRECTOR: Remove shape transparency hack
It is no longer needed since there is logical AND blitting introduced in the
previous commit. Now the mask on shapes is obeyed.
Changed paths:
engines/director/score.cpp
diff --git a/engines/director/score.cpp b/engines/director/score.cpp
index dcd4ec8854..82676a9b93 100644
--- a/engines/director/score.cpp
+++ b/engines/director/score.cpp
@@ -722,11 +722,6 @@ void Score::renderShape(uint16 spriteId) {
}
}
- // shapes should be rendered with transparency by default
- if (ink == kInkTypeCopy) {
- ink = kInkTypeTransparent;
- }
-
// for outlined shapes, line thickness of 1 means invisible.
lineSize -= 1;
@@ -773,7 +768,6 @@ void Score::renderShape(uint16 spriteId) {
// fall through
case kOutlinedRectangleSprite: // this is actually a mouse-over shape? I don't think it's a real button.
Graphics::drawRect(strokeRect, foreColor, Graphics::macDrawPixel, &plotStroke);
- //tmpSurface.fillRect(Common::Rect(shapeRect.width(), shapeRect.height()), (_vm->getCurrentScore()->_currentMouseDownSpriteId == spriteId ? 0 : 0xff));
break;
case kRoundedRectangleSprite:
// fall through
More information about the Scummvm-git-logs
mailing list