Автор |
Сообщение |
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 |
|
|
Versus Я консольный бог
Группа: Разработчики Сообщения: 9841 Регистрация: 04 дек 2009, 11:59 Откуда: Сочи
Модель 3DO: Panasonic FZ-10 NTSC-U
|
Да, это бы очень помогло! Добавлено спустя 29 минут 49 секунд:Напомни, этот код открыт?
|
12 апр 2016, 11:21 |
|
|
Author Приставочник
Группа: Разработчики Сообщения: 1211 Регистрация: 08 фев 2012, 13:12
Модель 3DO: Panasonic FZ-10 NTSC-J
|
Исходники CelViewer'a открыты. Есть на сайте Альтмера и у нас. Я доработанную версию исходников выкладывал в соседних темах. Тогда пару файликов, пожалуйста на анализ
|
12 апр 2016, 12:01 |
|
|
Versus Я консольный бог
Группа: Разработчики Сообщения: 9841 Регистрация: 04 дек 2009, 11:59 Откуда: Сочи
Модель 3DO: Panasonic FZ-10 NTSC-U
|
|
12 апр 2016, 12:20 |
|
|
aliast Специалист
Группа: Разработчики Сообщения: 1298 Регистрация: 04 дек 2009, 12:15
Модель 3DO: Нет
|
А видео формата DUK не проигрывается? Если нет, то вот исходники игры, которая должна уметь их воспроизводить http://sc2.sourceforge.net/downloads.phpСам ничего не понял, но формат файлов вроде такой же.
|
12 апр 2016, 12:48 |
|
|
Author Приставочник
Группа: Разработчики Сообщения: 1211 Регистрация: 08 фев 2012, 13:12
Модель 3DO: Panasonic FZ-10 NTSC-J
|
Нет. Только хреновый звук конвертится. Проблема в том, что 3DO DUK какой-то недоделанный ранний вариант более позднего кодека True Motion Video. В Windows нет подходящего декодера этого видео кодека, там есть DUK (Phantasmagoria 2,например), но он отличается. В SC2 как раз более свежий (финальный). Но всё равно спасибо, проверю ссылку, может повезёт. Добавлено спустя 43 минуты 35 секунд:Для обоих файлов одинаково bits_per_pixel[CEL_PRE0_BPP(CelIm.ccb_chank.pre0)]=8131->3->4 конвертится в bits per pixel = 4 CEL_PRE0_BPP(CelIm.ccb_chank.pre0)=3 по этому числу попадает в проверку CEL_FLAG_PACKED (CelIm.ccb_chank.flags=2145828896) с результатом false (т.е. не запаковано) Далее выполняется код for{while} i:=0 to Pred(CelIm.y_res) {i++} do begin k:= ((CelIm.x_res*bpp+31)) shr 5; k:= (k shl 2)*i; dec_shift:= 0; for{while} j:=0 to Pred(CelIm.x_res) {j++} do begin CelIm.image_buf[i*CelIm.x_res+j]:= ConvertPix_PLUT(get_bits((CelIm.pdat_buf[k]),bpp),bpp); --- вероятно здесь не правильно конвертирует т.к. всегда 0 k:= k + (dec_inc); end; для рабочего файла 3do.cel из Horde разбор bpp CEL_PRE0_BPP(CelIm.ccb_chank.pre0=15326). bpp=16 CEL_PRE0_BPP(CelIm.ccb_chank.pre0=15326) даёт результат 6 и выбирается другой алгоритм декодирования bool(CEL_FLAG_PACKED(CelIm.ccb_chank.flags=1193673760))=false CelIm.image_buf[i*CelIm.x_res+j]:= ConvertPix_16UC(...) здесь правильно набирается буфер картинки Для Doom cel'ов, как я и писал,по флагам переходит на часть кода, где буфер забивается нулями при обработке PLUT, отсюда чёрный прямоугольник. Более конкретно - ошибка работы функции get_bits, криво переведена в Delphi код из-за сложной работы со сдвигом массива в памяти через указатели, что напрямую из Си невозможно перевести, нужно изменять алгоритм. Мозгов и времени не хватило на тот момент.
|
12 апр 2016, 13:59 |
|
|
Versus Я консольный бог
Группа: Разработчики Сообщения: 9841 Регистрация: 04 дек 2009, 11:59 Откуда: Сочи
Модель 3DO: Panasonic FZ-10 NTSC-U
|
Спасибо за разбор. Видимо, мне нужно будет скомпилировать CelViewer и уже в отладчике колдовать. Добавлено спустя 14 минут 11 секунд:Хм... А я был уверен, что компрессия применялась. Иначе, как можно было получить такой малый размер cel-ки? 16 кб на 256х128 px...
|
12 апр 2016, 16:10 |
|
|
Author Приставочник
Группа: Разработчики Сообщения: 1211 Регистрация: 08 фев 2012, 13:12
Модель 3DO: Panasonic FZ-10 NTSC-J
|
А фиг знает, может все эти сдвиги памяти с выборкой битов и дают некий эффект распаковки, но сжатием не считаются. Так-то 32 кб получается должно быть несжатых данных.
|
13 апр 2016, 11:12 |
|
|
aliast Специалист
Группа: Разработчики Сообщения: 1298 Регистрация: 04 дек 2009, 12:15
Модель 3DO: Нет
|
128*256 = 32 кб 4 бита на пиксель это полбайта. 32 кб / 2 = 16 кб.
|
13 апр 2016, 11:33 |
|
|
Author Приставочник
Группа: Разработчики Сообщения: 1211 Регистрация: 08 фев 2012, 13:12
Модель 3DO: Panasonic FZ-10 NTSC-J
|
aliast, спасибо, я ступил.
Добавлено спустя 2 часа 2 минуты 25 секунд: Добавил звук при конвертации из MOV в Stream. Проверил Demo Player'ом. Итог - ни звука, ни изображения. При этом звук рипнулся из обратно из созданного файла правильно. Эх. Наверно надо в разые игры пробовать сунуть эти самопальные видяхи, собирать образ обратно и проверять на них.
|
13 апр 2016, 11:49 |
|
|
Versus Я консольный бог
Группа: Разработчики Сообщения: 9841 Регистрация: 04 дек 2009, 11:59 Откуда: Сочи
Модель 3DO: Panasonic FZ-10 NTSC-U
|
Хоть дела продвигаются! Чую, что результат близко!
|
13 апр 2016, 14:29 |
|
|
Author Приставочник
Группа: Разработчики Сообщения: 1211 Регистрация: 08 фев 2012, 13:12
Модель 3DO: Panasonic FZ-10 NTSC-J
|
Versus, как бы в 3DO демку запихнуть другой плеер чтобы с ним проверить? Кто делал образ 3DO Demo Player?
|
13 апр 2016, 14:33 |
|
|
Versus Я консольный бог
Группа: Разработчики Сообщения: 9841 Регистрация: 04 дек 2009, 11:59 Откуда: Сочи
Модель 3DO: Panasonic FZ-10 NTSC-U
|
Уже и не помню, кто. Ты скажи, что именно куда запихнуть, попробуем.
|
13 апр 2016, 14:48 |
|
|
Author Приставочник
Группа: Разработчики Сообщения: 1211 Регистрация: 08 фев 2012, 13:12
Модель 3DO: Panasonic FZ-10 NTSC-J
|
В архиве исполняемые файлы плееров для запуска на 3DO и пробный Stream со звуком и видео полученным из MOV файла. В демке есть файл bscpPlay. Предполагаю, что это сам плеер. Но есть файл bsinit. Как он влияет на работу bscpPlay фиг знает, это описано в lauchme, но его исходников нет и поправить ничего нельзя. По идее вместо bscpPlay можно положить любой из плееров в архиве с таким же именем. Я так пробовал, ничего не запустилось.
Я глянул во внутренности этих bin'ов. У них там какие-то левые заголовки в шапке, а непосредственно программа начинается со строки "E1A00000EB002F74EB00000CEB00003B", такая же строка идёт первой в bscpPlay. Возможно бинарники нужно поправить, обрезав лишнюю шапку.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
|
13 апр 2016, 15:07 |
|
|
Versus Я консольный бог
Группа: Разработчики Сообщения: 9841 Регистрация: 04 дек 2009, 11:59 Откуда: Сочи
Модель 3DO: Panasonic FZ-10 NTSC-U
|
Скачал, поколдую. Ты используешь образ 3DO Demo Player? Может, попробовать заменять плеер в образе Doom? Попробую.
|
13 апр 2016, 15:33 |
|
|
Author Приставочник
Группа: Разработчики Сообщения: 1211 Регистрация: 08 фев 2012, 13:12
Модель 3DO: Panasonic FZ-10 NTSC-J
|
Вот его-то мне с самого начала проверить хотелось. Да, в котором далеко не все нормальные-то файлы работают. В идеале хорошы бы иметь плеер, который скидывает лог ошибок. Это прям очень помогло бы. Только где же такой взять.
|
13 апр 2016, 15:49 |
|
|
Versus Я консольный бог
Группа: Разработчики Сообщения: 9841 Регистрация: 04 дек 2009, 11:59 Откуда: Сочи
Модель 3DO: Panasonic FZ-10 NTSC-U
|
AuthorВзять работоспособный плеер (попробуем выбрать такой), залезть в его исходники, прописать там вывод типа printf, и выводить на экран поверх видео. Это в теории.
|
13 апр 2016, 16:09 |
|
|
aliast Специалист
Группа: Разработчики Сообщения: 1298 Регистрация: 04 дек 2009, 12:15
Модель 3DO: Нет
|
Насколько я помню лишние байты появляются при копировании файлов из образов Мака в винду. Вроде бы это даже как-то фиксится, но проще всего ручками вырезать.
|
13 апр 2016, 17:06 |
|
|
Author Приставочник
Группа: Разработчики Сообщения: 1211 Регистрация: 08 фев 2012, 13:12
Модель 3DO: Panasonic FZ-10 NTSC-J
|
aliast, т.е. просто убрать шапку лишнюю и всё? Там просто в конце тоже какая-то левая информация (как мне показалось) или данные в конце не влияют на работу? Примерно как в exe'шниках, если в конец свои стихи дописать прога всё равно будет прекрасно работать. Только пока не вышло ни одного плеера на Win32 собрать. :(
|
14 апр 2016, 10:44 |
|
|
Versus Я консольный бог
Группа: Разработчики Сообщения: 9841 Регистрация: 04 дек 2009, 11:59 Откуда: Сочи
Модель 3DO: Panasonic FZ-10 NTSC-U
|
AuthorБуду пробовать собрать под старым маком. Тока пока не могу все сразу успеть. PS. Я переношу файлы из мака в винду простым перетаскиванием на диск С. Ничего не портится и не дописывается.
|
14 апр 2016, 10:54 |
|
|
ПАУК Ужас, летящий на крыльях ночи!
Группа: Разработчики Сообщения: 9069 Регистрация: 17 май 2010, 01:04
Модель 3DO: Panasonic FZ-10 NTSC-U
|
Author Заметил то, что при выдёргивании музыки из видео стерео каналы местами путаются. Правый становится левым и наоборот.
|
15 май 2016, 10:10 |
|
|
Author Приставочник
Группа: Разработчики Сообщения: 1211 Регистрация: 08 фев 2012, 13:12
Модель 3DO: Panasonic FZ-10 NTSC-J
|
ПАУК,скорее всего звук начинает читаться со смещением, так каналы местами и меняются. Если очень надо, то попробую поправить.
|
16 май 2016, 12:05 |
|
|
ПАУК Ужас, летящий на крыльях ночи!
Группа: Разработчики Сообщения: 9069 Регистрация: 17 май 2010, 01:04
Модель 3DO: Panasonic FZ-10 NTSC-U
|
Да ну, как-то не к спеху, в следующем обновление можно поправить. А так вообще, после смены каналов в стороннем софте звук нормальным становился.
|
16 май 2016, 16:58 |
|
|
Author Приставочник
Группа: Разработчики Сообщения: 1211 Регистрация: 08 фев 2012, 13:12
Модель 3DO: Panasonic FZ-10 NTSC-J
|
Пробую поднять исходники плеера Duk файлов с переводом на Delphi в свою утилиту. Ппц, все кодеры на Сях любители указателей??? Или это такой офигенный прирост в скорости работы даёт, что их очень часто вижу? Работа с файлами там обставлена ого-го как. Но, это же плеер, наверно так и надо. Много запчастей, которые мне для конвертации в общем не нужны, но затрудняют разбор алгоритма. Хотел для начала убедиться, что оно переварит Dukи из Hord'e, но куда файлы кидать для игры Ur-Quan masters не понял. Жаль они плеер отдельно от игры не сделали.
|
20 май 2016, 15:11 |
|
|
Versus Я консольный бог
Группа: Разработчики Сообщения: 9841 Регистрация: 04 дек 2009, 11:59 Откуда: Сочи
Модель 3DO: Panasonic FZ-10 NTSC-U
|
Помочь бы тебе, да я сам в этих долбаных указателях ни фига не рублю...
|
20 май 2016, 15:28 |
|
|
Author Приставочник
Группа: Разработчики Сообщения: 1211 Регистрация: 08 фев 2012, 13:12
Модель 3DO: Panasonic FZ-10 NTSC-J
|
Versus,да так-то в самом указателе особой сложности нет. По сути это ссылка на область памяти, где лежит значение некой переменной или даже целый массив данных. Си оперирует с указателями как угодно, даже двигать массив данных может влево/вправо только по указателю на область с массивом. Но путаницу это создаёт не слабую в голове. Мне не понятно,зачем кидать в процедуру/функцию указатель на файл! и там через указатель обращаться к данным. Когда можно сделать глобальную переменную и читай как угодно во всей программе.
|
20 май 2016, 15:35 |
|
|
Versus Я консольный бог
Группа: Разработчики Сообщения: 9841 Регистрация: 04 дек 2009, 11:59 Откуда: Сочи
Модель 3DO: Panasonic FZ-10 NTSC-U
|
AuthorФизический смысл я понимаю, а пользоваться не умею. Для меня тоже так проще.
|
20 май 2016, 15:42 |
|
|
Author Приставочник
Группа: Разработчики Сообщения: 1211 Регистрация: 08 фев 2012, 13:12
Модель 3DO: Panasonic FZ-10 NTSC-J
|
Задолбался с этими указателями. Код плеера на сях собирать тоже то ещё удовольствие, т.к. отдельного проекта нет. Написал им на форуме Ur-Quan Masters, что если можно, то пусть релизят плеер отдельно, чтобы видяхи с 3DO смотреть. Как можно было сделать плеер для DUK'ов в игре, но не сделать отдельно утилиту? Ещё интереснее, откуда ноги у исходников алгоритма декодирования растут. Явно не сами додумались это просто нереально. Может кто-то из разрабов поделился кодом плеера...эх, в общем тяжело это для моего скилла.
|
31 май 2016, 14:36 |
|
|
Author Приставочник
Группа: Разработчики Сообщения: 1211 Регистрация: 08 фев 2012, 13:12
Модель 3DO: Panasonic FZ-10 NTSC-J
|
Провёл эксперимент. Запихнул по инструкции в Ur-Quan Masters вступительный ролик из Гекса. Всё отлично воспроизвелось. Значит формат DUK именно тот, что нужно.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
|
01 июн 2016, 14:41 |
|
|
aliast Специалист
Группа: Разработчики Сообщения: 1298 Регистрация: 04 дек 2009, 12:15
Модель 3DO: Нет
|
Там кстати есть исходники движка игры Star Control II на гитхабе и в версии .01 есть утилитка, выдирающая звук в формате raw. Но что с этим raw делать дальше я не понял. В ZStreamReader всё те же шумы, что и раньше (шумы не идентичны). https://sourceforge.net/p/urquanmasters ... tools/duk/
Последний раз редактировалось aliast 01 июн 2016, 14:48, всего редактировалось 1 раз.
|
01 июн 2016, 14:44 |
|
|
Author Приставочник
Группа: Разработчики Сообщения: 1211 Регистрация: 08 фев 2012, 13:12
Модель 3DO: Panasonic FZ-10 NTSC-J
|
aliast, да, я исходник даже скачивал unduck.c и unduck.h. Raw файл потом можно во что угодно сконвертить, там (в Raw) по сути несжатый звук хранится после декодирования из файла Duk. В ZStreamReader'e новых правок пока нет.
|
01 июн 2016, 14:47 |
|