RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login
    Please do not post a support request without first reading and following the advice in https://retropie.org.uk/forum/topic/3/read-this-first

    Proposed fix: Interop scummvm / lr-scummvm launcher

    Scheduled Pinned Locked Moved Help and Support
    scummvmlr-scummvmlauncherfix
    1 Posts 1 Posters 532 Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • LolonoisL
      Lolonois
      last edited by

      For successful launch ScummVM games you have currently these options:

      Use +Start ScummVM.sh (created by scriptmodule scummvm.sh). Sorry, broken
      Use /opt/retropie/libretrocores/lr-scummvm/romdir-launcher.sh created by scriptmodule lr-scummvm.sh. Sorry, also broken

      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.g

      scummvm 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.scummvmlibretro.cpp#L302 or at least <game>/some_existing_filelibretro.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 stock es_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 in Beneath 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?

      1 Reply Last reply Reply Quote 0
      • First post
        Last post

      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.