Home

Awesome

pico_headers

A collection of cross-platform single header libraries written in C.

LibraryDocsDescriptionVersion
pico_b64docsBase64 encoding/decoding library0.1
pico_ecsdocsPure and simple ECS2.3
pico_gfxdocsGraphics library based on sokol_gfx0.1
pico_gldocsGraphics library based on OpenGL0.1
pico_hitdocs2D collision detection (SAT) and ray casting0.2
pico_logdocsMinimal and flexible logging framework1.0
pico_mathdocs2D math library for games2.0
pico_qtdocsA simple quadtree library1.1
pico_timedocsSimple time management library0.1
pico_unitdocsBare-bones unit testing framework1.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.