ImpulseDS v0.1 Alpha
created by Rajveer (rajveer.co.uk)
------------------------------------


ImpulseDS is a Nintendo DS racing game inspired by F-Zero X.

Special thanks to:
-ant512 for WoopsiGfx and also helping me set it up PC-side. My lame GUI doesn't do WoopsiGfx justice!
-SausageBoy for his TexMex texture converter
-WinterMute and the guys behind devkitPro
-Guy_Perfect from fzerocentral.org for help explaining parts of his F-Zero Execution Project level editor
-gbadev.org for help whenever I need it


Contents:
------------------------------------
1.Installation
2.Track Editor
3.Game


1.Installation
------------------------------------

ImpulseDS uses libfat, so if your flash cart doesn't support automatic DLDI patching then please patch it with the correct driver. http://chishm.drunkencoders.com/DLDI/
-Place the ImpulseDS.nds binary on your flash cart.
-Place the ImpulseDS folder in one of 3 places:
	- the same folder as the .nds binary
	- the root of the flash cart
	- in /data/


2.Track Editor
------------------------------------

The track editor is not feature complete, however it currently allows you to edit the basics of a track. A track is made up of a set of knots which can be moved, rotated and resized.

Flipping between interfaces:
-To flip between the main GUI and the 3D display, click the "flip" button in the top right corner of the touchscreen.

Navigating the 3D view:
-Click and drag on the view to rotate.
-Movement is achieved using the D-Pad, with the shoulder buttons moving the camera up and right.
-Up/down movement can also be done by holding the up/down arrow buttons on the 3D display (second row of buttons).
-Press "A" to switch rendering between track surface and track line mode.

Moving knots:
-Ensure that the 3D display is on the touchscreen and that the mode selector button (top row, second button) is set to "move".
-Click and drag one of the red boxes representing the knot on the track: the knot will turn green whilst dragging. The track will recreate when the knot is released: this process takes a few seconds on the DS so please be patient.

Selecting knots:
-Ensure that the 3D display is on the touchscreen and that the mode selector button (top row, second button) is set to "sel".
-Click on one of the red boxes representing the knot on the track: the knot will turn green when selected.
-If "auto flip" is enabled, selecting a knot in the 3D display will automatically flip the GUI to the touchscreen.
-Knots can also be selected using the left/right arrow buttons on the GUI display (top left corner).

Resizing knot widths:
-Once a knot has been selected, it can be resized in both the GUI and 3D displays.
-To resize the knot's widths in the GUI display, drag one of the width sliders.
-To resize the knot's widths in the 3D display, click on one of the blue boxes that appears next to the selected knot and drag it.
-Knots can be resized together if the chain toggle button is enabled. This is the button to the right of width sliders in the GUI view, and the button in the same position in the 3D view.
-Click the "Apply" button to apply the changes: this process takes a few seconds on the DS so please be patient.
-Reselecting the knot in the 3D view or selecting the knot id label in the GUI view (top-left) will remove any changes.

Rotating knots:
-Once a knot has been selected, it can be rotated in both the GUI and 3D displays.
-To rotate the knot in the GUI display, drag the banking slider.
-To rotate the knot in the 3D display, click and drag the red circle that appears around the selected knot.
-Click the "Apply" button to apply the changes: this process takes a few seconds on the DS so please be patient.
-Reselecting the knot in the 3D view or selecting the knot id label in the GUI view (top-left) will remove any changes.

Adding and removing knots:
-Clicking the "add knot" button will create a new knot AFTER the selected knot.
-Clicking the "delete knot" button will delete the currently selected knot.
-This process takes a few seconds on the DS so please be patient.

Saving the track:
-Click the "Save" button on the GUI display.
-The current name of the track will be autofilled. Click the red button on the right of the keyboard to overwrite the track, or edit the name before saving to save a new version.
-Press the "Esc" button on the keyboard to cancel saving.
-The track named "default" cannot be saved over.

Loading a track:
-Click the "Load" button on the GUI display.
-Scroll the list and then click on the track name to load. (BUG: Don't scroll the list too fast as a bug prevents redrawing list elements.
-Currently the list doesn't show your current position, so scroll until you cannot anymore.

Testing a track:
-Clicking on the "Test" button will take the user into game mode, where they can test the current track.


3.Game
------------------------------------

Currently the game is in a basic state, however it is complete-enough to test out the track. At the moment controls are hard-coded, and have 2 setups which are enabled at the same time:

Button-mode controls:
Accelerate	- A
Brake		- B
Turning		- D-Pad left/right

Touch-mode controls:
Accelerate	- D-Pad up or X
Brake		- D-Pad down or B
Turning		- Touchscreen. Click and drag anywhere on the touchscreen to turn the vehicle - this method allows analog turning.

To exit the game and return to the track editor, press Start.
