Releases: craftablescience/VPKEdit
v5.0.0-beta.4
VPKEdit 5.0 is coming soon! It brings with it a bunch of bug fixes and features. I want to delay the proper release to add more features and properly test everything that's changed, so in the meantime here's a beta release.
Tip
Read the install guide for assistance installing VPKEdit.
Note
Changes made in this beta have an exclamation mark emoji (❗) and old changes may be struck out and replaced where applicable. This changelog is a collection of every beta release up to this point and will continue to be appended to until the final release.
General Changes
- Add macOS as a supported platform (thanks @Charles-Bao and @EricZhang456!)
- ❗Change macOS code signing process to reduce install friction
- Update logo to
from
- Add 16x16 variant for better scaling (thanks to The Pixel for the design!)
- ❗Add create/read/write support for FGP pack file format
- Add read/write support for SiN (SIN) pack file format
- Add read support for Xbox Zip (XZP) pack file format
- ❗Add read support for Xbox Zip v2 (XZP2) pack file format
- ❗Fix baking PAK/SIN formats by ensuring directory is written to the end of the file and filenames are always null-terminated
- ❗Accelerate BSP/XZP2/ZIP read/write times by 3x in uncompressed scenarios
- Properly set
RPATHon Linux for standalone builds - Fix GCF checksum verification algorithm
- Add support for parsing contents of encrypted GCFs
GUI Changes
- ❗Greatly accelerate pack file load time
- ❗In my Windows 10 VM the speedup was 20x, but I have heard reports of lower end systems which took minutes to open certain pack files now opening them near instantly
- Create a plugin system to be able to load new previews not packaged with the program at runtime
- ❗Add plugin information dialog to show metadata of active plugins
- Migrate DMX and MDL previews to new plugin system
- ❗Migrate ICE encyption context menu entries to VCrypt plugin
- Qt updates
- Upgrade to Qt 6.8.3 on Windows
- Use system Qt for Linux installers (third-party vendors are already doing this)
- Fixes system themes being inaccessible
Upgrade to Qt 6.8.2 for standalone Linux buildsRolled back after bugs with Qt on some distros
- Improve translations
- Add Vietnamese translation
- ❗Add Slovenian translation
- Update Japanese translation
- Update Spanish translation
- Fix pack file name possibly being renamed to a translated text in the status bar
- Delay deletion of temporary files to when the program closes
- Reorganize About dialog
- ❗Fix being unable to click any links in the About dialog
- ❗Add "Mark Modified" button to mark the current pack file as savable without editing the contents
- Fix possibility of Steam library icons not being populated
- Used to use a heuristic, now it parses assetcache.vdf directly
- ❗Fix Steam library icons not being populated if the user had used multiple languages for their Steam install
- ❗Search bar now uses a regex filter instead of a keyword search
- ❗Apply contents of search bar automatically when the contents change instead of requiring an Enter keypress
- ❗Add basic sort capability to folder preview to allow sorting the table by a given column
- Fix top of text preview blocking mouse input
- Add
.vint_docand.vint_projto text preview - Add
.qoito image preview - Stop crashing when given a DMX file that fails to parse
- Stop listing elements at the root of a DMX file if it has been referenced in a different element previously
- ❗DMX preview now shows attributes inline with the element contents similar to KV2's structure
- ❗DMX preview can now handle legacy binary versions, newer Source 2 versions
- ❗DMX preview can now handle srctools' Unicode formats (thanks @TeamSpen210!)
- ❗Show a preview for ICE and VFONT-encrypted files hinting at decryption support
- ❗Add
.ekvas a registered extension for VCrypt ICE encryption/decryption support - ❗Add support for VFONT encryption/decryption to VCrypt plugin
- Explicitly set GLSL profile in shaders to fix model preview breaking on some machines (thanks @Exotic0015!)
- Parse patch materials to find
$basetexturein MDL preview - Add support for
$translucent,$alphatest, and$alphatestreferenceto MDL preview renderer - Use strictly core OpenGL 3.3 profile features in MDL preview's renderer
- ❗Fix usage of some compatibility features in the shaders. This fixes models rendering pure black on NVidia hardware, thank you @normalpersonininternet and @lenship2 for testing!
- Add panning to texture preview (thanks @JJL772!)
- Add a more natural zoom curve to texture preview
- Add support for
.xtftextures (from Half-Life 2's Xbox port) to texture preview - ❗Fix texture preview not previewing mip levels below 4x4 correctly
- Modify cursor to grabby hand when panning or rotating in MDL preview and texture preview
- Fix DXT1 textures with punchthrough alpha not being treated as having alpha in texture preview
- Remove VTF mimetype on Linux now that MareTF is a better VTF viewer (thanks @HurricanePootis!)
- Remove audio preview (it will be replaced in a future beta, it was simply too buggy to keep)
- Double-clicking entries in the entry tree will now open that file in the associated external program
- ❗Fix this behavior on Windows
- Use Ko-fi logo for donation menu action
- More to come...
CLI Changes
- Allow the editing commands (add/remove file/directory) to be repeated
- Implement response file support (thanks @sour-dani!)
Installer Changes
- Add Fedora and Fedora-based distro support (RPM installer)
- Add macOS support (DMG installer)
- Stop shipping the Qt image format plugins on Windows and in standalone builds, they are not needed anymore
- Bake Qt base translations into the executable rather than installing as unpacked files
- Become a more normal application on Linux - depend on system Qt, install to
/usr/bininstead of/opt, and start following convention- Standalone builds are unchanged
- Merge standalone CLI and GUI builds into one zip, should make install process slightly easier to figure out
- Fix program icon install directory on Linux + some mimetypes being incorrectly formatted (thanks @HurricanePootis!)
- ❗Fix GMA mimetype on Linux
v5.0.0-beta.3
VPKEdit 5.0 is coming soon! It brings with it a bunch of bug fixes and features. I want to delay the proper release to add more features and properly test everything that's changed, so in the meantime here's a beta release.
Tip
Read the install guide for assistance installing VPKEdit.
Note
Changes made in this beta have an exclamation mark emoji (❗) and old changes may be struck out and replaced where applicable. This changelog is a collection of every beta release up to this point and will continue to be appended to until the final release. (This release is a re-release of beta 2 to fix plugins not loading.)
Caution
Known issues:
- Models may render black in the model preview on Windows systems
- All formats internally using PAK (PAK/HROT, SiN) are saved incorrectly resulting in data loss. This can be fixed with a hex editor, but it is recommended to downgrade to
5.0.0-beta.1for editing these pack file formats. This is fixed in versions after this release
General Changes
- ❗Add macOS as a supported platform (thanks @Charles-Bao and @EricZhang456!)
- Update logo to
from
- ❗Add 16x16 variant for better scaling (thanks to The Pixel for the design!)
- ❗Add support for SiN (SIN) pack file format
- Add support for Xbox Zip (XZP) pack file format
- Properly set
RPATHon Linux for standalone builds - ❗Fix GCF checksum verification algorithm
- ❗Add support for parsing contents of encrypted GCFs
GUI Changes
- ❗Create a plugin system to be able to load new previews not packaged with the program at runtime
- ❗Migrated DMX and MDL previews to new plugin system
- Qt updates
- ❗Upgrade to Qt
6.8.26.8.3 on Windows - Use system Qt for Linux installers (third-party vendors are already doing this)
- Fixes system themes being inaccessible
- ❗
Downgrade to Qt 6.4.2Upgrade to Qt 6.8.2 for standalone Linux builds
- ❗Upgrade to Qt
- Improve translations
- Add Vietnamese translation
- Update Japanese translation
- Update Spanish translation
- Fix pack file name possibly being renamed to a translated text in the status bar
- ❗Delay deletion of temporary files to when the program closes
- Stop crashing when given a DMX file that fails to parse
- Stop listing elements at the root of a DMX file if it has been referenced in a different element previously
- Reorganize About dialog
- Fix possibility of Steam library icons not being populated
- Used to use a heuristic, now it parses assetcache.vdf directly
- ❗Fix top of text preview blocking mouse input
- Add
.vint_docand.vint_projto text preview - Add
.qoito image preview - Explicitly set GLSL profile in shaders to fix model preview breaking on some machines (thanks @Exotic0015!)
- ❗Parse patch materials to find
$basetexturein MDL preview - ❗Add support for
$translucent,$alphatest, and$alphatestreferenceto MDL preview renderer - ❗Use strictly core OpenGL 3.3 profile features in MDL preview's renderer
- ❗Add panning to texture preview (thanks @JJL772!)
- ❗Add a more natural zoom curve to texture preview
- ❗Add support for
.xtftextures (from Half-Life 2's Xbox port) to texture preview - ❗Modify cursor to grabby hand when panning or rotating in MDL preview and texture preview
- ❗Fix DXT1 textures with punchthrough alpha not being treated as having alpha in texture preview
- ❗Remove VTF mimetype on Linux now that MareTF is a better VTF viewer (thanks @HurricanePootis!)
- ❗ Remove audio preview (it will be replaced in a future beta, it was simply too buggy to keep)
- ❗ Double-clicking entries in the entry tree will now open that file in the associated external program
- ❗Use Ko-fi logo for donation menu action
- More to come...
CLI Changes
- Allow the editing commands (add/remove file/directory) to be repeated
- ❗Implement response file support (thanks @sour-dani!)
Installer Changes
- Add Fedora and Fedora-based distro support (RPM installer)
- ❗Add macOS support (DMG installer)
- Stop shipping the Qt image format plugins on Windows and in standalone builds, they are not needed anymore
- Bake Qt base translations into the executable rather than installing as unpacked files
- Become a more normal application on Linux - depend on system Qt, install to
/usr/bininstead of/opt, and start following convention- Standalone builds are unchanged
- Merge standalone CLI and GUI builds into one zip, should make install process slightly easier to figure out
- Fix program icon install directory on Linux + some mimetypes being incorrectly formatted (thanks @HurricanePootis!)
v5.0.0-beta.2
VPKEdit 5.0 is coming soon! It brings with it a bunch of bug fixes and features. I want to delay the proper release to add more features and properly test everything that's changed, so in the meantime here's a beta release.
Tip
Read the install guide for assistance installing VPKEdit.
Note
Changes made in this beta have an exclamation mark emoji (❗) and old changes may be struck out and replaced where applicable. This changelog is a collection of every beta release up to this point and will continue to be appended to until the final release.
Caution
Known issues:
- Plugins are not loaded from their installed paths on Linux and macOS systems
- Models may render black in the model preview on Windows systems
- All formats internally using PAK (PAK/HROT, SiN) are saved incorrectly resulting in data loss. This can be fixed with a hex editor, but it is recommended to downgrade to
5.0.0-beta.1for editing these pack file formats
General Changes
- ❗Add macOS as a supported platform (thanks @Charles-Bao and @EricZhang456!)
- Update logo to
from
- ❗Add 16x16 variant for better scaling (thanks to The Pixel for the design!)
- ❗Add support for SiN (SIN) pack file format
- Add support for Xbox Zip (XZP) pack file format
- Properly set
RPATHon Linux for standalone builds - ❗Fix GCF checksum verification algorithm
- ❗Add support for parsing contents of encrypted GCFs
GUI Changes
- ❗Create a plugin system to be able to load new previews not packaged with the program at runtime
- ❗Migrated DMX and MDL previews to new plugin system
- Qt updates
- ❗Upgrade to Qt
6.8.26.8.3 on Windows - Use system Qt for Linux installers (third-party vendors are already doing this)
- Fixes system themes being inaccessible
- ❗
Downgrade to Qt 6.4.2Upgrade to Qt 6.8.2 for standalone Linux builds
- ❗Upgrade to Qt
- Improve translations
- Add Vietnamese translation
- Update Japanese translation
- Update Spanish translation
- Fix pack file name possibly being renamed to a translated text in the status bar
- ❗Delay deletion of temporary files to when the program closes
- Stop crashing when given a DMX file that fails to parse
- Stop listing elements at the root of a DMX file if it has been referenced in a different element previously
- Reorganize About dialog
- Fix possibility of Steam library icons not being populated
- Used to use a heuristic, now it parses assetcache.vdf directly
- ❗Fix top of text preview blocking mouse input
- Add
.vint_docand.vint_projto text preview - Add
.qoito image preview - Explicitly set GLSL profile in shaders to fix model preview breaking on some machines (thanks @Exotic0015!)
- ❗Parse patch materials to find
$basetexturein MDL preview - ❗Add support for
$translucent,$alphatest, and$alphatestreferenceto MDL preview renderer - ❗Use strictly core OpenGL 3.3 profile features in MDL preview's renderer
- ❗Add panning to texture preview (thanks @JJL772!)
- ❗Add a more natural zoom curve to texture preview
- ❗Add support for
.xtftextures (from Half-Life 2's Xbox port) to texture preview - ❗Modify cursor to grabby hand when panning or rotating in MDL preview and texture preview
- ❗Fix DXT1 textures with punchthrough alpha not being treated as having alpha in texture preview
- ❗Remove VTF mimetype on Linux now that MareTF is a better VTF viewer (thanks @HurricanePootis!)
- ❗ Remove audio preview (it will be replaced in a future beta, it was simply too buggy to keep)
- ❗ Double-clicking entries in the entry tree will now open that file in the associated external program
- ❗Use Ko-fi logo for donation menu action
- More to come...
CLI Changes
- Allow the editing commands (add/remove file/directory) to be repeated
- ❗Implement response file support (thanks @sour-dani!)
Installer Changes
- Add Fedora and Fedora-based distro support (RPM installer)
- ❗Add macOS support (DMG installer)
- Stop shipping the Qt image format plugins on Windows and in standalone builds, they are not needed anymore
- Bake Qt base translations into the executable rather than installing as unpacked files
- Become a more normal application on Linux - depend on system Qt, install to
/usr/bininstead of/opt, and start following convention- Standalone builds are unchanged
- Merge standalone CLI and GUI builds into one zip, should make install process slightly easier to figure out
- Fix program icon install directory on Linux + some mimetypes being incorrectly formatted (thanks @HurricanePootis!)
v5.0.0-beta.1
VPKEdit 5.0 is coming soon! It brings with it a bunch of bug fixes and features. I want to delay the proper release to add more features and properly test everything that's changed, so in the meantime here's a beta release.
I have very limited time these days, and I want to add some big features to VPKEdit like a plugin API for previews, tools, etc. as well as improve some pain points like load time. The 5.0 update is probably a few months out at minimum, but I didn't want to wait that long to make a release. This release should be just as stable as 4.4.2. The 4.x series will no longer be receiving updates.
Tip
Read the install guide for assistance installing VPKEdit.
General Changes
- Update logo to
from
- This is much nicer to look at :3
- Add support for Xbox Zip (XZP) pack file format
- Properly set
RPATHon Linux for standalone builds
GUI Changes
- Qt updates
- Upgrade to Qt 6.8.2 on Windows
- Use system Qt for Linux installers (third-party vendors are already doing this)
- Fixes system themes being inaccessible
- Downgrade to Qt 6.4.2 for standalone Linux builds
- Improve translations
- Add Vietnamese translation
- Update Japanese translation
- Update Spanish translation
- Fix pack file name possibly being renamed to a translated text in the status bar
- Stop crashing when given a DMX file that fails to parse
- Stop listing elements at the root of a DMX file if it has been referenced in a different element previously
- Reorganize About dialog
- Fix possibility of Steam library icons not being populated
- Used to use a heuristic, now it parses assetcache.vdf directly
- Explicitly set GLSL profile in shaders to fix model preview breaking on some machines (thanks @Exotic0015!)
- Add
.vint_docand.vint_projto text preview - Add
.qoito image preview - More to come...
CLI Changes
- Allow the editing commands (add/remove file/directory) to be repeated
Installer Changes
- Add Fedora and Fedora-based distro support (RPM installer)
- Stop shipping the Qt image format plugins on Windows and in standalone builds, they are not needed anymore
- Bake Qt base translations into the executable rather than installing as unpacked files
- Become a more normal application on Linux - depend on system Qt, install to
/usr/bininstead of/opt, and start following convention- Standalone builds are unchanged
- Merge standalone CLI and GUI builds into one zip, should make install process slightly easier to figure out
- Fix program icon install directory on Linux + some mimetypes being incorrectly formatted (thanks @HurricanePootis!)
v4.4.2
Tip
Read the install guide for assistance installing VPKEdit.
General Changes
- Add read-only support for
.hogand.vpppack 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
.tblextension with the text preview - Add support for previewing PS3 VTFs from Portal 2 and CS:GO
- On Windows, stop shipping
qtgaandqjpegimage format plugins (handled bysourceppnow) - On Windows, improve DPI manifest to fallback to older styles if
PerMonitorV2isn't supported
CLI Changes
- Always return
EXIT_FAILUREwhen 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
.hogand.vppfiles - On Windows, optionally register association for
.vmtfiles - 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
Tip
Read the install guide for assistance installing VPKEdit.
General Changes
- Add support for
.bee_pack,.fpk, and.pkzcompressed 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.ttzfiles
For Developers
- Update the version of
rapidjsonused by Discord RPC to allow compiling on gcc14 - Pull in some
stb_imageCVE patches
v4.4.0
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:
- Polish (thanks Patrxgt!)
- Russian (thanks @Michael-Soyka!)
- Swedish (thanks @BreakinBenny!)
- 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
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,.nutfiles and decrypting.ctx,.nucfiles 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 + WoverCtrl + 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)
