diasurgical / devilutionX

Diablo build for modern operating systems
Other
8.08k stars 796 forks source link

Controller friendly UI #493

Open AJenbo opened 4 years ago

AJenbo commented 4 years ago

The original UI is very mouse-centric, something similar to the following would be a nice improvment and work well with a widescreen view (without the pannel the original is just 8px away from 16:9). 1

AJenbo commented 3 years ago

I think this might be caused by the value set for android:configChanges in android-project/app/src/main/AndroidManifest.xml, it was changed between SDL 2.0.10 and 2.0.14.

licaon-kter commented 3 years ago

I tried to no avail. landscape or sensorLandscape w/ or w/o configChanges, but I'm no dev, maybe this needs myActivity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); and whatnot, a proper dev looking at it :)

AJenbo commented 3 years ago

Thanks to @NikoVP and @StephenCWills for there hard work on this:

image

This is of cause only the first iteration as the original panel is still needed for a few things.

Myrddin-Wyllt commented 3 years ago

I just played 1.3.0 with a bluetooth controller on Android; the only obvious thing missing is an overlay toggle. Retroarch allows toggling the overlay; not sure if you plan on adding an ini option, going with an automatic controller detection toggle, or adding a button to the ui. Either way, great work on this; thanks!

Edit: I suppose I'll add I used the touchscreen controller without issue, it works great. It does cover chat messages, but that's easy enough to sort out. Thanks to everyone making this happen.

AJenbo commented 3 years ago

Thanks. It will be done with auto detecting the input method, we wanted to have it in 1.3.0 but ended up cutting it in order to make the release in time for the Android deadline. Ideally 1.4.0 will also update it's help text's to match the current input device.

matdave commented 2 years ago

Bump on the controller overlay being toggleable. Is there a way to do it in the config? It's a bit much when I'm using a controller.

StephenCWills commented 2 years ago

It's done already. The game detects the input method and adjusts the UI appropriately. You can install the latest test build or else wait for version 1.4.0.

AJenbo commented 1 year ago

My rough plan:

image

I still need to place the chat icon somewhere, maybe the right panel will be able to retract. A big driver for getting this done is that it is required for us to pass TV validation. I'm thinking that spell selection can be done via log pressing the spell button but that will need somme additional work for it to function properly. Possibly by replacing the spell button with 4 quick cast buttons.

I might make the buttons less "button" and more like the floating icons in @clort81 version.

julealgon commented 1 year ago

@AJenbo have you considered splitting "controller-friendly" from "touchscreen-friendly" aspects in separate issues?

AJenbo commented 1 year ago

yes