Skip to content
master
Go to file
Code

README.md

VRF / Valve Resource Format

GitHub Workflow Status

Valve's Source 2 resource file format parser, decompiler, and exporter. Source 2 files usually files end with _c, for example .vmdl_c.

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.

βš’ You can download latest unstable build from AppVeyor.

Chat

Prefer IRC? Join #steamdb-vrf on chat.freenode.net

Eye catchy screenshots

What's supported?

  • 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

Ext Name Support
vanim Animation πŸ‘?
vagrp Animation Group πŸ‘?
vseq Sequence Group No
vpcf Particle System πŸ‘? NTRO, KV3
vmat Material πŸ‘? NTRO
vmks Sheet No
vmesh Mesh πŸ‘?
vtex Compiled Texture πŸ‘? DXT1, DXT5, I8, RGBA8888, R16, RG1616, RGBA16161616, R16F, RG1616F, RGBA16161616F, R32F, RG3232F, RGB323232F, RGBA32323232F, BC6H, BC7, IA88, PNG, JPG, ETC2, ETC2_EAC, BGRA8888, ATI1N, ATI2N
vmdl Model πŸ‘?
vphys Physics Collision Mesh No
vsnd Sound πŸ‘? wav, mp3
vmorf MorphSet No
vrman ResourceManifest πŸ‘?
vwrld World πŸ‘?
vwnod WorldNode πŸ‘?
vvis WorldVisibility No
vents EntityLump πŸ‘?
vsurf Surface Properties No
vsndevts Sound Event Script πŸ‘? KV1, πŸ‘Ž KV3
vsndstck Sound Stack Script πŸ‘? KV1, πŸ‘Ž KV3
vrmap Resource Remap Table No
vcss Panorama Style πŸ‘?
vxml Panorama Layout πŸ‘?
vpdi Panorama Dynamic Images No
vjs Panorama Script πŸ‘?
vsvg Panorama Vector Graphic πŸ‘?
vpsf Particle Snapshot No
vmap Map πŸ‘?
Β  Β  Β 
vpk Pak (package) πŸ‘? Handled by ValvePak
vcs Compiled Shader β?“ Started work in CompiledShader, see #151
vfont Bitmap Font πŸ‘? Decrypts VFONT1, supported in Source 1 (CS:GO) and Source 2 (Dota 2).
dat Closed Captions πŸ‘? Handled by ClosedCaptions
bin Tools Asset Info πŸ‘? Partially handled by ToolsAssetInfo, see #226
vdpn Dota Patch Notes No

Not all formats are 100% supported, some parameters are still unknown and not fully understood.

License

Contents of this repository are available under MIT license, except for Tests/Files folder contains files which have likely come from Valve's games.

You can’t perform that action at this time.