Программка, с которой я заменял озвучку:
https://yadi.sk/d/th1gWzoP3NtuY8 Исходный код там же. Соррян за говнокод. Я там чуток поправил, так что теперь в игре больше английских фраз, но меньше невоспроизводящихся. |
MrBentCode, а по этой инструкции вам не захотелось уменьшить размер SOUNDPSP.BIG и выкинуть ненужные папки french и spanish?
Или я это для потолка расписывал подробно с картинками? Цитата:
Подсказка: прежде, чем извлекать файлы из контейнера stream.ls5, следует сначала сохранить их позиции и размер в файл формата CSV. Затем, простым редактированием текстового формата CSV, легко можно будет превратить этот файл в батник и использовать его для автоматического поиска и замены смещений с размерами в этой папке, заменив десятичные значения на 16-ричные. http://i6.imageban.ru/out/2017/10/20...4dd69b9acd.png http://i5.imageban.ru/out/2017/10/20...c5395637a3.png |
ErikPshat, Немного не до того было.:blush:
Нет, файлы большего размера я не выкидываю, а записываю лишь ту часть, что помещается. Знаю, что это глупо, но на тот момент мне ничего лучше в голову не пришло. Как ни странно, главная проблема - с теми треками, где новый файл МЕНЬШЕ старого. Почему-то его замена либо вешает игру, либо фраза просто не воспроизводится. Я кстати так и не понял, где находятся смещения треков. Ну понятно, что размеры указываются сразу же перед треком, но их адреса (смещения) наверное должны быть где-то в другом месте? Или я опять чего-то не понимаю? |
Цитата:
Вот список файлов, в которых имеются потенциально смещения (над надписью STREAM.LS5): Их увидеть можно по метке 44AC - это частота кадров 44100 Hz от AC44. 002.sb5 003.sb5 00k.sb5 01l.sb5 01o.sb5 01q.sb5 01y.sb5 027.sb5 029.sb5 02a.sb5 02g.sb5 02h.sb5 02j.sb5 02v.sb5 02w.sb5 02y.sb5 02z.sb5 031.sb5 037.sb5 038.sb5 03c.sb5 03f.sb5 03g.sb5 03j.sb5 03l.sb5 03m.sb5 03s.sb5 03x.sb5 041.sb5 042.sb5 043.sb5 04d.sb5 04f.sb5 04h.sb5 04i.sb5 04k.sb5 04p.sb5 04r.sb5 04z.sb5 052.sb5 05e.sb5 05i.sb5 05l.sb5 05o.sb5 05p.sb5 05r.sb5 05t.sb5 05u.sb5 05v.sb5 05z.sb5 060.sb5 067.sb5 068.sb5 069.sb5 06a.sb5 06c.sb5 06d.sb5 06e.sb5 06f.sb5 06g.sb5 06h.sb5 06j.sb5 06k.sb5 06l.sb5 06o.sb5 06r.sb5 06t.sb5 06u.sb5 06v.sb5 06w.sb5 06x.sb5 06y.sb5 06z.sb5 070.sb5 071.sb5 073.sb5 074.sb5 076.sb5 077.sb5 078.sb5 079.sb5 07a.sb5 07b.sb5 07c.sb5 07d.sb5 07e.sb5 07f.sb5 07j.sb5 07l.sb5 07o.sb5 07p.sb5 07q.sb5 07r.sb5 07s.sb5 07t.sb5 07u.sb5 07w.sb5 07x.sb5 07z.sb5 081.sb5 083.sb5 084.sb5 085.sb5 086.sb5 087.sb5 088.sb5 089.sb5 08b.sb5 08c.sb5 08d.sb5 08f.sb5 08h.sb5 08k.sb5 08m.sb5 08n.sb5 08p.sb5 08q.sb5 08s.sb5 08t.sb5 08u.sb5 08v.sb5 08w.sb5 Проверено файлов 145, найдено результатов 122 в 122 файле(ах) |
Вложений: 1
Вот вырезал по Вашей инструкции, все получилось, причем делов то на 30 секунд.:D Вложение 13473
|
Цитата:
|
Цитата:
Цитата:
--- Большой - контейнер, содержит все файлы без сжатия и выравнивания. Размер равен общему размеру всех файлов. Толстый состоит из блоков. Вот первые два разобраны, дальше по аналогии: Код:
00 00 00 00 // start offset fat |
Вложений: 1
Короче, два вечера и перепаковщик готов. Оригинальные файлы пересобирает байт-в-байт, остальное тестируйте сами.
Использование простое: кинуть рядом с файлами или папкой 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) треки без обрезок или наоборот короткие. |
Цитата:
Цитата:
Пробовали добивать нолями до кратного 0x800 размера, но чтобы не было больше 0x800 нолей в конце? |
Yoti, ну эта портянка просто ответ на то, что в цитате. Он же выложил большой файл 143 МБ, где включены папки французского и испанского языков.
Поэтому их можно было тупо вырезать без всяких программ, тем более, что они все находятся во второй половине контейнера. Это был намёк на то, что с этого нужно было начинать сразу. Насчёт кратности 0х800 - это не означает, что игра по таким параметрам ищет на автомате треки. Это всего-лишь разметка файловой структуры в соответствии с ISO9660 для UMD-диска. Я точно знаю, что указатели на начало каждого трека есть. Просто я это делал ранее давно, не помню где это записано, но вроде в этой кучке мелких файлов. Сейчас я просто занимаюсь другими делами и не было времени отвлекаться. Поэтому это пока не рассматривал. Недавно скачал игру и заново всё распаковал, но с ходу на лыжах не удалось найти указатели. Щас буду смотреть, ибо появились желающие продолжить дело, а звуки уже все лежат в готовом виде, их осталось только упаковать и поправить смещения. |
Короче, по крайней мере размер каждого трека записан в самом треке, для примера первый трек:
http://i6.imageban.ru/out/2017/10/20...4dd69b9acd.png И эти данные точно записаны в мелких файлах. Список этих файлов я писал здесь: https://www.pspx.ru/forum/showpost.php?p=1120582 Если мы заменяем на русские файлы, то размер файла нужно менять в мелком файле. насчёт позиции, возможно она нигде не записана, а просто вычисляется последовательно по размеру, добитого кратно 0x800. |
Вложений: 1
Всё, нашёл! В мелких файлах записан и размер файла и его смещение и частота дискретизации.
Например, на скрине выше видны первые файлы, их размеры и позиции:
Эти данные первых файлов записаны в english\002.sb5 Вложение 13498
Прошлый скриншот: |
Цитата:
Однако перепаковщик для файла сделал - есть у кого интерес, проверяйте. Кинуть архив рядом, запустить с ключом u - распаковка. Кинуть софтину рядом с wav, запустить с ключом p - упаковка. Оригинальный файл перепаковывает байт-в-байт. //старая версия удалена |
Yoti, прочти внимательно мой предыдущий пост. Я его только что дописал и там нужно менять важные данные:
|
Это ещё и все мелкие сканировать/перебирать нужно? Вот извращение.
|
Yoti, а как ты думал? :D
В прошлом принце я так и делал, почти. Правда там всё было в одном файле. Я просто вырезал эту область с данными для всех 702 треков в той версии и порезал поровну на 702 файла с тем же названием, как сами треки. Там все порезанные куски были в точности одинакового размера. потом прошёлся батником, который просто поменял данные в каждом куске на новые. Затем я эти куски склеил обратно и затем вставил обратно в файл. Короче, тут принцип действий таков:
Вообщем я вам всё рассказал и на картинках показал, осталось дело за малым - взять и реализовать ;) а я пока спать... |
Может быть, обновлю вторую софтину с обработкой мелких. Но объём работы не воодушевляет. Посмотрим на активность.
|
Yoti, только забивать нулями до 0х800 файлы не нужно.
Зачем разбухать файлу БИГ, если мы всё равно не будем его записывать на UMD-диск. И потом, это не WAVE файлы, а AT3 (Atrac3Plus), поэтому твоя софтина не хочет мои файлы паковать, не охота снова расширения менять. У меня ведь готовые файлы в at3, а дешифрованные в wav. |
Цитата:
http://i1.imageban.ru/out/2017/10/26...03ce6c4f41.png |
ErikPshat,
все файлы в 002.sb5 или только часть? |
Вложений: 1
Yoti, в 002.sb5 только на 62 файла смещения. А ты скриншот не смотрел, что я выложил? Он очень длинный, там надо после открытия в браузере посередине на + лупы нажать. Он из-за длины выглядет в сжатом уменьшонном виде как узкая полоска, а при нажатии на + раскрывается в полный размер.
Батник для скаироания файлов в папке с подпапками: Код:
@echo off POP6_RS\sound - путь к папке sound с извлечёнными sb5 c подпапкой english. sfk - https://sourceforge.net/projects/swissfileknife/ |
ErikPshat,
она просто грузится (отрисовывается) жесть сколько. |
Yoti, картинка что-ли? Ну правильно, она же 3,78 Мб весит :) Ты лучше батник запусти, поправь пути на свои, увидишь тоже самое. Samples.txt брось рядом с батником.
Список - очень большой: Код:
|
ErikPshat,
я с телефона сижу, мне никак) Но структуру мелких разобрать попробую потом. --- Написал генератор текстового шаблона для sfk, начало положено... --- Сони учудили, конечно, нигде не могу найти общей документации, чтобы fact кусок был на 0x60. --- В прошлом принце меняли только четыре значения? Размер/позиция/частота/сэмплы? --- Файловые чанки в sb5, кажется, полностью разобраны: Код:
00001210 3F 00 8B 00 ?.‹. 0x3f/63 - number |
Цитата:
Потому что частота всегда на PSP 44100 Hz, мы треки с ПК-версии сразу кодируем в AT3 в эту частоту (AC44 - 44AC). Цитата:
|
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
|
Yoti, тема носит академический характер. Как ты наверное понял, прошлый Принц и этот - это уроки для новичков.
То есть, постепенно, шаг за шагом, я подробно расписываю и показываю на картинках решение тех или иных проблем. Поэтому, если я тебе пишу, то это не значит, что я только для тебя это пишу. Другие люди будут это читать и прибавлять знания. Жаль только, что топик-стартер, мой прилежный ученик, Re-Education, видимо спрыгнул с темы :) надеюсь он много нового успел почерпнуть. Цитата:
Тут всё намного проще: ren *.wav *.at3 |
Вложений: 1
Немного статистики:
В архиве ls5 находится 665 at3. В папке 144 sb5 файла, причём не все содержат упоминание о звуке (44ac). В файлах sb5 находится 667 упоминаний, то есть метод вычёркивания паттерна после нахождения не подходит. --- Окей, новая версия. После того, как at3 будут распакованы из stream.ls5 ключом u, а после упакованы в stream_new.ls5 ключом p, запускаем программу с ключом f. В ответ программа создаст два текстовых файла. В первом файле находятся оригинальные sb5 чанки (полученные из stream.ls5), а во втором на тех же строчках новые sb5 чанки (полученные из stream_new.ls5). Всё, что остаётся, это просканировать все sb5 на наличие строк из первого файла и заменить их на соответствующие из второго. Пока автоматика этого не делает, и не буду обещать, что сделаю позже. Файлы с чанками STREAM.LS5 Tool v0.4 by Yoti Count: 144 002.sb5 - ok 003.sb5 - ok 00e.sb5 00k.sb5 - ok 00l.sb5 00m.sb5 00w.sb5 00x.sb5 015.sb5 01e.sb5 01j.sb5 01l.sb5 - ok 01o.sb5 - ok 01q.sb5 - ok 01r.sb5 01y.sb5 - ok 021.sb5 024.sb5 027.sb5 - ok 029.sb5 - ok 02a.sb5 - ok 02c.sb5 02g.sb5 - ok 02h.sb5 - ok 02j.sb5 - ok 02o.sb5 02v.sb5 - ok 02w.sb5 - ok 02y.sb5 - ok 02z.sb5 - ok 031.sb5 - ok 033.sb5 037.sb5 - ok 038.sb5 - ok 03c.sb5 - ok 03d.sb5 03f.sb5 - ok 03g.sb5 - ok 03j.sb5 - ok 03l.sb5 - ok 03m.sb5 - ok 03s.sb5 - ok 03x.sb5 - ok 041.sb5 - ok 042.sb5 - ok 043.sb5 - ok 04b.sb5 04c.sb5 04d.sb5 - ok 04f.sb5 - ok 04h.sb5 - ok 04i.sb5 - ok 04k.sb5 - ok 04p.sb5 - ok 04r.sb5 - ok 04z.sb5 - ok 052.sb5 - ok 05e.sb5 - ok 05i.sb5 - ok 05l.sb5 - ok 05m.sb5 05o.sb5 - ok 05p.sb5 - ok 05r.sb5 - ok 05t.sb5 - ok 05u.sb5 - ok 05v.sb5 - ok 05z.sb5 - ok 060.sb5 - ok 061.sb5 062.sb5 065.sb5 067.sb5 - ok 068.sb5 - ok 069.sb5 - ok 06a.sb5 - ok 06c.sb5 - ok 06d.sb5 - ok 06e.sb5 - ok 06f.sb5 - ok 06g.sb5 - ok 06h.sb5 - ok 06j.sb5 - ok 06k.sb5 - ok 06l.sb5 - ok 06o.sb5 - ok 06r.sb5 - ok 06t.sb5 - ok 06u.sb5 - ok 06v.sb5 - ok 06w.sb5 - ok 06x.sb5 - ok 06y.sb5 - ok 06z.sb5 - ok 070.sb5 - ok 071.sb5 - ok 073.sb5 - ok 074.sb5 - ok 076.sb5 - ok 077.sb5 - ok 078.sb5 - ok 079.sb5 - ok 07a.sb5 - ok 07b.sb5 - ok 07c.sb5 - ok 07d.sb5 - ok 07e.sb5 - ok 07f.sb5 - ok 07j.sb5 - ok 07l.sb5 - ok 07o.sb5 - ok 07p.sb5 - ok 07q.sb5 - ok 07r.sb5 - ok 07s.sb5 - ok 07t.sb5 - ok 07u.sb5 - ok 07w.sb5 - ok 07x.sb5 - ok 07z.sb5 - ok 081.sb5 - ok 083.sb5 - ok 084.sb5 - ok 085.sb5 - ok 086.sb5 - ok 087.sb5 - ok 088.sb5 - ok 089.sb5 - ok 08b.sb5 - ok 08c.sb5 - ok 08d.sb5 - ok 08f.sb5 - ok 08h.sb5 - ok 08j.sb5 08k.sb5 - ok 08m.sb5 - ok 08n.sb5 - ok 08p.sb5 - ok 08q.sb5 - ok 08s.sb5 - ok 08t.sb5 - ok 08u.sb5 - ok 08v.sb5 - ok 08w.sb5 - ok Done, press Enter to exit... |
Цитата:
Затем сдампил размеры этих файлов из CSV при выдёргивании с помощью Nowa Software Extractor (можно из позиции 0x4 + 8). Перевёл 10-тичный вид в 16-ричный и перевернул значения в Little Endian и прикрепил к значениям Sample. Эти 2 вида значения вместе не позволяют при поиске попадать на ложные совпадения. А 2 лишних записи означают, что где-то дублируется вызов одного и того же трека. Я так думаю. |
Цитата:
Цитата:
|
Цитата:
Я там вижу 701 упоминание. Это значит, что какие-то файлы 36 раз упоминаются в нескольких местах. Причём я заметил с десяток упоминаний одного и того же трека с одинаковым размером и количеством сэмлов, но по разным смещениям в разных файлах. Например, пройдись поиском по списку на Sample и Size 98090400 A88F0000. Там оно 30 раз повторяется, это трек stream_00287.at3. |
ErikPshat,
а это не важно, по идее. Только немного удилинит алгоритм замены, а так генерируемые моей софтиной паттерны полные. Просто нельзя отбрасывать паттерн после замены в одном файле, а продолжать искать его в остальных. Наверное, ты даже батник для sfk можешь сделать. У меня просто нет изменённых архивов, я тестирую только на оригинальном. |
Увидел тему, очень люблю эту игру) Сейчас нигде не могу найти норм версию для PSP. Этот перевод был очень кстати. Скорее всего перевод заморожен? =(
|
Цитата:
|
А в такую поиграть нельзя? Где-то озвучка, где-то сабы
|
Сабы вырезаны разработчиками. Перевод только меню и обучалки. А выкладывать незавершенный проект я не хочу. Извини.
|
Доброго времени суток!Если это ещё актуально: может быть, можно слегка ускорить дорожки русской озвучки, те, которые слишком длинные. Как это сделано, например, в The Witcher 3. Они обрезаются совсем немного, по-идее, ускорение сильно заметно не будет.
|
Re-Education, ещё бы скриншотов надёргать или записать видео с примером текста и озвучки. Возможно кто-то увидит, что нужна помощь, и отзовётся.
|
Текущее время: 00:58. Часовой пояс GMT +3. |
Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2025, vBulletin Solutions, Inc. Перевод: zCarot
PSPx Forum - Сообщество фанатов игровых консолей.