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

Reply
 
Thread Tools Display Modes
  #61  
Old 26-10-2018, 03:07
Midnights Midnights is offline
Registered User
 
Join Date: Aug 2015
Location: Canada
Posts: 23
Thanks: 2
Thanked 0 Times in 0 Posts
Midnights is on a distinguished road
Hi, how i can add Time Remaining/Elapsed to the script?

Anyone can share me the part of the code i need?

Here is what i use (original script):

Code:
procedure ExtractTemporaryFileIfNoExist(Filename: String);
begin
  if not FileExists(ExpandConstant('{tmp}\' + Filename)) then
    ExtractTemporaryFile(Filename);
end;

procedure ISDone_Resources;
begin
  ExtractTemporaryFileIfNoExist('Arc.ini');
  ExtractTemporaryFileIfNoExist('English.ini');
  ExtractTemporaryFileIfNoExist('ISDone.dll');
  ExtractTemporaryFileIfNoExist('UnArc.dll');
  ExtractTemporaryFileIfNoExist('arc.ini');
  ExtractTemporaryFileIfNoExist('CLS-DiskSpan.dll');
  ExtractTemporaryFileIfNoExist('CLS-LOLZ.dll');
  ExtractTemporaryFileIfNoExist('CLS-LOLZ_x64.exe');
  ExtractTemporaryFileIfNoExist('CLS-LOLZ_x86.exe');
  ExtractTemporaryFileIfNoExist('CLS-SREP.DLL');
  ExtractTemporaryFileIfNoExist('CLS-SREP_x64.exe');
  ExtractTemporaryFileIfNoExist('CLS-SREP_x64.exe');
  ExtractTemporaryFileIfNoExist('XTool.exe');
  ExtractTemporaryFileIfNoExist('hif2raw_dll.dll');
  ExtractTemporaryFileIfNoExist('liblz4.dll');
  ExtractTemporaryFileIfNoExist('libzstd.dll');
  ExtractTemporaryFileIfNoExist('lzo2.dll');
  ExtractTemporaryFileIfNoExist('oo2core_4_win64.dll');
  ExtractTemporaryFileIfNoExist('raw2hif_dll.dll');
  ExtractTemporaryFileIfNoExist('zlibwapi.dll');
end;        
                                          
type
  TCallback = function (OveralPct,CurrentPct: integer;CurrentFile,TimeStr1,TimeStr2,TimeStr3:PAnsiChar): longword;
  TRequestDisk = function(APath, AFilename: String): String;

var
  ISDoneCancel: Integer;              
  ISDoneError: Boolean; 

function ISArcExtract(CurComponent:Cardinal; PctOfTotal:double; InName, OutPath, ExtractedPath: AnsiString; DeleteInFile:boolean; Password, CfgFile, WorkPath: AnsiString; ExtractPCF: boolean ):boolean;
  external '[email protected]:ISDone.dll stdcall delayload';
function SrepInit(TmpPath:PAnsiChar;VirtMem,MaxSave:Cardinal):boolean; 
  external '[email protected]:ISDone.dll stdcall delayload';
function PrecompInit(TmpPath:PAnsiChar;VirtMem:cardinal;PrecompVers:single):boolean; 
  external '[email protected]:ISDone.dll stdcall delayload';              
function FileSearchInit(RecursiveSubDir:boolean):boolean; 
  external '[email protected]:ISDone.dll stdcall delayload';                                                                                                         
function ISDoneInit(RecordFileName:AnsiString; TimeType,Comp1,Comp2,Comp3:Cardinal; WinHandle, NeededMem:longint; callback:TCallback):boolean; 
  external '[email protected]:ISDone.dll stdcall';
function ISDoneStop:boolean; 
  external '[email protected]:ISDone.dll stdcall';               
function ChangeLanguage(Language:AnsiString):boolean;
  external '[email protected]:ISDone.dll stdcall delayload';           
function SuspendProc:boolean;                                                             
  external '[email protected]:ISDone.dll stdcall';                                                    
function ResumeProc:boolean;                                                            
  external '[email protected]:ISDone.dll stdcall';
procedure ClsInit(Path: String; Parent: HWND);
  external '[email protected]:cls-diskspan.dll cdecl'; 
procedure ClsSourcePath(Path: String);
  external '[email protected]:cls-diskspan.dll cdecl'; // deprecated 'use ClsInit instead'
procedure ClsDiskRequest(RequestDisk: TRequestDisk);
  external '[email protected]:cls-diskspan.dll cdecl'; // deprecated 'use ClsInit instead'

function GetMessage(MsgNum: Integer; Var1, Var2: String): String;                                                            
begin
  Result:=ExpandConstant('{cm:Message'+IntToStr(MsgNum)+'}');
  StringChange(Result,'%1',Var1);
  StringChange(Result,'%2',Var2);
end;

procedure ProgressLabels(Status, CurrentFile: String);
begin
  WizardForm.StatusLabel.Caption:=Status;
  with WizardForm.FilenameLabel do
    Caption := MinimizePathName(CurrentFile, Font, Width);
end;

function ProgressCallback(OveralPct,CurrentPct: integer;CurrentFile,TimeStr1,TimeStr2,TimeStr3:PAnsiChar): longword;
begin
  ProgressLabels(GetMessage(3,'',''), CurrentFile);
  if OveralPct <= WizardForm.ProgressGauge.Max then
    WizardForm.ProgressGauge.Position := OveralPct;
  Result := ISDoneCancel;                                                            
end;                                                                    
                                                                                                                                                       
function MyDiskRequest(APath, AFilename: String): String;                          
var                                                                                        
  MsgResult: Integer;                                                                                    
begin                                                                                                                                                 
  Result := APath;                                        
  if not FileExists(AddBackSlash(Result) + AFilename) then
    repeat
      MsgResult := MsgBox(GetMessage(1, AFilename,''), mbConfirmation, MB_OKCANCEL);
      if MsgResult = mrCancel then
        WizardForm.CancelButton.OnClick(nil);
      if (MsgResult = mrOk) and (FileExists(AddBackSlash(Result) + AFilename) = False) then
        if MsgBox(GetMessage(2,'',''), mbConfirmation, MB_YESNO) = mrYes then
          if GetOpenFileName('', Result, '', AFilename + '|' + AFilename, AFilename) then
            Result := ExtractFileDir(Result); 
    until (FileExists(AddBackSlash(Result) + AFilename) = True) or (ISDoneError = True);
end;
                                                                                                         
procedure ISDone_Unpack;                                                             
begin                                                                 
  ISDone_Resources;             
  ISDoneError:=false;
  if ISDoneInit(ExpandConstant('{tmp}\records.inf'), $F777, 0,0,0, MainForm.Handle, 512, @ProgressCallback) then
  begin
    ChangeLanguage('English');
    if SrepInit('',512,0) and PrecompInit('',128, 0) and FileSearchInit(true) then
    begin
      WizardForm.ProgressGauge.Position := 0;                                       
      Wizardform.ProgressGauge.Max := 1000;                                     
      ClsInit(ExpandConstant('{src}'),WizardForm.Handle);
      // ClsSourcePath(ExpandConstant('{src}'));
      // ClsDiskRequest(@MyDiskRequest); // buggy as fuck... use at own risk
      if not ISArcExtract(0, 100, ExpandConstant('{src}\data.bin.001'), ExpandConstant('{app}'), '', false, '', ExpandConstant('{tmp}\arc.ini'), ExpandConstant('{app}'), false) then
        ISDoneError := True;
    end;
    ISDoneStop;
  end;
  if ISDoneError = True then
    WizardForm.CancelButton.OnClick(nil);
end;

procedure CurStepChanged(CurStep: TSetupStep);
var
  MsgResult: Integer;
begin                                                                                  
  case CurStep of
    ssInstall:
      ISDone_Unpack;
    ssPostInstall:
    begin
      if ISDoneError then
        Exec(ExpandConstant('{uninstallexe}'),'/verysilent','',SW_HIDE, ewWaitUntilTerminated, MsgResult);
    end;
  end;
end;
Reply With Quote
Sponsored Links
  #62  
Old 27-11-2018, 01:12
Punisher Punisher is offline
Banned
 
Join Date: Nov 2018
Location: India
Posts: 54
Thanks: 37
Thanked 0 Times in 0 Posts
Punisher is on a distinguished road
Hi I'm new here, i like to use this
CLS-DiskSpan but i don't understand it completely,
so please can anyone give me, a Tutorial?

I Need to know how to make High Compress method.
When i try it im end up with
(.tmp) file that means something wrong.
How do i change compression method.
I have read the Readme note but it didn't say where to put compression method and what is arc.ini what should I do with it. Please answer me..

Last edited by Punisher; 27-11-2018 at 01:14.
Reply With Quote
  #63  
Old 27-12-2018, 11:38
yasitha's Avatar
yasitha yasitha is offline
Registered User
 
Join Date: Apr 2013
Location: Krypton
Posts: 286
Thanks: 203
Thanked 48 Times in 33 Posts
yasitha is on a distinguished road
when i click Finish button this error show up
How do i fix it?
Please Help!

This is an .iss error not packing error.
so please tell me what should i change.
I have try all of them,
i have read all posts here,
but it didn't work
So that's why i ask help please.
Attached Images
File Type: jpg 2017-10-18_12-17-01.jpg (28.2 KB, 251 views)
__________________
Keep Up The Good Works!

Last edited by yasitha; 27-12-2018 at 11:40.
Reply With Quote
  #64  
Old 27-12-2018, 16:26
Golden-Mask's Avatar
Golden-Mask Golden-Mask is offline
Registered User
 
Join Date: Dec 2018
Location: -_-
Posts: 13
Thanks: 20
Thanked 5 Times in 5 Posts
Golden-Mask is on a distinguished road
I know, there a lot of templates and stuff like that uploaded to file-forums but then it failed......

Not my ground to complain
Reply With Quote
  #65  
Old 27-12-2018, 19:53
yasitha's Avatar
yasitha yasitha is offline
Registered User
 
Join Date: Apr 2013
Location: Krypton
Posts: 286
Thanks: 203
Thanked 48 Times in 33 Posts
yasitha is on a distinguished road
Quote:
Originally Posted by Golden-Mask View Post
I know, there a lot of templates and stuff like that uploaded to file-forums but then it failed......

Not my ground to complain
What's the problem bro?
__________________
Keep Up The Good Works!
Reply With Quote
  #66  
Old 28-12-2018, 07:51
Golden-Mask's Avatar
Golden-Mask Golden-Mask is offline
Registered User
 
Join Date: Dec 2018
Location: -_-
Posts: 13
Thanks: 20
Thanked 5 Times in 5 Posts
Golden-Mask is on a distinguished road
No I was just saying that he abandoned ASC even though it was going to be epic

BTW i have no problem why?
Reply With Quote
  #67  
Old 30-04-2020, 08:36
shazzla shazzla is offline
Registered User
 
Join Date: Nov 2010
Location: Hunnia
Posts: 165
Thanks: 279
Thanked 66 Times in 45 Posts
shazzla is on a distinguished road
Hi !
I need a little help.

Few days ago i made a splitted archive (compressed to 47 gb) using cls-diskspan.
After that ,renamed the archives ,keeping the extensions as it was originally.
Started the installation,and at the second disk, diskspan looks for the original filename as it was created.

Is it possible to rename the final archive files ?
I hope you understand what is my problem.
It would be ****** to recompress 66 gigs.
Reply With Quote
  #68  
Old 30-04-2020, 08:54
KaktoR KaktoR is offline
Lame User
 
Join Date: Jan 2012
Location: From outer space
Posts: 3,019
Thanks: 752
Thanked 4,626 Times in 1,661 Posts
KaktoR is on a distinguished road
diskspan stores the original filename inside the archive itself (you can open the .001 archive with 7z and see the original archive).

Maybe try changing this or hex editing something.
__________________
Haters gonna hate
RIP GOD
Reply With Quote
The Following User Says Thank You to KaktoR For This Useful Post:
shazzla (30-04-2020)
  #69  
Old 22-05-2020, 02:46
Razor12911's Avatar
Razor12911 Razor12911 is offline
Programmer
 
Join Date: Jul 2012
Location: South Africa
Posts: 3,348
Thanks: 1,814
Thanked 8,907 Times in 1,985 Posts
Razor12911 is on a distinguished road
R3 uploaded

Changes

-Callback updated and fixed as requested
-If other volume sizes are not specified, all splits will have the same sizes
-Updated file naming

Notes

-DLL export functions were updated which means you must update your scripts (ran tests on IS_6.03, no issues were found)
-New file naming does not support files created by R2 or earlier
-Filenames can be customized however you prefer, if you didn't like the .001 part in the splitted archives, you can put data1.bin, data-1.bin or data.bin.001, or even data-01.bin, all will work.
22.PNG
-The conversion batch example is updated, check to see what has changed
__________________
Welp...

Last edited by Razor12911; 22-05-2020 at 02:49.
Reply With Quote
The Following 8 Users Say Thank You to Razor12911 For This Useful Post:
78372 (22-05-2020), BLACKFIRE69 (22-05-2020), Cesar82 (22-05-2020), DiCaPrIo (22-05-2020), felice2011 (22-05-2020), Gehrman (23-05-2020), KaktoR (22-05-2020), shazzla (22-05-2020)
  #70  
Old 22-05-2020, 03:38
felice2011's Avatar
felice2011 felice2011 is offline
Registered User
 
Join Date: Feb 2011
Location: italy
Posts: 827
Thanks: 343
Thanked 1,104 Times in 380 Posts
felice2011 is on a distinguished road
Quote:
Originally Posted by Razor12911 View Post
R3 uploaded

Changes

-Callback updated and fixed as requested
-If other volume sizes are not specified, all splits will have the same sizes
-Updated file naming

Notes

-DLL export functions were updated which means you must update your scripts (ran tests on IS_6.03, no issues were found)
-New file naming does not support files created by R2 or earlier
-Filenames can be customized however you prefer, if you didn't like the .001 part in the splitted archives, you can put data1.bin, data-1.bin or data.bin.001, or even data-01.bin, all will work.
Attachment 26937
-The conversion batch example is updated, check to see what has changed
Ohhhh Finally it took you some time ...
https://www.fileforums.com/showpost....07&postcount=9 ...Greattttt Dude
__________________
≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈ ≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈
I Mediocri Imitano, I Geni Copiano, Dio Crea & Distrugge (Io Ridefinisco & Perfeziono le Loro Opere Rendendole Uniche)
≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈ ≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈
Mediocrities Imitate, Genius Copy, God Creates & Destroys (I Reconsider & Improve Their Works, Rending Them One And Only)
Reply With Quote
  #71  
Old 22-05-2020, 22:58
Cesar82's Avatar
Cesar82 Cesar82 is online now
Registered User
 
Join Date: May 2011
Location: Brazil
Posts: 404
Thanks: 492
Thanked 730 Times in 243 Posts
Cesar82 is on a distinguished road
@Razor12911
Thanks for the effort.
I didn't expect this update anytime soon.

I did some tests and it seems to work well.
I adapted the code for the Light Installer script and it is working.

How can I inform the disc number in the message without using global variables + counter. Just like CallBack.

I had previously modified the R2 version of the source code that you shared. Minor changes to send the disk number to the message.
I will send my PM modified code for you to understand what I am trying to say.
Reply With Quote
The Following User Says Thank You to Cesar82 For This Useful Post:
Gehrman (23-05-2020)
  #72  
Old 23-05-2020, 02:30
Razor12911's Avatar
Razor12911 Razor12911 is offline
Programmer
 
Join Date: Jul 2012
Location: South Africa
Posts: 3,348
Thanks: 1,814
Thanked 8,907 Times in 1,985 Posts
Razor12911 is on a distinguished road
Quote:
Originally Posted by Cesar82 View Post
@Razor12911
Thanks for the effort.
I didn't expect this update anytime soon.

I did some tests and it seems to work well.
I adapted the code for the Light Installer script and it is working.

How can I inform the disc number in the message without using global variables + counter. Just like CallBack.

I had previously modified the R2 version of the source code that you shared. Minor changes to send the disk number to the message.
I will send my PM modified code for you to understand what I am trying to say.
I'm once again busy so here
Attached Files
File Type: 7z CLS_DISKSPAN_SRC_updated_220520.7z (8.6 KB, 8 views)
__________________
Welp...
Reply With Quote
The Following 3 Users Say Thank You to Razor12911 For This Useful Post:
BLACKFIRE69 (23-05-2020), Cesar82 (23-05-2020), Gehrman (23-05-2020)
  #73  
Old 23-05-2020, 03:02
Cesar82's Avatar
Cesar82 Cesar82 is online now
Registered User
 
Join Date: May 2011
Location: Brazil
Posts: 404
Thanks: 492
Thanked 730 Times in 243 Posts
Cesar82 is on a distinguished road
@Razor12911
Thanks for the source code.
You commented that it supports several types of incrementing in bin files. Does not support Setup-1a.bin, Setup-1b.bin, Setup-1c.bin, etc, Setup-2a, Setup-2b.bin, Setup-2c.bin, etc.
It would be useful to use when you have components (several Games).
The bug when using VCLStyle remains... I think this is not fixable.
Thanks for everything!
Reply With Quote
The Following User Says Thank You to Cesar82 For This Useful Post:
Gehrman (23-05-2020)
  #74  
Old 23-05-2020, 03:34
Razor12911's Avatar
Razor12911 Razor12911 is offline
Programmer
 
Join Date: Jul 2012
Location: South Africa
Posts: 3,348
Thanks: 1,814
Thanked 8,907 Times in 1,985 Posts
Razor12911 is on a distinguished road
Quote:
Originally Posted by Cesar82 View Post
Does not support Setup-1a.bin, Setup-1b.bin, Setup-1c.bin, etc, Setup-2a, Setup-2b.bin, Setup-2c.bin, etc.
It is possible to add suport but I just didn't make it because that would mean that I have to add an additional parameter to diskspan, may confuse some people so I didn't add.

Quote:
It would be useful to use when you have components (several Games).
I specified that the archive must be solid for a reason, the moment you make several blocks, freearc keeps calling diskspan forcing it to write data on what has already been written which would cause problems. It's doable... theoretically, I'll think about it.

Quote:
The bug when using VCLStyle remains... I think this is not fixable.
what bug?
__________________
Welp...
Reply With Quote
  #75  
Old 23-05-2020, 04:02
KaktoR KaktoR is offline
Lame User
 
Join Date: Jan 2012
Location: From outer space
Posts: 3,019
Thanks: 752
Thanked 4,626 Times in 1,661 Posts
KaktoR is on a distinguished road
Quote:
Originally Posted by Razor12911 View Post
what bug?
Sometimes installer just closes without any message when asking for next archive if you use vcl styles.

Btw, from a technical view, is it possible to add file extension grouping (masks)? Just a question, not a request
__________________
Haters gonna hate
RIP GOD
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
UltraARC Tutorials, Hints and Examples Razor12911 Conversion Tutorials 34 15-04-2020 06:18
Quantum Break GTX590 PC Games - CD/DVD Conversions 105 25-03-2019 08:28
Bioshock Infinite Complete Edition (7xDVD5) UltraArc + CIU v2.0.3 By *Yener90* GTX590 PC Games - CD/DVD Conversions 13 17-06-2017 10:55
Call of Duty Black OPS 3 + DLC Awakening (11xDVD5) GTX590 PC Games - CD/DVD Conversions 22 30-12-2016 07:46
Mortal Kombat XL (7xDVD5) UltraArc + CIU v2.0.3 By *Yener90* GTX590 PC Games - CD/DVD Conversions 1 13-10-2016 16:03



All times are GMT -7. The time now is 12:42.


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