Вложений: 1
Цитата:
Цитата:
http://6.firepic.org/6/images/2015-0...8pdwp7ckgk.jpg Так же добавил оригинал во вложения. |
Цитата:
|
Вложений: 1
Re-Education, непонятно, в чём смысл прикреплять к картинке ссылку, ведущую в никуда, вернее тупо на главную http://firepic.org/ :scratch_one-s_head:
В общем вручную вытащил картинку шрифта из русифицированной ПК версии POPWW. Правда отображался шрифт под наклоном ровно 45 градусов. Я в фотошопе убрал наклон и получилась чёткая текстура, правда конечно программный код не оригинал, но думаю довольно близко приближённый к оригиналу. В фотошопе хорошо видно отображение по каналам - можно посмотреть и отдельно редактировать: 3 канала RGB, Альфа-канал со шрифтом или вместе все 4 канала, где отчётливо видно, как отделяется каждый символ. |
Цитата:
Тот шрифт что ты сейчас выложил не подойдет по моему. Там еще необходимо дорисовать клавиши направления, левый и правый триггеры ,кнопку select и кнопки крест, квадрат, треугольник и круг. Которые должны распологаться, судя по тому что видно в деббагере, тут: http://firepic.org/images/2015-07/29/bgzkwd3gapch.jpg а на твоей картинке просто физически не остается места, вот : http://6.firepic.org/6/images/2015-0...2zfqo8sxz7.png |
Цитата:
А русифицированный шрифт от POPTTT странно как-то сделан и не совсем обдуманно. Там же куча места есть, где ИЕРОГЛИФЫ. Ну в общем с картинкой шрифтов проблем думаю не будет. Её можно и самому нарисовать, как угодно. С этим разобрались. Главная проблема, как этот шрифт заархивировать в LZ (LZO, LZSS, Custom LZ или фиг его знает), чтобы PSP смогла его разархивировать. И ещё нужно понять, каким образом и где записаны координаты каждой буквы. |
Цитата:
В общем вся надежда на тебя;) и чем смогу помогу, просто я не знаю как это делать:unknw::blush: Ну я насчет: Цитата:
|
Re-Education, короче, нужно искать метод архивации на примере файла MenuInGame_wow_ff0e01f5.bin
Цитата:
|
Цитата:
BumbleJake добавил 30.07.2015 в 05:09 Цитата:
|
А тем временем, в сети появилась русская версия Persian Rug: Persian Rug Rus v2.5beta.zip
|
Цитата:
Scorpeg добавил 31.07.2015 в 01:04 Цитата:
|
Цитата:
|
Цитата:
В принципе там разновидность паковщика типа LZ, видел люди писали простенький скрипт в QuickBMS для распаковки разновидностей: lzo1x, lzo2a, lz77wii, lzma, lzss0, lzss, lz4, LZS, правда для других игр. Цитата:
|
Цитата:
Тем не менее, я рад, что узкому кругу лиц данное под силу :) Цитата:
|
Цитата:
Цитата:
|
Вложений: 2
Цитата:
Короче, начинаю включать соображалку... т.к. методом тыка ничего не получается. Вниматель и вдумчиво прочтите всё, что я написал ниже. В общем долго думал над этой проблемой и пришёл к выводу, что Persian Rug всё-таки отрабатывает нормально и выдёргвает шрифт из PSP версии правильно. Просто на PSP этот код обрабатывается другим образом, чем на PC. В PC версии лежит обычный шрифт TGA с нормальным для компьютера форматом 32 бит с прозрачностью(4 слоя), т.е. каждый пиксель записывается 4-мя байтами - RGBA (Red-Green-Blue-Alpha), где каждый байт отвечает за один из цветов, а в совокупности дают цвет одного пикселя. В PSP версии шрифт записан 1 байтом на каждый пиксель - 8bpp (8 bite per pixel), т.к. 1 байт = 8 бит. Отсюда и получается, что картинка шрифта 512х128=65536 байт, без всяких дополнительных слоёв. То есть, это по сути и есть 1 слой Альфа-канала. По другому - картинка в индексированных цветах. Я уже несколько раз вытаскивал через GE-дебаггер PPSSPP из памяти эту картинку и каждый раз она выползала одинаковая байт-в-байт, я её (FONT.bin) выкладывал в этом посту: https://www.pspx.ru/forum/showpost.php?p=1097938 Если сравнить в хексе картинку из дебаггера и картинку, извлечённую с помощью Persian Rug из файла MenuInGame_wow_ff0e01f5.bin, то можно заметить, что они чем-то похожи. А просто-напросто тем, что в памяти эмулятора она перевёрнута, т.е. тот код, который есть в конце, теперь находится вначале. И ещё в файле TGA есть дополнительные 18 байт заголовка формата, который можно скопировать в голый код картинки дебаггера и превратить её так же в TGA, дописав расширение *.tga. Короче, картинка извлекается вполне правильная, просто обычные графические просмотрщики неправильно их отображают из-за специфического формата файла. Взгляните на картинку внимательно, вот я её смасштабировал и отразил по вертикали, чтобы визуально лучше воспринималась: Если приглядеться, на картинке изображение как-бы повторяется 4 раза по горизонтали. Это значит, что ширина картинки не 512 пикселей, а 4 раза по 128. Это намекает на то, что код картинки не имеет последовательную структуру, а именно не 512 пикселей подряд в одном ряду. Ведь графические редакторы считывают информацию последовательно и каждый последующий ряд пикселей автоматически переносится на следующий ряд в зависимости от указанной ширины изображения. Здесь же видно, что код картинки выровнен по 128 байт (пикселей). Есть такое понятие в программировании, как alignment, причём я как-то встречал такое выравнивание по 128 байт в формате TIM2 для PS2. И ещё, я не стал раскрашивать картинку в клеточку по горизонтали, но если присмотреться, то можно посчитать, что по вертикали картинка имеет 16 рядов. 128:16=8. Получается, что картинка по вертикали имеет выравнивание по 8 пикселей, а по горизонтали по 128. (Но!!!, в программировании и вообще в мобильной системе PSP я встречал обычно выравнивание по 16 байт или по 8. И этому есть подтверждение..., если учесть вертикальное выравнивание по 8 пикселей, то заметны во многих рядах пустые пробелы по горизонтали, например в каждом красном квадратике верхний правый угол, там по ширине примерно 8 пикселей пустоты.) Вот ещё соображения. Вот скриншот шрифта в хексе. Слева мы видим код, а справа его визуальное отображение. Если полистать весь файл, то справа мы увидим интересную картину репина. И это не потому, что слева код так удачно случайным образом сложился, что справа так красиво видны начертания прямых, косых и закруглённых фигур. Ну да, это и есть начертания наших букв алфавита! Дело в том, что мой хекс-редактор обычно всегда настроен на отображение 16-ти вертикальных столбцов, от 0 до 15 в коде или от 0 до F в визуальном отображении справа. Но если я изменю ширину редактора, например на 10 или 32 столбца, то справа вся картина репина рассыпется. Отсюда вывод, что выравнивание по горизонтали исчисляется 16-ю пикселями, возможно и 8-ю. Так же, я отделил красной линией код с промежутком по 8 строк и это де-факто. Тут сразу видно, что очертания символов вырисовываются каждые 8 вертикальных строк. В общем получается, что картинка складывается из 16 байт по горизонтали и 8 байт по вертикали, затем таким же образом справа прикрепляется следующая картинка, потом следующая и т.д, пока по горизонтали не наберётся 512 байт. Это значит, что 512:16=32 картинки нужно сложить справа, чтобы получить одну полосу рисунка в 8 байт по высоте. Затем ниже складывается следующая горизонтальная полоса, которая отрисовывает продолжение начертания символов. Что я хотел сказать? То, что в картинке 512х128 графический редактор обычно отрисовывает последовательно 512 пикселей в строке и так же последовательно продолжает переносить каждую строку. А у нас получается первая строка 16 байт, потом переходит на вторую строку 16 байт, потом на третью и так 8 строк по 16 байт. Затем 9-ая строка должна приклеиваться справа к первой строке, 10-ая строка ко 2-ой, 11-ая строка к 3-ей. То есть, через каждые 8 строк картинка дополняется по 16 байт к первым 8-ми строкам, пока не наберётся 512 байт в восьми строках. Короче, надеюсь вы всё поняли, что я хотел сказать. Думаю теперь сами справитесь ;) |
хоспади ты боже мой)
http://s009.radikal.ru/i308/1508/b7/289df8b28b00.png |
riku.kh3, балин, и зачем я так много расписывал? Ты нашёл клей "Момент" или просто подогнал заголовок?
|
Основы основ там, тайлами 16x8 строится изображение. Думал свизлинг у вас какой, помощь нужна, а оказывается...
|
Цитата:
|
Назад то оно запаковывается? Или смысла этот FONT.bin править сейчас ноль?
|
Текущее время: 04:48. Часовой пояс GMT +3. |
Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2025, vBulletin Solutions, Inc. Перевод: zCarot
PSPx Forum - Сообщество фанатов игровых консолей.