
Graphics files:
RGBA PNGs.  Leave off the alpha channels and the program will segfault.  Using 
non-power-of-two dimensions is okay on my platform (GL just complains), but 
the code to handle this properly is not present, so power-of-two dimensions 
are strongly recommended (128x128, 256x256, etc).

Mesh files:
Simple ASCII format.  12 floating point numbers for each vertex: 
texture x,texture y, color red, color green, color blue, normal x,
normal y, normal z, position x, position y, position z.  Mesh files must 
have a line that isn't data line as the first line.  Specify the skin that 
goes with the mesh with a line like "Tmyskin.png ;".  Don't forget the space!
I agree that this is a heathen format.  Recommendations for a replacement 
are welcome.

Sound files:
Stereo wav.  22050Hz 16bit stereo.
The whole sound system is screwed up (my first ever attempt at writing one),
so please excuse it when it barfs on perfectly reasonable files.

Code:
More class based than object oriented.  Rough around the edges.  Not an 
especially inspired design, but hopefully generally intuitive.  See what main() 
does, and then look at Game.cpp: Game::Happen().  Notice my own linked list 
template class used extensively, for better or worse.  Not in SoundCore though, 
since SoundCore was written at a different time to the rest of this stuff.

Use the commented out DEFINES= line in Makefile for hacking.  In this way the  
Fn keys do fun things for you, +/- slow down and speed up time, and excido  
doesn't grab the mouse on start up.  Why doesn't it grab the mouse?  Run  
something that's grabbed the mouse inside a debugger, wait for it to segfault,  
then have fun getting the use of your mouse back :-)  You can press G to grab 
once in game.
To see exactly what the RELEASE def does, just do a egrep "ifn?def RELEASE" src/*

Porting?  Excido has been tested only on linux, but should be generally 
portable.  I believe there are some handy guides on commonly encountered 
problems when porting SDL-based programs on the web.
In main.cpp, getenv is used to find USERPROFILE on win32 and HOME otherwise. 
I don't know about finding the home dir on other systems.  (and the win32 thing is just a guess).
