commit 9f171ebabff8233d51a511f1601fedaed07989eb
Author: Leszek Koltunski <leszek@koltunski.pl>
Date:   Sun Jun 13 22:35:22 2021 +0200

    Preparation for 'smart scrambling' : introduce the total number of scrambles to the 'randomizeNewScramble' function.

diff --git a/src/main/java/org/distorted/effects/scramble/ScrambleEffect.java b/src/main/java/org/distorted/effects/scramble/ScrambleEffect.java
index bbae9d96..d419345d 100644
--- a/src/main/java/org/distorted/effects/scramble/ScrambleEffect.java
+++ b/src/main/java/org/distorted/effects/scramble/ScrambleEffect.java
@@ -104,7 +104,7 @@ public abstract class ScrambleEffect extends BaseEffect implements EffectListene
 
     for(int scramble=0; scramble<mNumScramblesLeft; scramble++)
       {
-      mObject.randomizeNewScramble(mScrambles, mRnd, scramble);
+      mObject.randomizeNewScramble(mScrambles, mRnd, scramble, numScrambles);
       axis  = mScrambles[scramble][0];
       angle = mScrambles[scramble][2];
       absAngle = (angle<0 ? -angle : angle);
diff --git a/src/main/java/org/distorted/objects/TwistyBandaged2Bar.java b/src/main/java/org/distorted/objects/TwistyBandaged2Bar.java
index 1ac8bcba..2deaf02e 100644
--- a/src/main/java/org/distorted/objects/TwistyBandaged2Bar.java
+++ b/src/main/java/org/distorted/objects/TwistyBandaged2Bar.java
@@ -86,37 +86,37 @@ class TwistyBandaged2Bar extends TwistyBandagedAbstract
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 // PUBLIC API
 
-  public void randomizeNewScramble(int[][] scramble, Random rnd, int num)
+  public void randomizeNewScramble(int[][] scramble, Random rnd, int curr, int totalScrambles)
     {
-    if( num==0 )
+    if( curr==0 )
       {
       int random = rnd.nextInt(4);
 
-      scramble[num][0] = 1;
-      scramble[num][1] = random>1      ?  2:0;
-      scramble[num][2] = random%2 == 0 ? -1:1;
+      scramble[curr][0] = 1;
+      scramble[curr][1] = random>1      ?  2:0;
+      scramble[curr][2] = random%2 == 0 ? -1:1;
       }
     else
       {
-      boolean even = ((num%2) == 0);
+      boolean even = ((curr%2) == 0);
       int angle = rnd.nextInt(4);
 
-      scramble[num][0] = even ? 1 : scramble[0][1];
-      scramble[num][1] = rnd.nextInt(3);
+      scramble[curr][0] = even ? 1 : scramble[0][1];
+      scramble[curr][1] = rnd.nextInt(3);
 
-      if( even == (scramble[num][1]==1) )
+      if( even == (scramble[curr][1]==1) )
         {
         switch(angle)
           {
-          case 0: scramble[num][2] = -2; break;
-          case 1: scramble[num][2] = -1; break;
-          case 2: scramble[num][2] =  1; break;
-          case 3: scramble[num][2] =  2; break;
+          case 0: scramble[curr][2] = -2; break;
+          case 1: scramble[curr][2] = -1; break;
+          case 2: scramble[curr][2] =  1; break;
+          case 3: scramble[curr][2] =  2; break;
           }
         }
       else
         {
-        scramble[num][2] = angle>1 ? 2:-2;
+        scramble[curr][2] = angle>1 ? 2:-2;
         }
       }
     }
diff --git a/src/main/java/org/distorted/objects/TwistyBandaged3Plate.java b/src/main/java/org/distorted/objects/TwistyBandaged3Plate.java
index 86935225..afe4ad02 100644
--- a/src/main/java/org/distorted/objects/TwistyBandaged3Plate.java
+++ b/src/main/java/org/distorted/objects/TwistyBandaged3Plate.java
@@ -122,9 +122,9 @@ class TwistyBandaged3Plate extends TwistyBandagedAbstract
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 // PUBLIC API
 
-  public void randomizeNewScramble(int[][] scramble, Random rnd, int num)
+  public void randomizeNewScramble(int[][] scramble, Random rnd, int curr, int totalScrambles)
     {
-    if( num==0 )
+    if( curr==0 )
       {
       mCurrState = 0;
       mUseX = true;
@@ -136,9 +136,9 @@ class TwistyBandaged3Plate extends TwistyBandagedAbstract
     int random= rnd.nextInt(total);
     int[] info= mStates[mCurrState].getInfo(random,mUseX,mUseY,mUseZ);
 
-    scramble[num][0] = info[0];
-    scramble[num][1] = info[1];
-    scramble[num][2] = info[2];
+    scramble[curr][0] = info[0];
+    scramble[curr][1] = info[1];
+    scramble[curr][2] = info[2];
 
     mCurrState = info[3];
 
diff --git a/src/main/java/org/distorted/objects/TwistyBandagedEvil.java b/src/main/java/org/distorted/objects/TwistyBandagedEvil.java
index 5992af26..d8f13c96 100644
--- a/src/main/java/org/distorted/objects/TwistyBandagedEvil.java
+++ b/src/main/java/org/distorted/objects/TwistyBandagedEvil.java
@@ -237,9 +237,9 @@ class TwistyBandagedEvil extends TwistyBandagedAbstract
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 // PUBLIC API
 
-  public void randomizeNewScramble(int[][] scramble, Random rnd, int num)
+  public void randomizeNewScramble(int[][] scramble, Random rnd, int curr, int totalScrambles)
     {
-    if( num==0 )
+    if( curr==0 )
       {
       mCurrState = 0;
       mUseX = true;
@@ -251,9 +251,9 @@ class TwistyBandagedEvil extends TwistyBandagedAbstract
     int random= rnd.nextInt(total);
     int[] info= mStates[mCurrState].getInfo(random,mUseX,mUseY,mUseZ);
 
-    scramble[num][0] = info[0];
-    scramble[num][1] = info[1];
-    scramble[num][2] = info[2];
+    scramble[curr][0] = info[0];
+    scramble[curr][1] = info[1];
+    scramble[curr][2] = info[2];
 
     mCurrState = info[3];
 
diff --git a/src/main/java/org/distorted/objects/TwistyBandagedFused.java b/src/main/java/org/distorted/objects/TwistyBandagedFused.java
index 80e69fba..1b9d3bbc 100644
--- a/src/main/java/org/distorted/objects/TwistyBandagedFused.java
+++ b/src/main/java/org/distorted/objects/TwistyBandagedFused.java
@@ -90,16 +90,16 @@ class TwistyBandagedFused extends TwistyBandagedAbstract
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  public void randomizeNewScramble(int[][] scramble, Random rnd, int num)
+  public void randomizeNewScramble(int[][] scramble, Random rnd, int curr, int totalScrambles)
     {
-    if( num==0 )
+    if( curr==0 )
       {
-      scramble[num][0] = rnd.nextInt(NUM_AXIS);
+      scramble[curr][0] = rnd.nextInt(NUM_AXIS);
       }
     else
       {
       int newVector = rnd.nextInt(NUM_AXIS -1);
-      scramble[num][0] = (newVector>=scramble[num-1][0] ? newVector+1 : newVector);
+      scramble[curr][0] = (newVector>=scramble[curr-1][0] ? newVector+1 : newVector);
       }
 
     float rowFloat = rnd.nextFloat();
@@ -109,17 +109,17 @@ class TwistyBandagedFused extends TwistyBandagedAbstract
       {
       if( rowFloat*numLayers <= row+1 )
         {
-        scramble[num][1] = row;
+        scramble[curr][1] = row;
         break;
         }
       }
 
     switch( rnd.nextInt(4) )
       {
-      case 0: scramble[num][2] = -2; break;
-      case 1: scramble[num][2] = -1; break;
-      case 2: scramble[num][2] =  1; break;
-      case 3: scramble[num][2] =  2; break;
+      case 0: scramble[curr][2] = -2; break;
+      case 1: scramble[curr][2] = -1; break;
+      case 2: scramble[curr][2] =  1; break;
+      case 3: scramble[curr][2] =  2; break;
       }
     }
 
diff --git a/src/main/java/org/distorted/objects/TwistyCube.java b/src/main/java/org/distorted/objects/TwistyCube.java
index c3ef2c2f..805e9aac 100644
--- a/src/main/java/org/distorted/objects/TwistyCube.java
+++ b/src/main/java/org/distorted/objects/TwistyCube.java
@@ -299,16 +299,16 @@ class TwistyCube extends TwistyObject
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  public void randomizeNewScramble(int[][] scramble, Random rnd, int num)
+  public void randomizeNewScramble(int[][] scramble, Random rnd, int curr, int total)
     {
-    if( num==0 )
+    if( curr==0 )
       {
-      scramble[num][0] = rnd.nextInt(NUM_AXIS);
+      scramble[curr][0] = rnd.nextInt(NUM_AXIS);
       }
     else
       {
       int newVector = rnd.nextInt(NUM_AXIS -1);
-      scramble[num][0] = (newVector>=scramble[num-1][0] ? newVector+1 : newVector);
+      scramble[curr][0] = (newVector>=scramble[curr-1][0] ? newVector+1 : newVector);
       }
 
     float rowFloat = rnd.nextFloat();
@@ -318,17 +318,17 @@ class TwistyCube extends TwistyObject
       {
       if( rowFloat*numLayers <= row+1 )
         {
-        scramble[num][1] = row;
+        scramble[curr][1] = row;
         break;
         }
       }
 
     switch( rnd.nextInt(4) )
       {
-      case 0: scramble[num][2] = -2; break;
-      case 1: scramble[num][2] = -1; break;
-      case 2: scramble[num][2] =  1; break;
-      case 3: scramble[num][2] =  2; break;
+      case 0: scramble[curr][2] = -2; break;
+      case 1: scramble[curr][2] = -1; break;
+      case 2: scramble[curr][2] =  1; break;
+      case 3: scramble[curr][2] =  2; break;
       }
     }
 
diff --git a/src/main/java/org/distorted/objects/TwistyDiamond.java b/src/main/java/org/distorted/objects/TwistyDiamond.java
index cbad5e44..0b3e8566 100644
--- a/src/main/java/org/distorted/objects/TwistyDiamond.java
+++ b/src/main/java/org/distorted/objects/TwistyDiamond.java
@@ -522,16 +522,16 @@ public class TwistyDiamond extends TwistyObject
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  public void randomizeNewScramble(int[][] scramble, Random rnd, int num)
+  public void randomizeNewScramble(int[][] scramble, Random rnd, int curr, int total)
     {
-    if( num==0 )
+    if( curr==0 )
       {
-      scramble[num][0] = rnd.nextInt(NUM_AXIS);
+      scramble[curr][0] = rnd.nextInt(NUM_AXIS);
       }
     else
       {
       int newVector = rnd.nextInt(NUM_AXIS -1);
-      scramble[num][0] = (newVector>=scramble[num-1][0] ? newVector+1 : newVector);
+      scramble[curr][0] = (newVector>=scramble[curr-1][0] ? newVector+1 : newVector);
       }
 
     float rowFloat = rnd.nextFloat();
@@ -541,15 +541,15 @@ public class TwistyDiamond extends TwistyObject
       {
       if( rowFloat*numLayers <= row+1 )
         {
-        scramble[num][1] = row;
+        scramble[curr][1] = row;
         break;
         }
       }
 
     switch( rnd.nextInt(2) )
       {
-      case 0: scramble[num][2] = -1; break;
-      case 1: scramble[num][2] =  1; break;
+      case 0: scramble[curr][2] = -1; break;
+      case 1: scramble[curr][2] =  1; break;
       }
     }
 
diff --git a/src/main/java/org/distorted/objects/TwistyDino4.java b/src/main/java/org/distorted/objects/TwistyDino4.java
index de47bf6e..2a1a4f0a 100644
--- a/src/main/java/org/distorted/objects/TwistyDino4.java
+++ b/src/main/java/org/distorted/objects/TwistyDino4.java
@@ -104,24 +104,24 @@ public class TwistyDino4 extends TwistyDino
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  public void randomizeNewScramble(int[][] scramble, Random rnd, int num)
+  public void randomizeNewScramble(int[][] scramble, Random rnd, int curr, int total)
     {
-    if( num==0 )
+    if( curr==0 )
       {
-      scramble[num][0] = rnd.nextInt(NUM_AXIS);
-      scramble[num][1] = (scramble[num][0]==1 || scramble[num][0]==2) ? 0:2;
+      scramble[curr][0] = rnd.nextInt(NUM_AXIS);
+      scramble[curr][1] = (scramble[curr][0]==1 || scramble[curr][0]==2) ? 0:2;
       }
     else
       {
       int newVector = rnd.nextInt(NUM_AXIS -1);
-      scramble[num][0] = (newVector>=scramble[num-1][0] ? newVector+1 : newVector);
-      scramble[num][1] = scramble[num-1][0]+scramble[num][0]==3 ? 2-scramble[num-1][1] : scramble[num-1][1];
+      scramble[curr][0] = (newVector>=scramble[curr-1][0] ? newVector+1 : newVector);
+      scramble[curr][1] = scramble[curr-1][0]+scramble[curr][0]==3 ? 2-scramble[curr-1][1] : scramble[curr-1][1];
       }
 
     switch( rnd.nextInt(2) )
       {
-      case 0: scramble[num][2] = -1; break;
-      case 1: scramble[num][2] =  1; break;
+      case 0: scramble[curr][2] = -1; break;
+      case 1: scramble[curr][2] =  1; break;
       }
     }
 
diff --git a/src/main/java/org/distorted/objects/TwistyDino6.java b/src/main/java/org/distorted/objects/TwistyDino6.java
index 4465cabb..2c4ddaaa 100644
--- a/src/main/java/org/distorted/objects/TwistyDino6.java
+++ b/src/main/java/org/distorted/objects/TwistyDino6.java
@@ -66,24 +66,24 @@ public class TwistyDino6 extends TwistyDino
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  public void randomizeNewScramble(int[][] scramble, Random rnd, int num)
+  public void randomizeNewScramble(int[][] scramble, Random rnd, int curr, int total)
     {
-    if( num==0 )
+    if( curr==0 )
       {
-      scramble[num][0] = rnd.nextInt(NUM_AXIS);
-      scramble[num][1] = rnd.nextFloat()<=0.5f ? 0:2;
+      scramble[curr][0] = rnd.nextInt(NUM_AXIS);
+      scramble[curr][1] = rnd.nextFloat()<=0.5f ? 0:2;
       }
     else
       {
       int newVector = rnd.nextInt(NUM_AXIS -1);
-      scramble[num][0] = (newVector>=scramble[num-1][0] ? newVector+1 : newVector);
-      scramble[num][1] = scramble[num-1][0]+scramble[num][0]==3 ? 2-scramble[num-1][1] : scramble[num-1][1];
+      scramble[curr][0] = (newVector>=scramble[curr-1][0] ? newVector+1 : newVector);
+      scramble[curr][1] = scramble[curr-1][0]+scramble[curr][0]==3 ? 2-scramble[curr-1][1] : scramble[curr-1][1];
       }
 
     switch( rnd.nextInt(2) )
       {
-      case 0: scramble[num][2] = -1; break;
-      case 1: scramble[num][2] =  1; break;
+      case 0: scramble[curr][2] = -1; break;
+      case 1: scramble[curr][2] =  1; break;
       }
     }
 
diff --git a/src/main/java/org/distorted/objects/TwistyHelicopter.java b/src/main/java/org/distorted/objects/TwistyHelicopter.java
index 9d62e5bb..a07eed6b 100644
--- a/src/main/java/org/distorted/objects/TwistyHelicopter.java
+++ b/src/main/java/org/distorted/objects/TwistyHelicopter.java
@@ -408,35 +408,35 @@ public class TwistyHelicopter extends TwistyObject
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  public void randomizeNewScramble(int[][] scramble, Random rnd, int num)
+  public void randomizeNewScramble(int[][] scramble, Random rnd, int curr, int total)
     {
-    if( num==0 )
+    if( curr==0 )
       {
-      scramble[num][0] = rnd.nextInt(NUM_AXIS);
+      scramble[curr][0] = rnd.nextInt(NUM_AXIS);
       }
     else
       {
       int newVector = rnd.nextInt(NUM_AXIS -2);
 
-      switch(scramble[num-1][0])
+      switch(scramble[curr-1][0])
         {
         case  0:
-        case  1: scramble[num][0] = newVector+2;
+        case  1: scramble[curr][0] = newVector+2;
                  break;
         case  2:
-        case  3: scramble[num][0] = (newVector==0 || newVector==1) ? newVector:newVector+2;
+        case  3: scramble[curr][0] = (newVector==0 || newVector==1) ? newVector:newVector+2;
                  break;
-        default: scramble[num][0] = newVector;
+        default: scramble[curr][0] = newVector;
                  break;
         }
       }
 
-    scramble[num][1] = rnd.nextFloat()<=0.5f ? 0 : 2;
+    scramble[curr][1] = rnd.nextFloat()<=0.5f ? 0 : 2;
 
     switch( rnd.nextInt(2) )
       {
-      case 0: scramble[num][2] = -1; break;
-      case 1: scramble[num][2] =  1; break;
+      case 0: scramble[curr][2] = -1; break;
+      case 1: scramble[curr][2] =  1; break;
       }
     }
 
diff --git a/src/main/java/org/distorted/objects/TwistyIvy.java b/src/main/java/org/distorted/objects/TwistyIvy.java
index 6c86f667..826b5494 100644
--- a/src/main/java/org/distorted/objects/TwistyIvy.java
+++ b/src/main/java/org/distorted/objects/TwistyIvy.java
@@ -433,24 +433,24 @@ public class TwistyIvy extends TwistyObject
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  public void randomizeNewScramble(int[][] scramble, Random rnd, int num)
+  public void randomizeNewScramble(int[][] scramble, Random rnd, int curr, int total)
     {
-    if( num==0 )
+    if( curr==0 )
       {
-      scramble[num][0] = rnd.nextInt(NUM_AXIS);
+      scramble[curr][0] = rnd.nextInt(NUM_AXIS);
       }
     else
       {
       int newVector = rnd.nextInt(NUM_AXIS -1);
-      scramble[num][0] = (newVector>=scramble[num-1][0] ? newVector+1 : newVector);
+      scramble[curr][0] = (newVector>=scramble[curr-1][0] ? newVector+1 : newVector);
       }
 
-    scramble[num][1] = rnd.nextFloat()<=0.5f ? 0 : 1;
+    scramble[curr][1] = rnd.nextFloat()<=0.5f ? 0 : 1;
 
     switch( rnd.nextInt(2) )
       {
-      case 0: scramble[num][2] = -1; break;
-      case 1: scramble[num][2] =  1; break;
+      case 0: scramble[curr][2] = -1; break;
+      case 1: scramble[curr][2] =  1; break;
       }
     }
 
diff --git a/src/main/java/org/distorted/objects/TwistyMinx.java b/src/main/java/org/distorted/objects/TwistyMinx.java
index 2e129247..7134bd67 100644
--- a/src/main/java/org/distorted/objects/TwistyMinx.java
+++ b/src/main/java/org/distorted/objects/TwistyMinx.java
@@ -443,33 +443,33 @@ abstract class TwistyMinx extends TwistyObject
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  public void randomizeNewScramble(int[][] scramble, Random rnd, int num)
+  public void randomizeNewScramble(int[][] scramble, Random rnd, int curr, int total)
     {
     int numLayers = getNumLayers();
     int nom = (numLayers-1)/2;
     int row = rnd.nextInt(nom);
 
-    if( num==0 )
+    if( curr==0 )
       {
       int lf  = rnd.nextInt(2);
-      scramble[num][0] = rnd.nextInt(NUM_AXIS);
-      scramble[num][1] = (lf==0 ? row : numLayers-1-row);
+      scramble[curr][0] = rnd.nextInt(NUM_AXIS);
+      scramble[curr][1] = (lf==0 ? row : numLayers-1-row);
       }
     else
       {
-      boolean opposite = OPPOSITE_ROWS[scramble[num-1][0]][scramble[num][0]];
-      boolean low = opposite^(scramble[num-1][1]<nom);
+      boolean opposite = OPPOSITE_ROWS[scramble[curr-1][0]][scramble[curr][0]];
+      boolean low = opposite^(scramble[curr-1][1]<nom);
       int newVector = rnd.nextInt(NUM_AXIS-1);
-      scramble[num][0] = (newVector>=scramble[num-1][0] ? newVector+1 : newVector);
-      scramble[num][1] = (low ? row : numLayers-1-row);
+      scramble[curr][0] = (newVector>=scramble[curr-1][0] ? newVector+1 : newVector);
+      scramble[curr][1] = (low ? row : numLayers-1-row);
       }
 
     switch( rnd.nextInt(4) )
       {
-      case 0: scramble[num][2] = -2; break;
-      case 1: scramble[num][2] = -1; break;
-      case 2: scramble[num][2] =  1; break;
-      case 3: scramble[num][2] =  2; break;
+      case 0: scramble[curr][2] = -2; break;
+      case 1: scramble[curr][2] = -1; break;
+      case 2: scramble[curr][2] =  1; break;
+      case 3: scramble[curr][2] =  2; break;
       }
     }
 
diff --git a/src/main/java/org/distorted/objects/TwistyObject.java b/src/main/java/org/distorted/objects/TwistyObject.java
index a3e406bb..7df4fc0c 100644
--- a/src/main/java/org/distorted/objects/TwistyObject.java
+++ b/src/main/java/org/distorted/objects/TwistyObject.java
@@ -977,7 +977,7 @@ public abstract class TwistyObject extends DistortedNode
   public abstract boolean isSolved();
   public abstract int[] getBasicAngle();
   public abstract String retObjectString();
-  public abstract void randomizeNewScramble(int[][] scramble, Random rnd, int numScramble);
+  public abstract void randomizeNewScramble(int[][] scramble, Random rnd, int curScramble, int totScrambles);
   public abstract int getObjectName(int numLayers);
   public abstract int getInventor(int numLayers);
   public abstract int getComplexity(int numLayers);
diff --git a/src/main/java/org/distorted/objects/TwistyPyraminx.java b/src/main/java/org/distorted/objects/TwistyPyraminx.java
index f3ee6133..5c7ac81e 100644
--- a/src/main/java/org/distorted/objects/TwistyPyraminx.java
+++ b/src/main/java/org/distorted/objects/TwistyPyraminx.java
@@ -390,20 +390,20 @@ public class TwistyPyraminx extends TwistyObject
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  public void randomizeNewScramble(int[][] scramble, Random rnd, int num)
+  public void randomizeNewScramble(int[][] scramble, Random rnd, int curr, int total)
     {
     int numLayers = getNumLayers();
 
     if( mRowChances==null ) mRowChances = getRowChances(numLayers);
 
-    if( num==0 )
+    if( curr==0 )
       {
-      scramble[num][0] = rnd.nextInt(NUM_AXIS);
+      scramble[curr][0] = rnd.nextInt(NUM_AXIS);
       }
     else
       {
       int newVector = rnd.nextInt(NUM_AXIS -1);
-      scramble[num][0] = (newVector>=scramble[num-1][0] ? newVector+1 : newVector);
+      scramble[curr][0] = (newVector>=scramble[curr-1][0] ? newVector+1 : newVector);
       }
 
     float rowFloat = rnd.nextFloat();
@@ -412,15 +412,15 @@ public class TwistyPyraminx extends TwistyObject
       {
       if( rowFloat<=mRowChances[row] )
         {
-        scramble[num][1] = row;
+        scramble[curr][1] = row;
         break;
         }
       }
 
     switch( rnd.nextInt(2) )
       {
-      case 0: scramble[num][2] = -1; break;
-      case 1: scramble[num][2] =  1; break;
+      case 0: scramble[curr][2] = -1; break;
+      case 1: scramble[curr][2] =  1; break;
       }
     }
 
diff --git a/src/main/java/org/distorted/objects/TwistyRedi.java b/src/main/java/org/distorted/objects/TwistyRedi.java
index 54a6f324..67c5a470 100644
--- a/src/main/java/org/distorted/objects/TwistyRedi.java
+++ b/src/main/java/org/distorted/objects/TwistyRedi.java
@@ -421,24 +421,24 @@ public class TwistyRedi extends TwistyObject
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  public void randomizeNewScramble(int[][] scramble, Random rnd, int num)
+  public void randomizeNewScramble(int[][] scramble, Random rnd, int curr, int total)
     {
-    if( num==0 )
+    if( curr==0 )
       {
-      scramble[num][0] = rnd.nextInt(NUM_AXIS);
-      scramble[num][1] = rnd.nextFloat()<=0.5f ? 0:2;
+      scramble[curr][0] = rnd.nextInt(NUM_AXIS);
+      scramble[curr][1] = rnd.nextFloat()<=0.5f ? 0:2;
       }
     else
       {
       int newVector = rnd.nextInt(NUM_AXIS -1);
-      scramble[num][0] = (newVector>=scramble[num-1][0] ? newVector+1 : newVector);
-      scramble[num][1] = (scramble[num-1][0]+scramble[num][0]==3 ? 2-scramble[num-1][1] : scramble[num-1][1]);
+      scramble[curr][0] = (newVector>=scramble[curr-1][0] ? newVector+1 : newVector);
+      scramble[curr][1] = (scramble[curr-1][0]+scramble[curr][0]==3 ? 2-scramble[curr-1][1] : scramble[curr-1][1]);
       }
 
     switch( rnd.nextInt(2) )
       {
-      case 0: scramble[num][2] = -1; break;
-      case 1: scramble[num][2] =  1; break;
+      case 0: scramble[curr][2] = -1; break;
+      case 1: scramble[curr][2] =  1; break;
       }
     }
 
diff --git a/src/main/java/org/distorted/objects/TwistyRex.java b/src/main/java/org/distorted/objects/TwistyRex.java
index 7b83676c..3adafeea 100644
--- a/src/main/java/org/distorted/objects/TwistyRex.java
+++ b/src/main/java/org/distorted/objects/TwistyRex.java
@@ -599,24 +599,24 @@ public class TwistyRex extends TwistyObject
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  public void randomizeNewScramble(int[][] scramble, Random rnd, int num)
+  public void randomizeNewScramble(int[][] scramble, Random rnd, int curr, int total)
     {
-    if( num==0 )
+    if( curr==0 )
       {
-      scramble[num][0] = rnd.nextInt(NUM_AXIS);
+      scramble[curr][0] = rnd.nextInt(NUM_AXIS);
       }
     else
       {
       int newVector = rnd.nextInt(NUM_AXIS -1);
-      scramble[num][0] = (newVector>=scramble[num-1][0] ? newVector+1 : newVector);
+      scramble[curr][0] = (newVector>=scramble[curr-1][0] ? newVector+1 : newVector);
       }
 
-    scramble[num][1] = rnd.nextFloat()<=0.5f ? 0 : 2;
+    scramble[curr][1] = rnd.nextFloat()<=0.5f ? 0 : 2;
 
     switch( rnd.nextInt(2) )
       {
-      case 0: scramble[num][2] = -1; break;
-      case 1: scramble[num][2] =  1; break;
+      case 0: scramble[curr][2] = -1; break;
+      case 1: scramble[curr][2] =  1; break;
       }
     }
 
diff --git a/src/main/java/org/distorted/objects/TwistySkewb.java b/src/main/java/org/distorted/objects/TwistySkewb.java
index 9ac1fa1d..9d2b3c9b 100644
--- a/src/main/java/org/distorted/objects/TwistySkewb.java
+++ b/src/main/java/org/distorted/objects/TwistySkewb.java
@@ -613,24 +613,24 @@ public class TwistySkewb extends TwistyObject
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  public void randomizeNewScramble(int[][] scramble, Random rnd, int num)
+  public void randomizeNewScramble(int[][] scramble, Random rnd, int curr, int total)
     {
-    if( num==0 )
+    if( curr==0 )
       {
-      scramble[num][0] = rnd.nextInt(NUM_AXIS);
+      scramble[curr][0] = rnd.nextInt(NUM_AXIS);
       }
     else
       {
       int newVector = rnd.nextInt(NUM_AXIS -1);
-      scramble[num][0] = (newVector>=scramble[num-1][0] ? newVector+1 : newVector);
+      scramble[curr][0] = (newVector>=scramble[curr-1][0] ? newVector+1 : newVector);
       }
 
-    scramble[num][1] = rnd.nextFloat()<=0.5f ? 0 : getNumLayers()-1;
+    scramble[curr][1] = rnd.nextFloat()<=0.5f ? 0 : getNumLayers()-1;
 
     switch( rnd.nextInt(2) )
       {
-      case 0: scramble[num][2] = -1; break;
-      case 1: scramble[num][2] =  1; break;
+      case 0: scramble[curr][2] = -1; break;
+      case 1: scramble[curr][2] =  1; break;
       }
     }
 
diff --git a/src/main/java/org/distorted/objects/TwistySquare1.java b/src/main/java/org/distorted/objects/TwistySquare1.java
index db385698..75899c5a 100644
--- a/src/main/java/org/distorted/objects/TwistySquare1.java
+++ b/src/main/java/org/distorted/objects/TwistySquare1.java
@@ -454,11 +454,11 @@ class TwistySquare1 extends TwistySquare
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 // PUBLIC API
 
-  public void randomizeNewScramble(int[][] scramble, Random rnd, int num)
+  public void randomizeNewScramble(int[][] scramble, Random rnd, int curr, int total)
     {
     int layer, nextAngle;
 
-    if( num==0 )
+    if( curr==0 )
       {
       for(int corner=0; corner<8; corner++) mCornerQuat[corner] = 0;
       mLastRot = rnd.nextInt(4);
@@ -476,11 +476,11 @@ class TwistySquare1 extends TwistySquare
                       nextAngle = getNextAngleNotZero(rnd,layer);
                       }
 
-                    scramble[num][0] = 0;
-                    scramble[num][1] = 2*layer;
-                    scramble[num][2] = nextAngle;
+                    scramble[curr][0] = 0;
+                    scramble[curr][1] = 2*layer;
+                    scramble[curr][2] = nextAngle;
                     mLastRot = layer==0 ? LAST_LO : LAST_UP;
-                    updateCornerQuats(scramble[num]);
+                    updateCornerQuats(scramble[curr]);
                     break;
       case LAST_LO:
       case LAST_UP: layer = mLastRot==LAST_LO ? 1:0;
@@ -488,28 +488,28 @@ class TwistySquare1 extends TwistySquare
 
                     if( nextAngle!=0 )
                       {
-                      scramble[num][0] = 0;
-                      scramble[num][1] = 2*layer;
-                      scramble[num][2] = nextAngle;
-                      updateCornerQuats(scramble[num]);
+                      scramble[curr][0] = 0;
+                      scramble[curr][1] = 2*layer;
+                      scramble[curr][2] = nextAngle;
+                      updateCornerQuats(scramble[curr]);
                       mLastRot = LAST_UL;
                       }
                     else
                       {
-                      scramble[num][0] = 1;
-                      scramble[num][1] = rnd.nextInt(2);
-                      scramble[num][2] = 1;
+                      scramble[curr][0] = 1;
+                      scramble[curr][1] = rnd.nextInt(2);
+                      scramble[curr][2] = 1;
                       mLastRot = LAST_SL;
-                      updateCornerQuats(scramble[num]);
+                      updateCornerQuats(scramble[curr]);
                       computePermittedAngles();
                       }
 
                     break;
-      case LAST_UL: scramble[num][0] = 1;
-                    scramble[num][1] = rnd.nextInt(2);
-                    scramble[num][2] = 1;
+      case LAST_UL: scramble[curr][0] = 1;
+                    scramble[curr][1] = rnd.nextInt(2);
+                    scramble[curr][2] = 1;
                     mLastRot = LAST_SL;
-                    updateCornerQuats(scramble[num]);
+                    updateCornerQuats(scramble[curr]);
                     computePermittedAngles();
                     break;
       }
diff --git a/src/main/java/org/distorted/objects/TwistySquare2.java b/src/main/java/org/distorted/objects/TwistySquare2.java
index c309777e..22491d0d 100644
--- a/src/main/java/org/distorted/objects/TwistySquare2.java
+++ b/src/main/java/org/distorted/objects/TwistySquare2.java
@@ -278,11 +278,11 @@ class TwistySquare2 extends TwistySquare
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 // PUBLIC API
 
-  public void randomizeNewScramble(int[][] scramble, Random rnd, int num)
+  public void randomizeNewScramble(int[][] scramble, Random rnd, int curr, int total)
     {
     int layer, nextAngle;
 
-    if( num==0 ) mLastRot = rnd.nextInt(4);
+    if( curr==0 ) mLastRot = rnd.nextInt(4);
 
     switch(mLastRot)
       {
@@ -295,9 +295,9 @@ class TwistySquare2 extends TwistySquare
                       nextAngle = (2*rnd.nextInt(2)-1)*(rnd.nextInt(5)+1);
                       }
 
-                    scramble[num][0] = 0;
-                    scramble[num][1] = 2*layer;
-                    scramble[num][2] = nextAngle;
+                    scramble[curr][0] = 0;
+                    scramble[curr][1] = 2*layer;
+                    scramble[curr][2] = nextAngle;
                     mLastRot = layer==0 ? LAST_LO : LAST_UP;
                     break;
       case LAST_LO:
@@ -306,22 +306,22 @@ class TwistySquare2 extends TwistySquare
 
                     if( nextAngle!=0 )
                       {
-                      scramble[num][0] = 0;
-                      scramble[num][1] = 2*layer;
-                      scramble[num][2] = nextAngle;
+                      scramble[curr][0] = 0;
+                      scramble[curr][1] = 2*layer;
+                      scramble[curr][2] = nextAngle;
                       mLastRot = LAST_UL;
                       }
                     else
                       {
-                      scramble[num][0] = 1;
-                      scramble[num][1] = rnd.nextInt(2);
-                      scramble[num][2] = 1;
+                      scramble[curr][0] = 1;
+                      scramble[curr][1] = rnd.nextInt(2);
+                      scramble[curr][2] = 1;
                       mLastRot = LAST_SL;
                       }
                     break;
-      case LAST_UL: scramble[num][0] = 1;
-                    scramble[num][1] = rnd.nextInt(2);
-                    scramble[num][2] = 1;
+      case LAST_UL: scramble[curr][0] = 1;
+                    scramble[curr][1] = rnd.nextInt(2);
+                    scramble[curr][2] = 1;
                     mLastRot = LAST_SL;
                     break;
       }
diff --git a/src/main/java/org/distorted/objects/TwistyUltimate.java b/src/main/java/org/distorted/objects/TwistyUltimate.java
index e6eed015..5a762456 100644
--- a/src/main/java/org/distorted/objects/TwistyUltimate.java
+++ b/src/main/java/org/distorted/objects/TwistyUltimate.java
@@ -441,24 +441,24 @@ class TwistyUltimate extends TwistyObject
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  public void randomizeNewScramble(int[][] scramble, Random rnd, int num)
+  public void randomizeNewScramble(int[][] scramble, Random rnd, int curr, int total)
     {
-    if( num==0 )
+    if( curr==0 )
       {
-      scramble[num][0] = rnd.nextInt(NUM_AXIS);
+      scramble[curr][0] = rnd.nextInt(NUM_AXIS);
       }
     else
       {
       int newVector = rnd.nextInt(NUM_AXIS -1);
-      scramble[num][0] = (newVector>=scramble[num-1][0] ? newVector+1 : newVector);
+      scramble[curr][0] = (newVector>=scramble[curr-1][0] ? newVector+1 : newVector);
       }
 
-    scramble[num][1] = rnd.nextFloat()<=0.5f ? 0 : 1;
+    scramble[curr][1] = rnd.nextFloat()<=0.5f ? 0 : 1;
 
     switch( rnd.nextInt(2) )
       {
-      case 0: scramble[num][2] =  1; break;
-      case 1: scramble[num][2] = -1; break;
+      case 0: scramble[curr][2] =  1; break;
+      case 1: scramble[curr][2] = -1; break;
       }
     }
 
