[Scummvm-git-logs] scummvm branch-2-8 -> 75522758e557bbd0aba952033bc62eb0f016aadb

tag2015 noreply at scummvm.org
Wed Dec 13 21:31:45 UTC 2023


This automated email contains information about 3 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
a1372fadb0 AGS: Remove overzealous assert in spritecache
06c568e5b6 AGS: Prevent showing autosaves twice in some games
75522758e5 NEWS: Mention relevant AGS games now fully supported


Commit: a1372fadb089b597af44bff6554679dadaf3f8bb
    https://github.com/scummvm/scummvm/commit/a1372fadb089b597af44bff6554679dadaf3f8bb
Author: Walter Agazzi (walter.agazzi at protonmail.com)
Date: 2023-12-13T22:17:10+01:00

Commit Message:
AGS: Remove overzealous assert in spritecache

The assertion is reduntant since there's already an identical check with error
logging and it should not trigger for remapped sprites.
Fixes TRAC #14730

Changed paths:
    engines/ags/shared/ac/sprite_cache.cpp


diff --git a/engines/ags/shared/ac/sprite_cache.cpp b/engines/ags/shared/ac/sprite_cache.cpp
index 05b20bc6d5f..dba16011b46 100644
--- a/engines/ags/shared/ac/sprite_cache.cpp
+++ b/engines/ags/shared/ac/sprite_cache.cpp
@@ -238,9 +238,15 @@ void SpriteCache::DisposeOldest() {
 	auto it = std::prev(_mru.end());
 	const auto sprnum = *it;
 	// Safety check: must be a sprite from resources
-	assert(_spriteData[sprnum].IsAssetSprite());
+	// TODO: compare with latest upstream
+	// Commented out the assertion, since it triggers for sprites that are in the list but remapped to the placeholder (sprite 0)
+	// Whispers of a Machine is affected by this issue (see TRAC #14730)
+
+	// assert(_spriteData[sprnum].IsAssetSprite());
+
 	if (!_spriteData[sprnum].IsAssetSprite()) {
-		Debug::Printf(kDbgGroup_SprCache, kDbgMsg_Error, "SpriteCache::DisposeOldest: in MRU list sprite %d is external or does not exist", sprnum);
+		if (!(_spriteData[sprnum].Flags & SPRCACHEFLAG_REMAPPED))
+			Debug::Printf(kDbgGroup_SprCache, kDbgMsg_Error, "SpriteCache::DisposeOldest: in MRU list sprite %d is external or does not exist", sprnum);
 		_mru.erase(it);
 		// std::list::erase() invalidates iterators to the erased item.
 		// But our implementation does not.


Commit: 06c568e5b696ef79d08386613a0375e9b96b892c
    https://github.com/scummvm/scummvm/commit/06c568e5b696ef79d08386613a0375e9b96b892c
Author: Walter Agazzi (walter.agazzi at protonmail.com)
Date: 2023-12-13T22:17:26+01:00

Commit Message:
AGS: Prevent showing autosaves twice in some games

Changed paths:
    engines/ags/engine/ac/listbox.cpp


diff --git a/engines/ags/engine/ac/listbox.cpp b/engines/ags/engine/ac/listbox.cpp
index 822e322e4b5..0c3a572b06f 100644
--- a/engines/ags/engine/ac/listbox.cpp
+++ b/engines/ags/engine/ac/listbox.cpp
@@ -146,6 +146,15 @@ int ListBox_FillSaveGameList(GUIListBox *listbox) {
 	for (const auto &item : saveList) {
 		int slot = item.getSaveSlot();
 		Common::String desc = item.getDescription();
+		if (strcmp(_GP(game).guid, "{623a837d-9007-4174-b8be-af23192c3d73}" /* Blackwell Epiphany */) == 0 ||
+			strcmp(_GP(game).guid, "{139fc4b0-c680-4e03-984e-bda22af424e9}" /* Gemini Rue */) == 0 ||
+			strcmp(_GP(game).guid, "{db1e693d-3c6a-4565-ae08-45fe4c536498}" /* Old Skies */) == 0 ||
+			strcmp(_GP(game).guid, "{a0488eca-2275-47c8-860a-3b755fd51a59}" /* The Shivah: Kosher Edition */) == 0 ||
+			strcmp(_GP(game).guid, "{ea2bf7d0-7eca-4127-9970-031ee8f37eba}" /* Unavowed */) == 0)
+			if (slot == 101) {
+				debug(0, "Skipping game-managed autosave slot entry in savelist");
+				continue;
+			}
 
 		listbox->AddItem(desc);
 		listbox->SavedGameIndex[listbox->ItemCount - 1] = slot;


Commit: 75522758e557bbd0aba952033bc62eb0f016aadb
    https://github.com/scummvm/scummvm/commit/75522758e557bbd0aba952033bc62eb0f016aadb
Author: Walter Agazzi (walter.agazzi at protonmail.com)
Date: 2023-12-13T22:19:04+01:00

Commit Message:
NEWS: Mention relevant AGS games now fully supported

Changed paths:
    NEWS.md


diff --git a/NEWS.md b/NEWS.md
index 29a6ddf11b5..721a714df44 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -12,6 +12,9 @@ For a more comprehensive changelog of the latest experimental code, see:
    - Added support for Might and Magic Book One.
    - Added support for Muppet Treasure Island.
    - Added support for Primordia, Shardlight and Technobabylon.
+   - Added support for The Excavation of Hob's Barrow, Strangeland and Whispers
+   of a Machine.
+   - Added support for Stranga and Cloak and Dagger's AGS games.
    - Added support for Adibou 1.
    - Added support for Dark Side.
 




More information about the Scummvm-git-logs mailing list