Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions dcs/mission.py
Original file line number Diff line number Diff line change
Expand Up @@ -323,6 +323,8 @@ def loaddict(fname: str, mizfile: zipfile.ZipFile, reserved_files: List[str]) ->
self.terrain = terrain_.Germany()
elif imp_mission["theatre"] == "Kola":
self.terrain = terrain_.Kola()
elif imp_mission["theatre"] == "Afghanistan":
self.terrain = terrain_.Afghanistan()
else:
raise RuntimeError("Unknown theatre: '{theatre}'".format(theatre=imp_mission["theatre"]))

Expand Down
1 change: 1 addition & 0 deletions dcs/terrain/__init__.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
from dcs.terrain.terrain import ParkingSlot, Airport, Runway, RunwayApproach, Terrain
from dcs.terrain.terrain import RunwayOccupiedError, NoParkingSlotError, Graph, Node, MapView
from dcs.terrain.afghanistan import Afghanistan
from dcs.terrain.caucasus.caucasus import Caucasus
from dcs.terrain.falklands import Falklands
from dcs.terrain.germany import Germany
Expand Down
1 change: 1 addition & 0 deletions dcs/terrain/afghanistan/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
from .afghanistan import Afghanistan
42 changes: 42 additions & 0 deletions dcs/terrain/afghanistan/afghanistan.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
import datetime

from dcs import mapping
from dcs.terrain import Terrain, MapView
from .airports import ALL_AIRPORTS
from .projection import PARAMETERS


class Afghanistan(Terrain):

# Kabul-area climate, (min, max) deg C per month; only seeds the mission editor's default weather.
temperature = [
(-7, 5),
(-5, 7),
(1, 13),
(6, 19),
(9, 24),
(13, 30),
(16, 32),
(15, 31),
(10, 27),
(4, 21),
(-1, 13),
(-5, 7),
]
assert len(temperature) == 12

def __init__(self):
# SW_bound / NE_bound from the terrain's own config (km), read through the mission editor's terrainDATA
bounds = mapping.Rectangle(532000, -534000, -1180000, 757000, self)
super().__init__(
"Afghanistan",
PARAMETERS,
bounds=bounds,
map_view_default=MapView(bounds.center(), self, 1000000),
utc_offset=datetime.timezone(datetime.timedelta(hours=4, minutes=30))
)
# defaultBullseye from the terrain config
self.bullseye_blue = {"x": -258000, "y": -42500}
self.bullseye_red = {"x": 41660, "y": -372200}

self.airports = {a.name: a(self) for a in ALL_AIRPORTS}
4,584 changes: 4,584 additions & 0 deletions dcs/terrain/afghanistan/airports.py

Large diffs are not rendered by default.

10 changes: 10 additions & 0 deletions dcs/terrain/afghanistan/projection.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# DO NOT EDIT:
# This file is generated by tools/export_map_projection.py.
from dcs.terrain.projections import TransverseMercator

PARAMETERS = TransverseMercator(
central_meridian=63,
false_easting=-300150.0,
false_northing=-3759657.0,
scale_factor=0.9996,
)
4 changes: 3 additions & 1 deletion tools/export_map_projection.py
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@

from dcs import Mission
from dcs.action import DoScriptFile
from dcs.terrain.afghanistan import Afghanistan
from dcs.terrain.caucasus import Caucasus
from dcs.terrain.falklands import Falklands
from dcs.terrain.germany import Germany
Expand Down Expand Up @@ -72,7 +73,8 @@
"syria": Syria(),
"marianaislands": MarianaIslands(),
"germany": Germany(),
"kola": Kola()
"kola": Kola(),
"afghanistan": Afghanistan(),
}


Expand Down
Loading