diff --git a/2.10/Source/Adjust.pas b/2.10/Source/Adjust.pas index 250adfc..d4412b7 100644 --- a/2.10/Source/Adjust.pas +++ b/2.10/Source/Adjust.pas @@ -1,6 +1,6 @@ { Apophysis Copyright (C) 2001-2004 Mark Townsend - Apophysis Copyright (C) 2005-2006 Ronald Hordijk, Piotr Boris, Peter Sdobnov + Apophysis Copyright (C) 2005-2006 Ronald Hordijk, Piotr Borys, Peter Sdobnov This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/2.10/Source/Editor.pas b/2.10/Source/Editor.pas index 70ed4da..16dca78 100644 --- a/2.10/Source/Editor.pas +++ b/2.10/Source/Editor.pas @@ -1,6 +1,6 @@ { Apophysis Copyright (C) 2001-2004 Mark Townsend - Apophysis Copyright (C) 2005-2006 Ronald Hordijk, Piotr Boris, Peter Sdobnov + Apophysis Copyright (C) 2005-2006 Ronald Hordijk, Piotr Borys, Peter Sdobnov This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -811,8 +811,6 @@ begin end; procedure TEditForm.UpdateFlameX; -var - i: integer; begin cp.GetFromTriangles(MainTriangles, Transforms); if not chkPreserve.checked then cp.ComputeWeights(MainTriangles, Transforms); @@ -825,7 +823,7 @@ procedure TEditForm.UpdateFlame(DrawMain: boolean); begin //; MainForm.StopThread; StatusBar.Panels[2].Text := Format('Zoom: %f', [GraphZoom]); - cp.GetFromTriangles(MainTriangles, Transforms); + cp.GetFromTriangles(MainTriangles, LastTriangle); // if not chkPreserve.Checked then ComputeWeights(cp, MainTriangles, transforms); DrawPreview; ShowSelectedInfo; @@ -1985,7 +1983,7 @@ begin Inc(Transforms); cbTransforms.clear; for i := 1 to Transforms do cbTransforms.Items.Add(IntToStr(i)); - if cp.HasFinalXForm = true then cbTransforms.Items.Add('Final'); + if EnableFinalXform or (cp.HasFinalXForm = true) then cbTransforms.Items.Add('Final'); UpdateFlame(True); end; end; @@ -2009,6 +2007,7 @@ begin Inc(Transforms); cbTransforms.clear; for i := 1 to Transforms do cbTransforms.Items.Add(IntToStr(i)); + if EnableFinalXform or (cp.HasFinalXForm = true) then cbTransforms.Items.Add('Final'); UpdateFlame(True); end; end; diff --git a/2.10/Source/Main.pas b/2.10/Source/Main.pas index b1ea56c..e55f631 100644 --- a/2.10/Source/Main.pas +++ b/2.10/Source/Main.pas @@ -1,6 +1,6 @@ { Apophysis Copyright (C) 2001-2004 Mark Townsend - Apophysis Copyright (C) 2005-2006 Ronald Hordijk, Piotr Boris, Peter Sdobnov + Apophysis Copyright (C) 2005-2006 Ronald Hordijk, Piotr Borys, Peter Sdobnov This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -37,7 +37,7 @@ const RS_XO = 2; RS_VO = 3; - AppVersionString = 'Apophysis 2.03d pre-release 3'; + AppVersionString = 'Apophysis 2.03d pre-release 4'; type TMouseMoveState = (msUsual, msZoomWindow, msZoomOutWindow, msZoomWindowMove, msZoomOutWindowMove, msDrag, msDragMove, msRotate, msRotateMove); @@ -335,8 +335,8 @@ function DeleteEntry(Entry, FileName: string): boolean; function CleanIdentifier(ident: string): string; function CleanUPRTitle(ident: string): string; function GradientString(c: TColorMap): string; -function PackVariations: cardinal; -procedure UnpackVariations(v: integer); +function PackVariations: int64; +procedure UnpackVariations(v: int64); //procedure NormalizeWeights(var cp: TControlPoint); //procedure EqualizeWeights(var cp: TControlPoint); procedure MultMatrix(var s: TMatrix; const m: TMatrix); @@ -434,20 +434,19 @@ begin end; -function PackVariations: cardinal; +function PackVariations: int64; { Packs the variation options into an integer with Linear as lowest bit } var - r, i: cardinal; + i: integer; begin - r := 0; - for i := 0 to NRVAR - 1 do + result := 0; + for i := NRVAR-1 downto 0 do begin - r := r or byte(Variations[i]) shl i; + result := (result shl 1) or integer(Variations[i]); end; - Result := r; end; -procedure UnpackVariations(v: integer); +procedure UnpackVariations(v: int64); { Unpacks the variation options form an integer } var i: integer; @@ -1349,7 +1348,7 @@ begin FileList.Add(' ' + cp1.xform[t].ToXMLString); Filelist.Add(' '); {$else} - FileList.Add(cp1.xform[i].FinalToXMLString(cp1.finalXformEnabled)); + FileList.Add(cp1.xform[t].FinalToXMLString(cp1.finalXformEnabled)); {$ifend} end; diff --git a/2.10/Source/Regstry.pas b/2.10/Source/Regstry.pas index 8fff9e4..e5d9389 100644 --- a/2.10/Source/Regstry.pas +++ b/2.10/Source/Regstry.pas @@ -277,7 +277,9 @@ begin end; if Registry.ValueExists('VariationOptions') then begin - VariationOptions := Registry.ReadInteger('VariationOptions'); + Registry.ReadBinaryData('VariationOptions', VariationOptions, 8); +// Delphi_Suxx := Registry.ReadString('VariationOptions'); +// VariationOptions := StrToInt64(Delphi_Suxx); end else begin @@ -940,7 +942,7 @@ begin Registry.WriteInteger('SymmetryType', SymmetryType); Registry.WriteInteger('SymmetryOrder', SymmetryOrder); Registry.WriteInteger('SymmetryNVars', SymmetryNVars); - Registry.WriteInteger('VariationOptions', VariationOptions); + Registry.WriteBinaryData('VariationOptions', VariationOptions, 8); Registry.WriteInteger('ReferenceMode', ReferenceMode); Registry.WriteInteger('RotationMode', MainForm_RotationMode); Registry.WriteInteger('MinNodes', MinNodes);