diff options
-rw-r--r-- | engines/touche/resource.cpp | 13 |
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; } } |