diff options
author | Bjørn Lindeijer <bjorn@lindeijer.nl> | 2005-02-13 02:36:41 +0000 |
---|---|---|
committer | Bjørn Lindeijer <bjorn@lindeijer.nl> | 2005-02-13 02:36:41 +0000 |
commit | ba5dc49d30d6ba465b01dbf3abc933250edcb6c6 (patch) | |
tree | 42f13fe5390c457ea7b32bfdab913fab93bb6d41 /src | |
parent | 43112ecba9f1584360b4d5e79eee3f183792e544 (diff) | |
download | mana-ba5dc49d30d6ba465b01dbf3abc933250edcb6c6.tar.gz mana-ba5dc49d30d6ba465b01dbf3abc933250edcb6c6.tar.bz2 mana-ba5dc49d30d6ba465b01dbf3abc933250edcb6c6.tar.xz mana-ba5dc49d30d6ba465b01dbf3abc933250edcb6c6.zip |
Fix in calculating G cost in A* implementation.
Diffstat (limited to 'src')
-rw-r--r-- | src/graphic/graphic.cpp | 8 | ||||
-rw-r--r-- | src/map.cpp | 2 |
2 files changed, 9 insertions, 1 deletions
diff --git a/src/graphic/graphic.cpp b/src/graphic/graphic.cpp index da18b109..107c441f 100644 --- a/src/graphic/graphic.cpp +++ b/src/graphic/graphic.cpp @@ -502,6 +502,14 @@ void Engine::draw() destRect.h = 8; SDL_FillRect(screen, &destRect, SDL_MapRGB(screen->format, 255, 0, 0)); + Tile *tile = tiledMap.getTile(debugPath->x, debugPath->y); + + std::stringstream cost; + cost << tile->Fcost; + guiGraphics->_beginDraw(); + guiGraphics->drawText(cost.str(), destRect.x - 12, destRect.y + 8); + guiGraphics->_endDraw(); + // Move to the next node PATH_NODE *temp = debugPath->next; delete debugPath; diff --git a/src/map.cpp b/src/map.cpp index 597afa49..1e4cb3ba 100644 --- a/src/map.cpp +++ b/src/map.cpp @@ -263,7 +263,7 @@ PATH_NODE *Map::findPath(int startX, int startY, int destX, int destY) // Calculate G cost for this route, 10 for moving straight and // 14 for moving diagonal - int Gcost = curr.tile->Gcost + (dx == 0 || dy == 0) ? 10 : 14; + int Gcost = curr.tile->Gcost + ((dx == 0 || dy == 0) ? 10 : 14); if (newTile->whichList != onOpenList) { |