mirror of https://github.com/OpenTTD/OpenTTD.git
Add a constant with the default value of 10000 and have the pathfinding settings refer to it. Add a preventative method to AyStar when it's initializing, to limit the number of max_search_nodes if left unattended.
This commit is contained in:
parent
8ab3838387
commit
c05ffb22bd
|
@ -301,4 +301,7 @@ void AyStar::Init(Hash_HashProc hash, uint num_buckets)
|
|||
* When that one gets full it reserves another one, till this number
|
||||
* That is why it can stay this high */
|
||||
this->openlist_queue.Init(102400);
|
||||
|
||||
/* Set a reasonable default limit */
|
||||
this->max_search_nodes = AYSTAR_DEF_MAX_SEARCH_NODES;
|
||||
}
|
||||
|
|
|
@ -20,6 +20,8 @@
|
|||
#include "../../tile_type.h"
|
||||
#include "../../track_type.h"
|
||||
|
||||
static const int AYSTAR_DEF_MAX_SEARCH_NODES = 10000; ///< Reference limit for #AyStar::max_search_nodes
|
||||
|
||||
/** Return status of #AyStar methods. */
|
||||
enum AystarStatus {
|
||||
AYSTAR_FOUND_END_NODE, ///< An end node was found.
|
||||
|
|
|
@ -11,6 +11,7 @@
|
|||
#define PATHFINDER_TYPE_H
|
||||
|
||||
#include "../tile_type.h"
|
||||
#include "npf/aystar.h"
|
||||
|
||||
/** Length (penalty) of one tile with NPF */
|
||||
static const int NPF_TILE_LENGTH = 100;
|
||||
|
|
|
@ -168,7 +168,7 @@ cat = SC_EXPERT
|
|||
[SDT_VAR]
|
||||
var = pf.npf.npf_max_search_nodes
|
||||
type = SLE_UINT
|
||||
def = 10000
|
||||
def = AYSTAR_DEF_MAX_SEARCH_NODES
|
||||
min = 500
|
||||
max = 100000
|
||||
cat = SC_EXPERT
|
||||
|
@ -325,7 +325,7 @@ cat = SC_EXPERT
|
|||
var = pf.yapf.max_search_nodes
|
||||
type = SLE_UINT
|
||||
from = SLV_28
|
||||
def = 10000
|
||||
def = AYSTAR_DEF_MAX_SEARCH_NODES
|
||||
min = 500
|
||||
max = 1000000
|
||||
cat = SC_EXPERT
|
||||
|
|
Loading…
Reference in New Issue