[Scummvm-git-logs] scummvm master -> 9fa0e1d2c28bc22eac691cfa98e6115686aca4ce

ysj1173886760 42030331+ysj1173886760 at users.noreply.github.com
Tue Aug 17 01:48:31 UTC 2021


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

Summary:
efe26065ef Revert "DIRECTOR: apply global inverter on reverse type ink."
9fa0e1d2c2 DIRECTOR: fix inkTypeAdd


Commit: efe26065efa52982f27b0ef32c6b8dc98615d7c4
    https://github.com/scummvm/scummvm/commit/efe26065efa52982f27b0ef32c6b8dc98615d7c4
Author: ysj1173886760 (1173886760 at qq.com)
Date: 2021-08-17T09:27:00+08:00

Commit Message:
Revert "DIRECTOR: apply global inverter on reverse type ink."

This reverts commit b3aec17d6db8ae8f49587e5c6dc14a3ddc4d7033.
inverter is not working correctly on reversed text.
further investigation is needed.

Changed paths:
    engines/director/graphics.cpp


diff --git a/engines/director/graphics.cpp b/engines/director/graphics.cpp
index 50fb9158ab..113194fc88 100644
--- a/engines/director/graphics.cpp
+++ b/engines/director/graphics.cpp
@@ -229,7 +229,7 @@ void inkDrawPixel(int x, int y, int src, void *data) {
 		*dst = p->applyColor ? (src & p->foreColor) | (*dst & ~src) : (*dst & ~src);
 		break;
 	case kInkTypeReverse:
-		*dst = g_director->_wm->inverter(src);
+		*dst ^= ~(src);
 		break;
 	case kInkTypeNotReverse:
 		*dst ^= src;


Commit: 9fa0e1d2c28bc22eac691cfa98e6115686aca4ce
    https://github.com/scummvm/scummvm/commit/9fa0e1d2c28bc22eac691cfa98e6115686aca4ce
Author: ysj1173886760 (1173886760 at qq.com)
Date: 2021-08-17T09:48:08+08:00

Commit Message:
DIRECTOR: fix inkTypeAdd

Changed paths:
    engines/director/graphics.cpp


diff --git a/engines/director/graphics.cpp b/engines/director/graphics.cpp
index 113194fc88..f5100e4a7a 100644
--- a/engines/director/graphics.cpp
+++ b/engines/director/graphics.cpp
@@ -256,7 +256,9 @@ void inkDrawPixel(int x, int y, int src, void *data) {
 				*dst = p->_wm->findBestColor(MIN((rSrc + rDst), 0xff), MIN((gSrc + gDst), 0xff), MIN((bSrc + bDst), 0xff));
 			break;
 		case kInkTypeAdd:
-				*dst = p->_wm->findBestColor(abs(rSrc + rDst) % 0xff + 1, abs(gSrc + gDst) % 0xff + 1, abs(bSrc + bDst) % 0xff + 1);
+			// in basilisk, D3.1 is exactly using this method, adding color directly without preventing the overflow.
+			// but i think min(src + dst, 255) will give us a better visual effect
+				*dst = p->_wm->findBestColor(rSrc + rDst, gSrc + gDst, bSrc + bDst);
 			break;
 		case kInkTypeSubPin:
 				*dst = p->_wm->findBestColor(MAX(rSrc - rDst, 0), MAX(gSrc - gDst, 0), MAX(bSrc - bDst, 0));




More information about the Scummvm-git-logs mailing list