commit 77899b4c7afd330d100f5abf9a5f1f3d021f731b
Author: Leszek Koltunski <leszek@koltunski.pl>
Date:   Fri Sep 18 00:02:59 2020 +0100

    More support for the Helicopter.

diff --git a/src/main/java/org/distorted/objects/RubikHelicopter.java b/src/main/java/org/distorted/objects/RubikHelicopter.java
index 938dc037..5403d95c 100644
--- a/src/main/java/org/distorted/objects/RubikHelicopter.java
+++ b/src/main/java/org/distorted/objects/RubikHelicopter.java
@@ -365,8 +365,8 @@ public class RubikHelicopter extends RubikObject
     float[] vertices1 = { -F,-G, +F,-G, 0,2*G};
 
     float[] bands1 = { 1.0f   , 0.0f,
-                       0.5f   , 0.02f,
-                       0.0f   , 0.03f };
+                       0.5f   , 0.01f,
+                       0.0f   , 0.01f };
 
     meshes[1] = new MeshPolygon(vertices1, bands1, 1, 3);
     meshes[1].setEffectAssociation(0,2,0);
@@ -404,7 +404,7 @@ public class RubikHelicopter extends RubikObject
     Static3D center = new Static3D(0,0,0);
     Static3D center1= new Static3D(-0.25f,-0.25f,0);
 
-    float d0 =-0.04f;
+    float d0 =-0.03f;
     float d1 =-0.04f;
     float r0 = 0.15f;
     float r1 = 0.10f;
@@ -620,7 +620,7 @@ public class RubikHelicopter extends RubikObject
 
   public int computeRowFromOffset(float offset)
     {
-    return offset<0.125f ? 0:1;
+    return offset<0.125f ? 0:3;
     }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
diff --git a/src/main/java/org/distorted/objects/RubikMovementHelicopter.java b/src/main/java/org/distorted/objects/RubikMovementHelicopter.java
index 21ed7b69..cd56a785 100644
--- a/src/main/java/org/distorted/objects/RubikMovementHelicopter.java
+++ b/src/main/java/org/distorted/objects/RubikMovementHelicopter.java
@@ -30,20 +30,20 @@ class RubikMovementHelicopter extends RubikMovement
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 // _____________
-// |  \  0  /  |
-// |   \   /   |
-// | 3 |   | 1 |
-// |   /   \   |
-// |  /  2  \  |
+// |     |     |
+// |  3  |  0  |
+// |-----------|
+// |     |     |
+// |  2  |  1  |
 // -------------
 
   private int getQuarter(float[] touchPoint)
     {
-    boolean p0 = touchPoint[1] >= touchPoint[0];
-    boolean p1 = touchPoint[1] >=-touchPoint[0];
+    boolean p0 = touchPoint[0] > 0;
+    boolean p1 = touchPoint[1] > 0;
 
-    if( p0 )  return p1 ? 0:3;
-    else      return p1 ? 1:2;
+    if( p0 )  return p1 ? 0:1;
+    else      return p1 ? 3:2;
     }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
@@ -61,14 +61,17 @@ class RubikMovementHelicopter extends RubikMovement
 
     int quarter = getQuarter(touchPoint);
 
+
+android.util.Log.e("heli", "point= "+touchPoint[0]+" "+touchPoint[1]+" face="+face+" q:"+quarter);
+
     switch(face)
       {
       case 0: switch(quarter)
                 {
-                case 0: enabled[1]=0; enabled[2]=1; break;
-                case 1: enabled[1]=3; enabled[2]=1; break;
-                case 2: enabled[1]=2; enabled[2]=3; break;
-                case 3: enabled[1]=0; enabled[2]=2; break;
+                case 0: enabled[1]=1; enabled[2]=3; break;
+                case 1: enabled[1]=0; enabled[2]=3; break;
+                case 2: enabled[1]=0; enabled[2]=2; break;
+                case 3: enabled[1]=1; enabled[2]=2; break;
                 }
               break;
       case 1: switch(quarter)
