[Scummvm-git-logs] scummvm master -> 65ebee5fa3942db342cf5850882c9dd23d1830fb

sdelamarre noreply at scummvm.org
Thu Mar 19 21:21:01 UTC 2026


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

Summary:
dedbb2f691 GOB: Fix function names from non loaded TOTs in gobStack console command
89bef49e04 GOB: Fix some Adi4 texts not being displayed
65ebee5fa3 Revert "GOB: Fix conditions preventing a video to be advanced by updateLive"


Commit: dedbb2f691ec0f9440a753e640e8c25629bf9389
    https://github.com/scummvm/scummvm/commit/dedbb2f691ec0f9440a753e640e8c25629bf9389
Author: Simon Delamarre (simon.delamarre14 at gmail.com)
Date: 2026-03-19T21:57:26+01:00

Commit Message:
GOB: Fix function names from non loaded TOTs in gobStack console command

Changed paths:
    engines/gob/game.cpp


diff --git a/engines/gob/game.cpp b/engines/gob/game.cpp
index b070db000a4..353e79beca9 100644
--- a/engines/gob/game.cpp
+++ b/engines/gob/game.cpp
@@ -1184,15 +1184,37 @@ Common::String Game::formatSubNameInCallStack(const Common::String &totFile, int
 		const char *space = strchr(name.c_str(), ' ');
 		if (space)
 			name = Common::String(space + 1);
-	}
-	if (!name.empty())
+
 		return Common::String::format("sub_%d_%s", offset, name.c_str());
+	}
+
 	return Common::String::format("sub_%d", offset);
 }
 
 Common::String Game::getGobStack() {
 	uint stackSize = _globalFuncCallStack.size();
 
+	Common::Array<Common::String> totsToLoad;
+	// Load function names
+	for (uint i = 0; i < stackSize; i++) {
+		const FuncCall &fc = _globalFuncCallStack[i];
+		if (!fc.callingTot.empty()
+				&& Common::find(totsToLoad.begin(), totsToLoad.end(), fc.callingTot) == totsToLoad.end()
+				&& _totFunctions.find(fc.callingTot) < 0)
+			totsToLoad.push_back(fc.callingTot);
+
+		if (fc.calledTot.empty() && fc.calledTot != fc.callingTot
+				&& Common::find(totsToLoad.begin(), totsToLoad.end(), fc.calledTot) == totsToLoad.end()
+				&& _totFunctions.find(fc.calledTot) < 0)
+			totsToLoad.push_back(fc.calledTot);
+	}
+
+	Common::Array<Common::String> loadedTots;
+	for (Common::String &tot : totsToLoad) {
+		if (_totFunctions.load(tot))
+			loadedTots.push_back(tot);
+	}
+
 	Common::Array<Common::String> positions;
 	Common::Array<Common::String> functions;
 	Common::Array<Common::String> tags;
@@ -1244,6 +1266,10 @@ Common::String Game::getGobStack() {
 										 tags[i].c_str());
 	}
 	result += "------------------------\n";
+
+	for (Common::String &tot : loadedTots)
+		_totFunctions.unload(tot);
+
 	return result;
 }
 


Commit: 89bef49e04c68fa3dd2df80c27ba8d9740a609ca
    https://github.com/scummvm/scummvm/commit/89bef49e04c68fa3dd2df80c27ba8d9740a609ca
Author: Simon Delamarre (simon.delamarre14 at gmail.com)
Date: 2026-03-19T21:57:26+01:00

Commit Message:
GOB: Fix some Adi4 texts not being displayed

Those texts were stored in so-called "library" TOT files without resources
but with a text table.

Changed paths:
    engines/gob/resources.cpp


diff --git a/engines/gob/resources.cpp b/engines/gob/resources.cpp
index d6543474e4f..09f49d2dff2 100644
--- a/engines/gob/resources.cpp
+++ b/engines/gob/resources.cpp
@@ -176,12 +176,11 @@ bool Resources::load(const Common::String &fileName) {
 		_extResourceTable = nullptr;
 	}
 
-	if (!hasTOTRes && !hasEXTRes) {
-		if (_vm->getGameType() == kGameTypeAdibou2 || _vm->getGameType() == kGameTypeAdi4)
-			return true; // Some "library" TOT files used in Adibou2 have no embed resources, nor external ones.
-		else
-			return false;
-	};
+	if (!hasTOTRes && !hasEXTRes
+			&& _vm->getGameType() != kGameTypeAdibou2  // Some "library" TOT files used in Adibou2 have no embed resources, nor external ones.
+			&& _vm->getGameType() != kGameTypeAdi4)  {
+		return false;
+	}
 
 	if (!loadTOTTextTable(_fileBase)) {
 		unload();


Commit: 65ebee5fa3942db342cf5850882c9dd23d1830fb
    https://github.com/scummvm/scummvm/commit/65ebee5fa3942db342cf5850882c9dd23d1830fb
Author: Simon Delamarre (simon.delamarre14 at gmail.com)
Date: 2026-03-19T21:57:26+01:00

Commit Message:
Revert "GOB: Fix conditions preventing a video to be advanced by updateLive"

This reverts commit 264cddc0c5f6756d68aa22aac8a7f07a199efeb0, that lead
to regressions related to live videos in Adibou2.

Changed paths:
    engines/gob/videoplayer.cpp


diff --git a/engines/gob/videoplayer.cpp b/engines/gob/videoplayer.cpp
index 5dc85593a5b..ce9662022a8 100644
--- a/engines/gob/videoplayer.cpp
+++ b/engines/gob/videoplayer.cpp
@@ -591,7 +591,8 @@ void VideoPlayer::updateVideo(int slot, bool force) {
 	}
 
 	if (_vm->getGameType() == kGameTypeAdibou2 || _vm->getGameType() == kGameTypeAdi4) {
-		if (video->decoder->hasVideo() || !video->properties.noWaitSound)
+		if (video->decoder->hasVideo() &&
+			!video->properties.noWaitSound)
 			return;
 
 		video->properties.startFrame = video->decoder->getCurFrame();




More information about the Scummvm-git-logs mailing list