Skip to content

Conversation

rawra89
Copy link

@rawra89 rawra89 commented Aug 26, 2025

Description

There doesn't appear to be a way to use AppID based mounting on non-engine Source Engine projects, with the original code giving an error. This is very annoying, especially since the default gameinfo.txt files that the SDK comes with uses AppID mounting. I've noticed that the ENGINE_DLL define had code to retrieve an application install directory through SteamGames(), but trying to use that code outside that context causes a linker error. Instead, I've implemented a way to get the AppID's install directory without having to use the Steam API. This method checks the Steam installation path, and uses libraryfolders.vdf and app_manifest_xxx.acf files to look for the installed game. If the given AppID isn't installed, it prompts the user to install it if they own the game.

I also request that the other tools that aren't in this source code (Hammer, Faceposer, Half-Life Model Viewer, etc.) is updated with this code.

Addresses issue #1175 .

@rawra89 rawra89 changed the title Added AppID mounting to non-engine mods Add AppID mounting to non-engine mods Aug 26, 2025
Bitl added a commit to BitlDevelopmentStudios/source-sdk-2013-bds-base that referenced this pull request Aug 26, 2025
@rawra89
Copy link
Author

rawra89 commented Aug 26, 2025

Note: There's also an issue with Steam where occasionally, if you first installed a game without launching it, it doesn't update the libraryfolders.vdf file. It seems to be a bit inconsistent, because I've had this issue with Portal when testing this code. But now, when I test it, it seems to update the entry immediately after installing it. You may have to launch the game once for Steam to add the queried app to libraryfolders.vdf so that this code can detect the game.

@rawra89 rawra89 changed the title Add AppID mounting to non-engine mods [TOOLS] Add AppID mounting to non-engine mods Aug 27, 2025
Bitl added a commit to BitlDevelopmentStudios/source-sdk-2013-bds-base that referenced this pull request Aug 28, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant