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

Reply
 
Thread Tools Search this Thread Display Modes
  #1  
Old 03-01-2023, 00:33
hitman797's Avatar
hitman797 hitman797 is offline
Registered User
 
Join Date: Feb 2013
Location: Algeria
Posts: 168
Thanks: 486
Thanked 202 Times in 122 Posts
hitman797 is on a distinguished road
Quote:
Originally Posted by audiofeel View Post
It is a little unclear how to specify the path for unpacking, for example, "data2.bf" I need to unpack it in the documents folder. I found how to change the path, but it changes for all archives.
that is, I need to "data1.bf" and "data3.bf " unpacked to the {app} folder. "data 2.bf " unpacked to the {documents} folder
{userdocs} & {commondocs}
The path to the My Documents folder.
Reply With Quote
The Following User Says Thank You to hitman797 For This Useful Post:
Guravkov2010 (03-01-2023)
Sponsored Links
  #2  
Old 03-01-2023, 03:00
BLACKFIRE69's Avatar
BLACKFIRE69 BLACKFIRE69 is offline
Registered User
 
Join Date: Mar 2019
Location: In the Hell
Posts: 688
Thanks: 481
Thanked 2,547 Times in 561 Posts
BLACKFIRE69 is on a distinguished road
Quote:
Originally Posted by audiofeel View Post
is everything done in a tricky way there. can't you figure it out without 100 grams. if you change the constant, it will change for all archives
Code:
ISArcExDiskCount:= 0;
      if FileExists(ExpandConstant('{src}\{#Data1Path}')) then
      begin
        ISArcDiskAddingFalied:= ISArcExAddDisks(ExpandConstant('{src}\{#Data1Path}'), '{#DiskPassword}');
        if ISArcDiskAddingFalied then break;
        ISArcExDiskCount:= ISArcExDiskCount + 1;
      end;
        for i:= 1 to ISArcExDiskCount do
        begin
          ISArcExError:= not ISArcExExtract(i, ExpandConstant('{app}\'), ExpandConstant('{tmp}\arc.ini'), ExpandConstant('{app}'));
          if ISArcExError then break;
        end;



ok, i'll let you change the output directory when adding disks.

Code:
 <--- Change --->

1. syntax:

   function ISArcExAddDisks(Inputfile, Password, OutputPath: Widestring): boolean;

   function ISArcExExtract(DiskNumber: Integer; CfgFile, WorkPath: Widestring): boolean;


2. example:

// Disk Adding part
repeat
  if FileExists(ExpandConstant('{src}\data1.bf')) then 
  begin
    ISArcDiskAddingFalied:= ISArcExAddDisks(ExpandConstant('{src}\data1.bf'), 
               '{#DiskPassword}', ExpandConstant('{app}'));

    if ISArcDiskAddingFalied then break;
    ISArcExDiskCount := ISArcExDiskCount + 1;
  end;

  ...

  #ifdef Components
  if IsComponentSelected('something1\something2') then 
  begin
    ISArcDiskAddingFalied:= ISArcExAddDisks(ExpandConstant('{src}\ConfigShit.bf'), 
               '{#DiskPassword}', ExpandConstant('{userdocs}\BFGames'));

    if ISArcDiskAddingFalied then break;
    ISArcExDiskCount := ISArcExDiskCount + 1;
  end;

  ...

  #endif
until true;


.....
  // Extraction
   
  for i := 1 to ISArcExDiskCount do 
  begin
    ISArcExError := not ISArcExExtract(i, ExpandConstant('{tmp}\arc.ini'), ExpandConstant('{app}\temp'));
    if ISArcExError then break;
  end;
.....

Code:
summary:

  data1.bf       --->    {app}
  ...
  configShit.bf  --->    {userdocs}\BFGames}
  ...

Note: just replacing the library (.dll) is not enough. update your previous scripts as well.


.

Last edited by BLACKFIRE69; 03-04-2023 at 14:07.
Reply With Quote
The Following 5 Users Say Thank You to BLACKFIRE69 For This Useful Post:
ADMIRAL (06-01-2023), audiofeel (03-01-2023), Behnam2018 (24-11-2024), Gehrman (03-01-2023), hitman797 (16-12-2024)
  #3  
Old 03-01-2023, 03:31
BLACKFIRE69's Avatar
BLACKFIRE69 BLACKFIRE69 is offline
Registered User
 
Join Date: Mar 2019
Location: In the Hell
Posts: 688
Thanks: 481
Thanked 2,547 Times in 561 Posts
BLACKFIRE69 is on a distinguished road
Quote:
Originally Posted by BLACKFIRE69 View Post
ok, i'll let you change the output directory when adding disks.

Code:
 <--- Change --->

1. syntax:

   function ISArcExAddDisks(Inputfile, Password, OutputPath: Widestring): boolean;

   function ISArcExExtract(DiskNumber: Integer; CfgFile, WorkPath: Widestring): boolean;


2. example:

// Disk Adding part
repeat
  if FileExists(ExpandConstant('{src}\data1.bf')) then 
  begin
    ISArcDiskAddingFalied:= ISArcExAddDisks(ExpandConstant('{src}\data1.bf'), 
               '{#DiskPassword}', ExpandConstant('{app}'));

    if ISArcDiskAddingFalied then break;
    ISArcExDiskCount := ISArcExDiskCount + 1;
  end;

  ...

  #ifdef Components
  if IsComponentSelected('something1\something2') then 
  begin
    ISArcDiskAddingFalied:= ISArcExAddDisks(ExpandConstant('{src}\ConfigShit.bf'), 
               '{#DiskPassword}', ExpandConstant('{userdocs}\BFGames'));

    if ISArcDiskAddingFalied then break;
    ISArcExDiskCount := ISArcExDiskCount + 1;
  end;

  ...

  #endif
until true;


.....
  // Extraction
   
  for i := 1 to ISArcExDiskCount do 
  begin
    ISArcExError := not ISArcExExtract(i, ExpandConstant('{tmp}\arc.ini'), ExpandConstant('{app}\temp'));
    if ISArcExError then break;
  end;
.....

Code:
summary:

  data1.bf       --->    {app}
  ...
  configShit.bf  --->    {userdocs}\BFGames}
  ...

Note: just replacing the library (.dll) is not enough. update your previous scripts as well.


.

guys, can you tell me is this lib detected as a virus?

Last edited by BLACKFIRE69; 03-01-2023 at 03:34.
Reply With Quote
  #4  
Old 05-01-2023, 07:40
BLACKFIRE69's Avatar
BLACKFIRE69 BLACKFIRE69 is offline
Registered User
 
Join Date: Mar 2019
Location: In the Hell
Posts: 688
Thanks: 481
Thanked 2,547 Times in 561 Posts
BLACKFIRE69 is on a distinguished road
Arrow ISArcEx - Updates

VER: 0.4.0.1

Code:
What's new:

 - Improved performance, percentage and times.


( this version is not compatible with the old version (v.0.4) )

Last edited by BLACKFIRE69; 08-04-2026 at 14:19.
Reply With Quote
The Following 5 Users Say Thank You to BLACKFIRE69 For This Useful Post:
ADMIRAL (16-05-2023), audiofeel (05-01-2023), ffmla (05-01-2023), Gehrman (05-01-2023), hitman797 (05-01-2023)
  #5  
Old 05-01-2023, 09:37
ffmla ffmla is offline
Registered User
 
Join Date: Nov 2014
Location: Digital world
Posts: 112
Thanks: 609
Thanked 65 Times in 41 Posts
ffmla is on a distinguished road
Quote:
Originally Posted by BLACKFIRE69 View Post
guys, can you tell me is this lib detected as a virus?
My K7 AV didn't detect anything..
VirusTotal report the following things.
Attached Images
File Type: png image_2023-01-05_231009371.png (59.2 KB, 431 views)
Reply With Quote
The Following 2 Users Say Thank You to ffmla For This Useful Post:
ADMIRAL (06-01-2023), BLACKFIRE69 (05-01-2023)
  #6  
Old 05-01-2023, 10:13
Masquerade Masquerade is offline
Registered User
 
Join Date: Jan 2020
Location: Monte d'Or
Posts: 1,217
Thanks: 294
Thanked 1,405 Times in 637 Posts
Masquerade is on a distinguished road
I've tried updating my script to reflect the new changes however now for some reason the error flag will instantly trigger leading to a failed installation.

There is no log written or IsArcEx error message box that could indicate the problem.

Please may you take a look at my changes and see if anything is incorrect? The old strings are commented out with //.

Thank you!

Code:
//function ISArcExAddDisks(Inputfile, Password: Widestring): boolean;
function ISArcExAddDisks(Inputfile, Password, OutputPath: Widestring): boolean;
  external 'ISArcExAddDisks@files:ISArcEx.dll stdcall';
//function ISArcExExtract(DiskNumber: Integer; OutputPath, CfgFile, WorkPath: Widestring): boolean;
function ISArcExExtract(DiskNumber: Integer; CfgFile, WorkPath: Widestring): boolean;
  external 'ISArcExExtract@files:ISArcEx.dll stdcall';
Code:
    #ifdef Data1
      if FileExists(ExpandConstant('{src}\{#Data1}')) then
      begin
        ISArcDiskAddingFalied:= ISArcExAddDisks(ExpandConstant('{src}\{#Data1}'), '{#DiskPassword}', ExpandConstant('{app}'));
        if ISArcDiskAddingFalied then break;
        ISArcExDiskCount:= ISArcExDiskCount + 1;
      end;
    #endif
Code:
for i:= 1 to ISArcExDiskCount do
        begin
          //ISArcExError := not ISArcExExtract(i, ExpandConstant('{app}\'), ExpandConstant('{tmp}\ARC.INI'), ExpandConstant('{app}'));
          ISArcExError := not ISArcExExtract(i, ExpandConstant('{tmp}\ARC.INI'), ExpandConstant('{app}'));
          if ISArcExError then break;
        end;
Reply With Quote
  #7  
Old 05-01-2023, 13:27
BLACKFIRE69's Avatar
BLACKFIRE69 BLACKFIRE69 is offline
Registered User
 
Join Date: Mar 2019
Location: In the Hell
Posts: 688
Thanks: 481
Thanked 2,547 Times in 561 Posts
BLACKFIRE69 is on a distinguished road
Quote:
Originally Posted by Masquerade View Post
I've tried updating my script to reflect the new changes however now for some reason the error flag will instantly trigger leading to a failed installation.

There is no log written or IsArcEx error message box that could indicate the problem.

Please may you take a look at my changes and see if anything is incorrect? The old strings are commented out with //.

Thank you!

Code:
//function ISArcExAddDisks(Inputfile, Password: Widestring): boolean;
function ISArcExAddDisks(Inputfile, Password, OutputPath: Widestring): boolean;
  external 'ISArcExAddDisks@files:ISArcEx.dll stdcall';
//function ISArcExExtract(DiskNumber: Integer; OutputPath, CfgFile, WorkPath: Widestring): boolean;
function ISArcExExtract(DiskNumber: Integer; CfgFile, WorkPath: Widestring): boolean;
  external 'ISArcExExtract@files:ISArcEx.dll stdcall';
Code:
    #ifdef Data1
      if FileExists(ExpandConstant('{src}\{#Data1}')) then
      begin
        ISArcDiskAddingFalied:= ISArcExAddDisks(ExpandConstant('{src}\{#Data1}'), '{#DiskPassword}', ExpandConstant('{app}'));
        if ISArcDiskAddingFalied then break;
        ISArcExDiskCount:= ISArcExDiskCount + 1;
      end;
    #endif
Code:
for i:= 1 to ISArcExDiskCount do
        begin
          //ISArcExError := not ISArcExExtract(i, ExpandConstant('{app}\'), ExpandConstant('{tmp}\ARC.INI'), ExpandConstant('{app}'));
          ISArcExError := not ISArcExExtract(i, ExpandConstant('{tmp}\ARC.INI'), ExpandConstant('{app}'));
          if ISArcExError then break;
        end;

yes, there's something incorrect. see the hint below.

Code:
v0.4.0.0 (Old)  >>  ISArcDiskAddingFalied

v0.4.0.1 (New)  >>  ISArcDiskAddingSuccess
let me know if you need more help.



Quote:
Originally Posted by Masquerade View Post
There is no log written or IsArcEx error message box that could indicate the problem.

add this before the ISArcExInit. you'll see the error. (sorry, i put the error message in the wrong place in the script)

Code:
if ISArcExDiskCount = 0 then
   MsgBox('There is no any archive found for unpacking.', mbError, MB_OK);
Reply With Quote
  #8  
Old 05-01-2023, 15:15
Masquerade Masquerade is offline
Registered User
 
Join Date: Jan 2020
Location: Monte d'Or
Posts: 1,217
Thanks: 294
Thanked 1,405 Times in 637 Posts
Masquerade is on a distinguished road
Quote:
Originally Posted by BLACKFIRE69 View Post
yes, there's something incorrect. see the hint below.

Code:
v0.4.0.0 (Old)  >>  ISArcDiskAddingFalied

v0.4.0.1 (New)  >>  ISArcDiskAddingSuccess
Maybe I am not following, but I don't see how changing the name of the Boolean for the disk adding command will fix the issue.
Reply With Quote
  #9  
Old 03-01-2023, 03:03
Cesar82's Avatar
Cesar82 Cesar82 is offline
Registered User
 
Join Date: May 2011
Location: Brazil
Posts: 1,074
Thanks: 1,814
Thanked 2,304 Times in 787 Posts
Cesar82 is on a distinguished road
Quote:
Originally Posted by audiofeel View Post
is everything done in a tricky way there. can't you figure it out without 100 grams. if you change the constant, it will change for all archives
Code:
ISArcExDiskCount:= 0;
      if FileExists(ExpandConstant('{src}\{#Data1Path}')) then
      begin
        ISArcDiskAddingFalied:= ISArcExAddDisks(ExpandConstant('{src}\{#Data1Path}'), '{#DiskPassword}');
        if ISArcDiskAddingFalied then break;
        ISArcExDiskCount:= ISArcExDiskCount + 1;
      end;
        for i:= 1 to ISArcExDiskCount do
        begin
          ISArcExError:= not ISArcExExtract(i, ExpandConstant('{app}\'), ExpandConstant('{tmp}\arc.ini'), ExpandConstant('{app}'));
          if ISArcExError then break;
        end;
Code:
      ISArcExDiskCount:= 0;
      if FileExists(ExpandConstant('{src}\{#Data1Path}')) then
      begin
        ISArcDiskAddingFalied:= ISArcExAddDisks(ExpandConstant('{src}\{#Data1Path}'), '{#DiskPassword}');
        if ISArcDiskAddingFalied then break;
        ISArcExDiskCount:= ISArcExDiskCount + 1;
      end;
      for i:= 1 to ISArcExDiskCount do
      begin
        case i of
          1 : ISArcExError:= not ISArcExExtract(i, ExpandConstant('{app}\'), ExpandConstant('{tmp}\arc.ini'), ExpandConstant('{app}'));
          2 : ISArcExError:= not ISArcExExtract(i, ExpandConstant('{userdocs}\'), ExpandConstant('{tmp}\arc.ini'), ExpandConstant('{userdocs}'));
          3 : ISArcExError:= not ISArcExExtract(i, ExpandConstant('{tmp}\'), ExpandConstant('{tmp}\arc.ini'), ExpandConstant('{tmp}'));
          else
           ISArcExError:= not ISArcExExtract(i, ExpandConstant('{app}\'), ExpandConstant('{tmp}\arc.ini'), ExpandConstant('{app}'));
        end;
        if ISArcExError then break;
      end;
first data file to {app}
second data file to {userdocs}
third data file to {tmp}
all others data file to {app}

Last edited by Cesar82; 03-01-2023 at 03:05.
Reply With Quote
The Following 4 Users Say Thank You to Cesar82 For This Useful Post:
audiofeel (03-01-2023), BLACKFIRE69 (03-01-2023), ffmla (04-01-2023), Gehrman (03-01-2023)
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
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
ASIS: Advanced Simple Installer Script KaktoR Conversion Tutorials 1477 20-05-2026 10:52
XTool 2020 (Plugins) Razor12911 Conversion Tutorials 405 24-12-2024 05:30
Game Installer Designer by altef_4 altef_4 Conversion Tutorials 236 28-05-2021 02:54
Best Compression For Archiving brispuss PC Games 12 03-01-2020 13:34
Compression Questions yasitha Conversion Tutorials 10 09-01-2019 12:29



All times are GMT -7. The time now is 15:44.


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