-
Notifications
You must be signed in to change notification settings - Fork 0
WASP Overlay
Claude deep-dive page (source-cited). Documents the project-specific
WASP/subtree that is layered on top of stock Benny Warfare BE (WFBE). Stock WFBE systems are covered in Architecture overview and the per-system pages; this page covers only the WASP additions.
All paths are relative to the source mission root Missions/[55-2hc]warfarev2_073v48co.chernarus/.
WASP is the community/server identity this fork is built for. The mission credits itself as "Warfare WASP-AWESOME EDITION" in Client/GUI/GUI_Menu_Help.sqf:149, and mission.sqm:25 has briefingName="Warfare V48 Chernarus [GUER]"; the old briefingDescription="by Benny and Awesome&WASP" attribution is no longer present in master (line 26 now reads the AI-eval build description). The WASP/ folder holds custom features added on top of stock WFBE, contributed over time by several authors (English additions by "Marty", Russian-language contributions with Cyrillic comments, and DeraKOren for the RPG-dropping system). It is unrelated to "WASP" as any engine term.
| File | Purpose | Wired in / status |
|---|---|---|
WASP/Init_Client.sqf |
Original WASP client entry point. |
Dead — entire body commented (WASP/Init_Client.sqf:5-21). Superseded by direct wiring in Client/Init/Init_Client.sqf. |
WASP/common/procInitComm.sqf |
MP-safe wrapper around setVehicleInit/processInitCommands/clearVehicleInit to run init code on a vehicle network-wide. |
Compiled as WASP_procInitComm only in the commented block at initJIPCompatible.sqf:243-245, specifically :243 → function is undefined at runtime. |
WASP/actions/AddActions.sqf |
Re-adds player scroll actions on spawn/respawn and creates the class diary/earplug client conveniences. |
Live (Client/Init/Init_Client.sqf:650). Legacy gear/wheel/on-armor actions are commented, while HQ recovery, the class diary, the on-foot earplug action and the mounted-vehicle earplug mirror are active (WASP/actions/AddActions.sqf:15,21-30,37-39,50-65). |
WASP/actions/Action_RepairMHQDepot.sqf |
Commander-only: spend cash to paradrop-respawn a destroyed HQ near the player; resets all town SV to 10. |
Live (via AddActions.sqf). |
WASP/actions/EarplugToggle.sqf |
Local player audio toggle for earplugs; the WASP action path fades both sound and radio and refreshes the on-foot/vehicle action titles. |
Live (via AddActions.sqf; see Earplugs audio toggle). |
WASP/actions/SkinSelector/* |
Optional infantry skin selector and player-body class swap. |
Source-present, default off: WFBE_C_SKIN_SELECTOR defaults to 0, the WF-menu shortcut is hidden, and the apply chain recreates the player body before restoring actions/handlers (Common/Init/Init_CommonConstants.sqf:601; Rsc/Dialogs.hpp:1258; WASP/actions/SkinSelector/SkinSelector_Apply.sqf:207-257; see Skin selector/class swap). |
WASP/actions/OnKilled.sqf |
On player death, re-runs AddActions.sqf to reattach actions after respawn. |
Live (Client/Functions/Client_PreRespawnHandler.sqf:11). |
WASP/actions/GearYouUnit.sqf |
Open the gear dialog on a nearby AI subordinate. |
Orphan — only caller is a commented line AddActions.sqf:4. |
WASP/actions/car_wheel_new.sqf |
Wheel repair for immobilized cars; calls WASP_procInitComm. |
Broken orphan — only caller is commented (AddActions.sqf:6); would also crash on the undefined WASP_procInitComm. |
WASP/baserep/init.sqf |
Bootstraps base-repair: #includes data.sqf + viem.sqf. |
Live (Init_Client.sqf:588). |
WASP/baserep/data.sqf |
Table mapping base building classnames → display name, interaction distance, repair-rate %. | Data include. |
WASP/baserep/viem.sqf |
Commander-only loop: HUD building-health overlay; attaches/removes a "Repair" action near damaged structures. Spotters also see enemy building health at range. | Main baserep loop. |
WASP/baserep/repair.sqf |
Performs the repair: medic animation, drains side supply, increments building HP per tick. | Called by viem.sqf. |
WASP/global_marking_monitor.sqf |
Intercepts map double-click to auto-prefix the player's name onto marker text. |
Live (Client/Init/Init_Client.sqf:309 on current origin/master@0139a346). Stable/B69 have the display-54 sleep 0.1 throttle; docs/source, current Miksuu and perf still need propagation or an intentional refactor. See WASP marker wait cleanup. |
WASP/rpg_dropping/DropRPG.sqf |
By DeraKOren (2012). (a) single-use AT-launcher weapon-swap, (b) pipe-bomb TK prevention near friendly bases, (c) mine time-tracking. |
Live (Init_Client.sqf:15 + recompiled on respawn at Client_PreRespawnHandler.sqf:12). |
WASP/unsort/StartVeh.sqf |
Defines EAST_StartVeh / WEST_StartVeh classname pools for one random extra starting vehicle per side. |
Live (compiled Init_Server.sqf:306, used :425-459). |
"baserep" is base repair, not base reputation. "unsort" is literally an unsorted dumping folder —
StartVeh.sqfis live but the author never moved it into the properCommon/Config/hierarchy.
Do not confuse WASP base repair with the stock Server_HandleBuildingRepair.sqf path. WASP base repair is live client-side wiring from Init_Client.sqf:588 through WASP/baserep/viem.sqf and repair.sqf; Server_HandleBuildingRepair.sqf is compiled but no active source caller was found during the construction audit.
The original single entry point (WASP/Init_Client.sqf, formerly called from the commented block at initJIPCompatible.sqf:241-245) was disabled by Marty as "old wasp script using resources unnecessarily." WASP features are now wired individually:
| Call site | Wires |
|---|---|
Init_Client.sqf:15 |
WASP/rpg_dropping/DropRPG.sqf |
Client/Init/Init_Client.sqf:309 |
WASP/global_marking_monitor.sqf |
Client/Init/Init_Client.sqf:649 |
WASP/baserep/init.sqf |
Client/Init/Init_Client.sqf:650 |
WASP/actions/AddActions.sqf |
Client_PreRespawnHandler.sqf:11-12 |
WASP/actions/OnKilled.sqf + recompile DropRPG.sqf
|
Init_Server.sqf:306,425-459 |
WASP/unsort/StartVeh.sqf |
updateclient.sqf:124-145 / updateteamsmarkers.sqf:88
|
WASP_AFK player variable (AFK detection + "(AFK)" marker suffix) |
| WASP feature | Locality status | Development note |
|---|---|---|
| HQ recovery action | Mostly client-side. Action_RepairMHQDepot.sqf checks funds/HQ state, deducts player cash, moves the HQ and mutates town supply locally before sending the repair request. |
Treat as an authority-light legacy action. If hardened, move commander/funds/HQ/town-SV validation to the server side through Commander/HQ lifecycle and Server authority map. |
| Global marking monitor | Intentionally client-local map double-click helper. | Safe for UI behavior; do not expect it on HC/server. |
| Earplugs action | Local player audio/action state split between the WASP scroll/vehicle path and the WF menu EAR button. |
Use Earplugs audio toggle before changing titles, action ids or volume values; current source uses separate WFBE_WASP_EarplugActive and WFBE_Earplugs state keys. |
| Start vehicles | Server-owned spawn state from WASP/unsort/StartVeh.sqf, compiled/used in Init_Server.sqf. |
Not a JIP UI feature; changes affect initial server-side vehicle spawning and generated mission skip-list mirroring. |
| Respawn action re-add |
WASP/actions/OnKilled.sqf re-runs AddActions.sqf; current wiring comes through Client_PreRespawnHandler.sqf. |
Keep this dependency when changing respawn handlers, or the active HQ recovery action can disappear after respawn. |
| Base repair action state |
WASP/baserep/viem.sqf:47-53 stores selected repair target/index in shared globals obj and objnum; WASP/baserep/repair.sqf:16,20,24,27 consumes those globals during the timed repair. |
Two overlapping repair flows can stomp target state. Convert to action arguments or player-local variables before making base repair more prominent. |
| Base repair supply gate |
WASP/baserep/repair.sqf:6-8 snapshots side supply once, then spends -15 every tick at :24 without rechecking; the exit check at :23 still uses the old snapshot. |
Repair can continue past available side supply. Re-read/clamp supply before each spend or move the repair ledger server-side. |
Deep-review findings DR-40 reviewed the WASP Perf + JIP/HC cells. The live WASP wiring is JIP/HC-clean because it runs per player from Init_Client.sqf, and headless clients skip these player-local features. The DR-40 perf nit in WASP/global_marking_monitor.sqf:62-72 is branch-sensitive after the 2026-06-22 refresh: current stable origin/master@0139a346 and B69 carry sleep 0.1 in both maintained roots, while docs/source HEAD@46840f048bd4, current Miksuu b8389e748243 and perf 0076040f still need the throttle if they remain code targets. Smoke marker dialog open/Enter/Escape/timeout before expanding marker behavior. See WASP marker wait cleanup.
The Wave N WASP scout rechecked several old-action edges that are easy to misread as live features:
-
WASP/actions/AddActions.sqf:15assigns the HQ recovery action ID through208 = player addAction ..., an unusual global numeric variable style. Treat it as legacy action-ID storage; do not copy that pattern into new actions. -
WASP/actions/AddActions.sqf:15does not hide the HQ cash-recovery action after it has been used; the one-timecashrepairedflag is only checked insideAction_RepairMHQDepot.sqf:8-9,23-24. The menu entry can remain visible and then fail with the "HQ cannot be repaired using cash twice!" hint. -
WASP/actions/Action_RepairMHQDepot.sqf:6-29performs the cash gate, cash deduction, local HQ position move and local town-SV reset before/aroundRequestMHQRepair. The server still owns the final HQ repair inServer_MHQRepair.sqf, but the preflight economics and visible side effects are client-led. -
WASP/common/procInitComm.sqf:2-6is not just dormant; if revived as-is, it calls_obj setVehicleInit "_initCMD"with a literal string instead of the command variable. Any revival must fix that call shape and deliberately accept the Arma 2 OAsetVehicleInit/processInitCommandsJIP semantics. - The commented
initJIPCompatible.sqf:241-245WASP bootstrap is the only compile site forWASP_procInitComm, socar_wheel_new.sqfremains a dead chain until both the bootstrap and call shape are repaired.
These are referenced only from commented-out lines, or point at files that no longer exist. See Feature status register for the full disabled-feature inventory.
-
WASP/Init_Client.sqfbody — fully commented (Killed EH, OnArmor timer, KeyDown handler, trigger creation). -
WASP/actions/OnArmor/andWASP/actions/SitsOnArmor/directories — deleted; still referenced by commentedAddActions.sqf:10-12andInit_Client.sqf:7,21. -
WASP/KeyDown.sqf— missing; referenced by commentedInit_Client.sqf:12-13. -
WASP_procInitComm— compile line commented (initJIPCompatible.sqf:243, inside block:241-245), socar_wheel_new.sqf(its only consumer) is a dead chain. -
test/wasp_selftest.sqf— not present in the source mission. Current source has no rootinit.sqf, notest/directory, no*selftest*file, and noWASP-SELFTESTlog tag. Treat any old self-test description as a documentation error, not a dormant feature. -
WASP/actions/GearYouUnit.sqfis still present, but the action that opens it is commented atWASP/actions/AddActions.sqf:4; DR-35 also found this dead action was one of the apparent localization misses. - The commented OnArmor actions reference missing localization keys and missing scripts, but DR-35 verified these are dead-code misses rather than live broken strings.
The mission parameter system is live and index-aligned: Common/Init/Init_Parameters.sqf:5-10 iterates missionConfigFile >> "Params" and reads paramsArray select _i in multiplayer. Keep class Params ordering stable when inserting or removing parameters, or every later parameter value can silently shift.
Localization was reviewed clean in DR-35 after case-folding and dead-code filtering. Do not spend time chasing the WASP OnArmor/Gear string keys as live UI bugs unless the dead actions are deliberately revived.
Previous: Content/maps | Next: SQF code atlas
Main map: Home | Fast path: Quickstart | Agent file: agent-context.json
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