Skip to content

Client UI HUD And Menus

rayswaynl edited this page Jun 4, 2026 · 26 revisions

Client UI, HUD And Menus

This is the quick-reference gateway for client UI work. Start with the player UI workflow map when you need a "what can the player click?" tour. The canonical implementation map is Client UI systems atlas; update that atlas for detailed dialog tables, title resources, controller loops, marker/action UI and UI risk analysis.

First Stops

Need Start here Source anchors Canonical detail
Main Warfare menu routing Client/GUI/GUI_Menu.sqf Rsc/Dialogs.hpp:1019-1022, GUI_Menu.sqf:33-43, :162-179, :191-199 Client UI systems atlas Main Menu Router
Buy units / factories Client/GUI/GUI_Menu_BuyUnits.sqf -> Client/Functions/Client_BuildUnit.sqf Rsc/Dialogs.hpp:1445-1447, GUI_Menu_BuyUnits.sqf:89-156 Factory and purchase systems atlas
Gear, service and EASA GUI_BuyGearMenu.sqf, GUI_Menu_Service.sqf, GUI_Menu_EASA.sqf Rsc/Dialogs.hpp:530-532, :2870-2872, :3209-3211 Gear/loadout/EASA atlas
Upgrades and economy menu GUI_UpgradeMenu.sqf, GUI_Menu_Economy.sqf Rsc/Dialogs.hpp:4-6, :3287-3289, GUI_UpgradeMenu.sqf:137-171 Gameplay systems atlas and Economy
RHUD / FPS HUD / title resources Client/Client_UpdateRHUD.sqf, Rsc/Titles.hpp Rsc/Titles.hpp:25, :44, :164-173, :532-540, Client_UpdateRHUD.sqf:3-7, :89-92, :183-190 Client UI systems atlas Title And HUD Resource Map
Respawn selector and markers GUI_RespawnMenu.sqf, client marker FSMs GUI_RespawnMenu.sqf:31, :100, :193, Client_UI_Respawn_Selector.sqf:19-31 Client UI systems atlas Map And Marker UI
UI JIP/headless scope initJIPCompatible.sqf, Init_Client.sqf, Client_UpdateRHUD.sqf initJIPCompatible.sqf:70-76, :224-238, Init_Client.sqf:730-734, Client_UpdateRHUD.sqf:87-95 Client UI systems atlas JIP And Headless-Client Verdict

UI Safety Rules

  • UI code is usually client-local, but UI actions can still mutate server-visible state through PVF or direct publicVariable paths.
  • Treat any UI change that touches score, funds, supply, structures, upgrades, support, loadouts, HQ state or vehicle creation as a networking/economy change too.
  • Do not assume dialog IDs are unique: RscMenu_EASA and RscMenu_Economy share idd = 23000, and RscOverlay / OptionsAvailable both use idd = 10200.
  • Economy menu startup writes to 23004/23005/23006, but the audited RscMenu_Economy control block does not declare those IDs; smoke disabled-state behavior before reusing this menu as a commander-control template.
  • Do not reuse currentCutDisplay for unrelated title resources: current source lets OptionsAvailable/RHUD/action icons and EndOfGameStats share that key, so endgame display work needs the UI IDD collision repair handle split as well as IDD cleanup.
  • Keep polling menu loops and marker/HUD loops light; reuse cached display handles and existing update flags.
  • Headless clients do not run the UI init path; "HC" calls inside updateclient.sqf are high-command player UI controls, not headless-client rendering.
  • Late-join UI support exists, but do not call it fully clean without feature smoke: several UI waits depend on synchronized variables with no timeout.

Known UI Findings

Finding Meaning Canonical page
DR-14 Player unit purchase is client-authoritative; no RequestBuyUnit PVF exists. Factory and purchase systems atlas
DR-16 Structure sale is client-authoritative; this is an economy/server-authority finding, not a gear/template finding. Deep-review findings
DR-17 RscMenu_EASA and RscMenu_Economy both use idd = 23000. UI IDD collision repair
DR-24 Stale RscMenu_Upgrade points at missing Client/GUI/GUI_Menu_Upgrade.sqf; live upgrades use WFBE_UpgradeMenu. Deep-review findings
DR-25a/b RscOverlay / OptionsAvailable share title idd = 10200, and RscClickableText.soundPush[] is malformed. Client UI systems atlas
DR-28 Gear, EASA and service spend/effect paths are client-authoritative. Gear/loadout/EASA atlas
Duplicate IDDs/display handles EASA/Economy share 23000; overlay/title resources share 10200; OptionsAvailable and EndOfGameStats both use currentCutDisplay. Client UI systems atlas, UI IDD collision repair
Economy dialog missing controls GUI_Menu_Economy.sqf:7-8 targets 23004/23005/23006, absent from audited RscMenu_Economy controls. Client UI systems atlas
Command task partial Commander task controls are visible, but the SetTask send path is commented out. Client UI systems atlas

UI Risk Index

Use this as the fast route before touching UI:

Risk Go to
Duplicate dialog/title IDs and title display handles UI IDD collision repair
Service affordability and action-time guards Service menu affordability guards
Command task controls / dormant task system Client UI systems atlas
Gear/EASA/template/cargo partials Gear/loadout/EASA atlas, Gear template profile filter, Vehicle cargo equip loop bounds
Stale legacy dialogs Deep-review findings DR-24 and Feature status

Continue Reading

Previous: Town AI vehicle safety | Next: Player UI workflow map

Main map: Home | Fast path: Quickstart | Agent file: agent-context.json

Sidebar

Clone this wiki locally