One dialog, one owner, one callback
Local confirmation internals
A bounded yes/no prompt drawn on the local HUD. It is a UI primitive, not a network service: the dialog runs only on the machine that opens it, and exactly one of its two callbacks runs when it closes.
1. Contract
["Restart the generator", "This clears the fault. Continue?", 15,
{ params ["_reason"]; hint format ["Confirmed: %1", _reason]; }, ["manual"],
{ hint "Cancelled"; }
] call FF_core_fnc_query;
The title is capped at 256 characters, the question at 1024, and the timeout must be between 1 and 600 seconds. Only one query may be open per machine; a second call is refused while the first dialog is alive. Remote execution is rejected, so a server cannot pop a dialog on a client.
2. Closing
Delete confirms and the countdown confirms nothing: an expired progress bar closes the dialog through the cancel
callback. queryFinish performs the same close path programmatically. The handler, progress control and
background controls are removed before the callback runs, so a callback cannot inherit a half-open dialog. If the display
disappears underneath the dialog, the next tick closes it as a cancellation.
Code-level guarantees: argument bounds, single-owner state and callback selection. Screen layout and key behaviour are a manual in-engine check.
Related functions
FF_core_fnc_query— Shows one local timed confirmation; Delete confirms and timeout cancels.FF_core_fnc_queryFinish— Closes the local confirmation and invokes its matching callback once.