Skip to content

Latest commit

 

History

History
136 lines (89 loc) · 9.83 KB

README-ru.md

File metadata and controls

136 lines (89 loc) · 9.83 KB

logo.png
Adaptive DMI Tool

README Доступные языки:

English

Russian

Инструмент адаптирования .dmi файлов

Данный инструмент предназначен для редактирования .dmi файлов с потенциалом для адаптации их на любые формы, размеры, оффсеты и другие параметры накладываемые на все выбранные файлы через редакцию конфига, хранящую табличные данные пикселей и их смещения. Инструмент конфигурации смещения спрайтов для статического создания спрайтов на основе этих конфигураций.

Для реализации использовались:

  • Интерфейс WPF фреймворк.
  • Фреймворк обработки DMI файлов DMI Sharp

Пользование

Demo-Video

logo.png

Страницы

В программе 3 страницы:

  • Home - [WIP] Страница для работы с рабочим пространством, сохранение последних настроек пользователя, загрузка предустановок.
  • Edit - Страница редактирования конфигов через изменения пикселей на превью полотках.
  • Data - Страница обработки файлов под выбранные конфиги.

Home

[WIP]

Edit

1 - Выбор страницы

2 - Тулбар, кнопки для взаимодействия и редактирования ПРЕВЬЮ. Редактирование, удаление, смена режима (параллель), сетка, оверлей. Тулбар инструменты могут не полностью отобразиться, вы можете отобразить полные инструменты расширив окно или нажав на кнопку "галочку" выпадения справа.

3 - Превью изображения отображающей все редактированные спрайты под конфиги, оверлеи (редактируемые изображения), превью (левое нередактируемое изображение) и лендмарки (правое нередактируемое изображение).

4 - Статус бар информации мыши находящейся поверх окон превью.

5 - Окно загрузки ДМИ файлов и выбор из них ДМИ Стейтов для отображения поверх. Можно настроить поверх какого превью будет отображаться стейт.

6 - Окно сохранения и создания новых конфигов.

Здесь можно:

  • Создать новый конфиг (НЕ ЗАБУДЬТЕ СОХРАНИТЬ ЕГО)

  • Загрузить уже существующий конфиг

  • Сохранить текущий конфиг

  • Сохранить текущий конфиг как новый файл.

При выборе конфига - он накладывается поверх превью.

logo.png

Data

1 - Отображение всех файлов загруженных с директории "Импорта" для обработки в папку Экспорта.

  • Кнопка "Override" переключит режим перезаписи похожих файлов в директории Экспорта.

2 - Отображение стейтов выбранного .dmi файла

3 - Панель выбора конфига для обработки всех файлов. Можно выделить сразу несколько конфигов. Название конфига будет использовано как название новой папки в директории Экспорта.

4 - Установка путей директорий Импорта и Экспорта. По дефолту файлы будут обработаны в папке рабочего билда.

5 - Полоска загрузки отображающая сколько файлов уже было обработано.

6 - Кнопка обработки всех файлов под выбранные конфиги.

После нажатия - дождитесь его завершения.

Все обработанные файлы будут экспортированы в Директория/"Название Конфига"/

logo.png

Delelopment

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

For .NET 7

These tool require Visual Studio 2022(v17.7), Visual Studio 2022 for Mac (v17.6) to build, test, and deploy, and also require the .NET 7 SDK.

Get a free copy of Visual Studio 2022 Community Edition

.NET 7 SDK

View Models

Помимо Views в которых находятся WPF страницы, ими используются:

  • Dashboard View Model - [WIP]
  • States Editor View Model - модель реализации изменения выбора конфигов, превью стейтов, работы с файлами и их загрузкой, сохранением конфига и хранения State Item's.
  • Data View Model - модель реализации изменения выбранного конфига, отображения Tree View со всеми выбранными файлами которые будут отображаться и обрабабатываться вдальнейшем.
  • Settings View Model - модель настроек текущей темы.
  • Main Window View Model - модель навигации по страницам.

Models

  • Config Item - модель конфига хранящая путь к таблице для быстрого доступа.
  • State Item - модель стейта с .DMI файла хранящая превью, путь, название файла и название стейта.
  • Data Image State - модель работы с превью изображениями накладывающие стейты "превью, лендмарки и оверлея" друг на друга для дальнейшей визуализации.
  • State Edit Type - модель перечисления различных типов: ** StateEditType - Режим редактирования главного окна предварительного просмотра ** StateQuantityType - Тип редактирования стейтов. ** StateImageType - Тип элемента превью. ** StateImageSideType - Сторона элемента превью. ** SelectMode - Текущий режим инструмента перемещения пикселей. ** StatusBarType - Тип элемента статус бара. ** StatePreviewType - Выбранный тип превью для наложения стейтов.

Controllers

  • Environment Controller - Контроллер рабочего пространства и инициализации окружения.
  • Draw Controller - Контроллер обработки изображения, хранящий все функции для рисования на полотне и редактирования пикселей.
  • Editor Controller - Контроллер текущих режимов редактирования полотен и логики кнопок.
  • Mouse Controller - Контроллер обработки нажатых кнопок мыши и нахождения позиции курсора на полотне.
  • Buttons Controller - Контроллер обработки нажатых клавиш, хоткеев.
  • States Controller - Контроллер хранящий информацию о текущих состояниях, режимах, конфигах и статусах элементов используемых всей программой.
  • Status Bar Controller - Контроллер информации отображаемой на статусной панели.

Processors

DMI State Processor - Обработчик файлов из данных стейтов под выделенные конфиги.

Helpers

Image Encoder - Обработчик DMI State в Writeable Bitmap для отображения и редактирования на странице "Edit". Files Searcher - Поисковик корректной директории.

Связь

Вопросы или хотите в помочь реализации? Можете связаться со мной по дискорду: PHANTOMRU (не путайте ник на Гитхабе, там "m == rn" xdd)