PDA

Просмотр полной версии : Шрифт и иже с ними в Splinter Cell Essentials


AlecsandroTores
07.06.2015, 17:03
Всем доброго времени суток. Предыстория. Когда-то давно увидел на Нотабеноид перевод Splinter Cell'а для псп. Заинтересовался. Написал чуваку с ником Darth 47 мол если что то потестирую перевод на предмет глюков, багов, ошибок текста т.д. Собсно он ответил, но говорит, что так и не смог найти шрифт и вставить текст не получиться. К сожалению куда бы я не обращался никто мне ничего дельного ответить не мог. В общем, надеюсь кто-нить здесь сможет мне помочь. Текст давно готов, но в тех. части, здравствуй дерево :dash:. Надеюсь на вашу помощь.:thank_you:

PS. Заранее благодарю.

ErikPshat
09.06.2015, 01:04
AlecsandroTores, в папке PSP_GAME/USRDIR/SYSTEM есть шрифты ARIALBD.TTF, BIOST___.TTF, GARABD.TTF.
Вы их удалять, подменять не пробовали, чтобы определить их воздействие на текстовую информацию в игре?

AlecsandroTores
09.06.2015, 21:37
Вот что ответил один из моих знакомых:
Смотрел давным давно. Эти шрифты нигде не используются. Их можно удалить и ничего в игре не изменится.

ErikPshat
10.06.2015, 21:40
084c8480 256х128x4=131072 алфавит
084cc4c0 256х128x4=131072 алфавит
0853ffc0 256х256x4=262144 глаз амплитуда кнопки
08570bc0 256х128x4=131072 кнопки
085c7da0 256х128x4=131072 фото

USRDIR\SYSTEM\MENUITEM\MENU_INGAME.RAW - 256 ширина х 128 высота х 4 канала = 131072 (байта)

10949

lupus
13.06.2015, 08:22
Эрик, шрифты в том же файле лежат?

ErikPshat
13.06.2015, 09:27
lupus, нет, я просто записал адресацию в памяти (на заметку). Шрифты как раз в открытом виде не лежат, они видать пожаты чем-то, может LZSS и т.п., а может зашифрованы. Я шрифт из памяти сдампил, но это ничего не даёт, т.к. код графического процессора. А в файлах его не нашел, там видно, что файлы шифрованы.

А вот остальные картинки текстур, кнопок, иконок, фоток лежат открыто в формате RAW с таким же расширением. Они открываются фотошопом в разных разрешениях. Я все картинки записывал в сообщение, но браузер перелистнул страницу и не сохранились записи ))) Там в основном картинки 4-ёх канальные с прозрачностью (32-бит), но некоторые 2-ух канальные в Альфа (16-бит) и некоторые 1-канальные (8-бит). Естессна все они имеют 8 бит на 1 канал.

Вычисляются картинки просто. Смотрим в хексе точный размер в байтах, делим на 4 (по количеству каналов) и делим на 128. По остатку определяем ширину 256 или 128. В мелких картинках извлекаем квадратный корень и т.п.

Например, хитрая картинка LOADINGPSP5551.RAW в USRDIR\SYSTEM\ === 278528 байт имеет 2 Альфа-канала 512х272

10952
10951

lupus
14.06.2015, 21:24
Я как-то пытался шрифты отыскать. 100% есть какое-то сжатие.

ErikPshat
17.06.2015, 05:29
lupus, да, бинарники пожаты потоковым архиватором, но без хедеров. Если в начало к бинарнику добавить хедер 4 байта от GZIP - 1F8B0880, то файлы распаковываются, но с ошибкой CRC. Думаю это из-за того, что в конце файла эта информация так же отрезана (последние 8 байт файла GZIP), там 4 последних байта должны указывать на размер распакованного файла, а предпоследние 4 байта должны указывать контрольную сумму CRC-32 распакованного файла.

Короче, извлекаются с вполне читабельным кодом (269кб) или картинками (272кб - 512х272 2 канала).
Но т.к. сами бинарники 2-3-4 мегабайта, то извлекается что-то одно, значит это контейнер с несколькими архивами.

Файлы формата DSL - это тоже архивы без хедера. По Magik заголовка 00400000 можно сделать вывод, что это TAR архив с отрезанным заголовком 0х200.


USRDIR\SYSTEM\S_0_0_MENU.BIN

Каждый архив находится по поиску 00789C + спереди 3 байта + вставка хедера 1F8B0880


0x00000000 - B02A 01 00789C //1-ый архив gz
0x00012AB4 - 9003 02 00789C //2-ой архив gz
0x00032E48 - 0DC2 01 00789C //3-ий архив gz
0х0004F059 - 5CF9 01 00789C //4-ый архив gz
0x0006E9B9 - DBD8 01 00789C //5-ый архив gz
0x0008C298 - 2335 02 00789C //6-ой архив gz
0x000AF7BF - DF8B 02 00789C //7-ой архив gz
0x000D83A2 - A230 02 00789C //8-ой архив gz
0x000FB448 - 1C22 02 00789C //9-ый архив gz
0x0011D668 - 1CB3 01 00789C //10-ый архив gz
0x00138988 - 2508 01 00789C //11-ый архив gz
0x001491B1 - 4E66 00 00789C //12-ый архив gz