Add live HUD button visibility controls to Mod Settings - #297
Guffawaffle wants to merge 37 commits into
Conversation
…ion first (without held SPUD history)
…out held SPUD history)
0ee15e6 to
83ff992
Compare
# Conflicts: # xmake.lua
# Conflicts: # mods/src/patches/patches.cc
|
Hook/feature alignment follow-up for #313 Follow-up to #313: keep hook installation independent of feature enablement, with default-enabled compatibility switches under Refresh both parents: corrected HUD repair #296 and corrected settings controls #282. Preserve Settings cascade (verified from current branch ancestry): #279 → #280; #277 + #280 → #281 → #282; sibling branches from #282 are #285, #293 and #297. #285 additionally depends on #269; #297 additionally depends on #296. Correct the owning parent first, then carry the fix through every dependent branch while preserving each sibling's scope. Implemented in f33d8e7 with corrected #282 and #296 parents. The independent mission patch switch controls installation; live controls retain weak tracking, native refresh and Missions Auto restoration, with current modes checked before use. HUD page docs now match registration. Windows build, settings/full persistence including twelve HUD combinations, example TOMLs and three semantic lanes passed on unchanged compiled source. CI is queued; exact-artifact game/Mac qualification remains open. |
…ml-editor # Conflicts: # docs/config-save.md
…gs-navigation # Conflicts: # example_community_patch_settings_en.toml # mods/src/config.h # mods/src/defaultconfig.h # mods/src/patches/patches.cc
…ngs-controls # Conflicts: # docs/MOD_SETTINGS_NAVIGATION.md # mods/src/config.cc # mods/src/config.h # mods/src/patches/parts/forbidden_tech_confirmation.cc # mods/src/patches/parts/hotkeys.cc # mods/src/patches/patches.cc
# Conflicts: # mods/src/patches/parts/mission_hud_tweaks.cc
Adds Settings → Mod Settings → HUD Buttons with Q's Trials, Field Training, Outposts and Missions groups. Each offers Auto / Always / Never and summarizes its current mode while collapsed. Changes apply live and persist through the shared TOML writer.
Auto reevaluates native visibility rules; Missions restores its tracked native visibility. Weak object tracking, replacement-button capture, inactive-view deferral and hook-availability checks protect unavailable HUD views. Following #313, the existing default-enabled missionhudtweakshooks switch owns installation independently of feature values. Callbacks reread current modes before overrides or Auto restoration; complete metadata and partial-family guards come from #296.
Depends on corrected #282 and #296. Validation: Windows release build, existing settings fixtures, full persistence fixtures (including all twelve HUD setting/mode combinations) and all 11 example TOMLs passed. Final documentation changes leave compiled code unchanged. Three independent semantic reviews cover the complete candidate. Static Windows 270 overwrite windows fit; exact-candidate game smoke, macOS native fit/execution and injected lifecycle/partial-install failures remain open. Earlier integration testing is historical evidence, not qualification of this exact artifact. CI starts on publication without waiting for results.