Raw file: различия между версиями

Материал из Dwarf Fortress Wiki
Перейти к навигацииПерейти к поиску
Строка 62: Строка 62:


== Парсер ==
== Парсер ==
Последовательность, в которой DF считывает raw-файлы определяется первой строкой raw-файла (там не обязательно имя файла). Последовательность считывания важна для такого рода тегов, как [COPY_TAGS_FROM], но не для большинтсва других.
Последовательность, в которой DF считывает raw-файлы определяется первой строкой raw-файла (там не обязательно имя файла). Последовательность считывания важна для такого рода токенах, как {{token|COPY_TAGS_FROM|c}}, но не для большинства других.  
 
Названия raw-файлов совершенно не важны — когда вы создаете новое существо, вы можете поместить его в любой файл, куда захотите (или даже в совершенно новый файл), и игра будет работать как обычно. Вы даже можете переименовать все существующие raw-файлы, и игре все равно будет все равно (если, конечно, вы сначала сгенерируете новый мир).
 
Порядок загрузки (установленный путем регистрации активности файлов игра на версии [[0.44.09]] в Windows 10) следует следующему шаблону:
 
language_*
descriptor_shape_*
descriptor_color_*
descriptor_pattern_*
material_template_*
inorganic_*
plant_*
tissue_template_*
item_*
building_*
b_detail_plan_*
body_*
c_variation_*
creature_*
entity_*
reaction_*
interaction_*
 
Таким образом, по умолчанию игра версии 0.44.09 загружает raw-файлы в следующем порядке:
 
language_DWARF.txt
language_ELF.txt
language_GOBLIN.txt
language_HUMAN.txt
language_SYM.txt
language_words.txt
descriptor_shape_standard.txt
descriptor_color_standard.txt
descriptor_pattern_iris_eye.txt
descriptor_pattern_pupil_eye.txt
descriptor_pattern_special.txt
material_template_default.txt
inorganic_metal.txt
inorganic_other.txt
inorganic_stone_gem.txt
inorganic_stone_layer.txt
inorganic_stone_mineral.txt
inorganic_stone_soil.txt
plant_crops.txt
plant_garden.txt
plant_grasses.txt
plant_new_trees.txt
plant_standard.txt
tissue_template_default.txt
item_ammo.txt
item_armor.txt
item_food.txt
item_gloves.txt
item_helm.txt
item_pants.txt
item_shield.txt
item_shoes.txt
item_siegeammo.txt
item_tool.txt
item_toy.txt
item_trapcomp.txt
item_weapon.txt
building_custom.txt
b_detail_plan_default.txt
body_default.txt
body_rcp.txt
c_variation_default.txt
creature_amphibians.txt
creature_annelids.txt
creature_birds.txt
creature_birds_new.txt
creature_bug_slug_new.txt
creature_desert_new.txt
creature_domestic.txt
creature_equipment.txt
creature_fanciful.txt
creature_insects.txt
creature_large_mountain.txt
creature_large_ocean.txt
creature_large_riverlake.txt
creature_large_temperate.txt
creature_large_tropical.txt
creature_large_tundra.txt
creature_mountain_new.txt
creature_next_underground.txt
creature_ocean_new.txt
creature_other.txt
creature_reptiles.txt
creature_riverlakepool_new.txt
creature_small_mammals.txt
creature_small_mammal_new.txt
creature_small_ocean.txt
creature_small_riverlake.txt
creature_standard.txt
creature_subterranean.txt
creature_temperate_new.txt
creature_tropical_new.txt
creature_tundra_taiga_new.txt
entity_default.txt
reaction_adv_carpenter.txt
reaction_other.txt
reaction_smelter.txt
interaction_standard.txt


[[Category:Файлы]]
[[Category:Файлы]]
[[Категория:Моддинг]]
[[Категория:Моддинг]]
[[en:Raw_file]]
[[en:Raw_file]]

Версия от 21:31, 11 августа 2021

Raw-файлы — это текстовые файлы, которые находятся в папках \raw\objects (используются при генерации мира) и в сейвах (\data\save\<region-name>\raw\objects) уже сформированных миров. Эти файлы можно просматривать, чтобы выяснить различные особенности предметов, материалов и существ, и можно редактировать для изменения поведения игры. Некоторые игроки называют их просто: "raw" или "равки".

Папка \raw\graphics используется для хранения настраиваемых пользователем наборов графики. Папка raw/interaction examples содержит полезные примеры по моддингу, а файлы в ней полностью игнорируются игрой.

Dwarf Fortress не является программой с открытым исходным кодом, поэтому её моддинг в основном ограничивается правкой raw-файлов или хаком.

Дублирование raw-файлов может привести к ряду ошибок, и даже вылету.

Синтаксис raw-файлов

filename

[OBJECT:TYPE]

[TYPE:ID] 
<...contents...>

ID — это уникальный идентификатор для выделения подклассов объектов (Например, [CREATURE:DOG], ID=DOG or [ITEM:ITEM_WEAPON_SWORD], ID=ITEM_WEAPON_SWORD).

Типы содержимого

  • BODY — части тела и их структура.
  • BODY_DETAIL_PLAN — подобно [[Creature variation token|CREATURE_VARIATION], но используется для приписания токенов, связанных с частями тела (особенно материалы, ткани, позиции частей тела и откуда они растут, относительные размеры и т.д.)
  • BUILDING — настройка мастерских и плавилен.
  • CREATUREсущества.
  • CREATURE_VARIATION — изменения существ (как правило, создание гигантов или антропоморфных существ). Технически, это наборы токенов, которые добавляются или удаляются из описания существа (в основном шаблонные изменения, вроде добавления пары рук).
  • DESCRIPTOR_COLOR (основной токен [COLOR]) — цвет для использования с DESCRIPTOR_PATTERN (другое назначение неизвестно).
  • DESCRIPTOR_PATTERN (основной токен [COLOR_PATTERN]) — шаблоны цветовых комбинаций для использования с существами.
  • DESCRIPTOR_SHAPE (основной токен [SHAPE]) — описания форм. В прошлой версии использовались для гравюр, но в текущей использование не подтверждено.
  • ENTITY — типы цивилизаций (и не только, в общем смысле сообществ), с заданными расами, языком, культурой, этикой и социальной структурой.
  • GRAPHICS — графические тайлы существ. В папке raw/objects отсутствуют.
  • INORGANIC — определения неорганических материалов.
  • ITEMпредметы, от снарядов до еды, подвиды задаются с помощью [TYPE:ID]:
  • LANGUAGE — определения слов, используемое для сообществ (ENTITY).
    • Записи, начинающиеся с [SYMBOL:ID] разделяют слова на символические/поэтические группы, чтобы потом сообщества могло ссылаться на них как на свои предпочтения.
    • Записи, начинающиеся с [WORD:ID] определяют слова и их альтернативные формы (уже на английском).
  • MATERIAL_TEMPLATE — определяет свойства, общие для группы материалов.
  • PLANT — определения растений, их материалов а также производных (алкоголь, семена и т. д.)
  • REACTION — реакции/рецепты для мастерских.
  • TISSUE_TEMPLATE — определение шаблонов тканей, для использования BODY_DETAIL_PLAN или существами.

Обычно пустые строки используются для разделения различных типов структур, таких как имя файла и [OBJECT:] или другие записи, однако все, что не является токеном, кроме 1-й строки (которая является именем файла), понимается как комментарии и не рассматривается движком игры.

Токены заключаются в квадратные скобки ([ТОКЕН:Значения]).

При генерации мира raw-файлы перемещаются из <game folder>/raw/ в <game folder>/data/save/REGION/raw/. В настоящее время неизвестно, насколько сильно их можно изменять, не испортив при этом файл сохранения.

Список токенов можно найти в статье Token.

Парсер

Последовательность, в которой DF считывает raw-файлы определяется первой строкой raw-файла (там не обязательно имя файла). Последовательность считывания важна для такого рода токенах, как [COPY_TAGS_FROM], но не для большинства других.

Названия raw-файлов совершенно не важны — когда вы создаете новое существо, вы можете поместить его в любой файл, куда захотите (или даже в совершенно новый файл), и игра будет работать как обычно. Вы даже можете переименовать все существующие raw-файлы, и игре все равно будет все равно (если, конечно, вы сначала сгенерируете новый мир).

Порядок загрузки (установленный путем регистрации активности файлов игра на версии 0.44.09 в Windows 10) следует следующему шаблону:

language_*
descriptor_shape_*
descriptor_color_*
descriptor_pattern_*
material_template_*
inorganic_*
plant_*
tissue_template_*
item_*
building_*
b_detail_plan_*
body_*
c_variation_*
creature_*
entity_*
reaction_*
interaction_*

Таким образом, по умолчанию игра версии 0.44.09 загружает raw-файлы в следующем порядке:

language_DWARF.txt
language_ELF.txt
language_GOBLIN.txt
language_HUMAN.txt
language_SYM.txt
language_words.txt
descriptor_shape_standard.txt
descriptor_color_standard.txt
descriptor_pattern_iris_eye.txt
descriptor_pattern_pupil_eye.txt
descriptor_pattern_special.txt
material_template_default.txt
inorganic_metal.txt
inorganic_other.txt
inorganic_stone_gem.txt
inorganic_stone_layer.txt
inorganic_stone_mineral.txt
inorganic_stone_soil.txt
plant_crops.txt
plant_garden.txt
plant_grasses.txt
plant_new_trees.txt
plant_standard.txt
tissue_template_default.txt
item_ammo.txt
item_armor.txt
item_food.txt
item_gloves.txt
item_helm.txt
item_pants.txt
item_shield.txt
item_shoes.txt
item_siegeammo.txt
item_tool.txt
item_toy.txt
item_trapcomp.txt
item_weapon.txt
building_custom.txt
b_detail_plan_default.txt
body_default.txt
body_rcp.txt
c_variation_default.txt
creature_amphibians.txt
creature_annelids.txt
creature_birds.txt
creature_birds_new.txt
creature_bug_slug_new.txt
creature_desert_new.txt
creature_domestic.txt
creature_equipment.txt
creature_fanciful.txt
creature_insects.txt
creature_large_mountain.txt
creature_large_ocean.txt
creature_large_riverlake.txt
creature_large_temperate.txt
creature_large_tropical.txt
creature_large_tundra.txt
creature_mountain_new.txt
creature_next_underground.txt
creature_ocean_new.txt
creature_other.txt
creature_reptiles.txt
creature_riverlakepool_new.txt
creature_small_mammals.txt
creature_small_mammal_new.txt
creature_small_ocean.txt
creature_small_riverlake.txt
creature_standard.txt
creature_subterranean.txt
creature_temperate_new.txt
creature_tropical_new.txt
creature_tundra_taiga_new.txt
entity_default.txt
reaction_adv_carpenter.txt
reaction_other.txt
reaction_smelter.txt
interaction_standard.txt