-
Notifications
You must be signed in to change notification settings - Fork 0
Marker Subsystem Function Reference
Source-verified 2026-06-21 against master 0139a346. Paths relative to Missions/[55-2hc]warfarev2_073v48co.chernarus/ unless noted. Arma 2 OA 1.64.
This page is a per-function reference for the marker primitives and helpers: one section per function, each with its compiled handle, signature, return value, locality, behavior, and a caller census. The loop/tick internals (the consolidated client loop, registries, rebuild execution, ledger sweep) are deferred to Marker Loop Engine and Registries; per-family marker content (town/camp/base/team/patrol marker types and colors) is deferred to Map Marker Families Content Catalog.
A2 locality reminder. createMarker is global: it replicates the marker's existence and position to every machine. createMarkerLocal and every setMarker*Local verb are local: they apply only on the calling machine and do not replicate. The marker subsystem leans on this split deliberately — the only globally-replicating creator is WF_createMarker, and even it paints type/text/color with …Local verbs, then re-broadcasts the param array over a public variable so remote same-side clients can re-paint locally (see Networking And Public Variables).
| Handle | Source | Compiled at | Kind |
|---|---|---|---|
WF_createMarker |
Common/Functions/Common_CreateMarker.sqf |
Common/Init/Init_Common.sqf:167 |
global creator + PV broadcaster (server or client) |
UpdateMarker |
Common/Functions/Common_UpdateMarker.sqf |
Client/Init/Init_Client.sqf:68 |
local follow-marker updater (client) |
onEventHandler_MARKER_CREATION |
Client/Functions/Client_onEventHandler_MARKER_CREATION.sqf |
Client/FSM/updateclient.sqf:15, bound :16
|
PV event handler (every remote client) |
WFBE_CL_FNC_Delete_Marker |
Client/Functions/Client_Delete_Marker.sqf |
Common/Init/Init_Common.sqf:168 |
timed local deleter (client) |
GetStructureMarkerLabel |
Client/Functions/Client_GetStructureMarkerLabel.sqf |
Client/Init/Init_Client.sqf:78 |
pure label lookup (client) |
MarkerAnim |
Client/Functions/Client_MarkerAnim.sqf |
Client/Init/Init_Client.sqf:83 |
spawned local pulse animation (client) |
(Client_GetMarkerColoration.sqf) |
Client/Functions/Client_GetMarkerColoration.sqf |
— never compiled | dead code (no registration, no caller) |
(Init_Markers.sqf) |
Client/Init/Init_Markers.sqf |
run via Call Compile at Client/Init/Init_Client.sqf:809
|
JIP town/camp marker bootstrap script (client) |
(Common_MarkerRebuildRequest.sqf) |
Common/Common_MarkerRebuildRequest.sqf |
run via addAction at Common/Common_MarkerLoop.sqf:27
|
local rebuild-flag setter (client) |
-
Handle / binding:
WF_createMarker = compile preprocessFileLineNumbers "Common\Functions\Common_CreateMarker.sqf";(Common/Init/Init_Common.sqf:167). Compiled in the common init, so the handle exists on server and all clients. -
Signature:
[_markerName, _position, _markerType, _markerText, _markerColor, _side_who_see_marker, _markerNameElipse(opt), _markerRadius(opt)] call WF_createMarker— six required params read atCommon_CreateMarker.sqf:34-39; optional ellipse params 6 & 7 read at:46-47. -
Optional-ellipse gate:
if (count _this > 7)— i.e. needs 8 elements to enable the ellipse; sets_hasElipse = true(Common_CreateMarker.sqf:44-48). -
Return value: none usable. The last statements are
missionNamespace setVariable [...]thenpublicVariable "MARKER_CREATION"(Common_CreateMarker.sqf:82-83); callerscallit for side effects only. (_markerNameis locally reassigned to thecreateMarkerresult at:53, but that is not the function's return.) -
Locality: the marker object is created GLOBAL —
createMarker [_markerName, _markerPosition](Common_CreateMarker.sqf:53), and the optional ellipse is also global,createMarker [_markerNameElipse, _markerPosition](:59). Header comment states the intent: "It must exist globally so that late-joining clients can receive and process it." (:52). Styling is LOCAL and side-gated.
| Step | Detail | path:line |
|---|---|---|
| Global create (main) | createMarker [_markerName, _markerPosition] |
Common_CreateMarker.sqf:53 |
| Global create (ellipse) |
createMarker [_markerNameElipse, _markerPosition] (only if _hasElipse) |
Common_CreateMarker.sqf:59 |
| Side gate | if (playerSide == _side_who_see_marker) |
Common_CreateMarker.sqf:62 |
| Local style (main) |
setMarkerTypeLocal, setMarkerTextLocal, setMarkerColorLocal
|
Common_CreateMarker.sqf:65-67 |
| Local style (ellipse) |
setMarkerShapeLocal "ELLIPSE", setMarkerSizeLocal [_markerRadius,_markerRadius], setMarkerColorLocal, setMarkerAlphaLocal 0.5, setMarkerBrushLocal "Solid"
|
Common_CreateMarker.sqf:72-76 |
| Broadcast |
missionNamespace setVariable ["MARKER_CREATION", _this] then publicVariable "MARKER_CREATION"
|
Common_CreateMarker.sqf:82-83 |
-
Behavior: create the marker globally (so JIP clients receive its existence/position), paint side-restricted styling locally on the calling machine only, then stuff the entire input array into the single
MARKER_CREATIONslot andpublicVariableit. The broadcast fires the PV event handler on every other machine, where matching-side clients re-paint the styling locally (see the companion handler below). This is the side-restricted-visibility mechanism: the marker exists globally but only the matching side gets type/text/color, so the other side sees nothing meaningful. - Caller census:
| Caller | Arity | Ellipse | Side arg | Runs on | path:line |
|---|---|---|---|---|---|
Artillery fire-mission marker (Destroy, params built :22-29) |
8 | yes | playerSide |
client |
Client/Functions/Client_RequestFireMission.sqf:31 — auto-deleted after 80s via WFBE_CL_FNC_Delete_Marker :32-33
|
ICBM aim marker (mil_warning, params built :474-481) |
8 | yes | playerSide |
client (tactical menu) |
Client/GUI/GUI_Menu_Tactical.sqf:483 — deleted after countdown via WFBE_CL_FNC_Delete_Marker :504-505
|
| Radiation zone — WEST | 8 | yes |
west (literal) |
server | Client/Module/Nuke/radzone.sqf:64-73 |
| Radiation zone — EAST | 8 | yes |
east (literal) |
server | Client/Module/Nuke/radzone.sqf:76-85 |
| HQ-killed wreck marker | 6 | no | _side |
(server) |
DEAD — commented out Server/Functions/Server_OnHQKilled.sqf:99
|
-
Notes:
-
radzone.sqfruns server-side (header: "This script is run on server side",radzone.sqf:8), so its two calls global-create + broadcast to all clients; the dedicated server has noplayerSideto match, so the producer styles nothing and every client paints via the PV handler. The two GUI/arty callers run client-side, so the calling client styles its own marker at create time and broadcasts to the others. - All four live callers pass the full 8-element form. The 6-param-only path is reachable only by the dead HQ-killed call (
Server_OnHQKilled.sqf:99), now replaced by a PV-broadcast HQ-state pattern (:101onward). -
MARKER_CREATIONis a single sharedmissionNamespaceslot (:82), so the global var is last-writer-wins; in practice eachpublicVariableenqueues its own network event and the receiver reads the value from the event payload (_this select 1), not from the global, so rapid successive calls do not corrupt delivery.
-
-
Handle / binding:
UpdateMarker = Compile preprocessFile "Common\Functions\Common_UpdateMarker.sqf";(Client/Init/Init_Client.sqf:68). Compiled in client init only → client-side handle. -
Signature:
[_markerObject, _markerName, _markerType, _markerText, _markerColor] call UpdateMarker— 5 params, all required, read atCommon_UpdateMarker.sqf:19-23. -
Return value: none usable. The last statement is
_markerName setMarkerPosLocal _markerPosition(Common_UpdateMarker.sqf:37). -
Locality: fully LOCAL / client-side by design ("intended for client-side team-only markers",
Common_UpdateMarker.sqf:14). Never replicates. - Behavior:
| Step | Detail | path:line |
|---|---|---|
| Null guard | if (isNull _markerObject) exitWith {}; |
Common_UpdateMarker.sqf:25 |
| Create-if-absent | if ((getMarkerType _markerName) == "") then { createMarkerLocal [_markerName, getPos _markerObject] }; |
Common_UpdateMarker.sqf:28-30 |
| Local style |
setMarkerTypeLocal, setMarkerTextLocal, setMarkerColorLocal
|
Common_UpdateMarker.sqf:32-34 |
| Position track | _markerPosition = getPos _markerObject; _markerName setMarkerPosLocal _markerPosition; |
Common_UpdateMarker.sqf:36-37 |
- Caller census (both in the client FSM, both gated by
if (!isNull _hq)):
| Caller | Context | Gates | path:line |
|---|---|---|---|
| WEST HQ-wreck tracker | When IS_WEST_HQ_ALIVE is false, reads HQ_WEST_MARKER_INFOS (index 6 = the tracked HQ object) |
outer (count _MARKER_infos) >= 7 (:62), then if (!isNull _hq) (:72) |
Client/FSM/updateclient.sqf:74 |
| EAST HQ-wreck tracker | Mirror of above, reads HQ_EAST_MARKER_INFOS
|
outer (count _MARKER_infos) >= 7 (:92), then if (!isNull _hq) (:102) |
Client/FSM/updateclient.sqf:104 |
-
Handle / binding: compiled inline in the client FSM —
onEventHandler_MARKER_CREATION = compile preprocessFileLineNumbers "Client\Functions\Client_onEventHandler_MARKER_CREATION.sqf";(Client/FSM/updateclient.sqf:15), then bound as the PV event handler"MARKER_CREATION" addPublicVariableEventHandler {_this call onEventHandler_MARKER_CREATION};(updateclient.sqf:16). -
Signature: invoked by the PV-EH, so
_this = [pvName, value]. It reads_MARKER_infos = _this select 1("select 1 not 0 to get the value",Client_onEventHandler_MARKER_CREATION.sqf:15), then unpacks the same 6/8-element param array asWF_createMarker(:18-23, optional ellipse:28-29). - Return value: none.
-
Locality: runs on every client that receives the broadcast (publicVariable does not fire on the sender). It applies styling only for the matching side,
if (playerSide == _side_who_see_marker)(:32), via the samesetMarker*Localverbs (:36-48). -
Behavior — does NOT create the marker: the
createMarkerLocal(:35) andcreateMarker(:43) lines are commented out. The handler relies on the global marker already existing fromWF_createMarker'screateMarker(Common_CreateMarker.sqf:53); it only paints local style on the matching side. This is the architectural crux of the channel, not a bug. -
Quirks:
-
Optional-param gate mismatch (latent off-by-one). The handler enables the ellipse on
count _MARKER_infos > 6(:26), looser than the producer'scount _this > 7(Common_CreateMarker.sqf:44). On an exactly-7-element array the handler would read_MARKER_infos select 7(:29) and miss. Harmless in practice — every live producer call passes either 6 or 8 elements — but worth flagging. -
Casing slip. The private list declares
_marker_name(:13), but the assignments use_markerName(:18). Benign;_markerNameends up function-local either way. - The ellipse branch guards on
if (!isNil {_markerNameElipse})(:41) rather than re-checkingcount.
-
Optional-param gate mismatch (latent off-by-one). The handler enables the ellipse on
-
Handle / binding:
WFBE_CL_FNC_Delete_Marker = compile preprocessFileLineNumbers "Client\Functions\Client_Delete_Marker.sqf";(Common/Init/Init_Common.sqf:168). -
Signature:
[_marker_name, _deleteTime] call WFBE_CL_FNC_Delete_Marker—_marker_name = _this select 0,_deleteTime = _this select 1(seconds) (Client_Delete_Marker.sqf:14-15). - Return value: none — the spawned thread handle is not captured.
-
Locality: client-local (
deleteMarkerLocal,:24), runs on whichever machine calls it. -
Behavior:
[_marker_name,_deleteTime] spawn { ... sleep _deleteTime; deleteMarkerLocal _marker_name; }(Client_Delete_Marker.sqf:17-25). Usingspawnkeeps the caller non-blocking (header note:8). - Caller census:
| Caller | Delay | path:line |
|---|---|---|
| Arty marker + ellipse | 80s | Client/Functions/Client_RequestFireMission.sqf:32-33 |
| ICBM marker + ellipse | countdown (WFBE_ICBM_TIME_TO_IMPACT min → s) |
Client/GUI/GUI_Menu_Tactical.sqf:504-505 |
-
Quirks:
- Header
Name:field is stale — it readsClient_Delete_LocalMarker.sqf(:3) but the file isClient_Delete_Marker.sqf. - The map note flags a server-side caller (
Server_MHQRepair.sqf); the two confirmed live callers above are both client-side. If invoked from server code,deleteMarkerLocalwould affect only the host's local marker, not remote clients — a locality consideration for any future server caller.
- Header
-
Handle / binding:
GetStructureMarkerLabel = Compile preprocessFile "Client\Functions\Client_GetStructureMarkerLabel.sqf";(Client/Init/Init_Client.sqf:78). -
Signature:
[_structure, _side] Call GetStructureMarkerLabel—_structure = _this select 0,_side = _this select 1(a side name string) (Client_GetStructureMarkerLabel.sqf:3-4). -
Return value: the label string
_label(Client_GetStructureMarkerLabel.sqf:27). -
Locality: pure/local helper — reads
missionNamespaceonly (WFBE_%1STRUCTURES/WFBE_%1STRUCTURENAMES,:8-9); no marker writes. -
Behavior:
_class = typeOf _structure(:6); resolve the structure's "real type" via_structures select (_structuresNames find _class)(:11); aswitchmaps real-type → label (:13-25):
| Real type | Label | Real type | Label |
|---|---|---|---|
Barracks |
B |
ServicePoint |
S |
Light |
L |
Bank |
R (Federal Reserve / economy bank, :20) |
CommandCenter |
C |
AARadar |
AAR |
Heavy |
H |
ArtilleryRadar |
AR |
Aircraft |
A |
Reserve |
RES |
default |
"" (:24) |
-
Caller census (single):
Client/Init/Init_BaseStructure.sqf:40—if (!_hq) then {_text = [_structure, _side] Call GetStructureMarkerLabel; _marker setMarkerSizeLocal [0.5,0.5]}. The caller passes_sidealready converted to a side name viaWFBE_CO_FNC_GetSideFromID(Init_BaseStructure.sqf:14), null-guards the result withif (isNil "_text")(:41), and special-cases"S"→ ServicePointmil_objective/"SP"marker (:46-50). -
Quirk: if
_classis absent from_structuresNames,findreturns-1and_structures select -1errors in A2 — the helper relies on every base structure class being present in the side table;default {""}only covers the known-type-but-unlabeled case, not the not-found case.
-
Handle / binding:
MarkerAnim = Compile preprocessFile "Client\Functions\Client_MarkerAnim.sqf";(Client/Init/Init_Client.sqf:83). Invoked withSpawn(own scope). -
Signature:
[_markerName, _markerPosition, _markerType, _markerSize, _markerColor, _markerMin, _markerMax, _additionalErase(opt)] Spawn MarkerAnim— params 0–6 atClient_MarkerAnim.sqf:2-8;_additionalErase = ""default (:9), overridden from index 7 onlyif (count _this > 7)(:10). - Return value: none (spawned thread).
-
Locality: client-local marker effects throughout (
deleteMarkerLocal/CreateMarkerLocal/setMarker*Local). The loop flagactiveAnimMarkeris a client global used to stop the loop from elsewhere. - Behavior:
| Step | Detail | path:line |
|---|---|---|
| Recreate marker locally | deleteMarkerLocal _markerName; CreateMarkerLocal [...]; set type/color/size |
Client_MarkerAnim.sqf:12-16 |
| Pulse step | _difference = (_markerMax - _markerMin)/10 |
Client_MarkerAnim.sqf:18 |
| Set loop flag | activeAnimMarker = true |
Client_MarkerAnim.sqf:21 |
| Optional area circle | if _additionalErase != "", read WFBE_C_AI_PATROL_RANGE and make an Ellipse marker sized to range |
Client_MarkerAnim.sqf:23-30 |
| Animation loop | while {activeAnimMarker} do { sleep 0.03; _direction = (_direction + 1) % 360; setMarkerDirLocal; bounce size between min/max } |
Client_MarkerAnim.sqf:32-42 |
| Teardown |
deleteMarkerLocal _markerName + delete area circle if present |
Client_MarkerAnim.sqf:44-45 |
-
Caller census (all in
Client/GUI/GUI_Menu_Command.sqf): preview of the current order —:194move (ColorOrange),:195patrol (ColorYellow+"areaPatrol"circle),:196defense (ColorRed),:200towns (ColorBlue); all use marker name"TempAnim", type"selector_selectedMission", size 1, min 1 / max 1.2. The click-to-order path spawns a prebuilt array at:313(_array Spawn MarkerAnim). -
Loop-stop sites (set
activeAnimMarker = false):GUI_Menu_Command.sqf:109, 110, 186, 260, 311, 540(line 540 is the dialog-teardown cleanup). One writer-true (Client_MarkerAnim.sqf:21), one reader (:32); only one"TempAnim"animation is meant to run at a time, and a newSpawn MarkerAnimimplicitly replaces the previous one because they share the global flag and marker name. -
Quirk:
_difference(:18) is used but is missing from thePrivate[...]declaration at:1. BecauseMarkerAnimisSpawned into its own scope,_differenceis effectively script-local to the thread anyway — harmless, an undeclared-private inconsistency, not an error.
-
Status: not registered, not called.
grep -rn "GetMarkerColoration"across the whole mission returns only the file itself — noInit_*compile, no caller. -
As written (single minified line):
_colorFor = _this(a string);switch (_colorFor):"Friendly"→"ColorGreen","Enemy"→"ColorRed","Resistance"→"ColorGreen"; returns_color(default""). TheWFBE_MAPCOLORATION/GetNamespacelogic is commented out inline (Client_GetMarkerColoration.sqf:1);_colorationModeis declared but unused. -
What actually does side→color: the live mapping uses
WFBE_C_%1_COLORmissionNamespace vars with aWFBE_C_UNKNOWN_COLORfallback (seeInit_Markers.sqfbelow and Map Marker Families Content Catalog), not this helper. Flag as vestigial.
-
Kind / invocation: a script (not a registered function);
scriptNameset atClient/Init/Init_Markers.sqf:5. Run once per client at boot/JIP viaCall Compile preprocessFileLineNumbers "Client\Init\Init_Markers.sqf";(Client/Init/Init_Client.sqf:809), inside a[] Spawn { sleep 2; ... }JIP block (Init_Client.sqf:806-810, log line "Updating JIP Markers.":808). -
Locality: client-local marker creation (
createMarkerLocal), colored per-client againstWFBE_Client_SideID(captured atInit_Client.sqf:311). - Behavior (
forEach towns,:7-50):
| Step | Detail | path:line |
|---|---|---|
| Wait for sideID |
waitUntil {!isNil {_x getVariable "sideID"}}; read _townSide
|
Init_Markers.sqf:11-12 |
| Color (fog-of-war) | default WFBE_C_UNKNOWN_COLOR; only if _townSide == WFBE_Client_SideID resolve real owner color WFBE_C_%1_COLOR (%1 = _townSide Call WFBE_CO_FNC_GetSideFromID) |
Init_Markers.sqf:15-18 |
| Town marker | name Format ["WFBE_%1_CityMarker", str _x], createMarkerLocal at getPos _x, type "Depot", color |
Init_Markers.sqf:21-24 |
| Camps sub-loop | after waitUntil camps init; per camp same side/color logic; marker name from the camp's wfbe_camp_marker var, createMarkerLocal, type "Strongpoint", color, size [0.5,0.5]
|
Init_Markers.sqf:27-49 |
-
Marker-name contract: the
WFBE_%1_CityMarkerandwfbe_camp_markermarkers this script creates are the markers the town/camp capture PV handlers later re-color (deferred — see Marker Loop Engine and Registries and Map Marker Families Content Catalog). Enemy/neutral towns show the "unknown" color to this client — fog-of-war via color.
-
Kind / invocation: a tiny script run by an
addAction("Rebuild Map Markers"), attached atCommon/Common_MarkerLoop.sqf:27(and re-attached after respawn at:66, because the player-object change drops the action). -
Body (entire file):
WFBE_CL_MarkerRebuildRequested = true;thenhint "Rebuilding local map markers...";(Common_MarkerRebuildRequest.sqf:2-3). Header cross-references the loop (:1). - Return value: none.
- Locality: local to the requesting client. It sets a flag only.
-
Behavior: purely sets
WFBE_CL_MarkerRebuildRequested(initializedfalseatCommon_MarkerLoop.sqf:25). The actual delete-and-recreate rebuild work runs inside the consolidated loop when it sees the flag (Common_MarkerLoop.sqf:82-83) — that execution, the auto-trigger (sub-WFBE_C_MARKER_REBUILD_FPSfor 60s, default 15,:30), the cooldown, and the registries are deferred to Marker Loop Engine and Registries. This script is the manual entry point only; it sends nothing over the network.
- Marker Loop Engine and Registries — the consolidated client loop, registrars, rebuild execution, and ledger sweep this page defers.
- Map Marker Families Content Catalog — per-family marker types, colors, and side→color mapping.
- Client Marker FSM Updater Map — the FSM scripts that wire the PV handler and drive HQ-wreck / team / patrol marker updates.
- Marker Cleanup Restoration Systems Atlas — timed deletion, orphan GC, and state restoration across the marker subsystem.
-
Networking And Public Variables — the
MARKER_CREATIONpublic-variable channel and the broader PV/event model.
Home | Agent Guide | Current live state | Release 1.2.2 (B91) | Quickstart | Progress | Lifecycle wait-chain | Join/disconnect | Parameters/build | Assets/config | SQF atlas | PV index | Modules | Support/specials | Commander/HQ | Commander vote/reassign | Construction/CoIn | Construction cleanup | WDDM compositions | Factory/purchase | Upgrades/research | Towns/camps/capture | Victory/endgame | Markers/cleanup | Server runtime | AI runtime/HC | AI commander audit | HC delegation | Town AI safety | Commander reassignment | Resistance supply | Player UI workflow | UI atlas | Respawn/death | Gear template filter | Vehicle cargo loop | Service guards | UI IDD repair | UI design inspiration | WASP overlay | Feature status | Source propagation | release readiness | Tooling readiness | Integration trust | AntiStack DB | Owner decisions | Shelved registry | Abandoned feature revival | Hardening roadmap | PVF dispatch | Server authority | ICBM authority | Attack-wave authority | Telemetry families | AICOM V2 cutover | Consumer port map | Testing workflow | Server ops | Web tools | Ecosystem repos | Arma 2 OA refs | A2 traps | OA compatibility audit | Coverage ledger | Navigation inventory | Pruning ledger | Knowledge roadmap | Agent context | Collab protocol | Worklog | Audit archive 2026-07 | Briefing reference | Utes invasion concept
- Shelved AICOM concepts - revivable someday ideas (owner-shelved 2026-07-03)
Docs rule: source-backed claims only; Arma 2 OA scripting docs only; gameplay edits start in Missions/[55-2hc]warfarev2_073v48co.chernarus.
- Getting started
- Status and coordination
- Agent context
- Agent collaboration protocol
- Agent worklog
- Agent worklog archive
- Progress dashboard
- PR cleanup and integration lab
- Shelved PR #169: gear price double-count
- Shelved PR #194: Chernarus no-trees
- Coordination board
- Codebase coverage ledger
- Bottleneck removal queue
- Current source status
- Wiki mirror reconciliation
- Navigation inventory
- Registers
- Agent orchestration
- Architecture
- Architecture overview
- Mission entrypoints and lifecycle
- Lifecycle wait chain
- Player join/disconnect and AntiStack lifecycle
- Mission parameters/localization/build inputs
- Stringtable localization key-family catalog
- Source inventory
- Content structure and maps
- Assets/config/localization/parameters
- Mission start parameters index
- Code and networking
- Gameplay systems
- Core systems index
- Gameplay systems atlas
- Commander/HQ lifecycle atlas
- Economy, towns and supply
- Economy system reference
- Balance asymmetries
- Anti-stack skill-balance mechanic
- Empty-side supply income stagnation
- Towns, camps and capture atlas
- Victory and endgame atlas
- Victory conditions reference
- Territorial victory reference
- Marker cleanup and restoration
- Marker loop engine and registries
- Map marker families content catalog
- Marker subsystem function reference
- Client marker FSM updater map
- Support specials and tactical modules
- SCUD TEL tactical munitions
- Naval HVT objectives (carriers/SCUD)
- SCUD saturation strike mechanic
- Takistan airfield FPV drone design
- Construction and CoIn systems
- Structure damage reduction & friendly-fire
- Construction logic list cleanup
- Flak tower & WDDM anchor compositions
- Resistance supply scaffold
- GUER Insurgents faction overview
- GUER Insurgents branch audit
- GUER insurgent player economy
- GUER Commissar Panel
- GUER air-defense loop (Ka-137/Mi-24)
- Upgrades and research atlas
- Supply mission architecture
- Supply mission authority cleanup
- Current supply helicopters PR1
- Respawn and death-loop lifecycle
- Vehicle theft economy pitch
- GUER tunnel network pitch
- Content, reference and catalogs
- Faction unit/vehicle roster catalog
- Auxiliary/SF/civilian unit catalog
- Gear store loadout route catalog
- Upgrade research (cross-faction)
- Gear store price and upgrade catalog
- Gear store catalog (complete, per faction)
- Defense structures catalog
- Artillery reference per faction
- AI squad team templates catalog
- Town AI lifecycle reference
- Town AI group composition catalog
- Class-skill system reference
- Player skill abilities reference
- Default gear template content catalog
- Chernarus map content reference
- Takistan map content reference
- Takistan features
- Takistan parity reference
- Takistan oilfields objective reference
- IRS IR-smoke countermeasure
- Arty module special munitions
- Zeta cargo sling-load reference
- Spawn primitive function reference
- Kill and score pipeline
- Waypoint helper function reference
- Position and proximity function reference
- Side/team state function reference
- Player AI watchdog and recovery
- AICOM stuck-recovery v2
- LoadoutManager data-model contributor guide
- Discord status bot setup and reference
- GLOBALGAMESTATS extension reference
- New player quickstart (player guide)
- Optional client mods (player guide)
- Earning funds and score (player guide)
- Vehicle service and logistics (player guide)
- Commander's handbook (player guide)
- Tactical support menu
- Paradrop player experience
- Supply missions (player guide)
- In-game briefing & Diary field manual
- Playable maps catalog
- Faction root variables reference
- Faction base structures catalog
- Counter-battery radar system
- Bank, Reserve and Artillery Radar structures
- Map ruleset model and object config
- Countermeasures module reference
- Vehicle countermeasure (flares/spoofing)
- UAV terminal and spotter system
- Artillery firing function reference
- Service Point pricing model
- Medic redeployment truck (forward spawn)
- Side-patrol runtime and convoy mechanics
- Day/night cycle and weather system
- Config lookup helper reference
- CIPHER sort utilities reference
- Modded maps status and content
- BattlEye filter setup and OA taxonomy
- Player squad/group join protocol
- AutoFlip vehicle recovery
- Engine stealth fuel toggle
- Valhalla vehicle climbing-assist
- Missile and ordnance Fired-EH reference
- Vehicle equip and rearm reference
- Array and collection utilities
- Server composition spawner reference
- Upgrade queue server loop
- Map boundaries and off-map enforcement
- Namespace/profile/diagnostic utilities
- Group bool getVariable A2-OA trap
- Vehicle weapon balance init
- View distance auto-throttle
- Camp & respawn-camp getters
- Performance audit writer
- Site clearance (bulldozer)
- Factory queue cancel & refund
- AI commander tunable constants
- Experimental feature-flag constants
- Flag system quick reference
- Mission tunable constants catalog
- Gear parsing & cargo capacity
- Structure dressing function
- Paradrop delivery functions
- ICBM nuke client VFX & radiation
- Server HandleSpecial router
- LocalizeMessage chat router
- Gear buy-menu render & price functions
- Server broadcast & telemetry loops
- Per-unit client init pipeline
- Vehicle marking & texture pipeline
- Defense category & budget
- Legacy AI order primitives
- Commander-team driver
- AICOM command verbs
- AICOM behavior fix taxonomy
- AI commander wildcard deck reference
- AICOM aircraft and airfield system
- Static-defense manning
- End-of-game stats screen
- AI commander execution loop
- Deployable bipod / weapon resting
- Town-economy getters
- Server-init deadspawn & airfield probe
- GUER VBIED detonate action
- Resource income-tick engine
- AI commander treasury accessors
- PVF send-helper contracts
- AICOM logging & AICOMSTAT telemetry
- AICOMSTAT v2 event census
- WASPSCALE v2 telemetry
- WASPSCALE v2-ext coverage audit
- Telemetry families reference
- Group lifecycle & entity reaping
- Batch AI spawner orchestrator
- Client funds/income HUD readout
- Server group GC & cap warning
- Town runtime tuning constants
- Client input/hotkey handler
- WASP base-repair system
- WASP DropRPG launcher/ordnance
- CoIn construction-interface client engine
- Town-capture garrison & airfield rebuild
- Map-control & minimap templates
- Client FPS & state telemetry
- Client service-proximity getters
- Airfield-exclusive roster & unit hints
- Unit-camera spectator system
- Town-garrison patrol/defense worker
- RequestTeamUpdate squad-discipline
- Arma2Warfare GPT assistant
- LoadoutManager build configs & defines
- GLOBALGAMESTATS extension logging
- Discord bot instrumented logging
- Eden/Everon & Taviana map content
- Cruise missile strike asset
- AI / HC
- AI headless and performance
- AI mods and pathfinding reference
- Headless client scaling and topology
- AI runtime/HC loop map
- Headless client init and stat loop
- HC delegation target selection
- Player AI caps and role balance
- Old WarfareBE FPS comparison
- AI commander autonomy audit
- Upstream BE 2073 AICOM delta
- Parent 2.073 divergence audit
- AI commander capture & fun plan
- AI commander B69 improvement roadmap
- AI commander B69 implementation sketches
- AICOM V2 cutover status
- Headless delegation and failover
- Commander reassignment call shape
- GUER Director living-resistance pitch
- Quality and operations
- Foundation perf findings & Tier-3 dead-ends
- Dead/stale code register
- Commander vote/reassignment
- Attack-wave authority
- Server runtime and operations
- Server ops runbook
- JIP enrollment & client data delivery (b74.2 lessons)
- Server gameplay runtime atlas
- PerformanceAuditAnalyzer
- Performance opportunity sweep
- Documentation plan
- Knowledge platform roadmap
- Wiki quality audit
- Wiki pruning and relevance ledger
- Audit findings queue (2026-06-03)
- Deep review findings
- Client UI / server-loop perf findings
- Performance gain simulation
- Self-host testing field notes
- Cleanup and work lanes
- Hardening and authority
- UI / player workflows
- Client UI, HUD and menus
- UI HUD and dialogs
- Player UI workflow map
- Client UI systems atlas
- UI IDD collision repair
- UI control class library reference
- UI theme palette and style macros
- UI design inspiration 2026-07
- Available-actions client gate FSM
- Gear/loadout/EASA atlas
- Gear template profile filter
- Vehicle cargo equip loop bounds
- Factory and purchase systems atlas
- Service menu affordability guards
- WASP overlay
- Class-skill system reference
- Skin selector and class swap
- Earplugs audio toggle
- Mission audio catalog
- HQ radio knowledge-base catalog
- QoL trio player hints
- Player vehicle/travel actions
- Tooling / release / integrations
- Tools and build workflow
- Warfare web tools
- Ecosystem & companion repos
- Zargabad tooling parity
- July 2026 release readiness
- Operator monitor and CPU affinity tools
- Tooling release readiness audit
- Source fix propagation queue
- Agent release readiness ledger
- Release source intake map
- Testing/debugging/release workflow
- Current RPT release gate
- RPT telemetry consumer port map
- External integrations
- Integration trust boundary audit
- AntiStack database extension audit
- Community & Dev
- Community & Dev
- Miksuu upstream wiki import / archive index
- Upstream changelog feature leads
- Developer history and upstream lessons
- Upstream Miksuu commit intel
- Upstream mining ledger
- Archive script mining v2
- Upstream BE 2073 AICOM delta
- Parent 2.073 divergence audit
- PR8 and Drone upstream lesson match
- Development lessons learned
- External research reports
- Audit archive 2026-07
- Briefing reference
- Utes invasion concept
- Miksuu archive: Home
- Miksuu archive: Welcome
- Miksuu archive: Big announcements
- Miksuu archive: Changelog
- Miksuu archive: Development process
- Miksuu archive: Discord bot
- Miksuu archive: Gameplay videos
- Miksuu archive: LoadoutManager
- Miksuu archive: Chernarus script architecture
- Base-game visual catalogs
- Compatibility and references
- HC upstream history and lessons
- Player stats branch audit
- BuyMenu EASA QoL branch audit
- Perf quick wins branch audit
- Commander positions branch audit
- Zargabad branch audit
- Quad AI Commander concept
- Arma 2 OA external reference guide
- Base-game config & image reference
- Arma 2 OA compatibility audit
- Arma 2 OA agent traps reference
- Arma 2 OA command versions
- Wiki source consistency
- External Arma 2 OA reference index