CompilePal icon indicating copy to clipboard operation
CompilePal copied to clipboard

Compile pal not starting, if you only use hammer++ and never used stock hammer before.

Open sunstep opened this issue 3 years ago • 10 comments

Describe the bug A clear and concise description of what the bug is.

Compile pal does not launch if you have never launched stock hammer before. The problem is that since hammer++ has released, nobody bothers to use stock hammer anymore. This causes compile pal to fail to launch since it requires gameconfig.txt to be generated by stock hammer. I've also contacted the creator of hammer++ to tell him that it should create a gameconfig.txt like stock hammer does.

Steps to reproduce Steps to reproduce the behavior.

Pretend to be a new mapper, and only use hammer++. Ignore stock hammer. Make sure gameconfig.txt is deleted from the bin folder. (When you have never launched stock hammer before, the file gameconfig.txt won't exist then.

Expected behavior A clear and concise description of what you expected to happen.

Compile pal will not launch, it will create a crash log only.

Debug.log Please upload the debug.log file found in your Compile Pal folder.

debug.log (The only reason the debug file exist is because I managed to fix the issue my self)

Crash logs If applicable, please upload crash logs found in the CrashLog folder. 2021-05-23T15-34-31.txt

Additional context Add any other context about the problem here.

sunstep avatar May 23 '21 18:05 sunstep

Unfortunately this doesn't look like something I can fix, since the GameConfig.txt points to where the compilers are located. As a workaround, launch the stock hammer for the game you want to compile for to generate the GameConfig.txt, then use Hammer++

Exactol avatar May 23 '21 20:05 Exactol

Any chance at making compilepal work with hammer++?

Caskoo avatar Sep 27 '21 14:09 Caskoo

As stated before inside this page, just launch stock hammer first and it should work properly with whatever you are using.

sunstep avatar Sep 27 '21 14:09 sunstep

Hammer++ has been modified to no longer generate the required configuration files that other 3rd party tools have been relying on. By the way it was implemented, Hammer++ hinders its integration with CompilePal, WallWorm and possibly others. You can go ask them about their reasoning and/or the possibility of restoring that functionality. https://github.com/ficool2/HammerPlusPlus-Website/issues

Hammer++ is out of spec and the modifications to its inner workings are not disclosed. We'd probably consider researching a fix if things weren't this obtuse.

maxdup avatar Sep 27 '21 14:09 maxdup

This has been fixed in the latest Hammer++ update

Exactol avatar Jan 22 '22 18:01 Exactol

I can confirm that you still need to start regular hammer for compile pal to work. I recently reinstalled my os and had to deal again with compile pal not starting. I assumed that starting regular hammer wasn't going to fix it, as hammer++ was supposedly modified to make it work with compile pal. And yet it still did fix the problem and it made compile pal launch. This is the crash log that I received:

System.NullReferenceException: Object reference not set to an instance of an object. at CompilePalX.GameConfigurationParser.Parse(String filename) in D:\a\CompilePal\CompilePal\CompilePalX\GameConfiguration\GameConfigurationParser.cs:line 15 at CompilePalX.LaunchWindow..ctor() in D:\a\CompilePal\CompilePal\CompilePalX\GameConfiguration\LaunchWindow.xaml.cs:line 60

sunstep avatar Mar 15 '22 18:03 sunstep

I guess it was broken in the latest Hammer++ update. Going to reopen and pin this for now so other people can see how to fix the issue

Exactol avatar Mar 15 '22 19:03 Exactol

You can't have CompilePal check for H++'s GameConfig.txt instead? which is just hammerplusplus_gameconfig.txt located under $exedir/bin/hammerplusplus

some-username-here1 avatar Apr 07 '22 14:04 some-username-here1

Seems like the most likely solution to this issue. I honestly never noticed hammer++ had its own gameconfig.txt.

sunstep avatar Apr 07 '22 15:04 sunstep

Unfortunately I currently don't have the time to support Hammer++. The GameConfig.txt is the standard way for all Source engine games to store information about the compilers. I don't know why Hammer++ doesn't generate this file anymore, but I opened an issue for it https://github.com/ficool2/HammerPlusPlus-Issue-Tracker/issues/304

Exactol avatar Apr 07 '22 17:04 Exactol

This should be fixed in the latest prerelease. Forgot to close this issue

Exactol avatar Jan 28 '23 20:01 Exactol