PSPx форум

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

MrBentCode 19.10.2017 16:56

Программка, с которой я заменял озвучку:
https://yadi.sk/d/th1gWzoP3NtuY8

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

ErikPshat 20.10.2017 04:20

MrBentCode, а по этой инструкции вам не захотелось уменьшить размер SOUNDPSP.BIG и выкинуть ненужные папки french и spanish?
Или я это для потолка расписывал подробно с картинками?

Цитата:

Сообщение от MrBentCode (Сообщение 1120550)
Программка, с которой я заменял озвучку:

То есть, вы просто выкидываете звуковые файлы, у которых размер больше, чем выделенное под него пространство от старого файла?

Подсказка: прежде, чем извлекать файлы из контейнера 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

MrBentCode 20.10.2017 07:04

ErikPshat, Немного не до того было.:blush:

Нет, файлы большего размера я не выкидываю, а записываю лишь ту часть, что помещается. Знаю, что это глупо, но на тот момент мне ничего лучше в голову не пришло.
Как ни странно, главная проблема - с теми треками, где новый файл МЕНЬШЕ старого. Почему-то его замена либо вешает игру, либо фраза просто не воспроизводится.

Я кстати так и не понял, где находятся смещения треков. Ну понятно, что размеры указываются сразу же перед треком, но их адреса (смещения) наверное должны быть где-то в другом месте? Или я опять чего-то не понимаю?

ErikPshat 20.10.2017 07:22

Цитата:

Сообщение от MrBentCode (Сообщение 1120580)
Я кстати так и не понял, где находятся смещения треков.

В той же папке english, где лежит stream.ls5 есть множество мелких файликов *.sb5 от нескольких байт до 298 Кб. Вот в них и записаны смещения и размеры треков, в почти каждом файлике по 2-3-5 смещений на треки. Посмотри в stream.ls5 смещение любого RIFF....WAVEfmt, переверни его задом наперёд и ты найдёшь эту запись в каком-нибудь из этих файликов. Там записано смещение, размер и частота кадров.

Вот список файлов, в которых имеются потенциально смещения (над надписью 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 файле(ах)

Re-Education 20.10.2017 09:11

Вложений: 1
Вот вырезал по Вашей инструкции, все получилось, причем делов то на 30 секунд.:D Вложение 13473

djonmarvel 23.10.2017 12:24

Цитата:

Сообщение от MrBentCode (Сообщение 1120413)
Как тут тихо...

В общем, вот:
https://yadi.sk/d/lru0nMT13NoYDG

Прошел с этой озвучкой всю игру, зависаний вроде не было.
Проблемы:
- Озвучка дополнительных миссий на английском (ну тут ничего не поделаешь).
- В паре мест может так же быть пара английских фраз.
- Какие-то фразы (вроде как те, что вешали игру) вообще скипаются. Впрочем, за всю игру я таких заметил от силы штук 5.
- Какие-то фразы обрезаются. Но таких я заметил всего парочку за все прохождение.

Тем не менее, с этой озвучкой вполне можно получать удовольствие от игры.

Проверил на реальной приставке psp, не работает, в самом начале перед загрузкой меню черный экран, при этом на эмуляторе такого не наблюдается.

Yoti 23.10.2017 20:01

Цитата:

Сообщение от MrBentCode (Сообщение 1118741)
что подходили под размер

Цитата:

Сообщение от MrBentCode (Сообщение 1118741)
Лишнее просто обрезано

А почему просто не перепаковать большого и жирного? Формат то там простейший.

---

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

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


Yoti 25.10.2017 01:04

Вложений: 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).

ErikPshat 25.10.2017 03:55

Yoti, так речь не о том, чтобы извлечь или обратно запихнуть файлы в SOUNDPSP.BIG.
Для этого есть утилитка poptttools07b\bigdump.exe из комплекта в шапке Prince of Persia Tools.zip, хотя при сборке твоя утилитка может пригодиться.

Тут люди спрашивают, каким образом запихнуть необрезанные 665 треков обратно в stream.ls5, чтобы PSP их находила потом по своим смещениям.

Вот MrBentCode вставил туда (в stream.ls5) русские треки вместо английских, но ровно настолько, насколько было изначально выделено места, а вот изменить смещения и размер он не смог, чтобы вставить туда (в stream.ls5) треки без обрезок или наоборот короткие.

Yoti 25.10.2017 12:25

Цитата:

Сообщение от ErikPshat (Сообщение 1120762)
так речь не о том, чтобы извлечь или обратно запихнуть файлы в SOUNDPSP.BIG

Тогда к чему такая портянка по его редактированию?

Цитата:

Сообщение от ErikPshat (Сообщение 1120762)
Тут люди спрашивают, каким образом запихнуть необрезанные 665 треков обратно в stream.ls5

В этом файле лежат wave с выравниванием по 0x800 (размер файла должен быть кратен 0x800, остаток добить нолями).
Пробовали добивать нолями до кратного 0x800 размера, но чтобы не было больше 0x800 нолей в конце?

ErikPshat 25.10.2017 12:53

Yoti, ну эта портянка просто ответ на то, что в цитате. Он же выложил большой файл 143 МБ, где включены папки французского и испанского языков.
Поэтому их можно было тупо вырезать без всяких программ, тем более, что они все находятся во второй половине контейнера. Это был намёк на то, что с этого нужно было начинать сразу.

Насчёт кратности 0х800 - это не означает, что игра по таким параметрам ищет на автомате треки. Это всего-лишь разметка файловой структуры в соответствии с ISO9660 для UMD-диска. Я точно знаю, что указатели на начало каждого трека есть.

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

ErikPshat 25.10.2017 13:17

Короче, по крайней мере размер каждого трека записан в самом треке, для примера первый трек:
  • RIFF40220000WAVEfmt +8 итого равно 0х48220000, наоборот 0x2248 = 8776 байт.
Вот этот размер 8776 байт в первом файле на скриншоте:

http://i6.imageban.ru/out/2017/10/20...4dd69b9acd.png

И эти данные точно записаны в мелких файлах. Список этих файлов я писал здесь: https://www.pspx.ru/forum/showpost.php?p=1120582
Если мы заменяем на русские файлы, то размер файла нужно менять в мелком файле. насчёт позиции, возможно она нигде не записана, а просто вычисляется последовательно по размеру, добитого кратно 0x800.

ErikPshat 25.10.2017 13:54

Вложений: 1
Всё, нашёл! В мелких файлах записан и размер файла и его смещение и частота дискретизации.

Например, на скрине выше видны первые файлы, их размеры и позиции:
  1. Позиция: 00000 = 0x0000; Размер: 08776 байт = 0x2248; Частота: 44100 Hz = AC44
  2. Позиция: 10240 = 0x2800; Размер: 10176 байт = 0x27C0; Частота: 44100 Hz = AC44
  3. Позиция: 20480 = 0x5000; Размер: 09056 байт = 0x2360; Частота: 44100 Hz = AC44

Эти данные первых файлов записаны в english\002.sb5

Вложение 13498
  • 0x1770 = 6000 (не помню точно, но что-то знакомое и известное (не важно).
  • 0xF2B0 = 62128 - это Samples, т.е. количество сэмплов в конкретном треке, записывается в позиции 0x50 AT3-файла RIFF....WAVEfmt.
Короче, схема, схожая как с прошлым принцем: https://www.pspx.ru/forum/showpost.php?p=1096125

Yoti 25.10.2017 15:17

Цитата:

Сообщение от ErikPshat (Сообщение 1120768)
Я точно знаю, что указатели на начало каждого трека есть.

Может быть, не копал так глубоко.

Однако перепаковщик для файла сделал - есть у кого интерес, проверяйте.

Кинуть архив рядом, запустить с ключом u - распаковка.
Кинуть софтину рядом с wav, запустить с ключом p - упаковка.

Оригинальный файл перепаковывает байт-в-байт.

//старая версия удалена

ErikPshat 25.10.2017 15:26

Yoti, прочти внимательно мой предыдущий пост. Я его только что дописал и там нужно менять важные данные:
  • Новую позицию русских треков.
  • Новый размер русских треков
  • Новое количество Сэмплов в новом треке.
А там, из 665 английских треков в stream.ls5 заменяется 530 русских сконвертированных треков.

Yoti 25.10.2017 16:28

Это ещё и все мелкие сканировать/перебирать нужно? Вот извращение.

ErikPshat 25.10.2017 17:53

Yoti, а как ты думал? :D
В прошлом принце я так и делал, почти. Правда там всё было в одном файле. Я просто вырезал эту область с данными для всех 702 треков в той версии и порезал поровну на 702 файла с тем же названием, как сами треки. Там все порезанные куски были в точности одинакового размера. потом прошёлся батником, который просто поменял данные в каждом куске на новые. Затем я эти куски склеил обратно и затем вставил обратно в файл. Короче, тут принцип действий таков:
  1. Составляем таблицу на все 665 английских файла - Позиция, Размер, Samples (0x50 at3).
  2. Соответственно делаем новую таблицу на все 665 файла с заменой русских файлов - другие позиции, другие размеры, другие Samples.
  3. Делаем батник, который складывает в stream.ls5 по списку треки, следом, в соответствии с этим треком ищет и меняет в мелких файлах значения из старой таблицы на значения из новой таблицы. Затем складывает в stream.ls5 следующий трек и т.д.
Ну собсно Swiss File Knife всё это умеет делать.
Вообщем я вам всё рассказал и на картинках показал, осталось дело за малым - взять и реализовать ;) а я пока спать...

Yoti 25.10.2017 20:11

Может быть, обновлю вторую софтину с обработкой мелких. Но объём работы не воодушевляет. Посмотрим на активность.

ErikPshat 26.10.2017 04:22

Yoti, только забивать нулями до 0х800 файлы не нужно.
Зачем разбухать файлу БИГ, если мы всё равно не будем его записывать на UMD-диск.

И потом, это не WAVE файлы, а AT3 (Atrac3Plus), поэтому твоя софтина не хочет мои файлы паковать, не охота снова расширения менять. У меня ведь готовые файлы в at3, а дешифрованные в wav.

ErikPshat 26.10.2017 17:14

Цитата:

Сообщение от Yoti (Сообщение 1120791)
Может быть, обновлю вторую софтину с обработкой мелких.

Поиск в папке на предмет смещений в мелких файлах на Samles + Size (они друг за другом идут 8 байт)

http://i1.imageban.ru/out/2017/10/26...03ce6c4f41.png


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

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