MetaDrawer screenshot acceptance matrix
CSRetro implements the dynamic radar in the native client DLL (see Client). This page maps each reference PNG in the repository path 3rdparty/cstrike-vendored-assets/Screenshots/ to the client settings and conditions needed for a fair comparison. It does not imply pixel-perfect identity with another engine renderer.
Reference files
| File | What to match | CSRetro knobs / conditions |
|---|---|---|
Radar OFF.png |
Radar hidden | cl_radar_enable 0 or HUD rules that hide radar (no suit, spec-only, death) — see CHudRadar::Draw in the vendored client sources. |
Radar ON.png |
Default panel visible | cl_radar_enable 1, cl_radar_width / height > 0 (default 180×180), cl_radar_x / y defaults. |
Radar Border OFF.png |
No frame stroke | cl_radar_border 0 |
Radar Border ON.png |
Gray frame | cl_radar_border 1, cl_radar_border_r/g/b default 72, cl_radar_border_width 2 |
Circle Radar.png |
Circular blip mask | cl_radar_circle 1; inner radius follows panel / overview inset. |
MD Radar 1.png–MD Radar 3.png |
Map overview in panel | cl_radar_overview 1 or 2, map provides cstrike/overviews/<map>.txt + valid overview sprite; same map as reference shot if comparing tiles. |
Bomb Planted.png |
Bomb / state blips | Game state from server (Radar user messages, C4 flag on player info); not screenshot-configurable alone. |
CT Bots.png / T Bots.png |
Team colours / bots | Same team and bot positions as reference; blip colours from team + topcolor pipeline. |
CS2-style features (must remain available)
These are in addition to MetaDrawer-style layout and must not be removed when tuning visuals:
- FOV cone, noise ring, smoke overlay, enemy radar (opt-in server), aim ping — same table in Players.
Visual tuning (native cl_dll)
When comparing to PNGs, adjust incrementally — the native path uses TriAPI + pfnSPR_DrawGeneric for overview blips, not MetaHook:
cl_radar_blip_scale— sprite size on the dynamic radar (default 0.5).cl_radar_blip_sprites—0falls back to dots/T/cross for A/B tests against reference shots that used only vector blips.- Panel fill / border —
cl_radar_panel_*,cl_radar_border_*,cl_radar_alpha(see Players).
Gap analysis (why it can still look different)
The vendored MetaDrawer gfx/hud.txt only registers scoreboard entries in this pack — there is no separate radar-frame sprite registered there. The dynamic radar panel in CSRetro is drawn with FillRGBA and TriAPI borders. Blips default to GoldSrc overview sprites from sprites/overviews/*.spr when cl_radar_blip_sprites is 1 and each file loads; otherwise they fall back to the dot/T/cross raster path. Vendored icons live under 3rdparty/cstrike-vendored-assets/cstrike/sprites/overviews/ and are copied to game-test/ on ./tools.sh build:full (or ./tools.sh install:vendored-cstrike-assets / install:metadrawer-ref). Matching a reference PNG exactly still requires the same map overview, same game state, and tuned cl_radar_* values per row in the table above.
Letterboxing: In full-map overview mode (cl_radar_overview_radius ≤ 0), the overview is aspect-fit inside the panel — empty margin around the map is normal and also appears in original MetaDrawer reference shots (e.g. MD Radar 1.png, Radar ON.png). It is not a sign that build:full failed to install sprites.
Assets
Vendored sprites are copied on ./tools.sh build:full. To re-merge without a full build:
./tools.sh install:vendored-cstrike-assets
(alias: install:metadrawer-ref). See MetaDrawer radar assets.