Здравствуйте уважаемые форумчане!
В общем вопрос такого плана - на форуме не нашел подходящей темы, очень хочу русифицировать две игры.
Принц персии для псп, вернее хочу озвучку вставить с пк версий!
Видеоролики, что в псп версии, что в пк версии, называются одинаково, кроме расширений - в псп версии pmf а в пк версии bik.
Структура папок соблюдена одинаково, что там, что там. Пробовал конвертить видео-ролики из пк версий игр, с уже русской озвучкой, сперва в avi, затем в mpeg4 AVC, затем перегонял через Sony Umd Stream Composer, вставлял, но при запуске загружается до того видео, что я подменил и игра вылетает с ошибкой.
Возможно ли это, ну имею в виду, можно ли с точной аналогии игр пк версий озвучку вставить в псп версии игр? Просто можно было бы псп версию сделать с русской озвучкой, причем не какой-то подпольной, а официальной, скажем от акелла. Ну, в общем, вопрос к знающим людям: как из avi сделать игровой pmf?
Ссылки по теме:
Xvid4PSP - программа для удобного и качественного конвертирования видео и аудио.
Umd Stream Composer - конвертер видео в MPS для UMD-Video, GameBoot и ICON1.PMF
Репутация: 212 
(весьма и весьма положительная личность)
Сообщение от ErikPshat
В русифицированной ПК версии бинарник извлекается немного кривой, вроде не хватает спереди нулевого байта. При добавлении нулевого байта и сохранении, прога Persian Rug ругается, что "файл занят другим приложением", поэтому никак не удаётся его открыть, даже перезагрузка не помогает.
Попробуйте извлечь на своём компе текстурки из папки "POPWW_PC_RUS" с помощью Persian Rug: POPWW_FONTS_PC.rar
В PSP версии, картинка должна быть так же 32-битная (4 канала), только 512х128.
512 х 128 х 4 = 262144 байта (256kb).
с русифицированной пк версии POP Warrior Within не извлекается. но просмотрев пк версию POP The Two Thrones пришел к выводу что шрифты идентичны и расположены в тех же файлах что и в POP Warrior Within и оттуда я смог вырвать нужную русифицированную текстурку:
Так же добавил оригинал во вложения.
Последний раз редактировалось Re-Education; 29.07.2015 в 21:10.
Репутация: 212 
(весьма и весьма положительная личность)
Сообщение от ErikPshat
нужно в PSP версии разгадать метод архивации LZ, иначе мы не сможем ничего вытащить и обратно засунуть.
Вот в этом то и проблема. В том чтобы уменьшить готовую текстурку от пк версии не составит труда, но вот как все это собрать обратно в bin-ы и далее уже в bf, для того чтоб работало, не понятно.
Re-Education, непонятно, в чём смысл прикреплять к картинке ссылку, ведущую в никуда, вернее тупо на главную http://firepic.org/
В общем вручную вытащил картинку шрифта из русифицированной ПК версии POPWW. Правда отображался шрифт под наклоном ровно 45 градусов. Я в фотошопе убрал наклон и получилась чёткая текстура, правда конечно программный код не оригинал, но думаю довольно близко приближённый к оригиналу.
В фотошопе хорошо видно отображение по каналам - можно посмотреть и отдельно редактировать: 3 канала RGB, Альфа-канал со шрифтом или вместе все 4 канала, где отчётливо видно, как отделяется каждый символ.
Прошу любить и жаловать, Ваш Добро пожаловать в наш Чат в Telegram
Репутация: 212 
(весьма и весьма положительная личность)
Сообщение от ErikPshat
Re-Education, непонятно, в чём смысл прикреплять к картинке ссылку, ведущую в никуда, вернее тупо на главную http://firepic.org/
Исправил. Извини не заметил.
Тот шрифт что ты сейчас выложил не подойдет по моему. Там еще необходимо дорисовать клавиши направления, левый и правый триггеры ,кнопку select и кнопки крест, квадрат, треугольник и круг. Которые должны распологаться, судя по тому что видно в деббагере, тут:
а на твоей картинке просто физически не остается места, вот :
а на твоей картинке просто физически не остается места
Ну это не моя картинка, а тех русификаторщиков, которые переводили POPWW
А русифицированный шрифт от POPTTT странно как-то сделан и не совсем обдуманно. Там же куча места есть, где ИЕРОГЛИФЫ.
Ну в общем с картинкой шрифтов проблем думаю не будет. Её можно и самому нарисовать, как угодно. С этим разобрались.
Главная проблема, как этот шрифт заархивировать в LZ (LZO, LZSS, Custom LZ или фиг его знает), чтобы PSP смогла его разархивировать.
И ещё нужно понять, каким образом и где записаны координаты каждой буквы.
Прошу любить и жаловать, Ваш Добро пожаловать в наш Чат в Telegram
Репутация: 212 
(весьма и весьма положительная личность)
Сообщение от ErikPshat
Главная проблема, как этот шрифт заархивировать в LZ (LZO, LZSS, Custom LZ или фиг его знает), чтобы PSP смогла его разархивировать.
И ещё нужно понять, каким образом и где записаны координаты каждой буквы.
Это да. Но если честно я в этом точно вообще никак не силен. В том то и дело я могу помочь разве, что нарисовать эту текстурку и перевести текст, который найду на русский согласно алфавиту который составим в этой текстуре. Потому как еще не обдумал рисовать весь алфавит заново или просто переделать немного и печатать транслитом.
В общем вся надежда на тебя и чем смогу помогу, просто я не знаю как это делать Ну я насчет:
Сообщение от ErikPshat
Главная проблема, как этот шрифт заархивировать в LZ (LZO, LZSS, Custom LZ или фиг его знает), чтобы PSP смогла его разархивировать.
И ещё нужно понять, каким образом и где записаны координаты каждой буквы.
Эрик, не мог бы ты мне скинуть файлы из папки Menu с пк версии игры чтоб я попробовал расшифровать по какому принципу записаны координаты каждой буквы до того как начну перерисовывать текстуру? Просто разные версии игр могут быть по разному русифицированны.
Последний раз редактировалось Re-Education; 29.07.2015 в 23:01.
И ещё нужно понять, каким образом и где записаны координаты каждой буквы.
вооот! Я думал над этим ещё с самого начала, когда мы начали архивы капать. Почему в каждом варианте шрифтов, текстура последних такая разная везде? И как быть, если мы начнем русифицировать, со шрифтом, точнее, как его приучить сопоставлять картинки букв с написанием текста?
BumbleJake добавил 30.07.2015 в 05:09
Сообщение от ErikPshat
Re-Education, короче, нужно искать метод архивации на примере файла MenuInGame_wow_ff0e01f5.bin
А есть какие-нибудь пути поска? Просто я даже не знаю с чего можно начать. Единственным вариантом, как мне показалось, написать разработчику "Jade Tools", чтобы тот свой софт оптимизировал.
вооот! Я думал над этим ещё с самого начала, когда мы начали архивы капать. Почему в каждом варианте шрифтов, текстура последних такая разная везде? И как быть, если мы начнем русифицировать, со шрифтом, точнее, как его приучить сопоставлять картинки букв с написанием текста?
BumbleJake добавил 30.07.2015 в 05:09
А есть какие-нибудь пути поска? Просто я даже не знаю с чего можно начать. Единственным вариантом, как мне показалось, написать разработчику "Jade Tools", чтобы тот свой софт оптимизировал.
Да всё просто, идешь в отладчик и смотришь как работает Потом пишешь депакер. Я так делал для персоны2, ниче сложного. Полдня правда ушло.
Репутация: 212 
(весьма и весьма положительная личность)
Сообщение от Scorpeg
Да всё просто, идешь в отладчик и смотришь как работает Потом пишешь депакер. Я так делал для персоны2, ниче сложного. Полдня правда ушло.
Извини конечно, но мы повторюсь,не ромхакеры! Огромное спасибо тебе за помощь,но лично я был бы признателен тебе, за помощь Эрику в нелегком деле. Просто без хорошего(по моему мнению ты таким являешься)программиста дело пойдет не очень быстро. Эрик извини,я не хочу сказать что ты этого не знаешь. Просто я думаю, что чем больше людей подключено к теме, значит проект скорее завершится.
Да всё просто, идешь в отладчик и смотришь как работает Потом пишешь депакер. Я так делал для персоны2, ниче сложного. Полдня правда ушло.
Ну да, всё просто Замучаешься читать отдебаженный код, там наверняка вызывается откуда-то архивная утилита, но ведь в коде ты этого напрямую не увидишь. Муторное это занятие по моему расхожему мнению
В принципе там разновидность паковщика типа LZ, видел люди писали простенький скрипт в QuickBMS для распаковки разновидностей: lzo1x, lzo2a, lz77wii, lzma, lzss0, lzss, lz4, LZS, правда для других игр.
Сообщение от Scorpeg
Твоя работа?
Ну так моя роспись стоит в "Опциях" Когда находишься в ступоре, заняться бывает нечего.
Прошу любить и жаловать, Ваш Добро пожаловать в наш Чат в Telegram
Да всё просто, идешь в отладчик и смотришь как работает Потом пишешь депакер. Я так делал для персоны2, ниче сложного. Полдня правда ушло.
...это было сказано человеку, который только на html и чуть-чуть на php умеет писать :/
Тем не менее, я рад, что узкому кругу лиц данное под силу
Сообщение от ErikPshat
В принципе там разновидность паковщика типа LZ, видел люди писали простенький скрипт в QuickBMS для распаковки разновидностей: lzo1x, lzo2a, lz77wii, lzma, lzss0, lzss, lz4, LZS, правда для других игр.
Игрался я с этим скриптом, никакого толку нет. Ибо опять ворох ошибок.
Репутация: 229 
(весьма и весьма положительная личность)
Сообщение от ErikPshat
А русифицированный шрифт от POPTTT странно как-то сделан и не совсем обдуманно. Там же куча места есть, где ИЕРОГЛИФЫ.
С "Двумя Тронами" вообще интересная история - таблетка от EU версии на локализации Акеллы без бубна не работает, вернее игра крашится из-за шрифта, потому на неё ещё ставят поверх пиратский русификатор с самопальными шрифтами. Также, Reloaded оставили интересное послание на этот счёт
"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.
Последний раз редактировалось BlackDaemon; 31.07.2015 в 10:23.
Причина: немного подзабыл детали :P
Короче, начинаю включать соображалку... т.к. методом тыка ничего не получается. Вниматель и вдумчиво прочтите всё, что я написал ниже.
В общем долго думал над этой проблемой и пришёл к выводу, что 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 байт в восьми строках.
Короче, надеюсь вы всё поняли, что я хотел сказать. Думаю теперь сами справитесь
Прошу любить и жаловать, Ваш Добро пожаловать в наш Чат в Telegram