Spacebase DF9, шрифты |
Добро пожаловать, гость ( Вход | Регистрация )
Spacebase DF9, шрифты |
Siberian GRemlin |
Dec 15 2013, 15:15
Сообщение
#1
|
Advanced Member Группа: CTPAX-X Сообщений: 533 Регистрация: 4-February 08 Пользователь №: 2 Спасибо сказали: 221 раз(а) |
В душевных метаниях наткнулся на новую игру, идея которой мне понравилась, и решил заняться её переводом в спокойной обстановке (её пока не спиратили [игра находится ещё в разработке] и как результат — в рунете о ней не знают, в том числе на ZoG → никто не будет клянчить сделать перевод быстрее, а «переводчики» не будут выпускать машинный перевод с правками). Т.о. мои стремления не улетучатся.
На последние кровные купил её несколько часов назад и чуток поковырялся. Текст без проблем можно редактировать (второй снимок, нижняя строка), но вот шрифты с наскоку взять не удалось. Шрифт представляет из себя текстуру с разметкой, и если с разметкой всё понятно, кроме пары значений, то с самой текстурой сложнее. Как я понял: после заголовка идёт сжатый zlib'ом блок графических данных, которые верно считать пока не удалось. Буду рад любым советам по обработке этой графики. Не исключено, что я где-то стормозил. Образцы. Добавлено. Подозреваю, что графические данные это тело DDS без заголовка. |
Axsis |
Dec 18 2013, 23:44
Сообщение
#2
|
Advanced Member Группа: CTPAX-X Сообщений: 121 Регистрация: 6-February 08 Пользователь №: 374 Спасибо сказали: 149 раз(а) |
Та формат то нормальный, просто почти в каждой проге его поддержка реализована не на 100% - там поддерживаются одни фишки формата, а там - другие.
Например, столкнулся с необходимостью задать маску каналов - это чтобы не перетасовывать местами байты, когда порядок каналов, например, ABRG. Из просмотрщиков только IrfanView справился, и кажется, nvidia texture tools правильно перегнал в tga (но там только конвертер, просмотра нет). Ни XnView, ни Paint.NET, ни фотошоп с плагинами от той же nvidia, ни Imagine не смогли правильно отобразить такой файл - он либо не открывался совсем, либо каналы были перепутаны (то есть маска просто игнорировалась). А в DDS таких фишек, замечу стандартных и документированных, дофига, вот только не очень-то разработчики графических утилит смотрят в ту документацию... Наиболее адекватной и полной поддержкой, как мне показалось, обладают как раз утилитки от nvidia. Так что попробуй ими dds->tga и потом обратно. nvddsinfo из комплекта может показать специфическую информацию из заголовка в удобоваримой форме (можешь проверить что там у тебя фотошоп дописывает/не дописывает в заголовок) Сконвертировать текстуры бесплатно, без регистрации и SMS и без скачивания tex2dds.bms CODE IDstring "TEX " Set MEMORY_FILE compressed c3EJVqhhYGBgF+BgQAeMDKQBBSBmwadAAFMIAA== # DDS header ComType unzip_dynamic Get FNAME filename Get W short Get H short GoTo 0x14 Get ZSIZE long Get DATASIZE long PutVarChr MEMORY_FILE 0x0c H long PutVarChr MEMORY_FILE 0x10 W long PutVarChr MEMORY_FILE 0x14 DATASIZE long PutVarChr MEMORY_FILE 0x54 0x35545844 long # DXT5 Log MEMORY_FILE2 0 0x80 MEMORY_FILE Append CLog MEMORY_FILE2 0x20 ZSIZE DATASIZE Append String FNAME += ".dds" Math DATASIZE += 0x80 Log FNAME 0 DATASIZE MEMORY_FILE2 ну и convert_all.cmd CODE for %%I in (*.tex) do "c:\Program Files\QuickBMS\quickbms.exe" tex2dds.bms "%%I" . :: не потеряй точку в конце первой строки - её плохо там видно :) Спасибо сказали:
|
Упрощённая версия | Сейчас: 26th April 2024 - 08:40 |