Ну как-то так (слева 16 цветов, справа с изменением 1-го цвета каждую строку):
Не могу сказать, что результат всегда получается хорошим. Иногда возникают артефакты в виде полосок, пока думаю, как с ними бороться.
Параметры, которые влияют на итоговую картинку:
Initial palette lines - кол-во строк для генерации исходной палитры.
Prev lines - кол-во строк выше текущей обрабатываемой строки, которые участвуют в процессе генерации нового цвета.
Next lines - кол-во строк ниже текущей обрабатываемой строки, которые участвуют в процессе генерации нового цвета.
Max change count - кол-во цветов, которые можно поменять в строке (это на случай, если вдруг научитесь менять два цвета за раз, а не один).
Названия параметров не особо интуитивные, если предложите получше, то готов исправить.
На выходе обычный SPR или RMB файл + дополнительный файл с расширение PALS, который описывает изменения палитры. Структура PALS файла:
Самый первый байт содержит значение 1 или 2, определяющее кол-во цветов, которые можно поменять в строке. Далее до конца файла идут пары байт, описывающие изменения палитры. Первый байт пары определяет индекс цвета, который нужно поменять, второй байт определяет значение цвета, на которое нужно поменять. PALS файл может быть либо 511 байт, либо 1021 байт, в зависимости от того, какое значение выбрано в Max change count.








Ответить с цитированием
