Ru/Gameinfo.txt: Difference between revisions
m (Заменены ссылки на страницы String на ссылки на страницы русифицированной страницы Strings) |
m (Исправил оглавление и некоторые ошибки в тексте) |
||
Line 1: | Line 1: | ||
{{otherlang2 | {{otherlang2 | ||
|title=Структура файла Gameinfo.txt | |||
|en=The_GameInfo.txt_File_Structure | |en=The_GameInfo.txt_File_Structure | ||
|es=The_GameInfo.txt_File_Structure:es | |es=The_GameInfo.txt_File_Structure:es | ||
Line 13: | Line 14: | ||
'''<code>gameinfo.txt</code>''' содержит описание вашего мода. Он содержит такие метаданные, как его имя, ссылка на веб-сайт или руководство, и определяет, какие игры он использует. Он хранится в папке вашего мода и нужен для определения мода в Steam. Source и SDK инструменты используют его, для получения информации о подгружаемом контенте. | '''<code>gameinfo.txt</code>''' содержит описание вашего мода. Он содержит такие метаданные, как его имя, ссылка на веб-сайт или руководство, и определяет, какие игры он использует. Он хранится в папке вашего мода и нужен для определения мода в Steam. Source и SDK инструменты используют его, для получения информации о подгружаемом контенте. | ||
SDK launcher сгенерирует gameinfo.txt, как только вы запустите Create a Mod Wizard. Он подходит для разработки, но перед релизом, вы захотите изменить информацию | SDK launcher сгенерирует gameinfo.txt, как только вы запустите Create a Mod Wizard. Он подходит для разработки, но перед релизом, вы захотите изменить информацию об игре. | ||
{{note:ru|[[Boolean:ru|Логические]] значения представлены в виде [[integer:ru|целых числел]].}} | {{note:ru|[[Boolean:ru|Логические]] значения представлены в виде [[integer:ru|целых числел]].}} | ||
Line 28: | Line 29: | ||
; <code>title2 <строка></code> | ; <code>title2 <строка></code> | ||
: Эти значения отображаются в виде [http://ru.wikipedia.org/wiki/%D0%AE%D0%BD%D0%B8%D0%BA%D0%BE%D0%B4 Юникода] в главном меню вашего мода. Они могут отличаться от отображаемых в Steam и на рабочем столе, если вы используете свой шрифт. | : Эти значения отображаются в виде [http://ru.wikipedia.org/wiki/%D0%AE%D0%BD%D0%B8%D0%BA%D0%BE%D0%B4 Юникода] в главном меню вашего мода. Они могут отличаться от отображаемых в Steam и на рабочем столе, если вы используете свой шрифт. | ||
: <code>title2</code> (и 3, 4, и т.д.), чтобы применять разные стили к различным частям вашего названия. {{note:ru|Вполне возможно, ваш заголовок не будет отображаться, пока вы не отредактируете <code>ClientTitleFont</code> в <code>resource\clientscheme.res</code> для изменения шрифта. По умолчанию ("HalfLife2") имеет только | : <code>title2</code> (и 3, 4, и т.д.), чтобы применять разные стили к различным частям вашего названия. {{note:ru|Вполне возможно, ваш заголовок не будет отображаться, пока вы не отредактируете <code>ClientTitleFont</code> в <code>resource\clientscheme.res</code> для изменения шрифта. По умолчанию ("HalfLife2") имеет только определённый набор символов, и большая часть текста не будет отображаться правильно.}} | ||
; {{EP2 add:ru|<code>gamelogo <[[boolean:ru|логическое значение]]></code>}} | ; {{EP2 add:ru|<code>gamelogo <[[boolean:ru|логическое значение]]></code>}} | ||
: Вместо отображения текста <code>title</code>/<code>title2</code>, отображает содержимое <code>resource\GameLogo.res</code>. См. [[Adding Your Logo to the Menu:ru|Добавление Своего Лого в Меню]]. | : Вместо отображения текста <code>title</code>/<code>title2</code>, отображает содержимое <code>resource\GameLogo.res</code>. См. [[Adding Your Logo to the Menu:ru|Добавление Своего Лого в Меню]]. | ||
Line 59: | Line 60: | ||
; <code>icon <строка></code> | ; <code>icon <строка></code> | ||
: Локальный путь, относительно gameinfo.txt, иконка, отображающаяся в Steam. ''Не'' пишите расширение файла. Должна быть в несжатом 16x16 TGA. | : Локальный путь, относительно gameinfo.txt, иконка, отображающаяся в Steam. ''Не'' пишите расширение файла. Должна быть в несжатом 16x16 TGA. | ||
Большие 32px иконки, которые отображаются в детальном виде должны находится там же где и обычная 16px иконка, и | Большие 32px иконки, которые отображаются в детальном виде должны находится там же где и обычная 16px иконка, и должна называться <code><icon>_big.tga</code>. {{note|Чтобы прозрачность работала, TGA должен быть сохранён в режиме 32-bit с включённым альфа-каналом.}} | ||
; {{2009 add|<code>SupportsDX8 <bool></code>}} | ; {{2009 add|<code>SupportsDX8 <bool></code>}} | ||
: Заставляет запустить игру в режиме DirectX8, отсюда - не все эффекты. | : Заставляет запустить игру в режиме DirectX8, отсюда - не все эффекты. | ||
Line 83: | Line 84: | ||
# Монтирование папки через searchpath | # Монтирование папки через searchpath | ||
При этом | При этом всё происходит в ключе <code>filesystem</code>. См. ниже для примера. | ||
; <code>SteamAppID <[[integer:ru|целое число]]></code> | ; <code>SteamAppID <[[integer:ru|целое число]]></code> | ||
: [[Steam Application IDs|AppID]] игры, на которой базируется мод. Мод имеет доступ к любому доступному игровому контенту, если необходимый контент не установлен, он не будет воспроизводится. {{tip:ru|Для большинства модов это будет либо 215 (Ep1), либо 218 (OB), каждый из них использует разную версию [[Source SDK Base:ru|Source SDK Base]].}} | : [[Steam Application IDs|AppID]] игры, на которой базируется мод. Мод имеет доступ к любому доступному игровому контенту, если необходимый контент не установлен, он не будет воспроизводится. {{tip:ru|Для большинства модов это будет либо 215 (Ep1), либо 218 (OB), каждый из них использует разную версию [[Source SDK Base:ru|Source SDK Base]].}} | ||
; {{EP2 add:ru|<code>AdditionalContentId <целое число></code>}} | ; {{EP2 add:ru|<code>AdditionalContentId <целое число></code>}} | ||
: Мод для другой игры имеет доступ только к (и перечисление). В <code>AdditionalContentId</code> может быть указан любой номер. {{bug:ru|Эту команду понимает движок, но не SDK инструменты! Лучшим решением, на данный момент, является копирование контента игры на локальный | : Мод для другой игры имеет доступ только к (и перечисление). В <code>AdditionalContentId</code> может быть указан любой номер. {{bug:ru|Эту команду понимает движок, но не SDK инструменты! Лучшим решением, на данный момент, является копирование контента игры на локальный жёсткий диск и добавления абсолютного пути в <code>SearchPath</code> (см. ниже). Не забудьте удалить SearchPath перед релизом.}} | ||
:: {{tip:ru|Исправление доступно [[Mounting_Other_Content#Scripted_Mounting|здесь]]}} | :: {{tip:ru|Исправление доступно [[Mounting_Other_Content#Scripted_Mounting|здесь]]}} | ||
; <code>ToolsAppId <целое число></code> | ; <code>ToolsAppId <целое число></code> | ||
Line 99: | Line 100: | ||
Движок начинает поиск с первого пути, и останавливает, как только находит то, что ему необходимо. Это означает, что порядок, в котором вы предоставляете список файлов - очень важен: сначала загружаются файлы из первого пути, а потом файлы из путей, расположенных ниже. | Движок начинает поиск с первого пути, и останавливает, как только находит то, что ему необходимо. Это означает, что порядок, в котором вы предоставляете список файлов - очень важен: сначала загружаются файлы из первого пути, а потом файлы из путей, расположенных ниже. | ||
Путь поиска, как правило, является относительным к | Путь поиска, как правило, является относительным к корневой директории <code>SteamAppID</code> (то есть где находится hl2.exe) или он абсолютный (например, <code>C:\SomeFolder\</code>). К счастью, существуют две строки, которые очень полезны: | ||
# '''<code>|all_source_engine_paths|</code>''' (основная директория <code>SteamAppID</code> и директория <code>AdditionalContentId</code>, которую вы используете) | # '''<code>|all_source_engine_paths|</code>''' (основная директория <code>SteamAppID</code> и директория <code>AdditionalContentId</code>, которую вы используете) | ||
Line 108: | Line 109: | ||
Source автоматически создаст SearchPaths для локализаций. Если вы монтируете <code>hl2</code>, а игрок запускает ваш мод на Французском, <code>hl2_french</code> автоматически смонтируется надлежащим образом. | Source автоматически создаст SearchPaths для локализаций. Если вы монтируете <code>hl2</code>, а игрок запускает ваш мод на Французском, <code>hl2_french</code> автоматически смонтируется надлежащим образом. | ||
{{note:ru|Языковые различия так же могут изменить | {{note:ru|Языковые различия так же могут изменить AppID, но не волнуйтесь. Steam настроит всё самостоятельно.}} | ||
=== Пример === | === Пример === |
Revision as of 01:21, 6 April 2021
- Для Half-Life 1/GoldSrc, см. статью liblist.gam.
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, и т.д.), чтобы применять разные стили к различным частям вашего названия. Template:Note:ru
gamelogo <логическое значение>
(Во всех играх начиная с )
- Вместо отображения текста
title
/title2
, отображает содержимоеresource\GameLogo.res
. См. Добавление Своего Лого в Меню.
Настройки
type <singleplayer_only | multiplayer_only>
- Влияет на появление закладок в настройках. Может так же влиять на скорость загрузки в Steam. Пропустите, если ваш мод как однопользовательский, так и многопользовательский.
nodifficulty <логическое значение>
- Скрывает вкладку Уровень сложности (это случается автоматически, если ваш мод
multiplayer_only
)
hasportals <логическое значение>
(Во всех играх начиная с )
- Показывает вкладку настроек "Порталы"
nocrosshair <логическое значение>
- Скрывает настройки прицела в мультиплеере
advcrosshair
- Включает дополнительные настройки прицела.
nomodels <логическое значение>
- Скрывает настройку модели в мультиплеере
nohimodel <логическое значение>
- Скрывает флажок для переключения
cl_himodels
, который использовался в GoldSrc. Отображается правильно, только еслиcl_himodels
расположен в первую очередь!
Список игр в Steam
developer <строка>
- Название вашей команды (или ваше имя!)
developer_url <строка>
- Веб-сайт мода, или ваш. Должен начинаться с
http://
. manual <строка>
- Ссылка на руководство к моду; может быть локальная.
icon <строка>
- Локальный путь, относительно gameinfo.txt, иконка, отображающаяся в Steam. Не пишите расширение файла. Должна быть в несжатом 16x16 TGA.
Большие 32px иконки, которые отображаются в детальном виде должны находится там же где и обычная 16px иконка, и должна называться <icon>_big.tga
.

- Template:2009 add
- Заставляет запустить игру в режиме DirectX8, отсюда - не все эффекты.
Разное
hidden_maps <подраздел>
- Карты, которые нельзя загрузить через диалог "create server" (их можно загрузить через консоль).
- Синтаксис:
mapname 1
, по одной записи на строку. Не пишите.bsp
. Помните, чтобы открыть или закрыть подраздел, используйте { и }.
nodegraph <логическое значение>
(Во всех играх начиная с )
- Когда ложь, запрещает движку создавать сетку навигации для NPC.
GameData <строка>
(Во всех играх начиная с )
- Путь к FGD, относительно Hammer'а. В настоящее время не имеет никакого эффекта.
InstancePath <строка>
(Во всех играх начиная с )
- Найдено в gameinfo TF2 со значением
maps/instances/
...
Подгрузка Контента
Существуют два этапа для добавления игрового контента:
- Монтирование через AppID
- Монтирование папки через searchpath
При этом всё происходит в ключе filesystem
. См. ниже для примера.
SteamAppID <целое число>
- AppID игры, на которой базируется мод. Мод имеет доступ к любому доступному игровому контенту, если необходимый контент не установлен, он не будет воспроизводится. Template:Tip:ru
AdditionalContentId <целое число>
(Во всех играх начиная с )
- Мод для другой игры имеет доступ только к (и перечисление). В
AdditionalContentId
может быть указан любой номер. Template:Bug:ru
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
автоматически смонтируется надлежащим образом.
Пример
Следующий код смонтирует контент Episode Two и Portal:
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 бинарники будут загружены, вы не сможете использовать порталы, однако вы можете использовать GLaDOS и Охотников!
Если вы хотите использовать бинарники портала, вы должны просто поместить его поисковой путь выше Ep2. (Излишне говорить, что если эти бинарники в папке вашего мода, тогда будут загружены они.)
Пример Source 2013
Следующий код смонтирует контент Episode Two и Portal на 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
}
}