Howdy! Just an extension to ElectricJelly's post above - I went through the process of setting up this port (3dsx version, not CIA, as I wanted to be able to switch between Doom/Doom 2/mods easily), and ran into some issues that it took me a while to work around. I wanted to post what I learned, in case it's of use to someone else in the future.
- This port of PrBoom is hard-coded to expect its data files to be in "sd:/3ds/PrBoom-Plus" - if you change the folder name in any way, then you'll get an exception error when you try to launch it
- By default, the 3dsx file is also named "PrBoom-Plus" - the same name as the folder. This triggers a quirk of how the Homebrew Launcher handles displaying folders. From the Homebrew Launcher Github readme: "Additionally, folders containing a 3dsx file with the same name as the folder (or alternatively boot.3dsx) will be detected as an application bundle folder, and it will be presented as a single icon that can directly launch the application." What this means is that by default, the PrBoom-Plus port will just show up as a single icon in the Homebrew Launcher menu - its folder and any XML files you put in it will not appear
Therefore, to get the port into a state where you have a folder containing the base port plus XML files for any other iwads and/or pwads,
you have to rename the port executable.
For example, here are the steps for getting this port set up to run Doom by default, but have a simple shortcut along-side it for running Doom 2 if you wish:
1. Follow the setup instructions on the PrBoom-Plus Github page for downloading and setting up the main data ZIP file and the .3dsx file
2. Re-name the .3dsx file from "PrBoom-Plus.3dsx" to "PrBoomPlus.3dsx" (note: took out the hyphen); this makes the executable file name different from the folder name it's stored in, so Homebrew Launcher will no longer treat the folder as an "application bundle folder", and the folder will actually show up in the Homebrew Launcher
3. Copy "DOOM.WAD" from your legit full version of Doom into the port folder along-side the .3dsx file - now, running the port directly will start up Doom 1
4. Create two folders inside the port folder - one called "iwads" (for storing main/base WAD files), and one called "pwads" (for storing mods for iwads)
5. Copy "DOOM2.WAD" from your legit full version of Doom 2 into the iwads folder
6. In the main port folder, create a text file called "Doom 2.txt", and add the following contents to it (adapted from ElectricJelly's post above, note the changed executable name!):
<shortcut>
<name>Doom ][</name>
<executable>/3ds/PrBoom-Plus/PrBoomPlus.3dsx</executable>
<arg>-iwad iwads/DOOM2.wad</arg>
</shortcut>
7. Save the text file, and change its extension from .txt to .xml
Now if you go into the PrBoom-Plus folder in Homebrew Launcher, you'll see an entry called "PrBoom+" that will launch Doom 1, and an entry called "Doom ][" that will launch Doom 2. Here's a few bonus notes:
- If you want to run a mod, see how to specify the "arg" line in the .xml file for both an IWAD and PWAD in ElectricJelly's post above
- You can use a file manager (not on the 3DS) to mark any folders you don't want showing up in Homebrew Launcher as "hidden"; so for example, marking the BLAH and BLUB folders inside the port folder as hidden will stop them from showing up, giving you a very clean listing of the port and any XML launchers you've set up
- If you really want a fancy list of XML launchers, you can create custom icons for them using the web-based "SDMH Creator" tool by Marc Robledo (Google it, I can't post links yet!). You can then add an extra line to your XML file under the "name" line, specifying the icon as follows (obviously substitute your icon file name): <icon>doom2.smdh</icon>
- Note that any description and/or publisher you add to the icon will show up in Homebrew Launcher
I hope that's helpful to someone else in the future, and many thanks to Voxel9 for the port, and ElectricJelly for their post above!