Skip to content

Conversation

@themuffinator
Copy link
Owner

Motivation

  • Restore movement/AAS parity by adding the missing reachability-area lookup used by movement and goal code.
  • Match HLIL/Quake logic for handling solid/mover surfaces, water detection, and origin→area resolution so other move helpers can rely on consistent area semantics.
  • Export the helper through the botlib interface so the game DLL and other subsystems can call into the move layer.

Description

  • Implemented BotReachabilityArea in src/botlib/ai_move/bot_move.c with mover handling, water/solid checks, and a fallback fuzzy area resolver (BotMove_FuzzyPointReachabilityArea).
  • Added internal helpers BotMove_AreaHasReachability and BotMove_GetClientBounds to check area reachability and obtain client bounding boxes for traces.
  • Declared the symbol in the move header by adding int BotReachabilityArea(const vec3_t origin, int client); to src/botlib/ai_move/bot_move.h.
  • Exposed the function through the botlib export table by adding BotInterface_BotReachabilityArea and wiring exportTable.BotReachabilityArea in src/botlib/interface/bot_interface.c, and added the prototype to src/q2bridge/botlib.h so the game can call it.

Testing

  • No automated tests were executed for this change.
  • Basic repository operations used during development included targeted searches and source edits, and the changes were committed to the working branch.

Codex Task

@themuffinator themuffinator merged commit c4b91fb into main Dec 30, 2025
2 of 6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants