From 299820162b27a503662522778a68a5d8ef7b2c45 Mon Sep 17 00:00:00 2001 From: Applevangelist Date: Thu, 15 Sep 2022 14:01:23 +0200 Subject: [PATCH 1/2] #ATIS * No old-style radioqueue when using SRS --- Moose Development/Moose/Ops/ATIS.lua | 56 ++++++++++++++-------------- 1 file changed, 29 insertions(+), 27 deletions(-) diff --git a/Moose Development/Moose/Ops/ATIS.lua b/Moose Development/Moose/Ops/ATIS.lua index 88e650d99..8c10b2f4b 100644 --- a/Moose Development/Moose/Ops/ATIS.lua +++ b/Moose Development/Moose/Ops/ATIS.lua @@ -586,7 +586,7 @@ _ATIS = {} --- ATIS class version. -- @field #string version -ATIS.version = "0.9.6" +ATIS.version = "0.9.7" ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -- TODO list @@ -1185,32 +1185,34 @@ function ATIS:onafterStart( From, Event, To ) self:I( self.lid .. string.format( "Starting ATIS v%s for airbase %s on %.3f MHz Modulation=%d", ATIS.version, self.airbasename, self.frequency, self.modulation ) ) -- Start radio queue. - self.radioqueue = RADIOQUEUE:New( self.frequency, self.modulation, string.format( "ATIS %s", self.airbasename ) ) - - -- Send coordinate is airbase coord. - self.radioqueue:SetSenderCoordinate( self.airbase:GetCoordinate() ) - - -- Set relay unit if we have one. - self.radioqueue:SetSenderUnitName( self.relayunitname ) - - -- Set radio power. - self.radioqueue:SetRadioPower( self.power ) - - -- Init numbers. - self.radioqueue:SetDigit( 0, ATIS.Sound.N0.filename, ATIS.Sound.N0.duration, self.soundpath ) - self.radioqueue:SetDigit( 1, ATIS.Sound.N1.filename, ATIS.Sound.N1.duration, self.soundpath ) - self.radioqueue:SetDigit( 2, ATIS.Sound.N2.filename, ATIS.Sound.N2.duration, self.soundpath ) - self.radioqueue:SetDigit( 3, ATIS.Sound.N3.filename, ATIS.Sound.N3.duration, self.soundpath ) - self.radioqueue:SetDigit( 4, ATIS.Sound.N4.filename, ATIS.Sound.N4.duration, self.soundpath ) - self.radioqueue:SetDigit( 5, ATIS.Sound.N5.filename, ATIS.Sound.N5.duration, self.soundpath ) - self.radioqueue:SetDigit( 6, ATIS.Sound.N6.filename, ATIS.Sound.N6.duration, self.soundpath ) - self.radioqueue:SetDigit( 7, ATIS.Sound.N7.filename, ATIS.Sound.N7.duration, self.soundpath ) - self.radioqueue:SetDigit( 8, ATIS.Sound.N8.filename, ATIS.Sound.N8.duration, self.soundpath ) - self.radioqueue:SetDigit( 9, ATIS.Sound.N9.filename, ATIS.Sound.N9.duration, self.soundpath ) - - -- Start radio queue. - self.radioqueue:Start( 1, 0.1 ) - + if not self.useSRS then + self.radioqueue = RADIOQUEUE:New( self.frequency, self.modulation, string.format( "ATIS %s", self.airbasename ) ) + + -- Send coordinate is airbase coord. + self.radioqueue:SetSenderCoordinate( self.airbase:GetCoordinate() ) + + -- Set relay unit if we have one. + self.radioqueue:SetSenderUnitName( self.relayunitname ) + + -- Set radio power. + self.radioqueue:SetRadioPower( self.power ) + + -- Init numbers. + self.radioqueue:SetDigit( 0, ATIS.Sound.N0.filename, ATIS.Sound.N0.duration, self.soundpath ) + self.radioqueue:SetDigit( 1, ATIS.Sound.N1.filename, ATIS.Sound.N1.duration, self.soundpath ) + self.radioqueue:SetDigit( 2, ATIS.Sound.N2.filename, ATIS.Sound.N2.duration, self.soundpath ) + self.radioqueue:SetDigit( 3, ATIS.Sound.N3.filename, ATIS.Sound.N3.duration, self.soundpath ) + self.radioqueue:SetDigit( 4, ATIS.Sound.N4.filename, ATIS.Sound.N4.duration, self.soundpath ) + self.radioqueue:SetDigit( 5, ATIS.Sound.N5.filename, ATIS.Sound.N5.duration, self.soundpath ) + self.radioqueue:SetDigit( 6, ATIS.Sound.N6.filename, ATIS.Sound.N6.duration, self.soundpath ) + self.radioqueue:SetDigit( 7, ATIS.Sound.N7.filename, ATIS.Sound.N7.duration, self.soundpath ) + self.radioqueue:SetDigit( 8, ATIS.Sound.N8.filename, ATIS.Sound.N8.duration, self.soundpath ) + self.radioqueue:SetDigit( 9, ATIS.Sound.N9.filename, ATIS.Sound.N9.duration, self.soundpath ) + + -- Start radio queue. + self.radioqueue:Start( 1, 0.1 ) + end + -- Handle airbase capture -- Handle events. self:HandleEvent( EVENTS.BaseCaptured ) From 877b36f8a8f84ae56e723924b94f7b06b97d3464 Mon Sep 17 00:00:00 2001 From: Applevangelist Date: Thu, 15 Sep 2022 19:51:15 +0200 Subject: [PATCH 2/2] #CSAR * overcome error cannot get Vec3 --- Moose Development/Moose/Ops/CSAR.lua | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/Moose Development/Moose/Ops/CSAR.lua b/Moose Development/Moose/Ops/CSAR.lua index 06cd10ae0..d3d157d72 100644 --- a/Moose Development/Moose/Ops/CSAR.lua +++ b/Moose Development/Moose/Ops/CSAR.lua @@ -2025,10 +2025,13 @@ function CSAR:_AddBeaconToGroup(_group, _freq) end if _group:IsAlive() then - local _radioUnit = _group:GetUnit(1) - local Frequency = _freq -- Freq in Hertz - local Sound = "l10n/DEFAULT/"..self.radioSound - trigger.action.radioTransmission(Sound, _radioUnit:GetPositionVec3(), 0, false, Frequency, 1000) -- Beacon in MP only runs for exactly 30secs straight + local _radioUnit = _group:GetUnit(1) + if _radioUnit then + local Frequency = _freq -- Freq in Hertz + local Sound = "l10n/DEFAULT/"..self.radioSound + local vec3 = _radioUnit:GetVec3() or _radioUnit:GetPositionVec3() or {x=0,y=0,z=0} + trigger.action.radioTransmission(Sound, vec3, 0, false, Frequency, 1000) -- Beacon in MP only runs for exactly 30secs straight + end end return self end