From 9ee81ad12718a355b210df838436dbd4f4384253 Mon Sep 17 00:00:00 2001 From: Simei Yin Date: Fri, 18 Aug 2017 05:08:56 +0200 Subject: SLUDGE: Fix zBuffer problem when credit scrolling --- engines/sludge/sprites.cpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'engines/sludge') diff --git a/engines/sludge/sprites.cpp b/engines/sludge/sprites.cpp index 98d88a8337..c37c4a1905 100644 --- a/engines/sludge/sprites.cpp +++ b/engines/sludge/sprites.cpp @@ -271,6 +271,13 @@ bool GraphicsManager::loadSpriteBank(int fileNum, SpriteBank &loadhere, bool isF // pasteSpriteToBackDrop uses the colour specified by the setPasteColour (or setPasteColor) void GraphicsManager::pasteSpriteToBackDrop(int x1, int y1, Sprite &single, const SpritePalette &fontPal) { + // kill zBuffer + if (_zBuffer->originalNum >= 0 && _zBuffer->sprites) { + int num = _zBuffer->originalNum; + killZBuffer(); + _zBuffer->originalNum = num; + } + //TODO: shader: useLightTexture x1 -= single.xhot; y1 -= single.yhot; @@ -282,6 +289,13 @@ void GraphicsManager::pasteSpriteToBackDrop(int x1, int y1, Sprite &single, cons // burnSpriteToBackDrop adds text in the colour specified by setBurnColour // using the differing brightness levels of the font to achieve an anti-aliasing effect. void GraphicsManager::burnSpriteToBackDrop(int x1, int y1, Sprite &single, const SpritePalette &fontPal) { + // kill zBuffer + if (_zBuffer->originalNum >= 0 && _zBuffer->sprites) { + int num = _zBuffer->originalNum; + killZBuffer(); + _zBuffer->originalNum = num; + } + //TODO: shader: useLightTexture x1 -= single.xhot; y1 -= single.yhot - 1; -- cgit v1.2.3