ScummVM / lr-scummvm Launcher and Interoperability Improvements
-
Thanks @lolonois @mitu and everyone for discussing this issue further!
I wrote a comment on my PR which for convenience I will reproduce here:
Reading over the forum topic, this is a bigger can of worms than I realized. I don't think I'm going to have enough time any time soon to think more carefully about this problem—especially the dichotomy between the two ScummVM flavors.
Off the top of my head, my instinct for solving that issue would be first figure out how to discern which of the two flavors of ScummVM is in use within that installation, and then have the behavior of the shell script contingent on that information. Of course, one must still make decisions about how aggressively to generate .svm files. Best is probably to add some flags to the top of the shell script letting people control this, and then in the documentation on the website explain how to configure these things, so that everyone can decide for themselves how they want it to work. Finally, for default behavior, I think it should come as close as possible to "just working" out of the box as possible, which to me means trying to stay in sync with the ScummVM UI, i.e. autogenerating .svm files always to match what the UI has configured. To accommodate manually created or tuned .svm files, there could be a comment in the file indicating it was autogenerated, which users can remove if they want that .svm to become "sticky" i.e. not get deleted by the auto-syncing logic.
I'll leave this PR open as is, in case anyone else has time to work further on this.
Thanks again to all for everything you do to make RetroPie awesome. ☺️
-
@ctrueden Glad you followed-up on the "can of worms" sorting. IMO there is nothing wrong to pause a suggested change. However, you are right the ScummVM launcher is an odd landmark and contradicts with the documentation atm.
Luckily we dug up most (if not all) the details. Surprsingly, it turned out there is more to consider as I assumed as I went down the rabbithole. Anyway, the information is in thread and can be picked up at some time. I made my suggestions in a branch [1], all what's needed is some consent with/between the maintainers on which logic to integrate it into the mainline.
Maybe @hhromic and @pjft want to add here, as they were discussing the lr-scummvm [2] module initailly.
[1] https://github.com/Gemba/RetroPie-Setup/tree/fb_scummvm_lrscummvm_scriptmodules (see scriptmodules
scummvm.sh
andlr-scummvm.sh
)
[2] https://retropie.org.uk/forum/topic/19693/lr-scummvm-request-for-comments-and-testing -
Did some updates as it turned out that a more recent ScummVM core (2.5+) in
lr-scummvm
does use thescummvm.ini
.- My
scummvm_helper.py
does apply also again for thelr-scummvm
, and: - When a Add Game or Mass Add... is done in
lr-scummvm
UI it follows the same logic as the native ScummVM:- Make unique game id entries in
scummvm.ini
by chopping of any variant suffix. - It creates
*.svm
files, if missing. The*.scummvm
extension should only be used by therom-launcher.sh
internally as it might produce doubles in the gamelist if these would be enabled ines_systems.cfg
.
- Make unique game id entries in
Update Jan 2024
Tested ok with RetroPie 4.8.6 (ad3ca8c
) and ScummVM 2.8 / lr-scummvm 2.8For those who want to testdrive, ssh to your Pi, then:
git clone --depth 1 --branch fb_scummvm_lrscummvm_scriptmodules https://github.com/Gemba/RetroPie-Setup/ rp_setup_scummvm cd rp_setup_scummvm sudo ./retropie_packages.sh scummvm install_bin sudo ./retropie_packages.sh scummvm configure sudo ./retropie_packages.sh lr-scummvm install_bin sudo ./retropie_packages.sh lr-scummvm configure
To return to the original scriptmodules do run the
retropie_package.sh
commands in/home/pi/RetroPie-Setup
folder. No need to run those withinstall_bin
again. - My
-
-
-
Thanks for the trying to improve the function of scummvm. I test it but it doesn't work very well for me or i did something wrong.
I have the game in the scummvm folder with name :
Broken Sword - The Shadow of the Templars
. Inside i put the empty fileBroken Sword - The Shadow of the Templars.svm
. When i choose to launch the game an error from scummvm appear Error running game:Game data didn't found, here is runcommand.log:Parameters: Executing: bash /home/pi/RetroPie/roms/scummvm/+Start\ ScummVM.sh "Broken Sword - The Shadow of the Templars" /home/pi/RetroPie/roms/scummvm/+Start ScummVM.sh: line 55: /home/pi/RetroPie/roms/scummvm/scummvm_helper.py: Permission denied Using game controller: Logitech F710 Gamepad (XInput) Virtual keyboard pack 'vkeybd_default' loaded successfully WARNING: No path was provided. Assuming the data files are in the current directory! WARNING: Broken Sword: The Shadow of the Templars failed to instantiate engine: Game data not found (target 'sword1', path '/home/pi/RetroPie/roms/scummvm')! User picked target 'sword1' (engine ID 'sword1', game ID 'sword1')... Looking for a plugin supporting this target... Broken Sword: The Shadow of the Templars Using game controller: Logitech F710 Gamepad (XInput) WARNING: initWithU32String: Fribidi not available, will use input strings as fallback.!
Thanks
-
@windg said in ScummVM / lr-scummvm Launcher and Interoperability Improvements:
/home/pi/RetroPie/roms/scummvm/+Start ScummVM.sh: line 55: /home/pi/RetroPie/roms/scummvm/scummvm_helper.py: Permission denied
This one is on me, I will fix it in the branch. In the meantime you can do:
sudo chmod a+x /home/pi/RetroPie/roms/scummvm/scummvm_helper.py
The other one is that the
.svm
should be alongside/sibling to the folder thus:Broken Sword - The Shadow of the Templars/ Broken Sword - The Shadow of the Templars.svm
and not:
Broken Sword - The Shadow of the Templars/Broken Sword - The Shadow of the Templars.svm
Thanks for having it tested on your setup in either case.
-
@Lolonois said in ScummVM / lr-scummvm Launcher and Interoperability Improvements:
sudo chmod a+x /home/pi/RetroPie/roms/scummvm/scummvm_helper.py
You don't need
sudo
for that, but the reason it might not work is an USB mountpoint for roms, which gets mounted by default withnoexec
. It's safer to usepython3 /path/to/script.py
to work around this. -
Permissions issue fixed and i put
.svm
file into the scummvm folder but the scummvm shows the same error: about no game data found. Game is working if i choose to start it from the gui.I looked in the scummvm Gui and the game is successfully added and svm file have the correct short name.
I saw mitu comment and i have to say that i am running roms from a usb stick.
Update: I reinstall again the cores, i move the games in the sd-card and they are running, Hurray!!
-
-
@Lolonois said in ScummVM / lr-scummvm Launcher and Interoperability Improvements:
The Windows/USB mount use case constantly escapes me, @mitu .
That's easy to fix - buy an USB stick and store your ROMs on it.
-
@Lolonois I tested it but it's failing with the same error. Also the permission issue is still here.
Parameters: Executing: bash /home/pi/RetroPie/roms/scummvm/+Start\ ScummVM.sh "Return to Zork (CD DOS)" /home/pi/RetroPie/roms/scummvm/+Start ScummVM.sh: line 52: python3 "/home/pi/RetroPie/roms/scummvm/scummvm_helper.py": No such file or directory Using game controller: Logitech F710 Gamepad (XInput) Virtual keyboard pack 'vkeybd_default' loaded successfully WARNING: No path was provided. Assuming the data files are in the current directory! WARNING: MADE failed to instantiate engine: Game data not found (target 'rtz', path '/home/pi/RetroPie/roms/scummvm')! User picked target 'rtz' (engine ID 'made', game ID 'rtz')... Looking for a plugin supporting this target... MADE Using game controller: Logitech F710 Gamepad (XInput) WARNING: initWithU32String: Fribidi not available, will use input strings as fallback.!
Something I noticed, the helper.py file is on the usb stick, into the rom folder, alongside with the +scummvm sh that is normally here.
-
@windg The location of the helper script is intended, as it can also be used without the launcher. That has not changed with my update.
Just to cross this out: Did you run
git pull
in the folder with my branch before running configure again? -
@Lolonois I didn't did that. THe steps i follow was :
- uninstall both scummvm cores
- Delete the folder
- Reinstall again with the above commands
- Run the permission fix command
Thanks!
-
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.