PSPx форум

PSPx форум (https://www.pspx.ru/forum/index.php)
-   Русификация игр и софта для PSP (https://www.pspx.ru/forum/forumdisplay.php?f=190)
-   -   [Готово] Русификация игры "Prince of Persia: Revelations" (https://www.pspx.ru/forum/showthread.php?t=105461)

Re-Education 29.07.2015 11:30

Вложений: 1
Цитата:

Сообщение от ErikPshat (Сообщение 1098931)
В русифицированной ПК версии бинарник извлекается немного кривой, вроде не хватает спереди нулевого байта. При добавлении нулевого байта и сохранении, прога Persian Rug ругается, что "файл занят другим приложением", поэтому никак не удаётся его открыть, даже перезагрузка не помогает.



Попробуйте извлечь на своём компе текстурки из папки "POPWW_PC_RUS" с помощью Persian Rug: POPWW_FONTS_PC.rar

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

Цитата:

Сообщение от ErikPshat (Сообщение 1098931)
Как и говорил ранее, один и тот же шрифт присутствует в 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-0...8pdwp7ckgk.jpg

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

Re-Education 29.07.2015 11:37

Цитата:

Сообщение от ErikPshat (Сообщение 1098933)
нужно в PSP версии разгадать метод архивации LZ, иначе мы не сможем ничего вытащить и обратно засунуть.

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

ErikPshat 29.07.2015 20:51

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

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


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

Re-Education 29.07.2015 21:15

Цитата:

Сообщение от ErikPshat (Сообщение 1098945)
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-0...2zfqo8sxz7.png

ErikPshat 29.07.2015 21:29

Цитата:

Сообщение от Re-Education (Сообщение 1098946)
а на твоей картинке просто физически не остается места

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

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

Re-Education 29.07.2015 21:41

Цитата:

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

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

В общем вся надежда на тебя;) и чем смогу помогу, просто я не знаю как это делать:unknw::blush: Ну я насчет:
Цитата:

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

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

ErikPshat 29.07.2015 23:21

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

Цитата:

Сообщение от Re-Education (Сообщение 1098949)
Эрик, не мог бы ты мне скинуть файлы из папки Menu с пк версии игры

Пожалуйста: http://rghost.ru/7RWVsLXBt

BumbleJake 30.07.2015 05:09

Цитата:

Сообщение от ErikPshat (Сообщение 1098948)
И ещё нужно понять, каким образом и где записаны координаты каждой буквы.

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

BumbleJake добавил 30.07.2015 в 05:09
Цитата:

Сообщение от ErikPshat (Сообщение 1098952)
Re-Education, короче, нужно искать метод архивации на примере файла MenuInGame_wow_ff0e01f5.bin

А есть какие-нибудь пути поска? Просто я даже не знаю с чего можно начать. Единственным вариантом, как мне показалось, написать разработчику "Jade Tools", чтобы тот свой софт оптимизировал.

ErikPshat 30.07.2015 23:18

А тем временем, в сети появилась русская версия Persian Rug: Persian Rug Rus v2.5beta.zip

Scorpeg 31.07.2015 01:04

Цитата:

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

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

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

Scorpeg добавил 31.07.2015 в 01:04
Цитата:

Сообщение от ErikPshat (Сообщение 1098975)
А тем временем, в сети появилась русская версия Persian Rug: Persian Rug Rus v2.5beta.zip

Твоя работа?

Re-Education 31.07.2015 01:56

Цитата:

Сообщение от Scorpeg (Сообщение 1098985)
Да всё просто, идешь в отладчик и смотришь как работает :) Потом пишешь депакер. Я так делал для персоны2, ниче сложного. :blush: Полдня правда ушло.

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

ErikPshat 31.07.2015 02:28

Цитата:

Сообщение от Scorpeg (Сообщение 1098985)
Да всё просто, идешь в отладчик и смотришь как работает :) Потом пишешь депакер. Я так делал для персоны2, ниче сложного. :blush: Полдня правда ушло.

Ну да, всё просто :D Замучаешься читать отдебаженный код, там наверняка вызывается откуда-то архивная утилита, но ведь в коде ты этого напрямую не увидишь. Муторное это занятие по моему расхожему мнению :)
В принципе там разновидность паковщика типа LZ, видел люди писали простенький скрипт в QuickBMS для распаковки разновидностей: lzo1x, lzo2a, lz77wii, lzma, lzss0, lzss, lz4, LZS, правда для других игр.

Цитата:

Сообщение от Scorpeg (Сообщение 1098985)
Твоя работа?

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

BumbleJake 31.07.2015 07:39

Цитата:

Сообщение от Scorpeg (Сообщение 1098985)
Да всё просто, идешь в отладчик и смотришь как работает Потом пишешь депакер. Я так делал для персоны2, ниче сложного. Полдня правда ушло.

...это было сказано человеку, который только на html и чуть-чуть на php умеет писать :/
Тем не менее, я рад, что узкому кругу лиц данное под силу :)
Цитата:

Сообщение от ErikPshat (Сообщение 1098989)
В принципе там разновидность паковщика типа LZ, видел люди писали простенький скрипт в QuickBMS для распаковки разновидностей: lzo1x, lzo2a, lz77wii, lzma, lzss0, lzss, lz4, LZS, правда для других игр.

Игрался я с этим скриптом, никакого толку нет. Ибо опять ворох ошибок.

BlackDaemon 31.07.2015 10:15

Цитата:

Сообщение от ErikPshat (Сообщение 1098948)
А русифицированный шрифт от 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

Вложений: 2
Цитата:

Сообщение от BlackDaemon (Сообщение 1098993)
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) выкладывал в этом посту: https://www.pspx.ru/forum/showpost.php?p=1097938

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

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


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

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

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

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




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


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

Дело в том, что мой хекс-редактор обычно всегда настроен на отображение 16-ти вертикальных столбцов, от 0 до 15 в коде или от 0 до F в визуальном отображении справа. Но если я изменю ширину редактора, например на 10 или 32 столбца, то справа вся картина репина рассыпется. Отсюда вывод, что выравнивание по горизонтали исчисляется 16-ю пикселями, возможно и 8-ю.

Так же, я отделил красной линией код с промежутком по 8 строк и это де-факто. Тут сразу видно, что очертания символов вырисовываются каждые 8 вертикальных строк.

В общем получается, что картинка складывается из 16 байт по горизонтали и 8 байт по вертикали, затем таким же образом справа прикрепляется следующая картинка, потом следующая и т.д, пока по горизонтали не наберётся 512 байт. Это значит, что 512:16=32 картинки нужно сложить справа, чтобы получить одну полосу рисунка в 8 байт по высоте. Затем ниже складывается следующая горизонтальная полоса, которая отрисовывает продолжение начертания символов.

Что я хотел сказать?
То, что в картинке 512х128 графический редактор обычно отрисовывает последовательно 512 пикселей в строке и так же последовательно продолжает переносить каждую строку. А у нас получается первая строка 16 байт, потом переходит на вторую строку 16 байт, потом на третью и так 8 строк по 16 байт. Затем 9-ая строка должна приклеиваться справа к первой строке, 10-ая строка ко 2-ой, 11-ая строка к 3-ей. То есть, через каждые 8 строк картинка дополняется по 16 байт к первым 8-ми строкам, пока не наберётся 512 байт в восьми строках.

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

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 строится изображение. Думал свизлинг у вас какой, помощь нужна, а оказывается...

ErikPshat 01.08.2015 14:43

Цитата:

Сообщение от riku.kh3 (Сообщение 1099003)
тайлами 16x8 строится изображение

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

riku.kh3 01.08.2015 15:16

Назад то оно запаковывается? Или смысла этот FONT.bin править сейчас ноль?


Текущее время: 04:48. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2025, vBulletin Solutions, Inc. Перевод: zCarot
PSPx Forum - Сообщество фанатов игровых консолей.