ZStreamChunksReader: выдёргивание и конвертирование 3DO ресурсов
Автор |
Сообщение |
Author Приставочник
Группа: Разработчики Сообщения: 1211 Регистрация: 08 фев 2012, 13:12
Модель 3DO: Panasonic FZ-10 NTSC-J
|
Данная программа предназначена для проигрывания/просмотра/извлечения/замены ресурсов в играх для приставки 3DO Interactive Multiplayer (R.E.A.L). Музыку можно извлечь из потоковых файлов STREAM, ZStream, видеофайлов, BIN-файлов (бинарные файлы) путём конвертирования сжатых AIFC файлов и извлеченной музыки в формат WAV или AIFF, а так же обратное сжатие WAV/AIFF в AIFC (формат SDX2 моно/стерео) и замена звука в играх. Аудио данные также извлекаются из видеофайлов. Расширения аудио файлов могут быть отличными от Stream, ZStream, weave, AIFC, поэтому экспериментируйте. Поддерживается конвертирование видео из 3DO формата Stream в AVI файлы. Так же возможен просмотр IMAG файлов, извлечение файлов CEL и ANIM из архивных файлов.
ZStream Chunks Reader 0.9.1 - конвертирует 3DO видео в AVI. ZStreamChunksReader 0.80ZStreamReader082ZStreamReader084ZStreamReader085ZStreamReader096 (Stream to AVI/AVI to 3DO Stream, QuickTime MOV to 3DO Stream)Распаковка игры Casper
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось Author 18 июл 2016, 13:46, всего редактировалось 21 раз(а).
|
05 июн 2013, 14:07 |
|
![](./styles/hestia/theme/images/spacer.gif) |
Author Приставочник
Группа: Разработчики Сообщения: 1211 Регистрация: 08 фев 2012, 13:12
Модель 3DO: Panasonic FZ-10 NTSC-J
|
Versus жаль, что структура у полученных файлов после повторного разбора big'ов всё равно непонятная. Единственное, что бросается в глаза куча FF FF в начале, там звуки лежат вперемешку (если послушать файл через PLAY) с чем-то ещё (графика судя по всему, иначе где ей ещё быть). Но так 'рыться' уже проще :)
|
19 ноя 2014, 10:44 |
|
![](./styles/hestia/theme/images/spacer.gif) |
Versus Я консольный бог
Группа: Разработчики Сообщения: 9841 Регистрация: 04 дек 2009, 11:59 Откуда: Сочи
Модель 3DO: Panasonic FZ-10 NTSC-U
|
Author Обнаружил BannerScreen в файле Big240. Там же еще пару графических файлов (освободите память и все права защищены)
|
19 ноя 2014, 10:58 |
|
![](./styles/hestia/theme/images/spacer.gif) |
Author Приставочник
Группа: Разработчики Сообщения: 1211 Регистрация: 08 фев 2012, 13:12
Модель 3DO: Panasonic FZ-10 NTSC-J
|
Versus, картинки открыть легче всего, вот остальное бы поддалось. я-то думал ты уже видел всё это раньше :)
|
19 ноя 2014, 11:11 |
|
![](./styles/hestia/theme/images/spacer.gif) |
Versus Я консольный бог
Группа: Разработчики Сообщения: 9841 Регистрация: 04 дек 2009, 11:59 Откуда: Сочи
Модель 3DO: Panasonic FZ-10 NTSC-U
|
Неа. Сейчас мне важнее графика (для ракеты). ![Улыбка :-):](./images/smilies/ab.gif)
|
19 ноя 2014, 11:15 |
|
![](./styles/hestia/theme/images/spacer.gif) |
Author Приставочник
Группа: Разработчики Сообщения: 1211 Регистрация: 08 фев 2012, 13:12
Модель 3DO: Panasonic FZ-10 NTSC-J
|
Вот о таких ресурсах я и пишу. Она же часть уровня. Значит лежит где-то внутри big-файла уровня. Есть предположение, чтобы найти графику ракеты нужно найти её звук. Т.е. разбираем big уровня (можно прикинуть, в каких примерно файлах он может оказаться), в самом большом (обычно первый) из 3х полученных файлов (не знаю, может ли их быть больше, но один раз их было всего 2) ищем звуки с помощью проигрывания кнопкой PLAY с настройками 22050 Гц, моно, без сжатия. Если услышали звук ракеты-УРА!. Соответственно в таком big'e будет лежать всё, что с ней связано. bigfile_big_12.DATA - содержит 245 вложений. Файлы размером 22.9 кб - это голос.
|
19 ноя 2014, 11:34 |
|
![](./styles/hestia/theme/images/spacer.gif) |
aliast Специалист
Группа: Разработчики Сообщения: 1298 Регистрация: 04 дек 2009, 12:15
Модель 3DO: Нет
|
Про формат графики ничего пока не скажу. Но кому интересно - первый левел игры Franki & Heli находится в файле 015.big (нумерация с нуля). В частности в этом файле я нашёл стартовые координаты Гекса и расстановку спрайтов и врагов. Можно добавлять на карту врагов. Но формат хранения данных там конечно.. долго можно тормошить. Уровень с ракетой можно поискать ради интереса. Что любопытно - в PC-версии Гекса первый левел находится в файле Gex016.lev и здесь у нас файл 015.big, т.е. если нумеровать с единицы то номер совпадет. Файлы отличаются, но содержимое приблизительно похоже.
|
22 ноя 2014, 16:51 |
|
![](./styles/hestia/theme/images/spacer.gif) |
ПАУК Ужас, летящий на крыльях ночи!
Группа: Разработчики Сообщения: 9069 Регистрация: 17 май 2010, 01:04
Модель 3DO: Panasonic FZ-10 NTSC-U
|
AuthorЯ тут чо подумал... Вот распотрошил я с какого-то Anim файла Cel-картинки, стал их ResExploper'ом смотреть, а они почти все не показывают, я уж думал с заголовками что-то не то, а фиг там был... Выключил ZStreamReader, всё заработало. Вот эта залоченность, думаю, нафиг не нужна. Я ещё Альтмеру жаловался на фридо2.1, то что ISO образ с игрой даже в хекс-редактор нельзя закинуть (и работать с ним невозможно, если уже был закинут). В фридо1.9 можно без проблем. Ваще не понимаю, зачем этот Lock нужен в программах ![Думает :du_ma_et:](./images/smilies/bw.gif)
|
23 ноя 2014, 04:41 |
|
![](./styles/hestia/theme/images/spacer.gif) |
Author Приставочник
Группа: Разработчики Сообщения: 1211 Регистрация: 08 фев 2012, 13:12
Модель 3DO: Panasonic FZ-10 NTSC-J
|
Это не специальная залоченность, а недоработка. Дело в том, что файлы созданные программой не закрыты и считаются занятыми ей, поэтому открываются. Тут два решения, либо отслеживать корректно закрытие, либо создавать файлы без монопольного использования во время открытия. Спасибо за замечание.
|
24 ноя 2014, 10:23 |
|
![](./styles/hestia/theme/images/spacer.gif) |
ПАУК Ужас, летящий на крыльях ночи!
Группа: Разработчики Сообщения: 9069 Регистрация: 17 май 2010, 01:04
Модель 3DO: Panasonic FZ-10 NTSC-U
|
Попробовал раздербанить Families.RSRC в Road Rash. Там несколько тысяч картинок Cel. Долго он потрошил. Потом повис на 5166 ом файле, почему-то он был большого размера и продолжал увеличиваться, наполняя себя нулями. ![Изображение](http://savepic.org/6544097m.png) Похоже, в Families.RSRC все текстуры запакованы. Многие потом с ошибками смотрятся. Добавлено спустя 2 минуты 29 секунд:Кстати, интересно, где в игре мидюшная музыка находится, которая во время езды играет? Добавлено спустя 15 минут 30 секунд:Надо Яранге сказать, чтобы обновил утилиты на эму-ленде, а то там старые версии.
|
26 ноя 2014, 08:19 |
|
![](./styles/hestia/theme/images/spacer.gif) |
Author Приставочник
Группа: Разработчики Сообщения: 1211 Регистрация: 08 фев 2012, 13:12
Модель 3DO: Panasonic FZ-10 NTSC-J
|
Странно, у меня так не было. В families действительно почти вся игра лежит, только это даже не текстуры,а по сути изображения объектов в виде анимаций и картинок разных размеров (по мере удаления). Миди музыка скорее всего в ресурсах уровней.
|
26 ноя 2014, 10:33 |
|
![](./styles/hestia/theme/images/spacer.gif) |
ПАУК Ужас, летящий на крыльях ночи!
Группа: Разработчики Сообщения: 9069 Регистрация: 17 май 2010, 01:04
Модель 3DO: Panasonic FZ-10 NTSC-U
|
Возможно, смотрю, там 138 каких-то AIFF файлов запаковано. Программкой выдёргиваться не хотят. Добавлено спустя 4 минуты 40 секунд:Я через Split ANIM to CEL's потрошил. Может, сначала надо было просто ANIM повыдёргивать Добавлено спустя 2 минуты 50 секунд:Всмысле, в families 138 звуковых файлов лежат. Добавлено спустя 3 минуты 26 секунд:В хекс редакторе посмотрел поисковиком. ![Изображение](http://savepic.org/6501114m.png)
|
26 ноя 2014, 10:44 |
|
![](./styles/hestia/theme/images/spacer.gif) |
Author Приставочник
Группа: Разработчики Сообщения: 1211 Регистрация: 08 фев 2012, 13:12
Модель 3DO: Panasonic FZ-10 NTSC-J
|
Т.е. ты сразу families.rsrc через ExtractBIN->Any files + Split ANIM to CEL сделал? Так-то правильнее сначала выбрать ExtractBIN->Road Rash без разбора ANIM на CEL'ы. А вот уже выдернутые FAM файлы можно потрошить как угодно. Но AIFF'ы (138) не выдёргивает, это правда, нет в проге алгоритма на такой случай. Может что-нибудь придумается. А вот разбиение ANIM на CEL'ы похоже работает криво, т.к. получаются битые картинки. Возможно надо что-то править в заголовках, а они похоже одинаковые для всех изображений из анимашки, хотя как минимум размер/разрешение изображений меняется.
|
26 ноя 2014, 11:25 |
|
![](./styles/hestia/theme/images/spacer.gif) |
ПАУК Ужас, летящий на крыльях ночи!
Группа: Разработчики Сообщения: 9069 Регистрация: 17 май 2010, 01:04
Модель 3DO: Panasonic FZ-10 NTSC-U
|
Да. А там же после заголовка FORM идёт размер файла... Или она по какому принципу выдёргивает? ![Думает :du_ma_et:](./images/smilies/bw.gif)
|
26 ноя 2014, 11:38 |
|
![](./styles/hestia/theme/images/spacer.gif) |
Author Приставочник
Группа: Разработчики Сообщения: 1211 Регистрация: 08 фев 2012, 13:12
Модель 3DO: Panasonic FZ-10 NTSC-J
|
Верно, но просто не предусмотрено вообще выдёргивание AIFF'ов. Изначально предполагалось, что если встречается его заголовок, то только в начале файла и что это просто аудио-файл. В общем, есть что поправить. Добавлено спустя 1 час 32 минуты 31 секунду:В общем такой расклад. - добавил рип для AIFF'ок в случае нахождения по Search Audio - чтобы рипнуть AIFF из ROAD RASH'овского families.rsrc, придётся разбить его на FAM'ы (хотя можно и не делать этого в данном случае) и в них самостоятельно найти начало файлов AIFF, вбить это значение в Star Address, поставить галочку Extract AIFF и выполнить Search Audio. Если повезёт, то процедуру поиска начала AIFF не придётся делать для каждого случая. Почему? Читайте ниже... - как работают игры 3DO - это фантастика, просто пипец (простите за мой французский) как они ресурсы хранят. Сделал норм.алгоритм, читай размер, копируй. Всего делов-то, но нет, размер-то неправильный встречается...%№*Л%!!!! как, ну как так может работать система??? Т.е. шагаем на размер данных AIFF файла и опаньки, на 2 байта не дотягиваем до следующего чанка. Что за левые 2 байта??? При том, что размер следующего настолько точен, что всё верно. Кто может объяснить мне это? Причём такие-же вещи встречались когда возился с рипом аудио из игр Digital Pictures, но там было проще, вбил в нужном месте размер, чтобы правильно перейти и всё ок. Здесь же строгий алгоритм, где чанки находятся строго один за другим по указанным размерам, пляски со случайными левыми данными не прокатят, т.к. всё работать вообще перестанет.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось Author 29 ноя 2014, 19:09, всего редактировалось 4 раз(а).
|
26 ноя 2014, 11:48 |
|
![](./styles/hestia/theme/images/spacer.gif) |
ПАУК Ужас, летящий на крыльях ночи!
Группа: Разработчики Сообщения: 9069 Регистрация: 17 май 2010, 01:04
Модель 3DO: Panasonic FZ-10 NTSC-U
|
Никак не найду Добавлено спустя 28 секунд:По поинтерам.
|
26 ноя 2014, 15:16 |
|
![](./styles/hestia/theme/images/spacer.gif) |
Versus Я консольный бог
Группа: Разработчики Сообщения: 9841 Регистрация: 04 дек 2009, 11:59 Откуда: Сочи
Модель 3DO: Panasonic FZ-10 NTSC-U
|
Тогда зачем делать промежуток? Все равно в эти 2 байта ничего не впихнешь.
|
26 ноя 2014, 15:17 |
|
![](./styles/hestia/theme/images/spacer.gif) |
ПАУК Ужас, летящий на крыльях ночи!
Группа: Разработчики Сообщения: 9069 Регистрация: 17 май 2010, 01:04
Модель 3DO: Panasonic FZ-10 NTSC-U
|
Может, там какая-нибудь инфа впихнута, а может, мусор. Не знаю. Вон в Сейлормун было строго всё, и поинтеры и размеры в картинках. Если размер не совпадает, игра вылетает на приставке, а эмулятору пофигу, он по поинтерам работает. Во флешбеке картинки друг за дружкой идут, там поинтеров не было в картинках. Везде по разному игры работают.
Добавлено спустя 3 минуты 16 секунд: И это не только на 3DO.
|
26 ноя 2014, 15:24 |
|
![](./styles/hestia/theme/images/spacer.gif) |
Author Приставочник
Группа: Разработчики Сообщения: 1211 Регистрация: 08 фев 2012, 13:12
Модель 3DO: Panasonic FZ-10 NTSC-J
|
ПАУК, не понял, о каких поинтерах ты пишешь? Есть чанк и его размер. Шагнул на размер, попал на следующий чанк. Всё. А здесь какая-то игра не по правилам, либо что-то не так читать надо. Но согласись, алгоритм прослеживается, просто нет указателей, но мы знаем, что в конце картинки начинается следующая.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
|
26 ноя 2014, 15:29 |
|
![](./styles/hestia/theme/images/spacer.gif) |
ПАУК Ужас, летящий на крыльях ночи!
Группа: Разработчики Сообщения: 9069 Регистрация: 17 май 2010, 01:04
Модель 3DO: Panasonic FZ-10 NTSC-U
|
Ты имеешь в виду вот эти фиолетовые чанки на фамы? А я думал, что указатели-поинтеры-как их там ещё, они для меня все на одно лицо В RashIF.RSRC я их видел на одну аиффку и цел-картинки, здесь они на фамы сделаны... А чего там с музыкой, фиг его знает. На неё же эти чанки не указывают. Во втором фаме между аиффками 10 байт разницы. Команда какая-нибудь Добавлено спустя 4 минуты 59 секунд:А то я думал, что программа читает заголовок, размер и дёргает файл.
|
26 ноя 2014, 16:26 |
|
![](./styles/hestia/theme/images/spacer.gif) |
Author Приставочник
Группа: Разработчики Сообщения: 1211 Регистрация: 08 фев 2012, 13:12
Модель 3DO: Panasonic FZ-10 NTSC-J
|
В качестве примера и они подойдут. С ними как раз всё точно и правильно. Но я уже имею в виду разбор чанков внутри FAM. p.s. В файле Families.RSRC_2.FAM есть те самые два AIFF'a (с дыркой в 2 байта), в первом голос, произносящий что-то типа "wait". Дело в том, что в начале этого FAM'a есть какая-то служебная инфа. Может она что-то определяет? Нет, команды не может быть, т.к. это просто ресурсы,а не исполняемая программа. Для дёрганья FAM файлов из Families.rsrc это так и делается.
|
26 ноя 2014, 16:38 |
|
![](./styles/hestia/theme/images/spacer.gif) |
ПАУК Ужас, летящий на крыльях ночи!
Группа: Разработчики Сообщения: 9069 Регистрация: 17 май 2010, 01:04
Модель 3DO: Panasonic FZ-10 NTSC-U
|
А где в фаме эти чанки? ![Думает :du_ma_et:](./images/smilies/bw.gif)
|
27 ноя 2014, 11:47 |
|
![](./styles/hestia/theme/images/spacer.gif) |
Author Приставочник
Группа: Разработчики Сообщения: 1211 Регистрация: 08 фев 2012, 13:12
Модель 3DO: Panasonic FZ-10 NTSC-J
|
Я привёл ниже две картинки. На них показаны чанки. Серым выделены нетипичные чанки. Т.е. они обозначены какими-то цифрами и изначально не были предусмотрены. Skip unknown chunks позволяет по ним переходить, но эта опция была сделана только для Extract BIN, когда я впервые с подобным столкнулся. Search Audio обходит неизвестные чанки прыгая на размер, прочитанный следом за их названием.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
|
28 ноя 2014, 11:18 |
|
![](./styles/hestia/theme/images/spacer.gif) |
ПАУК Ужас, летящий на крыльях ночи!
Группа: Разработчики Сообщения: 9069 Регистрация: 17 май 2010, 01:04
Модель 3DO: Panasonic FZ-10 NTSC-U
|
Повезло в файлике City.SCON. Там всего 5 AIFFок. После второй выдернул 5 файлов, пятый был не AIFF. А вообще, проще обрезать файл до начала AIFFки, чем каждый раз вводить её адрес. Раздербанил Families.RSRC, потрошу дальше.
|
01 дек 2014, 12:38 |
|
![](./styles/hestia/theme/images/spacer.gif) |
Author Приставочник
Группа: Разработчики Сообщения: 1211 Регистрация: 08 фев 2012, 13:12
Модель 3DO: Panasonic FZ-10 NTSC-J
|
Для тех, кому интересно копаться в ресурсах... В Space Hulke'e можно вытянуть картинки из файлов в папке (кнопка Extract BIN в помощь) SpaceHulk\CCB, т.к. 3DOResExplorer показывает только одно изображение в каждом. Судя по всему это анимация. Так же в папке SpaceHulk\Streams можно распотрошить на картинки файл CloseAssault.Stream. Но с палитрой при выводе всех этих картинок в 3DOResExplorer'e какая-то беда. В данном случае проще вообще копировать всё hex редактором, т.к. структура не изучена и не следует общей логике. А подробнее можешь объяснить? что было в 5м файле? классно. ещё бы кто подсказал, как всё же правильно разбить anim на cel'ы, когда каждая картинка этой анимашки может иметь разное разрешение. откуда цеплять информацию для формирования правильного заголовка? а пока много ресурсов просто не посмотреть нормально. Кстати, вроде бы 83 версия не лочит созданные файлы?
|
01 дек 2014, 12:39 |
|
![](./styles/hestia/theme/images/spacer.gif) |
ПАУК Ужас, летящий на крыльях ночи!
Группа: Разработчики Сообщения: 9069 Регистрация: 17 май 2010, 01:04
Модель 3DO: Panasonic FZ-10 NTSC-U
|
Всмысле всё копировать? Я тупо обрезаю до начала, жму search audio, переименовываю выдернутый файл в нужную по счёту цифру, дальше обрезаю. Долго, но быстрее чем вручную размер высчитывать. Позже выложу, что навыдёргивал. Highway.SCON на втором тоже выдернул такую же фигню с заголовком FORM. Пока потрошил, не заметил. Наверно, я не встречался с таким ![Не знаю :nez-nayu:](./images/smilies/bk.gif)
У вас нет необходимых прав для просмотра вложений в этом сообщении.
|
01 дек 2014, 13:07 |
|
![](./styles/hestia/theme/images/spacer.gif) |
Author Приставочник
Группа: Разработчики Сообщения: 1211 Регистрация: 08 фев 2012, 13:12
Модель 3DO: Panasonic FZ-10 NTSC-J
|
1)Открыть файл в hex редакторе 2) Найти заголовок AIFF через поиск 3) Посмотреть его размер 4) Выполнить выделение блока данных с этим размером 5) Скопировать 6) Создать новый файл в редакторе и вставить скопированные данные 7) Сохранить Пункты со 2го по 7й повторять пока находится заголовок. Мне кажется, что в такой ситуации это ещё быстрее. А зачем его высчитывать? Ты когда заголовок в файле находишь, то сразу видно с какой позиции он начинается (она и в 10-ти и 16 -чном формате отображается), остаётся только вбить это число в ZStreamReader. Но всё это неудобно, как ни крути. Хотелось автоматизировать.
|
01 дек 2014, 13:12 |
|
![](./styles/hestia/theme/images/spacer.gif) |
ПАУК Ужас, летящий на крыльях ночи!
Группа: Разработчики Сообщения: 9069 Регистрация: 17 май 2010, 01:04
Модель 3DO: Panasonic FZ-10 NTSC-U
|
У меня в голове не калькулятор, чтобы это быстро сделать. Или это можно автоматически как-то? Это если без стримридера я имел в виду. Ну, во-первых, у меня отображается только в 16. Не знай, может, можно настроить. А во вторых проще ткнуть мышкой на позицию, нажать Шифт+Home, затем Del, сохранить. А в стримридере как стоял 0, так и пускай стоит. А вообще, в играх, наверно, много всяких FORM. Может, как-то можно сделать отдельную функцию общего выдёргивания всех FORM, а потом разбираться, что там выдернулось. У меня же выше не зря какая-то фигня распаковалась.
|
01 дек 2014, 13:29 |
|
![](./styles/hestia/theme/images/spacer.gif) |
Author Приставочник
Группа: Разработчики Сообщения: 1211 Регистрация: 08 фев 2012, 13:12
Модель 3DO: Panasonic FZ-10 NTSC-J
|
В Hex Workshop'e это делается через Edit->Select Block, там в меню вбиваем размер в hex/dex и жмём ок. Блок данных выделен :) Так же в нём показывается offset (текущее положение в файле) в обоих величинах. А какой редактор у тебя? Разных FORM не много. На вскидку в головку только AIF'ы и приходят, учитывая какое давнее это было время и как на Макинтошах хранился звук. Другое дело, что нет проверки, что там за FORM'ом прячется. Должен быть заголовок AIF'а, тогда всё ок.Но, это же 3DO, тут расширения у файлов-то бывает не соответствуют содержимому, чего уж о внутренностях говорить. Проверку не стал делать, чтобы случайно не отсеять неизвестный формат. Лучше пусть так тянет, чем пропускает. Но это лишь моё мнение. Отдельной функции не требуется, т.к. по сути Extract AIFF флажок даёт именно тот эффект, о котором ты просишь - дёргает все найденные FORM'ы по Search Audio. Добавлено спустя 55 минут 39 секунд:Чуток поправил алгоритм дёрганья AIFF - и вот уже все звуки из Space Hulka. Атмосферно! Road Rash'у это всё равно не помогло :)
У вас нет необходимых прав для просмотра вложений в этом сообщении.
|
01 дек 2014, 13:46 |
|
![](./styles/hestia/theme/images/spacer.gif) |
ПАУК Ужас, летящий на крыльях ночи!
Группа: Разработчики Сообщения: 9069 Регистрация: 17 май 2010, 01:04
Модель 3DO: Panasonic FZ-10 NTSC-U
|
010 Editor. И я даже 90% всех функций не знаю. Надо поискать такую. Что-то там было с выделением bmp картинок и wave музыки, я не стал разбираться, может, оно... Вроде как самый удобный. Ещё бы кодировку букв/знаков по своему усмотрению можно было бы раскладывать, тогда ваще классно было бы.
|
01 дек 2014, 15:21 |
|
![](./styles/hestia/theme/images/spacer.gif) |
aliast Специалист
Группа: Разработчики Сообщения: 1298 Регистрация: 04 дек 2009, 12:15
Модель 3DO: Нет
|
Edit -> Select Range ? Дальше выбираешь либо начальный оффсет+конечный оффсет, либо начальный оффсет+размер
|
01 дек 2014, 16:09 |
|
|