Skip to content

Compile Pal V028-RC2

Pre-release
Pre-release
Compare
Choose a tag to compare
@Exactol Exactol released this 29 Jan 00:58
· 73 commits to master since this release

Features

Added BSPZIP compile step (#194)

  • Moved File List parameter from Pack step to BSPZIP

Bugfixes

Fixed mounts.kv parsing
Fixed regression in custom compile step window
Fixed regression where parameters did not appear when switching between presets
Fixed packing vscripts without extensions
Fixed misleading error messages if a file was not found during pack step (by @Donaldduck8)
Fixed issue with finding mounted games on different drives (by @Donaldduck8)


It's been over 3 years since the last update, guess it's probably time for V28

Breaking Changes

When batch compiling, each map can now use a separate preset. To choose a preset for a map, select the map in the map list and then select a preset. This differs from the previous behavior, where the selected preset applied to all maps

In order to support preset map filters, this version of Compile Pal is not compatible with previous versions of mapfiles.json from Compile Pal 027.22 - 027.25. If upgrading, make sure to not copy the mapfiles.json file from your old version of Compile Pal.

Presets using map filters (formerly map specific presets) from 027 prereleases are no longer compatible

Features

Preset Map Filters

Preset map filters allow you to create presets that only appear for certain maps

When creating or cloning a preset, a new checkbox allows you to select whether the preset should apply only to specific maps or be available globally. If a map is currently selected, the filter name and regex will automatically be filled out.

image

image

Process and Parameter compatibility checks

Compile Processes and Parameters are now checked for compatibility with the currently selected game configuration.

Processes and parameters that are incompatible are grouped into an Incompatible section, and presets that use them will display a warning.

This is a visual warning only and will NOT prevent you from using processes/parameters that are marked as incompatible. All compatibility information was taken from the VDC, but if you notice something marked as compatible/incompatible when it shouldn't be, please create a new GitHub Issue.

image

BSP Mode

You can now directly select BSP files, allowing you to pack, generate cubemaps, and more without referencing the source VMF. Some steps are not compatible with BSP files and are disabled

image

Plugins (Beta)

Plugins allow developers to create and distribute their own compile steps. This has been possible for a while now, but it is now formally documented and improved in V28. Plugins are currently in a beta state, so the format and structure are subject to change.

USE PLUGINS AT YOUR OWN RISK, DO NOT INSTALL PLUGINS FROM UNTRUSTED SOURCES

For more information, see the Plugin Development Guide

image

General

Added support for detecting Hammer++ configurations (#175, #152)
Added ability to modify the current game configuration from custom compile steps. See the guide for more information (#97)
Added BSPZIP compile step (#194)
Improved folder browser
Improved bspzip, vbspinfo, and vpk path detection for games with nonstandard bin directories

Compile Window

Added elapsed time to compile window
Added bug report button
Added run checkbox to map list, unchecked maps are skipped when compiling
Added close confirmation dialog when trying to close during a compile
Added delete confirmation dialog when trying to delete presets
Added copy output button
Added update notifications for prerelease versions
Updated compile log scrolling behavior to only autoscroll when user has scrolled to the bottom
Internal Compile Pal errors now show up in the post compile summary
Compile log summary is now ordered by severity

image

Game Selector

Added new windows to add, edit, and delete game configurations
Added button to refresh game configurations (you no longer have to restart Compile Pal when adding a new game)
Improved instructions when no game configurations are found

image
image

Added Command Line Argument parameter to all executable compile processes

This allows you to pass arbitrary command line arguments to build steps

Packing

Added support for packing CSGO Panorama map icons
Added support for .vsc soundscapes
Added support for CSGO DZ tablets
Added support for models referenced by SetModel I/O
Added support for packing textures referenced by $ambientoccltexture
Added support for packing vscripts referenced by IncludeScript and DoIncludeScript
Added support for packing L4D2 maps
Added support for packing env_embers
Added support for Chaos engine game mounts

Added new error message when BSPZIP exits with code -1073741819, which indicates BSPZIP has crashed due to packing too many files (#168)
Added warning when packing files with file paths over 256 characters

Improved vmt keyvalue parsing (by @bottiger1 in #151)

Added Include Directory parameter

Packs all files within a directory

Added Add File List parameters

Add File List packs all files in a file list
File lists should follow the BSPZIP file list format: https://developer.valvesoftware.com/wiki/BSPZIP#Adding_a_list_of_files

Added Exclude VPK Files parameter (by @GameChaos in #132)

Prevents files from being packed if they are in the specified VPK

VRAD

Added StaticPropLightingOld parameter

VBSP

Added StaticPropCombine parameters

Cubemap

Added Width and Height parameters

Bugfixes

General

Fixed issue with parsing Game Configurations that used forward slashes
Fixed issue with parsing GameInfo.txt if it contained a wildcard |gameinfo_path|
Fixed crash when compile executable is not found (#140)
Fixed crash related to bad search paths (#144)
Fixed crash when parsing GameInfo.txt (#162)
Fixed user defined BSPZIP, VBSPInfo, and VPK paths being overwritten in gameConfigs.json
Fixed Launch button being enabled if no game configuration was selected
Stack traces are now always printed in English
Stop compiling after a VBSP leak in Portal 2 (by @Lpfreaky90 in #93)

Packing

Fixed issue with packing radar dds files
Fixed multi-level radar packing
Fixed issue with wildcard GameInfo paths
Fixed issue with packing maps that were compiled inside the game's map folder
Fixed issue with packing $iris textures
Fixed issue with manually including files that had capital letters
Fixed issue with packing patch materials
Fixed issue with packing screen overlays referenced by r_screenoverlay commands (#166)
Fixed materials in the material/ folder not being packed
Fixed materials used in LODs not being packed
Fixed door damage models not being packed
Fixed manually included res files not being packing
Fixed exclude and exclude directiory parameters not working on BSP utility files such as nav, radar, etc
Fixed BSP file handle not being released on crash
Added -game to bspzip basis string (should fix crashes on Wine)

Fixed issue with packing multiple maps with dry run enabled

files.txt generated by dry run are now named BSPNAME_files.txt
All BSPZip files are now stored in the BSPZipFiles directory to prevent clutter

Cubemaps

Fixed process failing if VBSPInfo was not found
Fixed issue running Cubemap step for CSGO

NAV

Fixed issue running NAV step for CSGO

VRAD

Fixed Lights parameter not using the file selector (by @tophattwaffle in #139)

Utility

Fixed duplicate files being added to manifest during particle manifest generation
Fixed issue with particle manifest generation when particles are not in the base game directory

Custom

Fixed typo in success message (by @lewisfff in #112)

Engineering

Migrated to .NET 6.0

The previous C# version used was .NET 4.5, which reached end of support on April 26th, 2022. While there should be no noticeable difference when using Compile Pal, this has affected how the program is distributed. Unlike .NET 4.5, which is bundled with Windows, .NET 6.0 is not. From now on, the .NET runtime will be compiled into Compile Pal, which has caused the filesize to increase significantly

Updated Project/Solution (by @ennerperez in #186)
Updated Mahapps.Metro from 1.4.3 to 2.4.9

New Contributors

Full Changelog: v027...v027.35