commit ff065f8fd89cdad928ddaa482fa560c26bc132c6
Author: Leszek Koltunski <leszek@koltunski.pl>
Date:   Fri May 17 16:46:08 2019 +0100

    Adjust UnscrambleEffectSpin.

diff --git a/src/main/java/org/distorted/effect/SizeChangeEffectMove.java b/src/main/java/org/distorted/effect/SizeChangeEffectMove.java
index 3a3d2481..2d8cbbec 100644
--- a/src/main/java/org/distorted/effect/SizeChangeEffectMove.java
+++ b/src/main/java/org/distorted/effect/SizeChangeEffectMove.java
@@ -37,7 +37,7 @@ class SizeChangeEffectMove extends SizeChangeEffect
     mNodeEffectPosition[0] = new int[] {1};
     mNodeEffects[0]        = new Effect[mNodeEffectPosition[0].length];
 
-    Dynamic3D d0 = new Dynamic3D(duration, 0.5f);
+    Dynamic3D d0 = new Dynamic3D(duration/2, 0.5f);
     d0.add(new Static3D(    0,0,0));
     d0.add(new Static3D(xmove,0,0));
     mNodeEffects[0][0] = new MatrixEffectMove(d0);
@@ -56,7 +56,7 @@ class SizeChangeEffectMove extends SizeChangeEffect
     mNodeEffectPosition[1] = new int[] {1};
     mNodeEffects[1]        = new Effect[mNodeEffectPosition[1].length];
 
-    Dynamic3D d0 = new Dynamic3D(duration, 0.5f);
+    Dynamic3D d0 = new Dynamic3D(duration/2, 0.5f);
     d0.add(new Static3D(-xmove,0,0));
     d0.add(new Static3D(     0,0,0));
     mNodeEffects[1][0] = new MatrixEffectMove(d0);
diff --git a/src/main/java/org/distorted/effect/SizeChangeEffectRound.java b/src/main/java/org/distorted/effect/SizeChangeEffectRound.java
index 9885a698..b5f1d5a5 100644
--- a/src/main/java/org/distorted/effect/SizeChangeEffectRound.java
+++ b/src/main/java/org/distorted/effect/SizeChangeEffectRound.java
@@ -39,12 +39,12 @@ class SizeChangeEffectRound extends SizeChangeEffect
     mCubeEffectPosition[0] = new int[] {6,7};
     mCubeEffects[0]        = new Effect[mCubeEffectPosition[0].length];
 
-    Dynamic3D d0 = new Dynamic3D(duration, 0.5f);
+    Dynamic3D d0 = new Dynamic3D(duration/2, 0.5f);
     d0.add(new Static3D( 1.00f, 1.00f, 1.00f));
     d0.add(new Static3D( 0.01f, 0.01f, 0.01f));
     mCubeEffects[0][0] = new MatrixEffectScale(d0);
 
-    Dynamic3D d1 = new Dynamic3D(duration, 0.5f);
+    Dynamic3D d1 = new Dynamic3D(duration/2, 0.5f);
     d1.setMode(Dynamic.MODE_PATH);
     d1.add(new Static3D( 0, 0, 0));
     d1.add(new Static3D(+X, 0, 0));
@@ -63,12 +63,12 @@ class SizeChangeEffectRound extends SizeChangeEffect
     mCubeEffectPosition[1] = new int[] {6,7};
     mCubeEffects[1]        = new Effect[mCubeEffectPosition[1].length];
 
-    Dynamic3D d0 = new Dynamic3D(duration, 0.5f);
+    Dynamic3D d0 = new Dynamic3D(duration/2, 0.5f);
     d0.add(new Static3D( 0.01f, 0.01f, 0.01f));
     d0.add(new Static3D( 1.00f, 1.00f, 1.00f));
     mCubeEffects[1][0] = new MatrixEffectScale(d0);
 
-    Dynamic3D d1 = new Dynamic3D(duration, 0.5f);
+    Dynamic3D d1 = new Dynamic3D(duration/2, 0.5f);
     d1.setMode(Dynamic.MODE_PATH);
     d1.add(new Static3D( 0, 0, 0));
     d1.add(new Static3D(-X, 0, 0));
diff --git a/src/main/java/org/distorted/effect/SizeChangeEffectScale.java b/src/main/java/org/distorted/effect/SizeChangeEffectScale.java
index ab724926..a734955a 100644
--- a/src/main/java/org/distorted/effect/SizeChangeEffectScale.java
+++ b/src/main/java/org/distorted/effect/SizeChangeEffectScale.java
@@ -33,7 +33,7 @@ class SizeChangeEffectScale extends SizeChangeEffect
     mCubeEffectPosition[0] = new int[] {6};
     mCubeEffects[0]        = new Effect[mCubeEffectPosition[0].length];
 
-    Dynamic3D d0 = new Dynamic3D(duration, 0.5f);
+    Dynamic3D d0 = new Dynamic3D(duration/2, 0.5f);
     d0.add(new Static3D(1.00f, 1.00f, 1.00f));
     d0.add(new Static3D(0.01f, 0.01f, 0.01f));
     mCubeEffects[0][0] = new MatrixEffectScale(d0);
@@ -48,7 +48,7 @@ class SizeChangeEffectScale extends SizeChangeEffect
     mCubeEffectPosition[1] = new int[] {6};
     mCubeEffects[1]        = new Effect[mCubeEffectPosition[1].length];
 
-    Dynamic3D d0 = new Dynamic3D(duration, 0.5f);
+    Dynamic3D d0 = new Dynamic3D(duration/2, 0.5f);
     d0.add(new Static3D(0.01f, 0.01f, 0.01f));
     d0.add(new Static3D(1.00f, 1.00f, 1.00f));
     mCubeEffects[1][0] = new MatrixEffectScale(d0);
diff --git a/src/main/java/org/distorted/effect/SizeChangeEffectTransparency.java b/src/main/java/org/distorted/effect/SizeChangeEffectTransparency.java
index 73447ada..e5c3710e 100644
--- a/src/main/java/org/distorted/effect/SizeChangeEffectTransparency.java
+++ b/src/main/java/org/distorted/effect/SizeChangeEffectTransparency.java
@@ -37,7 +37,7 @@ class SizeChangeEffectTransparency extends SizeChangeEffect
     mCubeEffectPosition[0] = new int[] {-1};
     mCubeEffects[0]        = new Effect[mCubeEffectPosition[0].length];
 
-    Dynamic1D d0 = new Dynamic1D(duration, 0.5f);
+    Dynamic1D d0 = new Dynamic1D(duration/2, 0.5f);
     d0.add(new Static1D(1.0f));
     d0.add(new Static1D(0.0f));
     mCubeEffects[0][0] = new FragmentEffectAlpha(d0);
@@ -57,7 +57,7 @@ class SizeChangeEffectTransparency extends SizeChangeEffect
     float alpha          = 30.0f;
     float beta           = 90.0f;
 
-    Dynamic5D d1 = new Dynamic5D(duration, 0.5f);
+    Dynamic5D d1 = new Dynamic5D(duration/2, 0.5f);
     d1.add(new Static5D( init_amplitude, length, init_phase, alpha, beta) );
     d1.add(new Static5D( end_amplitude , length, end_phase , alpha, beta) );
     Static3D center = new Static3D(min*0.5f,min*0.5f,0);
@@ -73,7 +73,7 @@ class SizeChangeEffectTransparency extends SizeChangeEffect
     mCubeEffectPosition[1] = new int[] {-1};
     mCubeEffects[1]        = new Effect[mCubeEffectPosition[1].length];
 
-    Dynamic1D d0 = new Dynamic1D(duration, 0.5f);
+    Dynamic1D d0 = new Dynamic1D(duration/2, 0.5f);
     d0.add(new Static1D(0.0f));
     d0.add(new Static1D(1.0f));
     mCubeEffects[1][0] = new FragmentEffectAlpha(d0);
@@ -93,7 +93,7 @@ class SizeChangeEffectTransparency extends SizeChangeEffect
     float alpha          = 30.0f;
     float beta           = 90.0f;
 
-    Dynamic5D d1 = new Dynamic5D(duration, 0.5f);
+    Dynamic5D d1 = new Dynamic5D(duration/2, 0.5f);
     d1.add(new Static5D( init_amplitude, length, init_phase, alpha, beta) );
     d1.add(new Static5D( end_amplitude , length, end_phase , alpha, beta) );
     Static3D center = new Static3D(min*0.5f,min*0.5f,0);
diff --git a/src/main/java/org/distorted/effect/UnscrambleEffectSpin.java b/src/main/java/org/distorted/effect/UnscrambleEffectSpin.java
index af18641d..645459df 100644
--- a/src/main/java/org/distorted/effect/UnscrambleEffectSpin.java
+++ b/src/main/java/org/distorted/effect/UnscrambleEffectSpin.java
@@ -22,34 +22,54 @@ package org.distorted.effect;
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
 import org.distorted.library.effect.Effect;
-import org.distorted.library.effect.MatrixEffectScale;
-import org.distorted.library.type.Dynamic3D;
+import org.distorted.library.effect.MatrixEffectRotate;
+import org.distorted.library.type.Dynamic;
+import org.distorted.library.type.Dynamic1D;
+import org.distorted.library.type.Static1D;
 import org.distorted.library.type.Static3D;
 
 public class UnscrambleEffectSpin extends UnscrambleEffect
   {
   public void createEffectsPhase0(int duration)
     {
-    mCubeEffectPosition[0] = new int[] {6};
+    mCubeEffectPosition[0] = new int[] {3};
     mCubeEffects[0]        = new Effect[mCubeEffectPosition[0].length];
 
-    Dynamic3D d0 = new Dynamic3D(duration, 0.5f);
-    d0.add(new Static3D(1.00f, 1.00f, 1.00f));
-    d0.add(new Static3D(0.01f, 0.01f, 0.01f));
-    mCubeEffects[0][0] = new MatrixEffectScale(d0);
+    Static3D axis  = new Static3D(1,0,0);
+    Static3D center= new Static3D(0,0,0);
+
+    Dynamic1D d0 = new Dynamic1D(duration/2, 1.0f);
+    d0.setMode(Dynamic.MODE_JUMP);
+    d0.add(new Static1D( 0*36));
+    /*
+    d0.add(new Static1D( 1*36));
+    d0.add(new Static1D( 3*36));
+    d0.add(new Static1D( 6*36));
+    */
+    d0.add(new Static1D(10*36));
+    mCubeEffects[0][0] = new MatrixEffectRotate(d0,axis,center);
     }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
   public void createEffectsPhase1(int duration)
     {
-    mCubeEffectPosition[1] = new int[] {6};
+    mCubeEffectPosition[1] = new int[] {3};
     mCubeEffects[1]        = new Effect[mCubeEffectPosition[1].length];
 
-    Dynamic3D d1 = new Dynamic3D(duration, 0.5f);
-    d1.add(new Static3D(0.01f, 0.01f, 0.01f));
-    d1.add(new Static3D(1.00f, 1.00f, 1.00f));
-    mCubeEffects[1][0] = new MatrixEffectScale(d1);
+    Static3D axis  = new Static3D(1,0,0);
+    Static3D center= new Static3D(0,0,0);
+
+    Dynamic1D d1 = new Dynamic1D(duration/2, 1.0f);
+    d1.setMode(Dynamic.MODE_JUMP);
+    d1.add(new Static1D( 0*36));
+    /*
+    d1.add(new Static1D( 4*36));
+    d1.add(new Static1D( 7*36));
+    d1.add(new Static1D( 9*36));
+    */
+    d1.add(new Static1D(10*36));
+    mCubeEffects[1][0] = new MatrixEffectRotate(d1,axis,center);
     }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
