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