New, generic bandaged 3x3 class 'TwistyBandagedAbstract'.
Now, (almost!) any bandaged 3x3 can be created by extending this class and implementing one abstract method 'getPositions()'. Almost, because there's still one restriction: currently all cubits need to be one of the 5 allowed types: 1x1x1, 2x1x1, 3x1x1, 2x2x1, 2x2x2....
In the 'magic' app, ObjectType is now only used in RubikObject and RubikObjectList classes and nowhere else.This is a major step towards being able to download objects from an online repository.
Progress replacing the enum ObjetType with the class RubikObjectList.
Simplifications
Move RubikControl to objectlib (as 'ObjectAutomator')Hide ObjectPreRender inside objectlib and move its APi to ObjectControl.
1. Remove 'db level' from objectlib (this belongs to the app!)2. change ScreenPlay's 'mObject' to be an ObjectType.
Move PreRender to objectlib.This code is now shared betweeen the Rubik and Tutorial activities.
Move more code to objectlib.
Reename ObjectList to a more logical ObjectType.
Simplify ObjectList: now there's just one object per size.
Remove all files that have been separated into a new library 'objectlib'
Prepare the 'objectlib' package to be separated into a library module
Refactoring: split the 'objects' package into two, 'objects' and 'objectlib'.The point: we're going to need to move the 'objectlib' stuff into its own library module, and that's because we're going to create a new app module which needs access to it.
Abstract the part that controls the 'Locked' and 'Back Moves' buttons from the two activities: the main one and the tutorial one.This code had been duplicated there.
Corrections for the new Pyraminx5 patterns.
Update the Pyraminx5 pretty patterns.
New Megaminx & Gigaminx pretty patterns.
Convert the move format to one which can hold moves of the Megaminx and Gigaminx (in preparation for introduction of the Mega& Gigaminx Pretty Patterns)Now we use 2 bits for the angle, 3 bits for the axis and 5 bits for the bitmap of layers. This totals 10 bits so 1024, but the whole thing will not spill over 3 digits, because in the Minxes we have total of 6 axis, not 8.
Backing moves: constant angle speed (part 2).
Make it possible for an object to have different 'basicAngles' along each of its axis.
Progress creating the Tutorial Dialog.
Rename some classes.
Reinvent the Pattern Dialog (Part 2)
Convert the PostRender to a PreRender, called before we render.This makes more sense as this way things are prepared for the very first render.
Fix the Solver broken by the change of move notation when importing Pyraminx Patterns :(
Correct the last 6 patterns of the Pyra5.
Add Pyraminx5 Pretty Patterns.
Add Pyraminx4 Pretty Patterns.
Add Pyraminx3 Pretty Patterns.
Change the format of moves in Pretty Patterns to more terse, so that patterns of objects with 4 axis of rotation ( Pyraminx!) fit into 3 digits.
Bugfix
Progress with the 3x3x3 Solver.
Hopefully the only thing that remains to be done is to implement the RubikStateSolver.retCubeString().
More support for the 3x3x3 Solver: more of the actual 3x3x3 solver mechanism.
Minor.
Minor
Introduce RubikPatternsList. Now, if one wants to contribute patterns for a new object, all one has to be is give the list of strings describing the patterns and add them to the List.
Speed up displaying the Patterns Dialog - do not read the whole thing, but only one Category at a time as required.
Pretty Patterns: slight speedup.
Pretty Patterns: some patterns had 'empty' moves (i.e. angle 0). Correct the last 5 such patterns.
Pretty Patterns: some patterns had 'empty' moves (i.e. angle 0). Correct the next 6 such patterns.
Pretty Patterns: some patterns had 'empty' moves (i.e. angle 0). Protect the parser against such sequences and correct the first 12 such patterns.
Pretty Patterns Dialog: remember the positions of scrollbars.
Bugfixes for Pretty Patterns
Bugfixes - do more stuff 'post render'
Major progress with Prretty Patterns.
Two things remain:
1) looks like sometimes making/backing Moves in a Pattern gets stuck. ( Pattern.mCanRotate! )2) we need to add RubikPatternList!
Major progress with Prretty Patterns - hopefully only initializing the Object remains!
More support for actual patterns!
Remember state of the dialog.
Improve the Pattern data: unique names, more even splitting into categories.
Progress with Pretty Patterns.
Progress with Pretty Patterns - do away with the tabbed dialog!
Beginnings of the 3x3x3 Solver and Pretty Patterns.