From 9b21dfaeb0183d6e7813480d04e371827b1a073d Mon Sep 17 00:00:00 2001 From: alberth Date: Sat, 2 Oct 2010 19:29:00 +0000 Subject: (svn r20874) -Codechange: Make init_AyStar a method. --- src/pathfinder/npf/aystar.cpp | 13 +++++++++---- src/pathfinder/npf/aystar.h | 9 ++------- src/pathfinder/npf/npf.cpp | 2 +- 3 files changed, 12 insertions(+), 12 deletions(-) (limited to 'src/pathfinder/npf') 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(); } -- cgit v1.2.3-70-g09d2