oxipkx 1.0.0

Zero-dependency parser for id Tech 3/4 PK3/PK4 files (Quake III, Doom 3).
Documentation
  • Coverage
  • 91.67%
    33 out of 36 items documented0 out of 14 items with examples
  • Size
  • Source code size: 43.91 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 554.59 kB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 3s Average build duration of successful builds.
  • all releases: 3s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • Repository
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • 5unekku

PK3 / PK4 archive parser — read-only entry access for id Tech 3/4 (Quake III, Doom 3).

a .pk3 (Quake III) or .pk4 (Doom 3) file is just a standard ZIP archive with a renamed extension: no proprietary wrapper, no encryption, no ZIP64. the two engines parse it identically. this crate reads the archive strictly from the tail inward (locate the end-of-central-directory record, walk the central directory, then seek per entry to its local header) exactly the way the minizip-derived engine loaders do, with a self-contained DEFLATE decoder so it stays zero-dependency.

names are normalized to lowercase with forward slashes, and lookups are case-insensitive and slash-insensitive, matching engine behavior.

game-specific extras are feature-gated: pak checksums and pure/add-on conventions for Quake III live behind quake3, and the Doom 3 pak checksum plus the Doom 3 BFG .resources container live behind doom3.