Releases: ruarai/CompilePal
Compile Pal V029.1
What's Changed
Features
Add support for packing env_glow sprite textures by @fafa-junhe in #284
Added Detailed Report parameter to Pack step

Bugfixes
Fixed issue with packing assets referenced by VScript packing hints
Fixed preset parameter list not displaying properly if map is removed
New Contributors
- @fafa-junhe made their first contribution in #284
Full Changelog: v029...v029.1
Compile Pal V029
Breaking Changes
Drop support for Windows 7
While Compile Pal should continue to work, a warning will be displayed and certain features may not work as expected. Known issues include not being able to automatically check for updates
Preset file format
Presets are now saved in a single meta.json file instead of multiple CSV files. Presets created on older versions of Compile Pal will be converted to the new format on load. The old format is now deprecated and support may be removed in a future update.
Features
UI
Output window now uses a fixed width font (Cascadia Code) when available (#205)
Added Settings window
- Can configure error source and cache duration. See Interlopers and Compile Pal error parsing for more information on how to make custom error sources
Improved visibility of the map list expander and made it easier to click (#168)
Map list height is persisted after reopening the window (#168)
General
Improve GameInfo.txt parsing (#224)
Improved error message when reading compressed BSPs
Added link to compiled map at end of compile log
All KV parsing now uses the ValveKeyValue library
Packing
Added support for packing:
- TF2 TC round overview files (#198)
SetCountdownImageI/O referenced materials (#198)- Momentum Mod/Strata PBR textures
point_worldtextfontsskybox_swappersky materials by @bottiger1 in #207$portalmasktextureand$portalcolortexture(#214)- TF2 upgrade files by @Brain-dawg in #216
color_correction_volumetextures by @Brain-dawg in #216func_dustcloudtextures by @Brain-dawg in #216func_dustmotetextures by @Brain-dawg in #216- VScript precached sounds and models
- CSC:S radar materials (#259)
- mvm-specific
mvm_level_sound_tweaks.txtfile for MvM maps @Brain-dawg in #269 trigger_particleandtf_generic_bombparticles by @Brain-dawg in #269PlayVORed/PlayVOBluesounds by @Brain-dawg in #269SetOverlayMaterialI/O referenced materials by @Brain-dawg in #269SetCustomModel/SetCustomModelWithClassAnimationsI/O referenced models by @Brain-dawg in #269- materials with fallback shaders (#259)
Added comment hints for packing VScript dependencies that can't be automatically resolved. For more information, see VScript Packing Hints
// !CompilePal::IncludeFile(internal_path: str)
// !CompilePal::IncludeDirectory(internal_path: str)Added support for packing assets referenced in VScript RunScriptCode I/O @Brain-dawg in #269
IncludeScript/DoIncludeScriptSetSkyboxTextureSetScriptOverlayMaterialEmitSound/EmitSoundEx/EmitAmbientSoundOn- All
SetModelrelated functions DispatchParticleEffect
Error logging for invalid strings in VScript I/O @Brain-dawg in #269
Added No .sw.vtx parameter to Pack by @Brain-dawg in #216
- Skips packing unused .sw.vtx files to save filesize
Added Add Source Directory parameter to Pack (#208)
- Allows you to specify additional source directories to search when looking for content to pack, supports glob patterns
Add -renameparticlemanifest by @RealBerke in #283
- Renames
maps/mapname_particles.txttoparticles.txt. Allows the particle manifest to be found even if the map name doesn't match, similar toembed.navfor NAV files
VRAD
Added -dumppropmaps VRAD param (2013 MP only) by @SirYodaJedi in #217
Added Normal Priority parameter to VBSP, VVIS, and VRAD for running with normal process priority
- Normally these processes are run with a below normal priority to prevent them from freezing your computer when they run, but sometimes this can sometimes cause slow compiles for processors with E-Cores
Added -noextra VRAD parameter
Clean up some VRAD command descriptions by @SirYodaJedi in #231
VVIS
Added Normal Priority parameter to VBSP, VVIS, and VRAD for running with normal process priority
VBSP
Added Normal Priority parameter to VBSP, VVIS, and VRAD for running with normal process priority
Add -nodrawtriggers to VBSP by @SirYodaJedi in #231
Added -allowdynamicpropsasstatic parameter to GMod VBSP (#253)
Cubemaps
Added Iterations parameter to Cubemaps step (#185)
Plugins
Added WorkingDirectory parameter for plugins
Added support for autoloading plugins defined in GameConfig.txt
Bugfixes
General
Fixed BSP v25 (Momentum Mod/Strata) parsing (#203)
Fixed bin folder detection for Momentum Mod/Strata
Compiler working directory is now set to the bin folder (#228)
- Fixes issue where TF2C instances would not compile correctly
Remove control characters from COMPILE_PAL_SET commands (#226)
Fixed parsing for BSPs with no entities (#246)
Fixed parsing entities with escaped quotes (#246)
Fixed parsing for VMTs with no line breaks (#237)
Disable -nosound by default in cubemap and nav processes, added parameter to reenable it
Fix crash on startup if game configuration fails to parse (#275)
Improved parsing of GameConfig files with lowercase keys (#280 )
UI
Fixed missing scrollbar in preset list (#201)
Fixed copy and pasted compile output not displaying properly in discord
Fixed active game configuration not being shown in title during/after compile
Packing
Fixed extensionless VScript files being packed without the .nut extension (#202)
Fixed packing failing if there is a command with no spaces in the parameters by @bottiger1 in #207
Fixed packing single material skyboxes by @bottiger1 in #207
Fixed regression when manually including files
Fixed issue with packing relative internal paths (#199)
Fixed entity textures failing to pack due to key value case sensitivity
Fixed crash when saving/loading custom compile steps that contained commas in their arguments
Fixed tf_logic_robot_destruction res file packing (#244)
Fixed crash related to packing worldtext $basetexture (#246)
Fixed regression packing RES file images
Fixed crash when packing a file that has already been added (#247)
Improved detection of referenced content by ignoring case when looking for keywords in vmts, soundscapes, etc (#249)
Fixed color correction files incorrectly being parsed as textures (#258)
Remove leading "materials/" from sprite materials by @bottiger1 in #260
Skip invalid vmt files by @bottiger1 in #260
Fix blend materials not being packed by @bottiger1 in #261
Added recursive search in /particles for directories by @Natanxp2 in #271
Fixed improper parsing of particles with version 5.2 by @Natanxp2 in #270
Improved packing support for models and sounds referenced by tf_logic_player_destruction
Fixed mvm level_sounds pack renaming not working correctly by @Lizard-Of-Oz in #279
Fix typo in item_teamflag packing by @CzechMate09 in #281
Improved MvM map name check to check if map name contains "mvm" instead of checking if map name starts with "mvm_" when packing MvM soundscripts by @RealBerke in #283
Cubemap
Fixed crash when building cubemaps for CS:S (#256)
Cubemap step is now run ...
Compile Pal V028.11
Engineering
Migrated to .NET 10.0
Due to issues with CI/CD version 28.10 will be skipped
Full Changelog: v028.9...v028.11
v028.9
What's Changed
- Add ModelOverride keyvalue to vmfmodelkeys by @CzechMate09 in #282
- Add -renameparticlemanifest and Change MvM Soundscript Check by @RealBerke in #283
Renames "maps/mapname_particles.txt" to "particles.txt"
Changed the MvM map name check to check if map name contains "mvm" instead of checking if map name starts with "mvm_"
New Contributors
- @RealBerke made their first contribution in #283
Full Changelog: v028.8...v028.9
Compile Pal V028.8
Features
- Improved packing support for models and sounds referenced by
tf_logic_player_destruction
Bugfixes
- Fix logic error with VScript IO parsing. by @Brain-dawg in #277
- Fixed mvm level_sounds pack renaming not working correctly by @Lizard-Of-Oz in #279
- Fix typo in item_teamflag by @CzechMate09 in #281
- Fix crash on startup if game configuration fails to parse (#275)
- Improved parsing of GameConfig files with lowercase keys (#280 )
New Contributors
- @CzechMate09 made their first contribution in #281
Full Changelog: v028.7...v028.8
Compile Pal V028.7
Features
- Added
-allowdynamicpropsasstaticparameter to GMod VBSP (#253) - Add support for packing CSC:S radar materials (#259)
- Added VScript I/O parsing @Brain-dawg in #269
IncludeScript/DoIncludeScriptSetSkyboxTextureSetScriptOverlayMaterialEmitSound/EmitSoundEx/EmitAmbientSoundOn- All
SetModelrelated functions DispatchParticleEffect
- Error logging for invalid strings in VScript I/O @Brain-dawg in #269
- Additional I/O and ent KV file checks:
RunScriptFile(all)particle_name(trigger_particle)explode_particle(tf_generic_bomb)PlayVORed/PlayVOBlue(tf_gamerules)SetOverlayMaterial(player)SetCustomModel/SetCustomModelWithClassAnimations(player) @Brain-dawg in #269
- Pack mvm-specific
mvm_level_sound_tweaks.txtfile for MvM maps @Brain-dawg in #269 - RunScriptCode function parsing, pack more files by @Brain-dawg in #269
- Presets are now stored in meta.json, CSV preset definitions have been deprecated (#268)
Bugfixes
- Fixed color correction files incorrectly being parsed as textures (#258)
- Remove leading "materials/" from sprite materials by @bottiger1 in #260
- Skip invalid vmt files by @bottiger1 in #260
- Fixed active game configuration not being shown in title during/after compile
- Fixed crash when building cubemaps for CS:S (#256)
- Handle packing materials with fallback shaders (#259)
- Disable -nosound by default in cubemap and nav processes, added parameter to reenable it
- Fix blend materials not being packed by @bottiger1 in #261
- Cubemap step is now run after pack step (#255)
- Mark NAV step incompatible with GMod
- Added recursive search in /particles for directories by @Natanxp2 in #271
- Fixed improper parsing of particles with version 5.2 by @Natanxp2 in #270
New Contributors
Full Changelog: v028.6...v028.7
v028.6
Features
- Improved visibility of the map list expander and made it easier to click (#168)
- Map list height is persisted after reopening the window (#168)
- Added setting to enable/disable notification sound after compile completes (#187)
- Added -noextra VRAD parameter
Bugfixes
- Fix mistake in AssetUtils.cs by @MAGNAT2645 in #250
- Fixed regression packing RES file images
- Fixed crash when packing a file that has already been added (#247)
- Improved detection of referenced content by ignoring case when looking for keywords in vmts, soundscapes, etc (#249)
New Contributors
- @MAGNAT2645 made their first contribution in #250
Full Changelog: v028.5...v028.6
v028.5
Bugfixes
Fixed crash when saving/loading custom compile steps that contained commas in their arguments
Fixed tf_logic_robot_destruction res file packing (#244)
Fixed parsing for BSPs with no entities (#246)
Fixed crash related to packing worldtext $basetexture (#246)
Fixed parsing entities with escaped quotes (#246)
Fixed parsing for VMTs with no line breaks (#237)
Engineering
Migrated to .NET 9.0
Refactor all KV parsing to use the ValveKeyValue library
Full Changelog: v028.4...v028.5
v028.4
Features
Added better error message when reading compressed BSPs
Added WorkingDirectory parameter for plugins
Added link to compiled map at end of compile log
Added support for autoloading plugins defined in GameConfig.txt
Added Settings window
- Can configure error source and cache duration, see https://github.com/ruarai/CompilePal/blob/master/Guides/InterlopersFormat.md
Bugfixes
Fixed !CompilePal::IncludeDirectory skipping folders with matching internal names by @Lizard-Of-Oz in #235
Fixed entity textures failing to pack due to key value case sensitivity
New Contributors
- @Lizard-Of-Oz made their first contribution in #235
Full Changelog: v028.3...v028.4
v028.3
Features
Added comment hint support for packing VScript dependencies. For more information, see VScript Packing Hints
// !CompilePal::IncludeFile(internal_path: str)
// !CompilePal::IncludeDirectory(internal_path: str)Improve GameInfo.txt parsing (#224)
Clean up some VRAD command descriptions, and add -nodrawtriggers to VBSP by @SirYodaJedi in #231
Bugfixes
Compiler working directory is now set to the bin folder (#228)
- Fixes issue where TF2C instances would not compile correctly
Remove control characters from COMPILE_PAL_SET commands (#226)
Fixed issue with packing relative internal paths (#199)
Full Changelog: v028.2...v028.3