From: Peter S. <zu...@us...> - 2008-09-29 07:34:13
|
Update of /cvsroot/apophysis/2.10/Source In directory sc8-pr-cvs11.sourceforge.net:/tmp/cvs-serv14026 Modified Files: Editor.dfm Editor.pas Global.pas Options.dfm Options.pas Regstry.pas Log Message: new editor option : rebuild xaos links (after deleting xform) Index: Editor.pas =================================================================== RCS file: /cvsroot/apophysis/2.10/Source/Editor.pas,v retrieving revision 1.68 retrieving revision 1.69 diff -C2 -d -r1.68 -r1.69 *** Editor.pas 25 Sep 2008 03:05:39 -0000 1.68 --- Editor.pas 29 Sep 2008 07:33:47 -0000 1.69 *************** *** 202,205 **** --- 202,206 ---- chkXformInvisible: TCheckBox; chkXformSolo: TCheckBox; + mnuChaosRebuild: TMenuItem; procedure ValidateVariable; *************** *** 359,362 **** --- 360,364 ---- procedure mnuLinkPostxformClick(Sender: TObject); procedure chkXformSoloClick(Sender: TObject); + procedure mnuChaosRebuildClick(Sender: TObject); // procedure btnInvisibleClick(Sender: TObject); // procedure btnSoloClick(Sender: TObject); *************** *** 837,840 **** --- 839,843 ---- chkXformInvisible.Checked := noPlot; chkXformSolo.Enabled := true; + if cp.soloXform >= 0 then begin chkXformSolo.Checked := true; *************** *** 853,858 **** chkXformInvisible.Checked := false; chkXformSolo.Enabled := false; - // chkRetrace.Checked := true; - // chkRetrace.Enabled := false; end; tbEnableFinalXform.Down := EnableFinalXform; --- 856,859 ---- *************** *** 1057,1092 **** else begin MainForm.UpdateUndo; ! // check for single "to" links ! for i := 0 to Transforms-1 do ! with cp.xform[i] do begin ! nmin := NXFORMS; ! nmax := -1; ! for j := 0 to Transforms-1 do ! if modWeights[j] <> 0 then begin ! if j < nmin then nmin := j; ! if j > nmax then nmax := j; ! end; ! if (nmin = nmax) and (nmin = t) then begin for j := 0 to Transforms-1 do ! modWeights[j] := cp.xform[t].modWeights[j]; ! if noPlot then noPlot := cp.xform[t].noPlot; ! end; ! end; ! // check for single "from" links ! for i := 0 to Transforms-1 do ! begin ! if cp.xform[t].modWeights[i] = 0 then continue; ! nmin := NXFORMS; ! nmax := -1; ! for j := 0 to Transforms-1 do ! if cp.xform[j].modWeights[i] <> 0 then begin ! if j < nmin then nmin := j; ! if j > nmax then nmax := j; end; ! if (nmin = nmax) and (nmin = t) then begin for j := 0 to Transforms-1 do ! cp.xform[j].modWeights[i] := cp.xform[t].modWeights[i]; end; end; // delete xform from all probability tables for i := 0 to Transforms-1 do --- 1058,1097 ---- else begin MainForm.UpdateUndo; ! ! if RebuildXaosLinks then begin ! // check for single "to" links ! for i := 0 to Transforms-1 do ! with cp.xform[i] do begin ! nmin := NXFORMS; ! nmax := -1; for j := 0 to Transforms-1 do ! if modWeights[j] <> 0 then begin ! if j < nmin then nmin := j; ! if j > nmax then nmax := j; ! end; ! if (nmin = nmax) and (nmin = t) then begin ! for j := 0 to Transforms-1 do ! modWeights[j] := cp.xform[t].modWeights[j]; ! if noPlot then noPlot := cp.xform[t].noPlot; end; ! end; ! // check for single "from" links ! for i := 0 to Transforms-1 do ! begin ! if cp.xform[t].modWeights[i] = 0 then continue; ! nmin := NXFORMS; ! nmax := -1; for j := 0 to Transforms-1 do ! if cp.xform[j].modWeights[i] <> 0 then begin ! if j < nmin then nmin := j; ! if j > nmax then nmax := j; ! end; ! if (nmin = nmax) and (nmin = t) then begin ! for j := 0 to Transforms-1 do ! cp.xform[j].modWeights[i] := cp.xform[t].modWeights[i]; ! end; end; end; + // delete xform from all probability tables for i := 0 to Transforms-1 do *************** *** 1096,1100 **** modWeights[Transforms-1] := 1; end; ! // if t = (Transforms - 1) then begin --- 1101,1105 ---- modWeights[Transforms-1] := 1; end; ! if t = (Transforms - 1) then begin *************** *** 1711,1714 **** --- 1716,1720 ---- vleChaos.InsertRow('to 1', '1', true); + mnuChaosRebuild.Checked := RebuildXaosLinks; GraphZoom := 1; *************** *** 5082,5085 **** --- 5088,5097 ---- } + procedure TEditForm.mnuChaosRebuildClick(Sender: TObject); + begin + RebuildXaosLinks := not RebuildXaosLinks; + mnuChaosRebuild.Checked := RebuildXaosLinks; + end; + end. Index: Editor.dfm =================================================================== RCS file: /cvsroot/apophysis/2.10/Source/Editor.dfm,v retrieving revision 1.53 retrieving revision 1.54 diff -C2 -d -r1.53 -r1.54 *** Editor.dfm 7 Aug 2008 07:39:45 -0000 1.53 --- Editor.dfm 29 Sep 2008 07:33:47 -0000 1.54 *************** *** 3085,3088 **** --- 3085,3094 ---- OnClick = mnuChaosViewFromClick end + object mnuChaosRebuild: TMenuItem + Caption = 'Rebuild xaos links' + Checked = True + Hint = 'Rebuild xaos links when deleting transforms' + OnClick = mnuChaosRebuildClick + end object N9: TMenuItem Caption = '-' Index: Options.pas =================================================================== RCS file: /cvsroot/apophysis/2.10/Source/Options.pas,v retrieving revision 1.26 retrieving revision 1.27 diff -C2 -d -r1.26 -r1.27 *** Options.pas 25 Sep 2008 03:05:39 -0000 1.26 --- Options.pas 29 Sep 2008 07:33:47 -0000 1.27 *************** *** 223,226 **** --- 223,227 ---- txtGammaThreshold: TEdit; lblGammaThreshold: TLabel; + chkXaosRebuild: TCheckBox; procedure btnCancelClick(Sender: TObject); procedure FormShow(Sender: TObject); *************** *** 334,337 **** --- 335,339 ---- chkExtendedEdit.Checked := ExtEditEnabled; chkAxisLock.Checked := TransformAxisLock; + chkXaosRebuild.Checked := RebuildXaosLinks; chkShowAllXforms.Checked := ShowAllXforms; *************** *** 473,476 **** --- 475,479 ---- ExtEditEnabled := chkExtendedEdit.Checked; TransformAxisLock := chkAxisLock.Checked; + RebuildXaosLinks := chkXaosRebuild.Checked; { Display tab } Index: Regstry.pas =================================================================== RCS file: /cvsroot/apophysis/2.10/Source/Regstry.pas,v retrieving revision 1.27 retrieving revision 1.28 diff -C2 -d -r1.27 -r1.28 *** Regstry.pas 25 Sep 2008 03:05:40 -0000 1.27 --- Regstry.pas 29 Sep 2008 07:33:47 -0000 1.28 *************** *** 568,576 **** ShowRenderStats := false; end; ! if Registry.ValueExists('LowerRenderPriority') then begin ! LowerRenderPriority := Registry.ReadBool('LowerRenderPriority'); ! end else begin ! LowerRenderPriority := false; ! end; if Registry.ValueExists('PNGTransparency') then begin --- 568,576 ---- ShowRenderStats := false; end; ! // if Registry.ValueExists('LowerRenderPriority') then begin ! // LowerRenderPriority := Registry.ReadBool('LowerRenderPriority'); ! // end else begin ! // LowerRenderPriority := false; ! // end; if Registry.ValueExists('PNGTransparency') then begin *************** *** 682,686 **** ShowProgress := true; SaveIncompleteRenders := false; ! LowerRenderPriority := false; ShowRenderStats := false; PNGTransparency := 1; --- 682,686 ---- ShowProgress := true; SaveIncompleteRenders := false; ! // LowerRenderPriority := false; ShowRenderStats := false; PNGTransparency := 1; *************** *** 754,757 **** --- 754,760 ---- TransformAxisLock := Registry.ReadBool('LockTransformAxis') else TransformAxisLock := true; + if Registry.ValueExists('RebuildXaosLinks') then + RebuildXaosLinks := Registry.ReadBool('RebuildXaosLinks') + else RebuildXaosLinks := true; end else begin *************** *** 766,769 **** --- 769,773 ---- ExtEditEnabled := true; TransformAxisLock := true; + RebuildXaosLinks := true; end; Registry.CloseKey; *************** *** 1172,1175 **** --- 1176,1180 ---- Registry.WriteBool('ExtendedEdit', ExtEditEnabled); Registry.WriteBool('LockTransformAxis', TransformAxisLock); + Registry.WriteBool('RebuildXaosLinks', RebuildXaosLinks); end; Registry.CloseKey; Index: Options.dfm =================================================================== RCS file: /cvsroot/apophysis/2.10/Source/Options.dfm,v retrieving revision 1.30 retrieving revision 1.31 diff -C2 -d -r1.30 -r1.31 *** Options.dfm 25 Sep 2008 03:05:39 -0000 1.30 --- Options.dfm 29 Sep 2008 07:33:47 -0000 1.31 *************** *** 406,410 **** object rgReferenceMode: TRadioGroup Left = 160 ! Top = 76 Width = 145 Height = 69 --- 406,410 ---- object rgReferenceMode: TRadioGroup Left = 160 ! Top = 108 Width = 145 Height = 69 *************** *** 422,426 **** Top = 4 Width = 145 ! Height = 65 Caption = 'Editor defaults' TabOrder = 2 --- 422,426 ---- Top = 4 Width = 145 ! Height = 85 Caption = 'Editor defaults' TabOrder = 2 *************** *** 445,448 **** --- 445,458 ---- TabOrder = 1 end + object chkXaosRebuild: TCheckBox + Left = 8 + Top = 58 + Width = 129 + Height = 17 + Caption = 'Rebuild xaos links' + Checked = True + State = cbChecked + TabOrder = 2 + end end end Index: Global.pas =================================================================== RCS file: /cvsroot/apophysis/2.10/Source/Global.pas,v retrieving revision 1.30 retrieving revision 1.31 diff -C2 -d -r1.30 -r1.31 *** Global.pas 25 Sep 2008 03:05:39 -0000 1.30 --- Global.pas 29 Sep 2008 07:33:47 -0000 1.31 *************** *** 96,100 **** EditorBkgColor, ReferenceTriangleColor: integer; GridColor1, GridColor2, HelpersColor: integer; ! ExtEditEnabled, TransformAxisLock: boolean; ShowAllXforms: boolean; --- 96,100 ---- EditorBkgColor, ReferenceTriangleColor: integer; GridColor1, GridColor2, HelpersColor: integer; ! ExtEditEnabled, TransformAxisLock, RebuildXaosLinks: boolean; ShowAllXforms: boolean; *************** *** 358,361 **** --- 358,370 ---- end; + procedure SinCos(const Theta: double; var Sin, Cos: double); // to avoid using 'extended' type + asm + FLD Theta + FSINCOS + FSTP qword ptr [edx] // Cos + FSTP qword ptr [eax] // Sin + FWAIT + end; + (* { Palette and gradient functions } |