[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