Raw file: различия между версиями
Arex (обсуждение | вклад) Нет описания правки |
GeloMor (обсуждение | вклад) Нет описания правки |
||
(не показано 18 промежуточных версий 5 участников) | |||
Строка 1: | Строка 1: | ||
[[File:raw_preview.png|240px|right]] | |||
'''Raw-файлы''' — это текстовые файлы, которые находятся в папках <code>[[Game folder|<Dwarf Fortress>]]\data\vanilla\</code> (используются при [[World generation|генерации мира]]) и в [[save|сейвах]] уже сформированных миров. Эти файлы можно просматривать, чтобы выяснить различные особенности предметов, материалов и существ, и можно редактировать для изменения поведения игры. Некоторые игроки называют их просто: "raw" или "равки". | |||
Папка '''\raw\graphics''' используется для хранения настраиваемых пользователем [[Тайлсеты|наборов графики]]. Папка '''raw/[[interaction examples]]''' содержит полезные примеры по моддингу, а файлы в ней полностью игнорируются игрой. | |||
Dwarf Fortress не является программой с открытым исходным кодом, поэтому её [[Руководство_по_модам|моддинг]] в основном ограничивается правкой raw-файлов или [[memory hacking|хаком]]. | |||
[[Duplicated raws|Дублирование raw-файлов]] может привести к ряду ошибок, и даже вылету. | |||
== Синтаксис raw-файлов == | |||
filename | |||
[OBJECT:TYPE] | |||
[TYPE:ID] | |||
<...contents...> | |||
ID — это уникальный идентификатор для выделения подклассов объектов (Например, [CREATURE:DOG], ID={{tt|DOG|собака}} or [ITEM:ITEM_WEAPON_SWORD], ID={{tt|ITEM_WEAPON_SWORD|предмет_оружие_меч}}). | |||
=== Типы содержимого === | |||
*[[Body token|BODY]] — части тела и их структура. | |||
*[[Body detail plan token|BODY_DETAIL_PLAN]] — подобно [[Creature variation token|CREATURE_VARIATION], но используется для приписания [[Token|токенов]], связанных с частями тела (особенно материалы, ткани, позиции частей тела и откуда они растут, относительные размеры и т.д.) | |||
*[[Building token|BUILDING]] — настройка [[Workshop|мастерских]] и плавилен. | |||
*[[Creature token|CREATURE]] — [[Creature|существа]]. | |||
*[[Creature variation token|CREATURE_VARIATION]] — изменения существ (как правило, создание [[Giant animal|гигантов]] или [[Animal people|антропоморфных]] существ). Технически, это наборы токенов, которые добавляются или удаляются из описания существа (в основном шаблонные изменения, вроде добавления пары рук). | |||
*[[Descriptor color token|DESCRIPTOR_COLOR]] (основной токен <code>[COLOR]</code>) — цвет для использования с [[Descriptor pattern token|DESCRIPTOR_PATTERN]] (другое назначение неизвестно). | |||
*[[Descriptor pattern token|DESCRIPTOR_PATTERN]] (основной токен <code>[COLOR_PATTERN]</code>) — шаблоны цветовых комбинаций для использования с существами. | |||
*[[Descriptor shape token|DESCRIPTOR_SHAPE]] (основной токен <code>[SHAPE]</code>) — описания форм. В прошлой версии использовались для гравюр, но в текущей использование не подтверждено. | |||
*[[Entity token|ENTITY]] — типы [[Civilization|цивилизаций]] (и не только, в общем смысле сообществ), с заданными расами, языком, культурой, этикой и социальной структурой. | |||
*[[Graphics|GRAPHICS]] — графические тайлы существ. В папке raw/objects отсутствуют. | |||
*[[Inorganic material definition token|INORGANIC]] — определения неорганических [[Material|материалов]]. | |||
*[[Item token|ITEM]] — [[Item|предметы]], от снарядов до еды, подвиды задаются с помощью [TYPE:ID]: | |||
**[[Ammo token|ITEM_AMMO]] — [[Ammo|боеприпасы]] для стрелков. | |||
**[[Armor token|ITEM_ARMOR]] — одежда на тело, включая [[Armor|броню]]. | |||
**ITEM_FOOD — описания приготовленной [[Food|пищи]]. | |||
**ITEM_GLOVES — одежда на руки (перчатки), включая броню. | |||
**ITEM_HELM — головные уборы, включая броню (шлемы). | |||
**[[Instrument token|ITEM_INSTRUMENT]] — описания [[Instrument|музыкальных инструментов]]. | |||
**ITEM_PANTS — одежда на ноги, включая броню. | |||
**ITEM_SHIELD — щиты. | |||
**ITEM_SHOES — обувь, включая броню. | |||
**ITEM_SIEGEAMMO — [[Siege ammo|снаряды для осадных орудий]] (пока только [[Ballista|баллиста]]). | |||
**[[Tool token|ITEM_TOOL]] — многоцелевые предметы, которые могут быть оружием, контейнером для [[weapon|пищи]] и проч. | |||
**ITEM_TOY — [[Toy|игрушки]]. | |||
**[[Trap component token|ITEM_TRAPCOMP]] — [[Trap component|компоненты]], которые можно использовать в оружейных ловушках (два специальных тега определяют компоненты, которые можно использовать в других конструкциях: {{token|IS_SCREW|trap}} и {{token|IS_SPIKE|trap}}). | |||
**[[Weapon token|ITEM_WEAPON]] — [[Weapon|оружие]], используемое солдатами, а также инструменты для [[Mining|копания]]. | |||
*[[Language token|LANGUAGE]] — определения слов, используемое для сообществ (ENTITY). | |||
**Записи, начинающиеся с [SYMBOL:ID] разделяют слова на символические/поэтические группы, чтобы потом сообщества могло ссылаться на них как на свои [[Preferences|предпочтения]]. | |||
**Записи, начинающиеся с [WORD:ID] определяют слова и их альтернативные формы (уже на английском). | |||
*[[Material token|MATERIAL_TEMPLATE]] — определяет [[Material science|свойства]], общие для группы материалов. | |||
*[[Plant token|PLANT]] — определения [[Plant|растений]], их материалов а также производных ([[Alcohol|алкоголь]], [[Seed|семена]] и т. д.) | |||
*[[Reactions|REACTION]] — реакции/рецепты для мастерских. | |||
*[[Tissue definition token|TISSUE_TEMPLATE]] — определение шаблонов тканей, для использования [[Body detail plan token|BODY_DETAIL_PLAN]] или существами. | |||
Обычно пустые строки используются для разделения различных типов структур, таких как имя файла и <code>[OBJECT:]</code> или другие записи, однако все, что не является токеном, кроме 1-й строки (которая является именем файла), понимается как комментарии и не рассматривается движком игры. | |||
Токены заключаются в квадратные скобки (<code>[ТОКЕН:Значения]</code>). | |||
При [[world generation|генерации мира]] raw-файлы перемещаются из <game folder>/raw/ в <game folder>/data/save/REGION/raw/. В настоящее время неизвестно, насколько сильно их можно изменять, не испортив при этом файл сохранения. | |||
Список токенов можно найти в статье [[Token]]. | |||
== Парсер == | |||
Последовательность, в которой 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 | |||
==Необходимые объекты== | |||
Хотя большинство raw-файлов можно заменить или удалить, некоторые из них содержат объекты, которые используются процедурно генерируемыми существами (такими как [[Forgotten beast|забытые твари]] и [[experiment|эксперименты]]). Для поддержки этих существ должны присутствовать объекты с перечисленными ниже идентификаторами. Приведённые имена файлов — это то место, где указанные объекты находятся по умолчанию, но само по себе место не важно, главное чтобы объекты имелись где-либо в raw-файлах, которые игра использует. Этот список был составлен путем изучения кода, который выдает различные сообщения об ошибках вида "Cannot generate random creatures -- missing *". | |||
material_template_default.txt: | |||
SKIN_TEMPLATE | |||
FAT_TEMPLATE | |||
MUSCLE_TEMPLATE | |||
SINEW_TEMPLATE | |||
BONE_TEMPLATE | |||
CARTILAGE_TEMPLATE | |||
HAIR_TEMPLATE | |||
FEATHER_TEMPLATE | |||
SCALE_TEMPLATE | |||
NAIL_TEMPLATE | |||
TOOTH_TEMPLATE | |||
EYE_TEMPLATE | |||
NERVE_TEMPLATE | |||
BRAIN_TEMPLATE | |||
LUNG_TEMPLATE | |||
HEART_TEMPLATE | |||
LIVER_TEMPLATE | |||
GUT_TEMPLATE | |||
STOMACH_TEMPLATE | |||
PANCREAS_TEMPLATE | |||
SPLEEN_TEMPLATE | |||
KIDNEY_TEMPLATE | |||
LEATHER_TEMPLATE | |||
HORN_TEMPLATE | |||
PEARL_TEMPLATE | |||
SILK_TEMPLATE | |||
BLOOD_TEMPLATE | |||
ICHOR_TEMPLATE | |||
GOO_TEMPLATE | |||
SLIME_TEMPLATE | |||
SHELL_TEMPLATE | |||
SOAP_TEMPLATE | |||
TALLOW_TEMPLATE | |||
CHITIN_TEMPLATE | |||
MILK_TEMPLATE | |||
CREATURE_CHEESE_TEMPLATE | |||
STRUCTURAL_PLANT_TEMPLATE | |||
SEED_TEMPLATE | |||
LEAF_TEMPLATE | |||
THREAD_PLANT_TEMPLATE | |||
PLANT_ALCOHOL_TEMPLATE | |||
PLANT_POWDER_TEMPLATE | |||
PLANT_EXTRACT_TEMPLATE | |||
CREATURE_EXTRACT_TEMPLATE | |||
FLAME_TEMPLATE | |||
tissue_template_default.txt: | |||
SKIN_TEMPLATE | |||
FAT_TEMPLATE | |||
MUSCLE_TEMPLATE | |||
BONE_TEMPLATE | |||
SHELL_TEMPLATE | |||
HORN_TEMPLATE | |||
CARTILAGE_TEMPLATE | |||
HAIR_TEMPLATE | |||
CHEEK_WHISKERS_TEMPLATE | |||
CHIN_WHISKERS_TEMPLATE | |||
MOUSTACHE_TEMPLATE | |||
SIDEBURNS_TEMPLATE | |||
EYEBROW_TEMPLATE | |||
EYELASH_TEMPLATE | |||
FEATHER_TEMPLATE | |||
SCALE_TEMPLATE | |||
NAIL_TEMPLATE | |||
CLAW_TEMPLATE | |||
TALON_TEMPLATE | |||
TOOTH_TEMPLATE | |||
EYE_TEMPLATE | |||
NERVE_TEMPLATE | |||
BRAIN_TEMPLATE | |||
LUNG_TEMPLATE | |||
HEART_TEMPLATE | |||
LIVER_TEMPLATE | |||
GUT_TEMPLATE | |||
STOMACH_TEMPLATE | |||
PANCREAS_TEMPLATE | |||
SPLEEN_TEMPLATE | |||
KIDNEY_TEMPLATE | |||
FLAME_TEMPLATE | |||
b_detail_plan_default.txt: | |||
STANDARD_MATERIALS | |||
STANDARD_TISSUES | |||
CHITIN_MATERIALS | |||
CHITIN_TISSUES | |||
FACIAL_HAIR_TISSUES | |||
HEAD_HAIR_TISSUE_LAYERS | |||
FACIAL_HAIR_TISSUE_LAYERS | |||
BODY_HAIR_TISSUE_LAYERS | |||
BODY_FEATHER_TISSUE_LAYERS | |||
VERTEBRATE_TISSUE_LAYERS | |||
EXOSKELETON_TISSUE_LAYERS | |||
STANDARD_HEAD_POSITIONS | |||
HUMANOID_HEAD_POSITIONS | |||
HUMANOID_RIBCAGE_POSITIONS | |||
SHELL_POSITIONS | |||
HUMANOID_RELSIZES | |||
c_variation_default.txt: | |||
STANDARD_BIPED_GAITS | |||
STANDARD_QUADRUPED_GAITS | |||
STANDARD_WALKING_GAITS | |||
STANDARD_CLIMBING_GAITS | |||
STANDARD_SWIMMING_GAITS | |||
STANDARD_CRAWLING_GAITS | |||
STANDARD_FLYING_GAITS | |||
STANDARD_WALK_CRAWL_GAITS | |||
body_rcp.txt: | |||
RCP_BASIC_BODY | |||
RCP_BASIC_BODY_STANCE | |||
RCP_BASIC_BODY_STANCE_WITH_HEAD_FLAG | |||
RCP_UPPER_BODY | |||
RCP_LOWER_BODY | |||
RCP_THORAX | |||
RCP_ABDOMEN | |||
RCP_CEPHALOTHORAX | |||
RCP_HEAD | |||
RCP_NECK | |||
RCP_TWO_PART_ARMS | |||
RCP_PINCERS | |||
RCP_CLAW_ARMS | |||
RCP_FIRST_SIMPLE_LEGS | |||
RCP_FIRST_SIMPLE_LEGS_GRASP | |||
RCP_SECOND_SIMPLE_LEGS | |||
RCP_THIRD_SIMPLE_LEGS | |||
RCP_FOURTH_SIMPLE_LEGS | |||
RCP_FIFTH_SIMPLE_LEGS | |||
RCP_SIMPLE_FRONT_LEGS | |||
RCP_SIMPLE_FRONT_LEGS_GRASP | |||
RCP_SIMPLE_REAR_LEGS | |||
RCP_TWO_PART_LEGS | |||
RCP_FRONT_FLIPPER | |||
RCP_REAR_FLIPPER | |||
RCP_TWO_FLIGHTLESS_WINGS | |||
RCP_TWO_WINGS | |||
RCP_TAIL | |||
RCP_2_TAILS | |||
RCP_3_TAILS | |||
RCP_TAIL_STINGER | |||
RCP_LOWER_BODY_STINGER | |||
RCP_PROBOSCIS | |||
RCP_TRUNK | |||
RCP_SHELL | |||
RCP_ANTENNAE | |||
RCP_1_HEAD_HORN | |||
RCP_2_HEAD_HORNS | |||
RCP_3_HEAD_HORNS | |||
RCP_4_HEAD_HORNS | |||
RCP_LARGE_MANDIBLES | |||
RCP_5_FINGERS | |||
RCP_4_FINGERS | |||
RCP_3_FINGERS | |||
RCP_2_FINGERS | |||
RCP_5_TOES | |||
RCP_4_TOES | |||
RCP_3_TOES | |||
RCP_2_TOES | |||
RCP_5_FRONT_TOES | |||
RCP_4_FRONT_TOES | |||
RCP_3_FRONT_TOES | |||
RCP_2_FRONT_TOES | |||
RCP_5_REAR_TOES | |||
RCP_4_REAR_TOES | |||
RCP_3_REAR_TOES | |||
RCP_2_REAR_TOES | |||
RCP_1_EYE | |||
RCP_2_EYES | |||
RCP_3_EYES | |||
RCP_BEAK | |||
RCP_NOSE | |||
RCP_CHEEKS | |||
RCP_LUNGS | |||
RCP_HEART | |||
RCP_GUTS | |||
RCP_THROAT | |||
RCP_SPINE | |||
RCP_UPPER_SPINE | |||
RCP_BRAIN | |||
RCP_SKULL | |||
RCP_MOUTH | |||
RCP_TEETH | |||
RCP_RIBS | |||
RCP_RIBS_EXTERNAL | |||
RCP_LIPS | |||
RCP_1_EYELID | |||
RCP_2_EYELIDS | |||
RCP_3_EYELIDS | |||
RCP_GLOSS_HOOF | |||
RCP_GLOSS_PAW | |||
RCP_5_FRONT_FINGERS* | |||
RCP_4_FRONT_FINGERS* | |||
RCP_3_FRONT_FINGERS* | |||
RCP_2_FRONT_FINGERS* | |||
RCP_TONGUE* | |||
: * - Игра не проверяет наличие этих объектов, но все равно будет пытаться их использовать (и выдаст ошибку, если они отсутствуют). | |||
Объекты RCP_FORKED_TONGUE, RCP_BILL и RCP_2_HEAD_ANTLERS в настоящее время '''не''' используются игрой и спокойно могут быть удалены. | |||
==Примеры== | |||
*[[Creature_examples|Примеры существ]] | |||
*[[Interaction_examples|Примеры интеракций]] | |||
*[[Reaction_examples|Примеры реакций]] | |||
*[[Syndrome_examples|Примеры синдромов]] | |||
[[Category:Файлы]] | |||
[[Категория:Моддинг]] | |||
[[en:Raw_file]] |
Текущая версия от 07:05, 24 декабря 2022
Raw-файлы — это текстовые файлы, которые находятся в папках <Dwarf Fortress>\data\vanilla\
(используются при генерации мира) и в сейвах уже сформированных миров. Эти файлы можно просматривать, чтобы выяснить различные особенности предметов, материалов и существ, и можно редактировать для изменения поведения игры. Некоторые игроки называют их просто: "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]:
- ITEM_AMMO — боеприпасы для стрелков.
- ITEM_ARMOR — одежда на тело, включая броню.
- ITEM_FOOD — описания приготовленной пищи.
- ITEM_GLOVES — одежда на руки (перчатки), включая броню.
- ITEM_HELM — головные уборы, включая броню (шлемы).
- ITEM_INSTRUMENT — описания музыкальных инструментов.
- ITEM_PANTS — одежда на ноги, включая броню.
- ITEM_SHIELD — щиты.
- ITEM_SHOES — обувь, включая броню.
- ITEM_SIEGEAMMO — снаряды для осадных орудий (пока только баллиста).
- ITEM_TOOL — многоцелевые предметы, которые могут быть оружием, контейнером для пищи и проч.
- ITEM_TOY — игрушки.
- ITEM_TRAPCOMP — компоненты, которые можно использовать в оружейных ловушках (два специальных тега определяют компоненты, которые можно использовать в других конструкциях:
[IS_SCREW]
и[IS_SPIKE]
). - ITEM_WEAPON — оружие, используемое солдатами, а также инструменты для копания.
- 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
Необходимые объекты
Хотя большинство raw-файлов можно заменить или удалить, некоторые из них содержат объекты, которые используются процедурно генерируемыми существами (такими как забытые твари и эксперименты). Для поддержки этих существ должны присутствовать объекты с перечисленными ниже идентификаторами. Приведённые имена файлов — это то место, где указанные объекты находятся по умолчанию, но само по себе место не важно, главное чтобы объекты имелись где-либо в raw-файлах, которые игра использует. Этот список был составлен путем изучения кода, который выдает различные сообщения об ошибках вида "Cannot generate random creatures -- missing *".
material_template_default.txt:
SKIN_TEMPLATE FAT_TEMPLATE MUSCLE_TEMPLATE SINEW_TEMPLATE BONE_TEMPLATE CARTILAGE_TEMPLATE HAIR_TEMPLATE FEATHER_TEMPLATE SCALE_TEMPLATE NAIL_TEMPLATE TOOTH_TEMPLATE EYE_TEMPLATE NERVE_TEMPLATE BRAIN_TEMPLATE LUNG_TEMPLATE HEART_TEMPLATE LIVER_TEMPLATE GUT_TEMPLATE STOMACH_TEMPLATE PANCREAS_TEMPLATE SPLEEN_TEMPLATE KIDNEY_TEMPLATE LEATHER_TEMPLATE HORN_TEMPLATE PEARL_TEMPLATE SILK_TEMPLATE BLOOD_TEMPLATE ICHOR_TEMPLATE GOO_TEMPLATE SLIME_TEMPLATE SHELL_TEMPLATE SOAP_TEMPLATE TALLOW_TEMPLATE CHITIN_TEMPLATE MILK_TEMPLATE CREATURE_CHEESE_TEMPLATE STRUCTURAL_PLANT_TEMPLATE SEED_TEMPLATE LEAF_TEMPLATE THREAD_PLANT_TEMPLATE PLANT_ALCOHOL_TEMPLATE PLANT_POWDER_TEMPLATE PLANT_EXTRACT_TEMPLATE CREATURE_EXTRACT_TEMPLATE FLAME_TEMPLATE
tissue_template_default.txt:
SKIN_TEMPLATE FAT_TEMPLATE MUSCLE_TEMPLATE BONE_TEMPLATE SHELL_TEMPLATE HORN_TEMPLATE CARTILAGE_TEMPLATE HAIR_TEMPLATE CHEEK_WHISKERS_TEMPLATE CHIN_WHISKERS_TEMPLATE MOUSTACHE_TEMPLATE SIDEBURNS_TEMPLATE EYEBROW_TEMPLATE EYELASH_TEMPLATE FEATHER_TEMPLATE SCALE_TEMPLATE NAIL_TEMPLATE CLAW_TEMPLATE TALON_TEMPLATE TOOTH_TEMPLATE EYE_TEMPLATE NERVE_TEMPLATE BRAIN_TEMPLATE LUNG_TEMPLATE HEART_TEMPLATE LIVER_TEMPLATE GUT_TEMPLATE STOMACH_TEMPLATE PANCREAS_TEMPLATE SPLEEN_TEMPLATE KIDNEY_TEMPLATE FLAME_TEMPLATE
b_detail_plan_default.txt:
STANDARD_MATERIALS STANDARD_TISSUES CHITIN_MATERIALS CHITIN_TISSUES FACIAL_HAIR_TISSUES HEAD_HAIR_TISSUE_LAYERS FACIAL_HAIR_TISSUE_LAYERS BODY_HAIR_TISSUE_LAYERS BODY_FEATHER_TISSUE_LAYERS VERTEBRATE_TISSUE_LAYERS EXOSKELETON_TISSUE_LAYERS STANDARD_HEAD_POSITIONS HUMANOID_HEAD_POSITIONS HUMANOID_RIBCAGE_POSITIONS SHELL_POSITIONS HUMANOID_RELSIZES
c_variation_default.txt:
STANDARD_BIPED_GAITS STANDARD_QUADRUPED_GAITS STANDARD_WALKING_GAITS STANDARD_CLIMBING_GAITS STANDARD_SWIMMING_GAITS STANDARD_CRAWLING_GAITS STANDARD_FLYING_GAITS STANDARD_WALK_CRAWL_GAITS
body_rcp.txt:
RCP_BASIC_BODY RCP_BASIC_BODY_STANCE RCP_BASIC_BODY_STANCE_WITH_HEAD_FLAG RCP_UPPER_BODY RCP_LOWER_BODY RCP_THORAX RCP_ABDOMEN RCP_CEPHALOTHORAX RCP_HEAD RCP_NECK RCP_TWO_PART_ARMS RCP_PINCERS RCP_CLAW_ARMS RCP_FIRST_SIMPLE_LEGS RCP_FIRST_SIMPLE_LEGS_GRASP RCP_SECOND_SIMPLE_LEGS RCP_THIRD_SIMPLE_LEGS RCP_FOURTH_SIMPLE_LEGS RCP_FIFTH_SIMPLE_LEGS RCP_SIMPLE_FRONT_LEGS RCP_SIMPLE_FRONT_LEGS_GRASP RCP_SIMPLE_REAR_LEGS RCP_TWO_PART_LEGS RCP_FRONT_FLIPPER RCP_REAR_FLIPPER RCP_TWO_FLIGHTLESS_WINGS RCP_TWO_WINGS RCP_TAIL RCP_2_TAILS RCP_3_TAILS RCP_TAIL_STINGER RCP_LOWER_BODY_STINGER RCP_PROBOSCIS RCP_TRUNK RCP_SHELL RCP_ANTENNAE RCP_1_HEAD_HORN RCP_2_HEAD_HORNS RCP_3_HEAD_HORNS RCP_4_HEAD_HORNS RCP_LARGE_MANDIBLES RCP_5_FINGERS RCP_4_FINGERS RCP_3_FINGERS RCP_2_FINGERS RCP_5_TOES RCP_4_TOES RCP_3_TOES RCP_2_TOES RCP_5_FRONT_TOES RCP_4_FRONT_TOES RCP_3_FRONT_TOES RCP_2_FRONT_TOES RCP_5_REAR_TOES RCP_4_REAR_TOES RCP_3_REAR_TOES RCP_2_REAR_TOES RCP_1_EYE RCP_2_EYES RCP_3_EYES RCP_BEAK RCP_NOSE RCP_CHEEKS RCP_LUNGS RCP_HEART RCP_GUTS RCP_THROAT RCP_SPINE RCP_UPPER_SPINE RCP_BRAIN RCP_SKULL RCP_MOUTH RCP_TEETH RCP_RIBS RCP_RIBS_EXTERNAL RCP_LIPS RCP_1_EYELID RCP_2_EYELIDS RCP_3_EYELIDS RCP_GLOSS_HOOF RCP_GLOSS_PAW RCP_5_FRONT_FINGERS* RCP_4_FRONT_FINGERS* RCP_3_FRONT_FINGERS* RCP_2_FRONT_FINGERS* RCP_TONGUE*
- * - Игра не проверяет наличие этих объектов, но все равно будет пытаться их использовать (и выдаст ошибку, если они отсутствуют).
Объекты RCP_FORKED_TONGUE, RCP_BILL и RCP_2_HEAD_ANTLERS в настоящее время не используются игрой и спокойно могут быть удалены.