Skip to content

Add Afghanistan terrain - #447

Merged
rp- merged 1 commit into
pydcs:masterfrom
Sha1imar:afghanistan
Oct 25, 2026
Merged

rp- merged 1 commit into
pydcs:masterfrom
Sha1imar:afghanistan

Conversation

@Sha1imar

Copy link
Copy Markdown

Adds the Afghanistan terrain (DCS 2.9.x, all four map parts installed).

How it was built (same path as the other terrains):

  • airports.py: tools/airport_import.py over the Mission Editor airdrome dump (dumpairportdata() from that tool's docstring, run once by placing an aircraft on the map). 26 airfields with runways, parking slots (sizes, slot_version = 2) and ATC frequencies as the ME reports them.
  • projection.py: transverse Mercator fitted on the terrain's own Mods/terrains/Afghanistan/beacons.lua, whose 49 beacons carry both DCS metres (position) and positionGeo: central meridian 63, false easting -300150, false northing -3759657, k 0.9996. Every beacon round-trips within 0.07 m. (tools/export_map_projection.py gets the terrain registered too.)
  • afghanistan.py: bounds from the terrain config's SW_bound/NE_bound (km -> m), default bullseyes from defaultBullseye, UTC+4:30. Monthly temperatures are the Kabul climate (they only seed the ME weather, as in the other terrain classes).

Checked: Mission(Afghanistan()) builds flights at Bagram/Kandahar with payloads from a real install, saves, and load_file reads the .miz back as Afghanistan; six live Airbase:getPoint() positions from a running Afghanistan mission land within ~1.5 km of the airport reference points (the same spread Caucasus shows between the ME reference point and the in-game airbase point); the repo's test suite is unchanged before/after (the same install-dependent livery tests fail on a machine without DCS).

@rp-

rp- commented Oct 25, 2026

Copy link
Copy Markdown
Collaborator

please rebase

…ort_import.py, projection fitted on the map's own beacons.lua positions, bounds/bullseye from the terrain config)
@rp-
rp- merged commit ef9383c into pydcs:master Oct 25, 2026
11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants