-
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[V2.5] Controls Revision #2211
Merged
Mathias-Boulay
merged 45 commits into
PojavLauncherTeam:v3_openjdk
from
Mathias-Boulay:Control_revision_2.5
Nov 11, 2021
Merged
[V2.5] Controls Revision #2211
Mathias-Boulay
merged 45 commits into
PojavLauncherTeam:v3_openjdk
from
Mathias-Boulay:Control_revision_2.5
Nov 11, 2021
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oh Man you are the best |
Mathias-Boulay
changed the title
[V2.5] [DON'T MERGE YET] Controls Revision
[V2.5] Controls Revision
Nov 6, 2021
Mathias-Boulay
force-pushed
the
Control_revision_2.5
branch
from
November 9, 2021 19:06
d7afa50
to
19f14df
Compare
- Implemented new settings screens - Removed Context out of logging functions - W.I.P Streamlining the UI, a few things are broken rn
Mathias-Boulay
force-pushed
the
Control_revision_2.5
branch
from
November 11, 2021 10:50
e958e76
to
be18117
Compare
This was referenced Nov 11, 2021
29 tasks
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Control revision 2.5
aka let's add bugsOh boi, time for another small increment in controls usability !
This control revision lays the groundwork of a refactor that is needed in the UI of the launcher as a whole while concentrating on a few issues plaguing the current control scheme.
Frame Perfect Gamepad
Some of you may have noticed that despite ranking an impressive 200fps with your device, the gamepad smoothness was far from top notch.
This is now fully fixed !
The new implementation is now perfectly smooth for 60 fps players, but supports pretty much any refresh rate¹, including VRR (variable refresh rate) displays !
¹ Induces more CPU costs on high refresh rate displays. Still smoooooooth though 😄
Better mouse
Managing the inventory in pojav is a pain in the ass without dedicated buttons in the layout. Did I tell you I don't like adding buttons ?
Better inventory click
The way android dealt with quick taps and double taps were kinda blocking me.
This is best shown in this video
Two things are noticeable here:
By using a fully custom TapDetector, both of those behaviors are now fixed, as shown in this video
Another worthy changelog is the latency that has been reduced by ~2 frames.
Seems like waiting before sending another mouse input was kinda worthless 👀
Better scrolling - 1.13+ compatible !
You read it right, scrolling in more recent versions of minecraft is finally working !
On top of that, it now behaves in a consistent manner, regardless of the screen resolution and size.
A nice video showing it in action
[1.12.2 or lower] Sub-pixel precision
Some devices have a low screen density, either due to the resolution being low or the size.
Thanks to this update, they can now benefit from a better camera granularity 👍
New option: control offsets
Many new devices come with rounded corners and notches of all sorts now. As dumb as it is we have to accommodate for it, and so this new option is born.
Under the settings > control section you can now set an offset in pixels !
It is fully compatible with currently compatible layouts !
Without any offset:
With the full offset:
UI / UX improvements
This PR isn't only about pure controls it seems.
Microsoft accounts version spinner fix
Previously, logging into a Microsoft account would pretty much always reset the selected version to vanilla 1.12.2.
This is now fully fixed.
Streamlined UI
We have quite a few changes in the UI, that aren't complete yet:
Developer's stuff
For developers, you may want to check out a few new classes made available by this update:
The TapDetector class, a simple multipointer implementation to help detect N-taps via multiple methods
The ExtraCore and ExtraListener classes. They provide a context independant way to pass basic data across every part of the app, mostly useful for Threads used across activities. It is powerful, but dangerous and will be more used in the UI refactor to avoid context leaks.
Some classes from the old support library are gone, since I upgraded from viewpager to viewpager2.