[Scummvm-git-logs] scummvm master -> 4b30859276daf59ce5be087ee35dc0d41dc11a39

djsrv dservilla at gmail.com
Tue Jun 29 19:24:52 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:
e07f7a7f26 DIRECTOR: Use isModified() instead of _modified
4b30859276 DIRECTOR: Make _modified protected


Commit: e07f7a7f2620866b50e6956c7a157ceaf787ee9c
    https://github.com/scummvm/scummvm/commit/e07f7a7f2620866b50e6956c7a157ceaf787ee9c
Author: djsrv (dservilla at gmail.com)
Date: 2021-06-29T15:19:24-04:00

Commit Message:
DIRECTOR: Use isModified() instead of _modified

isModified() does not simply return _modified for digital video, so
using _modified instead of isModified() caused digital video to not
update.

Changed paths:
    engines/director/channel.cpp


diff --git a/engines/director/channel.cpp b/engines/director/channel.cpp
index 61f5db287e..a231b12369 100644
--- a/engines/director/channel.cpp
+++ b/engines/director/channel.cpp
@@ -424,14 +424,14 @@ void Channel::setBbox(int l, int t, int r, int b) {
 // here's the definition, we first need to have widgets to keep, and the cast is not modified(modified means we need to re-create the widget)
 // and the castId should be same while castId should not be zero
 bool Channel::canKeepWidget(uint16 castId) {
-	if (_widget && _sprite && _sprite->_cast && !_sprite->_cast->_modified && castId && castId == _sprite->_castId) {
+	if (_widget && _sprite && _sprite->_cast && !_sprite->_cast->isModified() && castId && castId == _sprite->_castId) {
 		return true;
 	}
 	return false;
 }
 
 bool Channel::canKeepWidget(Sprite *currentSprite, Sprite *nextSprite) {
-	if (_widget && currentSprite && currentSprite->_cast && nextSprite && nextSprite->_cast && !currentSprite->_cast->_modified && currentSprite->_castId == nextSprite->_castId && currentSprite->_castId) {
+	if (_widget && currentSprite && currentSprite->_cast && nextSprite && nextSprite->_cast && !currentSprite->_cast->isModified() && currentSprite->_castId == nextSprite->_castId && currentSprite->_castId) {
 		return true;
 	}
 	return false;


Commit: 4b30859276daf59ce5be087ee35dc0d41dc11a39
    https://github.com/scummvm/scummvm/commit/4b30859276daf59ce5be087ee35dc0d41dc11a39
Author: djsrv (dservilla at gmail.com)
Date: 2021-06-29T15:19:24-04:00

Commit Message:
DIRECTOR: Make _modified protected

We should always use isModified() outside of the CastMember class since
it can be overridden.

Changed paths:
    engines/director/cast.cpp
    engines/director/castmember.h
    engines/director/channel.cpp


diff --git a/engines/director/cast.cpp b/engines/director/cast.cpp
index 814884069e..c79d216a77 100644
--- a/engines/director/cast.cpp
+++ b/engines/director/cast.cpp
@@ -168,7 +168,7 @@ void Cast::setCastMemberModified(int castId) {
 		return;
 	}
 
-	cast->_modified = 1;
+	cast->setModified(true);
 }
 
 Common::String Cast::getString(Common::String str) {
diff --git a/engines/director/castmember.h b/engines/director/castmember.h
index 6bbb3fa8da..ca6a149df8 100644
--- a/engines/director/castmember.h
+++ b/engines/director/castmember.h
@@ -72,6 +72,7 @@ public:
 	virtual bool isEditable() { return false; }
 	virtual void setEditable(bool editable) {}
 	virtual bool isModified() { return _modified; }
+	virtual void setModified(bool modified) { _modified = modified; }
 	virtual Graphics::MacWidget *createWidget(Common::Rect &bbox, Channel *channel) { return nullptr; }
 	virtual void updateWidget(Graphics::MacWidget *widget, Channel *channel) {}
 	virtual void updateFromWidget(Graphics::MacWidget *widget) {}
@@ -96,7 +97,6 @@ public:
 	Common::Rect _boundingRect;
 	Common::Array<Resource> _children;
 
-	bool _modified;
 	bool _hilite;
 	int _purgePriority;
 	uint32 _size;
@@ -107,6 +107,7 @@ protected:
 	uint16 _castId;
 	// a link to the widget we created, we may use it later
 	Graphics::MacWidget *_widget;
+	bool _modified;
 };
 
 class BitmapCastMember : public CastMember {
diff --git a/engines/director/channel.cpp b/engines/director/channel.cpp
index a231b12369..e554e76766 100644
--- a/engines/director/channel.cpp
+++ b/engines/director/channel.cpp
@@ -453,7 +453,7 @@ void Channel::replaceWidget(uint16 previousCastId) {
 
 	if (_sprite && _sprite->_cast) {
 		Common::Rect bbox(getBbox());
-		_sprite->_cast->_modified = false;
+		_sprite->_cast->setModified(false);
 
 //		if (_sprite->_cast->_type == kCastText)
 //			debug("%s %d\n", ((TextCastMember *)_sprite->_cast)->_ftext.c_str(), ((TextCastMember *)_sprite->_cast)->_editable);




More information about the Scummvm-git-logs mailing list