Начало работы над модом для Medieval 2: Total War

1. Необходимые  для  работы  файлы

Безусловно  первым  шагом  является  распаковка  ресурсов  игры. Для  этого  установите  последний патч  или  скачайте  unpacker  отдельно. В  появившейся  папке  tools  в  корневой  директории  игры  вы  найдете  папку  unpacker(соответственно, если  распаковщик  был  скачан, то  подобные  папки  вы  должны  будете  создать  самостоятельно). Для  того, чтобы  распаковать  необходимые  нам  файлы  просто  запустите  unpack_all.bat.      
Не  забудьте  после  распаковки  удалить  или  переименовать  descr_geography_new.db  и  descr_geography_new.txt  в data, иначе  игра  не  запустится.

Я  бы  посоветовал  не  распаковывать  эти  ресурсы  в  оригинальную  папку  data  игры, а  в  какую-нибудь  другую. В  этом  случае  у  вас  останутся  чистые  копии  основных  файлов.

Чтобы  сделать  это, отредактируйте  unpack_all.bat  подобным  образом:

unpacker.exe --source=..\..\packs\*.pack --destination=..\..\backup --verbosity=1

После  этого  распакованные  ресурсы  будут  помещены  в  новую  папку  backup, а  не  data. Затем  скопируйте  в  нее  data/world/maps/base  и  data/world/maps/campaign/imperial_campaign.    
А можно сделать и проще, перед распаковкой переименовать папку data  в другое имя, например data1. И когда вы распакуете файлы, игра создаст новую папку data, и теперь можете и её переименовать как угодно, но не забудьте потом снова оригинальной папке придать оригинальное имя data, а не data1. Этот способ проще и надёжней, вам не надо будет descr_geography_new.txt  удалять, вам лишь нужно будет из этой папки переделанные вами файлы положить в оригинал.

1. Конвертация  текстовых  файлов

Учитывая, что  теперь  игра  хранит  локализированные  текстовые  файлы  в  файлах  с  расширением  .strings.bin, у  нас  возникает  необходимость  конвертировать  их  для  редактирования  в  .txt (UTF-16, если  вам  это  о  чем-нибудь  говорит). Игра  затем  автоматически  будет  генерировать  .strings.bin  из  измененных  текстовых  файлов.

Для  этого  был  написан  скрипт, который  вы  можете  найти здесь.

2. Выбор:директория мода или io.file_first

Теперь  вам  стоит  определиться  какой  способ  запуска  модификации  будет  для  вас  предпочтительным.

Директория  модификации: Мод свитчер.

за:
- у  вас  может  быть  множество  установленных  модификаций, не  мешающих  работе  друг-друга
- при  переключении  на  другой  мод  нет  необходимости  в  замене  каких-либо  файлов
- сохраненные  игры, настройки  preferences, и  т.д.  хранятся  отдельно  для  каждого  мода

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

io.file_first: Оригинал.
за:
- поддерживает  работу  всех  редактируемых  файлов
- более  легкое  создание

против:
- при  переключении  на  другой  мод  необходима  замена  всех  модифицированных  файлов

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

3. Создание директории  мода
Возможно  наиболее  простым  способом  будет  воспользоваться  специальной  программой -  Mymod installer, которая  создаст  директорию  со  всеми  необходимыми  для  работы  файлами (текстовики английской версии). 
Немного посложней, но более удобней, способ скачать два файла для Mymod  тут  так как не придётся менять текстовики английской версии из инсталлятора – версией от софт клаба, хотя если вам нужны именно английские, то первый способ будет более удобен.

При первом способе и втором(этом) вам ненужно читать и выполнять пункты раздела 3.-

Или  попробуем  сделать  все  самостоятельно.

В  первую  очередь  создайте  новую  папку  с  нужным  для  вас  названием (название  модификации, дальше mymod)  в  корневой  директории  игры.


3.1 Создание  .cfg

Сделайте  копию  medieval2.preference.cfg  и  переименуйте  в  mymod. cfg 
Откройте  с  помощью  текстового  редактора  и  поместите  в  начало  файла  следующие  строки :

[features]

mod = mymod

[log]

to = logs/system.log.txt

level = * error


В  первой  строке  игре  дается  информация  о  том  в  какой  папке  ей  следует  искать  нужные  файлы (соответственно, mymod = название  модификации). Вторая  строка  позволяет  вести  лог  ошибок, что  очень  полезно, но  не  смертельно  необходимо.

3.2 Необходимые  файлы

Тепеь  создайте  папку  data  в  папке  вашей  модификации  и  скопируйте data/world/maps/base, data/world/maps/campaign/imperial_campaign  и  text/imperial_campaign_regions_and_settlement_names.txt (то  есть data/world/maps/base должна  находиться  в mymod/data/world/maps/base, и  т.д.)

Проще говоря копируете оригинал папку data в папку Mymod, желательно чистую(не разархивированную), а то много место займёт.

3.3 Дополнительные  файлы

Также  могут  быть  необходимыми:
- для  звукового  сопровождения, data/sounds/events.dat  и  data/sounds/events.idx
- для  отображения  загрузочных  экранов, data/loading_screen
- для  проигрывания  роликов, data/fmv

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

3.4 Создание  .bat  файла
Для  того, чтобы  игра  могла  запуститься, используя  файлы  из  папки  с  модификацией  создайте  пустой  текстовый  файл  в  корневой  директории  M2TW  и  переименуйте  его  в  mymod.bat. Откройте  и  поместите  следующую  строку:

medieval2.exe @mymod.cfg

Он  и  будет  файлом  запуска  игры  при  использовании  вашей  модификации. 

4. Создание  io.file_first


4.1 Создание  .cfg
Сделайте  копию  medieval2.preference.cfg  и  переименуйте  в  mymod. cfg 
Откройте  с  помощью  текстового  редактора  и  поместите  в  начало  файла  следующие  строки :

[io]

file_first = 1

[log]

to = logs/system.log.txt

level = * error

В  первой  строке  игре  дается  информация  о  том , что  ей  следует  искать  необходимые  файлы  в  директории  data, а  не  в  запакованных ( .раск)  ресурсах. Вторая  строка  позволяет  вести  лог  ошибок, что  очень  полезно, но  не  смертельно  необходимо.

Для  того, чтобы  игра  могла  запуститься, используя  полученный  .cfg  создайте  пустой  текстовый  файл  в  корневой  директории  M2TW  и  переименуйте  его  в  mymod.bat. Откройте  и  поместите  следующую  строку:

medieval2.exe @mymod.cfg

А можно сделать проще, просто в ярлыке - что на рабочем столе, делаем дописку --io.file_first, пробел обязателен один. Вот как у меня там написано, можно скопировать эти слова и ввести в ваш ярлык, не забудьте диск и путь поменять, у меня он Е, а у вас какой? Вот строка:
"E:\game\Medieval II Total War\medieval2.exe" --io.file_first

5. Проверка  работоспособности


Самым  простым  способом  является  редактирование  некоторых  текстовых  файлов (text/imperial_campaign_regions_and_settlement_names.txt , например), изменяя  одно  из  описаний. Если  изменение  отображается  в  игре  корректно, значит  основу  для  последующей  работы  вы  создали  правильно.

Например :

{London}       London

измените  на

{London}       The Moloch

Соответственно, увидев  в  игре  вместо  Лондона – The  Moloch, можете  быть  довольным  своей  работой…

6. Лог  ошибок

Как  вы  помните, в  наш  .cfg  мы  добавляли  следующую  строку:

[log]

to = logs/system.log.txt

level = * error

Она  позволяет  игре  вести  лог  ошибок, который  будет  находится  в  MTW2/logs  под  названием  system.log.txt

Здесь  будут  отображаться  ошибки, которые  регулярно  совершаются  при  модифицировании  игры, причины  вылетов  и  т.д. Просматривайте  этот  файл  при  возникновении  проблем  с  корректной  работой  вашей  модификации. 

Надеюсь, вам тутор поможет, если что не понятно спрашивайте на Форуме tw.org.ua (CiЧъ).

PS: хотелось бы выразить признательность  аlpaca, за написание тутора.

Перевод Vyho
Оформление Золд Горыныч
Редактор grif

Недостаточно прав для комментирования