Если для распаковки архивов.psarc уже включена программа в ps3tools, то для сборки есть программа, которая так и называется - PSARC. Поставляется с PS3 SDK, отдельно выложена здесь. Руководство_англ
psarc verb [options] [file...] verbs: create - создаёт архив (по умолчанию) extract - распаковывает содержимое уже существующего архива list - создаёт список файлов внутри уже существующего архива dump - выводит детальную информацию об архиве verify - проверяет целостность архива, чтобы убедиться, что все файлы могут быть расжаты dtd - ?
options: -h , --help - выводит помощь и выходит --version - показывает версию и выходит -d , --debug - показывать сообщения отладки -v , --verbose - показывать состояние во время процесса (по умолчанию) -q , --quiet - ничего не показывать во время процесса -y , overwrite - автоматически перезаписывать существующие файлы --xml=XMLFILE - использовать файл с настройками в формате xml.
create options: -oFILE , --output=FILE - имя файла создаваемого архива -Iinputfile , --inputfile=inputfile - указать имя файла, что есть список файлов с путями до них для создаваемого архива. Список может быть в формате txt , но рекомендуется использовать --xml - в xml-файле можно указать больше надстроек. -m , --mself - создать PSARC-SELF гибрид-архив для PS3, что может содержать в себе такие файлы, как SDATA, SPRX и SPU SELF
--zlib - использовать технологию сжатия zlib (по умолчанию) --lzma - использовать технологию сжатия lzma (обычно для PS3 PSN) --level=N - качество сжатия. 1 - быстрое, 9 - наилучшее (9 по умолчанию) -N , --nocompress - не сжимать ни один файл в архиве -bBS , --blocksize=BS - указывать размер блока в байтах (по умолчанию 65536=64Кбайт) -jJOBS , --jobs=JOBS - количество файлов, обрабатываемых сжатием в один присест (по умолчанию = один файл на одно ядро, т.е. равное количеству ядер Вашего процессора PC) -sREGEX , --strip=REGEX - ? -S , --strip-all - сокращать ВСЕ пути до файлов и помещать их ВСЕХ в архив без каких-либо папок, в которых они находятся. Также будет и с собственным списком файлов самого архива -a , --absolute - собственный список файлов архива будет совпадать с Вами указанным списком файлов -R , --relative - ? (по умолчанию) -i , --ignorecase - игнорирует случаи сравнивания файлов --exclude=WILDCARD - ещё один способ указания файлов, похожий на линуксовский в консоле (например, --exclude=songs/*.mp3) --skip-missing-files - если в указанном Вами списке указаны несуществующие файлы, до с этой опцией операция не прервётся, а несуществующие файлы будут пропущены --mergedups - ?
extract options: --input=файл - имя файла архива для распаковки --to=куда - папка куда распаковывать (по умолчанию папка, где вы находитесь в командной строке в данный момент)
Заострю внимание на создании и указаниях опций в файле.xml. В общем об этом написано в вышеуказанной ссылке на руководство, которое на английском языке. Здесь же отмечу некоторые тонкости. Как пример возьмём уже созданный list.xml Создавался он в блокноте Windows.
archive="global_sound_ru.psarc" - опция для create - имя файла создаваемого архива
blocksize="65536" - опция для create - размер блока
<compression enabled="true" level="9" /> - глобальная опция compression - указывает, что все файлы в создаваемом архиве будут сжаты и каким уровнем качества
<file path="packed/game/global_sound_ru.toc" /> - это одна строчка с указанием одного файла. Обратите внимание, что в пути до конечного файла слэши не "\такие\" , а "/такие/"!!! Архив создаётся и с такими и с такими, но когда игра PS3 будет руководствоваться собственным списком архива.psarc и в нём пути будут вот с "\такими\" слэшами - игра файлы в архиве не найдёт.
Как создать такой длиннющий список файлов?! начните с команды: psarc list файл.psarc >> список.txt - затем редактируйте список.txt в MS Worde - в нём есть такая функция, как автоматическая вставка/замена. Приведите вид списка, подходящий для вставки в xml.
ИЛИ ЖЕ вместо указания списка пофайлово, можно попробовать например, так: <file wildcard="songs/*.mp3" /> Опять же, аккуратнее со слэшами!
У этой программы всё же есть один очень большой недостаток - она выделяет слишком большие размеры блоков для файлов в архиве. С выделением размеров блоков всё в порядке у плагинаpsarc для Total Commander'а, НО тамошним psarc'ом нельзя запаковывать файлы по списку и указывать какие файлы сжимать, а какие нет. И золотой середины нет, оба случая требуют доработки.
Добрый день! Очень понравилась статья. Прошу оказать помощь в пересборке архива psarc. Дело в том, что я беру исходный архив, распаковываю его. Собираю просто его обратно, и приставка его уже не видит. Делал я это с целью руссифицировать игру. Прошу помочь, что я делаю неправильно. И в PSARC почему то есть только три варианта выставления флагов архиву. absolute. ignorcase и по умолчанию. Открываю исходный архив в HEX редакторе там стоит 3 в значении флага. Подскажите, что нужно сделать чтобы приставка видела архив пересобранный. Спасибо.
Чтобы твой архив виделся приставкой - нужно: создать точно такой же список как был в оригинальном psarc'е; сделай dump оригинального psarc'а - увидишь fs'ки (стартовые offset'ы) этих файлов - в твоём архиве они должны быть точно такие же.
Цитатаzzzzzz_1983
HEX редакторе там стоит 3 в
Я забыл что надо сделать, но вот то, что даёт в HEX-е 1 + то, что даёт в HEX-е 2. В общем, сразу два (забыл каких) флага дадут 3. Мой тебе совет - брось. Обе проги psarc имеют недостатки: psarc из-под командной строки выделяет слишком большие блоки под файлы - будет проблема, когда будешь подгонять fs'ки psarc для totalcmd не имеет такой настройки как компрессия только указанных файлов и делать список. Кто-то должен доработать одну из них. PS4 CUH-1108A OFW 5.05 + VR CUH-ZVR2 PS3 SuperSlim CECH-4208a OFW v.4.50 Cobra ODE PS2 SCPH-77008a SLIM чиповка; припаян YPbPr - компонент PS2 SCPH-55004 FAT чиповка + orig SCPH-10281 Network Adapter SATA mod
Спасибо огромное за ответ! Я бы бросил если бы смог заставить не обращаться к psarc архиву, а обращаться как к папке. Если что, то я говорю про игру HITMAN BLOOD MONEY из сборника HITMAN TRILOGY HD. Так вот там присутствую эти архивы. Хотел просто руссифицировать ее. Взял версию ПК и распаковал все файлики сравнил, они оказались одинаковыми по названию и расширению. Хотел взять текстовые, звука. Начал собирать обратно и вот получился такой затык на обратной сборке этого архива. Причем даже просто распаковав оригинальный архив, обратно также его не удается пересобрать, даже не меняя ничего внутри. А структуру папок соблюдаю. Причем я даже не могу найти более подробную информацию чтобы флаг архива был равен 3. Только абсолют=1, и игноркейс=2. Спасибо. P.S.: только что проверил дампы оригинала и пересобранного оригинала без изменения. Они идентичные. P.P.S: О какой компрессии идет речь? zlib и уровень компрессии? Если да. То вчера поставил плагин по Total Commander. И он вроде как все тоже сжимает, если я о том говорю. И версии PSARC можно выбирать вплоть до 1.9.
Сообщение отредактировал zzzzzz_1983 - Вт, 13 Янв 2015, 20:28
Чем ты распаковываешь архивы? - вот в aldo's ps3tools есть psarc tool GUI - в нём видно какие файлы в архиве сжаты, а какие нет. В МОЁМ случае был один засранец сжат, остальные нет - я мудил мудил - бросил (причина ПОЧЕМУ я тебе отписал) Вот открой оригинальный архив твоей игры в psarc tool GUI - какой он? - весь сжат, весь несжат или что-то сжато, а что-то нет?
Цитатаzzzzzz_1983
был равен 3. Только абсолют=1, и игноркейс=2
Так вот, по-моему, если в list.xml ввести что-то вроде absolute=TRUE и ignorecase=TRUE, то будет 3, но главное абсолют, а цыферка, думаю, ни на что не повлияет. Я помню у меня так сработало по кр.мере в не-totalcmd проге.
Цитатаzzzzzz_1983
проверил дампы оригинала и пересобранного оригинала без изменения. Они идентичные.
Даже fs'ки у всех-всех файлов одинаковые? - вот это самое главное. И кст, сколько весит архив? PS4 CUH-1108A OFW 5.05 + VR CUH-ZVR2 PS3 SuperSlim CECH-4208a OFW v.4.50 Cobra ODE PS2 SCPH-77008a SLIM чиповка; припаян YPbPr - компонент PS2 SCPH-55004 FAT чиповка + orig SCPH-10281 Network Adapter SATA mod
Добрый вечер! Архив весит точно также как и оригинал. А при прописывании в xml файле два значения. Выдает ошибку при сборке архива. Ну про GUI незнаю. А вот в консоли там часть сжата, один файл только не сжат. А так все сжаты по одинаковому. Вот тексты дампа.
Тут народа оказалась прорва, которая exe'шники запускают так: C:\путь\до\exe'шник.exe и пишут тут команды так вот ТАК ПРОГИ НЕ РАБОТАЮТ! Сначала надо оказаться в папке с exe'шником: cd C:\путь\до zzzzzz_1983, ты часом не так exe'шник запускаешь?)
Если у тебя с этим всё норм, можешь архив.7z выложить со своими уже переделанными файлами и List.xml - я б попробовал собрать. Но если он больше 2Гигов - ну его нахер, сам думай) PS4 CUH-1108A OFW 5.05 + VR CUH-ZVR2 PS3 SuperSlim CECH-4208a OFW v.4.50 Cobra ODE PS2 SCPH-77008a SLIM чиповка; припаян YPbPr - компонент PS2 SCPH-55004 FAT чиповка + orig SCPH-10281 Network Adapter SATA mod
Добрый вечер! Нет у меня psarc запускается проще. я открываю папку с psarc через шифт и правой клавишей мыши. Выбираю открыть окно команд. Ничего не ввожу. Никакие пути. Архив сделаю. Куда скинуть его ? Вес общий составит 75521 mb
Сообщение отредактировал zzzzzz_1983 - Пт, 16 Янв 2015, 19:58