-
Notifications
You must be signed in to change notification settings - Fork 0
Mission Parameters Localization And Generated Build Inputs
This page owns mission parameter flow, localization hazards and generated include/build inputs. It complements Mission entrypoints and lifecycle, Tools and build workflow, Content structure and maps and Source fix propagation queue.
description.ext:52 includes Rsc\Parameters.hpp; the class Params order is the authoritative paramsArray index order. description.ext:39 and initJIPCompatible.sqf:4 both include version.sqf. This workspace currently has ignored generated Chernarus and Vanilla Takistan version.sqf files on disk, but Git does not track them; LoadoutManager still generates/updates version outputs for terrain copies and several modded/stub roots remain incomplete without them.
Source refs:
-
Rsc/Parameters.hpp:3-561declares mission parameters. -
Common/Init/Init_Parameters.sqf:5-10caches parameter values. -
initJIPCompatible.sqf:121compiles parameters before constants;:212setsWFBE_Parameters_Ready. -
Common/Init/Init_CommonConstants.sqf:65-67documents the nil-default pattern that avoids overriding MP parameters. -
Client/GUI/GUI_Display_Parameters.sqf:3-12displays parameter names/statuses from the sameParamstree.
-
description.extincludesRsc\Parameters.hpp. - Arma populates
paramsArrayfromclass Paramsorder in multiplayer. -
Init_Parameters.sqfloops overmissionConfigFile >> "Params". - In multiplayer, it reads
paramsArray select _i; in single-player, it reads each classdefault. - Each value is written to
missionNamespacewith the parameter class name. -
Init_CommonConstants.sqfthen fills nil defaults without overwriting already-cached MP values.
Runtime consumers include day/night duration, AFK timeout, AntiStack enable, performance audit enable, map icon blinking, bomb restrictions and many gameplay/economy toggles.
Current ordnance parameter caveat: WFBE_C_GAMEPLAY_BOMBS_ALTITUDE exists in Rsc/Parameters.hpp:284-288, but the current bomb handler comments out the altitude enforcement block (Common/Functions/Common_HandleShootBombs.sqf:32-44). By contrast, WFBE_C_GAMEPLAY_BOMBS_DISTANCE_RESTRICTION is consumed by the live distance-delete path (Common_HandleShootBombs.sqf:21-30). Do not describe the altitude parameter as active gameplay enforcement until that handler is revived and smoke-tested.
Parameter-name drift caveat: the generic importer does not normalize near-miss names. A 2026-06-04 config scout found Rsc/Parameters.hpp:393-397 exposes WFBE_C_MODULE_WFBE_IRS, while common init and upgrade gates read WFBE_C_MODULE_WFBE_IRSMOKE (Init_CommonConstants.sqf:238, Init_Common.sqf:320, representative Upgrades_CO_US.sqf:24-25). Unless a later generation step deliberately aliases those variables, changing the lobby value does not control the runtime IR-smoke module gate.
Hidden-or-forced parameter caveat: some runtime switches are not ordinary lobby controls. WFBE_C_GAMEPLAY_UPGRADES_CLEARANCE is commented out in Rsc/Parameters.hpp:351-356, but constants/server init still use it (Init_CommonConstants.sqf:225, Server/Init/Init_Server.sqf:333-349) and boot code can force it to 7 (initJIPCompatible.sqf:148,152). WFBE_C_ENVIRONMENT_WEATHER_VOLUMETRIC exists in Parameters.hpp:210-214, but common constants and client init both force it to 0 (Init_CommonConstants.sqf:212, Client/Init/Init_Client.sqf:218). Treat these as internal/locked runtime state until the owner chooses to expose them deliberately.
Wave O found a real default drift class: mission boot only calls Common/Init/Init_Parameters.sqf when isMultiplayer is true (initJIPCompatible.sqf:121). In non-MP boot paths, Init_CommonConstants.sqf fills any nil values instead of reading Rsc/Parameters.hpp defaults, even though GUI_Display_Parameters.sqf can display SP defaults directly from the config tree.
| Parameter | Lobby/config default | Constants fallback | Why it matters |
|---|---|---|---|
WFBE_C_AI_COMMANDER_ENABLED |
Rsc/Parameters.hpp:92-97 default 0
|
Init_CommonConstants.sqf:91 fallback 1
|
Solo/local tests can exercise AI-commander-adjacent code that the MP lobby default disables. |
WFBE_C_ARTILLERY |
Rsc/Parameters.hpp:80-84 default 2
|
Init_CommonConstants.sqf:105 fallback 1
|
Artillery range/timeout behavior can differ between hosted MP and non-MP tests. |
WFBE_C_BASE_AREA |
Rsc/Parameters.hpp:104-108 default 3
|
Init_CommonConstants.sqf:119 fallback 2
|
Construction/base-area limits differ under fallback-only boot. |
WFBE_ICBM_TIME_TO_IMPACT |
Rsc/Parameters.hpp:32-36 default 5
|
Init_CommonConstants.sqf:239 fallback 1
|
Nuke timing tests can look dramatically faster/shorter different outside MP. |
WFBE_RADZONE_TIME |
Rsc/Parameters.hpp:38-42 default 10
|
Init_CommonConstants.sqf:240 fallback 1
|
Radiation-duration tests can understate live lobby behavior. |
Practical rule: when a finding depends on mission parameters, state whether the evidence came from MP lobby defaults, non-MP/constants fallback, or generated mission config. Do not assume those three layers agree.
RscDisplay_Parameters loads Client/GUI/GUI_Display_Parameters.sqf, which reads titles/texts/values from missionConfigFile >> "Params" and current values from paramsArray or default. That makes the Params tree both the host setup source and the in-game reference display source.
The scout pass found no live missing $STR_... keys for Rsc/Parameters.hpp references. Known quality gaps remain:
-
WFBE_C_ANTISTACK_ENABLEDandWFBE_C_PERFORMANCE_AUDIT_ENABLEDuse literal English titles inParameters.hpp:547-555. -
WFBE_C_GAMEPLAY_BOMBS_DISTANCE_RESTRICTIONreuses$STR_WF_PARAMETER_BombAltitudeatParameters.hpp:290-291, while the consumer is distance-based. -
STR_Supplies_2instringtable.xml:188-193still tells players supply-truck deliveries pay4 x the actual value; current source grants raw_supplyAmountfrom the supply mission cargo calculation (supplyMissionStart.sqf:32,supplyMissionCompletedMessage.sqf:13-14), whileWFBE_C_PLAYERS_SUPPLY_TRUCKS_DELIVERY_FUNDS_COEF = 4is defined but not consumed in that live flow. - Live UI controllers still include hardcoded English player-facing text: Buy Units vehicle-help hints at
GUI_Menu_BuyUnits.sqf:443-457and Tactical artillery ammo request status atGUI_Menu_Tactical.sqf:604-605. - Several translated parameter/help strings fall back to English or contain stale text; treat
stringtable.xmlas functional but not polished.
version.sqf is included by both description.ext and initJIPCompatible.sqf. Current local generated copies exist at Missions/[55-2hc]warfarev2_073v48co.chernarus/version.sqf:1 and Missions_Vanilla/[61-2hc]warfarev2_073v48co.takistan/version.sqf:1, but .gitignore:1,23 ignores both paths and git --literal-pathspecs ls-files -- .../version.sqf returns no tracked rows. Tools/LoadoutManager/FileManagement/FileManager.cs:92-100 treats it specially, and terrain generation writes version output from the C# terrain flow.
Practical rule: verify the target mission root, not just source Chernarus. A source checkout may be packable, while generated Vanilla or modded/stub folders still need LoadoutManager output or terrain-specific generated files. Use LoadoutManager from a normal a2waspwarfare clone or any repo root that contains Missions, Missions_Vanilla and Tools/LoadoutManager/LoadoutManager.csproj. For propagation-only work, set A2WASP_SKIP_ZIP=1 so missing 7za does not block generation/copy.
Important tooling evidence:
-
FileManager.cs:59-84and:103-136copy/delete outputs and remove destination extras. -
FileManager.cs:140-180first accepts an ancestor folder literally nameda2waspwarfare, then falls back to a repo-marker check forMissions,Missions_VanillaandTools/LoadoutManager/LoadoutManager.csproj. -
BaseTerrain.cs:94-104writes generated mission files such as EASA/balance/aircraft names/version outputs. -
BaseTerrain.cs:35-66rewrites the source missionSounds/description.extfrom.oggfilenames. -
SqfFileGenerator.cs:127-135calls package/zip operations after generation. -
ZipManager.cs:73-77throws if the7zaenvironment variable is not set during packaging; propagation-only runs can skip packaging withA2WASP_SKIP_ZIP=1.
This means current Codex checkouts such as work\a can run LoadoutManager after the repo-marker discovery update. Do not revive older documentation that says the literal folder name is the only valid path.
| Finding | Patch shape | Validation |
|---|---|---|
| Literal English admin parameter titles | Add stringtable-backed titles for AntiStack and performance audit, or document them as intentionally admin-only English. | Parameter display shows intended labels; no missing stringtable keys. |
| Bomb distance title reuses altitude text | Add STR_WF_PARAMETER_BombDistanceRestriction and use it for WFBE_C_GAMEPLAY_BOMBS_DISTANCE_RESTRICTION. |
Host parameter list and in-game parameter display distinguish altitude from distance. |
| Bomb altitude parameter is visible but dormant | Either revive/smoke the commented Common_HandleShootBombs.sqf altitude block or hide/rename the host parameter as historical. |
Host/admin UX does not imply an active restriction that the runtime does not enforce. |
| Missing fallback for bomb distance | Add an Init_CommonConstants.sqf fallback or use getVariable default in the consumer. |
Bomb-distance handling works in SP, MP and generated missions. |
| Supply reward stringtable drift | Update STR_Supplies_2 to match live reward math, or change the reward implementation and stringtable together during supply-authority redesign. |
Player help text, runtime load message and completion reward agree for default supply upgrades and upgraded supply-rate cases. |
| Hardcoded live controller text | Add stringtable keys for Buy Units vehicle-help hints and Tactical artillery ammo request status, then replace the literal strings. | English and translated clients see the same help/status intent; tactical ammo request formatting remains readable. |
| IR-smoke parameter/runtime name split | Rename the lobby class to WFBE_C_MODULE_WFBE_IRSMOKE, change all runtime consumers to WFBE_C_MODULE_WFBE_IRS, or add a small explicit alias immediately after parameter import. |
Lobby disabled/enabled values actually change IRS_Init.sqf startup and WFBE_UP_IRSMOKE upgrade availability. |
| Hidden/forced parameter exposure | Either remove hidden/dead lobby rows or wire them to real runtime behavior. Current examples: hidden WFBE_C_GAMEPLAY_UPGRADES_CLEARANCE, forced-off volumetric weather and orphan-looking WFBE_C_MODULE_BIS_HC. |
Host parameter list, in-game parameter display and runtime variables agree; no operator-facing switch implies behavior that is forced elsewhere. |
| Root discovery drift | Keep LoadoutManager's repo-marker root discovery documented and do not reintroduce literal-folder-only assumptions. | LoadoutManager runs from work\a and a normal a2waspwarfare clone. |
Missing 7za during propagation-only work |
Use A2WASP_SKIP_ZIP=1; require 7za only for release packaging. |
Generated files land even when package creation is skipped. |
| Generated files lack banners | Add generated-file banners to generated SQF/description/version outputs. | Future agents avoid hand-editing generated targets. |
| Lobby/default fallback drift | Either deliberately align the constants fallback values with Rsc/Parameters.hpp or document which non-MP fallback differences are intentional. |
Compare MP lobby, non-MP boot and generated mission behavior for AI commander, artillery, base area and nuke/radzone timings. |
- Do not reorder
class Paramswithout auditing everyparamsArrayindex. - Do not trust a parameter by label alone. Check the class name imported by
Init_Parameters.sqf, any constants fallback and any later forced assignment before calling it active. - Do not hand-edit generated Vanilla mission drift as a substitute for LoadoutManager propagation.
- Treat
version.sqfas required generated/terrain metadata. Local Chernarus/Vanilla copies may exist as ignored generated files; clean checkouts, generated targets and modded targets still need explicit verification. - Keep Arma 2 OA config syntax in mind; do not import Arma 3
description.extassumptions.
Previous: Mission entrypoints and lifecycle | Next: Tools and build workflow
Main map: Home | Release gate: Source fix propagation queue | Machine ledger: agent-release-readiness.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