Added definable limit of added variations count when generating a symmetric flame.
This commit is contained in:
parent
c6185f9095
commit
fff8159c07
@ -1,10 +1,11 @@
|
||||
2.02j
|
||||
2.03a
|
||||
+ Fixed save flame naming problem
|
||||
+ Save png transparent images
|
||||
+ multithread rendering
|
||||
+ Parameterized variations
|
||||
+ blob variation
|
||||
+ pdj variation
|
||||
+ Added definable limit of added variations count when generating symmetric flames
|
||||
|
||||
2.02i
|
||||
+ Fixed Randomize gradient in batch bug
|
||||
|
@ -1650,7 +1650,8 @@ begin
|
||||
|
||||
// for (k = 1; (k < sym)&&(i < NXFORMS); k + + ) {
|
||||
k := 1;
|
||||
while (k < sym) and (i < NXFORMS) do
|
||||
// while (k < sym) and (i < NXFORMS) do
|
||||
while (k < sym) and (i < SymmetryNVars) do
|
||||
begin
|
||||
cp.xform[i].density := 1.0;
|
||||
cp.xform[i].vars[0] := 1.0;
|
||||
|
@ -107,6 +107,7 @@ var
|
||||
defFlameFile: string;
|
||||
SymmetryType: integer;
|
||||
SymmetryOrder: integer;
|
||||
SymmetryNVars: integer;
|
||||
Variations: array[0..63] of boolean;
|
||||
VariationOptions: int64;
|
||||
{ For random gradients }
|
||||
|
@ -4,7 +4,7 @@ object OptionsForm: TOptionsForm
|
||||
BorderIcons = [biSystemMenu, biMinimize, biMaximize, biHelp]
|
||||
BorderStyle = bsDialog
|
||||
Caption = 'Options'
|
||||
ClientHeight = 296
|
||||
ClientHeight = 308
|
||||
ClientWidth = 467
|
||||
Color = clBtnFace
|
||||
Font.Charset = ANSI_CHARSET
|
||||
@ -22,7 +22,7 @@ object OptionsForm: TOptionsForm
|
||||
TextHeight = 13
|
||||
object btnOK: TButton
|
||||
Left = 304
|
||||
Top = 264
|
||||
Top = 280
|
||||
Width = 75
|
||||
Height = 25
|
||||
Caption = 'OK'
|
||||
@ -32,7 +32,7 @@ object OptionsForm: TOptionsForm
|
||||
end
|
||||
object btnCancel: TButton
|
||||
Left = 384
|
||||
Top = 264
|
||||
Top = 280
|
||||
Width = 75
|
||||
Height = 25
|
||||
Caption = 'Cancel'
|
||||
@ -43,8 +43,8 @@ object OptionsForm: TOptionsForm
|
||||
Left = 8
|
||||
Top = 8
|
||||
Width = 451
|
||||
Height = 249
|
||||
ActivePage = GeneralPage
|
||||
Height = 265
|
||||
ActivePage = RandomPage
|
||||
TabOrder = 0
|
||||
TabStop = False
|
||||
object GeneralPage: TTabSheet
|
||||
@ -490,7 +490,7 @@ object OptionsForm: TOptionsForm
|
||||
Left = 8
|
||||
Top = 136
|
||||
Width = 193
|
||||
Height = 72
|
||||
Height = 97
|
||||
Caption = 'Forced symmetry'
|
||||
TabOrder = 3
|
||||
object Label7: TLabel
|
||||
@ -511,6 +511,15 @@ object OptionsForm: TOptionsForm
|
||||
AutoSize = False
|
||||
Caption = 'Order:'
|
||||
end
|
||||
object Label24: TLabel
|
||||
Left = 8
|
||||
Top = 72
|
||||
Width = 32
|
||||
Height = 13
|
||||
Alignment = taRightJustify
|
||||
AutoSize = False
|
||||
Caption = 'Limit:'
|
||||
end
|
||||
object cmbSymType: TComboBox
|
||||
Left = 48
|
||||
Top = 16
|
||||
@ -548,6 +557,25 @@ object OptionsForm: TOptionsForm
|
||||
TabOrder = 2
|
||||
Thousands = False
|
||||
end
|
||||
object txtSymNVars: TEdit
|
||||
Left = 48
|
||||
Top = 70
|
||||
Width = 121
|
||||
Height = 21
|
||||
TabOrder = 3
|
||||
Text = '12'
|
||||
end
|
||||
object udSymNVars: TUpDown
|
||||
Left = 169
|
||||
Top = 70
|
||||
Width = 15
|
||||
Height = 21
|
||||
Associate = txtSymNVars
|
||||
Min = 4
|
||||
Position = 12
|
||||
TabOrder = 4
|
||||
Thousands = False
|
||||
end
|
||||
end
|
||||
end
|
||||
object VariationsPage: TTabSheet
|
||||
@ -557,7 +585,7 @@ object OptionsForm: TOptionsForm
|
||||
Left = 8
|
||||
Top = 0
|
||||
Width = 341
|
||||
Height = 217
|
||||
Height = 233
|
||||
HelpContext = 1026
|
||||
Caption = 'Enabled'
|
||||
TabOrder = 2
|
||||
@ -565,7 +593,7 @@ object OptionsForm: TOptionsForm
|
||||
Left = 12
|
||||
Top = 16
|
||||
Width = 309
|
||||
Height = 189
|
||||
Height = 209
|
||||
ItemHeight = 13
|
||||
TabOrder = 0
|
||||
TabWidth = 100
|
||||
@ -573,7 +601,7 @@ object OptionsForm: TOptionsForm
|
||||
end
|
||||
object btnSetAll: TButton
|
||||
Left = 356
|
||||
Top = 160
|
||||
Top = 176
|
||||
Width = 75
|
||||
Height = 25
|
||||
HelpContext = 1027
|
||||
@ -583,7 +611,7 @@ object OptionsForm: TOptionsForm
|
||||
end
|
||||
object btnClearAll: TButton
|
||||
Left = 356
|
||||
Top = 192
|
||||
Top = 208
|
||||
Width = 75
|
||||
Height = 25
|
||||
HelpContext = 1028
|
||||
@ -1431,6 +1459,6 @@ object OptionsForm: TOptionsForm
|
||||
end
|
||||
object OpenDialog: TOpenDialog
|
||||
Left = 16
|
||||
Top = 264
|
||||
Top = 280
|
||||
end
|
||||
end
|
||||
|
@ -178,6 +178,9 @@ type
|
||||
txtTryLength: TEdit;
|
||||
txtJPEGquality: TComboBox;
|
||||
rgTransparency: TRadioGroup;
|
||||
Label24: TLabel;
|
||||
txtSymNVars: TEdit;
|
||||
udSymNVars: TUpDown;
|
||||
procedure btnCancelClick(Sender: TObject);
|
||||
procedure FormShow(Sender: TObject);
|
||||
procedure btnOKClick(Sender: TObject);
|
||||
@ -280,8 +283,13 @@ begin
|
||||
txtRandomPrefix.text := RandomPrefix;
|
||||
chkKeepbackground.Checked := KeepBackground;
|
||||
cmbSymType.ItemIndex := SymmetryType;
|
||||
if (SymmetryType = 0) or (SymmetryType = 1) then txtSymOrder.enabled := false;
|
||||
if (SymmetryType = 0) or (SymmetryType = 1) then
|
||||
begin
|
||||
txtSymOrder.enabled := false;
|
||||
txtSymNVars.enabled := false;
|
||||
end;
|
||||
udSymOrder.Position := SymmetryOrder;
|
||||
udSymNVars.Position := SymmetryNVars;
|
||||
|
||||
{ Variations tab }
|
||||
UnpackVariations(VariationOptions);
|
||||
@ -395,6 +403,7 @@ begin
|
||||
RandomPrefix := txtRandomPrefix.text;
|
||||
SymmetryType := cmbSymType.ItemIndex;
|
||||
SymmetryOrder := udSymOrder.Position;
|
||||
SymmetryNVars := udSymNVars.Position;
|
||||
KeepBackground := chkKeepbackground.Checked;
|
||||
|
||||
{Gradient tab }
|
||||
@ -477,9 +486,14 @@ end;
|
||||
procedure TOptionsForm.cmbSymTypeChange(Sender: TObject);
|
||||
begin
|
||||
if (cmbSymType.ItemIndex = 0) or (cmbSymType.ItemIndex = 1) then
|
||||
txtSymOrder.enabled := false
|
||||
else
|
||||
begin
|
||||
txtSymOrder.enabled := false;
|
||||
txtSymNVars.enabled := false;
|
||||
end else
|
||||
begin
|
||||
txtSymOrder.enabled := true;
|
||||
txtSymNVars.enabled := true;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TOptionsForm.btnSetAllClick(Sender: TObject);
|
||||
|
@ -267,6 +267,14 @@ begin
|
||||
begin
|
||||
SymmetryOrder := 4;
|
||||
end;
|
||||
if Registry.ValueExists('SymmetryNVars') then
|
||||
begin
|
||||
SymmetryNVars := Registry.ReadInteger('SymmetryNVars');
|
||||
end
|
||||
else
|
||||
begin
|
||||
SymmetryNVars := 12;
|
||||
end;
|
||||
if Registry.ValueExists('VariationOptions') then
|
||||
begin
|
||||
VariationOptions := Registry.ReadInteger('VariationOptions');
|
||||
@ -535,6 +543,7 @@ begin
|
||||
RandomDate := '';
|
||||
SymmetryType := 0;
|
||||
SymmetryOrder := 4;
|
||||
SymmetryNVars := 12;
|
||||
VariationOptions := 262143;
|
||||
UnpackVariations(VariationOptions);
|
||||
MinNodes := 2;
|
||||
@ -872,6 +881,7 @@ begin
|
||||
Registry.WriteString('SmoothPaletteFile', defSmoothPaletteFile);
|
||||
Registry.WriteInteger('SymmetryType', SymmetryType);
|
||||
Registry.WriteInteger('SymmetryOrder', SymmetryOrder);
|
||||
Registry.WriteInteger('SymmetryNVars', SymmetryNVars);
|
||||
Registry.WriteInteger('VariationOptions', VariationOptions);
|
||||
Registry.WriteInteger('ReferenceMode', ReferenceMode);
|
||||
Registry.WriteInteger('MinNodes', MinNodes);
|
||||
|
Loading…
Reference in New Issue
Block a user