Skip to content

Shelved PR 531 unit camera ai teams

rayswaynl edited this page Jul 3, 2026 · 1 revision

Shelved: PR #531 — Read-only AI Teams section in the unit-camera listbox (Lane 178 re-do)

State: Ray-shelved 2026-07-03 (Build 89 / cmdcon44 pick round). PR #531 was closed without merging; nothing from it is in Build 89.

REJECT-SHELVED: Ray already said no to this (see the earlier spectate-AI-unit-camera shelf, Shelved-PR-383-spectate-ai-unit-camera.md). This is a re-decision, not a fresh call.

WHAT

Adds a --- AI Teams --- header row plus one row per live AI-led team to listbox 21002 (the left-column team list in RscMenu_UnitCamera, the Tactical → Unit Camera dialog). Each AI row shows [AI] <leaderName> (<INF|LGHT|HVY|AIR>) <alive>/<total>; clicking an AI row camera-switches to that team leader. Read-only spectate — no order paths, no game-state writes, no server sends. AI teams are read from WFBE_Client_Logic getVariable "wfbe_teams" (the same live broadcast registry the Command Console roster uses), with a clientTeams fallback for the JIP window before the logic object replicates.

WHERE

  • PR: #531 — "[Lane 178] Add read-only AI Teams section to unit camera listbox".
  • Branch / head commit: fable/lane178-spectator-teams (head at shelve time; recover the branch tip).
  • Flag (if any): NONE. This is the key reason it is shelved rather than merged dark — the feature is always-on. It populates listbox 21002 with the extra rows unconditionally on every dialog open; there is no master gate to keep it inert. To ship it in any form it would need a flag added first (e.g. WFBE_C_UNITCAM_AI_TEAMS = 0) wrapping the Lane 178 block so it defaults dark like every other new feature this project ships.
  • Files touched: Client/GUI/... unit-camera listbox population + MenuAction 101 handler (client-only, runs at dialog open). Mirrored across all three maps. (The PR also had to restore TK/ZG version.sqf.template files that LoadoutManager had clobbered with Chernarus values — a mirror-hygiene fix, unrelated to the feature.)

WHY SHELVED

Ray already declined the spectate-AI-unit-camera feature (recorded in Shelved-PR-383-spectate-ai-unit-camera.md). PR #531 is a re-implementation of the same idea (read-only AI-team rows in the unit-camera list), so it falls under the standing ruling. On top of the design decision, it is always-on with no flag, which conflicts with the project rule that every new feature ships behind a host flag defaulted OFF — so even absent the design "no", it could not merge in its current form. Shelved on both grounds.

HOW TO REVIVE

  • Recover from branch fable/lane178-spectator-teams (tip at shelve time).
  • Add a flag first. Wrap the entire Lane 178 listbox-population block (and the MenuAction 101 AI-row branch) in a new default-0 constant, e.g. if ((missionNamespace getVariable ["WFBE_C_UNITCAM_AI_TEAMS", 0]) > 0) then { ... }, registered in Common/Init/Init_CommonConstants.sqf on all three maps. Without this the feature cannot ship dark, which is a hard requirement.
  • Re-pitch the design: Ray declined the spectate-AI-camera concept once already (#383). A revive needs a fresh reason it is wanted, not just a re-open.
  • Watch the LoadoutManager version.sqf.template clobber: the mirror run corrupted TK/ZG templates with Chernarus values in this PR; any revive must re-protect those templates after regenerating the mirror.

Sidebar

Clone this wiki locally