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
}
}