Решил создать новую тему по переводу замечательной игры. В качестве донора использую USA версию потому, что в EUR версии уже ковырялись и попортили все что можно и нельзя. Например, не работает озвучка в роликах, даже если сконвертить по новому ролик, то он воспроизводится без звука.
Все желающие помочь - приветствуются!
Ссылки по теме:
Xvid4PSP - программа для удобного и качественного конвертирования видео и аудио.
Umd Stream Composer - конвертер видео в MPS для UMD-Video, GameBoot и ICON1.PMF
Наконец-то релиз, порт русика начался в 16-м году, было много проделано, и вот всех с наступающими праздниками! Игру тестировал на псп один раз, на пс вита один раз, и на эмуляторе один раз, вроде все норм работает.
Что сделано:
1) Переведен весь текст в игре
2) Отсортирован и заменен весь звук в игре, плюс озвучены все доп локации(в начале игры зайдите в настройки и уменьшите звук у музыки, чтоб корректно слышать диалоги, не знаю почему, но на консолях они слышаться тихо, хотя на эмуляторе все норм)
3) Стараниями Yoti, riku.kh3 и BlackDaemon был портирован decap патч RhymeKidder'a для PSP версии Rival Swords (ULUS-10240), включает разрубание монстров в игре, и было пропатчена цензура крови, теперь она как и положено красная.
4)Была переделана заставка в меню, и вообще практически все упоминания о rival swords кроме титров, т.е. полноценная два трона на псп, еще и с доп уровнями!
Над переводом работали: ErikPshat, Yoti, BlackDaemon, Re-Education, djonmarvel, DjFreedom, Mercyful, MrBentCode, PS3Forever, ghast_ololo(озвучка доп локаций за обоих принцев, дальше уже я переделывал)
Выкладывать на других ресурсах без ссылки на источник и без списка тех кто работал над портом запрещено!
MrBentCode, а по этой инструкции вам не захотелось уменьшить размер SOUNDPSP.BIG и выкинуть ненужные папки french и spanish?
Или я это для потолка расписывал подробно с картинками?
Сообщение от MrBentCode
Программка, с которой я заменял озвучку:
То есть, вы просто выкидываете звуковые файлы, у которых размер больше, чем выделенное под него пространство от старого файла?
Подсказка: прежде, чем извлекать файлы из контейнера stream.ls5, следует сначала сохранить их позиции и размер в файл формата CSV. Затем, простым редактированием текстового формата CSV, легко можно будет превратить этот файл в батник и использовать его для автоматического поиска и замены смещений с размерами в этой папке, заменив десятичные значения на 16-ричные.
Прошу любить и жаловать, Ваш Добро пожаловать в наш Чат в Telegram
Последний раз редактировалось ErikPshat; 20.10.2017 в 05:29.
Нет, файлы большего размера я не выкидываю, а записываю лишь ту часть, что помещается. Знаю, что это глупо, но на тот момент мне ничего лучше в голову не пришло.
Как ни странно, главная проблема - с теми треками, где новый файл МЕНЬШЕ старого. Почему-то его замена либо вешает игру, либо фраза просто не воспроизводится.
Я кстати так и не понял, где находятся смещения треков. Ну понятно, что размеры указываются сразу же перед треком, но их адреса (смещения) наверное должны быть где-то в другом месте? Или я опять чего-то не понимаю?
Я кстати так и не понял, где находятся смещения треков.
В той же папке english, где лежит stream.ls5 есть множество мелких файликов *.sb5 от нескольких байт до 298 Кб. Вот в них и записаны смещения и размеры треков, в почти каждом файлике по 2-3-5 смещений на треки. Посмотри в stream.ls5 смещение любого RIFF....WAVEfmt, переверни его задом наперёд и ты найдёшь эту запись в каком-нибудь из этих файликов. Там записано смещение, размер и частота кадров.
Вот список файлов, в которых имеются потенциально смещения (над надписью STREAM.LS5):
Их увидеть можно по метке 44AC - это частота кадров 44100 Hz от AC44.
Прошел с этой озвучкой всю игру, зависаний вроде не было.
Проблемы:
- Озвучка дополнительных миссий на английском (ну тут ничего не поделаешь).
- В паре мест может так же быть пара английских фраз.
- Какие-то фразы (вроде как те, что вешали игру) вообще скипаются. Впрочем, за всю игру я таких заметил от силы штук 5.
- Какие-то фразы обрезаются. Но таких я заметил всего парочку за все прохождение.
Тем не менее, с этой озвучкой вполне можно получать удовольствие от игры.
Проверил на реальной приставке psp, не работает, в самом начале перед загрузкой меню черный экран, при этом на эмуляторе такого не наблюдается.
Другие консоли: Все PSP, все PSV, SCPH-1002, SCPH-102, SCPH-77008, CECH-4208C, SCPH-1000R
Регистрация: 19.03.2008
Адрес: Россия
Сообщений: 5,742
Вы сказали Спасибо: 819
Поблагодарили 3,850 раз(а) в 2,020 сообщениях
Сила репутации: 1
Репутация: 3850 
(репутация неоспорима)
Сообщение от MrBentCode
что подходили под размер
Сообщение от MrBentCode
Лишнее просто обрезано
А почему просто не перепаковать большого и жирного? Формат то там простейший.
---
Большой - контейнер, содержит все файлы без сжатия и выравнивания. Размер равен общему размеру всех файлов.
Толстый состоит из блоков. Вот первые два разобраны, дальше по аналогии:
00 00 00 00 // start offset fat
00 00 00 00 // start offset big
D8 9C 01 00 // 0x19CD8=105688 (file size)
00 00 00 00 // separator (always zero)
0E 00 00 00 // 0xE=14 (file name len + zero byte)
73 6F 75 6E 64 2F 30 30 30 2E 73 62 35 00 // "sound/000.sb5_"=14
22 00 00 00 // start offset fat
D8 9C 01 00 // start offset big
18 AC 09 00 // 0x9AC18=633880 (file size)
00 00 00 00 // separator (always zero)
0E 00 00 00 // 0xE=14 (file name len + zero byte)
73 6F 75 6E 64 2F 30 30 31 2E 73 62 35 00 // "sound/001.sb5_"=14
Другие консоли: Все PSP, все PSV, SCPH-1002, SCPH-102, SCPH-77008, CECH-4208C, SCPH-1000R
Регистрация: 19.03.2008
Адрес: Россия
Сообщений: 5,742
Вы сказали Спасибо: 819
Поблагодарили 3,850 раз(а) в 2,020 сообщениях
Сила репутации: 1
Репутация: 3850 
(репутация неоспорима)
Короче, два вечера и перепаковщик готов. Оригинальные файлы пересобирает байт-в-байт, остальное тестируйте сами.
Использование простое: кинуть рядом с файлами или папкой sound, запустить с ключом u или p.
Проверил на четырёх играх: Prince of Persia: Revelations (EU), Prince of Persia: Revelations (US), Prince of Persia: Rival Swords (EU), Prince of Persia: Rival Swords (US).
Yoti, так речь не о том, чтобы извлечь или обратно запихнуть файлы в SOUNDPSP.BIG.
Для этого есть утилитка poptttools07b\bigdump.exe из комплекта в шапке Prince of Persia Tools.zip, хотя при сборке твоя утилитка может пригодиться.
Тут люди спрашивают, каким образом запихнуть необрезанные 665 треков обратно в stream.ls5, чтобы PSP их находила потом по своим смещениям.
Вот MrBentCode вставил туда (в stream.ls5) русские треки вместо английских, но ровно настолько, насколько было изначально выделено места, а вот изменить смещения и размер он не смог, чтобы вставить туда (в stream.ls5) треки без обрезок или наоборот короткие.
Прошу любить и жаловать, Ваш Добро пожаловать в наш Чат в Telegram
Последний раз редактировалось ErikPshat; 25.10.2017 в 05:32.
Другие консоли: Все PSP, все PSV, SCPH-1002, SCPH-102, SCPH-77008, CECH-4208C, SCPH-1000R
Регистрация: 19.03.2008
Адрес: Россия
Сообщений: 5,742
Вы сказали Спасибо: 819
Поблагодарили 3,850 раз(а) в 2,020 сообщениях
Сила репутации: 1
Репутация: 3850 
(репутация неоспорима)
Сообщение от ErikPshat
так речь не о том, чтобы извлечь или обратно запихнуть файлы в SOUNDPSP.BIG
Тогда к чему такая портянка по его редактированию?
Сообщение от ErikPshat
Тут люди спрашивают, каким образом запихнуть необрезанные 665 треков обратно в stream.ls5
В этом файле лежат wave с выравниванием по 0x800 (размер файла должен быть кратен 0x800, остаток добить нолями).
Пробовали добивать нолями до кратного 0x800 размера, но чтобы не было больше 0x800 нолей в конце?
Yoti, ну эта портянка просто ответ на то, что в цитате. Он же выложил большой файл 143 МБ, где включены папки французского и испанского языков.
Поэтому их можно было тупо вырезать без всяких программ, тем более, что они все находятся во второй половине контейнера. Это был намёк на то, что с этого нужно было начинать сразу.
Насчёт кратности 0х800 - это не означает, что игра по таким параметрам ищет на автомате треки. Это всего-лишь разметка файловой структуры в соответствии с ISO9660 для UMD-диска. Я точно знаю, что указатели на начало каждого трека есть.
Просто я это делал ранее давно, не помню где это записано, но вроде в этой кучке мелких файлов. Сейчас я просто занимаюсь другими делами и не было времени отвлекаться. Поэтому это пока не рассматривал. Недавно скачал игру и заново всё распаковал, но с ходу на лыжах не удалось найти указатели. Щас буду смотреть, ибо появились желающие продолжить дело, а звуки уже все лежат в готовом виде, их осталось только упаковать и поправить смещения.
Прошу любить и жаловать, Ваш Добро пожаловать в наш Чат в Telegram
Короче, по крайней мере размер каждого трека записан в самом треке, для примера первый трек:
RIFF40220000WAVEfmt+8 итого равно 0х48220000, наоборот 0x2248 = 8776 байт.
Вот этот размер 8776 байт в первом файле на скриншоте:
И эти данные точно записаны в мелких файлах. Список этих файлов я писал здесь: https://www.pspx.ru/forum/showpost.php?p=1120582
Если мы заменяем на русские файлы, то размер файла нужно менять в мелком файле. насчёт позиции, возможно она нигде не записана, а просто вычисляется последовательно по размеру, добитого кратно 0x800.
Прошу любить и жаловать, Ваш Добро пожаловать в наш Чат в Telegram
Yoti, а как ты думал?
В прошлом принце я так и делал, почти. Правда там всё было в одном файле. Я просто вырезал эту область с данными для всех 702 треков в той версии и порезал поровну на 702 файла с тем же названием, как сами треки. Там все порезанные куски были в точности одинакового размера. потом прошёлся батником, который просто поменял данные в каждом куске на новые. Затем я эти куски склеил обратно и затем вставил обратно в файл. Короче, тут принцип действий таков:
Составляем таблицу на все 665 английских файла - Позиция, Размер, Samples (0x50 at3).
Соответственно делаем новую таблицу на все 665 файла с заменой русских файлов - другие позиции, другие размеры, другие Samples.
Делаем батник, который складывает в stream.ls5 по списку треки, следом, в соответствии с этим треком ищет и меняет в мелких файлах значения из старой таблицы на значения из новой таблицы. Затем складывает в stream.ls5 следующий трек и т.д.
Ну собсно Swiss File Knife всё это умеет делать.
Вообщем я вам всё рассказал и на картинках показал, осталось дело за малым - взять и реализовать а я пока спать...
Прошу любить и жаловать, Ваш Добро пожаловать в наш Чат в Telegram
Yoti, только забивать нулями до 0х800 файлы не нужно.
Зачем разбухать файлу БИГ, если мы всё равно не будем его записывать на UMD-диск.
И потом, это не WAVE файлы, а AT3 (Atrac3Plus), поэтому твоя софтина не хочет мои файлы паковать, не охота снова расширения менять. У меня ведь готовые файлы в at3, а дешифрованные в wav.
Прошу любить и жаловать, Ваш Добро пожаловать в наш Чат в Telegram