[Scummvm-git-logs] scummvm master -> 761c99cbd8324d715f52dfc36ca733a12339cf81

sev- noreply at scummvm.org
Thu Jun 23 18:26:05 UTC 2022


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:
761c99cbd8 DIRECTOR: LINGO: Implement kTheModified field in CastMember::getField()


Commit: 761c99cbd8324d715f52dfc36ca733a12339cf81
    https://github.com/scummvm/scummvm/commit/761c99cbd8324d715f52dfc36ca733a12339cf81
Author: Pragyansh Chaturvedi (r41k0u) (pragyanshchaturvedi18 at gmail.com)
Date: 2022-06-23T20:26:02+02:00

Commit Message:
DIRECTOR: LINGO: Implement kTheModified field in CastMember::getField()

Changed paths:
    engines/director/castmember.cpp
    engines/director/castmember.h
    engines/director/lingo/lingo-object.cpp


diff --git a/engines/director/castmember.cpp b/engines/director/castmember.cpp
index ba34dd5f694..25b9e79c90c 100644
--- a/engines/director/castmember.cpp
+++ b/engines/director/castmember.cpp
@@ -48,6 +48,7 @@ CastMember::CastMember(Cast *cast, uint16 castId, Common::SeekableReadStreamEndi
 	_flags1 = 0;
 
 	_modified = true;
+	_isChanged = false;
 
 	_objType = kCastMemberObj;
 
@@ -59,6 +60,12 @@ CastMemberInfo *CastMember::getInfo() {
 	return _cast->getCastMemberInfo(_castId);
 }
 
+void CastMember::setModified(bool modified) {
+	_modified = modified;
+	if (modified)
+		_isChanged = true;
+}
+
 
 /////////////////////////////////////
 // Bitmap
diff --git a/engines/director/castmember.h b/engines/director/castmember.h
index 20379449306..e37a116d9ed 100644
--- a/engines/director/castmember.h
+++ b/engines/director/castmember.h
@@ -73,7 +73,7 @@ public:
 	virtual bool isEditable() { return false; }
 	virtual void setEditable(bool editable) {}
 	virtual bool isModified() { return _modified; }
-	virtual void setModified(bool modified) { _modified = modified; }
+	void setModified(bool modified);
 	virtual Graphics::MacWidget *createWidget(Common::Rect &bbox, Channel *channel, SpriteType spriteType) { return nullptr; }
 	virtual void updateWidget(Graphics::MacWidget *widget, Channel *channel) {}
 	virtual void updateFromWidget(Graphics::MacWidget *widget) {}
@@ -112,6 +112,7 @@ protected:
 	// a link to the widget we created, we may use it later
 	Graphics::MacWidget *_widget;
 	bool _modified;
+	bool _isChanged;
 };
 
 class BitmapCastMember : public CastMember {
diff --git a/engines/director/lingo/lingo-object.cpp b/engines/director/lingo/lingo-object.cpp
index b5f8d9e8734..a7c50eca05f 100644
--- a/engines/director/lingo/lingo-object.cpp
+++ b/engines/director/lingo/lingo-object.cpp
@@ -676,7 +676,7 @@ Datum CastMember::getField(int field) {
 		d = 1; // Not loaded handled in Lingo::getTheCast
 		break;
 	case kTheModified:
-		warning("STUB: CastMember::getField():: Unprocessed getting field \"%s\" of cast %d", g_lingo->field2str(field), _castId);
+		d = (int)_isChanged;
 		break;
 	case kTheName:
 		if (castInfo)




More information about the Scummvm-git-logs mailing list