Shadowrun Returns Guide

Декомпиляция пользовательского контента for Shadowrun Returns

Декомпиляция пользовательского контента

Overview

Гайд расскажет, как декомпилировать любой пользовательский контент (мод).

Вступление

Потеряли исходники вашего проекта? Хотите пофиксить ошибку в чужом моде? Или может даже хотите локализировать мод? Этот гайд поможет вам из скомпилированного мода получить обратно исходный код проекта в считанные минуты. Все что вам нужно – это Shadowrun Editor, текстовый редактор, архиватор и сам мод.


Помните – декомпилировать чужие моды без согласия автора нельзя!

Шаг 0. Подготовка

Тут все довольно просто.

  • Сначала нужно купить игру. Ну, или найти в интернете Shadowrun Editor.
    Если игра куплена – в папке игры (X:SteamsteamappscommonShadowrun Returns) найти файл ShadowrunEditor.exe. Желательно создать ярлык в удобном месте. Запустить редактор.
  • Потом нужно достать мод, который хотим декомпилировать (получить исходный проект). Путей несколько. Или найти его в интернете или подписаться на него в мастерской и потом найти его в папке X:Steamuserdata[ваш steam id]234650localugc. Ориентироваться нужно на расширение *.cpz и имя файла. Оно должно содержать название мода.
    Сам мод желательно скопировать в отдельную папку. Он еще пригодиться.

После подготовки можно переходить к самой декомпиляции.

Шаг 1. Декомпиляция

Сам процесс декомпиляции можно разделить на пару шагов:

  • Открыть Shadowrun Editor. В меню File > Open Content Pack открыть нужный мод в формате *.cpz (также возможны другие форматы: *.zip, *.app, *.cpack.*)
  • После полной загрузки мода нужно проверить зависимости мода. Если их не удовлетворить, то нормально завершить декомпиляцию не выйдет. В 99% случаев автор пишет на странице мода, на какие моды дополнительно нужно подписаться. Подписываемся на все. После их скачивания (возможно понадобиться запуск игры) в редакторе открываем File > Edit Content Pack Dependencies. Когда закончиться анализ, мы увидим окошко с ошибкой в котором будут указаны все недостающие моды.
  • Укажем редактору, где искать зависимости. Открываем File > Edit Content Pack Search Path. Нажимаем на зеленый плюсик. Переходим в папку X:Steamuserdata[ваш steam id]234650localugccontentpacks и жмем Choose. Этого должно хватить в 99% случаев. Если же валидация через Edit Content Pack Dependencies будет выдавать ошибку, дополнительно прописываем в зависимости все папки из X:Steamuserdata[ваш steam id]234650localugc. Открываем File > Edit Content Pack Dependencies чтобы убедиться, что ошибок больше нет.
  • После этого в меню Tools > Save Project As Source выбираем папку для сохранения исходного проекта и нажимаем Choose. Ждем. В конце возможны ошибки. Игнорируем.

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

Шаг 2. Полное восстановление проекта

Выполнение Шага 1 дает нам только исходные коды проекта. Все ресурсы (текстуры, звуки и тд) пока что недоступны. Также проект заблокирован для редактирования. Восстановим все:

  • Первым делом восстановим ресурсы. Для этого нужно открыть оригинальный мод (*.cpz) любым архиватором (рекомендую 7-Zip). Внутри архива открываем одноименную папку и видим все файлы мода. Нужно распаковать в папку с декомпилированным проектом все файлы и папки, кроме папки data и файла project.cpack.bytes. Ресурсы восстановлены.
  • Теперь работаем только с декомпилированным проектом. Файл project.cpack.txt открываем текстовым редактором на подобии Notepad++ или Sublime Text 3. Находим строчку read_only: true и меняем на read_only: false. Сохраняем. Теперь проект можно редактировать.
  • Последний шаг – восстановить зависимости. Тут сильно повезло. Дополнительные моды можно подключать “как есть”. Открываем проект редактором (файл project.cpack.txt) и просто повторяем пункт удовлетворения зависимостей из Шага 1 дополнительно открывая File > Edit Content Pack Dependencies, отмечая галочками нужные для работы мода моды и сохраняя изменения.

После этих шагов у вас будет полностью восстановленный проект с которым можно делать все что угодно.


И помните – декомпилировать чужие моды без согласия автора нельзя!

Послесловие

Метод был найден еще в 2014 году и гайд написан по памяти, параллельно проводя декомпиляцию одного из модов. Поэтому возможны ошибки и упущения. Если вы нашли что-то из этого – пишите в комментариях. Я с радостью изменю или допишу гайд.

SteamSolo.com