Proposed fix: Interop scummvm / lr-scummvm launcher
-
For successful launch ScummVM games you have currently these options:
Use. Sorry, broken+Start ScummVM.sh
(created by scriptmodulescummvm.sh
)
Use. Sorry, also broken/opt/retropie/libretrocores/lr-scummvm/romdir-launcher.sh
created by scriptmodulelr-scummvm.sh
Time to fix it I guess. If you started like me at a Rpi3 and an earlier Retropie Release the past recommendation was to put every file for a game in a folder and sibling to it a file with extension
.svm
, e.gscummvm launcher
Beneath a Steel Sky/ Beneath a Steel Sky.svm
The
.svm
had to contain the game id. I don't like the idea to put the.svm
file inside the gamefolder, so I want them to stay there and also I don't liked the tedious task of entering the game id manually.With the proposed fix you only have to provide the game file directory and an empty
.svm
with the same name as the folder (see above). As soon as you launch the game via ES it will be automagically add the game id, no more manual lookup. :) That's the proposed scummvm launcher in a nutshell.lr-scummvm launcher
Now for lr-scummvm and the launcher. I don't want to have maintain two sets of svm files with the same information, additionally it is bad practice.
Retroarch scummvm expects a rom path like
<game>/anything.scummvm
libretro.cpp#L302 or at least<game>/some_existing_file
libretro.cpp#L328. But unless you provide a file from inside the<game>
folder to the current launcher you will end up with a segfault. Bam! (Because the auto-detect fails on--path /home/pi/Retropie/roms/scummvm
)However, most likely you will want to provide a
.svm
file to be compatble with the stockes_systems.cfg
and with Skyscraper and other scrapers. Again, there's a catch: If you use a.svm
inside the gamefolder, lr-scummvm will try to auto-detect the game, which works well but increases load time a bit.To be able to provide the game id for retroarch scummvm you have to use a file with
.scummvm
inside the gamefolder. So in contrast to the non-retroach scummvm the folder structure has to be for retroarch scummvm:Beneath a Steel Sky/Beneath a Steel Sky.scummvm
How to match these different expectations between scummvm / lr-scummvm?
Read on: The proposed
romdir-launcher.sh
can be launched with this svm from the location below:Beneath a Steel Sky/ Beneath a Steel Sky.svm
It will test if a
.scummvm
file is present inBeneath a Steel Sky/
and if not it will symlink to the.svm
, but only if the.svm
is not empty. If it is empty or the provided rom does not have the extension.svm
(e.g. when you started a.sh
file (which is legit for the non-retroarch scummvm) a dummy file will be created. In this case retroarch does run--auto-detect
).You can find the proposed changes in the scummvm.sh and lr-scummvm.sh scriptmodules in my fork.
HTH
Finally: I am curious if this would be a way to use scummvm/lr-scummvm alongside, or what improvements could be made?
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.