Go Back   FileForums > Game Backup > PC Games > PC Games - CD/DVD Conversions > Conversion Tutorials
Register FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools Search this Thread Display Modes
  #331  
Old 05-09-2023, 10:21
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 FMXInno - Updates

FMXInno - Updates : [2023-September-05]


This is a quality update fix for FMXInno on August 31.

Code:
* Fixed for higher DPI values.

* Updated IsOSMatched for Windows 11 23H2 (Sun Valley 3) update.
  - if IsOsMatched(B_WIN11_23H2) then ...

* Updated FluentAPI v2.0.
* Updated ISArcEx.
* Other quality improvements and bug fixes.

NOTE:
* Effective from this update onward, InnoSetup v5.6.1 or a newer version is required.





-------------------------------------------------------------------------------------------------------------------------------------------

Quote:
FMXInno - Updates : [2023-August-31]

Code:
* Added TImageList.
* Added TSpeedButton.
* Added TCornorButton.
* Added TMultiView.
* Added TShadowTextClassic.
* Added new functions.
* Added new properties.
* Included the fix for the 'white-square' issue during loading.
   - Don't forget to call the 'FMXForm.Show' after the 'FMXDesigning' procedure.

* Fixed DrawFrame.
* Some improvements and bug fixes.
------------------------------------------------------------------------------------------------------------------------------

Quote:
Originally Posted by Cesar82 View Post
@BLACKFIRE69, I don't follow your project very much, but I have a question.
Is it possible to define shadows in the labels and define a position for them with respect to the text like in CIU?
If you still don't have support for this, it would be interesting to have X and Y options to move the shadow with a default value of 1px position in relation to left and Top, or parameters for X and Y position for the shadow, with the default position being the shadow exactly in the position of the text.
Code:
procedure ShadowSetting(FColor: Integer; FOpacity, FSoftness: Single; FPosX, FPosY: Integer);

now we've the 'TShadowTextClassic' class, which allows users to change the position(X, Y) of the shadow.

Code:
procedure Shadow(FColor: TAlphaColor; OffsetX, OffsetY: Single);
------------------------------------------------------------------------------------------------------------------------------

Quote:
Originally Posted by audiofeel View Post
@BLACKFIRE69
Thanks for the update. Please answer, Can you make it so that you can take the icons from the system and not take them with you. By simply specifying the file index and icon, as is possible for any file on the system. And for displaying disks, and for displaying buttons "close the window", "minimize the window" and for many others. If not, then I'm just passing by.

i've added three new functions to help accomplish this.

Code:
function wGetSysDefaultIcons(const Src: WideString; SHLIcoSize: Cardinal; const Buffer: PAnsiChar; var Count: Cardinal): Integer;
function wGetSysDefaultIcons2(const Src, OutImgFile: WideString; SHLIcoSize: Cardinal): Boolean;
function wGetSysDefaultIconsSize(const Src: WideString; SHLIcoSize: Cardinal): Integer;
these functions allow you to extract icons in different sizes as listed below.

Code:
const
  SHL_ICO_SZ_LARGE              = $0000;  // 32x32 pixels.
  SHL_ICO_SZ_SMALL              = $0001;  // 16x16 pixels.
  SHL_ICO_SZ_EXTRALARGE         = $0002;  // 48x48 pixels.
  SHL_ICO_SZ_SYSSMALL           = $0003;  // SM_CXSMICON x SM_CYSMICON pixels.
  SHL_ICO_SZ_JUMBO              = $0004;  // 256x256 pixels. (Windows Vista and later.)
here 'Src' could be a file, directory or desktop shortcut (.lnk).

you'll find an example for this in the attachment

at the moment, if i extract icons from a windows ResDll using an index, then those icon files will only be '32x32' in maximum size. so let's use above functions.


Example:
Code:
{ GetSysDefaultIcons }
  if wGetLogicalDriveList(ADrvLst, CDrvIdx) then
  begin
    ASrc[1] := ADrvLst[CDrvIdx];
    ASrc[2] := ADrvLst[Length(ADrvLst) -1];
  end else
  begin
    ASrc[1] := 'C:\';
    if wIsDriveValid('D:\') then ASrc[2] := 'D:\'
    else if wIsDriveValid('E:\') then ASrc[2] := 'E:\'
    else if wIsDriveValid('F:\') then ASrc[2] := 'F:\'
    else if wIsDriveValid('G:\') then ASrc[2] := 'G:\'
  end;

  ASrc[3] := 'C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe';
  ASrc[4] := 'C:\Users\' + AddBackslash(GetUserNameString) + 'Desktop';
  ASrc[5] := 'C:\Users\' + AddBackslash(GetUserNameString) + 'Downloads';
  ASrc[6] := 'C:\Users\' + AddBackslash(GetUserNameString) + 'Documents';

  P := 0; Q := 0;
Code:
for i := 1 to C_RANGE do
  begin
    if i = (C_RANGE div 2) + 1  {i =4} then
    begin
      P := 0; Q := 160;
    end;

    AImage[i].FCreate(FMXForm.Handle);
    AImage[i].SetBounds(NSX(P + 80), NSY(Q + 80), NSX(100), NSY(100));

  #ifdef AMethod1   /* Extract SysDefaultIcons into a Buffer, then load them into AImage[i]   */
    ImgSize[i] := wGetSysDefaultIconsSize(ASrc[i], SHL_ICO_SZ_JUMBO);
    if ImgSize[i] <> -1 then
    begin
      SetLength(Buffer[i], ImgSize[i]);
      if wGetSysDefaultIcons(ASrc[i], SHL_ICO_SZ_JUMBO, Buffer[i], Count[i]) <> -1 then
        AImage[i].LoadPictureFromBuffer(Buffer[i], Count[i], wmTileStretch);
    end;
  #else             /* Extract SysDefaultIcons into the TmpDir, then load them into AImage[i] */
    ImgFile[i] := ExpandConstant('{tmp}\') + IntToStr(i) + '.png';
    if wGetSysDefaultIcons2(ASrc[i], ImgFile[i], SHL_ICO_SZ_JUMBO) then
    begin
      AImage[i].LoadPicture(ImgFile[i], wmTileStretch);
    end;
  #endif

    P := P + 150;
  end;
  { GetSysDefaultIcons }

'LoadImgFromBuffer' is only supported by the 'FImage' control. Other controls will get this support in future updates.

------------------------------------------------------------------------------------------------------------------------------

Quote:
Originally Posted by audiofeel View Post
MultiView. Needed sometimes. beautiful and modern thing, it's a pity that it is not in FMXInno...
the 'TMultiView' class has been added. an example for this could be found in the attachment.



The first post has been updated.


.

Last edited by BLACKFIRE69; 14-07-2024 at 02:04.
Reply With Quote
The Following 7 Users Say Thank You to BLACKFIRE69 For This Useful Post:
ADMIRAL (05-09-2023), audiofeel (05-09-2023), Behnam2018 (07-09-2023), hitman797 (05-09-2023), Lord.Freddy (05-09-2023), Razor12911 (10-09-2023), Tihiy_Don (06-09-2023)
Sponsored Links
  #332  
Old 10-09-2023, 11:41
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
@blackfire69 Will you be able to add a line equalizer (which really reacts to music playback, and not a dummy?) How about in the Foobar2000 player.
Using vis_classic.dll or something else?

yes, it can be done with the 'XBass' plugin. i'll give it a try if i get some free time.
Reply With Quote
The Following 2 Users Say Thank You to BLACKFIRE69 For This Useful Post:
audiofeel (10-09-2023), hitman797 (10-09-2023)
  #333  
Old 11-09-2023, 01:37
Fak Eid Fak Eid is offline
Registered User
 
Join Date: Jun 2023
Location: Mars
Posts: 147
Thanks: 98
Thanked 152 Times in 54 Posts
Fak Eid is on a distinguished road
Directory Info Update on Editing Location

When user lands on Directory Page, currently there was no option to change the Game Name.

Consider for example, The game name is 'The Last of Us: Remake Part 1' and user wants to change it to 'The Last of Us' and install there, it was restricted on FEdit.

Attaching code snippet where the user will now have ability to do that:
Code:
  Page2Edit.FCreate(Page2.Handle);
  Page2Edit.SetBounds(NSSX(100), NSSY(190), NSSX(520), NSSY(35));
  Page2Edit.FontSetting('{#FontName}', VCLFontSizeToFMX2(13), ALGainsBoro);
  Page2Edit.CanFocus(True);
  Page2Edit.Enabled(True);
  Page2Edit.Text(MinimizePathName(WizardForm.DirEdit.Text, WizardForm.DirEdit.Font, WizardForm.DirEdit.Width));
  Page2Edit.OnTyping(@BrowseEditOnChange);
Code:
procedure BrowseEditOnChange(Sender: TObject);
var
  PrevDrive, CurrentDrive: String;
begin
  PrevDrive := ExtractFileDrive(WizardForm.DirEdit.Text);
  CurrentDrive := ExtractFileDrive(Page2Edit.GetText);

  // Set the installation path to the edited text value
  WizardForm.DirEdit.Text := Page2Edit.GetText;

  if PrevDrive <> CurrentDrive then
    DirUpdateProc(nil);
end;
Let me know if any of you face issues.
Reply With Quote
The Following User Says Thank You to Fak Eid For This Useful Post:
audiofeel (11-09-2023)
  #334  
Old 11-09-2023, 01:44
Fak Eid Fak Eid is offline
Registered User
 
Join Date: Jun 2023
Location: Mars
Posts: 147
Thanks: 98
Thanked 152 Times in 54 Posts
Fak Eid is on a distinguished road
@Blackfire69

1. Please acknowledge this issue when trying to use Edit on Directory section:
https://fileforums.com/showpost.php?...&postcount=471

2. Installation speed is still not smooth. When transitioning from, say suppose Data-01 to Data-02, it still drops after a certain point of time. For eg: At Data-01 if it was 64mb/s, when extracting Data-02 it refreshes (resets) and becomes 12mb/s after some time.
Not sure if it helps, but save the previous/average installation speed and when the disk transition happens, do (prev installation speed+ current callback speed)/2 (like take average)
Reply With Quote
The Following User Says Thank You to Fak Eid For This Useful Post:
BLACKFIRE69 (11-09-2023)
  #335  
Old 11-09-2023, 04:48
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
Lightbulb

Quote:
Originally Posted by audiofeel View Post
@blackfire69 Will you be able to add a line equalizer (which really reacts to music playback, and not a dummy?) How about in the Foobar2000 player.
Using vis_classic.dll or something else?

updated the 'XBass' plugin, and it now includes a new function named 'xbassAddSpectrum'. you can utilize this function to meet your expectations.
additionally, please use the 'XBass' external plugin (.dll) since using the internal 'XBass' can lead to conflicts with 'FireMonkey'.


Quote:
Originally Posted by audiofeel View Post
@blackfire69
1.-About the window collapse animation...(MinimizeWindowCustomAnimated). Some users claim that on weak and not very powerful PCs, this option is performed with a delay and jerks. There may even be a collapse of the form. I couldn't repeat it. And to be honest, I don't care about this option (everyone can turn it on or off by themselves). But still review my script, maybe I did something wrong?

2.-It was also noticed that if the type of form is selected (FCreateImageForm), then the form does not return to its normal state after folding, but turns into a small rectangle (I attach a screenshot). Maybe it's my jamb (look through my script and maybe you'll find an error).

'MinimizeWindowCustomAnimated' now uses a different effect, meaning the old one has been replaced.
additionally, remember the following:
1. since this is just an effect, you need to call 'pMinimizeWindow' to do the actual minimization.
2. it does not support 'FCreateImageForm'. some of the features in the 'FMXInno' plugin shouldn't be there officially, so i had to use some tricks to integrate them. this may cause compatibility issues.


Code:
type
  TMinimizeAnimPos    = (mapTop, mapBottom, mapLeft, mapRight);

function MinimizeWindowCustomAnimated(MinimizeAnimPos: TMinimizeAnimPos): Boolean;

.

Last edited by BLACKFIRE69; 14-07-2024 at 02:05.
Reply With Quote
The Following 4 Users Say Thank You to BLACKFIRE69 For This Useful Post:
ADMIRAL (11-09-2023), audiofeel (11-09-2023), Fak Eid (11-09-2023), ScOOt3r (11-09-2023)
  #336  
Old 11-09-2023, 05:57
Fak Eid Fak Eid is offline
Registered User
 
Join Date: Jun 2023
Location: Mars
Posts: 147
Thanks: 98
Thanked 152 Times in 54 Posts
Fak Eid is on a distinguished road
@BlackFire69
FProgressBar will always require a custom theme file to set up color and look. I was trying this with FThinProgressBar and the only thing I need is Orientation. Is it possible to add it to FThinProgressBar?
The reason to choose it over ProgressBar is to be able to custom code based on Color and be independent of styling. Like make it even Color Gradient.

Quote:
Originally Posted by BLACKFIRE69 View Post
updated the 'XBass' plugin, and it now includes a new function named 'xbassAddSpectrum'. you can utilize this function to meet your expectations.
additionally, please use the 'XBass' external plugin (.dll) since using the internal 'XBass' can lead to conflicts with 'FireMonkey'.
.

Last edited by Fak Eid; 11-09-2023 at 06:13.
Reply With Quote
  #337  
Old 11-09-2023, 07:59
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 Fak Eid View Post
@BlackFire69
FProgressBar will always require a custom theme file to set up color and look. I was trying this with FThinProgressBar and the only thing I need is Orientation. Is it possible to add it to FThinProgressBar?
The reason to choose it over ProgressBar is to be able to custom code based on Color and be independent of styling. Like make it even Color Gradient.


replaced 'FProgressBar' with 'FThinProgressBar'


.

Last edited by BLACKFIRE69; 14-07-2024 at 02:05.
Reply With Quote
The Following 4 Users Say Thank You to BLACKFIRE69 For This Useful Post:
audiofeel (11-09-2023), Fak Eid (11-09-2023), hitman797 (11-09-2023), Tihiy_Don (11-09-2023)
  #338  
Old 11-09-2023, 11:36
Fak Eid Fak Eid is offline
Registered User
 
Join Date: Jun 2023
Location: Mars
Posts: 147
Thanks: 98
Thanked 152 Times in 54 Posts
Fak Eid is on a distinguished road
@BlackFire69 Thank you FThinprogressBar update. I have one little question though.
Is there a way where we can show pop-up box over a FVideoPlayer. If not, is it possible for you to make it (as I have some amazing idea). If yes, can you show me a test code with it.

Attaching a photo as an example for what I want it look like.
A Video playing in the background instead of photo, and a pop-up display to show some information on top of it.
Attached Images
File Type: jpg Screenshot 2023-09-12 000226.jpg (42.0 KB, 95 views)
Reply With Quote
  #339  
Old 11-09-2023, 13:28
crachlow's Avatar
crachlow crachlow is offline
Registered User
 
Join Date: Nov 2017
Location: Eka-burg
Posts: 22
Thanks: 44
Thanked 11 Times in 7 Posts
crachlow is on a distinguished road
There the video is displayed on the panel, and only then there are inscriptions.
Reply With Quote
  #340  
Old 11-09-2023, 21:54
Tihiy_Don Tihiy_Don is offline
Registered User
 
Join Date: Mar 2023
Location: Los Angeles Lakers
Posts: 43
Thanks: 91
Thanked 26 Times in 18 Posts
Tihiy_Don is on a distinguished road
I ask you to observe backward compatibility or write what types of variables you changed in the libraries. Since I am now trying to update the script for a new library and get a lot of errors.

In some functions, you have changed the type from integer to single. I ask you to indicate this, since it is problematic to observe compatibility when updating the library.
Reply With Quote
  #341  
Old 11-09-2023, 22:10
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 Tihiy_Don View Post
I ask you to observe backward compatibility or write what types of variables you changed in the libraries. Since I am now trying to update the script for a new library and get a lot of errors.

In some functions, you have changed the type from integer to single. I ask you to indicate this, since it is problematic to observe compatibility when updating the library.


adding backward compatibility can be a drawback in many cases. so, we should embrace the latest.


Quote:
Originally Posted by BLACKFIRE69 View Post
NOTE:
This update involves modifications to certain functions/procedures, which might require adjustments to current scripts.



Reply With Quote
The Following 2 Users Say Thank You to BLACKFIRE69 For This Useful Post:
hitman797 (11-09-2023), Tihiy_Don (11-09-2023)
  #342  
Old 11-09-2023, 23:58
Fak Eid Fak Eid is offline
Registered User
 
Join Date: Jun 2023
Location: Mars
Posts: 147
Thanks: 98
Thanked 152 Times in 54 Posts
Fak Eid is on a distinguished road
@audiofeel
I'm playing a video using FVideoPlayer in the background of a FCustomPage. I want to display a FPopupBox over this FCustomPage. I want to know if it can be made possible.

Quote:
Originally Posted by audiofeel View Post
Perhaps you need to play video through a third-party dll. This script at least has text over the video.

Last edited by Fak Eid; 12-09-2023 at 00:11.
Reply With Quote
  #343  
Old 12-09-2023, 07:47
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 FMXInno -Updates

FMXInno Update - [2023-Sep-12]


Code:
* Added new functions.
* Disabled runtime integrity checks.
* Fixed DirBrowse Edit.
* Updated FCreate* functions.
* Updated 'MinimizeWindowCustomAnimated' for ImageForms.
* Updated 'XBass' (internal/external).
* Updated 'ISArcEx' (internal/external).
* Removed lzma2 algorithm and used the lowest compression level.
  - FinalSize(old): 2.86 MB
  - FinalSize(new): 3.41 MB

Code:
{ PowerPlan ID }
const
  USER_PP_POWER_SAVER          = $0002;
  USER_PP_BALANCED             = $0004;
  USER_PP_HIGH_PERFORMANCE     = $0006;
  USER_PP_ULTIMATE_PERFORMANCE = $0008;
  USER_PP_UNKNOWN              = $0001;
 
function wPowerPlanGetActivePlan: Byte;
function wPowerPlanExist(const PowerPlanID: Byte): Boolean;
function wPowerPlanSetOrCreate(const PowerPlanID: Byte): Boolean;

var
   CurActivePowerPlanID: Byte;
Code:
function InitializeSetup(): Boolean;
begin
  CurActivePowerPlanID := wPowerPlanGetActivePlan;

  if (CurActivePowerPlanID = USER_PP_POWER_SAVER) or // Power saver
     (CurActivePowerPlanID = USER_PP_BALANCED) or // Balanced
     (CurActivePowerPlanID = USER_PP_UNKNOWN) then // Unknown (optional)
  begin
    if (not wPowerPlanSetOrCreate(USER_PP_HIGH_PERFORMANCE)) then // High performance
      MsgBox('High performance powerplan error.', mbError, MB_OK);
  end;

  FMXInnoInit;
  Result := True;
end;

procedure DeinitializeSetup();
begin
  wPowerPlanSetOrCreate(CurActivePowerPlanID);

  FMXInnoShutDown;
end;


-----------------------------------------------------------------------------------------------------------------------
Quote:
Originally Posted by audiofeel View Post
@blackfire69
MinimizeWindowCustomAnimated).

It was also noticed that if the type of form is selected (FCreateImageForm), then the form does not return to its normal state after folding, but turns into a small rectangle (I attach a screenshot). Maybe it's my jamb (look through my script and maybe you'll find an error).

'MinimizeWindowCustomAnimated' has been fixed for 'ImageForms'.


-----------------------------------------------------------------------------------------------------------------------
Quote:
Originally Posted by Fak Eid View Post
@Blackfire69

1. Please acknowledge this issue when trying to use Edit on Directory section:
https://fileforums.com/showpost.php?...&postcount=471

fixed.


-----------------------------------------------------------------------------------------------------------------------
Quote:
Originally Posted by Fak Eid View Post

2. Installation speed is still not smooth. When transitioning from, say suppose Data-01 to Data-02, it still drops after a certain point of time. For eg: At Data-01 if it was 64mb/s, when extracting Data-02 it refreshes (resets) and becomes 12mb/s after some time.
Not sure if it helps, but save the previous/average installation speed and when the disk transition happens, do (prev installation speed+ current callback speed)/2 (like take average)


1. 'ISArcEx' only calculates the current extraction speed for the current archive.
2. 'ISArcExReduceCalcAccuracy' has been updated.
- procedure ISArcExReduceCalcAccuracy(Factor: Byte);
- Factor: 1-5 (default = 1).


.

Last edited by BLACKFIRE69; 14-07-2024 at 02:05.
Reply With Quote
The Following 6 Users Say Thank You to BLACKFIRE69 For This Useful Post:
audiofeel (12-09-2023), Fak Eid (12-09-2023), hitman797 (12-09-2023), Lord.Freddy (13-09-2023), ScOOt3r (12-09-2023), Tihiy_Don (12-09-2023)
  #344  
Old 12-09-2023, 19:34
XH75819116 XH75819116 is offline
Registered User
 
Join Date: Jun 2022
Location: china
Posts: 6
Thanks: 0
Thanked 3 Times in 3 Posts
XH75819116 is on a distinguished road
win10 21h1 FMXForm:= InitFormHandle unresponsive
Reply With Quote
  #345  
Old 12-09-2023, 20:54
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 XH75819116 View Post
win10 21h1 FMXForm:= InitFormHandle unresponsive

i don't have Windows 10 21H1 at the moment, but it's working fine on Windows 10 22H2 (even on a virtual machine).


screenshot:

.

Last edited by BLACKFIRE69; 14-07-2024 at 02:06.
Reply With Quote
Reply


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
Windows Fluent Effects Standalone API - InnoSetup / VCL / FXM BLACKFIRE69 Conversion Tutorials 0 15-11-2023 17:35
Windows Phone Installer similar to razor12911's original design? Kitsune1982 Conversion Tutorials 0 02-07-2020 13:04
INDEX - Conversion Tutorial Index Razor12911 Conversion Tutorials 5 11-06-2020 02:05
Frequently Asked Questions Joe Forster/STA PC Games - Frequently Asked Questions 0 29-11-2005 09:48



All times are GMT -7. The time now is 16:33.


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