Source-1-Games icon indicating copy to clipboard operation
Source-1-Games copied to clipboard

[TF2] [x64_test] tf_win64.exe: Engine tools don't work, but they work with the x86 tf.exe

Open ChampionCynthia opened this issue 1 year ago • 2 comments

Hello,

Engine tools such as the Particle Editor can normally be accessed using the -tools -nop4 launch options.

If I launch the tf.exe executable with these options, the engine tools work fine.

However, if I launch the tf_win64.exe executable with the same options, I reach the main menu but I cannot click anything. The mouse cursor also flickers for some reason.

This was with a stock configuration. Out of curiosity, I later tried using this Classic Menu mod for TF2 that restores the old 2007 main menu. I thought that the engine tools might be loaded behind the main menu interface but the issue persists.

Tested on Windows 10 with the NVIDIA 425 driver (NVIDIA GT 755M).

Cheers.

ChampionCynthia avatar Feb 15 '24 17:02 ChampionCynthia

This seems odd because Team Fortress 2/bin/tools/x64 contains 64-bit binaries of the following tools:

actbusy.dll
commedit.dll
gameevents.dll
pet.dll
sampletool.dll
vcdblock.dll
vmt.dll

In fact, the x64 version has more tools than x86:

commedit.dll
pet.dll
vmt.dll

Sadly, no signs of ifm.dll though. However, some third-party Source engine games support a 64-bit tool environment:

KiwifruitDev avatar Apr 19 '24 07:04 KiwifruitDev

It seems like the issue is somewhat related to Environment Variables? I have my Path environment variable point towards to Counter-Strike 2's bin folder and launching tf_win64.exe it would try to load the CS2 tools' dlls. However changing the Path environment variable to the TF2's bin folder fixes the error, but still does not load the tools.

I think simply the game is having trouble finding the dlls?

image

image

justyn0 avatar May 05 '24 04:05 justyn0

is there any fix for this?

OrangeSniper avatar Jun 01 '24 22:06 OrangeSniper

Found a workaround, add a file named sdkenginetools.txt to bin/x64/ with the following contents:

"enginetools"
{
	"library"	"../tools/x64/actbusy.dll"
	"library"	"../tools/x64/commedit.dll"
	"library"	"../tools/x64/gameevents.dll"
	"library"	"../tools/x64/pet.dll"
	"library"	"../tools/x64/sampletool.dll"
	"library"	"../tools/x64/vcdblock.dll"
	"library"	"../tools/x64/vmt.dll"
}

This will let TF2 know what tools to load with the -tools -nop4 launch options. There are some issues with vgui that cause crashes, particularly in the particle editor. Although the SFM (ifm.dll) is still not supported.

KiwifruitDev avatar Jul 07 '24 10:07 KiwifruitDev