[Scummvm-tracker] [ScummVM :: Bugs] #15938: AGS: Failure to run the Linux GOG build of Order of the Thorne (was: Failure to run the Linux GOG build of Order of the Thorne)
ScummVM :: Bugs
trac at scummvm.org
Wed May 21 09:00:49 UTC 2025
#15938: AGS: Failure to run the Linux GOG build of Order of the Thorne
-------------------+--------------------------
Reporter: vv221 | Owner: (none)
Type: defect | Status: new
Priority: normal | Component: Engine: AGS
Version: | Resolution:
Keywords: | Game:
-------------------+--------------------------
Changes (by antoniou79):
* summary: Failure to run the Linux GOG build of Order of the Thorne =>
AGS: Failure to run the Linux GOG build of Order of the Thorne
Comment:
From quick debugging what happens is that during launch
AssetManager::AddLibrary() is called for the "agsgame.dat" file which
exists in the Linux version of the game.
Eventually this leads to MFLUtil::ReadSigsAndVersion() which fails to find
an expected header (...) and returns the error at line 142:
https://github.com/scummvm/scummvm/blob/2904a1071f7088a1fae51d6d26a78de0ba011014/engines/ags/shared/util/multi_file_lib.cpp#L142
The agsgame.dat file does have a "CLIB" header but it's followed by
"\x00\x14". And five bytes after that, there's a "AGSPACKv0.0.1" string.
The final bytes of the file do have a valid "TailSig":
"CLIB\x1\x2\x3\x4SIGE" but there's no other "CLIB" substring within the
file to find (when the code does an additional search to "read multifile
lib offset value" while trying to determine whether it's 64-bit or 32-bit.
In the game's data files, there are two other files "OotTTKC.bin.x86" and
"OotTTKC.bin.x86_64" which both contain a "CLIB\x0CLIB\x1\x2\x3\x4SIGE" at
an intermediate offset (not the same across the two files, and also not at
the start nor at the end).
--
Ticket URL: <https://bugs.scummvm.org/ticket/15938#comment:2>
ScummVM :: Bugs <https://bugs.scummvm.org>
ScummVM
More information about the Scummvm-tracker
mailing list