View Full Version : CIU V2 Designer Preview
Early on opinions would be really helpful.
I just wanted to test the water:D
Download (https://drive.google.com/file/d/1dl-Z724D7WJEM9hv-yc2MqN8vn68lmLn/view?usp=sharing)
Bold checkbox doesn't work on buttons.
Will test more on weekend.
Thanks for this early preview :)
PS: I vote for sticky, as this could be useful ;)
PS: I vote for sticky, as this could be useful ;)
Your vote was all it needed to become a Sticky :)
@Gupta
Your job is getting great.
This is all that conversion creators need.
I have some ideas for you if you want any suggestions.
- In the Equalizer tab of the designer if you want you can change "Line Position" to "Anchor" because this will be changed to the next versions in setup.ini.
- The alignment positions will also be used in 2 axes, for some components like LangBox and Equalizers in setup.ini. Position=<x>,<y> as Position=center,bottom (the values left and Top will be decremented if the value is right/bottom).
It was not included, but soon it will be included in the script.
INFO:
In box mode, the FlagByLine and FlagBoxAlignment keys can be used with different values and alignments for each line, separating the values with a comma.
If you use right alignment you may need to use the FlagBoxWidth key.
Example for 10 languages in 3 lines:
FlagByLine=5,2,3
FlagBoxAlignment=left,right,center
FlagBoxWidth=100
You are using the 1.0.0.0.u5 script.
If your project is going to take a long time to complete it might be better to work with version 3.0.0.1 beta 3.
There will be several changes in the next versions.
Any questions you have about any CIU operation can ask me for PM.
In beta version 4 of 3.0.0.1, all flags in the CIU source code folder will be removed.
The flags will be created at run time allowing you to configure various effects.
I will send you the source code for version 3.0.0.1 by PM for you to understand better and prepare for version 3.0.0.1 (if you wish).
Thank you for working on a DESIGNER tool for CIU.
PS: Gupta I sent you a PM.
current GetFlayByLine function is pretty hard to understand, reading the description can't we do it in this way;
and please whoever is developing current CIU please try to use meaningful variable names. L1 LN S1 doesn't make any sense
function GetFlagByLine: TArrayOfInteger;
var
FlagDist, CurrFlagCount: String;
I, LangCount, LangUsed, LastLineCount: Integer;
begin
LangCount := LangNumber;
LangUsed := 0;
LastLineCount := 0;
SetArrayLength(Result, 0);
FlagDist := GetValStr('LangBox', 'FlagByLine', '0') + ',';
while (Length(FlagDist) > 0) and (LangUsed < LangCount) do begin
CurrFlagCount := Trim(Copy(FlagDist, 0, Pos(',', FlagDist) - 1));
FlagDist := Copy(FlagDist, Pos(',', FlagDist) + 1, Length(FlagDist));
SetArrayLength(Result, GetArrayLength(Result) + 1);
I := GetArrayLength(Result) - 1;
Result[I] := StrToInt(CurrFlagCount);
if Result[I] > LangCount - LangUsed then
Result[I] := LangCount - LangUsed;
LangUsed := LangUsed + Result[I];
LastLineCount := Result[I];
end;
if LangUsed <> LangCount then
begin
if LastLineCount = 0 then
begin
SetArrayLength(Result, GetArrayLength(Result) + 1);
Result[GetArrayLength(Result) - 1] := LangCount - LangUsed;
end else begin
while LangUsed <> LangCount do
begin
SetArrayLength(Result, GetArrayLength(Result) + 1);
I := GetArrayLength(Result) - 1;
Result[I] := LangCount - LangUsed;
if Result[I] > LastLineCount then
Result[I] := LastLineCount;
LangUsed := LangUsed + Result[I];
end;
end;
end;
end;
@Gupta
1- The alignment positions will also be used in 2 axes, for some components like LangBox and Equalizers in setup.ini. Position=<x>,<y> as Position=center,bottom (the values left and Top will be decremented if the value is right/bottom).
It was not included, but soon it will be included in the script.
.
I think anchors are not very useful in designer, What do you think about the "Horizontal Center" and "Vertical center" under the flags tab, we can have equivalent buttons under other controls with left, right, bottom, top buttons.
current GetFlayByLine function is pretty hard to understand, reading the description can't we do it in this way;
and please whoever is developing current CIU please try to use meaningful variable names. L1 LN S1 doesn't make any sense
I am currently developing on the CIU script.
At the time KaktoR didn't know much about programming and I helped him to solve some problems in the script and then he gave me the opportunity to continue editing the script.
KaktoR tests and takes care of the compressors and shares the versions I send to him.
I use variables S1, L1, etc so that the code is smaller and better visualization of most of the code in the Inno Setup interface. But each variable has its meaning in relation to what it does.
S1, S2, S3 = Temporary Strings.
FL = Flags per line.
FC = Flags count.
LN = Language Number.
In this GetFlagByLine function, if the number of parameters in FlagsByLine= key (setup.ini) does not cover all flags, the next lines will have the same amount as the previous one. The same is true in the GetFlagBoxAlign function.
Example containing 17 flags.
FlagsByLine=3,2,5
Results:
line 1 with 3 flags
line 2 with 2 flags
line 3 with 5 flags
line 4 with 5 flags
line 5 with 2 flags (3 + 2 + 5 + 5 + 2 = 17)
Look the test with my code in the attached file.
It avoids several errors due to lack of information that can happen if the user does not configure Setup.ini correctly.
It also only makes it possible to activate the BOX mode and no other keys are needed to create a square with the flags.
In my code it is also possible to insert empty lines between the lines with flags, as for example for 16 languages in 4 lines of flags and 3 empty lines.
FlagsByLine=4,0,4,0,4,0,4
I think anchors are not very useful in designer, What do you think about the "Horizontal Center" and "Vertical center" under the flags tab, we can have equivalent buttons under other controls with left, right, bottom, top buttons.
I referred to using "Anchor" the caption of the label, because it is the side on which the equalizer animation is anchored.
But for manual editing of Setup.ini the Equalizer key Position= will no longer refer to the position of the Equalizer line (future versions of CIU).
The Position= key will be the alignment of the equalizer to the background (Similar to LangBox).
The current key Position= with the line position functionality will be called Anchor= (in future versions).
This key position will have one or two parameters separated by commas for full compatibility with previous versions of CIU.
It will be possible to use 9 combinations X, Y as:
Position= Left,Top
Position= Left,Center
Position= Left,Bottom
Position= Center,Top
Position= Center,Center
Position= Center,Bottom
Position= Right,Top
Position= Right,Center
Position= Right,Bottom
I am currently developing on the CIU script.
At the time KaktoR didn't know much about programming and I helped him to solve some problems in the script and then he gave me the opportunity to continue editing the script.
KaktoR tests and takes care of the compressors and shares the versions I send to him.
I use variables S1, L1, etc so that the code is smaller and better visualization of most of the code in the Inno Setup interface. But each variable has its meaning in relation to what it does.
S1, S2, S3 = Temporary Strings.
FL = Flags per line.
FC = Flags count.
LN = Language Number.
In this GetFlagByLine function, if the number of parameters in FlagsByLine= key (setup.ini) does not cover all flags, the next lines will have the same amount as the previous one. The same is true in the GetFlagBoxAlign function.
Example containing 17 flags.
FlagsByLine=3,2,5
Results:
line 1 with 3 flags
line 2 with 2 flags
line 3 with 5 flags
line 4 with 5 flags
line 5 with 2 flags (3 + 2 + 5 + 5 + 2 = 17)
Look the test with my code in the attached file.
It avoids several errors due to lack of information that can happen if the user does not configure Setup.ini correctly.
It also only makes it possible to activate the BOX mode and no other keys are needed to create a square with the flags.
You should write some comments, the code I shared above do the same but imho its more concise and understandable I'm not good with naming variable but it still imho it does the job pretty well
I still didn't get why you used sqrt and other function
Will come back to you on tomorrow
I referred to using "Anchor" the caption of the label, because it is the side on which the equalizer animation is anchored.
But for manual editing of Setup.ini the Equalizer key Position= will no longer refer to the position of the Equalizer line (future versions of CIU).
The Position= key will be the alignment of the equalizer to the background (Similar to LangBox).
The current key Position= with the line position functionality will be called Anchor= (in future versions).
This key position will have one or two parameters separated by commas for full compatibility with previous versions of CIU.
It will be possible to use 9 combinations X, Y as:
Position= Left,Top
Position= Left,Center
Position= Left,Bottom
Position= Center,Top
Position= Center,Center
Position= Center,Bottom
Position= Right,Top
Position= Right,Center
Position= Right,Bottom
I didn't read it fully...
I'm thinking of adding anchor based support for button at least so to say anchor this button to left of the another button , tis is my biggest complain with razor's designer that i've to manually align everything
I still didn't get why you used sqrt and other function
It is used to calculate and create a square Box with the flags if FlagByLine key (in setup.ini) is empty or does not exist.
if GetArrayLength(Result) = 0 then begin {If no results were obtained, it calculates the quantity to creates a square with the number of flags in the project.}
FL := Trunc(Sqrt(LN)) + (Trunc(Sqrt(LN)) mod 2);
SetArrayLength(Result, Trunc(Sqrt(LN)) + 1);
for I := 0 to GetArrayLength(Result) - 1 do begin
if FC + FL > LN then
FL := LN - FC;
Result[I] := FL;
FC := FC + FL
end;
end;
This part adds only the numeral characters from temporary variable S2 to S3.
S3 := '';
for I := 1 to Length(S2) do
if StrToIntDef(S2[I], 10) < 10 then
S3 := S3 + S2[I];
This part avoids including a line with zero flags at the top (LangBox Top).
if (S3 <> '') and (LN > FC)
and ((StrToIntDef(S3, 0) > 0) or (GetArrayLength(Result) > 0)) then
begin
If the flags of the lines informed in FlagsByLine remain, this part creates new lines with the same number of flags as the previous line.
while (LN - FC > 0) and (FL > 0) do begin
if FC + FL > LN then
FL := LN - FC;
SetArrayLength(Result, GetArrayLength(Result) + 1);
Result[GetArrayLength(Result) - 1] := FL;
FC := FC + FL
end;
This part creates a new line with the remaining flags at the end.
It also removes an empty line of flags from the end of the box for the correct CENTER alignment.
if GetArrayLength(Result) > 0 then begin
if LN - FC > 0 then
Result[GetArrayLength(Result) - 1] := FL + LN - FC;
if Result[GetArrayLength(Result) - 1] = 0 then
SetArrayLength(Result, GetArrayLength(Result) - 1);
end;
See the example script I attached in the previous post.
Just change the values within GetValStr and SetArrayLength(Languages, 16).
Sorry, my whole point was that you should write such that you don't need to explain.
@Gupta. Yes I understood.
But I like to repurpose variables when they are no longer being used within the same function.
If I declare the variable with a specific name to what it is working on, using it in another part of the code would be bad, then I use S, S1, S2, etc.
In this GetFlagsByLine function I could have used variables with more informative names, but I wanted to reduce the text.
If you want I can remove my previous posts from this topic, as it is not useful for most readers.
Thank you for reporting my misuse of variable names.
I will try to use less confusing variables going forward.
Here is another one
Can anyone compile different editable components of "TextStage" per page. I wanted to do an option to see the live preview of text stage.
mausschieber
29-02-2020, 06:51
Here is another one
Can anyone compile different editable components of "TextStage" per page. I wanted to do an option to see the live preview of text stage.
there was an error at start the exe
https://abload.de/thumb/errorpmkwa.jpg (https://abload.de/image.php?img=errorpmkwa.jpg)
there was an error at start the exe
https://abload.de/thumb/errorpmkwa.jpg (https://abload.de/image.php?img=errorpmkwa.jpg)
Sorry please redownload from #14 (https://fileforums.com/showpost.php?p=484736&postcount=14)
you have to extract it over from the archive #1
mausschieber
29-02-2020, 15:41
Sorry please redownload from #14 (https://fileforums.com/showpost.php?p=484736&postcount=14)
you have to extract it over from the archive #1
now another error
https://abload.de/img/erroryxjdj.jpg
now another error
https://abload.de/img/erroryxjdj.jpg
First extract the archive from first post and then replace extracted designer.exe with one inside the archive of #14 post
@mausschieber - Replace designer.exe in the Designer 20022020 folder
@Gupta - Great job!
There are 2 "Setup" tabs on your designer interface. The first one could be "Settings" or "Options".
INFO:
There are 3 types of titles in CIU.
SetupTitle, SetupTitleAR = Title of the installer or Autorun similar to the caption of the windows window border.
PageTitle = Title of the TextStage text for each page of the installer.
PageBigTitle = Similar to the previous one, it displays the title of each page but allows its placement in the installer.
pakrat2k2
01-03-2020, 07:06
Instead of having little fixes here & there. Everything should be in the first post.
-take file out of post 14 & put in first post, or better replace first post with updated exe.
Going to be too confusing with stuff in multiple posts all thru the topc.
kind of rewrote everything
now you can export setup.ini and other images
also, archive contains source as well.
https://drive.google.com/open?id=162BV7_HitMW15l-shbLZBQWaeYNnBZEi
kind of rewrote everything
now you can export setup.ini and other images
also, archive contains source as well.
https://drive.google.com/open?id=162BV7_HitMW15l-shbLZBQWaeYNnBZEi
Thanks for the update.
Suggestions:
- It would be great if you had the option to import the setup.ini (Load Project) from an existing project and automatically load the image files from the Setup folder on the same path as the Setup.ini.
- A copy/paste option for button styles would be useful, for example through a context menu on project buttons.
- When searching for the first image of a button (If you have not yet uploaded images or the image is different in size from the old image) the measurements should be resized to the actual size of the uploaded image. You could have a checbox to disable this option if necessary.
Erros found:
- The LabelX, LabelY, ShadowX, ShadowY options are not supporting negative values.
- I didn't find Width and Height options for TextStage.
Similar to the Width= and Height= keys [TextStage] section of the Setup.ini file
- When loading an image Autorun.png/Installer1.png/SmallInstaller.png should always automatically load the actual dimensions of the image and not allow changing Width and Height for these components because the CreateFormFromImage function of botva2 creates the form exactly with the dimensions of the image and not the Width and Height of Setup.ini
Updated the first page with release4
Changes
Import and other bugfixes and other
@Gupta
Great job!
It got a lot better now.
Try importing the Shadow of the Tomb Raider installer (CIU theme 3.0.0.0.u5)
You will see some things that are not correct.
- The default shadow value is 2 for both.
ShadowMoveX and ShadowMoveY will be increased by this value.
If ShadowMoveX=0 and ShadowMoveY=0 the shadow must be positioned 2 pixels to the right and 2 pixels below (default)
ShadowMoveX and ShadowMoveY are not supporting negative values like -4 for example (LabelX, LabelY must support negative values too).
Error found when using the Shadow of the Tomb Raider installer:
AUTORUN PAGE:
- The remnants of the autorun labels are disabled and the shadow position is not incorrect.
- LabelX and LabelY must move the entire label + shadow together.
- The MusicIconAR button is not visible because if musicIcoAR is superimposed on the MusicAR button it behaves like a single button. In this case MusicIconAR is defined as disabled (I think the designer does not yet support this).
- The designer is not loading the correct fonts for the button label (Font#.ttf included in the installer).
- The caption for WebSite1 should not include the value "1" (but this is not so important).
INSTALLER PAGE:
- The placement of the example TextBG labels is not in the correct Top position (Welcome is well below what it should be).
- The Cloze/Minimize button is showing caption (There is no caption on these buttons)
- The SmallMusic/SmallCancel button is being displayed in the installer (I think the designer doesn't support SmallInstaller yet).
I hope these comments are useful for you.
Thanks for the work!
Minor Update
Font import and export, Negative Shadow and other values, Label and shadow move fix, and other
> The MusicIconAR button is not visible because if musicIcoAR is superimposed on the MusicAR button it behaves like a single button. In this case MusicIconAR is defined as disabled (I think the designer does not yet support this).
I don't think I will support this (for now)
> - The remnants of the autorun labels are disabled and the shadow position is not incorrect.
Couldn't follow you, please explain more.
- The SmallMusic/SmallCancel button is being displayed in the installer (I think the designer doesn't support SmallInstaller yet).
Can you explain to me designing SmallInstaller(what are its components and how it works)?
Minor Update
Font import and export, Negative Shadow and other values, Label and shadow move fix, and other
Thank you....
I think the values for "Shadow Move X" and "Shadow Move Y" should work differently. It should display 0 in the MoveX and MoveY box, but it should position 2 pixels Left and Top.
ShdLeft: = LblLeft + 2 + ShadowMoveX;
ShdTop: = LblTop + 2 + ShadowMoveY;
The font still displays "MS Shell Dlg 2" in the font box for each label (Button).
You may have read the value only on the key for the button.
If the key for the button is empty you should read it in the button group section (Group for Autorun page is [StandardButtonAR] section, for Installer page is [StandardButton] section and for Small buttons group is [SmallButton] section)
> The MusicIconAR button is not visible because if musicIcoAR is superimposed on the MusicAR button it behaves like a single button. In this case MusicIconAR is defined as disabled (I think the designer does not yet support this).
I don't think I will support this (for now)
OK.
In the source code CIU 3.0.0.0.u5 (Your designer uses this version) you can better understand by looking at lines 10893 to 10904 of the script
If the MusicIconAR (hMusicAR) button is inside MusicButtonAR it is disabled.
The same is true for hMusic.
BtnGetPosition(hMusicAR, Rect.Left, Rect.Top, Rect.Bottom, Rect.Right);
Rect.Bottom := Rect.Top + Rect.Bottom;
Rect.Right:= Rect.Left + Rect.Right;
BtnSetEnabled(hMusicAR, (not RectInRect(Rect, BoundsToRect(CstmBtn[MusicARBtn].Area.Left, CstmBtn[MusicARBtn].Area.Top, CstmBtn[MusicARBtn].Area.Width, CstmBtn[MusicARBtn].Area.Height))));
BtnGetPosition(hMusic, Rect.Left, Rect.Top, Rect.Bottom, Rect.Right);
Rect.Bottom := Rect.Top + Rect.Bottom;
Rect.Right:= Rect.Left + Rect.Right;
BtnSetEnabled(hMusic, (not RectInRect(Rect, BoundsToRect(CstmBtn[MusicBtn].Area.Left, CstmBtn[MusicBtn].Area.Top, CstmBtn[MusicBtn].Area.Width, CstmBtn[MusicBtn].Area.Height))));
BtnGetPosition(hMusicSI, Rect.Left, Rect.Top, Rect.Bottom, Rect.Right);
Rect.Bottom := Rect.Top + Rect.Bottom;
Rect.Right:= Rect.Left + Rect.Right;
BtnSetEnabled(hMusicSI, (not RectInRect(Rect, BoundsToRect(CstmBtn[MusicBtn].Area.Left, CstmBtn[MusicBtn].Area.Top, CstmBtn[MusicBtn].Area.Width, CstmBtn[MusicBtn].Area.Height))));
> - The remnants of the autorun labels are disabled and the shadow position is not incorrect.
Couldn't follow you, please explain more.
Sorry, I wrote it wrong. (The shadows of the autorun labels are disabled...)
- The SmallMusic/SmallCancel button is being displayed in the installer (I think the designer doesn't support SmallInstaller yet).
Can you explain to me designing SmallInstaller(what are its components and how it works)?
I think 2 more new tabs could be added along with the existing Option/Autorun/Setup tabs in your designer.
New Tabs: SmallInstaller and Background
- SmallInstaller >> SmallInstaller interface settings.
- Background >> Slides + Video + subtitles settings.
> Can you explain to me designing SmallInstaller(what are its components and how it works)?
I was asking how it works in CIU?
> Can you explain to me designing SmallInstaller(what are its components and how it works)?
I was asking how it works in CIU?
I did not understand the question.
SmallInstaller is similar to the normal Installer page, but is displayed with a full screen or video slide show while installing the game.
The installer is resized and the corresponding images are loaded when starting the installation.
SmallInstaller options in Setup.ini sections:
[SmallButton] >> Group of button (Common value for all small buttons. Value is used if the section key corresponding to the button does not exist.)
[SmallCancelButton] >> Button is positioned on the right side of smallInstaller by default, but the value left, top can be entered.
[SmallMusicButton] >> Button is positioned on the left side of smallInstaller by default, but the value left, top can be entered.
[EqualizerButtonSI] >> Same property as other equalizers, but displayed in the smallinstaller.
[SmallInstaller] >> All major SmallInstaller settings
[ProgressBarSI] >> Positioning the SmallInstaller progress bar.
[PercentLabelSI] >> SmallInstaller installation percentage display label
Images used in SmallInstaller:
SmallButton.png \ SmallButtonSelected.png \ SmallButtonClicked.png
SmallCancel.png \ SmallCancelSelected.png \ SmallCancelClicked.png
SmallMusic.png \ SmallMusicSelected.png \ SmallMusicClicked.png
EqualizerSI.png \ EqualizerSISelected.png \ EqualizerSIDisabled.png
SmallInstaller.bmp \ SmallInstaller.png \ SmallInstaller_<LANG>.png
To display smallInstaller in version 3.0.0.0.u5, you need at least one slide image in the Setup\Background folder and the image of smallInstaller in the Setup\Setup folder.
Setup\Background\1.jpg or Setup\Background\1.png or Setup\Background\FlashBG.swf (need Flash Installed)
Setup\Setup\SmallInstaller.png
In CIU 3.0.0.0.u5 to change between Installer and SmallInstaller during installation just use a double click on the installer/smallinstaller interface.
Download a demo video HERE (https://mega.nz/file/JYQDDCKS#psdlx0cLk9q1arrcPoEMdtIGnm7FS3LuD44Bgt4si kg) (Some features seen in the video are new in the beta)
I think you should just consult the file "_Setup.ini" in the CIU "Help" folder and create your designer including all the keys from _Setup.ini you can get.
If you are in doubt about what each key is for, send me the section / key that I explain better.
On site buttons all site buttons can have a common site (required) and it also supports a site for each language.
Thanks!
mausschieber
26-06-2020, 05:28
I found also a few bugs
first the Websitebutton is not shown
the font does not match with the font in setup.ini
mausschieber
27-11-2020, 03:32
Hello is the project dead or will it continue someday?
Hello is the project dead or will it continue someday?
I don't know. There doesn't seem to be much interest here too. So I thought it's better to spend more time on other real world projects like I am helping in rewriting vlc ui for 4.x release :cool:
mausschieber
27-11-2020, 15:11
I don't know. There doesn't seem to be much interest here too. So I thought it's better to spend more time on other real world projects like I am helping in rewriting vlc ui for 4.x release :cool:
yes i use it always when i set the pictures and buttons
so this where very usefull when the project goes on
thanks for your replay and work on it
I can implement some minor feature request if you have any but no promises.
mausschieber
28-11-2020, 02:31
I can implement some minor feature request if you have any but no promises.
yes as i say before the website button is not shown after import the setup.ini file. it must be paste by hand . smallinstaller added will be very usefull
the Font betwenn setup.ini and designer do not match
I can implement some minor feature request if you have any but no promises.
This was a great project.
It would be very useful for forum users if this project continues to be updated (There are still a lot of resources left).
It's a shame that he was abandoned!
It was another one project that just started, but it is usually like that, a lot of work for something that has changed a lot like CIU.
Thanks for trying with the project.
mausschieber
28-11-2020, 09:18
This was a great project.
It would be very useful for forum users if this project continues to be updated (There are still a lot of resources left).
It's a shame that he was abandoned!
It was another one project that just started, but it is usually like that, a lot of work for something that has changed a lot like CIU.
Thanks for trying with the project.
yes it was a great project not only for me i think i use it every time i make conversions to setup Buttons and the other things from setup.ini so it is implemented. it would be a shame if the project doesn't go on
Update Available
Fixed some bugs
mausschieber
01-12-2020, 13:38
Font is now matching with setup.ini
but the website does not match ist it while i use the CIU 3.0.0.1?
and a smallinstaller where be usefull to implement
Who could not be interested in this project !!!
Of course there is the interest of many users (I include myself too).
It would be very nice if it continued, because it would make things much easier.
It would help us save time (that sometimes are many hours) in creating the installer.
mausschieber
06-12-2020, 08:37
i have new Requests for this Project
can you Implement System Check to Position the text and the Boxes
implement Component Settings and Destination Site to Positioning the text and Boxes also a smallInstaller will be very usefull
here now i use the CIU version 3.0.0.1 if this is helpfull
thanks and stay health
mausschieber
15-01-2021, 13:17
it's a shame that it doesn't go on here, because it would make it a lot easier when creating the setup.
But there are still some things missing that need to be integrated. but apparently I'm the only one using it.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.