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

Reply
 
Thread Tools Display Modes
  #316  
Old 10-12-2019, 12:22
Cesar82's Avatar
Cesar82 Cesar82 is offline
Registered User
 
Join Date: May 2011
Location: Brazil
Posts: 1,023
Thanks: 1,728
Thanked 2,185 Times in 746 Posts
Cesar82 is on a distinguished road
Inno Setup Repack 6.03

I upgraded my Inno Setup Repack to v6.03 (The link contain Lite e Full version).
To install skins packs extract SkinPack.rar from the same Inno Setup Repack FULL installer directory.
Reply With Quote
The Following 4 Users Say Thank You to Cesar82 For This Useful Post:
Fabioddq (10-12-2019), mausschieber (10-12-2019), omdj (10-12-2019), Simorq (10-12-2019)
Sponsored Links
  #317  
Old 11-12-2019, 10:49
Proxson's Avatar
Proxson Proxson is offline
Registered User
 
Join Date: Nov 2017
Location: Croatia
Posts: 45
Thanks: 33
Thanked 26 Times in 19 Posts
Proxson is on a distinguished road
Hi ppl,

is there a constant for Users\Username\Saved Games ? I want to delete a folder in Saved Games but to no avail. I can't find that constant on the net.

I tried:

{Userprofile}\Saved Games
{%Userprofile%}\Saved Games
%Userprofile%\Saved Games
{Username}\Saved Games

Edit: The only way is writing down the full path in Setup.ini which is SaveGameFolder3=C:\Users\*****\Saved Games\

Not a very happy solution. I can't believe that the Inno Setup developer didn't include such constant.

Last edited by Proxson; 11-12-2019 at 12:13.
Reply With Quote
The Following User Says Thank You to Proxson For This Useful Post:
Behnam2018 (30-01-2020)
  #318  
Old 11-12-2019, 14:10
Cesar82's Avatar
Cesar82 Cesar82 is offline
Registered User
 
Join Date: May 2011
Location: Brazil
Posts: 1,023
Thanks: 1,728
Thanked 2,185 Times in 746 Posts
Cesar82 is on a distinguished road
Quote:
Originally Posted by Proxson View Post
Hi ppl,

is there a constant for Users\Username\Saved Games ? I want to delete a folder in Saved Games but to no avail. I can't find that constant on the net.

I tried:

{Userprofile}\Saved Games
{%Userprofile%}\Saved Games
%Userprofile%\Saved Games
{Username}\Saved Games

Edit: The only way is writing down the full path in Setup.ini which is SaveGameFolder3=C:\Users\*****\Saved Games\

Not a very happy solution. I can't believe that the Inno Setup developer didn't include such constant.
There is no native constant in Inno Setup for the "Saved Games" folder.
You can use something like this:
Code:
function UpdateConstant(const S: String): String;
var
  strDocs: String;
  strSaves: String;
begin
  Result := ExpandConstantEx(S, 'savedgames', ExpandConstant('{userdocs}\My Games'));
  if (GetWindowsVersion shr 24 >= 6) and (Result = ExpandConstant('{userdocs}\My Games')) then
  begin
    RegQueryStringValue(HKEY_LOCAL_MACHINE, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{F42EE2D3-909F-4907-8871-4C22FC0BF756}', 'RelativePath', strDocs);
    RegQueryStringValue(HKEY_LOCAL_MACHINE, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{4C5C32FF-BB9D-43b0-B5B4-2D72E54EAAA4}', 'RelativePath', strSaves);
    StringChangeEx(Result, '\' + strDocs + '\My Games', '\' + strSaves, True);
  end;
end;
This function also expands the other constants normally:
>> MsgBox(UpdateConstant('{userdocs}'), mbInformation, MB_OK); {expands normally}
>> MsgBox(UpdateConstant('{savedgames}'), mbInformation, MB_OK);

Remembering that CIU already has an UpdateConstant function.
If it is to be used in the CIU script, change the function name such as UpdateConstant2.

Last edited by Cesar82; 11-12-2019 at 16:16.
Reply With Quote
The Following 2 Users Say Thank You to Cesar82 For This Useful Post:
Proxson (11-12-2019), Simorq (11-12-2019)
  #319  
Old 11-12-2019, 17:26
Proxson's Avatar
Proxson Proxson is offline
Registered User
 
Join Date: Nov 2017
Location: Croatia
Posts: 45
Thanks: 33
Thanked 26 Times in 19 Posts
Proxson is on a distinguished road
Thanks, but where should I "squeeze" these lines in the script coz the compiler gives me an error... UpdateConstant is duplicate.

Last edited by Proxson; 11-12-2019 at 17:28.
Reply With Quote
  #320  
Old 11-12-2019, 18:00
Cesar82's Avatar
Cesar82 Cesar82 is offline
Registered User
 
Join Date: May 2011
Location: Brazil
Posts: 1,023
Thanks: 1,728
Thanked 2,185 Times in 746 Posts
Cesar82 is on a distinguished road
Quote:
Originally Posted by Proxson View Post
Thanks, but where should I "squeeze" these lines in the script coz the compiler gives me an error... UpdateConstant is duplicate.
Change the name of the function and call the function using the new name.
Where do you want to use this constant savegames?
In which part of the script?
Reply With Quote
  #321  
Old 11-12-2019, 18:34
Proxson's Avatar
Proxson Proxson is offline
Registered User
 
Join Date: Nov 2017
Location: Croatia
Posts: 45
Thanks: 33
Thanked 26 Times in 19 Posts
Proxson is on a distinguished road
Quote:
Originally Posted by Cesar82 View Post
In which part of the script?
Man, you're confusing me. I'm not a inno-script pro !

Well, during the uninstalling process. I want a folder, created by the game, vanish from Saved Games folder. Btw, I'm using Win7 and the path is:

C:\Users\My Name\Saved Games\Metro Exodus

Sorry I know, I'm a pain in da ass. I suffer from perfectionism OCD, btw. It's nasty

Edit: I sorted it out in Setup.ini --> SaveGameFolder3=C:\Users\{username}\Saved Games\Metro Exodus ...aaaand the folder is gonsky ! I'm happy with it. Well, the only problem is
where Metro Exodus dumps this save game folder in Win10.

@Cesar m8, your priority is to fix the registry issue !

Btw, Metro Exodus creats 3 folders and 2 registry entries during the first launch:

1. My Documents --> 4A Games
2. Users\Username\Appdata\Roaming --> CPY_Saves (ermmm...cough)
3. Users\Username\Saved Games --> Metro Exodus

Registry:

1. HKEY_CURRENT_USER\Software\4A-Games
2. HKEY_USERS\S-1-5-21-1998757662-2675839664-690416582-1000\Software\4A-Games

Last edited by Proxson; 11-12-2019 at 21:38.
Reply With Quote
  #322  
Old 12-12-2019, 02:32
Cesar82's Avatar
Cesar82 Cesar82 is offline
Registered User
 
Join Date: May 2011
Location: Brazil
Posts: 1,023
Thanks: 1,728
Thanked 2,185 Times in 746 Posts
Cesar82 is on a distinguished road
Quote:
Originally Posted by Proxson View Post
Man, you're confusing me. I'm not a inno-script pro !

Well, during the uninstalling process. I want a folder, created by the game, vanish from Saved Games folder. Btw, I'm using Win7 and the path is:

C:\Users\My Name\Saved Games\Metro Exodus

Sorry I know, I'm a pain in da ass. I suffer from perfectionism OCD, btw. It's nasty

Edit: I sorted it out in Setup.ini --> SaveGameFolder3=C:\Users\{username}\Saved Games\Metro Exodus ...aaaand the folder is gonsky ! I'm happy with it. Well, the only problem is
where Metro Exodus dumps this save game folder in Win10.

@Cesar m8, your priority is to fix the registry issue !

Btw, Metro Exodus creats 3 folders and 2 registry entries during the first launch:

1. My Documents --> 4A Games
2. Users\Username\Appdata\Roaming --> CPY_Saves (ermmm...cough)
3. Users\Username\Saved Games --> Metro Exodus

Registry:

1. HKEY_CURRENT_USER\Software\4A-Games
2. HKEY_USERS\S-1-5-21-1998757662-2675839664-690416582-1000\Software\4A-Games
The registry entries for work well for me.

To remove the save folder inside the Saved Games folder using the key SaveGameFolder#= use {sd} to set a system drive:
SaveGameFolder3={sd}\Users\{username}\Saved Games\Metro Exodus

I will include a constant {savedgames} in the next CIU update.
If you want to change it in the current CIU script the text in red color.
Code:
function GetSavedGameFolder: String;
begin
  Result := ExpandConstant('{userdocs}\My Games');
  RegQueryStringValue(HKEY_CURRENT_USER, 'Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders', '{4C5C32FF-BB9D-43B0-B5B4-2D72E54EAAA4}', Result);
end;

function UpdateConstant(Current: String) : String;
begin
  Result := Current;
  if UninstallMode then
    StringChangeEx(Result, '{app}', UninstallPath, True)
  else
    StringChangeEx(Result, '{app}', WizardForm.DirEdit.Text, True);
  StringChangeEx(Result, '{savedgames}', GetSavedGameFolder, True);
  StringChangeEx(Result, '{win}', ExpandConstant('{win}'), True);
  StringChangeEx(Result, '{sys}', ExpandConstant('{sys}'), True);
  ...///The code goes on...
After code changed, use SaveGameFolder3={savedgames}\Metro Exodus

Last edited by Cesar82; 12-12-2019 at 02:53.
Reply With Quote
The Following 3 Users Say Thank You to Cesar82 For This Useful Post:
mausschieber (12-12-2019), Proxson (12-12-2019), Simorq (12-12-2019)
  #323  
Old 12-12-2019, 08:21
Proxson's Avatar
Proxson Proxson is offline
Registered User
 
Join Date: Nov 2017
Location: Croatia
Posts: 45
Thanks: 33
Thanked 26 Times in 19 Posts
Proxson is on a distinguished road
Great ! That makes things easier. Thanks !

Btw, regarding registry. Yes, it works but as long as the subkey is empty, the uninstaller will delete it. But if it's not empty, it will remain.
Where is the switch in the script to make registry entries uninstall whether they're empty or not ?
Thanks mate for your work !

Last edited by Proxson; 12-12-2019 at 08:28.
Reply With Quote
  #324  
Old 14-12-2019, 11:03
KaktoR's Avatar
KaktoR KaktoR is offline
Lame User
 
Join Date: Jan 2012
Location: From outer space
Posts: 4,402
Thanks: 1,077
Thanked 7,005 Times in 2,653 Posts
KaktoR is on a distinguished road
Will be released soon after some testing. Just letting you know.

Code:
----------------------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------------------------
CHANGELOG CIU 3.0.0.0.u7
----------------------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------------------------
- Changed "ISDone.dll" to "ISDone 0.6 final - for FreeArc Alpha 2012" (2012-09-27).
- Removed "DLZ" compressor from CIU, because it's no longer needed.

- Updated decompressor RAR (UnRAR.dll) from v5.21 to v5.80
- Updated compressor/decompressor "ZStandard" from v1.43 to v1.44 (x64 + x86).
- Updated decompressor pZLib3 from v3.0.1 to v3.2.0 (Final release)
  >> Now pzLib3 supports DUAL mode for 32 or 64 bit operating systems.

- Fixed conflicts between all current compressors (Thanks to Simorq for help).
  >> It is now possible to activate all compressors (not recommended) without conflicting, but probably the compression will get worse.

- Added Ultra HD compatibility functionality (Resolutions above Full HD).
  >> When booting the installer verifies that the monitor's vertical resolution is greater than 1080.
  >> If true, it inserts compatibility information into the registry and automatically relaunches a new instance of the installer closing the original instance.
  >> If this compatibility mode has been used the installer will clear the registry information upon termination.

- Changed the key name of Exe64Path= to ExePath64= in [Executable#] sections (now use 64 always at the end of all compatibles keys).
- Changed sections name from [Title] to [PageTitle] and also [BigTitle] to [PageBigTitle].
- Changed alignment of the directory selection form (SelectFolderForm) to align with the installer center.
- Changed the text of the welcome page by removing unnecessary information by slightly decreasing the lag in the eastern languages on this page.

- Added new keys WorkDir= and WorkDir64= keys in the [Executable#] sections.
  >> The keys WorkDir= or WorkDir64= determine the "Start In" directory (Work Dir) of executable shortcut.
  >> Use the value "\" in the key WorkDir= or WorkDir64= to display the value as "{app}\<ExePath>\" with backslash at the end.

- Added some new keys in the [Executable#] section for additional information for GOG or UWP installers.
  >> For information about the new keys see the file "_Setup.ini" from the "Help" folder.

- Fixed BigTitle label display on installer pages (Before was not visible).
- Fixed some errors when using commented lines after key value in creator mode.
- Fixed unknown constant "usersendto" error when using Inno Setup version 5.59 or older.
- Fixed some bugs related to removing keys from the registry where subkeys have constants.

- Fixed the size of the installer window by moving to the top leading off the screen.
  > Prior to this fix, this action changes the height of the installer, and the buttons/labels disappear from the installer.

- Fixed SelectDirBrowseLabel position for when using negative values for MoveDirectoryInfo= key so that Edit does not overlap the label.
  >> SelectDirBrowseLabel now vents together to the top when using negative values on the MoveDirectoryInfo = key.

- Added new constant {savedgames} in keys SaveGameFolder#= to inform correct save game folder as "C:\Users\%username%\Saved Games".

- Added new key FirstBGImage= in all [Component#] sections.
  >> This functionality lets you specify the first slide show image for each component.
  >> When the component is not selected, images from the corresponding component key value to the next component key value will not be displayed in the slideshow.

- Added new key CenterInstaller= in [InterfaceSettings] section, default value is 1.
  >> This key allows you to center the screen or display the installer where the autorun page was.

- Missing documentation added to supported functions for use in the "Registry.iss" file as string parametter.
  >> To know the values returned for each language, see InstallerScript na função "AddLanguageByName".
  {code:GetAppName}                   >> Return GameName according to the installation language from "Setup.ini" [InstallOptions]/ApplicationName<LNG>=/ApplicationName=
  {code:GetAppPublisher}              >> Return Publisher of the game from "Setup.ini" [InstallOptions]/Publisher=
  {code:GetMyAppExeName}              >> Return first executable name from "Setup.ini" [Executable1]/Exe= or [Executable1]/Exe64= if the system is 64-bit and the game has 64-bit executable.
  {code:GetMyAppExeName|<INDEX>}      >> Return the executable name corresponding to index from "Setup.ini" [Executable<INDEX>]/Exe= or [Executable1]/Exe64= if the system is 64-bit and the game has 64-bit executable.
  {code:GetMyAppExePath}              >> Return first path name from "Setup.ini" [Executable1]/ExePath= or [Executable1]/ExePath64= if the system is 64-bit and the game has 64-bit path.
  {code:GetMyAppExePath|<INDEX>}      >> Return the path name corresponding to index from "Setup.ini" [Executable<INDEX>]/ExePath= or [Executable1]/ExePath64= if the system is 64-bit and the game has 64-bit path.
  {code:GetGameVersion}               >> Return Version of the game from "Setup.ini" [InstallOptions]/GameVersion=
  {code:GetLangISO}                   >> Return ISO name of the selected language using "-". (en-US, es-ES, de-DE, etc)
  {code:GetLangISO|_}                 >> Return ISO name of the selected language using "_". (en_US, es_ES, de_DE, etc)
  {code:GetLangISO|<DEFAULT>}         >> Return ISO name of the selected language. Return value with "_" if default value contain "_". (en-US, etc or en_US, etc)
  {code:GetLangFull}                  >> Return FULL name of the selected language. (English, Spanish, German, etc)
  {code:GetLangShort}                 >> Return SHORT name of the selected language. (EN, ES, DE, etc)
  {code:GetLangShortLC}               >> Return SHORT name of the selected language in lowercase. (en, es, de, etc)
  {code:GetLangOld}                   >> Return OLD name of the selected language. (eng, esp, ger, etc)
  {code:GetLangOldUC}                 >> Return OLD name of the selected language in uppercase. (ENG, ESP, GER, etc)
  {code:GetLangNR}                    >> Return decimal string of selected language UI. (1033, 1034, 1031, etc)  
  {code:GetLangNR|$}                  >> Return hexadecimal string of selected language UI. ($0409, $040a, $0407, etc)
  {code:GetLangNR|<DEFAULT>}          >> Return decimal/hexadecimal string of selected language UI. If default value contain "$", return hexadecimal. (1033, etc or $0409, etc)
  {code:GetSerialKey}                 >> Return first SerialKey of the game from "EXTERNAL_Setup.ini" [InstallOptions]/Key1=
  {code:GetSerialKey|#}               >> Return SerialKey of the game from "EXTERNAL_Setup.ini" [InstallOptions]/Key#=  
  {code:GetSerialKey|<DEFAULT>}       >> Return first SerialKey of the game from "EXTERNAL_Setup.ini" [InstallOptions]/Key1= and if key empty return default value.
  {code:GetSerialKey|#,<DEFAULT>}     >> Return serial key from "EXTERNAL_Setup.ini" [InstallOptions]/Key#= and if key empty return default value.
  {code:UninstallShortcut}            >> Return the name of the uninstall shortcut in the current language followed by the name of the game as example: Uninstall My Game Name
  {code:GetSavedGameFolder}           >> Return the windows "Saved Games" folder as C:\Users\%username%\Saved Games if Windows XP return {userdocs}\My Games (expanded).
  {code:GetSavedGameFolder|<DEFAULT>} >> Return the windows "Saved Games" folder as C:\Users\%username%\Saved Games if Windows XP return <DEFAULT> value expanded.
Code:
_Tools update
-Added Game name to UltraArc Diskspan folder and ISO creation
  > Only for _DiskSpan.bat (single game)
-Added components for DiskSpan (_DiskSpan Components.bat)
  > Thanks to Cesar82
-Added cls-mpzmt (thanks to 78372)
-Added Inno Setup 6.0.3 Repack (Lite version)
  > This is needed for future CIU versions (v3.0.0.1 and above!)
-Updated Notepad++ to v7.8.2
-Updated some compressors and settings
-Removed DLZ
-Removed Too_lazy_to_copy_myself
__________________
Haters gonna hate
Reply With Quote
The Following 9 Users Say Thank You to KaktoR For This Useful Post:
78372 (17-12-2019), adammail14 (29-08-2020), andreiutzu21 (14-12-2019), mausschieber (15-12-2019), omdj (14-12-2019), pakrat2k2 (14-12-2019), Proxson (14-12-2019), sajmon83 (15-12-2019), Simorq (14-12-2019)
  #325  
Old 14-12-2019, 14:15
andreiutzu21 andreiutzu21 is offline
Registered User
 
Join Date: Jul 2013
Location: Romania
Posts: 79
Thanks: 229
Thanked 25 Times in 19 Posts
andreiutzu21 is on a distinguished road
Exclamation PFX and CER files extension

does anyone know how to get work in.setup.ini with these two files extension? name.pfx and name.cer there is a section in setup ini ? if it is can someone give me an example? these 2 files is for forza horizon 3 and if i install these 2 files in order DLC1 and DLC2 works. thanks in advice
Reply With Quote
  #326  
Old 14-12-2019, 14:19
pakrat2k2's Avatar
pakrat2k2 pakrat2k2 is offline
Moderator
 
Join Date: Apr 2005
Location: Canada
Posts: 7,209
Thanks: 3,040
Thanked 9,030 Times in 3,083 Posts
pakrat2k2 is on a distinguished road
if those are just the normal dlc files, then they should be compressed with the game no need to have them specifically in setup.ini. Unless you mean that 'name' .pfx / .cer are for each game owner ...
Reply With Quote
The Following User Says Thank You to pakrat2k2 For This Useful Post:
andreiutzu21 (16-12-2019)
  #327  
Old 14-12-2019, 14:48
Proxson's Avatar
Proxson Proxson is offline
Registered User
 
Join Date: Nov 2017
Location: Croatia
Posts: 45
Thanks: 33
Thanked 26 Times in 19 Posts
Proxson is on a distinguished road
It's me again !

There is a tiny problem with UI in Win10. Black fonts on black background. Anyone else ?

And one more tiny problem. It's not showing the size in add/remove programs.
Attached Images
File Type: jpg Capture_002.jpg (13.0 KB, 148 views)
File Type: jpg Capture_003.jpg (29.3 KB, 142 views)

Last edited by Proxson; 14-12-2019 at 19:51.
Reply With Quote
  #328  
Old 15-12-2019, 08:03
Cesar82's Avatar
Cesar82 Cesar82 is offline
Registered User
 
Join Date: May 2011
Location: Brazil
Posts: 1,023
Thanks: 1,728
Thanked 2,185 Times in 746 Posts
Cesar82 is on a distinguished road
Quote:
Originally Posted by Proxson View Post
It's me again !

There is a tiny problem with UI in Win10. Black fonts on black background. Anyone else ?

And one more tiny problem. It's not showing the size in add/remove programs.
Thanks for reporting ...
This different window is probably displayed by DiskSpan, and then stays inside the DLL. Because it is displayed differently I can not explain. Maybe it's because ISDone DLL was created a long time ago with very old software (maybe) and the diskspan DLL is called by it.

As for the size not displayed... I am aware of this.
It would be easy to enter a key for i game size. but if using components this would have to be calculated depending on the component selected. This function will be included in version 3.0.0.1 (Remind me in the future).
Reply With Quote
  #329  
Old 15-12-2019, 09:01
GTX590's Avatar
GTX590 GTX590 is offline
Registered User
 
Join Date: Mar 2011
Location: Algeria
Posts: 650
Thanks: 1,163
Thanked 2,051 Times in 374 Posts
GTX590 is on a distinguished road
I noticed 2 bugs in InstallerScript_3.0.0.0.u6:
1-Progress bar does'nt reach 100%. It's stuck at something like 70% but it doesn't affect installation process.
2-LogoAB2 in About page doesn't show no matter what value you put in Setup.ini.
Reply With Quote
  #330  
Old 15-12-2019, 09:31
Cesar82's Avatar
Cesar82 Cesar82 is offline
Registered User
 
Join Date: May 2011
Location: Brazil
Posts: 1,023
Thanks: 1,728
Thanked 2,185 Times in 746 Posts
Cesar82 is on a distinguished road
Quote:
Originally Posted by GTX590 View Post
I noticed 2 bugs in InstallerScript_3.0.0.0.u6:
1-Progress bar does'nt reach 100%. It's stuck at something like 70% but it doesn't affect installation process.
2-LogoAB2 in About page doesn't show no matter what value you put in Setup.ini.
The image you created from the progress bar should be smaller than necessary.

There are 2 options to fix this.
1) Use the old progressbar mode by setting value 1 on the Stretch keys of both progressbar sections.

2) This is the recommended mode. Use different images for each bar (ProgressImg.png, ProgressBackground.png) and (ProgressImgSI.png, ProgressBackgroundSI.png). For each bar create the image with the exact width of the value that is displayed on the label (xxx x xxx) when running in progressbar mode.


I don't know if this is so, but to display Logo2.png on the about page requires the value of the key SmallLogoOpacity= in [AboutSettings] to be greater than 0... to display 100% opaque use value 255 on this key.
In the CIU 3.0.0.0.u6 [2019.10.30] theme installer is normally displaying the "LogoAB2.png" logo which is in the "Setup\About" folder. (PS: The default logo in theme installer does not mark Yener90 vertically).

If you want you can send me a pm with your project that I check for you.
Reply With Quote
The Following 2 Users Say Thank You to Cesar82 For This Useful Post:
GTX590 (15-12-2019), sajmon83 (21-12-2019)
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
INDEX - Conversion Tutorial Index Razor12911 Conversion Tutorials 5 11-06-2020 03:05
[GSERIES] Custom Installer Ultimate V2g Gupta Conversion Tutorials 226 01-06-2018 14:12
Crysis 3 DVD9 to 3xDVD5 Custom Installer spawniectes PC Games - CD/DVD Conversions 79 31-08-2017 08:19



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


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