Menu

Tree [r70] /
 History

HTTPS access


File Date Author Commit
 THMD 2012-12-17 aphid-scf [r70]
 conf 2011-06-07 aphid-scf [r1]
 db 2011-06-07 aphid-scf [r1]
 hooks 2011-06-07 aphid-scf [r1]
 locks 2011-06-07 aphid-scf [r1]
 Legalese.txt 2011-10-03 aphid-scf [r38]
 README.txt 2011-10-03 aphid-scf [r37]
 THMD_Credit.txt 2011-10-03 aphid-scf [r38]
 VERSION.txt 2011-10-05 aphid-scf [r56]
 format 2011-06-07 aphid-scf [r1]

Read Me

This is a Subversion repository; use the 'svnadmin' tool to examine
it.  Do not add, delete, or modify files here unless you know how
to avoid corrupting the repository.

Visit http://subversion.tigris.org/ for more information.

/////////////////////////////////////////////////////////////////////

Main Coding Readme File

Revision 03.

/////////////////////////////////////////////////////////////////////

Coding Style.

Please use a consistent coding style. The current style is exemplified
by the following rules, from most to least important:

- Never write platform-specific code in general functions! If, for 
whatever reason, platform-specific code is needed, put it in a diffrent
function, and #ifdef X it, where X is the OS tag (defined in OS.h).
- Try to write tests for complex functions. (E.g. anything where you 
cannot judge whether or not it works completely by simply firing up
the program and seeing what happens). These tests should be under 
#ifdef DEBUG tags and included in the TestMain file or its derivative
functions.
- Try to use boost smart pointers when creating complex dynamic objects.
- Use of delete() should thus be avoided.
- Use /**/ behind a function or method if it is NOT implemented yet.
- Use CamelCase for function and method names. 
- Don't use namespaces. (Instead, write out std::, etc.)
- Use a single space for inlining braces. 
- Single-line sections do not need to have braces, but may do so. 
- Do not nest 4+ conditional branches on a single line of code. 
(e.g. "ib=ba?bb?!bc?4:6:2:bb?5:1;")
- Use Hungarian notation for simple variables;
pX for pointers. iX for integers, fX for floats, dX for doubles, rX 
for references, cX for classes, sX for structures, eX for enumerations, 
and so on and so forth. 
- Use ALLCAPS for all preprocessor directives and enumeration constants. 
- Preprocessor variables for .h files use the construct _FILENAME_H_
- Use the large three-line boundaries to section a code file. 
- Use the large standard descriptors for large functions and classes. 
- Do not use them for inline functions or small utility functions.
- And of course default stuff like preventing magic numbers, etc.


//////////////////////////////////////////////////////////////////////

Libraries used.

Currently, we use OpenGL and Boost. You'll have to install those to 
compile the code. 
One of the key things about this project will be the minimal use of 
libraries, since licenses often will require me to require project
users to download them (the libraries, not themselves) separately.
Also, dealing with libraries is a pain. They all use diffrent code 
conventions.
As for OSes, we use the standard windows SDK and the standard linux
windowing system (X11/XLib). 

Compiling this:

Because I don't care what people use to compile this, I'm only 
providing the source code files so you can download it easy and fast. 
Please let me know if you can't compile it and why. 

///////////////////////////////////////////////////////////////////////

To compile with the compiler I use (Microsoft VS 2008), create an empty
project, set it to MT Debug DLL, and install the Boost libraries into
 PATH/boost, or into the project itself. Include all the files in 
THMD/ into the project and voila.
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.