mirror of
https://github.com/dcs-retribution/dcs-retribution.git
synced 2025-11-10 15:41:24 +00:00
This includes most of the briefing information in the kneeboard: * Airfield info * Waypoint info * Comm info * AWACS * Tankers * JTAC There's more that could be done: * Restrict tankers to the type compatible with the current aircraft * Support for carriers * Merge all relevant comm info (tankers, AWACS, JTAC, other flights) into the comm ladder This gives us a good start and a framework to build on. Very likely that we'll want to split part of this (probably the comm ladder) off onto a separate page once we start adding more to this, since it's a pretty full page currently. Also missing is any checking that the contents do not go beyond the bounds of the page. We could add this if needed. For now the page has enough room for about a dozen waypoints, which is quite a bit more than most missions need.
46 lines
1.1 KiB
Python
46 lines
1.1 KiB
Python
"""Extra airfield data that is not exposed by pydcs.
|
|
|
|
Remove once https://github.com/pydcs/dcs/issues/69 tracks getting the missing
|
|
data added to pydcs. Until then, missing data can be manually filled in here.
|
|
"""
|
|
from dataclasses import dataclass, field
|
|
from typing import Dict, List, Optional
|
|
|
|
|
|
RadioFrequency = str
|
|
|
|
|
|
@dataclass
|
|
class AtcData:
|
|
hf: RadioFrequency
|
|
vhf_fm: RadioFrequency
|
|
vhf_am: RadioFrequency
|
|
uhf: RadioFrequency
|
|
|
|
|
|
@dataclass
|
|
class AirfieldData:
|
|
"""Additional airfield data not included in pydcs."""
|
|
|
|
#: Radio channels used by the airfield's ATC.
|
|
atc: AtcData
|
|
|
|
#: TACAN channel as a string, i.e. "74X".
|
|
tacan: Optional[str] = None
|
|
|
|
#: Dict of runway heading -> ILS frequency.
|
|
ils: Dict[str, RadioFrequency] = field(default_factory=dict)
|
|
|
|
def ils_freq(self, runway: str) -> Optional[RadioFrequency]:
|
|
return self.ils.get(runway)
|
|
|
|
|
|
# TODO: Add more airfields.
|
|
AIRFIELD_DATA = {
|
|
"Incirlik": AirfieldData(
|
|
AtcData("3.85", "38.6", "129.4", "360.1"),
|
|
"21X",
|
|
{"050": "109.3", "230": "111.7"}
|
|
),
|
|
}
|