Remove statics from the Rex class.
Introduce pseudorandom balancing into scrambling to all the other already converted objects, i.e. everytihng except for Pyraminxes, Squares, Minxes and the Redi.
Introduce pseudorandom balancing into scrambling in case of the two Dinos (from now on, the more times a particular (ax,layer) combination has been chosen already in the scrambling sequence, the less likely it is to be chosen next).Fix Dino6 - isSolved(). Sadly, it cannot be the geeneric function - it needs to be another special case.
Convert Skewbs & Rex Cube to the new, unified scrambling method.
Remove the last 'isSolved()' (from Dino4) and put it to the parent class as a special case.
Standarize the 'isSolved()' method: now all objects, except one (Dino4) have a standard isSolved().This incidentally also fixes detection of the solved state in case of Diamond4, i.e. a Master FTO.
Finally remove cubit creation from the implementation classes and move it to the TwistyObject.
Convert Rex Cube to the new scheme.
Important step towards making the implementation of an individual puzzle code-free (i.e. data-only): move the 'MeshBase[] mMeshes' variable from the individual classes to the parent TwistyObject.
Minor.
COnvert the last object, the Rex cube, to the new cubit creation scheme. Provide the new Rex mesh.
Move the TwistyObject.retCubePosition() to the solver.
Standarize drawing stickers of a twisty puzzle. From now on, there's no 'sticker drawing' code in the individual classes, only some constants.
Convert the last 'special' case, the Rex edge sticker, to the generic sticker mechanism.
Convert the Rex corner sticker to the new mechanism.
Generalize FactorySticker - make it possible to draw stickers whose sides are curved.Convert the Ivy to use this new functionality.
Preparation for 'smart scrambling' : introduce the total number of scrambles to the 'randomizeNewScramble' function.
Make it possible for an object to have different 'cuts' along each of its axis.
Make it possible for an object to have different 'basicAngles' along each of its axis.
Hide more stuff in the TwistyObject class.
Remove the need for RowChances.
Move all the special cubit-creating code out of FactoryCubit and to the Object classes, and thus hopefully finish implementing the new cubit creating engine.
Simplify.
Objects: tidy up some repeated code.
Convert the first object, the Cube, to the new Cubit-creating engine.
Move Factories to the 'helpers' package.
Refactor the automatic scrambling. From now on, it is not needed to care about single and double turns when randomizing a new turn.
Change the automatic scramble API in the TwistyObject - in preparation for automatic scrambles in the Bandaged Objects.
Change the Cubit center from a Static3D to a float[].The point: now we can have more than one center, and bandaged objects need more than one, because in this way they are going to fill up their RotationRow bitmaps.
Add Gigaminx dmesh.
Beginnings of Megaminx & Gigaminx
Make the color scheme more standard.
Solve bug with detection of the Rex Cube solved state reported by Hitendar Goal.
Cleanups
Rex Cube - new mesh, textures and icon.
Rex Cube Mesh
Progress with the Rex Cube (icons)
Progress with the Rex Cube (stickers)
Fixes for the Rex Cube (mostly works now)
Fixes for the Rex Cube (still doesn't work)
Adding Rex Cube - take 1 (doesn't work yet)