TwistyObject's ObejctScreenRatio and InitScreenRatio shouldn't be static. Make them non-static.Otherwise, if the current object is, say, a cube (initSR=0.5), we fire up tutorials and start a tutorial for something with vastly different ObjectScreenRatio (Jing- initSR=1.64), then come back to the Main Activity - so there's a cube on the screen again - the ratios stay at their Jing values, which screws up detection of rotations.
New Jing and Master FTO tutorials.
Master FTO: icons
Master FTO: mesh
Add Master FTO.
New 'JingPyraminx' object - add the icons.
New 'JingPyraminx' object - add the mesh.
New 'JingPyraminx' object - improvements. The object should be working now.
New 'JingPyraminx' object - improvements
New 'JingPyraminx' object - improvement.
New 'JingPyraminx' object.
Again abandon RubikControl (after bumping into hard-to-solve issues)
Improve debugging in BlockController.
add possible scrolling to the 'object' popup in case the grid of objects does not fit on the screen.
Progress with RubikControl.
Lots of changes :)
Bugfix
When we're leaving the Tutorial activity, unblock everything.
Make it impossible to launch more than one Tutorial screen at a time.
BlockController: Unblock after 3 seconds.
Fix the long-standing problem that putting app to the background would not stop the 'solving' counter.
Fix the reddening the Lock icon.
Fix a rare crash.
Introduce a BlockController - a watchdog which makes sure the Touch and UI blocks do not take too long.If it detecs a long block, it unblocks and reports the situation to Crashylytics.
Add a 'give up' dialog - if one made at least 10 moves when solving and presses a 'back' button, one needs to confirm.
Always set the back move icon when we clear moves
Give visual indication when dragging is locked.
Change the 'Cube Back' icon when there are no moves to back.
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.
New Kilominx mesh.
Important bugfix: no we cannot unblock touch when WIN effect finishes, because
1) starting the WIN effect does not block touch in the first place2) it can happen that this unblocking happens when we have started finishing the rotation but haven't removed it yet...
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.
Workaround for a crash.
Correct the Redmi mesh to eliminate the visible seams.
Correct the dino mesh to eliminate the visible seams.
Correct rotations of the Cube - eliminate one cse when four consecutive rotations collapse into one or a NOP.
Correct rotations of the Pyraminx - eliminate one cse when three consecutive rotations collapse into one.
Separate the notion of maxLevel (in DB) [which has to stay backwards-compatible with previous versions of the app] and 'numScrambles' - the number of times an objects gets scrambled in the 'full scramble' mode. Now the second can be whatever we want without breaking backwards compatibility.
Minor.
Improve scrambling of the Minx'es and the Redi, which in full scramble mode were frequently leaving large corners unscrambled.
Preparation for 'smart scrambling' : introduce the total number of scrambles to the 'randomizeNewScramble' function.
Correct the way we overlay our (possibly) better local (i.e. unsubmitted yet or submitted, but not picked up by the 'clean_db' cron job) records on top of the DB records ini the 'Scores' dialog.
Fix the fact that in the last, 'Full Scramble' level, it wouldn't switch on the green light.
Minx'es: fix for the automatic rotations.
Square-2: correct detecting the solved state.
Backing moves: constant angle speed (part 2).
Backing moves: constant angle speed.
Squares: add tutorials.Correct the order of objects in the tutorial dialog.
Squares: add meshes.Bump version to 1.8.2
Square-2: minor.
Squares: icons.
Square-2 fix.
Square-2: progress.
Introduce Square-2 (unfinished)
Square-1: looks to be finished.
Square-1: progress with automatic scrambling.
Square-1: implement the fact that corners might bandage the puzzle.
Square-1: this is a shape-shifter; we cannot just clamp the Cubit positions to the initial list of positions.Do so only if the minError is appropriately low.
Square-1: progress with movement.
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.
Square-1.
Progress with cubit shapes of the Square-1.
improvements for FactorySticker
Square-1: progress
Square-1: beginnings
Make it possible to have some objects created from dmesh, and others - bootstrapped programmatically.
Bugfixes for two issues with 1.8.0 seen in the field.
Bugfix: make it impossible to rotate a cube when it is being scrambled in the Tutorial mode.
New tutorials.
Skewb Ultimate: icon.
Fact Turning Octahedron: icon.
Face-Turning Octahedron & Skewb Ultimate meshes.
Move some objects around.
Skewb Ultimate (hopefully) finished.
Progress with Skewb Ultimate.
Beginnings of a new object: Skewb Ultimate.
Switch Rubik Control off for the moment.
RubikControl: rotate the cube 2.
RubikControl: rotate the cube.
Simplify RubikSurfaceView and the touchscreen control.
RubikControl: progress.
RubikControl: fixes; progress.
Make Dynamic's resetToBegin() done on the next frame.This is necessary if we want to reset many Dynamics at one go and have all of them start synchronized.Otherwise it can happen that when we reset, we do it when some objects which the Dynamics belong to are already rendered and others are not, and then some of the Dynamics will be delayed by one frame which is visible already.
Progress with RubikControl - finger movements during all 13 sub-stages of the 'whole' stage finished.Next: actually move the cube.
Progress with RubikControl - sub-stages 1 and 2 of the 'whole' stage finished.