Remove useless, old astar measurement code. Some code cleanup.

git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@7919 4a71c877-e1ca-e34f-864e-861f7616d084
master
Per Inge Mathisen 2009-07-29 21:30:07 +00:00 committed by Git SVN Gateway
parent f0f13e295c
commit a33e89200b
5 changed files with 4 additions and 48 deletions

View File

@ -27,15 +27,6 @@
#include "astar.h" #include "astar.h"
#endif #endif
static SDWORD astarOuter, astarRemove;
/** Keeps track of the amount of iterations done in the inner loop of our A*
* implementation.
*
* @ingroup pathfinding
*/
int astarInner = 0;
/** Counter to implement lazy deletion from nodeArray. /** Counter to implement lazy deletion from nodeArray.
* *
* @see fpathTableReset * @see fpathTableReset
@ -89,14 +80,6 @@ static const Vector2i aDirOffset[NUM_DIR] =
{ 1, 1}, { 1, 1},
}; };
// reset the astar counters
void astarResetCounters(void)
{
astarInner = 0;
astarOuter = 0;
astarRemove = 0;
}
/** Add a node to the node table /** Add a node to the node table
* *
* @param psNode to add to the table * @param psNode to add to the table
@ -245,7 +228,7 @@ static FP_NODE *fpathOpenGet(void)
/** Estimate the distance to the target point /** Estimate the distance to the target point
*/ */
static SDWORD fpathEstimate(SDWORD x, SDWORD y, SDWORD fx, SDWORD fy) static SDWORD WZ_DECL_CONST fpathEstimate(SDWORD x, SDWORD y, SDWORD fx, SDWORD fy)
{ {
SDWORD xdiff, ydiff; SDWORD xdiff, ydiff;
@ -283,7 +266,7 @@ SDWORD fpathAStarRoute(MOVE_CONTROL *psMove, PATHJOB *psJob)
{ {
FP_NODE *psFound, *psCurr, *psNew; FP_NODE *psFound, *psCurr, *psNew;
FP_NODE *psNearest, *psRoute; FP_NODE *psNearest, *psRoute;
SDWORD dir, x,y, currDist; SDWORD dir, x, y, currDist;
SDWORD retval = ASR_OK; SDWORD retval = ASR_OK;
const int tileSX = map_coord(psJob->origX); const int tileSX = map_coord(psJob->origX);
const int tileSY = map_coord(psJob->origY); const int tileSY = map_coord(psJob->origY);
@ -325,10 +308,8 @@ SDWORD fpathAStarRoute(MOVE_CONTROL *psMove, PATHJOB *psJob)
psNearest = psCurr; psNearest = psCurr;
} }
astarOuter += 1;
// loop through possible moves in 8 directions to find a valid move // loop through possible moves in 8 directions to find a valid move
for(dir=0; dir<NUM_DIR; dir+=1) for (dir = 0; dir < NUM_DIR; dir += 1)
{ {
/* make non-orthogonal-adjacent moves' dist a bit longer/cost a bit more /* make non-orthogonal-adjacent moves' dist a bit longer/cost a bit more
5 6 7 5 6 7
@ -352,7 +333,6 @@ SDWORD fpathAStarRoute(MOVE_CONTROL *psMove, PATHJOB *psJob)
x = psCurr->x + aDirOffset[dir].x; x = psCurr->x + aDirOffset[dir].x;
y = psCurr->y + aDirOffset[dir].y; y = psCurr->y + aDirOffset[dir].y;
// See if the node has already been visited // See if the node has already been visited
psFound = fpathGetNode(x, y); psFound = fpathGetNode(x, y);
if (psFound && psFound->dist <= currDist) if (psFound && psFound->dist <= currDist)
@ -368,9 +348,6 @@ SDWORD fpathAStarRoute(MOVE_CONTROL *psMove, PATHJOB *psJob)
continue; continue;
} }
astarInner += 1;
ASSERT(astarInner >= 0, "astarInner overflowed!");
// Now insert the point into the appropriate list // Now insert the point into the appropriate list
if (!psFound) if (!psFound)
{ {
@ -378,15 +355,13 @@ SDWORD fpathAStarRoute(MOVE_CONTROL *psMove, PATHJOB *psJob)
psNew = fpathNewNode(x,y, currDist, psCurr); psNew = fpathNewNode(x,y, currDist, psCurr);
if (psNew) if (psNew)
{ {
psNew->est = (SWORD)fpathEstimate(x,y, tileFX, tileFY); psNew->est = fpathEstimate(x, y, tileFX, tileFY);
fpathOpenAdd(psNew); fpathOpenAdd(psNew);
fpathAddNode(psNew); fpathAddNode(psNew);
} }
} }
else if (psFound->type == NT_OPEN) else if (psFound->type == NT_OPEN)
{ {
astarRemove += 1;
// already in the open list but this is shorter // already in the open list but this is shorter
psFound->dist = (SWORD)currDist; psFound->dist = (SWORD)currDist;
psFound->psRoute = psCurr; psFound->psRoute = psCurr;
@ -399,14 +374,9 @@ SDWORD fpathAStarRoute(MOVE_CONTROL *psMove, PATHJOB *psJob)
psFound->psRoute = psCurr; psFound->psRoute = psCurr;
fpathOpenAdd(psFound); fpathOpenAdd(psFound);
} }
else
{
ASSERT(!"the open and closed lists are fried/wrong", "fpathAStarRoute: the open and closed lists are f***ed");
}
} }
// add the current point to the closed nodes // add the current point to the closed nodes
// fpathAddNode(psCurr);
psCurr->type = NT_CLOSED; psCurr->type = NT_CLOSED;
} }

View File

@ -23,14 +23,6 @@
#include "fpath.h" #include "fpath.h"
/** Reset the A* counters
*
* This function resets astarInner among others.
*
* @ingroup pathfinding
*/
extern void astarResetCounters(void);
/** return codes for astar /** return codes for astar
* *
* @ingroup pathfinding * @ingroup pathfinding

View File

@ -2140,7 +2140,6 @@ static void astarTest(const char *name, int x1, int y1, int x2, int y2)
PATHJOB job; PATHJOB job;
route.numPoints = 0; route.numPoints = 0;
astarResetCounters();
job.origX = x; job.origX = x;
job.origY = y; job.origY = y;
job.destX = endx; job.destX = endx;

View File

@ -299,9 +299,6 @@ void moveUpdateBaseSpeed(void)
// Set the base turn rate // Set the base turn rate
baseTurn = ((float)totalTime * BASE_TURN) / (GAME_TICKS_PER_SEC * BASE_FRAMES); baseTurn = ((float)totalTime * BASE_TURN) / (GAME_TICKS_PER_SEC * BASE_FRAMES);
// reset the astar counters
astarResetCounters();
} }
/** Set a target location in world coordinates for a droid to move to /** Set a target location in world coordinates for a droid to move to

View File

@ -169,8 +169,6 @@ int main(int argc, char **argv)
move.asPath = NULL; move.asPath = NULL;
move.numPoints = 0; move.numPoints = 0;
astarResetCounters();
result = fpathAStarRoute(&move, &job); result = fpathAStarRoute(&move, &job);
assert(result == ASR_OK); assert(result == ASR_OK);
assert(move.numPoints == 214); assert(move.numPoints == 214);