Merge op8-keyboard: Campaign OP slice OP8 — Configure Keyboard
Bringsb4edee97(slice),b1968ce9(M1/M2/M3 rework),f1d50207(round-2 residuals). Review chain: REJECT -> rework -> REOPEN-narrow -> coordinator third round; findings docs 2026-08-11-op8-review.md / -op8-rereview.md. The merge lands OP8's six ListBoxes on top of 057d8cd7's #372 viewport fix, which auto-heals the blank-pages hazard the re-review flagged — the OP8 connected gate was contracted to run post-merge for exactly this. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
commit
1c5cd969b4
23 changed files with 36178 additions and 12 deletions
|
|
@ -89,7 +89,11 @@ public sealed class OptionsPanelController : IRetainedPanelController
|
|||
Action ExitGame,
|
||||
Action UseMouseTurningSettings,
|
||||
Action<string> DisplaySystemMessage,
|
||||
Action? AfterApply = null)
|
||||
Action? AfterApply = null,
|
||||
// Campaign OP slice OP8: opens the Configure Keyboard screen — retires
|
||||
// OP3's INERT contract for this button (0x10000204). Null leaves the
|
||||
// button inert (e.g. a test harness with no keyboard screen wired).
|
||||
Action? OpenConfigureKeyboard = null)
|
||||
{
|
||||
/// <summary>Urgent Assistance's own byte-verified retail failure text.</summary>
|
||||
public string UrgentAssistanceMessage { get; init; } =
|
||||
|
|
@ -190,9 +194,9 @@ public sealed class OptionsPanelController : IRetainedPanelController
|
|||
+ "not found in the built layout — its handler was not wired.");
|
||||
|
||||
BindButton(layout, ExitToCharacterSelectionId, callbacks.RequestExitToCharacterSelection);
|
||||
// ConfigureKeyboardId: INERT this slice — authored, clickable, no
|
||||
// handler. OP8 wires the real Configure Keyboard screen; the campaign
|
||||
// cannot close with this button still inert (plan §4 OP3).
|
||||
// ConfigureKeyboardId: Campaign OP slice OP8 wires the real Configure
|
||||
// Keyboard screen — the OP3 INERT contract is retired.
|
||||
BindButton(layout, ConfigureKeyboardId, callbacks.OpenConfigureKeyboard);
|
||||
// InGameHelpFilesId: INERT — retail's own KeyStone::OpenHelp fails
|
||||
// without the missing plugins\ACHelpPlugin.dll (D5, register row).
|
||||
BindButton(layout, UseMouseTurningSettingsId, callbacks.UseMouseTurningSettings);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue