Game Mounting

Pragma can automatically import assets that can't be found in its native formats from one of the mounted games. The default list of mounted games includes all Valve Source Engine games, as well as a few popular mods, but in some cases you may want to add custom entries. This is currently only possible by editing the list of mounted games in a text-editor manually.

To do so, go to "Pragma/cfg" and open "mounted_games.udm" in a text-editor. Scroll to the end of the file and add the following entry:

"<identifier>"
{
	$bool enabled 1
	"steam"
	{
		$uint32 app_id <appId>
		$string game_path "<gamePath>"
		$bool mount_workshop <mountWs>
	}
	"engine"
	{
		$string name "source_engine"
	}
}

Replace the following attributes:

  • <identifier>: A unique identifier for this game. Make sure the name is lowercase, has no spaces and no special characters, and isn't already used for any other entries.
  • <appId>: The Steam App Id of the game. You can find it by entering the game's name on SteamDB.
  • <gamePath>: The path to the game's assets, relative to "steamapps/". This path should contain a "models", "materials" and "maps" directory. For example, if the full path is "E:/SteamLibrary/steamapps/common/Counter-Strike Global Offensive/csgo", the <gamePath> should be "common/Counter-Strike Global Offensive/csgo/". Make sure to use this exact format (forward slashes; not starting with a slash; ending with a slash).
  • <mountWs>: Set to 1 if you want to mount the workshop for the specified game, otherwise 0.

You can use the other entries as a reference. If you've made a syntax error, it should appear in the console the next time you start Pragma. You can also run the console command udm_validate cfg/mounted_games.udm to ensure the file is syntactically correct.

If your new entry doesn't seem to have any effect, you can start Pragma with the -verbose -console terminal launch parameters, and it should print out a bunch of information about the mounted games and any errors.

 

Mounting custom SFM user folders

If your assets are located in a custom directory under "steamapps/common/SourceFilmmaker/game/", it will not be mounted by default. To mount it, open "Pragma/cfg/mounted_games.udm" in a text-editor, find the "sfm" entry and add the path to the "game_paths" list (replace <your_custom_folder> with the name of your custom directory:

"sfm"
{
	$bool enabled 1
	$string localization_name "mount_game_sfm"
	$int32 priority 950
	"steam"
	{
		$uint32 app_id 1840
		$array game_paths [string][
			"common/SourceFilmmaker/game/usermod/",
			"common/SourceFilmmaker/game/workshop/",
			"common/SourceFilmmaker/game/tf_movies/",
			"common/SourceFilmmaker/game/tf/",
			"common/SourceFilmmaker/game/hl2/",
			"common/SourceFilmmaker/game/left4dead2_movies/",
			"common/SourceFilmmaker/game/platform/",
			"common/SourceFilmmaker/game/portal2/",
			"common/SourceFilmmaker/game/<your_custom_folder>/"
		]
		$bool mount_workshop 1
	}
	"engine"
	{
		$string name "source_engine"
	}
}