chihirobelmo / FalconBMS-Alternative-Launcher

Configure and save FalconBMS setup per Joysticks.
Other
130 stars 30 forks source link

Fixes for issues 111, 113, 114, 115 #112

Closed arithex closed 10 months ago

arithex commented 11 months ago

Solution: scrape the keyfile for header lines .. and populate the 'Category' dropdown list, accordingly.

This should work for any keyfile which adheres to that "1. First Section" convention.

arithex commented 10 months ago

Sorry I left this PR and branch open, while investigating issues/113. Expanding this to cover 111, 113 and 114. Separate notes below..

arithex commented 10 months ago

https://github.com/chihirobelmo/FalconBMS-Alternative-Launcher/issues/113

The situation: because BMS only supports max 2 pov-hats.. but user might have any number of devices, each with up to 4 hats per HID/DirectInput spec.. AL support is limited to supporting the primary-hats on the flightstick and throttle device(s). That seems quite reasonable to me.

Note, these may be hats on the same device.. and there may possibly not be a throttle axis/device at all (eg. for gamepad users, using buttons or the new xInput to control throttle)

Testing done.. [pass] 2 devices 2 hats - with stick first in DeviceSorting.txt order [pass] 2 devices 2 hats - with throttle first in DeviceSorting.txt order [pass] 2 devices w hats, but roll+throttle on primary (only 1 hat should work, in this situation) [?] 1 device with roll+throttle, but 2 hats (is there even such a product?) [pass] 1 device with roll+throttle, single hat [pass] 1 device with roll, throttle=keyboard or xInput [pass] 0 analog axes (eg. clean-install coldstart case)

arithex commented 10 months ago

https://github.com/chihirobelmo/FalconBMS-Alternative-Launcher/issues/114 Light refactor of AppReg startup flow, to ensure we always select an item in the listbox, and ofc always save work before selecting a different BMS location.

I think there are still other codepaths which throw away unsaved work.. eg. plugging in new HID devices. But this one was especially critical, because there were unavoidable conditions that would trigger the bmsListbox.SelectionChanged event.

arithex commented 10 months ago

Adding fix for https://github.com/chihirobelmo/FalconBMS-Alternative-Launcher/issues/115 - losing keyboard binding changes, when exiting the app (without actually launching).

arithex commented 10 months ago

Debug-build => https://cdn.falcon-bits.net/FalconBMS_Alternative_Launcher_v2023.10.19.3-debug.zip

arithex commented 10 months ago

Rebase-merging to keep those big coarse-grained commits somewhat separated in the timeline.