Download

Source 2 Viewer v19.2

A first-person view with a weapon and legs when walking around CS2 maps, and turning newer animation graph files back into editable source files.

CS2 First-Person Viewmodel

Available on CS2 maps, walk mode now renders the CS2 first-person viewmodel alongside first-person legs, with weapon and leg animations driven by a new animation mixer. Includes multi-dimensional blend spaces, additive breathing, bone masks, muzzle flash, and perspective correction.

image

AnimGraph 2 Decompilation

Added decompilation of AnimGraph 2 (NmGraph) files back to editable source documents, covering node specifications, type definitions, variations, and virtual parameter types. Round-trip fidelity is preserved across global transitions and animgraph variation overrides.

GUI

  • Added skybox material rendering to thumbnails, and rotated cubemap thumbnails upright
  • Fixed application hang when creating a screenshot with Ctrl+C
  • Fixed crash when double-clicking an output target without a targetname

Renderer

  • Added a CS2 first-person viewmodel and first-person legs in walk mode, with a new animation mixer, IK, and tilt-twist constraint solver
  • Improved particle simulation timing with min/max simulation time and by carrying excess frame time over to the next tick
  • Improved walk mode movement to run at a fixed 64Hz, buffer jump input, and refine step-move collision precision
  • Improved physics collision traces to consistently resolve corner-triangle and axis-aligned edge-edge cases
  • Separated vr_unlit into its own shader, mainly for SteamVR Home
  • Normalized envmap visualization brightness in vr_standard
  • Enabled the "No layer" world layer by default
  • Fixed fog in SteamVR Home and Robot Repair
  • Fixed F_TRANSMISSIVE_BACKFACE_NDOTL for three-layer parallax materials
  • Fixed value wrapping in particle remap and curve-fitting operators
  • Fixed screenshot transparency in the MSAA resolve pass
  • Fixed texture debug display
  • Fixed several particle operator typos

Library

  • Added AnimGraph 2 (NmGraph) decompilation
  • Added secondary skeleton linking and improved sync tracks in exported .vnmclip files
  • Added DMX skeleton writing
  • Added LODGroupList export to the vmdl decompiler
  • Added bindless texture and sampler output to ShaderExtract
  • Improved SPIR-V shader reflection: matched samplers to well-known names, mapped render state values to enum names, added the RsComparison, RsFilter, and RsTextureAddressMode enums, and fixed binding offsets for older shaders (Half-Life: Alyx)
  • Improved VfxRegisterType enum coverage with renamed and added members
  • Added a missing visibility region bit field to VoxelVisibility
  • Added Name to Skeleton
  • Fixed compute shader buffers being overwritten by globals when decompiling SPIR-V shaders
  • Fixed skybox YCoCg texture colors when exporting and previewing
  • Fixed UV calculation when exporting cubemaps to an equirectangular (lat-long) image
  • Fixed nmclip decompile coordinate system, nmskel root_motion axis, and nmclip glTF export to include the armature
  • Fixed missing last set of joints in glTF exports
  • Fixed glTF mesh list filtering
  • Fixed default bone weights for meshes with 8 bones
  • Fixed modeldoc PhysicsHullFile missing the parent_bone property
  • Fixed unsanitized modeldoc node names in generic game data
  • Fixed modeldoc body group choice names
  • Fixed crash parsing materials that omit dynamic param arrays
  • Fixed VfxEval float formatting on non-English locales
  • Fixed invariant culture handling in more places

View commits since 19.1 | View milestone

Thanks to