Portal 2: Community Edition

Documentation

Home ReferenceVScriptAngelscriptPanorama
GitHub
Edit

New GameInfo.txt Format

In order to support the new filesystem changes in Strata Source, modifications have been made to Source’s existing GameInfo.txt format.

Mounts Block

The mounts block is designed to supplement the user-editable mounts.kv file in cfg. This block should be used to setup the required paths for your mod.

This block should be placed in the "GameInfo" block like everything else.

An example of the mounts block:

mount
{
	// The AppID of your mod
	620
	{
		"required" "1" // If 1, the game will not launch if this couldn't be mounted.
		"head" "0" // If 1, this will add the search path to the head of the list

		// 'update' is the name of the folder to look in
		"update"
		{
			"vpk" "pak01" // The vpk directive tells the engine to look for update/pak01_XXX.vpk
		}

		"portal2_dlc2"
		{
			"vpk" "pak01" // Add portal2_dlc2/pak01_XXX.vpk
			"dir" "maps" // Add the portal2_dlc2/maps directory to the search path
			"dir" "models" // Add the portal2_dlc2/models directory to the search path
		}

		"portal2_dlc1"
		{
			"vpk" "pak01"
		}

		"portal2"
		{
			"vpk" "pak01"
		}
	}
}

Custom Folder

Strata Source supports many Source 2013/TF2-style constructs in the gameinfo, such as the custom folder.

To support the custom folder, simply add game "<your mod>/custom/*" to your SearchPaths block. Anything under the <your mod>/custom/ folder will be mounted as if it were a game.

Other Considerations

Example GameInfo.txt

The following is an example gameinfo.txt from our template mod repo found here

"GameInfo"
{
	game 		"Portal 2: My Cool Template Mod"
	GameData	"p2ce.fgd"

	// Mounts content from Portal 2 and P2CE.
	// To add additional mounts, see cfg/mounts.kv

	mount
	{
		// Portal 2 is required for this mod
		620
		{
			"required" "1"

			// Priority is determined by the order
			// in which folders are defined.
			// For example, assets in "portal2_dlc1" will
			// be overridden by assets in "update"

			"update
			{
				"vpk" "pak01"
			}
			"portal2_dlc2"
			{
				"vpk" "pak01"
			}
			"portal2_dlc1"
			{
				"vpk" "pak01"
			}
			"portal2"
			{
				"vpk" "pak01"
			}
		}
	}

	FileSystem
	{
		SteamAppId				440000	// Identifies this as a P2CE mod.

		SearchPaths
		{
			Game+mod+default_write_path	|gameinfo_path|.

			// p2ce should be marked as a mod too so it can pull important files that are missing from your mod
			Game+mod			p2ce
			GameBin				p2ce/bin
			Game				hammer
			Game				update
			Platform+game		platform
		}
	}
}