Gmcm controls and responsive UI#239
Open
rodolfonobrega wants to merge 7 commits intoaedenthorn:masterfrom
Open
Gmcm controls and responsive UI#239rodolfonobrega wants to merge 7 commits intoaedenthorn:masterfrom
rodolfonobrega wants to merge 7 commits intoaedenthorn:masterfrom
Conversation
- Integrate filter fields and location dropdown into snappy gamepad navigation. - Add A-button activation for focused components to improve gamepad interaction. - Rebuild clickable component registration so filters/dropdown participate in focus traversal. - Fix inventory neighbor mapping to avoid null reference during menu construction. - Honor one-column chest layout in narrow/split viewports and adjust neighbor links. - Add compact mode for small viewports by reducing bottom panel spacing and control sizes.
- Add independent keyboard/controller toggles for requiring modifiers when opening the menu. - Add dedicated keyboard and controller modifier bindings used only for opening. - Keep transfer modifier key separate from open-menu modifiers. - Update Input.ButtonPressed logic to evaluate keyboard and controller open conditions independently. - Improve legacy config migration from old MenuKey/ModToOpen fields and persist migrated values.
- Add localization strings for separate Keyboard and Controller sections in GMCM. - Add labels/tooltips for independent modifier requirements and modifier bindings per device. - Rename transfer-related key label for clarity. - Replace hardcoded controller keyboard text with localized entries. - Shorten PT-BR modifier requirement labels to avoid checkbox/text overlap in GMCM.
- Resolved merge conflicts against latest upstream master. - Kept AllChestsMenu branch behavior for controller navigation, responsive layout, and independent keyboard/controller controls. - Validated AllChestsMenu builds successfully after conflict resolution.
- Renames controller open modifier label to a shorter PT-BR variant. - Prevents text overlap with keybind field in Generic Mod Config Menu on narrower layouts. - No behavior changes; localization-only adjustment.
Contributor
Author
|
If you find any issue you can talk to me and i can fix it. |
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.
Summary
This PR fixes multiple usability and stability issues in All Chests Menu, focused on controller navigation, split-
screen responsiveness, and control configuration clarity.
The changes were split into three commits to keep review focused:
———
Problems Addressed
1. Controller navigation could not reliably reach filter controls
Players using gamepad had trouble moving focus to the filter UI (text filters and location dropdown), and interaction
was inconsistent.
2. UI broke in narrow/split-screen viewports
In split-screen or smaller viewports, the menu could overflow/crop horizontally (especially chest columns on the
right), making part of the UI inaccessible.
3. Control settings were coupled and confusing
Keyboard and controller “open menu” logic shared modifier behavior, which prevented independent setups (e.g. require
modifier on keyboard but not on controller).
4. Menu open regression / crash
A NullReferenceException occurred during menu construction because inventory neighbor links were being assigned before
filter components were initialized.
———
Root Cause
———
What Was Changed
Controller navigation and interaction
Responsive and split-screen behavior
interactions.
Keyboard vs controller config independence
GMCM structure and localization
Stability fix
clickables are not yet initialized.
———
Validation
Adaptive layout (visual example)
The menu layout adapts to the available viewport size. When the game window is resized or when playing in split-screen, the UI reorganizes itself (including switching to a one-column chest layout) to prevent elements from being cropped.
Below are examples of the menu adjusting to different viewport sizes.
Consolidate items:
Multi Location Filtering:
New Settings Window:
I've been using it for a week and it's been great.