Bumping here because I got a confirmation about what is all about here...
viewtopic.php?f=12&t=13572&start=180#p117734
By deleting a node and making null reachspecs it's not like this is an answer - probably it's a fake fix, or I might be wrong. I had on the table a map for testing - sent via PM, so it's private. It has such nullified ReachSpecs.
Code: Select all
LostData: ReachSpecs missing from Paths[0-15] = 25.
LostData: ReachSpecs missing from upStreamPaths[0-15] = 14.
SpamData: Debris ReachSpecs found = 19. //HAZARD ? - Confirmed Nov/27/2021
FixedWithSuccess: ReachSpecs successfully attached = 39.
FixFailures: ReachSpecs attaching failures - probably no place = 0.
Without to save anything fixed - I loaded map in a test session with two Bots. If this "method" will in be part of future 469 versions, entire idea should be completely discarded and forget - you are deleting ReachSpecs or just never touch them. Even if a new patch can deal in run-time with said map, original UT it's not like has a deal here as long as it NEVER DOES a null ReachSpec, we do have lost paths but NEVER NULL paths.
Let's see what happens in run-time:
Code: Select all
Critical: APawn::breadthPathFrom
Critical: APawn::findPathToward
The crash is taken from XC crash-log as long as in game-log all was suddenly broken and log file did not even close returning a nasty error concerning some run-time blah blah "contact vendor etc".
Original function "breadthPathFrom" is NOT SUPPORTING ZERO data, it will crash because Editor never does NULL data in ReachSpecs.
Amazing feature shown in video can be deleted and forget until we want to supply UT with more crushers UNR files.
You don't have to be a scientist from NASA for figuring problem here in
UnRoute.cpp:
Code: Select all
int APawn::breadthPathFrom(AActor *start, AActor *&bestPath, int bSinglePath, int moveFlags)
{
guard(APawn::breadthPathFrom);
//FIXME - perhaps track and bound number of edges to search or max depth?
/*
Sektor2111: Where is the sanity check for Start End ? If they are NULL > NONE it's time for some ugly corruptions.
And since source-code was never published in public, who the heck was supposed to operate that "//FIXME" wreck
often seen all over the place ?
And error is coming from the other place calling the function with a NULL argument...
*/
ANavigationPoint* currentnode = (ANavigationPoint *)start; //BOOOM ! - What Start ? We do have NONE - NULL.
ANavigationPoint* nextnode;
ANavigationPoint* BinTree = currentnode;
int iRadius = (int)CollisionRadius;
int iHeight = (int)CollisionHeight;
int p = 0;
int n = 0;
int realSplit = 1;
FReachSpec *spec;
....
When mapper has "idea" to delete a Node and to crash the game without rebuilding paths, by nulling paths concerning Deleted Node we don't fix anything, the crash is only changed - because game is crashing even using XC_Engine24, and then... you need to delete and remap ReachSpecs or just don't do anything because 436-451 won't fix by themselves.
Investigation result: One of lost incomplete ReachSpec I found referenced into network - others previously checked weren't there. I think that one was the crusher which for some reason was still in UpStreamPaths list. Without rebuilding paths, I only defragmented Data and map went stable...
Edit: Preparing next stage from XC_EditorAdds pathing works under 469b...
A request for relics presence DM-beta_Funnel_4 - after adding PathNodes and using a small MaxDistance for getting minimal charge...
viewtopic.php?f=12&t=14913&start=15#p132518
Instead of having under 1000 ReachSpecs for 280 "MaxDistance" I got these...
2273 ReachSpecs and... were not even placed normally...
Here... by defragmenting them, all were placed in their places but... based on my lousy math, I think I have now duplicated ReachSpecs for same routes which doesn't make any sense. I did not even marked bFastPrune... but I have PrunedPaths out of Navigation Network...
Why working with a reduced ScanRange/MaxDistance ?
Because in 469b in this stage it's not like everything is cute using internal stock DevPath.
It's a joke if you ask my opinion...
Yes, it's Editor 2.2.
Sektor's Self dialogue:
Q: Can you do something for mapping some PrunedPaths into XC_PathsWorker ?
A: What For ? More script assumptions when Editing Paths is doable manually using EYES ? Nah...