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

# Conflicts:
#	Moose Development/Moose/Wrapper/Airbase.lua
This commit is contained in:
Applevangelist 2025-04-18 19:46:12 +02:00
commit ec2a89fa48
4 changed files with 51 additions and 35 deletions

View File

@ -501,6 +501,7 @@ ATIS.Alphabet = {
-- @field #number Kola +15° (East). -- @field #number Kola +15° (East).
-- @field #number Afghanistan +3° (East). -- @field #number Afghanistan +3° (East).
-- @field #number Iraq +4.4° (East). -- @field #number Iraq +4.4° (East).
-- @field #number GermanyCW +0.1° (East).
ATIS.RunwayM2T = { ATIS.RunwayM2T = {
Caucasus = 0, Caucasus = 0,
Nevada = 12, Nevada = 12,
@ -513,7 +514,8 @@ ATIS.RunwayM2T = {
SinaiMap = 5, SinaiMap = 5,
Kola = 15, Kola = 15,
Afghanistan = 3, Afghanistan = 3,
Iraq=4.4 Iraq=4.4,
GermanyCW=0.1,
} }
--- Whether ICAO phraseology is used for ATIS broadcasts. --- Whether ICAO phraseology is used for ATIS broadcasts.
@ -530,6 +532,7 @@ ATIS.RunwayM2T = {
-- @field #boolean Kola true. -- @field #boolean Kola true.
-- @field #boolean Afghanistan true. -- @field #boolean Afghanistan true.
-- @field #boolean Iraq true. -- @field #boolean Iraq true.
-- @field #boolean GermanyCW true.
ATIS.ICAOPhraseology = { ATIS.ICAOPhraseology = {
Caucasus = true, Caucasus = true,
Nevada = false, Nevada = false,
@ -543,6 +546,7 @@ ATIS.ICAOPhraseology = {
Kola = true, Kola = true,
Afghanistan = true, Afghanistan = true,
Iraq = true, Iraq = true,
GermanyCW = true,
} }
--- Nav point data. --- Nav point data.

View File

@ -58,6 +58,7 @@ BIGSMOKEPRESET = {
-- @field #string Kola Kola map. -- @field #string Kola Kola map.
-- @field #string Afghanistan Afghanistan map -- @field #string Afghanistan Afghanistan map
-- @field #string Iraq Iraq map -- @field #string Iraq Iraq map
-- @field #string GermanyCW Germany Cold War map
DCSMAP = { DCSMAP = {
Caucasus="Caucasus", Caucasus="Caucasus",
NTTR="Nevada", NTTR="Nevada",
@ -70,7 +71,8 @@ DCSMAP = {
Sinai="SinaiMap", Sinai="SinaiMap",
Kola="Kola", Kola="Kola",
Afghanistan="Afghanistan", Afghanistan="Afghanistan",
Iraq="Iraq" Iraq="Iraq",
GermanyCW="GermanyCW",
} }
@ -1759,7 +1761,9 @@ end
-- * Sinai +4.8 (East) -- * Sinai +4.8 (East)
-- * Kola +15 (East) - note there is a lot of deviation across the map (-1° to +24°), as we are close to the North pole -- * Kola +15 (East) - note there is a lot of deviation across the map (-1° to +24°), as we are close to the North pole
-- * Afghanistan +3 (East) - actually +3.6 (NW) to +2.3 (SE) -- * Afghanistan +3 (East) - actually +3.6 (NW) to +2.3 (SE)
-- @param #string map (Optional) Map for which the declination is returned. Default is from env.mission.theatre -- * Iraq +4.4 (East)
-- * Germany Cold War +0.1 (East) - near Fulda
-- @param #string map (Optional) Map for which the declination is returned. Default is from `env.mission.theatre`.
-- @return #number Declination in degrees. -- @return #number Declination in degrees.
function UTILS.GetMagneticDeclination(map) function UTILS.GetMagneticDeclination(map)
@ -1791,6 +1795,8 @@ function UTILS.GetMagneticDeclination(map)
declination=3 declination=3
elseif map==DCSMAP.Iraq then elseif map==DCSMAP.Iraq then
declination=4.4 declination=4.4
elseif map==DCSMAP.GermanyCW then
declination=0.1
else else
declination=0 declination=0
end end
@ -2024,6 +2030,10 @@ function UTILS.GMTToLocalTimeDifference()
return 3 -- Currently map is +2 but should be +3 (DCS bug?) return 3 -- Currently map is +2 but should be +3 (DCS bug?)
elseif theatre==DCSMAP.Afghanistan then elseif theatre==DCSMAP.Afghanistan then
return 4.5 -- UTC +4:30 return 4.5 -- UTC +4:30
elseif theatre==DCSMAP.Iraq then
return 3.0 -- UTC +3
elseif theatre==DCSMAP.GermanyCW then
return 1.0 -- UTC +1 Central European Time (not summer time)
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

@ -911,10 +911,10 @@ AIRBASE.Iraq = {
--- Airbases of the Germany Cold War map --- Airbases of the Germany Cold War map
-- * AIRBASE.GermanyCW.Airracing_Frankfurt -- * AIRBASE.GermanyCW.Airracing_Frankfurt
-- * AIRBASE.GermanyCW.Airracing_Frankfurt
-- * AIRBASE.GermanyCW.Airracing_Koblenz -- * AIRBASE.GermanyCW.Airracing_Koblenz
-- * AIRBASE.GermanyCW.Airracing_Luebeck -- * AIRBASE.GermanyCW.Airracing_Luebeck
-- * AIRBASE.GermanyCW.Allstedt -- * AIRBASE.GermanyCW.Allstedt
-- * AIRBASE.GermanyCW.Alt_Daber
-- * AIRBASE.GermanyCW.Altes_Lager -- * AIRBASE.GermanyCW.Altes_Lager
-- * AIRBASE.GermanyCW.Bad_Duerkheim -- * AIRBASE.GermanyCW.Bad_Duerkheim
-- * AIRBASE.GermanyCW.Barth -- * AIRBASE.GermanyCW.Barth
@ -937,14 +937,13 @@ AIRBASE.Iraq = {
-- * AIRBASE.GermanyCW.Fritzlar -- * AIRBASE.GermanyCW.Fritzlar
-- * AIRBASE.GermanyCW.Fulda -- * AIRBASE.GermanyCW.Fulda
-- * AIRBASE.GermanyCW.Gardelegen -- * AIRBASE.GermanyCW.Gardelegen
-- * AIRBASE.GermanyCW.Garz
-- * AIRBASE.GermanyCW.Gatow -- * AIRBASE.GermanyCW.Gatow
-- * AIRBASE.GermanyCW.Gelnhausen -- * AIRBASE.GermanyCW.Gelnhausen
-- * AIRBASE.GermanyCW.Giebelstadt -- * AIRBASE.GermanyCW.Giebelstadt
-- * AIRBASE.GermanyCW.Glindbruchkippe -- * AIRBASE.GermanyCW.Glindbruchkippe
-- * AIRBASE.GermanyCW.Gross_Doelln
-- * AIRBASE.GermanyCW.Gross_Mohrdorf -- * AIRBASE.GermanyCW.Gross_Mohrdorf
-- * AIRBASE.GermanyCW.Grosse_Wiese -- * AIRBASE.GermanyCW.Grosse_Wiese
-- * AIRBASE.GermanyCW.Gaerz
-- * AIRBASE.GermanyCW.Guetersloh -- * AIRBASE.GermanyCW.Guetersloh
-- * AIRBASE.GermanyCW.H_FRG_01 -- * AIRBASE.GermanyCW.H_FRG_01
-- * AIRBASE.GermanyCW.H_FRG_02 -- * AIRBASE.GermanyCW.H_FRG_02
@ -1016,10 +1015,11 @@ AIRBASE.Iraq = {
-- * AIRBASE.GermanyCW.H_GDR_31 -- * AIRBASE.GermanyCW.H_GDR_31
-- * AIRBASE.GermanyCW.H_GDR_32 -- * AIRBASE.GermanyCW.H_GDR_32
-- * AIRBASE.GermanyCW.H_GDR_33 -- * AIRBASE.GermanyCW.H_GDR_33
-- * AIRBASE.GermanyCW.H_GDR_34
-- * AIRBASE.GermanyCW.H_Med_FRG_01
-- * AIRBASE.GermanyCW.H_Med_FRG_02 -- * AIRBASE.GermanyCW.H_Med_FRG_02
-- * AIRBASE.GermanyCW.H_Med_FRG_04 -- * AIRBASE.GermanyCW.H_Med_FRG_04
-- * AIRBASE.GermanyCW.H_Med_FRG_06 -- * AIRBASE.GermanyCW.H_Med_FRG_06
-- * AIRBASE.GermanyCW.H_Med_FRG_09
-- * AIRBASE.GermanyCW.H_Med_FRG_11 -- * AIRBASE.GermanyCW.H_Med_FRG_11
-- * AIRBASE.GermanyCW.H_Med_FRG_12 -- * AIRBASE.GermanyCW.H_Med_FRG_12
-- * AIRBASE.GermanyCW.H_Med_FRG_13 -- * AIRBASE.GermanyCW.H_Med_FRG_13
@ -1067,9 +1067,9 @@ AIRBASE.Iraq = {
-- * AIRBASE.GermanyCW.Koethen -- * AIRBASE.GermanyCW.Koethen
-- * AIRBASE.GermanyCW.Laage -- * AIRBASE.GermanyCW.Laage
-- * AIRBASE.GermanyCW.Langenselbold -- * AIRBASE.GermanyCW.Langenselbold
-- * AIRBASE.GermanyCW.Laerz
-- * AIRBASE.GermanyCW.Leipzig_Halle -- * AIRBASE.GermanyCW.Leipzig_Halle
-- * AIRBASE.GermanyCW.Leipzig_Mockau -- * AIRBASE.GermanyCW.Leipzig_Mockau
-- * AIRBASE.GermanyCW.Laerz
-- * AIRBASE.GermanyCW.Luebeck -- * AIRBASE.GermanyCW.Luebeck
-- * AIRBASE.GermanyCW.Lueneburg -- * AIRBASE.GermanyCW.Lueneburg
-- * AIRBASE.GermanyCW.Mahlwinkel -- * AIRBASE.GermanyCW.Mahlwinkel
@ -1087,14 +1087,15 @@ AIRBASE.Iraq = {
-- * AIRBASE.GermanyCW.Pottschutthoehe -- * AIRBASE.GermanyCW.Pottschutthoehe
-- * AIRBASE.GermanyCW.Ramstein -- * AIRBASE.GermanyCW.Ramstein
-- * AIRBASE.GermanyCW.Rinteln -- * AIRBASE.GermanyCW.Rinteln
-- * AIRBASE.GermanyCW.Schweinfurt
-- * AIRBASE.GermanyCW.Schoenefeld -- * AIRBASE.GermanyCW.Schoenefeld
-- * AIRBASE.GermanyCW.Schweinfurt
-- * AIRBASE.GermanyCW.Sembach -- * AIRBASE.GermanyCW.Sembach
-- * AIRBASE.GermanyCW.Spangdahlem -- * AIRBASE.GermanyCW.Spangdahlem
-- * AIRBASE.GermanyCW.Sperenberg -- * AIRBASE.GermanyCW.Sperenberg
-- * AIRBASE.GermanyCW.Stendal -- * AIRBASE.GermanyCW.Stendal
-- * AIRBASE.GermanyCW.Tegel -- * AIRBASE.GermanyCW.Tegel
-- * AIRBASE.GermanyCW.Tempelhof -- * AIRBASE.GermanyCW.Tempelhof
-- * AIRBASE.GermanyCW.Templin
-- * AIRBASE.GermanyCW.Tutow -- * AIRBASE.GermanyCW.Tutow
-- * AIRBASE.GermanyCW.Uelzen -- * AIRBASE.GermanyCW.Uelzen
-- * AIRBASE.GermanyCW.Uetersen -- * AIRBASE.GermanyCW.Uetersen
@ -1106,6 +1107,7 @@ AIRBASE.Iraq = {
-- * AIRBASE.GermanyCW.Weser_Wuemme -- * AIRBASE.GermanyCW.Weser_Wuemme
-- * AIRBASE.GermanyCW.Wiesbaden -- * AIRBASE.GermanyCW.Wiesbaden
-- * AIRBASE.GermanyCW.Wismar -- * AIRBASE.GermanyCW.Wismar
-- * AIRBASE.GermanyCW.Wittstock
-- * AIRBASE.GermanyCW.Worms -- * AIRBASE.GermanyCW.Worms
-- * AIRBASE.GermanyCW.Wunstorf -- * AIRBASE.GermanyCW.Wunstorf
-- * AIRBASE.GermanyCW.Zerbst -- * AIRBASE.GermanyCW.Zerbst
@ -1115,11 +1117,10 @@ AIRBASE.Iraq = {
AIRBASE.GermanyCW = { AIRBASE.GermanyCW = {
["Airracing_Frankfurt"] = "Airracing Frankfurt", ["Airracing_Frankfurt"] = "Airracing Frankfurt",
["Airracing_Koblenz"] = "Airracing Koblenz", ["Airracing_Koblenz"] = "Airracing Koblenz",
["Airracing_Luebeck"] = "Airracing Lübeck", ["Airracing_Luebeck"] = "Airracing Lubeck",
["Allstedt"] = "Allstedt", ["Allstedt"] = "Allstedt",
["Alt_Daber"] = "Alt Daber",
["Altes_Lager"] = "Altes Lager", ["Altes_Lager"] = "Altes Lager",
["Bad_Duerkheim"] = "Bad Dürkheim", ["Bad_Duerkheim"] = "Bad Durkheim",
["Barth"] = "Barth", ["Barth"] = "Barth",
["Bienenfarm"] = "Bienenfarm", ["Bienenfarm"] = "Bienenfarm",
["Bindersleben"] = "Bindersleben", ["Bindersleben"] = "Bindersleben",
@ -1127,8 +1128,8 @@ AIRBASE.GermanyCW = {
["Braunschweig"] = "Braunschweig", ["Braunschweig"] = "Braunschweig",
["Bremen"] = "Bremen", ["Bremen"] = "Bremen",
["Briest"] = "Briest", ["Briest"] = "Briest",
["Buechel"] = "Büchel", ["Buechel"] = "Buchel",
["Bueckeburg"] = "Bückeburg", ["Bueckeburg"] = "Buckeburg",
["Celle"] = "Celle", ["Celle"] = "Celle",
["Cochstedt"] = "Cochstedt", ["Cochstedt"] = "Cochstedt",
["Damgarten"] = "Damgarten", ["Damgarten"] = "Damgarten",
@ -1140,15 +1141,14 @@ AIRBASE.GermanyCW = {
["Fritzlar"] = "Fritzlar", ["Fritzlar"] = "Fritzlar",
["Fulda"] = "Fulda", ["Fulda"] = "Fulda",
["Gardelegen"] = "Gardelegen", ["Gardelegen"] = "Gardelegen",
["Garz"] = "Garz",
["Gatow"] = "Gatow", ["Gatow"] = "Gatow",
["Gelnhausen"] = "Gelnhausen", ["Gelnhausen"] = "Gelnhausen",
["Giebelstadt"] = "Giebelstadt", ["Giebelstadt"] = "Giebelstadt",
["Glindbruchkippe_"] = "Glindbruchkippe ", ["Glindbruchkippe"] = "Glindbruchkippe ",
["Gross_Doelln"] = "Groß Dölln", ["Gross_Mohrdorf"] = "Gross Mohrdorf",
["Gross_Mohrdorf"] = "Groß Mohrdorf", ["Grosse_Wiese"] = "Grosse Wiese",
["Grosse_Wiese"] = "Große Wiese", ["Guetersloh"] = "Gutersloh",
["Gaerz"] = "Gärz",
["Guetersloh"] = "Gütersloh",
["H_FRG_01"] = "H FRG 01", ["H_FRG_01"] = "H FRG 01",
["H_FRG_02"] = "H FRG 02", ["H_FRG_02"] = "H FRG 02",
["H_FRG_03"] = "H FRG 03", ["H_FRG_03"] = "H FRG 03",
@ -1219,10 +1219,11 @@ AIRBASE.GermanyCW = {
["H_GDR_31"] = "H GDR 31", ["H_GDR_31"] = "H GDR 31",
["H_GDR_32"] = "H GDR 32", ["H_GDR_32"] = "H GDR 32",
["H_GDR_33"] = "H GDR 33", ["H_GDR_33"] = "H GDR 33",
["H_GDR_34"] = "H GDR 34",
["H_Med_FRG_01"] = "H Med FRG 01",
["H_Med_FRG_02"] = "H Med FRG 02", ["H_Med_FRG_02"] = "H Med FRG 02",
["H_Med_FRG_04"] = "H Med FRG 04", ["H_Med_FRG_04"] = "H Med FRG 04",
["H_Med_FRG_06"] = "H Med FRG 06", ["H_Med_FRG_06"] = "H Med FRG 06",
["H_Med_FRG_09"] = "H Med FRG 09",
["H_Med_FRG_11"] = "H Med FRG 11", ["H_Med_FRG_11"] = "H Med FRG 11",
["H_Med_FRG_12"] = "H Med FRG 12", ["H_Med_FRG_12"] = "H Med FRG 12",
["H_Med_FRG_13"] = "H Med FRG 13", ["H_Med_FRG_13"] = "H Med FRG 13",
@ -1267,37 +1268,38 @@ AIRBASE.GermanyCW = {
["Hockenheim"] = "Hockenheim", ["Hockenheim"] = "Hockenheim",
["Holzdorf"] = "Holzdorf", ["Holzdorf"] = "Holzdorf",
["Kammermark"] = "Kammermark", ["Kammermark"] = "Kammermark",
["Koethen"] = "Köthen", ["Koethen"] = "Kothen",
["Laage"] = "Laage", ["Laage"] = "Laage",
["Langenselbold"] = "Langenselbold", ["Langenselbold"] = "Langenselbold",
["Laerz"] = "Larz",
["Leipzig_Halle"] = "Leipzig Halle", ["Leipzig_Halle"] = "Leipzig Halle",
["Leipzig_Mockau"] = "Leipzig Mockau", ["Leipzig_Mockau"] = "Leipzig Mockau",
["Laerz"] = "Lärz", ["Luebeck"] = "Lubeck",
["Luebeck"] = "Lübeck", ["Lueneburg"] = "Luneburg",
["Lueneburg"] = "Lüneburg",
["Mahlwinkel"] = "Mahlwinkel", ["Mahlwinkel"] = "Mahlwinkel",
["Mendig"] = "Mendig", ["Mendig"] = "Mendig",
["Merseburg"] = "Merseburg", ["Merseburg"] = "Merseburg",
["Neubrandenburg"] = "Neubrandenburg", ["Neubrandenburg"] = "Neubrandenburg",
["Neuruppin"] = "Neuruppin", ["Neuruppin"] = "Neuruppin",
["Northeim"] = "Northeim", ["Northeim"] = "Northeim",
["Ober_Moerlen"] = "Ober-Mörlen", ["Ober_Moerlen"] = "Ober-Morlen",
["Obermehler_Schlotheim"] = "Obermehler Schlotheim", ["Obermehler_Schlotheim"] = "Obermehler Schlotheim",
["Parchim"] = "Parchim", ["Parchim"] = "Parchim",
["Peenemuende"] = "Peenemünde", ["Peenemuende"] = "Peenemunde",
["Pferdsfeld"] = "Pferdsfeld", ["Pferdsfeld"] = "Pferdsfeld",
["Pinnow"] = "Pinnow", ["Pinnow"] = "Pinnow",
["Pottschutthoehe"] = "Pottschutthöhe", ["Pottschutthoehe"] = "Pottschutthohe",
["Ramstein"] = "Ramstein", ["Ramstein"] = "Ramstein",
["Rinteln"] = "Rinteln", ["Rinteln"] = "Rinteln",
["Schoenefeld"] = "Schonefeld",
["Schweinfurt"] = "Schweinfurt", ["Schweinfurt"] = "Schweinfurt",
["Schoenefeld"] = "Schönefeld",
["Sembach"] = "Sembach", ["Sembach"] = "Sembach",
["Spangdahlem"] = "Spangdahlem", ["Spangdahlem"] = "Spangdahlem",
["Sperenberg"] = "Sperenberg", ["Sperenberg"] = "Sperenberg",
["Stendal"] = "Stendal", ["Stendal"] = "Stendal",
["Tegel"] = "Tegel", ["Tegel"] = "Tegel",
["Tempelhof"] = "Tempelhof", ["Tempelhof"] = "Tempelhof",
["Templin"] = "Templin",
["Tutow"] = "Tutow", ["Tutow"] = "Tutow",
["Uelzen"] = "Uelzen", ["Uelzen"] = "Uelzen",
["Uetersen"] = "Uetersen", ["Uetersen"] = "Uetersen",
@ -1306,13 +1308,14 @@ AIRBASE.GermanyCW = {
["Walldorf"] = "Walldorf", ["Walldorf"] = "Walldorf",
["Waren_Vielist"] = "Waren Vielist", ["Waren_Vielist"] = "Waren Vielist",
["Werneuchen"] = "Werneuchen", ["Werneuchen"] = "Werneuchen",
["Weser_Wuemme"] = "Weser Wümme", ["Weser_Wuemme"] = "Weser Wumme",
["Wiesbaden"] = "Wiesbaden", ["Wiesbaden"] = "Wiesbaden",
["Wismar"] = "Wismar", ["Wismar"] = "Wismar",
["Wittstock"] = "Wittstock",
["Worms"] = "Worms", ["Worms"] = "Worms",
["Wunstorf"] = "Wunstorf", ["Wunstorf"] = "Wunstorf",
["Zerbst"] = "Zerbst", ["Zerbst"] = "Zerbst",
["Zweibruecken"] = "Zweibrücken", ["Zweibruecken"] = "Zweibrucken",
} }
@ -2581,7 +2584,7 @@ function AIRBASE:_InitRunways(IncludeInverse)
runway.name=string.format("%02d", tonumber(namefromheading)) runway.name=string.format("%02d", tonumber(namefromheading))
else else
runway.name=string.format("%02d", tonumber(name)) runway.name=string.format("%02d", tonumber(name))
self:T("RunwayName: "..runway.name) --self:I("RunwayName: "..runway.name)
end end
--runway.name=string.format("%02d", tonumber(name)) --runway.name=string.format("%02d", tonumber(name))

View File

@ -1842,7 +1842,6 @@ end
-- @param #GROUP self -- @param #GROUP self
-- @return #table -- @return #table
function GROUP:GetTemplateRoutePoints() function GROUP:GetTemplateRoutePoints()
if not self or not self:IsAlive() then return end
local GroupName = self:GetName() local GroupName = self:GetName()
local template = _DATABASE:GetGroupTemplate(GroupName) local template = _DATABASE:GetGroupTemplate(GroupName)
if template and template.route and template.route.points then if template and template.route and template.route.points then