Перевод модов (часть 1)

Перевод модов (часть 1)

LazyElfiyko

Приветствую!

Если вы хотите научиться переводить моды для нашей любимой игры, то я могу только похвалить за такое рвение! Однако хочу предупредить: перевод модов, впрочем, как и их создание – занятие для сильных духом, требующее много времени и терпения. Увы, так сложилось, что файлы игры поддерживают исключительно английский язык, и чтобы заставить игру отображать текст на русском, придётся овладеть магией крови, целой кучей программ и побыть в роли не только переводчика, но и модмейкера, потрошащего игровые файлы на мелкие кусочки. В статье вас ждут всевозможные подводные камни, куча скриншотов и целые простыни текста. Поехали!


Оглавление


Введение

Если вы совсем-совсем новичок и не знаете, какие виды модов бывают, как всё устроено в игре, то советую ознакомиться с этими двумя статьями:

О модах и их установке.

Структура dazip-файлов.

Вторая статья особенно пригодится, если вы хотите перевести мод, который устанавливается в папку override. Потому что сначала вам придётся воссоздать этот мод в формате *.dazip.


Типы файлов

Прежде чем приступить к переводу, нужно выяснить, какие файлы может содержать мод, за что они отвечают и какие из них надо переводить.

• *.erf – игровой архив, в который запаковываются прочие игровые файлы.

• *.rim – игровой архив, точно такой же, как и *.erf, однако файлы, запакованные в этот архив, будут подгружаться игрой быстрее остальных. В модах вы, скорее всего, такой архив не встретите, но в папках игры – вполне.


• *.ani – файл анимации. Переводить не надо.

• *.are – файл локации. Содержит названия локации и меток на карте (последнее – не всегда). Переводить надо.

• *.cif – информационный файл модуля (мода). Дополнение к файлу manifest.xml, содержит такое же название и описание мода, как в манифесте. Переводить надо.

• *.cut и *.cub – файлы кат-сцен. Кат-сцены – это заранее прописанные сцены, на которые вы не можете хоть как-то повлиять (не путать с кинематографическими роликами!). Файл *.cub содержит техническую информацию о кат-сцене, поэтому переводить его не надо, а файл *.cut может содержать текст, если в кат-сцене персонажам или предметам он прописан. Переводить надо в 50% случаев.

• *.dds и *.tga – файлы текстур. Переводить не надо, если только на текстуре нет надписей, которые можно перевести на русский и перерисовать в графическом редакторе.

• *.dlg – файл диалога. Содержит фразы персонажей и/или Стража. Переводить надо.

• *.dlb – вспомогательный файл к файлу *.dlg, содержит дерево анимаций диалога, с которым связан. Переводить не надо.

• *.fev, *.fsb, *.seq – файлы музыки или озвучки. О том, как переозвучить моды, рассказано здесь.

• *.fxe, *.fxm – файлы лицевой анимации. Переводить не надо.

• *.gda – скомпилированный файл таблицы 2DA. Содержит техническую информацию игры: значения (параметры) способностей, навыков, врагов, награды за задания и т.д. Почти никогда не подлежит переводу. Подробности дальше.

• *.lst – дополнительный файл локации к файлу *.are, содержит теги локаций. Переводить не надо.

• *.mao – файл материала модели. Работает это так: названия всех текстур прописываются в файл *.mao, а название *.mao в файл модели (*.mmh). Таким способом текстуры привязываются к модели. Переводить не надо.

• *.mmh, *.msh, *.phy, *.met – файлы 3D-модели. Причёска, броня, оружие, стены, мосты и т. д. Переводить не надо.

• *.mor и *.mop – скомпилированные файлы лиц персонажей. Переводить не надо.

• *.mrh – исходные файлы лиц персонажей. Переводить не надо.

• *.ncs и *.nss – файлы скриптов. Первый (*.ncs) – скомпилированный вариант, его никак нельзя просмотреть или отредактировать. Второй (*.nss) – исходный вариант. При желании его можно открыть через NotePad++, отредактировать, вставить в Тулсет (официальный инструментарий Toolset) и скомпилировать. Очень редко нуждается в переводе, но без знаний о скриптах и без исходника перевод не представляется возможным.

• *.plo – содержит игровые флаги (проверки), которые помогают скриптам понимать, как и когда срабатывать, если говорить грубо. Однако также флаги могут содержать текст задания или текст кодекса. Переводить надо в 50% случаев. Понять легко: если в строке видите привычный текст – переводить надо, а если текст вида start_flag_quest – переводить нельзя!

• *.tlk – единственный файл (не считая *.cif), который поддерживает текст на русском и других языках. Именно сюда текст переносится из остальных файлов для последующего перевода.

• *.tnt – файл оттенка. Оттенок может быть как у кожи, глаз, причёски, так и у брони, оружия и прочих предметов. Переводить не надо.

• *.utc – файл персонажа, в котором указаны все его характеристики, экипировка, класс и так далее, включая имя. Переводить надо только имя.

• *.uti – файл предмета инвентаря. Оружие, броня, подарки, зелья и т.д. Содержит название и описание (не всегда) предмета, его тип и характеристики. Переводить надо.

• *.utm – файл магазина, содержит его название. Переводить надо.

• *.utp – предмет, с которым можно взаимодействовать в игре. Как дверь, сундук, статуи, так и невидимый переход из локации в локацию. Переводить надо.

Прочие типы файлов встречаются в модах крайне редко и обычно связаны с новыми локациями. Файлы с расширениями *.arl, *.rlm, *.spt, *.gff переводить не нужно.


Почему переводить моды трудно

Наверняка многим было интересно, почему крупные моды до сих пор не переведены. И дело тут совсем не в лени, просто переносить текст из файлов и чистить их мучительно долго.

Загвоздка в том, что файлы игры, как говорилось ранее, поддерживают только английский язык. Если вы попытаетесь вписать текст на русском, немецком или другом языке, то в игре получите квадраты. Поэтому текст из всех файлов необходимо переносить в файлы *.tlk, как это сделали локализаторы игры. Конечно, если бы разработчики с самого начала добавили поддержку всех языков, это значительно облегчило бы перевод и работу с файлами в целом. В файлах Neverwinter Nights 2 и The Witcher 1, например, есть поля для каждого языка отдельно, и это жутко удобно.

Вторая загвоздка заключается в базах Тулсета на английском. Им тоже никто не добавлял поддержку других языков или, по крайней мере, никто не переводил на другие языки. Базы Тулсета – это хранилище файлов оригинальной кампании и корневых ресурсов в исходном виде. Файлы в игровых папках являются экспортированными и их не так удобно редактировать, как исходники. Если кто-нибудь из вас владеет Photoshop, то он знает, что свою работу можно сохранить в виде файла *.psd, который легко отредактировать в Фотошопе, взаимодействуя со слоями. Если вы сохранили то же изображение в формате jpg/png/webp и т.д., то его отредактировать также возможно, но это будет далеко не так удобно, как в случае с исходным *.psd.

Но и это ещё не всё. Если вы отредактируете, например, исходный диалог в Тулсете, а потом экспортируете его, то вы обнаружите, что в файле появился текст на английском. И это, пожалуй, главная загвоздка. Вы добавили одну строку в диалог с Алистером, экспортировали файл, но все диалоги с ним после этого стали на английском. А это около 1500-2000 строк! Почему так происходит? Дело в том, что изначально текст располагался внутри разных игровых файлов, и это работало, потому что текст был на английском. Когда стало понятно, что файлы игры не поддерживают другие языки, текст из всех файлов был перенесён в файлы *.tlk, а остальные файлы очищены от английского текста. Действительно, если вы откроете какой-нибудь файл, взятый из игровой папки, то увидите, что внутри текста нет, оставлен лишь ID (идентификатор, номер) строки, по которому игра ищет строку с аналогичным ID в файле *.tlk. Вот только базы Тулсета никто переделывать не стал, в исходниках содержится текст на английском языке, который после экспорта остаётся в файлах. 

Немного баттхёрта: то есть понимаете? Если бы разработчики добавили файлам поддержку всех языков или хотя бы научили Тулсет вычищать текст оригинальных строк при экспорте файлов, то это здорово бы спасло ситуацию. Но до других языков им нет дела.

Получается, что текст из файлов мода нужно не только перенести, перевести, но и вычистить сами файлы. Наверное, плюсом с натяжкой можно назвать то, что оригинальные строки из файлов не придётся переводить заново, так как они уже были переведены локализаторами и перенесены в файлы *.tlk, располагающиеся в корневой папке игры, поэтому после вычищения файла игра будет подгружать их оттуда. Но этот плюс легко нивелируется, если вспомнить, что некоторые диалоги состоят из 1000-2000 строк (строки NPC дублируются и запрятаны глубоко), которые придётся вычистить… руками. Благо сейчас появился удобный для этого инструмент.

Кстати, об инструментах. Да, у игры есть полноценный набор инструментов в лице Тулсета, но для перевода он бесполезен чуть более, чем полностью. Он ломает ID строк, он может ломать файлы *.tlk и вылетать при сохранении файлов с изменёнными значениями. Поэтому ниже перечислены все те программы, с которым предстоит работать, чтобы правильно перевести мод.


Программы для перевода

Список программ, которые должны быть в арсенале современного переводчика.

1. Dragon Age Toolset (версия 1.01). Тулсет понадобится для работы с архивами *.erf, для открытия диалогов, кат-сцен, записей журнала и кодекса, а также для переноса текста в файл *.tlk. Хотя последнее лучше делать с помощью сторонней программы.

2. DAOTlkEdit – удобная программа для редактирования файлов *.tlk. С одной оговоркой: программа умеет редактировать текст, но не ID и не количество строк. Зато у неё есть возможность поиска по тексту и ID и сравнение двух файлов *.tlk. Также можно подгрузить диалоги мода, чтобы увидеть их древовидную структуру и лучше понять контекст.

3. daoGFF – самая актуальная программа для редактирования файлов GFF (*.are, *.utc, *.uti, *.utm, *.utp), ID которых не видит Тулсет. Изначально программа была создана для игр Neverwinter Nights 1-2, однако имела один недостаток: она не отображала длинные ID, потому что в играх NWN 1-2 диапазон ID меньше. Но создатель программы пошёл навстречу и решил убрать это ограничение, выпустив версию специально для DAO. Теперь текст из файлов GFF можно удалить в два клика. Программа не обрежет длинные теги, как это было с GFFEditor, и не потребует Java для работы, как это было с TlkEdit2.

4. Translator Toolkit – программа создаёт файлы *.tlk с нуля. Работает всё очень просто: вы открываете файл *.xls, который находится в архиве программы, с помощью Microsoft Office Excel, вносите в ячейки ID, текст и сохраняете файл в формате *.txt в кодировке Юникод. Полученный текстовый файл «пропускаете» через программу и получаете файл(ы) *.tlk. Есть один недостаток: программа не поддерживает переносы строк, поэтому текст с несколькими абзацами требует дальнейшего редактирования в программе DAOTlkEdit.

5. GDApp – программа для редактирования файлов *.gda. Версия альфа, но работает с файлами без нареканий. Также *.gda можно редактировать с помощью Тулсета, но отображаются они там не так удобно – не в виде таблицы. Хотя GDA – это именно что скомпилированная таблица Excel. 

6. NotePad++ – текстовый редактор для редактирования файла manifest.xml. Стандартный Блокнот не подойдёт, так как превратит ваш перевод в игре в кракозябры.

7. 7-zip – удобный и бесплатный архиватор для работы с любыми форматами архивов, включая *.dazip.


Подготовка мода к переводу

Для первого перевода я рекомендую вам взять небольшой мод на броню или оружие, чтобы быстро получить результат. В статье я буду показывать процесс перевода мода под названием Armor of the Elven Warden. Мод добавляет в игру комплект доспехов в инвентарь, он очень старый и многое в нём сделано неправильно. Так что это будет демонстрация не только перевода, но и наведения порядка внутри мода. Это в других играх переводчики – просто переводчики, которые переводят текст в файлах и не знают, как внутри всё работает, а переводчики DAO настолько суровы, что должны быть, скорее, модмейкерами, нежели обычными переводчиками =)

Кстати, если не знаете, какой мод выбрать для перевода, можете повторить все шаги за мной и самостоятельно перевести мод Armor of the Elven Warden.

Итак, мод скачивается в архиве *.rar, поэтому первым делом нужно распаковать этот архив с помощью архиватора 7-zip. Можно даже не распаковывать, а открыть его и вытащить второй архив – *.dazip. Dazip – это тот же zip-архив, поэтому и открывается так же – с помощью архиватора. Когда вы откроете *.dazip, вы увидите внутри него папку Contents и файл manifest.xml. Создайте в любом удобном месте рабочую папку, где вы будете работать над переводом. Название папки, а также путь до папки должны быть строго на латинице или с цифрами, пробелы допустимы. Вытащите из *.dazip папку Contents и файл manifest.xml в свою рабочую папку.



А если мод не в dazip-архиве?
Если мод, который вы хотите перевести, не запакован в *.dazip, а устанавливается в папку override, то вам всё равно придётся извлечь все его файлы в вашу рабочую папку. Здесь ничего особо не меняется: вы переведёте файлы, подготовите их и запакуете в *.dazip. Но об этом позже.

Проще всего начать с перевода файла manifest.xml. Откройте его с помощью текстового редактора NotePad++. Вам нужно перевести только название (Title) и описание (Description). За русский язык отвечают разделы <ru-ru>. Я обвела их на скриншоте ниже (лишние строки свернула для большей наглядности).



Текст названия и описания расположен в квадратных скобках, сотрите его и впишите перевод. Скобки или что-либо ещё стирать нельзя! Также не переводите название и описание для других языков, они должны остаться на английском. Когда перевод будет завершён, не забудьте сохранить файл manifest.xml, нажав на значок дискеты, или использовав сочетание клавиш Ctrl + S. Всё, программу можно закрывать.

В качестве следующего шага откройте папку Contents в вашей рабочей папке. В ней вы увидите ещё две папки: addins и packages.



Для начала откройте папку packages и пройдите по её пути до конца. Там вы, скорее всего, обнаружите архив *_packages.erf. Где звёздочка – это UID (идентификатора) мода, в данном случае kytx_ewarmor.



Очень часто *.erf по этому пути оказывается пустым, так как авторы стараются расположить файлы мода в папке addins (и правильно делают). Если архив *_packages.erf (по пути: *рабочая папка*\Contents\packages\core\data) оказался пустым, то я советую вам его удалить. Его существование не приносит ни вреда, ни пользы, но если вы избавитесь от него, то установленный потом мод будет проще удалить вручную – не придётся искать файлы мода, причём пустые, среди кучи папок. Узнать, пустой *_packages.erf или нет, можно, просто посмотрев на его размер. Пустой *.erf (любой) всегда весит 32 байта.

Внимание! Удалять пустые *.erf можно только по пути, указанному выше. В папке addins лучше этого не делать.



Мне повезло – *_packages.erf оказался пустым. Но так бывает не всегда, поэтому архив лучше открыть и убедиться в отсутствии файлов. Как открыть *.erf, смотрим ниже.

Теперь вернитесь в рабочую папку и пройдите по следующему пути:

*рабочая папка*\Contents\addins\UID мода\module\data

Тут вы обязательно найдёте ещё один архив *.erf, как правило, с названием *_module.erf. В моём примере в архиве *_module.erf есть какие-то файлы, это видно по размеру, поэтому его надо открыть и проверить.



Для работы с архивами *.erf понадобится программа ErfEditor.exe, которая располагается в папке Тулсета после его установки: …\Dragon Age\tools\ErfEditor.exe.

Полезный совет. 
Через свойства архива *.erf, выберите программу (приложение), с помощью которой этот тип файлов будет открываться. В данном случае выберите ErfEditor.exe, указав к ней путь. После чего любой архив *.erf вы сможете открыть, просто кликнув по нему пару раз.

(На скриншоте вы видите пример для Windows 10)

Открыв *_module.erf в ErfEditor, вы увидите что-то вроде этого.



Примечание.
Чтобы открыть архив *.erf из программы ErfEditor, после её запуска пройдите в меню File и выберите пункт Open File. В новом окне укажите путь к архиву *.erf. Перетащить *.erf в окно программы, чтобы его открыть, не получится, потому что она запускается от имени администратора.

Изучим файлы внутри *_module.erf. Для удобства файлы можно и нужно отсортировать по типу. Для этого нажмите на слово Type.



Видим, что в архиве довольно много файлов, которые нужно также проверить и, скорее всего, перевести. Речь идёт о *.gda, *.plo, *.utc, *uti. Чтобы не тратить время и не извлекать файлы по одному, извлечём их все сразу. Для этого нажмите ПКМ (правой кнопкой мыши) по любому файлу в списке и выберите в появившемся контекстном меню пункт Extract All Resources… Перед вами появится небольшое окно, в котором вам нужно добраться до следующей папки: *рабочая папка*\Contents\addins\UID мода\module\data. Нажмите кнопку ОК, и программа поместит все извлечённые файлы рядом с архивом *_module.erf. Конечно, вы можете извлечь файлы в другое место. Например, создать в рабочей папке папку module, но для меня удобнее, когда всё находится вместе.



Почти пустой архив *_module.erf.
Бывает и так, что архив *_module.erf не пуст, но весит очень мало. При его открытии обнаруживаются только два файла: manifest.xml, который является копией файла из *.dazip, и файл *_en-us.tlk, в котором отсутствуют строки вообще. Если попытаться открыть пустой *.tlk с помощью программы DAOTlkEdit, вы получите ошибку. В архиве такой, откровенно говоря, мусор создаётся, когда авторы запаковывают моды в *.dazip через Тулсет. Смело удаляйте эти файлы, выделив их в архиве и нажав клавишу Delete. Удалить их необходимо, потому что они могут перезаписать manifest.xml в *.dazip и файл *_en-us.tlk, который мы создадим в будущем.

В моём случае в архиве *_module.erf много самых разных файлов, но и файл manifest.xml тоже присутствует. Его необходимо удалить. Вообще, файл manifest.xml из *_module.erf нужно удалять всегда, он там попросту не нужен.



После этого не забудьте сохранить архив *.erf, нажав на значок дискеты, либо сочетание клавиш Ctrl + S. Программу можно закрыть. Также необходимо удалить резервную копию архива *.erf в формате .bak, которую создала ErfEditor при сохранении. Копия всегда находится в том же месте, куда сохранился новый архив. В моём случае резервная копия имеет название kytx_ewarmor_module.erf.bak, и я её удаляю.

Внимание! Удалять что-либо ещё из архива *_module.erf нельзя! Даже файл *.tlk нужно обязательно проверить на наличие строк. Возможно, автор любезно перенёс/скопировал текст из файлов мода туда. Что касается файла manifest.xml, то он всегда удаляется из *_module.erf.

Итак. После извлечения всех файлов из *_module.erf папка будет выглядеть следующим образом.



Теперь вернитесь назад, в папку module: 

*рабочая папка*\Contents\addins\UID мода\module

Кроме папки data, здесь вы должны обнаружить файл *.cif. Конечно, он присутствует не во всех dazip-файлах, но если он есть, то его лучше сразу отредактировать, прежде чем отправиться подготавливать папку core.

Что такое файл *.cif.
CIF – это Campaign Information File, иными словами, информационный файл кампании. Его можно сравнить с manifest.xml, но гораздо более упрощённым, так как в файле присутствует только название и описание мода на нескольких языках. Но главная «фишка» этого файла в другом. В него можно прописать скрипт, который сработает один раз при загрузке сохранения и добавит предмет. Почти все моды, добавляющие предметы в инвентарь, используют *.cif в качестве триггера. Но лично я считаю этот способ добавления предметов устаревшим, потому что такой мод придётся отключать перед новой игрой, делать сохранение и подключать обратно. Когда установлена куча модов на броню/оружие, это слегка… утомительно. Я рекомендую оформлять добавление предметов в инвентарь через систему PRCSCR. Но это уже отдельный разговор. Я решила описать предназначение файла *.cif подробнее, потому что ни на одном сайте не нашла чёткого определения. Видимо, кто понял – тот понял.

Название файла *.cif – это всегда UID мода без каких-либо добавлений и приставок. В моём случае он называется kytx_ewarmor.cif.



Честно говоря, раньше я никогда не переводила название и описание мода в файле *.cif, считая, что перевода в manifest.xml будет достаточно, ведь у меня в игре всё было по-русски, пока мне не стали поступать жалобы на якобы непереведённые название и описание мода. Поэтому перевод текста внутри *.cif обязателен. Файл *.cif открывается с помощью одной из двух программ Тулсета: DragonAgeToolset.exe или GffEditor.exe. Разницы между ними нет, поэтому запустите что-то одно. Перейдите в меню File, выберите пункт Open File. В открывшемся окне укажите путь к вашему файлу *.cif и откройте его. 

Конечно, вы можете поступить точно так же, как с архивами *.erf, и указать через свойства файла в проводнике программу, с помощью которой вы хотите открывать данный типа файлов. К примеру, укажите GffEditor.exe, и вы сможете открывать файлы *.cif двойным кликом прямо из папки.

В файле строки CAMPAIGN_CIF_DISPLAY_NAME_* отвечают за название мода, а строки CAMPAIGN_CIF_DESCRIPTION_* – за его описание. Как и в файле manifest.xml, перевести текст необходимо только в строках с приставками RU-RU. Даже не перевести, а скопировать его из файла manifest.xml.



Чтобы отредактировать текст, нажмите по нему дважды ЛКМ. В правой части строки с ним появится кнопка с тремя точками, нажмите на неё. Перед вами появится окно, в котором осуществляется редактирование.



Редактировать текст через данное окно очень важно, если он имеет несколько абзацев. Если же вы просто кликнете дважды ЛКМ по тексту, выделите его прямо в строке и вставите новый, то вставится только один абзац!

Не забудьте сохранить файл после вставки текста и удалить резервную копию (*.bak) после сохранения файла.

Примечание.
Файл *.cif в этом моде расположен верно. Однако в других модах он может лежать в самых неожиданных местах, скорее всего, по незнанию авторов. Ещё один частый путь нахождения *.cif: *рабочая папка*\Contents\packages\core.
Ваша задача: вернуть файл *.cif на то место, где ему положено быть: ...\Contents\addins\UID мода\module. 

Ни в коем случае не перемещайте файл *.cif из модов в папку override в Документах!!! Этим вы породите игровые ошибки, которые рано или поздно приведут к вылетам на рабочий стол.

После подготовки папки module остаётся подготовить файлы в папке core. Перейдите по третьему пути в распакованном *.dazip: 

*рабочая папка*\Contents\addins\UID мода\core\data



Настоящий бардак: несколько архивов *.erf и два файла *.gda.

В новых модах авторы стараются запаковать все файлы мода (текстуры, модели, скрипты и т.д.) в один архив *_modcore.erf. Здесь автор поступил иначе: модели запаковал отдельно, текстуры отдельно, файлы *.gda – тоже отдельно. Правда, у двух файлов *.gda оказалось слишком длинное название, Тулсет не смог их запаковать в архив *.erf, и автору пришлось их положить рядышком с незапакованными.

Скажу сразу: это никак НЕ влияет на работу мода. Поэтому вы можете как перенести все файлы в архив *_modcore.erf, так и не делать этого. Если вы не хотите ничего менять, тогда просто проверьте все архивы *.erf в этой папке на наличие тех файлов, которые можно было бы перевести. Я же вкратце напишу, как объединить эти архивы.

Извлеките файлы из архивов *.erf в папку, после удалите все архивы *.erf, кроме архива *_modcore.erf. В моём случае извлеклись только файлы *.gda и файлы моделей (*.mmh, *.msh, *.phy, *.met, *.mao). Текстуры автор положил по несколько иному пути, а именно в папку textures, которая находится здесь:

*рабочая папка*\Contents\addins\UID мода\core



В папке textures есть ещё две папки: medium и high. В папке medium хранятся текстуры низкого качества, которые подгружаются при низких настройках графики игры, а в папке high находятся текстуры высокого качества. Насколько помню, иногда игра неправильно подгружает текстуры и при высоких настройках графики может подгрузить текстуры низкого качества, поэтому в архив *_modcore.erf лучше запаковать текстуры из папки high.



Откройте папку high, извлеките все текстуры из архива texturepack.erf по этому пути:

*рабочая папка*\Contents\addins\UID мода\core\data

То есть туда, где находится архив *_modcore.erf. После извлечения файлов, папку textures рядом с папкой data нужно полностью удалить.

Примечание.
Иногда рядом с папкой data может находиться папка audio, это значит, что у мода есть своя музыка и/или озвучка. Папку audio не нужно трогать, как и запаковывать файлы из неё в архив *.erf.

Теперь можно наконец перейти к процессу перевода. Надеюсь, у вас хватило терпения дочитать эту часть статьи, потому что дальше текст и информации будет ещё больше =)

Важное.
Если вам попадётся мод с более упорядоченными файлами, то из архивов *_modcore.erf, *_module.erf и *_packages.erf будет достаточно извлечь только те типы файлов, в которых может содержаться текст. К примеру, модели, текстуры, скрипты, если они расположены правильно, извлекать не нужно. Я извлекала все файлы только для того, чтобы навести в моде порядок.

Вторая часть статьи >

@rpgmods

Report Page