Ru-Board.club
← Вернуться в раздел «Программы»

» Пережатиe/Pекомпрессия/Oптимизация файлов для лучшего сжатия

Автор: kalpak
Дата сообщения: 11.10.2011 20:41
Edison007007
в не менее в двух репаках втречается файл tools.dll (как именно эта библиотека называется не знаю, никакого описания нет в файле, только по таблицу экспорта можно понять что делает отдаленно)
вот там то и используется InjectFile
в случае с Portal 2 там вроде файлы pak модифицировались
а в случае Rage я не понял что (кажется page файлы, но наверное это тоже что то вроде pak файлов
движок то ID-шный)

думал может кто встречал ее и /или пользовался
Автор: R3Pa4eK
Дата сообщения: 11.10.2011 21:42
Edison007007
Это dll'ка дедушки

Добавлено:
kalpak
От Profrager'a

Цитата:

вот заставил ты меня найти его репак и порыться в его косточках, вместо того чтобы чем-то полезным заняться.
В общем нашел я у себя репак деда Darksiders - Wrath of War. Там юзается все основное - arc, srep, precomp, xdelta3 (все кроме unarc.dll являются ехе файлами).
Нашлась библиотечка Tools.dll. Действительно она самописная - либо он сам ее писал, либо ему ее помогли написать. Из множества ее функций в данном репаке использовались только
TaskBarCtlInit, TaskBarCtlRelease, TaskBarCtlSetProgressValue.
Соответственно первые 2 запускаются при старте и в конце работы библиотеки. При чем при старте создается какой-то OLE объект. ХЗ, не стал возиться. TaskBarCtlSetProgressValue юзается примерно раз в секунду и служит для обновления положения указателя на прогрессбаре. Вызывается он из скрипта и служит просто для указания текущего положения прогресса. Видимо этот прогрессбар какой-то необычный, раз нельзя было progressbar.position:=... сделать. Максимальное значение у него было выставлено числом 1645(0x66d).

алгоритм примерно такой:
arc->srep->(arc(rep)->precomp)
На каждую смену типа распаковки завершается предыдущий и создается новый поток, что говорит о создании таймера отдельного потока для контроля (а может виртуальная машина Inno так код генерит).
Итак, через unarc.dll распаковывается основной 6гб архив, контроль прогресса тут понятно - через скрипт работы с FreeArc'ом (оригинальный или правленный - не важно). Далее запускается консольный среп и пускается поток, который постоянно фиксирует длину выходного файла, получаемого srep.exe и в определенный промежуток времени посылает в эту tools.dll через TaskBarCtlSetProgressValue текущее положение. Далее комплексно распаковывается арк архив с чередующимся извлечением данных из арк архива и распаковкой только что извлеченных pcf файлов, при этом прогресс изменяет свое значение только при извлечении данных из arc файла, а во время работы прекомпа - состояние покоя
Дальше там всякие видео и ехе распаковывались, но это уже обычные arc'и. На работу xdelta3 не получилось посмотреть, т.к. выбрал руссую озвучку, а delta требуется только для eng.

Так что весь плавный прогресс у деда - результат светлой головы и хорошо написанного и отлаженного скрипта
Автор: kalpak
Дата сообщения: 11.10.2011 22:12
нет
я точно знаю что в репаке portal 2 вызывается injectfile
потому как сначала распаковывается pak файл
а потом в него что то добавляется

вот [more=тут]
Proc [507] Export: INJECTCALLBACKPROC -1 @10 @16
[0] PUSHTYPE 5(Extended) // 1
[5] PUSHTYPE 5(Extended) // 2
[10] ASSIGN Base[1], [100]
[31] ASSIGN Base[2], Base[-1]
[42] PUSHTYPE 26(U8) // 3
[47] COMPARE into Base[3]: Base[2] > [0]
[68] COND_NOT_GOTO currpos + 39 Base[3] [117]
[78] PUSHTYPE 26(U8) // 4
[83] COMPARE into Base[4]: GlobalVar[173] > [0]
[104] CALC Base[3] AND Base[4]
[116] POP // 3
[117] SETFLAG NOT Base[3]
[124] POP // 2
[125] FLAGGOTO currpos + 110 [240]
[130] PUSHTYPE 10(S32) // 3
[135] ASSIGN Base[3], GlobalVar[109]
[146] PUSHTYPE 10(S32) // 4
[151] PUSHTYPE 5(Extended) // 5
[156] ASSIGN Base[5], Base[2]
[167] PUSHTYPE 5(Extended) // 6
[172] ASSIGN Base[6], Base[1]
[183] CALC Base[6] / GlobalVar[173]
[195] CALC Base[5] / Base[6]
[207] POP // 5
[208] PUSHVAR Base[4] // 6
[214] CALL 80 (ROUND)
[219] POP // 5
[220] POP // 4
[221] CALC Base[3] + Base[4]
[233] POP // 3
[234] CALL 327 (SETPROGRESS)
[239] POP // 2
[240] CALL 239 (APPPROCESSMESSAGE)
[245] RET
Proc [508] Export: INJECT -1 @16 @10
[0] PUSHTYPE 16(UnicodeString) // 1
[5] PUSHTYPE 16(UnicodeString) // 2
[10] PUSHTYPE 26(U8) // 3
[15] PUSHTYPE 10(S32) // 4
[20] PUSHTYPE 10(S32) // 5
[25] ASSIGN GlobalVar[109], GlobalVar[17].[11]
[40] ASSIGN GlobalVar[173], Base[-2]
[51] PUSHTYPE 16(UnicodeString) // 6
[56] ASSIGN Base[6], Base[-1]
[67] PUSHVAR Base[-1] // 7
[73] CALL 106 (EXPANDCONSTANT)
[78] POP // 6
[79] POP // 5
[80] PUSHTYPE 19(WideString) // 6
[85] ASSIGN Base[6], Base[-1]
[96] CALC Base[6] + ['.fls']
[116] ASSIGN Base[1], Base[6]
[127] POP // 5
[128] ASSIGN Base[2], ['*_*.wav']
[150] PUSHTYPE 16(UnicodeString) // 6
[155] ASSIGN Base[6], ['{cm:Processing}']
[185] PUSHVAR GlobalVar[119] // 7
[191] CALL 106 (EXPANDCONSTANT)
[196] POP // 6
[197] POP // 5
[198] ASSIGN GlobalVar[118], Base[-1]
[209] PUSHTYPE 10(S32) // 6
[214] ASSIGN Base[6], [2]
[229] PUSHTYPE 62(ProcPtr) // 7
[234] ASSIGN Base[7], [PROC: 507]
[249] PUSHVAR GlobalVar[174] // 8
[255] CALL 163 (dll:files:innocallback.dll wrapcallback)
[260] POP // 7
[261] POP // 6
[262] POP // 5
[263] PUSHTYPE 9(U32) // 6
[268] ASSIGN Base[6], GlobalVar[174]
[279] PUSHTYPE 0(Pointer) // 7
[284] SETPOINTER Base[7]: Base[5]
[295] PUSHTYPE 0(Pointer) // 8
[300] SETPOINTER Base[8]: Base[4]
[311] PUSHTYPE 10(S32) // 9
[316] ASSIGN Base[9], [16]
[331] PUSHTYPE 10(S32) // 10
[336] ASSIGN Base[10], [18]
[351] PUSHTYPE 10(S32) // 11
[356] ASSIGN Base[11], [1]
[371] PUSHTYPE 16(UnicodeString) // 12
[376] ASSIGN Base[12], Base[2]
[387] PUSHTYPE 16(UnicodeString) // 13
[392] ASSIGN Base[13], Base[1]
[403] PUSHTYPE 16(UnicodeString) // 14
[408] ASSIGN Base[14], Base[-1]
[419] PUSHVAR Base[3] // 15
[425] CALL 164 (dll:files:Tools.dll InjectFiles)
[430] POP // 14
[431] POP // 13
[432] POP // 12
[433] POP // 11
[434] POP // 10
[435] POP // 9
[436] POP // 8
[437] POP // 7
[438] POP // 6
[439] POP // 5
[440] PUSHTYPE 26(U8) // 6
[445] ASSIGN Base[6], GlobalVar[26]
[456] SETFLAG NOT Base[6]
[463] POP // 5
[464] FLAGGOTO currpos + 5 [474]
[469] CALL 181 (ABORT)
[474] PUSHTYPE 26(U8) // 6
[479] ASSIGN Base[6], Base[3]
[490] BNOT Base[6]
[496] SETFLAG NOT Base[6]
[503] POP // 5
[504] FLAGGOTO currpos + 399 [908]
[509] PUSHTYPE 10(S32) // 6
[514] PUSHTYPE 16(UnicodeString) // 7
[519] ASSIGN Base[7], Base[-1]
[530] PUSHTYPE 16(UnicodeString) // 8
[535] ASSIGN Base[8], ['processing']
[560] PUSHTYPE 16(UnicodeString) // 9
[565] ASSIGN Base[9], ['']
[580] PUSHTYPE 16(UnicodeString) // 10
[585] ASSIGN Base[10], ['']
[600] PUSHTYPE 16(UnicodeString) // 11
[605] PUSHTYPE 19(WideString) // 12
[610] PUSHTYPE 16(UnicodeString) // 13
[615] PUSHTYPE 10(S32) // 14
[620] ASSIGN Base[14], Base[4]
[631] PUSHVAR Base[13] // 15
[637] CALL 200 (INTTOSTR)
[642] POP // 14
[643] POP // 13
[644] ASSIGN Base[12], Base[13]
[655] POP // 12
[656] CALC Base[12] + [' (']
[674] PUSHTYPE 16(UnicodeString) // 13
[679] PUSHTYPE 10(S32) // 14
[684] ASSIGN Base[14], Base[5]
[695] PUSHVAR Base[13] // 15
[701] CALL 200 (INTTOSTR)
[706] POP // 14
[707] POP // 13
[708] CALC Base[12] + Base[13]
[720] POP // 12
[721] CALC Base[12] + [#41]
[734] ASSIGN Base[11], Base[12]
[745] POP // 11
[746] PUSHVAR Base[6] // 12
[752] CALL 238 (ERRORMSGBOX)
[757] POP // 11
[758] POP // 10
[759] POP // 9
[760] POP // 8
[761] POP // 7
[762] POP // 6
[763] PUSHTYPE 26(U8) // 7
[768] COMPARE into Base[7]: [2] = Base[6]
[789] COND_NOT_GOTO currpos + 10 Base[7] [809]
[799] CALL 181 (ABORT)
[804] GOTO currpos + 97 [906]
[809] COMPARE into Base[7]: [4] = Base[6]
[830] COND_NOT_GOTO currpos + 66 Base[7] [906]
[840] PUSHTYPE 10(S32) // 8
[845] ASSIGN Base[8], GlobalVar[109]
[856] CALL 327 (SETPROGRESS)
[861] POP // 7
[862] PUSHTYPE 10(S32) // 8
[867] ASSIGN Base[8], Base[-2]
[878] PUSHTYPE 16(UnicodeString) // 9
[883] ASSIGN Base[9], Base[-1]
[894] CALL 508 (INJECT)
[899] POP // 8
[900] POP // 7
[901] GOTO currpos + 0 [906]
[906] POP // 6
[907] POP // 5
[908] PUSHTYPE 26(U8) // 6
[913] PUSHTYPE 26(U8) // 7
[918] ASSIGN Base[7], [1]
[930] PUSHTYPE 26(U8) // 8
[935] ASSIGN Base[8], [1]
[947] PUSHTYPE 26(U8) // 9
[952] ASSIGN Base[9], [1]
[964] PUSHTYPE 16(UnicodeString) // 10
[969] ASSIGN Base[10], Base[1]
[980] PUSHVAR Base[6] // 11
[986] CALL 179 (DELTREE)
[991] POP // 10
[992] POP // 9
[993] POP // 8
[994] POP // 7
[995] POP // 6
[996] POP // 5
[997] PUSHTYPE 10(S32) // 6
[1002] ASSIGN Base[6], GlobalVar[109]
[1013] CALC Base[6] + Base[-2]
[1025] CALL 327 (SETPROGRESS)
[1030] POP // 5
[1031] RET
............
............
Proc [520] Export: CURSTEPCHANGED -1 @126
..............
...............
[938] PUSHTYPE 10(S32) // 2
[943] ASSIGN Base[2], [20]
[958] PUSHTYPE 16(UnicodeString) // 3
[963] ASSIGN Base[3], ['{app}\portal2\pak01_008.vpk']
[1005] CALL 508 (INJECT)
[1010] POP // 2
[1011] POP // 1
[1012] PUSHTYPE 10(S32) // 2
[1017] ASSIGN Base[2], [20]
[1032] PUSHTYPE 16(UnicodeString) // 3
[1037] ASSIGN Base[3], ['{app}\portal2\pak01_009.vpk']
[1079] CALL 508 (INJECT)
[1084] POP // 2
[1085] POP // 1
[1086] PUSHTYPE 10(S32) // 2
[1091] ASSIGN Base[2], [20]
[1106] PUSHTYPE 16(UnicodeString) // 3
[1111] ASSIGN Base[3], ['{app}\portal2\pak01_010.vpk']
[1153] CALL 508 (INJECT)
................
..................
[/more] видно
Автор: ALExey1995
Дата сообщения: 16.10.2011 00:57
kalpak

Цитата:
что то добавляется



Цитата:
xdelta3

Автор: kalpak
Дата сообщения: 16.10.2011 10:27
ALExey1995
нет, вот тут же видно


Код: [938] PUSHTYPE 10(S32) // 2
[943] ASSIGN Base[2], [20]
[958] PUSHTYPE 16(UnicodeString) // 3
[963] ASSIGN Base[3], ['{app}\portal2\pak01_008.vpk']
[1005] CALL 508 (INJECT)
Автор: LinkOFF27
Дата сообщения: 21.10.2011 21:30
Всем добрый вечер.У меня такая проблема:
Есть игровой архив, и я не могу его нормально сжать.Весит сам архив 5.09 Gb, а получившийся - 4.66Gb.Сжимал я FreeArc'ом с параметром -mx -ld512m.Чем мне можно сжать этот файл?
Автор: KillTimer
Дата сообщения: 21.10.2011 21:37
LinkOFF27

Цитата:
Чем мне можно сжать этот файл?

FreeArc'ом
Что за архив, от какой игры? Может есть смысл пройтись precomp'ом, rep'ом/srep'ом.
Автор: LinkOFF27
Дата сообщения: 21.10.2011 21:40

Цитата:
FreeArc'ом

Так я и FreeArc'ом и сжимал.

Цитата:
Может есть смысл пройтись precomp'ом, rep'ом/srep'ом.

а ты мне не подскажешь параметры для srep'a или precomp'a?(Вообще я постоянно жму FreeArc'om и не увлекался ими)
Автор: LinkOFF27
Дата сообщения: 25.10.2011 16:27
Доброго времени суток.Объясните пожалуйста как пользоваться precomp'ом 0.4.2?Заранее благодарен.
Автор: R3Pa4eK
Дата сообщения: 25.10.2011 16:34
LinkOFF27
Создай батник, напиши в нем следующее:
precomp042.exe
pause
и смотри параметры. Не знаешь англ. - гугл в помощь

Еще [more=тут]
Only common switches are shown by default. This switch will display a long and detailed help. -o[filename]:

Specifies the output file name. For precompression, default is the original file name with extension .pcf, for restoring the original file, it is the original file name. If the output file exists, you will be asked if you want to overwrite it. Nevertheless, you can specify a different output file name with this option.

-c[bn]: (Comfort: Compression_Method)

The first step that Precomp does is to decompress all the streams in the input file. The output is either directly compressed using bZip2 ("-cb", default setting) or left as it is ("-cn"), i.e. if an external compressor is to be used.

-zl: (Comfort: zLib_Levels)

After precompressing a file with Precomp, it tells you how to use this parameter to speed up the precompression the next time you precompress this file. These are one or more two-digit numbers. The first digit is the compression level, the second digit is the memory settings which are tried on this file. However, using this on a different file could lead to Precomp missing some compressed parts of it.

-t: (Comfort: Compression_Types)

Enables or disables detecting of certain compression types. For command-line use, there are two variants:
t+ enables certain types and disables the others, while t- disables certain types and enables the rest.
Using -t-j for example disables JPEG recompression and leaves all other types as before, using -t+pf enables only PDF and GIF precompression, disabling everything else.

-d: (Comfort: Maximal_Recursion_Depth)

Sets the maximal recursion depth. Several streams can contain additional streams inside, for example ZIP or MIME Base64 streams. This switch specifies the maximum depth up to which Precomp will look for streams. Setting this to 0 disables recursion, the default is 10 which should be enough for most filetypes.

-f: (Comfort: Fast_Mode)

Fast mode to speed up Precomp. This switch will treat any stream like the first validated one and not test any other compression methods. This will work fine on files that use only a few compression methods, but will result in weaker compression for files with many compression methods used. Good candidates are PDF and ZIP/JAR/GZ files. Bad candidates are archives containing many different files.
With fast mode turned off, Precomp will display a message after precompression in case only one level combination was applied to the input file. This means that fast mode will do absolutely the same on this file, but faster.

-intense: (Comfort: Intense_Mode)

Intense mode will slow down Precomp much. It looks for raw zLib headers, and recognizes more file formats like SIS and SWF or special formats used only for one single program. However, the zLib header consists of only 2 bytes, so there can be many false-detected streams that aren't zLib streams but are treated like those, which results in a slower and more instable behaviour.
Intense mode can be combined with fast mode, but it could happen that a false-detected stream is the first stream and prevents further real streams to be detected, so combine them with caution. Use this mode if you have files that use zLib compression but are not supported in normal mode (SIS, SWF, ISO files...).

-brute: (Comfort: Brute_Mode)

Brute mode will slow down Precomp extremely. It assumes that there could be zLib streams without headers everywhere. This even recognizes most exotic file formats that don't include zLib headers but will take very much time (more than a minute even for filesizes around 10 KB). If you should have data that has to be processed with this mode, better try to add zLib headers on your own.
Brute mode can be combined with fast mode, but disables intense mode.

-pdfbmp[+-]: (Comfort: PDF_BMP_Mode)

This precedes PDF images with a BMP header to improve compression and speed, especially for PAQ.

-progonly[+-]: (Comfort: JPG_progressive_only)

Recompresses progressive JPGs only. Again, this is especially useful for PAQ which usually has a better JPG compression than packJPG, but lacks progressive JPG support.

-mjpeg[+-]: (Comfort: MJPEG_recompression)

Enables MJPEG recompression by inserting huffman tables into the JPG data.

-v: (Comfort: Verbose)

Verbose (debug) mode to gain additional information about detected streams and recompression success/failure. If you want a file with these informations, forward the output to it, like this: "precomp -v input_filename > verbose.txt".

-i: (Comfort: Ignore_Positions)

In verbose mode, you can see the position of streams in the file. With this parameter, you can ignore certain streams.

-s: (Comfort: Minimal_Size)

With this parameter, you can choose the minimal size of a stream that will be processed. The default is 4 bytes. Setting it to higher values (around 50-200 bytes) sometimes improves recompression, especially in intense or brute mode.
[/more]
Автор: Spate
Дата сообщения: 25.10.2011 23:04
R3Pa4eK

Цитата:
Создай батник, напиши в нем следующее:
precomp042.exe
pause
и смотри параметры.

Хороший совет, особенно учитывая то, что стандартное имя исполняемого файла прекомпа "precomp.exe".
LinkOFF27

Цитата:
как пользоваться precomp'ом 0.4.2

Запускать с параметром "-c- имяигровогоархива". Если размер увеличится незначительно, можно добавить параметр -intense.
Например: precomp.exe -c- -intense имяигровогоархива
Автор: LinkOFF27
Дата сообщения: 28.10.2011 14:55
Здравствуйте!Почему когда я запускаю батник опперация доходит примерно до 40-50% и стоит на одном месте?
Автор: bax77
Дата сообщения: 28.10.2011 18:12
Подскажите а какой Precomp лучше 0.38?0.40?0.41?
Автор: LinkOFF27
Дата сообщения: 30.10.2011 12:29
Почему в скрипте Isdone я задаю для распаковки precomp'a файл cas_01.cas а он распаковывает data1 без расширения?
Автор: bax77
Дата сообщения: 31.10.2011 12:47
if not ISPrecompExtract( 0, 0, ExpandConstant('{app}\cas_01.cas'), ExpandConstant('{app}\cas_01.cas'), true ) then break;

Добавлено:
Вот так у тебя должно быть!
Автор: THE GUILTY GOD
Дата сообщения: 07.11.2011 14:41
Приветствую всех.
Подскажите что написать в батнике что бы 7z упаковал файлы CoD MW бит в бит, а то я не могу догнять, всё время получается файлы меньше.
Спасибо.
Автор: V2driver
Дата сообщения: 07.11.2011 15:03
THE GUILTY GOD
Это не возможно!
Автор: THE GUILTY GOD
Дата сообщения: 07.11.2011 15:05
V2driver
А если файлы не совпадают по размеру с оригиналами, то игра запустится!??

Добавлено:
[more]
@echo off
cls
color 0F

rename ".\dcc.a" "7za.exe"
rename ".\dcc.c" "oggdec.exe"
rename ".\dcc.d" "packjpg_dll.dll"
rename ".\dcc.e" "precomp.exe"

title Modern Warfare 2 RUS Rip v3 - [Unpacking "iw_snd"...] - Step 1/6


7za x .\main\iw_snd.dcc -o.\main
del .\main\iw_snd.dcc

cls

title Modern Warfare 2 RUS Rip v3 - [Unpacking "iw_loc_rus"...] - Step 2/6


7za x .\main\iw_loc_rus.dcc -o.\main
del .\main\iw_loc_rus.dcc

cls

title Modern Warfare 2 RUS Rip v3 - [Decoding "audio"...] - Step 3/6

for /R %%i in (*.ogg) do oggdec.exe "%%i"

del /s /q ".\*.ogg"

title Modern Warfare 2 RUS Rip v3 - [Rebuilding "iw_loc_rus"...] - Step 4/6

7za a -tzip .\main\localized_english_iw00.iwd ".\main\localized_english_iw00\*"
rmdir /s /q ".\main\localized_english_iw00\"
7za a -tzip .\main\localized_english_iw01.iwd ".\main\localized_english_iw01\*"
rmdir /s /q ".\main\localized_english_iw01\"

title Modern Warfare 2 RUS Rip v3 - [Rebuilding "iw_snd"...] - Step 5/6

7za a -tzip .\main\localized_english_iw02.iwd ".\main\localized_english_iw02\*"
rmdir /s /q ".\main\localized_english_iw02\"
7za a -tzip .\main\localized_english_iw03.iwd ".\main\localized_english_iw03\*"
rmdir /s /q ".\main\localized_english_iw03\"
7za a -tzip .\main\localized_english_iw04.iwd ".\main\localized_english_iw04\*"
rmdir /s /q ".\main\localized_english_iw04\"

cls

title Modern Warfare 2 RUS Rip v3 - [Unpacking "iw_main"...] - Step 6/6

7za x .\main\iw_00.dcc -o.\main
del .\main\iw_00.dcc
precomp -omain\iw_00.iwd -r main\iw_00.pcf
del .\main\iw_00.pcf

7za x .\main\iw_01.dcc -o.\main
del .\main\iw_01.dcc
precomp -omain\iw_01.iwd -r main\iw_01.pcf
del .\main\iw_01.pcf

7za x .\main\iw_02.dcc -o.\main
del .\main\iw_02.dcc
precomp -omain\iw_02.iwd -r main\iw_02.pcf
del .\main\iw_02.pcf

7za x .\main\iw_03.dcc -o.\main
del .\main\iw_03.dcc
precomp -omain\iw_03.iwd -r main\iw_03.pcf
del .\main\iw_03.pcf

7za x .\main\iw_04.dcc -o.\main
del .\main\iw_04.dcc
precomp -omain\iw_04.iwd -r main\iw_04.pcf
del .\main\iw_04.pcf

7za x .\main\iw_05.dcc -o.\main
del .\main\iw_05.dcc
precomp -omain\iw_05.iwd -r main\iw_05.pcf
del .\main\iw_05.pcf

7za x .\main\iw_06.dcc -o.\main
del .\main\iw_06.dcc
precomp -omain\iw_06.iwd -r main\iw_06.pcf
del .\main\iw_06.pcf

7za x .\main\iw_07.dcc -o.\main
del .\main\iw_07.dcc
precomp -omain\iw_07.iwd -r main\iw_07.pcf
del .\main\iw_07.pcf

7za x .\main\iw_08.dcc -o.\main
del .\main\iw_08.dcc
precomp -omain\iw_08.iwd -r main\iw_08.pcf
del .\main\iw_08.pcf

7za x .\main\iw_09.dcc -o.\main
del .\main\iw_09.dcc
precomp -omain\iw_09.iwd -r main\iw_09.pcf
del .\main\iw_09.pcf

7za x .\main\iw_10.dcc -o.\main
del .\main\iw_10.dcc
precomp -omain\iw_10.iwd -r main\iw_10.pcf
del .\main\iw_10.pcf

7za x .\main\iw_11.dcc -o.\main
del .\main\iw_11.dcc
precomp -omain\iw_11.iwd -r main\iw_11.pcf
del .\main\iw_11.pcf

7za x .\main\iw_13.dcc -o.\main
del .\main\iw_13.dcc
precomp -omain\iw_13.iwd -r main\iw_13.pcf
del .\main\iw_13.pcf

7za x .\main\iw_22.dcc -o.\main
del .\main\iw_22.dcc
precomp -omain\iw_22.iwd -r main\iw_22.pcf
del .\main\iw_22.pcf

7za x .\main\iw_23.dcc -o.\main
del .\main\iw_23.dcc
precomp -omain\iw_23.iwd -r main\iw_23.pcf
del .\main\iw_23.pcf
[/more]

вот такая хрень у меня была на МВ2, и как то ровно было запаковано, можете объяснить где тут упаковка и написать её отдельно.
Автор: WildGoblin
Дата сообщения: 07.11.2011 17:39
THE GUILTY GOD
Убери пожалуйста под more своё сообщение!
Автор: THE GUILTY GOD
Дата сообщения: 09.11.2011 06:49
V2driver
Говоришь не возможно!
А вот Ultra и Fenixx смогли!
Автор: Stone2010
Дата сообщения: 09.11.2011 14:48
Всем здраствуйте . Как сжать файлы с расширением .iwd ? Я как понял их сначало распаковываешь . Затем сжимаешь . А как обратно запаковать в iwd при установке ?
Автор: LinkOFF27
Дата сообщения: 09.11.2011 14:50
Подскажите пожалуйста чем можно хорошо пережать файлы call of duty - modern warfare?
Автор: LonerDergunov
Дата сообщения: 09.11.2011 15:00

Цитата:
Я как понял их сначало распаковываешь . Затем сжимаешь

А потом запускаешь игру, файлы проверяются, определяется, что они модифицированные, и начинают скачиваться снова


Цитата:
чем можно хорошо пережать файлы call of duty - modern warfare?

Precomp+srep+FreeArc. Всё стандартней некуда.
Автор: THE GUILTY GOD
Дата сообщения: 09.11.2011 16:32
Ну а как тогда были сделаны репаки в которых звук пережат!!
Значит их всё таки можно упаковать обратно.
Автор: V2driver
Дата сообщения: 09.11.2011 17:44
THE GUILTY GOD
Я не говорил что упаковать Вобще не возможно!
Вы хотели бит в бит что не возможно!
Автор: LinkOFF27
Дата сообщения: 09.11.2011 18:54

Цитата:
Вы хотели бит в бит что не возможно!

я полностью согласен

Добавлено:
Как сделать чтоб после установки файлы помещались в архив WinRAR?Ну и после эти файлы удалить
Автор: THE GUILTY GOD
Дата сообщения: 10.11.2011 02:50
Ну а хотя бы не бит в бит, просто как упаковать их максимально приближенно к оригиналу
Напишите пожалуйста.
Автор: zero 414
Дата сообщения: 10.11.2011 08:29

Цитата:
Всем здраствуйте . Как сжать файлы с расширением .iwd ? Я как понял их сначало распаковываешь . Затем сжимаешь . А как обратно запаковать в iwd при установке ?

Можно попробовать распаковать эти архивы, далее добавить распакованные файлы в архив без сжатия с расширением iwd ( только каждый файл в свой архив, т.е если распаковал из iw_00.iwd, то все распакованные оттуда файлы добавляешь в архив без сжатия и называешь его iw_00.iwd, и так с каждым)
и потом можно попробовать srep'ом и freearc'ом посжимать.
Автор: THE GUILTY GOD
Дата сообщения: 10.11.2011 09:42
zero 414
Да это всё фигня.
Вся соль в том что, непонятно как обратно в IWD запаковать, с какими параметрами, здесь народ знает но говорить почему то отказывается. прям такая великая тайна.
Автор: zero 414
Дата сообщения: 10.11.2011 10:05
THE GUILTY GOD

Цитата:
непонятно как обратно в IWD запаковать

Дак я же говорю, добавить в архив без сжатия с расширением iwd.
iwd файлы это обычные zip архивы.

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100

Предыдущая тема: Надстройки IE8


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.