
This is just a simple raycaster that I slapped together for fun, based on the
excellent tutorial at http://www.permadi.com/tutorial/raycast/index.html. I
originally wrote the raycaster as a Linux/SDL app in pure C until I got things
working nicely, and then transferred things over to the GBA. The initial
version managed about 1 frame per second - with a few optimisations, including
a little asm, it's now up to about 15-20fps in VisualBoyAdvance. It runs fine
on real hardware too, but a little more slowly.

When I say simple, I mean simple - think Wolf3D. Hopefully the code will make
some sense - if not, then reading the tutorial will probably make it a bit more
clear. It's a fairly straightforward implementation of the basic techniques
presented in the tutorial, with fixed-point math and table-based trig functions
giving it speed, as well as the odd bit of assembler :)

In addition to the basic walls, there's a sprite system for drawing in-game
objects, and some floor and ceiling textures textures. I've also added shading
to give the graphics a bit more depth.

Improvements on the agenda include:
- More speed :)

I might also look at improving the engine's capabilities ie: adding
variable-height walls, jumping, etc., but these things are more long-term. My
aim for the moment is to get some characters into the engine and get some kind
of game happening once I'm happy with the basic renderer.

This code is licensed under the GNU Lesser General Public License, or LGPL,
which in essence means that you can do whatever you like with the code,
including using it in commercial software, as long as you release the source 
code for any modifications you make to my code.

If you'd like to contribute, please by all means do so. I'm fairly new to the
GBA, so I've probably got a lot to learn. I'm also not too crash-hot with
graphics, so any help with textures/sprites would be greatly appreciated

- Leigh
lsd@linuxgamers.net
