aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/touche/resource.cpp13
1 files changed, 7 insertions, 6 deletions
diff --git a/engines/touche/resource.cpp b/engines/touche/resource.cpp
index 81a11569dc..cd2124806d 100644
--- a/engines/touche/resource.cpp
+++ b/engines/touche/resource.cpp
@@ -521,19 +521,20 @@ void ToucheEngine::res_loadBackdrop() {
debugC(9, kDebugResource, "ToucheEngine::res_loadBackdrop()");
_currentBitmapWidth = _fData.readUint16LE();
_currentBitmapHeight = _fData.readUint16LE();
- uint8 *dst = _backdropBuffer;
for (int i = 0; i < _currentBitmapHeight; ++i) {
- res_decodeScanLineImageRLE(dst + _currentBitmapWidth * i, _currentBitmapWidth);
+ res_decodeScanLineImageRLE(_backdropBuffer + _currentBitmapWidth * i, _currentBitmapWidth);
}
_roomWidth = _currentBitmapWidth;
- dst = _backdropBuffer;
for (int i = 0; i < _currentBitmapWidth; ++i) {
- if (*dst == 255) {
+ if (_backdropBuffer[i] == 255) {
_roomWidth = i;
- *dst = 0;
+ _backdropBuffer[i] = 0;
break;
}
- ++dst;
+ }
+ // Workaround for bug #1751149 (original bitmap has a white pixel in its transparent area).
+ if (_currentRoomNum == 8 && _currentBitmapWidth == 860) {
+ _backdropBuffer[120 * _currentBitmapWidth + 734] = 0;
}
}