About this project

cute_headers is a collection of cross-platform, single-file C/C++ libraries intended to be dropped directly into a project. Each header is self-contained and has no external dependencies, and the stated focus is primarily game development. The repository documents the following headers: - cute_c2 (1.10): 2D collision detection on primitives, boolean results and/or manifold generation, shape cast/sweep tests, and raycasts. - cute_net (1.03): networking library for games, offering an optional reliability layer over UDP with a built-in security scheme. - cute_tiled (1.07): loader for Tiled maps exported to JSON format. - cute_aseprite (1.04): parses .ase/.aseprite files into a compact struct collection. - cute_sound (3.0): load, play and loop (with plugin) and pan WAV and OGG audio (OGG via an stb_vorbis wrapper) in mono or stereo, with a custom mixer, music and crossfade support. - cute_png (1.06): load and save PNG, compile texture atlases, a DEFLATE-compliant decompressor, and an LZ77 compressor. - cute_spritebatch (1.08): run-time 2D sprite batcher that builds atlases in memory on the fly, for high-performance rendering without precompiled on-disk atlases. - cute_sync (1.02): synchronization primitives including a read/write lock and a threadpool/task system. - cute_tls (1.02): create a TLS connection to a website over TCP, useful for HTTPS requests (C/C++/Obj-C). Usage model: headers are included directly into source. Each header defines a LIBNAME_IMPLEMENTATION symbol; defining it in exactly one translation unit and including the header there emits the implementation, while other files include the header normally. The README argues this approach simplifies distribution (a single file to copy) and avoids build-script changes, and that well-constructed single-file headers use templates sparingly and place implementation in one translation unit to limit compile-time cost. Some headers ship with example code and demos in corresponding examples or tests folders, which the README recommends for learning usage. Licensing is stated per file, with a choice between public domain and zlib. Deprecated headers have been moved to a separate cute_headers_deprecated repository. The author also points to Cute Framework, a higher-level 2D game creation framework built largely on top of these low-level headers, and to STB, RJM and Mattias Gustavsson's libs as reference examples of header libraries. Community contact is offered through a Discord server and Twitter (@randypgaul).