1. Уважаемые гости и пользователи форума.
    Администрация настоятельно рекомендует не регистрировать несколько аккаунтов для одного пользователя. При выявлении наличия мультиаккаунтов будут заблокированы все учетные записи данного пользователя.
    Аккаунты, зарегистрированные на временную почту будут также заблокированы.

GamePacker 3.6.6 Release

Программа для управления freearc'ом и разбивкой файлов

  1. GamePacker 3.6.6 Release

    L-e-o-N
    Программа умеет:
    • Анализировать файлы и подбирать оптимальную цепочку сжатия
    • Сканировать указаную папку с игрой и выводить список сжимаемых файлов(поддерживает Drag and drop)
    • Анализировать файлы и определять приблизительный сжатый размер
    • Создавать множество freearc архивов с приблизительно одинаковым размером
    • Возобновлять работу с места остановки в случае закрытия консольного окна freearc-a
    • Генерировать скрипт установки ISDone
    Анализ выполняется посредством сжатия каждого файла по отдельности и опредления размера архива для каждой цепочки алгоритмов. Он не обязателен, однако проведя анализ вы сможете более плотно сжать игру.
    Для использования вам необходимо собрать свою сборку программы:
    1. В корне архива все папки кроме gpp нужны программе
    2. В папке gpp находятся плагины дополняющие работу программы:
      • big files rar partition - плагин который поможет разбить слишком большие файлы на многотомные rar архивы
      • bink - плагин добавляющий алгоритм для сжатия bik файлов
      • lolz - плагин заменяет стандартный алгоритм lzma на lolz
      • lzma2 - плагин заменяет стандартный алгоритм lzma на lzma2 из 7-zip
      • media stream compressor - плагин добавляющий алгоритм который сжимает mp3, raw, wav аудиоsrep - плагин добавляющий препроцессор super rep
      • oggre - Плагин добаляющий алгоритм oggre для сжатия ogg файлов (ВНИМАНИЕ!!! Не гарантируется корректная работа, дело в самом алгоритме а не плагине)
      • unpack zip archives - Плагин для распаковки zip архивов для последующего сжатия
      • xprecomp - плагин добавляющий препроцессор xtool
    3. Выбрав необходимые плагины вы из папок этих плагинов перемещаете в папку программы папки plugins и tools. В папке unpack находятся инструменты для распаковки алгоритма добавляемого этим плагином(если папки нет - тогда для распаковки ничего не нужно)
    4. Пользуйтесь))

    Использование программы очень просто:
    1. Запускаете программу
    2. Выбираете Файл->Сканировать игровую папку (или перетажить ее на окно)
    3. Если хотите распаковать zip архивы Нажмите: Предварительная обработка->Распаковка zip архивов
    4. Если хотите разделить большие файлы на части нажмите: Предварительная обработка->Разбить большие файлы указывайте размер и нажмите кнопку Разбить
    5. Вы также можете настроить (правильная настройка может существенно меньшить время анализа) цепочки сжатия по пути Архив->Настройки сжатия (подробнее будет написано ниже)
    6. Вы так же можете настроить сортировку файлов в архиве по пути Архив->Настройка сортировки файлов
    7. Вы можете проанализировать файлы по пути Архив->Анализ.Затем вам нужно отметить нужные (остальные будут пропущены) алгоритмы галочкой и нажать кнопку Анализ
    Для работы программы должен быть установлен пакет Microsoft .NET Framework
    Для упаковки файлов в архив нажмите: Архив->Упаковка Укжите имя и разширение архивов, максимальный размер архивов а также пароль.
    Обновление 3.6.6:
    1. Уменьшено количество проходов при упаковке
    2. Вернул старый lolz (по скольку с новым были проблемы) Для того кто хочет испытать судьбу вы всегда можете использовать версию плагина из 3.6.5 (они совместимы)
    ВНИМАНИЕ!!!:
    После изменений старые плагины больше не являются совместимыми из новой версией. Для портирования старых алгоритмов (и для добавления новых) обращайтесь ко мне

    Графическая версия программы, в которой гораздо удобнее работать нежели в консоли
    ПРОГРАММА НАПИСАНА С НУЛЯ И ПРЕДЫДУЩИЙ ФУНКЦИОНАЛ ПОКА НЕ РЕАЛИЗОВАН!!!
    Программа умеет:

    • Сканировать уазаную папку с игрой и выводить список сжымаемых файлов
    • Анализировать файлы и определять приблезительный сжатый размер
    • Создавать множество freearc архивов с заданым алгоритмом сжатия
    • Резервное копирование игровых файлов в временную папку (которая очищаеться после завершения программы)
    • Выбирает конфигурацию (arc-1.ini, ..., arc-n.ini) до тех пор пока не будет успешно создан архив (можно использовать алгоритмы которые в некоторых играх выдают ошибку сжатия, тогда программа просто повторит сжатие файлов с следующим конфигом)
    • Сохраняет предыдущие настройки в реестре, благодаря чему не нужно постоянно изменять их
    • Подсчитывает размер игры и примерное количество архивов
    Анализ выполняется посредством сжатия каждого файла по отдельности и определения размера архива. Он не обязателен, однако, в больших играх, способен значительно уменьшить количество проходов (в малых играх, лучше не использовать - только потеряете время)

    Использование программы очень просто:
    1. Запустить exe-шник
    2. В диалоговом окне выберите папку с игрой
    3. Настройте параметры программы (Имя архива, размер, и тп)
    4. Нажмите кнопку анализ файлов (опционально, если игра должна поместится в один архив, тогда анализ - впустую потраченое время)
    5. Нажмите кнопку упаковка
    6. Закройте программу и заберите архивы из папки out
    ОБНОВЛЕНИЕ 2.0.1 RC
    Изменения:

    • Добавлена возможность сгенерировать скрипт распаковки Inno Setup ISDone, скрипт можно включить в ваш скипт инсталятора директивой:
      Код (Text):
      #include "unpack.iss"
      в месте где прописывается распаковка архивов

    • Заменена иконка (Спасибо пользователю Nemko)
    Программа предназначена для упаковки директории игры в архив freearc с указанными параметрами.
    Файлы которые нужны программе:
    1. installpack.exe Непосредственно сама программа
    2. arc.exe консольная версия архиватора freearc, с помощью которой и происходит упаковка
    3. arc-1.ini Конфиг для freearc'а
    4. config.ini Конфиг для gamepacker'a
    5. nbtdata.dll DLL библиотека для сохранения и загрузки данных
    6. packZIP.exe - Нужно заменить на ту версию которая используется у вас в ISDone (Программа для упаковки ZIP архивов)
    7. 7z.exe - консольная версия 7zip архиватора, используется для распаковки zip архивов
    8. 7z.dll - Нужен для работы 7z.exe
    9. Rar.exe - консольная версия WinRar архиватора, для разбиения больших файлов на части
    10. xdelta3.exe - Служит для патчей zip архивов для уверенности что восстановление файлов произойдет bit to bit
    Остальные файлы программе не нужны, они используются в качестве препроцессоров freearc'а.
    Программа умеет:
    1. Создавать архивы приблизительно одинакового размера
    2. Распаковывать zip архивы (Детект zip архивов происходит по первым 4 байтам)
    3. Делить большие файлы на части с помощью многотомных rar архивов
    4. Генерировать скрипт для распаковки в ISDone(т.е. вы просто копируете команды из файла unpack.iss и вставляете их в свой скрипт)
    5. Возобновлять работу в случае преждевременного прекращения работы(например случайно нажали на крестик)
    Конфиг программы:
    • clearMasks - маски временных файлов, которые могут появится в папке с программой
    • arc.ini - указывает расположение arc.ini, который используется при распаковке (например: {tmp}\\arc.ini)
    • compress - секция настроек сжатия freearc'ом
      • compressLevel - уровень сжатия (значение подставляется в аргумент -m)
      • compressMetaLevel - уровень сжатия (значение подставляется в аргумент -dm)
      • archiveName - имя архивов (в конце будет добавлен номер архива)
      • archivePassword - пароль который нужно установить на архив
      • archiveExt - расширение архива
      • archiveSize - максимальный размер архива (в мегабайтах)
    • rarpartition - секция настроек разбиения больших файлов
      • enable - если true - тогда использовать разбиение иначе - нет
      • size - размер тома в мегабайтах (если 0 - тогда используется значение из archiveSize
    • zipunpack - секция настроек распаковки zip архивов
      • enable - если true - тогда распаковывать zip архивы иначе - нет
      • crcFix - если true - тогда после распаковки будет создан xdelta патч для восстановления исходного файла
      • compressLevel - уровень сжатия файлов zip архива (который задается для создания архива в ISDone)
    • precompress - секция настроек прекомпрессоров
      • все команды сортируются по ASCII таблице (сравнивается каждый символ ключа)
      • синтаксис команд:ключ=команда|команда распаковки в ISDone №1|...|команда распаковки в ISDone №n
        • Команда может иметь следующие переменные
          • $outfile$ - выходной файл
          • $infile$ - входной файл
        • Команда распаковки может иметь следующие переменные
          • $outpath$ - выходной каталог (относительно пути установки)
          • $infile$ - входной файл
          • $outfile$ - выходной файл
      • для указания в команде символа ';' нужно его экранировать ('\;')
      • для указания в команде символа '\' нужно его экранировать ('\\')
    Программа действует за следующим алгоритмом:
    1. Ищет файл save.dat
    2. если файл существует - загружает данные из него
    3. если файл не существует программа начинает собирать данные
      1. Сканирует папку с игрой
      2. для каждой папки выполняет шаг 1
      3. анализирует каждый файл
      4. если файл zip архив тогда распаковать, если нет то перейти к шагу 8
      5. создает zip архив из распакованных данных
      6. создает патч разницы между оригиналом и упакованным архивом
      7. для папки распакованного архива выполняет шаг 1
      8. проверяет размер каждого файла
      9. если размер больше заданого в конфиге то создать многотомный архив
      10. каждый проанализированный файл (кроме zip архива и не разбитого файла) заносит в список
      11. каждую пустую папку заносит в список
    4. Сортирует список по размеру в обратном порядке (первый файл - самый больший)
    5. После сбора данных начинается упаковка
      1. Создает список сжимаемых файлов
      2. добавляет в список все файлы пока их общий размер не будет максимально близкий к указаному в конфиге
      3. если в конфиге заданы прекомпрессоры тогда создает временный файл
      4. пропускает временный файл через все прекомпрессоры
      5. создает архив с конфигом arc-1.ini
      6. если не удалось, создает архив с конфигом arc-....ini
      7. если не удалось, создает архив с конфигом arc-n.ini
      8. берет размер созданого архива
      9. добавляет к списку файлы общего размера разницы размера указаного в конфиге и размера архива
      10. если в архив все еще можно вместить файлы возвращается к шагу 3
    6. Генерирует скрипт распаковки

    !!!ВНИМАНИЕ!!! не закрывайте программу в промежутки когда появилась надпись Saving data... и пока не появится надпись Save complete, Если вы это сделаете тогда файл save.dat будет поврежден и упаковку нельзя будет возобновить
    Упаковка игры делается с помощью перетаскивания папки с игрой на exe-шник программы или задания пути к папке с игрой с помощью первого аргумента командной строки (installpack.exe "d:\games\age of empires iii") пути с пробелами нужно указывать в кавычках, программа не должна лежать по пути который имеет в себе пробелы.
    Возобновление сжатия также возможно
Вернуться к списку обновлений...