aboutsummaryrefslogtreecommitdiff
path: root/engines/prince/graphics.cpp
diff options
context:
space:
mode:
authorlukaslw2014-08-04 08:55:20 +0200
committerlukaslw2014-08-04 08:55:20 +0200
commit85f4c2ccd2079b75c3c2d18b5b6ced7c37b14746 (patch)
tree8a7ef66cf04e83b8448b8bc97334d0eebd74954c /engines/prince/graphics.cpp
parent161f21352f7a0f35562e9955373aa04b8cfb16a4 (diff)
downloadscummvm-rg350-85f4c2ccd2079b75c3c2d18b5b6ced7c37b14746.tar.gz
scummvm-rg350-85f4c2ccd2079b75c3c2d18b5b6ced7c37b14746.tar.bz2
scummvm-rg350-85f4c2ccd2079b75c3c2d18b5b6ced7c37b14746.zip
PRINCE: showHeroShadow - update
Diffstat (limited to 'engines/prince/graphics.cpp')
-rw-r--r--engines/prince/graphics.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/engines/prince/graphics.cpp b/engines/prince/graphics.cpp
index f70002c28b..e161ddd196 100644
--- a/engines/prince/graphics.cpp
+++ b/engines/prince/graphics.cpp
@@ -181,6 +181,7 @@ void GraphicsMan::drawTransparentDrawNode(Graphics::Surface *screen, DrawNode *d
}
void GraphicsMan::drawMaskDrawNode(Graphics::Surface *screen, DrawNode *drawNode) {
+ byte *maskData = (byte *)drawNode->data;
byte *src1 = (byte *)drawNode->originalRoomSurface->getBasePtr(drawNode->posX, drawNode->posY);
byte *dst1 = (byte *)screen->getBasePtr(drawNode->posX, drawNode->posY);
int maskWidth = drawNode->width >> 3;
@@ -194,7 +195,7 @@ void GraphicsMan::drawMaskDrawNode(Graphics::Surface *screen, DrawNode *drawNode
for (int x = 0; x < drawNode->width; x++, src2++, dst2++) {
if (x + drawNode->posX < screen->w && x + drawNode->posX >= 0) {
if (y + drawNode->posY < screen->h && y + drawNode->posY >= 0) {
- if ((drawNode->data[tempMaskPostion] & maskCounter) != 0) {
+ if ((maskData[tempMaskPostion] & maskCounter) != 0) {
*dst2 = *src2;
//*dst2 = 0; // for debugging
}
@@ -214,6 +215,7 @@ void GraphicsMan::drawMaskDrawNode(Graphics::Surface *screen, DrawNode *drawNode
}
void GraphicsMan::drawAsShadowDrawNode(Graphics::Surface *screen, DrawNode *drawNode) {
+ byte *shadowData = (byte *)drawNode->data;
byte *src1 = (byte *)drawNode->s->getBasePtr(0, 0);
byte *dst1 = (byte *)screen->getBasePtr(drawNode->posX, drawNode->posY);
@@ -224,7 +226,7 @@ void GraphicsMan::drawAsShadowDrawNode(Graphics::Surface *screen, DrawNode *draw
if (*src2 == kShadowColor) {
if (x + drawNode->posX < screen->w && x + drawNode->posX >= 0) {
if (y + drawNode->posY < screen->h && y + drawNode->posY >= 0) {
- *dst2 = *(drawNode->data + *dst2);
+ *dst2 = *(shadowData + *dst2);
}
}
}