Как ясно из названия, утилита позволяет перегнать картинку и виндошного формата BMP в формат дампа памяти TSConf.
На вход подаётся файл BMP, на выходе получаем два файла собственно SPR (дамп памяти) и PAL (палитра).
По у молчанию палитра обрезается до 64х цветов. Дабы не было в дальнейшем неожиданностей, почему тот или иной цвет преобразовался не корректно,
рекомендуется придерживаться следующей палитры:
Если добавить ключ --shim, то будут сохранены полные 256 цветов (256 градаций на компоненту преобразованные в 25 градаций на компоненту).
Так же для отладки и проверки правильность преобразования цветов и пикселей есть режим --debug. Можно перенаправить
результат работы в файл и там уже рассмотреть отчёт. Например:
- Code: Select all
bmp2tsconf.exe file.bmp --debug > debug.log
На выходе получим три файла file.spr, file.pal и собственно сам отчёт в debug.log
Утилита автоматически определяет количество используемых цветов. Если их меньше 16, то данные хранятся в формате 4 бита на точку, то есть в одном байте, сразу описываются цвета на 2х соседних точки. Если же цветов больше 16 и/или включен режим ШИМ, то на описание одной точки отводится все 8 бит (1 байт на точку).
Так же стоит помнить, что при отображении 16ц спрайтов, 0й цвет в палитре считается прозрачным. Об этом стоит помнить при использовании программы по типу PhotoShop. Эта «многомудрая» программа любит сортировать палитру по своему усмотрению, ни у кого не спрашивая. При этом передвинуть или изменить последовательность индексированных цветов не представляется возможным.
Например, нарисуем спрайт 16x16 белую рамку. Пурпурный фон будет у нас прозрачный цвет. Преобразуем в индексированные цвета и увидим, что 0й цвет не пурпурный, а белый.
Поэтому стоит помнить, что лучше сначала полностью залить спрайт нужным нам цветом (в данном случае пурпурным), преобразовать в индексированные цвета, а затем уже добавить остальные 15 или меньше из которых состоит спрайт.
После того как определились с палитрой и спрайт готов, сохраняем файл в формате BMP:
Утилита не поддерживает упаковку по RLE, поэтому снимите соответствующий чекбокс, в противном случае вы получите сообщение об ошибке
- Code: Select all
Error: Compressed file not supported yet.
Так же стоит снять чекбокс «Flip row order» (если он был установлен) в противном случает изображение будет перевёрнуто вверх ногами.
Далее выбираем 4bit если спрайт состоит из 16 (или меньше) цветов или выберите формат 8bit если цветов больше.
теперь выполним команду преобразования…
- Code: Select all
bmp2tsconf.exe file.bmp --debug > debug.log
…и получим искомые файлы.
Вот пример как выглядит наш файл, если включить режим 8bit:
А так, если задать 4bit:
Как видно 0й цвет у нас прозрачный, а 1м нарисована наша рамка.
Если открыть лог, то там более развёрнуто всё написано, что во что преобразовано:
- Code: Select all
BMP palette:
---------------------------------
BMP use calculated colors: 3
No # R G B R G B pentevo xRRrrrGG gggBBbbb
BMP color 0[#00] [#FF,#00,#FF] -> 24, 0, 24 -> 96, 24[#6018] 01100000 00011000
BMP color 1[#01] [#FF,#FF,#FF] -> 24, 24, 24 -> 99, 24[#6318] 01100011 00011000
BMP color 2[#02] [#00,#00,#00] -> 0, 0, 0 -> 0, 0[#0000] 00000000 00000000
Не смотря на работоспособность, утилита всё ещё альфа версия, если обнаружите глюки или ляпы, пишите, будем править.
Спасибо за внимание.