aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Movement
diff options
context:
space:
mode:
authorSpp <spp@jorge.gr>2013-05-07 12:02:22 +0200
committerSpp <spp@jorge.gr>2013-05-13 15:04:05 +0200
commit243c325ca4323feb4f7f80c0ecd3873c78cbf887 (patch)
treec12a5b49d0c62d6be66abe22d3267aa4e58ac631 /src/server/game/Movement
parente5928e13d705e6bb50571742f6c967c559f983ee (diff)
Core: Declare some functions const and remove use of "using" directive in a couple of files
Diffstat (limited to 'src/server/game/Movement')
-rw-r--r--src/server/game/Movement/MotionMaster.cpp2
-rw-r--r--src/server/game/Movement/PathGenerator.cpp27
-rw-r--r--src/server/game/Movement/PathGenerator.h58
3 files changed, 43 insertions, 44 deletions
diff --git a/src/server/game/Movement/MotionMaster.cpp b/src/server/game/Movement/MotionMaster.cpp
index 8e045b98dbb..a7148055376 100644
--- a/src/server/game/Movement/MotionMaster.cpp
+++ b/src/server/game/Movement/MotionMaster.cpp
@@ -426,7 +426,7 @@ void MotionMaster::MoveCharge(float x, float y, float z, float speed, uint32 id,
void MotionMaster::MoveCharge(PathGenerator const& path)
{
- Vector3 dest = path.GetActualEndPosition();
+ G3D::Vector3 dest = path.GetActualEndPosition();
MoveCharge(dest.x, dest.y, dest.z, SPEED_CHARGE, EVENT_CHARGE_PREPATH);
diff --git a/src/server/game/Movement/PathGenerator.cpp b/src/server/game/Movement/PathGenerator.cpp
index 07e33f353c7..046f24e67b2 100644
--- a/src/server/game/Movement/PathGenerator.cpp
+++ b/src/server/game/Movement/PathGenerator.cpp
@@ -28,9 +28,10 @@
////////////////// PathGenerator //////////////////
PathGenerator::PathGenerator(const Unit* owner) :
- _polyLength(0), _type(PATHFIND_BLANK),
- _useStraightPath(false), _forceDestination(false), _pointPathLimit(MAX_POINT_PATH_LENGTH),
- _endPosition(Vector3::zero()), _sourceUnit(owner), _navMesh(NULL), _navMeshQuery(NULL)
+ _polyLength(0), _type(PATHFIND_BLANK), _useStraightPath(false),
+ _forceDestination(false), _pointPathLimit(MAX_POINT_PATH_LENGTH),
+ _endPosition(G3D::Vector3::zero()), _sourceUnit(owner), _navMesh(NULL),
+ _navMeshQuery(NULL)
{
sLog->outDebug(LOG_FILTER_MAPS, "++ PathGenerator::PathGenerator for %u \n", _sourceUnit->GetGUIDLow());
@@ -58,10 +59,10 @@ bool PathGenerator::CalculatePath(float destX, float destY, float destZ, bool fo
if (!Trinity::IsValidMapCoord(destX, destY, destZ) || !Trinity::IsValidMapCoord(x, y, z))
return false;
- Vector3 dest(destX, destY, destZ);
+ G3D::Vector3 dest(destX, destY, destZ);
SetEndPosition(dest);
- Vector3 start(x, y, z);
+ G3D::Vector3 start(x, y, z);
SetStartPosition(start);
_forceDestination = forceDest;
@@ -151,7 +152,7 @@ dtPolyRef PathGenerator::GetPolyByLocation(float const* point, float* distance)
return INVALID_POLYREF;
}
-void PathGenerator::BuildPolyPath(Vector3 const& startPos, Vector3 const& endPos)
+void PathGenerator::BuildPolyPath(G3D::Vector3 const& startPos, G3D::Vector3 const& endPos)
{
// *** getting start/end poly logic ***
@@ -202,7 +203,7 @@ void PathGenerator::BuildPolyPath(Vector3 const& startPos, Vector3 const& endPos
{
Creature* owner = (Creature*)_sourceUnit;
- Vector3 p = (distToStartPoly > 7.0f) ? startPos : endPos;
+ G3D::Vector3 const& p = (distToStartPoly > 7.0f) ? startPos : endPos;
if (_sourceUnit->GetBaseMap()->IsUnderWater(p.x, p.y, p.z))
{
sLog->outDebug(LOG_FILTER_MAPS, "++ BuildPolyPath :: underWater case\n");
@@ -230,7 +231,7 @@ void PathGenerator::BuildPolyPath(Vector3 const& startPos, Vector3 const& endPos
if (DT_SUCCESS == _navMeshQuery->closestPointOnPoly(endPoly, endPoint, closestPoint))
{
dtVcopy(endPoint, closestPoint);
- SetActualEndPosition(Vector3(endPoint[2], endPoint[0], endPoint[1]));
+ SetActualEndPosition(G3D::Vector3(endPoint[2], endPoint[0], endPoint[1]));
}
_type = PATHFIND_INCOMPLETE;
@@ -449,7 +450,7 @@ void PathGenerator::BuildPointPath(const float *startPoint, const float *endPoin
_pathPoints.resize(pointCount);
for (uint32 i = 0; i < pointCount; ++i)
- _pathPoints[i] = Vector3(pathPoints[i*VERTEX_SIZE+2], pathPoints[i*VERTEX_SIZE], pathPoints[i*VERTEX_SIZE+1]);
+ _pathPoints[i] = G3D::Vector3(pathPoints[i*VERTEX_SIZE+2], pathPoints[i*VERTEX_SIZE], pathPoints[i*VERTEX_SIZE+1]);
NormalizePath();
@@ -563,7 +564,7 @@ NavTerrain PathGenerator::GetNavTerrain(float x, float y, float z)
}
}
-bool PathGenerator::HaveTile(const Vector3& p) const
+bool PathGenerator::HaveTile(const G3D::Vector3& p) const
{
int tx = -1, ty = -1;
float point[VERTEX_SIZE] = {p.y, p.z, p.x};
@@ -791,13 +792,13 @@ bool PathGenerator::InRangeYZX(const float* v1, const float* v2, float r, float
return (dx * dx + dz * dz) < r * r && fabsf(dy) < h;
}
-bool PathGenerator::InRange(Vector3 const& p1, Vector3 const& p2, float r, float h) const
+bool PathGenerator::InRange(G3D::Vector3 const& p1, G3D::Vector3 const& p2, float r, float h) const
{
- Vector3 d = p1 - p2;
+ G3D::Vector3 d = p1 - p2;
return (d.x * d.x + d.y * d.y) < r * r && fabsf(d.z) < h;
}
-float PathGenerator::Dist3DSqr(Vector3 const& p1, Vector3 const& p2) const
+float PathGenerator::Dist3DSqr(G3D::Vector3 const& p1, G3D::Vector3 const& p2) const
{
return (p1 - p2).squaredLength();
}
diff --git a/src/server/game/Movement/PathGenerator.h b/src/server/game/Movement/PathGenerator.h
index d41d3160db5..ac66b7cec57 100644
--- a/src/server/game/Movement/PathGenerator.h
+++ b/src/server/game/Movement/PathGenerator.h
@@ -24,9 +24,6 @@
#include "DetourNavMeshQuery.h"
#include "MoveSplineInitArgs.h"
-using Movement::Vector3;
-using Movement::PointsArray;
-
class Unit;
// 74*4.0f=296y number_of_points*interval = max_path_len
@@ -63,42 +60,43 @@ class PathGenerator
bool CalculatePath(float destX, float destY, float destZ, bool forceDest = false);
// option setters - use optional
- void SetUseStraightPath(bool useStraightPath) { _useStraightPath = useStraightPath; };
- void SetPathLengthLimit(float distance) { _pointPathLimit = std::min<uint32>(uint32(distance/SMOOTH_PATH_STEP_SIZE), MAX_POINT_PATH_LENGTH); };
+ void SetUseStraightPath(bool useStraightPath) { _useStraightPath = useStraightPath; }
+ void SetPathLengthLimit(float distance) { _pointPathLimit = std::min<uint32>(uint32(distance/SMOOTH_PATH_STEP_SIZE), MAX_POINT_PATH_LENGTH); }
// result getters
- Vector3 const& GetStartPosition() const { return _startPosition; }
- Vector3 const& GetEndPosition() const { return _endPosition; }
- Vector3 const& GetActualEndPosition() const { return _actualEndPosition; }
+ G3D::Vector3 const& GetStartPosition() const { return _startPosition; }
+ G3D::Vector3 const& GetEndPosition() const { return _endPosition; }
+ G3D::Vector3 const& GetActualEndPosition() const { return _actualEndPosition; }
+
+ Movement::PointsArray const& GetPath() const { return _pathPoints; }
- PointsArray const& GetPath() const { return _pathPoints; }
PathType GetPathType() const { return _type; }
private:
- dtPolyRef _pathPolyRefs[MAX_PATH_LENGTH]; // array of detour polygon references
- uint32 _polyLength; // number of polygons in the path
+ dtPolyRef _pathPolyRefs[MAX_PATH_LENGTH]; // array of detour polygon references
+ uint32 _polyLength; // number of polygons in the path
- PointsArray _pathPoints; // our actual (x,y,z) path to the target
- PathType _type; // tells what kind of path this is
+ Movement::PointsArray _pathPoints; // our actual (x,y,z) path to the target
+ PathType _type; // tells what kind of path this is
- bool _useStraightPath; // type of path will be generated
- bool _forceDestination; // when set, we will always arrive at given point
- uint32 _pointPathLimit; // limit point path size; min(this, MAX_POINT_PATH_LENGTH)
+ bool _useStraightPath; // type of path will be generated
+ bool _forceDestination; // when set, we will always arrive at given point
+ uint32 _pointPathLimit; // limit point path size; min(this, MAX_POINT_PATH_LENGTH)
- Vector3 _startPosition; // {x, y, z} of current location
- Vector3 _endPosition; // {x, y, z} of the destination
- Vector3 _actualEndPosition;// {x, y, z} of the closest possible point to given destination
+ G3D::Vector3 _startPosition; // {x, y, z} of current location
+ G3D::Vector3 _endPosition; // {x, y, z} of the destination
+ G3D::Vector3 _actualEndPosition; // {x, y, z} of the closest possible point to given destination
- Unit const* const _sourceUnit; // the unit that is moving
- dtNavMesh const* _navMesh; // the nav mesh
- dtNavMeshQuery const* _navMeshQuery; // the nav mesh query used to find the path
+ Unit const* const _sourceUnit; // the unit that is moving
+ dtNavMesh const* _navMesh; // the nav mesh
+ dtNavMeshQuery const* _navMeshQuery; // the nav mesh query used to find the path
- dtQueryFilter _filter; // use single filter for all movements, update it when needed
+ dtQueryFilter _filter; // use single filter for all movements, update it when needed
- void SetStartPosition(Vector3 Point) { _startPosition = Point; }
- void SetEndPosition(Vector3 Point) { _actualEndPosition = Point; _endPosition = Point; }
- void SetActualEndPosition(Vector3 Point) { _actualEndPosition = Point; }
+ void SetStartPosition(G3D::Vector3 const& point) { _startPosition = point; }
+ void SetEndPosition(G3D::Vector3 const& point) { _actualEndPosition = point; _endPosition = point; }
+ void SetActualEndPosition(G3D::Vector3 const& point) { _actualEndPosition = point; }
void NormalizePath();
void Clear()
@@ -107,15 +105,15 @@ class PathGenerator
_pathPoints.clear();
}
- bool InRange(Vector3 const& p1, Vector3 const& p2, float r, float h) const;
- float Dist3DSqr(Vector3 const& p1, Vector3 const& p2) const;
+ bool InRange(G3D::Vector3 const& p1, G3D::Vector3 const& p2, float r, float h) const;
+ float Dist3DSqr(G3D::Vector3 const& p1, G3D::Vector3 const& p2) const;
bool InRangeYZX(float const* v1, float const* v2, float r, float h) const;
dtPolyRef GetPathPolyByPosition(dtPolyRef const* polyPath, uint32 polyPathSize, float const* Point, float* Distance = NULL) const;
dtPolyRef GetPolyByLocation(float const* Point, float* Distance) const;
- bool HaveTile(Vector3 const& p) const;
+ bool HaveTile(G3D::Vector3 const& p) const;
- void BuildPolyPath(Vector3 const& startPos, Vector3 const& endPos);
+ void BuildPolyPath(G3D::Vector3 const& startPos, G3D::Vector3 const& endPos);
void BuildPointPath(float const* startPoint, float const* endPoint);
void BuildShortcut();