dualHexen by elhobbs

From GameBrew
dualHexen by elhobbs
Dualhexenelh2.png
General
Authorelhobbs
TypeShooter
Version2022
LicenseMixed
Last Updated2022/07/11
Links
Binary & argv file sample Download
Website
Source

This is a modified version of dualHexen, a DS port of first-person shooter Hexen by Sketor and Dopefish (original ported by Rich Whitehouse).

This version has been updated to build with newer devkitarm and libnds, with some changes to improve performance (DSi), added support for argv file and fixed an issue with save code.

Installation

What you need:

  • The wad from the full version of Hexen (shareware not supported natively by code released by Raven).
  • A DS and a compatible flash cart.

How to use:

  • DLDI patch Hexen (if your card does not have auto patching) and then copy it to anywhere on your card.
  • Get hexen.wad version 1.1 (MD5: abb033caf81e26f12a2103e1fa25453f).
  • Copy hexen.wad to x:/data/hexen/hexen.wad. Create the folders if they do not exist.
  • Launch Hexen and hopefully it can find hexen.wad (saves are written to /data/hexen/).
  • On slot-1 devices, it can take a minute to load on some slow devices, there is no progress bar.

ARGV file sample for addon by CrashMidnick (disable highdetail for better FPS): dualhexen.nds -iwad Hexen.wad -file HEXDD.WAD -save HEXDD

Controls

A - Fire

L/R - Strafe left/Right

D-Pad - Move forward/backwards, Turn left/right

Touchscreen - Mouselook

Select - Map

Start - Pause and Options menu

L+R - Speed

X+Left/Right - Inventory change

X+Up/Down - Fly

X+L - Use item

X+R - Change weapon

Screenshots

dualhexenelh3.pngdualhexenelh4.png

Compatibility

Tested and works on:

NDSL and O3DSXL with R4 (launch from hbmenu)
DS Fat with R4 (labelled as 2020, launch from the menu and hbmenu)
O3DS with R4i (launch from the menu and hbmenu)
O3DS with TWiLight Menu++
O3DS with DSTWO (launch from the menu and hbmenu)
DSi using Memory Pit (launch from hbmenu)
melonDS emulator

Changelog

v0.28 update 2022/07/11 (by elhobbs)

  • Updated version with minimal changes to build with current devkitarm and libnds versions.
  • Made some minor changes to use more memory in dsi mode, set the detail to high by default.
  • Fixed an issue with the save code. The save code required the folder "/data/hexen/" to exist. I added code to create the path. not ideal but I changed the path to "./data/hexen/" - the reasoning is that it should work with launchers that support current directory and those that don't. And for launchers that do support current directory it will keep the save games in the same folder. I only tested this so far as completing the first level.
  • Enabled the code to allow argv/command line parameters to be processed, but did not test it at all.
  • Updated controls.

v0.29 2011/04/04 (by Sektor)

  • Selecting quit should now return to hbmenu compatible loaders.
  • Not tested but should be Sudokuhax/iEvo DSi mode compatible.
  • There are still many Z_Malloc memory errors (need to reduce memory usage).

v0.28 2010/05/23 (by elhobbs and Sektor)

  • Changes to the source code so it compiles with the current libnds. elhobbs sound code was the main change.

v0.27 2009/12/17 (by Dopefish)

  • This is a modified verison of Sektor's dualHexen, a port of Hexen to the Nintendo DS. Note that Sektor's version is itself a modification of Rich Whitehouse's hexenDS. Mainly I was frustrated by not being able to strafe, but there aren't enough buttons to go around, so I had to move something to the touchscreen. While I was at it I made a couple other changes, and here we are.
  • My changes include:
    • Saving/Loading games (however savegames are not compatible with the PC version.
    • Inventory manipulation via the touchscreen:
      • Touch the image of the active inventory item to use it.
      • Touch the empty area just to the right of the item to bring up the inventory bar.
      • Touch an item in the inventory bar to make it the active item.
      • If you have more than 7 items in inventory, select the one at the edge to scroll, then return to your inventory.
      • This interface could stand to be improved, but it is functional.
    • Altered control configuration:
      • A = fire
      • B = use (i.e. open doors)
      • Y = jump
      • X = cycle weapons
      • L = strafe left
      • R = strafe right
      • D-Pad = move forward/backwards, turn left/right
      • Touchscreen = mouselook, inventory
    • Touch screen sensitivity can be adjusted in the options menu. There is a special ds menu on the main menu which has a gamma option and other ds-specific things (such as warp and give all cheats).
    • Source code: Source is included. There are a lot of warnings I've been too lazy to fix, but otherwise it's relatively clean. Most changes will be marked with rww or Sektor.
    • Add -D_HEXENDS_GBFS to the arm9 makefile to build the GBFS version.

v0.26 2007/01/30 (by Sektor)

  • Updated to DLDI version of libfat for greater device compatiblity.
  • A and B now work on the menu (previously you had to push Start and Select).
  • Added libcartreset - Quit option returns to menu on supported slot-2 devices.
  • Level warp now works on DS-X (unexpected side effect of newer devkitARM).
  • DS LED blinking is stopped at startup because DS-X annoyingly leaves it on.
  • DS sleeps/powersaves when closed.
  • Saving and loading are still broken.
  • I need a better icon.

v0.25 2006/10/27 (by Sektor)

  • Moved from devkitARM r17 to r19b.
  • Added libfat support. Hexen can finally be played on GBAMP.
  • Changed controls so you don't have to use the touch screen.
  • Saving and loading are still broken.

v0.2 2006/03/04 (by Rich Whitehouse)

  • Moved from devkitARM r14 to r17, fixing a lot of common bugs in the process (this* should take care of the swapped screens problem some people have as well).
  • General speedups. Lots of them.
  • Low detail mode from Doom incorporated (made low detail versions of all of Hexen's rendering functions). ARM versions of col/span low detail rendering also included (which are around 13% faster than their GCC O3 versions).
  • On-demand texture patch resizing, in order to lessen memory use (should solve any remaining Z_Malloc errors, especially with those huge animating textures).
  • Fixed the info screen displaying unreadable junk on the main screen (but it's still info from the PC version, just think of it as authentic!).
  • Added an invert look option in the menus.
  • Tweaked touchscreen code more to make it more errorproof (it has always worked fine on my hardware, so this isn't 100%).
  • When errors occur, the game will display them instead of stopping and spinning in place, so that you can go to my forums and yell at me about them (if someone else hasn't already).
  • Fixed mana bars not rendering empty space on the bottom screen.
  • Proper loading screen for the initial load sequence.
  • Removed the need for cat from the wad-building process.

v0.1 2005/08/10 (by Rich Whitehouse)

  • First release. Includes sound, touchscreen and automap support.

Credits

Authors:

Additional thanks:

  • WinterMute and Dovoto.
  • Chishm (libfat).
  • Damian Yerrick (gbfs).
  • Ravensoft for releasing the Hexen code to the public.
  • Everyone else who has constributed to the wealth of knowledge available for DS homebrewing.

External links

Advertising: