Merge branch 'master' into develop

This commit is contained in:
Frank 2020-08-19 23:12:05 +02:00
commit 0695c48e7a
5 changed files with 271 additions and 119 deletions

View File

@ -3238,13 +3238,13 @@ do -- SET_STATIC
self:F3( { Event } ) self:F3( { Event } )
if Event.IniObjectCategory == Object.Category.STATIC then if Event.IniObjectCategory == Object.Category.STATIC then
if not self.Database[Event.IniDCSStaticName] then if not self.Database[Event.IniDCSUnitName] then
self.Database[Event.IniDCSStaticName] = STATIC:Register( Event.IniDCSStaticName ) self.Database[Event.IniDCSUnitName] = STATIC:Register( Event.IniDCSUnitName )
self:T3( self.Database[Event.IniDCSStaticName] ) self:T3( self.Database[Event.IniDCSUnitName] )
end end
end end
return Event.IniDCSStaticName, self.Database[Event.IniDCSStaticName] return Event.IniDCSUnitName, self.Database[Event.IniDCSUnitName]
end end
--- Handles the Database to check on any event that Object exists in the Database. --- Handles the Database to check on any event that Object exists in the Database.
@ -3254,10 +3254,10 @@ do -- SET_STATIC
-- @return #string The name of the STATIC -- @return #string The name of the STATIC
-- @return #table The STATIC -- @return #table The STATIC
function SET_STATIC:FindInDatabase( Event ) function SET_STATIC:FindInDatabase( Event )
self:F2( { Event.IniDCSStaticName, self.Set[Event.IniDCSStaticName], Event } ) self:F2( { Event.IniDCSUnitName, self.Set[Event.IniDCSUnitName], Event } )
return Event.IniDCSStaticName, self.Set[Event.IniDCSStaticName] return Event.IniDCSUnitName, self.Set[Event.IniDCSUnitName]
end end

View File

@ -67,8 +67,10 @@
-- @field #number subduration Duration how long subtitles are displayed in seconds. -- @field #number subduration Duration how long subtitles are displayed in seconds.
-- @field #boolean metric If true, use metric units. If false, use imperial (default). -- @field #boolean metric If true, use metric units. If false, use imperial (default).
-- @field #boolean PmmHg If true, give pressure in millimeters of Mercury. Default is inHg for imperial and hecto Pascal (=mili Bars) for metric units. -- @field #boolean PmmHg If true, give pressure in millimeters of Mercury. Default is inHg for imperial and hecto Pascal (=mili Bars) for metric units.
-- @field #boolean qnhonly If true, suppresses reporting QFE. Default is to report both QNH and QFE.
-- @field #boolean TDegF If true, give temperature in degrees Fahrenheit. Default is in degrees Celsius independent of chosen unit system. -- @field #boolean TDegF If true, give temperature in degrees Fahrenheit. Default is in degrees Celsius independent of chosen unit system.
-- @field #number zuludiff Time difference local vs. zulu in hours. -- @field #number zuludiff Time difference local vs. zulu in hours.
-- @field #boolean zulutimeonly If true, suppresses report of local time, sunrise, and sunset.
-- @field #number magvar Magnetic declination/variation at the airport in degrees. -- @field #number magvar Magnetic declination/variation at the airport in degrees.
-- @field #table ils Table of ILS frequencies (can be runway specific). -- @field #table ils Table of ILS frequencies (can be runway specific).
-- @field #table ndbinner Table of inner NDB frequencies (can be runway specific). -- @field #table ndbinner Table of inner NDB frequencies (can be runway specific).
@ -302,8 +304,10 @@ ATIS = {
subduration = nil, subduration = nil,
metric = nil, metric = nil,
PmmHg = nil, PmmHg = nil,
qnhonly = false,
TDegF = nil, TDegF = nil,
zuludiff = nil, zuludiff = nil,
zulutimeonly = false,
magvar = nil, magvar = nil,
ils = {}, ils = {},
ndbinner = {}, ndbinner = {},
@ -362,11 +366,32 @@ ATIS.Alphabet = {
-- @field #number Nevada +12° (East). -- @field #number Nevada +12° (East).
-- @field #number Normandy -10° (West). -- @field #number Normandy -10° (West).
-- @field #number PersianGulf +2° (East). -- @field #number PersianGulf +2° (East).
-- @field #number TheChannel -10° (West).
-- @field #number Syria +5° (East).
ATIS.RunwayM2T={ ATIS.RunwayM2T={
Caucasus=0, Caucasus=0,
Nevada=12, Nevada=12,
Normany=-10, Normandy=-10,
PersianGulf=2, PersianGulf=2,
TheChannel=-10,
Syria=5,
}
--- Whether ICAO phraseology is used for ATIS broadcasts.
-- @type ATIS.ICAOPhraseology
-- @field #boolean Caucasus true.
-- @field #boolean Nevada false.
-- @field #boolean Normandy true.
-- @field #boolean PersianGulf true.
-- @field #boolean TheChannel true.
-- @field #boolean Syria true.
ATIS.ICAOPhraseology={
Caucasus=true,
Nevada=false,
Normandy=true,
PersianGulf=true,
TheChannel=true,
Syria=true,
} }
--- Nav point data. --- Nav point data.
@ -415,6 +440,7 @@ ATIS.RunwayM2T={
-- @field #ATIS.Soundfile MegaHertz -- @field #ATIS.Soundfile MegaHertz
-- @field #ATIS.Soundfile Meters -- @field #ATIS.Soundfile Meters
-- @field #ATIS.Soundfile MetersPerSecond -- @field #ATIS.Soundfile MetersPerSecond
-- @field #ATIS.Soundfile Miles
-- @field #ATIS.Soundfile MillimetersOfMercury -- @field #ATIS.Soundfile MillimetersOfMercury
-- @field #ATIS.Soundfile N0 -- @field #ATIS.Soundfile N0
-- @field #ATIS.Soundfile N1 -- @field #ATIS.Soundfile N1
@ -487,6 +513,7 @@ ATIS.Sound = {
MegaHertz={filename="MegaHertz.ogg", duration=0.87}, MegaHertz={filename="MegaHertz.ogg", duration=0.87},
Meters={filename="Meters.ogg", duration=0.59}, Meters={filename="Meters.ogg", duration=0.59},
MetersPerSecond={filename="MetersPerSecond.ogg", duration=1.14}, MetersPerSecond={filename="MetersPerSecond.ogg", duration=1.14},
Miles={filename="Miles.ogg", duration=1.04},
MillimetersOfMercury={filename="MillimetersOfMercury.ogg", duration=1.53}, MillimetersOfMercury={filename="MillimetersOfMercury.ogg", duration=1.53},
Minus={filename="Minus.ogg", duration=0.64}, Minus={filename="Minus.ogg", duration=0.64},
N0={filename="N-0.ogg", duration=0.55}, N0={filename="N-0.ogg", duration=0.55},
@ -535,7 +562,7 @@ _ATIS={}
--- ATIS class version. --- ATIS class version.
-- @field #string version -- @field #string version
ATIS.version="0.8.0" ATIS.version="0.9.0"
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- TODO list -- TODO list
@ -898,6 +925,14 @@ function ATIS:SetAltimeterQNH(switch)
return self return self
end end
-- Suppresses QFE readout. Default is to report both QNH and QFE.
-- @param #ATIS self
-- @return #ATIS self
function ATIS:ReportQNHOnly()
self.qnhonly=true
return self
end
--- Set magnetic declination/variation at the airport. --- Set magnetic declination/variation at the airport.
-- --
-- Default is per map: -- Default is per map:
@ -960,6 +995,14 @@ function ATIS:SetZuluTimeDifference(delta)
return self return self
end end
-- Suppresses local time, sunrise, and sunset. Default is to report all these times.
-- @param #ATIS self
-- @return #ATIS self
function ATIS:ReportZuluTimeOnly()
self.zulutimeonly=true
return self
end
--- Add ILS station. Note that this can be runway specific. --- Add ILS station. Note that this can be runway specific.
-- @param #ATIS self -- @param #ATIS self
-- @param #number frequency ILS frequency in MHz. -- @param #number frequency ILS frequency in MHz.
@ -1354,13 +1397,24 @@ function ATIS:onafterBroadcast(From, Event, To)
visibilitymin=dust visibilitymin=dust
end end
end end
local VISIBILITY=""
-- Visibility in NM.
local VISIBILITY=string.format("%d", UTILS.Round(UTILS.MetersToNM(visibilitymin)))
-- Visibility in km.
if self.metric then if self.metric then
VISIBILITY=string.format("%d", UTILS.Round(visibilitymin/1000)) -- Visibility in km.
local reportedviz=UTILS.Round(visibilitymin/1000)
-- max reported visibility 9999 m
if reportedviz > 10 then
reportedviz=10
end
VISIBILITY=string.format("%d", reportedviz)
else
-- max reported visibility 10 NM
local reportedviz=UTILS.Round(UTILS.MetersToSM(visibilitymin))
if reportedviz > 10 then
reportedviz=10
end
VISIBILITY=string.format("%d", reportedviz)
end end
-------------- --------------
@ -1450,72 +1504,63 @@ function ATIS:onafterBroadcast(From, Event, To)
self.radioqueue:Number2Transmission(ZULU, nil, 0.5) self.radioqueue:Number2Transmission(ZULU, nil, 0.5)
self:Transmission(ATIS.Sound.TimeZulu, 0.2, subtitle) self:Transmission(ATIS.Sound.TimeZulu, 0.2, subtitle)
alltext=alltext..";\n"..subtitle alltext=alltext..";\n"..subtitle
if not self.zulutimeonly then
-- Sunrise Time -- Sunrise Time
subtitle=string.format("Sunrise at %s local time", SUNRISE) subtitle=string.format("Sunrise at %s local time", SUNRISE)
self:Transmission(ATIS.Sound.SunriseAt, 0.5, subtitle) self:Transmission(ATIS.Sound.SunriseAt, 0.5, subtitle)
self.radioqueue:Number2Transmission(SUNRISE, nil, 0.2) self.radioqueue:Number2Transmission(SUNRISE, nil, 0.2)
self:Transmission(ATIS.Sound.TimeLocal, 0.2) self:Transmission(ATIS.Sound.TimeLocal, 0.2)
alltext=alltext..";\n"..subtitle alltext=alltext..";\n"..subtitle
-- Sunset Time -- Sunset Time
subtitle=string.format("Sunset at %s local time", SUNSET) subtitle=string.format("Sunset at %s local time", SUNSET)
self:Transmission(ATIS.Sound.SunsetAt, 0.5, subtitle) self:Transmission(ATIS.Sound.SunsetAt, 0.5, subtitle)
self.radioqueue:Number2Transmission(SUNSET, nil, 0.5) self.radioqueue:Number2Transmission(SUNSET, nil, 0.5)
self:Transmission(ATIS.Sound.TimeLocal, 0.2) self:Transmission(ATIS.Sound.TimeLocal, 0.2)
alltext=alltext..";\n"..subtitle
end
-- Wind
if self.metric then
subtitle=string.format("Wind from %s at %s m/s", WINDFROM, WINDSPEED)
else
subtitle=string.format("Wind from %s at %s knots", WINDFROM, WINDSPEED)
end
if turbulence>0 then
subtitle=subtitle..", gusting"
end
local _WIND=subtitle
self:Transmission(ATIS.Sound.WindFrom, 1.0, subtitle)
self.radioqueue:Number2Transmission(WINDFROM)
self:Transmission(ATIS.Sound.At, 0.2)
self.radioqueue:Number2Transmission(WINDSPEED)
if self.metric then
self:Transmission(ATIS.Sound.MetersPerSecond, 0.2)
else
self:Transmission(ATIS.Sound.Knots, 0.2)
end
if turbulence>0 then
self:Transmission(ATIS.Sound.Gusting, 0.2)
end
alltext=alltext..";\n"..subtitle alltext=alltext..";\n"..subtitle
-- Visibility -- Visibility
if self.metric then if self.metric then
subtitle=string.format("Visibility %s km", VISIBILITY) subtitle=string.format("Visibility %s km", VISIBILITY)
else else
subtitle=string.format("Visibility %s NM", VISIBILITY) subtitle=string.format("Visibility %s SM", VISIBILITY)
end end
self:Transmission(ATIS.Sound.Visibilty, 1.0, subtitle) self:Transmission(ATIS.Sound.Visibilty, 1.0, subtitle)
self.radioqueue:Number2Transmission(VISIBILITY) self.radioqueue:Number2Transmission(VISIBILITY)
if self.metric then if self.metric then
self:Transmission(ATIS.Sound.Kilometers, 0.2) self:Transmission(ATIS.Sound.Kilometers, 0.2)
else else
self:Transmission(ATIS.Sound.NauticalMiles, 0.2) self:Transmission(ATIS.Sound.Miles, 0.2)
end end
alltext=alltext..";\n"..subtitle alltext=alltext..";\n"..subtitle
-- Cloud base
self:Transmission(CloudCover, 1.0, CLOUDSsub)
if CLOUDBASE and static then
-- Base
if self.metric then
subtitle=string.format("Cloudbase %s, ceiling %s meters", CLOUDBASE, CLOUDCEIL)
else
subtitle=string.format("Cloudbase %s, ceiling %s ft", CLOUDBASE, CLOUDCEIL)
end
self:Transmission(ATIS.Sound.CloudBase, 1.0, subtitle)
if tonumber(CLOUDBASE1000)>0 then
self.radioqueue:Number2Transmission(CLOUDBASE1000)
self:Transmission(ATIS.Sound.Thousand, 0.1)
end
if tonumber(CLOUDBASE0100)>0 then
self.radioqueue:Number2Transmission(CLOUDBASE0100)
self:Transmission(ATIS.Sound.Hundred, 0.1)
end
-- Ceiling
self:Transmission(ATIS.Sound.CloudCeiling, 0.5)
if tonumber(CLOUDCEIL1000)>0 then
self.radioqueue:Number2Transmission(CLOUDCEIL1000)
self:Transmission(ATIS.Sound.Thousand, 0.1)
end
if tonumber(CLOUDCEIL0100)>0 then
self.radioqueue:Number2Transmission(CLOUDCEIL0100)
self:Transmission(ATIS.Sound.Hundred, 0.1)
end
if self.metric then
self:Transmission(ATIS.Sound.Meters, 0.1)
else
self:Transmission(ATIS.Sound.Feet, 0.1)
end
end
alltext=alltext..";\n"..subtitle
-- Weather phenomena -- Weather phenomena
local wp=false local wp=false
local wpsub="" local wpsub=""
@ -1571,37 +1616,42 @@ function ATIS:onafterBroadcast(From, Event, To)
alltext=alltext..";\n"..subtitle alltext=alltext..";\n"..subtitle
end end
-- Altimeter QNH/QFE. -- Cloud base
if self.PmmHg then self:Transmission(CloudCover, 1.0, CLOUDSsub)
subtitle=string.format("Altimeter QNH %s.%s, QFE %s.%s mmHg", QNH[1], QNH[2], QFE[1], QFE[2]) if CLOUDBASE and static then
else -- Base
if self.metric then if self.metric then
subtitle=string.format("Altimeter QNH %s.%s, QFE %s.%s hPa", QNH[1], QNH[2], QFE[1], QFE[2]) subtitle=string.format("Cloudbase %s, ceiling %s meters", CLOUDBASE, CLOUDCEIL)
else else
subtitle=string.format("Altimeter QNH %s.%s, QFE %s.%s inHg", QNH[1], QNH[2], QFE[1], QFE[2]) subtitle=string.format("Cloudbase %s, ceiling %s ft", CLOUDBASE, CLOUDCEIL)
end
self:Transmission(ATIS.Sound.CloudBase, 1.0, subtitle)
if tonumber(CLOUDBASE1000)>0 then
self.radioqueue:Number2Transmission(CLOUDBASE1000)
self:Transmission(ATIS.Sound.Thousand, 0.1)
end
if tonumber(CLOUDBASE0100)>0 then
self.radioqueue:Number2Transmission(CLOUDBASE0100)
self:Transmission(ATIS.Sound.Hundred, 0.1)
end
-- Ceiling
self:Transmission(ATIS.Sound.CloudCeiling, 0.5)
if tonumber(CLOUDCEIL1000)>0 then
self.radioqueue:Number2Transmission(CLOUDCEIL1000)
self:Transmission(ATIS.Sound.Thousand, 0.1)
end
if tonumber(CLOUDCEIL0100)>0 then
self.radioqueue:Number2Transmission(CLOUDCEIL0100)
self:Transmission(ATIS.Sound.Hundred, 0.1)
end end
end
local _ALTIMETER=subtitle
self:Transmission(ATIS.Sound.Altimeter, 1.0, subtitle)
self:Transmission(ATIS.Sound.QNH, 0.5)
self.radioqueue:Number2Transmission(QNH[1])
self:Transmission(ATIS.Sound.Decimal, 0.2)
self.radioqueue:Number2Transmission(QNH[2])
self:Transmission(ATIS.Sound.QFE, 0.75)
self.radioqueue:Number2Transmission(QFE[1])
self:Transmission(ATIS.Sound.Decimal, 0.2)
self.radioqueue:Number2Transmission(QFE[2])
if self.PmmHg then
self:Transmission(ATIS.Sound.MillimetersOfMercury, 0.1)
else
if self.metric then if self.metric then
self:Transmission(ATIS.Sound.HectoPascal, 0.1) self:Transmission(ATIS.Sound.Meters, 0.1)
else else
self:Transmission(ATIS.Sound.InchesOfMercury, 0.1) self:Transmission(ATIS.Sound.Feet, 0.1)
end end
end end
alltext=alltext..";\n"..subtitle alltext=alltext..";\n"..subtitle
-- Temperature -- Temperature
if self.TDegF then if self.TDegF then
if temperature<0 then if temperature<0 then
@ -1628,7 +1678,7 @@ function ATIS:onafterBroadcast(From, Event, To)
self:Transmission(ATIS.Sound.DegreesCelsius, 0.2) self:Transmission(ATIS.Sound.DegreesCelsius, 0.2)
end end
alltext=alltext..";\n"..subtitle alltext=alltext..";\n"..subtitle
-- Dew point -- Dew point
if self.TDegF then if self.TDegF then
if dewpoint<0 then if dewpoint<0 then
@ -1656,27 +1706,57 @@ function ATIS:onafterBroadcast(From, Event, To)
end end
alltext=alltext..";\n"..subtitle alltext=alltext..";\n"..subtitle
-- Wind -- Altimeter QNH/QFE.
if self.metric then if self.PmmHg then
subtitle=string.format("Wind from %s at %s m/s", WINDFROM, WINDSPEED) if self.qnhonly then
subtitle=string.format("Altimeter %s.%s mmHg", QNH[1], QNH[2])
else
subtitle=string.format("Altimeter QNH %s.%s, QFE %s.%s mmHg", QNH[1], QNH[2], QFE[1], QFE[2])
end
else else
subtitle=string.format("Wind from %s at %s knots", WINDFROM, WINDSPEED) if self.metric then
if self.qnhonly then
subtitle=string.format("Altimeter %s.%s hPa", QNH[1], QNH[2])
else
subtitle=string.format("Altimeter QNH %s.%s, QFE %s.%s hPa", QNH[1], QNH[2], QFE[1], QFE[2])
end
else
if self.qnhonly then
subtitle=string.format("Altimeter %s.%s inHg", QNH[1], QNH[2])
else
subtitle=string.format("Altimeter QNH %s.%s, QFE %s.%s inHg", QNH[1], QNH[2], QFE[1], QFE[2])
end
end
end end
if turbulence>0 then local _ALTIMETER=subtitle
subtitle=subtitle..", gusting" self:Transmission(ATIS.Sound.Altimeter, 1.0, subtitle)
if not self.qnhonly then
self:Transmission(ATIS.Sound.QNH, 0.5)
end end
local _WIND=subtitle self.radioqueue:Number2Transmission(QNH[1])
self:Transmission(ATIS.Sound.WindFrom, 1.0, subtitle)
self.radioqueue:Number2Transmission(WINDFROM) if ATIS.ICAOPhraseology[UTILS.GetDCSMap()] then
self:Transmission(ATIS.Sound.At, 0.2) self:Transmission(ATIS.Sound.Decimal, 0.2)
self.radioqueue:Number2Transmission(WINDSPEED) end
if self.metric then self.radioqueue:Number2Transmission(QNH[2])
self:Transmission(ATIS.Sound.MetersPerSecond, 0.2)
if not self.qnhonly then
self:Transmission(ATIS.Sound.QFE, 0.75)
self.radioqueue:Number2Transmission(QFE[1])
if ATIS.ICAOPhraseology[UTILS.GetDCSMap()] then
self:Transmission(ATIS.Sound.Decimal, 0.2)
end
self.radioqueue:Number2Transmission(QFE[2])
end
if self.PmmHg then
self:Transmission(ATIS.Sound.MillimetersOfMercury, 0.1)
else else
self:Transmission(ATIS.Sound.Knots, 0.2) if self.metric then
end self:Transmission(ATIS.Sound.HectoPascal, 0.1)
if turbulence>0 then else
self:Transmission(ATIS.Sound.Gusting, 0.2) self:Transmission(ATIS.Sound.InchesOfMercury, 0.1)
end
end end
alltext=alltext..";\n"..subtitle alltext=alltext..";\n"..subtitle

View File

@ -49,12 +49,14 @@ BIGSMOKEPRESET = {
-- @field #string NTTR Nevada Test and Training Range map. -- @field #string NTTR Nevada Test and Training Range map.
-- @field #string PersianGulf Persian Gulf map. -- @field #string PersianGulf Persian Gulf map.
-- @field #string TheChannel The Channel map. -- @field #string TheChannel The Channel map.
-- @field #string Syria Syria map.
DCSMAP = { DCSMAP = {
Caucasus="Caucasus", Caucasus="Caucasus",
NTTR="Nevada", NTTR="Nevada",
Normandy="Normandy", Normandy="Normandy",
PersianGulf="PersianGulf", PersianGulf="PersianGulf",
TheChannel="TheChannel", TheChannel="TheChannel",
Syria="Syria",
} }
@ -313,6 +315,10 @@ UTILS.MetersToNM = function(meters)
return meters/1852 return meters/1852
end end
UTILS.MetersToSM = function(meters)
return meters/1609.34
end
UTILS.MetersToFeet = function(meters) UTILS.MetersToFeet = function(meters)
return meters/0.3048 return meters/0.3048
end end
@ -1117,7 +1123,9 @@ function UTILS.GetMagneticDeclination(map)
elseif map==DCSMAP.PersianGulf then elseif map==DCSMAP.PersianGulf then
declination=2 declination=2
elseif map==DCSMAP.TheChannel then elseif map==DCSMAP.TheChannel then
declination=-10 declination=-10
elseif map==DCSMAP.Syria then
declination=5
else else
declination=0 declination=0
end end
@ -1244,6 +1252,8 @@ function UTILS.GMTToLocalTimeDifference()
return 0 -- Calais UTC+1 hour return 0 -- Calais UTC+1 hour
elseif theatre==DCSMAP.TheChannel then elseif theatre==DCSMAP.TheChannel then
return 2 -- This map currently needs +2 return 2 -- This map currently needs +2
elseif theatre==DCSMAP.Syria then
return 3 -- Damascus is UTC+3 hours
else else
BASE:E(string.format("ERROR: Unknown Map %s in UTILS.GMTToLocal function. Returning 0", tostring(theatre))) BASE:E(string.format("ERROR: Unknown Map %s in UTILS.GMTToLocal function. Returning 0", tostring(theatre)))
return 0 return 0

View File

@ -315,6 +315,80 @@ AIRBASE.TheChannel = {
["High_Halden"] = "High Halden", ["High_Halden"] = "High Halden",
} }
--- Airbases of Syria
--
-- * AIRBASE.Syria.Kuweires
-- * AIRBASE.Syria.Marj_Ruhayyil
-- * AIRBASE.Syria.Kiryat_Shmona
-- * AIRBASE.Syria.Marj_as_Sultan_North
-- * AIRBASE.Syria.Eyn_Shemer
-- * AIRBASE.Syria.Incirlik
-- * AIRBASE.Syria.Damascus
-- * AIRBASE.Syria.Bassel_Al_Assad
-- * AIRBASE.Syria.Aleppo
-- * AIRBASE.Syria.Qabr_as_Sitt
-- * AIRBASE.Syria.Wujah_Al_Hajar
-- * AIRBASE.Syria.Al_Dumayr
-- * AIRBASE.Syria.Hatay
-- * AIRBASE.Syria.Haifa
-- * AIRBASE.Syria.Khalkhalah
-- * AIRBASE.Syria.Megiddo
-- * AIRBASE.Syria.Rayak
-- * AIRBASE.Syria.Mezzeh
-- * AIRBASE.Syria.King_Hussein_Air_College
-- * AIRBASE.Syria.Jirah
-- * AIRBASE.Syria.Taftanaz
-- * AIRBASE.Syria.Rene_Mouawad
-- * AIRBASE.Syria.Ramat_David
-- * AIRBASE.Syria.Minakh
-- * AIRBASE.Syria.Adana_Sakirpasa
-- * AIRBASE.Syria.Marj_as_Sultan_South
-- * AIRBASE.Syria.Hama
-- * AIRBASE.Syria.Al_Qusayr
-- * AIRBASE.Syria.Palmyra
-- * AIRBASE.Syria.Tabqa
-- * AIRBASE.Syria.Beirut_Rafic_Hariri
-- * AIRBASE.Syria.An_Nasiriyah
-- * AIRBASE.Syria.Abu_al_Duhur
--
-- @field Syria
AIRBASE.Syria={
["Kuweires"]="Kuweires",
["Marj_Ruhayyil"]="Marj Ruhayyil",
["Kiryat_Shmona"]="Kiryat Shmona",
["Marj_as_Sultan_North"]="Marj as Sultan North",
["Eyn_Shemer"]="Eyn Shemer",
["Incirlik"]="Incirlik",
["Damascus"]="Damascus",
["Bassel_Al_Assad"]="Bassel Al-Assad",
["Aleppo"]="Aleppo",
["Qabr_as_Sitt"]="Qabr as Sitt",
["Wujah_Al_Hajar"]="Wujah Al Hajar",
["Al_Dumayr"]="Al-Dumayr",
["Hatay"]="Hatay",
["Haifa"]="Haifa",
["Khalkhalah"]="Khalkhalah",
["Megiddo"]="Megiddo",
["Rayak"]="Rayak",
["Mezzeh"]="Mezzeh",
["King_Hussein_Air_College"]="King Hussein Air College",
["Jirah"]="Jirah",
["Taftanaz"]="Taftanaz",
["Rene_Mouawad"]="Rene Mouawad",
["Ramat_David"]="Ramat David",
["Minakh"]="Minakh",
["Adana_Sakirpasa"]="Adana Sakirpasa",
["Marj_as_Sultan_South"]="Marj as Sultan South",
["Hama"]="Hama",
["Al_Qusayr"]="Al Qusayr",
["Palmyra"]="Palmyra",
["Tabqa"]="Tabqa",
["Beirut_Rafic_Hariri"]="Beirut-Rafic Hariri",
["An_Nasiriyah"]="An Nasiriyah",
["Abu_al_Duhur"]="Abu al-Duhur",
}
--- AIRBASE.ParkingSpot ".Coordinate, ".TerminalID", ".TerminalType", ".TOAC", ".Free", ".TerminalID0", ".DistToRwy". --- AIRBASE.ParkingSpot ".Coordinate, ".TerminalID", ".TerminalType", ".TOAC", ".Free", ".TerminalID0", ".DistToRwy".
-- @type AIRBASE.ParkingSpot -- @type AIRBASE.ParkingSpot
-- @field Core.Point#COORDINATE Coordinate Coordinate of the parking spot. -- @field Core.Point#COORDINATE Coordinate Coordinate of the parking spot.

View File

@ -73,19 +73,7 @@ MOOSE has a living (chat and video) community of users, beta testers and contrib
# [Please DONATE ...](https://donorbox.org/fund-github-subscriptionfor-moose)
If you appreciate this development, please support to extend the framework. The development of this framework takes a lot of time.
A small gift would help me to buy a new small laptop that I can use to extend this framework while commuting to and from work ...
Also, your donations will be saved and spent wisely to the advantage of the community!
If everyone helps with a small amount, it would be really great!
<a class="dbox-donation-button" href="https://donorbox.org/fund-github-subscriptionfor-moose" style="background:#2d81c5 url(https://raw.githubusercontent.com/FlightControl-Master/MOOSE_DOCS/master/Configuration/Donate.png) no-repeat 37px center; color: #fff;text-decoration: none;font-family: Verdana,sans-serif;display: inline-block;font-size: 16px;padding: 15px 38px 15px 75px; -webkit-border-radius: 2px; -moz-border-radius: 2px; border-radius: 2px; box-shadow: 0 1px 0 0 #1f5a89; text-shadow: 0 1px rgba(0, 0, 0, 0.3);" >Donate</a>
Kind regards, Kind regards,
FlightControl (FC) FlightControl (FC)