Move more code to objectlib.
Simplify TwistyObject's API.
Reename ObjectList to a more logical ObjectType.
Simplify ObjectList: now there's just one object per size.
Simplify objectlib's API.Correct a recently introduced bug with resetting texture maps.
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.
Move the Movement class from ObjectList to individual object classes.
Move actual solving the object to PreRender.
(before we had a 'solveObejct()' in preRender already, but that one just starts the Solve Effect!)
Improve debugging in BlockController.
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.
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.
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...
Backing moves: constant angle speed (part 2).
Backing moves: constant angle speed.
Cube Control: step 2.
Rename 'state' to 'screen'
- report the Graphics driver's Renderer and Version.- new Diamond, Skewb2 and Skewb3 meshes.
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)
Do not block the UI if, for some reason, some of the effects failed to get added to the Queue. Just fail to rotate.
Fixes for the Rex Cube (still doesn't work)
Change the way we request for reviews.
New 'tutorial' activity.
Do not permit clicking on the 'play' button if we are currently scrambling an object.
Spearate the concept of number of layers of an object and its size.In case of the Skewb family, this is no longer the same (Master Skewb has 3 layers but it's twice bigger than the 2-layered Skewb)
More debugging for the case of suspicious submits.
Improve Analytics reports
adjust requesting for review a bit more - now it will happen after a user has launched the app twice and played 7 times.
- after some time using it, request an App review- some tweaking for the way the objects look (set internal_color to something slightly lighter than pure black, round the corners of the stickers better)- set internal_node ratio to 1.42, this way the objects never get cut
Simplify drawing textures.
1) report all solved levels to Analytics2) automatically dismiss the NewRecord and Solved dialogs when one backs from the Done state.
Rename some classes.
Object node: size of screenWidth.
Simplify dragging. Now there's only 1 Quat, rather than the old way with two (Accumulated, Current).
Improvements for the way we rotate layers of Objects: make it possible to begin a rotation during a WIN effect.
Improvements for the way we rotate layers of Objects. (take the speed into account - so even if we rotated a layer of a Cube to less than 45 degrees, but we did it fast, do a 90 degree rotation!)
Read the meshes from .dmesh files (rather than compute them dynamically).This (along with single-mesh mode) hopefully makes the rendering much faster, while keeping the time needed for Object Change low.
The only downside: this increases the size of the release APK from 6 MB to 9.6 MB.
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.