VRF / Valve Resource Format
Valve's Source 2 resource file format parser, decompiler, and exporter.
Source 2 files usually files end with
_c, for example
This repository is split into three components:
- CLI Decompiler - File data viewer, decompiler and a playground for testing new formats and features.
- GUI Viewer - A vpk archive viewer and extractor. Also supports viewing resources such as sounds, textures, models, maps, and much more.
- Library - Provides public API to parse resource files and some helpers.
Join our Discord
Eye catchy screenshots
- Model viewer
- Map viewer
- Sound player
- VPK viewer which supports opening and exporting files
- Read only VPK API
- Binary KeyValues3 parser
- NTRO support
Why does VRF suck?
This tool is based entirely on a reverse engineered effort because Valve does not provide any documentation or Source 2 code (SDK or engine code), while the Source 1 SDK and leaked engine code are helpful, a lot of systems and formats have changed.
The code contained in this repository is based on countless hours of reverse engineering Source 2 games and not all intricate details have been figured out.
If you are interested in helping, take a look at the open issues.
Supported resource types
|vphys||Physics Collision Mesh||No|
|vsndevts||Sound Event Script|
|vsndstck||Sound Stack Script|
|vrmap||Resource Remap Table||No|
|vpdi||Panorama Dynamic Images||No|
|vsvg||Panorama Vector Graphic|
|bin||Tools Asset Info||
|vdpn||Dota Patch Notes|
|vdacdefs||DAC Game Defs Data||No|
|vfe||Face poser||No, see #142|
|vcdlist||VCD list||No, see #160|
List of supported magics:
||VKV\x03 - First binary keyvalues 3 encoding with custom block compression|
||KV3\x01 - LZ4 compressed|
||KV3\x02 - LZ4 compressed and binary blobs are compressed separately|
||VBKV - binary keyvalues 1 (handled by ValveKeyvalue)|
||VPK - valve package (handled by ValvePak)|
||VCCD - closed captions|
||tools asset info|
||vcs2 - compiled shader|
||murmurhash2 seed used in various places (like entity keys)|
||"encrypted" font file|
Not all formats are 100% supported, some parameters are still unknown and not fully understood.
Contents of this repository are available under MIT license, except for
Tests/Files folder contains files which have likely come from Valve's games.