Homebrew [Release] PrBoom+ 3DS Port (GPU-accelerated)

  • Thread starter Thread starter Voxel
  • Start date Start date
  • Views Views 61,664
  • Replies Replies 89
  • Likes Likes 33
Thanks for this - the weapon switching is sooo much better now. No more multiple presses on the X key to get the one you want....

However, is there a way to get the analog slick to turn and not strafe? I tried remapping the cfg file but everything seems to change apart from that - the analog stick always strafes no matter what I do.....

I'd love to use analog for forward/backward/turn left/turn right and the shoulder buttons for strafing if possible....
Thanks in advance :)

Here's new build that adds option to swap x-axis between circle pad and c-stick, which allows rotating with circle pad.
https://github.com/iAmGhost/PrBoom-Plus-3DS/releases/tag/v1.0.2
 
  • Like
Reactions: Garcimak

ReallyiAmGhost:

Create HBL Shortcut to launch between multiple IWADs

I have a couple questions about that. I've never made a hbl shortcut so please excuse if the first two are dumb questions.

Can you put all PrBoom+ hbl shortcuts in one xml, or does each shortcut have to be in a separate xml?

Where do you put the xml? I put PrBoom-Plus.xml with all the shorcuts in the \3ds\PrBoom-Plus-3DS folder, but I don't see anything but the regular PrBoom+ in hbl. I don't see a way to use the shorcuts to choose what to play.

Is it possible to include deh in the shortcut? For example:
<arg>-iwad iwads/doom2.wad -file pwads/name.wad -deh pwads/name.deh</arg>
If not, that would be a very useful option to add.

Is deh inside of a pwad automatically used when the pwad is loaded?

And finally, can you have multiple pwads in a shortcut (use -file more than once)? For example:
<arg>-iwad iwads/doom.wad -file pwads/pwad1.wad -file pwads/pwad2.wad</arg>
One reason for this is some wads have fixes in separate wads.

Anyway, with shortcuts so you don't need access to a pc to switch between different wads, being able to strafe with the circle pad, and ZL ZR usable, this now has just about any feature you could want 👍
 
Last edited by boomerang42,
One aspect of Jaguar Doom that should be implemented here is the overlay that was on the Jag controller: easy access to weapons and the map. I know that the keyboard is there, but the keys are so tiny that you essentially have to pull out the stylus.

Just a thought.

Doom with stereoscopic 3D, with the 3DO soundtrack is just awesome. Toss in the Jag overlay on the bottom screen and you have some mighty fine Doom.
 
Sorry if this has been answered before, but is there a way to be able to choose which game you're going to play? I want to be able to pick between games on a whim, but as far as I know the only way I can choose between games is to go into my files and remove any .wads that aren't the one I want to play.

I had an earlier version of prboom3D at first by mistake, and it allowed you to choose games. Am I just missing something?

Thanks.
 
  • Like
Reactions: Darthagnon
I wonder if you can play Hexen or Heretic with this. To be honest never played any of them so I don't know if they also uses the WAD file to run them
 
Please pardon this necro-bump, because i've whipped up a PWAD loading template (with major credit to ak47fu2 from the Doomworld thread linked at the bottom for the original that I very slightly modified) for use with Homebrew Launcher.
For this, I used the initial release of the (deservedly) famous PWAD\mod 'Going Down' by 'mouldy' to test my slight tweak of ak47fu2's script thingy.

It seems to work (as in it booted into the right WAD), which is why i'm posting the following script bit:

<shortcut>
<executable>/3ds/PrBoom-Plus.3dsx</executable>
<arg>-iwad iwads/doom2.wad -file pwads/gd.wad</arg>
<name>Going Down</name>
</shortcut>

Copy and paste this text into a plain ol' text file and change the extension to xml, then simply subsitute the appropiate IWAD (you'll have to provide this yourself) and PWAD (available from Doomworld's file repository) files in the 'arg' line (make sure you use the FILE names and not their TITLE proper), as well a simple name\title in the 'name' line (so you don't get confused if you're typing up multiple launch thingies). Put the finished xml launcher file thingy in your 'pr-boom plus' folder inside the '3ds' folder on the root of your microSD.
If I haven't screwed up my explanation, it should launch.

Finally, here is the original thread, for the purpose of proper crediting.
 
  • Love
Reactions: johnbear
Oi oi! Apologies for the necropost, but is it possible to reduce the resolution to maybe get it running better on O3DS?
 
View attachment 382665

PrBoom+ 3DS Port

Hi all. After much arduous work, I'm thrilled to finally share a brand new port of PrBoom+ to the 3DS!

This is more or less a straight port of PrBoom+ 2.6.66, with some extra added enhancements exclusive to the system.
Just about everything you'd expect desktop PrBoom+ to do, this port should also be able to do.
The only things it can't do are a few unsupported renderer features (which have been stripped out anyway) and networking features.
In addition, all video modes apart from 8-bit are supported. By default, the GPU-accelerated OpenGL mode is enabled, though the other software-rendering modes are also available should you wish to fall back on them (so far, all modes produce roughly similar performance, with OpenGL being moderately faster)

View attachment 382655View attachment 382656View attachment 382657
View attachment 382661View attachment 382662View attachment 382660

Features:
  • PrBoom+ 2.6.66
  • Features both GPU-accelerated OpenGL mode, and software-renderer modes
  • Great performance on New 3DS, decent-ish performance on Old 3DS
  • Good quality stereoscopic 3D (OpenGL mode only)
  • Interchangeable touchscreen mouse and keyboard
  • (with touchscreen mouse, you can drag to look around, tap the screen to fire, and double-tap and hold to keep firing - ideal for Old 3DS)

Setup:
Refer to the GitHub repository's README for information on installation, game/mod setup and configuration.

Download:
:download: Latest release
:arrow: Source code

FBI QR code (for remote install):
View attachment 382666


Can you please make an option to disable vertical aiming and turn back on autoaim like the original?
 
nice fork. i am unable to change to map the fire buttons to either R or L. originally it was R but then i accidently changed it and now i cannot get it back even after a reinstall.

Update: I fixed issue by deleting the config.
 
Last edited by cosmos123,
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!
 
@johnbear @ElectricJelly I tried to follow the guide above to launch seperate wads but no success. Every time I go in the 3dsx file in HB launcher I don't see any shortcuts and it just goes straight into Doom1. I have tried reorganizing the folders and xml in different ways but no luck. Please someone check if there's anything wrong with the pictures below, not sure why. I also have the CIA installed not sure if thats a factor. Thanks.
 

Attachments

  • 20250406_205658.jpg
    20250406_205658.jpg
    1.8 MB · Views: 49
  • 20250406_205857.jpg
    20250406_205857.jpg
    2 MB · Views: 40
Last edited by cosmos123,
@johnbear @ElectricJelly I tried to follow the guide above to launch seperate wads but no success. Every time I go in the 3dsx file in HB launcher I don't see any shortcuts and it just goes straight into Doom1. I have tried reorganizing the folders and xml in different ways but no luck. Please someone check if there's anything wrong with the pictures below, not sure why. I also have the CIA installed not sure if thats a factor. Thanks.
Howdy @cosmos123! Hmm, I'm not sure - your setup looks broadly the same as my own. The only thing I do see is that your XML file appears to have mixed line endings - you can see the ? symbols at the end of most of the lines, but not at the end of the description and author lines you added - perhaps the Homebrew Launcher thinks your XML file is malformed as a result? I've attached the XML file I use for launching Doom 2 in case you want to give it a shot - note that this forum does not allow the upload of XML files, so I've renamed it to .txt!

Also, I don't know if the Homebrew Launcher/this PrBoom port are case-sensitive, so just double-check that all your paths are exact. I've attached pictures of what I see with the setup described in my post above; opening the Homebrew Launcher I see a directory entry for PrBoom-Plus, and going into it I see just the game and two XML launchers I added (mine have optional icons that I left out of the XML I attached here).
 

Attachments

  • Doom 2.txt
    Doom 2.txt
    143 bytes · Views: 41
  • 3ds Folder Listing.jpg
    3ds Folder Listing.jpg
    99.9 KB · Views: 57
  • PrBoom-Plus Folder Listing.jpg
    PrBoom-Plus Folder Listing.jpg
    98.4 KB · Views: 40
  • Like
Reactions: cosmos123
Howdy @cosmos123! Hmm, I'm not sure - your setup looks broadly the same as my own. The only thing I do see is that your XML file appears to have mixed line endings - you can see the ? symbols at the end of most of the lines, but not at the end of the description and author lines you added - perhaps the Homebrew Launcher thinks your XML file is malformed as a result? I've attached the XML file I use for launching Doom 2 in case you want to give it a shot - note that this forum does not allow the upload of XML files, so I've renamed it to .txt!

Also, I don't know if the Homebrew Launcher/this PrBoom port are case-sensitive, so just double-check that all your paths are exact. I've attached pictures of what I see with the setup described in my post above; opening the Homebrew Launcher I see a directory entry for PrBoom-Plus, and going into it I see just the game and two XML launchers I added (mine have optional icons that I left out of the XML I attached here).

Worked like a charm! Seems all i did was use your xml file, could be i edited my xml file and gave me those weird characters. I need to create icons now! Thanks for your help!
 
  • Like
Reactions: johnbear

Site & Scene News

Popular threads in this forum