Вход

Просмотр полной версии : [Готово] Русификация игры "Prince of Persia: Revelations"


Страницы : 1 2 [3] 4

Re-Education
29.07.2015, 11:30
В русифицированной ПК версии бинарник извлекается немного кривой, вроде не хватает спереди нулевого байта. При добавлении нулевого байта и сохранении, прога Persian Rug ругается, что "файл занят другим приложением", поэтому никак не удаётся его открыть, даже перезагрузка не помогает.



Попробуйте извлечь на своём компе текстурки из папки "POPWW_PC_RUS" с помощью Persian Rug: POPWW_FONTS_PC.rar (http://www.pspx.ru/forum/attachment.php?attachmentid=11015)

У меня так же ругается.


Как и говорил ранее (http://www.pspx.ru/forum/showpost.php?p=1097938&postcount=149), один и тот же шрифт присутствует в 6-ти файлах.

В PSP версии, картинка должна быть так же 32-битная (4 канала), только 512х128.
512 х 128 х 4 = 262144 байта (256kb).

с русифицированной пк версии POP Warrior Within не извлекается. но просмотрев пк версию POP The Two Thrones пришел к выводу что шрифты идентичны и расположены в тех же файлах что и в POP Warrior Within и оттуда я смог вырвать нужную русифицированную текстурку:

http://6.firepic.org/6/images/2015-07/29/pm8pdwp7ckgk.jpg

Так же добавил оригинал во вложения.

Re-Education
29.07.2015, 11:37
нужно в PSP версии разгадать метод архивации LZ, иначе мы не сможем ничего вытащить и обратно засунуть.

Вот в этом то и проблема. В том чтобы уменьшить готовую текстурку от пк версии не составит труда, но вот как все это собрать обратно в bin-ы и далее уже в bf, для того чтоб работало, не понятно.:blush:

ErikPshat
29.07.2015, 20:51
Re-Education, непонятно, в чём смысл прикреплять к картинке ссылку, ведущую в никуда, вернее тупо на главную http://firepic.org/ :scratch_one-s_head:

В общем вручную вытащил картинку шрифта из русифицированной ПК версии POPWW. Правда отображался шрифт под наклоном ровно 45 градусов. Я в фотошопе убрал наклон и получилась чёткая текстура, правда конечно программный код не оригинал, но думаю довольно близко приближённый к оригиналу.

http://6.firepic.org/6/images/2015-07/29/m72zfqo8sxz7.png

В фотошопе хорошо видно отображение по каналам - можно посмотреть и отдельно редактировать: 3 канала RGB, Альфа-канал со шрифтом или вместе все 4 канала, где отчётливо видно, как отделяется каждый символ.

Re-Education
29.07.2015, 21:15
Re-Education, непонятно, в чём смысл прикреплять к картинке ссылку, ведущую в никуда, вернее тупо на главную http://firepic.org/ :scratch_one-s_head:


Исправил. Извини не заметил.


Тот шрифт что ты сейчас выложил не подойдет по моему. Там еще необходимо дорисовать клавиши направления, левый и правый триггеры ,кнопку select и кнопки крест, квадрат, треугольник и круг. Которые должны распологаться, судя по тому что видно в деббагере, тут:

http://firepic.org/images/2015-07/29/bgzkwd3gapch.jpg


а на твоей картинке просто физически не остается места, вот :

http://6.firepic.org/6/images/2015-07/29/m72zfqo8sxz7.png

ErikPshat
29.07.2015, 21:29
а на твоей картинке просто физически не остается местаНу это не моя картинка, а тех русификаторщиков, которые переводили POPWW :)
А русифицированный шрифт от POPTTT странно как-то сделан и не совсем обдуманно. Там же куча места есть, где ИЕРОГЛИФЫ.
Ну в общем с картинкой шрифтов проблем думаю не будет. Её можно и самому нарисовать, как угодно. С этим разобрались.

Главная проблема, как этот шрифт заархивировать в LZ (LZO, LZSS, Custom LZ или фиг его знает), чтобы PSP смогла его разархивировать.
И ещё нужно понять, каким образом и где записаны координаты каждой буквы.

Re-Education
29.07.2015, 21:41
Главная проблема, как этот шрифт заархивировать в LZ (LZO, LZSS, Custom LZ или фиг его знает), чтобы PSP смогла его разархивировать.
И ещё нужно понять, каким образом и где записаны координаты каждой буквы.

Это да. Но если честно я в этом точно вообще никак не силен. :blush: В том то и дело я могу помочь разве, что нарисовать эту текстурку и перевести текст, который найду на русский согласно алфавиту который составим в этой текстуре. Потому как еще не обдумал рисовать весь алфавит заново или просто переделать немного и печатать транслитом.

В общем вся надежда на тебя;) и чем смогу помогу, просто я не знаю как это делать:unknw::blush: Ну я насчет:
Главная проблема, как этот шрифт заархивировать в LZ (LZO, LZSS, Custom LZ или фиг его знает), чтобы PSP смогла его разархивировать.
И ещё нужно понять, каким образом и где записаны координаты каждой буквы.

Эрик, не мог бы ты мне скинуть файлы из папки Menu с пк версии игры чтоб я попробовал расшифровать по какому принципу записаны координаты каждой буквы до того как начну перерисовывать текстуру? Просто разные версии игр могут быть по разному русифицированны.

ErikPshat
29.07.2015, 23:21
Re-Education, короче, нужно искать метод архивации на примере файла MenuInGame_wow_ff0e01f5.bin

Эрик, не мог бы ты мне скинуть файлы из папки Menu с пк версии игрыПожалуйста: http://rghost.ru/7RWVsLXBt

BumbleJake
30.07.2015, 05:09
И ещё нужно понять, каким образом и где записаны координаты каждой буквы.вооот! Я думал над этим ещё с самого начала, когда мы начали архивы капать. Почему в каждом варианте шрифтов, текстура последних такая разная везде? И как быть, если мы начнем русифицировать, со шрифтом, точнее, как его приучить сопоставлять картинки букв с написанием текста?

BumbleJake добавил 30.07.2015 в 05:09
Re-Education, короче, нужно искать метод архивации на примере файла MenuInGame_wow_ff0e01f5.binА есть какие-нибудь пути поска? Просто я даже не знаю с чего можно начать. Единственным вариантом, как мне показалось, написать разработчику "Jade Tools", чтобы тот свой софт оптимизировал.

ErikPshat
30.07.2015, 23:18
А тем временем, в сети появилась русская версия Persian Rug: Persian Rug Rus v2.5beta.zip (http://www.pspx.ru/forum/attachment.php?attachmentid=11020)

Scorpeg
31.07.2015, 01:04
вооот! Я думал над этим ещё с самого начала, когда мы начали архивы капать. Почему в каждом варианте шрифтов, текстура последних такая разная везде? И как быть, если мы начнем русифицировать, со шрифтом, точнее, как его приучить сопоставлять картинки букв с написанием текста?

BumbleJake добавил 30.07.2015 в 05:09
А есть какие-нибудь пути поска? Просто я даже не знаю с чего можно начать. Единственным вариантом, как мне показалось, написать разработчику "Jade Tools", чтобы тот свой софт оптимизировал.
Да всё просто, идешь в отладчик и смотришь как работает :) Потом пишешь депакер. Я так делал для персоны2, ниче сложного. :blush: Полдня правда ушло.

Scorpeg добавил 31.07.2015 в 01:04
А тем временем, в сети появилась русская версия Persian Rug: Persian Rug Rus v2.5beta.zip (http://www.pspx.ru/forum/attachment.php?attachmentid=11019)
Твоя работа?

Re-Education
31.07.2015, 01:56
Да всё просто, идешь в отладчик и смотришь как работает :) Потом пишешь депакер. Я так делал для персоны2, ниче сложного. :blush: Полдня правда ушло.

Извини конечно, но мы повторюсь,не ромхакеры! Огромное спасибо тебе за помощь,но лично я был бы признателен тебе, за помощь Эрику в нелегком деле. Просто без хорошего(по моему мнению ты таким являешься)программиста дело пойдет не очень быстро. Эрик извини,я не хочу сказать что ты этого не знаешь. Просто я думаю, что чем больше людей подключено к теме, значит проект скорее завершится.

ErikPshat
31.07.2015, 02:28
Да всё просто, идешь в отладчик и смотришь как работает :) Потом пишешь депакер. Я так делал для персоны2, ниче сложного. :blush: Полдня правда ушло.
Ну да, всё просто :D Замучаешься читать отдебаженный код, там наверняка вызывается откуда-то архивная утилита, но ведь в коде ты этого напрямую не увидишь. Муторное это занятие по моему расхожему мнению :)
В принципе там разновидность паковщика типа LZ, видел люди писали простенький скрипт в QuickBMS (http://aluigi.altervista.org/quickbms.htm) для распаковки разновидностей: lzo1x, lzo2a, lz77wii, lzma, lzss0, lzss, lz4, LZS, правда для других игр.

Твоя работа?
Ну так моя роспись стоит в "Опциях" ;) Когда находишься в ступоре, заняться бывает нечего.

BumbleJake
31.07.2015, 07:39
Да всё просто, идешь в отладчик и смотришь как работает Потом пишешь депакер. Я так делал для персоны2, ниче сложного. Полдня правда ушло.
...это было сказано человеку, который только на html и чуть-чуть на php умеет писать :/
Тем не менее, я рад, что узкому кругу лиц данное под силу :)
В принципе там разновидность паковщика типа LZ, видел люди писали простенький скрипт в QuickBMS для распаковки разновидностей: lzo1x, lzo2a, lz77wii, lzma, lzss0, lzss, lz4, LZS, правда для других игр.Игрался я с этим скриптом, никакого толку нет. Ибо опять ворох ошибок.

BlackDaemon
31.07.2015, 10:15
А русифицированный шрифт от POPTTT странно как-то сделан и не совсем обдуманно. Там же куча места есть, где ИЕРОГЛИФЫ.
С "Двумя Тронами" вообще интересная история - таблетка от EU версии на локализации Акеллы без бубна не работает, вернее игра крашится из-за шрифта, потому на неё ещё ставят поверх пиратский русификатор с самопальными шрифтами. Также, Reloaded оставили интересное послание на этот счёт :D
"sleep with the fishes"

By the way, no, we don't have russian crackers (plz?) and no, we do not remove lame CD-Checks from our ISO cracks, and last but not least, no - we do not give YOU any permission to use our cracks in order to create NOCD release. Now go to your room and cry like a baby.

ErikPshat
01.08.2015, 12:41
Now go to your room and cry like a baby.
Теперь иди в свою комнату и плачь, как ребенок. :xDD:


Короче, начинаю включать соображалку... т.к. методом тыка ничего не получается.
Вниматель и вдумчиво прочтите всё, что я написал ниже.

В общем долго думал над этой проблемой и пришёл к выводу, что 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) выкладывал в этом посту: http://www.pspx.ru/forum/showpost.php?p=1097938

Если сравнить в хексе картинку из дебаггера и картинку, извлечённую с помощью Persian Rug из файла MenuInGame_wow_ff0e01f5.bin, то можно заметить, что они чем-то похожи. А просто-напросто тем, что в памяти эмулятора она перевёрнута, т.е. тот код, который есть в конце, теперь находится вначале. И ещё в файле TGA есть дополнительные 18 байт заголовка формата, который можно скопировать в голый код картинки дебаггера и превратить её так же в TGA, дописав расширение *.tga.

Короче, картинка извлекается вполне правильная, просто обычные графические просмотрщики неправильно их отображают из-за специфического формата файла. Взгляните на картинку внимательно, вот я её смасштабировал и отразил по вертикали, чтобы визуально лучше воспринималась:

11024

Если приглядеться, на картинке изображение как-бы повторяется 4 раза по горизонтали. Это значит, что ширина картинки не 512 пикселей, а 4 раза по 128. Это намекает на то, что код картинки не имеет последовательную структуру, а именно не 512 пикселей подряд в одном ряду. Ведь графические редакторы считывают информацию последовательно и каждый последующий ряд пикселей автоматически переносится на следующий ряд в зависимости от указанной ширины изображения.

Здесь же видно, что код картинки выровнен по 128 байт (пикселей). Есть такое понятие в программировании, как alignment, причём я как-то встречал такое выравнивание по 128 байт в формате TIM2 для PS2.

И ещё, я не стал раскрашивать картинку в клеточку по горизонтали, но если присмотреться, то можно посчитать, что по вертикали картинка имеет 16 рядов. 128:16=8. Получается, что картинка по вертикали имеет выравнивание по 8 пикселей, а по горизонтали по 128.

(Но!!!, в программировании и вообще в мобильной системе PSP я встречал обычно выравнивание по 16 байт или по 8. И этому есть подтверждение..., если учесть вертикальное выравнивание по 8 пикселей, то заметны во многих рядах пустые пробелы по горизонтали, например в каждом красном квадратике верхний правый угол, там по ширине примерно 8 пикселей пустоты.)



Вот ещё соображения. Вот скриншот шрифта в хексе. Слева мы видим код, а справа его визуальное отображение.

11025

Если полистать весь файл, то справа мы увидим интересную картину репина. И это не потому, что слева код так удачно случайным образом сложился, что справа так красиво видны начертания прямых, косых и закруглённых фигур. Ну да, это и есть начертания наших букв алфавита!

Дело в том, что мой хекс-редактор обычно всегда настроен на отображение 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 байт в восьми строках.

Короче, надеюсь вы всё поняли, что я хотел сказать. Думаю теперь сами справитесь ;)

riku.kh3
01.08.2015, 14:17
хоспади ты боже мой)
http://s009.radikal.ru/i308/1508/b7/289df8b28b00.png

ErikPshat
01.08.2015, 14:24
riku.kh3, балин, и зачем я так много расписывал? Ты нашёл клей "Момент" или просто подогнал заголовок?

riku.kh3
01.08.2015, 14:37
Основы основ там, тайлами 16x8 строится изображение. Думал свизлинг у вас какой, помощь нужна, а оказывается...http://s017.radikal.ru/i424/1508/2d/081394521d23.jpg

ErikPshat
01.08.2015, 14:43
тайлами 16x8 строится изображение
Ну в принципе об этом я и расписывал. Только я знаю один способ склеивания - ручной, с помощью клея "Момент" :D

riku.kh3
01.08.2015, 15:16
Назад то оно запаковывается? Или смысла этот FONT.bin править сейчас ноль?

Yoti
01.08.2015, 15:37
балин, и зачем я так много расписывал? Ты нашёл клей "Момент" или просто подогнал заголовок?
В первую очередь любой шрифт смотрится в RomArtist или TileMolester. Первую программу ты уже давно знаешь по русификации дебаг-шрифта. Сколько прошло, лет пять?

ErikPshat
01.08.2015, 15:50
riku.kh3, есть небольшая надежда, что мы сможем всё обратно запихнуть. Теперь самое важное - это координаты к новым русским буквам подцепить.

Короче, во время занятия переводом Persian Rug, я обнаружил в его недрах недокументированные фразы и скрытые возможности. Видимо автор пытался что-то сделать, но так и забросил, и скрыл, заблокировав функции. Я всё открыл и разблокировал. Но после этого, при запуске выскакивет окно с ошибкой и на некоторых кнопках так же появляются ошибки.

Однако программа эти функции выполняет. То есть, появилась вкладка BIN распаковщика. Это не просто извлечение отдельных ресурсов из BIN, а разархивируется полностью весь бинарник целиком. Это даёт возможность вообще использовать бинарник в незапакованном виде, ну и просто изучить заголовок, содержимое и устройство всего бинарного файла. Ещё при попытке распаковать уже распакованный бинарник, выскакивает сообщение, что "Not a compressed JADE engine bin file." А это наводит на мысль, что файлы пакуются JADE движком, который у нас есть пакер/анпакер. По ходу в бинарниках изменён заголовок архива.

Потом появились функции "Сохранить список ресурсов", "Тестировать" и интересное - "Извлечь данные", при этом извлекаются данные именно того ресура, который выделен из списка присутствующих.

RomArtist
Это я в первую очередь и сделал. Но тут формат 8bpp. Nes и Snes не подходят. Потом одна буква состоит не из одного тайла 16х8, а из 4-ёх, как минимум.

Re-Education
01.08.2015, 16:21
Здравствуйте! Извините, но есть вопрос. Если у шрифта уже есть координаты на английский шрифт, не легче его перерисовать в русские символы и перевети транслитом? И дорисовать недостающие символы которых нет в английском алфавите на ненужных значках? затем уже перевести меню кракозяброй:scratch_one-s_head:

riku.kh3
01.08.2015, 16:53
ErikPshat, держи тогда

ErikPshat
01.08.2015, 17:24
riku.kh3, хмм, :ok: :indeec:thank you
После конвертирования совпадение 100%
Чёткая вещь!

А это..., с чего мы начинали, обратное преобразрвание?

ErikPshat
01.08.2015, 20:03
Persian Rug Rus Extra
Ну и вот неожиданно вышла засекреченная версия

Имейте в виду, что в отличии от обычной версии, расширенная версия Extra содержит некоторые безобидные баги, например: при запуске выскакивает ошибка, но программа запускается в фоне, т.е. на заднем плане.

Основные возможности:

Первая вкладка "Проводник файлов ресурсов"



Позволяет открывать большие контейнеры форматов FAT, SB0, BF BIG (например PRINCE.BF)
Позволяет извлекать сразу все файлы из контейнера нажатием одной кнопки "Извлечь"
Позволяет выделить из списка один или несколько файлов и извлечь только их отдельно (правой кнопкой)
Позволяет производить поиск по ключевым словам и фразам.

11028


Вторая вкладка "Bin распаковщик"



Выполняет только одну функцию -> распаковывает целиком BIN файл.



Третья вкладка "Bin анализатор"



Анализирует BIN файл и показывает его содержимое.
Позволяет извлечь сразу все Текстуры и Объекты соответствующими кнопками.
Позволяет извлекать по отдельности только один или несколько выделенных ресурсов (для выделения нескольких ресурсов, нужно удерживать CTRL)
Правой кнопкой можно производить поиск, сохранить список ресурсов в текстовой файл
Можно так же "Инспектировать" и "Тестировать" заголовки и объекты. Результаты можно увидеть почему-то в окне "Bin распаковщика".
Ещё правой кнопкой можно "Извлечь данные" практически из любого ресурса, даже из "Неизвестного типа". Данные извлекаются полностью с заголовком.

11029


Четвёртая вкладка "Опции"



Тут всё понятно, можно ассоциировать поддерживаемые типы файлов с программой и прочие неинтересные настройки.
Появилась ранее скрытая секция "Кривые хаки" (полунедорабочие), где можно поставить галочку в чекбоксе "Тест". Что она означает, наверное никто не знает.



Пятая вкладка "Дисплей"



Тут непонятно что должно выводится на экран.


Скачать: Persian Rug Rus v2.5beta.zip (http://www.pspx.ru/forum/attachment.php?attachmentid=11027) (или во вложении в шапке).

ErikPshat
01.08.2015, 23:02
[FAQ] Распаковка и упаковка контейнеров BIN


Шаг 1 - Распаковка


Запускаем PersianRugRusExtra и переходим на вкладку "Bin распаковщик".
Жмём кнопку "Открыть" и выбираем, например, файл MenuInGame_wow_ff0e01f5.bin
Тут же открывается следующее окно, где предлагается сохранить файл с расширением binexpanded
Всё! Файл разархивирован!



Переходим во вкладку "Bin анализатор", нажимаем кнопку "Анализировать бинарник" и выбираем, либо уже распакованный binexpanded, либо запакованный бинарник
Потрошим оттуда необходимые ресурсы. Например, картинка шрифта всегда имеет название 2F008574.
Всё! Имеем сырьё нижнего уровня для работы!



Шаг 2 - Упаковка

На примере MenuInGame_wow_ff0e01f5.bin.

Складываем всё сырьё на свои места в распакованный файл binexpanded через хекс-редактор.
Как правило, все бинарники складываются блоками по 0x20000 (131072 байта), поэтому режем наш файл такими кусками. То есть, открываем в хекс-редакторе файл MenuInGame_wow_ff0e01f5.binexpanded, выделяем первые 0x20000 байт и вырезаем выделенный код (CTRL+X). Открываем новое окно и вставляем туда вырезанный код (CTRL+V). Сохраняем под названием, например MenuInGame_wow_ff0e01f5.part1. Оставшийся код не превышает 0x20000, поэтому просто сохраняем его под названием MenuInGame_wow_ff0e01f5.part2
Берём из вложения в шапке "Prince of Persia Tools.zip (http://www.pspx.ru/forum/attachment.php?attachmentid=10859)" папку с программой "JADE Pack Tool".
Закидываем туда подготовленные part1 и part2, и архивируем оба файла:

Можно через командную строку следующей командой: jadepack -c infile outfile
Либо, для нашего примера, запускаем батник с расширением *.bat следующего содержания: @echo off
jadepack -c MenuInGame_wow_ff0e01f5.part1 MenuInGame_wow_ff0e01f5.part1.compressed
jadepack -c MenuInGame_wow_ff0e01f5.part2 MenuInGame_wow_ff0e01f5.part2.compressed
pause

Открываем оба файла в хекс-редакторе. Первые 4 байта нам приклеил архиватор JADE движка. Они указывают на размер всего остального файла, но нам эта информация не нужна, поэтому удаляем эти данные у обоих файлов сразу.
У первого файла part1 теперь в начале должен быть код 00 00 02 00, что означает размер распакованного файла (байты читаются задом наперёд). Следующие 4 байта указывают на размер оставшейся части файла, заканчивающимся кодом 11 00 00. Поэтому спускаемся в конец файла, находим этот код и удаляем все нули после него. Для подстраховки можем проверить размер тела файла, для этого, выделяем с конца до метки размера весь код и сравниваем показания. Хекс-редактор внизу отображает размер выделенной области.
Переходим ко второму файлу part2. Не забываем, что первые 4 байта мы уже удалили ранее у этого файла. Теперь просто выделяем весь файл (CTRL+A) и копируем выделенное содержимое (CTRL+C).
Переключаемся на первый файл part1, ставим курсор в конец файла и вставляем ранее скопированное содержимое второго файла (CTRL+V). Нули в конце не трогаем.
Сохраняем склеенный файл, как MenuInGame_wow_ff0e01f5.bin.
На этом всё! Можно переходить к пункту: "Шаг 1 - Распаковка", чтобы проверить его на распаковываемость и схожесть с исходным binexpanded.


Выражаю ОГРОМНЕЙШУЮ благодарность riku.kh3 за помощь в методе упаковки!

ErikPshat
02.08.2015, 08:39
Скомпилировал новый JADE Pack Tool с обновлённой версией сжатия miniLZO.
Вроде компактнее сжимает.

Использовалась древняя версия: v2.02, 17 Oct 2005
Обновлено на более современную: v2.09, 04 Feb 2015
Исходники: http://www.oberhumer.com/opensource/lzo/

Архив во вложении в шапке.


057CC827 (4285) - номер ресурса в бинарнике. В скобках указан номер позиции в десятичном виде.
Левый нижний пиксель буквы - открываем в фотошопе, делаем масштаб на 500-1000% и подсчитываем каждый пиксель.
Координаты по горизонтали - позиция в файле MenuInGame_wow_ff0e01f5.binexpanded
A - 0x75DD
B - 0x7BB5
C - 0x7FD5
D - 0x8555
E - 0x8B2D
F - 0x8EF5
G - 0x92BD
H - 0x9895
I - 0x9EC5
J - 0xA12D
K - 0xA395
L - 0xA915
M - 0xACDD
N - 0xB415
O - 0xBA45

riku.kh3
02.08.2015, 13:46
Сделал компрессор, сжимает чанками по 0x20000 и добавляет паддинг нужного размера в конец.

BumbleJake
02.08.2015, 16:58
Очень рад, что тема оживилась такими горячими подробностями. Выражаю свою благодарность людям, которые выше выкладывали свои умные мысли, и писали содержательные посты.
Извиняюсь за оффтоп. Не бейте!

ErikPshat
03.08.2015, 01:53
riku.kh3, кстати, miniLZO v2.02 сжимает абсолютно так же, как в исходых бинах и на выходе получаем тот же результат.
А miniLZO v2.09 всё-таки даёт на выходе бинарник большего размера и ссответственно другой код.
Так что правильно, лучше использовать JADE Pack Tool со старой библиотекой miniLZO v2.02.

P.S. Для сравнения компрессор с новой библиотекой miniLZO v2.09

Yoti
03.08.2015, 12:34
Это я в первую очередь и сделал. Но тут формат 8bpp. Nes и Snes не подходят. Потом одна буква состоит не из одного тайла 16х8, а из 4-ёх, как минимум.
Так в тайловых редакторах настроек выше крыши, обычно. Хотя это и не важно совсем уже.

ErikPshat
05.08.2015, 02:24
Пробовал в меню P5MAIN.MGM написать кириллицей АБВГДЕЁ, так на экране выползла вся матрица шрифта в высоту 128х512 :D

Посмотрел в немецком файле.
Там есть такая строка: <LABEL>Gespeichertes Spiel l{0246}schen</LABEL>, что намекает, что всякие умляуты обозначены цифрами.
В данном случае обозначение буквы ö - {0246}

И ещё буквы:

ä - {0228}
ç - {0231}
ñ - {0241}
ö - {0246}
ü - {0252}

В ообщем идёт подчинение этим правилам: http://www.starr.net/is/type/altnum.htm

http://s009.radikal.ru/i308/1508/b7/289df8b28b00.png

€ - {0128}
ƒ - {0131}
„ - {0132}
… - {0133}
† - {0134}
‡ - {0135}
ˆ - {0136}
‰ - {0137}
Š - {0138}
Œ - {0140}
Ž - {0142}
“ - {0147}
• - {0149}
– - {0150}
— - {0151}
˜ - {0152}
™ - {0153}
š - {0154}

œ - {0156}
ž - {0158}
Ÿ - {0159}
¡ - {0161}
¢ - {0162}
£ - {0163}
¤ - {0164}
¥ - {0165}
¦ - {0166}
§ - {0167}
© - {0169}
ª - {0170}
« - {0171}
¬ - {0172}
® - {0174}
° - {0176}
± - {0177}
² - {0178}

³ - {0179}
µ - {0181}
¶ - {0182}
¹ - {0185}
º - {0186}
» - {0187}
¼ - {0188}
½ - {0189}
¾ - {0190}
¿ - {0191}
À - {0192}
Á - {0193}
 - {0194}
à - {0195}
Æ - {0198}
Ç - {0199}
È - {0200}
É - {0201}

Ê - {0202}
Ë - {0203}
Ì - {0204}
Í - {0205}
Î - {0206}
Ï - {0207}
Ð - {0208}
Ñ - {0209}
× - {0215}
Ù - {0217}
Ú - {0218}
Û - {0219}
Ü - {0220}
à - {0224}
á - {0225}
â - {0226}
ä - {0228}
å - {0229}

æ - {0230}
ç - {0231}
è - {0232}
é - {0233}
ê - {0234}
ë - {0235}
ì - {0236}
í - {0237}
î - {0238}
ï - {0239}
ñ - {0241}
ò - {0242}
ó - {0243}
ô - {0244}
õ - {0245}
ö - {0246}
÷ - {0247}
ø - {0248}

Ò - {0210}
Ó - {0211}
Ô - {0212}
Õ - {0213}
Ö - {0214}
Ø - {0216}
Ý - {0221}
Þ - {0222}
ß - {0223}
ð - {0240}
ù - {0249}
ú - {0250}
û - {0251}
ü - {0252}
ý - {0253}
þ - {0254}
ÿ - {0255}

ErikPshat
05.08.2015, 11:12
После шрифта лежит секция FONTDESC и там похоже действительно находятся смещения шрифтов. Вот я эту секцию скопировал сюда. Для лучшей наглядности, я код растянул по 20 байт в строку.
Первый двубайтный ряд - просто указатели смещений хекс-редактора, не обращайте внимание.
Тут такое дело, что каждая новая строка пронумерована по порядку (первые 4 байта) и соответствует номеру символа.
Сначала думал совпадение, но вроде нет, т.к. вторые 4 байта похоже указывают на позицию первого символа на картинке и они нулевые, это вот эти 5 символов: !, P, u, Ü, •. Я эти строки в коде ниже выделил красным. А справа, в визуальном столбце отображения кода, на первом месте виден алфавит.
Только вот я не могу понять, что за цифры в коде идут, откуда идёт отсчёт позиции, как определить ширину и высоту буквы. Может у кого появятся какие-нибудь соображения...
http://s009.radikal.ru/i308/1508/b7/289df8b28b00.png
0014 20000000 0000403D 0000303E 0000483D 0000383E .....@=..0>..H=..8>
0028 21000000 00000000 00004C3F 0000803B 00007E3F !.........L?...;..~?
003C 22000000 0000C03B 00004C3F 0000803C 00007E3F "......;..L?...<..~?
0050 23000000 0000903C 00004C3F 0000203D 00007E3F #......<..L?.. =..~?
0064 24000000 0000283D 00004C3F 0000683D 00007E3F $.....(=..L?..h=..~?
0078 25000000 0000703D 00004C3F 0000B43D 00007E3F %.....p=..L?...=..~?
008C 26000000 0000B83D 00004C3F 0000FC3D 00007E3F &......=..L?...=..~?
00A0 27000000 0000003E 00004C3F 0000043E 00007E3F '......>..L?...>..~?
00B4 28000000 0000063E 00004C3F 0000103E 00007E3F (......>..L?...>..~?
00C8 29000000 0000123E 00004C3F 00001C3E 00007E3F )......>..L?...>..~?
00DC 2A000000 00001E3E 00004C3F 00002A3E 00007E3F *......>..L?..*>..~?
00F0 2B000000 00002C3E 00004C3F 00003E3E 00007E3F +.....,>..L?..>>..~?
0104 2C000000 0000403E 00004C3F 0000463E 00007E3F ,.....@>..L?..F>..~?
0118 2D000000 0000483E 00004C3F 0000563E 00007E3F -.....H>..L?..V>..~?
012C 2E000000 0000583E 00004C3F 00005E3E 00007E3F ......X>..L?..^>..~?
0140 2F000000 0000603E 00004C3F 0000763E 00007E3F /.....`>..L?..v>..~?
0154 30000000 0000783E 00004C3F 0000863E 00007E3F 0.....x>..L?...>..~?
0168 31000000 0000873E 00004C3F 00008F3E 00007E3F 1......>..L?...>..~?
017C 32000000 0000903E 00004C3F 00009A3E 00007E3F 2......>..L?...>..~?
0190 33000000 00009B3E 00004C3F 0000A43E 00007E3F 3......>..L?...>..~?
01A4 34000000 0000A53E 00004C3F 0000B03E 00007E3F 4......>..L?...>..~?
01B8 35000000 0000B13E 00004C3F 0000B93E 00007E3F 5......>..L?...>..~?
01CC 36000000 0000BA3E 00004C3F 0000C43E 00007E3F 6......>..L?...>..~?
01E0 37000000 0000C53E 00004C3F 0000CF3E 00007E3F 7......>..L?...>..~?
01F4 38000000 0000D03E 00004C3F 0000DA3E 00007E3F 8......>..L?...>..~?
0208 39000000 0000DB3E 00004C3F 0000E43E 00007E3F 9......>..L?...>..~?
021C 3A000000 0000E53E 00004C3F 0000E83E 00007E3F :......>..L?...>..~?
0230 3B000000 0000E93E 00004C3F 0000ED3E 00007E3F ;......>..L?...>..~?
0244 3C000000 0000EE3E 00004C3F 0000F73E 00007E3F <......>..L?...>..~?
0258 3D000000 0000F83E 00004C3F 0080003F 00007E3F =......>..L?...?..~?
026C 3E000000 0000013F 00004C3F 0080053F 00007E3F >......?..L?...?..~?
0280 3F000000 0000063F 00004C3F 00000A3F 00007E3F ?......?..L?...?..~?
0294 40000000 00800A3F 00004C3F 0080123F 00007E3F @......?..L?...?..~?
02A8 41000000 0000133F 00004C3F 00001B3F 00007E3F A......?..L?...?..~?
02BC 42000000 00801B3F 00004C3F 0000213F 00007E3F B......?..L?..!?..~?
02D0 43000000 0080213F 00004C3F 0000293F 00007E3F C.....!?..L?..)?..~?
02E4 44000000 0080293F 00004C3F 0080313F 00007E3F D.....)?..L?..1?..~?
02F8 45000000 0000323F 00004C3F 0000373F 00007E3F E.....2?..L?..7?..~?
030C 46000000 0080373F 00004C3F 00803C3F 00007E3F F.....7?..L?..<?..~?
0320 47000000 00003D3F 00004C3F 0000453F 00007E3F G.....=?..L?..E?..~?
0334 48000000 0080453F 00004C3F 00004E3F 00007E3F H.....E?..L?..N?..~?
0348 49000000 00804E3F 00004C3F 0080513F 00007E3F I.....N?..L?..Q?..~?
035C 4A000000 0000523F 00004C3F 0000553F 00007E3F J.....R?..L?..U?..~?
0370 4B000000 0080553F 00004C3F 00005D3F 00007E3F K.....U?..L?..]?..~?
0384 4C000000 00805D3F 00004C3F 0080623F 00007E3F L.....]?..L?..b?..~?
0398 4D000000 0000633F 00004C3F 00006D3F 00007E3F M.....c?..L?..m?..~?
03AC 4E000000 00806D3F 00004C3F 0000763F 00007E3F N.....m?..L?..v?..~?
03C0 4F000000 0080763F 00004C3F 00807E3F 00007E3F O.....v?..L?..~?..~?
03D4 50000000 00000000 0000183F 0000B03C 00004A3F P..........?...<..J?
03E8 51000000 0000C03C 0000183F 0000A43D 00004A3F Q......<...?...=..J?
03FC 52000000 0000A83D 0000183F 0000E83D 00004A3F R......=...?...=..J?
0410 53000000 0000EC3D 0000183F 0000043E 00004A3F S......=...?...>..J?
0424 54000000 0000063E 0000183F 0000203E 00004A3F T......>...?.. >..J?
0438 55000000 0000223E 0000183F 0000423E 00004A3F U.....">...?..B>..J?
044C 56000000 0000443E 0000183F 0000643E 00004A3F V.....D>...?..d>..J?
0460 57000000 0000663E 0000183F 00008A3E 00004A3F W.....f>...?...>..J?
0474 58000000 00008B3E 0000183F 0000993E 00004A3F X......>...?...>..J?
0488 59000000 00009A3E 0000183F 0000A93E 00004A3F Y......>...?...>..J?
049C 5A000000 0000AA3E 0000183F 0000B63E 00004A3F Z......>...?...>..J?
04B0 5B000000 0000B73E 0000183F 0000BB3E 00004A3F [......>...?...>..J?
04C4 5C000000 0000BC3E 0000183F 0000C63E 00004A3F \......>...?...>..J?
04D8 5D000000 0000C73E 0000183F 0000CC3E 00004A3F ]......>...?...>..J?
04EC 5E000000 0000CD3E 0000183F 0000D63E 00004A3F ^......>...?...>..J?
0500 5F000000 0000D73E 0000183F 0000E13E 00004A3F _......>...?...>..J?
0514 60000000 0000E23E 0000183F 0000E73E 00004A3F `......>...?...>..J?
0528 61000000 0000E83E 0000183F 0000F63E 00004A3F a......>...?...>..J?
053C 62000000 0000F73E 0000183F 0080003F 00004A3F b......>...?...?..J?
0550 63000000 0000013F 0000183F 0080073F 00004A3F c......?...?...?..J?
0564 64000000 0000083F 0000183F 00000F3F 00004A3F d......?...?...?..J?
0578 65000000 00800F3F 0000183F 0000143F 00004A3F e......?...?...?..J?
058C 66000000 0080143F 0000183F 0000193F 00004A3F f......?...?...?..J?
05A0 67000000 0080193F 0000183F 0080203F 00004A3F g......?...?.. ?..J?
05B4 68000000 0000213F 0000183F 0080283F 00004A3F h.....!?...?..(?..J?
05C8 69000000 0000293F 0000183F 00002C3F 00004A3F i.....)?...?..,?..J?
05DC 6A000000 00802C3F 0000183F 00802F3F 00004A3F j.....,?...?../?..J?
05F0 6B000000 0000303F 0000183F 0000373F 00004A3F k.....0?...?..7?..J?
0604 6C000000 0080373F 0000183F 00003C3F 00004A3F l.....7?...?..<?..J?
0618 6D000000 0080443F 0000183F 00804D3F 00004A3F m.....D?...?..M?..J?
062C 6E000000 00803C3F 0000183F 0000443F 00004A3F n.....<?...?..D?..J?
0640 6F000000 00004E3F 0000183F 0000553F 00004A3F o.....N?...?..U?..J?
0654 70000000 0080553F 0000183F 00805A3F 00004A3F p.....U?...?..Z?..J?
0668 71000000 00005B3F 0000183F 0000683F 00004A3F q.....[?...?..h?..J?
067C 72000000 0080683F 0000183F 0000703F 00004A3F r.....h?...?..p?..J?
0690 73000000 0080703F 0000183F 0000743F 00004A3F s.....p?...?..t?..J?
06A4 74000000 0080743F 0000183F 00007A3F 00004A3F t.....t?...?..z?..J?
06B8 75000000 00000000 0000C83E 0000F03C 0000163F u..........>...<...?
06CC 76000000 0000003D 0000C83E 0000703D 0000163F v......=...>..p=...?
06E0 77000000 0000783D 0000C83E 0000CC3D 0000163F w.....x=...>...=...?
06F4 78000000 0000D03D 0000C83E 0000023E 0000163F x......=...>...>...?
0708 79000000 0000043E 0000C83E 00001E3E 0000163F y......>...>...>...?
071C 7A000000 0000203E 0000C83E 0000363E 0000163F z..... >...>..6>...?
0730 7B000000 0000423E 0000C83E 00004E3E 0000163F {.....B>...>..N>...?
0744 7C000000 0000503E 0000C83E 0000523E 0000163F |.....P>...>..R>...?
0758 7D000000 0000543E 0000C83E 00005E3E 0000163F }.....T>...>..^>...?
076C 7E000000 0000603E 0000C83E 0000703E 0000163F ~.....`>...>..p>...?
0780 80000000 0080753F 000080BC 0040803F 0000383E ......u?.....@.?..8>
0794 82000000 0000753F 0000403E 0080773F 0000C43E ......u?..@>..w?...>
07A8 84000000 0080723F 0000403E 0000753F 0000C43E ......r?..@>..u?...>
07BC 85000000 0080773F 0000403E 0000803F 0000C43E ......w?..@>...?...>
07D0 88000000 0000623F 0000AC3E 0080653F 0000C43E ......b?...>..e?...>
07E4 8A000000 0080523F 0000403E 0080563F 0000C43E ......R?..@>..V?...>
07F8 8C000000 0000063F 000080BC 0080113F 0000383E .......?.......?..8>
080C 8D000000 0000A93E 00000000 0000BF3E 0000203E .......>.......>.. >
0820 8E000000 0000BD3E 00000000 0000CF3E 0000403E .......>.......>..@>
0834 8F000000 0000CE3E 0000003C 0000E13E 0000403E .......>...<...>..@>
0848 90000000 0000DE3E 000000BC 0000F43E 0000303E .......>.......>..0>
085C 91000000 0080693F 00008C3E 00006B3F 0000C43E ......i?...>..k?...>
0870 92000000 00006B3F 0000903E 00006D3F 0000C43E ......k?...>..m?...>
0884 93000000 00006D3F 0000403E 0000703F 0000C43E ......m?..@>..p?...>
0898 94000000 0000703F 0000403E 0080723F 0000C43E ......p?..@>..r?...>
08AC 95000000 00002E3F 000080BC 0000333F 0000383E .......?......3?..8>
08C0 98000000 0080653F 0000AC3E 0080693F 0000C43E ......e?...>..i?...>
08D4 99000000 0000633F 00008C3E 0080693F 0000B43E ......c?...>..i?...>
08E8 9A000000 0080563F 0000403E 00805A3F 0000C43E ......V?..@>..Z?...>
08FC 9C000000 0000123F 000080BC 00001C3F 0000383E .......?.......?..8>
0910 9F000000 00805A3F 0000403E 0000623F 0000C43E ......Z?..@>..b?...>
0924 A1000000 0000723E 0000C83E 0000763E 0000163F ......r>...>..v>...?
0938 A2000000 0080543F 000080BC 00005A3F 0000383E ......T?......Z?..8>
094C A3000000 00805A3F 000080BC 0000613F 0000383E ......Z?......a?..8>
0960 A5000000 00006D3F 000080BC 0000753F 0000383E ......m?......u?..8>
0974 A8000000 0000783E 0000C83E 0000823E 0000163F ......x>...>...>...?
0988 A9000000 0000833E 0000C83E 0000933E 0000163F .......>...>...>...?
099C AB000000 0000FF3E 000080BC 0080043F 0000383E .......>.......?..8>
09B0 AE000000 0000503D 000080BC 0000B43D 0000383E ......P=.......=..8>
09C4 AF000000 0000943E 0000C83E 00009A3E 0000163F .......>...>...>...?
09D8 B0000000 0000383E 0000C83E 0000403E 0000163F ......8>...>..@>...?
09EC B2000000 0000BF3E 0000003C 0000CE3E 0000283E .......>...<...>..(>
0A00 B3000000 0000AC3E 0000003C 0000BE3E 0000283E .......>...<...>..(>
0A14 B4000000 00009B3E 0000C83E 0000A03E 0000163F .......>...>...>...?
0A28 B5000000 0000CF3E 0000003C 0000DE3E 0000283E .......>...<...>..(>
0A3C B6000000 0000DF3E 0000003C 0000F23E 0000283E .......>...<...>..(>
0A50 B7000000 00000000 000080BC 0000C03B 0000383E ...............;..8>
0A64 B8000000 0000A13E 0000C83E 0000A53E 0000163F .......>...>...>...?
0A78 B9000000 0000B43D 000000BC 00000C3E 0000403E .......=.......>..@>
0A8C BA000000 00000C3E 000000BC 00003E3E 0000403E .......>......>>..@>
0AA0 BB000000 00003E3E 000000BC 0000703E 0000403E ......>>......p>..@>
0AB4 BC000000 0000703E 000000BC 0000913E 0000403E ......p>.......>..@>
0AC8 BD000000 0000923E 0000003C 0000A83E 0000D03D .......>...<...>...=
0ADC BE000000 0000923E 0000D03D 0000A83E 0000483E .......>...=...>..H>
0AF0 BF000000 0000B73E 0000C83E 0000BF3E 0000163F .......>...>...>...?
0B04 C0000000 0000C03E 0000C83E 0000D03E 0000163F .......>...>...>...?
0B18 C1000000 0000D13E 0000C83E 0000E13E 0000163F .......>...>...>...?
0B2C C2000000 0000E23E 0000C83E 0000F23E 0000163F .......>...>...>...?
0B40 C3000000 0000F33E 0000C83E 0080013F 0000163F .......>...>...?...?
0B54 C4000000 0000023F 0000C83E 00000A3F 0000163F .......?...>...?...?
0B68 C5000000 00800A3F 0000C83E 0080123F 0000163F .......?...>...?...?
0B7C C6000000 0000003C 000080BC 0000383D 0000383E .......<......8=..8>
0B90 C7000000 0000133F 0000C83E 00801A3F 0000163F .......?...>...?...?
0BA4 C8000000 00001B3F 0000C83E 0000203F 0000163F .......?...>.. ?...?
0BB8 C9000000 0000283F 0000C83E 00002D3F 0000163F ......(?...>..-?...?
0BCC CA000000 00802D3F 0000C83E 0080323F 0000163F ......-?...>..2?...?
0BE0 CB000000 0000333F 0000C83E 0000383F 0000163F ......3?...>..8?...?
0BF4 CC000000 0080203F 0000C83E 0000243F 0000163F ...... ?...>..$?...?
0C08 CD000000 0080243F 0000C83E 0080273F 0000163F ......$?...>..'?...?
0C1C CE000000 0000FF3E 0000403E 0080023F 0000C43E .......>..@>...?...>
0C30 CF000000 0000033F 0000403E 0000063F 0000C43E .......?..@>...?...>
0C44 D0000000 0000613F 000080BC 00806D3F 00008C3E ......a?......m?...>
0C58 D1000000 0000413F 0000C83E 0080493F 0000163F ......A?...>..I?...?
0C6C D2000000 00004A3F 0000C83E 0000523F 0000163F ......J?...>..R?...?
0C80 D3000000 0080523F 0000C83E 00805A3F 0000163F ......R?...>..Z?...?
0C94 D4000000 00005B3F 0000C83E 0000633F 0000163F ......[?...>..c?...?
0CA8 D5000000 0000A63E 0000C83E 0000B63E 0000163F .......>...>...>...?
0CBC D6000000 0080383F 0000C83E 0080403F 0000163F ......8?...>..@?...?
0CD0 D7000000 0080223F 000080BC 0080273F 0000383E ......"?......'?..8>
0CE4 D9000000 0080633F 0000C83E 00806B3F 0000163F ......c?...>..k?...?
0CF8 DA000000 00006C3F 0000C83E 0000743F 0000163F ......l?...>..t?...?
0D0C DB000000 0080743F 0000C83E 00807C3F 0000163F ......t?...>..|?...?
0D20 DC000000 00000000 0000403E 0000003D 0000C43E ..........@>...=...>
0D34 DD000000 0000083D 0000403E 0000803D 0000C43E .......=..@>...=...>
0D48 DE000000 00803F3F 000000BC 0080533F 0000683E ......??......S?..h>
0D5C DF000000 00801C3F 000080BC 0000223F 0000383E .......?......"?..8>
0D70 E0000000 0000843D 0000403E 0000BC3D 0000C43E .......=..@>...=...>
0D84 E1000000 0000C03D 0000403E 0000F83D 0000C43E .......=..@>...=...>
0D98 E2000000 0000FC3D 0000403E 00001A3E 0000C43E .......=..@>...>...>
0DAC E3000000 00001C3E 0000403E 0000383E 0000C43E .......>..@>..8>...>
0DC0 E4000000 00003A3E 0000403E 0000563E 0000C43E ......:>..@>..V>...>
0DD4 E5000000 0000583E 0000403E 0000743E 0000C43E ......X>..@>..t>...>
0DE8 E6000000 0000B13E 0000403E 0000C23E 0000C43E .......>..@>...>...>
0DFC E7000000 0000763E 0000403E 0000883E 0000C43E ......v>..@>...>...>
0E10 E8000000 0000893E 0000403E 0000923E 0000C43E .......>..@>...>...>
0E24 E9000000 0000933E 0000403E 00009C3E 0000C43E .......>..@>...>...>
0E38 EA000000 00009D3E 0000403E 0000A63E 0000C43E .......>..@>...>...>
0E4C EB000000 0000A73E 0000403E 0000B03E 0000C43E .......>..@>...>...>
0E60 EC000000 0000E23E 0000403E 0000E93E 0000C43E .......>..@>...>...>
0E74 ED000000 0000EA3E 0000403E 0000F03E 0000C43E .......>..@>...>...>
0E88 EE000000 0000F13E 0000403E 0000F73E 0000C43E .......>..@>...>...>
0E9C EF000000 0000F83E 0000403E 0000FE3E 0000C43E .......>..@>...>...>
0EB0 F1000000 0000C33E 0000403E 0000D23E 0000C43E .......>..@>...>...>
0EC4 F2000000 0000D33E 0000403E 0000E13E 0000C43E .......>..@>...>...>
0ED8 F3000000 0080063F 0000403E 00800D3F 0000C43E .......?..@>...?...>
0EEC F4000000 00000E3F 0000403E 0000153F 0000C43E .......?..@>...?...>
0F00 F5000000 0080153F 0000403E 00801C3F 0000C43E .......?..@>...?...>
0F14 F6000000 0080333F 000080BC 00803B3F 0000383E ......3?......;?..8>
0F28 F7000000 0000283F 000080BC 00802D3F 0000383E ......(?......-?..8>
0F3C F8000000 00001D3F 0000403E 0000243F 0000C43E .......?..@>..$?...>
0F50 F9000000 0080243F 0000403E 00002C3F 0000C43E ......$?..@>..,?...>
0F64 FA000000 00802C3F 0000403E 0000343F 0000C43E ......,?..@>..4?...>
0F78 FB000000 0080343F 0000403E 00003C3F 0000C43E ......4?..@>..<?...>
0F8C FC000000 00803C3F 0000403E 0000443F 0000C43E ......<?..@>..D?...>
0FA0 FD000000 0080443F 0000403E 00004B3F 0000C43E ......D?..@>..K?...>
0FB4 FF000000 00804B3F 0000403E 0000523F 0000C43E ......K?..@>..R?...>39CA8 20000000 00000000 0000403C .........@<
39CB4 21000000 0000803B 0000803B !......;...;
39CC0 22000000 0000803B 0000803B "......;...;
39CCC 23000000 0000003B 000000BB #......;....
39CD8 24000000 0000803B 0000003B $......;...;
39CE4 25000000 0000003B 0000003B %......;...;
39CF0 26000000 0000803B 0000803B &......;...;
39CFC 27000000 0000003B 0000003B '......;...;
39D08 28000000 0000003B 0000003B (......;...;
39D14 29000000 0000003B 0000003B )......;...;
39D20 2A000000 00000000 0000003B *..........;
39D2C 2B000000 0000003B 00000000 +......;....
39D38 2C000000 0000003B 0000003B ,......;...;
39D44 2D000000 0000003B 00000000 -......;....
39D50 2E000000 0000803B 00000000 .......;....
39D5C 2F000000 0000003B 000000BB /......;....
39D68 30000000 0000003B 00000000 0......;....
39D74 31000000 0000803B 0000003B 1......;...;
39D80 32000000 0000003B 00000000 2......;....
39D8C 33000000 0000003B 0000003B 3......;...;
39D98 34000000 0000003B 000000BB 4......;....
39DA4 35000000 0000803B 0000003B 5......;...;
39DB0 36000000 0000003B 00000000 6......;....
39DBC 37000000 0000803B 000000BB 7......;....
39DC8 38000000 0000003B 00000000 8......;....
39DD4 39000000 0000003B 0000003B 9......;...;
39DE0 3A000000 0000803B 00000000 :......;....
39DEC 3B000000 0000003B 00000000 ;......;....
39DF8 3C000000 0000003B 00000000 <......;....
39E04 3D000000 0000003B 00000000 =......;....
39E10 3E000000 00000000 0000003B >..........;
39E1C 3F000000 0000003B 0000003B ?......;...;
39E28 40000000 0000003B 0000003B @......;...;
39E34 41000000 00000000 000000B4 A...........
39E40 42000000 0000003B 0000803B B......;...;
39E4C 43000000 0000003B 00000000 C......;....
39E58 44000000 0000003B 0000003B D......;...;
39E64 45000000 0000003B 0000003B E......;...;
39E70 46000000 0000003B 0000003B F......;...;
39E7C 47000000 0000003B 00000000 G......;....
39E88 48000000 0000003B 0000003B H......;...;
39E94 49000000 0000003B 0000803B I......;...;
39EA0 4A000000 00000000 0000803B J..........;
39EAC 4B000000 0000003B 000000BB K......;....
39EB8 4C000000 0000003B 0000003B L......;...;
39EC4 4D000000 0000003B 00000000 M......;....
39ED0 4E000000 0000003B 0000003B N......;...;
39EDC 4F000000 0000003B 0000003B O......;...;
39EE8 50000000 0000003B 0000003B P......;...;
39EF4 51000000 0000003B 0000C0BC Q......;....
39F00 52000000 0000003B 000080BB R......;....
39F0C 53000000 0000803B 0000803B S......;...;
39F18 54000000 00000000 0000003B T..........;
39F24 55000000 00000000 0000003B U..........;
39F30 56000000 000000BB 00000000 V...........
39F3C 57000000 00000000 000000BB W...........
39F48 58000000 00000000 00000000 X...........
39F54 59000000 00000000 000080BB Y...........
39F60 5A000000 0000003B 0000003B Z......;...;
39F6C 5B000000 0000803B 0000003B [......;...;
39F78 5C000000 00000000 00000000 \...........
39F84 5D000000 0000003B 0000003B ]......;...;
39F90 5E000000 0000003B 00000000 ^......;....
39F9C 5F000000 00000000 00000000 _...........
39FA8 60000000 0000803B 0000803B `......;...;
39FB4 61000000 0000003B 000000B4 a......;....
39FC0 62000000 0000003B 0000003B b......;...;
39FCC 63000000 0000003B 00000000 c......;....
39FD8 64000000 0000003B 0000003B d......;...;
39FE4 65000000 0000003B 0000003B e......;...;
39FF0 66000000 0000003B 0000003B f......;...;
39FFC 67000000 0000003B 00000000 g......;....
3A008 68000000 0000003B 0000003B h......;...;
3A014 69000000 0000003B 0000003B i......;...;
3A020 6A000000 00000000 0000003B j..........;
3A02C 6B000000 0000003B 000080BB k......;....
3A038 6C000000 0000003B 0000003B l......;...;
3A044 6D000000 0000003B 000000BB m......;....
3A050 6E000000 0000003B 0000003B n......;...;
3A05C 6F000000 0000003B 0000003B o......;...;
3A068 70000000 0000003B 0000003B p......;...;
3A074 71000000 0000003B 0000B0BC q......;....
3A080 72000000 0000003B 0000C0BB r......;....
3A08C 73000000 0000003B 0000803B s......;...;
3A098 74000000 00000000 0000003B t..........;
3A0A4 75000000 00000000 00000000 u...........
3A0B0 76000000 00000000 000000BB v...........
3A0BC 77000000 00000000 000000BB w...........
3A0C8 78000000 00000000 000000BB x...........
3A0D4 79000000 00000000 000000BB y...........
3A0E0 7A000000 0000003B 00000000 z......;....
3A0EC 7B000000 00000000 0000003B {..........;
3A0F8 7C000000 0000203C 0000003C |..... <...<
3A104 7D000000 0000003B 0000003B }......;...;
3A110 7E000000 0000003B 0000003B ~......;...;
3A11C 80000000 00000000 00000000 ............
3A128 82000000 00000000 00000000 ............
3A134 84000000 00000000 00000000 ............
3A140 85000000 00000000 00000000 ............
3A14C 88000000 00000000 00000000 ............
3A158 8A000000 00000000 00000000 ............
3A164 8C000000 00000000 00000000 ............
3A170 8D000000 00000000 00000000 ............
3A17C 8E000000 00000000 00000000 ............
3A188 8F000000 00000000 00000000 ............
3A194 90000000 00000000 00000000 ............
3A1A0 91000000 00000000 00000000 ............
3A1AC 92000000 00000000 00000000 ............
3A1B8 93000000 00000000 00000000 ............
3A1C4 94000000 00000000 00000000 ............
3A1D0 95000000 00000000 00000000 ............
3A1DC 98000000 00000000 00000000 ............
3A1E8 99000000 00000000 00000000 ............
3A1F4 9A000000 00000000 00000000 ............
3A200 9C000000 00000000 00000000 ............
3A20C 9F000000 00000000 00000000 ............
3A218 A1000000 0000803B 0000803B .......;...;
3A224 A2000000 00000000 00000000 ............
3A230 A3000000 00000000 00000000 ............
3A23C A5000000 00000000 00000000 ............
3A248 A8000000 0000403C 0000403C ......@<..@<
3A254 A9000000 0000003B 0000003B .......;...;
3A260 AB000000 00000000 00000000 ............
3A26C AE000000 00000000 00000000 ............
3A278 AF000000 0000403C 0000403C ......@<..@<
3A284 B0000000 0000003B 0000003B .......;...;
3A290 B2000000 00000000 00000000 ............
3A29C B3000000 00000000 00000000 ............
3A2A8 B4000000 0000603C 0000403C ......`<..@<
3A2B4 B5000000 00000000 00000000 ............
3A2C0 B6000000 00000000 00000000 ............
3A2CC B7000000 0000803B 00000000 .......;....
3A2D8 B8000000 0000603C 0000603C ......`<..`<
3A2E4 B9000000 00000000 00000000 ............
3A2F0 BA000000 00000000 00000000 ............
3A2FC BB000000 00000000 00000000 ............
3A308 BC000000 00000000 00000000 ............
3A314 BD000000 00000000 00000000 ............
3A320 BE000000 00000000 00000000 ............
3A32C BF000000 0000003B 0000003B .......;...;
3A338 C0000000 00000000 000080BB ............
3A344 C1000000 00000000 000080BB ............
3A350 C2000000 00000000 000080BB ............
3A35C C3000000 00000000 000080BB ............
3A368 C4000000 000000BB 000000BB ............
3A374 C5000000 000000BB 000000BB ............
3A380 C6000000 000080BB 0000003B ...........;
3A38C C7000000 0000003B 00000000 .......;....
3A398 C8000000 0000003B 0000003B .......;...;
3A3A4 C9000000 0000003B 0000003B .......;...;
3A3B0 CA000000 0000003B 0000003B .......;...;
3A3BC CB000000 0000003B 0000003B .......;...;
3A3C8 CC000000 00000000 0000803B ...........;
3A3D4 CD000000 0000003B 0000803B .......;...;
3A3E0 CE000000 0000003B 0000803B .......;...;
3A3EC CF000000 0000003B 0000803B .......;...;
3A3F8 D0000000 00000000 00000000 ............
3A404 D1000000 0000003B 0000003B .......;...;
3A410 D2000000 0000003B 0000003B .......;...;
3A41C D3000000 0000003B 0000003B .......;...;
3A428 D4000000 0000003B 0000003B .......;...;
3A434 D5000000 0000003B 0000003B .......;...;
3A440 D6000000 0000003B 0000003B .......;...;
3A44C D7000000 00000000 00000000 ............
3A458 D9000000 00000000 0000003B ...........;
3A464 DA000000 00000000 0000003B ...........;
3A470 DB000000 00000000 0000003B ...........;
3A47C DC000000 0000203C 0000403C ...... <..@<
3A488 DD000000 00000000 000080BB ............
3A494 DE000000 00000000 00000000 ............
3A4A0 DF000000 00000000 00000000 ............
3A4AC E0000000 000000BB 000000BB ............
3A4B8 E1000000 000000BB 000000BB ............
3A4C4 E2000000 000000BB 000000BB ............
3A4D0 E3000000 000000BB 000000BB ............
3A4DC E4000000 000000BB 000000BB ............
3A4E8 E5000000 000000BB 000000BB ............
3A4F4 E6000000 000080BB 0000003B ...........;
3A500 E7000000 0000003B 00000000 .......;....
3A50C E8000000 0000003B 0000003B .......;...;
3A518 E9000000 0000003B 0000003B .......;...;
3A524 EA000000 0000003B 0000003B .......;...;
3A530 EB000000 0000003B 0000003B .......;...;
3A53C EC000000 00000000 0000003B ...........;
3A548 ED000000 0000003B 0000003B .......;...;
3A554 EE000000 0000003B 0000003B .......;...;
3A560 EF000000 0000003B 0000003B .......;...;
3A56C F1000000 0000003B 0000003B .......;...;
3A578 F2000000 0000003B 0000003B .......;...;
3A584 F3000000 0000003B 0000003B .......;...;
3A590 F4000000 0000003B 0000003B .......;...;
3A59C F5000000 0000003B 0000003B .......;...;
3A5A8 F6000000 00000000 00000000 ............
3A5B4 F7000000 00000000 00000000 ............
3A5C0 F8000000 0000003B 0000003B .......;...;
3A5CC F9000000 00000000 00000000 ............
3A5D8 FA000000 00000000 00000000 ............
3A5E4 FB000000 00000000 00000000 ............
3A5F0 FC000000 00000000 00000000 ............
3A5FC FD000000 00000000 000000BB ............
3A608 FF000000 00000000 000000BB ............

Scorpeg
05.08.2015, 21:23
Ну чисто из этой таблички есть предположение, что код символа, потом X1, Y1, X2, Y2 (соответственно получаем квадрат, в который вписана буква). Считают видимо от левого нижнего угла текстуры. Последний байт из четырех видимо означает че-то другое, потому что не может быть так много координат. Короче поэкспериментируй, поменяй че-нить, назад воткни.

BlackDaemon
06.08.2015, 01:59
riku.kh3, большое спасибо за набор полезных утилит. :) Если есть возможность, сделайте, пожалуйста, утилиту psp_popfont универсальной, с возможностью конвертировать точно так же не только текстуру шрифта. Заранее спасибо.thank you

riku.kh3
06.08.2015, 16:12
BlackDaemon, надо с палитрами для этого заморачиваться. по-нормальному оно, в общем-то, так должно выглядеть:
http://s017.radikal.ru/i422/1508/ab/3e755e53e4d4.png
Я просто сделал в черно-белом все, т.к. иначе тут мозг, думал, взорвется у остальных с прозрачностью, ограниченной палитрой и прочим...

ErikPshat
07.08.2015, 05:10
по-нормальному оно, в общем-то, так должно выглядеть
У меня вот так: http://s003.radikal.ru/i201/1508/db/c9fe27d65890.png


Вот так выглядит шрифтВот так выглядит палитра1103311034

Во вложении положил шрифт и палитру. По совету riku.kh3 очень понравилась программа TiledDDG (https://code.google.com/p/tiledggd/) (11135).

Открываем графику - FONT.bin. Стрелками на клаве выставляем ширину 512 и высоту 128.
Во вкладке Image выставляем Format - 8bpp, Mode - Tiled, Set Tile Size - 16:8.
Открываем палитру - FONT.palette.
Во вкладке Palette выставляем Format - 4 Bytes per colour, Color Order - оставляем BGR,
Alpha Settings - Start и снимаем галочку с Ignore Alpha value.
Сохраняем картинку в PNG и можно сохранить палитру в PNG.

P.S. Позицию палитры к каждой выбранной текстурке показывает GE-дебаггер PPSSPP во вкладке Texture в строке CLUT (http://www.pspx.ru/forum/attachment.php?attachmentid=11392).

За помощь в разборе форматов текстур и палитр, выборе и работе с тайловым редактором и составлении данной инструкции ОГРОМНАЯ благодарность riku.kh3 !!!

Re-Education
07.08.2015, 13:58
В общем помучался я с текстуркой немного и вот что получилось :

http://2.firepic.org/2/images/2015-08/07/4rkit4hph4ed.png

(все на прозрачном фоне, просто для того чтоб было видно добавил фон, на оригинале нет фона).

Так же прилагаю алфавит, какая буква чему соответствует.



АЛФАВИТ РУССКИЙ ИЗМЕНЕННЫЙ АНГЛИЙСКИЙ
А - А
Б - {0192}
B - В
Г - F
Д - D
E - Е
Ё - {0203}
Ж - W
З - 3 (ТРОЙКА ВЫГЛЯДИТ КАК НУЖНО)
И - N
Й - {0209}
K - К
Л - V
M - М
Н - Н
О - О
П - Z
Р - Р
C - С
Т - Т
У - Y
Ф - {0193}
Х - Х
Ц - U
Ч - {0194}
Ш - {0199}
Щ - Q
Ъ - {0195}
Ы - G
Ь - L
Э - {0214}
Ю - {0210}
Я - R


То, есть печатать чтоб отображались русские символы , нужно то что справа.

Я могу взяться за перевод, но просто не знаю как проверить текстуру. Если честно, то у меня не получилось упаковать ее как вы описали выше. Если кто возьмется вставить текстуру на место, чтоб проверить, начну перевод текста в игре. Как то так.:blush:

Кстати, пока редактировал текстуру, то заметил одну закономерность, буквы все имеют 15 пикселей по вертикали. Пока редактировал я не вышел за рамки предыдущей буквы, которую переделывал либо удалял с места.Думаю что координаты не должны сбиться.

11036

ErikPshat
07.08.2015, 17:42
Re-Education, погоди, английский ты не должен вырезать, они могут быть использованы где-нибудь.
В любом случае Английский алфавит трогать не стоит. Нужно только добавить русские буквы.

Поэтому мы и думаем, как нарисовать русские буквы с полноценным начертанием.

Re-Education
07.08.2015, 17:59
Re-Education, погоди, английский ты не должен вырезать, они могут быть использованы где-нибудь.
В любом случае Английский алфавит трогать не стоит. Нужно только добавить русские буквы.

Так вроде условились, что делать будем только русскую версию игры, а остальные языки вырежим, нет? Поэтому я и не стал заморачиваться насчет сбережения английского алфавита. Кстати, если не трогать английский алфавит, то тех иероглифов и остальной хрени не хватит для полноценной нарисовки русского алфавита. так как многие буквы, такие как например Ж,Ю,Ы и так далее, требуют много пространства. Я это уже оценил, так как перерисовывал попиксельно все. И были проблемы с некоторыми буквами которые просто не вмещались.


просто необходимо еще найти остальной текст, который содержится в игре, например туториалы по управлению, затем при получении какого то оружия или например возврата там появляются надписи их тоже нужно перевести, не так ли?

ErikPshat
08.08.2015, 00:12
Re-Education, в бинарниках есть всякие фразы, которые возможно ты не будешь переводить, а может и не получится. Поэтому, удалив английский алфавит, ты получишь на экране иероглифы из кириллицы.

Есть же куча места, где умляуты греческого и немецкого алфавита. Я уже писал код этих символов здесь: http://www.pspx.ru/forum/showpost.php?p=1099064
Для примера:

ä - {0228}
ç - {0231}
ñ - {0241}
ö - {0246}
ü - {0252}

Там вроде даже можно использовать 3-ёх значные коды символов.
И потом, если буквы Ж,Ю,Ы не влезают в свои рамки, то можно найти координаты высоты и ширины букв и изменить так, как тебе надо. Да и посмотри, как они прорисованы в ПК версии. Если места не хватает, то можно использовать Английские схожие буквы, как A, B. C. E...

Ну ты попробуй свой вариант по быстрому нарисовать, вставь всё обратно и посмотри, как это смотрится на экране в игре.

riku.kh3
08.08.2015, 10:20
Думал из PS2 перенести шрифт в пару кликов, но то уродство, что в русской пиратке, никуда не годится:
http://s009.radikal.ru/i309/1508/2d/05628b32a95e.png

BlackDaemon
08.08.2015, 12:50
riku.kh3, подскажите, пожалуйста, в каком формате текстуры в PS2 версии? Поскольку я на ней застрял, т.к. не знаю, чем именно следует захексить текстуру, чтобы сделать её прозрачной/невидимой.

Re-Education
08.08.2015, 14:44
В общем поколдовал снова над текстурой, вот что получилось:

http://6.firepic.org/6/images/2015-08/08/c1salewj7bt5.png

Английский шрифт не трогал. Только умляуты исправил на буквы, которых нет в английском алфавите.

во вложении текстурка собственно и алфавит соответствия.

Упаковать и проверить не получилось. Может у меня не получается. Не знаю. Будет просьба Эрику и riku.kh3, если можете упакуйте текстурку, чтоб проверить правильность алфавита, и затем я преступлю к переводу текста. Спасибо заранее!!!

11037

riku.kh3
08.08.2015, 15:04
Re-Education, ищи того, кто умеет. Игре с таким вот позорищем лучше вообще на свет не появляться.

Re-Education
08.08.2015, 16:06
Re-Education, ищи того, кто умеет. Игре с таким вот позорищем лучше вообще на свет не появляться.


Хм, а можешь объяснить что именно необходимо отрисовать? И почему позорище то? Нарисовал так потому как мало места. Маленькие буквы не рисовал так как посчитал что они не нужны. :unknw:

ErikPshat
08.08.2015, 17:31
riku.kh3, опять же не пойму, почему они не использовали умляуты. Хоть так, хоть эдак, всё равно придётся делать замену текста кодами.
Они же прекрасно выводятся.

http://content.screencast.com/users/ErikPshat/folders/Snagit/media/6277a5cb-aa06-4f7a-b007-2d8d7f411d7d/08.08.2015-17.17.png

Короче, нужно искать метод записи позиций символов. Тогда мы сможем нарисовать буквы где угодно и как угодно.

riku.kh3
08.08.2015, 18:18
ErikPshat, ну ждите отряда хакеров. :) Несколько бессонных ночей, и ваш художник (с уровнем развития 5-летнего ребенка) вооруженный пеинтом сможет их где угодно рисовать.

ErikPshat
08.08.2015, 19:15
В общем поколдовал снова над текстурой, вот что получилось
Ты наверное забыл, шрифт называется "Trajan Pro (http://rghost.ru/7TK7JCFMN)".
В фотошопе можно даже не рисовать, а прямо так писать этим же шрифтом один в один, как в оригинале.
Английские буквы там получаются по размеру 16 пикселей, а русские по 18.

riku.kh3, не, надо искать позиции символов :)

Re-Education
08.08.2015, 22:35
ErikPshat, ваш художник (с уровнем развития 5-летнего ребенка) вооруженный пеинтом сможет их где угодно рисовать.

Спасибо огромное тебе за помощь! Без тебя долго разбирались бы! И за софт тобой написанный выражаю огромную благодарность! Но, извини что я не такой продвинутый пользователь как ты. Отрисовывал в фотошопе как смог. Просто попросил впихнуть эту злополучную текстурку в бины и в bf файл если не сложно и все! Я в этом не силен. Остальным переводом займусь сам, я же не говорю чтоб кто то печатал кодами, сам пропечатаю дня за 2 наверное. текста вроде как немного. Кстати, Может не получилось отрисовать профессионально но буквы на псп выглядят мелкими так, что особо над тенями и более освещенными участками букв не заморачивался. Смотрел чтоб буквы нормально выглядели и все. Так что прошу не судить строго! Если что не так, то хоть объясни в каком направлении необходимо исправлять! зачем ругаться то?

Re-Education добавил 08.08.2015 в 22:35
Ты наверное забыл, шрифт называется "Trajan Pro (http://rghost.ru/7TK7JCFMN)".
В фотошопе можно даже не рисовать, а прямо так писать этим же шрифтом один в один, как в оригинале.


В смысле?

ErikPshat
09.08.2015, 01:13
В смысле?
Ну просто печатать по картинке буквы прямо на клавиатуре, а не вырисовывать их попиксельно.
Более подробнее... в фотошопе слева в панели инструментов есть инструмент "Текст" с буквой "Т" на ярлыке :) Когда задействуешь этот инструмент, автоматически создаётся новый слой, на котором и печатаются буквы. Если ты не в курсе, то создаётся впечатление, как будто ты печатаешь прямо по картинке, но на самом деле это происходит на другом слое, поэтому можно не боятся, что затрётся картинка.

Внизу слева выставляешь масштаб на 600-1000%. Выбрав инструмент "Т" и щёлкнув по картинке, появится моргающая вертикальная полоска. Сверху из списка выбираешь шрифт "Trajan Pro", там же рядом размер 18 пикселей, и правее белый цвет #FCFFFF, можешь пипеткой проверить цвет букв в текстуре по самому белому. Печатаешь буквы, например ABCDEFG. Потом убираешь курсор мышки в сторону, появится перекрестие со стрелками, это значит, что можно текст перетаскивать. Тащишь эти буквы на аналогичные в текстуре и совмещаешь, смотришь, чтобы совпали буквы по размеру (высоте и ширине).

Короче поймёшь, что напечатанный шрифт просто копия того, что есть на текстуре. Потом переключаешь на русский язык и печатаешь русский алфавит. Затем справа в панели открываешь "Слои", удостоверяешься, что выделен текстовой слой, выделяешь нужную букву, переключаешься на нулевой слой с текстурой, выделяешь нужную букву, делаешь "Очистить", затем залить то место серым фоном #303030 и вставляешь на то место скопированную букву. Так копируешь все буквы, в конце удаляешь текстовой слой и делаешь сведение слоёв.

Ну я ваще думаю ты сам это умеешь делать :)


Кстати, а если буквы сделать чуточку меньше-поУже, хотя бы широкие, как Ж Ш Щ Ю, на пару-тройку пикселей?
Тогда они все могут влезть без правки смещений.

Re-Education
09.08.2015, 01:55
Спасибочки за разъяснение! НО скажем картинка у меня есть. я должен сделать:
1) взять этот png и прогнать через psp_popcomp чтоб получить font/bin
2) скопировать хекс код этого font.bin и вставить в .binextracted на место настоящей картинки со шрифтом
3)упаковать этот .binextracted в jade pack tool в bin
4)затем уже скопировать хекс код этого бинарника и вставить в bf

и так для всех шести файлов? или я не правильно что то делаю?

ErikPshat
09.08.2015, 02:21
1) взять этот png и прогнать через psp_popcomp
Прогнать через psp_popfont.exe

упаковать этот .binextracted в jade pack tool в bin
Ты проспал всю тему. Упаковать через psp_popcomp.exe

В остальном всё так. Сначала проверь работу на 1-ом файле, а вообще конечно шрифт в 6-ти файлах, используется в разных местах.


Внизу есть широкие буквы Æ - {0198} и Œ - {0140}. Вместо них можно было нарисовать Ж Ш Щ.
И зря ты рисовал на 32-битной картинке с прозрачностью. Её конвертер не так сконвертирует.
Нужно было за основу брать 24-битную монохромную картинку от riku, потому что конвертер он делал под такой формат. А цвета автоматом подхватятся из палитры.

И с чего ты взял, что маленькие буквы не нужны?

Re-Education
09.08.2015, 02:54
Благодарю, Эрик!:surprised: Попробую снова авось получится.:good:

Re-Education добавил 09.08.2015 в 02:54

Внизу есть широкие буквы Æ - {0198} и Œ - {0140}. Вместо них можно было нарисовать Ж Ш Щ.
И зря ты рисовал на 32-битной картинке с прозрачностью. Её конвертер не так сконвертирует.
Нужно было за основу брать 24-битную монохромную картинку от riku, потому что конвертер он делал под такой формат. А цвета автоматом подхватятся из палитры.

Хм, я по ходу точно проспал половину темы раз не обратил на это внимания:suicide::blush:


И с чего ты взял, что маленькие буквы не нужны?

Ну не знаю. Подумал, что смысл с них то? Там в меню то всего лишь с 2,5 десятка слов, можно и большими прописать.


Ковырнул тут на досуге пк версию. Там тоже шрифт отрисован на этих самых амляутах и перевод сделан кодами.

ErikPshat
09.08.2015, 06:40
Проба пера, только большие буквы: http://i71.fastpic.ru/big/2015/0809/49/c0eba312e6b12be348795c05c0e26949.jpeg

Букву "Ю" вставил вместо трёх символов, для теста. Интервал в 1 пиксель чуть заметно разбивает букву на 3 части :D

Ю = í î ï - {0237}{0238}{0239}


A - A - eng
Б - ý - {0253}
B - B - eng
Г - È - {0200}
Д - Ç - {0199}
E - E - eng
Ё - Ë - {0203}
Ж - Æ - {0198}
З - 3 - цифра
И - à - {0224}
Й - Ý - {0221}
K - K - eng
Л - á - {0225}
M - M - eng
H - H - eng
O - O - eng
П - â - {0226}
P - P - eng
C - C - eng
T - T - eng
У - â - {0227}
Ф - ñ - {0241}
X - X - eng
Ц - ä - {0228}
Ч - ÿ - {0255}
Ш - œ - {0156}
Щ - Œ - {0140}
Ъ - - - не используется
Ы - - - не используется
Ь - - - не используется
Э - å - {0229}
Ю - í î ï - {0237}{0238}{0239}
Я - ò - {0242}

riku.kh3
09.08.2015, 12:57
ErikPshat, попробуй мою заменялку букв.

ErikPshat
09.08.2015, 17:47
riku.kh3, отличная вещь! Давно мечтал именно о такой штуке, помнится как-то мучился писать тексты по таблице вручную.

Re-Education
09.08.2015, 22:05
Здравствуйте! В общем вот что получилось:

http://firepic.org/images/2015-08/09/dnauph1r280l.png

пропечатал как описал Эрик выше.

Сегодня почти весь день пытался упаковать, но видимо неправильно что то делаю. Не получается упаковать в bin и bf. Просьба вставьте этот шрифт куда нужно.:cray:


А - А - eng
Б - Õ - {0213}
B - В - eng
Г - É - {0201}
Д - À - {0192}
E - Е - eng
Ё - Ë - {0203}
Ж - Æ - {0198}
З - 3 - цифра
И - Á - {0193}
Й - Â - {0194}
K - К - eng
Л - Ã - {0195}
M - М - eng
Н - Н - eng
О - О - eng
П - Ä - {0196}
Р - Р - eng
C - С - eng
Т - Т - eng
У - Å - {0197}
Ф - Ç - {0199}
Х - Х - eng
Ц - Ò - {0210}
Ч - È - {0200}
Ш - Ö - {0214}
Щ - Ñ - {0209}
Ъ - Ó - {0211}
Ы - Ô - {0212}
Ь - Ê - {0202}
Э - Ù - {0217}
Ю - Œ - {0140}
Я - Ú - {0218}

а - à - {0224}
б - á - {0225}
в - â - {0226}
г - ì - {0236}
д - ã - {0227}
е - è - {0232}
ё - é - {0233}
ж - æ - {0230}
з - ê - {0234}
и - ë - {0235}
й - ä - {0228}
к - å - {0229}
л - ñ - {0241}
м - ò - {0242}
н - ó - {0243}
о - ô - {0244}
п - õ - {0245}
р - ø - {0248}
с - ù - {0249}
т - ú - {0250}
у - û - {0251}
ф - ç - {0231}
х - ü - {0252}
ц - ö - {0246}
ч - š - {0154}
ш - Û - {0219}
щ - Ü - {0220}
ъ - Ý - {0221}
ы - ÿ - {0255}
ь - Ÿ - {0159}
э - Š - {0138}
ю - œ - {0156}
я - ý - {0253}

места еле еле хватило. практически все занял что было свободным.:D
11040

ErikPshat
10.08.2015, 06:48
пытался упаковать, но видимо неправильно что то делаю. Не получается упаковать в bin и bf
Не пойму, что трудного взять одно и вставить взамен другого? Тем более, что шриф и binexpandted идентичны по размеру с оригиналом.

Берёшь FONT.png кидаешь мышкой на psp_popfont.exe, получаешь в той же папке FONT.bin.
Открываешь оба файла в хекс-редакторе (http://www.pspx.ru/forum/showthread.php?t=91951): http://content.screencast.com/users/ErikPshat/folders/Snagit/media/3eb0871d-84d4-45f7-95f2-4094e1dee036/08.10.2015-04.55.png
В Font.bin выделяешь первые 4 байта 0x30303030 и копируешь (CTRL+C): http://content.screencast.com/users/ErikPshat/folders/Snagit/media/641671f9-100a-4542-a520-02f6803118b4/08.10.2015-05.04.png
Переходишь на вкладку с файлом MenuInGame_wow_ff0e01f5.binexpanded и производишь поиск скопированного, т.е. нажимаешь бинокль(лупу) или "Edit -> Find...". В окне поиска выбираешь искомое в хекс-формате "Hex Values", в поле значения искомого "Value" вставляешь ранее скопированное (CTRL+V) и находишь начало шрифта по адресу 0x28CD8: http://content.screencast.com/users/ErikPshat/folders/Snagit/media/fbb0a7f0-e6dc-4371-9429-2fcd0dcd99e8/08.10.2015-05.22.png
Переходишь на вкладку FONT.bin и выделяешь весь файл (CTRL+A), заодно сразу копируешь выделенное (CTRL+C), смотришь внизу показание размера выделения (Selected) и запоминаешь: http://content.screencast.com/users/ErikPshat/folders/Snagit/media/11b24319-c3d3-40f3-b5c4-422665f0ffbf/08.10.2015-06.17.png
Переходишь на вкладку файла MenuInGame_wow_ff0e01f5.binexpanded и выделяешь там код шрифта, равный размеру ранее запомненного размера файла FONT.bin - 0x00010000. То есть, ставишь курсор в начало найденного начала, где начинаются цифры 30303030 и, удерживая клавишу SHIFT, жмёшь клавишу PgDown, тем самым продлевая выделение страницами вниз (PgUp - выделение вверх). Следишь за показаниями Sel внизу хекс-редактора, пока не покажет выделение около 00010000. Чтобы перейти к более точному выделению, то, не отпуская клавишу SHIFT, уменьшаем или увеличиваем выделенную область стрелками на клавиатуре ВВЕРХ или ВНИЗ - построчно, либо стрелками ВЛЕВО или ВПРАВО - побайтово: http://content.screencast.com/users/ErikPshat/folders/Snagit/media/3dd3745c-2fda-4795-b6b0-f80d721cc707/08.10.2015-06.36.png
Теперь вставляешь ранее скопированный код файла FONT.bin на место выделенного фрагмента (CTRL+V). Вставленный код ты увидишь красным цветом: http://content.screencast.com/users/ErikPshat/folders/Snagit/media/93cc06e6-66b8-4ac6-a77e-e1ae7b93c46b/08.10.2015-06.39.png
Следи за тем, чтобы последующий код не сдвинулся. Т.е., если ты допустил ошибку, выделил на байт или несколько больше, то последующий код сдвинется. Просто перед вставкой запомни визуально какой-нибудь бросающийся в глаза признак, например первый символ следующей после выделения строки и следи, чтобы он не двинулся со своей позиции.
Затем выбираешь в меню редактора "File -> Save As..." и сохраняешь готовый файл под новым именем, например: MenuInGame_wow_ff0e01f5.custom
Затем пакуешь его с помощью утилиты от riku - psp_popcomp.exe
Вставляешь точно так же упакованный файл в PRINCE.BF.

Ничего сложного в хекс-редакторе нету. В нём используются всё те же стандартные сочетания клавиш Windows, которые мы используем на компьютере ежедневно. Самое сложное - это подсчитать 16-ричное число в 10-тичное с помощью калькулятора.

Re-Education
10.08.2015, 07:00
Ну с первым я проблем не заметил. Не могу в bf найти куда вставлять. Ну имею ввиду где вставить bin

ErikPshat
10.08.2015, 07:13
Не могу в bf найти куда вставлять. Ну имею ввиду где вставить bin
Я же написал в инструкции выше:
10. Вставляешь точно так же упакованный файл в PRINCE.BF.

Re-Education
10.08.2015, 07:30
Я не могу найти где начинается файл MenuInGame.bin в bf файле

ErikPshat
10.08.2015, 07:43
где начинается файл MenuInGame.bin в bf файле
Ты должен искать что-то уникальное, чего не может быть в других файлах.

Открываешь в хекс-редакторе оба файла:



MenuInGame_wow_ff0e01f5_compressed.bin
PRINCE.BF



В файле MenuInGame_wow_ff0e01f5_compressed.bin выделяешь для поиска уникальные байты, сочетание которых вряд ли может встретиться в других файлах, например тупо сразу всю первую строку: http://content.screencast.com/users/ErikPshat/folders/Snagit/media/bad7d629-a273-4a6b-a1c7-44b7160a2fa1/08.10.2015-07.33.png
Переходим на вкладку с файлом PRINCE.BF и вводим в поиск скопированную строку: http://content.screencast.com/users/ErikPshat/folders/Snagit/media/52cbb1dd-03bd-4503-8310-1d9a59228aaa/08.10.2015-07.41.png
О чудо, в большом файле находится только одно место, где встречается эта строка, по адресу 0x0B93C004.
Далее всё по сценарию, описанному выше.

Re-Education
10.08.2015, 07:56
Спасибо огромное Эрик! а насчет цетирования что на пост выше: я печатал с телефона и не обратил внимания, что с этой строчкой еще и цитата на весь твой пост пошла. Извиняюсь!:blush:


Ура! все получилось! единственное маленькие буквы наверное зря старался выводить. они очень мелко выглядят хотя и читаемо.:yahoo:

вечером приступлю к переводу текста

ErikPshat
10.08.2015, 08:55
И потом, некоторые заглавные буквы можно было не рисовать. Ну разве если дофига свободного места.
Например заглавные буквы Ъ Ы Ь. Я чё-та вроде не встречал слова в русском языке, начинающиеся с таких букв.
Ещё буква Й - ну разве что Йожик или Йоти :), тут вроде слова попадаются.

Я заметил, что по ширине буквы строго ограничены своим размером и точно так же выводятся на экран.
А по высоте ограничения выползают за пределы букв. Например, если нарисовать вместо любых букв буквы Ц Щ Д, у которых идут закорючки ниже строки, то они отображаются на экране. Похоже выводится буква ниже на 4 пикселя, а выше на 4 или 5. Всего высота букв где-то 24-26 пикселей. Отделяются буквы 1-им пикселем.

Поэтому я решил провести эксперимент, чтобы вычислить, какая плашка буквы выводится на экран. Задно понять механизм подсчёта координат, похоже они считаются полным объёмом пространства над и слева от буквы.

Вот таким макаром я залил английские буквы по их границам чёрным цветом. Ниже виден оставшийся ряд букв, чтобы показать, каким образом производилось выделение по их границам: http://content.screencast.com/users/ErikPshat/folders/Snagit/media/35cdbbc6-d229-427a-bae3-40f91811c34b/08.10.2015-08.23.png
Остальную область я залил белым: http://content.screencast.com/users/ErikPshat/folders/Snagit/media/74ce6a85-c41b-4fc4-9e55-907b1775888e/08.10.2015-08.43.png
Таким образом, на экране мы увидим диапазон букв белым цветом и их очертания чёрным.
Потом отскриншотить и подсчитать попиксельно их координаты.


маленькие буквы наверное зря старался выводить. они очень мелко выглядят
Ну да, сравни заглавные и маленькие буквы в английском алфавите и прикинь разницу по высоте.
Буквы выводятся строго по их ширине. Если ты их рисовал, оставив пустое пространство по бокам, то это пространство будет выводится излишними отступами. И тут имеет значение, какой отступ был слева и справа. Вообще буквы нужно умещать строго по ширине на своё место, без отступов.

Кстати, я выбирал русский шрифт Minion Pro, он очень схож с <FONT>Trajan Pro Regular 24</FONT>

Re-Education
10.08.2015, 09:15
Не знаю как тебе но мне этот шрифт не очень нравится. Может вообще заменить его на другой более красивый как думаешь?

ErikPshat
10.08.2015, 09:20
Re-Education, ну в принципе в Принце обычный стандартный шрифт.
Я вообще склоняюсь к такому, как в заголовке игры: http://i71.fastpic.ru/big/2015/0809/49/c0eba312e6b12be348795c05c0e26949.jpeg
Prince of Persia Revelations

Re-Education
10.08.2015, 09:24
Я вообще склоняюсь к такому, как в заголовке игры: http://i71.fastpic.ru/big/2015/0809/49/c0eba312e6b12be348795c05c0e26949.jpeg
Prince of Persia Revelations

Хм, а это по моему картинка, нет? А чтоб такой шрифт сварганить не один час в фотошопе нужно будет просидеть:D

ErikPshat
10.08.2015, 10:14
Re-Education, да в интернете полно таких шрифтов: https://www.google.ru/search?q=%D0%A8%D1%80%D0%B8%D1%84%D1%82+%D0%9F%D1%80%D0%B8%D0%BD%D1%86+%D0%BF%D0 %B5%D1%80%D1%81%D0%B8%D0%B8&newwindow=1&rlz=1C1GGGE_ruRU627RU627&espv=2&biw=1366&bih=705&tbm=isch&tbo=u&source=univ&sa=X&ved=0CBsQsARqFQoTCMO6k8XynccCFeLAcgodBKwIJw&dpr=1

Установил пару шрифтов, но там только английский шрифт. Нужно дорисовать русский: http://i70.fastpic.ru/big/2015/0810/cb/cbcade0cfed00c07d75113964760dfcb.jpeg

Re-Education
10.08.2015, 10:34
классно смотрится! уже представил весь текст в игре такой!:good: вообще суперски смотреться будет!

ErikPshat
10.08.2015, 10:55
Загрузил мой белый фон шрифта (http://www.pspx.ru/forum/showpost.php?p=1099177) с чёрными квадратами букв в игру.
Причём пожатый файл MenuInGame_wow_ff0e01f5_compressed.bin получился на 20 килобайт меньше оригинала.
Вот что получилось: http://content.screencast.com/users/ErikPshat/folders/Snagit/media/a03f63c7-3b2c-4ac1-9aa0-9dfc7e72656b/08.10.2015-10.26.png

Вот оригинал: http://content.screencast.com/users/ErikPshat/folders/Snagit/media/46e097e0-daec-43c5-a241-8048d4e6071d/08.10.2015-10.36.png

Получается, что все буквы, и маленькие, и большие выводятся на экран по одинаковой высоте!
Просто маленькие буквы нарисованы меньше. Поэтому на их месте можно рисовать так же большие буквы. И у букв Ц Щ Д можно смело рисовать хвостики ниже строки на любой позиции.


классно смотрится!
А кто будет вырисовывать русский алфавит? :xDD:

P.S. Что-то нашёл: http://rutracker.org/forum/viewtopic.php?t=4611435.

Re-Education
10.08.2015, 22:07
11044

А кто будет вырисовывать русский алфавит? :xDD:

P.S. Что-то нашёл: http://rutracker.org/forum/viewtopic.php?t=4611435.

ну я б попробовал. а то что по ссылке между прочим тоже неплохо смотрится:good:

Так что будем его оставлять?


Хм, попробовал вставить! даже английские надо будет не просто подгонять а перерисовывать. они намного здоровее эти буквы из ссылки. в общем надо попробовать может что и получится. в и-нете больше ничего не нашел.:unknw:

Начал переделывать. Классно смотрится вроде.

http://6.firepic.org/6/images/2015-08/10/fpx2m2wbw8mt.png

Re-Education добавил 10.08.2015 в 22:07
Откатал шрифт английский этот. За границы не выходил. Некоторые буквы перерисовал потому, что не вмещались.
http://firepic.org/images/2015-08/10/67wm7b7adtzh.png
Но есть одно но, не пойму чего не запускается. Упаковал все, начинается загрузка и когда должно показать меню, все на этом не грузит и все тут. Когда вставлял, то посмотрел разница была в размере. С этим шрифтом готовый бин файл весит 73,9 кб а оригинал 71,9. По ходу когда вставляю в bf, то убивается код необходимый для загрузки. Как это исправить? И то это я только английский шрифт отрисовал, а если еще и русский, то тогда наверное размер будет и еще больше.Приложил картинку.Может у кого получится упаковать и запустить:scratch_one-s_head:

11044

ErikPshat
10.08.2015, 22:43
С этим шрифтом готовый бин файл весит 73,9 кб а оригинал 71,9. По ходу когда вставляю в bf, то убивается код необходимый для загрузки. Как это исправить?
Вот здесь (http://www.pspx.ru/forum/showpost.php?p=1099174) я тебе показывал на скринах поиск начала файла в BF.
Так вот, обрати внимание, что перед началом идут 4 байта и ещё ранее идут нули.
Эти 4 байта не просто так там затесались, они указывают на размер лежащего файла, в данном случае MenuInGame_wow_ff0e01f5.bin.
Размер записывается задом наперёд (Little Endian).

Поэтому, если ты вставляешь меньший по размеру файл, то нужно и указать его новый размер, иначе игра будет пытаться распаковать файл не правильно.

P.S. Что-то шрифт как-то мелковато смотрится, особенно по высоте. Ты там в фотошопе умеешь регулировать размер шрифта? Там можно выставлять не только имеющиеся размеры, но взамен них вписывать свои. И перед изменением размера написанный шрифт должен быть выделенным.

Вообще неплохо смотрится :good:, только думаю буквы можно было трансформировать и вытянуть в высоту.

Re-Education
10.08.2015, 23:03
Вот здесь (http://www.pspx.ru/forum/showpost.php?p=1099174) я тебе показывал на скринах поиск начала файла в BF.
Так вот, обрати внимание, что перед началом идут 4 байта и ещё ранее идут нули.
Эти 4 байта не просто так там затесались, они указывают на размер лежащего файла, в данном случае MenuInGame_wow_ff0e01f5.bin.
Размер записывается задом наперёд (Little Endian).

Поэтому, если ты вставляешь меньший по размеру файл, то нужно и указать его новый размер, иначе игра будет пытаться распаковать файл не правильно.

а размер нужно указывать в файле bf перед вставленном 4 байта задом наперед .это те значения которые показывает хекс в разделе sel? Ну скажем я открыл уже кастомизированный bin файл и выделил его код и там внизу показывает его размер? или где посмотреть?

P.S. Что-то шрифт как-то мелковато смотрится, особенно по высоте. Ты там в фотошопе умеешь регулировать размер шрифта? Там можно выставлять не только имеющиеся размеры, но взамен них вписывать свои. И перед изменением размера написанный шрифт должен быть выделенным.

Вообще неплохо смотрится :good:, только думаю буквы можно было трансформировать и вытянуть в высоту.

Регулировать высоту и трансформировать текст тоже умею. но я попробовал и сразу вся изюминка шрифта исчезает! Поэтому и перерисовывал многие буквы по ширине. например буква B,R,S они никак влезать не хотели.

ErikPshat
10.08.2015, 23:27
Ну скажем я открыл уже кастомизированный bin файл и выделил его код и там внизу показывает его размер?Да, этот размер в Sel и показывает размер выделенного bin файла, который ты собираешься вставлять. И в BF записан размер именно этого файла, а не какого-либо постороннего.

Шрифт можно трансформировать в редакторе шрифтов, например Fontographer (http://rutracker.org/forum/viewtopic.php?t=4803890) или FontLab Studio (http://nnm-club.me/forum/viewtopic.php?t=654709) или Font Creator.

Re-Education
10.08.2015, 23:31
Да, этот размер в Sel и показывает размер выделенного bin файла, который ты собираешься вставлять. И в BF записан размер именно этого файла, а не какого-либо постороннего.


Спасибо! Исправил этот размер на нужный. но все равно не запускается.:unknw:
Мигает только надпись LOADING и все дальше не грузится:scratch_one-s_head:

ErikPshat
10.08.2015, 23:44
Исправил этот размер на нужный. но все равно не запускаетсяНу вывод напрашивается - значит не правильно уложил, упаковал.

Re-Education
10.08.2015, 23:48
Ну вывод напрашивается - значит не правильно уложил, упаковал.

Уже семь раз перепаковал и уложил... причем следил в оба чтоб не было смещения и все равно не запускается. Попробуй пожалуйста ты! я шрифт этот выложил выше. хоть посмотреть как он выглядит на экране и стоит ли мучаться дальше рисовать русский алфавит

ErikPshat
10.08.2015, 23:59
Ты можешь просто сам проверить размер файла в BF.
Например у тебя был записан размер вроде FC 1F 01 00, значит наоборот это будет 00 01 1F FC. Так вот, выдели этот размер и удостоверься, что исходный файл кончается ровно там, где и должен быть. Следом увидишь начало следующего бинарника, где вначале указан размер следующего файла.

В ообщем, например ты вставляешь новый файл размером 00 00 FF FC (как було у меня), то соответственно ты выделяешь в BF именно этот же размер, как в компрессионном и заменяешь. Затем идёшь в начало и заменяешь FC 1F 01 00 на новый размер FC FF 00 00.

Не ну как в детском садике :D

Re-Education
11.08.2015, 00:58
Ты можешь просто сам проверить размер файла в BF.
Например у тебя был записан размер вроде FC 1F 01 00, значит наоборот это будет 00 01 1F FC. Так вот, выдели этот размер и удостоверься, что исходный файл кончается ровно там, где и должен быть. Следом увидишь начало следующего бинарника, где вначале указан размер следующего файла.

В ообщем, например ты вставляешь новый файл размером 00 00 FF FC (как було у меня), то соответственно ты выделяешь в BF именно этот же размер, как в компрессионном и заменяешь. Затем идёшь в начало и заменяешь FC 1F 01 00 на новый размер FC FF 00 00.

именно так и делал!!! но блиин, не работает и все тут!

Не ну как в детском садике :D
ага :D

1)перегнал картинку через psp_popfont
2)скопировал хекс код картинки в MenuInGame.binextracted
3)перегнал MenuInGame.binextracted через psp_popcomp
4)открыл этот бинарник и bf в хексе
бинарник выглядел так:
http://2.firepic.org/2/images/2015-08/11/pgly4ijehn1s.png
там внизу указан размер.
в BF выделил вот этот размер : http://2.firepic.org/2/images/2015-08/11/742jfp0gk4bx.png
затем заменил выделенный код из бинарника в BF и потом вернулся назад и поменял размер:
http://2.firepic.org/2/images/2015-08/11/mcqdt0k0gvya.png

Затем уже собрал образ и запустил и вот что мне показывает:
http://2.firepic.org/2/images/2015-08/11/i7a5aw1ztzqk.png
и на этом все. больше ничего не показывает.

ErikPshat
11.08.2015, 02:43
Re-Education, тебе эти ненужные окошки в Hex Workshop не загораживают часть кода? Тебе религия не позволяет позакрывать все эти ненужные окошки? На каждом окошке есть кнопка с крестиком.


бинарник выглядел так:
там внизу указан размер.
Ага, вижу - 00 01 27 FC. И это разве не больше, чем 00 01 1F FC у оригинала? Или глаза смотрят, а руки всё равно делают. Вроде ты говорил, что у тебя файл меньше получился.
И ничё, что новый файл вылезет за пределы исходного и вдобавок затрёт код следующего файла.


в BF выделил вот этот размер :
То есть, ты выделил файл размером оригинала 00 01 1F FC

затем заменил выделенный код из бинарника в BF
Затем ты заменил выделенный код размером 00 01 1F FC кодом сжатого файла размером 00 01 27 FC.
А у тебя не возникли сомнения, что после такой замены весь код сдвинулся, т.к. ты вставил на меньшее пространство файл большего пространства.
После выделения ты следил за позицией следующей строки? После вставки её номер хекс-позиции точно не изменился?


На скорую руку по-чёрному сузил и вытянул вверх шрифт.
Можешь попробовать. Просто закинь в папку C:\Windows\Fonts, он сам установится и появится в фотошопе.

Re-Education
11.08.2015, 09:12
Re-Education,
Ага, вижу - 00 01 27 FC. И это разве не больше, чем 00 01 1F FC у оригинала? Или глаза смотрят, а руки всё равно делают. Вроде ты говорил, что у тебя файл меньше получился.
И ничё, что новый файл вылезет за пределы исходного и вдобавок затрёт код следующего файла.

Ну об этом я и говорил вот Тут (http://www.pspx.ru/forum/showpost.php?p=1099187&postcount=273)
кастомный файл получается большего размера. и это только с отрисованным английским шрифтом.

То есть, ты выделил файл размером оригинала 00 01 1F FC
Затем ты заменил выделенный код размером 00 01 1F FC кодом сжатого файла размером 00 01 27 FC.
А у тебя не возникли сомнения, что после такой замены весь код сдвинулся, т.к. ты вставил на меньшее пространство файл большего пространства.
После выделения ты следил за позицией следующей строки? После вставки её номер хекс-позиции точно не изменился?

Возникли:D и код сдвигался.Об этом я тебе и говорил!


На скорую руку по-чёрному сузил и вытянул вверх шрифт.
Можешь попробовать. Просто закинь в папку C:\Windows\Fonts, он сам установится и появится в фотошопе.


Сейчас попробую его посмотрим что получится;)

Scorpeg
11.08.2015, 10:59
Короче Ерик, участь твоя - самому всё сделать :)

Re-Education
11.08.2015, 11:17
Короче Ерик, участь твоя - самому всё сделать :)

Да нет, почему же? Просто я не могу понять почему. Trajan pro regular то, что печатаешь, та картинка идет, а этим шрифтом печатаю, так же как делал с Trajan pro regular, и игра не запускается вообще. Хотя проверяю, все правильно делаю! Собираю абсолютно так же, одна работает, другая нет! Сегодня заменил только одну букву из этого шрифта на текстуру. Сейчас размер как нужно, но все равно игра не запускается. Не могу понять из-за чего.За границы старых букв не выхожу, все пиксель в пиксель, но все равно ничего не получается с этим шрифтом.:scratch_one-s_head::unknw:
Доходит вот до этого, просто мигает и все больше ничего не происходит:http://2.firepic.org/2/images/2015-08/11/z2nq4ti0981k.png

ErikPshat
11.08.2015, 15:57
но все равно ничего не получается с этим шрифтом
Шрифт тут не при чём. Картинку ты можешь изрисовать вдоль и поперёк. Это на запуск игры не повлияет. Картинка влияет только на отображение букв на экране.

Может повлиять на запуск, например, если ты в переводе использовал символы кириллицы, вдруг забыл сконвертировать русские предложения в символьный код. Я писал про эксперимент с кириллицей в MGM файлах, так сразу появляются баги и игра может крашиться. Это означает, что код русских символов как-то используется в игре. Напиши в блокноте русский алфавит и посмотри в хексе, увидишь коды русских символов.

Короче, когда картинку конвертируешь, то у тебя на выходе должен получится файл с размером, как у оригинала. Проверяй это.
Когда картинку bin вставляешь в файл, то, в любом случае у тебя должна она совпасть с оригиналом байт в байт.
Когда файл компрессируешь, он не должен превышать размера оригинала, ни в коем случае! Пробуй конвертер от riku, и попробуй конвертер popcompact, в котором я вставил обновлённую версию JADE. Если файл всё равно получается бОльшего размера, тогда придётся двигать все последующие файлы и изменять их позиции в таблице позиций, которая должна быть в заголовке BF.

Проверяй, чтобы заменённый файл MenuInGame был идентичен по размеру с оригиналом! Вдруг ты случайно 2 раза нажал CTRL+V и вставил 2 раза подряд новый шрифт.
Проверяй компрессионный файл с оригиналом на размер и на заголовок! Вдруг ты 2 раза бросил его на конвертер и дважды пожал его.
Проверяй компрессионный файл и тот, что в BF по всем параметрам.
Используй свежие файлы, извлекай их заново.

Re-Education
11.08.2015, 16:31
За этим следил усиленно! Но файл с этой картинкой когда конверчу в Font.bin совпадает с оригиналом байт в байт, т.е. в Sel пишет 00010000 как и должно быть. потом я вставляю его в MenuInGame.bineextracted через хекс с заменой. там тоже все совпадает по размерам. Потом беру MenuInGame.bineextracted прогоняю через прогу от riku но на выходе файл получается большего размера чем оригинал. В этом то и проблема.

попробуй ты собрать пожалуйста! если у тебя получится значит у меня что то не получается. Потому что шрифт с trajan pro то что я переделал прекрасно собирается! Вот тут (http://www.pspx.ru/forum/showpost.php?p=1099187&postcount=273) я выкладывал эту картинку которая никак не хочет собираться.

ErikPshat
11.08.2015, 18:27
та картинка идет, а этим шрифтом печатаю, так же как делал с Trajan pro regular, и игра не запускается вообще.
Ну так правильно, если размер компрессионного файла у тебя больше оригинала, тем более ты залез на начало следующего файла и испортил его.

Сейчас размер как нужно, но все равно игра не запускается. Не могу понять из-за чего.
Скорее всего ты испортил следующий файл и поэтому теперь правильные шрифты не работают.
Извлеки из образа свежий PRINCE.BF.


А упаковывать твою картинку я попробовал. Она плохо сжимается из-за того, что в картинке стало больше разносортной информации и меньше однородных байтов 0x30. Если ты сам видел и проверял, что файл стал бОльшего размера, чем отведённое под него место в BF, то как ты умудрялся его вообще вставлять? В этот момент пошевелить мозгами не появлялось желание? Если ты это видел, тогда чему удивлятся?
Я просто не внимательно прочитал, и подумал, что новый файл после компрессии получился меньше, как это было у меня.

Re-Education
11.08.2015, 21:27
Ну хорошо я пробовал на чистую картинку вставить только одну букву из этого шрифта. Файл получался нормального размера, но игра не работала хотя код не сдвигался ни на байт. Как это объяснить не знаю.

ErikPshat
12.08.2015, 00:06
Как это объяснить не знаю.
Скорее всего ты испортил следующий файл

Re-Education
12.08.2015, 00:17
Извлек ресурсы игры заново и попробовал с чистого листа. все равно не запускается. даже с 1-й замененной буквой на чистой картинке, то есть оригинальной от riku. файл получается одного размера с оригиналом и при вставке в bf ничего не двигает только заменяет то что выделенно. пробовал паковать psp_popcompact'ом файл получается еще большего размера. сейчас ищу какой то другой шрифт более тонкий и чтоб напоминал этот. вернее такой уже есть, но без поддержки кирилицы:suicide:
11051

ErikPshat
12.08.2015, 00:29
Re-Education, не знаю, что ты мутишь, но файл compressed не должен превышать размера исходного файла и тем самым не должен выползать за свои пределы. Всё остальное будет ломать код. Тогда придётся прибегать к модификации структуры BF.
В остальных случаях, при правильной вставке файлов, не должно быть никаких нареканий.

Re-Education
12.08.2015, 00:49
ErikPshat, я все таки думаю, что этот шрифт слишком толстый, поэтому добавляется много мусора в код картинки, и из-за этого скочет размер. Ведь с тонким шрифтом trajan pro я изменил больше половины текстуры следовательно и кода. А он почему то прекрасно конвертится и работает! В общем попробую другой более тонкий шрифт сделать и упаковать.


Перевел весть текст в файлах .MGM , что в папке English, переводил и маленькими и большими буквами. Перевод только кирилицей .Для того чтоб воспользоваться кодовым обозначением букв пользоваться утилитой от Riku
http://www.pspx.ru/forum/showpost.php?p=1099157&postcount=257 которая прекрасно отрабатывает возложенные на нее обязанности:D

11052

P.S. Riku, Эрик выражаю Вам огромную благодарность за прекрастные утилитки и помощь!!!:thank_you:

Re-Education
13.08.2015, 21:30
Привет всем! В общем вот что я выяснил. Для того чтоб игра запускалась, кастомная картинка со шрифтом не должна превышать 50,0 кб. Тестил на картинке со шрифтом принца персии как в заголовке игры, которая не хотела работать. Сейчас она выглядит так:
http://firepic.org/images/2015-08/13/kdituipjhvf6.png

А в игре так:

http://firepic.org/images/2015-08/13/j8qalc0629wp.jpg

http://firepic.org/images/2015-08/13/8cr9yzhwgi8i.jpg

В общем чем толще шрифт тем больше размер картинки. Предел 50,0 кб.:D

ErikPshat
14.08.2015, 05:22
Re-Education, что-то читабельности такой шрифт не привносит :)
Лучше остановиться на том, что использовали разработчики: Trajan Pro - только английский, Minion Pro - его аналог с кириллицей.

Вернее Romul (http://www.xfont.ru/font/RomulRegular_42939.htm) - это и есть Trajan Pro, только с добавлением кириллицы (описание (http://www.paratype.ru/pstore/fonts/Romul.htm)).

Re-Education
14.08.2015, 10:22
Re-Education, что-то читабельности такой шрифт не привносит :)

Что есть, то есть:D просто выложил картинки.

Лучше остановиться на том, что использовали разработчики: Trajan Pro - только английский, Minion Pro - его аналог с кириллицей.


Я тоже над этим подумал, но не мог найти подходящего шрифта. Спасибо огромное за ссылки на шрифт. Сейчас займусь его вырисовкой на текстурке.


P.S. Ты говорил, что где то видел остальной текст в игре. Тот, что в .MGM файлах я перевел. Переводил с ПК версии. Единственное, есть в 2-3 местах текст немного длинноват и налезает друг на друга. Но это я подредактирую, когда шрифт уже готов будет. Хочу попросить, чтоб ты указал где находится остальной текст. Там в основном описание обучения.(если не трудно конечно же);)

ErikPshat
15.08.2015, 03:53
Хочу попросить, чтоб ты указал где находится остальной текст.
Ну это же элементарно.
Открой в Persian Rug файл PRINCE.BF и ты увидишь бинарники со словесными названиями, например 020_Sky_wow_ff012185.bin.
А между ними лежит кучка таких файлов: _fd112184.bin.

Ну так вот, в словесных файлах WOW лежат только ресурсы, т.е. текстуры и объекты.
А вот в таких файлах _fd112184.bin как раз лежат все тексты на разных языках.
Вот так выглядит перевод в POPWW http://content.screencast.com/users/ErikPshat/folders/Snagit/media/81191f4b-8716-428b-8d0d-8260bc43ab02/08.15.2015-03.51.png

Так что можешь особенно не спешить, тебе перевода хватит на всю оставшуюся жизнь :D

Re-Education
15.08.2015, 10:11
Ого!:crazy: Да ну блин... Легче найти и отключить туториалы) Либо оставить так как есть.:D У меня только один вопрос: А там тоже кодами надо переводить? или просто заменять кирилицей через хекс?

да насчет картинки. я отрисовал, но если честно вообще не очень смотрится.

http://firepic.org/images/2015-08/15/2y51di2xe59r.jpg

ErikPshat
17.08.2015, 01:31
Легче найти и отключить туториалы) Либо оставить так как есть.
Ну так это уже не перевод будет, а просто никому не интересная фигня.

У меня только один вопрос: А там тоже кодами надо переводить? или просто заменять кирилицей через хекс?
Слушай, не нервируй меня такими вопросами.
А сам как думаешь? Возьми и напиши русский алфавит в текстовике, потом через хекс посмотри, какой букве какой соответствует код. Затем посмотри на картинке и подумай, туда ли ты свои буквы распихал :)

насчет картинки. я отрисовал, но если честно вообще не очень смотрится.
Конечно, смотрится ровно так, как и где ты их отрисовал.

ErikPshat
20.08.2015, 02:02
В текстовых бинарниках типа _fd112184 нету привязки к позициям. Там просто идут релокации по ID номеру ресурса. Поэтому их редактирование весьма облегчается. И поэтому заголовок можно не трогать вообще, а текстовые строки можно двигать в любом направлении.

Перед каждой текстовой секцией размещена ещё секция, в которой тупо проставлены смещения каждого последующего текстового диалога.

Каждая секция имеет следующий формат:

1dword - Размер тела секции.
2dword - 99C0FFEE Magik.
3dword - ID секции.
4dword - Тело секции.

Так что можно смело писать перевод символами, не заботясь об их длинне и смещении последующх секций.
Затем в предыдущей секции поправить смещения каждого диалога.

Каждый диалог отделяется нулевым байтом. Можно заменить нули на код переноса строки: 0D0A, тогда каждый диалог в текстовике будет с нововй строки. Затем произвести обратную замену.