TGA converter

Сабжи короче

Postby TS-Labs » Mon, 21.04.2014 00:24:05

Тулза для перегонки картинков в 256с.

Инструкция.
1. Качаем xnview.
2. Ресайзим в нем картинку до нужного разрешения.
3. Конвертим в нужное количество цветов: Image -> Convert to colors. (Вопрос: почему это нельзя сделать автоматически? Ответ: потому что конверсия в кастрированное число цветов - вещь тонкая, и надо контролировать результат визуально.) "Нужное" здесь - либо 256, если хотим статичное изображение с максимальным количеством цветов. Можно меньшее кол-во, например 128, тогда 128 ячеек палитры будет занято под картинку (скажем, в качестве фона), а еще 128 остается под спрайты поверх. Если нам нужно 16 цветов - сразу конвертим в 16 (но сохраняем все равно, как 256). Тогда и только тогда <file>.pix4 будет содержать правильные данные. Если исходный файл содержал более 16 цветов, они просто обрежутся и изображение в <file>.pix4 будет искажено.
4. Сохраняем: File -> Save as, выбираем формат TGA - Truevision Targa. В опциях НЕ включаем компрессию и поворот.
5. Запускаем конвертилку: tga2ts.exe <name>.tga.
6. На выходе получаем файлы <name>.tga.pal (содержащий палитру, готовую для загрузки в CRAM тсконфы) и <name>.tga.pix (содержащий пиксели для режима 256с).
7. Если нужна палитра для видео-ЦАП, добавляем -v после имени файла. В этом случае levels.map будет проигнорирован, а компоненты цвета для сконверченной палитры берутся из бит 3-7 исходной палитры.

Замечание 1.
В каталоге с tga2ts.exe может лежать файл levels.map, содержащий кривую преобразования уровней. При помощи нее вы сможете например правильно выставить гамму с реалом или добиться преобразования в цвета без шима.
0
10
20
30
40
50
60
70
80
90
100
110
120
130
140
150
160
170
180
190
200
210
220
230
240

Каждая строка должна содержать только число в диапазоне 0-255, числа обязаны идти по нарастающей.
Каждое число означает нижний порог текущей градации палитры тсконфы от 0 до 24 по порядку.
В примере выше:
0 - должен быть тут всегда, все что 0-9 в исходной палитре станет 0 в тсконфе
10 - значения от 10 до 19 будут сконверчены в значение палитры 1
20 ...
...
230 - ...
240 - значения выше 240 будут сконверчены в значение палитры 24


Замечание 2.
Поскольку xnview всегда сохраняет изображение с индексированными цветами в 8 бит, палитра всегда содержит 256 элементов. Те цвета, которые незадействованы, если выбрано менее 256 цветов, идут в конце и содержат нули. Поэтому файл <name>.tga.pal всегда будет иметь длину 512 байт (объем CRAM), а какую часть из него использовать - решаете вы.

Замечание 3.
Файл <name>.tga.pix содержит ровно те пиксели, из которых состоит картинки, не выравненные по 512 байт, не обрезанные, не дополненные пустыми байтами. Т.е. если картинка имела размер 73х115 пикселей, то файл <name>.tga.pix содержит 115 раз по 73 байта, т.е. 8395 байт. Как его грузить и как его укладывать в памяти - ваша проблема. (Апдейт: сейчас добавлено выравнивание по границе 16 бит.)

Замечание 4.
Тулза проверяет формат исходного файла на кошерность и вывалится при несоответствии. Если это произошло, а вы уверены что сконвертили картинку в правильный формат, пришлите ее сюда для исследования.

Ну и как пример - набор исходных, промежуточных файлов и конечного результата в прилагаемом архиве.
Attachments
test_tga2ts.zip
(713.21 KiB) Downloaded 810 times
Last edited by TS-Labs on Wed, 17.09.2014 19:21:47, edited 1 time in total.
User avatar
TS-Labs
 
Posts: 5398
Joined: Thu, 26.07.2012 01:29:56

Postby g0blinish » Mon, 21.04.2014 05:30:28

TS-Labs wrote:Тулза для перегонки картинков в 256с.

TS-Labs wrote:1. Качаем xnview.

ВзаимоиSKLючающие параграфы детект..
[x] No Screenshot
User avatar
g0blinish
Упырь говнофорума
 
Posts: 3641
Joined: Tue, 18.06.2013 10:59:01

Postby VBI » Mon, 21.04.2014 09:03:10

Thanks!
User avatar
VBI
 
Posts: 1965
Joined: Mon, 03.06.2013 09:20:29

Postby VBI » Tue, 29.04.2014 15:50:06

Сигнатура проблемы:
Имя события проблемы: BEX
Имя приложения: tga2ts.exe
Версия приложения: 0.0.0.0
Отметка времени приложения: 535432cc
Имя модуля с ошибкой: MSVCR100.dll
Версия модуля с ошибкой: 10.0.40219.1
Отметка времени модуля с ошибкой: 4d5f0c22
Смещение исключения: 0008af3e
Код исключения: c0000417
Данные исключения: 00000000
Версия ОС: 6.1.7601.2.1.0.256.1
Код языка: 1049
Дополнительные сведения 1: 6830
Дополнительные сведения 2: 6830f61656b2e4c3265a778052e61508
Дополнительные сведения 3: 324b
Дополнительные сведения 4: 324bc38146068fe3c7e6707ebaa32498

win 7 64 блин) :bang:
User avatar
VBI
 
Posts: 1965
Joined: Mon, 03.06.2013 09:20:29

Postby VBI » Tue, 29.04.2014 15:53:38

грабельки)
User avatar
VBI
 
Posts: 1965
Joined: Mon, 03.06.2013 09:20:29

Postby TS-Labs » Tue, 29.04.2014 18:14:08

Еще бы шаги неплохо узнать.
User avatar
TS-Labs
 
Posts: 5398
Joined: Thu, 26.07.2012 01:29:56

Postby VBI » Tue, 29.04.2014 20:35:10

любой запуск - такой вылет, даже из папки, даже с совместимостью с ХР
User avatar
VBI
 
Posts: 1965
Joined: Mon, 03.06.2013 09:20:29

Postby Sergey78 » Tue, 29.04.2014 20:54:39

У меня тоже падает. Win7 x64.
И на win7 x32 падает.
Sergey78
 
Posts: 422
Joined: Wed, 05.09.2012 20:04:40

Postby TS-Labs » Wed, 30.04.2014 17:12:06

Из предположений: не может найти длл-ку, попробуйте положить в папку с прогой.
Attachments
msvcr100.zip
(403.01 KiB) Downloaded 804 times
User avatar
TS-Labs
 
Posts: 5398
Joined: Thu, 26.07.2012 01:29:56

Postby VBI » Wed, 30.04.2014 17:35:24

тю
Сигнатура проблемы:
Имя события проблемы: BEX
Имя приложения: tga2ts.exe
Версия приложения: 0.0.0.0
Отметка времени приложения: 535432cc
Имя модуля с ошибкой: MSVCR100.dll
Версия модуля с ошибкой: 10.0.40219.325
Отметка времени модуля с ошибкой: 4df2be1e
Смещение исключения: 0008af3e
Код исключения: c0000417
Данные исключения: 00000000
Версия ОС: 6.1.7601.2.1.0.256.1
Код языка: 1049
Дополнительные сведения 1: 6830
Дополнительные сведения 2: 6830f61656b2e4c3265a778052e61508
Дополнительные сведения 3: 324b
Дополнительные сведения 4: 324bc38146068fe3c7e6707ebaa32498
User avatar
VBI
 
Posts: 1965
Joined: Mon, 03.06.2013 09:20:29

Postby Buyan » Wed, 30.04.2014 18:24:36

У меня пашет на Win7 x64
Попробуйте это - http://forum.oszone.net/thread-176149.html
Buyan
 
Posts: 159
Joined: Fri, 08.03.2013 19:14:56

Postby TS-Labs » Wed, 30.04.2014 19:01:31

VBI, а ты с файлом запускаешь?
User avatar
TS-Labs
 
Posts: 5398
Joined: Thu, 26.07.2012 01:29:56

Postby g0blinish » Wed, 30.04.2014 19:57:30

о5 Дункан Маклауд издевается над кукушками..
[x] No Screenshot
User avatar
g0blinish
Упырь говнофорума
 
Posts: 3641
Joined: Tue, 18.06.2013 10:59:01

Postby TS-Labs » Wed, 30.04.2014 22:08:17

Я перезалил с выводом хелпа если не указан файл.
User avatar
TS-Labs
 
Posts: 5398
Joined: Thu, 26.07.2012 01:29:56

Postby VBI » Fri, 02.05.2014 12:31:13

TS-Labs, помогло. сенкс!
User avatar
VBI
 
Posts: 1965
Joined: Mon, 03.06.2013 09:20:29

Postby VBI » Fri, 02.05.2014 16:24:15

:ura:
Attachments
test4.sna
(128.03 KiB) Downloaded 905 times
User avatar
VBI
 
Posts: 1965
Joined: Mon, 03.06.2013 09:20:29

Postby TS-Labs » Fri, 02.05.2014 18:37:18

Гы, воплощение слогана "Scene is powered by СИСЬКЕ!" :snowball:
User avatar
TS-Labs
 
Posts: 5398
Joined: Thu, 26.07.2012 01:29:56

Postby VBI » Fri, 02.05.2014 19:21:52

Качаются они, панимаишь :)
User avatar
VBI
 
Posts: 1965
Joined: Mon, 03.06.2013 09:20:29

Postby TS-Labs » Wed, 02.07.2014 18:54:23

Добавил генерилку 4битного битмапа в отдельный файл.
User avatar
TS-Labs
 
Posts: 5398
Joined: Thu, 26.07.2012 01:29:56

Postby TS-Labs » Wed, 17.09.2014 19:22:26

Добавил генерение палитры для видео-ЦАПа (ключ -v после имени файла).
User avatar
TS-Labs
 
Posts: 5398
Joined: Thu, 26.07.2012 01:29:56

Postby VBI » Wed, 17.09.2014 20:33:00

извиняюсь... ЧО?
User avatar
VBI
 
Posts: 1965
Joined: Mon, 03.06.2013 09:20:29

Postby TS-Labs » Wed, 17.09.2014 22:39:57

7. Если нужна палитра для видео-ЦАП, добавляем -v после имени файла. В этом случае levels.map будет проигнорирован, а компоненты цвета для сконверченной палитры берутся из бит 3-7 исходной палитры.
User avatar
TS-Labs
 
Posts: 5398
Joined: Thu, 26.07.2012 01:29:56

Postby WBC » Wed, 21.09.2016 18:38:48

Так как жратвы в общаге нет делать было натурально нефиг, то решил поковырять tga2ts и даже что-то из этого вышло :)

фиксы:
  • палитра под VDAC идет с установленным 15-м битом
  • поправлен баг с выходом пикчи вверх ногами
  • добавил выход палитры для 16c в отдельный файл

Тащить отсюда (ACHTUNG: внутре нет levels.map, так что пилить самому\искать выше ;))
--wbcbz7
User avatar
WBC
 
Posts: 302
Joined: Fri, 19.09.2014 10:23:23
LOCATION: omsk XOR nsk

Postby VBI » Thu, 22.09.2016 09:55:09

Спасибо!
User avatar
VBI
 
Posts: 1965
Joined: Mon, 03.06.2013 09:20:29

Postby WBC » Thu, 22.09.2016 19:05:33

еще один апдейт:
  • levels.map теперь необязателен (дефолтная таблица уже встроена в прогу, но при наличии levels.map она будет переопределена)
  • добавил выравнивание картинки на границу 16 бит (для DMA, можно отключить ключиком -a)
  • расширен вывод проги (теперь выводит питчи картинки и прочую инфу)

Кстати, о питчах - делим их на два, отнимаем единицу и можно загонять в DMALen :)
--wbcbz7
User avatar
WBC
 
Posts: 302
Joined: Fri, 19.09.2014 10:23:23
LOCATION: omsk XOR nsk

Next

Return to Utilities

Who is online

Users browsing this forum: No registered users and 1 guest

cron

x