Skip to content
0.2.1
c0574bb
Compare
Choose a tag to compare

View commits since 0.2.0

CLI

  • Added arm/arm64 builds
  • Added --recursive_vpk option

GUI

  • Added support for recovering deleted files in vpk archives
  • Added support for embedded animations in vagrp
  • Added support for automatically finding bare files on disk when opening a model
  • Render entity lumps into a separate tab
  • Normalize line endings in text viewer
  • Do not crash when settings.txt fails to load

Library

  • New vcs (compiled shader) decompiler, thanks to @robert-hoff
  • Added entity I/O output in entity lump dump
  • Added Resource.FullFileSize to attempt to calculate full buffer size of a resource file
    • Metadata does have a file size, but it excludes sound and texture data
  • Added Texture.CalculateTextureDataSize method to return full texture buffer size
    • For block compressed textures this is as simple as summing up all mipmap level sizes
    • For PNG textures, it will check for a valid header and scan all the PNG chunks until the end
    • This does not work for JPEG files at the moment
  • Added verifyFileSize (default true) to Resource.Read to verify that the provided stream was fully consumed by VRF
  • Added vanmgrph, vcdlist, and vdata resource type auto detection
  • Added detection of resource type from singular input dependency in REDI
  • Skip weights that are not vec4 during glTF export
  • Fixed crash when determining file type from extensionless file name
  • Fixed crash with duplicate key names in SoundStackScriptValue
  • Fixed mipmap level calculation for small textures
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