Skip to content

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.pngMD 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_sprites0 falls 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.