Suggestion for Doom Legacy split screen wads folder
-
@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. :-)
-
@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
? -
@tpo1990 I would suggest something like this
https://github.com/crcerror/launch-doom-packs-RPThese 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
-
@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.
-
@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. :-)
-
@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 namesavestate_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
-
@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?
-
@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"
-
@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
-
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 thisDOOM - Where is All the Data.sh
;) -
@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. :-)
-
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.
-
@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.
-
Just saw this. I'll be keeping an eye on your github page for updates!
-
@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.
-
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.
-
@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!
-
@jcook84 With all my testing and dedication to getting our goal with Doom split-screen on RetroPie working, i was expecting it to run without any conflicts with other doom ports. I did not expect that a pi zero would be able to run it. Thanks to you too, you kept the idea alive.
One thought to think of is that ReMooD might be able to run on the latest RetroPie version just like Doom Legacy, since ReMooD is an enhanced version of Doom Legacy and we know that ReMooD enables 4 player split-screen instead of Doom Legacy's 2 player split-screen mode.
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.