commit c5de0343fb40be1346c6cc685c29fe8e7612858d
Author: Leszek Koltunski <leszek@koltunski.pl>
Date:   Thu May 19 10:20:37 2022 +0200

    Mixup Plus Cube: icon,mesh,jsons.

diff --git a/src/main/java/org/distorted/objectlib/main/ObjectType.java b/src/main/java/org/distorted/objectlib/main/ObjectType.java
index 7bda4060..ed695a43 100644
--- a/src/main/java/org/distorted/objectlib/main/ObjectType.java
+++ b/src/main/java/org/distorted/objectlib/main/ObjectType.java
@@ -79,14 +79,12 @@ public enum ObjectType
   SKEW_3 ( TwistySkewb.class         , new int[] {3,3,3,3}    , 21, R.drawable.skew_3, true),
   CONT_2 ( TwistyContainer.class     , new int[] {2,2,2,2}    , 12, R.drawable.cont_2, true),
 
-  MIXU_3 ( TwistyMixup3x3.class      , new int[] {3,3,3}      , 24, R.drawable.mixu_3, true),
-  MIXP_3 ( TwistyMixup3x3Plus.class  , new int[] {3,3,3}      , 28, R.drawable.mixu_3, true),
-
   VOID_3 ( TwistyVoid.class          , new int[] {3,3,3}      , 17, R.drawable.void_3, false),  // wasDownloadableButNowIsBuiltIn()
   CRYS_3 ( TwistyCrystal.class       , new int[] {3,3,3,3,3,3}, 27, R.drawable.crys_3, false),  // function!
   STAR_3 ( TwistyStarminx.class      , new int[] {3,3,3,3,3,3}, 27, R.drawable.star_3, false),
   PENT_2 ( TwistyPentultimate.class  , new int[] {2,2,2,2,2,2}, 21, R.drawable.pent_2, false),
-
+  MIXU_3 ( TwistyMixup3x3.class      , new int[] {3,3,3}      , 24, R.drawable.mixu_3, false),
+  MIXP_3 ( TwistyMixup3x3Plus.class  , new int[] {3,3,3}      , 28, R.drawable.mixp_3, false),
   ;
 
   public static int NUM_OBJECTS;
diff --git a/src/main/java/org/distorted/objectlib/objects/TwistyMixup3x3.java b/src/main/java/org/distorted/objectlib/objects/TwistyMixup3x3.java
index 5034439e..1e9b89b5 100644
--- a/src/main/java/org/distorted/objectlib/objects/TwistyMixup3x3.java
+++ b/src/main/java/org/distorted/objectlib/objects/TwistyMixup3x3.java
@@ -32,6 +32,11 @@ import java.io.InputStream;
 
 public class TwistyMixup3x3 extends TwistyMixup
 {
+  private static final float SHORT_EDGE = 1.5f-0.75f*SQ2;
+  private static final float LONG_EDGE  = 1.5f*(SQ2-1);
+
+///////////////////////////////////////////////////////////////////////////////////////////////////
+
   public TwistyMixup3x3(int[] numL, int meshState, int iconMode, Static4D quat, Static3D move, float scale, InputStream stream)
     {
     super(numL, meshState, iconMode, quat, move, scale, stream);
@@ -43,8 +48,7 @@ public class TwistyMixup3x3 extends TwistyMixup
     {
     if( mCuts==null )
       {
-      float C = 1.5f*(SQ2-1);
-      float[] cut = new float[] {-C,+C};
+      float[] cut = new float[] {-LONG_EDGE,+LONG_EDGE};
       mCuts = new float[][] { cut,cut,cut };
       }
 
@@ -57,9 +61,6 @@ public class TwistyMixup3x3 extends TwistyMixup
     {
     if( mPosition==null )
       {
-      float SHORT_EDGE = 1.5f-0.75f*SQ2;
-      float LONG_EDGE  = 1.5f*(SQ2-1);
-
       final float DIST_CORNER = LONG_EDGE+SHORT_EDGE;
       final float DIST_EDGE   = LONG_EDGE+SHORT_EDGE;
       final float DIST_CENTER = LONG_EDGE+SHORT_EDGE;
@@ -118,8 +119,6 @@ public class TwistyMixup3x3 extends TwistyMixup
 
   public ObjectShape getObjectShape(int variant)
     {
-    float SHORT_EDGE = 1.5f-0.75f*SQ2;
-    float LONG_EDGE  = 1.5f*(SQ2-1);
     float X = variant==0 ? SHORT_EDGE : LONG_EDGE;
     float Y = variant<=1 ? SHORT_EDGE : LONG_EDGE;
     float Z = SHORT_EDGE;
diff --git a/src/main/java/org/distorted/objectlib/objects/TwistyMixup3x3Plus.java b/src/main/java/org/distorted/objectlib/objects/TwistyMixup3x3Plus.java
index 6efdc76a..508bb076 100644
--- a/src/main/java/org/distorted/objectlib/objects/TwistyMixup3x3Plus.java
+++ b/src/main/java/org/distorted/objectlib/objects/TwistyMixup3x3Plus.java
@@ -19,6 +19,8 @@
 
 package org.distorted.objectlib.objects;
 
+import java.io.InputStream;
+
 import org.distorted.library.type.Static3D;
 import org.distorted.library.type.Static4D;
 import org.distorted.objectlib.helpers.ObjectFaceShape;
@@ -26,12 +28,15 @@ import org.distorted.objectlib.helpers.ObjectShape;
 import org.distorted.objectlib.helpers.ObjectSignature;
 import org.distorted.objectlib.main.ObjectType;
 
-import java.io.InputStream;
-
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
 public class TwistyMixup3x3Plus extends TwistyMixup
 {
+  private static final float SHORT_EDGE = (6*SQ2-3)/14;
+  private static final float LONG_EDGE  = (12-3*SQ2)/14;
+
+///////////////////////////////////////////////////////////////////////////////////////////////////
+
   public TwistyMixup3x3Plus(int[] numL, int meshState, int iconMode, Static4D quat, Static3D move, float scale, InputStream stream)
     {
     super(numL, meshState, iconMode, quat, move, scale, stream);
@@ -43,8 +48,7 @@ public class TwistyMixup3x3Plus extends TwistyMixup
     {
     if( mCuts==null )
       {
-      float C = (6*SQ2-3)/14;
-      float[] cut = new float[] {-C,+C};
+      float[] cut = new float[] {-SHORT_EDGE,+SHORT_EDGE};
       mCuts = new float[][] { cut,cut,cut };
       }
 
@@ -57,9 +61,6 @@ public class TwistyMixup3x3Plus extends TwistyMixup
     {
     if( mPosition==null )
       {
-      float SHORT_EDGE = 1.5f-0.75f*SQ2;
-      float LONG_EDGE  = 1.5f*(SQ2-1);
-
       final float DIST_CORNER = LONG_EDGE+SHORT_EDGE;
       final float DIST_EDGE   = 1.5f*LONG_EDGE+SHORT_EDGE;
       final float DIST_CENTER = LONG_EDGE+SHORT_EDGE;
@@ -146,9 +147,6 @@ public class TwistyMixup3x3Plus extends TwistyMixup
 
   public ObjectShape getObjectShape(int variant)
     {
-    float SHORT_EDGE = 1.5f-0.75f*SQ2;
-    float LONG_EDGE  = 1.5f*(SQ2-1);
-
     if( variant==0 || variant==3 )
       {
       float X = variant==0 ? LONG_EDGE : SHORT_EDGE;
@@ -332,7 +330,7 @@ public class TwistyMixup3x3Plus extends TwistyMixup
 
   public int getComplexity()
     {
-    return 2;
+    return 3;
     }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
diff --git a/src/main/res/drawable/mixp_3.png b/src/main/res/drawable/mixp_3.png
new file mode 100644
index 00000000..6a6e87ec
Binary files /dev/null and b/src/main/res/drawable/mixp_3.png differ
