Profile Selection Screen - cressie176/Load64 GitHub Wiki

Primary Purpose

Assign and order the profiles that apply to this game's launch configuration.

Main Screen Design

With profiles assigned:

┌──────────────────────────────────────────────────────────────────────────────┐
│ TOP BAR                                                                      │
│  <Game Title> > Profiles                                              [Add]  │
├──────────────────────────────────────────────────────────────────────────────┤
│                                                                              │
│  Profiles are applied in order. Use Reorder to change the sequence.          │
│                                                                              │
│  LIST                                                                        │
│  ┌────────────────────────────────────────────────────────────────────────┐  │
│  │ > 1   Fast Load                                                        │  │
│  │   2   Multiplayer                                                      │  │
│  └────────────────────────────────────────────────────────────────────────┘  │
│                                                                              │
│  [x] Inherit from the default profile (if configured)                        │
│                                                                              │
│  [Save]  [Cancel]                                                            │
│                                                                              │
├──────────────────────────────────────────────────────────────────────────────┤
│ BOTTOM BAR                                                                   │
└──────────────────────────────────────────────────────────────────────────────┘

With no profiles assigned:

┌──────────────────────────────────────────────────────────────────────────────┐
│ TOP BAR                                                                      │
│  <Game Title> > Profiles                                              [Add]  │
├──────────────────────────────────────────────────────────────────────────────┤
│                                                                              │
│  Select Add to assign a profile to this game.                                │
│                                                                              │
│  [x] Inherit from the default profile (if configured)                        │
│                                                                              │
│  [Save]  [Cancel]                                                            │
│                                                                              │
├──────────────────────────────────────────────────────────────────────────────┤
│ BOTTOM BAR                                                                   │
└──────────────────────────────────────────────────────────────────────────────┘

TOP BAR

Focusable: [Add] only
Interactive: [Add] only
Purpose: Display the game name and provide a profile add action

[Add] CTA

Disabled when all profiles have already been assigned. When active, opens a picker overlay showing all profiles not already assigned to this game in alphabetical order. Selecting a profile appends it to the end of the list.

┌──────────────────────────────────────────────────────────────────────────────┐
│ TOP BAR                                                                      │
│  <Game Title> > Profiles                                              [Add]  │
├──────────────────────────────────────────────────────────────────────────────┤
│                                                                              │
│                    ┌──────────────────────────────┐                          │
│                    │ > Adventure                  │                          │
│                    │   Multiplayer                │                          │
│                    └──────────────────────────────┘                          │
│                                                                              │
├──────────────────────────────────────────────────────────────────────────────┤
│ BOTTOM BAR                                                                   │
└──────────────────────────────────────────────────────────────────────────────┘

When [Add] is focused but disabled (all profiles assigned):

├──────────────────────────────────────────────────────────────────────────────┤
│ BOTTOM BAR                                                                   │
│  All profiles are already assigned.                                          │
└──────────────────────────────────────────────────────────────────────────────┘

INHERIT FROM DEFAULT PROFILE

Focusable: Yes
Interactive: Yes
Purpose: Control whether the default profile is automatically applied before any assigned profiles

Always visible. Reflects the current value of inherit_default_profile on the launch configuration. When checked, the default profile is applied automatically before any profiles in the list. When unchecked, the default profile is not applied automatically; it may still be added explicitly via [Add], in which case it applies at its position in the list.

LIST

Type: Single-selection vertical list
Focusable: Yes (primary focus region)
Interactive: Yes
Order: User-defined; determines the order profiles are applied
Purpose: View and reorder the profiles explicitly assigned to this game

Each row shows:

  • Position number
  • Profile name

Profiles are applied in order — later profiles override earlier ones where conflicts occur. When inherit_default_profile is true, the default profile is applied first, ahead of any profiles in this list.

Context Menu

Action Behaviour
Reorder Enters reorder mode for the focused profile. See Reorder Mode.
Remove Removes the focused profile from the list immediately. No confirmation required.

[Save] / [Cancel]

  • [Save] updates the game's assigned profiles (order and membership) and the inherit_default_profile value, then returns to the previous screen.
  • [Cancel] discards all pending changes and returns to the previous screen.

Navigation

Focus regions and Tab order: [Add] (top bar) → LIST → INHERIT FROM DEFAULT PROFILE → [Save] / [Cancel] → [Add] (top bar)

Region Entry focus
[Add] (top bar) [Add]
LIST First profile row (or empty state if no rows)
INHERIT FROM DEFAULT PROFILE The checkbox
[Save] / [Cancel] [Save]

Escape returns to the previous screen without saving (equivalent to [Cancel]).

BOTTOM BAR

Focusable: No
Interactive: No
Purpose: Display contextual hints and confirmation messages

After adding a profile:

├──────────────────────────────────────────────────────────────────────────────┤
│ BOTTOM BAR                                                                   │
│  <Profile Name> added                                                        │
└──────────────────────────────────────────────────────────────────────────────┘

After removing a profile:

├──────────────────────────────────────────────────────────────────────────────┤
│ BOTTOM BAR                                                                   │
│  <Profile Name> removed                                                      │
└──────────────────────────────────────────────────────────────────────────────┘

Otherwise the bottom bar is empty.

⚠️ **GitHub.com Fallback** ⚠️