Merge remote-tracking branch 'origin/master' into develop

# Conflicts:
#	Moose Development/Moose/Core/Menu.lua
#	Moose Development/Moose/Functional/Mantis.lua
This commit is contained in:
Applevangelist 2024-05-19 12:50:41 +02:00
commit da8a02465e
4 changed files with 205 additions and 183 deletions

View File

@ -2,7 +2,7 @@
--
-- ===
--
-- ### Features:
-- ## Features:
--
-- * Setup mission sub menus.
-- * Setup mission command menus.
@ -44,7 +44,11 @@
-- * @{Core.Menu#MENU_GROUP_COMMAND}: Manages command menus for GROUPs.
--
-- ===
---
--
-- ### [Demo Missions](https://github.com/FlightControl-Master/MOOSE_Demos/tree/master/Core/Menu)
--
-- ===
--
-- ### Author: **FlightControl**
-- ### Contributions:
--
@ -437,10 +441,9 @@ do
end
end
do
do -- MENU_MISSION_COMMAND
--- MENU_MISSION_COMMAND
-- @type MENU_MISSION_COMMAND
--- @type MENU_MISSION_COMMAND
-- @extends Core.Menu#MENU_COMMAND_BASE
--- Manages the command menus for a complete mission, which allow players to execute functions during mission execution.

View File

@ -3076,9 +3076,25 @@ function ZONE_POLYGON:NewFromDrawing(DrawingName)
-- points for the drawings are saved in local space, so add the object's map x and y coordinates to get
-- world space points we can use
for _, point in UTILS.spairs(object["points"]) do
-- check if we want to skip adding a point
local skip = false
local p = {x = object["mapX"] + point["x"],
y = object["mapY"] + point["y"] }
table.add(points, p)
-- Check if the same coordinates already exist in the list, skip if they do
-- This can happen when drawing a Polygon in Free mode, DCS adds points on
-- top of each other that are in the `mission` file, but not visible in the
-- Mission Editor
for _, pt in pairs(points) do
if pt.x == p.x and pt.y == p.y then
skip = true
end
end
-- if it's a unique point, add it
if not skip then
table.add(points, p)
end
end
elseif object["polygonMode"] == "rect" then
-- the points for a rect are saved as local coordinates with an angle. To get the world space points from this
@ -3096,6 +3112,7 @@ function ZONE_POLYGON:NewFromDrawing(DrawingName)
points = {p1, p2, p3, p4}
else
-- bring the Arrow code over from Shape/Polygon
-- something else that might be added in the future
end
end

View File

@ -638,7 +638,7 @@ do
-- TODO Version
-- @field #string version
self.version="0.8.16"
self.version="0.8.17"
self:I(string.format("***** Starting MANTIS Version %s *****", self.version))
--- FSM Functions ---
@ -1264,7 +1264,7 @@ do
end
local friendlyset -- Core.Set#SET_GROUP
if self.checkforfriendlies == true then
friendlyset = SET_GROUP:New():FilterCoalitions(self.Coalition):FilterCategories({"plane","helicopter"}):FilterOnce()
friendlyset = SET_GROUP:New():FilterCoalitions(self.Coalition):FilterCategories({"plane","helicopter"}):FilterFunction(function(grp) if grp and grp:InAir() then return true else return false end end):FilterOnce()
end
for _,_coord in pairs (set) do
local coord = _coord -- get current coord to check

View File

@ -1951,6 +1951,8 @@ function UTILS.GMTToLocalTimeDifference()
return -3 -- Fireland is UTC-3 hours.
elseif theatre==DCSMAP.Sinai then
return 2 -- Currently map is +2 but should be +3 (DCS bug?)
elseif theatre==DCSMAP.Kola then
return 3 -- Currently map is +2 but should be +3 (DCS bug?)
else
BASE:E(string.format("ERROR: Unknown Map %s in UTILS.GMTToLocal function. Returning 0", tostring(theatre)))
return 0