In order to get out a RPF library for NoGo that is compatible with the AI version there are two options:
- Release a new updated AI RPF that use AyStar 6 (instead of 4 as of now) as well as a NoGo version of this RPF that use the already ported AyStar 6 for NoGo.
- Release a NoGo port of AyStar 4 as eg. "AyStar Classic" and use that as basis for a RPF port of RPF 3 for AIs.
The first option (in the list above) give us a RPF based on AyStar 6 while the later will use AyStar 4 as the basis for both RPFs.
Selected solution - Make RPF 4 that depend on AyStar 6
After a discussion on IRC a few days ago the conclusion was that while AI authors that use RPF 3 will need to change about 4-5 lines of code when switching to RPF 4 (based on AyStar 6), that is still better as this is a good moment to introduce the API change and switch to AyStar 6.
The changes needed are eg:
Code: Select all
// from:
function _SuperLib_RoadPathFinder_private_CustomRPF::_Cost(path, new_tile, new_direction, self)
// to:
function _SuperLib_RoadPathFinder_private_CustomRPF::_Cost(self, path, new_tile, new_direction)
I've attached the new RPF 4 for AI and NoGo. These have not yet been committed at devZone or uploaded to bananas. I plan to also upload a new SuperLib at the same moment as RPF 4 is uploaded that support the new RPF version 4.
Edit: Removed attachments. Final tar files of RPF 4 have been uploaded to bananas.