Project

General

Profile

Statistics
| Branch: | Tag: | Revision:

magiccube / src / main / java @ 7ff38997

# Date Author Comment
7ff38997 09/06/2021 10:10 PM Leszek Koltunski

Remove statics from the Cube classes.

f2d0d23e 09/06/2021 03:14 PM Leszek Koltunski

Remove statics from the Bandaged Cube classes.

214e301a 09/06/2021 02:59 PM Leszek Koltunski

Fix the problem reported by Samsung -

1. Fire off the app
2. minimize it, select 'Multi window'
3. put some other app in the lower half of the screen
4. close the lower app
5. our app used to fail to display the upper and lower menu bars.

0021af58 09/02/2021 10:44 PM Leszek Koltunski

Convert Square-2 to the new generic scrambling algorithm.

In order to do it we need to introduce a third, artificial rotational axis - otherwise the algorithm would make it impossible to rotate the lower layer and immediatelly after - the upper.

e42a9e87 09/01/2021 10:24 PM Leszek Koltunski

Fix the Square-2 isSolved() (it was wrong even before!)

bbbfb6af 09/01/2021 10:02 PM Leszek Koltunski

Convert the Pyraminxes to the new scrambling paradigm.
This leaves only the two Squares.

aa26ba7f 08/31/2021 11:52 PM Leszek Koltunski

Convert the 4 Minx'es to the new scrambling paradigm.

cda32fc1 08/31/2021 06:12 PM Leszek Koltunski

Convert the Redi to the new scrambling paradigm.

e1dc3366 08/31/2021 05:46 PM Leszek Koltunski

Introduce pseudorandom balancing into scrambling to all the other already converted objects, i.e. everytihng except for Pyraminxes, Squares, Minxes and the Redi.

6cf89a3e 08/31/2021 03:38 PM Leszek Koltunski

Introduce pseudorandom balancing into scrambling in case of the two Dinos (from now on, the more times a particular (ax,layer) combination has been chosen already in the scrambling sequence, the less likely it is to be chosen next).
Fix Dino6 - isSolved(). Sadly, it cannot be the geeneric function - it needs to be another special case.

caccea6e 08/31/2021 01:12 AM Leszek Koltunski

Convert the Cubes of all sizes to the new, unified scrambling method.

20898e6f 08/30/2021 11:03 PM Leszek Koltunski

Convert both Dinos to the new, unified scrambling method.

486b3417 08/30/2021 10:21 PM Leszek Koltunski

Convert the Diamonds & the Helicopter to the new, unified scrambling method.

01b2ef5a 08/30/2021 07:33 PM Leszek Koltunski

Convert Skewbs & Rex Cube to the new, unified scrambling method.

0ad6b867 08/30/2021 05:02 PM Leszek Koltunski

Convert Skewb Ultimate, Jing Pyraminx & Ivy Cube to the new, unified scrambling method.

38589947 08/30/2021 10:51 AM Leszek Koltunski

Unify scrambling across all 4 bandaged objects.

8db55f55 08/30/2021 01:46 AM Leszek Koltunski

Preparation for unification of scrambling. Scrambling of all objects will be done by a generic funtion, only fed a certain data structure by the objects. The data structure is going to be the ScrambleStateGraph - a directed state graph of all states we can come across while scrambling....

5e254115 08/26/2021 10:39 PM Leszek Koltunski

auto-compute the bandaged status from dimension of the CENTERS. Make 'computeBitmapFromRow' generic for bandageed and not bandaged objects.

169219a7 08/26/2021 10:30 PM Leszek Koltunski

Remove the last 'isSolved()' (from Dino4) and put it to the parent class as a special case.

a480ee80 08/26/2021 01:13 AM Leszek Koltunski

Standarize the 'isSolved()' method: now all objects, except one (Dino4) have a standard isSolved().
This incidentally also fixes detection of the solved state in case of Diamond4, i.e. a Master FTO.

abe288a3 08/24/2021 02:35 PM Leszek Koltunski

Come back to creating the objects from mesh.

668423be 08/24/2021 12:32 PM Leszek Koltunski

Add flag of Madagascar.

7d11f930 08/23/2021 03:32 PM Leszek Koltunski

Make the 3x3 and 4x4 Diamond meshes smaller.

3e605536 08/23/2021 03:20 PM Leszek Koltunski

Finally remove cubit creation from the implementation classes and move it to the TwistyObject.

acf165d9 08/23/2021 02:15 PM Leszek Koltunski

Convert the last object, Skewb Ultimate, to the new scheme.

fd836c4e 08/23/2021 02:07 PM Leszek Koltunski

Convert the two Squares to the new scheme.

8655f3fe 08/21/2021 12:58 AM Leszek Koltunski

Convert Skewb to the new scheme. New smaller mesh for the Master Skewb.

a38fe4b2 08/20/2021 11:46 PM Leszek Koltunski

Convert Rex Cube to the new scheme.

2077dd18 08/20/2021 11:31 PM Leszek Koltunski

Convert Redi Cube to the new scheme.

045d8cbd 08/20/2021 11:24 PM Leszek Koltunski

Convert Pyraminx to the new scheme. Make Pyra4 and Pyra5 meshes much smaller.

8e4a3670 08/20/2021 11:11 PM Leszek Koltunski

Convert Megaminx to the new scheme.

94a4edcf 08/20/2021 10:44 PM Leszek Koltunski

Move 1) Jing 2) Kilominx to the new cubit creation scheme.
Make the Master Kilominx mesh a bit smaller.

a2a4df1b 08/20/2021 01:03 AM Leszek Koltunski

Move 1) Helicopter 2) Ivy to the new cubit creation scheme.

f10a88a8 08/20/2021 12:39 AM Leszek Koltunski

Move 1) bandaged 3x3 2) normals cubes 3) octahedrons 4) both dinos to the new cubit creation scheme.

ad7907b0 08/19/2021 11:28 PM Leszek Koltunski

Important step towards making the implementation of an individual puzzle code-free (i.e. data-only): move the 'MeshBase[] mMeshes' variable from the individual classes to the parent TwistyObject.

f8031218 08/19/2021 10:52 PM Leszek Koltunski

Make the Kilominx cubit creation a bit more standard.

45f63f17 08/19/2021 10:44 PM Leszek Koltunski

Introduce ObjectShape - a class encapsulating a shape of a Cubit.
Make the Megaminx cubit creation a bit more standard.

a0b48da6 08/18/2021 11:04 PM Leszek Koltunski

Minor.

c75ab933 08/18/2021 01:36 AM Leszek Koltunski

COnvert the last object, the Rex cube, to the new cubit creation scheme. Provide the new Rex mesh.

46e6b3f6 08/17/2021 09:42 PM Leszek Koltunski

New Ivy mesh.

47d98cd5 08/17/2021 05:30 PM Leszek Koltunski

Convert the Ivy corner cubit to the new, 'universal' cubit creation method.

This forces deep changes to 'createRoundSolid' and the underlying 'MeshPolygon' class to make them support arbitrary Polygon 'centers of face convexity'.

Reason: the faces of this cubit are concave and such default 'center of face convexity' (which by default used to be (0,0)) turned to lie outside the face - which produces strange visual artifacts.

6b2ab5c5 08/09/2021 02:36 PM Leszek Koltunski

Corrections for the Bandaged cubit creation.

eae4b3b2 08/08/2021 10:45 PM Leszek Koltunski

Convert bandaged Cubes to the standard mesh creation code.

ecf3f149 08/08/2021 04:46 PM Leszek Koltunski

Move the TwistyObject.retCubePosition() to the solver.

9c06394a 08/08/2021 04:21 PM Leszek Koltunski

Standarize drawing stickers of a twisty puzzle. From now on, there's no 'sticker drawing' code in the individual classes, only some constants.

47447d4a 08/06/2021 03:28 PM Leszek Koltunski

Use a trick to avoid having to correct the center sticker of the Kilominx.

29bc084f 08/06/2021 01:48 PM Leszek Koltunski

Convert the last 'special' case, the Rex edge sticker, to the generic sticker mechanism.

b379d2d7 08/06/2021 11:06 AM Leszek Koltunski

New sticker mechanism: improvements for concave stickers.

e0613906 08/06/2021 01:27 AM Leszek Koltunski

Convert the Rex corner sticker to the new mechanism.

f1104ed9 08/06/2021 12:39 AM Leszek Koltunski

Remove debugging.

9ce78850 08/06/2021 12:38 AM Leszek Koltunski

Generalize FactorySticker - make it possible to draw stickers whose sides are curved.
Convert the Ivy to use this new functionality.

f074c272 07/30/2021 04:15 PM Leszek Koltunski

Make the Pyraminxes a bit bigger by default - improvement.

329da839 07/30/2021 04:13 PM Leszek Koltunski

Make the Pyraminxes a bit bigger by default.

f33d9a19 07/30/2021 02:47 PM Leszek Koltunski

Minor.

d5ca9927 07/30/2021 02:37 PM Leszek Koltunski

Finish implementing Jing's 'isSolved'

2adf1263 07/30/2021 01:47 AM Leszek Koltunski

Add Master FTO's inventor and name.

c7c83fb7 07/30/2021 01:27 AM Leszek Koltunski

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.

9b703d87 07/30/2021 12:04 AM Leszek Koltunski

New Jing and Master FTO tutorials.

4de711ba 07/29/2021 10:24 PM Leszek Koltunski

Master FTO: icons

f56b53cb 07/29/2021 10:03 PM Leszek Koltunski

Master FTO: mesh

8de56b9d 07/29/2021 09:50 PM Leszek Koltunski

Add Master FTO.

91dff543 07/29/2021 12:51 AM Leszek Koltunski

New 'JingPyraminx' object - add the icons.

15da2470 07/29/2021 12:24 AM Leszek Koltunski

New 'JingPyraminx' object - add the mesh.

48154f68 07/29/2021 12:00 AM Leszek Koltunski

New 'JingPyraminx' object - improvements. The object should be working now.

6db60be8 07/26/2021 12:37 AM Leszek Koltunski

New 'JingPyraminx' object - improvements

d019f69d 07/24/2021 10:07 AM Leszek Koltunski

New 'JingPyraminx' object - improvement.

df9739f8 07/24/2021 01:37 AM Leszek Koltunski

New 'JingPyraminx' object.

b2a92941 07/15/2021 11:33 PM Leszek Koltunski

Again abandon RubikControl (after bumping into hard-to-solve issues)

8fa39aa6 07/15/2021 11:26 PM Leszek Koltunski

Improve debugging in BlockController.

598de3ee 07/15/2021 05:08 PM Leszek Koltunski

add possible scrolling to the 'object' popup in case the grid of objects does not fit on the screen.

7aa4c349 07/09/2021 02:42 PM Leszek Koltunski

Progress with RubikControl.

b9d4aa3b 07/08/2021 01:58 PM Leszek Koltunski

Lots of changes :)

23be3096 07/07/2021 08:21 PM Leszek Koltunski

Bugfix

84b4fc43 07/07/2021 01:33 PM Leszek Koltunski

When we're leaving the Tutorial activity, unblock everything.

a84c3a25 07/07/2021 01:23 PM Leszek Koltunski

Make it impossible to launch more than one Tutorial screen at a time.

967b79dc 07/06/2021 12:33 PM Leszek Koltunski

Progress with RubikControl.

48acd7c6 07/04/2021 03:36 PM Leszek Koltunski

BlockController: Unblock after 3 seconds.

7358df36 07/04/2021 03:26 PM Leszek Koltunski

Fix the long-standing problem that putting app to the background would not stop the 'solving' counter.

9d591756 06/30/2021 10:52 PM Leszek Koltunski

Fix the reddening the Lock icon.

03822c33 06/30/2021 09:56 PM Leszek Koltunski

Fix a rare crash.

809c3432 06/30/2021 06:05 PM Leszek Koltunski

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.

9f006481 06/30/2021 02:17 PM Leszek Koltunski

Add a 'give up' dialog - if one made at least 10 moves when solving and presses a 'back' button, one needs to confirm.

1ae92052 06/30/2021 12:12 AM Leszek Koltunski

Always set the back move icon when we clear moves

cc88f2fa 06/29/2021 05:03 PM Leszek Koltunski

Give visual indication when dragging is locked.

146661ec 06/29/2021 04:34 PM Leszek Koltunski

Change the 'Cube Back' icon when there are no moves to back.

55e6be1d 06/29/2021 01:37 PM Leszek Koltunski

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.

9d56dba8 06/26/2021 12:17 AM Leszek Koltunski

New Kilominx mesh.

7a733a8c 06/25/2021 11:35 PM Leszek Koltunski

Important bugfix: no we cannot unblock touch when WIN effect finishes, because

1) starting the WIN effect does not block touch in the first place
2) it can happen that this unblocking happens when we have started finishing the rotation but haven't removed it yet...

96b75886 06/24/2021 04:10 PM Leszek Koltunski

Corrections for the new Pyraminx5 patterns.

82c27fc5 06/24/2021 03:59 PM Leszek Koltunski

Update the Pyraminx5 pretty patterns.

f185faf8 06/24/2021 01:15 AM Leszek Koltunski

New Megaminx & Gigaminx pretty patterns.

3c4495ac 06/22/2021 05:34 PM Leszek Koltunski

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.

0bda7e06 06/19/2021 10:06 AM Leszek Koltunski

Workaround for a crash.

516451c4 06/17/2021 05:35 PM Leszek Koltunski

Correct the Redmi mesh to eliminate the visible seams.

d17f7a73 06/17/2021 04:26 PM Leszek Koltunski

Correct the dino mesh to eliminate the visible seams.

8e6dc249 06/17/2021 01:51 PM Leszek Koltunski

Correct rotations of the Cube - eliminate one cse when four consecutive rotations collapse into one or a NOP.

3ca97293 06/17/2021 10:01 AM Leszek Koltunski

Correct rotations of the Pyraminx - eliminate one cse when three consecutive rotations collapse into one.

0a7aa15b 06/16/2021 11:19 PM Leszek Koltunski

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.

4c737817 06/16/2021 05:41 PM Leszek Koltunski

Minor.

348a445b 06/16/2021 05:24 PM Leszek Koltunski

Minor.