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

Reply
 
Thread Tools Display Modes
  #811  
Old 05-06-2024, 00:50
Fak Eid Fak Eid is offline
Registered User
 
Join Date: Jun 2023
Location: Mars
Posts: 145
Thanks: 93
Thanked 138 Times in 53 Posts
Fak Eid is on a distinguished road
Quote:
Originally Posted by hitman797 View Post
Code:
    TTextAlign = (txCenter, txLeading, txTrailing); 
    procedure Text1HorzAlign(HAlign: TTextAlign);
    procedure Text2HorzAlign(HAlign: TTextAlign);
Hi @hitman @Blackfire

Thank you. I tried and have to manually align the text for this. However, in Smaller Font Size (like 12-15), the two text still doesn't seem to be aligned height-wise. Any fix for it?

Code:
  SectionText[1].FCreate(SectionContent[1].Handle, 500, 15, 'Developers :', INI_DEVELOPERS, -1, False);
  SectionText[1].Text1Setting('{#FontName}', 12, {#FontColor}, False);
  SectionText[1].Text2Setting('{#FontName}', 12, {#SelectedFontColor}, False);
  SectionText[1].Text1HorzAlign(txTrailing);
  SectionText[1].Text2HorzAlign(txTrailing);

  SectionText[2].FCreate(SectionContent[1].Handle, 505, 35, 'Genre :', INI_GENRE, -1, False);
  SectionText[2].Text1Setting('{#FontName}', 12, {#FontColor}, False);
  SectionText[2].Text2Setting('{#FontName}', 12, {#SelectedFontColor}, False);
  SectionText[2].Text1HorzAlign(txTrailing);
  SectionText[2].Text2HorzAlign(txTrailing);

  SectionText[3].FCreate(SectionContent[1].Handle, 500, 55, 'Release Date :', INI_RELEASE_DATE, -1, False);
  SectionText[3].Text1Setting('{#FontName}', 12, {#FontColor}, False);
  SectionText[3].Text2Setting('{#FontName}', 12, {#SelectedFontColor}, False);
  SectionText[3].Text1HorzAlign(txTrailing);
  SectionText[3].Text2HorzAlign(txTrailing);
Another issue: InstallFMXFont sometimes hangs the launch of Setup.exe during Runtime.
Attached Images
File Type: jpg Screenshot 2024-06-04 013716.jpg (12.2 KB, 128 views)

Last edited by Fak Eid; 05-06-2024 at 01:28.
Reply With Quote
Sponsored Links
  #812  
Old 05-06-2024, 05:09
Tihiy_Don Tihiy_Don is offline
Registered User
 
Join Date: Mar 2023
Location: Los Angeles Lakers
Posts: 42
Thanks: 89
Thanked 23 Times in 16 Posts
Tihiy_Don is on a distinguished road
Quote:
Originally Posted by Fak Eid View Post
Another issue: InstallFMXFont sometimes hangs the launch of Setup.exe during Runtime.
HI. Use new method:
Code:
function InitializeSetup: Boolean;
begin
  AddFontResource2(ExtractAndLoad('{#MyFont1}'));
  FMXInnoInit;
  Result:= True;
end;

procedure DeinitializeSetup();
begin
  RemoveFontResource2(ExpandConstant('{tmp}\{#MyFont1}'));
  ISArcExCleanUp;
  FMXInnoShutDown;
end;
Now you do not need to specify InstallFMXFont in the FMXDesigning procedure
Reply With Quote
The Following User Says Thank You to Tihiy_Don For This Useful Post:
BLACKFIRE69 (07-06-2024)
  #813  
Old 08-06-2024, 04:37
audiofeel's Avatar
audiofeel audiofeel is offline
Registered User
 
Join Date: Jan 2013
Location: Russia
Posts: 372
Thanks: 446
Thanked 864 Times in 312 Posts
audiofeel is on a distinguished road
Quote:
Originally Posted by hitman797 View Post
Code:
    TTextAlign = (txCenter, txLeading, txTrailing); 
    procedure Text1HorzAlign(HAlign: TTextAlign);
    procedure Text2HorzAlign(HAlign: TTextAlign);
in my opinion, we lack this..
Code:
    procedure Text1VertAlign(VAlign: TTextAlign);
    procedure Text2VertAlign(VAlign: TTextAlign);
Reply With Quote
The Following 2 Users Say Thank You to audiofeel For This Useful Post:
Fak Eid (08-06-2024), hitman797 (09-06-2024)
  #814  
Old 08-06-2024, 16:21
Fak Eid Fak Eid is offline
Registered User
 
Join Date: Jun 2023
Location: Mars
Posts: 145
Thanks: 93
Thanked 138 Times in 53 Posts
Fak Eid is on a distinguished road
Quote:
Originally Posted by Tihiy_Don View Post
Now you do not need to specify InstallFMXFont in the FMXDesigning procedure
I knew about AddFontResource2. I thought 'InstallFMXFont' was the newest thing. Sorry, I can't keep track of updates.

Quote:
Originally Posted by audiofeel View Post
in my opinion, we lack this..
Code:
    procedure Text1VertAlign(VAlign: TTextAlign);
    procedure Text2VertAlign(VAlign: TTextAlign);
Yes, i believe or whatever fixes this issue on smaller fonts. One of my FMX Installer is completely dependent on the use of it and I've to wait longer just to get this fixed. Although, it is working for larger font size like 16+.
Reply With Quote
  #815  
Old 10-06-2024, 13:26
BLACKFIRE69's Avatar
BLACKFIRE69 BLACKFIRE69 is offline
Registered User
 
Join Date: Mar 2019
Location: In the Hell
Posts: 672
Thanks: 476
Thanked 2,411 Times in 546 Posts
BLACKFIRE69 is on a distinguished road
Arrow FMXInno - Updates

FMXInno - Final Release [2024-June-10]


What's new:

* Merged Runtime-Scripts into this build.

* 'FNewINI' updated.

- Now you can create a 'FNewINI' from a string.
Code:
  InIStr := '[SecM]'      +#13#10+
            'Key1=Val01'  +#13#10+
            'Key2=Val02'  +#13#10+
            ''            +#13#10+
            '[SecM\SecA]' +#13#10+
            'KeyA=ValA'   +#13#10+
            'KeyB=ValB';

  ANewINI.FcreateFromString(InIStr);
* Minor bug fixes and improvements.
* And it's recommended to use the latest version of InnoSetup v6.3.0.


The first post has been updated.


If you expect the following features, let me know:
Code:
1. PDF Viewer (*.pdf).
2. Markdown Viewer (*.md).
3. HTML Viewer (*.html).

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

@Fak Eid,

* FCombineText/vertical mismatch:

- You have to use the Offset Y value to fix the vertical mismatch. (FCombineText.OffsetYText2(DY))
- Also, I removed the properties 'Text1HorzAlign' and 'Text2HorzAlign' from 'FCombineText'.

Example:

Code:
const
  c_max0 = 14;
  Pttrn  = 4; // 1, 2, 3 or 4.

procedure FMXDesigning;
var i, j, k, c_max: Integer;
begin
  ...
  if (c_max0 mod 2) = 0 then c_max := c_max0 else c_max := c_max0 - 1;

  { ACombineText }
  for i := 1 to c_max do begin
    if i <= (c_max div 2) then begin
      case Pttrn of
        1: j:=-1*(i-1);
        2: j:=-1*((c_max div 2)-i);
        3: j:=-1*Round(Abs((((c_max div 2) div 2)+1)-i));
        4: if i<=(((c_max div 2) div 2)+1) then j:=-1*(i-1) else j:=-1*((c_max div 2)-i);
        else j:=-1*(i-1);
      end;
      k:=0;
    end else begin
      case Pttrn of
        1: j:=(i-((c_max div 2)+1));
        2: j:=(c_max-i);
        3: j:=Round(Abs(((c_max+(c_max div 2)+1) div 2)-i));
        4: if i<=((c_max+(c_max div 2)+1) div 2) then j:=(i-((c_max div 2)+1)) else j:=(c_max-i);
        else j:=(i-((c_max div 2)+1));
      end;
      k:=20;
    end;
    ACombineText[i].FCreate(FMXForm.Handle,60,120+((i-1)*15)+k,'The Module Name:','FMXInno.dll',j,False);
    ACombineText[i].Text1Setting('Segoe UI', 10, ALBlack, False);
    ACombineText[i].Text2Setting('Segoe UI', 13, ALRed, False);
    ACombineText[i].Text1ShadowSetting(ALBlack, 0.2, 0.2);
    ACombineText[i].Text2ShadowSetting(ALRed, 0.1, 0.6);
    ACombineText[i].OffsetYText2(-1.5);
  end;
  ...
end;



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

@audiofeel,

* 'DrawFrame' has been updated for FFluentStartBrowse and FFluentDirBrowse.

* Setup-exiting issue for 'FOSInfo' with Windows 11 24H2 insider builds.
- In insider builds, Microsoft is pushing hard and has disabled (not deprecated) some useful features by default. This may be the reason for that.
- Once 24H2 is released, I'll update everything to be compatible with the new release.
- I don't release any fixes for beta versions, but for now, I made some modifications in this build which, if detected, may make 'FOSInfo' work with 24H2.

(I deleted the virtual machine with Win11 24H2 installed, so I couldn't test it.)
* MInI updated.

- Previous code examples may not work with the new MInI.exe.
- Now it will accept parameters in any of the following formats:

Code:
    1. /Sec=Player    || --Sec=Player      || /s=Player    || -s=Player
    2. /Sec="Player"  || --Sec="Player"    || /s="Player"  || -s="Player"
    3. /Sec='Player'  || --Sec='Player'    || /s='Player'  || -s='Player'

    4. /Sec:Player    || --Sec:Player      || /s:Player    || -s:Player
    5. /Sec:"Player"  || --Sec:"Player"    || /s:"Player"  || -s:"Player"
    6. /Sec:'Player'  || --Sec:'Player'    || /s:'Player'  || -s:'Player'

    7. /Sec Player    || --Sec Player      || /s Player    || -s Player
    8. /Sec "Player"  || --Sec "Player"    || /s "Player"  || -s "Player"
    9. /Sec 'Player'  || --Sec 'Player'    || /s 'Player'  || -s 'Player'
- Added a new function called 'CalcTotalDiskSizeByte' which calculates the total size of disks in bytes.

For that, the INI file should look like this:

Code:
[Datas]

[Datas\Data1]
File={src}\data1.bf
Size=1245

[Datas\Data2]
File={src}\data2.bf
Size=2356

[Datas\Data3]
File={src}\data3.bf
Size=4578
Code:
USAGE:   MInI.exe CalcTotalDiskSizeByte /MainSec=Datas /Key=Size

[Setup]
...
ExtraDiskSpaceRequired={#ReadMInI('CalcTotalDiskSizeByte', '/MainSec=Datas /Key=Size')}
...

- Updated Example.iss file to retrieve disk sizes and component-disk sizes at compile time.

Now everything is automated, so there's nothing to do manually.




.
Attached Images
File Type: png 1.png (18.4 KB, 88 views)
File Type: png 2.png (13.2 KB, 88 views)
File Type: png 3.png (15.6 KB, 86 views)
File Type: png 0.png (24.4 KB, 86 views)
File Type: gif 01.gif (36.0 KB, 87 views)
File Type: png x.png (17.9 KB, 88 views)

Last edited by BLACKFIRE69; 08-07-2024 at 07:53.
Reply With Quote
The Following 6 Users Say Thank You to BLACKFIRE69 For This Useful Post:
audiofeel (10-06-2024), Fak Eid (11-06-2024), hitman797 (12-06-2024), Lord.Freddy (10-06-2024), ScOOt3r (11-06-2024), Tihiy_Don (10-06-2024)
  #816  
Old 10-06-2024, 15:14
audiofeel's Avatar
audiofeel audiofeel is offline
Registered User
 
Join Date: Jan 2013
Location: Russia
Posts: 372
Thanks: 446
Thanked 864 Times in 312 Posts
audiofeel is on a distinguished road
Thumbs up

Quote:
Originally Posted by BLACKFIRE69 View Post
FMXInno - Final Release [2024-June-10]
* Setup-exiting issue for 'FOSInfo' with Windows 11 24H2 insider builds.
- In insider builds, Microsoft is pushing hard and has disabled (not deprecated) some useful features by default. This may be the reason for that.
- Once 24H2 is released, I'll update everything to be compatible with the new release.
- I don't release any fixes for beta versions, but for now, I made some modifications in this build which, if detected, may make 'FOSInfo' work with 24H2.

(I deleted the virtual machine with Win11 24H2 installed, so I couldn't test it.)
.
I've always been on the release preview channel, and I didn't expect Microsoft to give me a pig. But now everything is fixed, and the installers where the output of information about the system is involved, complete their work correctly.
Thanks for the work, especially for the output of information about the size of the archives.
Reply With Quote
The Following 2 Users Say Thank You to audiofeel For This Useful Post:
Behnam2018 (10-06-2024), hitman797 (12-06-2024)
  #817  
Old 10-06-2024, 18:17
audiofeel's Avatar
audiofeel audiofeel is offline
Registered User
 
Join Date: Jan 2013
Location: Russia
Posts: 372
Thanks: 446
Thanked 864 Times in 312 Posts
audiofeel is on a distinguished road
Lightbulb

Quote:
Originally Posted by BLACKFIRE69 View Post
If you expect the following features, let me know:
Code:
1. PDF Viewer (*.pdf).
2. Markdown Viewer (*.md).
3. HTML Viewer (*.html).
.
if we can download online news about the game or other information from the site, then that's cool.
Reply With Quote
  #818  
Old 10-06-2024, 23:05
Tihiy_Don Tihiy_Don is offline
Registered User
 
Join Date: Mar 2023
Location: Los Angeles Lakers
Posts: 42
Thanks: 89
Thanked 23 Times in 16 Posts
Tihiy_Don is on a distinguished road
Will there be a fix for the FFormImgSlide component?
Reply With Quote
  #819  
Old 11-06-2024, 02:47
Fak Eid Fak Eid is offline
Registered User
 
Join Date: Jun 2023
Location: Mars
Posts: 145
Thanks: 93
Thanked 138 Times in 53 Posts
Fak Eid is on a distinguished road
Quote:
Originally Posted by Tihiy_Don View Post
Will there be a fix for the FFormImgSlide component?
What is the issue with FFormImgSlide?

Quote:
Originally Posted by BLACKFIRE69 View Post
@Fak Eid,

* FCombineText/vertical mismatch:
Thank you that fixed all the issues with FCombineText. It is really a very important and necessary feature.

@Blackfire

I'd really like to have a 'HTML Viewer' example where I can integrate a youtube video to my installer which buffers based on internet connection instead of importing during setup.exe creation.

This is not a necessity and completely dependent if it can be implemented.
Link: https://www.skidrowreloaded.com/hori...e-v1-0-43-p2p/

Code:
<div class="html5-video-container" data-layer="0">
<video tabindex="-1" class="video-stream html5-main-video" webkit-playsinline="" playsinline="" controlslist="nodownload" style="width: 560px; height: 315px; left: 0px; top: 0px;"
src="blob:https://www.youtube.com/2ef7c9b2-0611-4dfd-b49b-4aa461f19f96" __idm_id__="2465793">
</video>
</div>
Attached Images
File Type: jpg Screenshot 2024-06-04 013716.jpg (108.9 KB, 91 views)
Reply With Quote
The Following 3 Users Say Thank You to Fak Eid For This Useful Post:
audiofeel (11-06-2024), hitman797 (12-06-2024), ScOOt3r (11-06-2024)
  #820  
Old 12-06-2024, 14:32
Fak Eid Fak Eid is offline
Registered User
 
Join Date: Jun 2023
Location: Mars
Posts: 145
Thanks: 93
Thanked 138 Times in 53 Posts
Fak Eid is on a distinguished road
Abilities of FColorButton / Completely new type of Button

Right now in order to create the image I have to do an alternate like:
SettingsBtn: array[1..4] of FRectangle;
SettingsBtnIcon: array[1..4] of FText;
SettingsBtnLabel: array[1..4] of FText;

Code:
  SettingsBtn[1].FCreate(SettingsRect[1].Handle);
  SettingsBtn[1].FillColor(HTMLColorStrToFMXColor('#3d434f'));
  SettingsBtn[1].SetBounds(0, 120, 190, 40);
  SettingsBtn[1].Opacity(0.8);
  SettingsBtn[1].OnMouseEnter(@CommonMouseEnter);
  SettingsBtn[1].OnMouseLeave(@CommonMouseLeave);
  SettingsBtn[1].OnClick(@CommonClick);

  SettingsBtnIcon[1].FCreate(SettingsBtn[1].Handle);
  SettingsBtnIcon[1].Text(#57793);
  SettingsBtnIcon[1].SetBounds(0, 0, 80, 40);
  SettingsBtnIcon[1].FontSetting('Segoe UI Symbol', 18, {#SelectedFontColor});
  SettingsBtnIcon[1].HitTest(False);

  SettingsBtnLabel[2].FCreate(SettingsBtn[1].Handle);
  SettingsBtnLabel[2].Text('Directory');
  SettingsBtnLabel[2].SetBounds(60, 0, 190, 40);
  SettingsBtnLabel[2].FontSetting('{#FontName}', 16, {#SelectedFontColor});
  SettingsBtnLabel[2].TextSetting(false, txLeading, txCenter);
  SettingsBtnLabel[2].HitTest(False);
I even did an alternative using a combo of FColorButton and FCombineText, but it is not working as FCombineText doesn't have HitTest method.

Can someone suggest me any other alternative to achieve this with simple and less code. Does anyone think it is a good feature to implement? If not, I'll continue with the same code combo I was using.
procedure SetLB1Position(const X, Y: Single);
procedure SetLB2Position(const X, Y: Single);

Issue with FLabel: No Event Listeners of FLabel is responding. Edit: Fixed with HitTest(True); Thanks to audiofeel
Issue with FCombineText: No Event Listeners (getObject1, getObject2) are responding.
Enhancement on FVideoPlayer: Support for .mp4 file extension
Enhancement on FDiskList: I'd still like to see the Blue Covering Box, when set BackVisible(False). In this scenario, I'm unable to see the selected Disk. Edit : Also add, GetLB1Text. If user makes directory update to FEdit, I need to select the disk, the user has input as text. Also, display Disk Name if it exist. If not, show 'Logical Disk'
Attached Images
File Type: jpg Screenshot 2024-06-13 015540__.jpg (7.8 KB, 75 views)
File Type: jpg Screenshot 2024-06-13 135518.jpg (10.4 KB, 68 views)

Last edited by Fak Eid; 20-06-2024 at 08:48.
Reply With Quote
  #821  
Old 12-06-2024, 14:56
audiofeel's Avatar
audiofeel audiofeel is offline
Registered User
 
Join Date: Jan 2013
Location: Russia
Posts: 372
Thanks: 446
Thanked 864 Times in 312 Posts
audiofeel is on a distinguished road
Quote:
Originally Posted by Fak Eid View Post
Right now in order to create the image I have to do an alternate like:
SettingsBtn: array[1..4] of FRectangle;
SettingsBtnIcon: array[1..4] of FText;
SettingsBtnLabel: array[1..4] of FText;

I even did an alternative using a combo of FColorButton and FCombineText, but it is not working as FCombineText doesn't have HitTest method.

Can someone suggest me any other alternative to achieve this with simple and less code. Does anyone think it is a good feature to implement? If not, I'll continue with the same code combo I was using.

Issue with FLabel: No Event Listeners of FLabel is responding.
Issue with FCombineText: No Event Listeners (getObject1, getObject2) are responding.
I'm doing this. And so far I consider this a normal and working option (everything is like yours)
Code:
  Button[1].FCreate(ButtonPanel.Handle);
  Button[1].Position(5, 3);
  Button[1].Align(Top);
  Button[1].Margins(5, 2, 5, 3);
  Button[1].Width(40);
  Button[1].Height(35);
  Button[1].FillColor($4D3F506D);
  Button[1].CornerStyle(5, 5, [tcTopLeft, tcTopRight, tcBottomLeft, tcBottomRight], ctRound);
  Button[1].OnMouseEnter(@CommonOnEnter);
  Button[1].OnMouseLeave(@CommonOnLeave);
  Button[1].OnClick(@CommonOnClick);
  ButtonIcn[1].FCreate(Button[1].Handle, #$e80f);
  ButtonIcn[1].Align(Left);
  ButtonIcn[1].Margins(12, 0, 5, 0);
  ButtonIcn[1].AutoSize(True);
  ButtonIcn[1].FontSetting('Eleven Icons', 16, ALWhite);
  ButtonIcn[1].TextSetting(False, txLeading, txCenter);
  ButtonLbl[1].FCreate(Button[1].Handle, CustomMessage('ButtonLbl1'));
  ButtonLbl[1].Align(Client);
  ButtonLbl[1].Margins(14, 0, 0, 0);
  ButtonLbl[1].AutoSize(True);
  ButtonLbl[1].FontSetting('Segoe UI', 14, ALWhite);
  ButtonLbl[1].TextSetting(False, txLeading, txCenter);
Attached Images
File Type: png 54.png (226.6 KB, 70 views)
Attached Files
File Type: 7z mysetup.7z (5.55 MB, 12 views)

Last edited by audiofeel; 12-06-2024 at 20:39.
Reply With Quote
The Following 5 Users Say Thank You to audiofeel For This Useful Post:
Behnam2018 (12-06-2024), CrownRepack (08-07-2024), Fak Eid (12-06-2024), hitman797 (12-06-2024), ScOOt3r (12-06-2024)
  #822  
Old 12-06-2024, 20:38
audiofeel's Avatar
audiofeel audiofeel is offline
Registered User
 
Join Date: Jan 2013
Location: Russia
Posts: 372
Thanks: 446
Thanked 864 Times in 312 Posts
audiofeel is on a distinguished road
Quote:
Originally Posted by Fak Eid View Post
Issue with FLabel: No Event Listeners of FLabel is responding.
Disk.
HitTest(True);
Reply With Quote
The Following User Says Thank You to audiofeel For This Useful Post:
Fak Eid (13-06-2024)
  #823  
Old 12-06-2024, 21:09
longpv818 longpv818 is offline
Registered User
 
Join Date: Mar 2024
Location: HCMC
Posts: 3
Thanks: 0
Thanked 1 Time in 1 Post
longpv818 is on a distinguished road
thank you so much. It's my looking.
Reply With Quote
The Following User Says Thank You to longpv818 For This Useful Post:
Behnam2018 (14-06-2024)
  #824  
Old 13-06-2024, 02:16
CrownRepack CrownRepack is offline
Registered User
 
Join Date: Apr 2024
Location: In My Home
Posts: 24
Thanks: 30
Thanked 20 Times in 13 Posts
CrownRepack is on a distinguished road
Hi, can anyone help me with this error im getting, its just a simple picture i want to add to the language select startup box,

i have the necessary paths in my script but still get this error.

i already included in files section
[Files]
Source: "Files\spl.png"; DestDir: {tmp}; Flags: dontcopy

with all handles and in FMXDesigning i already
state

LangGameSplash.FCreate(LangForm.Handle);
LangGameSplash.SetBounds(5, 5, 266, 89);
LangGameSplash.FillPicture(ExpandConstant('{tmp}\s pl.png'), wmTileStretch);
LangGameSplash.HitTest(False);

but why i get this error that its not exist?
Attached Images
File Type: png Untitled.png (13.7 KB, 102 views)
Reply With Quote
  #825  
Old 13-06-2024, 03:05
CrownRepack CrownRepack is offline
Registered User
 
Join Date: Apr 2024
Location: In My Home
Posts: 24
Thanks: 30
Thanked 20 Times in 13 Posts
CrownRepack is on a distinguished road
Nevermind guys, sorry, the problem is i put "ExpandConstant" instead of "ExtractandLoad"
ughhh
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
Windows Fluent Effects Standalone API - InnoSetup / VCL / FXM BLACKFIRE69 Conversion Tutorials 0 15-11-2023 18:35
Windows Phone Installer similar to razor12911's original design? Kitsune1982 Conversion Tutorials 0 02-07-2020 14:04
INDEX - Conversion Tutorial Index Razor12911 Conversion Tutorials 5 11-06-2020 03:05
Frequently Asked Questions Joe Forster/STA PC Games - Frequently Asked Questions 0 29-11-2005 10:48



All times are GMT -7. The time now is 01:04.


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