Oh, and there's a decompressor for VPK files at
http://home.archshadow.com/~daeken/decompress.py
To use find.py:
python find.py input_file.vpk
It'll output a bunch of numbers starting with 0 (1 for each byte where it doesn't find a compressed block) and then if it finds one, the first byte of the block and then the length of it. It's an invaluable tool for RE'ing file formats.
To use decompress.py:
python decompress.py input_file.vpk output_file.out
It'll do everything for you. You'll need to run this on any VPK you plan on using, even if it's not compressed, because the block headers are still there.
Enjoy.
Happy Hacking,
Lord Daeken M. BlackBlade
(Cody W. Brocious)