mirror of
https://github.com/FlightControl-Master/MOOSE.git
synced 2025-10-29 16:58:06 +00:00
Merge branch 'develop' into FF/Ops
This commit is contained in:
@@ -3259,9 +3259,9 @@ function AUFTRAG:IsSuccess()
|
||||
return self.status==AUFTRAG.Status.SUCCESS
|
||||
end
|
||||
|
||||
--- Check if mission is over. This could be state DONE or CANCELLED.
|
||||
--- Check if mission is over. This could be state DONE, CANCELLED, SUCCESS, FAILED.
|
||||
-- @param #AUFTRAG self
|
||||
-- @return #boolean If true, mission is currently executing.
|
||||
-- @return #boolean If true, mission is over.
|
||||
function AUFTRAG:IsOver()
|
||||
local over = self.status==AUFTRAG.Status.DONE or self.status==AUFTRAG.Status.CANCELLED or self.status==AUFTRAG.Status.SUCCESS or self.status==AUFTRAG.Status.FAILED
|
||||
return over
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -123,6 +123,7 @@ INTEL = {
|
||||
-- @field Ops.Target#TARGET target The Target attached to this contact.
|
||||
-- @field #string recce The name of the recce unit that detected this contact.
|
||||
-- @field #string ctype Contact type.
|
||||
-- @field #string platform [AIR] Contact platform name, e.g. Foxbat, Flanker_E, defaults to Bogey if unknown
|
||||
|
||||
--- Cluster info.
|
||||
-- @type INTEL.Cluster
|
||||
@@ -153,7 +154,7 @@ INTEL.Ctype={
|
||||
|
||||
--- INTEL class version.
|
||||
-- @field #string version
|
||||
INTEL.version="0.3.0"
|
||||
INTEL.version="0.3.1"
|
||||
|
||||
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
-- ToDo list
|
||||
@@ -866,7 +867,12 @@ function INTEL:_CreateContact(Positionable, RecceName)
|
||||
item.isground = group:IsGround() or false
|
||||
item.isship = group:IsShip() or false
|
||||
item.isStatic=false
|
||||
|
||||
if group:IsAir() then
|
||||
item.platform=group:GetNatoReportingName()
|
||||
else
|
||||
-- TODO optionally add ground types?
|
||||
item.platform="Unknown"
|
||||
end
|
||||
if item.category==Group.Category.AIRPLANE or item.category==Group.Category.HELICOPTER then
|
||||
item.ctype=INTEL.Ctype.AIRCRAFT
|
||||
elseif item.category==Group.Category.GROUND or item.category==Group.Category.TRAIN then
|
||||
|
||||
@@ -2038,14 +2038,16 @@ end
|
||||
-- @param #string Voice Specific voice. Overrides `Gender` and `Culture`.
|
||||
-- @param #number Port SRS port. Default 5002.
|
||||
-- @param #string PathToGoogleKey Full path to the google credentials JSON file, e.g. `"C:\Users\myUsername\Downloads\key.json"`.
|
||||
-- @param #string Label Label of the SRS comms for the SRS Radio overlay. Defaults to "ROBOT". No spaces allowed!
|
||||
-- @return #OPSGROUP self
|
||||
function OPSGROUP:SetSRS(PathToSRS, Gender, Culture, Voice, Port, PathToGoogleKey)
|
||||
function OPSGROUP:SetSRS(PathToSRS, Gender, Culture, Voice, Port, PathToGoogleKey, Label)
|
||||
self.useSRS=true
|
||||
self.msrs=MSRS:New(PathToSRS, self.frequency, self.modulation)
|
||||
self.msrs:SetGender(Gender)
|
||||
self.msrs:SetCulture(Culture)
|
||||
self.msrs:SetVoice(Voice)
|
||||
self.msrs:SetPort(Port)
|
||||
self.msrs:SetLabel(Label)
|
||||
if PathToGoogleKey then
|
||||
self.msrs:SetGoogle(PathToGoogleKey)
|
||||
end
|
||||
@@ -2058,8 +2060,9 @@ end
|
||||
-- @param #string Text Text of transmission.
|
||||
-- @param #number Delay Delay in seconds before the transmission is started.
|
||||
-- @param #boolean SayCallsign If `true`, the callsign is prepended to the given text. Default `false`.
|
||||
-- @param #number Frequency Override sender frequency, helpful when you need multiple radios from the same sender. Default is the frequency set for the OpsGroup.
|
||||
-- @return #OPSGROUP self
|
||||
function OPSGROUP:RadioTransmission(Text, Delay, SayCallsign)
|
||||
function OPSGROUP:RadioTransmission(Text, Delay, SayCallsign, Frequency)
|
||||
|
||||
if Delay and Delay>0 then
|
||||
self:ScheduleOnce(Delay, OPSGROUP.RadioTransmission, self, Text, 0, SayCallsign)
|
||||
@@ -2068,8 +2071,12 @@ function OPSGROUP:RadioTransmission(Text, Delay, SayCallsign)
|
||||
if self.useSRS and self.msrs then
|
||||
|
||||
local freq, modu, radioon=self:GetRadio()
|
||||
|
||||
self.msrs:SetFrequencies(freq)
|
||||
|
||||
if Frequency then
|
||||
self.msrs:SetFrequencies(Frequency)
|
||||
else
|
||||
self.msrs:SetFrequencies(freq)
|
||||
end
|
||||
self.msrs:SetModulations(modu)
|
||||
|
||||
if SayCallsign then
|
||||
@@ -2078,7 +2085,7 @@ function OPSGROUP:RadioTransmission(Text, Delay, SayCallsign)
|
||||
end
|
||||
|
||||
-- Debug info.
|
||||
self:T(self.lid..string.format("Radio transmission on %.3f MHz %s: %s", freq, UTILS.GetModulationName(modu), Text))
|
||||
self:I(self.lid..string.format("Radio transmission on %.3f MHz %s: %s", freq, UTILS.GetModulationName(modu), Text))
|
||||
|
||||
self.msrs:PlayText(Text)
|
||||
end
|
||||
|
||||
@@ -92,9 +92,15 @@ OPSZONE.version="0.3.0"
|
||||
|
||||
--- Create a new OPSZONE class object.
|
||||
-- @param #OPSZONE self
|
||||
-- @param Core.Zone#ZONE Zone The zone.
|
||||
-- @param Core.Zone#ZONE Zone The zone. Needs to be a ZONE\_RADIUS (round) zone. Can be passed as ZONE\_AIRBASE or simply as the name of the airbase.
|
||||
-- @param #number CoalitionOwner Initial owner of the coaliton. Default `coalition.side.NEUTRAL`.
|
||||
-- @return #OPSZONE self
|
||||
-- @usage
|
||||
-- myopszone = OPSZONE:New(ZONE:FindByName("OpsZoneOne"),coalition.side.RED) -- base zone from the mission editor
|
||||
-- myopszone = OPSZONE:New(ZONE_RADIUS:New("OpsZoneTwo",mycoordinate:GetVec2(),5000),coalition.side.BLUE) -- radius zone of 5km at a coordinate
|
||||
-- myopszone = OPSZONE:New(ZONE_RADIUS:New("Batumi")) -- airbase zone from Batumi Airbase, ca 2500m radius
|
||||
-- myopszone = OPSZONE:New(ZONE_AIRBASE:New("Batumi",6000),coalition.side.BLUE) -- airbase zone from Batumi Airbase, but with a specific radius of 6km
|
||||
--
|
||||
function OPSZONE:New(Zone, CoalitionOwner)
|
||||
|
||||
-- Inherit everything from LEGION class.
|
||||
|
||||
Reference in New Issue
Block a user