Spiiin's blog

CadEditor v5.0 Changelog

Обновления редактора CadEditor за год с версии 4.1

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

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

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

Добавлено редактирование игры со сжатием для NES (Felix the Cat), пока с примером ручного пережатия отредактированных данных с помощью скрипта на Python.

Проект JupyterCadEditor (использование CadEditord в качестве библиотеки для Python в ноутбуках Jupyter) вынесен в отдельный репозиторий. Добавлены скрипты, позволяющие по конфигу игры для одного региона находить такие же данные для версии игры другого региона, что позволяет легко добавлять поддержку игр для разных регионов.

Упрощён и улучшен рендер панелей и редакторов, убраны лишние масштабирования и “замыливание” при отрисовке.

Добавлен плагин экспорта карты в формат TMX, для последующего использования её в редакторе Tiled. Улучшены плагины экпорта блоков и экранов в картинки и бинарные файлы.

Добавлено множество lua-скриптов для упрощения исследования игр и добавления их в редактор. Переписаны с Python на Lua скрипты автоматического поиска блоков различных форматов в видеопамяти - теперь они позволяют находить блоки прямо во время прохождения игры, без необходимости делать дампы памяти вручную.

Добавлены lua-скрипты для эмулятора Mesen, позволяющие исследовать спецэффекты в NES-играх, а также расширяющие возможности эмулятора в отладке.

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

Добавлен плагин, позволяющий пережимать данные и запаковывать их в ROM - компрессор для игры Contra Hard Corps.

Плагин для запуска пользовательских скриптов из редактора и примеры его использования (экспорт скриншотов, экспорт блоков из игры для использования в демо-проектах)

Проект перешагнул первую тысячу коммитов, а также переведён на .NET Framework 4.0. Редактор содержит более 1500 конфигов блоков и экранов различных уровней для 128 игр. Большая часть этих конфигов добавлена пользователями редактора, так что проект частично стал продуктом сообщества ромхакеров.

Возможно, в следующих итерациях в редактор будут добавлены возможности универсального описания редактора объектов для уже добавленных игр, это такая же большая задача, как и создание универсального редактора блоков, но и её возможно решить.