Skip to content

Latest commit

 

History

History
37 lines (28 loc) · 1.57 KB

README.md

File metadata and controls

37 lines (28 loc) · 1.57 KB

sourcepak

sourcepak is a Rust crate that provides support for working with VPK (Valve Pak) files. It allows you to read and write VPK files, as well as extract and pack their contents.

crates.io

Features

  • Read and write VPK files
  • Extract files from VPK archives
  • Optionally memory-map archive files for faster speeds (with the mem-map feature)
  • Write VPK directory files (dir.vpk)

Supported formats

VPK v1 (Alien Swarm, Dota 2, L4D, L4D2, Portal 2, SFM)

  • Read directory files
  • Read file contents
  • Write VPK directories

VPK v2 (CS:GO, CS:S, DoD:S, HL:S, HL2, HL2:DM, Portal, TF2, Source 2)

  • Read directory files
  • Read file contents
  • Write VPK directories

Respawn VPK (Titanfall)

  • Read directory files
  • Read file contents
  • Read audio files (see here for why this is separate)
  • Write VPK directories

Documentation

Documentation can be found here

Why does this crate exist?

I originally created the TFVPKTool TypeScript library to support reading Respawn VPK files, along with Harmony VPK Tool using Electron.

I very quickly noticed the issue that these often resulted in high memory use due to language and ecosystem I had used.

With sourcepak I am aiming to fix that.