[Scummvm-git-logs] scummvm master -> de44a90a4d6daac002fed6f483ec56199e856654
sev-
noreply at scummvm.org
Thu Jul 23 14:00:16 UTC 2026
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://api.github.com/repos/scummvm/scummvm .
Summary:
de44a90a4d DIRECTOR: Don't mark bitmaps runtime-changed at load time
Commit: de44a90a4d6daac002fed6f483ec56199e856654
https://github.com/scummvm/scummvm/commit/de44a90a4d6daac002fed6f483ec56199e856654
Author: Gianluca Boiano (morf3089 at gmail.com)
Date: 2026-07-23T16:00:13+02:00
Commit Message:
DIRECTOR: Don't mark bitmaps runtime-changed at load time
BitmapCastMember::load() routes the decoded image through setPicture(),
which flags the member as changed so the renderer refreshes. That flag
is also the save preflight's persist-dirty signal, so every loaded
bitmap looked runtime-modified and movies whose version has no bitmap
writer (D6+) refused to save.
Preserve the change-tracking state across the load: a freshly loaded
member matches its on-disk data by definition.
Fixes TKKG4 refusing to save on its first save attempt
Changed paths:
engines/director/castmember/bitmap.cpp
diff --git a/engines/director/castmember/bitmap.cpp b/engines/director/castmember/bitmap.cpp
index 9361b980590..24bb74c788f 100644
--- a/engines/director/castmember/bitmap.cpp
+++ b/engines/director/castmember/bitmap.cpp
@@ -827,7 +827,11 @@ void BitmapCastMember::load() {
// dumpFile("LoadedBitmap", _castId, MKTAG('B', 'I', 'T', 'D'), (byte *)img->getSurface()->getPixels(), img->getSurface()->h * img->getSurface()->w);
+ // setPicture() marks us dirty so the renderer refreshes, but loading
+ // itself is not a runtime change: restore the change-tracking state
+ bool wasChanged = _isChanged;
setPicture(*img, true);
+ _isChanged = wasChanged;
if (ConfMan.getBool("dump_scripts")) {
More information about the Scummvm-git-logs
mailing list