Skip to content

Client UI HUD And Menus

rayswaynl edited this page Jun 2, 2026 · 26 revisions

Client UI, HUD And Menus

For the implementation-level map of IDDs, Rsc resources, controller loops, HUD ownership, marker/action UI and known UI risks, read Client UI systems atlas.

UI Triage Hub

Use this page as the quick router for UI work:

Need Start here Then check
Dialog/controller ownership Client UI systems atlas dialog map Feature status for stale IDDs/files and authority risks
HUD, title resources and overlays Client UI systems atlas title/HUD map WASP overlay for legacy overlay/action wiring
Main menu or commander/team menus Client/GUI/GUI_Menu.sqf and owning submenu Networking/PV for any server request triggered by the UI
Gear/EASA/service UI Gear/loadout/EASA atlas Economy/towns/supply for funds and spend authority
Marker/action visibility or JIP oddities client marker/action loops below Mission lifecycle and Lifecycle wait-chain

Rule of thumb: UI code is usually client-local, but many UI buttons trigger server-side effects through PVF/direct publicVariable paths. A UI change that mutates score, funds, structures, supply, upgrades, support, loadouts or HQ state should be reviewed as a networking/economy change too.

Compact Dialog Index

Dialog/resource IDD Controller/owner Status
WF_Menu 11000 Client/GUI/GUI_Menu.sqf Main router.
RscMenu_BuyUnits 12000 Client/GUI/GUI_Menu_BuyUnits.sqf Live; client-authoritative purchase path risk is documented in Factory/purchase atlas.
RscMenu_Tactical 17000 Client/GUI/GUI_Menu_Tactical.sqf Live; includes high-impact support paths such as ICBM.
WFBE_UpgradeMenu 504000 Client/GUI/GUI_UpgradeMenu.sqf Live upgrade UI.
RscMenu_Upgrade 18000 Client/GUI/GUI_Menu_Upgrade.sqf Stale legacy class; target controller file is missing.
WFBE_BuyGearMenu 503000 Client/GUI/GUI_BuyGearMenu.sqf Live gear/template UI.
RscMenu_Service 20000 Client/GUI/GUI_Menu_Service.sqf Live service/EASA entry; spend validation is client-side.
RscMenu_EASA 23000 Client/GUI/GUI_Menu_EASA.sqf Live; shares IDD with economy menu.
RscMenu_Economy 23000 Client/GUI/GUI_Menu_Economy.sqf Live; IDD reuse is a maintenance trap.
RscOverlay / OptionsAvailable 10200 Init_Client.sqf, Client_UpdateRHUD.sqf, action FSMs Legacy/current overlay resources share an IDD; use stored display handles rather than assuming unique findDisplay.

UI Resource Layer

description.ext includes the Rsc stack:

  • Header.hpp
  • Styles.hpp
  • Parameters.hpp
  • Ressources.hpp
  • Dialogs.hpp
  • Titles.hpp
  • Identities.hpp outside vanilla mode

Dialog scripts then live under Client/GUI.

Main Menus

Important GUI files:

  • GUI_Menu.sqf: main Warfare menu and HUD/FPS toggles.
  • GUI_Menu_BuyUnits.sqf: player unit purchasing list and factory interaction.
  • GUI_BuyGearMenu.sqf: gear purchase and template UI.
  • GUI_Menu_Command.sqf: commander/team command controls.
  • GUI_Menu_Tactical.sqf: tactical actions such as fast travel and support-style commands.
  • GUI_UpgradeMenu.sqf: upgrades.
  • GUI_RespawnMenu.sqf: respawn UI.
  • GUI_Menu_EASA.sqf: aircraft loadout system.
  • GUI_Menu_Service.sqf: service/repair support.

Buy Unit Path

Factory purchase flow:

  1. UI list is populated from config and current upgrade state.
  2. Player selection goes through GUI_Menu_BuyUnits.sqf.
  3. Spawn logic is handled by Client_BuildUnit.sqf.
  4. Factory-specific marker conventions determine spawn location.

Gear Templates

Gear files and UI helpers support profile gear templates:

  • Client_UI_Gear_AddTemplate
  • Client_UI_Gear_SaveTemplateProfile
  • Client_UI_Gear_FillTemplates
  • Client_UI_Gear_UpdatePrice
  • Client_UI_Gear_UpdateTarget
  • Init_ProfileGear.sqf
  • Init_ProfileVariables.sqf

RHUD And FPS HUD

Client_UpdateRHUD.sqf manages the full resource HUD and lightweight FPS overlay. GUI_Menu.sqf toggles RUBHUD and RUBFPSHUD. The code caches controls/text/colors and uses explicit client/server FPS rows.

Map And Marker UI

Client marker updates are split between:

  • Client/FSM/updatetownmarkers.sqf
  • Client/FSM/updateteamsmarkers.sqf
  • Client_BlinkMapIcon
  • Client_BookkeepBlinkingIcons
  • Client_SetMapIconStatusInCombat

The combat icon blinking feature is guarded by WFBE_C_MAP_ICON_BLINKING_ENABLED.

UI Risk Notes

  • Avoid heavy work in display loops and map marker refresh.
  • Preserve cached-write patterns in RHUD and marker scripts.
  • Keep action label changes consistent with localized string usage where available.
  • Use unique dialog IDDs for new menus; this fork already has IDD reuse that future work should not expand.

Continue Reading

Previous: Town AI vehicle safety | Next: Client UI systems atlas

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

Sidebar

Clone this wiki locally