Project

General

Profile

Statistics
| Branch: | Tag: | Revision:

magiccube / src / main / java @ 7695a3be

# Date Author Comment
7695a3be 06/19/2020 11:52 PM Leszek Koltunski

Two-fingered object rotation seems to be finished.

a4472437 06/19/2020 09:38 PM Leszek Koltunski

Progress with dragging.

4da7d87a 06/19/2020 06:19 PM Leszek Koltunski

Simplify dragging. Now there's only 1 Quat, rather than the old way with two (Accumulated, Current).

0b7e1b05 06/19/2020 12:35 PM Leszek Koltunski

Progress with improvements for cube manipulation.

8d50e08d 06/18/2020 09:03 PM Leszek Koltunski

Initial attempt at two-finger rotation.
Mostly works; still, one corner case doesnt:

- put two fingers down, start rotating
- lift one of them up
- put it back down

depending if we lifted the first or second finger, weird things may happen.

4c864c68 06/18/2020 11:05 AM Leszek Koltunski

Further improve rotations of a Object layer - make them independent of physical screen size (now it depends on the angle of rotation and, if that's 0, on the speed (in inches of second) of the finger swipe done by the user.

cd83d0aa 06/18/2020 10:39 AM Leszek Koltunski

Make the rotations and drag be independent of physical screen dimensions - take into account pixel density.

f0533889 06/17/2020 08:57 PM Leszek Koltunski

Split up the onTouch() part of the View.

1019cc43 06/17/2020 08:32 PM Leszek Koltunski

Improvements for the way we rotate layers of Objects: make it possible to begin a rotation during a WIN effect.

168b6b56 06/17/2020 03:45 PM Leszek Koltunski

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!)

c1df2105 06/16/2020 07:37 PM Leszek Koltunski

Only compile the Full, Normal & OIT programs when they are actually needed.

cb004f2e 06/16/2020 12:24 PM Leszek Koltunski

Take advantage of recent improvements to the library and stop allocating a queue of 4 FBOs - even if we are running on a Mali r12.

ccf9fec5 06/13/2020 10:43 PM Leszek Koltunski

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.

55fa2499 06/10/2020 10:49 AM Leszek Koltunski

Speedup for rendering: cubes 2,3 contain better quality cubit faces (more vertices) than cubes 4,5.

5a4d4fba 06/09/2020 11:18 PM Leszek Koltunski

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.

2fcad75d 06/09/2020 12:20 PM Leszek Koltunski

Bugfixes.

ad73edd5 06/07/2020 11:17 PM Leszek Koltunski

Minor speedup

818431ed 06/07/2020 10:51 PM Leszek Koltunski

Bump version to 1.2.2

98904e45 06/07/2020 09:42 PM Leszek Koltunski

More progreess porting RubikCube. Rotation mostly working now.

10585385 06/07/2020 08:42 PM Leszek Koltunski

More progreess porting RubikCube.

e55764f2 06/07/2020 05:40 PM Leszek Koltunski

More progreess porting RubikCube.

8fa00d2c 06/07/2020 05:38 PM Leszek Koltunski

More progreess porting RubikCube.

f61fc32c 06/07/2020 05:33 PM Leszek Koltunski

More progreess porting RubikCube.

8cccfb10 06/07/2020 05:18 PM Leszek Koltunski

More progreess porting RubikCube.

27e6c301 06/07/2020 03:29 PM Leszek Koltunski

Progreess porting RubikCube to the new SingleMesh mode.

470820a7 06/06/2020 11:28 PM Leszek Koltunski

Begin porting RubikCube to the new SingleMesh library. This will make rendering much faster - e.g. in case of Cube 5, instead of 98 renders of individual Cubits, there will be one render of the whole Mesh.

e82f3f9c 06/05/2020 11:40 AM Leszek Koltunski

Port RubikCube to the new library.

d17073f0 05/29/2020 07:06 PM Leszek Koltunski

Only show the OpenGL Error dialog when the underlying hardwarre does not support OpenGL ES 3.0.

2d9fc972 05/29/2020 06:47 PM Leszek Koltunski

Add OpenGL Error dialog.

226c8cfa 05/29/2020 03:48 PM Leszek Koltunski

Progress making it possible to apply Vertex Effects only to some Components of a Mesh.

43adf86d 05/28/2020 10:14 AM Leszek Koltunski

Correct a crasher introduced in 1.2.0

13ce05cc 05/27/2020 12:13 PM Leszek Koltunski

Switch off showing FPS.

1b3cbd5b 05/27/2020 12:12 PM Leszek Koltunski

Report an Analytics event when a user changes State or Object.

1ef09d49 05/27/2020 11:43 AM Leszek Koltunski

Report a Crashlytics non-fatal if we fail to compile some shaders.

4f36e418 05/26/2020 11:42 PM Leszek Koltunski

Hopefully get rid of the most common crash in the field right now by changing the States to always create all their Views from scratch.

14bd7976 05/26/2020 12:53 PM Leszek Koltunski

1) Cube: convert it to the latest library. Main difference: objects are rendered better, individual cubits have rounded corners.
2) Examples: some adjustments to MeshJoin & Predeform
3) Library: fix a bug in main_vertex_shader's 'degree' function, which didn't work proprely in case of a vertex which was exactly at the center (i.e. vector PS was zero)

40ab026e 05/24/2020 09:03 PM Leszek Koltunski

In library: allow a mixture of a deep and shallow copy of a Mesh ( mVertAttribs1 might be copied deeply or shallowly, mVertAttribs2 are always copied deeeply).
Port RubikCube to the new library.

1f894991 05/08/2020 03:28 PM Leszek Koltunski

Fix a nasty logic error that let people submit bogus results.

d5032ac8 05/08/2020 10:13 AM Leszek Koltunski

Fix for the next crash seen in the field.

e319fe78 05/08/2020 09:48 AM Leszek Koltunski

Fix for a crasher seen in the field.

d5d503d0 05/07/2020 11:41 PM Leszek Koltunski

Minor.

13ed61b5 05/07/2020 10:13 PM Leszek Koltunski

Improve the way we fill up the Scores tab - now it follows what user's doing, so if he changes tabs when the dialog is filling up, he won't have to wait so long.

1335efec 05/06/2020 09:15 AM Leszek Koltunski

Smaller halo.

5f8c532e 05/05/2020 09:05 PM Leszek Koltunski

Fix for another crasher from the field.

d1016920 05/05/2020 12:55 PM Leszek Koltunski

Change the Postprocessing effects: separate the radius and the halo.
Reason: we needed a way to specify the size of the halo around a postprocessed object; before it was automatically (and not very correctly) computed from the radius - before we knew the size of the object's bounding box, so this automatic computation was possible. Now we're removing the MashBase.getBounding(0 API, so the size of the halo has to be explicitly given by the user. This way is more correct anyway and gives the user more control (as the Multiblur app proves!)...

b972c160 05/04/2020 04:01 PM Leszek Koltunski

Fix for the next crasher from the field.

2010c6f7 05/03/2020 11:41 PM Leszek Koltunski

Adjust the app to match the changes in library.

Looks like we'll have to add 1 dim to the GLOW effect.

4fd84652 05/03/2020 09:39 PM Leszek Koltunski

Remove the 'touchscreen required = false' from the manifest (because or a bug in Samsung App Store - it marks such apps as incompatible with any device)

c7f9e82d 05/03/2020 03:53 PM Leszek Koltunski

One more fix for the latest bug from the field with Play state Spinner.

7b7d65ce 05/03/2020 03:43 PM Leszek Koltunski

- bump version to 1.1.2
- fix one crasher observed in the field ( we need to adjust the Levels Spinner in Play state if Object changed in Pattern or Solver states )

1780dcb0 04/30/2020 04:13 PM Leszek Koltunski

Fix clicking on the 'Distorted.org' link; get app version from build.gradle (and not from strings.xml)

c5c8be3f 04/26/2020 02:58 PM Leszek Koltunski

Add Crashlytics logs

f8ce34ab 04/26/2020 02:23 PM Leszek Koltunski

Fix for the previous fix :)

001cc0e4 04/26/2020 11:27 AM Leszek Koltunski

Fix a potential crasher ( do not set up a callback for end of rotation effect on the very first cubit that belongs to a rotation if all belonging cubits have not been set up yet )

2e8ec627 04/25/2020 10:45 PM Leszek Koltunski

Fixes for the fact that one could easily cheat - just pause the app while solving and come back to it, the time would reset to 0 and the object to unscrambled :(

1701e7ae 04/25/2020 09:23 PM Leszek Koltunski

Fix the Solver broken by the change of move notation when importing Pyraminx Patterns :(

807d82b7 04/25/2020 05:33 PM Leszek Koltunski

Add two new UI States: Ready and Done.

38c52ed0 04/25/2020 11:00 AM Leszek Koltunski

Correct the last 6 patterns of the Pyra5.

b6d0c697 04/24/2020 06:26 PM Leszek Koltunski

Do not crash if we are running on device which does not support OpenGL ES 3.0

51297bfb 04/23/2020 10:04 AM Leszek Koltunski

Fix for another crash from the field.

ac130d72 04/23/2020 12:44 AM Leszek Koltunski

There's a real crash from the field in Firebase Crashlytics which must mean that Cubit.returnRotationAngle() returned null.
Leave some message in case this happens again.

77c41840 04/22/2020 11:57 PM Leszek Koltunski

Add Pyraminx5 Pretty Patterns.

4a40166d 04/22/2020 11:22 PM Leszek Koltunski

Add Pyraminx4 Pretty Patterns.

a46893d7 04/22/2020 10:50 AM Leszek Koltunski

Add Pyraminx3 Pretty Patterns.

906cc928 04/21/2020 10:49 PM Leszek Koltunski

Change the format of moves in Pretty Patterns to more terse, so that patterns of objects with 4 axis of rotation ( Pyraminx!) fit into 3 digits.

6d1ea5b9 04/21/2020 09:49 AM Leszek Koltunski

PYRAMINX: swap the red and blue face colors so that the whole thing matches randelshofer.ch

5d50e7a7 04/19/2020 10:51 PM Leszek Koltunski

Allow the server to correct our notion of country (improvement)

874c37b1 04/19/2020 10:32 PM Leszek Koltunski

Allow the server to correct our notion of country.

31911113 04/17/2020 09:58 AM Leszek Koltunski

Improve logging in case the Distorted Library returned an error - add Crashlytics custom keys.

f4ee4d70 04/15/2020 09:56 PM Leszek Koltunski

Do not allow more than 15 characters in the NAME.

9439f455 04/15/2020 03:18 PM Leszek Koltunski

Fix sa bug which showed itself only on Android API 21 and 22.

4d23405c 04/15/2020 11:56 AM Leszek Koltunski

Bugfix in StateSolving upper text - before when we won, and NewRecord dialog was on the screen, and at tis moment we rotated the screen, the uppoer text would revert back to 'Ready?'

2d942f35 04/15/2020 12:31 AM Leszek Koltunski

Bugfix in DialogSetName - before it would not dim the OK button initially

4b4e6837 04/15/2020 12:21 AM Leszek Koltunski

UII improvement in StatePattern

703aee64 04/14/2020 10:07 PM Leszek Koltunski

Fix clickable links in the About dialog.

85248b04 04/14/2020 09:16 PM Leszek Koltunski

Finally solve the bug on Samsung Android 9 and 10 phones that the Dialogs Main & patterns wouldn't be modeless: move the setting of this flag earlier, to the 'onCreateDialog()' function.

801b16db 04/14/2020 06:29 PM Leszek Koltunski

Minor.

b88be423 04/14/2020 06:26 PM Leszek Koltunski

Minor.

4413d9ad 04/14/2020 01:24 PM Leszek Koltunski

Only 2 dialogs are modeless now: MAIN & PATTERNS

90fd47b0 04/14/2020 01:20 PM Leszek Koltunski

Lots of bugfixes.

66e777b0 04/13/2020 08:22 PM Leszek Koltunski

Move to AndroidX, target API level 29.

316889cf 04/13/2020 04:03 PM Leszek Koltunski

Improve the Effects Dialog so it looks good on 'thin' screens ( 720x1440 )

8fcd8cba 04/13/2020 10:37 AM Leszek Koltunski

1) Relax requirements as to OpenGL ES ( now only 3.0 required )
2) fix a crash in Solving state

584585d0 04/12/2020 06:13 PM Leszek Koltunski

(Hopefully) make the Dialogs NOT disappear on clicks outside (previously this wasn't working on Android 9).
Lower API requirements to 21.

86cbdab1 04/12/2020 12:06 PM Leszek Koltunski

Minor tweaks to the 'Prev' buton in Solving state;
Relax requirements in the Manifest - now only 'android.hardware.faketouch' supporting device is required, i.e. something that supports basic point-click-drag-unclick. No need for full 'android.hardware.touchscreen' thing with its multitouch silliness.

0e5ad27c 04/10/2020 11:23 PM Leszek Koltunski

Add a 'withdraw move' button to the Solving UI state.

dc1d2820 04/10/2020 08:49 PM Leszek Koltunski

Bugfix

5cf34c5f 04/10/2020 12:46 PM Leszek Koltunski

Make chances to randimoze a given row when scrambling dependant on the type of Object.

The point: in case of the Cube, all rows should have equal chances. In case of the Pyraminx, the smaller the row, the smaller the chance should be. In particular the trivial 4 corners of the tetraherdon should have a very small chance to be selected.

4e248bcc 04/10/2020 12:38 AM Leszek Koltunski

Bugfix.

8e3898c8 04/09/2020 10:09 PM Leszek Koltunski

Each object size now has its own number of levels (not always 18!)

85b09df4 04/09/2020 02:04 PM Leszek Koltunski

Reorganize UI of the Play state.

46a961fd 04/08/2020 10:13 PM Leszek Koltunski

The 3x3x3 Solver finished - here the last piece of work, locking the centers of the 3x3x3 cube in place so that RubikStateSolver's color picker cannot change them ( the CUBE3 solver assumes this )

fa0f7a56 04/07/2020 11:18 PM Leszek Koltunski

Progress with the Solver - RubikCube.retObjectString() finished.

What remains to be done here: ban changing colors of the centers of 3x3x3 faces, this shouldn't be allowed!

a304ee64 04/06/2020 10:18 PM Leszek Koltunski

Progress implementing RubikCube.retObjectString()

373fa45f 04/06/2020 08:10 PM Leszek Koltunski

Progress making the Solver state more abstract.

41748f19 04/06/2020 01:29 PM Leszek Koltunski

Progress making the Solver state more abstract.

20931cf6 04/06/2020 01:08 PM Leszek Koltunski

Progress making the Solver state more abstract.

f0336037 04/06/2020 11:17 AM Leszek Koltunski

Make the Solver state more abstract.

4262a13b 04/06/2020 12:43 AM Leszek Koltunski

Formatting: remove tabs.

efe00e0f 04/06/2020 12:41 AM Leszek Koltunski

Formatting: remove tabs.