github craftablescience/VPKEdit v4.0.0.1
v4.0.0-beta.1

latest releases: v4.2.3, v4.2.2, v4.2.1...
8 months ago

VPKEdit 4.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.

Warning

You may encounter bugs using this version that I haven't found yet. Hopefully it's more stable than the last release, but after changing so much code, it's possible there's a regression or two. If you encounter any, please make an issue here and I will patch it as soon as possible.

GUI Changes

  • Don't crash after viewing more than 512 items without closing the VPK
  • Center text in info previews
  • Use release name instead of release tag in the update dialog
  • Ignore prereleases in update checker
  • More to come...

CLI Changes

  • Create CLI executable!
    • Add CLI executable to VPKEdit installer
    • -h. --help, or no arguments - print usage and program information
  • Convert directory to VPK (pack)
    • -m, --multichunk - specify chunk size
    • -v, --version - specify version
    • -s, --single-file - pack to single file
    • -o, --output - specify output VPK path
  • Again, more to come...

General Changes

  • When creating a VPK from a directory, skip files with non-ASCII names (VPKs don't support those)
  • Don't keep the contents of unbaked entries in memory if added though a file path
    • If the file is moved/deleted before the VPK is baked, it will be empty in the VPK
    • This saves a massive amount of RAM when creating VPKs from folders
  • Fix trying to write to a wonky path when saving an archive to the same folder as the VPK

For Developers

Note

All changes to libvpkedit will be listed in the full release, since it is evolving quickly right now. In the meantime, here's an overview:

  • Add ability to control VPK chunk size
  • Remove VPKEntry::filenamePair member variable
  • Remove some redundant and not well documented VPK methods
  • Rename all usages of FileName to Filename
  • Move version header from GUI to libvpkedit
  • Split up project CMake for readability
  • Stop uploading artifacts produced by clang in GitHub Actions

Don't miss a new VPKEdit release

NewReleases is sending notifications on new releases.