summaryrefslogtreecommitdiff
path: root/README
diff options
context:
space:
mode:
Diffstat (limited to 'README')
-rw-r--r--README128
1 files changed, 128 insertions, 0 deletions
diff --git a/README b/README
new file mode 100644
index 0000000..7b4d5ab
--- /dev/null
+++ b/README
@@ -0,0 +1,128 @@
+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 91
+ 5. License 117
+ 6. Authors 125
+
+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 heightmask, AABB, per pixel, and 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 environment variables.
+
+By default, PREFIX, and BIN are set to /usr/local, and bin respectivly.
+
+
+2.3. Running
+
+Run `clld --help`, or `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:
+
+<collision type>
+<cursor x>, <cursor y>[, <cursor z>]
+<floor x>, <floor y>[, <floor z]
+
+The collision type is the type of collision check that clld will use.
+
+Cursor x, y, and z are the coordinates of the cursor, which clld will
+test against the floor's position.
+
+Floor x, y, and z are the coordinates of the floor, which is used by
+clld as the reference position that will be tested against the cursor.
+
+The datatypes for each of the fields are:
+
+Collision type: flag
+Cursor, and floor position: integer, or floating point
+
+
+
+4. Output Format
+
+The output format is also plain text, and contains the
+collision flag, the grounded flag, and the cursor position.
+
+The output format looks like this:
+
+<collision flag>
+<grounded flag>
+<cursor x>, <cursor y>[, <cursor z>]
+
+The collision flag is set, when a collision has occured.
+
+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 datatypes for each of the fields are:
+
+Collision flag: flag
+Grounded flag: flag
+Cursor position: integer, or 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 <b0nk@mrb0nk500.xyz>