Upgrade requirements for 2013.1.x

This page outlines the changes that you must make to your code in order to upgrade to the 2013.1 release.

Changes to AStar customizers and path following predicates

This release changes the API of the template parameters expected by the AStarQuery and PathFollower classes for customizing path calculation and path following based on NavTags. If you currently provide a custom A* customizer to the AStarQuery or a custom NavTag predicate to the PathFollower for your Bots, you will need to update your custom class accordingly:

For details, see Forbidding, Avoiding, and Preferring NavTags.

New AStarQuery propagation control

With the introduction of NavTag cost multipliers, the method previously used to limit the propagation of an AStarQuery based on path cost has become impractical. Instead of specifying the maximum absolute cost for a new path, you can now specify a maximum distance threshold. The A* algorithm will not propagate farther than this distance along the horizontal (X,Y) axes from the straight-line segment drawn between the starting point and the destination.

The AStarQuery::SetPathMaxCost() method has been removed and replaced by AStarQuery::SetPropagationBoxExtent().

See AStarQuery Options.

Changes to ScopedDisplayList interface

The interface of the ScopedDisplayList class has changed in order to support sending custom visual debug data to the Navigation Lab that will persist over multiple frames without having to re-send the data at each frame, and to support linking display lists to individual WorldElements such as Bots and obstacles.

For details on the new interface, see Visual Debugging, the ScopedDisplayList class description, or the Tutorial_VisualDebug.cpp tutorial.