Skip to content

Bot / Nav Regression Reference

This document describes CSRetro's relationship to upstream ReGameDLL_CS regarding bot navigation and AI behavior.

Background

ReGameDLL_CS includes YAPB (Yet Another Ping Bot) in the vendored tree at client/3rdparty/yapb/.

CSRetro does not modify the ReGameDLL_CS or YAPB source. All bot and navigation behavior matches the upstream rehlds/ReGameDLL_CS at the revision recorded in VENDOR.md.

What Is Not a Bot Regression

The following behaviors are by design in upstream ReGameDLL_CS / YAPB and are not CSRetro regressions:

  • Bots occasionally getting stuck on stairs or near ladders
  • Bots not navigating to certain bomb sites on community maps without .pwf waypoint files
  • Bot pathing differences between official and custom maps
  • YAPB using ping simulation (bots appear with latency in the scoreboard)

Comparing Against Upstream

To verify that a behavior difference is CSRetro-specific and not upstream:

# Check the pinned ReGameDLL_CS commit
git -C client/3rdparty/ReGameDLL_CS log -1 --format="%h %s %ci"

# Compare against upstream master
git -C client/3rdparty/ReGameDLL_CS fetch origin master
git -C client/3rdparty/ReGameDLL_CS log HEAD..origin/master --oneline

Defensive Guards in CSRetro

CSRetro currently applies no patches to ReGameDLL_CS or YAPB.
All source is used as-is from the vendored upstream tree.

If a guard or workaround is ever added, it will be documented here with the reason and the upstream issue link.

Bot Waypoints

YAPB uses .pwf waypoint files stored in cstrike/addons/yapb/data/.
The standard YAPB waypoint pack can be downloaded separately from the YAPB project page.

Map coverage without a waypoint file: bots will attempt to navigate using basic pathfinding but performance will be degraded.

Reporting Issues

If you observe a bot behavior that appears specific to CSRetro (not present in a fresh upstream ReGameDLL_CS + YAPB setup), open an issue with:

  1. Map name
  2. Bot count and difficulty
  3. Reproducible steps
  4. Comparison result against upstream (see above)