commit f6e46300d8539b975884bcff4e2d80dd41a3a162
Author: Leszek Koltunski <leszek@koltunski.pl>
Date:   Tue Mar 30 16:53:33 2021 +0200

    Progress with any size Kilominx.

diff --git a/src/main/java/org/distorted/objects/TwistyKilominx.java b/src/main/java/org/distorted/objects/TwistyKilominx.java
index 549ef99a..f324ff17 100644
--- a/src/main/java/org/distorted/objects/TwistyKilominx.java
+++ b/src/main/java/org/distorted/objects/TwistyKilominx.java
@@ -48,23 +48,23 @@ public class TwistyKilominx extends TwistyMinx
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  int getNumStickerTypes(int numLayers)
+  private int numCubitsPerCorner(int numLayers)
     {
-    return 1;
+    return 3*((numLayers-3)/2)*((numLayers-5)/2) + (numLayers>=5 ? 1 : 0);
     }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  float[] getCuts(int numLayers)
+  private int numCubitsPerEdge(int numLayers)
     {
-    return new float[] { -0.5f , 0.5f };
+    return numLayers<5 ? 0 : numLayers-4;
     }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  float[][] getCubitPositions(int numLayers)
+  int getNumStickerTypes(int numLayers)
     {
-    return CORNERS;
+    return numLayers == 3 ? 1 : numLayers/2 + 1;
     }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
@@ -75,6 +75,23 @@ public class TwistyKilominx extends TwistyMinx
     }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
+// TODO
+
+  float[] getCuts(int numLayers)
+    {
+    return new float[] { -0.5f , 0.5f };
+    }
+
+///////////////////////////////////////////////////////////////////////////////////////////////////
+// TODO
+
+  float[][] getCubitPositions(int numLayers)
+    {
+    return CORNERS;
+    }
+
+///////////////////////////////////////////////////////////////////////////////////////////////////
+// TODO
 
   private int getQuat(int cubit)
     {
@@ -82,6 +99,7 @@ public class TwistyKilominx extends TwistyMinx
     }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
+// TODO
 
   MeshBase createCubitMesh(int cubit, int numLayers)
     {
@@ -95,6 +113,7 @@ public class TwistyKilominx extends TwistyMinx
     }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
+// TODO
 
   int getFaceColor(int cubit, int cubitface, int numLayers)
     {
@@ -102,6 +121,7 @@ public class TwistyKilominx extends TwistyMinx
     }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
+// TODO
 
   void createFaceTexture(Canvas canvas, Paint paint, int face, int left, int top)
     {
@@ -126,17 +146,14 @@ public class TwistyKilominx extends TwistyMinx
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 // PUBLIC API
-// The Kilominx is solved if and only if:
-//
-// All cubits are rotated with the same quat.
 
   public boolean isSolved()
     {
-    int q = CUBITS[0].mQuatIndex;
+    int index = CUBITS[0].mQuatIndex;
 
-    for(int i=0; i<NUM_CUBITS; i++)
+    for(int i=1; i<NUM_CUBITS; i++)
       {
-      if( CUBITS[i].mQuatIndex != q ) return false;
+      if( thereIsVisibleDifference(CUBITS[i], index) ) return false;
       }
 
     return true;
@@ -146,14 +163,20 @@ public class TwistyKilominx extends TwistyMinx
 
   public int getObjectName(int numLayers)
     {
-    return R.string.minx2;
+    if( numLayers==3 ) return R.string.minx2;
+    if( numLayers==5 ) return R.string.minx4;
+
+    return 0;
     }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
   public int getInventor(int numLayers)
     {
-    return R.string.minx2_inventor;
+    if( numLayers==3 ) return R.string.minx2_inventor;
+    if( numLayers==5 ) return R.string.minx4_inventor;
+
+    return 0;
     }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
diff --git a/src/main/java/org/distorted/objects/TwistyMegaminx.java b/src/main/java/org/distorted/objects/TwistyMegaminx.java
index 4de2a721..d320d905 100644
--- a/src/main/java/org/distorted/objects/TwistyMegaminx.java
+++ b/src/main/java/org/distorted/objects/TwistyMegaminx.java
@@ -586,7 +586,7 @@ public class TwistyMegaminx extends TwistyMinx
   public int getObjectName(int numLayers)
     {
     if( numLayers==3 ) return R.string.minx3;
-    if( numLayers==5 ) return R.string.minx4;
+    if( numLayers==5 ) return R.string.minx5;
 
     return 0;
     }
@@ -596,7 +596,7 @@ public class TwistyMegaminx extends TwistyMinx
   public int getInventor(int numLayers)
     {
     if( numLayers==3 ) return R.string.minx3_inventor;
-    if( numLayers==5 ) return R.string.minx4_inventor;
+    if( numLayers==5 ) return R.string.minx5_inventor;
 
     return 0;
     }
diff --git a/src/main/res/values/strings.xml b/src/main/res/values/strings.xml
index c16048b8..96f55bbe 100644
--- a/src/main/res/values/strings.xml
+++ b/src/main/res/values/strings.xml
@@ -91,7 +91,8 @@
     <string name="din43" translatable="false">Dino Cube (4 color)</string>
     <string name="minx2" translatable="false">Kilominx</string>
     <string name="minx3" translatable="false">Megaminx</string>
-    <string name="minx4" translatable="false">Gigaminx</string>
+    <string name="minx4" translatable="false">Master Kilominx</string>
+    <string name="minx5" translatable="false">Gigaminx</string>
 
     <string name="bandaged_fused"  translatable="false">Fused Cube</string>
     <string name="bandaged_2bar"   translatable="false">2Bar Cube</string>
@@ -117,7 +118,8 @@
     <string name="din43_inventor" translatable="false">Robert Webb, 1985</string>
     <string name="minx2_inventor" translatable="false">Thomas de Bruin, 2008</string>
     <string name="minx3_inventor" translatable="false">Ferenc Szlivka, 1982</string>
-    <string name="minx4_inventor" translatable="false">Tyler Fox, 2006</string>
+    <string name="minx4_inventor" translatable="false">David Gugl, 2010</string>
+    <string name="minx5_inventor" translatable="false">Tyler Fox, 2006</string>
 
     <string name="bandaged_fused_inventor"  translatable="false">who knows</string>
     <string name="bandaged_2bar_inventor"   translatable="false">who knows</string>
