Здравствуйте уважаемые форумчане!
В общем вопрос такого плана - на форуме не нашел подходящей темы, очень хочу русифицировать две игры.
Принц персии для псп, вернее хочу озвучку вставить с пк версий!
Видеоролики, что в псп версии, что в пк версии, называются одинаково, кроме расширений - в псп версии pmf а в пк версии bik.
Структура папок соблюдена одинаково, что там, что там. Пробовал конвертить видео-ролики из пк версий игр, с уже русской озвучкой, сперва в avi, затем в mpeg4 AVC, затем перегонял через Sony Umd Stream Composer, вставлял, но при запуске загружается до того видео, что я подменил и игра вылетает с ошибкой.
Возможно ли это, ну имею в виду, можно ли с точной аналогии игр пк версий озвучку вставить в псп версии игр? Просто можно было бы псп версию сделать с русской озвучкой, причем не какой-то подпольной, а официальной, скажем от акелла. Ну, в общем, вопрос к знающим людям: как из avi сделать игровой pmf?
Ссылки по теме:
Xvid4PSP - программа для удобного и качественного конвертирования видео и аудио.
Umd Stream Composer - конвертер видео в MPS для UMD-Video, GameBoot и ICON1.PMF
Другие консоли: Все PSP, все PSV, SCPH-1002, SCPH-102, SCPH-77008, CECH-4208C, SCPH-1000R
Регистрация: 19.03.2008
Адрес: Россия
Сообщений: 5,742
Вы сказали Спасибо: 819
Поблагодарили 3,844 раз(а) в 2,016 сообщениях
Сила репутации: 1
Репутация: 3844 
(репутация неоспорима)
Сообщение от ErikPshat
балин, и зачем я так много расписывал? Ты нашёл клей "Момент" или просто подогнал заголовок?
В первую очередь любой шрифт смотрится в RomArtist или TileMolester. Первую программу ты уже давно знаешь по русификации дебаг-шрифта. Сколько прошло, лет пять?
riku.kh3, есть небольшая надежда, что мы сможем всё обратно запихнуть. Теперь самое важное - это координаты к новым русским буквам подцепить.
Короче, во время занятия переводом Persian Rug, я обнаружил в его недрах недокументированные фразы и скрытые возможности. Видимо автор пытался что-то сделать, но так и забросил, и скрыл, заблокировав функции. Я всё открыл и разблокировал. Но после этого, при запуске выскакивет окно с ошибкой и на некоторых кнопках так же появляются ошибки.
Однако программа эти функции выполняет. То есть, появилась вкладка BIN распаковщика. Это не просто извлечение отдельных ресурсов из BIN, а разархивируется полностью весь бинарник целиком. Это даёт возможность вообще использовать бинарник в незапакованном виде, ну и просто изучить заголовок, содержимое и устройство всего бинарного файла. Ещё при попытке распаковать уже распакованный бинарник, выскакивает сообщение, что "Not a compressed JADE engine bin file." А это наводит на мысль, что файлы пакуются JADE движком, который у нас есть пакер/анпакер. По ходу в бинарниках изменён заголовок архива.
Потом появились функции "Сохранить список ресурсов", "Тестировать" и интересное - "Извлечь данные", при этом извлекаются данные именно того ресура, который выделен из списка присутствующих.
Сообщение от Yoti
RomArtist
Это я в первую очередь и сделал. Но тут формат 8bpp. Nes и Snes не подходят. Потом одна буква состоит не из одного тайла 16х8, а из 4-ёх, как минимум.
Прошу любить и жаловать, Ваш Добро пожаловать в наш Чат в Telegram
Репутация: 212 
(весьма и весьма положительная личность)
Здравствуйте! Извините, но есть вопрос. Если у шрифта уже есть координаты на английский шрифт, не легче его перерисовать в русские символы и перевети транслитом? И дорисовать недостающие символы которых нет в английском алфавите на ненужных значках? затем уже перевести меню кракозяброй
Persian Rug Rus Extra
Ну и вот неожиданно вышла засекреченная версия
Имейте в виду, что в отличии от обычной версии, расширенная версия Extra содержит некоторые безобидные баги, например: при запуске выскакивает ошибка, но программа запускается в фоне, т.е. на заднем плане.
Основные возможности:
Первая вкладка "Проводник файлов ресурсов"
Позволяет открывать большие контейнеры форматов FAT, SB0, BF BIG (например PRINCE.BF)
Позволяет извлекать сразу все файлы из контейнера нажатием одной кнопки "Извлечь"
Позволяет выделить из списка один или несколько файлов и извлечь только их отдельно (правой кнопкой)
Позволяет производить поиск по ключевым словам и фразам.
Тут всё понятно, можно ассоциировать поддерживаемые типы файлов с программой и прочие неинтересные настройки.
Появилась ранее скрытая секция "Кривые хаки" (полунедорабочие), где можно поставить галочку в чекбоксе "Тест". Что она означает, наверное никто не знает.
Запускаем 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
Открываем оба файла в хекс-редакторе. Первые 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 за помощь в методе упаковки!
Прошу любить и жаловать, Ваш Добро пожаловать в наш Чат в Telegram
Последний раз редактировалось ErikPshat; 02.08.2015 в 22:37.
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
Прошу любить и жаловать, Ваш Добро пожаловать в наш Чат в Telegram
Последний раз редактировалось ErikPshat; 02.08.2015 в 22:32.
Очень рад, что тема оживилась такими горячими подробностями. Выражаю свою благодарность людям, которые выше выкладывали свои умные мысли, и писали содержательные посты.
Извиняюсь за оффтоп. Не бейте!
riku.kh3, кстати, miniLZO v2.02 сжимает абсолютно так же, как в исходых бинах и на выходе получаем тот же результат.
А miniLZO v2.09 всё-таки даёт на выходе бинарник большего размера и ссответственно другой код.
Так что правильно, лучше использовать JADE Pack Tool со старой библиотекой miniLZO v2.02.
P.S. Для сравнения компрессор с новой библиотекой miniLZO v2.09
Прошу любить и жаловать, Ваш Добро пожаловать в наш Чат в Telegram
Пробовал в меню P5MAIN.MGM написать кириллицей АБВГДЕЁ, так на экране выползла вся матрица шрифта в высоту 128х512
Посмотрел в немецком файле.
Там есть такая строка: <LABEL>Gespeichertes Spiel l{0246}schen</LABEL>, что намекает, что всякие умляуты обозначены цифрами.
В данном случае обозначение буквы ö - {0246}
После шрифта лежит секция FONTDESC и там похоже действительно находятся смещения шрифтов. Вот я эту секцию скопировал сюда. Для лучшей наглядности, я код растянул по 20 байт в строку.
Первый двубайтный ряд - просто указатели смещений хекс-редактора, не обращайте внимание.
Тут такое дело, что каждая новая строка пронумерована по порядку (первые 4 байта) и соответствует номеру символа.
Сначала думал совпадение, но вроде нет, т.к. вторые 4 байта похоже указывают на позицию первого символа на картинке и они нулевые, это вот эти 5 символов: !, P, u, Ü, •. Я эти строки в коде ниже выделил красным. А справа, в визуальном столбце отображения кода, на первом месте виден алфавит.
Только вот я не могу понять, что за цифры в коде идут, откуда идёт отсчёт позиции, как определить ширину и высоту буквы. Может у кого появятся какие-нибудь соображения...
Ну чисто из этой таблички есть предположение, что код символа, потом X1, Y1, X2, Y2 (соответственно получаем квадрат, в который вписана буква). Считают видимо от левого нижнего угла текстуры. Последний байт из четырех видимо означает че-то другое, потому что не может быть так много координат. Короче поэкспериментируй, поменяй че-нить, назад воткни.
Репутация: 229 
(весьма и весьма положительная личность)
riku.kh3, большое спасибо за набор полезных утилит. Если есть возможность, сделайте, пожалуйста, утилиту psp_popfont универсальной, с возможностью конвертировать точно так же не только текстуру шрифта. Заранее спасибо.
Во вложении положил шрифт и палитру. По совету riku.kh3 очень понравилась программа TiledDDG (TiledGGD.zip).
Открываем графику - 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.
За помощь в разборе форматов текстур и палитр, выборе и работе с тайловым редактором и составлении данной инструкции ОГРОМНАЯ благодарность riku.kh3 !!!
Прошу любить и жаловать, Ваш Добро пожаловать в наш Чат в Telegram
Последний раз редактировалось ErikPshat; 18.08.2016 в 17:50.
Репутация: 212 
(весьма и весьма положительная личность)
В общем помучался я с текстуркой немного и вот что получилось :
(все на прозрачном фоне, просто для того чтоб было видно добавил фон, на оригинале нет фона).
Так же прилагаю алфавит, какая буква чему соответствует.
АЛФАВИТ РУССКИЙ ИЗМЕНЕННЫЙ АНГЛИЙСКИЙ
А - А
Б - {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
То, есть печатать чтоб отображались русские символы , нужно то что справа.
Я могу взяться за перевод, но просто не знаю как проверить текстуру. Если честно, то у меня не получилось упаковать ее как вы описали выше. Если кто возьмется вставить текстуру на место, чтоб проверить, начну перевод текста в игре. Как то так.
Кстати, пока редактировал текстуру, то заметил одну закономерность, буквы все имеют 15 пикселей по вертикали. Пока редактировал я не вышел за рамки предыдущей буквы, которую переделывал либо удалял с места.Думаю что координаты не должны сбиться.
Re-Education, погоди, английский ты не должен вырезать, они могут быть использованы где-нибудь.
В любом случае Английский алфавит трогать не стоит. Нужно только добавить русские буквы.
Поэтому мы и думаем, как нарисовать русские буквы с полноценным начертанием.
Прошу любить и жаловать, Ваш Добро пожаловать в наш Чат в Telegram