File diff r27788:71137956fe15 → r27789:f40896dc7c47
src/pathfinder/npf/npf.cpp
Show inline comments
 
@@ -132,20 +132,20 @@ static uint NPFDistanceTrack(TileIndex t
 

	
 
/**
 
 * Calculates a hash value for use in the NPF.
 
 * @param key1 The TileIndex of the tile to hash
 
 * @param key2 The Trackdir of the track on the tile.
 
 * @param tile The TileIndex of the tile to hash
 
 * @param dir The Trackdir of the track on the tile.
 
 *
 
 * @todo Think of a better hash.
 
 */
 
static uint NPFHash(uint key1, uint key2)
 
static uint NPFHash(TileIndex tile, Trackdir dir)
 
{
 
	/* TODO: think of a better hash? */
 
	uint part1 = TileX(key1) & NPF_HASH_HALFMASK;
 
	uint part2 = TileY(key1) & NPF_HASH_HALFMASK;
 
	uint part1 = TileX(tile) & NPF_HASH_HALFMASK;
 
	uint part2 = TileY(tile) & NPF_HASH_HALFMASK;
 

	
 
	assert(IsValidTrackdir((Trackdir)key2));
 
	assert(IsValidTile((TileIndex)key1));
 
	return ((part1 << NPF_HASH_HALFBITS | part2) + (NPF_HASH_SIZE * key2 / TRACKDIR_END)) % NPF_HASH_SIZE;
 
	assert(IsValidTrackdir(dir));
 
	assert(IsValidTile(tile));
 
	return ((part1 << NPF_HASH_HALFBITS | part2) + (NPF_HASH_SIZE * dir / TRACKDIR_END)) % NPF_HASH_SIZE;
 
}
 

	
 
static int32_t NPFCalcZero(AyStar *as, AyStarNode *current, OpenListNode *parent)