How Radio Wheels Work
CS2 has three built-in radio wheels accessed via:+radialradio- Standard radio+radialradio2- Secondary radio+radialradio3- Tertiary radio
Two-Phase Interaction Model
The framework implements a two-phase system for radio wheel interaction:Phase 1: Display Labels
When you first press a hotkey (e.g.,J for T-side line-ups):
- Resets the deadzone for accurate selection
- Loads label text from configuration files
- Sets up the wheel environment
- Loads map-specific labels
Phase 2: Execute Commands
When you press the same key again while hovering over a tile:- Switches from labels to command configuration
- Sets up the environment for execution (sensitivity, view angles)
- Executes the selected command
- Resets the radio wheel and rebinds hotkey for next use
- Label Configuration
- Command Configuration
Labels are defined in
platform_english.txt language file and loaded via:Radio Wheel Types
The framework uses different radio wheels for different purposes:Map Selection Wheel
CT/T Line-up Wheels
- Equips smoke grenade (
slot8) - Zeros view angles for precise aiming
- Applies standard sensitivity for calculations
Movement/Crosshair Wheel
- Pro player crosshairs
- Null/Snap-tap binds
- Rapid fire mode
- Follow-recoil mode
Multi-Page Wheels
The framework supports multiple pages accessible via mouse wheel scrolling:Each radio wheel supports multiple tabs, and the framework can display different pages by scrolling the mouse wheel while the radio menu is open. This enables hundreds of line-ups across just a few keybinds.
Wheel Setup Process
Before opening a line-up wheel, the framework prepares the environment:startsens- Sets sensitivity to 1.0 for angle calculationszero_ud- Zeros vertical view angle to -89 degreesbuy smokegrenade- Ensures player has a smoke grenadeoriginal_mx/my- Preserves original mouse bindings
Zeroing System
For auto line-ups to work, the framework must know the exact starting view angle:- Horizontal: Sets an extremely high m_yaw to prevent mouse input, then uses
yawcommand to snap to 0 degrees - Vertical: Uses
pitchcommand to snap view to -89 degrees (looking straight up)
The values -4045.45454545 and similar are calculated based on the formula:This ensures pixel-perfect alignment regardless of player’s actual sensitivity.
Deadzone Configuration
The radio wheel deadzone controls how close to the center you can be before a selection is made:Resetting the Radio
After each use, the radio must be reset to default state:Custom Language Files
Radio tile text is customized viaplatform_english.txt:
\n characters create line breaks for better readability in the wheel UI.
Changes to
platform_english.txt require a game restart to take effect, as this file is loaded only during CS2 initialization.