From 37b157746e075294fd14abef5cc8e611b7bf2c76 Mon Sep 17 00:00:00 2001 From: jackpoz Date: Fri, 3 Jul 2015 23:21:09 +0200 Subject: 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. --- src/server/scripts/Commands/cs_mmaps.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'src/server') 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(); -- cgit v1.2.3