new options

This commit is contained in:
zueuk 2006-09-06 12:39:01 +00:00
parent 3f5e7e6a72
commit 5660d78da7
4 changed files with 248 additions and 103 deletions

View File

@ -36,7 +36,7 @@ function dist(x1, y1, x2, y2: double): double;
function GetVal(token: string): string; function GetVal(token: string): string;
function ReplaceTabs(str: string): string; function ReplaceTabs(str: string): string;
{ Palette and gradient functions } { Palette and gradient functions }
function GetGradient(FileName, Entry: string): string; //function GetGradient(FileName, Entry: string): string;
{ Misc } { Misc }
function det(a, b, c, d: double): double; function det(a, b, c, d: double): double;
function solve3(x1, x2, x1h, y1, y2, y1h, z1, z2, z1h: double; function solve3(x1, x2, x1h, y1, y2, y1h, z1, z2, z1h: double;
@ -53,18 +53,25 @@ const
clSlateGray = TColor($837365); clSlateGray = TColor($837365);
FT_BMP = 1; FT_PNG = 2; FT_JPG = 3; FT_BMP = 1; FT_PNG = 2; FT_JPG = 3;
const
crEditArrow = 20;
crEditMove = 21;
crEditRotate = 22;
crEditScale = 23;
var var
MainSeed: integer; MainSeed: integer;
MainTriangles: TTriangles; MainTriangles: TTriangles;
ConfirmDelete: boolean; // Flag confirmation of entry deletion ConfirmDelete: boolean; // Flag confirmation of entry deletion
// FlameTitle: string;
Transforms: integer; // Count of Tranforms Transforms: integer; // Count of Tranforms
EnableFinalXform: boolean; EnableFinalXform: boolean;
AppPath: string; // Path of applicatio file AppPath: string; // Path of applicatio file
OpenFile: string; // Name of currently open file OpenFile: string; // Name of currently open file
CanDrawOnResize: boolean; CanDrawOnResize: boolean;
PreserveWeights: boolean; PreserveWeights: boolean;
{UPR Options}
{ UPR Options }
UPRSampleDensity: integer; UPRSampleDensity: integer;
UPRFilterRadius: double; UPRFilterRadius: double;
UPROversample: integer; UPROversample: integer;
@ -81,16 +88,23 @@ var
Variation: TVariation; // Current variation Variation: TVariation; // Current variation
NumTries, TryLength: integer; // Settings for smooth palette NumTries, TryLength: integer; // Settings for smooth palette
SmoothPaletteFile: string; SmoothPaletteFile: string;
{ Editor }
{ Editor }
UseFlameBackground, UseTransformColors: boolean; UseFlameBackground, UseTransformColors: boolean;
EditorBkgColor, ReferenceTriangleColor: integer; EditorBkgColor, ReferenceTriangleColor: integer;
GridColor1, GridColor2, HelpersColor: integer; GridColor1, GridColor2, HelpersColor: integer;
ExtEditEnabled, TransformAxisLock: boolean; ExtEditEnabled, TransformAxisLock: boolean;
{ Display } DoubleClickSetVars: boolean;
{ Display }
defSampleDensity, defPreviewDensity: Double; defSampleDensity, defPreviewDensity: Double;
defGamma, defBrightness, defVibrancy, defFilterRadius: Double; defGamma, defBrightness, defVibrancy, defFilterRadius: Double;
defOversample: integer; defOversample: integer;
{ Render }
{ Render }
renderDensity, renderFilterRadius: double; renderDensity, renderFilterRadius: double;
renderOversample, renderWidth, renderHeight: integer; renderOversample, renderWidth, renderHeight: integer;
renderBitsPerSample: integer; renderBitsPerSample: integer;
@ -98,7 +112,18 @@ var
JPEGQuality: integer; JPEGQuality: integer;
renderFileFormat: integer; renderFileFormat: integer;
InternalBitsPerSample: integer; InternalBitsPerSample: integer;
{ Defaults }
NrTreads: Integer;
UseNrThreads: integer;
PNGTransparency: integer;
ShowTransparency: boolean;
MainPreviewScale: double;
ExtendMainPreview: boolean;
{ Defaults }
SavePath, SmoothPalettePath: string; SavePath, SmoothPalettePath: string;
RandomPrefix, RandomDate: string; RandomPrefix, RandomDate: string;
RandomIndex: integer; RandomIndex: integer;
@ -117,12 +142,20 @@ var
PlaySoundOnRenderComplete: boolean; PlaySoundOnRenderComplete: boolean;
RenderCompleteSoundFile: string; RenderCompleteSoundFile: string;
SaveIncompleteRenders: boolean;
ShowRenderStats: boolean;
PreviewTimeLimit, FullscreenTimeLimit: integer;
PreviewMinDensity: double;
SymmetryType: integer; SymmetryType: integer;
SymmetryOrder: integer; SymmetryOrder: integer;
SymmetryNVars: 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 }
MinNodes, MaxNodes, MinHue, MaxHue, MinSat, MaxSat, MinLum, MaxLum: integer; MinNodes, MaxNodes, MinHue, MaxHue, MinSat, MaxSat, MinLum, MaxLum: integer;
ReferenceMode: integer;//FixedReference: boolean; ReferenceMode: integer;//FixedReference: boolean;
MainForm_RotationMode: integer; MainForm_RotationMode: integer;
@ -138,18 +171,11 @@ var
ExportJitters: integer; ExportJitters: integer;
ExportGammaTreshold: double; ExportGammaTreshold: double;
OpenFileType: TFileType; OpenFileType: TFileType;
ResizeOnLoad: Boolean; // ResizeOnLoad: Boolean;
ShowProgress: Boolean; ShowProgress: Boolean;
defLibrary: string; defLibrary: string;
LimitVibrancy: Boolean; LimitVibrancy: Boolean;
DefaultPalette: TColorMap; DefaultPalette: TColorMap;
PNGTransparency: integer;
ShowTransparency: boolean;
NrTreads: Integer;
UseNrThreads: integer;
PreviewTimeLimit, FullscreenTimeLimit: integer;
PreviewMinDensity: double;
function Round6(x: double): double; function Round6(x: double): double;
@ -297,9 +323,6 @@ begin
end; end;
end; end;
{ Weight manipulation }
{ Parse } { Parse }
function GetVal(token: string): string; function GetVal(token: string): string;
@ -327,7 +350,7 @@ begin
Result := str; Result := str;
end; end;
(*
{ Palette and gradient functions } { Palette and gradient functions }
function RGBToColor(Pal: TMapPalette; index: integer): Tcolor; function RGBToColor(Pal: TMapPalette; index: integer): Tcolor;
@ -419,6 +442,7 @@ begin
FileStrings.Free; FileStrings.Free;
end; end;
end; end;
*)
end. end.

View File

@ -1,6 +1,6 @@
object OptionsForm: TOptionsForm object OptionsForm: TOptionsForm
Left = 675 Left = 497
Top = 365 Top = 238
BorderIcons = [biSystemMenu, biMinimize, biMaximize, biHelp] BorderIcons = [biSystemMenu, biMinimize, biMaximize, biHelp]
BorderStyle = bsDialog BorderStyle = bsDialog
Caption = 'Options' Caption = 'Options'
@ -51,21 +51,21 @@ object OptionsForm: TOptionsForm
HelpContext = 1 HelpContext = 1
Caption = 'General' Caption = 'General'
object chkConfirmDel: TCheckBox object chkConfirmDel: TCheckBox
Left = 136 Left = 8
Top = 7 Top = 183
Width = 121 Width = 97
Height = 17 Height = 17
HelpContext = 1005 HelpContext = 1005
Caption = 'Confirm delete' Caption = 'Confirm delete'
TabOrder = 3 TabOrder = 2
end end
object JPEG: TGroupBox object JPEG: TGroupBox
Left = 8 Left = 8
Top = 116 Top = 124
Width = 121 Width = 121
Height = 55 Height = 55
Caption = 'JPEG Quality' Caption = 'JPEG Quality'
TabOrder = 2 TabOrder = 1
object txtJPEGquality: TComboBox object txtJPEGquality: TComboBox
Left = 16 Left = 16
Top = 20 Top = 20
@ -82,14 +82,6 @@ object OptionsForm: TOptionsForm
'120') '120')
end end
end end
object chkResize: TCheckBox
Left = 136
Top = 25
Width = 121
Height = 17
Caption = 'Resize on load'
TabOrder = 4
end
object GroupBox16: TGroupBox object GroupBox16: TGroupBox
Left = 8 Left = 8
Top = 4 Top = 4
@ -113,24 +105,13 @@ object OptionsForm: TOptionsForm
'8') '8')
end end
end end
object rgRotationMode: TRadioGroup
Left = 8
Top = 60
Width = 121
Height = 55
Caption = 'Rotation Mode'
Items.Strings = (
'Rotate image'
'Rotate frame')
TabOrder = 1
end
object GroupBox15: TGroupBox object GroupBox15: TGroupBox
Left = 136 Left = 136
Top = 158 Top = 4
Width = 297 Width = 297
Height = 75 Height = 101
Caption = 'When render is finished' Caption = 'On render complete'
TabOrder = 5 TabOrder = 3
object btnBrowseSound: TSpeedButton object btnBrowseSound: TSpeedButton
Left = 264 Left = 264
Top = 41 Top = 41
@ -229,14 +210,22 @@ object OptionsForm: TOptionsForm
Caption = 'Play sound' Caption = 'Play sound'
TabOrder = 1 TabOrder = 1
end end
object chkShowRenderStats: TCheckBox
Left = 8
Top = 72
Width = 185
Height = 17
Caption = 'Show extended render statistics'
TabOrder = 2
end
end end
object GroupBox18: TGroupBox object GroupBox18: TGroupBox
Left = 8 Left = 8
Top = 176 Top = 64
Width = 121 Width = 121
Height = 57 Height = 57
Caption = 'Internal buffer depth' Caption = 'Internal buffer depth'
TabOrder = 6 TabOrder = 4
object cbInternalBitsPerSample: TComboBox object cbInternalBitsPerSample: TComboBox
Left = 16 Left = 16
Top = 20 Top = 20
@ -254,11 +243,11 @@ object OptionsForm: TOptionsForm
end end
object GroupBox19: TGroupBox object GroupBox19: TGroupBox
Left = 136 Left = 136
Top = 56 Top = 112
Width = 201 Width = 201
Height = 97 Height = 97
Caption = 'Time limited previews' Caption = 'Time-limited previews'
TabOrder = 7 TabOrder = 5
Visible = False Visible = False
object Label45: TLabel object Label45: TLabel
Left = 8 Left = 8
@ -452,24 +441,43 @@ object OptionsForm: TOptionsForm
'Wandering (old-style)') 'Wandering (old-style)')
TabOrder = 1 TabOrder = 1
end end
object chkExtendedEdit: TCheckBox object GroupBox21: TGroupBox
Left = 160 Left = 160
Top = 80 Top = 77
Width = 145 Width = 145
Height = 17 Height = 65
Caption = 'Extended edit mode' Caption = 'Editor defaults'
Checked = True
State = cbChecked
TabOrder = 2 TabOrder = 2
object chkAxisLock: TCheckBox
Left = 8
Top = 38
Width = 129
Height = 17
Caption = 'Lock transform axis'
Checked = True
State = cbChecked
TabOrder = 0
end
object chkExtendedEdit: TCheckBox
Left = 8
Top = 18
Width = 129
Height = 17
Caption = 'Extended edit mode'
Checked = True
State = cbChecked
TabOrder = 1
end
end end
object chkAxisLock: TCheckBox object rgDoubleClickVars: TRadioGroup
Left = 160 Left = 8
Top = 100 Top = 144
Width = 145 Width = 297
Height = 17 Height = 57
Caption = 'Lock transform axis' Caption = 'Double-click on variation'
Checked = True Items.Strings = (
State = cbChecked 'Reset value to zero'
'Reset value to zero, if zero set to "1"')
TabOrder = 3 TabOrder = 3
end end
end end
@ -532,7 +540,7 @@ object OptionsForm: TOptionsForm
Left = 8 Left = 8
Top = 4 Top = 4
Width = 169 Width = 169
Height = 169 Height = 229
Caption = 'Rendering' Caption = 'Rendering'
TabOrder = 0 TabOrder = 0
object lblSampleDensity: TLabel object lblSampleDensity: TLabel
@ -625,26 +633,76 @@ object OptionsForm: TOptionsForm
HelpContext = 1011 HelpContext = 1011
TabOrder = 5 TabOrder = 5
end end
object rgTransparency: TRadioGroup
Left = 8
Top = 160
Width = 153
Height = 61
Caption = 'PNG Transparency'
ItemIndex = 0
Items.Strings = (
'Disabled'
'Enabled')
TabOrder = 6
end
end end
object chkShowTransparency: TCheckBox object GroupBox20: TGroupBox
Left = 192
Top = 155
Width = 129
Height = 17
Caption = 'Show Transparency'
TabOrder = 2
end
object rgTransparency: TRadioGroup
Left = 184 Left = 184
Top = 104 Top = 104
Width = 193 Width = 254
Height = 49 Height = 129
Caption = 'PNG Transparency' Caption = 'Main Window Preview'
ItemIndex = 0 TabOrder = 2
Items.Strings = ( object Label48: TLabel
'Disabled' Left = 208
'Enabled') Top = 20
TabOrder = 3 Width = 37
Height = 13
Caption = 'percent'
end
object chkShowTransparency: TCheckBox
Left = 8
Top = 42
Width = 129
Height = 17
Caption = 'Show Transparency'
TabOrder = 2
end
object chkExtendMainPreview: TCheckBox
Left = 8
Top = 20
Width = 145
Height = 17
Caption = 'Extend preview buffer by'
TabOrder = 0
end
object cbExtendPercent: TComboBox
Left = 152
Top = 18
Width = 49
Height = 21
ItemHeight = 13
TabOrder = 1
Items.Strings = (
'0'
'10'
'25'
'50'
'100'
'150'
'200')
end
object rgRotationMode: TRadioGroup
Left = 8
Top = 60
Width = 121
Height = 61
Caption = 'Rotation Mode'
Items.Strings = (
'Rotate image'
'Rotate frame')
TabOrder = 3
end
end end
end end
object RandomPage: TTabSheet object RandomPage: TTabSheet

View File

@ -147,7 +147,6 @@ type
GroupBox8: TGroupBox; GroupBox8: TGroupBox;
Label17: TLabel; Label17: TLabel;
txtServer: TEdit; txtServer: TEdit;
chkResize: TCheckBox;
PathsPage: TTabSheet; PathsPage: TTabSheet;
GroupBox10: TGroupBox; GroupBox10: TGroupBox;
btnDefGradient: TSpeedButton; btnDefGradient: TSpeedButton;
@ -177,13 +176,10 @@ type
Label24: TLabel; Label24: TLabel;
txtSymNVars: TEdit; txtSymNVars: TEdit;
udSymNVars: TUpDown; udSymNVars: TUpDown;
rgRotationMode: TRadioGroup;
txtBatchSize: TEdit; txtBatchSize: TEdit;
udBatchSize: TUpDown; udBatchSize: TUpDown;
Label38: TLabel; Label38: TLabel;
Label39: TLabel; Label39: TLabel;
chkShowTransparency: TCheckBox;
rgTransparency: TRadioGroup;
GroupBox15: TGroupBox; GroupBox15: TGroupBox;
btnBrowseSound: TSpeedButton; btnBrowseSound: TSpeedButton;
txtSoundFile: TEdit; txtSoundFile: TEdit;
@ -201,8 +197,6 @@ type
pnlGridColor2: TPanel; pnlGridColor2: TPanel;
pnlHelpersColor: TPanel; pnlHelpersColor: TPanel;
rgReferenceMode: TRadioGroup; rgReferenceMode: TRadioGroup;
chkExtendedEdit: TCheckBox;
chkAxisLock: TCheckBox;
chkPlaysound: TCheckBox; chkPlaysound: TCheckBox;
btnPlay: TSpeedButton; btnPlay: TSpeedButton;
Label44: TLabel; Label44: TLabel;
@ -215,6 +209,18 @@ type
Label47: TLabel; Label47: TLabel;
cbPreviewTime: TComboBox; cbPreviewTime: TComboBox;
cbFullscrTime: TComboBox; cbFullscrTime: TComboBox;
GroupBox20: TGroupBox;
chkShowTransparency: TCheckBox;
chkExtendMainPreview: TCheckBox;
Label48: TLabel;
rgTransparency: TRadioGroup;
cbExtendPercent: TComboBox;
chkShowRenderStats: TCheckBox;
rgRotationMode: TRadioGroup;
GroupBox21: TGroupBox;
chkAxisLock: TCheckBox;
chkExtendedEdit: TCheckBox;
rgDoubleClickVars: TRadioGroup;
procedure btnCancelClick(Sender: TObject); procedure btnCancelClick(Sender: TObject);
procedure FormShow(Sender: TObject); procedure FormShow(Sender: TObject);
procedure btnOKClick(Sender: TObject); procedure btnOKClick(Sender: TObject);
@ -246,6 +252,7 @@ type
procedure pnlHelpersColorClick(Sender: TObject); procedure pnlHelpersColorClick(Sender: TObject);
procedure btnBrowseSoundClick(Sender: TObject); procedure btnBrowseSoundClick(Sender: TObject);
procedure btnPlayClick(Sender: TObject); procedure btnPlayClick(Sender: TObject);
private private
{ Private declarations } { Private declarations }
public public
@ -298,21 +305,22 @@ begin
rgReferenceMode.ItemIndex := ReferenceMode; rgReferenceMode.ItemIndex := ReferenceMode;
rgRotationMode.ItemIndex := MainForm_RotationMode; rgRotationMode.ItemIndex := MainForm_RotationMode;
udBatchSize.Position := BatchSize; udBatchSize.Position := BatchSize;
chkResize.checked := ResizeOnLoad; // chkResize.checked := ResizeOnLoad;
rgTransparency.ItemIndex := PNGTransparency;
chkShowTransparency.Checked := ShowTransparency;
if NrTreads <= 1 then if NrTreads <= 1 then
cbNrTheads.ItemIndex := 0 cbNrTheads.ItemIndex := 0
else else
cbNrTheads.text := intTostr(NrTreads); cbNrTheads.text := intTostr(NrTreads);
chkExtendedEdit.Checked := ExtEditEnabled; chkExtendedEdit.Checked := ExtEditEnabled;
chkAxisLock.Checked := TransformAxisLock; chkAxisLock.Checked := TransformAxisLock;
if DoubleClickSetVars then rgDoubleClickVars.ItemIndex := 1
else rgDoubleClickVars.ItemIndex := 0;
chkPlaySound.Checked := PlaySoundOnRenderComplete; chkPlaySound.Checked := PlaySoundOnRenderComplete;
txtSoundFile.Text := RenderCompleteSoundFile; txtSoundFile.Text := RenderCompleteSoundFile;
cbInternalBitsPerSample.ItemIndex := InternalBitsPerSample; cbInternalBitsPerSample.ItemIndex := InternalBitsPerSample;
if PreviewTimeLimit = 0 then cbPreviewTime.ItemIndex := 0 if PreviewTimeLimit = 0 then cbPreviewTime.ItemIndex := 0
else cbPreviewTime.Text := IntToStr(PreviewTimeLimit); else cbPreviewTime.Text := IntToStr(PreviewTimeLimit);
if FullscreenTimeLimit = 0 then cbFullscrTime.ItemIndex := 0 if FullscreenTimeLimit = 0 then cbFullscrTime.ItemIndex := 0
@ -335,6 +343,13 @@ begin
pnlGridColor2.Color := GridColor2; pnlGridColor2.Color := GridColor2;
pnlReference.color := TColor(ReferenceTriangleColor); pnlReference.color := TColor(ReferenceTriangleColor);
rgTransparency.ItemIndex := PNGTransparency;
chkShowTransparency.Checked := ShowTransparency;
cbExtendPercent.Text := FloatToStr((MainPreviewScale - 1) / 0.02);
chkExtendMainPreview.Checked := ExtendMainPreview;
chkShowRenderStats.Checked := ShowRenderStats;
{ Random tab } { Random tab }
udMinXforms.Position := randMinTransforms; udMinXforms.Position := randMinTransforms;
udMaxXforms.Position := randMaxTransforms; udMaxXforms.Position := randMaxTransforms;
@ -428,7 +443,7 @@ begin
ConfirmDelete := chkConfirmDel.Checked; ConfirmDelete := chkConfirmDel.Checked;
MainForm_RotationMode := rgRotationMode.ItemIndex; MainForm_RotationMode := rgRotationMode.ItemIndex;
ResizeOnLoad := chkResize.checked; // ResizeOnLoad := chkResize.checked;
InternalBitsPerSample := cbInternalBitsPerSample.ItemIndex; InternalBitsPerSample := cbInternalBitsPerSample.ItemIndex;
@ -440,6 +455,7 @@ begin
ReferenceMode := rgReferenceMode.ItemIndex; ReferenceMode := rgReferenceMode.ItemIndex;
ExtEditEnabled := chkExtendedEdit.Checked; ExtEditEnabled := chkExtendedEdit.Checked;
TransformAxisLock := chkAxisLock.Checked; TransformAxisLock := chkAxisLock.Checked;
DoubleClickSetVars := rgDoubleClickVars.ItemIndex <> 0;
{ Display tab } { Display tab }
defSampleDensity := StrToFloat(txtSampleDensity.Text); defSampleDensity := StrToFloat(txtSampleDensity.Text);
@ -466,6 +482,13 @@ begin
if prevHighQuality > 100 then prevHighQuality := 100; if prevHighQuality > 100 then prevHighQuality := 100;
if prevHighQuality < 0.01 then prevHighQuality := 0.01; if prevHighQuality < 0.01 then prevHighQuality := 0.01;
MainPreviewScale := 1 + 0.02 * StrToFloatDef(cbExtendPercent.Text, 0);
if MainPreviewScale < 1 then MainPreviewScale := 1
else if MainPreviewScale > 3 then MainPreviewScale := 3;
ExtendMainPreview := chkExtendMainPreview.Checked;
ShowRenderStats := chkShowRenderStats.Checked;
{ Random tab } { Random tab }
randMinTransforms := udMinXforms.Position; randMinTransforms := udMinXforms.Position;
randMaxTransforms := udMaxXforms.Position; randMaxTransforms := udMaxXforms.Position;

View File

@ -490,7 +490,7 @@ begin
begin begin
SheepServer := 'http://v2d5.sheepserver.net/'; SheepServer := 'http://v2d5.sheepserver.net/';
end; end;
if Registry.ValueExists('ResizeOnLoad') then { if Registry.ValueExists('ResizeOnLoad') then
begin begin
ResizeOnLoad := Registry.ReadBool('ResizeOnLoad'); ResizeOnLoad := Registry.ReadBool('ResizeOnLoad');
end end
@ -498,16 +498,28 @@ begin
begin begin
ResizeOnLoad := False; ResizeOnLoad := False;
end; end;
if Registry.ValueExists('ShowProgress') then } if Registry.ValueExists('ShowProgress') then
begin begin
ShowProgress := Registry.ReadBool('ShowProgress'); ShowProgress := Registry.ReadBool('ShowProgress');
end else begin end else begin
ShowProgress := true; ShowProgress := true;
end; end;
if Registry.ValueExists('SaveIncompleteRenders') then begin
SaveIncompleteRenders := Registry.ReadBool('SaveIncompleteRenders');
end else begin
SaveIncompleteRenders := false;
end;
if Registry.ValueExists('ShowRenderStats') then begin
ShowRenderStats := Registry.ReadBool('ShowRenderStats');
end else begin
ShowRenderStats := false;
end;
if Registry.ValueExists('PNGTransparency') then begin if Registry.ValueExists('PNGTransparency') then begin
PNGTransparency := Registry.ReadInteger('PNGTransparency'); PNGTransparency := Registry.ReadInteger('PNGTransparency');
if PNGTransparency > 1 then PNGTransparency := 1; if PNGTransparency > 1 then PNGTransparency := 1; // tmp
end else begin end else begin
PNGTransparency := 1 PNGTransparency := 1
@ -517,6 +529,19 @@ begin
end else begin end else begin
ShowTransparency := False; ShowTransparency := False;
end; end;
if Registry.ValueExists('ExtendMainPreview') then begin
ExtendMainPreview := Registry.ReadBool('ExtendMainPreview');
end else begin
ExtendMainPreview := true;
end;
if Registry.ValueExists('MainPreviewScale') then begin
MainPreviewScale := Registry.ReadFloat('MainPreviewScale');
if MainPreviewScale < 1 then MainPreviewScale := 1
else if MainPreviewScale > 3 then MainPreviewScale := 3;
end else begin
MainPreviewScale := 1.2;
end;
if Registry.ValueExists('NrTreads') then begin if Registry.ValueExists('NrTreads') then begin
NrTreads := Registry.ReadInteger('NrTreads'); NrTreads := Registry.ReadInteger('NrTreads');
end else begin end else begin
@ -603,10 +628,14 @@ begin
SheepPW := ''; SheepPW := '';
flam3Path := DefaultPath + 'flam3.exe'; flam3Path := DefaultPath + 'flam3.exe';
SheepServer := 'http://v2d5.sheepserver.net/'; SheepServer := 'http://v2d5.sheepserver.net/';
ResizeOnLoad := False; // ResizeOnLoad := False;
ShowProgress := true; ShowProgress := true;
SaveIncompleteRenders := false;
ShowRenderStats := false;
PNGTransparency := 1; PNGTransparency := 1;
ShowTransparency := False; ShowTransparency := False;
MainPreviewScale := 1.2;
ExtendMainPreview := true;
NrTreads := 1; NrTreads := 1;
UseNrThreads := 1; UseNrThreads := 1;
InternalBitsPerSample := 0; InternalBitsPerSample := 0;
@ -662,6 +691,9 @@ begin
if Registry.ValueExists('LockTransformAxis') then if Registry.ValueExists('LockTransformAxis') then
TransformAxisLock := Registry.ReadBool('LockTransformAxis') TransformAxisLock := Registry.ReadBool('LockTransformAxis')
else TransformAxisLock := true; else TransformAxisLock := true;
if Registry.ValueExists('DoubleClickSetVars') then
DoubleClickSetVars := Registry.ReadBool('DoubleClickSetVars')
else DoubleClickSetVars := true;
end end
else begin else begin
EditorBkgColor := $000000; EditorBkgColor := $000000;
@ -671,6 +703,7 @@ begin
ReferenceTriangleColor := integer(clGray); ReferenceTriangleColor := integer(clGray);
ExtEditEnabled := true; ExtEditEnabled := true;
TransformAxisLock := true; TransformAxisLock := true;
DoubleClickSetVars := true;
end; end;
Registry.CloseKey; Registry.CloseKey;
@ -1019,17 +1052,23 @@ begin
Registry.WriteString('Renderer', flam3Path); Registry.WriteString('Renderer', flam3Path);
Registry.WriteString('Server', SheepServer); Registry.WriteString('Server', SheepServer);
Registry.WriteString('Pass', SheepPW); Registry.WriteString('Pass', SheepPW);
Registry.WriteBool('ResizeOnLoad', ResizeOnLoad); // Registry.WriteBool('ResizeOnLoad', ResizeOnLoad);
Registry.WriteBool('ShowProgress', ShowProgress); Registry.WriteBool('ShowProgress', ShowProgress);
Registry.WriteBool('KeepBackground', KeepBackground); Registry.WriteBool('KeepBackground', KeepBackground);
Registry.WriteString('FunctionLibrary', defLibrary); Registry.WriteString('FunctionLibrary', defLibrary);
Registry.WriteBool('ShowTransparency', ShowTransparency); Registry.WriteBool('ShowTransparency', ShowTransparency);
Registry.WriteInteger('PNGTransparency', PNGTransparency); Registry.WriteInteger('PNGTransparency', PNGTransparency);
Registry.WriteBool('ExtendMainPreview', ExtendMainPreview);
Registry.WriteFloat('MainPreviewScale', MainPreviewScale);
Registry.WriteBool('SaveIncompleteRenders', SaveIncompleteRenders);
Registry.WriteBool('ShowRenderStats', ShowRenderStats);
Registry.WriteInteger('NrTreads', NrTreads); Registry.WriteInteger('NrTreads', NrTreads);
Registry.WriteInteger('UseNrThreads', UseNrThreads); Registry.WriteInteger('UseNrThreads', UseNrThreads);
Registry.WriteInteger('InternalBitsPerSample', InternalBitsPerSample); Registry.WriteInteger('InternalBitsPerSample', InternalBitsPerSample);
Registry.WriteInteger('PreviewTimeLimit', PreviewTimeLimit); Registry.WriteInteger('PreviewTimeLimit', PreviewTimeLimit);
Registry.WriteInteger('FullscreenTimeLimit', FullscreenTimeLimit); Registry.WriteInteger('FullscreenTimeLimit', FullscreenTimeLimit);
Registry.WriteFloat('PreviewMinDensity', PreviewMinDensity); Registry.WriteFloat('PreviewMinDensity', PreviewMinDensity);
@ -1045,6 +1084,7 @@ begin
Registry.WriteInteger('ReferenceTriangleColor', ReferenceTriangleColor); Registry.WriteInteger('ReferenceTriangleColor', ReferenceTriangleColor);
Registry.WriteBool('ExtendedEdit', ExtEditEnabled); Registry.WriteBool('ExtendedEdit', ExtEditEnabled);
Registry.WriteBool('LockTransformAxis', TransformAxisLock); Registry.WriteBool('LockTransformAxis', TransformAxisLock);
Registry.WriteBool('DoubleClickSetVars', DoubleClickSetVars);
end; end;
{ Display } { Display }
if Registry.OpenKey('\Software\' + APP_NAME + '\Display', True) then if Registry.OpenKey('\Software\' + APP_NAME + '\Display', True) then