Touhou Musical Danmaku Code
Status: Pre-Alpha
Brought to you by:
aphid-scf
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] |
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.