Выражаем благодарность форумам forums.warforge.ru и лично Kabanus'у за предоставленный материал.
Вступление
Главная и самая неприятная фишка при моддинге DoW 2 — чрезвычайная трудоемкость операций по изменению объектов. Это связано, прежде всего, с отсутствием удобного редактора, позволяющего автоматизировать процесс.
Теперь мы лишены удобного инструментария в лице Corsix's Mod Studio. Вместо него нам придется пользоваться громоздкими методами, требующими предельного внимания. Основным же качеством для моддера будет являться внимательность при размещении отредактированных файлов по папкам, соблюдая иерархию. То есть вместо концентрации на правильности модификации объекта нужно концентрироваться на правильности его расположения.
Как нетрудно догадаться, при этом трудовременные затраты возрастают на порядок. Это далеко не такая легкая и приятная задача как модификация предшественника при всей схожести общих принципов организации данных в первой и второй частях игры.
Следует подготовиться к тяжелой, неблагодарной работе.
Удачи и терпения!
По коням!
Поговорим о том, что нам понадобится для работы, помимо головы и прямых рук — о боевом софте. Вышеупомянутый товарищ Корсикс не удосужился обеспечить нас полноценным редактором, но написал некоторые полезные утилиты, которые нам и помогут.
Работать нам придется с архивами SGA при помощи программы SGA Reader.
Данные в архивах имеют иерархическую структуру, соблюдать которую следует неукоснительно. Как и раньше (для незнакомых с редактированием первой части игры рекомендую почитать руководство) данные представляют собой компилированные файлы, но уже в формате RBF. Эти файлы аккуратно рассортированы по папкам, названия которых до боли знакомы.
Сейчас выделен файл юнита форс коммандера из кампании.
С данным файлом есть только два возможных варианта действий в верхней правой части окна: Preview (просмотр) и Extract (распаковка):
Выбор функции Preview выводит окно просмотра структуры файла:
Однако в нем можно лишь просмотреть эти данные, разобраться в иерархии файла, но изменить что-то мы не в силах. Тем не менее, для ознакомления со структурой файла эта функция значительно удобней, чем ковыряние в килобайтах текстовых параметров. Впоследствии мы в этом убедимся исключительно наглядно.
Функция Extract позволяет извлечь файл RBF в указанную папку. Удобство этой функции заключается в том, что она сразу предлагает распаковать файл вместе с папками, в которых он лежит с сохранением иерархии:
Это позволяет не создавать тучи папок с нужными именами вручную.
Правда, здесь имеется один неприметный косячок, из-за которого ничего не работает. Дело в том, чтобы игра «слопала» редактированные файлы, путь должен быть такой:
E:\games\DOW2\GameAssets\Data\simulation\attrib\ebps\campaign\playable\race_marine\troops\sm_force_commander.rbf
При условии, конечно, что игра установлена в папку E:\games\DOW2.
Различие настоящего и предлагаемого программой путей должно быть обусловлено, по-видимому, тем, что программа ориентируется на расположение архива, в результате этого и получается смещение пути. На это следует обратить особое внимание. Как и на то, что изменения в этом случае вступят в силу только при запуске игры с параметром –dev.
Теперь непосредственно работа с распакованным файлом RBF.
Для работы с ним нам потребуется консольная программа RBFConv и графическая оболочка RBFConv Shell к ней. Без графической оболочки жизнь наша будет горька и тосклива — ручное написание килобайтов команд можно назвать очевидным насилием над психикой, а все это действо попадет под категорию «мазохизм с пристрастием».
Запускаться оболочка должна из той же папки, где находится программа.
В программе нас интересуют только два пункта меню: File и Convert.
Первое, что необходимо сделать с распакованным RBF-файлом — преобразовать его к текстовому виду. Для этого нужно выбрать пункт Convert\Batch. Декомпилированный файл получит расширение TXT с тем же именем и будет доступен для редактирования обычным текстовым редактором. Я использую Wordpad — он намного удобнее Блокнота.
После редактирования текстовый документ необходим снова конвертировать в RBF. Для этого сначала откроем его через File\Open, а после преобразуем командой Convert\Current.
Далее следует переместить файл в соответствии с иерархией в нужную папку.
Обращаю особое внимание на то, преобразованные в любом направлении файлы создаются в той же папке, что и исходные, и они перезаписываются без подтверждения! Всегда нужно помнить об этом, чтобы не затереть нужную информацию.
Золотой принцип всегда создавать бэкапы важных файлов — он не просто так золотой.
В непростом процессе творческих изысканий большую помощь может оказать DoW2 Mod Studio, представляющая собой некую компиляцию вышеперечисленных утилит.
В частности, обнаружена замечательная возможность оптимизировать рутинные операции. В самой DoW2 Mod Studio есть пункт меню Community Tools\Corsix's Crude RBF Converter. Так вот, он позволяет компилировать/декомпилировать RBF-файлы пачками. Для отладки данная возможность просто незаменима! Главное — не закрывать это окошко.
Итак, единожды добавив кучу текстовых файлов в список (они прямо в папке мода лежать могут, они же TXT), можно их сразу сконвертить без лишних телодвижений. Соответственно, файлы автоматически будут располагаться по правильным путям.
Помогает, например, когда нужно юнит обвешать абилками и варгиром, а потом оптимизировать параметры всего и сразу.
Всем рекомендую заценить данную полезную возможность. Сэкономит немало нервов и, что особенно ценно, времени.
Создание собственного мода
Каждый человек стремится к построению коммунизма на отдельно взятом компьютере. Хорошо бы заиметь собственный закуток в игре, где было бы уютно и спокойно как дома. Первым шагом к подобного рода благополучию будет создание папки NewMOD и файла NewMOD.module в папке игры.
Файл NewMOD.module можно сделать путем копирования DOW2.module, что находится там же.
Смотрим вот на эти строчки:
Name = DOW2
UIName = $1081
Description = Dawn of War 2
ModVersion = 1.0
ModFolder = GameAssets
Пишем тут все, что душе угодно, но в последней строке указываем папку своего мода NewMOD, чтобы получилось: ModFolder = NewMOD.
В блоке
[attrib:common]
folder.01 = GameAssets\Data
archive.01 = GameAssets\Archives\GameAttrib.sga
меняем первую строчку на folder.01 = NewMOD\Attrib.
Пока для наших ненаучных изысканий в NewMOD.module этого будет достаточно. Позже я поясню, что еще нам может пригодиться при расширении возможностей мода.
Затем в папке NewMOD создаем папки Attrib\simulation\attrib. Ничего не напоминает?
Теперь становится понятно, почему такой путь по умолчанию указывает распаковщик SGA-архива. Именно в NewMOD\Attrib\simulation\attrib будут находиться ebps, sbps и остальное хозяйство в соответствии с иерархией.
Что еще полезно знать
Для запуска мода лучше всего создать ярлычок, в свойствах которого указать:
E:\games\DOW2\DOW2.exe -nomovies -dev -modname "NewMOD"
Данная конструкция запустит наш мод, а также отключит заставочные ролики, сэкономив нам не только время, но и нервы. Постоянно жмакать эскейп при загрузке игры — не самое приятное занятие.
Еще раз обращаю внимание на то, что измененные файлы будут иметь приоритет над архивами только в случае запуска игры с параметром –dev.