Форматы файлов
Материал из S.T.A.L.K.E.R. Inside Wiki
Содержание
Основные форматы
Игра использует различные форматы файлов для своих ресурсов. Разберем их редактирование.
.ltx
Открывается Блокнотом, прост в редактировании.
.xml
Обычно используется для хранения текстовых массивов.
Открывается Блокнотом, но для удобного редактирования с подсветкой разметки лучше использовать Notepad++ (скачать).
.script
Открывается Блокнотом, но для удобного редактирования с подсветкой разметки лучше использовать Notepad++ (скачать).
.dds
Файл, содержащий текстуру.
Редактируется в Photoshop с установленным dds-плагином от Nvidia (скачать),
либо в свободном и бесплатном GIMP-е с плагином GIMP DDS Plugin
.ogm
Файл, содержащий видео. Звуковая дорожка должна идти отдельно, в виде звукового файла формата ogg (см.ниже)
Редактируется через любой видео редактор при наличии экспорта в OGM. При отсутствии расширений конвертируется либо конвертерами, либо при помощи программы VirtualDub.
.ogg
Файл, содержащий звук.
Редактируется через любой звуковой редактор при установленном ogg-плагине.
.ogf
Файл, содержащий игровую модель.
Открывается с помощью OGF Viewer (сайт, скачать).
.spawn
Файл, хранящий данные о спавне.
Редактируется через программу xrSpawner (скачать).
Дополнительно
Также, советую ознакомится со статьей Empro.
Форматы игровых уровней
Практически все файлы x-ray используют такую структуру.
во-вторых, смотрите исходники x-ray game asset tools. ни разу не аутентичный источник, но более-менее проверен практикой.
в-третьих, несколько фраз по каждому файлу (по состоянию чн).
level.
IFF-секции верхнего уровня:
заголовок с версией xrLC и качеством сборки (high/draft/custom).
таблица пар текстура/engine shader.
побитая на кусочки и структурированная в виде дерева (-ьев, если есть разбиение на секторы) геометрия. вершин, индексов нет! только ссылки на level.geom/geomx.
порталы.
источники света (преимущественно для R1).
отблески (glow).
секторы.
level.cform
геометрия для просчёта коллизий. немного упрощая: в зависимости от параметров compiler shader берётся подмножество исходной геометрии карты, автоматически огрубляется и сохраняется как набор треугольников с идентификатором материала из gamemtl.xr.
level.details
трава. собственно модели травы/гаек и таблица ячеек. в каждой -- что растёт, как освещено.
level.env_mod
локальные модификаторы погоды.
level.fog_vol
объёмный туман. смотрите на dx10 подземку агропрома или пыр-ролики gsc.
level.game
пути и места появления игроков в MP. но в действительности пути берутся из all.spawn.
level.geom
в файле три корневые секции:
1) вершины (позиция, нормали, текстурные координаты и т.п.) в совершенно обычном для D3D9 формате. то есть про про SyncData забудьте, но смотрите D3DVERTEXELEMENT9, Vertex Declarations.
2) индексы. опять же, D3D9.
3) информация для плавной детализации геометрии (MU-модели). канонический для используемого алгоритма (SWPM) формат.
level.geomx какая-то избыточная информация для R2/R3. подробнее не знаю.
level.hom HOM уже сто раз разжевали, смотрите посты Сахарова и других.
level.ps_static системы частиц. мухи, пар из труб и т.д.
level.snd_static статические точечные источники звука. озвучка мух и т.п.
level.snd_env объёмные источники звука. смотрите янтарь в тч, например.
level.spawn тут всё понятно. игрой не учитывается -- ей важно содержимое соответствующей секции all.spawn.
level.wallmarks декали. кровавые пятна, эмблемы группировок на стенах и т.п. и снова не учитывается, так как декали вшиты в основную геометрию.
build.lights изначально источники света для xrLC. чн загружает оттуда секцию с hemi-освещением на r2/r3. зачем -- не знаю.
level.ai сетка навигации ИИ. разжёвано.
level.som геометрия для просчёта распространения звука. скажем, просмотр SOM-объектов в LE сразу выявит причину широко известных странностей с музыкой на l05_bar из тч.
Авторы
Статья создана: BAC9-FLCL
Редактирование: Pihan13