| Разработка и ромхакинг > Ромхакинг |
| Извлечение мультимедиа (звук, видео, музыка) данных из игр CD/DVD приставок |
| << < (90/101) > >> |
| Sharpnull:
Bigmanjapan, и правда, я видел этот скрипт, но почему-то не подумал, что он распакует текстуры. Но: * Из PIC.MGF не хватает текстур. * Он разделил архив без изменения содержания (хотя может это стандартный формат .tex для PS2). * Запаковывать не умеет. Плюс конечно, что имена были даны. denben0487, я обновил свой скрипт, теперь умеет работать с индексированными текстурами в PIC.MGF, но в BG.MGF проблемы. Алгоритм перемешивания (swizzle) оказался стандартный для 8 бит, так что я сделал велосипед. Так как цвета палитры там RGBA (с прозрачностью), а Photoshop, PIL и многие другие не умеют работать с PNG с индексированным прозрачным цветом (а только с одним прозрачный цветом), пришлось сохранять PNG как полноценный RGBA, а при запаковке я всем цветам раздаю индексы. Если в изображении больше 256 цветом, будет прерывание текущей картинки с сообщением (нужно было сделать выход из программы). Нужно быть осторожным: для прозрачных картинок в Photoshop не поймёшь сколько было использовано цветов, наложил слой на слой и уже доп. цвета. Пробовал заменять: 55310336.png - логотип Konami, 63481856.png - текст в главном меню (кажется его вы хотели изменить на русский). Запаковка медленная, так что не забывайте убирать лишние картинки из папки (PIC.MGF_extracted), кроме того одни и те же индексированные изображения будут представлены по-другому из-за другого алгоритма построения. |
| denben0487:
Sharpnull, ещё раз спасибо за помощь, жму руку... |
| Ogr:
--- Цитата: Sharpnull от 14 Май 2019, 10:17:51 ---а только с одним прозрачный цветом --- Конец цитаты --- потому что не предусмотрено форматами. --- Цитата: Sharpnull от 14 Май 2019, 10:17:51 ---а при запаковке я всем цветам раздаю индексы --- Конец цитаты --- лично я бы предпочёл бы чтобы мне в отдельном текстовом документе писали какие индексы игра считает прозрачными, чтобы при возникновении проблем, можно было вручную проконтролировать правильность обратной индексации. |
| Sharpnull:
--- Цитата: Ogr от 14 Май 2019, 12:38:37 ---потому что не предусмотрено форматами. --- Конец цитаты --- PNG поддерживает индексированные цвета с разной прозрачностью (alpha), это Photoshop не поддерживает: Alpha transparency in indexed-png images. Откройте http://adamhaskell.net/img/gradient1c.png в нормальном просмотрщике (XnView, Firefox, говорят даже IE6) и сравните с открытием в Photoshop (он сразу преобразует в RGB Color). -------- Кстати, там посоветовали хорошую программку Color quantizer, с помощью неё без проблем можно PNG-24 преобразовать до 256 цветов с альфа-прозрачностью, чтобы вставить в Silent Hill 2 (для моего скрипта нужно выбрать Force RGB в диалоге сохранения). |
| Ogr:
--- Цитата: Sharpnull от 15 Май 2019, 15:08:20 ---PNG поддерживает индексированные цвета с разной прозрачностью (alpha), это Photoshop не поддерживает: Alpha transparency in indexed-png images --- Конец цитаты --- ЕСЛИ БЫ ЭТО БЫЛО БЫ ПРЕДУСМОТРЕНО ФОРМАТОМ, не пришлось бы городить не стандартный огород: --- Цитата --- Вот снова то же самое изображение, только на этот раз оно было преобразовано в PNG с индексированной альфа-версией с помощью сценария PHP, который я написал: --- Конец цитаты --- ;) Добавлено позже: полагаю, там картинка с индексированными цветами (2-8 битный растр + палитра к нему) и в дополнения к ней самая обыкновенная 8 битная растровая маска, а не "индексированные цвета с разной прозрачностью". |
| Sharpnull:
Ogr, это предусмотрено спецификаций PNG: 6.2 Alpha representation, 3.1.4 alpha table, а если программы не умеют работать с форматом, это их проблема. Огород не связан с форматом: человек попытался сконвертировать через GIMP, который не поддерживает, а после скриптом который смог. Photoshop не предназначен для работы с индексированными цветами, сделано для галочки. Мало кому нужно и пришлось бы перестраивать интерфейс, поэтому и не реализовано, хотя PNG-8+Alpha открылся правильно, но с преобразованием в RGBA. -------- --- Цитата: Ogr от 15 Май 2019, 16:30:14 ---полагаю, там картинка с индексированными цветами (2-8 битный растр + палитра к нему) и в дополнения к ней самая обыкновенная 8 битная растровая маска, а не "индексированные цвета с разной прозрачностью". --- Конец цитаты --- Объяснял чтобы было понятно, это PNG-8 + Alpha table, то есть как обычное индексированное 8 битное изображение, но у каждого цвета в палитре есть своя прозрачность (0 - 255). В общем читайте спецификацию. |
| Ogr:
--- Цитата: Sharpnull от 15 Май 2019, 17:07:43 ---Photoshop не предназначен для работы с индексированными цветами, сделано для галочки. --- Конец цитаты --- все редакторы предназначенные работать исключительно с индексированными цветами (ибо другого не умеют в принципе) что я смотрел, не умеют в степени прозрачности (даже современные для пиксельарта) как и ФШ, могут только 1 цвет в палитре прозрачным назначать. ;) ...видимо они не для этого предназначены, хоть ничего другого и не могут. :lol: |
| Dwayde:
Народ, помнится в этой теме (по-моему) у кого-то было htm руководство по выдиранию мультимедиа с довольно-таки внушительным списком игр. Если кто понимает о чем я, можете его кинуть в ответном сообщении? |
| dedok179:
--- Цитата: Dwayde от 19 Август 2019, 09:44:07 ---Народ, помнится в этой теме (по-моему) у кого-то было htm руководство по выдиранию мультимедиа с довольно-таки внушительным списком игр. Если кто понимает о чем я, можете его кинуть в ответном сообщении? --- Конец цитаты --- Надеюсь это то что ты искал. |
| Dwayde:
dedok179, да да. Он самый. Большое спасибо :) |
| Golk:
Кто-то знает, как извлечь все семплы из рокстаровского Beaterator? |
| Veshurik:
Ребята, мне нужно извлечь ресурсы из игры на PS2 - https://downloadgameps3.com/hana-to-otome-ni-shukufuku-o-harukaze-no-okurimono-ps2-free/ Можете помочь? Я вообще без понятия, какие программы есть и как их использовать. Спасибо! Игра весит 5Гб. |
| Rockman Z:
Что имено нужно? С музыкой будет проще. С голосами/звуками врядли |
| Veshurik:
Нужны изображения (арты из игры), а также музыку и видеоролики. Пробовал через Apache, не воспринимает. |
| Zetper:
--- Цитата: Veshurik от 02 Ноябрь 2019, 13:16:48 ---Ребята, мне нужно извлечь ресурсы из игры на PS2 - https://downloadgameps3.com/hana-to-otome-ni-shukufuku-o-harukaze-no-okurimono-ps2-free/ Можете помочь? Я вообще без понятия, какие программы есть и как их использовать. Спасибо! Игра весит 5Гб. --- Конец цитаты --- Привет я открывал образ прогой UltraISO внутри есть архив CD.BIN Я для него написал распаковщик на Python. Скачиваешь его по ссылке https://www.python.org/ftp/python/3.4.3/python-3.4.3.msi и устанавливаешь его, потом делаешь папку кидаешь туда мой скрипт и файлы SLPM_552.63 и CD.BIN запускаешь срипт, дожидаешься пока появится надпись Закрыть. Рядом появится папка Unpack в ней будут файлы звук(.ahx .ADX), видео(.sfd), не сжатая картинка(.T2), сжатые картинки(.1tex), сжатый файл(.1BIN), остальные файлы не разобранные это(bin). Скрипт https://yadi.sk/d/k3k5UtqEhBh7Eg Звуки можно слушать ExtractData_v1.20_English понимает .ahx а PSound 2.0 понимает .ADX (надо правильно выставить частоту звука в настройках программы чтобы правильно игрался звук). Видео можно смотреть VLC media player но будет без звука. Программы https://dropmefiles.com/wipZY Если интересно то дополнительная информация. В файле SLPM_552.63 есть таблица файлов на байте 2405840 размером в 245360 байта, С начало идёт начало файла оффсет 4 байта номер сектора(*2048) потом 4 байта размер файла, и так для каждого файла, получается 30670 файла. Имён у файлов нет пришлось идентифицировать форматы файлов по заголовкам внутри файлов. Файлы картинки и файл .1BIN сжаты, потом попытаюсь разобраться со сжатием. |
| Sharpnull:
Zetper, только хотел написать... Но вы продолжайте, я больше ничего не знаю. Veshurik, размер игры 1.5 ГБ, на самом деле. Много пустоты. Извлекаете cd.bin и SLPM_552.63 с помощью 7zip или других программ для работы с ISO. В cd.bin ресурсы, SLPM_552.63 - исполняемый файл. По размеру mpeg2 видео, которое в начале, нашёл в SLPM_552.63 информацию по смещениям и размеру в cd.bin, начиная с 24B5D0 идёт 4 байта - смещение / 2048 байт, потом 4 байта - размер в байтах: --- Код: ---00 00 00 00 00 B8 DC 05 - первый ролик 97 BB 00 00 00 58 02 05 - второй E2 5B 01 00 00 30 36 05 - третий --- Конец кода --- и так далее, 30670 файлов. Написал скрипт на Python 3, который всё разделяет на файлы. Скачиваете ПКМ по Raw -> Сохранить объект. Кладёте рядом с теми двумя файлами и запускаете. В папку EXTRACTED всё распакуется. Первые 3 файла переименуйте в .mpg, чтобы запускать через плеер. Но звук может обрываться при промотке, потому что аудио там adpcm_adx. Музыка самая последняя начиная с file0000779846.bin. Чтобы убедиться запускаете ffmpeg: --- Код: ---ffmpeg -i file0000779846.bin --- Конец кода --- Вывод --- Код: ---Input #0, adx, from 'file0000779846.bin': Duration: 00:02:05.89, start: 0.000000, bitrate: 432 kb/s Stream #0:0: Audio: adpcm_adx, 48000 Hz, stereo, s16p, 432 kb/s --- Конец кода --- Можете сконвертировать с помощью ffmpeg: --- Код: ---ffmpeg -i file0000779846.bin output.wav --- Конец кода --- Возможно лучше специальной программой https://github.com/losnoco/vgmstream или через GUI - https://sourceforge.net/projects/vgmtoolbox/, или какой-то ещё для работы с adpcm_adx. Текстуры и звуки должны быть тоже в этих файлах, но это надо изучать. Начальные буквы могут помочь, видел 1tex. |
| megavolt85:
добавлю пять копеек sfd видео прекрасно проигрывается через ffplay и так же замечательно конвертируется через ffmpeg |
| Veshurik:
Ребята, спасибо вам. У Sharpnall скрипт не работает, и после запуска окошко сразу закрывается. У другого человека, что написал скрипт, всё успешно извлеклось, спасибо! Попробую переконвертировать видео. Я в программировании ноль полный, поэтому сам бы точно не разобрался. Осталось только изображения вытащить, да. Можно было бы ещё игровой текст, но там с этим сложнее, наверное. |
| Sharpnull:
--- Цитата: Veshurik от 03 Ноябрь 2019, 14:51:25 ---У Sharpnall скрипт не работает, и после запуска окошко сразу закрывается. --- Конец цитаты --- Если вы скачали доисторический по ссылке Zetper (https://www.python.org/ftp/python/3.4.3/python-3.4.3.msi), то мой работать не будет, потому что использую интерполяцию строк (https://www.python.org/dev/peps/pep-0498/). Качайте последний, на данный момент https://www.python.org/downloads/release/python-380/, для x64 - https://www.python.org/ftp/python/3.8.0/python-3.8.0-amd64.exe, x86 - https://www.python.org/ftp/python/3.8.0/python-3.8.0.exe. Чтобы точно узнать проблему, нужно запускать через консоль: Shift + ПКМ в проводнике -> Открыть консоль команд, там набрать имя скрипта и после Enter. P.S. Но смысла нет в моём скрипте, так как от Zetper делает тоже самое + расставляет расширения файлов. -------- Ещё про различия скриптов. Я грузил весь файл в ОЗУ по привычке, так что должно быть свободно 2ГБ ОЗУ. У Zetper это сработает только под Windows из-за обратных слэшей: --- Код: ---path = os.path.realpath(os.path.dirname(sys.argv[0])) f = open(path+"\\"+"SLPM_552.63","rb") --- Конец кода --- В Python давно можно указывать / в open под Windows (open(path+"/SLPM_552.63","rb")), но сейчас рекомендуемый способ через pathlib, там всегда можно указывать / и можно написать так: --- Код: ---from pathlib import Path path = Path(__file__).resolve().parent f = open(path / "SLPM_552.63","rb") # Или f = open(Path(path, "SLPM_552.63"),"rb") --- Конец кода --- |
| Veshurik:
ffmpeg почему-то сжимает качество видео при обработке. То есть, сначала видео весило 82Мб, а при обработке стало 13Мб, и качество заметно ухудшилось при просмотре. Что с этим можно сделать? ======== Заметил, что в извлечённых файлах при помощи скрипта от Zetper файлов музыки там нет... То есть, там нет вообще file000... Просто до 1731166208.ADX |
| Навигация |
| Главная страница сообщений |
| Следующая страница |
| Предыдущая страница |