Skip to content

Releases: iNdioNicarao/DoomRPG-RE-3DS

Doom RPG RE — 3DS v1.0.6

Choose a tag to compare

@iNdioNicarao iNdioNicarao released this 04 Sep 16:16

Doom RPG RE — 3DS v1.0.6

New 3DS home-menu build (.cia) and 3DSX package of Doom RPG RE, following v1.0.5. Source-only: no game assets or audio are bundled in the repository. They are supplied on the SD card (see Install).

  • Build: 2026-09-04
  • Version: 1.0.6
  • Title ID: 000400000FD0BB01
  • License: GPLv3
  • Developer Attribution: Dennis Isaac Gutierrez Zeledon

Overview

Version 1.0.6 introduces major gameplay acceleration and stereoscopic visual refinement. It adds a touchscreen Combat Turbo button on the automap control bar for lightning-fast battles and projectile animations, renders combat particles (blood, sparks, gibs, and explosions) in full stereoscopic 3D depth to eliminate eye flicker, introduces an in-game 3D Depth Multiplier setting (Low, Normal, High, Max), and adds an in-game Texture Filtering toggle (Crisp vs. Smooth) accessible directly from both the in-game Pause Menu and Video Options.


Highlights (v1.0.6)

  • Combat Turbo Button:

    • Dedicated bold green [ TURBO ] toggle button on the bottom-screen map control bar (directly adjacent to [ CTR ]).
    • Visual and audio feedback: double neon green border (0xFF00FF44) and active label when enabled, dark green border when inactive, click sound feedback, and top-screen HUD notification banner ("Combat Turbo: ON" / "Combat Turbo: OFF").
    • Accelerates turn-based combat: enemy turn transitions and combat delays reduced by ~3× (down to 25ms floors), projectile speeds doubled, and attack animations accelerated for snappy, responsive engagements without altering the underlying turn-based balance.
  • Stereoscopic 3D Combat Particles & Retinal Flicker Elimination:

    • Combat particle system (blood splatters, sparks, monster gibs, and weapon explosions) now renders to both the left and right stereoscopic eye buffers.
    • Right-eye particles are rendered with depth-matched parallax offset calculated from world geometry depth, fixing single-eye retinal rivalry and visual flicker while delivering stunning pop on the 3DS top screen.
  • In-Game 3D Depth Multiplier:

    • New 3D Depth: configuration option added to both the in-game Pause Menu (MENU_INGAME) and main Video Options (MENU_VIDEO).
    • Allows players to scale hardware 3D stereoscopic separation across four levels: Low 0.7x, Normal 1.0x (default), High 1.4x, and Max 1.8x. Seamlessly modulates the physical 3D slider value.
  • Real-Time Texture Filtering Toggle (Crisp vs. Smooth):

    • New Filter: option added to both the in-game Pause Menu and Video Options.
    • Instantly toggles Citro3D top-screen texture filtering between Crisp (GPU_NEAREST — authentic raw pixel art) and Smooth (GPU_LINEAR — bilinear filtered scaling) on the fly without restarting.

Detailed Commit Log (v1.0.6)

  1. 247ce59feat: add combat turbo, 3D particle depth, 3D depth multiplier, and texture filtering

Installation & Verification

  1. Install DoomRPG-1.0.6.cia with FBI (or run DoomRPG.3dsx from the Homebrew Menu).
  2. Assets remain located at sdmc:/3ds/doomrpg/.
  3. Launch from the HOME Menu.

Binaries & Hashes

  • DoomRPG-1.0.6.cia
    • MD5: ab6d4f99d24937c1427023f77c776661
    • SHA256: 924af6c2672a90a50aee1c14caff6f7d2565a84875cb6f86ae4b761285030151
  • DoomRPG.3dsx
    • MD5: fdeae4ed89eab5ba5d81072873ffe076
    • SHA256: 7c1e0d709580a77f90a894e4123092222fa6a47f5d6ff4e8d4240cd7c8902ba0

Credits & Attribution

  • Port & 3DS Enhancements: Dennis Isaac Gutierrez Zeledon
  • Original Reverse Engineering: GEC Team (Erick194 and contributors)
  • Doom RPG: id Software / Fountainhead Entertainment

Doom RPG RE — 3DS v1.0.5

Choose a tag to compare

@iNdioNicarao iNdioNicarao released this 04 Sep 15:29

Doom RPG RE — 3DS v1.0.5

New 3DS home-menu build (.cia) and 3DSX package of Doom RPG RE, following v1.0.4. Source-only: no game assets or audio are bundled in the repository. They are supplied on the SD card (see Install).

  • Build: 2026-09-04
  • Version: 1.0.5
  • Title ID: 000400000FD0BB01
  • License: GPLv3
  • Developer Attribution: Dennis Isaac Gutierrez Zeledon

Overview

Version 1.0.5 is a comprehensive presentation, stereoscopic, and quality-of-life update. It scales all legal teasers and narrative cutscenes by 2x for full clarity, adds autostereoscopic 3D depth to the rotating title menu background, brings interactive drag-panning and zoom controls to the bottom-screen automap, default-enables authentic textured floors and ceilings, provides visual and acoustic feedback for empty inventory hotbar actions, and implements instant audio suspension when the 3DS clam-shell is closed.


Highlights (v1.0.5)

  • 2x Scaled Cutscenes, Splash Screens & Teasers:

    • Legal screens and splash teasers (g.bmp) are upscaled 2x to 256x256, centered cleanly on the 400x240 top screen.
    • Intro story cutscene upgraded with 2x presentation: crisp text pages with adjusted prompt placement, and full 2x scaling for the animated spaceship flyby, scrolling starfields, speed lines, planet layers, and pulsing red tracking crosshairs.
    • Epilogue, scrolling credits, and error screens rendered through the 2x cutscene pipeline.
  • Stereoscopic 3D on Rotating Title Menu:

    • Pushing the 3D depth slider on the startup title screen renders the slowly rotating 3D background room in true autostereoscopic 3D.
    • The DOOM RPG logo, menu items, scrollbar, hand selector cursor, and button prompts float cleanly at screen depth (zero parallax) with zero ghosting.
    • Enabled full-frame 400x240 right-eye rendering (g_stereoFullFrame) bypassing HUD row clamps.
  • Interactive Bottom-Screen Automap:

    • Player Centering & Tracking: The automap smoothly tracks and centers on the player's position as you step across tiles.
    • Touch Drag / Free Pan: Touch and drag with a finger or stylus to pan across explored areas of the level without moving your character.
    • Zoom & Recenter Controls: Added on-screen [+] (zoom in), [-] (zoom out), and [O] (recenter to player) buttons. Tapping the player arrow icon also instantly snaps the camera back.
  • Full Metallic Quick-Access Bar:

    • Extended the authentic status bar metallic texture across the entire 400x240 bottom screen down to the lower bezel (row 479).
    • Cleaned up vertical dividers and eliminated horizontal baseline seams under hotbar text for an integrated console aesthetic.
  • Hotbar Feedback & Dimming:

    • Hotbar buttons for empty items (count = 0) are visually dimmed by 50%.
    • Tapping an empty slot triggers an immediate red highlight flash, a distinct negative audio cue, and a top-screen HUD status notification (e.g. "No Small Medkits!").
  • Default-Enabled Textured Floors & Ceilings:

    • Authentic textured floors, ceilings, and overhead light fixtures are enabled out-of-the-box, running smoothly on 3DS hardware.
  • Synchronized 3D Motion Recovery:

    • Motion-damped stereoscopic depth recovery is now tightly synchronized with grid movement completion, removing settling delay.
  • Horizontally Centered HUD Messages:

    • In-game status banners ("Found Red Keycard", "Door is Locked", ammo pickups) are centered horizontally on the top screen for natural eye focus.
  • Lid-Close Audio Suspension & Power Management:

    • Integrated APT_HookType audio suspension into SDL_Video.c. Closing the 3DS clam-shell immediately mutes game audio and enters low-power sleep; reopening resumes audio and visuals gracefully.

Detailed Commit Log (v1.0.5)

  1. 1e5c636feat: scale cutscenes/teasers by 2x and add stereoscopic 3D to main menu
  2. 34b1ccastyle(hud): center top screen status bar messages horizontally
  3. 3bf6231feat(automap): add player-centered scrolling, touch drag, zoom controls, and full metallic quick-access bar
  4. a6af3bafix: synchronize 3D depth recovery with movement completion to remove settling lag
  5. 449ba50feat: default enable textured floors/ceilings, pause audio on lid close, and add zero-inventory hotbar feedback

Installation & Verification

  1. Install DoomRPG-1.0.5.cia with FBI (or run DoomRPG.3dsx from the Homebrew Menu).
  2. Assets remain located at sdmc:/3ds/doomrpg/.
  3. Launch from the HOME Menu.

Binaries & Hashes

  • DoomRPG-1.0.5.cia
    • MD5: 95c7b47c296595540957f511eb0bea0c
    • SHA256: a51ca06018ef19c141eb349ed18cabbb6fdf4d13bdf7c4dec8c9fff245471331
  • DoomRPG.3dsx
    • MD5: d8bb3b3c9311b8b64f806e03b55d1090
    • SHA256: b157e73ec3bf990d8940c2abaa4942e9495be7cace8308976053bdd778a5774f

Credits & Attribution

  • Port & 3DS Enhancements: Dennis Isaac Gutierrez Zeledon
  • Original Reverse Engineering: GEC Team (Erick194 and contributors)
  • Doom RPG: id Software / Fountainhead Entertainment

Doom RPG RE — 3DS v1.0.4

Choose a tag to compare

@iNdioNicarao iNdioNicarao released this 03 Sep 23:50

Doom RPG RE — 3DS v1.0.4

New 3DS home-menu build (.cia) and 3DSX package of Doom RPG RE, following v1.0.3. Source-only: no game assets or audio are bundled in the repository. They are supplied on the SD card (see Install).

  • Build: 2026-09-03
  • Version: 1.0.4
  • Title ID: 000400000FD0BB01
  • License: GPLv3
  • Developer Attribution: Dennis Isaac Gutierrez Zeledon

Overview

Version 1.0.4 is a major audiovisual, stereoscopic, and UI polish release for Nintendo 3DS. It introduces a custom 3D parallax diorama HOME Menu banner with a 2-channel stereo audio stinger, Dynamic Motion-Damped Stereoscopy to eliminate visual disorientation during movement and turns, a pixel-perfect 1:1 square aspect ratio and proportional kerning for bottom-screen dialogue, and automatic word-wrapping that prevents text from bleeding out of boxes or behind scrollbars.


Highlights (v1.0.4)

  • 3D Parallax Diorama HOME Menu Banner & Audio Stinger:
    • Fully custom 3DS extended banner featuring a 2-sided rotating plaque: the front displays the high-detail Mars Base Research Facility diorama, while the back features an authentic dark brushed steel plate with corner rivets, metallic bevel, and an embossed horned demon skull in the center.
    • Floating Doom RPG foreground logo with depth blending.
    • Sized and framed to remain completely within the screen boundaries across all angles of rotation.
    • Pixel-matched HOME Menu icon.
    • Embedded 22,050 Hz 2-channel stereo CWAV audio stinger playing two shotgun blasts followed by the classic Doom grunt death scream upon application selection.
  • Dynamic Motion-Damped Stereoscopy:
    • Eliminates visual fatigue and retinal shear in autostereoscopic 3D mode.
    • During Camera Rotation (Turning): Dials down 3D eye separation by 70% (0.30 strength) to eliminate lateral parallax shearing.
    • During Grid Movement (Stepping): Dials down eye separation by 55% (0.45 strength) to soften the step depth pop while preserving forward depth cues.
    • Asymmetric Easing: Rapidly softens depth in 2–3 frames when motion begins, and smoothly blooms back to 100% full slider depth over ~150ms once the player settles onto a tile or finishes a turn.
    • Stationary: 100% full, rich 3D autostereoscopy when standing still, exploring the view, in combat, or navigating menus.
  • Pixel-Perfect 1:1 Physical Aspect Ratio for Dialogue:
    • Compensates for the 3DS bottom screen display driver's $4/5$ horizontal downscale ($400 \to 320$) using a $5/2$ virtual $X$ mapping: $\frac{5}{2} \times \frac{4}{5} = \mathbf{2.0\text{ physical pixels wide}}$, exactly matching the $2\times$ vertical scaling ($\mathbf{2.0\text{ physical pixels tall}}$).
    • Eliminates the tall, skinny font distortion; dialogue glyphs now render with mathematically square ($2\times 2$ pixel) aspect ratio on the physical LCD.
  • Proportional Kerning & Typography:
    • Built a per-glyph bounding box metrics table (s_dialogFontMetrics) for all 96 characters in the font bitmap.
    • Eliminates excessive empty padding around narrow glyphs (:, !, l, 1, ., ,); strings like Level: 3, Max Health: +3, and Max Armor: +4 are snug and naturally spaced.
  • Automatic Word-Wrapping & Text Overflow Protection:
    • Dialogue text now measures line widths against the physical container and automatically breaks at word boundaries before reaching the scrollbar threshold (max 117 font pixels).
    • Guarantees text will never bleed out of the dialogue box or render behind the vertical scrollbar.
    • Sized the dialogue box to $330\text{px}$ virtual width ($264\text{px}$ physical width, perfectly centered with $28\text{px}$ automap margins on each side of the bottom screen) for comfortable breathing room.
    • Fixed Level Up notification header by removing menu divider padding so the title starts neatly at the left margin.
  • UI & Menu Alignment Fixes:
    • Centered startup and pause menus with consistent left-justified text layout.
    • Refined Nintendo 3DS Play Coins store exchange (5 Play Coins for 20 Credits) and corrected shared extdata archive ID permissions.

Detailed Commit Log (v1.0.4)

All 15 commits included in this release since v1.0.3:

  1. e7d6120fix(dialog): fix bottom screen font kerning, 1:1 square pixel aspect ratio, word-wrapping, and level up header
  2. 1e9c33efeat(3d): implement dynamic motion-damped stereoscopy during player movement and rotation
  3. 2e46414fix(banner): shrink background by another 15% and scale down demon skull by 25%
  4. ba6a294feat(banner): add brushed steel back with centered horned demon skull on 40% shrunk background
  5. 4909b21fix(banner): shrink background by 40% from 8eb1a45 baseline
  6. 8eb1a45fix(banner): compile 2-channel stereo CWAV for 3DS HOME Menu audio
  7. dd9e372feat(banner): add two shotgun blasts and grunt death scream, match home icon
  8. f760f12fix(ui): center startup and pause menus, add level separator, and fix coins overlap
  9. 53e2cbfbuild: bump version to DOOMRPG-3DS v1.0.4
  10. bd1c30echore(clean): remove external project references and ignore plan/scratch files
  11. 7156498fix(menu): widen container to 280px, left-justify text, and update play coins exchange to 5 for 20
  12. d992004feat(banner): implement 3D parallax diorama banner, custom audio stinger, and 3DS icon
  13. 1f93615fix(store): execute Play Coins credit exchange and preserve bottom screen HUD during menus
  14. a532027fix(3ds): correct shared extdata archive ID and add RSF SystemSaveDataId1 for Play Coins
  15. 499a61adocs: update AI assistant acknowledgments for v1.0.3+ (Gemini Antigravity)

Install

  1. Install DoomRPG-1.0.4.cia with FBI (or run DoomRPG.3dsx from the Homebrew Menu).
  2. On the SD card, copy the extracted data files into sdmc:/3ds/doomrpg/ so they sit loose in that folder. Required files include the *.bmp sprites/UI, the *.bsp maps, wtexels.bin, stexels.bin, bitshapes.bin, palettes.bin, mappings.bin, and sintable.bin.
  3. Add audio next to the data, also under sdmc:/3ds/doomrpg/:
    • SFX as numbered .wav files (5042.wav through 5138.wav).
    • Music as numbered .mp3 files (5039.mp3, 5040.mp3, 5043.mp3).
  4. Launch from the HOME Menu. sdmc:/3ds/doomrpg/saves/ is created at runtime.

The game will not start unless sdmc:/3ds/doomrpg/ exists with the data files present.


Controls

Action Physical Button Touch Screen
Move Forward / Backward D-pad Up / Down or Circle Pad
Strafe Left / Right L / R
Turn Left / Right D-pad Left / Right or Circle Pad
Attack / Talk / Use / Confirm A On-screen dialog tap
Back / Dismiss Dialog / Pass Turn B Tap [ PASS ] on top bar
Next / Prev Weapon ZR / ZL
Quick Use Items Hotbar touch Tap S.MED, L.MED, SOUL, BRSK, DOG
Passcode Entry D-pad / A Tap numpad digits 09, C, OK
In-Game Menu / Back Start Tap [ MENU ] on top bar
Automap Select (persistent on bottom screen)
3D Depth Adjustment Physical 3D Slider

Release Assets

  • DoomRPG-1.0.4.cia — MD5 4280c884f4000a119f297e0057c836ce
  • DoomRPG.3dsx — MD5 1990844a69888467904506a3c66d9765

Acknowledgments

This fork was developed by Dennis Isaac Gutierrez Zeledon with the assistance of AI coding assistants across its development milestones:

  • v1.0.3 – v1.0.4 (Stereo 3D, Motion Damping, 3D Banner & Touch UI):

    • Assistant: Gemini Antigravity (Google DeepMind)
    • Role: Implementation of hardware autostereoscopic 3D, Citro2D/Citro3D stereo targets, dynamic motion-damped stereoscopy, 3D parallax diorama banner and stereo CWAV stinger, pixel-perfect 1:1 dialogue typography and word-wrapping, Touch HUD hotbar, passcode keypad, Play Coins exchange, and in-memory libmad MP3 audio streaming.
  • v1.0.0 – v1.0.2 (Initial Port & CIA Packaging):

    • Assistant: Hermes Agent (Nous Research)
    • Model: tencent/hy3:free
    • Role: Tracing the initial 3DS boot/render path, resolving early heap-exhaustion and null-surface crashes, establishing the New 3DS home-menu .cia build pipeline, and initial repository setup.

License

GNU General Public License v3.0. Doom RPG game data is the property of its respective owners and is not included in this repository.

v1.0.3

Choose a tag to compare

@iNdioNicarao iNdioNicarao released this 03 Sep 03:26

Doom RPG RE — 3DS v1.0.3

New 3DS home-menu build (.cia) and 3DSX package of Doom RPG RE, following v1.0.2. Source-only: no game assets or audio are bundled in the repository. They are supplied on the SD card (see Install).

  • Build: 2026-09-02
  • Version: 1.0.3
  • Title ID: 000400000FD0BB01
  • License: GPLv3

Overview

Version 1.0.3 is a major feature and performance release that takes full advantage of Nintendo 3DS hardware. It brings hardware autostereoscopic 3D to the top screen, an interactive bottom-screen Touch HUD with an in-game quick-inventory hotbar, a touch keypad for entering terminal passcodes, Play Coins exchange, in-memory MP3 music streaming via libmad, and New 3DS 804 MHz CPU boost.


What Changed

Area Change
Autostereoscopic 3D Implemented a true dual-camera stereoscopic 3D rendering pipeline using Citro2D/Citro3D GPU targets. The depth effect is hardware-gated and dynamically scaled by the physical 3DS 3D slider (smoothly drops to single-eye 2D when the slider is off). Depth separation has been carefully tuned across world geometry, particles, and weapon parallax to eliminate ghosting and eye strain. Menus and 2D splash states automatically disable 3D rendering.
Touch HUD & Hotbar Added authentic metallic steel status bars to the bottom screen matching the top HUD aesthetic. Features an interactive 5-slot quick-use hotbar (S.MED, L.MED, SOUL, BRSK, DOG) with generous 80px touch targets, plus touch [ PASS ] and [ MENU ] buttons. Font kerning is compensated for the 3DS 320px downscale with transparent font blitting over metallic textures.
Interactive Touch Keypad Terminal passcode doors now display an authentic on-screen touch numpad (09, C, OK) on the bottom screen, allowing players to enter door codes naturally using the stylus or thumb.
MP3 Music Streaming Rewrote the audio streaming engine using libmad to decode MP3 tracks (5039.mp3, 5040.mp3, 5043.mp3) directly from memory. Compressed MP3 files (1.5–4.1 MB) are cached into RAM once at track start, eliminating all SD card file I/O inside the real-time SDL audio callback thread and preventing 3DS FS session deadlocks. Supports seamless looping and full volume scaling from the in-game Options menu.
Bottom Screen Dialogs Dialogue sequences, terminal readouts, and character interaction popups now render cleanly on the bottom screen (scaled 2x with 280px width) over the persistent automap, keeping the top 3D screen uncluttered.
Navigation & Controls The B button now functions as Back / Return in all menus and dismisses dialog boxes. Circle Pad analog inputs are fully supported alongside the D-pad. Unified hidScanInput polling to eliminate dropped inputs when holding multiple buttons.
3DS Play Coins Exchange Players can exchange Nintendo 3DS system Play Coins for game Credits ($50 credits per Play Coin) at shops and terminals.
New 3DS Performance Enabled 804 MHz clock speed and L2 cache configuration via RSF for New 3DS systems. Defaulted floor and ceiling rendering to solid mode to avoid costly per-pixel textured projection, maintaining smooth framerates.

Detailed Commit Log (v1.0.3)

All 25 commits included in this release:

  1. fa04bfdfix(audio): rewrite MusicStream to decode MP3 from RAM, eliminate FS thread contention, and support volume scaling
  2. 74963f2feat: decrease 3D effect 10%, remove keycard badges on bottom bar, restore full CREDITS text, support B button back in menus
  3. b5c46d3fix(hud): make font surface transparent over metallic bars, move PASS to top bar, expand items to 80px
  4. 7d7b600fix(font): compensate bottom-screen font kerning for 320/400 downscale and match top status bar styling
  5. 4675855style(hud): style bottom screen with authentic metallic status bars and single-line font
  6. 3e53c7bfeat(hud): expand bottom touch HUD to show full 5-item quick-inventory hotbar and keycards
  7. 0a3cdc1fix(stereo): disable 3D stereoscopic rendering during menus and 2D states
  8. 08daef7feat(3ds): implement touch numpad, quick-touch HUD, Play Coins exchange, and stereoscopic particle depth for v1.0.3
  9. 09db37cbuild: bump version to DOOMRPG-3DS v1.0.3
  10. 86c1e30fix(stereo): correct weapon depth parallax sign and clamp offset to 1px to eliminate double vision
  11. 3df4737fix(input, stereo): resolve missed inputs by consolidating hidScanInput, support simultaneous keys and Circle Pad, soften weapon 3D depth
  12. c8f8205ui: widen 2x dialog box to 280px for scrollbar clearance and enable New 3DS 804MHz speedup
  13. 4d8cb1cui: scale dialog box by 2x, ensure persistent automap rendering, and soften 3D stereo by 10%
  14. 8bb01b8ui: render dialog over automap with 2px border, clean bottom-screen lifecycle, and fix 3D blit spillover
  15. 47518c6ui: render dialog and terminal interaction popups on 3DS bottom screen
  16. 1b44ea3video: implement true dual-camera stereoscopic rendering with Citro2D eye targets
  17. 4f685a8video: align Citro2D top subtexture V coordinates to eliminate 16px vertical offset
  18. deb7965video: correct Morton swizzle row order for upright display and clean up Citro2D/Citro3D/gfx on shutdown
  19. dc18105video: fix top screen aspect ratio, orientation, and HUD clipping via unrotated subtexture UVs
  20. 74638503DS: real hardware auto-stereoscopic 3D on top screen (slider-gated)
  21. 73458a03DS: raw-gfx dual-screen present — upright, full, no flicker, no crash
  22. 4dc03213DS: remove duplicate DoomCanvas_drawAutomap definition
  23. 16fe6db3DS: fix white strip at top of bottom screen
  24. d236c3a3DS: alias piDIB to framebuffer via SDL_CreateRGBSurfaceFrom
  25. c1a50a5Perf: default floor/ceiling to solid (skip per-pixel textured projection)

Install

  1. Install DoomRPG-1.0.3.cia with FBI (or run DoomRPG.3dsx from the Homebrew Menu).
  2. On the SD card, copy the extracted data files into sdmc:/3ds/doomrpg/ so they sit loose in that folder. Required files include the *.bmp sprites/UI, the *.bsp maps, wtexels.bin, stexels.bin, bitshapes.bin, palettes.bin, mappings.bin, and sintable.bin.
  3. Add audio next to the data, also under sdmc:/3ds/doomrpg/:
    • SFX as numbered .wav files (5042.wav through 5138.wav).
    • Music as numbered .mp3 files (5039.mp3, 5040.mp3, 5043.mp3).
  4. Launch from the HOME Menu. sdmc:/3ds/doomrpg/saves/ is created at runtime.

The game will not start unless sdmc:/3ds/doomrpg/ exists with the data files present.


Controls

Action Physical Button Touch Screen
Move Forward / Backward D-pad Up / Down or Circle Pad
Strafe Left / Right L / R
Turn Left / Right D-pad Left / Right or Circle Pad
Attack / Talk / Use / Confirm A On-screen dialog tap
Back / Dismiss Dialog / Pass Turn B Tap [ PASS ] on top bar
Next / Prev Weapon ZR / ZL
Quick Use Items Hotbar touch Tap S.MED, L.MED, SOUL, BRSK, DOG
Passcode Entry D-pad / A Tap numpad digits 09, C, OK
In-Game Menu / Back Start Tap [ MENU ] on top bar
Automap Select (persistent on bottom screen)
3D Depth Adjustment Physical 3D Slider

Release Assets

  • DoomRPG-1.0.3.cia — MD5 666391b114fabfcda3df4c65ffee9aed
  • DoomRPG.3dsx — MD5 711d1717c01734db86ee3f5c3d6f0a77

Notes & Compatibility

  • Recommended for New 3DS (New 3DS, New 3DS XL, New 2DS XL) to take advantage of 804 MHz CPU clock speed and hardware stereo 3D.
  • Autostereoscopic 3D operates on the top screen and is continuously adjusted by the 3DS hardware depth slider.

v1.0.2

Choose a tag to compare

@iNdioNicarao iNdioNicarao released this 25 Aug 19:34

Doom RPG RE — 3DS v1.0.2

New 3DS home-menu build (.cia) of Doom RPG RE, following v1.0.1. Source-only:
no game assets or audio are bundled in the repository. They are supplied on the
SD card (see Install).

  • Build: 2026-08-25
  • Version: 1.0.2
  • Title ID: 000400000FD0BB01
  • License: GPLv3

What changed

Area Change
HUD Split the two on-screen bars: the status/info text bar now renders at the top of the screen, and the health/ammo HUD stays at the bottom. The top strip is always painted (metallic background) instead of only when a message is active.
Input / binds Custom button bindings now store a CONTROLLER_BUTTON_* code so gameplay and controller binds decode independently. Menu navigation is always resolved from the default keymap, so a gameplay rebind can no longer break menu movement/selection.
Menu Added an in-game Controls entry (rebind screen) and a Debug entry (cheats). Removed the dead Mouse/Controller sub-items and the Automap bind row. Reset Binds now restores the default keymap and saves immediately.
3DS layer SDL_GameControllerGetButtonID / SDL_JoystickGetButtonID map HID keys to CONTROLLER_BUTTON_* so bind capture detects the pressed button.
Logging Asset-load failure messages now report the real path (sdmc:/3ds/doomrpg/) instead of the misleading "from zip" text. The 3DS loader reads loose files directly — there is no DoomRPG.zip and none is needed.

Install

  1. Install DoomRPG-1.0.2.cia with FBI (or run DoomRPG.3dsx from the
    Homebrew Menu).
  2. On the SD card, copy the extracted data files into
    sdmc:/3ds/doomrpg/ so they sit loose in that folder. Required files
    include the *.bmp sprites/UI, the *.bsp maps, wtexels.bin,
    stexels.bin, bitshapes.bin, palettes.bin, mappings.bin, and
    sintable.bin.
  3. Add audio next to the data, also under sdmc:/3ds/doomrpg/:
    • SFX as numbered .wav files (001.wav, 002.wav, …).
    • Music as numbered .mp3 files (1.mp3, 2.mp3, …) by track ID.
  4. Launch from the HOME Menu. sdmc:/3ds/doomrpg/saves/ is created at runtime.

The game will not start unless sdmc:/3ds/doomrpg/ exists with the data files present.

Game data (loose files extracted from the doomrpg.bar archive, numbered
.wav SFX, numbered .mp3 music) must be supplied on the SD card under
sdmc:/3ds/doomrpg/. The 3DS build reads these files directly — there is no
DoomRPG.zip and none is needed.

Controls (New 3DS)

  • D-pad: turn left / right
  • L / R: strafe left / right (lateral movement)
  • ZL / ZR: previous / next weapon
  • A: use / confirm
  • B: back / pass turn
  • Start: menu open / back
  • Select: automap (always on bottom screen)

See docs/CHEATS.md for the Debug menu, rebinding, and Reset Binds.

Release assets

This release includes the built binaries as download assets:

  • DoomRPG-1.0.2.cia — MD5 fb9f03645dc3097cc77481d665ad9e5d
  • DoomRPG.3dsx — MD5 95337b4dbcd2e5f6cb383d7e8bc8850b

Notes

  • Targets New 3DS (the larger heap and extra RAM are required for the texture
    and menu surfaces). Old 3DS is not supported.

Doom RPG RE 3DS v1.0.1

Choose a tag to compare

@iNdioNicarao iNdioNicarao released this 24 Aug 16:35

Doom RPG RE — 3DS v1.0.1

New 3DS home-menu build (.cia) of Doom RPG RE, with the 3DS-specific fixes
below. Source-only: no game assets or audio are bundled in the repository.
They are supplied on the SD card (see Install).

  • Build: 2026-08-24
  • Title ID: 000400000FD0BB01
  • License: GPLv3

What changed

Upstream built and ran under the loader it was developed against, but on real
hardware the boot path hit heap exhaustion and null-surface dereferences that
crashed or blanked the screen before gameplay. The fixes:

Area Fix
Boot / assets Resolve all SD asset and save paths against sdmc:/3ds/doomrpg/ (and …/saves/). Relative/zip-backed paths fail on the 3DS FAT layer.
Heap (intro) Stop per-frame SDL_Surface allocation in MenuSystem_paint. The menu surface is now a persistent MenuSystem_t member, allocated once and reused. The old per-frame alloc could not be satisfied after the intro spin, leaving SDL_CreateRGBSurface returning NULL and the menu cursor appearing frozen / the menu→game transition going blank.
Heap (HUD) Stack-allocate the HUD blit rects instead of malloc per frame, so the status bar is never skipped on allocation failure.
Heap (textures) Keep the texture decode buffer persistent and bound the decode loop; removes the heap fragmentation that crashed on the ARM11 after a few minutes.
Music Stream music as MP3 via libmad inside SDL_mixer's music callback (3DS SDL_mixer has no MP3/MIDI decoder). SFX are loaded as WAV chunks and cached by resource ID so the intro loop does not re-read multi-MB files every iteration.
Pointer safety Guard NULL image loads and retry SD reads during boot instead of dereferencing a failed allocation.
HUD Guard NULL HUD surfaces and free the temp surface on early-return paths (leak fix).
Intro Reset the player on intro dispose — the first-spin new-game path could reach disposeIntro without passing through Menu_startGame, leaving the player struct uninitialized and the camera spawning into a black screen.
Menu Keep repainting the active menu every frame after the intro spin stops, so the Enable-Sound / Main menu cursor tracks input.
Input D-pad turns; L/R are lateral movement (strafe). Weapons on ZL/ZR. Boot stack raised to 256 KB.

No copyrighted material is included. Game data (loose files from DoomRPG.zip,
numbered .wav SFX, numbered .mp3 music) must be supplied on the SD card
under sdmc:/3ds/doomrpg/.

Build (from a checkout)

Requires Docker and the devkitARM toolchain image (built automatically):

cd tools/cia
./build_cia.sh

Output: tools/cia/DoomRPG-<version>.cia and DoomRPG.3dsx. The VERSION
file controls the CIA filename; the Title ID / version byte comes from
DoomRPG-3DS.rsf and is left at upstream's value.

Install

  1. Install DoomRPG-1.0.1.cia with FBI (or run DoomRPG.3dsx from the
    Homebrew Menu).
  2. On the SD card, extract the contents of DoomRPG.zip into
    sdmc:/3ds/doomrpg/ so the game data files sit loose in that folder.
  3. Add audio next to the data, also under sdmc:/3ds/doomrpg/:
    • SFX as numbered .wav files (001.wav, 002.wav, …).
    • Music as numbered .mp3 files (1.mp3, 2.mp3, …) by track ID.
  4. Launch from the HOME Menu. sdmc:/3ds/doomrpg/saves/ is created at runtime.

The game will not start unless sdmc:/3ds/doomrpg/ exists with the data files present.

Controls (New 3DS)

  • D-pad: turn left / right
  • L / R: strafe left / right (lateral movement)
  • ZL / ZR: previous / next weapon
  • A: use / confirm
  • B: back / pass turn
  • Start: menu open / back
  • Select: automap (always on bottom screen)
  • Touch: menu

Release assets

This release includes the built binaries as download assets:

  • DoomRPG-1.0.1.cia — MD5 b69a586807d453f829573dcbc9d8f3be
  • DoomRPG.3dsx — MD5 5e44f7b1c1a4365f7f9541c032332697

Notes

  • Targets New 3DS (the larger heap and extra RAM are required for the texture
    and menu surfaces). Old 3DS is not supported.