From 82023a0c60bd8352d52b854f12db173c547f3bd6 Mon Sep 17 00:00:00 2001 From: zueuk Date: Sun, 31 Dec 2006 08:37:45 +0000 Subject: [PATCH] fixed FX-related bug in CopyTransform and DeleteTransform --- 2.10/Source/ScriptForm.pas | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/2.10/Source/ScriptForm.pas b/2.10/Source/ScriptForm.pas index 5b25fda..2adb42d 100644 --- a/2.10/Source/ScriptForm.pas +++ b/2.10/Source/ScriptForm.pas @@ -1913,7 +1913,7 @@ begin for i := 1 to NRVAR - 1 do ScriptEditor.cp.xform[ActiveTransform].vars[i] := 0;} scriptEditor.cp.xform[ActiveTransform].Clear; - ScriptEditor.cp.xform[ActiveTransform].density := 1 / NumTransforms; + ScriptEditor.cp.xform[ActiveTransform].density := 0.5; end else raise EFormatInvalid.Create('Too many transforms.'); except on E: EFormatInvalid do @@ -1932,11 +1932,13 @@ begin if NumTransforms > 0 then try // I'm not sure, but *maybe* this will help scripts not to screw up finalXform - if ActiveTransform = NumTransforms then // final xform (?) + if ActiveTransform = NumTransforms then + // final xform - just clear it + begin scriptEditor.cp.xform[NumTransforms].Clear; scriptEditor.cp.xform[NumTransforms].symmetry := 1; scriptEditor.cp.finalXformEnabled := false; - begin + exit; end; if ActiveTransform = (NumTransforms - 1) then { Last triangle...just reduce number} @@ -1979,9 +1981,10 @@ begin try if NumTransforms < NXFORMS then begin - inc(NumTransforms); old := ActiveTransform; - ActiveTransform := NumTransforms - 1; + ActiveTransform := NumTransforms; + inc(NumTransforms); + ScriptEditor.cp.xform[NumTransforms].Assign(ScriptEditor.cp.xform[ActiveTransform]); // final xform ScriptEditor.cp.xform[ActiveTransform].Assign(ScriptEditor.cp.xform[old]); { ScriptEditor.cp.xform[ActiveTransform].c[0, 1] := ScriptEditor.cp.xform[old].c[0, 1];