Skip to content

Conversation

@themuffinator
Copy link
Owner

Motivation

  • Restore the missing movement perception export required by the parity matrix so origin-to-area resolution is consistent with HLIL/Quake logic.
  • Ensure solid-area handling and mover-support (func_plat/func_bob) are resolved the same way retail code expects so navigation and goal selection can rely on accurate AAS areas.
  • Provide an exported API for game code to query the reachability area for an origin/client pair.

Description

  • Implement BotReachabilityArea in src/botlib/ai_move/bot_move.c with solid-area tracing and mover-aware handling and add helper functions BotMove_AreaHasReachability, BotMove_FuzzyPointReachabilityArea, BotMove_GetClientTraceBounds, and BotMove_FindMoverReachabilityArea.
  • Add the declaration int BotReachabilityArea(vec3_t origin, int client); to src/botlib/ai_move/bot_move.h and update surrounding prototypes.
  • Export the function through the public API by adding a wrapper BotInterface_BotReachabilityArea and wiring exportTable.BotReachabilityArea in src/botlib/interface/bot_interface.c, and declare the symbol in src/q2bridge/botlib.h.
  • Use AAS_NextModelReachability/AAS data to detect mover reachability and Q2_Trace with the client bounding box to trace down through solids, matching the retail fuzzy-area lookup behaviour.

Testing

  • No automated tests were executed for this change.

Codex Task

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