FileForums

FileForums (https://fileforums.com/index.php)
-   Conversion Tutorials (https://fileforums.com/forumdisplay.php?f=55)
-   -   Universal Accelerator - cls-mtx.dll (https://fileforums.com/showthread.php?t=103664)

BLACKFIRE69 10-07-2020 02:54

Universal Accelerator - cls-mtx.dll
 
1 Attachment(s)
Universal Accelerator - cls-mtx 2.0.0.7



A CLS library for speeding up some kind of tool.

https://i.imgur.com/n1D4HE6.png


Usage:
mtx:<Chunk_size>:<# of Threads>:<Compression_Method>

Example:
Code:

arc.exe a -ep1 -r -ed -s; -w.\temp -mmtx:c64m:t4:precomp Packed\Data0.bf "Pack0\*"

arc.exe a -ep1 -r -ed -s; -w.\temp -mmtx:c64m:t4:precomp+srep Packed\Data1.bf "Pack1\*"

arc.exe a -ep1 -r -ed -s; -w.\temp -mmtx:c64m:t4:bcm Packed\Data2.bf "Pack2\*"

arc.exe a -ep1 -r -ed -s; -w.\temp -mmtx:c64m:t4:bsc Packed\Data3.bf "Pack3\*"

arc.exe a -ep1 -r -ed -s; -w.\temp -mmtx:c64m:t4:mpz Packed\Data4.bf "Pack4\*"

arc.exe a -ep1 -r -ed -s; -w.\temp -mmtx:c64m:t4:rz Packed\Data5.bf "Pack5\*"

arc.exe a -ep1 -r -ed -s; -w.\temp -mmtx:c128m:t4:mcm Packed\Data6.bf "Pack6\*"

or  Number of Threads as a percentage (v2.0.0.2)

arc.exe a -ep1 -r -ed -s; -w.\temp -mmtx:c64m:t75p:precomp Packed\Data0.bf "Pack0\*"

Arc.ini
Code:

[External compressor:rz64, mtxrz, mtx_rz]
header    = 0
packcmd  = "Res\Rz Compressor\rz64.exe" a -d 128m $$arcpackedfile$$.tmp $$arcdatafile$$.tmp
unpackcmd = "Res\Rz Compressor\rz64.exe" e -y $$arcpackedfile$$.tmp $$arcdatafile$$.tmp

[External compressor:bcm, mtx_bcm, mtxbcm]
header    = 0
packcmd  = "Res\Bcm Compressor\bcm.exe" -9 $$arcdatafile$$.tmp $$arcpackedfile$$.tmp
unpackcmd = "Res\Bcm Compressor\bcm.exe" -d $$arcpackedfile$$.tmp $$arcdatafile$$.tmp

[External compressor:bsc, mtxbsc, mtx_bsc]
header    = 0
packcmd  = Res\Bsc\bsc.exe e $$arcdatafile$$.tmp $$arcpackedfile$$.tmp -b64 -e2 -cf
unpackcmd = Res\Bsc\bsc.exe d $$arcpackedfile$$.tmp $$arcdatafile$$.tmp

[External compressor:precomp, mtxprecomp, mtx_precomp]
header    = 0
packcmd  = Res\Precomp\precomp.exe -cn -intense0 -o$$arcpackedfile$$.tmp $$arcdatafile$$.tmp
unpackcmd = Res\Precomp\precomp.exe -r -o$$arcdatafile$$.tmp $$arcpackedfile$$.tmp

[External compressor:mpz, mtxmpz, mtx_mpz]
header    = 0
packcmd  = Res\Mpz\mpz.exe c <stdin> <stdout>
unpackcmd = Res\Mpz\mpz.exe d <stdin> <stdout>

[External compressor:mcm, mtxmcm, mtx_mcm]
header = 0
packcmd  = Res\Mcm\mcm.exe -x6 $$arcdatafile$$.tmp $$arcpackedfile$$.tmp
unpackcmd = Res\Mcm\mcm.exe d $$arcpackedfile$$.tmp $$arcdatafile$$.tmp

or
Code:

[External compressor:rz64, mtxrz, mtx_rz]
header    = 0
packcmd  = "Res\Rz Compressor\{compressor}" a -d 128m $$arcpackedfile$$.tmp $$arcdatafile$$.tmp
unpackcmd = "Res\Rz Compressor\{compressor}" e -y $$arcpackedfile$$.tmp $$arcdatafile$$.tmp

[External compressor:bcm, mtx_bcm, mtxbcm]
header    = 0
packcmd  = "Res\Bcm Compressor\{compressor}" -9 $$arcdatafile$$.tmp $$arcpackedfile$$.tmp
unpackcmd = "Res\Bcm Compressor\{compressor}" -d $$arcpackedfile$$.tmp $$arcdatafile$$.tmp

[External compressor:bsc, mtxbsc, mtx_bsc]
header    = 0
packcmd  = Res\Bsc\{compressor} e $$arcdatafile$$.tmp $$arcpackedfile$$.tmp -b64 -e2 -cf
unpackcmd = Res\Bsc\{compressor} d $$arcpackedfile$$.tmp $$arcdatafile$$.tmp

[External compressor:precomp, mtxprecomp, mtx_precomp]
header    = 0
packcmd  = Res\Precomp\{compressor} -cn -intense0 -o$$arcpackedfile$$.tmp $$arcdatafile$$.tmp
unpackcmd = Res\Precomp\{compressor} -r -o$$arcdatafile$$.tmp $$arcpackedfile$$.tmp

[External compressor:mpz, mtxmpz, mtx_mpz]
header    = 0
packcmd  = Res\Mpz\{compressor} c <stdin> <stdout>
unpackcmd = Res\Mpz\{compressor} d <stdin> <stdout>

[External compressor:mcm, mtxmcm, mtx_mcm]
header = 0
packcmd  = Res\Mcm\{compressor} -x6 $$arcdatafile$$.tmp $$arcpackedfile$$.tmp
unpackcmd = Res\Mcm\{compressor} d $$arcpackedfile$$.tmp $$arcdatafile$$.tmp


* cls-mtx supports two methods.

Code:

1: The simple way

[External compressor:precomp, mtxprecomp, mtx_precomp]
header    = 0
packcmd  = "Res\Precomp\precomp.exe" -cn -intense0 -o$$arcpackedfile$$.tmp $$arcdatafile$$.tmp
unpackcmd = "Res\Precomp\precomp.exe" -r -o$$arcdatafile$$.tmp $$arcpackedfile$$.tmp


Code:

2: Alternative method

[External compressor:precomp, mtxprecomp, mtx_precomp]
header    = 0
packcmd  = "Res\Precomp\{compressor}" -cn -intense0 -o$$arcpackedfile$$.tmp $$arcdatafile$$.tmp
unpackcmd = "Res\Precomp\{compressor}" -r -o$$arcdatafile$$.tmp $$arcpackedfile$$.tmp


and the exe name must be "precomp.exe" (similar to the first one in section names.)



For Compression:
arc.ini
cls-mtx.dll


For Decompression:
cls.ini
arc.ini
cls-mtx.dll



More About cls-mtx.dll v.2.0.0.5 Update
More About cls-mtx.dll v.2.0.0.6 Update
More About cls-mtx.dll v.2.0.0.6 Update - New
More About cls-mtx.dll v.2.0.0.7 Update


Testing:

https://i.imgur.com/lR1WdaZ.png

Razor12911 10-07-2020 16:25

1 Attachment(s)
:cool:

Attachment 27385

darkwolves 10-07-2020 22:58

another one? lol

BLACKFIRE69 11-07-2020 07:51

Universal Accelerator - cls-mtx.dll 2
 
Universal Accelerator - cls-mtx.dll 2 - New Update

cls-mtx.dll - update 2

what's new:
  • cls-mtx is re-coded.
  • Fixed some bugs for Razor Archive.
  • Optimized some performance.


ckeck the first post....

BLACKFIRE69 13-07-2020 08:02

cls-mtx New Example Script
 
2 Attachment(s)
cls-mtx New Example Script

L0v3craft 15-07-2020 08:22

Hi BLACKFIRE69. For razor only is more stable this tools or razorx? I want use the more stable tool (and bug free), thanks.

BLACKFIRE69 15-07-2020 10:15

Quote:

Originally Posted by L0v3craft (Post 486829)
Hi BLACKFIRE69. For razor only is more stable this tools or razorx? I want use the more stable tool (and bug free), thanks.

@L0v3craft, both are stable. cls-mtx is the latest. you can use this instead of razorx. ;)

L0v3craft 16-07-2020 01:58

Quote:

Originally Posted by BLACKFIRE69 (Post 486830)
@L0v3craft, both are stable. cls-mtx is the latest. you can use this instead of razorx. ;)

This one has the same limitation of razorx that we can't use for decompression a number of threads higher that the threads used for compression?

BLACKFIRE69 16-07-2020 03:51

Quote:

Originally Posted by L0v3craft (Post 486836)
This one has the same limitation of razorx that we can't use for decompression a number of threads higher that the threads used for compression?

yes, the number of threads for decompression should be the same or less than that used in compression.

ex:
Compression: Threads = 8
Decompression: Threads = 8, 4 , 2 ….

BLACKFIRE69 16-07-2020 20:36

cls-mtx renaming
 
it's possible that rename "mtx" to another file name.

ex:
  • cls-mtx.dll --> cls-rzx.dll
  • cls-mtx.dll --> cls-precompx.dll

file renaming must have both compression and decompression. and Pack.bat should be changed as follows.

ex:
Code:

arc.exe a -ep1 -r -ed -s; -w.\temp -m=mtx:c64m:t4:precomp+srep _Packed0\Data1.bf "Pack1\*"

change to

arc.exe a -ep1 -r -ed -s; -w.\temp -m=precompx:c64m:t4:precomp+srep _Packed0\Data1.bf "Pack1\*"


Code:

arc.exe a -ep1 -r -ed -s; -w.\temp -m=mtx:c64m:t4:rz _Packed0\Data1.bf "Pack1\*"

change to

arc.exe a -ep1 -r -ed -s; -w.\temp -m=rzx:c64m:t4:rz _Packed0\Data1.bf "Pack1\*"


dixen 16-07-2020 22:10

Hmm..In my pack.bat

Quote:

Compressing 2 files, 178,957,280 bytes
Compressing road_beach_tracks_45_3_3.dds
0%cls-mtx
Unknown compression method: rz
0%

Compressing road_concrete_stripes_new_3_2.dds
Compressed 2 files, 178,957,280 => 40 bytes. Ratio 0.00%
Compression time: cpu 0.20 sec/real 8.28 sec = 2%. Speed 21.62 mB/s
All OK
rename cls not help
In .bat from topic - all work

Masquerade 16-07-2020 23:13

Quote:

Originally Posted by dixen (Post 486851)
Hmm..In my pack.bat

rename cls not help
In .bat from topic - all work

This happens for me too, the bat has to be executed from the same folder as arc.exe + cls-mtx.dll otherwise you get the unknown method error.

BLACKFIRE69 17-07-2020 00:09

cls-mtx explanation
 
guys, arc.exe and cls-mtx.dll must be in the same folder. it's not from me, it's from the FreeArc. :rolleyes:

BLACKFIRE69 17-07-2020 00:36

3 Attachment(s)
Quote:

Originally Posted by dixen (Post 486851)
Hmm..In my pack.bat

rename cls not help
In .bat from topic - all work

@dixen, no you can rename it and, just rename only the cls-mtx.dll file. don't put it in another folder.

Masquerade 18-07-2020 01:23

Quote:

Originally Posted by BLACKFIRE69 (Post 486853)
guys, arc.exe and cls-mtx.dll must be in the same folder. it's not from me, it's from the FreeArc. :rolleyes:

Yes, I already know this.

I have it this way, let me show an example:

Code:

Folder
---------> Binaries
|                    - - - - - - - - ->Arc.exe
|                    - - - - - - - - ->Arc.ini
|                    - - - - - - - - ->cls-mtx.dll
|                    - - - - - - - - ->rz.exe
|                    - - - - - - - - ->Pack.bat
|
----------> Alt
                - - - - - - - - - ->Pack2.bat

Now, Pack2.bat is set to run arc.exe inside the binaries folder:

Code:

@echo off
..\Binaries\Arc a -wTemp -mmtx:c64m:t16:rz (as well as the input output files)

But if we run this, we get uknown method error from mtx.

If we run pack.bat inside the binaries folder, it runs normally. Arc.ini is written correctly. Other cls based compressors like bpk work just fine.

BLACKFIRE69 18-07-2020 06:03

3 Attachment(s)
Quote:

Originally Posted by Masquerade (Post 486886)
Yes, I already know this.

I have it this way, let me show an example:

Code:

Folder
---------> Binaries
|                    - - - - - - - - ->Arc.exe
|                    - - - - - - - - ->Arc.ini
|                    - - - - - - - - ->cls-mtx.dll
|                    - - - - - - - - ->rz.exe
|                    - - - - - - - - ->Pack.bat
|
----------> Alt
                - - - - - - - - - ->Pack2.bat

Now, Pack2.bat is set to run arc.exe inside the binaries folder:

Code:

@echo off
..\Binaries\Arc a -wTemp -mmtx:c64m:t16:rz (as well as the input output files)

But if we run this, we get uknown method error from mtx.

If we run pack.bat inside the binaries folder, it runs normally. Arc.ini is written correctly. Other cls based compressors like bpk work just fine.


@Masquerade,
this may work as expected :rolleyes:

_pack.bat :-

Quote:

@echo off

cd /d "Binaries"
arc.exe a -ep1 -r -ed -s; -w.\temp -m=mtx:c64m:t4:rz ..\Packed\Data5.bf "Pack5\*"

pause&exit

KaktoR 18-07-2020 06:13

Ehm....

Code:

Binaries\arc.exe a -ep1 .....................

Masquerade 18-07-2020 09:26

Quote:

Originally Posted by KaktoR (Post 486904)
Ehm....

Code:

Binaries\arc.exe a -ep1 .....................

The text in my earlier message was just an example, so I didn't inentionally leave out any args - the full command:

Code:

"..\Binaries\arc.exe" a -ep1 -dses --dirs -s; -lc- -di -i2 -r -w.\Temp -m%comp% "%cd%\Out\MASQUERADE-Data_%num%.MSQ" "%cd%\In\%num%\*
If I run the bat file in the alternate folder, I still get the error:

https://anonfiles.com/pdr8I8G9od/Test_7z

Try this, open the bat file and type "00" to select the archive data, then type "mtx:c64m:t16:rz" and watch as you get the unknown method error

BLACKFIRE69 18-07-2020 20:05

4 Attachment(s)
Quote:

Originally Posted by Masquerade (Post 486909)
The text in my earlier message was just an example, so I didn't inentionally leave out any args - the full command:

Code:

"..\Binaries\arc.exe" a -ep1 -dses --dirs -s; -lc- -di -i2 -r -w.\Temp -m%comp% "%cd%\Out\MASQUERADE-Data_%num%.MSQ" "%cd%\In\%num%\*
If I run the bat file in the alternate folder, I still get the error:

https://anonfiles.com/pdr8I8G9od/Test_7z

Try this, open the bat file and type "00" to select the archive data, then type "mtx:c64m:t16:rz" and watch as you get the unknown method error




Code:

@echo off

set /p num=Enter output archive name:
set/p comp= Enter Compression Method:

set "InputDir=%~dp0In"
set "OutputDir=%~dp0Out"

cd /d "C:\Users\BLACKFIRE69\Downloads\Compressed\Test\Binaries"

arc.exe a -ep1 -dses --dirs -s; -lc- -di -i2 -r -w.\Temp -m%comp% "%OutputDir%\MASQUERADE-Data_%num%.MSQ" "%InputDir%\%num%\*"

pause&exit


BLACKFIRE69 18-07-2020 21:54

Universal Accelerator - cls-mtx.dll v.2.0.0.1
 
New Update v.2.0.0.1


what's new,
  • Added the ability to select a number of threads as a percentage.


Compression: Pack.bat

Quote:

arc.exe a -ep1 -r -ed -s; -w.\temp -m=mtx:c64m:t8:precomp Packed\Data0.bf "Pack\*"

or

arc.exe a -ep1 -r -ed -s; -w.\temp -m=mtx:c64m:t100p:precomp Packed\Data0.bf "Pack\*"

Decompression: cls.ini

Quote:

[mtx]
Threads=4

or

[mtx]
Threads=50p

Razor12911 19-07-2020 15:38

Quote:

Originally Posted by BLACKFIRE69 (Post 486918)
Code:

@echo off

set /p num=Enter output archive name:
set/p comp= Enter Compression Method:

set "InputDir=%~dp0In"
set "OutputDir=%~dp0Out"

cd /d "C:\Users\BLACKFIRE69\Downloads\Compressed\Test\Binaries"

arc.exe a -ep1 -dses --dirs -s; -lc- -di -i2 -r -w.\Temp -m%comp% "%OutputDir%\MASQUERADE-Data_%num%.MSQ" "%InputDir%\%num%\*"

pause&exit


I think you made cls without considering that Current directory can change, simple fix is the usage of SetCurrentDir function when your cls launches like this

SetCurrentDir(ExtractFilePath(GetModuleName));

where GetModuleName is
Code:

function GetModuleName: string;
var
  szFileName: array [0 .. MAX_PATH] of char;
begin
  FillChar(szFileName, sizeof(szFileName), #0);
  GetModuleFileName(hInstance, szFileName, MAX_PATH);
  Result := szFileName;
end;

A better fix is directly execute every single exe file with full paths and set the work directory too

BLACKFIRE69 20-07-2020 01:15

Universal Accelerator - cls-mtx.dll v.2.0.0.2
 
1 Attachment(s)
New Update v.2.0.0.2


what's new,
  • Fixed for current directory.
  • Now temporary folder name corresponds to the DLL name. (cls-mpzx.dll --> cls-mpzx_tmp)

Thanks to @Razor12911 , @Masquerade.



Quote:

Originally Posted by Masquerade (Post 486886)

I have it this way, let me show an example:

Code:

Folder
---------> Binaries
|                    - - - - - - - - ->Arc.exe
|                    - - - - - - - - ->Arc.ini
|                    - - - - - - - - ->cls-mtx.dll
|                    - - - - - - - - ->rz.exe
|                    - - - - - - - - ->Pack.bat
|
----------> Alt
                - - - - - - - - - ->Pack2.bat

Now, Pack2.bat is set to run arc.exe inside the binaries folder:

Code:

@echo off
..\Binaries\Arc a -wTemp -mmtx:c64m:t16:rz (as well as the input output files)

But if we run this, we get uknown method error from mtx.

If we run pack.bat inside the binaries folder, it runs normally. Arc.ini is written correctly. Other cls based compressors like bpk work just fine.


Now it is fixed. :D

dixen 20-07-2020 03:22

Well....Add fixed cls-mtx and..

Quote:

FreeArc 0.67 (September 13 2014) creating archive: ..\Packed\Data0.bf
WARNING: no files, erasing empty archive
There were 1 warning(s)
delete cls-mtx.dll
Quote:

ALL OK

BLACKFIRE69 20-07-2020 06:00

2 Attachment(s)
Quote:

Originally Posted by dixen (Post 486950)
Well....Add fixed cls-mtx and..

If there is no "Pack0" folder, this will happen.

Bin\arc.exe a -ep1 -r -ed -s; -w.\temp -m=mtx:c64m:t8:mpz ..\Packed\Data0.bf "Pack0\*"

FreeArc shows an error (warning: no files) if there is no existing folder. so try to change the input.

for my example (v.2.0.0.2), Create a folder named "Pack0" next to the "Bin" folder. Add your files there. and change your input in Pack.bat "Pack0\*" to "..\Pack0\*"

dixen 20-07-2020 07:11

BLACKFIRE69
That's ok))
Quote:

PackEXE\arc.exe a -s; -ep1 -di -i2 -r -ed -w.\Temp -msrep+mtx:c64m:t4:rz K:\DataRZ.dxn ..\PackedData\*.*
And all fine)
Thx)

BLACKFIRE69 21-07-2020 22:11

Universal Accelerator - cls-mtx.dll v.2.0.0.3
 
New Update - cls-mtx.dll v.2.0.0.3


Changes:

✪ Improved the processing speed.
-- some implementations has been changed.

✪ Dll file can be renamed to a another name.
-- cls-mtx.dll --> cls-rzx.dll.

✪ The new update allows tools to be executed from a sub-folder.

Quote:

before
...
packcmd = {compressor} -cn -intense0 -o$$arcpackedfile$$.tmp $$arcdatafile$$.tmp
...

now
...
packcmd = Resources\Precomp\{compressor} -cn -intense0 -o$$arcpackedfile$$.tmp $$arcdatafile$$.tmp
...


✪ Users can use a custom configuration file instead of "arc.ini"
-- If you use a custom configuration file (config0.ini) for compression / decompression commands instead of "arc.ini", the new update will allow you to define that file as the default config file.

-- to define a new config file, (check the example in .rar file)

Quote:

step1:
Create an "ini" file and name it the same as the "dll" file name.
(cls-mtx.dll --> cls-mtx.ini), (cls-rzx.dll --> cls-rzx.ini).

step2:
Add the following section to it.

--------------------------------------------------------------------------
; if dll file is cls-mtx.dll then
[mtx]
cfgFile=config0.ini

--------------------------------------------------------------------------
; if dll file is cls-rzx.dll then
[rzx]
cfgFile=config0.ini
--------------------------------------------------------------------------

✪ The section name of "Cls.ini" should be the same as the file name "dll".

(check the example in .rar file)

Quote:

--------------------------------------------------------------------------
; if dll file is cls-mtx.dll then section name in the cls.ini should be as the same.
[mtx]
Threads=50p

--------------------------------------------------------------------------
; if dll file is cls-rzx.dll then section name in the cls.ini should be as the same.
[rzx]
Threads=4
--------------------------------------------------------------------------

Masquerade 09-09-2020 01:07

Hello BLACKFIRE69, a suggestion for your tool, the ability to change temp path?

e.g.

CLS.INI:

Code:

[mtx]
Threads=100p
Temppath=<insert>

That way in inno setup we can run a line:

Code:

SetIniString('mtx', 'TempPath', ExpandConstant('{app}\'), ExpandConstant('{tmp}\CLS.ini'));
This way the temp path can be set to the actual unpack folder, instead of the {tmp} folder like how it is currently. This is a helpful feature since people may not have much space on their primary system drive, or do not want their system drive to be used during an install.

BLACKFIRE69 09-09-2020 07:35

Quote:

Originally Posted by Masquerade (Post 487830)
Hello BLACKFIRE69, a suggestion for your tool, the ability to change temp path?

e.g.

CLS.INI:

Code:

[mtx]
Threads=100p
Temppath=<insert>

That way in inno setup we can run a line:

Code:

SetIniString('mtx', 'TempPath', ExpandConstant('{app}\'), ExpandConstant('{tmp}\CLS.ini'));
This way the temp path can be set to the actual unpack folder, instead of the {tmp} folder like how it is currently. This is a helpful feature since people may not have much space on their primary system drive, or do not want their system drive to be used during an install.

@Masquerade, i can do that ;)

BLACKFIRE69 09-09-2020 07:45

New Update - cls-mtx.dll v.2.0.0.4
 
New Update - cls-mtx.dll v.2.0.0.4


Changes:

✪ Dll file can be renamed to a another name.
-- cls-mtx.dll --> cls-rzx.dll.

✪ The mtx allows tools to be executed from a sub-folder.

Quote:

before
...
packcmd = {compressor} -cn -intense0 -o$$arcpackedfile$$.tmp $$arcdatafile$$.tmp
...

now
...
packcmd = Resources\Precomp\{compressor} -cn -intense0 -o$$arcpackedfile$$.tmp $$arcdatafile$$.tmp
...


✪ Users can use a custom configuration file instead of "arc.ini"
-- If you use a custom configuration file (config0.ini) for compression / decompression commands instead of "arc.ini", the new update will allow you to define that file as the default config file.

-- to define a new config file, (check the example in .rar file)

Quote:

step1:
Create an "ini" file and name it the same as the "dll" file name.
(cls-mtx.dll --> cls-mtx.ini), (cls-rzx.dll --> cls-rzx.ini).

step2:
Add the following section to it.

--------------------------------------------------------------------------
; if dll file is cls-mtx.dll then
[mtx]
cfgFile=config0.ini

--------------------------------------------------------------------------
; if dll file is cls-rzx.dll then
[rzx]
cfgFile=config0.ini
--------------------------------------------------------------------------

✪ The section name of "Cls.ini" should be the same as the file name "dll".

(check the example in .rar file)

Quote:

--------------------------------------------------------------------------
; if dll file is cls-mtx.dll then section name in the cls.ini should be as the same.
[mtx]
Threads=50p

--------------------------------------------------------------------------
; if dll file is cls-rzx.dll then section name in the cls.ini should be as the same.
[rzx]
Threads=4
--------------------------------------------------------------------------

✪ Now it is possible to change TmpPath in decompression using cls.ini.

Code:

cls.ini

[mtx]
Threads=4
TmpPath=D:\Games\TmpTest


Masquerade 10-09-2020 09:18

@BLACKFIRE69

Thanks for the addition of the tool, however there has not been a change as highlighted in the below image.

https://i.imgur.com/SQ3xieL.png

In the left panel we see my Temp Folder where the CLS-MTX unpack folder.

In CLS.ini we see that the temp path is in my install path, G:\Games\Minecraft Dungeons

There is no unpack folder in the G:\Games\Minecraft Dungeons Folder

BLACKFIRE69 10-09-2020 11:26

Quote:

Originally Posted by Masquerade (Post 487856)
@BLACKFIRE69

Thanks for the addition of the tool, however there has not been a change as highlighted in the below image.

https://i.imgur.com/SQ3xieL.png

In the left panel we see my Temp Folder where the CLS-MTX unpack folder.

In CLS.ini we see that the temp path is in my install path, G:\Games\Minecraft Dungeons

There is no unpack folder in the G:\Games\Minecraft Dungeons Folder


@Masquerade
the slash which is at the end of the line shouldn't be there.

means,
cls.ini

TmpPath=G:\Games\Minecraft Dungeons

Not
TmpPath=G:\Games\Minecraft Dungeons\

because MTX detects it as G:\Games\Minecraft Dungeons\\. so finally he decides , "the TmpPath does not exist..." :cool:

that was my mistake, i'll correct it with another update... ;)

and the other things is, the folder ( G:\Games\Minecraft Dungeons ) must be present when running MTX. because MTX doesn't create a folder other than "CLS-MTX".

just test it with already created folder....

Masquerade 10-09-2020 11:37

Alright, I repaired the code line in my setup, but same problem, mtx folder is created in temp directory.

https://i.imgur.com/7FF4eKA.png

The folder always is created by the setup as decompression begins. Even still in the above example I used oggre in mask so the oggre decompressor works first - so the folder G:\Games\Factorio does definitely exist.

BLACKFIRE69 11-09-2020 06:32

Quote:

Originally Posted by Masquerade (Post 487859)
Alright, I repaired the code line in my setup, but same problem, mtx folder is created in temp directory.

https://i.imgur.com/7FF4eKA.png

The folder always is created by the setup as decompression begins. Even still in the above example I used oggre in mask so the oggre decompressor works first - so the folder G:\Games\Factorio does definitely exist.

ok, I'll take a look.....

the drive G , is it a portable drive?

Masquerade 11-09-2020 08:10

Yes sir, it is a USB3.0 drive plugged into USB3.0 motherboard port.

BLACKFIRE69 12-09-2020 09:07

1 Attachment(s)
Quote:

Originally Posted by Masquerade (Post 487875)
Yes sir, it is a USB3.0 drive plugged into USB3.0 motherboard port.

Masquerade,
i did a few tests. but i never saw that issue.

could you do a little test to figure it out?
ok then follow the steps below... (i'll attach the test files.)



1. compress some files using my compressor and the compression method should be " bcm " only.

2. install "Data0.bf" with my test script. ( remember to never edit the test "Script.iss". )

3. select your USB drive as the installation directory. (F:\ or something).


let's see the results.

Masquerade 12-09-2020 15:13

@BLACKFIRE69

Following your instruction, it works:

https://i.imgur.com/gsSjAVK.png

BLACKFIRE69 12-09-2020 21:21

Quote:

Originally Posted by Masquerade (Post 487898)
@BLACKFIRE69

Following your instruction, it works:

https://i.imgur.com/gsSjAVK.png

cls-mtx.dll that i gave is original (v2.0.0.4), i didn't change anything.

so i think you need to double check your "Script.iss". :D


or you forgot to replace the old "cls-mtx.dll" with the new version (v2.0.0.4). :cool:

BLACKFIRE69 13-09-2020 11:55

mcm
 
  • cls-mtx.dll also supports "mcm".


arc.ini:
Code:

[External compressor:mcm]
header = 0
packcmd  = Resources\Mcm\{compressor} -x6 $$arcdatafile$$.tmp $$arcpackedfile$$.tmp
unpackcmd = Resources\Mcm\{compressor} d $$arcpackedfile$$.tmp $$arcdatafile$$.tmp

Pack.bat
Code:

arc.exe a -ep1 -r -ed -s; -w.\temp -m=srep+mtx:c128m:t100p:mcm "..\Packed\Data0.bf"  "..\Pack0\*"

BLACKFIRE69 13-09-2020 11:57

Next Update
 
any suggestions for the next update of "cls-mtx"? :D

Cesar82 13-09-2020 12:35

Quote:

Originally Posted by BLACKFIRE69 (Post 487929)
any suggestions for the next update of "cls-mtx"? :D

If you are not going to increase the size of your library a lot, even if it does not serve to increase performance, it could include support for all the most used methods that would dispense with the use of other CLS.


Does your cls-mtx.dll library allow me to extract using executables in folders?
I want to include a mode with decompressors in folders in the CIU and I think that the other CLS don't work the way I need.

Creating folder structures as:
Code:

Compressors\PRECOMP\<precomp files>
Compressors\MPZAPI\<mpz files>
Compressors\RAZOR\<rz files>

In the Arc.ini file informing the folder containing the executables, like this:
Code:

[External compressor:precomp]
header    = 0
unpackcmd = "PRECOMP\{compressor}" -r -o$$arcdatafile$$.tmp $$arcpackedfile$$.tmp

[External compressor:mpz]
header    = 0
unpackcmd = "MPZAPI\{compressor}" d <stdin> <stdout>

[External compressor:rz]
header    = 0
unpackcmd = "RAZOR\{compressor}" e -y $$arcpackedfile$$.tmp $$arcdatafile$$.tmp

Using in the Inno Setup script like this:
Code:

[Files]
Source: cls-mtx.dll; Flags: dontcopy;
Source: CLS.ini; Flags: dontcopy;
Source: Arc.ini; Flags: dontcopy;
Source: UnARC.dll; Flags: dontcopy;
Source: ISDone.dll; Flags: dontcopy;
Source: "Compressors\*"; Flags: dontcopy createallsubdirs recursesubdirs;

[code ]
function InitializeSetup(): Boolean;
begin
 
ExtractTemporaryFile('cls-mtx.dll');
  ExtractTemporaryFile('CLS.ini');
  ExtractTemporaryFile('Arc.ini');
  ExtractTemporaryFile('UnARC.dll');
  ExtractTemporaryFile('ISDone.dll');

  ExtractTemporaryFiles('{tmp}\Compressors\*');
end;



All times are GMT -7. The time now is 17:24.

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