move the 'VariantFaceIsOuter' info into the ObjectShape class.
change the OBJECT_VERSION to 18
ghost-releted changes to the JSON !
start using the new (axis,rowBitmap,degrees) format in JSONs and up their version to 17.
change format of ObjectMove from (axis,rowBitmap,bareAngle) to (axis,rowBitmap,angleInDegrees)
compiles now
This time it really looks like the Ghost model is finally correct, and the 2x2, 4x2 and 6x2 Ghosts do work (except automatic moves and possibly backing ghost moves)
progress with Ghosts
Work on Ghosts
replace all andoird logging with System.out.println
Another part of the fix for shape-shifting cuboids: we need to write numLayers to JSON (rather than computing it from mRotatable) because it turns out mNumLayers can be different than the lengths of mRotatable!
This and new object JSONs for the 3 shape-shifters (other object default back to the old method of computing numLayers on read from JSON)
API name changes; fix for Dino4's solved state!
remove numLayers from parameter list of 3 next methods.
remove numLayers from 4 API methods.
Finally! Split TwistyObject into:
- lower class 'TwistyObjectTheoretical' (an object that has no mesh, no stickers, cannot be touch-controlled, but knows how a real object of its kind moves - so can be used e.g. in solvers)
- everything else above it.
In the future, the 'everything else' will be further slipt into...
debugging the new 'surfaces' thing.
Rearrange the order of objectes in the main gridUp object version to 16
Objects can support or not changing colors of their stickers.
Fix the detection of the solved state.
progress with configurable stickers
(limited) support for different strokes across each edge of each sticker.
progress with new sorting methods.
Next step toward separating TwistyObject metadata.
Big step toward separating TwistyObject metadata.
change complexity from int to float.
14 is enough :)
final bugfix for scrambling shapeshifting cuboids; up JSON version to 15 (as we have a new scrambling type!)
beginnings of support of type=4 scrambling - shape-shifting cuboid.
Support for shape-shifting cuboids. (except for the flat ones like the Super Floppy)
Make it possible to download objects with no extras file. Up VERSION_OBJECT_APP to 13.
Creator of Bandaged Skewbs finished.
separate ObjectSiguature into its own package and separate the BandagedSignatures out of it.
progress with TwistyBandagedMegaminx.
Remove the generic 'MINOR' object and extras versions from JsonWriter, and replace them with per-ObjectType values. This was the reason why objects which had their 'minor' (really: version) updated to '1' in the server then never updated the jsons with locally stored versions.
Support drawing stickers with multiple holes in them.
change the way the coordinates of stickers are kept from float[2*N] to float[N][2]
build.gradle: include directive to create a 'BuildConfig.java'2 fixes for proper scrambling of locally created bandaged cuboids.
Progress with scrambling a bandaged pyraminx.
Initial support for scrambling a bandaged pyraminx.
minor
support Multigon in JSONs
remember the rotation factors in the JSONs.
Fix the 'layer bitmaps in algorithms' feature.
Correctly read JSONs with the previous 'scrambling algorithms' whch were not yet in 'bitmap' form.
We have just introduced a non-backwards compatible improvement to the interpreter - up the interpreter version to 11.
Coin tetrahedron: bugfix, new mesh & json; move to json version 10.
remove all references to android.Context and android.Activity from distorted-objectlib
Up the MAJOR version to 9 to account for the new SPLIT type supported by the interpreter.
Bump major to 8 (in accoount of the BAN6_4 - Burr Cube - where scrambling woudn't work with version 7)
separate the 'isSolved' part from TwistyObject
Make the JSON reader capable of handling possible future 'BAN*_*' objects.
BAN5_4 and BAN6_4: fix creating their signatures (improper signatures --> wrong scrambling type 2!)
Minor.
Make it possible to (fully!) read version 6 JSONs - some users might have Pyraminx Duo v. 6 already downloaded!
We need to support reading from earlier JSONs. Support v. 6 (partially - only the objects which do not have the new in v. 7 algorithms & edges - i.e. locally created bandaged cuboids)
Bugfixes
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....
Fix touch-replacing colors of the stickers. Now correctly takes into account the shape of the sticker.
Bugfixes.
Bugfix for reading JSONs version 6.
Minor bugfixes for creating JSON files version 6 (with per-cubit lists of VertexEffects)
Major change in JSOn file format:
replace the old (corners,centers) system with a list of VertexEffects which are applied to each cubit variant.
Very important bugfix for an issue which probably has been the reason for many mysterious behaviours in the past: the JsonReader class cannot be a singleton! Convert it into a normal 'instanced' class.With it being a singleton there's a major issue: when we create a new TwistyObject from a JSON file (by, for example, going to PurchaseActivity) and then we come back to the old object (by, for example, going back to the main RubikActivity) - then the JsonReader inside the old object has read the new JSON file and thus many of the 'abstract' methods in the old TwistyObject (for example getShortName()) all of the sudden start returning new values!
Changes to the initialization - initialize the 'bought objects'
Make it possible to create Diamond and Icosahedron-shaped objects to be read from json.
More support for pillowing; pillow Morphix and Jing by default.
IAP, part 3: non-free objects appear in the popup with a lock icon.
IAP, part 1: Introduce the concept of a 'free' and 'not free' object to
- ObjectType- DownloadedObject- RubikObject- jsons
Make ObjectSignature ready for any size bandaged cube.
main: license.
Do not crash when something's wrong with the JSON file - handle this gracefully, do not change the object then, and report this to Firebase.
Bugfix
A few code improvements.
Bugfix the the sticker overrides.
Progress with sticker overrides.
Beginnings of support for 'sticker overrides' - possibility to override the color of an individual face of an individual cubit. Ultimately this will enable overriding with any bitmap; so far only a solid color.
Also, fixes for two crashers.
Crazy Planets: now can be created in J1 M0 mode. J1 M1 still doesn't work.
Crazy Planets: introduce cubit type and offset to the JSON; create (shared) mesh and all the JSONs.
Make the 4 built-in BandagedCuboids use the introduced InitData concept and remove all specific bandaged object classes.
Bump MAJOR version to 3 (we cannot intermix the new Mixup json objects with version 2 app interpreter)
Fixes for scrambling locally-produced bandaged cuboid.Still does not work completely.
Introduce ObjectSignature that can incorporate 192-bit signatures (for 5x5x5 bandaged cubes).ObjectScrambler does not fully work yet.
Bandaged: progress with creating the object.
If we're updating an object, and it is the current object, reload it immediatelly so that the new version appears by itself.
Support reading num of scrambles from json version 2.
Preparation for Mixup Cube: take advantage of the recent bump in MAJOR_VERSION number and change the format of basicAngles to int[][] 'per-axis-per-layer' [ Mixup Cube has different basicAngle in its middle layers (8) - and different in its edge layers (4) ]
Turns out latest changes to the FactorySticker force us to increment the MAJOR_VERSION as now we produce incompatible stickers. We'll also use this occasion to support the Mixup Cube (change basic rotations to per-layer-per-axis)
Bandaged 3x3: progress with saving.
Preparation for local creation of puzzles: remove the 'ObjectType' enum from TwistyObject class.
New, generalized ScrambleState generator that should work for any bandaged 3x3.
Downloaded Objects: bugfixes
Downloaded Objects more or less work now.
Progress downloading objects and extras.
Re-organize tutorial list so that we can pull this one from JSON files.
Step towards tutorial JSON files.
Configurable internal colors. This somehow screwed up the Container!
Implement the Windmill Cube
unify every isSolved() routine except one: part II : new JSONs.