commit 6a7777502c8bdde942bbe2a2c5c52714f15551d1 from: Evan Burkey date: Sun Mar 15 06:00:30 2026 UTC Rewrite README with professional language and link to new docs commit - 818e19c53dc9d8cf303ea4f1848c35c2079c4916 commit + 6a7777502c8bdde942bbe2a2c5c52714f15551d1 blob - 0d2db45523b91c80ac392c4ce59008226b77fcbf blob + 88c244c0e7b1e8b69908410f6d3bb79b0b8f3663 --- README.md +++ README.md @@ -1,14 +1,30 @@ # spitwad -Originally conceived as a joke between some friends after we laughed about how it would be better to use WADs to send data -between applications then JSON, because JSON is stupid and wasteful. `spitwad` is a library for interacting with WAD -files, popularized by ID games like DOOM and Quake. You can use it in your DOOM clone, or to package your data and -send it over a network as a WAD. Why? Why not! +A C library for reading, writing, and manipulating WAD files. The [WAD format](https://burkey.co/Software+Documentation/spitwad/WAD+Format) was created by id Software for DOOM and has since become a staple of game modding. spitwad treats WADs as a general-purpose archive format — use it for your DOOM clone, or package arbitrary data and send it over a network. +## Quick Start + +```bash +cmake -B build +cmake --build build +``` + +```c +#include "spitwad.h" + +struct WAD wad; +wad_init(&wad, PWAD); +wad_add_lump(&wad, "GREETING", (const unsigned char *)"hello", 5); +wad_write_file(&wad, "hello.wad"); +wad_destroy(&wad); +``` + ## Requirements -Should work on any POSIX platform out of the box +- CMake 3.22+ +- C99 compiler +- Any POSIX platform (Linux, macOS, BSD) -## Usage +## Documentation -Docs are a work in progress! +Full API reference and format documentation: [burkey.co/Software Documentation/spitwad](https://burkey.co/Software+Documentation/spitwad/spitwad)