Doom Addon ZIP Integration (DAZI) for RetroPie
-
@NIGHTKILLER05 said in Doom Addon ZIP Integration (DAZI) for RetroPie:
¿is it possible to modify the runcommand menu to 1) launch a game 2) Press A to enter runcommand menu 3)select one or more mods in a list 3)Exit the runcommand menu launching the game with that mods activated?
I'm not sure about modifying the actual runcommand script maintained by RetroPie, but a Menu to select M0Ds is a Great Idea.
I'm currently working on a Menu driven script to Load M0D.ZIPs.
At the moment I have it set to always Run before the runcommand Menu is Launched IF the $Emulator is lzdoom.Still need some more testing and tweaking, but here are some screenshots of the what I have so far:
Due to the Space Limitation on some HW with tmpfs, I plan on accommodating for multiple zdoom AddOn Locations:
~/RetroPie/roms/ports/doom/addon
/dev/shm/addonsSubject to change and open to suggestions and recommendations...
-
DAZI v2022.05 Released.
[dazi-mod-loader] Menu is the New Feature worth mentioning.
Brings easy method to Add and Remove M0Ds.
Extracts ZIP/zip Files, and Supports Loading other pk3/pk7 files.First crack at the Mod Menu here...
The scripts could use some cleaning up, but the functionality is there.Feel free to report any issues here.
-
@RapidEdwin08 Amazing, let me test (and enjoy!) it, thank you man, this is my dream came true!!!!
-
Last minute cleaning and changes to script made after the 202205 release mentioned above.
dazi-template now supports loading any number of mods.
ZIPs still get extracted, but all other file types now get symbolic links
Automated Numeric 0rder for M0Ds in templates + mod-loader menu
Traversing Sub-Directories now supported in mod-loader menu
Mod-loader is now independent; no need to install dazi unless you want it to load @runncommand.You can identify the latest version inside the menu/template by 2022.05 instead of 202205.
-
DAZI v2022.06 Released.
Added [srb2] AddOns Manager.
Documentation updates.The [srb2] AddOns Manager Simply applies CUSTOM AddOns Directory to the srb2.cfg files.
[srb2] AddOns Are Technically D00M M0Ds After All... -
Hey, I already try it DAZI and it's amazing!! great, really really great work, thank you.
I have 2 suggestions, if that's possible:
-When you create a zip file, it would bea good option if I can include one or more .txt files to know the details of the mod/mapset (I would read the file from WinSCP for example, without the need to search for it at the internet, in case I want to know more from the mod itself, there are many "DOOM/HEXEN/HERETIC" RPG mods that need those files to learn the basis, or weapon mods in what we need to know hot to use them), and DAZI could ommit that file extension from the list of files to load. Another workaround could be put those .txt or .rtf or .mhtml in a folder inside the .zip and DAZI would ommit folders as if they don't exist or something like that.
-You could add and optional (I repetat, optional) way to automatically delete the loaded/used mods located at "/dev/shm/addon" after I exit the game in order to have a clean list in the next game to load, currently I have to select a game, wait for the [dazi-mod-loader], and then check if there are any mods already loaded, erase them, and then select another set of mods and play the game.
I hope you'll find that suggestions useful, and thank you again.
-
@NIGHTKILLER05 Thanks for the Feedback!
Are you using the DAZI Template sh for your D00M.sh's? It removes and recreates the addon folder already after it's finished.
Edit: actually I might like the idea of moving the addon clean up out of the template.sh and into the runcommand_onEnd.sh. Will try it out...
The template.sh can also load as many M0Ds as you want.
I let the Template.sh do all the work because you don't need to create an emulators.cfg for each custom M0D anymore. Just modify each doom.sh as needed.As for 0mitting TXT files, anything is possible, but is it really needed? I never encountered an issue with loading them using the wildcard * in LZDoom.
-
@RapidEdwin08 I think it would be useful to offer the option (something that anyone can choose to on/off) to ommit certain extensions, like .txt/.rtf/.html/.doc files, to avoid the clutter in the list of mods/maps in [dazi-mod-loader] when someone is loading and sorting mods/maps order.
By the way, there are certain maps that replaces doom episodes, one good example is the mapset "Back to Basics" which replaces the second eposide of Ultimate Doom, ¿Would It be possible to add an option or file to choose the starting map? (like the "-map mapname" cli command, but with a feature built in DAZI.
Again, thank for such great program.
-
@RapidEdwin08 Oh, the template.sh worked great, by the way, thank you.
-
I have been downloading PWADs like crazy, and It's thanks to you man, hey could you add the option to let the user choose the "default MODs folder" in which DAZI will initially search, please please please? currently is "/home/pi/RetroPie/roms/ports/doom/mods", but I need to put mods, maps and addons from several games, not only Doom.
By the way, It is normal that I can't use folder names with spaces for my mod/maps/Pwads?
Thank you again for such great add to any RetroPie.
-
@NIGHTKILLER05 said in Doom Addon ZIP Integration (DAZI) for RetroPie:
I have been downloading PWADs like crazy, and It's thanks to you man, hey could you add the option to let the user choose the "default MODs folder" in which DAZI will initially search, please please please? currently is "/home/pi/RetroPie/roms/ports/doom/mods", but I need to put mods, maps and addons from several games, not only Doom.
No need, subdirectories are supported. I sorted mine like you mentioned, maps, mods, tcs, ect...
Just make sure it's all in doom/mods
Are you sure you're using latest version? 2022.06
If you're not sure, just redownload and reinstall...By the way, It is normal that I can't use folder names with spaces for my mod/maps/Pwads?
Yep, I'm pretty sure it's due to using the LZDoom wildcard * to load.
Best to avoid SPACES and Special characters if possible. -
DAZI v2022.07 Released.
M0D Loader Menu can now Read/Display [.TXT] [.txt] Files.
[DAZI-template.sh] now Dynamically Updates M0D#'s based on AddOn Directory content.
AddOn Directory Clean Up MOVED from [dazi-template.sh] to [runcommand-onend].
Added Config [runcommand-onstart/runcommand-onend] 0ptions to Script Menu.
Changed [runcommand] Settings to be Triggered by [doom] P0RT Instead of [lzdoom] Emulator.
Added [lzdoom-dazi+] for Loading M0Ds from BOTH AddOn Locations.
Added Select Alternate M0D Directory for Current Session Feature.
Added Configurable [alternateM0Ddir=] to 0verride DEFAULT M0D Directory (0ptional+Manual).
Documentation Updates and Cleaning.
-
That updates sounds great man, THANK YOU !!!!! I'll update the script tonight !!!!!!!
-
@RapidEdwin08 hey man I am checking the update, and I only have a couple of doubts:
-Where inside the Doom Loader menu can I read certain TXT files? my update menu looks like this:
-When you said "[DAZI-template.sh] now Dynamically Updates M0D#'s based on AddOn Directory content", do you mean that now I don't need to list in incremenal order the mods I want to apply or something?And again, thank you.
-
@NIGHTKILLER05 said in Doom Addon ZIP Integration (DAZI) for RetroPie:
@RapidEdwin08 hey man I am checking the update, and I only have a couple of doubts:
-Where inside the Doom Loader menu can I read certain TXT files? my update menu looks like this:
In the LOAD [M0D] Menus, it will now READ TXT files instead of LOAD them.
-When you said "[DAZI-template.sh] now Dynamically Updates M0D#'s based on AddOn Directory content", do you mean that now I don't need to list in incremenal order the mods I want to apply or something?
And again, thank you.
The [DAZI-template.sh] will count Files in the AddOn DIR before assigning them #s.
So if you have [x3 M0Ds] already loaded in the AddOn DIR before you Launch [DAZI-template.sh], it will start the count with [3] and Load doomM0D1 as [04_M0D1.wad] and doomM0D2 as [05_M0D2.pk3] ect, the same behavior as the M0D Loader Menu basically.
[ZIPs] still maintain their 0riginal file names when getting extracted. -
-
@NIGHTKILLER05 said in Doom Addon ZIP Integration (DAZI) for RetroPie:
y the way, there are certain maps that replaces doom episodes, one good example is the mapset "Back to Basics" which replaces the second eposide of Ultimate Doom, ¿Would It be possible to add an option or file to choose the starting map? (like the "-map mapname" cli command, but with a feature built in DAZI.
Been testing [lzdoom-dazi+warp] in the emulators.cfg for D00M.
Seems to work OK so far.Still needs some tweaking for easily selecting Level #s from the Menu, and still need to add to the templates...
Will probably add the Difficulty Level too since that 0ption is skipped during warp.If you want to Manually test the warp, Copy/Paste your 0wn [lzdoom-dazi+] entry and add the warp settings to
/opt/retropie/configs/ports/doom/emulators.cfg.eg. Back2Basics: warp to E2M1 lzdoom entry from a pi3:
lzdoom-dazi+warp = "DOOMWADDIR=/home/pi/RetroPie/roms/ports/doom /opt/retropie/ports/lzdoom/lzdoom -iwad %ROM% +fullscreen 1 -config /home/pi/RetroPie/roms/ports/doom/lzdoom.ini +vid_renderer 0 +'snd_mididevice -2' -file /dev/shm/addon/* -file /home/pi/RetroPie/roms/ports/doom/addon/* -warp 2 1 -skill 3"
Just rename to [lzdoom-dazi+warp] and ADD -warp 2 1 -skill 3" to the very END of the Entry.
-
DAZI v2022.08 Released
Added [lzdoom-dazi+warp] Emulator for Level Warping.
Added WARP and DIFFICULTY Settings to M0D Loader Menu and [DAZI-template.sh].
Added [ABORT] to M0D Loader Menu to REFRESH the [runcommand] when Needed.
(-ADDON) [-Templates.sh] and [SymbolicLinks] have been REPLACED with (-WARP).
Added more Commonly known [doom.wads] to [DAZI-Templates.sh] and [SymbolicLinks].
Documentation Updates for WARP and DIFFICULTY Settings.NOTE: When [lzdoom-dazi-warp+] is set as the Default Emulator, the [runncommand] pulls the lzdoom-dazi+warp string from [emulators.cfg] before the [runcommand-onstart] runs DAZI M0D Loader Menu.
The 0nly way to UPDATE WARP Settings @ or AFTER the [runncommand] is to Toggle the chosen Emulator (lzdoom-dazi+warp -> lzdoom -> lzdoom-dazi+warp).
The ABORT 0ption was added for this Reason. -
@RapidEdwin08 Thank you man, I will Try it !
-
Any issues or feedback?
Support for lr-prboom and prboom+ may be coming in the next release.
Been playing around with using DAZI to load M0Ds for both and it works pretty well.For lr-prboom I can add an lrPRBOOM Flag setting to the Template.
When enabled it will make symbolic links to the [doomWAD] and the [prboom.wad] in the addonDIR.
This leaves it up to you to get the [prboom.cfg] file in the addonDIR.
You will have to make a custom prboom.cfg for each M0D.
For entering the M0D files in the prboom.cfg, keep in mind DAZI will # them accordingly if NOT ZIPPED. (01_doomM0D1, 02_doomM0D2).
You NEED TO ZIP the custom [prboom.cfg] since this is the only way for DAZI to maintain the 0riginal file name.
Or just ZIP the all the M0D files + [prboom.cfg] together if so inclined.lr-prboom Gamesaves will have to be MOVED back and forth from addonDIR to ...ports/doom/.
Only issue I found is you risk losing the current gamesave when NOT properly exiting the game.
This is because the runcommand-onend is not executed, thus neither is the move gamesaves back command.
You must EXIT lr-prboom to SAVE your [prbmsav?.dsg] gamesaves.Warp settings for lr-prboom = ??? Is this handled by the cfg file? Any input welcomed...
For prboom+ we can specify the doom-all directory as the addonDIR in the template.sh:
addonDIR=/opt/retropie/configs/ports/prboom-plus/autoload/doom-all
I will also need to add it the doom-all DIR to the runcommand-onend Cleanup...Warp also works with prboom+ via an Extra Entry just like LZDoom.
Only variation I noticed is an extra ;popd" at the end of the prboom+ command.
Luckily, putting ;popd" at the end of lzdoom command does not affect anything.
So I can easily modify the stream-edit action for both lzdoom/prboom+ warp settings, with the ;popd" included no problem.
So if you see an unnecessary ;popd" at the end of the lzdoom-dazi+warp entry in the next release, just know it's lazy coding, and it does no harm. -
@RapidEdwin08 Hey, thanks for the update, personally, I use only lzdoom, but lr-prboom and prboob should be good source ports.
By the way, the addition to be able to read .txt files is great, but I need to have each .txt file of each map/mappack uncompressed, and that is a mess, may I ask for a way in which I can keep the .txt files inside the .zip file along the map, and when I load that zip file, DAZI could ignore the .txt file in the load order, and alternatively, DAZI will offer the possibility to show/read that .txt file on screen?
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.