[Scummvm-git-logs] scummvm master -> cbb63792a2f6b8cc518dd660403652f1da431f2a

sev- sev at scummvm.org
Thu Apr 9 23:52:10 UTC 2020


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:
00b52cf682 DIRECTOR: Annotated projector headers
cbb63792a2 DIRECTOR: Implement Reverse Ink


Commit: 00b52cf6825ed51f27ffbf793050b637a1a89504
    https://github.com/scummvm/scummvm/commit/00b52cf6825ed51f27ffbf793050b637a1a89504
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-04-10T01:42:14+02:00

Commit Message:
DIRECTOR: Annotated projector headers

Changed paths:
    engines/director/resource.cpp


diff --git a/engines/director/resource.cpp b/engines/director/resource.cpp
index 80ef246900..d85b01a868 100644
--- a/engines/director/resource.cpp
+++ b/engines/director/resource.cpp
@@ -179,6 +179,9 @@ void DirectorEngine::loadEXEv4(Common::SeekableReadStream *stream) {
 	stream->readUint32LE(); // graphics DLL offset
 	stream->readUint32LE(); // sound DLL offset
 	/* uint32 rifxOffsetAlt = */ stream->readUint32LE(); // equivalent to rifxOffset
+	uint32 flags = stream->readUint32LE();
+
+	warning("PJ93 projector flags: %08x", flags);
 
 	loadEXERIFX(stream, rifxOffset);
 }
@@ -190,14 +193,17 @@ void DirectorEngine::loadEXEv5(Common::SeekableReadStream *stream) {
 		error("Invalid projector tag found in v5 EXE [%s]", tag2str(ver));
 
 	uint32 rifxOffset = stream->readUint32LE();
-	stream->readUint32LE(); // unknown
-	stream->readUint32LE(); // unknown
-	stream->readUint32LE(); // unknown
-	/* uint16 screenWidth = */ stream->readUint16LE();
-	/* uint16 screenHeight = */ stream->readUint16LE();
-	stream->readUint32LE(); // unknown
-	stream->readUint32LE(); // unknown
-	/* uint32 fontMapOffset = */ stream->readUint32LE();
+	uint32 pflags = stream->readUint32LE();
+	uint32 flags = stream->readUint32LE();
+	stream->readUint16LE();	// x
+	stream->readUint16LE(); // y
+	stream->readUint16LE(); // screenWidth
+	stream->readUint16LE(); // screenHeight
+	stream->readUint32LE(); // number of components
+	stream->readUint32LE(); // number of driver files
+	stream->readUint32LE(); // fontMapOffset
+
+	warning("PJ95 projector pflags: %08x  flags: %08x", pflags, flags);
 
 	loadEXERIFX(stream, rifxOffset);
 }


Commit: cbb63792a2f6b8cc518dd660403652f1da431f2a
    https://github.com/scummvm/scummvm/commit/cbb63792a2f6b8cc518dd660403652f1da431f2a
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-04-10T01:49:32+02:00

Commit Message:
DIRECTOR: Implement Reverse Ink

Changed paths:
    engines/director/frame.cpp


diff --git a/engines/director/frame.cpp b/engines/director/frame.cpp
index 89b87e41f4..02397797c5 100644
--- a/engines/director/frame.cpp
+++ b/engines/director/frame.cpp
@@ -1117,16 +1117,7 @@ void Frame::drawReverseSprite(Graphics::ManagedSurface &target, const Graphics::
 		for (int j = 0; j < srcRect.width(); j++) {
 			if ((getSpriteIDFromPos(Common::Point(drawRect.left + j, drawRect.top + ii)) != 0)) {
 				if (*src != skipColor) {
-					*dst = _vm->transformColor(*src);
-#if 0
-					// TODO: Correctly implement reverse for fullColor... currently only works for black and white.
-					if (*src == *dst) {
-						*dst = 0xff - *src;
-					}
-					else {
-						*dst = *src;
-					}
-#endif
+					*dst ^= _vm->transformColor(*src);
 				}
 			} else if (*src != skipColor) {
 				*dst = *src;




More information about the Scummvm-git-logs mailing list