Skip to content

Conversation

@themuffinator
Copy link
Owner

Motivation

  • Restore retail-like camp spot support by parsing info_camp entities from the BSP entity lump into AAS state so bots can iterate map-defined camp positions.
  • Provide a library-facing iterator to enumerate configured camp spots in the same resumable style used by other goal helpers.

Description

  • Add aas_campspot_t and fields aasworld.campSpots / aasworld.numCampSpots to src/botlib/aas/aas_local.h to store parsed camp spots.
  • Implement AAS_ParseVectorValue and origin handling in AAS_ParseEntityKeyValue, and register camp spots via AAS_RegisterCampSpot called from AAS_ParseEntityLump in src/botlib/aas/aas_map.c.
  • Free camp spot list during world cleanup in AAS_ClearWorld to avoid leaks and keep map reload semantics consistent.
  • Add BotGetNextCampSpotGoal to src/botlib/ai_goal/bot_goal.c and declare it in bot_goal.h to iterate camp spots and return a bot_goal_t with origin and computed areanum.

Testing

  • No automated tests were executed for this change.
  • Changes were committed locally (no build or CI run performed as part of this PR).
  • Manual static review verified parsing integrates into AAS_ParseEntityLump and that the camp-spot list is cleared on world reset.
  • Further validation recommended: run full build and map-load integration tests to confirm spots are discovered and BotGetNextCampSpotGoal returns expected goals.

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