diff options
author | alberth <alberth@openttd.org> | 2010-10-02 19:29:00 +0000 |
---|---|---|
committer | alberth <alberth@openttd.org> | 2010-10-02 19:29:00 +0000 |
commit | 9b21dfaeb0183d6e7813480d04e371827b1a073d (patch) | |
tree | e33a67b04e79f476ffb512b7cf7b45d5d58f3a0d /src | |
parent | a8af2c97c1921fd6b87c8120d389052c261b6e17 (diff) | |
download | openttd-9b21dfaeb0183d6e7813480d04e371827b1a073d.tar.xz |
(svn r20874) -Codechange: Make init_AyStar a method.
Diffstat (limited to 'src')
-rw-r--r-- | src/pathfinder/npf/aystar.cpp | 13 | ||||
-rw-r--r-- | src/pathfinder/npf/aystar.h | 9 | ||||
-rw-r--r-- | src/pathfinder/npf/npf.cpp | 2 |
3 files changed, 12 insertions, 12 deletions
diff --git a/src/pathfinder/npf/aystar.cpp b/src/pathfinder/npf/aystar.cpp index b563a20d2..951ce9f32 100644 --- a/src/pathfinder/npf/aystar.cpp +++ b/src/pathfinder/npf/aystar.cpp @@ -277,15 +277,20 @@ void AyStar::AddStartNode(AyStarNode *start_node, uint g) AyStarMain_OpenList_Add(this, NULL, start_node, 0, g); } -void init_AyStar(AyStar *aystar, Hash_HashProc hash, uint num_buckets) +/** + * Initialize an #AyStar. You should fill all appropriate fields before + * calling #Init (see the declaration of #AyStar for which fields are + * internal. + */ +void AyStar::Init(Hash_HashProc hash, uint num_buckets) { /* Allocated the Hash for the OpenList and ClosedList */ - init_Hash(&aystar->OpenListHash, hash, num_buckets); - init_Hash(&aystar->ClosedListHash, hash, num_buckets); + init_Hash(&this->OpenListHash, hash, num_buckets); + init_Hash(&this->ClosedListHash, hash, num_buckets); /* Set up our sorting queue * BinaryHeap allocates a block of 1024 nodes * When that one gets full it reserves another one, till this number * That is why it can stay this high */ - aystar->OpenListQueue.Init(102400); + this->OpenListQueue.Init(102400); } diff --git a/src/pathfinder/npf/aystar.h b/src/pathfinder/npf/aystar.h index 199e3d944..92e8d39c8 100644 --- a/src/pathfinder/npf/aystar.h +++ b/src/pathfinder/npf/aystar.h @@ -139,6 +139,8 @@ struct AyStar { AyStarNode neighbours[12]; byte num_neighbours; + void Init(Hash_HashProc hash, uint num_buckets); + /* These will contain the methods for manipulating the AyStar. Only * Main() should be called externally */ void AddStartNode(AyStarNode *start_node, uint g); @@ -159,11 +161,4 @@ struct AyStar { Hash OpenListHash; }; - -/* Initialize an AyStar. You should fill all appropriate fields before - * callling init_AyStar (see the declaration of AyStar for which fields are - * internal */ -void init_AyStar(AyStar *aystar, Hash_HashProc hash, uint num_buckets); - - #endif /* AYSTAR_H */ diff --git a/src/pathfinder/npf/npf.cpp b/src/pathfinder/npf/npf.cpp index 2cad61e65..04213b405 100644 --- a/src/pathfinder/npf/npf.cpp +++ b/src/pathfinder/npf/npf.cpp @@ -1081,7 +1081,7 @@ void InitializeNPF() static bool first_init = true; if (first_init) { first_init = false; - init_AyStar(&_npf_aystar, NPFHash, NPF_HASH_SIZE); + _npf_aystar.Init(NPFHash, NPF_HASH_SIZE); } else { _npf_aystar.Clear(); } |