Awesome
pico_headers
A collection of cross-platform single header libraries written in C.
Library | Docs | Description | Version |
---|---|---|---|
pico_b64 | docs | Base64 encoding/decoding library | 0.1 |
pico_ecs | docs | Pure and simple ECS | 2.3 |
pico_gfx | docs | Graphics library based on sokol_gfx | 0.1 |
pico_gl | docs | Graphics library based on OpenGL | 0.1 |
pico_hit | docs | 2D collision detection (SAT) and ray casting | 0.2 |
pico_log | docs | Minimal and flexible logging framework | 1.0 |
pico_math | docs | 2D math library for games | 2.0 |
pico_qt | docs | A simple quadtree library | 1.1 |
pico_time | docs | Simple time management library | 0.1 |
pico_unit | docs | Bare-bones unit testing framework | 1.1 |
These libraries are as-is, however, suggestions for improvements or bug fixes are appreciated. Please raise an issue before submitting a PR with new features. Bug fixes are always welcome!
The API of libraries with versions less than 1.0 are subject to changes without warning. These changes might crash your code or cause other problems. Libraries with versions equal to or greater than 1.0 are more stable and will generally only be changed when adding features or making bug fixes. Changes may still break the API, but will be limited in scope and should not introduce unpredictable behavior at runtime.
The examples and tests compile and run on Linux (GCC), Windows (MSYS2/MinGW64), and MacOS (Clang). The only exception is the Rogue demo, which only compiles/runs on Linux and MacOS.
Most libraries are licensed under your choice of zlib or the public domain. The remaining libraries are licensed under the MIT license.
Deprecated libraries (pico_sat and the old pico_math) can be found here
I give my thanks to Randy Gaul for inspiration, answering my questions, and the template for this project.