commit 6db60be8f2127f9ebdbeef7552108ceeec68e855
Author: Leszek Koltunski <leszek@koltunski.pl>
Date:   Mon Jul 26 00:37:42 2021 +0200

    New 'JingPyraminx' object - improvements

diff --git a/src/main/java/org/distorted/objects/MovementJing.java b/src/main/java/org/distorted/objects/MovementJing.java
index f2995abb..ec2c409e 100644
--- a/src/main/java/org/distorted/objects/MovementJing.java
+++ b/src/main/java/org/distorted/objects/MovementJing.java
@@ -25,8 +25,9 @@ import org.distorted.library.type.Static3D;
 
 class MovementJing extends Movement
 {
-  static final float DIST3D = SQ6/12;
-  static final float DIST2D = SQ3/6;
+  private static final float M = (1.0f/4);
+  static final float DIST3D = (SQ6/12)*M;
+  static final float DIST2D = (SQ3/ 6)*M;
 
   static final Static3D[] FACE_AXIS = new Static3D[]
          {
diff --git a/src/main/java/org/distorted/objects/TwistyJing.java b/src/main/java/org/distorted/objects/TwistyJing.java
index 0439f94a..d31c56e6 100644
--- a/src/main/java/org/distorted/objects/TwistyJing.java
+++ b/src/main/java/org/distorted/objects/TwistyJing.java
@@ -58,6 +58,8 @@ public class TwistyJing extends TwistyObject
            COLOR_BLUE  , COLOR_RED
          };
 
+  private static final int[] ROT_QUAT = {0,1,2,7,0,2,7,6,3,10,0,1,3,5};
+
   // computed with res/raw/compute_quats.c
   private static final Static4D[] QUATS = new Static4D[]
          {
@@ -77,10 +79,10 @@ public class TwistyJing extends TwistyObject
 
   static final float[][] CENTERS = new float[][]
          {
-           { 0.000f, -SQ2/4,  0.500f },
-           { 0.000f, -SQ2/4, -0.500f },
-           {-0.500f,  SQ2/4,  0.000f },
-           { 0.500f,  SQ2/4,  0.000f },
+           { 0.000f, -SQ2/4, 0.500f },
+           { 0.000f, -SQ2/4,-0.500f },
+           {-0.500f,  SQ2/4, 0.000f },
+           { 0.500f,  SQ2/4, 0.000f },
 
            { 0.000f, -SQ2/4, 0.000f },
            {-0.250f, 0.000f, 0.250f },
@@ -101,21 +103,21 @@ public class TwistyJing extends TwistyObject
   // GREEN 8 YELLOW 9 BLUE 10 RED 11
   private static final int[][] mFaceMap = new int[][]
          {
-           {  2, 3, 1, 12, 12, 12 },
-           {  0, 1, 3, 12, 12, 12 },
-           {  0, 2, 1, 12, 12, 12 },
-           {  0, 3, 2, 12, 12, 12 },
-
-           {  7, 5, 12, 12, 12, 12 },
-           {  6, 5, 12, 12, 12, 12 },
-           {  7, 6, 12, 12, 12, 12 },
-           {  4, 5, 12, 12, 12, 12 },
-           {  7, 4, 12, 12, 12, 12 },
-           {  6, 4, 12, 12, 12, 12 },
+           {  0,  3,  2, 12, 12, 12 },
+           {  1,  2,  3, 12, 12, 12 },
+           {  1,  0,  2, 12, 12, 12 },
+           {  1,  3,  0, 12, 12, 12 },
+
+           {  7,  6, 12, 12, 12, 12 },
+           {  4,  6, 12, 12, 12, 12 },
+           {  7,  4, 12, 12, 12, 12 },
+           {  5,  6, 12, 12, 12, 12 },
+           {  7,  5, 12, 12, 12, 12 },
+           {  4,  5, 12, 12, 12, 12 },
 
-           { 10, 12, 12, 12, 12, 12 },
            {  8, 12, 12, 12, 12, 12 },
            {  9, 12, 12, 12, 12, 12 },
+           { 10, 12, 12, 12, 12, 12 },
            { 11, 12, 12, 12, 12, 12 },
          };
 
@@ -272,33 +274,6 @@ public class TwistyJing extends TwistyObject
     return mFaceMap[cubit][cubitface];
     }
 
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-  private int getQuat(int cubit)
-    {
-    switch(cubit)
-      {
-      case  0: return 0;
-      case  1: return 1;
-      case  2: return 2;
-      case  3: return 7;
-
-      case  4: return 0;
-      case  5: return 2;
-      case  6: return 7;
-      case  7: return 6;
-      case  8: return 3;
-      case  9: return 10;
-
-      case 10: return 0;
-      case 11: return 1;
-      case 12: return 3;
-      case 13: return 5;
-      }
-
-    return 0;
-    }
-
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
   MeshBase createCubitMesh(int cubit, int numLayers)
@@ -384,7 +359,8 @@ public class TwistyJing extends TwistyObject
       mesh = mMeshes[2].copy(true);
       }
 
-    MatrixEffectQuaternion quat = new MatrixEffectQuaternion( QUATS[getQuat(cubit)], new Static3D(0,0,0) );
+    int q = ROT_QUAT[cubit];
+    MatrixEffectQuaternion quat = new MatrixEffectQuaternion( QUATS[q], new Static3D(0,0,0) );
     mesh.apply(quat,0xffffffff,0);
 
     return mesh;
@@ -400,9 +376,9 @@ public class TwistyJing extends TwistyObject
 
     switch(stickerType)
       {
-      case 0:  R = 0.05f; S = 0.05f; break;
+      case 0:  R = 0.05f; S = 0.06f; break;
       case 1:  R = 0.03f; S = 0.03f; break;
-      default: R = 0.05f; S = 0.06f; break;
+      default: R = 0.05f; S = 0.05f; break;
       }
 
     FactorySticker factory = FactorySticker.getInstance();
