commit 1ded8771f06c878459153f6d89ebeb66fab02502
Author: Leszek Koltunski <leszek@koltunski.pl>
Date:   Fri Jun 4 13:37:04 2021 +0200

    Square-1: progress with movement.

diff --git a/src/main/java/org/distorted/objects/Movement.java b/src/main/java/org/distorted/objects/Movement.java
index 40ca94db..949d8d54 100644
--- a/src/main/java/org/distorted/objects/Movement.java
+++ b/src/main/java/org/distorted/objects/Movement.java
@@ -45,8 +45,8 @@ public abstract class Movement
 
   abstract boolean isInsideFace(int face, float[] point);
   abstract void computeEnabledAxis(int face, float[] touchPoint, int[] enabledAxis);
-  abstract int computeRowFromOffset(int face, int size, float offset);
-  public abstract float returnRotationFactor(int size, int row);
+  abstract int computeRowFromOffset(int face, int axisIndex, int numLayers, float offset);
+  public abstract float returnRotationFactor(int numLayers, int row);
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
@@ -277,7 +277,7 @@ public abstract class Movement
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  public Static2D newRotation(int size, Static4D rotatedTouchPoint)
+  public Static2D newRotation(int numLayers, Static4D rotatedTouchPoint)
     {
     float objectRatio = TwistyObject.getObjectRatio();
 
@@ -294,7 +294,7 @@ public abstract class Movement
     computeEnabledAxis(mLastTouchedFace, mPoint2D, mEnabledRotAxis);
     int rotIndex = computeRotationIndex(mLastTouchedFace, mMove2D, mEnabledRotAxis);
     float offset = computeOffset(mPoint2D, mCastedRotAxis[mLastTouchedFace][rotIndex]);
-    int row      = computeRowFromOffset(mLastTouchedFace,size,offset);
+    int row      = computeRowFromOffset(mLastTouchedFace,rotIndex,numLayers,offset);
 
     return new Static2D(rotIndex,row);
     }
diff --git a/src/main/java/org/distorted/objects/MovementCube.java b/src/main/java/org/distorted/objects/MovementCube.java
index 6d3a2ae7..628ec6f0 100644
--- a/src/main/java/org/distorted/objects/MovementCube.java
+++ b/src/main/java/org/distorted/objects/MovementCube.java
@@ -44,14 +44,14 @@ class MovementCube extends Movement
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  int computeRowFromOffset(int face, int size, float offset)
+  int computeRowFromOffset(int face, int axisIndex, int numLayers, float offset)
     {
-    return (int)(size*offset);
+    return (int)(numLayers*offset);
     }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  public float returnRotationFactor(int size, int row)
+  public float returnRotationFactor(int numLayers, int row)
     {
     return 1.0f;
     }
diff --git a/src/main/java/org/distorted/objects/MovementDiamond.java b/src/main/java/org/distorted/objects/MovementDiamond.java
index 062fe5e8..ed78e0d2 100644
--- a/src/main/java/org/distorted/objects/MovementDiamond.java
+++ b/src/main/java/org/distorted/objects/MovementDiamond.java
@@ -49,15 +49,15 @@ class MovementDiamond extends Movement
 // midpoint at SQ3/12) or one of the other face when the cast rotAxis are the wrong way round (and
 // the triangle spans then from 0 to SQ3/2 with midpoint at SQ3/4).
 
-  int computeRowFromOffset(int face, int size, float offset)
+  int computeRowFromOffset(int face, int axisIndex, int numLayers, float offset)
     {
     float off = ( face==1 || face==3 || face==4 || face==6 ) ? offset/SQ3 + 1.0f/6 : offset/SQ3;
-    return (int)(2*size*off);
+    return (int)(2*numLayers*off);
     }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  public float returnRotationFactor(int size, int row)
+  public float returnRotationFactor(int numLayers, int row)
     {
     return 1.0f;
     }
diff --git a/src/main/java/org/distorted/objects/MovementDino.java b/src/main/java/org/distorted/objects/MovementDino.java
index 92fbbed4..ac46e8c9 100644
--- a/src/main/java/org/distorted/objects/MovementDino.java
+++ b/src/main/java/org/distorted/objects/MovementDino.java
@@ -44,14 +44,14 @@ class MovementDino extends Movement
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  int computeRowFromOffset(int face, int size, float offset)
+  int computeRowFromOffset(int face, int axisIndex, int numLayers, float offset)
     {
     return offset<DIST2D ? 0:2;
     }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  public float returnRotationFactor(int size, int row)
+  public float returnRotationFactor(int numLayers, int row)
     {
     return 1.0f;
     }
diff --git a/src/main/java/org/distorted/objects/MovementHelicopter.java b/src/main/java/org/distorted/objects/MovementHelicopter.java
index 8ee298f3..0dcac49f 100644
--- a/src/main/java/org/distorted/objects/MovementHelicopter.java
+++ b/src/main/java/org/distorted/objects/MovementHelicopter.java
@@ -44,14 +44,14 @@ class MovementHelicopter extends Movement
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  int computeRowFromOffset(int face, int size, float offset)
+  int computeRowFromOffset(int face, int axisIndex, int numLayers, float offset)
     {
     return offset<DIST2D ? 0:2;
     }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  public float returnRotationFactor(int size, int row)
+  public float returnRotationFactor(int numLayers, int row)
     {
     return 1.0f;
     }
diff --git a/src/main/java/org/distorted/objects/MovementIvy.java b/src/main/java/org/distorted/objects/MovementIvy.java
index 8a01bf0c..914f5ad3 100644
--- a/src/main/java/org/distorted/objects/MovementIvy.java
+++ b/src/main/java/org/distorted/objects/MovementIvy.java
@@ -44,14 +44,14 @@ class MovementIvy extends Movement
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  int computeRowFromOffset(int face, int size, float offset)
+  int computeRowFromOffset(int face, int axisIndex, int numLayers, float offset)
     {
     return offset<DIST2D ? 0:1;
     }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  public float returnRotationFactor(int size, int row)
+  public float returnRotationFactor(int numLayers, int row)
     {
     return 1.0f;
     }
diff --git a/src/main/java/org/distorted/objects/MovementMinx.java b/src/main/java/org/distorted/objects/MovementMinx.java
index b005f7e9..ecee642e 100644
--- a/src/main/java/org/distorted/objects/MovementMinx.java
+++ b/src/main/java/org/distorted/objects/MovementMinx.java
@@ -58,13 +58,13 @@ class MovementMinx extends Movement
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  int computeRowFromOffset(int face, int size, float offset)
+  int computeRowFromOffset(int face, int axisIndex, int numLayers, float offset)
     {
-    if( size==3 )
+    if( numLayers==3 )
       {
       return offset<DIST2D ? 0:2;
       }
-    if( size==5 )
+    if( numLayers==5 )
       {
       float quot = offset / DIST2D;
 
@@ -79,7 +79,7 @@ class MovementMinx extends Movement
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  public float returnRotationFactor(int size, int row)
+  public float returnRotationFactor(int numLayers, int row)
     {
     return 1.0f;
     }
diff --git a/src/main/java/org/distorted/objects/MovementPyraminx.java b/src/main/java/org/distorted/objects/MovementPyraminx.java
index 9443a144..a39bad9e 100644
--- a/src/main/java/org/distorted/objects/MovementPyraminx.java
+++ b/src/main/java/org/distorted/objects/MovementPyraminx.java
@@ -45,16 +45,16 @@ class MovementPyraminx extends Movement
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  int computeRowFromOffset(int face, int size, float offset)
+  int computeRowFromOffset(int face, int axisIndex, int numLayers, float offset)
     {
-    return (int)(size*offset/(SQ6/3));
+    return (int)(numLayers*offset/(SQ6/3));
     }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  public float returnRotationFactor(int size, int row)
+  public float returnRotationFactor(int numLayers, int row)
     {
-    return ((float)size)/(size-row);
+    return ((float)numLayers)/(numLayers-row);
     }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
diff --git a/src/main/java/org/distorted/objects/MovementRedi.java b/src/main/java/org/distorted/objects/MovementRedi.java
index c55d65b7..a5592087 100644
--- a/src/main/java/org/distorted/objects/MovementRedi.java
+++ b/src/main/java/org/distorted/objects/MovementRedi.java
@@ -44,14 +44,14 @@ class MovementRedi extends Movement
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  int computeRowFromOffset(int face, int size, float offset)
+  int computeRowFromOffset(int face, int axisIndex, int numLayers, float offset)
     {
     return offset<DIST2D ? 0:2;
     }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  public float returnRotationFactor(int size, int row)
+  public float returnRotationFactor(int numLayers, int row)
     {
     return 1.0f;
     }
diff --git a/src/main/java/org/distorted/objects/MovementRex.java b/src/main/java/org/distorted/objects/MovementRex.java
index 5072c550..22f96f9f 100644
--- a/src/main/java/org/distorted/objects/MovementRex.java
+++ b/src/main/java/org/distorted/objects/MovementRex.java
@@ -44,14 +44,14 @@ class MovementRex extends Movement
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  int computeRowFromOffset(int face, int size, float offset)
+  int computeRowFromOffset(int face, int axisIndex, int numLayers, float offset)
     {
     return offset<DIST2D ? 0:2;
     }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  public float returnRotationFactor(int size, int row)
+  public float returnRotationFactor(int numLayers, int row)
     {
     return 1.0f;
     }
diff --git a/src/main/java/org/distorted/objects/MovementSkewb.java b/src/main/java/org/distorted/objects/MovementSkewb.java
index 43321d72..857f164c 100644
--- a/src/main/java/org/distorted/objects/MovementSkewb.java
+++ b/src/main/java/org/distorted/objects/MovementSkewb.java
@@ -44,14 +44,14 @@ class MovementSkewb extends Movement
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  int computeRowFromOffset(int face, int size, float offset)
+  int computeRowFromOffset(int face, int axisIndex, int numLayers, float offset)
     {
-    return offset<DIST2D ? 0:size-1;
+    return offset<DIST2D ? 0:numLayers-1;
     }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  public float returnRotationFactor(int size, int row)
+  public float returnRotationFactor(int numLayers, int row)
     {
     return 1.0f;
     }
diff --git a/src/main/java/org/distorted/objects/MovementSquare.java b/src/main/java/org/distorted/objects/MovementSquare.java
index 96d03253..94c3da22 100644
--- a/src/main/java/org/distorted/objects/MovementSquare.java
+++ b/src/main/java/org/distorted/objects/MovementSquare.java
@@ -44,14 +44,16 @@ class MovementSquare extends Movement
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  int computeRowFromOffset(int face, int size, float offset)
+  int computeRowFromOffset(int face, int axisIndex, int numLayers, float offset)
     {
-    return (int)(size*offset);
+    //android.util.Log.e("D", "face="+face+" size="+numLayers+" offset="+offset);
+
+    return offset>DIST2D? 2-axisIndex : 0;
     }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  public float returnRotationFactor(int size, int row)
+  public float returnRotationFactor(int numLayers, int row)
     {
     return 1.0f;
     }
diff --git a/src/main/java/org/distorted/objects/MovementUltimate.java b/src/main/java/org/distorted/objects/MovementUltimate.java
index 1f0fc4d2..294b221f 100644
--- a/src/main/java/org/distorted/objects/MovementUltimate.java
+++ b/src/main/java/org/distorted/objects/MovementUltimate.java
@@ -59,14 +59,14 @@ class MovementUltimate extends Movement
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  int computeRowFromOffset(int face, int size, float offset)
+  int computeRowFromOffset(int face, int axisIndex, int numLayers, float offset)
     {
     return offset<DIST2D ? 0:1;
     }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  public float returnRotationFactor(int size, int row)
+  public float returnRotationFactor(int numLayers, int row)
     {
     return 1.0f;
     }
diff --git a/src/main/java/org/distorted/objects/ObjectList.java b/src/main/java/org/distorted/objects/ObjectList.java
index 79c30059..72c9aceb 100644
--- a/src/main/java/org/distorted/objects/ObjectList.java
+++ b/src/main/java/org/distorted/objects/ObjectList.java
@@ -215,7 +215,7 @@ public enum ObjectList
 
   SQU1 (
          new int[][] {
-                       {2 , 18, 0, R.drawable.ui_small_diam2, R.drawable.ui_medium_diam2, R.drawable.ui_big_diam2, R.drawable.ui_huge_diam2} ,
+                       {3 , 18, 0, R.drawable.ui_small_diam2, R.drawable.ui_medium_diam2, R.drawable.ui_big_diam2, R.drawable.ui_huge_diam2} ,
                      },
          TwistySquare1.class,
          new MovementSquare(),
diff --git a/src/main/java/org/distorted/objects/TwistySquare1.java b/src/main/java/org/distorted/objects/TwistySquare1.java
index 77c76629..04bafed8 100644
--- a/src/main/java/org/distorted/objects/TwistySquare1.java
+++ b/src/main/java/org/distorted/objects/TwistySquare1.java
@@ -365,7 +365,7 @@ class TwistySquare1 extends TwistyObject
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  float[][] getCubitPositions(int size)
+  float[][] getCubitPositions(int numLayers)
     {
     return CENTERS;
     }
@@ -409,12 +409,12 @@ class TwistySquare1 extends TwistyObject
 
   float getScreenRatio()
     {
-    return 0.36f;
+    return 0.5f;
     }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  int getFaceColor(int cubit, int cubitface, int size)
+  int getFaceColor(int cubit, int cubitface, int numLayers)
     {
     int type;
 
