Skip to content

Releases: craftablescience/VPKEdit

v4.4.2

09 Mar 22:09
Compare
Choose a tag to compare

Tip

Read the install guide for assistance installing VPKEdit.

General Changes

  • Add read-only support for .hog and .vpp pack files
  • Fix FPX/VPK internal archive count not being properly updated, which resulted in only saving the dir file when saving to a new location

GUI Changes

  • Add two new translation languages
    • Croatian (thanks N0one!)
    • German (thanks Nilten!)
  • Update Spanish translations (thanks Samuel!)
  • Register .tbl extension with the text preview
  • Add support for previewing PS3 VTFs from Portal 2 and CS:GO
  • On Windows, stop shipping qtga and qjpeg image format plugins (handled by sourcepp now)
  • On Windows, improve DPI manifest to fallback to older styles if PerMonitorV2 isn't supported

CLI Changes

  • Always return EXIT_FAILURE when an error is encountered
  • Stop printing the entire help text after every error
  • Reorder parsing of parameters in edit mode so removal of files/directories happens first
  • Respect output parameter in edit mode if present

Installer Changes

  • Register associations with .hog and .vpp files
  • On Windows, optionally register association for .vmt files
  • On Windows, stop deleting every registered file association when running the uninstaller
  • On Linux, update the outdated MIME type list in the desktop entry

For Developers

  • Improve Visual Studio integration

v4.4.1

14 Feb 22:01
f42a148
Compare
Choose a tag to compare

Tip

Read the install guide for assistance installing VPKEdit.

General Changes

  • Add support for .bee_pack, .fpk, and .pkz compressed ZIP files

GUI Changes

  • Add support for console VTFs to the texture preview
  • Add support for Troika textures (V:TMB) to the texture preview (.tth, .ttz)
  • Allow creating new VPK (V:TMB) files from scratch
  • Add the following extensions to the text preview: .gnut, .set, .gam, .scr, .dlg, .lip, .vfe
  • Lowercase loaded material names in MDLs to visually match the entry tree
  • Display GoldSrc games in "Open In" menu
  • Fix error when saving pack files with non-ASCII characters in their filename (thanks @Starfelll!)
  • Fix lack of DPI scaling on high resolution monitors
  • Fix game icons failing to load in "Open In" menu
  • Fix an invalid or disconnected Steam library possibly crashing the application on startup
  • Fix rare crash when a VTF with out of order resource offsets in the header was loaded
  • Translation fixes (thanks @BreakinBenny!)

CLI Changes

  • Add argument --add-dir <path in pack file> <path to existing dir> to add directories
  • Add argument --remove-dir <path in pack file> to remove directories

Installer Changes

  • On Windows, the installer will now have the following options:
    • Add to PATH (for system, or current user)
    • Create desktop shortcut
    • Individual checkboxes for each file association to register
  • Register associations with .bee_pack, .fpk, .pkz, .tth, and .ttz files

For Developers

  • Update the version of rapidjson used by Discord RPC to allow compiling on gcc14
  • Pull in some stb_image CVE patches

v4.4.0

07 Jan 10:11
Compare
Choose a tag to compare

Tip

Read the install guide for assistance installing VPKEdit.

4.4 Highlights

  • BSP paklump editing is now far more reliable
  • Add support for several pack file types
  • Many new translations for existing and new languages

General Changes

  • BSP editing should finally be a completely bug-free experience (thanks @Tholp1!)
    • Most of the library this tool uses to work with BSP files was restructured and rewritten
    • BSPs produced by VPKEdit will be smaller, and inner offsets in the game lump will always be rewritten correctly
  • Add support for reading 007 (007 - Nightfire assets) file format (thanks for the detailed issue @SmileyAG!)
  • Add support for reading OL (Worldcraft Object Library) file format (thanks for the specification @erysdren!)
  • Add support for reading ORE (Narbacular Drop assets) file format (thanks for the specification @erysdren!)
  • Add support for reading and writing HROT's version of Quake's PAK file format
  • Fix GCF contents not being treated with case sensitivity (again)
  • Fix an error on load when trying to open a VPK directory by opening one of its numbered external archives instead
  • Update PCK format to support upstream Godot changes
  • Refactored a backend library to prepare for upcoming plugin support

GUI Changes

  • Add translations for the following languages:
    • Korean (thanks hamn!)
    • Portuguese (Brazil) (thanks vivizinho64minecraft!)
  • Substantially update translations for the following languages:
  • Ship Qt base translations to translate certain text like dialog buttons that were previously not being translated
  • Fix several missing translations for menu entries (and for some languages, translate them)
  • Fix status bar text sometimes replacing elements of the filename with translated versions
  • Add Bloody Good Time's ICE key to the encryption/decryption key list (thanks @BreakinBenny!)
  • Add APNG files to image preview
  • Add EDT and MAP files to text preview
  • Fix image preview not being able to preview 16-bit images with less than 4 channels
  • Fix image preview not being able to preview HDR images with 2 channels
  • Fix VTF preview showing an "Unknown" format for certain infrequently used texture formats

v4.3.2

30 Oct 05:41
Compare
Choose a tag to compare

Tip

Read the install guide for assistance installing VPKEdit.

General Changes

  • Add support for early L4D1 release era VPKs with no header or version information
  • Fix failing to read files that are zero bytes long
  • Stop moving other lumps in a BSP file when writing the paklump
    • Some of them might have absolute offsets, like the game lump, which could cause very rare and strange map corruptions
  • MIPTEX files in WADs will now use the MIP extension instead of MIPTEX to match their unpacked extension

GUI Changes

  • Add PSD, GIF, HDR, EXR, PIC, PPM, PGM files to the image preview
  • Add support for more VTF formats present in Alien Swarm and/or Strata Source to the texture preview
  • Add POP files to text preview
  • Abbreviate "bytes" to "b" in folder preview
  • Change keybinds for adding files/folders so they don't conflict with the text preview's default keybinds
  • Allow creating VPKs with version 0 (pre-v1)

CLI Changes

  • Add new and improved file tree with colors and indentation
    image
  • Allow creating VPKs with version 0 (pre-v1) and 54
  • Fix typo

v4.3.1

01 Oct 21:04
Compare
Choose a tag to compare

Tip

Read the install guide for assistance installing VPKEdit.

General Changes

  • Add support for editing GoldSrc WAD files (thanks @ozxybox!)
    • This will not be the last time you hear about WAD! Previews in the GUI will be coming for WAD files, but not right now

GUI Changes

  • Renamed "Add File..." context menu entries to "Add Files...", they now support adding multiple files at once (thanks @ozxybox!)
  • Bosnian translation is now 100% complete (thanks @Nbc66!)

CLI Changes

  • Fix crash related to new compression strength parameter
  • Add compression method parameter for BSP/ZIP pack file types

v4.3.0

29 Sep 04:33
f74f802
Compare
Choose a tag to compare

Tip

Read the install guide for assistance installing VPKEdit.

4.3 Highlights

  • Create Windows 7, 8, 8.1-compatible builds
  • Add support for creating more pack file types besides VPK
  • Text files can now be edited without leaving the application
  • Allow previewing unpacked files, folders
  • Add support for compressed BSP paklumps

General Changes

  • Add support for Vampire: The Masquerade - Bloodlines' "VPK" pack file format
  • Add support for PK3, PK4 pack file formats
  • Add support for VPK v54 pack files (a variant of VPK that supports compression)
  • Remove support for GRP pack file format (from the Build Engine, used in Duke Nukem 3D)
  • Add support for creating BMZ, FPX, PAK, PCK, ZIP files
  • Rewrite how pack files are loaded to be faster and use less memory
  • Improve Windows filepath cleaning logic when extracting files from a pack file to disk
  • Fix ZIP files being left in the temp folder after editing a BSP paklump
  • Fix BSP paklumps larger than the previously existing paklump being truncated when written
  • Shrink the entire BSP file when the modified lump shrinks in size
  • Add support for compressed BSP paklumps and ZIPs

GUI Changes

  • Add PPL preview (prop lightmap)
  • Add SVG preview
  • Allow encrypting .txt, .nut files and decrypting .ctx, .nuc files directly from the right-click context menu
  • Add support for opening any unpacked previewable file, which lets you preview the file without packing it
  • Add support for opening any unpacked folder, which lets you preview the contents of the folder without packing it
  • Add progress bar for renaming folders containing tons of files
  • Dragging pack files on top of the application will open them when no pack file is loaded
  • Fix modifying the original BSP when saving to a different folder
  • Fix decompressing Deflate-compressed VTFs with multiple slices
  • Fix previewing cubemap VTFs when the presence of a spheremap is not reported in the header
  • Fix previewing VTFs with texture data stored in a floating-point format, such as HDR cubemaps
  • Fix previewing VTFs with texture data stored as BC6H (a Strata Source extension)
  • Fix model preview rendering weirdly on some Linux desktops
  • Fix model preview being unable to find some textures
  • Reduce VTF preview load time
  • Change "Close Pack File" keybind to Ctrl + W over Ctrl + X
  • 900x500 is now the preferred window resolution rather than the minimum
  • Save and restore window position/size between launches
  • Remove tiny margins around the previews that still had them
  • Fix potential bugs when dragging files into other applications
  • Fix Linux installations running in a KDE desktop potentially not preferring a discrete GPU

CLI Changes

  • Add support for creating Vampire: The Masquerade - Bloodlines' "VPK" pack files (plus the others listed in the General Changes category)

v4.2.3

18 Jul 20:33
Compare
Choose a tag to compare

Tip

Read the install guide for assistance installing VPKEdit.

Caution

This release has a known regression which causes BSP editing to corrupt the opened BSP on save. This bug is not present in versions before or after this release.

General Changes

  • Fix loading/saving Left 4 Dead 2, Contagion BSPs
  • Use an actual keyvalues parser when signing VPKs to parse private key VDF files more reliably
  • Fix multiple VPKEdit CLI/GUI instances saving a BMZ/BSP/ZIP at the same time (would previously create conflicts)
  • Fix PAK writer appending _test.pak to the save filename (oops)
  • Fix PAK writer not writing directories of added files properly

GUI Changes

  • Add option to disable creating Open In... menu at startup (prevents scanning user's Steam library)
  • Populate Open In... menu in a separate thread to improve startup performance
  • Fix regression from last release where compressed image formats would disable alpha checkbox in VTF preview despite having transparency
  • Highlight KeyValues conditionals that start with a ! in KeyValues preview
  • Show milliseconds in sound preview
  • Fix Strata Source build crashes by removing all instances of QString::toStdString

CLI Changes

  • Allow any pack file format where appropriate, not just VPKs
  • Add -e, --extract parameter to extract files from pack file
  • Add --add-file parameter to add a file at the given path in the pack file
  • Add --remove-file parameter to remove a file at the given path in the pack file

For Developers

  • The libvpkedit library has been migrated to the sourcepp repository, and it has been renamed to vpkpp. This repository is now solely for the VPKEdit executables, and any submodules of it should be changed to point to the sourcepp repository.
  • Remove SAPP, SpeedyKeyV GUI dependencies in favor of sourcepp libraries

v4.2.2

06 Jun 17:18
Compare
Choose a tag to compare

Tip

Read the install guide for assistance installing VPKEdit.

GUI Changes

  • Fix crashes when Steam installation is in a semi-invalid state
  • Detect Steam installation when installed through the Snap Store
  • Display CRC32 values in base-16 instead of base-10
  • Add texture size indicator to VTF preview
  • Switch to a different library for parsing VTFs with a more permissive license (no more vtflib!)

v4.2.1

27 May 18:10
f496f0b
Compare
Choose a tag to compare

Tip

Read the install guide for assistance installing VPKEdit.

GUI Changes

  • Add mods in sourcemods folder to "Open In" menu
  • Games/mods with no icon will now have a placeholder icon in "Open In" menu
  • Add "Lay Flat" checkbox in VTF preview to preview all faces and frames at once
  • Split checksum verifier tool into checksum verifier and signature verifier tools
  • Add Zombie Panic: Source text formats to KeyValues preview
  • Stop referencing a VPK specifically in save failure dialog
  • On Linux, each pack file format is now given its own MIME type (thanks @HurricanePootis!)
  • Add fun April Fools prank

CLI Changes

  • Add Verify mode to verify integrity of a VPK
    • --verify-checksums - Verifies VPK checksums. Takes one argument, either files, vpk, or all
    • --verify-signature - Verifies the VPK signature if present
  • Add Preview mode to print VPK file tree
    • --file-tree - Prints the VPK file tree to console

Installer Changes

  • Add missing file associations for .grp and .pak on Windows
  • For Linux:
    • List libxcb-cursor0 as an explicit dependency
    • Use zstd compression over gzip compression

For Developers

  • PackFile::verifyEntryChecksums and PackFile::verifyFileChecksum have been joined by 4 other functions. One is for signatures, and the other 3 return whether the file has that type of checksum or a signature

v4.2.0

21 Apr 11:26
Compare
Choose a tag to compare

Tip

Read the install guide for assistance installing VPKEdit.

4.2 Highlights

  • Drag and drop from inside application to filesystem
  • Select multiple files and/or folders
  • Model skin preview and material listing
  • VPK signing

General Changes

  • Add capability to sign VPK v2 files and verify their signature
  • Fix incorrect calculation of VPK v2 "whole file checksum"

GUI Changes

  • Add drag and drop from inside application to filesystem
  • Allow selecting multiple files and/or folders to extract or delete them all at once
    • Also works with drag and drop
  • Add model skin preview (based on the work on sourcepp by @Trico-Everfire, thanks!)
  • Add information panel to display materials used by a model
    • If a material is found in the current pack file, it can be clicked to instantly preview it
  • Add DMX binary file preview
    • This primarily means being able to browse particle definitions (.pcf)
  • Add context menu to image preview and VTF preview
    • It has one action currently, "Copy Image", which copies the displayed image to the clipboard
  • Some VTF preview options (alpha and tile checkboxes, zoom slider) will no longer reset switching to a different VTF
  • Fix off-by-one error in VTF preview spinners
  • Fix face spinner in VTF preview having no effect on the displayed face
  • Fix potential memory leak in VTF decoder
  • Add .qci, .qcx to the text preview's supported formats
  • Add VPK tool category
    • "Generate Public/Private Key Files...": Generates a public/private keypair which can be used for signing VPKs
    • "Sign File...": Signs the VPK using the given <name>.privatekey.vdf KeyValues file
  • VPK signature (if present) and file-wide MD5 checksums are now properly checked in the "Verify Checksums" tool
  • Remember save directory between "Create VPK From Folder" prompts
  • Add button to ignore updates for a given version
  • Show application version in Discord rich presence on hover
  • Update to Qt 6.6.3 from 6.6.2

CLI Changes

  • Add -k / --sign parameter which accepts a path to the private key KeyValues file. The keys held within will be used to sign the output VPK
  • Add two new "modes"
    • Generate: exists for the --gen-keypair command. <path> will be interpreted as the name of the files, prepended to .[public/private]key.vdf
    • Sign: when <path> is an existing VPK and -k / --sign is present, the existing VPK will be signed using the keys in the private key file
  • Add progress bar for packing files
    • Can be disabled with the flag --no-progress

Installer Changes

  • Stop installing minizip headers
  • Stop installing discord-rpc headers and static library

For Developers

  • Replaced most of the existing cryptographic algorithm code with the CryptoPP library