[Scummvm-git-logs] scummvm master -> 29973e86277b5217ff00646a9257ebf64d974317
moralrecordings
code at moral.net.au
Tue Oct 12 00:22:59 UTC 2021
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
29973e8627 DIRECTOR: Revert change to inkBlitShape
Commit: 29973e86277b5217ff00646a9257ebf64d974317
https://github.com/scummvm/scummvm/commit/29973e86277b5217ff00646a9257ebf64d974317
Author: Scott Percival (code at moral.net.au)
Date: 2021-10-12T08:19:29+08:00
Commit Message:
DIRECTOR: Revert change to inkBlitShape
Using the dest. rect for everything leaves snail trails
in most of Spaceship Warlock.
Changed paths:
engines/director/castmember.cpp
engines/director/director.h
engines/director/graphics.cpp
engines/director/window.cpp
diff --git a/engines/director/castmember.cpp b/engines/director/castmember.cpp
index cc9211bca7..68f23a74d7 100644
--- a/engines/director/castmember.cpp
+++ b/engines/director/castmember.cpp
@@ -614,16 +614,15 @@ Graphics::MacWidget *FilmLoopCastMember::createWidget(Common::Rect &bbox, Channe
pd.destRect = relBbox;
pd.srf = srcWidget ? srcWidget->getSurface() : nullptr;
- Common::Rect srcWidgetBbox(width, height);
if (!pd.srf && src._spriteType != kBitmapSprite) {
// Shapes come colourized from macDrawPixel
pd.ms = src.getShape();
pd.applyColor = false;
- pd.inkBlitShape();
+ pd.inkBlitShape(relBbox);
} else {
pd.setApplyColor();
// TODO: Support masks
- pd.inkBlitStretchSurface(srcWidgetBbox, nullptr);
+ pd.inkBlitStretchSurface(relBbox, nullptr);
}
if (srcWidget)
delete srcWidget;
diff --git a/engines/director/director.h b/engines/director/director.h
index f28281de08..4f6a989a8e 100644
--- a/engines/director/director.h
+++ b/engines/director/director.h
@@ -153,7 +153,7 @@ struct DirectorPlotData {
// graphics.cpp
void setApplyColor();
uint32 preprocessColor(uint32 src);
- void inkBlitShape();
+ void inkBlitShape(Common::Rect &srcRect);
void inkBlitSurface(Common::Rect &srcRect, const Graphics::Surface *mask);
void inkBlitStretchSurface(Common::Rect &srcRect, const Graphics::Surface *mask);
diff --git a/engines/director/graphics.cpp b/engines/director/graphics.cpp
index 36fdb1f59f..f62062fdbe 100644
--- a/engines/director/graphics.cpp
+++ b/engines/director/graphics.cpp
@@ -337,7 +337,7 @@ uint32 DirectorPlotData::preprocessColor(uint32 src) {
return src;
}
-void DirectorPlotData::inkBlitShape() {
+void DirectorPlotData::inkBlitShape(Common::Rect &srcRect) {
if (!ms)
return;
@@ -355,12 +355,12 @@ void DirectorPlotData::inkBlitShape() {
break;
}
- Common::Rect fillAreaRect((int)destRect.width(), (int)destRect.height());
- fillAreaRect.moveTo(destRect.left, destRect.top);
- Graphics::MacPlotData plotFill(dst, nullptr, &g_director->getPatterns(), ms->pattern, destRect.left, destRect.top, 1, ms->backColor);
+ Common::Rect fillAreaRect((int)srcRect.width(), (int)srcRect.height());
+ fillAreaRect.moveTo(srcRect.left, srcRect.top);
+ Graphics::MacPlotData plotFill(dst, nullptr, &g_director->getPatterns(), ms->pattern, srcRect.left, srcRect.top, 1, ms->backColor);
- Common::Rect strokeRect(MAX((int)destRect.width() - ms->lineSize, 0), MAX((int)destRect.height() - ms->lineSize, 0));
- strokeRect.moveTo(destRect.left, destRect.top);
+ Common::Rect strokeRect(MAX((int)srcRect.width() - ms->lineSize, 0), MAX((int)srcRect.height() - ms->lineSize, 0));
+ strokeRect.moveTo(srcRect.left, srcRect.top);
Graphics::MacPlotData plotStroke(dst, nullptr, &g_director->getPatterns(), 1, strokeRect.left, strokeRect.top, ms->lineSize, ms->backColor);
switch (ms->spriteType) {
diff --git a/engines/director/window.cpp b/engines/director/window.cpp
index 3c147fffd8..3e50e30ada 100644
--- a/engines/director/window.cpp
+++ b/engines/director/window.cpp
@@ -198,7 +198,7 @@ void Window::inkBlitFrom(Channel *channel, Common::Rect destRect, Graphics::Mana
pd.dst = blitTo;
if (pd.ms) {
- pd.inkBlitShape();
+ pd.inkBlitShape(srcRect);
} else if (pd.srf) {
if (channel->isStretched()) {
srcRect = channel->getBbox(true);
More information about the Scummvm-git-logs
mailing list