(svn r20875) -Codechange: Make AyStarMain_OpenList_Add a method.

pull/155/head
alberth 14 years ago
parent 230537d7c9
commit 7ed89d50d3

@ -69,17 +69,17 @@ static OpenListNode *AyStarMain_OpenList_Pop(AyStar *aystar)
/* Adds a node to the OpenList /* Adds a node to the OpenList
* It makes a copy of node, and puts the pointer of parent in the struct */ * It makes a copy of node, and puts the pointer of parent in the struct */
static void AyStarMain_OpenList_Add(AyStar *aystar, PathNode *parent, const AyStarNode *node, int f, int g) void AyStar::OpenListAdd(PathNode *parent, const AyStarNode *node, int f, int g)
{ {
/* Add a new Node to the OpenList */ /* Add a new Node to the OpenList */
OpenListNode *new_node = MallocT<OpenListNode>(1); OpenListNode *new_node = MallocT<OpenListNode>(1);
new_node->g = g; new_node->g = g;
new_node->path.parent = parent; new_node->path.parent = parent;
new_node->path.node = *node; new_node->path.node = *node;
Hash_Set(&aystar->OpenListHash, node->tile, node->direction, new_node); Hash_Set(&this->OpenListHash, node->tile, node->direction, new_node);
/* Add it to the queue */ /* Add it to the queue */
aystar->OpenListQueue.Push(new_node, f); this->OpenListQueue.Push(new_node, f);
} }
/* /*
@ -134,7 +134,7 @@ void AyStar::CheckTile(AyStarNode *current, OpenListNode *parent)
this->OpenListQueue.Push(check, new_f); this->OpenListQueue.Push(check, new_f);
} else { } else {
/* A new node, add him to the OpenList */ /* A new node, add him to the OpenList */
AyStarMain_OpenList_Add(this, closedlist_parent, current, new_f, new_g); this->OpenListAdd(closedlist_parent, current, new_f, new_g);
} }
} }
@ -274,7 +274,7 @@ void AyStar::AddStartNode(AyStarNode *start_node, uint g)
printf("[AyStar] Starting A* Algorithm from node (%d, %d, %d)\n", printf("[AyStar] Starting A* Algorithm from node (%d, %d, %d)\n",
TileX(start_node->tile), TileY(start_node->tile), start_node->direction); TileX(start_node->tile), TileY(start_node->tile), start_node->direction);
#endif #endif
AyStarMain_OpenList_Add(this, NULL, start_node, 0, g); this->OpenListAdd(NULL, start_node, 0, g);
} }
/** /**

@ -159,6 +159,8 @@ struct AyStar {
/* An extra hash to speed up the process of looking up an element in /* An extra hash to speed up the process of looking up an element in
* the open list */ * the open list */
Hash OpenListHash; Hash OpenListHash;
void OpenListAdd(PathNode *parent, const AyStarNode *node, int f, int g);
}; };
#endif /* AYSTAR_H */ #endif /* AYSTAR_H */

Loading…
Cancel
Save