Valve's Source 2 resource file format (files that usually end with _c
like .vmdl_c
) 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.
⚒ You can download latest unstable build from AppVeyor.
- Model viewer
- Map viewer
- Sound player
- VPK viewer which supports opening and exporting files
- Read only VPK API
- Binary KeyValues3 parser
- NTRO support
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 | 👍 DXT1, DXT5, I8, RGBA8888, R16, RG1616, RGBA16161616, R16F, RG1616F, RGBA16161616F, R32F, RG3232F, RGB323232F, RGBA32323232F, BC6H, BC7, IA88, PNG, JPG, ETC2, ETC2_EAC, BGRA8888 |
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 | 👍 |
vsvg | Panorama Vector Graphic | 👍 |
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.