Ru/Gameinfo.txt

Game Definition Files
:Для Half-Life 1/, см. статью .
gameinfo.txt содержит описание вашего мода. Он содержит такие метаданные, как его имя, ссылка на веб-сайт или руководство, и определяет, какие игры он использует. Он хранится в папке вашего мода и нужен для определения мода в Steam. Source и SDK инструменты используют его, для получения информации о подгружаемом контенте.
SDK launcher сгенерирует gameinfo.txt, как только вы запустите Create a Mod Wizard. Он подходит для разработки, но перед релизом, вы захотите изменить информацию об игре.
== Настройки UI ==
=== Название ===
;game <>
: Название вашего мода в ASCII. Отображается в Steam и на панели задач Windows, но не в главном меню (если вы не определили title).
; title <строка>
; title2 <строка>
: Эти значения отображаются в виде Юникода в главном меню вашего мода. Они могут отличаться от отображаемых в Steam и на рабочем столе, если вы используете свой шрифт.
: title2 (и 3, 4, и т.д.), чтобы применять разные стили к различным частям вашего названия. 
; 
: Вместо отображения текста title/title2, отображает содержимое resource\GameLogo.res. См. .
=== Настройки ===
; type <singleplayer_only | multiplayer_only>
: Влияет на появление закладок в настройках. Может так же влиять на скорость загрузки в Steam. Пропустите, если ваш мод как однопользовательский, так и многопользовательский.
; nodifficulty <>
: Скрывает вкладку Уровень сложности (это случается автоматически, если ваш мод multiplayer_only)
; 
: Показывает вкладку настроек "Порталы"
; nocrosshair <>
: Скрывает настройки прицела в мультиплеере
; advcrosshair
: Включает дополнительные настройки прицела.
; nomodels <>
: Скрывает настройку модели в мультиплеере
; nohimodel <>
: Скрывает флажок для переключения cl_himodels, который использовался в . Отображается правильно, только если cl_himodels расположен в первую очередь!
=== Список игр в Steam ===
; developer <>
: Название вашей команды (или ваше имя!)
; developer_url <строка>
: Веб-сайт мода, или ваш. Должен начинаться с http://.
; manual <строка>
: Ссылка на руководство к моду; может быть локальная.
; icon <строка>
: Локальный путь, относительно gameinfo.txt, иконка, отображающаяся в Steam. Не пишите расширение файла. Должна быть в несжатом 16x16 TGA.
Большие 32px иконки, которые отображаются в детальном виде должны находится там же где и обычная 16px иконка, и должна называться <icon>_big.tga. 
; 
: Заставляет запустить игру в режиме DirectX8, отсюда - не все эффекты.
=== Разное ===
; hidden_maps <подраздел>
: Карты, которые нельзя загрузить через диалог "create server" (их можно загрузить через консоль).
: Синтаксис: mapname 1, по одной записи на строку. Не пишите .bsp. Помните, чтобы открыть или закрыть подраздел, используйте { и }.
; 
: Когда ложь, запрещает движку создавать .
; 
: Путь к FGD, относительно Hammer'а. В настоящее время не имеет никакого эффекта.
; 
: Найдено в gameinfo TF2 со значением maps/instances/...
== Подгрузка Контента ==
Существуют два этапа для добавления игрового контента:
# Монтирование через AppID
# Монтирование папки через searchpath
При этом всё происходит в ключе filesystem. См. ниже для примера.
; SteamAppID <>
: игры, на которой базируется мод. Мод имеет доступ к любому доступному игровому контенту, если необходимый контент не установлен, он не будет воспроизводится. 
; 
: Мод для другой игры имеет доступ только к (и перечисление). В AdditionalContentId может быть указан любой номер. 
:: 
; ToolsAppId <целое число>
: Это AppID который в настоящий момент использует SDK. В текущий момент, есть только один работающий ID - 211 (the Source SDK).
=== SearchPaths ===
SearchPaths - это еще одна группа в рамках подраздела FileSystem. В ней содержится список папок (в виде Game <путь>, на каждую линию), это список файлов, которые будет искать движок.
Движок начинает поиск с первого пути, и останавливает, как только находит то, что ему необходимо. Это означает, что порядок, в котором вы предоставляете список файлов - очень важен: сначала загружаются файлы из первого пути, а потом файлы из путей, расположенных ниже.
Путь поиска, как правило, является относительным к корневой директории SteamAppID (то есть где находится hl2.exe) или он абсолютный (например, C:\SomeFolder\). К счастью, существуют две строки, которые очень полезны:
# |all_source_engine_paths| (основная директория SteamAppID и директория AdditionalContentId, которую вы используете)
# |gameinfo_path| (папка с вашим gameinfo.txt)
==== Локализация ====
Source автоматически создаст SearchPaths для локализаций. Если вы монтируете hl2, а игрок запускает ваш мод на Французском, hl2_french автоматически смонтируется надлежащим образом.
=== Пример ===
Следующий код смонтирует контент и :
FileSystem
{
	SteamAppId	420	// Ep2
	ToolsAppId	211
	AdditionalContentId	400	// Portal
	SearchPaths
	{
		Game	|gameinfo_path|.	// В первую очередь указывается директория вашего мода
		Game	|all_source_engine_paths|ep2
		Game	|all_source_engine_paths|episodic	// Ep2 так же использует некоторый Ep1 контент
		Game	|all_source_engine_paths|portal
		Game	|all_source_engine_paths|hl2	// HL2 всегда должен быть последним
	}
}
Episode Two загружается первым и имеет приоритет. Это означает, что как только Ep2 бинарники будут загружены, вы не сможете использовать порталы, однако вы можете использовать и !
Если вы хотите использовать бинарники портала, вы должны просто поместить его поисковой путь выше Ep2. (Излишне говорить, что если эти бинарники в папке вашего мода, тогда будут загружены они.)
== Пример Source 2013 ==
Следующий код смонтирует контент и на 2013 версии движка:
FileSystem
{
	SteamAppId					243730				// Source SDK Base 2013 Singleplayer
	SearchPaths
	{
		// No /custom/ folders because they can interfere with mod content and shouldn't be in mod gameinfo.
		game+mod+mod_write+default_write_path	|gameinfo_path|.		// Mod
		gamebin					|gameinfo_path|bin		// Mod's Binaries
		// Using SSDKBase13 path, then back to /common/ and then using Portal folder. 
		// |all_source_engine_paths| magic help here too.
		game				|all_source_engine_paths|../Portal/portal/portal_sound_vo_english.vpk 
		game				|all_source_engine_paths|../Portal/portal/portal_pak.vpk 		
		// Base Half-Life 2 Content: ep2, episodic, hl2
		game_lv					|all_source_engine_paths|hl2/hl2_lv.vpk
		game					|all_source_engine_paths|ep2/ep2_english.vpk
		game					|all_source_engine_paths|ep2/ep2_pak.vpk
		game					|all_source_engine_paths|episodic/ep1_english.vpk
		game					|all_source_engine_paths|episodic/ep1_pak.vpk
		game					|all_source_engine_paths|hl2/hl2_english.vpk
		game					|all_source_engine_paths|hl2/hl2_pak.vpk
		game					|all_source_engine_paths|hl2/hl2_textures.vpk
		game					|all_source_engine_paths|hl2/hl2_sound_vo_english.vpk
		game					|all_source_engine_paths|hl2/hl2_sound_misc.vpk
		game					|all_source_engine_paths|hl2/hl2_misc.vpk
		platform				|all_source_engine_paths|platform/platform_misc.vpk
		// TODO; find out what is it and why it's here
		game					|all_source_engine_paths|episodic
		game					|all_source_engine_paths|hl2
		platform				|all_source_engine_paths|platform
	}
}