Skyrim CK:Формат файлов модов
| Этот материал нуждается в переводе или допереводе.. Вы можете помочь перевести его. Не забывайте предварительно добавлять строку {{Edit|--~~~~}} в материалы над которыми работаете, чтобы не создавать конфликта правок. Пожалуйста, снимите шаблон этого сообщения, когда материал будет вычитан. |
|
Все данные в мастер-файлах *.esm и плагинах *.esp разбиты на блоки.
Каждый блок обязательно включает в себя поле, в котором указаны:
- тип блока,
- поле, содержащее значение длины поля данных в байтах,
- и, собственно, само поле данных.
Различные типы блоков могут включать в себя также и другие поля.
Все блоки можно разделить на три основных типа:
Файл плагина на самом высоком уровне группировки содержит (в начале файла):
Типы записей
|
|
|
|
Группы
GRUP - Группы (Groups) - одни из основных типов блоков в файлах данных Скайрима (а также Обливиона).
Они служат для группирования записей одного типа, а также для создания иерархии в таких типах, как миры (WRLD), ячейки (CELL) и диалоги (DIAL).
| Имя | Тип | Размер, байт |
Комментарий | ||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| type | char[4] | 4 | Всегда "GRUP" | ||||||||||||||||||||||||||||||||||||||||||||||||
| groupSize | ulong | 4 | Размер поля данных, включая заголовок группы (24 байта).
| ||||||||||||||||||||||||||||||||||||||||||||||||
| label | ubyte[4] | 4 | Метка. Зависит от конкретного типа группы. | ||||||||||||||||||||||||||||||||||||||||||||||||
| groupType | long | 4 | Тип группы...
| ||||||||||||||||||||||||||||||||||||||||||||||||
| stamp | ulong | 4 | Метка времени, по-видимому указывает на дату последнего внесения изменений в файл. Время в формате MS-DOS (нуждается в подтверждении). | ||||||||||||||||||||||||||||||||||||||||||||||||
| version | ushort | 2 | |||||||||||||||||||||||||||||||||||||||||||||||||
| unknown | ushort | 2 | Назначение этого поля неизвестно |
Группируемые записи
Далее приведены типы записей, которые объединены в группы в таком порядке, в котором они размещены в майстер-файле Skyrim.esm.
- GMST, KYWD, LCRT, AACT, TXST, GLOB, CLAS, FACT, HDPT, HAIR, EYES, RACE, SOUN, ASPC, MGEF, SCPT, LTEX, ENCH, SPEL, SCRL, ACTI, TACT, ARMO, BOOK, CONT, DOOR, INGR, LIGH, MISC, APPA, STAT, SCOL, MSTT, PWAT, GRAS, TREE, CLDC, FLOR, FURN, WEAP, AMMO, NPC_, LVLN, KEYM, ALCH, IDLM, COBJ, PROJ, HAZD, SLGM, LVLI, WTHR, CLMT, SPGD, RFCT, REGN, NAVI, CELL, WRLD, DIAL, QUST, IDLE, PACK, CSTY, LSCR, LVSP, ANIO, WATR, EFSH, EXPL, DEBR, IMGS, IMAD, FLST, PERK, BPTD, ADDN, AVIF, CAMS, CPTH, VTYP, MATT, IPCT, IPDS, ARMA, ECZN, LCTN, MESG, RGDL, DOBJ, LGTM, MUSC, FSTP, FSTS, SMBN, SMQN, SMEN, DLBR, MUST, DLVW, WOOP, SHOU, EQUP, RELA, SCEN, ASTP, OTFT, ARTO, MATO, MOVT, HAZD, SNDR, DUAL, SNCT, SOPM, COLL, CLFM, REVB
Достоверно неизвестно, требует ли игровой движок точно такой же последовательности групп в плагинах, но, том не менее, мы рекомендуем его придерживаться.
Все группы содержат записи типа, соответствующего их метке (т.е., группа с меткой GMST содержит записи типа GMST и т.д., соответственно).
В подавляющем большинстве групп верхнего уровня присутствуют ТОЛЬКО соответствующие типы записей. Тем не менее, в таких типах групп как CELL, WRLD и DIAL в каждой основной записи могут следовать одна или несколько дочерних подгрупп, содержащих дополнительные записи другого типа. В отличии от Обливиона, группы записей типа WRLD больше не содержат записей типа ROAD.
Группы следующих записей могут находится только в подгруппах других записей:
Следующие шесть типов записей имеют пустое поле GRUP:
Записи
| Имя | Тип / Размер | Что означает | ||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| type | char[4] | Тип - четырёхсимвольный код, указывающий на тип записи. | ||||||||||||||||||||||||
| dataSize | ulong | Размер поля данных. | ||||||||||||||||||||||||
| flags | ulong | Флаги...
| ||||||||||||||||||||||||
| formID | ulong | Идентификатор записи (формы).
| ||||||||||||||||||||||||
| revision | ulong | Используется для контроля версий редактором плагинов (если данная опция включена)
| ||||||||||||||||||||||||
| version | ushort | |||||||||||||||||||||||||
| unknown | ushort | Назначение этого поля неизвестно | ||||||||||||||||||||||||
| data | ubyte[dataSize] | Данные
Для декомпрессии данных используется ZLIB. |
Подзаписи
Подзаписи замыкают цепочку иерархии типов блоков, но, тем не менее, они являются основными носителями информации в файле.
| Имя | Тип / Размер | Что означает |
|---|---|---|
| type | char[4] | Тип - четырёхсимвольный код, указывающий на тип подзаписи. |
| dataSize | ushort | Размер поля данных.
|
| data | ubyte[dataSize] | Поле данных.
|
Наиболее распространённые типы подзаписей
Заметки
- See Raw Data for a dump of all records/subrecords in Skyrim.esm and their associated counts/sizes.
- See Raw Function Data for a dump of all script/console functions and events in TESV.exe.