Project

General

Profile

Download (29.4 KB) Statistics
| Branch: | Revision:

distorted-objectlib / src / main / java / org / distorted / objectlib / main / ObjectControl.java @ 7e8750c9

# Date Author Comment
7e8750c9 03/08/2024 12:07 AM Leszek Koltunski

progress with configurable stickers

55acff1e 03/06/2024 03:06 PM Leszek Koltunski

progress with configurable stickers

352bd362 02/19/2024 01:38 AM Leszek Koltunski

More support for configuring the stickers.

88411172 12/18/2023 01:37 AM Leszek Koltunski

Beginnings of support for flat shapeshifting cuboids and for not-rotatable rows in TouchControlChanging [this last thing still does not work correctly]

63bfcdd1 12/16/2023 01:03 AM Leszek Koltunski

Support for shape-shifting cuboids. (except for the flat ones like the Super Floppy)

a0ef8a1d 12/11/2023 01:13 AM Leszek Koltunski

progress with Ghost rotations.

4a014840 12/03/2023 11:12 PM Leszek Koltunski

progress with Ghost rotations.

bb58b357 11/30/2023 12:09 AM Leszek Koltunski

clean up TwistyObject's API

48ad0a42 11/17/2023 06:48 PM Leszek Koltunski

bugfix

1fda81c4 11/10/2023 12:27 AM Leszek Koltunski

remove 'MESH_NICE'

bc6b4c0b 09/19/2023 12:50 PM Leszek Koltunski

fix for scrambling

b2d2654f 09/18/2023 11:23 PM Leszek Koltunski

fix a longstanding memory leak: somehow the reference to BlockController held in ObjectPreRender prevents the PreRender (and thus the TwistyObject held inside along with its Bitmap) from getting garbage collected.
Actually I am not sure why.

36082229 09/18/2023 11:20 PM Leszek Koltunski

fix a longstanding memory leak: somehow the reference to BlockController held in ObjectPreRender prevents the PreRender (and thus the TwistyObject held inside along with its Bitmap) from getting garbage collected.
Actually I am not sure why.

fb1e9a31 06/01/2023 04:38 PM Leszek Koltunski

move the returnRotationFactor() method from touchControl to TwistyObject (where it can be overridden)

a6aa9a47 05/30/2023 11:18 PM Leszek Koltunski

Improve the 'rot axis parallel to face axis' touch control mode:
support case when the rot axis is parallel and agrees in direction with the face axis, and the one when they disagreee in direction.

aacf5e27 05/11/2023 02:55 PM Leszek Koltunski

Implement the android.opengl.Matrix functions ourselves.

092e257b 05/09/2023 05:17 PM Leszek Koltunski

Progress with support for the 'normal' touch-control: speed probes.

09ff1631 05/09/2023 03:08 PM Leszek Koltunski

Progress with support for the 'normal' touch-control

644c217a 05/09/2023 03:00 PM Leszek Koltunski

Progress with support for touch-control of pieces which we rotate along an axs which is normal to the currently touched face (think Coin Tetrahedron!)

621d55ac 04/06/2023 12:02 PM Leszek Koltunski

Change OperatingSystemInterface

c0dcc0c1 04/06/2023 12:13 AM Leszek Koltunski

Make the touch control in OSInterface more like in the previous version - before it was occasionally crashing...

79c7c950 04/05/2023 01:39 AM Leszek Koltunski

Move the SharedPreferences to the OSInterface

8e66157b 04/05/2023 12:50 AM Leszek Koltunski

Start moving the SharedPreferences to the OSInterface

dfa958c7 04/04/2023 05:30 PM Leszek Koltunski

Move the interaction with touchscreen to the OSInterface (part2)

82b0cf8e 04/04/2023 05:27 PM Leszek Koltunski

Move the interaction with touchscreen to the OSInterface

51c25e4e 04/04/2023 02:53 PM Leszek Koltunski

Separate a OSInterface from LibInterface

440f8e33 04/04/2023 11:19 AM Leszek Koltunski

remove all references to android.Context and android.Activity from distorted-objectlib

cf93ea4e 03/04/2023 12:06 AM Leszek Koltunski

Introduce InitAssets. We'll use this later to pass on references to the tablebase file to the TwistyObject (so that it can use this for perfect scrambling)

4c2c0f44 03/01/2023 11:36 PM Leszek Koltunski

New button in the solver screen: reset all textures.

605f319b 02/04/2023 11:27 PM Leszek Koltunski

Bugfixes for touch control - specifically for furious swiping and concurrect backing of moves.

31ed545f 02/01/2023 02:22 PM Leszek Koltunski

Withdraw the last change.

bcdecc9f 01/31/2023 11:47 PM Leszek Koltunski

Make it impossible to addNewRotation() (i.e. the automatic rotations triggered from backMove, scrambleEffect etc) or beginNewRotation() (by swiping a finger) when we are currently finishing a previous rotation and haven't removed it yet.

92d6c2f1 01/31/2023 03:52 PM Leszek Koltunski

Minor.

2832c2fa 01/31/2023 02:45 PM Leszek Koltunski

Fix for a crasher.

060b445e 01/30/2023 04:24 PM Leszek Koltunski

Unblock PreRender's scrambling & solving oonly AFTER we change screen to READ post-scrambling (otherwise it was possible to press the 'solve' button in the brief period between unblocking and switching screen because switching screen runs on the background UI thread)

36f6390b 01/30/2023 03:48 PM Leszek Koltunski

still return the right value in case of slow and fast scrambling.

a396a7e1 01/30/2023 03:40 PM Leszek Koltunski

calls to FastScramble and SlowScramble might fail (preRender is blocked). Return false then and if so, do not do anything in the app.

7c546131 01/24/2023 10:27 AM Leszek Koltunski

Remove the 'switchTouchControl' optimization which, with many different objects in the solver screen now, does not work any more.

7205c655 01/22/2023 11:55 PM Leszek Koltunski

Some improvements to blocking, mostly to the names of variables.

6b301f56 01/21/2023 11:31 AM Leszek Koltunski

Finally fix the 'impossible records' bug!

Thanks for a bug report from Jacob Powell - if one, during scrambling, minimized the app and re-entered it, the UI lock got removed (by a call to 'unblockEverything' from RubikActivity's onResume) and one could then keep solving the object mid-scramble....

30bd2f96 01/19/2023 04:55 PM Leszek Koltunski

Move the control of object scaling out the objectlib.
Thee xact way the object is scaled needs to be decided in the app, as only the app knows that e.g. in the Rubik main screen, if it is a square, then obejct needs to be a bit smaller than in case of Config screen (if that one happens to be a square)

f7e30f36 01/13/2023 12:25 PM Leszek Koltunski

Make it possible to decide about FastScramble duration fromo outside the ObjectControl.

7c82e1c6 01/12/2023 07:05 PM Leszek Koltunski

Fix for the issue that a resized object wasn't TouchControlled correctly in the Solver screen.
(mObjectRatio was set to incorrect instance of the TouchControl class)

b88ef2f2 01/11/2023 04:25 PM Leszek Koltunski

Always prepare() TouchControlShapeChanging when we enter the Solver. Otherwise it could sometimes be prepared with some different object and would crash in touching the screen.

958a6e81 01/03/2023 03:27 PM Leszek Koltunski

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!

a76330cc 12/09/2022 12:23 AM Leszek Koltunski

Masterball: icon, mesh, jsons.

b1370e3b 08/17/2022 04:27 PM Leszek Koltunski

IAP part 6: new 'Present' object effect (cont'd)

826d293e 08/17/2022 03:02 PM Leszek Koltunski

IAP part 6: new 'Present' object effect.

4c87f159 07/15/2022 12:56 AM Leszek Koltunski

main: license.

186bc982 07/11/2022 04:24 PM Leszek Koltunski

- move the 'object' popup to the botton right
- move the 'solve' button to the upper left
- movee the 'scramble' button to the upper right (its new FastScrambleEffect still not implemented fully)

611940ac 06/29/2022 03:24 PM Leszek Koltunski

Bugfixes; MODE_NOTHING

da57aa64 05/16/2022 12:18 AM Leszek Koltunski

Generalize the max number of moving parts and max size of quat group.

d5411af4 05/13/2022 09:16 AM Leszek Koltunski

one more crash fix and a bump to 1.10.3

78108318 04/30/2022 12:52 AM Leszek Koltunski

Bandaged: add support for two-fingered rotation in the Creator.

beee90ab 04/22/2022 05:32 PM Leszek Koltunski

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

3bf19410 03/29/2022 05:20 PM Leszek Koltunski

Mode the 'iconMode' from static variable in ObjectControl to member varaible in TwistyObject (safer)

a20e56fc 03/04/2022 02:45 PM Leszek Koltunski

(hopefully!) finally fix the long-standing bug where people could cheat and submit impossible records.

402038ae 02/01/2022 10:45 PM Leszek Koltunski

Downloaded Objects: subtle bugfix. We cannot use ObjectType in ObjectControl to check if two objects are the same because DownloadedObjects have ObjectType null !

cd2e8d4c 01/08/2022 12:33 PM Leszek Koltunski

Implement new TouchControlShapemod

802fe251 01/04/2022 11:27 PM Leszek Koltunski

Convert Ulti, Jing, Pyra, Diamond, Dinos, Redi, Skewbs, Ivy & Rex to the new scheme where the quaternion group is computed automatically.

53e85349 12/17/2021 03:38 PM Leszek Koltunski

Fix a crasher.

4a389a4e 12/08/2021 03:26 PM Leszek Koltunski

Fix setDefaultRotation() when changing an object; do it at exactly the right time when the 'old' object has already disappeared, but the new hasn't been attached to the Nodee yet.

c3a033e9 12/07/2021 11:17 PM Leszek Koltunski

Introduce 'Simple' and 'Nice' meshes.

11fa413d 11/14/2021 12:35 AM Leszek Koltunski

Make the ShapeChanging the default TouchControl during MODE_REPLACE.

57ef6378 11/11/2021 04:22 PM Leszek Koltunski

Float vertices - scratchbook

c9c71c3f 11/08/2021 03:38 PM Leszek Koltunski

Abstract out the TouchControl stuff in preparation for its new type - TouchControlShapeChanging.

23afe4c4 11/08/2021 02:54 PM Leszek Koltunski

Move the Movement to its own package; abstract out some stuff.

45e0065d 11/03/2021 04:24 PM Leszek Koltunski

Correct the next bug with settign the object size.
Multiply the time limits in BlockController by 2 - this way we can see if the ratio of (UI+Touch)/Thread Firebase non-fatals will observably drop below the current value of 4.

fd6e2b3b 11/03/2021 03:33 PM Leszek Koltunski

Set the initial object size correctly.

7fe64077 11/03/2021 01:57 PM Leszek Koltunski

Small things.

3d093961 11/03/2021 01:10 AM Leszek Koltunski

Fix the solver (after rearranging the faces of the cuboids)

64c209f5 11/02/2021 11:30 PM Leszek Koltunski

Fix problems with TwistyObjectNode 'object scale' property.
Now this property is not part of the Node at all, but its initial value passed to the object in its constructor.

a1bcb301 11/02/2021 10:09 PM Leszek Koltunski

Bugfixes for crashes from Firebase.

0e1437c1 11/02/2021 10:30 AM Leszek Koltunski

Correct the way ObejctScale works in the TwistyObjectNode.

e1a86bf2 10/30/2021 01:46 AM Leszek Koltunski

Move the main app to the 'J1M1' object creation mode, i.e. create them from the Json files and using the Dmesh fiels as well.

Make it possible for any app descending from the 'objectlib' to use any of the J0M0, J0M1, J1M0, J1M1 modes.

39b4dcfd 10/28/2021 10:56 PM Leszek Koltunski

Remove ObjectType from a few moree places.

594bbce0 10/27/2021 11:55 PM Leszek Koltunski

Progress with PuzzleTester app.

e32d318a 10/22/2021 11:00 AM Leszek Koltunski

new API to make is possible to adjust default scale factor in each TwistyObjectNode.
(and use it in Tutorials, where the object needs to be smaller)

7ba38dd4 10/22/2021 02:59 AM Leszek Koltunski

Major change: separate the notion of a TwistyObject and its Node. Now,

1) the Node stays when we change objects (this makes transitions faster)
2) it's possible to just create an Object without adding it to the Screen (now app needs to explicitly create the Node and add it to its Screen itself)

43a4ccff 10/20/2021 01:21 PM Leszek Koltunski

simplify sticker/color map.

e7daa161 10/12/2021 01:59 PM Leszek Koltunski

- remove the retarded NODE_RATIO from TwistyObject
- more correctly estimate Cuboid's 'realSize' as an average of their 3 sizes.

a57e6870 10/11/2021 10:53 PM Leszek Koltunski

make numLayers into an int[] (preparation for Cuboids)
Caution: because of previous changes to cubit order in cube, the Solver is broken!

568d4698 10/11/2021 11:00 AM Leszek Koltunski

New API to objectlib to recreate an already displayed object (because the settings, like 'IconMode' might have changed) and using the new API in puzzle-creator.

ee6bb8d7 10/08/2021 11:27 PM Leszek Koltunski

New API for the IconMode: set scale of the object.

2289cab1 10/08/2021 05:56 PM Leszek Koltunski

New 'IconMode' and some APIs to support it.

72d6857c 10/06/2021 12:23 AM Leszek Koltunski

off-center objects: finished.

02d80fe6 10/06/2021 12:06 AM Leszek Koltunski

progress with off-center objects.

ecf3d6e3 10/05/2021 11:38 PM Leszek Koltunski

1) introduce possibility to move objects, i.e. display them not in the middle of the screen (not fully functional yet)
2) do away with unneeded any more interface 'EffectController' - since ObjectPreRender is the only implementation now.

81141862 10/05/2021 10:53 PM Leszek Koltunski

Remove the 'setupObject()' redundant API.

2fca02cf 10/05/2021 03:40 PM Leszek Koltunski

Further simplifications.

b3fff6fb 10/05/2021 03:12 PM Leszek Koltunski

Remove the concept of a 'TwistyActivity' altogether.

b9956428 10/05/2021 02:12 PM Leszek Koltunski

Hide most of the TwistyActivity methods inside objectlib.

17d623f1 10/05/2021 12:58 PM Leszek Koltunski

Bugfix: we shouldn't be calling TwsityObject.solve() directly from the app, only through ObjectControl.solveOnly().

2df35810 10/05/2021 12:52 PM Leszek Koltunski

Simplifications

9276dced 10/05/2021 11:58 AM Leszek Koltunski

Move RubikControl to objectlib (as 'ObjectAutomator')
Hide ObjectPreRender inside objectlib and move its APi to ObjectControl.

046104f5 10/04/2021 10:11 PM Leszek Koltunski

1. Remove 'db level' from objectlib (this belongs to the app!)
2. change ScreenPlay's 'mObject' to be an ObjectType.

f1bd7340 10/04/2021 03:33 PM Leszek Koltunski

Simplifications

15e5214c 10/04/2021 02:17 PM Leszek Koltunski

Simplifications

880beeea 10/04/2021 01:39 PM Leszek Koltunski

Move ObjectControl, the next big chunk of code, to objectlib.