Ура, понимаешь!
Поздравьте меня - после нескольких месяцев упорных попыток, все диалоги из игры наконец-то подчинились мне! Переворошил груду документации, проделал кучу экспериментов (а заодно неплохо подтянулся по части старых аудиокодеков), и наконец разобрался с форматом, в котором в игре хранятся реплики, монологи и диалоги всех персонажей.
Надеюсь, что смогу вскоре обновить эту тему новой версией программы-распаковщика, кое-чем интересненьким из раскопанного, а может быть, и сайт тоже.
P.S. Hello
____________________________________
Все любят Гипножабу Инфосферу.
Пол:
Проживает: где-то на Кубани
Сообщений: 238
Награды:
The agent of hatredkiller guild
Re: Диалогам из HitAndRun - быть!
Автор оригинала - Dagdamor
Надеюсь, что смогу вскоре обновить эту тему новой версией программы-распаковщика, кое-чем интересненьким из раскопанного, а может быть, и сайт тоже.
P.S. Hello
Привет! Заждались тебя тут, панимашь (и, собственно, не только тут )
По теме: новость отличная, с нетерпением буду ждать продолжения... (в частности, обещанного доп. контента из раскопанного)
____________________________________ pegas: я - лучистый пирожок, а ты кто?
griffin: ...медовая плюшечка, я полагаю
matrixdll
Спасибо! Ждать уже недолго, если завтра появлюсь здесь - то уже с обновой.
Да, надо бы наверное выложить ссылку на ту, старую тему (с которой все началось)...
____________________________________
Все любят Гипножабу Инфосферу.
DJ Fry
Хм, да, действительно, всю тему поднял ни кто иной, как Джафар
Скоро я смогу их использовать в своих личных целях!
На то и расчет - что не только будут прослушивать, но и использовать в своем творчестве (хотя для настоящего фаната и просто файлы должны быть золотой жилой - одних Лизиных реплик в игре более 300, бедная Ярдли Смит! И ведь в игре используется не больше половины от записанного, а остальное просто лежит в ресурсных файлах мертвым грузом).
Всего в багаж добавляется более 3800 новых звуковых файлов, так что выбрать будет из чего. Как все это выкладывать на сайт - пока не представляю.
____________________________________
Все любят Гипножабу Инфосферу.
Да здравствует Dagdamor
Расскажешь, как именно вытащил? Мне интересно. Не терпиться скачать и залить на своё новое зеркало.
П.С. Странно так получилось. В игру играл только пиратскую, оригинальных диалогов не слышал. Буду наверствывать упущенное.
UPD: Выкладывай rar архивом и не парься.
____________________________________
The years go by, as quickly as a wink
Enjoy yourself, enjoy yourself, it's later than you think
А можно ли как то включить в игре титры, или может кто то уже собрал реплики. А то я на слух воспринимаю так себе, и кое чего не могу разобрать.
В основном речь Мардж мне очень сложно понять (наверное из за скрипучего голоса).
Ну а вот и обещанная программа. Даже как-то не верится, что работа завершена. Бейте меня, но я собой горжусь. Эта программа открыла мне массу реплик и диалогов, которых никто раньше не слышал, ибо они не были использованы в игре. Теперь все они доступны и вам.
К примеру, фразы, которые произносят персонажи, разбивая пчелу-камеру. В игре их попросту нет. Или как Лиза и Барт просят перекусить в магазине Апу (на их уровнях такая встреча невозможна, а монологи, тем не менее - записаны). Или целая масса скрытых фраз у второстепенных персонажей. Или фразы и даже целые диалоги у главных героев, которых я почему-то от них никогда не слышал.
Инструкция не изменилась, просто копирую ее с предыдущей версии:
Во вложении архив, распаковываете его в папку с игрой (обычно это C:\Program Files\Vivendi Universal Games\The Simpsons Hit & Run), и запускаете. В правом верхнем углу кнопочка - это загрузка ресурсного файла. Дальше разберетесь. Программа сохраняет все файлы в подкаталоге HRSounds, причем звуковые файлы попутно конвертирует в WAV формат.
Наслаждайтесь а если у вас нет самой игры и ее ресурсных файлов - чуть-чуть подождите. Скоро я открою на сайте новый раздел (пожелания по персонажам, которых хочется услышать в первую очередь, принимаются), также Яфигура вроде планировал выложить файлы на своем сервере.
Спасибо за программу - отличная вещь! Ну и поздравляю с победой над ненавистным форматом. :-)
А ведь и я тоже когда-то увлекался потрохами этой весёлой игры. До такого высшего пилотажа, как извлечение аудио, не доходил, но баловался с моделями и с параметрами машин.
Присоединяюсь к Yafigura, поделитесь техническими подробностями вскрытого формата? Было бы интересно.
Или планировалась только публикация программы?
Dagdamor
Хм. С Иркой мы файлы закачали давно, сайт обновили, но мысли о публикации тут даже как-то не возникало, странно.
(rar, 21,2 mb)
(rar, 18,5 mb)
(rar, 15,9 mb)
(rar, 20,6 mb)
____________________________________
The years go by, as quickly as a wink
Enjoy yourself, enjoy yourself, it's later than you think
Yafigura, отличная работа!
А я ведь тоже не сидел сложа руки. Выкладывать файлы в виде "сырых" архивов - имхо, как-то слишком дешево и сердито. Потому на сайте на днях появился новый раздел. Сейчас выложу новость-обновление в соответствующей теме, но если что, ссылка на новорожденный раздел .
comics
Спасибо за похвалу, ага, победа далась нелегко, но тем слаще ее вкус
Что же касается технических подробностей - то почему бы и нет? Никаких секретов... я чуть позже напишу и выложу здесь описание формата.
Теоретически я могу и исходники программы (она на Delphi) выложить здесь. Было бы это кому-нибудь нужно.
____________________________________
Все любят Гипножабу Инфосферу.
Почти все ресурсы хранятся в файлах-коллекциях с расширением .RCF (Radcore Cement File), формат этих файлов я уже выкладывал на форуме. Внутри них все аудио - и музыка, и звуковые эффекты, и человеческая речь - хранится в виде "вложенных" файлов .RSD (Radcore Sound Data).
Существует два формата, в котором мои коллеги из Radical Entertainment хранят аудио. PCM и ADPCM. Первый формат я "вскрыл" еще в 2004, в нем хранится вся музыка и звуковые эффекты. Ничего особенно сложного там не было.
Со вторым форматом, в котором хранятся все диалоги, оказалось труднее. То, что это именно ADPCM, я подозревал уже давно, но проблема в том, что у ADPCM существуют десятки модификаций, у которых друг с другом мало общего. Теперь я точно знаю, что:
- В игре используется модификация IMA ADPCM со стандартными коэффициентами и чуть измененным алгоритмом распаковки;
- Конечный формат аудио - 16 бит, моно, частота 24000 Hz;
- Формат хранения потока явно самодельный, похожих я не видел.
Почитать про IMA ADPCM можно, например, .
____________________________________
Все любят Гипножабу Инфосферу.
Теперь подробнее про формат хранения IMA-потока в игре.
Каждый файл состоит из заголовка, и блоков данных, назовем их "группами". Каждая группа занимает 20 байт и изолированно (независимо от своих соседей) распаковывается в 32 16-битных сэмпла, т.е. в 64 байта. Таким образом, достигается компрессия 64:20 или 16:5 (чуть более 3-кратного сжатия). Зачем ради такой мизерной компрессии надо было мутить адаптивные алгоритмы - лично мне непонятно. Впрочем, в распакованном виде все диалоги весят более 500 метров, возможно, имело смысл и сэкономить.
Заголовок файла (2048 байт) имеет следующую структуру:
- 4 байта: сигнатура "RSD4" (Radcore Sound Data v4?).
- 4 байта: сигнатура "RADP" (Radcore Adaptive Differential PCM?).
- 4 байта: количество каналов (для моно-звука всегда 1).
- 4 байта: количество бит на сэмпл (всегда 16).
- 4 байта: частота аудио (всегда 24000).
- 108 байт: отступ, целиком заполненный звездочками ("*").
- 1920 байт: еще один отступ, целиком заполненный дефисами ("-").
Такой вот экономный заголовок. :/
Количество групп в заголовке не указывается, его надо вычислять, исходя из размера файла (N = (S-2048)/20).
Каждая IMA-группа (20 байт) имеет следующую структуру:
- 1 байт: начальное значение StepIndex (0..88).
- 1 байт: всегда 0.
- 2 байта: начальное значение Predictor (-32768..32767).
- 16 байт: 32 ниббла друг за другом, по 4 бита на каждый ниббл (0..15). Первый ниббл в паре занимает старшие биты байта.
Далее все распаковывается по алгоритму IMA ADPCM (см. ссылку выше), с тем отличием, что каждая группа декодируется, начиная с указанных для нее начальных значений, независимо от своих соседей. Кроме того, значение StepIndex меняется не в начале каждой итерации, как там, а в конце. Я использовал "быстрый" вариант распаковки (без использования умножений и делений, только побитовые операции), не ради скорости, а просто конечный звук так получался наиболее "чистым".
Кажется, все. Надеюсь, не утомил
____________________________________
Все любят Гипножабу Инфосферу.
Соглашение: "The Simpsons" и "Futurama" являются зарегистрированными торговыми марками FOX. Все права защищены.
Данный проект является фанским и неофициальным. Техническая поддержка: nalim[1nc], Dagdamor.