diff options
author | jackpoz <giacomopoz@gmail.com> | 2015-07-03 23:21:09 +0200 |
---|---|---|
committer | jackpoz <giacomopoz@gmail.com> | 2015-07-03 23:21:09 +0200 |
commit | 37b157746e075294fd14abef5cc8e611b7bf2c76 (patch) | |
tree | fb1608e048d72c032d26f7a02c6fe84bbe5b97e8 | |
parent | a328a119784252c6d514436f4ceffa693ac65453 (diff) |
Scripts/Commands: ".mmap path line" now uses raycast pathfinding
Add "line" optional parameter to ".mmap path" command to use raycast implementation of recast, useful to simulate charge paths.
-rw-r--r-- | src/server/scripts/Commands/cs_mmaps.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/server/scripts/Commands/cs_mmaps.cpp b/src/server/scripts/Commands/cs_mmaps.cpp index 14623e591c1..e06159a6748 100644 --- a/src/server/scripts/Commands/cs_mmaps.cpp +++ b/src/server/scripts/Commands/cs_mmaps.cpp @@ -87,6 +87,10 @@ public: if (para && strcmp(para, "true") == 0) useStraightPath = true; + bool useStraightLine = false; + if (para && strcmp(para, "line") == 0) + useStraightLine = true; + // unit locations float x, y, z; player->GetPosition(x, y, z); @@ -94,11 +98,11 @@ public: // path PathGenerator path(target); path.SetUseStraightPath(useStraightPath); - bool result = path.CalculatePath(x, y, z); + bool result = path.CalculatePath(x, y, z, false, useStraightLine); Movement::PointsArray const& pointPath = path.GetPath(); handler->PSendSysMessage("%s's path to %s:", target->GetName().c_str(), player->GetName().c_str()); - handler->PSendSysMessage("Building: %s", useStraightPath ? "StraightPath" : "SmoothPath"); + handler->PSendSysMessage("Building: %s", useStraightPath ? "StraightPath" : useStraightLine ? "Raycast" : "SmoothPath"); handler->PSendSysMessage("Result: %s - Length: %zu - Type: %u", (result ? "true" : "false"), pointPath.size(), path.GetPathType()); G3D::Vector3 const &start = path.GetStartPosition(); |