commit fb6a40c8a24c4df5489bee20dfd2e11b6c4055a5
Author: Leszek Koltunski <leszek@koltunski.pl>
Date:   Thu Apr 2 13:59:37 2020 +0100

    Minor.

diff --git a/src/main/java/org/distorted/effect/scramble/ScrambleEffectRotations.java b/src/main/java/org/distorted/effect/scramble/ScrambleEffectRotations.java
index 12ccf566..0283076d 100644
--- a/src/main/java/org/distorted/effect/scramble/ScrambleEffectRotations.java
+++ b/src/main/java/org/distorted/effect/scramble/ScrambleEffectRotations.java
@@ -30,7 +30,7 @@ import org.distorted.library.type.Static4D;
 
 import java.util.Random;
 
-import static org.distorted.magic.RubikRenderer.NODE_FBO_SIZE;
+import static org.distorted.object.RubikObject.NODE_FBO_SIZE;
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
diff --git a/src/main/java/org/distorted/effect/sizechange/SizeChangeEffectRound.java b/src/main/java/org/distorted/effect/sizechange/SizeChangeEffectRound.java
index 836213dd..6a51c6b7 100644
--- a/src/main/java/org/distorted/effect/sizechange/SizeChangeEffectRound.java
+++ b/src/main/java/org/distorted/effect/sizechange/SizeChangeEffectRound.java
@@ -26,7 +26,7 @@ import org.distorted.library.type.Dynamic;
 import org.distorted.library.type.Dynamic3D;
 import org.distorted.library.type.Static3D;
 
-import static org.distorted.magic.RubikRenderer.NODE_FBO_SIZE;
+import static org.distorted.object.RubikObject.NODE_FBO_SIZE;
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
diff --git a/src/main/java/org/distorted/magic/RubikPostRender.java b/src/main/java/org/distorted/magic/RubikPostRender.java
index 7d2d03fa..32b0bb86 100644
--- a/src/main/java/org/distorted/magic/RubikPostRender.java
+++ b/src/main/java/org/distorted/magic/RubikPostRender.java
@@ -43,8 +43,8 @@ public class RubikPostRender implements EffectListener
 
   private RubikSurfaceView mView;
   private boolean mFinishRotation, mRemoveRotation, mRemovePatternRotation, mAddRotation,
-                  mSetQuatCurrent, mSetQuatAccumulated;
-  private boolean mChangeObject, mSolveObject, mScrambleObject;
+                  mSetQuatCurrent, mSetQuatAccumulated, mChangeObject, mSolveObject,
+                  mScrambleObject, mInitializeObject;
   private boolean mCanRotate, mCanDrag, mCanUI;
   private boolean mIsSolved;
   private RubikObjectList mNextObject;
@@ -62,7 +62,6 @@ public class RubikPostRender implements EffectListener
   private long mAddRotationDuration;
   private ActionFinishedListener mAddActionListener;
   private long mAddRotationID, mRemoveRotationID;
-  private boolean mInitializeObject;
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
@@ -113,7 +112,7 @@ public class RubikPostRender implements EffectListener
       mNewObject.recomputeScaleFactor(mScreenWidth, mScreenHeight);
       }
 
-    mIsSolved = true;
+    mIsSolved = mNewObject.isSolved();
     }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
diff --git a/src/main/java/org/distorted/magic/RubikRenderer.java b/src/main/java/org/distorted/magic/RubikRenderer.java
index 3867c5ec..09ad05d7 100644
--- a/src/main/java/org/distorted/magic/RubikRenderer.java
+++ b/src/main/java/org/distorted/magic/RubikRenderer.java
@@ -32,8 +32,6 @@ import javax.microedition.khronos.opengles.GL10;
 
 public class RubikRenderer implements GLSurfaceView.Renderer
 {
-   public static final int NODE_FBO_SIZE = 600;
-
    private RubikSurfaceView mView;
    private DistortedScreen mScreen;
 
diff --git a/src/main/java/org/distorted/object/RubikObject.java b/src/main/java/org/distorted/object/RubikObject.java
index a6ee5768..91e26f1a 100644
--- a/src/main/java/org/distorted/object/RubikObject.java
+++ b/src/main/java/org/distorted/object/RubikObject.java
@@ -39,12 +39,12 @@ import org.distorted.library.type.Static1D;
 import org.distorted.library.type.Static3D;
 import org.distorted.library.type.Static4D;
 
-import static org.distorted.magic.RubikRenderer.NODE_FBO_SIZE;
-
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
 public abstract class RubikObject extends DistortedNode
   {
+  public static final int NODE_FBO_SIZE = 600;
+
   static final int TEXTURE_HEIGHT = 128;
   final float[] LEGAL_QUATS;
   final Static3D[] ROTATION_AXIS;
@@ -56,7 +56,7 @@ public abstract class RubikObject extends DistortedNode
   private int mRotRowBitmap;
   private int mRotAxis;
   private Static3D[] mOrigPos;
-  private Static3D mScale, mNodeScale;
+  private Static3D mNodeScale;
   private Static4D mQuatAccumulated;
   private Cubit[] mCubits;
   private int mSize;
@@ -91,20 +91,17 @@ public abstract class RubikObject extends DistortedNode
 
     mSize = size;
     computeStartAndStep(mOrigPos);
+    mNodeScale= new Static3D(1,1,1);
+    mQuatAccumulated = quatAcc;
+    mSinkEffect  = getSink(mSize);
 
     mRotationAngleStatic = new Static1D(0);
     mRotationAngleMiddle = new Static1D(0);
     mRotationAngleFinal  = new Static1D(0);
 
-    mScale    = new Static3D(1,1,1);
-    mNodeScale= new Static3D(1,1,1);
-
-    mQuatAccumulated = quatAcc;
-
     Static3D center = new Static3D(0,0,0);
-
-    mSinkEffect  = getSink(mSize);
-    mScaleEffect = new MatrixEffectScale(mScale);
+    float scale = OBJECT_SCREEN_RATIO*NODE_FBO_SIZE/mSize;
+    mScaleEffect = new MatrixEffectScale(new Static3D(scale,scale,scale));
     mQuatCEffect = new MatrixEffectQuaternion(quatCur, center);
     mQuatAEffect = new MatrixEffectQuaternion(quatAcc, center);
 
@@ -347,10 +344,7 @@ public abstract class RubikObject extends DistortedNode
   public void recomputeScaleFactor(int scrWidth, int scrHeight)
     {
     float factor = Math.min(scrWidth,scrHeight);
-    float scaleFactor = OBJECT_SCREEN_RATIO*NODE_FBO_SIZE/mSize;
-
     mNodeScale.set(factor,factor,factor);
-    mScale.set(scaleFactor,scaleFactor,scaleFactor);
     }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
