Title:			HexenDS
Version:		0.2
Author:			Rich Whitehouse
Date:			2006-03-04
Homepage:		http://www.telefragged.com/thefatal/
Additional thanks:	Authors of NDSLib/LibNDS
			Ravensoft for releasing the Hexen code to the public (I wish
			they'd release the JK2/SoF2 source!).
			Everyone else who has constributed to the wealth of knowledge
			available for DS homebrewing
-------------------------------------------------------------------------------------
What you need:
 -The wad from the full version of Hexen (shareware not supported natively by code
  released by Raven, may be integrated in later versions).
 -A flashcart big enough to hold the binary with wad (well over 128mbit).
 -gbfs by Damian Yerrick for appending the wad to the HexenDS binary. You can obtain
  it here: http://www.pineight.com/gba/
 -A way of getting your DS to boot off of said flash cart, which also allows the arm9
  code to access the cart's rom. I personally use wmb and a F2A 256mbit cart.

How to use:
 -Place your full version Hexen wad in the bin directory where makewadgbfs.bat is,
  along with the ds and ds.gba files. Also make sure you have gbfs, lsgbfs, and
  padbin.
 -After fulfilling the above requirements run makewadgbfs.bat, if all goes well you
  will end up with hexends_wad.nds and hexends_wad.nds.gba files.
 -Flash the .gba file to your flash cart, use the method of your choice to get your
  DS to run arm9 code off of the cart. This method must support access of the flash
  cart's rom section or HexenDS will not run.

What is broken:
 -Saves. Hexen save data is huge and needs work to be cut down. For the time being,
  a warp menu has been added under the "ds" section of the main menu for playing
  around.

Controls:
 -Use the touchscreen to look around and the dpad to move.
 -L button fires.
 -R button jumps.
 -Y button cycles through inventory.
 -X button cycles through weapons.
 -B button uses objects (doors, switches).
 -A button uses the selected inventory item.
 -Select brings up the menu and exits out of it (acts as escape).
 -Start selects menu items, or toggles the automap when not in a menu.
 -B+Up/Down on dpad flies up/down while in fly mode.
Touch screen sensitivity has replaced mouse sensitivity in the options menu. In
addition, 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 of my changes will be marked with rww.
Additionally, a solution for building a Win32 HexenDS binary is included. I use
this often for testing trivial functional behaviour changes so that I don't need
to reflash my cart every time.

To build the code, you should use devkitPro r17 and libnds-20060201. You will need
to modify PROJDIR and TOOLDIR to reflect your own paths, but beyond that, it should
build without problems as long as you have the appropriate tools on your path
already.


Version 0.2 notes:
------------------
-Moved from devkitPro 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.


Version 0.1 notes:
------------------
-First release. Includes sound, touchscreen and automap support.
