[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