Skip to content

Flag System Quick Reference

rayswaynl edited this page Jul 3, 2026 · 1 revision

Flag System Quick Reference

Source-verified 2026-07-03 against origin/claude/build84-cmdcon36@573023228807a83121579126555f3206c76ebb72. Scope: current maintained Chernarus source root, especially Missions/[55-2hc]warfarev2_073v48co.chernarus/Common/Init/Init_CommonConstants.sqf, Rsc/Parameters.hpp, description.ext, initJIPCompatible.sqf, and Common/Init/Init_Parameters.sqf.

This is a route map for mission tuning flags, not a replacement for the deep catalogs. In this page, "flag" means the WFBE_C_* mission constants and gates that steer systems such as AICOM, economy, towns, modules, structures, cleanup, telemetry and player-facing options. For physical map flags, bags and visual objects, use Base Game Flags And Bags Visual Catalog.

Fast Read Order

  1. To know whether the lobby controls a value, check Rsc/Parameters.hpp or Mission Start Parameters Index.
  2. To know the fallback/default assignment shape, check Common/Init/Init_CommonConstants.sqf.
  3. To know the live value on dedicated multiplayer, check for writes after Init_CommonConstants.sqf in initJIPCompatible.sqf and subsystem init scripts.
  4. To know runtime consumers, search the exact token, then search dynamic families such as WFBE_C_AICOM_ or WFBE_C_BASE_HQ_REPAIR_.
  5. Route subsystem-specific questions to the owner pages in Continue Reading.

Override Rules

The load order is the trap. description.ext includes Rsc\Parameters.hpp. During multiplayer init, initJIPCompatible.sqf calls Common\Init\Init_Parameters.sqf before Common\Init\Init_CommonConstants.sqf. Init_Parameters.sqf loops over every missionConfigFile >> "Params" class and writes the class name into missionNamespace.

Source shape Meaning Agent wording
class WFBE_C_X in Rsc/Parameters.hpp Lobby/mission parameter. In MP, Init_Parameters.sqf writes it before common constants load. "Lobby-exposed value." Check the parameter default and selected server value.
if (isNil "WFBE_C_X") then {WFBE_C_X = V}; Fallback only. A lobby parameter or earlier missionNamespace write wins. "Fallback default", not "live dedicated MP default".
WFBE_C_X = V; Hard assignment in constants. It overwrites an earlier lobby/preseeded value unless later code writes it again. "Forced by common constants." Still check later runtime overrides.
missionNamespace setVariable ["WFBE_C_X", V] after constants Runtime override. initJIPCompatible.sqf uses this shape for dedicated-MP economy and GUER cases. "Post-constants override." This can supersede both lobby and fallback values.
Compile/version/map branches such as WF_Debug, IS_chernarus_map_dependent, WF_A2_Vanilla Environment-specific branch. The same name can resolve differently by build config or terrain. Name the exact root, branch/SHA and build mode before claiming a value is universal.

Arma 2 OA note: missionNamespace getVariable ["name", default] is an accepted pattern in this codebase. The banned trap is group/object getVariable with the Arma 3 default-argument form where A2 OA does not support it.

Current Surface Snapshot

A quick exact-token scan of the current Build84 target found:

Surface Count Notes
Init_CommonConstants.sqf length 1,946 lines Current target file, Chernarus root.
Unique WFBE_C_* assignment names 972 Exact assignment scan; dynamic string-built names can sit outside this count.
isNil assignment rows 747 Fallback rows. Row count includes repeated/reassignment shapes.
Hard WFBE_C_* = assignment rows 235 Forced rows. Row count includes repeated/reassignment shapes.
Rsc/Parameters.hpp WFBE_C_* classes 103 Lobby/mission parameter classes.
Exact parameter/assignment overlap 85 These are the classic "lobby parameter sets before fallback" names.
Parameter-only exact names 18 Usually valid direct-consumer parameters, not automatically missing constants.

Top families by unique assignment-name prefix in the same scan:

Family Count Route
WFBE_C_AICOM_* 351 AI Commander Tunable Constants Reference plus current source search.
WFBE_C_GUER_* 59 GUER faction, playable side, economy, scavenging and air-defense pages.
WFBE_C_TOWNS_* 51 Town Runtime Tuning Constants.
WFBE_C_UNITS_* 41 Unit cleanup, service, pricing and purchase systems.
WFBE_C_OILFIELD_* 38 Takistan oilfield objective surfaces.
WFBE_C_STRUCTURES_* 33 Construction, structure gates and base limits.
WFBE_C_BASE_* 31 HQ/start/base-area and repair behavior.
WFBE_C_AI_COMMANDER_* 29 High-level AI commander gates and lobby-facing toggles.
WFBE_C_PLAYERS_* 28 Player AI cap, score, gear, markers, UAV and support limits.
WFBE_C_ICBM* 23 ICBM/radiation/tactical module routing.

Parameter-only exact names in the scan include cleanup/performance/client telemetry rows such as WFBE_C_AFK_TIME, WFBE_C_CLIENT_FPS_REPORT, WFBE_C_CLIENT_FPS_REPORT_INTERVAL, WFBE_C_DROPPEDITEMS_CLEANER_TIME_PERIOD, WFBE_C_GAMEPLAY_BOMBS_ALTITUDE, WFBE_C_MAP_ICON_BLINKING_ENABLED, WFBE_C_MODULE_BIS_HC, WFBE_C_PERFORMANCE_AUDIT_ENABLED, and WFBE_C_RUINS_CLEANER_TIME_PERIOD. Treat those as "check the consumer" cases, not as automatic dead constants.

Family Map

Family What it usually controls First route
AI and AICOM AI commander enablement, team budgets, templates, assault scoring, recovery, target selection, artillery and telemetry. AI Commander Tunable Constants Reference, AI Commander Execution Loop Reference.
Economy and supply Starting funds/supply, income cadence, commander split, supply missions, heli supply, bank/reserve payouts. Economy System Reference, Economy Towns And Supply, Supply Mission Architecture.
Towns and camps Town amount, capture mode, defender/occupation difficulty, patrols, mortars, garrison timing and cleanup. Town Runtime Tuning Constants, Towns Camps And Capture Atlas.
GUER Playable resistance gate, bounties, scavenging, VBIED/FOB, tech/economy, air-defense and three-way edge behavior. GUER Insurgents Faction Overview, GUER Air Defense Loop.
Modules and tactical systems Artillery, ICBM, EASA, flares, PMC, HC, thermal/air restrictions and special support gates. Support Specials And Tactical Modules Atlas, Mission Start Parameters Index.
Structures and base HQ deploy range, CoIn spacing, structure enablement, max counts, ruins, construction mode and base-defense caps. Construction And CoIn Systems Atlas.
Units and players Recruit caps, unit bounties, body/vehicle cleanup, service costs, player scores, squad limits, marker behavior and UAV. Factory And Purchase Systems Atlas, Client UI Systems Atlas.
Environment and gameplay View distance, weather, fast travel, victory mode, boundaries, teamswap, missiles and UI-visible gameplay toggles. Mission Start Parameters Index, Gameplay Systems Atlas.
Experimental and QoL gates Feature flags, restart/dashboard announcers, player-stat emitters, skin/vehicle cosmetics, faction smoke and structure extras. Experimental Feature Flag Constants Reference.
Cleanup and telemetry AFK, cleaner periods, FPS report, performance audit, icon blinking and mod hooks. Mission Start Parameters Index, then exact consumer search.

High-Risk Reading Notes

  • AICOM flags are numerous and easy to misread because several names are generated or grouped by prefix. Search both exact tokens and family prefixes.
  • Starting economy defaults in Init_CommonConstants.sqf are not enough on dedicated MP. initJIPCompatible.sqf explicitly documents that Init_Parameters.sqf has already set those values, then applies the real dedicated-MP economy override.
  • GUER playable-side handling has a post-constants re-read path because stale/short cached paramsArray values can otherwise make the last lobby parameter unreliable.
  • Parameter-only names are not necessarily orphaned. Some are direct-consumer parameters whose fallback is in consumer code rather than Init_CommonConstants.sqf.
  • A hard assignment can still be replaced later by script code. "Hard in constants" only means "not protected by isNil at this assignment site."
  • Map/build branches matter. Chernarus, Takistan, Zargabad, vanilla/OA and debug/server-debug builds can resolve related constants differently.

Agent Checklist

  • Name the exact source ref and root before quoting counts or defaults.
  • Check Rsc/Parameters.hpp first when a WFBE_C_* name looks player/lobby-facing.
  • For isNil rows, write "fallback default" unless you have proven no earlier parameter/preseed exists.
  • For hard rows, check later init and subsystem writes before saying the value is final.
  • Search exact token first, then prefix families and Format/string-built patterns.
  • For source changes, edit Chernarus first and propagate with Tools/LoadoutManager; do not hand-edit generated mirrors.
  • Keep A2/OA compatibility rules in mind: no Arma 3-only commands, no group getVariable [name, default], and avoid boolean equality operands.

Continue Reading

Sidebar

Clone this wiki locally