{ "Constants": { "{GAME_NAME}": "Portal 2" }, "Setup": [ { "Command": "Prompt", "Parameters": { "Type": "Dir", "AliasName": "{PORTAL2_PATH}", "DisplayName": "Where is your {GAME_NAME} folder?", "DefaultPaths": [ "Program Files (x86)/Steam/steamapps/common/Portal 2", "Program Files/Steam/steamapps/common/Portal 2" ] }, "ErrorMessage": "The {GAME_NAME} folder you specified could not be accessed." }, { "Command": "Prompt", "Parameters": { "Type": "String", "AliasName": "{PORTAL2_DLC_PATH}", "DisplayName": "What folder inside of your {GAME_NAME} folder should this Install into? Example: portal2_dlc3" }, "ErrorMessage": "The dlc folder you specified within your {GAME_NAME} folder is invalid." }, { "Command": "CheckExists", "Parameters": { "Path": "{PORTAL2_PATH}/portal2.exe" }, "ErrorMessage": "The {GAME_NAME} folder you specified is invalid" }, { "Command": "ChangeDir", "Parameters": { "Path": "{PORTAL2_PATH}" }, "ErrorMessage": "Access was denied to your {GAME_NAME} folder" } ], "FileRules": { "Maps": [ { "DenyExtension": "/^jpg$/i" }, { "DenyExtension": "/^rtf$/i" }, { "DenyExtension": "/^doc$/i" }, { "DenyExtension": "/^docx$/i" }, { "DenyExtension": "/^exe$/i" }, { "DenyFile": "/^read ?me.+/i" }, { "DenyFile": "/^credits?/i" }, { "DenyFile": "/^credits?\\.txt/i" }, { "DenyFile": "/^installation/i" }, { "DenyFile": "/^installation.+\\.txt/i" }, { "DenyFile": "/^changelog/i" }, { "DenyFile": "/^changelog.+\\.txt/i" }, { "DenyFile": "/^thumbs\\.db/i" }, { "AcceptFilePath": "/portal2_dlc.*\\/scripts\\/soundscapes\\_.+\\.txt$/i", "DestinationFile": "{MATCHED_FILE_PATH}" }, { "AcceptFilePath": "/portal2_dlc.*\\/resource\\/overviews\\/.+\\.txt$/i", "DestinationFile": "{MATCHED_FILE_PATH}" }, { "AcceptFilePath": "/portal2_dlc.*\\/resource\\/overviews\\/.+\\_radar\\.txt$/i", "DestinationFile": "{MATCHED_FILE_PATH}" }, { "AcceptFilePath": "/portal2_dlc.*\\/resource\\/overviews\\/.+\\_radar\\_spectate\\.txt$/i", "DestinationFile": "{MATCHED_FILE_PATH}" }, { "AcceptFilePath": "/portal2_dlc.*\\/materials\\/.+\\.(vmt|vtf|tga)$/i", "DestinationFile": "{MATCHED_FILE_PATH}" }, { "AcceptFilePath": "/portal2_dlc.*\\/models\\/.+\\.(vtx|mdl|phy|phz|vvd)$/i", "DestinationFile": "{MATCHED_FILE_PATH}" }, { "AcceptFilePath": "/portal2_dlc.*\\/maps\\/.+\\.(bsp|nav|res|txt)$/i", "DestinationFile": "{MATCHED_FILE_PATH}" }, { "AcceptFilePath": "/portal2_dlc.*\\/sound\\/.+\\.(wav|mp3)$/i", "DestinationFile": "{MATCHED_FILE_PATH}" }, { "AcceptFilePath": "/portal2_dlc.*\\/maps\\/soundcache\\/.+\\.cache$/i", "DestinationFile": "{MATCHED_FILE_PATH}" }, { "AcceptFile": "/^soundscapes\\_.+\\.txt$/i", "DestinationFile": "{PORTAL2_DLC_PATH}/scripts/{FILE}" }, { "AcceptExtension": "/^(vmt|vtf|tga)$/i", "DestinationFile": "{PORTAL2_DLC_PATH}/materials/{FILE}" }, { "AcceptExtension": "/^(vtx|mdl|phy|phz|vvd)$/i", "DestinationFile": "{PORTAL2_DLC_PATH}/models/{FILE}" }, { "AcceptExtension": "/^(bsp|nav|res|txt)$/i", "DestinationFile": "{PORTAL2_DLC_PATH}/maps/{FILE}" }, { "AcceptExtension": "/^vpk$/i", "DestinationFile": "{PORTAL2_DLC_PATH}/{FILE}" }, { "AcceptExtension": "/^(wav|mp3)$/i", "DestinationFile": "{PORTAL2_DLC_PATH}/sound/{FILE}" }, { "AcceptExtension": "/^cache$/i", "DestinationFile": "{PORTAL2_DLC_PATH}/maps/soundcache/{FILE}" } ], "Skins": [ { "DenyExtension": "/^jpg$/i" }, { "DenyFile": "/^readme.+/i" }, { "AcceptExtension": "/^vpk$/i", "DestinationFile": "{PORTAL2_DLC_PATH}/{FILE}" }, { "AcceptFilePath": "/materials\\/.+\\.(vmt|vtf)$/i", "DestinationFile": "{PORTAL2_DLC_PATH}/{MATCHED_FILE_PATH}" }, { "AcceptFilePath": "/models\\/.+\\.(vtx|mdl|vvd|phy)$/i", "DestinationFile": "{PORTAL2_DLC_PATH}/{MATCHED_FILE_PATH}" }, { "AcceptFilePath": "/sound\\/.+\\.(wav|mp3)$/i", "DestinationFile": "{PORTAL2_DLC_PATH}/{MATCHED_FILE_PATH}" }, { "AcceptFilePath": "/scripts\\/.+\\.txt$/i", "DestinationFile": "{PORTAL2_DLC_PATH}/{MATCHED_FILE_PATH}" } ], "Sounds": [ { "DenyExtension": "/^txt$/i" }, { "DenyFile": "/^readme.+/i" }, { "AcceptExtension": "/^vpk$/i", "DestinationFile": "{PORTAL2_DLC_PATH}/{FILE}" }, { "AcceptFilePath": "/sound\\/sound.cache$/i", "DestinationFile": "{PORTAL2_DLC_PATH}/{MATCHED_FILE_PATH}" }, { "AcceptFilePath": "/sound\\/.+\\.(wav|mp3)$/i", "DestinationFile": "{PORTAL2_DLC_PATH}/{MATCHED_FILE_PATH}" }, { "AcceptFilePath": "/scripts\\/.+\\.txt$/i", "DestinationFile": "{PORTAL2_DLC_PATH}/{MATCHED_FILE_PATH}" } ] } }