Download

Source 2 Viewer v0.3.0

Faster text, map and model viewers, opening files by path, selecting multiple files in the package viewer, and entity models and sprites in maps.

Decompiler

  • Added --gltf_textures_adapt - perform any glTF spec adaptations on textures (e.g. split metallic map)
  • Fixed output files being dumped to disk root when input path did not end with a slash

GUI

  • Improved performance of text views by disabling word wrapping
  • Improved performance of map and model viewer
  • Added support for opening files directly inside of a vpk file by providing a path as an argument to VRF.exe, for example vpk:pak01_dir.vpk:file/inside.vmdl_c
  • Added memory mapped file support when reading package file to reduce memory usage
  • Added support for selecting multiple files in the package viewer
  • Added support for aggregate scene objects in map viewer
  • Added a checkbox to hide tools materials in map viewer
  • Added basic rendering of entity models and sprites similar to Hammer
  • Added automatic folder discovery when folders contain addoninfo.txt or .addon files
  • Opening files inside of game addons folders will now automatically discover folders to load files (by looking for addoninfo.txt)
  • Added export and decompile items to tab context menu (this replaces the Export menu)
  • Exporting (and decompiling) a folder now attempts to deduplicate files, for example when a model exports, it won't export mesh and animation files separately
  • Animated models now calculate their bounding box dynamically, they should no longer disappear out of view in map viewer
  • Animation scrubber now pauses while dragging it
  • Fixed FPS counter to correctly count frames
  • Fixed binary blobs in PhysSceneNode
  • Fixed loading skyboxes in Half-Life: Alyx maps
  • Fixed model viewer having issues with skeletons when the are multiple meshes
  • Fixed export dialog cancel button not actually cancelling the export
  • Fixed particles never decaying
  • Use Cascadia Mono font when available

Library

  • Improved animation handling
    • Implemented CCompressedDeltaVector3 and CCompressedStaticVector3
    • Implemented bone scaling
    • Decode frames on demand to reduce memory usage
    • Bones are now remapped to a model
  • Improved glTF exporting
    • Improved performance and file sizes
    • Reuse animations, skeletons, models, and meshes whenever possible
    • Decompiling a folder will now use glTF exporter
    • Generate PBR texture that glTF can understand
    • Embedded meshes now have names
    • Vertex buffers are no longer duplicated per draw call
    • Added morph position data
    • Only well known vertex accessors are output now
    • Fixed some bugs
  • Improved material and texture extraction
    • Sprite textures will now export into individual frames
    • Materials will now produce a vmat file and individual textures
  • Added support for sound phoneme reading
  • Added support for post processing file reading
  • Added support for newer shader file versions
  • Mesh and Morph are now resource data types
  • Fixed lz4 ring decoder frame size in binary kv3
  • Fixed heap corruption after decompressing zstd binary kv3
  • Fixed NTRO Color type
  • Fixed CBlockDecompress::FastDecompress implementation
  • Use native Half type

View commits since 0.2.2 | View milestone

Thanks to