1
2Graphics files:
3RGBA PNGs.  Leave off the alpha channels and the program will segfault.  Using
4non-power-of-two dimensions is okay on my platform (GL just complains), but
5the code to handle this properly is not present, so power-of-two dimensions
6are strongly recommended (128x128, 256x256, etc).
7
8Mesh files:
9Simple ASCII format.  12 floating point numbers for each vertex:
10texture x,texture y, color red, color green, color blue, normal x,
11normal y, normal z, position x, position y, position z.  Mesh files must
12have a line that isn't data line as the first line.  Specify the skin that
13goes with the mesh with a line like "Tmyskin.png ;".  Don't forget the space!
14I agree that this is a heathen format.  Recommendations for a replacement
15are welcome.
16
17Sound files:
18Stereo wav.  22050Hz 16bit stereo.
19The whole sound system is screwed up (my first ever attempt at writing one),
20so please excuse it when it barfs on perfectly reasonable files.
21
22Code:
23More class based than object oriented.  Rough around the edges.  Not an
24especially inspired design, but hopefully generally intuitive.  See what main()
25does, and then look at Game.cpp: Game::Happen().  Notice my own linked list
26template class used extensively, for better or worse.  Not in SoundCore though,
27since SoundCore was written at a different time to the rest of this stuff.
28
29Use the commented out DEFINES= line in Makefile for hacking.  In this way the
30Fn keys do fun things for you, +/- slow down and speed up time, and excido
31doesn't grab the mouse on start up.  Why doesn't it grab the mouse?  Run
32something that's grabbed the mouse inside a debugger, wait for it to segfault,
33then have fun getting the use of your mouse back :-)  You can press G to grab
34once in game.
35To see exactly what the RELEASE def does, just do a egrep "ifn?def RELEASE" src/*
36
37Porting?  Excido has been tested only on linux, but should be generally
38portable.  I believe there are some handy guides on commonly encountered
39problems when porting SDL-based programs on the web.
40In main.cpp, getenv is used to find USERPROFILE on win32 and HOME otherwise.
41I don't know about finding the home dir on other systems.  (and the win32 thing is just a guess).
42