More progress.

- AMBUSH flag on nodes makes them blind and untargetable when getting `startnode` and `goalnode` for `FindPath()`. This is useful for indicating a node should be skipped when tele/portaling, so the current path can be preserved.
- Setup is simple: place nodes behind lines that tele/portal entities and mark them as AMBUSH.

Other changes:

- Restored global array since blockmap is not a viable option here.
- Added MAPINFO `pathing` flag which enables pathing by default.
- Added NOPATHING flag to disable pathing entirely, useful for maps that have pathing enabled.
- Added `ReachedNode(Actor mo)` virtual, responsible for handling node traversal.
- Nodes now make use of MeleeRange to limit their sight checking functions.
This commit is contained in:
Major Cooke 2024-02-16 09:22:20 -06:00 committed by Rachael Alexanderson
commit 81ebd8c8c4
14 changed files with 211 additions and 83 deletions

View file

@ -326,6 +326,7 @@ void FLevelLocals::ClearLevelData(bool fullgc)
}
ClearPortals();
PathNodes.Clear();
tagManager.Clear();
ClearTIDHashes();
if (SpotState) SpotState->Destroy();