Skip to content

rus devtools

PROPHESSOR edited this page Jan 28, 2021 · 10 revisions

Инструменты для разработки от DRRP-Team

Содержание:

Depacker

Если вы пользователь Windows и у вас он заработает, рекомендуется использовать депакер от Erick194.

Depacker [NEW] (node.js/c++ 2021)

В связи с получением BREW версии, возникла необходимость переписать имеющийся депакер ресурсов. UsernameAK и PROPHESSOR устроили онлайн хакатон по его написанию. По скорости выиграл UsernameAK с отрывом в 2.5 часа, но версия от PROPHESSOR'а более универсальная и выдаёт уже полностью готовые текстуры.

Все версии депакера поддерживают ресурсы как J2ME, так и BREW версии.

JavaScript (main.js + extract.sh)

  • Разработчики: PROPHESSOR
  • Язык программирования: JavaScript
  • Запускать с помощью: node main.js && bash extract.sh

Сначала запускается node main.js <path?>, который берёт palettes.bin, mappings.bin и wtexels.bin и распаковывает их в набор сырых данных output/texel_X_palette_y.raw. После этого bash extract.sh с помощью ImageMagick конвертирует их в PNG, поворачивает, отражает чтобы привести к нормальному виду и помещает в папку png/, где их можно забрать.

C++ (cincrement.cpp)

  • Разработчики: UsernameAK
  • Язык программирования: C++
  • Запускать с помощью: (в теории, g++ cincrement.cpp -o cincrement && ./cincrement, но могут возникнуть проблемы)

На скорую руку написанный депакер ради выигрыша в хакатоне. Требует внешнюю библиотеку stb_image_write.h.

Берёт mappings.bin, palette.bin и wtexels.bin и распаковывает текстуры в PNG формате в папку test_out/. После этого их необходимо вручную повернуть и отразить.

Depacker [DEPRECATED] (nw.js, 2017)

  • Разработчики: UsernameAK, PROPHESSOR
  • Язык программирования: JavaScript
  • Запускать с помощью: JsMB Interpreter, или NW.JS

Это была наша первая программа, написанная в далёком 2017 году. В ней мы пытались, с помощью информации из этой статьи, вытащить текстуры и спрайты из Doom RPG. Успеха достигли только в извлечении текстур, и то, с поворотом на 90°. В данное время, рекомендуем использовать эту утилиту, так как она справляется с данной задачей намного лучше.

Map Parser

  • Разработчики: UsernameAK, PROPHESSOR
  • Язык разработки: JavaScript
  • Запускать в GUI режиме с помощью: JsMB Interpreter, или NW.JS
  • Запускать в консольном режиме: node mapparser.js <path/to/file.bsp>

Это - вторая программа, написанная в 2017 году, которая создавалась для конвертации карт из оригинального .bsp формата Doom RPG в UDMF формат GZDoom.

String Parser

newstringparser.js

  • Разработчики: PROPHESSOR
  • Язык разработки: JavaScript
  • Запускать с помощью: node newstringparser.js <input.str> <output.LANGUAGE> <режим: eng/rus> <префикс, например, SEC1>

Утилита, написанная в 2018 году и заменяющая собой stringparser.cpp и stringparser.js. В отличии от них, генерирует полноценный LANGUAGE файл, который можно потом использовать в скриптах. Поддерживает 2 режима: eng и rus. В первом текст сохраняется напрямую, а в режиме rus, местный транслит преобразовывается в русские символы. Префикс служит для задания названия уровня, согласно стандарту LANGUAGE файлов проекта DRRP. Сейчас для генерации строк используйте именно эту утилиту.

stringparser.cpp [DEPRECATED]

  • Разработчики: UsernameAK
  • Язык программирования: C++
  • Запускать с помощью: g++ -g stringparser.cpp -o stringparser && ./stringparser <input.str> <output.txt>

Ещё одна утилита из 2017 года, написанная Синкрементом (UsernameAK). Достаёт текстовые строки из бинарных .str файлов английской версии Doom RPG и сохраняет их в текстовом виде. На данный момент не используется.

stringparser.js [DEPRECATED]

  • Разработчики: PROPHESSOR
  • Язык разработки: JavaScript
  • Запускать с помощью: node stringparser.js <input.txt> <output.acs>

Утилита, которая позволяет перевести текстовые файлы, сгенерированные прошлой утилитой в .acs скрипты. На данный момент не используется.

Script Parser

Script Decompiler

  • Разработчики: UsernameAK
  • Язык программирования: Java
  • Запускать с помощью: mvn package && java -jar target/scriptdecompiler.jar <input.bsp> >> output.acs

Программа, написанная в 2018 году, позволяющая конвертировать скрипты на картах из оригинального формата Doom RPG в ACS. Ранние ее версии лишь дизассемблировали скрипты.

Script Linker

  • Разработчики: PROPHESSOR
  • Язык программирования: JavaScript
  • Запускать с помощью: node index.js <input.bsp>

Написанная в 2018 году, эта программа выдаёт список координат на карте (в сетке Doom RPG) и привязанный к ним номер скрипта. Сам же скрипт генерируется с помощью scriptdecompiler. Используется в UMP Script Assigner.

UMP Script Assigner

  • Разработчики: PROPHESSOR
  • Язык программирования: JavaScript (UDMF Map Processor API)
  • Запускать с помощью: (UMP) UDMF Map Processor

Скрипт для UMP, позволяющий в автоматическом режиме добавлять на UDMF карту триггеры, присваивать диалоги и скрипты нужным Actor'ам на карте. Использует для своей работы карты, сгенерированные в Script Linker (карты для оригинальных Doom RPG уровней уже встроены в скрипт).