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

    Suggestion for Doom Legacy split screen wads folder

    Scheduled Pinned Locked Moved Ideas and Development
    doomdoom legacy
    21 Posts 6 Posters 2.3k 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.
    • tpo1990T
      tpo1990
      last edited by

      I have some great news. I have finally succeeded in making Doom Legacy source port able to be built on RetroPie. I am in the middle of creating a scriptmodule to make it available to the RetroPie community to install. Its almost ready. I just need some input from you.

      Doom Legacy will give us 2 player split screen Coop/Deathmatch with bots support and mods/maps support.

      Which wad folder approach would you prefer to be able to make Doom Legacy port to load from?

      Shared Doom ports wads folder: /home/pi/RetroPie/roms/ports/doom
      Doom Legacy wads folder:/home/pi/RetroPie/roms/ports/doomlegacy

      An important thing to note is that Doom Legacy source port will need its own wad file: legacy.wad to load and that will be needed to be put under the same wads folder as well.

      Greetings from Denmark. :-)

      Developer of install scripts for ports such as Hexen 2, Return to Castle Wolfenstein and Caesar III. See my other projects at my profile.

      mituM 1 Reply Last reply Reply Quote 6
      • tpo1990T
        tpo1990
        last edited by tpo1990

        Here is a screenshot of it working in desktop and it also works in ES/RetroPie
        2019-02-06-133058_960x540_scrot.png

        Greetings from Denmark. :-)

        Developer of install scripts for ports such as Hexen 2, Return to Castle Wolfenstein and Caesar III. See my other projects at my profile.

        1 Reply Last reply Reply Quote 0
        • BriganeB
          Brigane
          last edited by

          Great work and huge accomplishment mate. I am definitely looking forward to try this out :)

          Systems: Raspberry Pi 0/2/3 Model B+
          Os: RetroPie 4.5
          Frontend: Emulationstation & Attract Mode

          tpo1990T 1 Reply Last reply Reply Quote 0
          • tpo1990T
            tpo1990 @Brigane
            last edited by

            @Brigane Thank you. The idea started last year and at the time being Retropie 4.3 with Jessie i was only able to get the Doom menu show up, but now with a new Doom Legacy version and a newer RetroPie version it seems to work and it builds/compiles correctly.

            First SplitWolf / Wolfenstein 3d split screen port and now this. This opens up a whole new world of Doom on our RetroPie. :-)

            Greetings from Denmark. :-)

            Developer of install scripts for ports such as Hexen 2, Return to Castle Wolfenstein and Caesar III. See my other projects at my profile.

            cyperghostC 1 Reply Last reply Reply Quote 0
            • mituM
              mitu Global Moderator @tpo1990
              last edited by

              @tpo1990 I think you could use the same ports dir (doom), since it will simplify the installation with other Doom ports. One problem might be saves, if they're not compatible with the other Dooms port - are they saved under ~/.doomlegacy ?

              tpo1990T 1 Reply Last reply Reply Quote 0
              • cyperghostC
                cyperghost @tpo1990
                last edited by cyperghost

                @tpo1990 I would suggest something like this
                https://github.com/crcerror/launch-doom-packs-RP

                These scripts decompress and compress save states according wad files name. So I think this is a possible way in doing this way. Install zip extension sudo apt install zip

                if ! [ -e "${path}/$wadfile" ]; then
                    echo "Error! ${path}/$wadfile not found!"
                    echo "Please resolve problem in script or install file!"
                    sleep 10
                    exit
                fi
                
                unzip -qq -o "${path}/savegames_${wadfile%.*}.zip" -d "$path"
                "/opt/retropie/supplementary/runcommand/runcommand.sh" 0 _PORT_ "doom" "${path}/$wadfile"
                cd "$path" && zip -mj "savegames_${wadfile%.*}.zip" prbmsav?.dsg
                
                tpo1990T 1 Reply Last reply Reply Quote 1
                • tpo1990T
                  tpo1990 @mitu
                  last edited by

                  @mitu said in Suggestion for Doom Legacy split screen wads folder:

                  @tpo1990 I think you could use the same ports dir (doom), since it will simplify the installation with other Doom ports. One problem might be saves, if they're not compatible with the other Dooms port - are they saved under ~/.doomlegacy ?

                  Actually it works just fine with using either the dir doom or doomlegacy for wad files. Thats why im asking. Yes Doom Legacy port keeps its own saves in the ~/.doomlegacy dir.

                  The file format for Doom Legacy saves is .dsg. ZDoom on the other hand uses a different file format called .zds which is kept under ~/.config/zdoom

                  I tried with loading saves from Doom Legacy with ZDoom and vice versa. The saves only works with their own ports.

                  Greetings from Denmark. :-)

                  Developer of install scripts for ports such as Hexen 2, Return to Castle Wolfenstein and Caesar III. See my other projects at my profile.

                  1 Reply Last reply Reply Quote 0
                  • tpo1990T
                    tpo1990 @cyperghost
                    last edited by

                    @cyperghost This could be a possible solution for making save states work on all the Doom ports in RetroPie. Im not sure what file format that prboom use for its save states or if it will work with Doom Legacy. It might be worth a try to test it out though.

                    I didnt thought about the save states with other doom ports until you brought it into this thread. Im not sure if this is something that many RetroPie users would use or not. Thank you. :-)

                    Greetings from Denmark. :-)

                    Developer of install scripts for ports such as Hexen 2, Return to Castle Wolfenstein and Caesar III. See my other projects at my profile.

                    cyperghostC 1 Reply Last reply Reply Quote 1
                    • cyperghostC
                      cyperghost @tpo1990
                      last edited by cyperghost

                      @tpo1990 prboom uses the dsg format.
                      The name is prbmsav[0-9].dsg for all savestates independent from wadfilename.
                      So my intention was to pack all savestates from one wadfile to one zip with the name savestate_wadfile.zip so we can have 100 of wads in one folder without getting in conflict with other savestates.

                      This could be a possible solution for making save states work on all the Doom ports in RetroPie

                      This is the solution imho for this. I've already wrote that years ago in the RetroPie docs ;)

                      If you wish I can write a selection menu to start wad file like I've done here with OpenBOR modules

                      tpo1990T 1 Reply Last reply Reply Quote 1
                      • tpo1990T
                        tpo1990 @cyperghost
                        last edited by

                        @cyperghost This looks great. Yes please do write a selection menu. Can you post it with a screenshot here after you finished it so i can see it? :-)

                        Would the selection menu be with different doom ports or just the wad files to be launched by a specific doom port such as prboom or zdoom?

                        Greetings from Denmark. :-)

                        Developer of install scripts for ports such as Hexen 2, Return to Castle Wolfenstein and Caesar III. See my other projects at my profile.

                        cyperghostC 1 Reply Last reply Reply Quote 0
                        • cyperghostC
                          cyperghost @tpo1990
                          last edited by

                          @tpo1990 This is a first version adapted from OpenBOR script

                          #!/bin/bash
                          readonly JOY2KEY_SCRIPT="$HOME/RetroPie-Setup/scriptmodules/helpers.sh"
                          readonly WAD_DIR="$HOME/RetroPie/roms/ports/doom"
                          [[ -e $JOY2KEY_SCRIPT ]] || exit
                          sleep 0.5; sudo pkill -f joy2key
                          source "$JOY2KEY_SCRIPT"
                          scriptdir="$HOME/RetroPie-Setup"
                          for file in "$WAD_DIR/"*.[Ww][Aa][Dd]; do
                            [[ -e $file ]] || continue
                            filename="${file##*/}"; filename="${filename%.*}"
                            darray+=("$file" "$filename")
                          done
                          if [[ ${#darray[@]} -gt 0 ]]; then
                              joy2keyStart; sleep 0.2
                              cmd=(dialog --backtitle " RetroPie - DOOM Where is All the Data  selection " --title " WAD selection list " --no-tags --stdout --menu "Please select a file from list to get launched:" 16 75 16)
                              choices=$("${cmd[@]}" "${darray[@]}")
                              joy2keyStop; sleep 0.2
                              [[ $choices ]] || exit  
                          fi
                          "/opt/retropie/supplementary/runcommand/runcommand.sh" 0 _PORT_ "doom" "$choices"
                          
                          tpo1990T 1 Reply Last reply Reply Quote 1
                          • tpo1990T
                            tpo1990 @cyperghost
                            last edited by

                            @cyperghost Looks great. I noticed in the first version of the script that runcommand.sh is using "doom" port to launch with the variable "$choices". Will this only work with ZDoom port or all of them if the scriptmodule is being built within "doom" dir and where would you place the selection script?

                            I mean like this .

                            • lr-prboom = 0 PORT "doom" - DoomWADdir: /$HOME/RetroPie/roms/ports/doom
                            • prboom = 0 PORT "doom" - DoomWADdir: /$HOME/RetroPie/roms/ports/doom
                            • zdoom = 0 PORT "doom" - DoomWADdir: /$HOME/RetroPie/roms/ports/doom
                            • crispy-doom = 0 PORT "doom" - DoomWADdir: /$HOME/RetroPie/roms/ports/doom
                            • doomlegacy = 0 PORT "doom" - DoomWADdir: /$HOME/RetroPie/roms/ports/doom
                            • chocolatedoom = 0 PORT "doom" - DoomWADdir: /$HOME/RetroPie/roms/ports/doom

                            Greetings from Denmark. :-)

                            Developer of install scripts for ports such as Hexen 2, Return to Castle Wolfenstein and Caesar III. See my other projects at my profile.

                            1 Reply Last reply Reply Quote 0
                            • cyperghostC
                              cyperghost
                              last edited by

                              This will work the same way as runcommand does.
                              If you default programm is pr-boom then this will be selected.
                              And if you use a dedicated software for a special WAD file then crispy-doom will be loaded (afaik!). I only know the selction system for OpenBOR there are different binary versions available. And there it works as I descriped so I assume it's the same for doom - as long as runcommand is involved!.

                              This is just a basic script. You can extend it to endless usecases. The script should be stored to /home/pi/RetroPie/roms/ports. Use an proper filename for this DOOM - Where is All the Data.sh ;)

                              tpo1990T 1 Reply Last reply Reply Quote 0
                              • tpo1990T
                                tpo1990 @cyperghost
                                last edited by

                                @cyperghost Thank you very much. I will try it out very soon after making som adjustments to Hexen 2 scriptmodule that needs to be fixed before the Pull request can be merged. :-)

                                Greetings from Denmark. :-)

                                Developer of install scripts for ports such as Hexen 2, Return to Castle Wolfenstein and Caesar III. See my other projects at my profile.

                                1 Reply Last reply Reply Quote 0
                                • O
                                  OldSchool
                                  last edited by

                                  This sounds amazing. I've always hoped to do some doom splitscreen multiplayer so it's great to see it's feasible on the pie. I know it's supported by multiple doom ports, but never any that seemed supported on Retropie. I wonder where the difficulty lies in making it work.

                                  tpo1990T 1 Reply Last reply Reply Quote 0
                                  • tpo1990T
                                    tpo1990 @OldSchool
                                    last edited by tpo1990

                                    @OldSchool Yes there are probably more than one Doom source port that supports split screen and our best bet is to use Doom Legacy since it supports SDL and can be built from source on ARM. Doom Legacy is still active in development. There is also ReMooD that is an enhanced version of Doom Legacy which expands to 4 player split screen instead of 2 player split screen that Doom Legacy has, but that source port is dead.

                                    Last year on RetroPie 4.3 with Jessie i managed to get ReMood to work with 4 player split screen with some small errrs and it was playable to an extent, but after upgrading to RetroPie 4.4 with Stretch it does not work anymore. Maybe it will work now since there has been some updates to RetroPie 4.4.

                                    Now one important thing to note is that Doom Legacy is requiring a legacy.wad file and it must be located in one of the following DOOMWADDIR that the binary is using along with doom iwads.

                                    Greetings from Denmark. :-)

                                    Developer of install scripts for ports such as Hexen 2, Return to Castle Wolfenstein and Caesar III. See my other projects at my profile.

                                    1 Reply Last reply Reply Quote 0
                                    • J
                                      jcook84
                                      last edited by

                                      Just saw this. I'll be keeping an eye on your github page for updates!

                                      tpo1990T 1 Reply Last reply Reply Quote 1
                                      • tpo1990T
                                        tpo1990 @jcook84
                                        last edited by

                                        @jcook84 Glad to hear from you. I have made some progress while you were inactive and meanwhile i have learned a lot with scripting for RetroPie. I am still in the progress of making a working scriptmodule for Doom Legacy. :-)

                                        I have also experimented with xboxdrv configurations for Doom Legacy as well. I can say that my xboxdrv configuration is working in Doom Legacy so that i can play with my USB Controller/gamepad. It works great for 1 player.

                                        Greetings from Denmark. :-)

                                        Developer of install scripts for ports such as Hexen 2, Return to Castle Wolfenstein and Caesar III. See my other projects at my profile.

                                        1 Reply Last reply Reply Quote 1
                                        • tpo1990T
                                          tpo1990
                                          last edited by

                                          Alright so i made some progress with Doom Legacy source port scriptmodule and i have made the decision to follow Zdoom and Prboom installation and configurations.

                                          This mean that like Zdoom, Doom Legacy will also use the Shared Doom ports wads folder: "/home/pi/RetroPie/roms/ports/doom" and Doom Legacy will use the same emulators.cfg file, so that it will make it possible for us to choose which source port as an "Emulator" in the runcommand menu when launching Doom.sh file in Emulationstation.

                                          I think this is the best way and also it will not leave a mess with many doom.sh files in our Ports folder. I have seen that Chocolate doom from ZeroJays RetroPie-Extras repository does this with creating each chocolate-doom, chocolate-doom2, chocolate-tnt etc.

                                          Greetings from Denmark. :-)

                                          Developer of install scripts for ports such as Hexen 2, Return to Castle Wolfenstein and Caesar III. See my other projects at my profile.

                                          J 1 Reply Last reply Reply Quote 1
                                          • J
                                            jcook84 @tpo1990
                                            last edited by

                                            @tpo1990 You're amazing! It worked really well for me on a pi zero, which is still on Jessie 8. The script didn't conflict with the other doom ports. Thank you for all your work on this!

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