Skip to content

craftablescience/VPKEdit

Repository files navigation

VPKEdit Logo

VPKEdit

VPKEdit is an open source MIT-licensed tool that can extract from, preview the contents of and write to several pack file formats. It also supports creating new VPKs.

License Workflow Status Discord Ko-Fi
A screenshot of VPKEdit with a VPK and an MDL preview open in wireframe mode. A screenshot of VPKEdit with a VPK and an MDL preview open in shaded textured mode.
A screenshot of VPKEdit with a BSP and a VTF preview open. A screenshot of the command-line version of VPKEdit.

Installing

Please read this file for step-by-step installation instructions.

Features

  • Supported file formats:

    Format Description Create Read Write
    BMZ Bonus Map Zip (Source Engine)
    BSP Source 1 Map N/A
    FPX VPK modification (Tactical Intervention)
    GCF Game Cache File (Pre-SteamPipe Steam games)
    GMA Garry's Mod Addon
    GRP Game Resource Package (Build Engine)
    PAK PAcK file (Quake, original Half-Life, etc.)
    PCK Godot PaCK file (Standalone or embedded)
    VPK Valve PacK file (Source Engine)
    ZIP ZIP file (Uncompressed)
  • Preview files contained within the pack file without extracting them:

    • Audio
    • Text files (any encoding)
    • KeyValues files (text files with syntax highlighting)
    • Images
    • Source 1 Textures
    • Source 1 Models
  • Create VPKs of any version from scratch or an existing folder

  • Add and remove files and folders from writable pack files

  • Extract files and folders from readable pack files

  • Switch version of existing VPKs

  • Native Linux compatibility

Please read this file to see all keyboard shortcuts.

A separate application with no external dependencies (vpkeditcli) provides a command-line interface. Currently it can only create VPK files.

Planned Features

See the open issues on this repository marked as an enhancement.

Contributing

This project accepts a wide range of contributions, mostly code and translations. Code contributions are done through this GitHub repository. Translations are open to everyone, only requiring a free POEditor account, and are hosted at https://poeditor.com/join/project/yxR9MLc9X2. Any contributors will be added to the credits in the form of a text file shipped with the CLI application and a popup in the GUI application.

Backend

This tool is powered by an open-source pack file editing library, libvpkedit. This library's code is stored in this same repository, written in C++20 and also under the MIT license. Its code was initially based off of ValvePak and the Valve Developer Wiki (see the credits for more information).

A C wrapper library, libvpkeditc, is also present in this repository, and its compilation can be enabled in the CMake options. It translates the C++ library into a C interface with largely minimal to no overhead.