Перейти к содержимому
Zone of Games Forum
7ytbfdr56nu

Распаковка и запаковка ресурсов игр для 3DO

Рекомендованные сообщения

3DO это ретро приставка из 1993 года, идея создания которой принадлежит основателю EA Games.
3DO как и Sega Saturn  не выдержали конкуренцию с Playstation, во многом из-за высокой цены.
Игры для 3DO выпускали на CD

Решил поделится своим недавним опытом по русификации(озвучки) игр для 3DO на примере игры Shockwave 2: Beyond the Gate 
Озвучка не простая, а закадровая, сгенерированная переводчиком видео от яндекса.

Дальнейшее описание структуры диска и форматов файлов справедливо для Shockwave 2: Beyond the Gate
Другие игры 3DO могут иметь другую структуру и использовать другие типы файлов с другими форматами сжатия и т.д.

Весь звук игры находится в stream файлах в папке ShockWave2\FrontEnd\Streams
и в файлах миссий без разширения в папке ShockWave2\ (их я буду называть m-файлы)

На первом диске находятся данные для 1,2,3,4,7,8 уровней:
m1a, m1b, m1c это файлы миссий первого уровня
m2a, m2b это файлы миссий второго уровня
и т.д.
На втором диске для 1,5,6,7,8 уровней

Эти файлы что-то вроде архива, внутри которого находятся файлы для уровня
ANIM CEL stream и какие-то еще

Форматы файлов:
Файлы stream внутри содержат SNDS и FILM - звук и видео, соответственно
ANIM - это группа CEL кадров и возможно что-то еще
CEL - это текстура(картинка)

Для озвучки нас интересуют SNDS файлы
внутри stream находится один аудио файл
внутри m-файлов находится несколько stream файлов, внутри которых по одному аудио-файлу
для нас удобней будет не распаковывать m-файлы

Инструменты, которые я использовал:
bin2iso для конвертации образа из bin/cue в ISO 2048
unCD-ROM для распаковки файлов из ISO образа
quickBMS универсальный инструмент для распаковки и запаковки игровых файлов
ffmpeg мультимедиа-фрейморк для разных конвертаций(aifc в wav, в основном)
ZStreamChunksReader специальный инструмент для файлов приставки 3DO
audacity аудио-редактор для "монтажа" звука

Процесс состоит из 3 этапов:
1.Извлечь аудио файлы
2.Озвучить
3.Запаковать аудио файлы обратно, сначала в файл stream или m-файл, а потом и в ISO

 

 
Скрытый текст

 

0. Конвертируем образ в ISO. Извлекаем файлы в папку

bin2iso первой строчкой ожидает увидеть путь к bin файлу, поэтому
открываем cue файл блокнотом и удаляем первую строку с нолями, если они там есть
в командной строке пишем



bin2iso disc1.cue disc1.iso

извлекаем файлы



uncd-rom disc1.iso

1.Достаём аудио в понятном формате из m-файлов и stream
Для этого можно использовать ZStreamChunksReader.
На вкладке Audio Convertation(1) жмём на кнопку Add Files(2)
и выбираем все нужные нам файлы. Они появятся в списке справа
UW1cXuCvK
На вкладке Audio Data Ripper(3) жмём Search Audio(4)
Программа создаст MAP файлы, в которых содержится информация о расположении аудио и других файлов внутри
SBrRSvGNa
Снова заполняем список(2) m-файлами и stream. Теперь жмём Extract Audio(5)
Мы получили аудио данные в сыром виде(sound), без заголовка и сжатые методом SDX2
Для конвертации в wav нужна информация о частоте дискретизации(22050Hz) и количестве каналов(моно, стерео)
Узнать информацию о конкретном файле можно при сканировании одного файла(не списком) кнопкой Search Audio

У Shockwave 2: Beyond the Gate всё аудио в 22050 Hz
Стерео:
I1_1 - начальная заставка
CD - фразы "вставьте диск 1 или 2"
cv - архив записей
ev - катсцены между уровнями
Моно:
всё остальное, в том числе m-файлы

Опять заполняем список на вкладке Audio Convertation(1), но на этот раз полученными sound файлами
Выбираем соответствующие свойства 22050 Hz и моно или стерео. Не забудьте поставить 0 в поле Header lenght to cut
Жмём на кнопку SDX2 to WAV
В итоге, мы получили исходный звук из игры в формате PCM 16-bit без сжатия и с заголовком wav файла

В процессе работы заметил, что ZStreamChunksReader не точно вырезает-конвертирует файлы.
В конце волны бывают артефакты, которые звучат как щелчок.
Поэтому, для распаковки написал bms скрипт SHDRv2.bms
Он достаёт sound файлы из чего угодно(даже из ISO) и сохраняет их в виде sound и aifc файлов
aifc файлы содержат заголовок с информацией, необходимой для конвертации в wav
извлекаем из file (в командной строке)



quickbms SHDRv2.bms file


конвертируем в wav (в командной строке)



ffmpeg -i file.aifc -filter:a "volume=-10dB" file.wav


тут я сразу уменьшаю громкость оригинала на -10db для удобства наложения озвучки


для автоматизации процесса использую bat файл



for %%a in (m*) do quickbms SHDRv2.bms "%%a"

for %%a in (*.aifc) do ffmpeg -i %%a -filter:a "volume=-10dB" %%~na.wav

del *.aifc
@pause


он извлекает всё аудио из m-файлов (m*)(для stream файлов заменить на (*.stream) )
конвертирует все aifc файлы в wav и удаляет aifc файлы(они нам больше не понадобятся)

В теории, этим скриптом можно извлечь всё аудио из ISO образа без распаковки(не проверял).

 

Скрытый текст

 

Для получения перевода с озвучкой, я использовал rutube и расширение tampermonkey
со скриптом Voice Over Translation

Скрипт поддерживает много разных хостингов видео. Я выбрал рутюб

1. Склеил wav и создал видео-файлы из картинки+звук для заливки на rutube
создать txt с именами файлов в папке (в командной строке)



dir /b /a /-p /o:gen >files.txt


склеить файлы в один wav (в командной строке)



ffmpeg -f concat -i concat.txt -c copy cv.wav


внутри concat.txt такая структура



file 'CV1A_1.wav'
file 'CV1A_2.wav'
file 'CV1A_3.wav'
file 'CV1C2_1.wav'


и т.д.
создать видео со звуком из картинки (в командной строке)



ffmpeg -loop 1 -i shock-wave-2-beyond-the-gate-logo.jpg -i cv.wav -c:v libx264 -c:a mp3 -strict -2 -pix_fmt yuv420p -shortest cv.avi


где cv.wav это имя файла из склеенных wav
Получили cv.avi для заливки на rutube

2. Получаем озвучку
Залил файлы на rutube и в скрипте после озвучки скачал чистый mp3 с озвучкой
V5p6z9hxJ
Видео доступные по ссылке не могут быть обработаны скриптом

3. Миксуем озвучку с оригинальным звуком из игры
Я делал в audacity. Можно использовать любой удобный вам аудио-редактор
Длительность аудио не может быть больше чем в оригинале.
Если фраза на русском длиннее оригинала, менял темп в редакторе
На выходе у нас должна получиться куча wav файлов PCM 16-bit 22050Hz с соответствующими оригиналу количеством каналов и длиной,
готовых к запаковке обратно

 

Скрытый текст

 

1. Конвертируем wav обратно в голый SDX2
В ZStreamChunksReader загружаем готовые wav файлы в список(2)
Жмём Pack to SDX2
Получили кучу aifc файлов. Это наш звук, пожатый алгоритмом SDX2 с заголовком aifc и хвостом
Для вставки аудио обратно в stream или m-файл нужно голое аудио без заголовка
Вот тут я то ли не понял, то ли ZStreamChunksReader не работает как надо:
ZStreamChunksReader версии 0.8.2 содержит в архиве инструкцию по работе с программой. Там написано 
"сделать из него “сырой” файл выполнив операции Search Audio и Extract Audio в итоге получив .SOUND файл."
Вот это не работает. Пишет No Data Extracted

2.Обрезаем заголовок и хвост у aifc файлов
помещаем quickbms и скрипт SSNDstrip.bms для него в папку с aifc файлами
и в командной строке пишем



for %f in (*.aifc) do quickbms SSNDstrip.bms "%a"


Получили кучку SSND файлов, готовых к вставке обратно в stream и m-файлы

3.Вставляем аудио обратно
Убедитесь, что MAP файлы лежат рядом с соответствующими stream и m-файлами
В ZStreamChunksReader на вкладке Audio Data Insert жмём кнопку Insert Audio
Сначала выбираем куда вставлять(stream или m-файл), затем - что вставлять (SSND файл)

С m-файлами на этом этапе есть нюанс. Помните, мы не стали распаковывать m-файлы?
Нужно предварительно склеить SSND файлы из конкретного m-файла для вставки в этот m-файл
Нюанс заключается в том, что m-файл, в отличии от stream, содержит несколько аудио файлов,
а ZStreamChunksReader вставляет только один аудио файл

Для склейки используем команду (на примере m4a m-файла)



copy /b m4a*.SSND m4a.SSND


Важно! Файлы для склейки должны быть пронумерованы в правильном порядке,
таком же, в котором они извлекались из m-файла. Нужно добавить 0 к одноциферным SSND
0>00 1>01 2>02 и т.д.

4. Запаковываем файлы в ISO
Я использовал скрипт iso2files.bms для quickbms
Он читает данные из unCD-ROM.log (его создает unCD-ROM при распаковке) и заменяет файлы внутри ISO
Таким образом, нет необходимости пересобирать весь диск и переподписывать его.
С unCD-ROM.log есть нюанс: скрипт iso2files.bms еще сырой, поэтому, нужно подправить файл unCD-ROM.log блокнотом,
чтобы все пробелы после "PosInFile:" и "Size:" были нолями. Вот так:
было "PosInFile:   71800  Size:    25858" стало "PosInFile:00071800  Size:000025858"

В папке с ISO должен находится подправленный файл unCD-ROM.log и quickbms, а файлы на замену  - рядом в папке с названием как у ISO 
Например, если образ disс1.iso, то в папке disc1 должны лежать stream и m-файлы,
которые вы хотите вставить, но БЕЗ папок ShockWave2\FrontEnd\Streams или ShockWave2\
Команда



quickbms -r -w iso2files.bms disс1.iso


запишет файлы из папки disс1 в образ disс1.iso

Готово!

 

 

Изменено пользователем 7ytbfdr56nu
  • Лайк (+1) 1
  • +1 1

Поделиться сообщением


Ссылка на сообщение

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Сейчас популярно

  • Продвигаемые темы

  • Последние сообщения

    • @Tirniel это что у тебя за ведро такое, что в ai limit были проблемы??  Не, ну серьёзно, она же вообще нетребовательная, там под 200fps в 4к вроде было. Она даже у Мирослава летала бы! А как ты наверное слышал, у него 6950xt
    • Кто то перетащит в ремейк текст из старой?выходит через пару часов
    • Мне рассказывали (сам так и не играл в экспедицию33 — стращался, что мой калькулятор будет против так же, как было с аи лимит, где неприятные сюрпризы из-за железа), что по игре раскинуто прилично так разнообразных боссов, к которым и не предполагалось идти сразу же, как их можно встретить. Но вот потом, ближе к концу игры если к ним вернуться, то проблем особых быть не должно. Это как в готике (и других играх, мир которых не зависит от уровня игрока), где если наткнулся на тролля, никто не заставляет его ковырять палкой (но это, конечно же, возможно, сам ни раз и не два делал, когда перепроходил в очередной раз первые две игры серии), предполагается биться тогда, когда будешь сильнее. Про босса сам сказать ничего не могу, но люди из моего френдлиста на вид (на вид со стороны) как-то без проблем его одолевали. А там мб и заблуждаюсь.
    • Ну, они его и без того рано или поздно, но выложили бы в открытый доступ, что и делали с прошлыми версиями fsr. Мб и действительно по ошибке сделали, когда обновляли репозиторий 2-й версии, куда фрагменты кода от 4-й и затесались каким-то образом. думаю, не только у них одних на работе бывает довольно хаотичное хранение данных, где ногу сломить впору.
    • Боже, это великолепно
    • Фильм выйдет на локальных онлайн-сервисах. Goonswarm Games объявляет о начале работы над официальной русской озвучкой фильма «История POSTAL — Безумное наследие». Эта картина рассказывает о пути одной из самых скандальных и влиятельных серий игр в индустрии. Зрителей ждут интервью с создателями, архивные кадры, истории разработки и реакции сообщества. Особое внимание уделено роли фанатов из России и СНГ, которые помогли POSTAL стать культовым проектом. Фильм выйдет на локальных онлайн-сервисах. Точная дата релиза и список площадок будут объявлены дополнительно. «История POSTAL — Безумное наследие» (Going Postal: The Legacy Foretold) — полнометражный документальный фильм, снятый независимой командой энтузиастов. Премьера состоялась в 2024 году. В этом кино собраны уникальные интервью с разработчиками Running With Scissors, журналистами и фанатами, а также редкие архивные материалы, раскрывающие, как POSTAL стал символом игровой контркультуры.
    • Источниками вдохновения автора называют The Legend of Zelda и Crypt of the NecroDancer. Студии Potata Company и HeroCraft PC сообщили о релизе весьма необычного проекта Lord Ambermaze, который сами авторы описывают как «увлекательное приключение на необыкновенном острове, где мир двигается только тогда, когда двигаетесь вы». \ Источниками вдохновения автора называют The Legend of Zelda и Crypt of the NecroDancer.
    • Также были представлены два дополнительных сюжетных набора: Loose Cannon и The Flower & the Flame. Эти наборы позволят игрокам исследовать Сиэтл в роли шерифа Камарильи Бенни Малдуна и примогена Изабеллы Мур, соответственно. Они включены в премиальные издания игры и будут выпущены в 2026 году. Компании Paradox Interactive и White Wolf совместно со студией The Chinese Room объявили, что кланы Ласомбра и Тореадор добавлены в базовую версию игры Vampire: The Masquerade — Bloodlines 2 и будут доступны для всех игроков с момента релиза. Также были представлены два дополнительных сюжетных набора: Loose Cannon и The Flower & the Flame. Эти наборы позволят игрокам исследовать Сиэтл в роли шерифа Камарильи Бенни Малдуна и примогена Изабеллы Мур, соответственно. Они включены в премиальные издания игры и будут выпущены в 2026 году. Цифровые издания Vampire: The Masquerade — Bloodlines 2 включает в себя: Deluxe Edition содержит Santa Monica Memories, косметический набор с предметами декора, вдохновленными оригинальной игрой Vampire: The Masquerade — Bloodlines, для обиталища Фаир. Набор можно будет приобрести отдельно. Premium Edition включает набор Santa Monica Memories и дополнительные сюжетные наборы Loose Cannon и The Flower & the Flame. Loose Cannon расскажет историю о шерифе клана Бруха по имени Бенни, позволив игрокам окунуться в его историю бесконечной погони. Игроки также получат экипировку в стиле Бенни для Фаир. The Flower & the Flame посвящен легендарному пути примогена клана Тореадор Изабеллы к созданию ее легендарного темного magnum opus. Обладатели The Flower & the Flame также получат наряд для Фаир в стиле Изабеллы после релиза набора. В Vampire: The Masquerade — Bloodlines 2 игроки проведут девять ночей в Сиэтле в роли старейшины вампиров Фаир, разбираясь в коварной политике придворной Камарильи и восстанавливая вампирские способности. На этом пути Фаир преследует и направляет голос Фабиена, детектива из клана Малькавиан — его искаженное восприятие реальности одновременно дает ключи к разгадке тайн и затмевает грань между истиной и иллюзией. Игроки могут выбрать один из шести кланов, у каждого из которых свой стиль игры, одежда и дисциплины: мятежный клан Бруха, адептов магии крови из клана Тремер, вершителей правосудия Бану Хаким, харизматичных Вентру, обворожительных представителей клана Тореадор и повелителей теней Ласомбра. Игроки должны быть внимательны к своему окружению, иначе они рискнут нарушить Маскарад — абсолютный закон секретности, который скрывает общество вампиров от человечества. Релиз проекта состоится 21 октября.
  • Изменения статусов

    • Дмитрий Соснов  »  Tirniel

      Привет! ты разбираешься в компьютерном железе, сможешь помочь с советом по апгрейду старого компа?
      · 1 ответ
    • SHAMAH

      Куда вход на сайт убрали и ЗАЧЕМ? Хотел файл скачать, там только медленная загрузка и “зарегистрируйтесь”. Все. Пришлось вручную страницу входа прописывать.
      · 0 ответов
    • Nosferatu  »  behar

      Добрый вечер.
      Подскажите пожалуйста, у вас не осталось случайно исходников для фикса на широкоформатные мониторы для игры Vampire The Masquerade Redemption?
      Если да, то не могли бы вы ими поделиться, а если нет, то прошу прощенья что побеспокоил.
      Заранее спасибо.
      · 0 ответов
    • AlcoKolyic  »  makc_ar

      Здраствуйте! Извините, а можно попросить ссылку на место где можно взять перевод (патч или образ игры с переводом) El Shaddai: Ascension of the Metatron для ps3, пожалуйста? А то в теме к этой игре у меня не получилось найти работающие ссылки… Первая ведет в группу в которой удалены большинство постов, а пост с этой игрой ведет на сайт https://psnext.ru который сейчас не имеет отношения к видеоиграм. 
      · 0 ответов
    • oleg72  »  Boor

      https://www.skidrowcodex.net/fate-reawakened-goldberg/
      · 0 ответов
  • Лучшие авторы


Zone of Games © 2003–2025 | Реклама на сайте.

×