[Scummvm-git-logs] scummvm master -> b90b5a690e2ced1cf9aea37608d45f874df15738
sev-
sev at scummvm.org
Thu May 21 21:25:17 UTC 2020
This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
60f756c067 DIRECTOR: Fix blitting when sprite is bigger than screen
b90b5a690e DIRECTOR: Moved Ink-related Score methods to ink.cpp
Commit: 60f756c0676a42c1b71579a60b663404893d971c
https://github.com/scummvm/scummvm/commit/60f756c0676a42c1b71579a60b663404893d971c
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-05-21T23:24:42+02:00
Commit Message:
DIRECTOR: Fix blitting when sprite is bigger than screen
Changed paths:
engines/director/score.cpp
diff --git a/engines/director/score.cpp b/engines/director/score.cpp
index cbde8b40b2..9c31ed8d14 100644
--- a/engines/director/score.cpp
+++ b/engines/director/score.cpp
@@ -2378,11 +2378,11 @@ void Score::drawBackgndTransSprite(const Graphics::Surface &sprite, Common::Rect
if (!_surface->clip(srcRect, drawRect))
return; // Out of screen
- for (int ii = 0; ii < srcRect.height(); ii++) {
+ 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);
- for (int j = 0; j < srcRect.width(); j++) {
+ for (int j = 0; j < drawRect.width(); j++) {
if (*src != skipColor)
*dst = *src;
@@ -2399,11 +2399,11 @@ void Score::drawGhostSprite(const Graphics::Surface &sprite, Common::Rect &drawR
return; // Out of screen
uint8 skipColor = _vm->getPaletteColorCount() - 1;
- for (int ii = 0; ii < srcRect.height(); ii++) {
+ 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);
- for (int j = 0; j < srcRect.width(); j++) {
+ 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
@@ -2420,12 +2420,12 @@ void Score::drawReverseSprite(const Graphics::Surface &sprite, Common::Rect &dra
return; // Out of screen
uint8 skipColor = _vm->getPaletteColorCount() - 1;
- for (int ii = 0; ii < srcRect.height(); ii++) {
+ 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);
byte srcColor = *src;
- for (int j = 0; j < srcRect.width(); j++) {
+ for (int j = 0; j < drawRect.width(); j++) {
if (_sprites[spriteId]->_cast->_type == kCastShape)
srcColor = 0x0;
else
@@ -2489,7 +2489,7 @@ void Score::drawMatteSprite(const Graphics::Surface &sprite, Common::Rect &drawR
if (whiteColor == -1) {
debugC(1, kDebugImages, "Score::drawMatteSprite(): No white color for Matte image");
- for (int yy = 0; yy < srcRect.height(); yy++) {
+ for (int yy = 0; yy < drawRect.height(); yy++) {
const byte *src = (const byte *)tmp.getBasePtr(srcRect.left, srcRect.top + yy);
byte *dst = (byte *)_surface->getBasePtr(drawRect.left, drawRect.top + yy);
@@ -2510,12 +2510,12 @@ void Score::drawMatteSprite(const Graphics::Surface &sprite, Common::Rect &drawR
}
ff.fillMask();
- for (int yy = 0; yy < srcRect.height(); yy++) {
+ for (int yy = 0; yy < drawRect.height(); yy++) {
const byte *src = (const byte *)tmp.getBasePtr(srcRect.left, srcRect.top + yy);
const byte *mask = (const byte *)ff.getMask()->getBasePtr(srcRect.left, srcRect.top + yy);
byte *dst = (byte *)_surface->getBasePtr(drawRect.left, drawRect.top + yy);
- for (int xx = 0; xx < srcRect.width(); xx++, src++, dst++, mask++)
+ for (int xx = 0; xx < drawRect.width(); xx++, src++, dst++, mask++)
if (*mask == 0)
*dst = *src;
}
Commit: b90b5a690e2ced1cf9aea37608d45f874df15738
https://github.com/scummvm/scummvm/commit/b90b5a690e2ced1cf9aea37608d45f874df15738
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-05-21T23:24:43+02:00
Commit Message:
DIRECTOR: Moved Ink-related Score methods to ink.cpp
Changed paths:
A engines/director/ink.cpp
engines/director/module.mk
engines/director/score.cpp
engines/director/score.h
diff --git a/engines/director/ink.cpp b/engines/director/ink.cpp
new file mode 100644
index 0000000000..8fb195541b
--- /dev/null
+++ b/engines/director/ink.cpp
@@ -0,0 +1,242 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "director/director.h"
+#include "director/cast.h"
+#include "director/score.h"
+#include "director/sprite.h"
+
+namespace Director {
+
+void Score::inkBasedBlit(Graphics::ManagedSurface *maskSurface, const Graphics::Surface &spriteSurface, InkType ink, Common::Rect drawRect, uint spriteId) {
+ // drawRect could be bigger than the spriteSurface. Clip it
+ Common::Rect t(spriteSurface.w, spriteSurface.h);
+ t.moveTo(drawRect.left, drawRect.top);
+ bool nullMask = false;
+
+ // combine the given mask with the maskSurface
+ if (!maskSurface) {
+ nullMask = true;
+ maskSurface = new Graphics::ManagedSurface;
+ maskSurface->create(spriteSurface.w, spriteSurface.h, Graphics::PixelFormat::createFormatCLUT8());
+ maskSurface->clear(0);
+ }
+
+ drawRect.clip(Common::Rect(_maskSurface->w, _maskSurface->h));
+
+
+ if (drawRect.isEmpty()) {
+ warning("Score::inkBasedBlit(): empty drawRect");
+ return;
+ }
+
+ maskSurface->blitFrom(*_maskSurface, drawRect, Common::Point(0, 0));
+
+ drawRect.clip(t);
+
+ switch (ink) {
+ case kInkTypeCopy:
+ if (maskSurface)
+ _surface->transBlitFrom(spriteSurface, Common::Point(drawRect.left, drawRect.top), *maskSurface);
+ else
+ _surface->blitFrom(spriteSurface, Common::Point(drawRect.left, drawRect.top));
+ break;
+ case kInkTypeTransparent:
+ // FIXME: is it always white (last entry in pallette)?
+ _surface->transBlitFrom(spriteSurface, Common::Point(drawRect.left, drawRect.top), _vm->getPaletteColorCount() - 1);
+ break;
+ case kInkTypeBackgndTrans:
+ drawBackgndTransSprite(spriteSurface, drawRect, spriteId);
+ break;
+ case kInkTypeMatte:
+ drawMatteSprite(spriteSurface, drawRect);
+ break;
+ case kInkTypeGhost:
+ drawGhostSprite(spriteSurface, drawRect);
+ break;
+ case kInkTypeReverse:
+ drawReverseSprite(spriteSurface, drawRect, spriteId);
+ break;
+ default:
+ warning("Score::inkBasedBlit(): Unhandled ink type %d", ink);
+ _surface->blitFrom(spriteSurface, Common::Point(drawRect.left, drawRect.top));
+ break;
+ }
+
+ if (nullMask)
+ delete maskSurface;
+}
+
+void Score::drawBackgndTransSprite(const Graphics::Surface &sprite, Common::Rect &drawRect, int spriteId) {
+ byte skipColor = _sprites[spriteId]->_backColor;
+ Common::Rect srcRect(sprite.w, sprite.h);
+
+ if (!_surface->clip(srcRect, drawRect))
+ return; // Out of screen
+
+ 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);
+
+ for (int j = 0; j < drawRect.width(); j++) {
+ if (*src != skipColor)
+ *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
+
+ 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);
+
+ 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
+
+ src++;
+ dst++;
+ }
+ }
+}
+
+void Score::drawReverseSprite(const Graphics::Surface &sprite, Common::Rect &drawRect, uint16 spriteId) {
+ Common::Rect srcRect(sprite.w, sprite.h);
+
+ if (!_surface->clip(srcRect, drawRect))
+ return; // Out of screen
+
+ 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);
+ byte srcColor = *src;
+
+ for (int j = 0; j < drawRect.width(); j++) {
+ if (_sprites[spriteId]->_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 (_sprites[targetSprite]->_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 &&
+ ((BitmapCast*)_sprites[spriteId]->_cast)->_bitsPerPixel > 1) {
+ *dst = _vm->transformColor(*src - 40);
+ } else {
+ *dst ^= _vm->transformColor(srcColor);
+ }
+ }
+ }
+ } else if (srcColor != skipColor) {
+ *dst = _vm->transformColor(srcColor);
+ }
+ src++;
+ dst++;
+ }
+ }
+}
+
+void Score::drawMatteSprite(const Graphics::Surface &sprite, Common::Rect &drawRect) {
+ // Like background trans, but all white pixels NOT ENCLOSED by coloured pixels are transparent
+ Graphics::Surface tmp;
+ tmp.copyFrom(sprite);
+ Common::Rect srcRect(sprite.w, sprite.h);
+
+ if (!_surface->clip(srcRect, drawRect))
+ return; // Out of screen
+
+ // Searching white color in the corners
+ int whiteColor = -1;
+
+ for (int y = 0; y < tmp.h; y++) {
+ for (int x = 0; x < tmp.w; x++) {
+ byte color = *(byte *)tmp.getBasePtr(x, y);
+
+ if (_vm->getPalette()[color * 3 + 0] == 0xff &&
+ _vm->getPalette()[color * 3 + 1] == 0xff &&
+ _vm->getPalette()[color * 3 + 2] == 0xff) {
+ whiteColor = color;
+ break;
+ }
+ }
+ }
+
+ if (whiteColor == -1) {
+ debugC(1, kDebugImages, "Score::drawMatteSprite(): No white color for Matte image");
+
+ for (int yy = 0; yy < drawRect.height(); 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;
+ }
+ } else {
+ Graphics::FloodFill ff(&tmp, whiteColor, 0, true);
+
+ for (int yy = 0; yy < tmp.h; yy++) {
+ ff.addSeed(0, yy);
+ ff.addSeed(tmp.w - 1, yy);
+ }
+
+ for (int xx = 0; xx < tmp.w; xx++) {
+ ff.addSeed(xx, 0);
+ ff.addSeed(xx, tmp.h - 1);
+ }
+ ff.fillMask();
+
+ for (int yy = 0; yy < drawRect.height(); yy++) {
+ const byte *src = (const byte *)tmp.getBasePtr(srcRect.left, srcRect.top + yy);
+ const byte *mask = (const byte *)ff.getMask()->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++, mask++)
+ if (*mask == 0)
+ *dst = *src;
+ }
+ }
+
+ tmp.free();
+}
+
+} // End of namespace Director
diff --git a/engines/director/module.mk b/engines/director/module.mk
index 0c8c96dd74..4b1e8fe5c0 100644
--- a/engines/director/module.mk
+++ b/engines/director/module.mk
@@ -10,6 +10,7 @@ MODULE_OBJS = \
frame.o \
graphics.o \
images.o \
+ ink.o \
movie.o \
resource.o \
score.o \
diff --git a/engines/director/score.cpp b/engines/director/score.cpp
index 9c31ed8d14..358c9822b7 100644
--- a/engines/director/score.cpp
+++ b/engines/director/score.cpp
@@ -2312,218 +2312,6 @@ void Score::renderBitmap(uint16 spriteId) {
inkBasedBlit(nullptr, *(bc->_surface), ink, drawRect, spriteId);
}
-void Score::inkBasedBlit(Graphics::ManagedSurface *maskSurface, const Graphics::Surface &spriteSurface, InkType ink, Common::Rect drawRect, uint spriteId) {
- // drawRect could be bigger than the spriteSurface. Clip it
- Common::Rect t(spriteSurface.w, spriteSurface.h);
- t.moveTo(drawRect.left, drawRect.top);
- bool nullMask = false;
-
- // combine the given mask with the maskSurface
- if (!maskSurface) {
- nullMask = true;
- maskSurface = new Graphics::ManagedSurface;
- maskSurface->create(spriteSurface.w, spriteSurface.h, Graphics::PixelFormat::createFormatCLUT8());
- maskSurface->clear(0);
- }
-
- drawRect.clip(Common::Rect(_maskSurface->w, _maskSurface->h));
-
-
- if (drawRect.isEmpty()) {
- warning("Score::inkBasedBlit(): empty drawRect");
- return;
- }
-
- maskSurface->blitFrom(*_maskSurface, drawRect, Common::Point(0, 0));
-
- drawRect.clip(t);
-
- switch (ink) {
- case kInkTypeCopy:
- if (maskSurface)
- _surface->transBlitFrom(spriteSurface, Common::Point(drawRect.left, drawRect.top), *maskSurface);
- else
- _surface->blitFrom(spriteSurface, Common::Point(drawRect.left, drawRect.top));
- break;
- case kInkTypeTransparent:
- // FIXME: is it always white (last entry in pallette)?
- _surface->transBlitFrom(spriteSurface, Common::Point(drawRect.left, drawRect.top), _vm->getPaletteColorCount() - 1);
- break;
- case kInkTypeBackgndTrans:
- drawBackgndTransSprite(spriteSurface, drawRect, spriteId);
- break;
- case kInkTypeMatte:
- drawMatteSprite(spriteSurface, drawRect);
- break;
- case kInkTypeGhost:
- drawGhostSprite(spriteSurface, drawRect);
- break;
- case kInkTypeReverse:
- drawReverseSprite(spriteSurface, drawRect, spriteId);
- break;
- default:
- warning("Score::inkBasedBlit(): Unhandled ink type %d", ink);
- _surface->blitFrom(spriteSurface, Common::Point(drawRect.left, drawRect.top));
- break;
- }
-
- if (nullMask)
- delete maskSurface;
-}
-
-void Score::drawBackgndTransSprite(const Graphics::Surface &sprite, Common::Rect &drawRect, int spriteId) {
- byte skipColor = _sprites[spriteId]->_backColor;
- Common::Rect srcRect(sprite.w, sprite.h);
-
- if (!_surface->clip(srcRect, drawRect))
- return; // Out of screen
-
- 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);
-
- for (int j = 0; j < drawRect.width(); j++) {
- if (*src != skipColor)
- *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
-
- 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);
-
- 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
-
- src++;
- dst++;
- }
- }
-}
-
-void Score::drawReverseSprite(const Graphics::Surface &sprite, Common::Rect &drawRect, uint16 spriteId) {
- Common::Rect srcRect(sprite.w, sprite.h);
-
- if (!_surface->clip(srcRect, drawRect))
- return; // Out of screen
-
- 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);
- byte srcColor = *src;
-
- for (int j = 0; j < drawRect.width(); j++) {
- if (_sprites[spriteId]->_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 (_sprites[targetSprite]->_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 &&
- ((BitmapCast*)_sprites[spriteId]->_cast)->_bitsPerPixel > 1) {
- *dst = _vm->transformColor(*src - 40);
- } else {
- *dst ^= _vm->transformColor(srcColor);
- }
- }
- }
- } else if (srcColor != skipColor) {
- *dst = _vm->transformColor(srcColor);
- }
- src++;
- dst++;
- }
- }
-}
-
-void Score::drawMatteSprite(const Graphics::Surface &sprite, Common::Rect &drawRect) {
- // Like background trans, but all white pixels NOT ENCLOSED by coloured pixels are transparent
- Graphics::Surface tmp;
- tmp.copyFrom(sprite);
- Common::Rect srcRect(sprite.w, sprite.h);
-
- if (!_surface->clip(srcRect, drawRect))
- return; // Out of screen
-
- // Searching white color in the corners
- int whiteColor = -1;
-
- for (int y = 0; y < tmp.h; y++) {
- for (int x = 0; x < tmp.w; x++) {
- byte color = *(byte *)tmp.getBasePtr(x, y);
-
- if (_vm->getPalette()[color * 3 + 0] == 0xff &&
- _vm->getPalette()[color * 3 + 1] == 0xff &&
- _vm->getPalette()[color * 3 + 2] == 0xff) {
- whiteColor = color;
- break;
- }
- }
- }
-
- if (whiteColor == -1) {
- debugC(1, kDebugImages, "Score::drawMatteSprite(): No white color for Matte image");
-
- for (int yy = 0; yy < drawRect.height(); 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;
- }
- } else {
- Graphics::FloodFill ff(&tmp, whiteColor, 0, true);
-
- for (int yy = 0; yy < tmp.h; yy++) {
- ff.addSeed(0, yy);
- ff.addSeed(tmp.w - 1, yy);
- }
-
- for (int xx = 0; xx < tmp.w; xx++) {
- ff.addSeed(xx, 0);
- ff.addSeed(xx, tmp.h - 1);
- }
- ff.fillMask();
-
- for (int yy = 0; yy < drawRect.height(); yy++) {
- const byte *src = (const byte *)tmp.getBasePtr(srcRect.left, srcRect.top + yy);
- const byte *mask = (const byte *)ff.getMask()->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++, mask++)
- if (*mask == 0)
- *dst = *src;
- }
- }
-
- tmp.free();
-}
-
uint16 Score::getSpriteIDFromPos(Common::Point pos) {
for (int i = _sprites.size() - 1; i >= 0; i--)
if (_sprites[i]->_currentBbox.contains(pos))
diff --git a/engines/director/score.h b/engines/director/score.h
index 7547630016..66c4cb5ba6 100644
--- a/engines/director/score.h
+++ b/engines/director/score.h
@@ -124,12 +124,14 @@ private:
void renderButton(uint16 spriteId);
void renderBitmap(uint16 spriteId);
+ // 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);
+ // score.cpp
void playSoundChannel(uint16 frameId);
void readVersion(uint32 rid);
More information about the Scummvm-git-logs
mailing list