Skip to content
0.2.0
Compare
Choose a tag to compare

View commits since 0.1.10

This release targets .NET 6.

CLI

  • Added support for extension filter on recursive folders outside of vpks
  • VPKs in VPKs are now recursed into
  • Allow collecting stats on anything supported, not just resources

GUI

  • Save and restore main window position and dimensions
  • Added vmat tab that renders as keyvalues1
  • Fixed exception after exporting to root of disk
  • Removed "wtf" exception

Library

  • Added support for dynamic expressions in material exports
  • Added support for reconstructing xml files from vxml AST
  • Added support for pretty printing css
  • Added support for new versions of ToolsAssetInfo
  • Corrected implementation of audio bits
  • Refuse to export huge models that don't merge into one glb buffer
  • Determine resource type from file name first
0.1.10
9ed57e9
Compare
Choose a tag to compare

View commits since 0.1.9

  • Removed AppVeyor CI

GUI

  • Material (vmat) renderer now uses correct vertex shader (fixes crashing on Intel drivers)
  • Fallback particle number and vector providers to static value (fixes HL:A maps not loading)

Library

  • Implemented Zstandard decompression of binary keyvalue3 binary blobs
  • Implemented CUBEMAP_RADIANCE_SH reading
  • Fixed corrupted texture due to lz4 compression
  • Fixed CCompressedFullQuaternion animation decoder decompression
0.1.9
Compare
Choose a tag to compare

View commits since 0.1.8

GUI

  • Added vphys rendering

CLI

  • Find all vpks when collecting stats in a folder
  • Split exceptions per file type when collecting stats

Library

  • Added support for RED2 block (It's REDI but keyvalues3)
  • Added support for Zstandard binary keyvalues3 compression
  • Added INSG block
  • Added plaintext resource type
    • Artifact's DotaItem (item_c)
    • s&box's plain text data (SBData)
  • Added VTexExtraData.CUBEMAP_RADIANCE_SH
  • EntityLumpKeyLookup is now thread-safe
  • Multiple fixes to binary keyvalues3 (fixes s&box compatibility)
  • Disabled glTF buffer merging for files over 1GiB in size
beb06ee
Compare
Choose a tag to compare

View commits since 0.1.7

GUI

  • Default open dialog to steamapps/common folder for new users
  • Added material group support in model viewer
  • Fixed crash on missing layers in map viewer
  • Fixed color tinting in vr_standard shader
  • Updated vcdlist icon

CLI

  • Added --vpk_list - lists all resources in given VPK
  • Added --gltf_export_format - exports meshes/models in given glTF format
  • Added --gltf_export_materials - whether to export materials during glTF exports
  • Fixed macOS binaries in GitHub releases

Library

  • Added support for exporting worlds (maps) and world nodes
  • Added support for newer tool asset info files
  • Added support for old pre-VBIB meshes
  • Added support for SrMa block (source maps)
  • Resource type is now determined from file extension if all other methods fail
  • Texture names in glTF exports are now preserved
  • Textures are now external in GLB exports
  • Updated KVFlaggedValue with new flags (resource_name, panorama, soundevent, subclass)
  • Updated known entity lump keys
  • Multiple improvements to texture exporting in glTF
  • Improved byte array support in NTRO
  • Fixed glTF rotation
  • GltfModelExporter.ProgressReporter is now IProgress<string>
  • VBIB structs were changed to match Valve's format more closely
eec2f7b
Compare
Choose a tag to compare

View commits since 0.1.6

This release targets .NET 5.

GUI

  • Added trackbar for playing animations
  • Added support for exporting as GLB instead of GLTF
  • Binary kv1 files can be opened now (like chat.cfg)

Library

  • Added partial support for exporting animations to glTF
  • Added support for binary keyvalues 1 (to parse patchnotes.vdpn_c)
  • Added support for vsnap files
  • Added support for vrman files
  • Updated known entity lump keys
d7dee53
Compare
Choose a tag to compare

View commits since 0.1.5

GUI

  • Fixed case sensitive searching
  • Search will automatically search paths if input contains a slash

Library

  • Added support for new version of compressed binary keyvalues3
  • Fixed ETC textures decompressing upside down
  • Fixed Rgba8888 colors
  • Most texture decompressors use Span now (this change may have introduced some decoding bugs)
fb8d29b
Compare
Choose a tag to compare

View commits since 0.1.4

GUI

  • GUI will now automatically try to find required game content vpks based on gameinfo.gi
  • Added new audio player
  • GUI is now able to open mp3/wav/gif/jpg/png files without having to extract them
  • Made navigating vpk file tree more consistent, now works with keyboard
  • Added support for multiple animation textures
  • Added checkered background in texture viewer
  • Added more pixel formats for opengl rendering
  • Added more file type icons
  • Fixed various crashes

CLI

  • CLI is now able to extract meshes and models into glTF
  • File extraction is now able to find required files in the open vpk
  • Changed thread partitioner
  • Added osx build

Library

  • GltfModelExporter is now in the library and not in GUI
  • Added IFileLoader and IProgressReporter for extraction purposes
  • Added support for DXGI_FORMAT.R16G16_SINT
  • Fixed DXT5 non-power-two texture extraction
  • Fixed a couple of null exceptions during model extraction
Compare
Choose a tag to compare

View commits since 0.1.3

GUI

  • Fixes to glTF model exporting
    • Fixed null joint indices
    • Fixed index buffers overflowing
    • Fixed zero-length normals so the model can at least export
    • Fixed remapping tables for meshes
  • Fixed progress text overflowing during export

Library

  • Added material exporting into keyvalues 1 format
  • Added more entity key names
  • Fixed package metadata
Compare
Choose a tag to compare

View commits since 0.1.1

GUI

  • Implemented glTF exporting for models and meshes (see #232)
    • Models and meshes can be exported from vpk without opening it in the viewer
  • Improved rendering for HemiOct normals
  • Fixed GUI softlock when changing viewer background color
  • Fixed a crash on some HL: Alyx maps

CLI

  • Use invariant culture to fix exporting floats

Library

  • Added a lot more known entity keys for HL: Alyx
  • Added support for R32G32B32A32_FLOAT, R32_FLOAT, R16G16B16A16_SINT vertex attributes
  • Added support for LegacySource1InvertNormals
  • Fixed null bytes in closed captions
  • Fixed a crash when there are no frames in an animation
  • Removed MeshWriter
Compare
Choose a tag to compare

View commits since 0.1.1

GUI

  • Ported to .NET Core, now built standalone as a single file binary
  • Added root vpk node for easier extraction of entire vpk
  • Added RGBA16161616F opengl format
  • Added animation transform to error shader
  • Added checkbox to toggle the grid in model viewer
  • Implemented hemi-octohedron normal map projection
  • Fixed alpha test discarding pure blacks (patchy models in HLVR)
  • Fixed camera names crashing map viewer (uses targetname now)
  • Continue extracting on decompiler exception
  • Removed frustum culling in model viewer
  • Disabled VPK checksum checks in extractor and renderer

CLI

  • Allow opening binary KV3 files
  • File types are now detected by reading the 4-byte magic instead of using file extension

Library

  • Added NTRO marshalling for embedded physics and animation blocks
  • Added ToolsAssetInfo to parse readonly_tools_asset_info.bin
  • Added BC6H, BC7, ATI1N, and ATI2N textures decoding (thanks @lewa-j)
  • Added export of hemi-octohedron normalmaps for DXT5 and BC7 (thanks @lewa-j)
  • Added support for closed captions version 2
  • Added support for sound bits used in HLVR
  • Added R16G16_UNORM export
  • Fixed extracting cubemap textures
  • Fixed extracting particle data