FileForums

FileForums (https://fileforums.com/index.php)
-   Conversion Tutorials (https://fileforums.com/forumdisplay.php?f=55)
-   -   Newbie Question Thread (https://fileforums.com/showthread.php?t=105883)

SergeyVeter 01-03-2026 03:55

Quote:

Originally Posted by KaktoR (Post 509492)
What inno setup script do you use?

I'm still a bit of a scripting whiz. I've tried all the installers from the first page of the DiskSpan GUI, but they probably don't specify how to use it without text documents. I suspect I need to add something like this somewhere in the script:
[Archive1]
Type=Freearc
Source={src}\Name.bin
Output={app}
Disk=1
Password=

KaktoR 01-03-2026 04:45

If you used DiskSpan GUI, there will be created a file called "Records.ini" which is required.

Compile one of the compatible installers and move the compiled Setup.exe to the same folder where the compressed archive BIN files and records.ini file is located.

SergeyVeter 01-03-2026 04:54

Quote:

Originally Posted by KaktoR (Post 509494)
If you used DiskSpan GUI, there will be created a file called "Records.ini" which is required.

Compile one of the compatible installers and move the compiled Setup.exe to the same folder where the compressed archive BIN files and records.ini file is located.

As I understand it, the installer won't work without the records.ini file?

KaktoR 01-03-2026 04:56

Records.ini is required because it stores the information required for the installer to extract the archives.

SergeyVeter 01-03-2026 05:02

Quote:

Originally Posted by KaktoR (Post 509496)
Records.ini is required because it stores the information required for the installer to extract the archives.

I had a question about this: is it possible to write this information into a script, into the installer itself? Sorry, I'm just a crazy aesthete; I prefer it when there's just a bin archive and an installer.))))))))

KaktoR 01-03-2026 05:06

It is possible to include this file in Setup.dll, and for some installers it is even possible to include Setup.dll itself into Setup.exe so you have only Setup.exe + compressed archives.

Setup.dll is a FreeArc archive. You can extract it with FreeArc normally (change DLL extension to ARC).

SergeyVeter 01-03-2026 05:16

Quote:

Originally Posted by KaktoR (Post 509498)
It is possible to include this file in Setup.dll, and for some installers it is even possible to include Setup.dll itself into Setup.exe so you have only Setup.exe + compressed archives.

Setup.dll is a FreeArc archive. You can extract it with FreeArc normally (change DLL extension to ARC).

Thank you very much! I'll look into it and let you know if I have any questions.)

kj911 03-03-2026 08:22

Could someone write a good guide on how to make a CLS filter for FreeArc??

No, I don't mean the "CLS-Generator" solutions, unfortunately they don't work in all many cases.

Now, let's assume we have this:

compressor.c /source code or alternative EXE file/
CLS source code package from FreeArc. + MinGW compiler.

What do we need to modify in the *.c source code during compilation so that, upon receiving a "cls-cmp.dll" file at the end of the process, it works as a DLL with FreeArc, either as an decompressor only or with full functionality, when using the "-mcmp..." switch during compression.

To make things more complicated, let's assume that this is just the syntax (*.c or EXE):

compressor.exe e/d in out

What should we write in "cls.h" or other "simple*.cpp" files?

One possible case is that we will only have a *.dll file, nothing else is needed, it can be used already.

While the other, if only an EXE file is available, how do we "bind" the cls-*.dll file to our file so that the given compressor can work in STDIO mode? (no tmp files are written during operations.) Or do we need to modify the EXE as well? (see: the Razor case.)

USSRCoder 08-03-2026 15:24

Quote:

Originally Posted by kj911 (Post 509518)
Could someone write a good guide on how to make a CLS filter for FreeArc??

No, I don't mean the "CLS-Generator" solutions, unfortunately they don't work in all many cases.

Now, let's assume we have this:

compressor.c /source code or alternative EXE file/
CLS source code package from FreeArc. + MinGW compiler.

What do we need to modify in the *.c source code during compilation so that, upon receiving a "cls-cmp.dll" file at the end of the process, it works as a DLL with FreeArc, either as an decompressor only or with full functionality, when using the "-mcmp..." switch during compression.

To make things more complicated, let's assume that this is just the syntax (*.c or EXE):

compressor.exe e/d in out

What should we write in "cls.h" or other "simple*.cpp" files?

One possible case is that we will only have a *.dll file, nothing else is needed, it can be used already.

While the other, if only an EXE file is available, how do we "bind" the cls-*.dll file to our file so that the given compressor can work in STDIO mode? (no tmp files are written during operations.) Or do we need to modify the EXE as well? (see: the Razor case.)

cls - It's poorly documented, so I went a different route. You'll still have to run a precompressor. So I took the existing source code (Precomp v0.4.7 https://github.com/schnaader/precomp-cpp/) and added my own formats. I'd also be interested in learning about cls filters, but I was able to do it faster using Precomp v0.4.7. If you're working in Pascal, you can do the same with xtool.

The console is probably (!) needed for 32/64 compatibility, no more. You can't it do without temporary files if you're compressing 20GB and you only have 8GB.
(I'm looking at it from the perspective of solid archives. If you're streaming data, the console will help you get rid of temporary files.)

FarhanFaudTahix 10-03-2026 02:00

hi is there any way to unpack lolz archives from cli without using the cls plugins. thanks

wrathma 10-03-2026 02:33

^^
to decompress lolz archive you can use cls_lolz_x64.exe directly without cls dll. if youre trying to unpack fitgirl archives this is how you do it.

Code:

[External compressor:magic2]
header    = 0
unpackcmd  = "cls-magic2_x64" d $$arcpackedfile$$.tmp $$arcdatafile$$.tmp

same goes for unpacking any other version of lolz without cls dll. this uses stdin/out. if you want to unpack from file you have to something like this.

Code:

cls_lolz_x64.exe d < "compressed_data.lolz" > "unpacked_output"

FarhanFaudTahix 10-03-2026 06:04

Quote:

Originally Posted by wrathma (Post 509555)
^^
to decompress lolz archive you can use cls_lolz_x64.exe directly without cls dll. if youre trying to unpack fitgirl archives this is how you do it.

Code:

[External compressor:magic2]
header    = 0
unpackcmd  = "cls-magic2_x64" d $$arcpackedfile$$.tmp $$arcdatafile$$.tmp

same goes for unpacking any other version of lolz without cls dll. this uses stdin/out. if you want to unpack from file you have to something like this.

Code:

cls_lolz_x64.exe d < "compressed_data.lolz" > "unpacked_output"

thanks for your help but i am still having the same issue while unpacking. it shows cls read mapping error. can you help?

wrathma 10-03-2026 06:43

Quote:

Originally Posted by FarhanFaudTahix (Post 509558)
thanks for your help but i am still having the same issue while unpacking. it shows cls read mapping error. can you help?

have you removed the original cls dll ?

wareck 10-03-2026 20:49

you must have admin right to unpack, that's why you have error mapping.
Open command with administrator level

SergeyVeter 11-03-2026 01:57

Quote:

Originally Posted by KaktoR (Post 509498)
It is possible to include this file in Setup.dll, and for some installers it is even possible to include Setup.dll itself into Setup.exe so you have only Setup.exe + compressed archives.

Setup.dll is a FreeArc archive. You can extract it with FreeArc normally (change DLL extension to ARC).

Thank you, it worked!

SergeyVeter 12-03-2026 06:59

KaktoR help)
 
Quote:

Originally Posted by KaktoR (Post 509498)
It is possible to include this file in Setup.dll, and for some installers it is even possible to include Setup.dll itself into Setup.exe so you have only Setup.exe + compressed archives.

Setup.dll is a FreeArc archive. You can extract it with FreeArc normally (change DLL extension to ARC).

Hi KaktoR! Could you please tell me which script I can use to maximize the compression of Cyberpunk 2077 using DiskSpan? I also have an idea. Do you think it would work? I want to combine two different versions of the game (2.13 and 1.63) into a single archive. Do you think the file size will be smaller that way?

wrathma 13-03-2026 16:32

Quote:

Originally Posted by SergeyVeter (Post 509577)
Hi KaktoR! Could you please tell me which script I can use to maximize the compression of Cyberpunk 2077 using DiskSpan? I also have an idea. Do you think it would work? I want to combine two different versions of the game (2.13 and 1.63) into a single archive. Do you think the file size will be smaller that way?

use this xtool config to decompress game data and compress them with srep+lolz to maximize compression.

merging two different version of a game into a single archive is not a good idea. you shouldnt even compress all game data into a single archive, rather split the files up into multiple folder according to datatype and compress those folders individually using best methods for that datatype. or use arc.groups.

Dunnowho69 13-03-2026 20:23

https://rootz.so/d/iZDH6

Can someone help me with which oodle lib to use with this....it's from doom the dark ages

KaktoR 13-03-2026 20:57

Quote:

Originally Posted by Dunnowho69 (Post 509585)
https://rootz.so/d/iZDH6

Can someone help me with which oodle lib to use with this....it's from doom the dark ages

Code:

Library loaded: v2.9.10\oo2core_9_win64_2.dll

Streams: 1573 / 1576
Time: 00:00:12 (CPU 00:01:00)

Size: 76,6 MB >> 134 MB


SergeyVeter 14-03-2026 01:15

Quote:

Originally Posted by wrathma (Post 509583)
use this xtool config to decompress game data and compress them with srep+lolz or srep+rzs to maximize compression.

merging two different version of a game into a single archive is not a good idea. you shouldnt even compress all game data into a single archive, rather split the files up into multiple folder according to datatype and compress those folders individually using best methods for that datatype. or use arc.groups.

Thanks, but I'm already trying it, the experiment itself is interesting)

KaktoR 14-03-2026 07:21

srep should still find many duplicates. Just try it out on a single archive file

SergeyVeter 15-03-2026 04:47

Quote:

Originally Posted by KaktoR (Post 509591)
srep should still find many duplicates. Just try it out on a single archive file

That's what I did. It took 26 hours, but it was worth it. I used two versions of GOG (1.63 and 2.31), one language, no bonuses and in the 2.31 version, I replaced the original videos with the ones not re-encoded from Nexus (2GB instead of 12GB). The total size was 138GB, compressed to 63GB. I'm more than happy with the result; the archive is going into my collection! 🔥🔥🔥

Overall input size: 138,78 GB
Overall output size: 63,19 GB (Ratio 45.53%)
Overall conversion time: 26:36:52

As for installation time, I'll report back later; I'm currently installing it!

UDT: Installation time: 2:52 (R7 5700X, 16Gb)

FarhanFaudTahix 16-03-2026 10:32

hello can anyone provide me with the exe version of bpk

Masquerade 16-03-2026 10:49

1 Attachment(s)
bpk

Razer-785 22-03-2026 10:51

Hello i have multiple questions for Diskspan GUI 2.0.2.4

1. Is SREP-4.90G stable/reliable? -i know it says wip but still I'm still curious.

2. Whats the difference between cls-new and cls-old

3. Is there a way to make msc_tak use more then 4 threads

4. Whats the best settings for all-around use, i know that technically does not exist and that you need to use custom settings for each game.

For now i have been using:"xtool:o:mzlib+msc_tak+srep_new:490g+LOLZ_UL TRA" with descent results but i want to hear what you guys think.

Thanks.

KaktoR 22-03-2026 12:16

1. It should be. The goal is to have as many options as possible.

2. Same as 1.

3. No. MSC can only use 4 threads max.

4. Depends on the algo a game is using. Nowadays most games - especially UE5 slop - using oodle kraken/mermaid.

The ":o" parameter is optimizing decode for oodle and zstd algos. The ratio stays the same. Honestly I didn't tested it much.

kj911 22-03-2026 16:12

Quote:

Originally Posted by KaktoR (Post 509657)
3. No. MSC can only use 4 threads max.

Hexediting tricks from MSC.exe file, not solve it?? In last TAK use max. 8 threads.

Razer-785 22-03-2026 17:17

Quote:

Originally Posted by kj911 (Post 509658)
Hexediting tricks from MSC.exe file, not solve it?? In last TAK use max. 8 threads.

Can you explain how to do that?

wrathma 23-03-2026 22:06

is there any reason to use zstdrec and oo2rec instead of xtool -mzstd and xtool -mkraken or anything.
when i was testing on a 500 mb sample file from no mans sky (zstd) and silent hill f (kraken+mermaid) i saw xtool decompressed more data than zstdrec or oo2rec and is much faster.

KaktoR 24-03-2026 06:50

There are some cases where oo2rec is better then xtool but takes a bit longer.

wrathma 28-03-2026 03:41

is there any way to unpack two freearc archives in parallel using a installer. im using IsArcEx with this setup script.
lets say i have 4 archive and. the first one is the big one (10gb) which takes a lot of time to unpack and cpu has a little room to unpack other archives. archive 2-4 is light on cpu takes less than 2 mins to extract. so while archive 1 is unpacking i want to unpack archive 2-4 one by one in parallel with it. my current unpack implementation is here (i have very little knowledge on pascal it was mostly copied from IsArcEx example).
Code:

if ISArcDiskAddingSuccess and ISArcExInitEx(MainForm.Handle, 1, @ProgressCallback) then
    begin
      repeat
        ISArcExReduceCalcAccuracy(1);
        ISArcExChangeLanguage('English');
        for i := 1 to ISArcExDiskCount do
        begin
          ISArcExError := not ISArcExExtract(i, ExpandConstant('{tmp}\Arc.ini'), ExpandConstant('{app}'));
          if ISArcExError then break;
        end;
      until true;
     
      ISArcExStop;
    end

in my case the bigger files always go first, so ISArcExDiscCount 1 is always the big file. i want to keep it running on one thread and on another thread i want to run extraction of archive 2-4.

SergeyVeter 29-03-2026 04:15

Hi friends, please tell me how to compress the game Eriksholm: The Stolen Dream on DS as much as possible?

Dunnowho69 01-04-2026 01:36

Does bcm work on webm videos ?

KaktoR 01-04-2026 07:13

I don't think so. Why not just test it?

Make a dataset with webm videos.

Try srep+bcm and srep+lzma

I think bcm is only suitable for Criwave USM videos if you don't want to recode anything.

Dunnowho69 01-04-2026 10:10

Quote:

Originally Posted by KaktoR (Post 509725)
I don't think so. Why not just test it?

Make a dataset with webm videos.

Try srep+bcm and srep+lzma

I think bcm is only suitable for Criwave USM videos if you don't want to recode anything.

Yeah didn't work :(

wareck 01-04-2026 12:22

yes bcm do not work to compress webm itself ...
it's not made for that
But if you try this :
-srep
-srep+bcm
-srep+razor
-srep-LZMA-MT
-srep+xz
-srep+bzip3

most of the time it's bcm win.

in most of case I use srep+bcm or srep+bzip3 or srep+LZMA for compress avi/webm new bk2 or incompressible data
it's not a very huge gain like 98 to 96% but it's better than nothing...

Dunnowho69 01-04-2026 13:01

Quote:

Originally Posted by wareck (Post 509730)
yes bcm do not work to compress webm itself ...
it's not made for that
But if you try this :
-srep
-srep+bcm
-srep+razor
-srep-LZMA-MT
-srep+xz
-srep+bzip3

most of the time it's bcm win.

in most of case I use srep+bcm or srep+bzip3 or srep+LZMA for compress avi/webm new bk2 or incompressible data
it's not a very huge gain like 98 to 96% but it's better than nothing...

Thanks for the info, will try them one by one

kj911 05-04-2026 02:09

What about "LOLZ" under Linux? Does Wine or other Windows emulator work on this system, with (de)compression?

Masquerade 05-04-2026 03:30

^^
lolz works fine under wine in linux.

hwang4 06-04-2026 03:29

Need a tuto for compressing bk2 & bik files using binkpack ! :)


All times are GMT -7. The time now is 06:37.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2026, vBulletin Solutions Inc.
FileForums @ https://fileforums.com