GamePacker

GamePacker 4.6.0 Release no redist

Нет прав для скачивания
Программа умеет:
  • Анализировать файлы и подбирать оптимальную цепочку сжатия
  • Сканировать указаную папку с игрой и выводить список сжимаемых файлов(поддерживает Drag&drop)
  • Анализировать файлы и определять приблизительный сжатый размер
  • Создавать множество freearc архивов с приблизительно одинаковым размером
  • Возобновлять работу с места остановки в случае закрытия консольного окна freearc-a
  • Генерировать скрипт установки ISDone

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

Перед началом вам нужно настроить алгоритмы под себя (см. Настройка программы). А также подготовить скрипт ISDone для работы с программой:
  1. Удалить из папок скрипта все файлы связанные с ISDone кроме english.ini, russian.ini, ISDone.dll
  2. В скрипте, если они есть, удалить все константы, которые определяют финальный размер игры (NeedSize, NeedSizeMB)
  3. Если есть, удалить рядок в секции Setup с параметром ExtraDiskSpaceRequired
  4. В секции Files удалить все файлы касающиеся ISDone кроме указанных в пункте 1 и файла records.inf (см. справку по ISDone)
  5. В секции code после объявления функций ISDone добавить код: #include "install.iss"
  6. Если у вас в скрипте отображаются имена, файлов, которые распаковываются, то в функции ProgressCallback перед использованием переменной CurrentFile добавить «DirInsertFileName +» (Должно получиться так: «DirInsertFileName + CurrentFile»
  7. В функции отмены установки, после вызова процедуры SuspendProc (Или вопроса, подтверждения отмены) добавить вызов процедуры CancelExtract
  8. В месте распаковки файлов в временную папку удалить все файлы касающиеся ISDone кроме файлов указанных в пункте 1, и файла records.inf и добавить на их место вызов процедуры ExtractFiles
  9. Весь код по распаковке архивов заменить на «if not ExtractArchives() then break;»
  10. В месте, где обрабатываются ошибки ISDone перед вызовом деинсталлятора добавить вызов процедуры CancelExtract;
После указанных действий скрипт автоматически будет подтягивать информацию сгенерированною программой

Использование программы очень просто:
  1. Запускаете программу
  2. Выбираете Файл->Сканировать игровую папку (или перетажить ее на окно)
  3. Вы можете проанализировать файлы по пути Архив->Анализ.
  4. Идёте по пути Архив->Упаковка, указываете имя архивов, их максимальный размер, пароль на архивы и нажимаете Упаковать
Требования:
  • Microsoft .NET Framework 4.7.2
  • 64-битная операционная система не ниже Windows 7

Настройка программы:
Окно настроек находиться по пути: Файл -> Настройки. В главном окне настроек вы можете настроить язык, открыть настройки алгоритма, группы, или анализа. Настройки каждого алгоритма индивидуальны и здесь описываться не будут (для детального ознакомления с ними обращайтесь к справке соответственного алгоритма)

Настройки групп:
Вы можете добавить группу нажав кнопку «Добавить». Вы можете удалить группу выделив её и нажав кнопку «Удалить». Для настройки группы вы должны выделить её и нажать кнопку «Настроить». Настройки групп включают: имя, алгоритмы предварительной обработки (препроцессоры), алгоритмы предварительного сжатия (прекомпрессоры), алгоритм финального сжатия, и маски файлов.

Настройки предварительной обработки, и предварительного сжатия:
Для добавления нового алгоритма в очередь, вы должны выбрать этот алгоритм в правой стороне окна «Очередь алгоритмов» и нажать кнопку «стрелка в лево», соответственно кнопка «стрелка в право» удаляет выбраный алгоритм из очереди. Кнопки «стрелка в верх» и «стрелка в низ» перемещают выбранный алгоритм в очереди вверх и вниз соответственно.

Настройки масок файлов:
Для изменения маски вы должны выбрать её, и в текстовом поле ниже ввести новое имя, а за тем нажать кнопку «Сохранить». Чтобы добавить маску нужно проделать ту же процедуру, но без выделения старых масок (для снятия выделения нажмите на выделенную маску с нажатой клавишей «Ctrl»). Кнопка «Удалить» позволяет удалить выбранные маски из группы.

Настройки анализа:
Вы должны выбрать с помощью флажков те цепочки, которые будут проверяться для всех файлов, масок которых, нет в группах. Если цепочка обозначена серым квадратиком, значит связанная с ней группа была удалена.
Программа умеет:
  • Анализировать файлы и подбирать оптимальную цепочку сжатия
  • Сканировать указаную папку с игрой и выводить список сжимаемых файлов(поддерживает 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, скрипт можно включить в ваш скипт инсталятора директивой:
    Код:
    #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") пути с пробелами нужно указывать в кавычках, программа не должна лежать по пути который имеет в себе пробелы.
Возобновление сжатия также возможно
Автор
L-e-o-N
Скачивания
250
Просмотры
1,657
Первый выпуск
Обновление
Оценка
0.00 звёзд 0 оценок

Другие ресурсы пользователя L-e-o-N

Последние обновления

  1. GamePacker 4.6.0 Release no redist

    Изменения: добавил алгоритмы afr, afr:a2, а также afr3 (который посути являеться afr:a2 но для...
  2. GamePacker 4.5.0 Release full

    То же что и предыдущее обновление, только с включенной папкой tools
  3. GamePacker 4 5.0 Release no tools

    Изменения: Оптимизация кода добавления файлов в архив Очередной фикс багов Изменение системы...
Сверху