commit c363969754653daceb9884a4608442d9a4af1eb8
Author: Leszek Koltunski <leszek@koltunski.pl>
Date:   Tue Nov 2 14:29:04 2021 +0100

    Add the 7x7 cube.

diff --git a/src/main/java/org/distorted/objectlib/main/ObjectType.java b/src/main/java/org/distorted/objectlib/main/ObjectType.java
index ede6d7ce..404d1007 100644
--- a/src/main/java/org/distorted/objectlib/main/ObjectType.java
+++ b/src/main/java/org/distorted/objectlib/main/ObjectType.java
@@ -36,9 +36,9 @@ public enum ObjectType
   CUBE_4 ( new int[] {4,4,4}      , 24, R.drawable.cube_4s, R.drawable.cube_4m, R.drawable.cube_4b, R.drawable.cube_4h),
   CUBE_5 ( new int[] {5,5,5}      , 28, R.drawable.cube_5s, R.drawable.cube_5m, R.drawable.cube_5b, R.drawable.cube_5h),
   CUBE_6 ( new int[] {6,6,6}      , 35, R.drawable.cube_6s, R.drawable.cube_6m, R.drawable.cube_6b, R.drawable.cube_6h),
-  DIAM_2 ( new int[] {2,2,2,2}    , 12, R.drawable.diam_2s, R.drawable.diam_2m, R.drawable.diam_2b, R.drawable.diam_2h),
-  DIAM_3 ( new int[] {3,3,3,3}    , 24, R.drawable.diam_3s, R.drawable.diam_3m, R.drawable.diam_3b, R.drawable.diam_3h),
-  DIAM_4 ( new int[] {4,4,4,4}    , 32, R.drawable.diam_4s, R.drawable.diam_4m, R.drawable.diam_4b, R.drawable.diam_4h),
+  CUBE_7 ( new int[] {7,7,7}      , 42, R.drawable.cube_7s, R.drawable.cube_7m, R.drawable.cube_7b, R.drawable.cube_7h),
+  MIRR_2 ( new int[] {2,2,2}      , 12, R.drawable.mirr_2s, R.drawable.mirr_2m, R.drawable.mirr_2b, R.drawable.mirr_2h),
+  MIRR_3 ( new int[] {3,3,3}      , 17, R.drawable.mirr_3s, R.drawable.mirr_3m, R.drawable.mirr_3b, R.drawable.mirr_3h),
   JING_2 ( new int[] {2,2,2,2}    , 11, R.drawable.jing_2s, R.drawable.jing_2m, R.drawable.jing_2b, R.drawable.jing_2h),
   PYRA_3 ( new int[] {3,3,3,3}    , 10, R.drawable.pyra_3s, R.drawable.pyra_3m, R.drawable.pyra_3b, R.drawable.pyra_3h),
   PYRA_4 ( new int[] {4,4,4,4}    , 17, R.drawable.pyra_4s, R.drawable.pyra_4m, R.drawable.pyra_4b, R.drawable.pyra_4h),
@@ -48,9 +48,13 @@ public enum ObjectType
   MEGA_3 ( new int[] {3,3,3,3,3,3}, 21, R.drawable.mega_3s, R.drawable.mega_3m, R.drawable.mega_3b, R.drawable.mega_3h),
   MEGA_5 ( new int[] {5,5,5,5,5,5}, 37, R.drawable.mega_5s, R.drawable.mega_5m, R.drawable.mega_5b, R.drawable.mega_5h),
   ULTI_2 ( new int[] {2,2,2,2}    , 18, R.drawable.ulti_2s, R.drawable.ulti_2m, R.drawable.ulti_2b, R.drawable.ulti_2h),
+  DIAM_2 ( new int[] {2,2,2,2}    , 12, R.drawable.diam_2s, R.drawable.diam_2m, R.drawable.diam_2b, R.drawable.diam_2h),
+  DIAM_3 ( new int[] {3,3,3,3}    , 24, R.drawable.diam_3s, R.drawable.diam_3m, R.drawable.diam_3b, R.drawable.diam_3h),
+  DIAM_4 ( new int[] {4,4,4,4}    , 32, R.drawable.diam_4s, R.drawable.diam_4m, R.drawable.diam_4b, R.drawable.diam_4h),
   DINO_3 ( new int[] {3,3,3,3}    , 10, R.drawable.dino_3s, R.drawable.dino_3m, R.drawable.dino_3b, R.drawable.dino_3h),
   DIN4_3 ( new int[] {3,3,3,3}    ,  7, R.drawable.din4_3s, R.drawable.din4_3m, R.drawable.din4_3b, R.drawable.din4_3h),
   REDI_3 ( new int[] {3,3,3,3}    , 16, R.drawable.redi_3s, R.drawable.redi_3m, R.drawable.redi_3b, R.drawable.redi_3h),
+  HELI_3 ( new int[] {3,3,3,3,3,3}, 20, R.drawable.heli_3s, R.drawable.heli_3m, R.drawable.heli_3b, R.drawable.heli_3h),
   SKEW_2 ( new int[] {2,2,2,2}    , 11, R.drawable.skew_2s, R.drawable.skew_2m, R.drawable.skew_2b, R.drawable.skew_2h),
   SKEW_3 ( new int[] {3,3,3,3}    , 21, R.drawable.skew_3s, R.drawable.skew_3m, R.drawable.skew_3b, R.drawable.skew_3h),
   IVY_2  ( new int[] {2,2,2,2}    ,  8, R.drawable.ivy_2s , R.drawable.ivy_2m , R.drawable.ivy_2b , R.drawable.ivy_2h ),
@@ -61,12 +65,9 @@ public enum ObjectType
   BAN4_3 ( new int[] {3,3,3}      , 16, R.drawable.ban4_3s, R.drawable.ban4_3m, R.drawable.ban4_3b, R.drawable.ban4_3h),
   SQU1_3 ( new int[] {3,2,3}      , 24, R.drawable.squ1_3s, R.drawable.squ1_3m, R.drawable.squ1_3b, R.drawable.squ1_3h),
   SQU2_3 ( new int[] {3,2,3}      , 24, R.drawable.squ2_3s, R.drawable.squ2_3m, R.drawable.squ2_3b, R.drawable.squ2_3h),
-  MIRR_2 ( new int[] {2,2,2}      , 12, R.drawable.mirr_2s, R.drawable.mirr_2m, R.drawable.mirr_2b, R.drawable.mirr_2h),
-  MIRR_3 ( new int[] {3,3,3}      , 17, R.drawable.mirr_3s, R.drawable.mirr_3m, R.drawable.mirr_3b, R.drawable.mirr_3h),
   CU_323 ( new int[] {3,2,3}      , 15, R.drawable.cu_323s, R.drawable.cu_323m, R.drawable.cu_323b, R.drawable.cu_323h),
   CU_232 ( new int[] {2,3,2}      , 16, R.drawable.cu_232s, R.drawable.cu_232m, R.drawable.cu_232b, R.drawable.cu_232h),
   CU_343 ( new int[] {3,4,3}      , 23, R.drawable.cu_343s, R.drawable.cu_343m, R.drawable.cu_343b, R.drawable.cu_343h),
-  HELI_3 ( new int[] {3,3,3,3,3,3}, 20, R.drawable.heli_3s, R.drawable.heli_3m, R.drawable.heli_3b, R.drawable.heli_3h),
   ;
 
   public static final int NUM_OBJECTS = values().length;
@@ -148,10 +149,10 @@ public enum ObjectType
       case  1:
       case  2:
       case  3:
-      case  4: return new TwistyCuboid        (numL, quat, move, meshStream);
-      case  5:
+      case  4:
+      case  5: return new TwistyCuboid        (numL, quat, move, meshStream);
       case  6:
-      case  7: return new TwistyDiamond       (numL, quat, move, meshStream);
+      case  7: return new TwistyMirror        (numL, quat, move, meshStream);
       case  8: return new TwistyJing          (numL, quat, move, meshStream);
       case  9:
       case 10:
@@ -161,25 +162,27 @@ public enum ObjectType
       case 14:
       case 15: return new TwistyMegaminx      (numL, quat, move, meshStream);
       case 16: return new TwistyUltimate      (numL, quat, move, meshStream);
-      case 17: return new TwistyDino6         (numL, quat, move, meshStream);
-      case 18: return new TwistyDino4         (numL, quat, move, meshStream);
-      case 19: return new TwistyRedi          (numL, quat, move, meshStream);
-      case 20:
-      case 21: return new TwistySkewb         (numL, quat, move, meshStream);
-      case 22: return new TwistyIvy           (numL, quat, move, meshStream);
-      case 23: return new TwistyRex           (numL, quat, move, meshStream);
-      case 24: return new TwistyBandagedFused (numL, quat, move, meshStream);
-      case 25: return new TwistyBandaged2Bar  (numL, quat, move, meshStream);
-      case 26: return new TwistyBandaged3Plate(numL, quat, move, meshStream);
-      case 27: return new TwistyBandagedEvil  (numL, quat, move, meshStream);
-      case 28: return new TwistySquare1       (numL, quat, move, meshStream);
-      case 29: return new TwistySquare2       (numL, quat, move, meshStream);
-      case 30:
-      case 31: return new TwistyMirror        (numL, quat, move, meshStream);
-      case 32:
-      case 33:
-      case 34: return new TwistyCuboid        (numL, quat, move, meshStream);
-      case 35: return new TwistyHelicopter    (numL, quat, move, meshStream);
+      case 17:
+      case 18:
+      case 19: return new TwistyDiamond       (numL, quat, move, meshStream);
+
+      case 20: return new TwistyDino6         (numL, quat, move, meshStream);
+      case 21: return new TwistyDino4         (numL, quat, move, meshStream);
+      case 22: return new TwistyRedi          (numL, quat, move, meshStream);
+      case 23: return new TwistyHelicopter    (numL, quat, move, meshStream);
+      case 24:
+      case 25: return new TwistySkewb         (numL, quat, move, meshStream);
+      case 26: return new TwistyIvy           (numL, quat, move, meshStream);
+      case 27: return new TwistyRex           (numL, quat, move, meshStream);
+      case 28: return new TwistyBandagedFused (numL, quat, move, meshStream);
+      case 29: return new TwistyBandaged2Bar  (numL, quat, move, meshStream);
+      case 30: return new TwistyBandaged3Plate(numL, quat, move, meshStream);
+      case 31: return new TwistyBandagedEvil  (numL, quat, move, meshStream);
+      case 32: return new TwistySquare1       (numL, quat, move, meshStream);
+      case 33: return new TwistySquare2       (numL, quat, move, meshStream);
+      case 34:
+      case 35:
+      case 36: return new TwistyCuboid        (numL, quat, move, meshStream);
       }
 
     return null;
diff --git a/src/main/java/org/distorted/objectlib/objects/TwistyCuboid.java b/src/main/java/org/distorted/objectlib/objects/TwistyCuboid.java
index 1dcf4da7..b225a9fd 100644
--- a/src/main/java/org/distorted/objectlib/objects/TwistyCuboid.java
+++ b/src/main/java/org/distorted/objectlib/objects/TwistyCuboid.java
@@ -752,6 +752,7 @@ public class TwistyCuboid extends Twisty6
       case 4: return ObjectType.CUBE_4;
       case 5: return ObjectType.CUBE_5;
       case 6: return ObjectType.CUBE_6;
+      case 7: return ObjectType.CUBE_7;
       }
 
     return ObjectType.CUBE_3;
@@ -767,7 +768,8 @@ public class TwistyCuboid extends Twisty6
       case 3: return "Rubik Cube";
       case 4: return "Rubik's Revenge";
       case 5: return "Professor's Cube";
-      case 6: return "6x6 V-Cube";
+      case 6: return "6x6 Cube";
+      case 7: return "7x7 Cube";
       }
     return "Rubik Cube";
     }
@@ -782,7 +784,8 @@ public class TwistyCuboid extends Twisty6
       case 3: return "Ernő Rubik";
       case 4: return "Péter Sebestény";
       case 5: return "Udo Krell";
-      case 6: return "Panagiotis Verdes";
+      case 6:
+      case 7: return "Panagiotis Verdes";
       }
     return "Ernő Rubik";
     }
@@ -797,7 +800,8 @@ public class TwistyCuboid extends Twisty6
       case 3: return 1974;
       case 4: return 1981;
       case 5: return 2002;
-      case 8: return 2008;
+      case 6:
+      case 7: return 2008;
       }
     return 1974;
     }
