[9824] Use in taxi flight movegen original taxipath data.

This commit is contained in:
VladimirMangos 2010-05-02 04:32:52 +04:00
parent c52e9c5d27
commit 57dcc84940
15 changed files with 149 additions and 146 deletions

View file

@ -18209,30 +18209,30 @@ void Player::ContinueTaxiFlight()
float distPrev = MAP_SIZE*MAP_SIZE;
float distNext =
(nodeList[0]->x-GetPositionX())*(nodeList[0]->x-GetPositionX())+
(nodeList[0]->y-GetPositionY())*(nodeList[0]->y-GetPositionY())+
(nodeList[0]->z-GetPositionZ())*(nodeList[0]->z-GetPositionZ());
(nodeList[0].x-GetPositionX())*(nodeList[0].x-GetPositionX())+
(nodeList[0].y-GetPositionY())*(nodeList[0].y-GetPositionY())+
(nodeList[0].z-GetPositionZ())*(nodeList[0].z-GetPositionZ());
for(uint32 i = 1; i < nodeList.size(); ++i)
{
TaxiPathNodeEntry const* node = nodeList[i];
TaxiPathNodeEntry const* prevNode = nodeList[i-1];
TaxiPathNodeEntry const& node = nodeList[i];
TaxiPathNodeEntry const& prevNode = nodeList[i-1];
// skip nodes at another map
if (node->mapid != GetMapId())
if (node.mapid != GetMapId())
continue;
distPrev = distNext;
distNext =
(node->x-GetPositionX())*(node->x-GetPositionX())+
(node->y-GetPositionY())*(node->y-GetPositionY())+
(node->z-GetPositionZ())*(node->z-GetPositionZ());
(node.x-GetPositionX())*(node.x-GetPositionX())+
(node.y-GetPositionY())*(node.y-GetPositionY())+
(node.z-GetPositionZ())*(node.z-GetPositionZ());
float distNodes =
(node->x-prevNode->x)*(node->x-prevNode->x)+
(node->y-prevNode->y)*(node->y-prevNode->y)+
(node->z-prevNode->z)*(node->z-prevNode->z);
(node.x-prevNode.x)*(node.x-prevNode.x)+
(node.y-prevNode.y)*(node.y-prevNode.y)+
(node.z-prevNode.z)*(node.z-prevNode.z);
if (distNext + distPrev < distNodes)
{