GamePacker

GamePacker 4.6.0 Release no redist

Нет прав для скачивания

L-e-o-N

Старожил
К сожалению добавить поддержку компонентов в данную архитектуру приложения, не получаеться (слишком много костылей накопилось) по этому начинаю пятую версию программы, с нуля. Планирую переработать главное окно, чтобы была древовидная структура
 

Crachlow

Старожил
Ну да как то в этом духе. Вообще для lzma\lzma2 на некоторых ключах можно сделать выпадающий список, к примеру для mf - 4-е значения всего, для lzma2 если ставишь lc=4 автоматом значение lp=0 (lc+lp<=4) и т.д. Я по поводу unarc.dll. Там еще одна загвоздка. Лимит использования внутренней(~96mb) памяти для распаковки т.е. если используешь упаковку lzma самим арком или fazip с хорошей компрессией то нужно не выходить за рамки этих значений или использовать внешние компрессоры. dict+rep+tor+lpz.....+xlzma(4x4) lzma<96. Я это так понял. Пробовал установить словарь больше чем 64мб, смотрел в аркинфо сумма набегала >100mb - окно 'не хватает памяти!' при распаковке. Lolz-ом вообще только для не больших игр, иначе ждать сутками. Анализ еще как ни будь укоротить, да и это двойная нагрузка на диск(анализ+упаковка). Как на счет unarc.dll? В этом разбираешься?
 

Crachlow

Старожил
Precomp048 есть. Можешь его попробовать. Может он по скорости быстрее? Ознакомительная версия. И не знаю cls поддерживает или нет. И для распаковки 7z не обязательно 7z+dll, достаточно 7z standalone той же версии.
 

L-e-o-N

Старожил
Precomp048 есть. Можешь его попробовать. Может он по скорости быстрее? Ознакомительная версия. И не знаю cls поддерживает или нет. И для распаковки 7z не обязательно 7z+dll, достаточно 7z standalone той же версии.
Когда смотрел была только предварительная версия 048. С cls еще 046 проблемно работала, но удалось её пропатчить, с 048 тоже получиться
Для распаковки zip нужна 7z+dll
У unarc.exe этих ограничений нет.
ISDone не работает с unarc.exe
Я по поводу unarc.dll. Там еще одна загвоздка. Лимит использования внутренней(~96mb) памяти для распаковки т.е. если используешь упаковку lzma самим арком или fazip с хорошей компрессией то нужно не выходить за рамки этих значений или использовать внешние компрессоры. dict+rep+tor+lpz.....+xlzma(4x4) lzma<96. Я это так понял. Пробовал установить словарь больше чем 64мб, смотрел в аркинфо сумма набегала >100mb - окно 'не хватает памяти!' при распаковке.
В первые слышу. Я первые репаки делал как раз из алгоритмом lzma (встроеным в freearc) и словарем 200mb, и у меня все хорошо работало (в том числе и с паролями). И сейчас на той unarc.dll которую я поставляю с программой тоже паролаботают
 

L-e-o-N

Старожил
Leon. Извиняюсь. Потребление памяти относится только к 4x4.
Так там если к примеру выделить словарь на 64mb и запустить в 4 потока то для распаковки нужно будет 4*64 mb, а если поставить 100, тогда уже не у каждого найдеться 400mb памяти для распаковки (учитывая еще то что другие алгоритмы будут потреблять память)
 

L-e-o-N

Старожил
Делюсь успехами за день.
Начал с полного нуля.
Уже есть:
Сохранение и загрузка данных
Решил сделать проэкты (то есть когда хотите сжать игру, жмете Файл->создать проект), это позволит работать в одной копии программы сразу с несколькими играми (если конечно памяти хватит :D). Также такая система позволит в любой момент сохранить проанализированые данные, закрыть приложение, а птом открыть и продолжить с места остановки
 

Вложения

Krinkels

Он где то тут
Администратор
Krinkels. Там их 2. Охота попробовать обе.
Код:
E:\FA\ghc\gcc-lib\dllwrap.exe -BE:\FA\ghc\gcc-lib --driver-name E:\FA\MinGW\bin\gcc.exe E:\FA\temp-unarc/unarcdll.o E:\FA\temp-unarc/Environment.o E:\FA\temp-unarc/Common.o E:\FA\temp-unarc/CompressionLibrary.o E:\FA\temp-unarc/C_LZMA.o E:\FA\temp-unarc/C_BCJ.o E:\FA\temp-unarc/C_Dict.o E:\FA\temp-unarc/C_Delta.o E:\FA\temp-unarc/C_REP.o E:\FA\temp-unarc/C_LZP.o E:\FA\temp-unarc/C_PPMD.o E:\FA\temp-unarc/C_External.o E:\FA\temp-unarc/C_MM.o E:\FA\temp-unarc/C_TTA.o E:\FA\temp-unarc/C_Tornado.o E:\FA\temp-unarc/C_GRZip.o E:\FA\temp-unarc/C_4x4.o E:\FA\temp-unarc/C_DisPack.o E:\FA\temp-unarc/C_LZ4.o E:\FA\temp-unarc/C_Encryption.o E:\FA\temp-unarc/C_CLS.o -lstdc++ -lole32 -def unarc.def -s -o unarc.dll
unarc.exp:fake:(.edata+0x3c): undefined reference to `ArcExtract'collect2: ld returned 1 exit status
E:\FA\ghc\gcc-lib\dllwrap.exe: E:\FA\MinGW\bin\gcc.exe exited with status 1
Makefile:51: recipe for target 'unarc.dll' failed

Код:
In file included from unarcdll.cpp:14:
ArcProcess.h: In member function `void PROCESS::ExtractFiles(DIRECTORY_BLOCK*, int)':
ArcProcess.h:372: warning: too many arguments for format
unarcdll.cpp: In function `void UnarcQuit()':
unarcdll.cpp:19: error: no matching function for call to `PROCESS::quit(int)'ArcProcess.h:473: note: candidates are: bool PROCESS::quit(int, char*)
unarcdll.cpp: At global scope:
unarcdll.cpp:42: error: conflicting return type specified for `virtual void DLLUI::BeginProgress(uint64)'
ArcCommand.h:30: error:   overriding `virtual bool BASEUI::BeginProgress(uint64)'
unarcdll.cpp: In member function `bool DLLUI::event(char*, Number, Number, char*)':
unarcdll.cpp:63: error: 'class Event' has no member named 'Lock'
unarcdll.cpp: In function `int FreeArcExtract(int (*)(char*, Number, Number, char*), ...)':
unarcdll.cpp:167: error: request for member `Create' in `thread', which is of non-class type `void*'
unarcdll.cpp:168: error: request for member `Create' in `thread', which is of non-class type `void*'
unarcdll.cpp:172: error: 'class Event' has no member named 'Lock'
unarcdll.cpp:178: error: request for member `Wait' in `thread', which is of non-class type `void*'
Makefile:51: recipe for target 'unarc.dll' failed
 

Crachlow

Старожил
Leon. Ты еще постарайся как то определиться с анализом! Для больших файлов это о-очень долго, да и нагрузка на диск большая. Или как то ее свести к минимуму, или исключить. Я пакер все пробовал на маленьких файлах - это было терпимо, но попробовал на Hitman 2(взял пару больших файлов) - неделю наверное только анализ будет, потом ~ 3 дня паковаться - это долго. К тому же почему то с выставленными параметрами lzma(которые у тебя сейчас существуют), наверное и с lzma2 так же, на максимум(кроме словаря) так медленно пакуется. Что то там не так. Параметр fb или mc, а может оба. Посмотри что там не так.
 

Sanchez

Новичок
Leon. Ты еще постарайся как то определиться с анализом! Для больших файлов это о-очень долго, да и нагрузка на диск большая. Или как то ее свести к минимуму, или исключить. Я пакер все пробовал на маленьких файлах - это было терпимо, но попробовал на Hitman 2(взял пару больших файлов) - неделю наверное только анализ будет, потом ~ 3 дня паковаться - это долго. К тому же почему то с выставленными параметрами lzma(которые у тебя сейчас существуют), наверное и с lzma2 так же, на максимум(кроме словаря) так медленно пакуется. Что то там не так. Параметр fb или mc, а может оба. Посмотри что там не так.
чтобы быстро покавалось на lzma и lzma2 нужно задать многопоточность...по умолчанию они сжимают в 2 потока что очень и очень медленно...и рспаковка тоже будет очень долгой. Хотя обратно же при многопоточности сжимает хуже чем при 2-х поточности.
 

Crachlow

Старожил
mt=[off | on | {N}] или просто добавить на выбор. Но там ничего не сказано про ухудшении сжатия. Только потреблении памяти.
 

Sanchez

Новичок
mt=[off | on | {N}] или просто добавить на выбор. Но там ничего не сказано про ухудшении сжатия. Только потреблении памяти.
ну так правильно допустим выставишь словарь d200m и 4 потока вот считай пр запаковке будет жрать 4.5 гб оперативы..при 2 потоках 2.5 гб...но сжатие в итоге будет лучше при 2 потоках...вот такие делишечки...при 2 потоках можно словарь d400m вабще поставить будет хавать 4.5 гб и сжатие будет ещё лучше...тут многое ещё зависит от количетсва оперативной памяти в компьютере. P/S это я про lzma 2 писал.

P/S лично я всегда сжимаю такими параметрами быстро чётко и классно и вабще можно не париться

packcmd=lzma2 a -txz -an -mcrc=0 -m1=lzma2:d200m:fb=273:mf=bt4:mc=1000000:lc=4:lp=0 -mmt4 -mx9 -si -so <stdin> <stdout>

ну а кто хочет добиться хорошего и мощного сжатия добро пожаловать в Lolz 8-)
 
Последнее редактирование:

Crachlow

Старожил
Так ты и сделай возможность выставить такие параметры. конечно, наверное все жмут с такими параметрами ~lzma/lzma2=>. Я не думаю что у кого то на компе имеется менее 8Gb память. А у кого меньше те и не занимаются этим. И обрати внимание что с этими параметрами скорость на ура.
 
Сверху