VBCT replacement - CompilePal

EArkham

Necromancer
aa
Aug 14, 2009
1,625
2,774
If you grab the current (b3) version of the antiquity prop pack here, and grab any of the props_antiquity/skybox/banyan_treeXXX models, those should do it.

I'll be updating that pack to b4 tomorrow with the fixed versions (plus some new content), but if you don't manage to grab one of those before I update, I'll recompile an old one for you to test with and PM you.

And no worries on the time wasted, I wasn't annoyed; it was just a little tedious to do the trial & error.
 

YM

LVL100 YM
aa
Dec 5, 2007
7,158
6,079
@fubarFX Here's an edge case for you: Compile pal seems to miss alternative team_flag models......that are a template spawned by point_template. Not sure if the fact it's a template has relevance, but there we go

upload_2017-7-16_14-4-21.png
 
Jul 26, 2015
697
822
Compilepal seems to be having trouble compiling player destruction maps. It gave this error on both the vmf I made and Egan's prefab, but was fine with anything that wasn't pd.

image.png


You know what this means?
 

Cynder loves Portal

L420: High Member
Jan 9, 2016
434
103
e8bbdc01ac38b0dae7580f9b23c61ce3.jpg
 

SnickerPuffs

(*single chuckle*)
aa
Apr 10, 2014
1,325
1,866
Compilepal seems to be having trouble compiling player destruction maps. It gave this error on both the vmf I made and Egan's prefab, but was fine with anything that wasn't pd.

image.png


You know what this means?

Bumping this thread because CompilePal updated recently-ish. I glanced through the changelog, and I think it fixed this and the flag model bugs.
 

Scampi

L4: Comfortable Member
Feb 8, 2017
186
151
Is this the ideal place to ask for help about CompilePal? I've been going out of my bloody mind trying to fix three specific issues that I just can't solve. These are:

1. Compiling a map with a navmesh will cause tf2 to crash when I load the map. Because it crashes during loading, I can't check the console for errors.

3. Ambient_generics will sometimes work in the compiled map. There's never any console errors about this, just zero sound. Sometimes, however, they do appear and work perfectly. No amount of testing has been able to reveal to me what causes this.

2. Maps I compile have the custom content packed improperly. There is something extremely off about what happens here, I'll explain. If I compile the map without packing, I see the errors and missing textures, as to be expected. So instead, I set CompilePal to pack custom assets, I test it out in game, and everything is there. Other people download my map and they see missing textures and models. So to test for proper packing, I remove all my assets from the custom folder AND activate sv_pure in the console, then load it up again. The models and textures are still there. So I take a look in the bsp, and all the assets are packed in there like they should be. Someone else takes a look? No custom content. I've been struggling for weeks to find an answer not only as to why this is happening and how to stop it, but how this is even possible to begin with. No luck.

I could be wrong, but I'm fairly certain that these issues relate to CompilePal, as I have no issues with sound or navmeshes when I use hammer's default compiler. These problems occur with every map I compile. Please, I need help.
 

Da Spud Lord

Occasionally I make maps
aa
Mar 23, 2017
1,339
994
The navmesh issue is probably caused by the navmesh being packing into the BSP. CompilePal will automatically pack the navigation mesh into your map if you have one in your maps folder, but TF2 has a couple bugs regarding packed navmeshes. I'm guessing the crash is being caused by one of them. To fix the problem, just move the navmesh out of your maps folder during packing.

As for your packing issues, have you tried other packing tools, such as VIDE or PakRat?
 

EArkham

Necromancer
aa
Aug 14, 2009
1,625
2,774
Ambient Generics have always had issues with playback in TF2 as I recall. Has something to do with looped sounds being flagged as non-looping, or vice versa -- can't remember which.

Another quirk with them is that if you have two ambient generics using the same sound file in different areas of the map (like, for example, the sound of water splashing in two places because the map is mirrored), then only one will play, sometimes.

Soundscapes are much more reliable for placing sounds in your map.
 

Scampi

L4: Comfortable Member
Feb 8, 2017
186
151
The navmesh issue is probably caused by the navmesh being packing into the BSP. CompilePal will automatically pack the navigation mesh into your map if you have one in your maps folder, but TF2 has a couple bugs regarding packed navmeshes. I'm guessing the crash is being caused by one of them. To fix the problem, just move the navmesh out of your maps folder during packing.

As for your packing issues, have you tried other packing tools, such as VIDE or PakRat?

I'm a little confused, if I prevent CompilePal from packing the navmesh file into the .bsp, how would people get access to the navmesh? When people download the .bsp, how will the .nav file tag along if it isn't packed in?
 

Yrr

An Actual Deer
aa
Sep 20, 2015
1,316
2,756
navmeshes need to be packed manually with some special alterations iirc
 

Exactol

Certified Hammer Hacker
aa
Jul 11, 2013
421
538
CompilePal supports renaming the nav file to embed.nav in the pack step if thats the issue you are talking about. As for the other issues, pm me on discord with more details.
 

Da Spud Lord

Occasionally I make maps
aa
Mar 23, 2017
1,339
994
Ooh, looks juicy. I'll have to try it out when I get home.

In the meantime, I'd like to make a suggestion: The ability to toggle the SHUTDOWN option while a compile is ongoing. Useful for if you start a compile and have just a couple things left to do on your PC, but aren't sure if you'll finish first or the compile will.
 

AsG_Alligator

qhull precision error
aa
Aug 5, 2016
620
1,223
Damn, that utility compile option is gonna make my life so much easier.

Got a suggestion - if you can, add an option for that Utility thing to update loading picture vmt name similarilly to manifest update.
 

Da Spud Lord

Occasionally I make maps
aa
Mar 23, 2017
1,339
994
So this CUSTOM option looks really interesting, I'm currently investigating to see if it would be possible to use it to ensure Steam is running before doing cubemaps (as TF2 won't launch into the listen server if Steam isn't running). Unfortunately Steam won't exit itself, and even closing the Steam window won't make the compile process resume, as it runs in the background. Perhaps add an option for CompilePal to not wait until the program has closed before continuing to the next compile step?

While testing this, I think I found a bug. When using a CUSTOM program, it is possible to change the order that programs are launched in under the ORDER tab while a compile is running. Doing so seems to cause some strange behavior, ranging from the compile stopping without CompilePal realizing the compile has stopped, to CompilePal becoming nonresponsive.

Also, sometimes the "Compile"/"Cancel" button in the bottom right hand corner gets confused over which text it's supposed to display.
 

Exactol

Certified Hammer Hacker
aa
Jul 11, 2013
421
538
Thanks for the feedback, I'll try to implement it for v26. I didn't even consider people trying to reorder programs during the compile lol
 

Da Spud Lord

Occasionally I make maps
aa
Mar 23, 2017
1,339
994
So I created a few cool scripts designed to be used with CompilePal's new CUSTOM operation:
  • CompileChecklist.vbs: Displays a messagebox with a pre-compile checklist. This list can be customized fairly easily to display whatever reminders one may find useful, such as a reminder to enable clipping visgroups.
  • SteamCheck.vbs: Checks if Steam is running, and if not, launches Steam. Primarily useful for cubemap generating, as TF2 will not launch into the map if Steam is not running.
  • Shutdown.vbs: An enhanced version of CompilePal's native shutdown feature, this gives the user a chance to cancel the shutdown with a pop-up (if, perhaps, you change your mind on shutting down your PC). The default delay of 10 seconds can be adjusted with the parameter -delay <seconds>, and you also have the option of putting your computer into hibernate instead of a full shutdown with -hibernate.
  • GameKiller.vbs: Closes your game if it is running, to ensure CompilePal doesn't try to launch a second instance of the game when doing cubemaps.
EDIT: Updated some of the scripts and added a new one, GameKiller.vbs. Also added a README file which contains important info.
 

Attachments

  • CompilePal Scripts.zip
    50.6 KB · Views: 366
Last edited:

Da Spud Lord

Occasionally I make maps
aa
Mar 23, 2017
1,339
994
CompilePal 026 Beta won't launch any more. Just this morning it worked fine but now I can't get it to launch at all. It keeps spitting out an error in debug.log. Restarting my computer has not fixed the issue. CompilePal 025 still works fine.
Parsing game configuration file C:\Program Files (x86)\Steam\steamapps\common\Team Fortress 2\bin\GameConfig.txt
Loading new game configuration:
Team Fortress 2
GameDir:C:\Program Files (x86)\Steam\steamapps\common\Team Fortress 2\tf
GameExe:C:\Program Files (x86)\Steam\steamapps\common\Team Fortress 2\hl2.exe
BSP:C:\Program Files (x86)\Steam\steamapps\common\Team Fortress 2\bin\vbsp.exe
Vis:C:\Program Files (x86)\Steam\steamapps\common\Team Fortress 2\bin\vvis.exe
Light:C:\Program Files (x86)\Steam\steamapps\common\Team Fortress 2\bin\vrad.exe
MapDir:C:\Users\*****\OneDrive\Documents\Hammer Maps
BSPDir:C:\Program Files (x86)\Steam\steamapps\common\Team Fortress 2\tf\custom\daspudlord\maps
Fetching update information...
Loaded JSON metadata PACK from C:\Program Files (x86)\CompilePal 026Beta\Parameters\PACK\meta.json at order 11
Loaded JSON metadata CUBEMAPS from C:\Program Files (x86)\CompilePal 026Beta\Parameters\CUBEMAPS\meta.json at order 9
Loaded JSON metadata NAV from C:\Program Files (x86)\CompilePal 026Beta\Parameters\NAV\meta.json at order 8
Loaded JSON metadata SHUTDOWN from C:\Program Files (x86)\CompilePal 026Beta\Parameters\SHUTDOWN\meta.json at order 20
Loaded JSON metadata UTILITY from C:\Program Files (x86)\CompilePal 026Beta\Parameters\UTILITY\meta.json at order 10
Loaded JSON metadata CUSTOM from C:\Program Files (x86)\CompilePal 026Beta\Parameters\CUSTOM\meta.json at order 15
Loaded JSON metadata COPY from C:\Program Files (x86)\CompilePal 026Beta\Parameters\COPY\meta.json at order 4
Loaded JSON metadata GAME from C:\Program Files (x86)\CompilePal 026Beta\Parameters\GAME\meta.json at order 13
Loaded JSON metadata ORDER from C:\Program Files (x86)\CompilePal 026Beta\Parameters\ORDER\meta.json at order 0
Loaded JSON metadata REPACK from C:\Program Files (x86)\CompilePal 026Beta\Parameters\REPACK\meta.json at order 12
Loaded JSON metadata STATS from C:\Program Files (x86)\CompilePal 026Beta\Parameters\STATS\meta.json at order 14
Loaded JSON metadata VBSP from C:\Program Files (x86)\CompilePal 026Beta\Parameters\VBSP\meta.json at order 1
Loaded JSON metadata VRAD from C:\Program Files (x86)\CompilePal 026Beta\Parameters\VRAD\meta.json at order 3
Loaded JSON metadata VVIS from C:\Program Files (x86)\CompilePal 026Beta\Parameters\VVIS\meta.json at order 2
Added preset Fast for processes ORDER, VBSP, VVIS, VRAD, COPY, NAV, CUBEMAPS, UTILITY, PACK, REPACK, GAME, STATS, CUSTOM, SHUTDOWN
Added preset Full - Both for processes ORDER, VBSP, VVIS, VRAD, COPY, NAV, CUBEMAPS, UTILITY, PACK, REPACK, GAME, STATS, CUSTOM, SHUTDOWN
Added preset Full - HDR for processes ORDER, VBSP, VVIS, VRAD, COPY, NAV, CUBEMAPS, UTILITY, PACK, REPACK, GAME, STATS, CUSTOM, SHUTDOWN
Added preset Full - LDR for processes ORDER, VBSP, VVIS, VRAD, COPY, NAV, CUBEMAPS, UTILITY, PACK, REPACK, GAME, STATS, CUSTOM, SHUTDOWN
Added preset Normal for processes ORDER, VBSP, VVIS, VRAD, COPY, NAV, CUBEMAPS, UTILITY, PACK, REPACK, GAME, STATS, CUSTOM, SHUTDOWN
Added preset Publish for processes ORDER, VBSP, VVIS, VRAD, COPY, NAV, CUBEMAPS, UTILITY, PACK, REPACK, GAME, STATS, CUSTOM, SHUTDOWN
Added preset Publish Shutdown for processes ORDER, VBSP, VVIS, VRAD, COPY, NAV, CUBEMAPS, UTILITY, PACK, REPACK, GAME, STATS, CUSTOM, SHUTDOWN
Loaded JSON metadata CUSTOM from C:\Program Files (x86)\CompilePal 026Beta\Parameters\CUSTOM\meta.json at order 15
Loaded JSON metadata CUSTOM from C:\Program Files (x86)\CompilePal 026Beta\Parameters\CUSTOM\meta.json at order 15
Loaded JSON metadata CUSTOM from C:\Program Files (x86)\CompilePal 026Beta\Parameters\CUSTOM\meta.json at order 15
Loaded JSON metadata CUSTOM from C:\Program Files (x86)\CompilePal 026Beta\Parameters\CUSTOM\meta.json at order 15
An exception was caught by the ExceptionHandler:
System.NullReferenceException: Object reference not set to an instance of an object.
at CompilePalX.MainWindow.GetConfigFromCustomProgram(CustomProgram program) in C:\Users\10zil\OneDrive\Documents\Visual Studio 2017\Projects\C Sharp\CompilePal\CompilePalX\MainWindow.xaml.cs:line 713
at CompilePalX.MainWindow.SetOrder[T](T target, Int32 newOrder) in C:\Users\10zil\OneDrive\Documents\Visual Studio 2017\Projects\C Sharp\CompilePal\CompilePalX\MainWindow.xaml.cs:line 700
at CompilePalX.Configuration.OrderManager.UpdateOrder() in C:\Users\10zil\OneDrive\Documents\Visual Studio 2017\Projects\C Sharp\CompilePal\CompilePalX\Configuration\OrderManager.cs:line 56
at CompilePalX.MainWindow.SetSources() in C:\Users\10zil\OneDrive\Documents\Visual Studio 2017\Projects\C Sharp\CompilePal\CompilePalX\MainWindow.xaml.cs:line 221
at CompilePalX.MainWindow..ctor() in C:\Users\10zil\OneDrive\Documents\Visual Studio 2017\Projects\C Sharp\CompilePal\CompilePalX\MainWindow.xaml.cs:line 71
at CompilePalX.LaunchWindow.Launch(GameConfiguration config) in C:\Users\10zil\OneDrive\Documents\Visual Studio 2017\Projects\C Sharp\CompilePal\CompilePalX\GameConfiguration\LaunchWindow.xaml.cs:line 122
at CompilePalX.LaunchWindow..ctor() in C:\Users\10zil\OneDrive\Documents\Visual Studio 2017\Projects\C Sharp\CompilePal\CompilePalX\GameConfiguration\LaunchWindow.xaml.cs:line 72
 
Last edited: