[Scummvm-git-logs] scummvm master -> c2b03e30406d364432fbecd3f71a0b29fe34a5a6

sev- noreply at scummvm.org
Tue Mar 4 01:01:37 UTC 2025


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:
c2b03e3040 DIRECTOR: Force Bitmap reload when file was changed


Commit: c2b03e30406d364432fbecd3f71a0b29fe34a5a6
    https://github.com/scummvm/scummvm/commit/c2b03e30406d364432fbecd3f71a0b29fe34a5a6
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2025-03-04T02:00:24+01:00

Commit Message:
DIRECTOR: Force Bitmap reload when file was changed

This fixes objects closeup in panoramas in trektech

Changed paths:
    engines/director/castmember/bitmap.cpp
    engines/director/castmember/castmember.cpp
    engines/director/castmember/castmember.h


diff --git a/engines/director/castmember/bitmap.cpp b/engines/director/castmember/bitmap.cpp
index 2e0907750fe..904c29e8ca4 100644
--- a/engines/director/castmember/bitmap.cpp
+++ b/engines/director/castmember/bitmap.cpp
@@ -539,9 +539,11 @@ Common::String BitmapCastMember::formatInfo() {
 }
 
 void BitmapCastMember::load() {
-	if (_loaded)
+	if (_loaded && !_needsReload)
 		return;
 
+	_needsReload = false;
+
 	uint32 tag = _tag;
 	uint16 imgId = _castId;
 	uint16 realId = 0;
diff --git a/engines/director/castmember/castmember.cpp b/engines/director/castmember/castmember.cpp
index adf356315ad..e0685c309b8 100644
--- a/engines/director/castmember/castmember.cpp
+++ b/engines/director/castmember/castmember.cpp
@@ -39,6 +39,7 @@ CastMember::CastMember(Cast *cast, uint16 castId, Common::SeekableReadStreamEndi
 	_loaded = false;
 	_modified = true;
 	_isChanged = false;
+	_needsReload = false;
 
 	_objType = kCastMemberObj;
 
@@ -231,6 +232,7 @@ bool CastMember::setField(int field, const Datum &d) {
 			return false;
 		}
 		castInfo->fileName = d.asString();
+		_needsReload = true;
 		return true;
 	case kTheForeColor:
 		_cast->getCastMember(_castId)->setForeColor(d.asInt());
diff --git a/engines/director/castmember/castmember.h b/engines/director/castmember/castmember.h
index c7a945a52c9..d0f3daaeccc 100644
--- a/engines/director/castmember/castmember.h
+++ b/engines/director/castmember/castmember.h
@@ -113,6 +113,7 @@ protected:
 	bool _loaded;
 	bool _modified;
 	bool _isChanged;
+	bool _needsReload;
 };
 
 struct EditInfo {




More information about the Scummvm-git-logs mailing list