🔬 Valve's Source 2 resource file format parser, decompiler, and exporter.
MIT License
Bot releases are visible (Hide)
Added support for dynamic shadows and light probes
9.0 | 8.1 |
---|---|
Improved rendering of clip brushes and physics groups
Added support for exporting and rendering hitboxes
As you can also notice, we also have a better lighting setup and background (dark/light) in the model viewer. You can move light by holding Ctrl and left mouse button.
Capture transparent screenshots from model viewer
When you press Ctrl+C, it will copy a transparent PNG to the clipboard.
idleanim
in animated entitiesSerialization.NTRO
has been removed, instead all NTRO files are upconverted to KV3ChoreoExtract
)IFileLoader.LoadFileCompiled
Published by github-actions[bot] 9 months ago
GetArray
support for NTROValue<NTROStruct>
Published by github-actions[bot] 9 months ago
Model viewer now supports morphs
Texture viewer has been rewritten
It is now more powerful and faster.
--vpk_verify
now verifies hashes of every archive (or every file checksum if hashes are unavailable)ClosedCaptions.ToString
Texture.RetrieveCodecFromResourceEditInfo
to get specific decoder instructionsmipLevel
parameter to Texture.GenerateBitmap
GetDecompressedTextureAtMipLevel(mipLevel)
VTexExtraData.DATA_METADATA
to METADATA
RubikonPhysics.Shapes.Mesh.Triangle
to be a XYZ structCompressedDeltaVector3
and CompressedAnimVector3
decoderIHardwareTextureDecoder
which is implemented by the GUISystem.IO.Hashing.Crc32
BinaryKV3
readingKVObject
now has a debugger displayPublished by github-actions[bot] 11 months ago
This release targets .NET 8. This release is mostly bug fixes.
Exporting a folder now has a dialog asking which file types you want to export
VPK viewer now calculates recursive folder size, and allows sorting by column
Published by github-actions[bot] about 1 year ago
The GUI application was renamed to Source 2 Viewer, including a new icon by Gabe Follower, and website was redesigned.
We have optimized away a lot of heap allocations during frame rendering, which practically removes garbage collection.
We have also reduced memory usage by not keeping some things in memory after loading them.
It is now possible to make Windows Explorer open vpk files in Source 2 Viewer with a single click of a button.
This also registers vpk:
protocol handler (used by Source 2 workshop tools), so links like vpk:path/to/pak.vpk:file/inside/thing.vmdl_c
will open directly to that file.
As a reminder, you do not have to look for _dir.vpk
file, if you open any numbered archive (like _001.vpk
), it will correctly open _dir.vpk
Our ValvePak library gained functionality to pack files into a new VPK archive,
and to dogfood (?) this code, we have added this as a feature in Source 2 Viewer.
Fog | No fog (old) |
---|---|
We have replaced our basic text viewer with a more advanced one, it has an improved find window (Ctrl+F), and allows folding matching brackets.
You can now add files to bookmarks.
vpk:
protocol in Windows Explorersettings.txt
to %LocalAppData%/Source2Viewer/settings.vdf
vpk:
are now supported when passed in as arguments to the exeServerGarbageCollection
--stats_vbib
to collect vertex attributes--tools_asset_info_short
to only print filenamesGameFileLoader
which was only previously available in the GUI
PanoramaDynamicImages.ToString
(vdpi)STAT
blockDXBC
and SPRV
block support in s&box shaders$keyvalues
and refAnimIncludeModels
in model extractmodeldoc28
format instead of modeldoc32
Texture
keeping a reference to resource stream even after it was disposedPublished by github-actions[bot] about 1 year ago
We have shifted our versioning scheme, so instead of this release being 0.5.0
, it is 5.0
.
Added vmap decompilation
normals are fixed in the unstable build
Improved rendering quality
VRF | CS2 |
---|---|
Improved physics rendering (clip brushes and triggers)
Player clips | Bomb plant |
---|---|
setpos
and getpos
buttons
getpos
in game, click setpos
in VRF and vice versa(readonly_)tools_asset_info.bin
filesvjs
and vts
file formats.Published by github-actions[bot] over 1 year ago
Added file explorer feature
Map viewer now uses baked lightmaps and paralax corrected cubemaps
Added entity information window (double right-click an entity)
Texture.GenerateBitmap
now accepts specific depth and cubemap face argumentsPhysAggregateData
Published by github-actions[bot] over 1 year ago
.gltf
, not .glb
)Published by github-actions[bot] over 1 year ago
--stats
now uses memory mapped files when reading from vpkSkiaSharp.Views.WindowsForms
dependencyResponseRules
(vrr)SnapshotExtract
, vsnap
)ArrayPool
when decompressing binary keyvalues 3ArrayPool
in MeshOptimizer
ArrayPool
when decompressing texturesITextureDecoder
interfacePublished by github-actions[bot] almost 2 years ago
--gltf_textures_adapt
- perform any glTF spec adaptations on textures (e.g. split metallic map)vpk:pak01_dir.vpk:file/inside.vmdl_c
addoninfo.txt
or .addon
filesPhysSceneNode
CCompressedDeltaVector3
and CCompressedStaticVector3
Mesh
and Morph
are now resource data typesCBlockDecompress::FastDecompress
implementationHalf
typePublished by github-actions[bot] about 2 years ago
AnimationGroupLoader
is now in the libraryEntityLumpKeyLookup
is now called StringToken
Texture
R16G16_SNORM
vertex attributes.vts
resource type (typescript)ReadNullTermString
Published by github-actions[bot] over 2 years ago
--recursive_vpk
optionResource.FullFileSize
to attempt to calculate full buffer size of a resource file
Texture.CalculateTextureDataSize
method to return full texture buffer size
verifyFileSize
(default true) to Resource.Read
to verify that the provided stream was fully consumed by VRFSoundStackScriptValue
Published by github-actions[bot] almost 3 years ago
This release targets .NET 6.
Published by github-actions[bot] about 3 years ago
CUBEMAP_RADIANCE_SH
readingCCompressedFullQuaternion
animation decoder decompressionPublished by github-actions[bot] over 3 years ago
RED2
block (It's REDI
but keyvalues3)INSG
blockVTexExtraData.CUBEMAP_RADIANCE_SH
EntityLumpKeyLookup
is now thread-safePublished by xPaw over 3 years ago
steamapps/common
folder for new usersvcdlist
icon--vpk_list
- lists all resources in given VPK--gltf_export_format
- exports meshes/models in given glTF format--gltf_export_materials
- whether to export materials during glTF exportsVBIB
meshesSrMa
block (source maps)KVFlaggedValue
with new flags (resource_name, panorama, soundevent, subclass)NTRO
GltfModelExporter.ProgressReporter
is now IProgress<string>
VBIB
structs were changed to match Valve's format more closelyPublished by xPaw almost 4 years ago
This release targets .NET 5.
Published by xPaw about 4 years ago
Published by xPaw about 4 years ago
gameinfo.gi
GltfModelExporter
is now in the library and not in GUIIFileLoader
and IProgressReporter
for extraction purposesDXGI_FORMAT.R16G16_SINT
Published by xPaw over 4 years ago