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
  #1  
Old 14-02-2019, 05:56
pakrat2k2's Avatar
pakrat2k2 pakrat2k2 is offline
Moderator
 
Join Date: Apr 2005
Location: Canada
Posts: 7,209
Thanks: 3,040
Thanked 9,043 Times in 3,086 Posts
pakrat2k2 is on a distinguished road
@ Schabik

The issue with that is if someone wants 2 or more languages ( say english & Brazil Portuguese ) then that choice would not be available, or many others as well.
Reply With Quote
Sponsored Links
  #2  
Old 14-02-2019, 06:04
Schabik Schabik is offline
Registered User
 
Join Date: Dec 2008
Location: Somewhere in Poland
Posts: 152
Thanks: 17
Thanked 35 Times in 32 Posts
Schabik is on a distinguished road
Quote:
Originally Posted by pakrat2k2 View Post
@ Schabik

The issue with that is if someone wants 2 or more languages ( say english & Brazil Portuguese ) then that choice would not be available, or many others as well.

I think that the best solution is to get both.
If you want to use many lang files than an option for that, to enable it, if you want to use one lang at the time second option to that to enable. You know what I mean?

For some games like AC1 there can't be more than one language at the time, for polish there are files that are patched so the Polish lang can work.
Reply With Quote
  #3  
Old 14-02-2019, 15:43
KaktoR's Avatar
KaktoR KaktoR is offline
Lame User
 
Join Date: Jan 2012
Location: From outer space
Posts: 4,689
Thanks: 1,106
Thanked 7,336 Times in 2,838 Posts
KaktoR is on a distinguished road
^
Open "Components.iss" and replace with this (replace all in this file)

Code:
[Components]
#if UseComponents == "1"
  Name: "main"; Description: "Main Files"; Types: full compact custom; Flags: fixed
  Name: "englisharch"; Description: {cm:CompEnglish}; Types: full
  Name: "frencharch"; Description: {cm:CompFrench}; Types: full
  Name: "germanarch"; Description: {cm:CompGerman}; Types: full
  Name: "italianarch"; Description: {cm:CompItalian}; Types: full
  Name: "spanisharch"; Description: {cm:CompSpanish}; Types: full
  Name: "polisharch"; Description: {cm:CompPolish}; Types: full
  Name: "russianarch"; Description: {cm:CompRussian}; Types: full
  Name: "portuguesebrazilarch"; Description: {cm:CompPortugueseBrazil}; Types: full
#endif
__________________
Haters gonna hate
Reply With Quote
  #4  
Old 16-02-2019, 11:11
KaktoR's Avatar
KaktoR KaktoR is offline
Lame User
 
Join Date: Jan 2012
Location: From outer space
Posts: 4,689
Thanks: 1,106
Thanked 7,336 Times in 2,838 Posts
KaktoR is on a distinguished road
@Titeuf: Ingnore this messages. I didn't translate Hebrew, and probably didn't do it anymore (because it's like arabic, it reads from right to left and installer is mirrored this way. I didn't test installer yet with hebrew language, if all buttons/text/etc are on the right place. Maybe I will deactivate it in future releases).

Will work on the script in the next weeks again (spare time at the moment).
__________________
Haters gonna hate

Last edited by KaktoR; 16-02-2019 at 11:25.
Reply With Quote
The Following 2 Users Say Thank You to KaktoR For This Useful Post:
Schabik (16-02-2019), Titeuf (16-02-2019)
  #5  
Old 16-02-2019, 11:20
Titeuf's Avatar
Titeuf Titeuf is offline
Registered User
 
Join Date: Oct 2016
Location: France
Posts: 191
Thanks: 614
Thanked 22 Times in 19 Posts
Titeuf is on a distinguished road
hello KaktoR,
ok thank you for your answer!
I thought I made a mistake
cordially
Reply With Quote
  #6  
Old 22-02-2019, 03:50
Schabik Schabik is offline
Registered User
 
Join Date: Dec 2008
Location: Somewhere in Poland
Posts: 152
Thanks: 17
Thanked 35 Times in 32 Posts
Schabik is on a distinguished road
Hey there guys,

I did a little research for setting components not as checkboxes but as Radiobuttons, and I've managed to achieve the goal

If someone want to integrate the code with ASIS please, be my guest
The modifications were tested by me and work for example with Assassins Creed 1 MultiLang (With Czech,Polish,English,French,Italian,German and Spanish).

The Modifications I presented are as Follows:

Code for Components.iss

Code:
[Components]
#if RadioInsteadCheckbox == "1"
Name: "main"; Description: {cm:MainFiles}; Types: full compact custom; Flags: fixed
Name: "Lang"; Description: {cm:GameLang}; Types: full compact custom; Flags: fixed
Name: "Lang\czecharch"; Description: {cm:CompCzech}; Types: custom; Flags: exclusive;
Name: "Lang\englisharch"; Description: {cm:CompEnglish}; Types: custom; Flags: exclusive;
Name: "Lang\frencharch"; Description: {cm:CompFrench}; Types: custom; Flags: exclusive
Name: "Lang\germanarch"; Description: {cm:CompGerman}; Types: custom; Flags: exclusive
Name: "Lang\italianarch"; Description: {cm:CompItalian}; Types: custom; Flags: exclusive
Name: "Lang\polisharch"; Description: {cm:CompPolish}; Types: custom; Flags: exclusive
Name: "Lang\spanisharch"; Description: {cm:CompSpanish}; Types: custom; Flags: exclusive
#endif
#if RadioInsteadCheckbox == "0"
Name: "main"; Description: {cm:MainFiles}; Types: full compact custom; Flags: fixed
Name: "Lang"; Description: {cm:GameLang}; Types: full compact custom; Flags: fixed
Name: "Lang\czecharch"; Description: {cm:CompCzech}; Types: custom;
Name: "Lang\englisharch"; Description: {cm:CompEnglish}; Types: custom
Name: "Lang\frencharch"; Description: {cm:CompFrench}; Types: custom
Name: "Lang\germanarch"; Description: {cm:CompGerman}; Types: custom
Name: "Lang\italianarch"; Description: {cm:CompItalian}; Types: custom
Name: "Lang\polisharch"; Description: {cm:CompPolish}; Types: custom
Name: "Lang\spanisharch"; Description: {cm:CompSpanish}; Types: custom
#endif
Code for Settings.iss (Component Section):

Code:
// Component
#define UseComponents ReadIni(SourcePath + "\Settings.ini", "Component", "Enable", "")
#define RadioInsteadCheckbox ReadIni(SourcePath + "\Settings.ini", "Component", "EnableRadiobutton", "")
#define EnglishArch ReadIni(SourcePath + "\Settings.ini", "Component", "EnglishArch", "")
#define FrenchArch ReadIni(SourcePath + "\Settings.ini", "Component", "FrenchArch", "")
#define GermanArch ReadIni(SourcePath + "\Settings.ini", "Component", "GermanArch", "")
#define ItalianArch ReadIni(SourcePath + "\Settings.ini", "Component", "ItalianArch", "")
#define SpanishArch ReadIni(SourcePath + "\Settings.ini", "Component", "SpanishArch", "")
#define PolishArch ReadIni(SourcePath + "\Settings.ini", "Component", "PolishArch", "")
#define CzechArch ReadIni(SourcePath + "\Settings.ini", "Component", "CzechArch", "")
Code for Settings.ini (also Component section):

Code:
[Component]
Enable=1
EnableRadiobutton=1
EnglishArch=
FrenchArch=
GermanArch=
ItalianArch=
SpanishArch=
PolishArch=
CzechArch=
In Registry.iss You can add something like this, if a language registry key is required, for tests I've added something like this:

Code:
[Registry]
Root: HKLM; Subkey: SOFTWARE\WOW6432Node\Ubisoft\Assassin's Creed; ValueType: string; ValueName: "Language"; ValueData: "Polish"; Flags: uninsdeletekey; Components: Lang\polisharch;
Root: HKLM; Subkey: SOFTWARE\WOW6432Node\Ubisoft\Assassin's Creed; ValueType: string; ValueName: "Language"; ValueData: "Czech"; Flags: uninsdeletekey; Components: Lang\czecharch;
Root: HKLM; Subkey: SOFTWARE\WOW6432Node\Ubisoft\Assassin's Creed; ValueType: string; ValueName: "Language"; ValueData: "English"; Flags: uninsdeletekey; Components: Lang\englisharch;
Root: HKLM; Subkey: SOFTWARE\WOW6432Node\Ubisoft\Assassin's Creed; ValueType: string; ValueName: "Language"; ValueData: "French"; Flags: uninsdeletekey; Components: Lang\frencharch;
Root: HKLM; Subkey: SOFTWARE\WOW6432Node\Ubisoft\Assassin's Creed; ValueType: string; ValueName: "Language"; ValueData: "German"; Flags: uninsdeletekey; Components: Lang\germanarch;
Root: HKLM; Subkey: SOFTWARE\WOW6432Node\Ubisoft\Assassin's Creed; ValueType: string; ValueName: "Language"; ValueData: "Italian"; Flags: uninsdeletekey; Components: Lang\italianarch;
Root: HKLM; Subkey: SOFTWARE\WOW6432Node\Ubisoft\Assassin's Creed; ValueType: string; ValueName: "Language"; ValueData: "Spanish"; Flags: uninsdeletekey; Components: Lang\spanisharch;
In main script in code for extracting the language components I had to make some adjustments.
I've made them as following:

Code:
#if UseComponents == "1"
  {Unpack selected components}
  if IsComponentSelected('Lang\englisharch') then
    if FileExists(GetIniString('Component', 'EnglishArch', '', ExpandConstant('{tmp}\Settings.ini'))) then
      if ISDoneError = False then
        ISArcExtract(0, 0, ExpandConstant('{src}\' + GetIniString('Component', 'EnglishArch', '', ExpandConstant('{tmp}\Settings.ini'))), ExpandConstant('{app}'), '', false, '', ExpandConstant('{tmp}\arc.ini'), ExpandConstant('{app}'), false);

  if IsComponentSelected('Lang\frencharch') then
    if FileExists(GetIniString('Component', 'FrenchArch', '', ExpandConstant('{tmp}\Settings.ini'))) then
      if ISDoneError = False then
        ISArcExtract(0, 0, ExpandConstant('{src}\' + GetIniString('Component', 'FrenchArch', '', ExpandConstant('{tmp}\Settings.ini'))), ExpandConstant('{app}'), '', false, '', ExpandConstant('{tmp}\arc.ini'), ExpandConstant('{app}'), false);

  if IsComponentSelected('Lang\germanarch') then
    if FileExists(GetIniString('Component', 'GermanArch', '', ExpandConstant('{tmp}\Settings.ini'))) then
      if ISDoneError = False then
        ISArcExtract(0, 0, ExpandConstant('{src}\' + GetIniString('Component', 'GermanArch', '', ExpandConstant('{tmp}\Settings.ini'))), ExpandConstant('{app}'), '', false, '', ExpandConstant('{tmp}\arc.ini'), ExpandConstant('{app}'), false);

  if IsComponentSelected('Lang\italianarch') then
    if FileExists(GetIniString('Component', 'ItalianArch', '', ExpandConstant('{tmp}\Settings.ini'))) then
      if ISDoneError = False then
        ISArcExtract(0, 0, ExpandConstant('{src}\' + GetIniString('Component', 'ItalianArch', '', ExpandConstant('{tmp}\Settings.ini'))), ExpandConstant('{app}'), '', false, '', ExpandConstant('{tmp}\arc.ini'), ExpandConstant('{app}'), false);

  if IsComponentSelected('Lang\spanisharch') then
    if FileExists(GetIniString('Component', 'SpanishArch', '', ExpandConstant('{tmp}\Settings.ini'))) then
      if ISDoneError = False then
        ISArcExtract(0, 0, ExpandConstant('{src}\' + GetIniString('Component', 'SpanishArch', '', ExpandConstant('{tmp}\Settings.ini'))), ExpandConstant('{app}'), '', false, '', ExpandConstant('{tmp}\arc.ini'), ExpandConstant('{app}'), false);

  if IsComponentSelected('Lang\polisharch') then
    if FileExists(GetIniString('Component', 'PolishArch', '', ExpandConstant('{tmp}\Settings.ini'))) then
      if ISDoneError = False then
        ISArcExtract(0, 0, ExpandConstant('{src}\' + GetIniString('Component', 'PolishArch', '', ExpandConstant('{tmp}\Settings.ini'))), ExpandConstant('{app}'), '', false, '', ExpandConstant('{tmp}\arc.ini'), ExpandConstant('{app}'), false);

  if IsComponentSelected('Lang\czecharch') then
    if FileExists(GetIniString('Component', 'CzechArch', '', ExpandConstant('{tmp}\Settings.ini'))) then
      if ISDoneError = False then
        ISArcExtract(0, 0, ExpandConstant('{src}\' + GetIniString('Component', 'CzechArch', '', ExpandConstant('{tmp}\Settings.ini'))), ExpandConstant('{app}'), '', false, '', ExpandConstant('{tmp}\arc.ini'), ExpandConstant('{app}'), false);
#endif
@KaktoR if You see and accept these changes I will be honored if You add them to the next beta

Last edited by Schabik; 22-02-2019 at 04:41.
Reply With Quote
The Following 2 Users Say Thank You to Schabik For This Useful Post:
pakrat2k2 (22-02-2019), Titeuf (22-02-2019)
  #7  
Old 22-02-2019, 04:45
Titeuf's Avatar
Titeuf Titeuf is offline
Registered User
 
Join Date: Oct 2016
Location: France
Posts: 191
Thanks: 614
Thanked 22 Times in 19 Posts
Titeuf is on a distinguished road
Hello Schabik,
maybe can you put pictures?
thank you in advance
Reply With Quote
  #8  
Old 22-02-2019, 04:50
Schabik Schabik is offline
Registered User
 
Join Date: Dec 2008
Location: Somewhere in Poland
Posts: 152
Thanks: 17
Thanked 35 Times in 32 Posts
Schabik is on a distinguished road
Quote:
Originally Posted by Titeuf View Post
Hello Schabik,
maybe can you put pictures?
thank you in advance

If You want to see how it looks, here You are


I'm attaching screens "Before" and "After"


Components page before the modyfication:

2019-02-14_12h27_22.png


And after modification:


With Radiobuttons:
2019-02-22_08h36_32.png


With Checkboxes (Yep, I also modified them to add languages as a subcategory):
2019-02-22_08h35_02.png


I hope KaktoR will love it because everything he did works and brought this idea to the daylight

Last edited by Schabik; 22-02-2019 at 04:53.
Reply With Quote
The Following 3 Users Say Thank You to Schabik For This Useful Post:
KaktoR (22-02-2019), pakrat2k2 (22-02-2019), Titeuf (22-02-2019)
  #9  
Old 22-02-2019, 04:52
Titeuf's Avatar
Titeuf Titeuf is offline
Registered User
 
Join Date: Oct 2016
Location: France
Posts: 191
Thanks: 614
Thanked 22 Times in 19 Posts
Titeuf is on a distinguished road
It's very pretty Schabik !!
Reply With Quote
The Following User Says Thank You to Titeuf For This Useful Post:
Schabik (22-02-2019)
  #10  
Old 22-02-2019, 04:54
Schabik Schabik is offline
Registered User
 
Join Date: Dec 2008
Location: Somewhere in Poland
Posts: 152
Thanks: 17
Thanked 35 Times in 32 Posts
Schabik is on a distinguished road
Quote:
Originally Posted by Titeuf View Post
It's very pretty Schabik !!

Thanks!! As I said I hope KaktoR will appreciate it too as it is his Project.
Reply With Quote
The Following User Says Thank You to Schabik For This Useful Post:
Titeuf (22-02-2019)
  #11  
Old 22-02-2019, 05:22
KaktoR's Avatar
KaktoR KaktoR is offline
Lame User
 
Join Date: Jan 2012
Location: From outer space
Posts: 4,689
Thanks: 1,106
Thanked 7,336 Times in 2,838 Posts
KaktoR is on a distinguished road
I was able to fix this weird skin bug for the scrollbars (thanks to Cesar, he gave me this tip).

I have also changed the language archive unpacking (it has now correct progress).

I think I will implement the ISHash now to compactmode and share an updated script then (might take some days).

Next update:
Code:
v7.1.2 beta7
_____________________________________________________
- Fixed component prograss on ProgressBar
- Fixed ScrollBar on LicensePage and InfoBeforePage if you use cjstyle skin
- Added Skin support to LanguageBox
- Added Skin support to Uninstall progress
- Added ISHash library to CompactMode
- Changed appearance in Components page
__________________
Haters gonna hate

Last edited by KaktoR; 22-02-2019 at 05:52.
Reply With Quote
The Following 3 Users Say Thank You to KaktoR For This Useful Post:
Schabik (23-02-2019), Titeuf (22-02-2019), yasitha (23-02-2019)
  #12  
Old 24-02-2019, 01:13
yasitha's Avatar
yasitha yasitha is offline
Registered User
 
Join Date: Apr 2013
Location: Krypton
Posts: 297
Thanks: 204
Thanked 48 Times in 33 Posts
yasitha is on a distinguished road
While I'm away. I have fix lots of issues.
and i have remove all other languages.
For my personal use

I have fix time remaining and some redist CM
and some other minor issues..

I have try to fix that known bugs,
try almost a day but nothing works...

But Now i see you have fixed it.

KaktoR how did you fix this known bug?

Fixed ScrollBar on LicensePage and InfoBeforePage if you use cjstyle skin

Please add codes that fixed it.
so I can upgrade mine. Thanks!
__________________
Keep Up The Good Works!
Reply With Quote
  #13  
Old 24-02-2019, 01:18
KaktoR's Avatar
KaktoR KaktoR is offline
Lame User
 
Join Date: Jan 2012
Location: From outer space
Posts: 4,689
Thanks: 1,106
Thanked 7,336 Times in 2,838 Posts
KaktoR is on a distinguished road
You have to use TNewMemo for the Memos (WizardForm.LicenseMemo and WizardForm.InfoBeforeMemo) because cjstyles is not compatible with TRichEditViewer.
__________________
Haters gonna hate
Reply With Quote
The Following User Says Thank You to KaktoR For This Useful Post:
yasitha (24-02-2019)
  #14  
Old 24-02-2019, 05:48
yasitha's Avatar
yasitha yasitha is offline
Registered User
 
Join Date: Apr 2013
Location: Krypton
Posts: 297
Thanks: 204
Thanked 48 Times in 33 Posts
yasitha is on a distinguished road
Quote:
Originally Posted by KaktoR View Post
You have to use TNewMemo for the Memos (WizardForm.LicenseMemo and WizardForm.InfoBeforeMemo) because cjstyles is not compatible with TRichEditViewer.
Oky, if you could please post whole codes that correct this issues would be very nice
Thanks...
__________________
Keep Up The Good Works!
Reply With Quote
  #15  
Old 24-02-2019, 05:59
Schabik Schabik is offline
Registered User
 
Join Date: Dec 2008
Location: Somewhere in Poland
Posts: 152
Thanks: 17
Thanked 35 Times in 32 Posts
Schabik is on a distinguished road
When will be beta7 posted? :-)
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
[Help] need Advanced Installer script with Razor1911's UltraArc module rez3vil Conversion Tutorials 3 15-04-2024 02:24
Portable Installer Inno Setup Script y_thelastknight Conversion Tutorials 59 23-10-2020 00:02
INDEX - Conversion Tutorial Index Razor12911 Conversion Tutorials 5 11-06-2020 02:05
Simple Arc Installer 78372 Conversion Tutorials 1 15-06-2017 15:37
MSC+Srep+lzma Simple Script Example gozarck Conversion Tutorials 10 07-09-2015 16:31



All times are GMT -7. The time now is 23:48.


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