[Scummvm-git-logs] scummvm master -> 8ce385849d8a3433b93470d92c8ff544b21f1f88

sev- noreply at scummvm.org
Tue Jul 14 22:46:08 UTC 2026


This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://api.github.com/repos/scummvm/scummvm .

Summary:
8ce385849d DIRECTOR: Reverse ink on colour bitmaps behaves like BackgndTrans


Commit: 8ce385849d8a3433b93470d92c8ff544b21f1f88
    https://github.com/scummvm/scummvm/commit/8ce385849d8a3433b93470d92c8ff544b21f1f88
Author: Lariaa (30549703+Lariaa at users.noreply.github.com)
Date: 2026-07-15T00:46:05+02:00

Commit Message:
DIRECTOR: Reverse ink on colour bitmaps behaves like BackgndTrans

Reverse ink was implemented as a raw palette-index XOR (*dst ^= src), which
is only meaningful for 1-bit images. On >= 8-bit colour bitmaps XOR-ing
palette indices is meaningless and produces garbage.

In Loewenzahn 1 (loewe1) the Bauwagen "RegenbogenKartoffel" film loop uses
Reverse ink to recolour the potato-king wall picture; it rendered as
colourful noise.

Changed paths:
    engines/director/graphics.cpp


diff --git a/engines/director/graphics.cpp b/engines/director/graphics.cpp
index a22212b98be..f97d6b234c9 100644
--- a/engines/director/graphics.cpp
+++ b/engines/director/graphics.cpp
@@ -453,7 +453,11 @@ void InkPrimitives<T>::drawPoint(int x, int y, uint32 src, void *data) {
 			// Originally designed for 1-bit mode so that
 			// black pixels would appear white on a black
 			// background.
-			*dst ^= src;
+			if (p->oneBitImage || p->ms || p->applyColor) {
+				*dst ^= src;
+			} else {
+				*dst = (src == p->backColor) ? *dst : src;
+			}
 		} else {
 			// In 32-bit mode, this is the opposite??
 			*dst ^= ~(src);




More information about the Scummvm-git-logs mailing list