[Scummvm-tracker] [ScummVM :: Bugs] #14905: 3DS: RIVEN: "Could not find any engine capable of running the selected game"

ScummVM :: Bugs trac at scummvm.org
Wed Jan 31 06:16:55 UTC 2024


#14905: 3DS: RIVEN: "Could not find any engine capable of running the selected
game"
----------------------------------+-----------------------------
Reporter:  BallM4788              |       Owner:  (none)
    Type:  defect                 |      Status:  new
Priority:  normal                 |   Component:  Engine: Mohawk
 Version:                         |  Resolution:
Keywords:  mohawk riven 3ds n3ds  |        Game:  Riven
----------------------------------+-----------------------------
Comment (by BallM4788):

 Replying to [comment:7 tag2015]:
 > Thanks for looking into this, could you check if this commit is also the
 culprit of bug #14837? Any AGS game will do (it seems the engine is
 disabled/can't be loaded)

 Just got finished checking it out. Yeah, it seems to be the same thing
 happening there, and the same commit causing it as well. ''Here's the
 thing, though'':
 * Full build with all engines - Riven and AGS (and maybe other engines)
 trigger the bug
 * Build with just the Riven engine - Riven triggers the bug
 * Build with just the AGS engine - AGS triggers the bug
 * Build with just the Riven **AND** AGS engines - **Riven and AGS both
 work perfectly**

 Now I don't know much at all about how plugins and linking work, but
 here's what I'm thinking:

 There was a
 [https://github.com/scummvm/scummvm/commit/55db1210eb578bc5cbdd66edc2c054e26f2d9464
 hack fix] for ticket:11555 where ''"Setting the base address for the
 plugin elf files high in memory forces the linker to generate veneers to
 turn relative jumps to the main binary into absolute jumps."'' A side
 benefit of this was that ''"This also removes the need to handle the
 R_ARM_CALL and R_ARM_JUMP24 relocation types."'' Based on the GDB output
 in comment:5, I'm guessing that something about changing the
 {{{Graphics::PixelFormat}}} constructors into {{{constexpr}}}s is
 interfering with the hack fix, causing plugin linking to fail for certain
 engines based on what engines are being included.

 Like I said, I don't know jack about how plugins and linking and so on
 work. But if someone who knows more about it than me says I'm right, the
 options are probably to either revert the 6522c6e commit or figure out how
 to implement proper relocation.

 Discarding the speculation and going off what we actually know for sure
 right now, I'd say the simplest option is to just revert the 6522c6e
 commit if doing so won't break anything else.
-- 
Ticket URL: <https://bugs.scummvm.org/ticket/14905#comment:8>
ScummVM :: Bugs <https://bugs.scummvm.org>
ScummVM


More information about the Scummvm-tracker mailing list