Releases: craftablescience/VPKEdit
v4.3.2
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
v4.3.1
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
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
overCtrl + 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
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 tovpkpp
. This repository is now solely for the VPKEdit executables, and any submodules of it should be changed to point to thesourcepp
repository. - Remove
SAPP
,SpeedyKeyV
GUI dependencies in favor ofsourcepp
libraries
v4.2.2
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
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, eitherfiles
,vpk
, orall
--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 overgzip
compression
- List
For Developers
PackFile::verifyEntryChecksums
andPackFile::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
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
)
- This primarily means being able to browse particle definitions (
- 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
- Generate: exists for the
- Add progress bar for packing files
- Can be disabled with the flag
--no-progress
- Can be disabled with the flag
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
v4.1.3
Tip
Read the install guide for assistance installing VPKEdit.
General Changes
- Add Adler32 implementation creators to credits
GUI Changes
- Add PAK write support (WON Half-Life, Quake, etc.)
- Add PCK write support (Godot)
- Add automatic update notification (thanks @Trico-Everfire!)
- This can be disabled in the options menu
- Add Discord rich presence support
- Does not say what file you have open
- This too can be disabled in the options menu
- Fix files failing to save on exit if the save operation took too long (race condition)
- Fix GUI elements not being disabled after a file fails to load
- Display "Embedded" in status bar if a Godot PCK is embedded in an executable
- Display "Encrypted" in status bar if a Godot PCK's directory is encrypted
- Display MD5 hashes as hex codes instead of binary in folder previews
- Stop translating language names in Language selector menu
- For example Japanese is now "日本語" for all languages
- This should make it easier to select the language the user knows
- Update translations
For Developers
- Create precompiled versions of the C wrapper library
- Create a C# wrapper library based on the C wrapper library
- Create virtual entry system, currently used to edit BSP lumps
- Strip the
Wrapper
prefix from files and types in the C wrapper library - Change behavior of entry attributes getter to return a buffer allocated in the library
- Don't prefix
libvpkedit
andlibvpkeditc
with an extralib
on Linux - Start applying proper compiler flags for debug/release on Linux
v4.1.2
Tip
Read the install guide for assistance installing VPKEdit.
General Changes
- Fix VPK archives not copying to specified save path on Linux
- Fix attempting to load FPX files with the VPK parser
GUI Changes
- Sort list of supported extensions in "Open Pack File" dialog alphabetically
For Developers
- Fix C wrapper library's PackFileTypeWrapper enum so it matches PackFileType
v4.1.1
Tip
Read the install guide for assistance installing VPKEdit.
General Changes
- Stop compiling with liblzma to avoid IFUNC error on startup on Linux
- Fix crash when saving a VPK with external archive files to the same folder
GUI Changes
- Update translations
- Complete languages: Bosnian, Chinese (Simplified), Dutch, Polish, Russian, Spanish
- Languages in progress: Italian, Japanese, Swedish
- Add empty English translation file to stop defaulting to alternate installed languages
- For example, if you have a Japanese language pack installed but its priority is lower than English, it will use English by default now
- Fix crash when navigating back or forward when a removed file is in the navigation history
- Add list of missing files to MDL error message when the MDL preview cannot find all the required model files
Installer Changes
- Properly deregister associated extensions on Windows during uninstall process
For Developers
- Compile with PIC and LTO/IPO enabled
- Fix C wrapper library compilation
- Stop prepending an extra "lib" to the library names on Linux