RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login

    lr-scummvm: request for comments and testing

    Scheduled Pinned Locked Moved Ideas and Development
    retroarchscummvmcorescriptmoduletesting
    189 Posts 37 Posters 42.1k 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.
    • H
      hhromic @marus
      last edited by

      @marus in case you haven't read about shaders in general and what they do, take a look here: https://github.com/RetroPie/RetroPie-Setup/wiki/Shaders-and-Smoothing

      In summary, shaders allow to "enhance" the image via simulating certain aspects of old consoles/devices. In the case of ScummVM, these games were meant for CRT "tube" monitors, so we can simulate a scanline effect with shaders. It is true that CRT monitor is not the same as CRT TV, however I think the effect still looks nice for ScummVM.

      To try out, in the guide I linked above follow the steps to enable shaders support and then select the shader you want. There are many shaders, I particularly like "zfast crt" normal (not the curvature version). But you can try others, for example the "crt-pi" one. Beware that most of these shaders are intensive and won't work very well on the RPI. The zfast* and crt/lcd-pi ones are optimised.

      Also another tip: do NOT use smoothing from the guide, it will make the emulation slower probably and the results aren't that good.

      1 Reply Last reply Reply Quote 1
      • E
        EctoOne
        last edited by

        with the standalone scummvm version i had an extra scummvm-data folder for the game files/folders and the svm files in the default scummvm folder. i don't know if that would still work with the lr core and i currently can't test it myself.
        the only other solution would be to use that setup i mentioned and create symlinks in the default folder to the svm files.

        H M 2 Replies Last reply Reply Quote 1
        • H
          hhromic @EctoOne
          last edited by

          @EctoOne the scriptmodule automatically install scummvm data files in the $biosdir/scummvm directory (typically /home/pi/RetroPie/BIOS/scummvm).
          These files are pulled from here (official lr-scummvm repository): https://github.com/libretro/scummvm/tree/master/backends/platform/libretro/aux-data (the ZIP file to be precise).

          This extra data contains the scummvm UI modern theme, game extra data files and soundfont files. All of that is automatically downloaded and configured for it to work out of the box and be picked by scummvm for each relevant game.

          I'm not sure if you are refering to the same data files?

          1 Reply Last reply Reply Quote 0
          • M
            marus @EctoOne
            last edited by

            @EctoOne said in lr-scummvm: request for comments and testing:

            with the standalone scummvm version i had an extra scummvm-data folder for the game files/folders and the svm files in the default scummvm folder. i don't know if that would still work with the lr core and i currently can't test it myself.

            Hi EctoOne, standard Scumm emulator creates svm files (after adding games from GUI) in the default folder so there is not problem, lr-scumm recognize that svm files but fails when launch games due to data not found.

            the only other solution would be to use that setup i mentioned and create symlinks in the default folder to the svm files.

            May you explain please, how can I create a symlink? Many thanks

            1 Reply Last reply Reply Quote 0
            • E
              EctoOne
              last edited by

              @hhromic
              Nope, sorry that was not what I meant. I meant that I had my gamefiles in a separate folder named scummvm-data instead of the normal scummvm folder. I mean with ScummVM it doesn't really matter because you have to add them manually with the GUI anyways.
              So I only had *.svm files in my default rom folder and that worked. But apparently it doesn't work with the lr core, which makes sense.

              @marus
              I actually never haved used them myself at least not directly from the console.
              This page should help: https://www.cyberciti.biz/faq/creating-soft-link-or-symbolic-link/
              I suggest again to use a separate folder for the gamefiles, not the scummvm folder.

              Then something like this should work (Hopefully):
              ln -s /home/pi/RetroPie/roms/scummvm-data/GAMEFOLDER/GAME.svm /home/pi/RetroPie/roms/scummvm/GAME.svm
              I have used that method before for other systems but I'm not sure if this would work with ScummVM. Also you can create symlinks only on linux partitions, if you have your games on an usb stick it probably won't work right away and requires some more work.

              You should test it with one game first and if it works, maybe this will make things easier: https://retropie.org.uk/forum/topic/10849/create-a-custom-es-system-able-to-launch-games-for-many-systems/82

              $ ./add-game-to-custom-system.sh -d ~/RetroPie/roms/scummvm ~/RetroPie/roms/scummvm-data/*.svm
              

              That should find all *.svm files and link them in the scummvm folder.
              NOTE: I used scummvm-data in both examples as folder where you put your games. Change it if you want.

              M 1 Reply Last reply Reply Quote 2
              • M
                marus @EctoOne
                last edited by

                @EctoOne Thank you! I will read and try then let you know, I'm sure it is an annoyng issue for everybody using lr-scumm, if it works this will be hands down the best emulator to play scumm games on Retropie.

                1 Reply Last reply Reply Quote 0
                • H
                  hhromic
                  last edited by

                  @EctoOne @marus , guys I got a bit confused with what are you trying to do with that.

                  @EctoOne , I understand now, you mean the actual game files in a separate folder than the "scummvm" and the symlink the svm files so EmulationStation doesn't see the actual folders of each game?

                  After checking how recalbox does it, I think I got an idea on how to make it for EmulationStation to display just the game and not the folder, and still make it work as intended. However I need a bit of time to figure out a proper solution. When I have it done I will update the patch and you can test it.

                  Thanks for all the feedback/testing, very helpful!

                  M 1 Reply Last reply Reply Quote 1
                  • H
                    hhromic
                    last edited by

                    Update

                    Good news! Making EmulationStation open the game by its folder directly was easier than I thought :) I implemented this new feature now in the proposed scriptmodule. I updated the instructions in the first post accordingly. To summarise for existing testers:

                    • Your game directories must have .svm at the end of the name. For example: Indiana Jones and the Fate of Atlantis.svm. Please note that this looks like an extension but is actually just part of the directory name. This is what tricks EmulationStation to consider the directory itself as the "game" and you can then launch it directly without opening it first.
                    • You must first update the lr-scummvm scriptmodule (recommended is to uninstall it and re-patch the scriptmodule, see instructions). Recompiling/reinstalling lr-scummvm is not necessary. Then you need to re-configure the lr-scummvm installation. You can do this using the following commands:
                      cd $HOME/RetroPie-Setup
                      sudo ./retropie_packages.sh lr-scummvm configure
                      

                    After you re-configure lr-scummvm and rename your game directories to have .svm at the end of the name, you should be able to launch the games from EmulationStation without entering the directories first, and also able to scrape them like any console rom. Let me know how it goes!

                    M 1 Reply Last reply Reply Quote 1
                    • M
                      marus @hhromic
                      last edited by

                      @hhromic said in lr-scummvm: request for comments and testing:

                      @EctoOne @marus , guys I got a bit confused with what are you trying to do with that.

                      @EctoOne , I understand now, you mean the actual game files in a separate folder than the "scummvm" and the symlink the svm files so EmulationStation doesn't see the actual folders of each game?

                      After checking how recalbox does it, I think I got an idea on how to make it for EmulationStation to display just the game and not the folder, and still make it work as intended. However I need a bit of time to figure out a proper solution. When I have it done I will update the patch and you can test it.

                      Thanks for all the feedback/testing, very helpful!

                      Happy to read it, anyway it should be the same that Retropie standard Scumm emulator do.
                      I have Scumm games in subfolders but standard Scumm emulator, once added a game, put .svm file into roms/scummvm so the gamelist does not show subfolders.
                      For the same games lr-scumm need the .svm files into game folders so now my gamelist got two entries for every game: one for standard scumm and one for lr-scumm, but the one for lr-scumm is a folder with the game inside.
                      I'll wait for your patch, in the meanwhile i could try ectoone solution to give a little contribute.
                      Cheers ;)

                      H 1 Reply Last reply Reply Quote 0
                      • H
                        hhromic @marus
                        last edited by

                        @marus I just made a new version of the scriptmodule, see my post above. With this approach, both the standalone and libretro emulators can live alongside. The only modification to your game directories is to add .svm to the directory name. The standalone ScummVM should be still happy with this (ignores the internal svm file), and the libretro core is happy (uses the internal svm file). EmulationStation hides the .svm "extension" of the directory name anyway, so looks lik a "game".
                        Try the newest iteration and let me know.

                        1 Reply Last reply Reply Quote 0
                        • M
                          marus @hhromic
                          last edited by

                          @hhromic said in lr-scummvm: request for comments and testing:

                          Update

                          Good news! Making EmulationStation open the game by its folder directly was easier than I thought :) I implemented this new feature now in the proposed scriptmodule. I updated the instructions in the first post accordingly. To summarise for existing testers:

                          • Your game directories must have .svm at the end of the name. For example: Indiana Jones and the Fate of Atlantis.svm. Please note that this looks like an extension but is actually just part of the directory name. This is what tricks EmulationStation to consider the directory itself as the "game" and you can then launch it directly without opening it first.
                          • You must first update the lr-scummvm scriptmodule (recommended is to uninstall it and re-patch the scriptmodule, see instructions). Recompiling/reinstalling lr-scummvm is not necessary. Then you need to re-configure the lr-scummvm installation. You can do this using the following commands:
                            cd $HOME/RetroPie-Setup
                            sudo ./retropie_packages.sh lr-scummvm configure
                            

                          After you re-configure lr-scummvm and rename your game directories to have .svm at the end of the name, you should be able to launch the games from EmulationStation without entering the directories first, and also able to scrape them like any console rom. Let me know how it goes!

                          Great! I've just replied to prior post :-D
                          Are you sure that changing folder name does not affect how the game work?
                          In addiction, there are some games, like Full Throttle, that have 2 subfolders, I actually have .svm file for this game into roms/scummvm/ft/resources: not sure your workaround work if I rename resurces in full throttle.svm, i'll try it.

                          H 1 Reply Last reply Reply Quote 1
                          • H
                            hhromic @marus
                            last edited by

                            @marus yes I tested it :)
                            Regarding the subfolders, do not rename internal subfolders!
                            You just need to rename the main/top folder containing all game files. In your case, just rename the main/top ft folder to ft.svm. Everything else inside (including subfolders) should remain intact.
                            Also, you don't need to create internal svm files for each subfolder, only in the main/top folder of the game.

                            M 1 Reply Last reply Reply Quote 0
                            • M
                              marus @hhromic
                              last edited by

                              @hhromic I'm going to try, just a clarification: after renaming game folder have I to create .svm file (whit short name inside) inside the folder itself?

                              H 1 Reply Last reply Reply Quote 0
                              • H
                                hhromic @marus
                                last edited by hhromic

                                @marus yes, exactly, like you did before. In summary you should have a directory structure like in this example with two games:

                                roms/scummvm/
                                       ┣ Indiana Jones and The Fate of Atlantis.svm/
                                       ┃   ┣ atlantis.svm   <- "atlantis" inside
                                       ┃   ┣ MONSTER.SOU
                                       ┃   ┣ ATLANTIS.000
                                       ┃   ┕ ATLANTIS.001
                                       ┕ Day of the Tentacle.svm/
                                            ┣ tentacle.svm   <- "tentacle" inside
                                            ┣ MONSTER.SOU
                                            ┣ TENTACLE.000
                                            ┕ TENTACLE.001
                                

                                Remember that if the game has more subdirectories, just leave them there untouched, the only thing that matters is the main directory having ".svm" at the end of the name and the game ".svm" file inside with the game id.
                                Let me know how how it goes for you. Thanks for testing!

                                M 1 Reply Last reply Reply Quote 0
                                • H
                                  hhromic
                                  last edited by

                                  @BuZz I have a curious question. How strong is the requirement for modules to compile using -O2? The Makefile of the core defaults to -O3 and the resulting binary seems to be working fine. If we allow this optimisation I can get rid of the small patch this scriptmodule is applying to force -O2. What do you think?

                                  BuZzB 1 Reply Last reply Reply Quote 0
                                  • BuZzB
                                    BuZz administrators @hhromic
                                    last edited by

                                    @hhromic can leave it as O3. O2 is just our defaults

                                    To help us help you - please make sure you read the sticky topics before posting - https://retropie.org.uk/forum/topic/3/read-this-first

                                    H 1 Reply Last reply Reply Quote 1
                                    • H
                                      hhromic @BuZz
                                      last edited by

                                      @BuZz great, I will test more with the default O3 from the core. In general the scriptmodule seems to be evolving good and getting good reception and ideas, should be ready to submit soon :)

                                      1 Reply Last reply Reply Quote 1
                                      • M
                                        marus @hhromic
                                        last edited by

                                        @hhromic I tried to follow your instruction about repatching script but something is gone wrong, now i have to reinstall lr-scumm. Maybe you should write step by step how to uninstall and patch the script, at least for no experts 😉
                                        No more time for testing these days, Once reinstalled i’ll give you some feedback, thanks again for your work!

                                        H 1 Reply Last reply Reply Quote 0
                                        • H
                                          hhromic @marus
                                          last edited by

                                          @marus oh, sorry to hear. Anyway is not such bad news as I now am no longer forcing O2 optimisation for the binary building, but the default O3 from upstream. This should create, in some cases, a better optimised/faster binary.

                                          To uninstall, update the patch, and restart from a clean state (rebuild the binary), execute the following commands step-by-step:

                                          cd $HOME/RetroPie-Setup  # go to the RetroPie Setup directory
                                          sudo ./retropie_packages.sh lr-scummvm remove  # remove lr-scummvm core
                                          rm -rf scriptmodules/libretrocores/{lr-scummvm.sh,lr-scummvm}  # remove scriptmodule and old scriptmodule data
                                          patch -p1 < <(wget https://github.com/hhromic/RetroPie-Setup/compare/master...add-lr-scummvm.diff -qO-)  # re-patch with new version of the script
                                          sudo ./retropie_packages.sh lr-scummvm clean  # clean any old build directory
                                          sudo ./retropie_packages.sh lr-scummvm  # re-build lr-scummvm, configure and re-install
                                          

                                          Then make sure your games are in the new format: .svm at the end of each folder name and a unique .svm file with the corresponding gameid inside each game folder.

                                          Finally, restart EmulationStation and you should see your games under the scummvm system as single entries and not folders. If you click on any, it should immediately launch the game. You can also scrape the system too to get art and metadata for the games.

                                          Take your time to test and let me know of your feedback when you can :), much appreciated!

                                          1 Reply Last reply Reply Quote 1
                                          • BiZzAr721B
                                            BiZzAr721
                                            last edited by

                                            Great work @hhromic . I want to share with you some information you may find useful.

                                            During the evolution of OpenBOR on Retropie (now compiled from latest source, fully functional) with great efforts by @cyperghost, @darknior and @zanac, who has been paramount, & made us aware of GL4ES, which is a wrapper to provide OpenGL 2.x functionalty.

                                            @zanac has compiled and shared his gl4es lr-scummvm binary, as well as recommendations for compiling with GL4ES, which retroarch can use natively!

                                            https://retropie.org.uk/forum/topic/13784/openbor-finally-working-fine-on-retropie-with-es/299?page=15
                                            (you can find the link to his lr-ScummVm core in post #307)

                                            H 1 Reply Last reply Reply Quote 1
                                            • 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.