mirror of
https://github.com/ARMSX2/ARMSX2.git
synced 2026-08-24 16:50:16 -07:00
The Qt SetupWizardDialog is mouse/keyboard-only and ran before Big Picture
started, so launching -bigpicture (or StartBigPictureMode) on a fresh datapath
hit an un-navigable modal. There is no gamepad->Qt bridge; controller input
only drives ImGui/FullscreenUI.
Skip the Qt wizard when starting into Big Picture and surface a
controller-navigable setup flow in FullscreenUI instead. A new
MainWindowType::Setup walks Welcome -> BIOS -> Game Directories ->
RetroAchievements -> Finished, reusing the existing BIOS and Achievements
settings pages and an extracted DrawSearchDirectoriesList() (factored out of
DrawGameListSettingsWindow). Welcome offers Set Up vs Skip; completion clears
UI/SetupWizardIncomplete and lands on the game list when directories exist.
Desktop first-run keeps the Qt wizard.
Two FullscreenUI correctness details: give each step its own window ID
(setup_content_{step}) so ImGui does not carry a stale NavId across steps and
leave a button unselectable by controller; and scope the settings lock to the
steps that draw settings pages, since the Welcome/Finished buttons call
CompleteSetupWizard() which re-acquires the non-recursive settings lock.