Merged
Conversation
|
Play this branch at https://play.threadbare.game/branches/endlessm/wjt/input-hud-use-consistent-input-button-icons/. (This launches the game from the start, not directly at the change(s) in this pull request.) |
e97ade0 to
a5ce743
Compare
Member
Author
Collaborator
manuq
approved these changes
May 7, 2026
Collaborator
manuq
left a comment
There was a problem hiding this comment.
@jofilizola you may have feedback for this as well.
Member
Author
|
OK, I defer to more visually-skilled people on whether the filled or outline versions appear better - your pair of screenshots has convinced me. I'll revise this to use outline versions. We can try #2167 too - it looks good! |
a5ce743 to
dcab348
Compare
Previously we had a mixture of outline and filled icons; and of colour and monochrome icons for Xbox and PlayStation. Refactor the way that these icons are assigned so that they are stored in the same JoypadButtonTextures resource as directional inputs. This means that the textures for a device type can be configured all in one place. Consistently use outline icons. Consistently use monochrome icons for Xbox. It is true that official Xbox controllers do have colours on the A/B/X/Y buttons but looking at some photos in an image search, the colours are either used for the text (not the surrounding button), or are printed as a little directional key in between the four buttons. I own two Xbox-style controllers made by 8BitDo; they use the XBox RB/RT labels for shoulder buttons rather than R1/R2 so the use of xbox textures for generic controllers seems appropriate, but they do not use colours. Similarly, use monochrome icons for PlayStation. Some PlayStation controllers have coloured buttons, but many more do not, and I don't think the colours are the strongest association. Some of the Switch button textures were inconsistent with the input map; fix these in the process. Unfortunately I was unable to pair my Switch 2 JoyCons with my laptop so I can't actually test these. (If we wanted to support Switch controllers "properly", IMO we should swap the mappings so that the Switch "A" button is interact, but that's one for another lifetime.) For champ_stealth, rather than adding these champ_specific actions to the global input map, make interact_input.gd skip the per-device mapping if it is not provided, which improves on the previous behaviour of showing blank icons when using a controller. For Sueños Nocturnos, which has a custom "Saltar cinemática." hint, use the "interact" button (matching the previous hardcoded button textures), and adjust the action it looks for to match so that joypad buttons actually work.
dcab348 to
daaa142
Compare
Member
Author
|
I'll land this with consistent monochrome, outline icons; we can always iterate. |
This file contains hidden or 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
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.















Previously we had a mixture of outline and filled icons; and of colour
and monochrome icons for Xbox and PlayStation.
Refactor the way that these icons are assigned so that they are stored
in the same JoypadButtonTextures resource as directional inputs. This
means that the textures for a device type can be configured all in one
place.
Consistently use outline icons, which are more legible and obscure less of the world.
Consistently use monochrome icons for Xbox. It is true
that official Xbox controllers do have colours on the A/B/X/Y buttons
but looking at some photos in an image search, the colours are either
used for the text (not the surrounding button), or are printed as a
little directional key in between the four buttons. I own two Xbox-style
controllers made by 8BitDo; they use the XBox RB/RT labels for shoulder
buttons rather than R1/R2 so the use of xbox textures for generic
controllers seems appropriate, but they do not use colours.
Similarly, use monochrome icons for PlayStation. Some PlayStation
controllers have coloured buttons, but many more do not, and I don't
think the colours are the strongest association.
Some of the Switch button textures were inconsistent with the input map;
fix these in the process. Unfortunately I was unable to pair my Switch 2
JoyCons with my laptop so I can't actually test these. (If we wanted to
support Switch controllers "properly", IMO we should swap the mappings
so that the Switch "A" button is interact, but that's one for another
lifetime.)
For champ_stealth, rather than adding these champ_specific actions to
the global input map, make interact_input.gd skip the per-device mapping
if it is not provided, which improves on the previous behaviour of
showing blank icons when using a controller.
For Sueños Nocturnos, which has a custom "Saltar cinemática." hint, use
the "interact" button (matching the previous hardcoded button textures),
and adjust the action it looks for to match so that joypad buttons
actually work.