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.
Progress with RubikControl.
Attach the control nodes directly to the screen, not to the Object Node.
Cube Control: step 2.
Rename 'state' to 'screen'
Control the Cube: beginnings.
Include info about renderer and version in the submit packet.
Fix the long-standing issue with the double 'READY' state which, as I now see, was causing some impossible records.
Minor.
Fix (again) the solved state detection in Dino4.
Fix solved state detection of the Dino4
- report the Graphics driver's Renderer and Version.- new Diamond, Skewb2 and Skewb3 meshes.
Minor adjustments for the UI.
Correctly centralize the buttons on the main menu popup.
Create new meshes.
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.
New cubit engine: finish converting Kilominx & Megaminx.
New cubit engine: convert Kiliminx & some Megaminx.
Simplify.
Convert the Redi Cube to the new engine.
Convert the Helicopter face cubits to the new engine.
Correct still one bug with collapsing stickers in teh new Cubit engine.Convert the Helicopter corner cubits to the new engine.
Correct the layout of the main MenuPopup - it was displayed incorrectly on right-to-left locales e.g. Arabic.
Convert the Skewb.
Objects: tidy up some repeated code.
New Cubit Engine: add adjustable centers.
Convert the Dino and one of the Skewb's cubits to the new engine.
Convert the second and third object, the Pyraminx and the Diamond, to the new Cubit-creating engine.
Convert the first object, the Cube, to the new Cubit-creating engine.
Move Factories to the 'helpers' package.
Rename packages
Face cubit creation: progress: rounded corners
Master Kilominx: tutorials.
Master Kilominx: mesh.
Master Kilominx: icons.
Any size Kilominx: finished
Progress with any size Kilominx.
Comment.
Making the Diamond class support any size: finished.
Progress making the Diamond class support any size.
Fix the 6fad862b commit and remove the UI block in a proper way (i.e. the problem was that popping up the Object, Play or Menu windows was impossible while the 'WIN' glow was active)
Automatic scrambling of the Evil Cube works!
Bugfix.
Simplify the 'bandaged' class API.
Remove some of the UI blocks:
No need to block the three top dialogs - the Object, Menu and Play popups.
Speedup: in the tutorial dialog, only create the current tab +-1.
New Bandaged tutorials.New Korean tutorials.
1) in case of several obejct, we need return to the original max num of scrambles - otherwise the records in the DB do not show.2) implement proper automatic scrambling of the 2Bar and the 3Plate bandaged cubes.
Refactor the automatic scrambling. From now on, it is not needed to care about single and double turns when randomizing a new turn.
Minor
Change the automatic scramble API in the TwistyObject - in preparation for automatic scrambles in the Bandaged Objects.
Switch on Dmeshes - in light of the previous fix, they work now.
Add bandaged meshes - switched off for now, since something doesn't work.
Transpose the Object Popup
Bandaged objects: icons
Bandaged objects: first step making automatic scrambling work.
Make manual scrambling work.
Progress with 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.
Change Cubit.mRotationRow[] from an index pointing at a single rotating layer to a bitmap potentially pointing at several layers.(in preparation for bandaged objects)
Simplifications.
Simplification with objects.
Progress with bandaged cubes.
Beginnings of support for bandaged versions of the 3x3 cube.
Properly solve the issue with Qualcomm driver V@331 having buggy UBO size.
Comment eexplaining the recent 'gigaminx ban' on some platforms.
Relax the conditions when we do not support Gigaminx - looks like Adreno 30x has nothing to do with it, just driver version 331.
Another attempt at fixing tthings on early Qualcomm OpenGL ES 3.0 drivers.
The previous version does not work on Adreno 405 driver V@100, present for example in a Asus ZenPad 8.Revert the packed 'ivec2' UBO in the vertex shader back to a 'std140' ivec4. This comes at a price if bumping into the bug on Qualcomm driver version 331 on Adreno 308 - i.e. Samsung Galaxy J4+ again....
Bugfix for a crasher
Add German tutorials
Always use only (max) 10 levels - (max) 9 'initial' Levels + Full Scramble.
New Gigaminx tutorials.
Make the Minx objects a little bigger by default.
Fix movements of objects - before it really worked only when an object's FOV was about 60 degrees.
Add Gigaminx dmesh.