/ValveResourceFormat

🔬 Valve's Source 2 resource file format parser and decompiler

Primary LanguageC#MIT LicenseMIT

Valve Resource Format

Build Status (Travis) Build Status (AppVeyor) Coverage Status NuGet

Valve's Source 2 resource file format (also known as Stupid Valve Format) parser and decompiler. Contents of this repository are available under MIT license.

Interested in helping? Jump in #steamdb on freenode and ask away!

This repository is split into three components:

  • CLI Decompiler - File viewer, decompiler and a playground for testing new formats and features.
  • GUI Viewer - A complete mess of winforms and other fun things.
  • Library - The only sane part of this repository, provides public API.

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

Supported resource types

Ext Name Support
vanim Animation No
vagrp Animation Group No
vseq Sequence Group No
vpcf Particle System 👍 NTRO, KV3
vmat Material 👍 NTRO
vmks Sheet No
vmesh Mesh Vertex and index buffers, vertex attributes
vtex Compiled Texture 👍 RGBA8888, RGBA16161616F, DXT1, DXT5, PNG
vmdl Model Started
vphys Physics Collision Mesh No
vsnd Sound 👍 wav, mp3
vmorf MorphSet No
vrman ResourceManifest 👍
vwrld World 👍
vwnod WorldNode 👍
vvis WorldVisibility No
vents EntityLump No
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 👍
vpsf Particle Snapshot No
vmap Map 👍
Ext Name Support
vpk Pak (package) 👍 Handled by ValvePak
vcs Compiled Shader Partially supported by CompiledShader
vfont Bitmap Font 👍 Decrypts VFONT1, supported in Source 1 (CS:GO) and Source 2 (Dota 2).

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

Eye catchy screenshots