Go Back   FileForums > Game Backup > PC Games > PC Games - CD/DVD Conversions > Conversion Tutorials

Reply
 
Thread Tools Display Modes
  #181  
Old 03-01-2018, 07:08
JRD!'s Avatar
JRD! JRD! is offline
Registered User
 
Join Date: Sep 2015
Location: Matrix
Posts: 227
Thanks: 186
Thanked 500 Times in 139 Posts
JRD! is on a distinguished road
Finally I will leave the original format, I just change the way to recovered the output path in order to be compatible with ArcGUI.

for those interested here are the changes:
Code:
function IsRelativePath(const sPath: string): Boolean;
begin
  Result:=True;
  if Length(sPath) >= 2 then
    Result:=sPath[2] <> ':';
end;

function ClsMain(operation: Integer; Callback: CLS_CALLBACK; Instance: Pointer): Integer; cdecl;
const
  BuffSize = 64 * 1024;
var
  CLS: TCLSStream;
  SS: TSplitStream;
  Bytes: TBytes;
  X: Integer;
  X8: Byte;
  X64: Int64;
  s: String;
  FirstVolume, OtherVolume: Int64;
  i: integer;
begin

  Result := CLS_ERROR_GENERAL;

  case (operation) of
    CLS_COMPRESS:
      begin
 
        for i := 1 to ParamCount do
        begin
          if (ExtractFileExt(ParamStr(i)) = '.001') then
          begin
            Archive := ParamStr(i);
            Break;
          end;
        end;

        if IsRelativePath(Archive) then
          Archive := ExtractFilePath(GetModuleName) + Archive;

        Archive := ChangeFileExt(Archive, '');

        SetLength(Bytes, 256);
        FillChar(Bytes[0], Length(Bytes), #0);

        X := Callback(Instance, CLS_GET_PARAMSTR, @Bytes[0], Length(Bytes));
        s := StringOf(Bytes);
        s := ReplaceStr(s, #0, '');

        FirstVolume := ConvertToBytes(LeftStr(s, Pos(':', s) - 1));
        OtherVolume := ConvertToBytes(ReplaceStr(s, LeftStr(s, Pos(':', s)), ''));

        CLS := TCLSStream.Create(Callback, Instance);
        CLS.WriteBuffer(FirstVolume, sizeof(FirstVolume));

        Bytes := BytesOf(ExtractFileName(Archive));

        X := Length(Bytes);

        CLS.WriteBuffer(X, sizeof(X));
        CLS.WriteBuffer(Bytes, Length(Bytes));

        X64 := StreamToStream(CLS, CLS, BuffSize, FirstVolume);

        if X64 = FirstVolume then
        begin
          X := CLS.Read(Bytes, Length(Bytes));
          if X > 0 then
          begin
            X8 := 1;
            CLS.WriteBuffer(X8, sizeof(X8));
            SS := TSplitStream.Create(Archive, False, OtherVolume, OtherVolume);
            SS.WriteBuffer(Bytes, X);
            StreamToStream(CLS, SS, BuffSize);
            SS.Free;
          end else
          begin
            X8 := 0;
            CLS.WriteBuffer(X8, sizeof(X8));
          end;
        end;
        CLS.Free;
        SetLength(Bytes, 0);
        Result := CLS_OK;
      end;
    CLS_DECOMPRESS:
      begin
        try
          if SrcPath = '' then
            SrcPath := GetCurrentDir;
          CLS := TCLSStream.Create(Callback, Instance);
          CLS.ReadBuffer(FirstVolume, sizeof(FirstVolume));
          CLS.ReadBuffer(X, sizeof(X));
          SetLength(Bytes, X);
          CLS.ReadBuffer(Bytes, Length(Bytes));
          Archive := IncludeTrailingBackSlash(SrcPath) + StringOf(Bytes);
          X64 := StreamToStream(CLS, CLS, BuffSize, FirstVolume);
          if FirstVolume = X64 then
          begin
            CLS.ReadBuffer(X8, sizeof(X8));
            if X8 = 1 then
            begin
              SS := TSplitStream.Create(Archive, True, OtherVolume, OtherVolume, MyDiskRequest);
              StreamToStream(SS, CLS, BuffSize);
              SS.Free;
            end;
          end;
          CLS.Free;
          SetLength(Bytes, 0);
          Result := CLS_OK;
        except
          Result := CLS_ERROR_GENERAL;
        end;
      end;
  else
    Result := CLS_ERROR_NOT_IMPLEMENTED;
  end;
end;
I also re-implemented the external compressors in the popup menu:

__________________
If your only tool is a hammer, you will tend to see only nails.
Reply With Quote
The Following 6 Users Say Thank You to JRD! For This Useful Post:
78372 (03-01-2018), ffmla (05-01-2018), mausschieber (03-01-2018), pakrat2k2 (03-01-2018), Simorq (03-01-2018), Titeuf (03-01-2018)
Sponsored Links
  #182  
Old 03-01-2018, 10:46
Ranbo Ranbo is offline
Registered User
 
Join Date: Sep 2016
Location: İstanbul
Posts: 22
Thanks: 3
Thanked 1 Time in 1 Post
Ranbo is on a distinguished road
Hİ JRD!
When will you give
Reply With Quote
  #183  
Old 04-01-2018, 19:30
JRD!'s Avatar
JRD! JRD! is offline
Registered User
 
Join Date: Sep 2015
Location: Matrix
Posts: 227
Thanks: 186
Thanked 500 Times in 139 Posts
JRD! is on a distinguished road
On this short video I add a folder to compressed which contains 2 files, one with the extension *.esm, the other with the extension *.mp4, the method used contains an extension group that is bound with a method,
the extension *.mp4 is located in the group "$void" this implies that the mp4 file will receive the srep64 compression method, so no have two files with 2 different compression methods and it works.

I remove Precomp from the Max method in order to shorten the video... If someone has a remark he does not hesitate to share it with me.

I need to update the language files, I will share a version in the day with the folder "masked Data Compressor 2.5" from Panker, the directory contains the categories files as you can see below:





The CLS-Diskspan is not integrated with Arcgui at the moment, but the options present in the program implies its presence for it to work,
it will have to use the version I have a little bit change. I'll post the DLL below the program.

Thanks to Razor for his work!



Sorry for the old-fashioned layout, when the version will be 100% functional, I'll make a great presentation page with big characters and colors like we do more since the invention of HTML
__________________
If your only tool is a hammer, you will tend to see only nails.
Reply With Quote
The Following 2 Users Say Thank You to JRD! For This Useful Post:
sajmon83 (12-01-2018), Titeuf (05-01-2018)
  #184  
Old 04-01-2018, 23:19
JRD!'s Avatar
JRD! JRD! is offline
Registered User
 
Join Date: Sep 2015
Location: Matrix
Posts: 227
Thanks: 186
Thanked 500 Times in 139 Posts
JRD! is on a distinguished road
i applied full masked method: "/$text=ppmd/$jpeg=paq8pxd/$exe=exe2"

The result:
Code:
G:\Delphi\Projets\Arc GUI\Arc GUI 0.9.8.7\Win32\Release\working_dir>arc a --logfile=C:\Temp\freearc.log -ma9 -ds -lc1024 -ld1024 -di -i1 -ep1 -ed -r -s -wE:\ArcGUI\Temp E:\ArcGUI\Output\Data.bin.001 -mdiskspan:10mb:10mb/$text=ppmd/$jpeg=paq8pxd/$exe=exe2 C:\Users\Arnaud\Desktop\Data
FreeArc 0.67 (March 15 2014) Creating archive: E:\ArcGUI\Output\Data.bin.001 using diskspan:10mb:10mb, $text => ppmd:10:48mb, $jpeg => paq8pxd, $exe => dispack070
Memory for compression 450mb, decompression 450mb, cache 16mb
Compressed 3 files, 39,415,777 => 10,485,792 bytes. Ratio 26.60%           
Compression time: cpu 0.03 sec/real 0.24 sec = 13%. Speed 164.91 mB/s
All OK
Here is the function that allows you to set the position of Diskspan to not be considered as part of the value bound to the last extension group:

Code:
function SetDiskspanValuePosition(const sMethodValue, sDiskspanValue: string): string;
var
  i: integer;
begin
  if Length(sDiskspanValue) > 0 then
  begin
    i:=Pos('/$', sMethodValue);
    if i > 0 then
    begin
      Result:=sMethodValue;
      Insert(Copy(sDiskspanValue, 2, Length(sDiskspanValue)), Result, i);
    end else
      Result:=sMethodValue+sDiskspanValue;
  end else
    Result:=sMethodValue;
end;
Example:
Code:
  ShowMessage('-m'+SetDiskspanValuePosition('/$text=ppmd/$jpeg=paq8pxd/$exe=exe2', '+diskspan:4460mb:4470mb'));
__________________
If your only tool is a hammer, you will tend to see only nails.

Last edited by JRD!; 05-01-2018 at 00:55.
Reply With Quote
The Following 2 Users Say Thank You to JRD! For This Useful Post:
78372 (05-01-2018), Simorq (05-01-2018)
  #185  
Old 05-01-2018, 00:49
JRD!'s Avatar
JRD! JRD! is offline
Registered User
 
Join Date: Sep 2015
Location: Matrix
Posts: 227
Thanks: 186
Thanked 500 Times in 139 Posts
JRD! is on a distinguished road
Updated. Included Masked Data compressor 2.5 by panker1992 as well as modified CLS-Diskpan.
I create the categories of compression methods and external compressors. I will do a series of videos to make a brief tour of the
Features. I quickly released this version, there are definitely bugs, if you noticed, make me know about the thread, thanks to all.
__________________
If your only tool is a hammer, you will tend to see only nails.

Last edited by JRD!; 05-01-2018 at 00:52.
Reply With Quote
The Following 4 Users Say Thank You to JRD! For This Useful Post:
78372 (05-01-2018), ffmla (05-01-2018), Simorq (05-01-2018), Titeuf (05-01-2018)
  #186  
Old 05-01-2018, 07:51
Simorq's Avatar
Simorq Simorq is offline
Registered User
 
Join Date: Mar 2014
Location: Iran
Posts: 274
Thanks: 2,392
Thanked 477 Times in 162 Posts
Simorq is on a distinguished road
Hi JRD!
Not work
Please share version 0.9.8.7.
Thanks



Edit:
Solved
__________________
He who takes lesson becomes clear-sighted; he who is clear-sighted understands; and he who understands becomes wise

Last edited by Simorq; 05-01-2018 at 09:35.
Reply With Quote
The Following User Says Thank You to Simorq For This Useful Post:
JRD! (05-01-2018)
  #187  
Old 05-01-2018, 10:41
JRD!'s Avatar
JRD! JRD! is offline
Registered User
 
Join Date: Sep 2015
Location: Matrix
Posts: 227
Thanks: 186
Thanked 500 Times in 139 Posts
JRD! is on a distinguished road
Quote:
Originally Posted by Simorq View Post
Hi JRD!
Not work
Please share version 0.9.8.7.
Thanks



Edit:
Solved
It reminds me of someone
__________________
If your only tool is a hammer, you will tend to see only nails.
Reply With Quote
The Following User Says Thank You to JRD! For This Useful Post:
Simorq (05-01-2018)
  #188  
Old Yesterday, 13:40
JRD!'s Avatar
JRD! JRD! is offline
Registered User
 
Join Date: Sep 2015
Location: Matrix
Posts: 227
Thanks: 186
Thanked 500 Times in 139 Posts
JRD! is on a distinguished road
Here is the list of changes to the next version:
Quote:
- Ability to apply the same compression method to all archives from the Edit button.
- Tabs remain visible during compression, but events are disabled.
- A file listing function in the archive is available at the right click, (filename | file weight in bytes).
- A function of detecting the space necessary during the decompression (NeedSpace) has been added, activate the log to be able to access this information.
- The ability to create a decompression folder, this folder will contain everything necessary to unpack the created archives.
- Create setup with Inno Setup, you just need to specify the required values in the script, copy the folder generated by ArcGUI to the module folder and then start compiling from the batch file, you can unpack the created archives.
Fixed bugs:
Quote:
- Cannot add a file in the parent folder of an added folder.
- Unable to delete the first character of the password.
- The URL of CLS-Diskspan has been changed.
Little note:

I currently have no tester, so I am forced to test myself what slowed the development.
At the level of translation only KaktoR has brought help. If someone could make me some return it would be great.
__________________
If your only tool is a hammer, you will tend to see only nails.
Reply With Quote
The Following User Says Thank You to JRD! For This Useful Post:
KaktoR (Yesterday)
  #189  
Old Yesterday, 13:42
KaktoR's Avatar
KaktoR KaktoR is offline
Registered User
 
Join Date: Jan 2012
Location: GER
Posts: 1,322
Thanks: 402
Thanked 1,894 Times in 675 Posts
KaktoR is on a distinguished road
Unfortunatelly i don't have much time for deep testing atm, but if you like make a public beta... some kind of.
__________________
Haters gonna hate
Some guys are even more intrusive than vultures
Reply With Quote
The Following User Says Thank You to KaktoR For This Useful Post:
JRD! (Yesterday)
  #190  
Old Yesterday, 13:57
JRD!'s Avatar
JRD! JRD! is offline
Registered User
 
Join Date: Sep 2015
Location: Matrix
Posts: 227
Thanks: 186
Thanked 500 Times in 139 Posts
JRD! is on a distinguished road
Quote:
Originally Posted by KaktoR View Post
Unfortunatelly i don't have much time for deep testing atm, but if you like make a public beta... some kind of.
Yes, that's what I tried to do with the previous version but without much success.
__________________
If your only tool is a hammer, you will tend to see only nails.
Reply With Quote
  #191  
Old Yesterday, 16:06
JRD!'s Avatar
JRD! JRD! is offline
Registered User
 
Join Date: Sep 2015
Location: Matrix
Posts: 227
Thanks: 186
Thanked 500 Times in 139 Posts
JRD! is on a distinguished road
An analysis of the output stream is used to determine whether file decompression will require more free space or not.
Code:
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
|                        2018/01/17     00:01:25                        |
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
|
| Step 1/1
|
| Creating archive Data-1.bin
|
| Method name camel5
| Method value pzlib_x64+static1+7z_xz
| Expanded method value pzlib_x64+srep_x64+exe+delta+7z_xz
|
| Compressor 1: pzlib_x64
| Compressor 2: srep_x64
| Compressor 3: exe
| Compressor 4: delta
| Compressor 5: 7z_xz
|
| NeedSize: 618,31 MB
|
| Status: Operation success
| Compression time: 00:01:19
|
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
|                                                                       |
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
__________________
If your only tool is a hammer, you will tend to see only nails.
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Vista beta 2 blocking Starforce ronandex CD/DVD Copy Protections & Utilities 4 31-05-2006 03:37
Neverwinter Nights v1.66.8071 (Beta) doomerdgr8 PC Games 1 28-05-2005 11:18
Copying Socom2 Beta Is It Possible dblue PS2 Games 6 14-10-2003 20:14
OT: Opinion and BETA testers neded for my upcomming products! krondike PC Games 3 06-10-2003 09:29
PAL Patcher 0.93 Beta Megalexxx DC Games 18 03-01-2003 10:23



All times are GMT -7. The time now is 00:23.


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