Skip to content

WASP Vehicle Radio And Radio Tower

grok-main-07162211-1 edited this page Jul 17, 2026 · 1 revision

WASP Vehicle Radio / Radio Tower

Source pass: 2026-07-17 against rayswaynl/a2waspwarfare origin/master (Chernarus mission root). Lobby default is OFF even when SQF constants suggest ON.

What It Is

WASP Vehicle Radio is a client-side internet radio playback loop for vehicle occupants. Playback only runs while the local player's side has at least one alive Radio Tower. Destroying or selling the tower silences streams on the next 1-second manager tick — no per-frame nearObjects scan.

Design goal: one script VM per client, not per vehicle (avoids the per-unit-VM FPS cost pattern the mission fights elsewhere).

Default: Disabled (Parameters Win)

Source Setting Anchor
SQF constant WFBE_C_STRUCTURES_RADIOTOWER = 1 Common/Init/Init_CommonConstants.sqf:1893
Lobby parameter (WINS) WFBE_C_STRUCTURES_RADIOTOWER default = 0 Rsc/Parameters.hpp:95-100

Per project rules, Parameters.hpp default= overrides script constants for lobby-exposed params. Document and operate this feature as default-disabled. Hosts must enable Vehicle Radio (Radio Tower) in mission parameters for towers to be buildable / radio to gate on.

Cash cost constant (when buildable): WFBE_C_STRUCTURES_RADIOTOWER_CASH_COST (player cash, not side supply) — see constants near the Radio Tower block.

Components

Piece Path Role
Manager loop WASP/Radio/Radio_Manager.sqf Single client VM; PLAY/STOP/VOLUME via extension
Config WASP/Radio/Radio_Config.sqf Mode, station table, volume defaults
Tower probe Common/Functions/Common_HasSideRadioTower.sqf Side alive-flag read; returns false when param ≤ 0
Alive flags WFBE_RADIOTOWER_WEST_ALIVE / WFBE_RADIOTOWER_EAST_ALIVE Maintained by construction/kill paths (server)

Playback gate (all must be true)

From Radio_Manager.sqf:

  • player is in a vehicle (not on foot as the radio vehicle);
  • vehicle alive;
  • vehicle WASP_Radio_On is true;
  • WASP_RADIO_MODE == 1 (2D personal / occupant hears);
  • side has an alive radio tower;
  • selected station URL non-empty.

Tower probe semantics

Common_HasSideRadioTower.sqf:

  • feature-off (WFBE_C_STRUCTURES_RADIOTOWER <= 0) → always false;
  • WEST / EAST only (no resistance tower structure in this design);
  • reads public alive flags — no client-side structure registry walk.

Stations And Extension

Stations are configured in WASP/Radio/Radio_Config.sqf as name → stream URL pairs played by the client extension command family RADIO,PLAY / RADIO,STOP / RADIO,VOLUME (a2waspwarfare_Extension). Continuous streams — no CfgMusic track advancement.

Public hygiene: do not paste third-party stream hostnames or operator machine paths into PRs/logs; keep station URLs only in the config source of truth.

If the external stream host is unreachable, the extension path is intended to fail closed (silence, no crash loop).

Scope Notes

  • Radio Tower construction model/comments note terrain content verification risks for non-Chernarus maps — re-check structure model availability before enabling on TK/ZG packages.
  • Mode 3D diegetic audio is not available under streaming extension playback (config comment).

Continue Reading

Edit summary (task wasp-wiki-pages-wave-20260717)

New page. Emphasizes Parameters.hpp default 0 wins over SQF = 1. Confidence: high on gate and manager loop (full file reads).

Sidebar

Clone this wiki locally