diff options
-rw-r--r-- | engines/sludge/sprites.cpp | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/engines/sludge/sprites.cpp b/engines/sludge/sprites.cpp index 3662660cab..96dec30867 100644 --- a/engines/sludge/sprites.cpp +++ b/engines/sludge/sprites.cpp @@ -50,6 +50,7 @@ extern inputType input; extern int cameraX, cameraY; extern float cameraZoom; extern Graphics::Surface renderSurface; +extern Graphics::Surface backdropSurface; unsigned char currentBurnR = 0, currentBurnG = 0, currentBurnB = 0; @@ -286,8 +287,11 @@ bool loadSpriteBank(int fileNum, spriteBank &loadhere, bool isFont) { return true; } -void pasteSpriteToBackDrop(int x1, int y1, sprite &single, - const spritePalette &fontPal) { +void pasteSpriteToBackDrop(int x1, int y1, sprite &single, const spritePalette &fontPal) { + x1 -= single.xhot; + y1 -= single.yhot; + Graphics::TransparentSurface tmp(single.surface, false); + tmp.blit(backdropSurface, x1, y1); #if 0 float tx1 = (float)(single.tex_x) / fontPal.tex_w[single.texNum]; float ty1 = 0.0; @@ -382,8 +386,8 @@ void pasteSpriteToBackDrop(int x1, int y1, sprite &single, } xoffset += viewportWidth; } -#endif setPixelCoords(false); +#endif } void burnSpriteToBackDrop(int x1, int y1, sprite &single, |