Skip to content

Instantly share code, notes, and snippets.

@GPCracker
Created July 18, 2017 07:59
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save GPCracker/c107ea5d7f9832879d01635d44c9f9dd to your computer and use it in GitHub Desktop.
Save GPCracker/c107ea5d7f9832879d01635d44c9f9dd to your computer and use it in GitHub Desktop.

Краткая инструкция по сборке модификации

Вся сборка модификации из исходников происходит в автоматическом режиме, для запуска сборки необходимо запустить скрипт python builder.py, но перед этим необходимо убедиться в том, что удовлетворены все зависимости, в противном случае в процессе сборки возникнет ошибка.

Скрипт сборки модификации рассчитан на работу как под Windows, так и под Linux, однако необходимые компоненты и способ их установки может несколько отличаться.

Большинство компонентов, используемых скриптом сборки, также используются для сборки XVM/XFV, поэтому для тех, кто уже ранее собирал XVM или XFV, количество необходимых действий будет минимальным.

Список зависимостей

  • Python 2.7
  • gettext (msgfmt)
  • WoT Atlas Converter
  • Java Runtime Environment (JRE)
  • FlashDevelop (FDBuild)
  • Flex SDK
  • Git

Python 2.7

Для запуска скрипта, а также для сборки скриптов самой модификации, необходим Python 2.7. Процесс установки достаточно прост как на Linux, так и на Windows, скачать бинарники, а также ознакомиться с процессом установки можно на официальном сайте. Тот факт, что Python можно установить через менеджер пакетов пользователи Linux думаю и так знают, ибо Python в Linux используется практически повсеместно.

gettext (msgfmt)

Используется для сборки файлов локализации из исходников, конвертации *.po в *.mo и обратно. В случае со сборщиком модификации используется только msgfmt. Для Linux достаточно просто установить пакет gettext из репозитория, для Windows необходимо скачать готовые бинарники и разместить их в папке tools/gettext. Точный путь к используемому файлу прописан в самом файле сборки. Воспользуйтесь поиском по файлу (подстрока tools/gettext). Информацию по gettext можно найти на официальном сайте, скачать бинарники можно здесь. Для корректной работы скрипта сборки нужно скачать пакет static в zip-архиве и взять оттуда нужный файл.

WoT Atlas Converter

Используется для сборки атласов из отдельных картинок. Использует расширенный формат атласов, обратно совместимый с форматом WG, добавлена поддержка вложенных путей для элементов атласа, что позволяет сортировать картинки-исходники. Реализован на чистом Python, однако использует библиотеку Pillow для работы с изображениями. Устанавливается в папку tools/atlases. Точный путь к используемому файлу прописан в самом файле сборки. Воспользуйтесь поиском по файлу (подстрока tools/atlases). Скачать скрипт можно из репозитория.

Java Runtime Environment (JRE)

Для работы Flex SDK и FlashDevelop требуется Java Runtime Environment. Этот пакет один из наиболее используемых, и у большинства пользователей он наверняка уже установлен. При необходимости взять данный пакет для Windows можно здесь. Пользователям Linux думаю и так понятно, где его брать. Как минимум, стоит проверить официальный репозиторий своего дистрибутива.

FlashDevelop (FDBuild)

Поскольку модификация содержит проект FlashDevelop, он тоже собирается в автоматическом режиме. Для этого используется FDBuild из комплекта поставки FlashDevelop. Это .NET приложение, поэтому для его запуска требуется соответствующий фреймворк. Убедитесь, что он установлен, в противном случае возникнет ошибка при запуске FDBuild. Как и в случае с gettext, точный путь к бинарнику можно посмотреть в скрипте сборки, для этого можно воспользоваться поиском по файлу.

Для Windows достаточно установить FlashDevelop с официального сайта и взять необходимый бинарник оттуда. Тем более, что через FlashDevelop еще предстоит устанавливать Flex SDK (данный абзац применим только к Windows).

С запуском на Linux оригинального FDBuild могут возникнуть некоторые проблемы, ввиду того что это приложение разработано под Windows, и поэтому ожидает, что все исполняемые файлы будут иметь расширение *.exe, в том числе Java. Проблема решается путем прописывания в PATH дополнительных путей с расширением *.exe (вполне достаточно внести изменения только для текущего сеанса командной оболочки) или использованием измененного бинарника, используемого при сборке XVM (найти можно в официальном репозитории команды XVM, проект XFV на BitBucket).

Для запуска FDBuild под Linux используется фреймворк Mono. Устанавливается все так же, пакет mono, через менеджер пакетов дистрибутива. Подробную информацию можно найти здесь.

Flex SDK

Для сборки проекта FlashDevelop необходим Flex SDK. Flex использует Java. Нужно установить оба компонента. Java вынесен в отдельный раздел, здесь рассматривается только Flex SDK.

На этот раз установка проще для пользователей Windows. Для установки Flex SDK достаточно открыть AppMan через меню FlashDevelop, выбрать там Flex SDK и немного подождать, пока последний скачивается и устанавливается. Скрипт сборки модификации ожидает увидеть данный пакет в $LOCALAPPDATA/FlashDevelop/Apps/flexsdk/4.6.0.

На Linux установка данного пакета несколько более сложная. Необходимо установить пакет apache-flex, однако устанавливать его на этот раз придется вручную. Подробную инструкцию по установке можно найти здесь. Скрипт сборки модификации ожидает увидеть данный пакет в /opt/apache-flex. Точные пути, опять же, можно посмотреть внутри скрипта сборки, поиском по ключевому слову flex. Однако установки только apache-flex недостаточно, необходимо еще установить и flash-player. Его установка описана в инструкции, однако необходима определенная версия, которую можно посмотреть в параметрах проекта FlashDevelop (или просто установить все его доступные версии, правда это достаточно трудоемкий процесс).

Git

Используется для определения и присвоения идентификатора версии сборке. В скрипт добавлен относительно недавно. Полностью клонировать репозиторий для сборки не требуется (хотя все же рекомендуется), если Git не сможет определить версию, вместо идентификатора будет использоваться заглушка, обозначающая пользовательскую сборку.

Для Linux достаточно просто установить пакет git. Для Windows необходимо скачать бинарники с официального сайта и распаковать их в папку tools/git-scm. Точный путь к используемому файлу прописан в самом файле сборки. Воспользуйтесь поиском по файлу.

Примечания

  1. Поскольку скрипт сборки и соответственно набор зависимостей одинаков для некоторых модификаций автора (по крайней мере на момент написания этого руководства), если занимаемое место на жестком диске имеет значение, рекомендуется использовать символические ссылки. Возможно в дальнейшем данная проблема будет как-то решена более эффективным образом, например с помощью глобальных переменных текущего сеанса командной оболочки.
  2. По понятным причинам в репозитории отсутствуют SWC библиотеки с классами WG, без которых сборка проекта FlashDevelop невозможна. Их необходимо распаковать из архивов клиента игры в папку swc/wg, и исправить имена для соответствия прописанным в проекте. Данные библиотеки подключаются как внешние, код из них в SWF файлы не внедряется (в противном случае очень вероятны конфликты), они нужны только для удовлетворения требований компилятора.
  3. По тем же причинам папка tools исключена из репозитория, вместо этого даны ссылки и руководства для скачивания необходимого стороннего программного обеспечения.
  4. В силу достаточно частого изменения чего-либо в проекте, данный гайд может обновляться с некоторыми задержками. Так или иначе, приоритетом является обновление самого мода, документация обновляется по мере возможности.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment