This article's documentation is for Source 2. Click here for more information.

Sdkenginetools.txt

From Valve Developer Community
Jump to navigation Jump to search

sdkenginetools.txt (s&boxenginetools.txt) is a KeyValues3 config file present in game/bin that describes the engine tools present in a Source 2 game. Engine tools are primarily accessible via Asset Browser, and entries defined in this file will show up as selectable tools.

Todo: Older engines such as Destinations use the schema format instead of KV3, document any notable differences from those.

m_EngineTools

m_Name  <string>
The internal name of this tool.
m_FriendlyName  <string>
The display name of this tool.
m_InterfaceName  <string>
[Todo]
m_ToolIcon  <string>
The path to the icon of this tool. Can be prefixed with the following:
  • game: - The game folder
  • (removed since Counter-Strike 2) toolimages: - The game folder + tools/images/
m_Library  <string>
The path to the library dll containing this tool's functionality.
m_AssetTypes  <array:string>
A list of asset types that this tool deals with.
m_bIsSecondaryTool  <boolean>
[Todo]
m_bShowInRevisionSubMenu  <boolean>
[Todo]
m_LimitToMods  <array:string>
A list of mods that should make this tool available.
m_ExcludeFromMods  <array:string>
A list of mods that should exclude this tool. It will not be available in the UI for these mods.


(in all games since Counter-Strike 2):

m_bIsWorkshopManagerTool  <boolean>
Whether this tools is designed for dealing with the Steam workshop.
Todo: What effect does this have?
m_bIsWorkshopItemTool  <boolean>
Whether this tools is designed for dealing with Steam workshop items.
Todo: What effect does this have?
m_bDoNotWarnAboutLargeAssetBatches  <boolean>
[Todo]
m_bCanHighlightSubassets  <boolean>
[Todo]

m_ExternalTools

An array of objects describing non-native tools that are commonly used with the engine, such as Photoshop.

m_Name  <string>
The internal name of this tool.
m_FriendlyName  <string>
The display name of this tool.
m_WorkingDir  <string>
The directory that the program should start in.
m_SupportedExts  <array:string>
A list of extensions to associate with the program.


(removed since Counter-Strike 2):

There are various variables available to use within m_Command:

Confirm:Are %l and %u exclusive to S&box?
  • %f - Full path to file
  • %d - File working directory
  • %n - File name (no extension)
  • %g - Game directory (eg. "D:\dev\source2\game")
  • %c - Content directory (eg. "D:\dev\source2\content")
  • s&box %l - Text line number if appropriate
  • s&box %u - Text column number if appropriate
  • %1 - Expand using m_Replace1, can use @<Registry Key>
  • %2 - ...
m_Overrides  <string>
Seems to be the same as m_MatchSystemExecutable.
m_Replace  <array:string>
An array of values used for referencing in m_Command.
m_Command  <string>
The command to run. See above for variables that can be used here.
m_CommandWithLineColumn  <string> (only in s&box)
[Todo]
m_bWaitForFinish  <boolean>
Waits for the command to finish running before continuing. [confirm]
m_bIsPrimaryTool  <boolean>
[Todo]


(in all games since Counter-Strike 2):

There are various variables available to use within m_Command:

  • {FilePath} - Full path to file
  • {FileFolder} - File working directory
  • {MultipleFilePaths} - [Todo]
  • {FileName} - File name (no extension)
  • {GameFolder} - Game directory (eg. "D:\dev\source2\game")
  • {ContentFolder} - Content directory (eg. "D:\dev\source2\content")
  • {ModName} - Mod name
  • {LineNo} - Text line number if appropriate
  • {ColNo} - Text column number if appropriate
  • {@<Registry Key>} - The path to the given registry key.
m_MatchSystemExecutable  <string>
[Todo]
m_Executable  <string>
Path to the executable. Can be a registry key.
m_Args  <string>
Arguments to pass to the program.
m_ArgsWithLineColumn  <string>
[Todo]
m_PriorityExts  <string>
[Todo]
m_bDebugCommandline  <string>
[Todo]