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