clld - A standalone collision checker Contents/Index: 1. Introduction 16 2. Setup 26 2.1. Compilation 28 2.2. Installation 47 2.3. Running 59 3. Input Format 65 4. Output Format 104 5. License 135 6. Authors 143 1. Introduction clld is a simple collision checker, that takes two 2D, or 3D points, tests the collision of the points, and outputs the results to stdout. It can do many different types of collision checks, including tile heightmap, AABB, and (possibly) more. 2. Setup 2.1. Compilation To compile clld, run: $ make You can add extra compiler options, with the CFLAGS_EXTRA variable. clld also supports compilers that are not bloat, such as TinyCC, and the Portable C Compiler. It is also recommended to compile clld with one of the compilers above, rather than compiling it with gcc, or llvm. The reason for saying this is because the program is very simple, and very optimized, so using gcc wouldn't net you any significant gain in performance, and would make the size of the binary, alot bigger. 2.2. Installation To install clld, run: $ make install You can change the install prefix, and bin directories, by changing the PREFIX, and BIN_DIR environment variables. By default, PREFIX, and BIN_DIR are set to /usr/local, and bin respectivly. 2.3. Running Run `clld -h` to get information about the options. 3. Input Format The input format is plain text, and contains the collision type, the cursor position, and the floor position. The input format looks like this: , , [, ] , , , [, , , [, ] , The x, and y collision flags are set, when a collision has occured on either the x, or y axis. The grounded flag is set when the cursors y coordinate matches the floors y coordinate. Cursor x, y, and z are the new coordinates for the cursor to be set to. The Cursor x, and y velocity are the new speed values of the cursor. The datatypes for each of the fields are: Collision flag: flag Grounded flag: flag Cursor position: integer, or floating point Cursor axial velocities: floating point 5. License clld is released under the GNU General Public License version 2. The full text of the license can be found in the LICENSE file that should be included in the clld distribution. 6. Authors Original author: mr b0nk 500