41 }; |
41 }; |
42 typedef enum { /* Flags for AyStarNode.userdata[NPF_NODE_FLAGS]. Use NPFGetBit() and NPFGetBit() to use them. */ |
42 typedef enum { /* Flags for AyStarNode.userdata[NPF_NODE_FLAGS]. Use NPFGetBit() and NPFGetBit() to use them. */ |
43 NPF_FLAG_SEEN_SIGNAL, /* Used to mark that a signal was seen on the way, for rail only */ |
43 NPF_FLAG_SEEN_SIGNAL, /* Used to mark that a signal was seen on the way, for rail only */ |
44 NPF_FLAG_REVERSE, /* Used to mark that this node was reached from the second start node, if applicable */ |
44 NPF_FLAG_REVERSE, /* Used to mark that this node was reached from the second start node, if applicable */ |
45 NPF_FLAG_LAST_SIGNAL_RED, /* Used to mark that the last signal on this path was red */ |
45 NPF_FLAG_LAST_SIGNAL_RED, /* Used to mark that the last signal on this path was red */ |
46 NPF_FLAG_TARGET_CHECKED, /* Used by end node checking function of npf to mark |
|
47 that they have evaluated this node. When this |
|
48 flag is on, NPF_FLAG_IS_TARGET is on when the |
|
49 node is a target, and off when it is not. Should |
|
50 never be used directly, only by the end node |
|
51 checking functions for caching of results. */ |
|
52 NPF_FLAG_IS_TARGET, /* See comment for NPF_FLAG_TARGET_CHECKED */ |
|
53 } NPFNodeFlag; |
46 } NPFNodeFlag; |
54 |
47 |
55 typedef struct NPFFoundTargetData { /* Meant to be stored in AyStar.userpath */ |
48 typedef struct NPFFoundTargetData { /* Meant to be stored in AyStar.userpath */ |
56 uint best_bird_dist; /* The best heuristic found. Is 0 if the target was found */ |
49 uint best_bird_dist; /* The best heuristic found. Is 0 if the target was found */ |
57 uint best_path_dist; /* The shortest path. Is (uint)-1 if no path is found */ |
50 uint best_path_dist; /* The shortest path. Is (uint)-1 if no path is found */ |