[Scummvm-git-logs] scummvm master -> 124b9ecc31fa3f7a22bb54dca9d419ad77ac23b2

rvanlaar roland at rolandvanlaar.nl
Sat Mar 21 13:47:37 UTC 2020


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

Summary:
124b9ecc31 DIRECTOR: transformColor in non _vm places


Commit: 124b9ecc31fa3f7a22bb54dca9d419ad77ac23b2
    https://github.com/scummvm/scummvm/commit/124b9ecc31fa3f7a22bb54dca9d419ad77ac23b2
Author: Roland van Laar (roland at rolandvanlaar.nl)
Date: 2020-03-21T14:45:08+01:00

Commit Message:
DIRECTOR: transformColor in non _vm places

- future proofing transformColor by using an uint32 instead of a byte
- handling cases where there is no reference to _vm by using
g_director->.

Changed paths:
    engines/director/cast.cpp
    engines/director/director.h
    engines/director/graphics.cpp
    engines/director/images.cpp


diff --git a/engines/director/cast.cpp b/engines/director/cast.cpp
index b0db321c8b..14e39e2627 100644
--- a/engines/director/cast.cpp
+++ b/engines/director/cast.cpp
@@ -297,8 +297,8 @@ ShapeCast::ShapeCast(Common::ReadStreamEndian &stream, uint16 version) {
 		_shapeType = static_cast<ShapeType>(stream.readByte());
 		_initialRect = Score::readRect(stream);
 		_pattern = stream.readUint16BE();
-		_fgCol = 0xff - (uint8)stream.readByte();
-		_bgCol = 0xff - (uint8)stream.readByte();
+		_fgCol = g_director->transformColor((uint8)stream.readByte());
+		_bgCol = g_director->transformColor((uint8)stream.readByte());
 		_fillType = stream.readByte();
 		_ink = static_cast<InkType>(_fillType & 0x3f);
 		_lineThickness = stream.readByte();
diff --git a/engines/director/director.h b/engines/director/director.h
index fc3cd52e9a..ab5b2bc5ee 100644
--- a/engines/director/director.h
+++ b/engines/director/director.h
@@ -114,7 +114,7 @@ public:
 	void loadSharedCastsFrom(Common::String filename);
 	void clearSharedCast();
 	void loadPatterns();
-	byte transformColor(byte color);
+	uint32 transformColor(uint32 color);
 	Graphics::MacPatterns &getPatterns();
 
 	void loadInitialMovie(const Common::String movie);
diff --git a/engines/director/graphics.cpp b/engines/director/graphics.cpp
index 9b671134a8..8522d7817b 100644
--- a/engines/director/graphics.cpp
+++ b/engines/director/graphics.cpp
@@ -705,7 +705,7 @@ static byte director3QuickDrawPatterns[][8] = {
  * To make loading images easier we the palette is in reverse order.
  * All other color ids can be converted with: 255 - colorId.
  */
-byte DirectorEngine::transformColor(byte color){
+uint32 DirectorEngine::transformColor(uint32 color) {
 	return 255 - color;
 }
 
diff --git a/engines/director/images.cpp b/engines/director/images.cpp
index fa93123279..5e4f4b263d 100644
--- a/engines/director/images.cpp
+++ b/engines/director/images.cpp
@@ -229,7 +229,7 @@ bool BITDDecoder::loadStream(Common::SeekableReadStream &stream) {
 
 				case 8:
 					// this calculation is wrong.. need a demo with colours.
-					*((byte *)_surface->getBasePtr(x, y)) = 0xff - pixels[(y * _surface->w) + x + (y * offset)];
+					*((byte *)_surface->getBasePtr(x, y)) = g_director->transformColor(pixels[(y * _surface->w) + x + (y * offset)]);
 					x++;
 					break;
 




More information about the Scummvm-git-logs mailing list