Wake of Gods Forum | Форум Во Имя Богов
DEF Recoloring Program - Printable Version

+- Wake of Gods Forum | Форум Во Имя Богов (http://wforum.heroes35.net)
+-- Forum: Герои Меча и Магии 3.5 WoG/ERA (/forumdisplay.php?fid=99)
+--- Forum: Библиотека по моддингу (/forumdisplay.php?fid=186)
+--- Thread: DEF Recoloring Program (/showthread.php?tid=4645)


DEF Recoloring Program - Macron1 - 05.01.2015 10:39

Хочу спросить, делал ли кто-нибудь подобную программу или собирается?
Поясню, что нужно.
Допустим, у нас есть def монстра с синими цветами в палитре (например, пикейщик). А нужно получить красного пикейщика.
Скажем, в бинарном редакторе можно найти синий цвет пикселя и поменять на код красного цвета. Но это неудобно, ненаглядно, и тем более, синего цвета в палитре может быть много.

Поэтому предлагается такой алгоритм.
1) в программе указывается def монстра, программа загружает палитру из def файла и отображает ее на экране.
2) палитру можно экспортировать в файл
3) далее у нас есть отображение цветов исходной палитры и финальной палитры. Оператор вручную выбирает для каждого исходного цвета новый цвет.
4) после правки финальной палитры ее можно сохранить в файл или применить к def-файлу (заменой кодов цветов на новые).

В итоге будем иметь перекрашенный def.

В принципе, программа несложная, я сам могу ее как-нибудь накидать. Но сейчас у меня совсем нет времени на это.

Macron1 Wrote:
Первая версия программы реколоринга.
Проще всего перекрашивать юнитов Замка и юнитов Succession Wars... (Click to View)



RE: Нужна программа для реколоринга монстров - orzie - 07.01.2015 13:31

Хоспаде, а чем тебя стандартный фотошоповский Hue не устраивает?


RE: Нужна программа для реколоринга монстров - Macron1 - 07.01.2015 13:58

(07.01.2015 13:31)orzie Wrote:  Хоспаде, а чем тебя стандартный фотошоповский Hue не устраивает?

Во-первых, фотошоп денег стоит.
Во-вторых, hue нужно использовать в ручном режиме и отдельно для каждого кадра. Это только в случае, если def распаковывается в файлы вообще (если при создании использовались длинные имена, def вообще немодифицируем). Куда как проще работать непосредственно с def-файлами и палитрой.


RE: Нужна программа для реколоринга монстров - orzie - 07.01.2015 15:18

Макрон впервые позаботился об авторском праве? ;D
Ты покажи мне хоть одного, кто работает в купленном.

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

Копаться с дефами и извлечением/модификацией палитры из них уж точно никто не будет. Сомневаюсь, что даже за деньги кто-то возьмётся.


RE: Нужна программа для реколоринга монстров - Macron1 - 07.01.2015 16:07

(07.01.2015 15:18)orzie Wrote:  Макрон впервые позаботился об авторском праве? ;D
Ты покажи мне хоть одного, кто работает в купленном.

Какое впервые? Меня первый раз на DF2 забанили, когда я начал протестовать против использования ворованных программ:D

Если нет денег на Фотошоп, есть бесплатные аналоги. Я пользую Гимп и Paint.NET, в основном хватает на мои скромные потребности.

(07.01.2015 15:18)orzie Wrote:  Копаться с дефами и извлечением/модификацией палитры из них уж точно никто не будет. Сомневаюсь, что даже за деньги кто-то возьмётся.
Там нет ничего сложного. Если через месяц ничего не найдется, сяду и напишу сам.


RE: Нужна программа для реколоринга монстров - orzie - 07.01.2015 16:33

Напиши, будь любезен. А то копилка опенсорса пополняется как-то чересчур в одни ворота.


RE: Нужна программа для реколоринга монстров - feanor - 08.01.2015 23:22

1. Таки да, палитра дефа лежит в обычном RGB в начале файла. Загрузка-выгрузка штука несложная.

2. Все же лучше использовать фотошоп (или таки его аналог, да).
Не вижу никакой необходимости в ручной работе: макросы на применение корректирующих слоев либо отдельной для каждой группы цветов модификации HSL. По крайней мере, когда мне понадобилось перекрасить пару монстров, это нормально работало.
А еще лучше использовать спрайтшиты. Из той же самой heroesland, хотя там вроде перекосили палитру.

3. С другой стороны, можно загружать измененную палитру в рантайме, чтоб, например, нейтральные замковые юниты носили черное обмундирование вместо синего, лол.


RE: Нужна программа для реколоринга монстров - Bes - 08.01.2015 23:45

(08.01.2015 23:22)feanor Wrote:  3. С другой стороны, можно загружать измененную палитру в рантайме, чтоб, например, нейтральные замковые юниты носили черное обмундирование вместо синего, лол.
давно хотел замутить такой Замок SS-стайл...148


RE: Нужна программа для реколоринга монстров - orzie - 08.01.2015 23:47

Была та же идея для двушки, но для двушки это наркомания - нужно учитывать не только цвет, но и сочетаемость цветов.
Насчёт трёшки тоже не уверен, что это безболезненно.


RE: Нужна программа для реколоринга монстров - Macron1 - 04.02.2015 10:13

Похоже, форум наконец заработал.

http://forum.vcmi.eu/viewtopic.php?p=13870#13870
Первая версия программы реколоринга.
Проще всего перекрашивать юнитов Замка и юнитов Succession WarsAb


RE: Нужна программа для реколоринга монстров - orzie - 04.02.2015 11:28

Результат крайне обнадёживает. Однако при запуске сталкиваешься с проблемой (отсутствие библиотеки vcl50.bpl).
После скачивания оной в директорию экзешника и System32, и перезагрузки, пишет следующее.

Image: ipeMOwp.png


P.S. Рекламу инструменту на DF2 дал. Возможно, будет удобно скопировать мою инструкцию на русском (под спойлером).

И да, конечно, впилить просмотрщик дефов на уровне MMArchive было бы просто волшебно, раз уж исходники у Сергея в какой-то из дельфей. Может быть, кто-нибудь найдёт часик.


RE: Нужна программа для реколоринга монстров - orzie - 04.02.2015 11:34

UPD. Переставил библиотеку с другого ресурса, заработало. Сейчас протестируем на некоторых больных темах The Succession Wars Mod.

UPD. Что ж, удаётся открыть далеко не все дефы, но кое-что всё-таки удалось - некоторые объекты карты, такие как деревья или цветы, вроде открываются.

В остальных случаях выдаёт ошибку в VCL50.BPL по адресу 009BC000. Периодически программа вылетает, но к счастью, сохраняет путь к последнему загруженному дефу.

Увы, не удалось открыть дефы рек и террейнов, а это по сути главное, что мне требовалось от программы.


RE: Нужна программа для реколоринга монстров - Bes - 04.02.2015 12:22

Macron1, спасибо за прогу! 132
удачи с улучшением ф-ционала


RE: Нужна программа для реколоринга монстров - orzie - 04.02.2015 22:01

UPD. Подразобрался в сути ошибки. Оказывается, программа отказывается открывать дефы, если до этого уже открывала деф. Перезапуск программы и открытие сразу нужного дефа дают положительный результат.


RE: Нужна программа для реколоринга монстров - Berserker - 04.02.2015 23:59

Скорее всего не вызывается функция закрытия файла, а файл открывается с эксклюзивными правами.


RE: Нужна программа для реколоринга монстров - orzie - 05.02.2015 02:02

Ну в принципе программа вполне работоспособна. Хотелось бы, конечно, запилить задание цвета по хексам, а не только по параметрам RGB.
Ещё заметил, что иногда при обновлении параметров RGB картинка не обновляется, лечится заданием параметра красного цвета (традиционно верхнего).

При помощи проги смог экспрессно создать лавовые и замёрзшие реки для The Succession Wars Mod. Таки да, Макрон отныне аккредитован. Sm
Надо будет вбросить в общий доступ давно делаемый деф (условно) новой наги в знак солидарности.


RE: Нужна программа для реколоринга монстров - Algor - 05.02.2015 02:18

(05.02.2015 02:02)orzie Wrote:  Таки да, Макрон отныне аккредитован. Sm
Да, Макрон мужиг... я б не удержался съязвить в адрес всех ёрничавших.


RE: Нужна программа для реколоринга монстров - Macron1 - 06.02.2015 10:52

Есть еще одна идея фичи для этой программы, надеюсь. в течение пары недель соберусь и запилю. А там посмотрим, насколько она полезна. Хочу сделать автозамену цветов на основе результатов предыдущих реколоров. Что из этого выйдет, надо смотреть.


RE: Нужна программа для реколоринга монстров - orzie - 12.02.2015 10:07

Меж тем, Этопростоон замутил свой вариант.
Etoprostoya Wrote:Сваял свой редактор палитры. Сначала хотел сделать с просмотром кадров, только в формате самих кадров так и не смог разобраться. Но не пропадать же добру.
https://yadi.sk/d/PsgfL0BqecZhh
Image: 5024842.png



RE: Нужна программа для реколоринга монстров - Bes - 12.02.2015 17:52

что мне больше понравилось, он сделал правильную приставку к той простопроге )))



RE: Нужна программа для реколоринга монстров - orzie - 13.02.2015 12:28

Image: 88673_5194e6c5ba05a.jpg


RE: Нужна программа для реколоринга монстров - Macron1 - 14.02.2015 00:02

http://forum.vcmi.eu/viewtopic.php?p=13870#13870

Выложил версию 0.0.2.
Теперь открыть DEF файл для редактирования можно только один раз, для работы с другим DEF надо перезагружать программу. Это такой костыль, чтобы не мучаться с очисткой памяти, вылетами и тп.
Также теперь при нажатии на цвет форма выбора цвета загружается уже с нажатым цветом в настройках.

Как и обещано было, добавил автоматическую замену цветов на основе ранее использованных палитр. Вроде работает.
UPD Но возможно, не получается то, что нужно:D
Похоже, пока замена в основном бесполезна и ничего не дает148
Все хорошо было в логике, на деле получается фигня. Надо будет думать, как это делать по-умному.


RE: Нужна программа для реколоринга монстров - orzie - 14.02.2015 10:28

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


RE: Нужна программа для реколоринга монстров - Macron1 - 14.02.2015 13:22

(14.02.2015 10:28)orzie Wrote:  и контролировать палитру исходного дефа

Вот в этом вся проблема:D Как заставить DEF Tool располагать цвета по порядку вхождения в картинку, а не как заблагорассудится?
Или это нужно входной BMP как-то обработать?

Выложил версию 0.0.3:
http://forum.vcmi.eu/viewtopic.php?p=13957#13957
Добавил опцию по диалогу выбора цвета.
Поменял алгоритм замены цвета, теперь он может и станет бесполезен совсемAb Буду думать, как это делать по уму. В инструкции написал про отстойность замены цветов


RE: Нужна программа для реколоринга монстров - orzie - 14.02.2015 16:24

Это нужно скачать дефтул 3.3, который я уже тут постил. Он присваивает всем кадрам палитру первого.

Палитру исходных BMP можно отслеживать при помощи бесплатной программы mtPaint. Там прямо по индексам можно всё делать и поцветово заменять палитру, если требуется.
По сути, ей можно точно так же пользоваться, как и программой по перекраске дефов, но шагов будет больше за счёт распаковки/запаковки, и нет пакетной обработки, т.е. каждый кадр отдельно.


RE: Нужна программа для реколоринга монстров - Macron1 - 01.03.2015 15:58

Еще мою программу можно использовать для удаления голубого контура на def с плохими исходниками.
Я меняю голубые цвета на (0,0,0) RGB, и в итоге DEF очищается от мусораAb


RE: Нужна программа для реколоринга монстров - Russia Punk - 07.03.2015 21:03

У меня при запуске плюёт ошибку кокойто библиотеки не хватает


RE: Нужна программа для реколоринга монстров - Macron1 - 07.03.2015 21:10

(07.03.2015 21:03)Russia Punk Wrote:  У меня при запуске плюёт ошибку кокойто библиотеки не хватает

Возможно. Программу я собирал с runtime библиотеками, но возможно, тебе нужна еще библиотека.
Поиши по имени файла в поиске, полно файлопомоек, на которых выложены подобные системные библиотеки, и положи ее в каталог с программой


RE: Нужна программа для реколоринга монстров - Russia Punk - 07.03.2015 23:35

Пробаю спс