[Scummvm-git-logs] scummvm master -> 343046bd5e423d5bc1b124ae529bb1d83701576d

npjg nathanael.gentrydb8 at gmail.com
Wed Jul 22 14:22:31 UTC 2020


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

Summary:
f3b18aba52 DIRECTOR: Add missing flag
51c7e019d9 GRAPHICS: MacCursor: Make two virtual functions
2fb137bc6b DIRECTOR: Remove unnecessary pointer cast
87b8ff5825 DIRECTOR: Condition cursor palette check
343046bd5e DIRECTOR: Properly set cursor keyColor


Commit: f3b18aba52c37c47a165fd9a599898dd6be9e347
    https://github.com/scummvm/scummvm/commit/f3b18aba52c37c47a165fd9a599898dd6be9e347
Author: Nathanael Gentry (nathanael.gentrydb8 at gmail.com)
Date: 2020-07-22T10:20:56-04:00

Commit Message:
DIRECTOR: Add missing flag

Otherwise, the mask is never applied.

Changed paths:
    engines/director/cursor.cpp


diff --git a/engines/director/cursor.cpp b/engines/director/cursor.cpp
index 16ba2a3bcf..23315be73b 100644
--- a/engines/director/cursor.cpp
+++ b/engines/director/cursor.cpp
@@ -56,7 +56,7 @@ void Cursor::readFromCast(uint cursorId, uint maskId) {
 		return;
 	}
 
-	resetCursor(Graphics::kMacCursorCustom, 0, cursorId, maskId);
+	resetCursor(Graphics::kMacCursorCustom, true, 0, cursorId, maskId);
 
 	_surface = new byte[getWidth() * getHeight()];
 	byte *dst = _surface;


Commit: 51c7e019d92cdb50879569dd0401299fb5af2cba
    https://github.com/scummvm/scummvm/commit/51c7e019d92cdb50879569dd0401299fb5af2cba
Author: Nathanael Gentry (nathanael.gentrydb8 at gmail.com)
Date: 2020-07-22T10:20:56-04:00

Commit Message:
GRAPHICS: MacCursor: Make two virtual functions

This is for the Director engine, which has a cursor class inheriting from MacCursor.

Changed paths:
    graphics/maccursor.h


diff --git a/graphics/maccursor.h b/graphics/maccursor.h
index ae998761a4..64a2e95922 100644
--- a/graphics/maccursor.h
+++ b/graphics/maccursor.h
@@ -54,11 +54,11 @@ public:
 	/** Return the cursor's hotspot's y coordinate. */
 	uint16 getHotspotY() const { return _hotspotY; }
 	/** Return the cursor's transparent key. */
-	byte getKeyColor() const { return 0xFF; }
+	virtual byte getKeyColor() const { return 0xFF; }
 
 	const byte *getSurface() const { return _surface; }
 
-	const byte *getPalette() const { return _palette; }
+	virtual const byte *getPalette() const { return _palette; }
 	byte getPaletteStartIndex() const { return 0; }
 	uint16 getPaletteCount() const { return 256; }
 


Commit: 2fb137bc6b0a5e1a7c127e636a0006a6d39d05a6
    https://github.com/scummvm/scummvm/commit/2fb137bc6b0a5e1a7c127e636a0006a6d39d05a6
Author: Nathanael Gentry (nathanael.gentrydb8 at gmail.com)
Date: 2020-07-22T10:20:56-04:00

Commit Message:
DIRECTOR: Remove unnecessary pointer cast

Changed paths:
    engines/director/score.cpp


diff --git a/engines/director/score.cpp b/engines/director/score.cpp
index d0117770ac..a78f04e67a 100644
--- a/engines/director/score.cpp
+++ b/engines/director/score.cpp
@@ -463,7 +463,7 @@ void Score::renderCursor(uint spriteId) {
 		}
 
 		_currentCursor = &_channels[spriteId]->_cursor;
-		_vm->_wm->pushCursor(_currentCursor->_cursorType, ((Graphics::Cursor *)_currentCursor));
+		_vm->_wm->pushCursor(_currentCursor->_cursorType, _currentCursor);
 	}
 }
 


Commit: 87b8ff5825c4e57770dae476453c039507aaaf7c
    https://github.com/scummvm/scummvm/commit/87b8ff5825c4e57770dae476453c039507aaaf7c
Author: Nathanael Gentry (nathanael.gentrydb8 at gmail.com)
Date: 2020-07-22T10:20:56-04:00

Commit Message:
DIRECTOR: Condition cursor palette check

Changed paths:
    engines/director/cursor.cpp
    engines/director/cursor.h


diff --git a/engines/director/cursor.cpp b/engines/director/cursor.cpp
index 23315be73b..0eb6134360 100644
--- a/engines/director/cursor.cpp
+++ b/engines/director/cursor.cpp
@@ -32,6 +32,8 @@ Cursor::Cursor() {
 
 	_cursorCastId = 0;
 	_cursorMaskId = 0;
+
+	_usePalette = false;
 }
 
 bool Cursor::operator==(const Cursor &c) {
@@ -56,6 +58,7 @@ void Cursor::readFromCast(uint cursorId, uint maskId) {
 		return;
 	}
 
+	_usePalette = false;
 	resetCursor(Graphics::kMacCursorCustom, true, 0, cursorId, maskId);
 
 	_surface = new byte[getWidth() * getHeight()];
@@ -116,6 +119,7 @@ void Cursor::readFromResource(int resourceId) {
 		resetCursor(Graphics::kMacCursorOff, true, resourceId);
 		break;
 	default:
+		_usePalette = true;
 		for (Common::HashMap<Common::String, Archive *, Common::IgnoreCase_Hash, Common::IgnoreCase_EqualTo>::iterator it = g_director->_openResFiles.begin(); it != g_director->_openResFiles.end(); ++it) {
 			Common::SeekableSubReadStreamEndian *cursorStream;
 
@@ -136,6 +140,9 @@ void Cursor::resetCursor(Graphics::MacCursorType type, bool shouldClear, int res
 		clear();
 
 	_cursorType = type;
+	if (_cursorType != Graphics::kMacCursorCustom)
+		_usePalette = false;
+
 	_cursorResId = resId;
 
 	_cursorCastId = castId;
diff --git a/engines/director/cursor.h b/engines/director/cursor.h
index cf1c13f44b..5eb44a4978 100644
--- a/engines/director/cursor.h
+++ b/engines/director/cursor.h
@@ -43,6 +43,8 @@ class Cursor : public Graphics::MacCursor {
 	bool isEmpty() { return !(_cursorResId || _cursorCastId); }
 	bool operator==(const Cursor &c);
 
+	virtual const byte *getPalette() const override { return _usePalette ? _palette : nullptr; }
+
  public:
 	Graphics::MacCursorType _cursorType;
 	int _cursorResId;
@@ -52,6 +54,9 @@ class Cursor : public Graphics::MacCursor {
 
 private:
 	void resetCursor(Graphics::MacCursorType type, bool shouldClear = false, int resId = 0, uint castId = 0, uint maskId = 0);
+
+private:
+	bool _usePalette;
 };
 
 } // end of namespace Director


Commit: 343046bd5e423d5bc1b124ae529bb1d83701576d
    https://github.com/scummvm/scummvm/commit/343046bd5e423d5bc1b124ae529bb1d83701576d
Author: Nathanael Gentry (nathanael.gentrydb8 at gmail.com)
Date: 2020-07-22T10:20:56-04:00

Commit Message:
DIRECTOR: Properly set cursor keyColor

Changed paths:
    engines/director/cursor.cpp
    engines/director/cursor.h


diff --git a/engines/director/cursor.cpp b/engines/director/cursor.cpp
index 0eb6134360..4127872d8b 100644
--- a/engines/director/cursor.cpp
+++ b/engines/director/cursor.cpp
@@ -27,6 +27,8 @@
 namespace Director {
 
 Cursor::Cursor() {
+	_keyColor = 0xff;
+
 	_cursorResId = 0;
 	_cursorType = Graphics::kMacCursorArrow;
 
@@ -59,6 +61,8 @@ void Cursor::readFromCast(uint cursorId, uint maskId) {
 	}
 
 	_usePalette = false;
+	_keyColor = 3;
+
 	resetCursor(Graphics::kMacCursorCustom, true, 0, cursorId, maskId);
 
 	_surface = new byte[getWidth() * getHeight()];
@@ -120,6 +124,8 @@ void Cursor::readFromResource(int resourceId) {
 		break;
 	default:
 		_usePalette = true;
+		_keyColor = 0xff;
+
 		for (Common::HashMap<Common::String, Archive *, Common::IgnoreCase_Hash, Common::IgnoreCase_EqualTo>::iterator it = g_director->_openResFiles.begin(); it != g_director->_openResFiles.end(); ++it) {
 			Common::SeekableSubReadStreamEndian *cursorStream;
 
diff --git a/engines/director/cursor.h b/engines/director/cursor.h
index 5eb44a4978..c947458ece 100644
--- a/engines/director/cursor.h
+++ b/engines/director/cursor.h
@@ -43,6 +43,7 @@ class Cursor : public Graphics::MacCursor {
 	bool isEmpty() { return !(_cursorResId || _cursorCastId); }
 	bool operator==(const Cursor &c);
 
+	virtual byte getKeyColor() const override { return _keyColor; }
 	virtual const byte *getPalette() const override { return _usePalette ? _palette : nullptr; }
 
  public:
@@ -57,6 +58,7 @@ private:
 
 private:
 	bool _usePalette;
+	byte _keyColor;
 };
 
 } // end of namespace Director




More information about the Scummvm-git-logs mailing list