Support for automatic creation of Scramble Algorithms and Edges which ignore the 'non-rotatable' layers.Implement this to the Coin Tetrahedron, Ancient Coin Cube & Tins Cube.
Improve the 'rot axis parallel to face axis' touch control mode:support case when the rot axis is parallel and agrees in direction with the face axis, and the one when they disagreee in direction.
Progress with Ancient Coin Cube.
Initial support for Ancient Coin Cube.
Improve Tins Cube.
Switch off Tins Cube; bugfixes for the BandagedCreator.
Tins Cube.
Rearrange the objects and produce new JSONs.
Correct detection of solved state in Masterball. New JSON.
Implement the android.opengl.Matrix functions ourselves.
Coin tetrahedron: make it invisible.
Coin tetrahedron: icon.
Progress with support for the 'normal' touch-control: speed probes.
Progress with support for the 'normal' touch-control
Progress with support for touch-control of pieces which we rotate along an axs which is normal to the currently touched face (think Coin Tetrahedron!)
Coin Tetrahedron: progress
Coin Tetrahedron: initial commit
Change OperatingSystemInterface
Make the touch control in OSInterface more like in the previous version - before it was occasionally crashing...
Move the SharedPreferences to the OSInterface
Start moving the SharedPreferences to the OSInterface
Move opening local files to the OSInterface
Move the interaction with touchscreen to the OSInterface (part2)
Move the interaction with touchscreen to the OSInterface
Separate a OSInterface from LibInterface
remove all references to android.Context and android.Activity from distorted-objectlib
Square-0: icon.
Switch off Square-0
Add Square-0
Speedups for setupPosition(). Now the 587 moves of the Burr Cube is getting done visibly faster.
Make the Masterball built-in - we need to displace the old version of it with an old scrambling mechanism.
Debugging.
Make it possible to actually play at the MAX level the objects which have too many rostations for a normal SCRAMBLE effect (and instead do a FAST_SCRAMBLE)
New PruningTable data structure for solvers.
Master Icosamate: mesh, jsons.
Master Icosamate: first code.
Icosamate: switch it off
Icosamate: mesh, jsons.
Progress with Icosamate
first attempt at Icosamatenew PL tutorial for the Crazy Planets
Tablebase-based scrambling.
Close assets after use.
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)
Diamond Skewb solver should be fully working now.
Progress with the Diamond Skewb solver.
New button in the solver screen: reset all textures.
fix for a crasher.
Bump first 4 jsons to version 8
Constants for scrambling types.
Pyraminx Duo solver: initial code which creates the unpacked DB (does not work still)
Progress with the Pyraminx Duo solver
Progress with PDuo solver
Withdraw recent changes about the signatures.
- add the Pyraminx Duo solver to the list- make the signature of an object independent of its location in the ObjectType enum
- fix for the newly introduced TwistyObjectSolved- fix for the solvedQuats of the Trajber 4x4
separate the 'isSolved' part from TwistyObject
Increate number of Burr Cube scrambles to 487.
Minor
Add Burr Cube (aka Wall Cube)
Camouflage: new json (change complexity and num scrambles)
Camouflage: new mesh and json.
Correct Camouflage's cubits (centers must be 1x1x1!) and add YTS' scrambling algorithms.
Bugfixes for touch control - specifically for furious swiping and concurrect backing of moves.
Some more debugging.
Withdraw the last change.
Make it impossible to addNewRotation() (i.e. the automatic rotations triggered from backMove, scrambleEffect etc) or beginNewRotation() (by swiping a finger) when we are currently finishing a previous rotation and haven't removed it yet.
Minor.
Fix for a crasher.
Make it possible to (fully!) read version 6 JSONs - some users might have Pyraminx Duo v. 6 already downloaded!
Unblock PreRender's scrambling & solving oonly AFTER we change screen to READ post-scrambling (otherwise it was possible to press the 'solve' button in the brief period between unblocking and switching screen because switching screen runs on the background UI thread)
still return the right value in case of slow and fast scrambling.
calls to FastScramble and SlowScramble might fail (preRender is blocked). Return false then and if so, do not do anything in the app.
Don't do slow scramblng if numScrambles>=50 - do a fast scramble instead.
AI Cube: rename the icon.
Icon (and icon creation) for the Camouflage 3x3x3.
AI Cube: rename BAN5_3 to BAN5_4
AI Cube: dmesh, jsons. Only scrambling now missing.
Beginnings of support for AI Cube.
Fix a bug with level buttons in objects with less than 9 numScramble.
Correct scramble tables for Starminx, P. Crystal, Kilominx, Megaminx, Master Kilominx & Gigaminx.
Produce new JSONs files (version 7, with new scrambling method)
Move scrambling to a new model where there are spearete scrambling 'algorithms' and 'edges' of the scrambling graph.Now each edge can contain a whole algorithm, i.e. a sequence of moves leading from state to state, which permits construction of scrambling for more complicated bandaged objects such as the AI cube....
Progress with the Camouflage 3x3x3.
Beginnings of support for the Camouflage 3x3x3.
Fix touch-replacing colors of the stickers. Now correctly takes into account the shape of the sticker.
Remove the 'switchTouchControl' optimization which, with many different objects in the solver screen now, does not work any more.
Some improvements to blocking, mostly to the names of variables.
Finally fix the 'impossible records' bug!
Thanks for a bug report from Jacob Powell - if one, during scrambling, minimized the app and re-entered it, the UI lock got removed (by a call to 'unblockEverything' from RubikActivity's onResume) and one could then keep solving the object mid-scramble....
small improvement for the TwistyObject.
Move the control of object scaling out the objectlib.Thee xact way the object is scaled needs to be decided in the app, as only the app knows that e.g. in the Rubik main screen, if it is a square, then obejct needs to be a bit smaller than in case of Config screen (if that one happens to be a square)
More debugging for the mysterious case of corrupted rotation quat (?)
Make it possible to decide about FastScramble duration fromo outside the ObjectControl.
Fix for the issue that a resized object wasn't TouchControlled correctly in the Solver screen.(mObjectRatio was set to incorrect instance of the TouchControl class)
Additional debugging for one weird crash.
Always prepare() TouchControlShapeChanging when we enter the Solver. Otherwise it could sometimes be prepared with some different object and would crash in touching the screen.
Pyraminx Diamond & Duo: meshes, jsons.