commit 50e6c5d600999fe344de3d59ccb3d906c97d7d0d
Author: Leszek Koltunski <leszek@koltunski.pl>
Date:   Sat Mar 4 00:06:39 2023 +0100

    Introduce InitAssets. We'll use this later to pass on references to the tablebase file to the TwistyObject (so that it can use this for perfect scrambling)

diff --git a/src/main/java/org/distorted/bandaged/BandagedCreatorRenderer.java b/src/main/java/org/distorted/bandaged/BandagedCreatorRenderer.java
index 8e9cac3a..67255737 100644
--- a/src/main/java/org/distorted/bandaged/BandagedCreatorRenderer.java
+++ b/src/main/java/org/distorted/bandaged/BandagedCreatorRenderer.java
@@ -415,8 +415,8 @@ public class BandagedCreatorRenderer implements GLSurfaceView.Renderer, Distorte
          }
 
      InitData data = new InitData(mObjSize,pos);
-     TwistyObject obj = new TwistyBandagedCuboid( data, TwistyObject.MESH_NICE, TwistyObject.MODE_NORM,
-                                                  new Static4D(0,0,0,1), new Static3D(0,0,0), 1.0f, null );
+     TwistyObject obj = new TwistyBandagedCuboid( TwistyObject.MESH_NICE, TwistyObject.MODE_NORM,
+                                                  new Static4D(0,0,0,1), new Static3D(0,0,0), 1.0f, data, null );
      String name = obj.getShortName();
      BandagedCreatorActivity act = (BandagedCreatorActivity) mView.getContext();
 
@@ -511,8 +511,8 @@ public class BandagedCreatorRenderer implements GLSurfaceView.Renderer, Distorte
      final int FBO_HEIGHT = (int)(R*1280);
      final float OBJECT_SIZE = R*0.35f;
 
-     TwistyObject obj = new TwistyBandagedCuboid( data, TwistyObject.MESH_NICE, TwistyObject.MODE_ICON,
-                                                  ShapeHexahedron.DEFAULT_ROT, new Static3D(0,0,0), OBJECT_SIZE, null );
+     TwistyObject obj = new TwistyBandagedCuboid( TwistyObject.MESH_NICE, TwistyObject.MODE_ICON,
+                                                  ShapeHexahedron.DEFAULT_ROT, new Static3D(0,0,0), OBJECT_SIZE, data, null );
 
      DistortedEffects effects = obj.getObjectEffects();
      DistortedNode node = obj.getNode();
diff --git a/src/main/java/org/distorted/bandaged/BandagedPlayActivity.java b/src/main/java/org/distorted/bandaged/BandagedPlayActivity.java
index 6e6a2d03..53c30c36 100644
--- a/src/main/java/org/distorted/bandaged/BandagedPlayActivity.java
+++ b/src/main/java/org/distorted/bandaged/BandagedPlayActivity.java
@@ -26,6 +26,7 @@ import org.distorted.dialogs.RubikDialogError;
 import org.distorted.external.RubikFiles;
 import org.distorted.library.main.DistortedLibrary;
 import org.distorted.main.R;
+import org.distorted.objectlib.main.InitAssets;
 import org.distorted.objectlib.main.ObjectControl;
 import org.distorted.objectlib.main.TwistyObject;
 
@@ -242,8 +243,9 @@ public class BandagedPlayActivity extends AppCompatActivity
       InputStream jsonStream = files.openFile(this,name+"_object.json");
       InputStream meshStream = null;
       int ordinal            = 0; // if jsonStream!=null, this doesn't matter
+      InitAssets asset       = new InitAssets(jsonStream,meshStream);
 
-      control.changeIfDifferent(ordinal,name,meshState,iconMode,jsonStream,meshStream);
+      control.changeIfDifferent(ordinal,name,meshState,iconMode,asset);
       }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
diff --git a/src/main/java/org/distorted/config/ConfigActivity.java b/src/main/java/org/distorted/config/ConfigActivity.java
index 1e40ebff..36ac5e8e 100644
--- a/src/main/java/org/distorted/config/ConfigActivity.java
+++ b/src/main/java/org/distorted/config/ConfigActivity.java
@@ -21,6 +21,7 @@ import android.widget.LinearLayout;
 import androidx.appcompat.app.AppCompatActivity;
 
 import org.distorted.library.main.DistortedLibrary;
+import org.distorted.objectlib.main.InitAssets;
 import org.distorted.objectlib.main.ObjectControl;
 import org.distorted.main.R;
 import org.distorted.dialogs.RubikDialogError;
@@ -194,8 +195,8 @@ public class ConfigActivity extends AppCompatActivity
         InputStream jsonStream = object.getObjectStream(this);
         InputStream meshStream = object.getMeshStream(this);
         String name            = object.getUpperName();
-
-        control.changeIfDifferent(ordinal,name,meshState,iconMode,jsonStream,meshStream);
+        InitAssets asset       = new InitAssets(jsonStream,meshStream);
+        control.changeIfDifferent(ordinal,name,meshState,iconMode,asset);
         }
       }
 
@@ -225,8 +226,9 @@ public class ConfigActivity extends AppCompatActivity
         int iconMode           = TwistyObject.MODE_NORM;
         InputStream jsonStream = object.getObjectStream(this);
         InputStream meshStream = object.getMeshStream(this);
+        InitAssets asset       = new InitAssets(jsonStream,meshStream);
 
-        control.changeObject(ordinal,meshState,iconMode,jsonStream,meshStream);
+        control.changeObject(ordinal,meshState,iconMode,asset);
         }
       }
 
diff --git a/src/main/java/org/distorted/main/RubikActivity.java b/src/main/java/org/distorted/main/RubikActivity.java
index 5121235e..7482777c 100644
--- a/src/main/java/org/distorted/main/RubikActivity.java
+++ b/src/main/java/org/distorted/main/RubikActivity.java
@@ -40,6 +40,7 @@ import org.distorted.library.main.DistortedLibrary;
 
 import org.distorted.library.main.DistortedScreen;
 import org.distorted.messaging.RubikInAppMessanging;
+import org.distorted.objectlib.main.InitAssets;
 import org.distorted.objectlib.main.ObjectControl;
 import org.distorted.objectlib.main.TwistyObject;
 import org.distorted.objectlib.effects.BaseEffect;
@@ -612,8 +613,9 @@ public class RubikActivity extends AppCompatActivity
       InputStream jsonStream = object==null ? null : object.getObjectStream(this);
       InputStream meshStream = object==null ? null : object.getMeshStream(this);
       String name = object==null ? "NULL" : object.getUpperName();
+      InitAssets asset = new InitAssets(jsonStream,meshStream);
 
-      control.changeIfDifferent(ordinal,name,meshState,iconMode,jsonStream,meshStream);
+      control.changeIfDifferent(ordinal,name,meshState,iconMode,asset);
       }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
@@ -734,8 +736,9 @@ public class RubikActivity extends AppCompatActivity
           int iconMode  = TwistyObject.MODE_NORM;
           InputStream jsonStream = object.getObjectStream(this);
           InputStream meshStream = object.getMeshStream(this);
+          InitAssets asset       = new InitAssets(jsonStream,meshStream);
           ObjectControl control = getControl();
-          control.changeObject(-1,meshState,iconMode,jsonStream,meshStream);
+          control.changeObject(-1,meshState,iconMode,asset);
           }
         }
       }
diff --git a/src/main/java/org/distorted/purchase/PurchaseActivity.java b/src/main/java/org/distorted/purchase/PurchaseActivity.java
index 68ce93d4..25d9a29e 100644
--- a/src/main/java/org/distorted/purchase/PurchaseActivity.java
+++ b/src/main/java/org/distorted/purchase/PurchaseActivity.java
@@ -24,6 +24,7 @@ import org.distorted.dialogs.RubikDialogError;
 import org.distorted.external.RubikScores;
 import org.distorted.library.main.DistortedLibrary;
 import org.distorted.main.R;
+import org.distorted.objectlib.main.InitAssets;
 import org.distorted.objectlib.main.ObjectControl;
 import org.distorted.objectlib.main.TwistyObject;
 import org.distorted.objects.RubikObject;
@@ -232,8 +233,8 @@ public class PurchaseActivity extends AppCompatActivity
         InputStream jsonStream = object.getObjectStream(this);
         InputStream meshStream = object.getMeshStream(this);
         String name            = object.getUpperName();
-
-        control.changeIfDifferent(ordinal,name,meshState,iconMode,jsonStream,meshStream);
+        InitAssets asset       = new InitAssets(jsonStream,meshStream);
+        control.changeIfDifferent(ordinal,name,meshState,iconMode,asset);
         }
       }
 
diff --git a/src/main/java/org/distorted/tutorials/TutorialActivity.java b/src/main/java/org/distorted/tutorials/TutorialActivity.java
index 23d04359..0842f846 100644
--- a/src/main/java/org/distorted/tutorials/TutorialActivity.java
+++ b/src/main/java/org/distorted/tutorials/TutorialActivity.java
@@ -25,6 +25,7 @@ import androidx.appcompat.app.AppCompatActivity;
 
 import org.distorted.library.main.DistortedLibrary;
 
+import org.distorted.objectlib.main.InitAssets;
 import org.distorted.objectlib.main.ObjectControl;
 import org.distorted.objectlib.main.TwistyObject;
 
@@ -225,8 +226,8 @@ public class TutorialActivity extends AppCompatActivity
       InputStream jsonStream = object==null ? null : object.getObjectStream(this);
       InputStream meshStream = object==null ? null : object.getMeshStream(this);
       String name = object==null ? "NULL" : object.getUpperName();
-
-      control.changeIfDifferent(ordinal,name,meshState,iconMode,jsonStream,meshStream);
+      InitAssets asset = new InitAssets(jsonStream,meshStream);
+      control.changeIfDifferent(ordinal,name,meshState,iconMode,asset);
       }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
