License
The following is code which may be useful to others in some manner or another. It is released to the public domain with a license very similar to the one found at [http://unlicense.org/].
Source Code
Event.h v1.0
- Lightweight event handling. Add handler(s), call Fire(params). Handles 0 to 4 parameters.
- Optionally use std::tr1::function or fastdelegate library.
Input.cpp, Input.h v1.10 - Depends on Event.h above
- Subclasses a window and triggers callback(s) for input. Maintains state such as mouse drag delta and keys currently pressed.
- Can ignore system keys and combinations. Good for, say, a toddler's game.
- Stores data using SetProp and an atom, so as to not conflict with the commonly used user data attribute.
Libraries
glory v1.00 - basic C++ game math library
- Public domain, cross platform, header-based. Headers tend to be independent of each other.
- Basic 2d collision detection, camera, rectangular region, bin packing
- Common math operations, 2d/3d vector class, interpolation collection (1d, 2d, and 3d functions), color object
- Fast random number generator, bit manipulation and streaming
lil v0.10 - Image file format i/o
- Public domain, cross platform. Designed for general use (not tailored towards one purpose).
- Lightweight. C++ implementation but pure C interface
- Loads and saves JPG, BMP, GIF, PSD, PCT, PNG, ICO, CUR, TGA
- Configurable I/O, Memory allocation, Image framework integration, other internal details
- Conversion to/from YCbCr, RGB[A], Y[A], CMY[K][A] in multiple channel orders
- Conversion to/from any bit depth per channel ([5 6 5] [2 10 10 10] [8 8 8] [1] [16 16 16] etc)
- Multipage support
paper v2.00alpha - C++ Image processing library
- Public domain, cross platform, header-based.
- Arbitrary typed surfaces (ie can process a surface of Vector2, or a surface with 3 channels of single bytes, etc…)
- Kernel filters, arithmetic, layer blending, projection, scaling, configurable flood-fill
- Build functions from templates (ie 4 channel float + quad projection + masked dodge blending)
- Takes a somewhat different approach from boost::gil; paper is also reasonably less complex
- Optional SIMD optimizations with non-SIMD fallback