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.