This commit is contained in:
FullGas1
2025-04-20 14:06:58 +02:00
parent e4a0fff931
commit 87e8a31f31

View File

@@ -7793,8 +7793,10 @@ end
-- Modify the route deleting all the WP before "firstWP" param, for aligne the orbit on the nearest WP of the target -- Modify the route deleting all the WP before "firstWP" param, for aligne the orbit on the nearest WP of the target
function ctld.backToRoute(_jtacUnitName) function ctld.backToRoute(_jtacUnitName)
local jtacGroupName = Unit.getByName(_jtacUnitName):getGroup():getName() local jtacGroupName = Unit.getByName(_jtacUnitName):getGroup():getName()
local JTACRoute = mist.getGroupRoute(jtacGroupName, true) -- get the initial editor route of the current group --local JTACRoute = mist.getGroupRoute(jtacGroupName, true) -- get the initial editor route of the current group
local JTACRoute = mist.utils.deepCopy(mist.getGroupRoute(jtacGroupName, true)) -- get the initial editor route of the current group
local newJTACRoute = ctld.adjustRoute(JTACRoute, ctld.getNearestWP(_jtacUnitName)) local newJTACRoute = ctld.adjustRoute(JTACRoute, ctld.getNearestWP(_jtacUnitName))
local Mission = {} local Mission = {}
Mission = { id = 'Mission', params = {route = {points = newJTACRoute}}} Mission = { id = 'Mission', params = {route = {points = newJTACRoute}}}
@@ -7826,6 +7828,7 @@ function ctld.adjustRoute(_initialRouteTable, _firstWpOfNewRoute) -- create a r
end end
-- apply offset (_firstWpOfNewRoute) to SwitchWaypoint tasks -- apply offset (_firstWpOfNewRoute) to SwitchWaypoint tasks
local lastWpAsAlreadySwitchWaypoint = false
for idx = 1, #adjustedRoute do for idx = 1, #adjustedRoute do
for j=1, #adjustedRoute[idx].task.params.tasks do for j=1, #adjustedRoute[idx].task.params.tasks do
if adjustedRoute[idx].task.params.tasks[j].id ~= "ControlledTask" then if adjustedRoute[idx].task.params.tasks[j].id ~= "ControlledTask" then
@@ -7833,40 +7836,34 @@ function ctld.adjustRoute(_initialRouteTable, _firstWpOfNewRoute) -- create a r
local goToWaypointIndex = adjustedRoute[idx].task.params.tasks[j].params.action.params.goToWaypointIndex local goToWaypointIndex = adjustedRoute[idx].task.params.tasks[j].params.action.params.goToWaypointIndex
adjustedRoute[idx].task.params.tasks[j].params.action.params.fromWaypointIndex = idx adjustedRoute[idx].task.params.tasks[j].params.action.params.fromWaypointIndex = idx
adjustedRoute[idx].task.params.tasks[j].params.action.params.goToWaypointIndex = mappingWP[goToWaypointIndex] adjustedRoute[idx].task.params.tasks[j].params.action.params.goToWaypointIndex = mappingWP[goToWaypointIndex]
if idx == #adjustedRoute then
lastWpAsAlreadySwitchWaypoint = true
end
end end
else -- for "ControlledTask" else -- for "ControlledTask"
if adjustedRoute[idx].task.params.tasks[j].params.task.params.action.id == "SwitchWaypoint" then if adjustedRoute[idx].task.params.tasks[j].params.task.params.action.id == "SwitchWaypoint" then
local goToWaypointIndex = adjustedRoute[idx].task.params.tasks[j].params.task.params.action.params.goToWaypointIndex local goToWaypointIndex = adjustedRoute[idx].task.params.tasks[j].params.task.params.action.params.goToWaypointIndex
adjustedRoute[idx].task.params.tasks[j].params.task.params.action.params.fromWaypointIndex = idx adjustedRoute[idx].task.params.tasks[j].params.task.params.action.params.fromWaypointIndex = idx
adjustedRoute[idx].task.params.tasks[j].params.task.params.action.params.goToWaypointIndex = mappingWP[goToWaypointIndex] adjustedRoute[idx].task.params.tasks[j].params.task.params.action.params.goToWaypointIndex = mappingWP[goToWaypointIndex]
if idx == #adjustedRoute then
lastWpAsAlreadySwitchWaypoint = true
end
end end
end end
end end
end end
--[[ if lastWpAsAlreadySwitchWaypoint == false then
[14]["task"]["params"]["tasks"][1] = table: 0000012EF5AF0CA8 { local newTaskIdx = #adjustedRoute[#adjustedRoute].task.params.tasks + 1
[14]["task"]["params"]["tasks"][1]["number"] = 1, adjustedRoute[#adjustedRoute].task.params.tasks[newTaskIdx] = {number = newTaskIdx,
[14]["task"]["params"]["tasks"][1]["auto"] = false, auto = false,
[14]["task"]["params"]["tasks"][1]["id"] = "WrappedAction", enabled = true,
[14]["task"]["params"]["tasks"][1]["enabled"] = true, id = "WrappedAction",
[14]["task"]["params"]["tasks"][1]["params"] = table: 0000012EF5AF0CE8 { params = {action = {}}
[14]["task"]["params"]["tasks"][1]["params"]["action"] = table: 0000012EF5AF0D28 { }
[14]["task"]["params"]["tasks"][1]["params"]["action"]["id"] = "SwitchWaypoint", adjustedRoute[#adjustedRoute].task.params.tasks[newTaskIdx].params.action.id = "SwitchWaypoint"
[14]["task"]["params"]["tasks"][1]["params"]["action"]["params"] = table: 0000012EF5AF0D68 { adjustedRoute[#adjustedRoute].task.params.tasks[newTaskIdx].params.action.params = {fromWaypointIndex = #_initialRouteTable,
[14]["task"]["params"]["tasks"][1]["params"]["action"]["params"]["goToWaypointIndex"] = 11, goToWaypointIndex = 1 }
[14]["task"]["params"]["tasks"][1]["params"]["action"]["params"]["fromWaypointIndex"] = 14, end
]]--
local newTaskIdx = #adjustedRoute[#adjustedRoute].task.params.tasks + 1
adjustedRoute[#adjustedRoute].task.params.tasks[newTaskIdx] = {number = newTaskIdx,
auto = false,
enabled = true,
id = "WrappedAction",
params = {action = {}}
}
adjustedRoute[#adjustedRoute].task.params.tasks[newTaskIdx].params.action.id = "SwitchWaypoint"
adjustedRoute[#adjustedRoute].task.params.tasks[newTaskIdx].params.action.params = {fromWaypointIndex = #_initialRouteTable,
goToWaypointIndex = 1 }
ctld.logDebug("ctld.adjustRoute - adjustedRoute = [%s]", ctld.p(adjustedRoute)) ctld.logDebug("ctld.adjustRoute - adjustedRoute = [%s]", ctld.p(adjustedRoute))
return adjustedRoute return adjustedRoute
end end