# Custom airport file (experimental!)
# Save a copy of example.txt before editing it, and keep this file as a guide.
# On Windows, place the txt file in the /locations/ folder of the game.
# On android (4.4+), place the txt file in /Android/data/com.dirgtrats.endlessatc/files/.
# Copy, edit and use and share airport files at your own risk!

# This example file has lots of comments (#), to use it as a guide. Uncomment the 'code = ' item in the [airport1] section below to make the airport appear in-game.

# This file has several [sections] (but most are optional), namely:
# [airspace]: various general properties
# [airport1]: main airport
# [airport2]: optional secondary airports
# [area1]: optional restricted areas
# [configurations]: optional runway usage configurations
# [transition1]: optional runway transition routes
# [planetypes]: optional custom plane types
# [scenario]: optional nonrandom traffic

# Each section can have multiple items, each item with one or more properties. The format/order of properties are explained after a double hashtag (##) in this file.
# Properties are comma separated. Multi-line properties (lists) must start with a tab or space at the beginning of each line.
# Properties in this file that are explained between <brackets> are optional properties (do not include the brackets themselves).
# If the game fails to load a property, or you omit, #comment, or zero an (optional) property, a default value may be automatically used instead.
# Positions must be given either in x, y coordinates (in nautical miles NM), with 0, 0 being the center of the screen, and 20.1, 12.82 being somewhere at the top left,
# or, in latitude, longitude coordinates, which must always start with a N/W/S/E prefix, for example N40.7128, W74.0060 or S049.43.45.000, E002.09.51.000 (DMS notation).
# Lat/long coordinates (and true headings) are rotated automatically when a magnetic variance is defined; this is to align the radar display with the magnetic north,
# because heading 360 is a vertical line on the radar screen.
# X, y coordinates are screen coordinates; they are not rotated.
# Either way, all positions consist of two values, seperated by a comma. Whether you want to use x,y or latlong coordinates is up to you.
# For real world data it is probably easier to search the internet for the actual latlong coordinates, while for text labels on the screen x,y positions are more convenient.
# Press the left Ctrl key in the sim to display the current coordinates of the mouse. These values are also copied into the Windows clipboard.


##############################################################
[airspace]
##############################################################

radius = 30			; airspace radius in NM
zoom = 7.0 			; default zoom level, increase to zoom in
elevation = 13 			; ground altitude in feet
floor = 1500 			; minimum selectable altitude
descendaltitude = 7000 		; minimum initial altitude for arrivals
ceiling = 9000 			; maximum selectable altitude in feet
above = 12000 			; SID top altitude in feet (above ceiling)
transitionlevel = 18001		; lowest altitude in feet to be displayed as flight level
speedrestriction = 15, 220 	; radius in NM, and speed in knots
usa = true			; American-style callsign pronunciation and runway names
metric = false			; display altitudes in metres instead of feet
center = N50.1234, E2.0060	; lat/long location of center of radar display (required when using lat/long coordinates elsewhere in this file)
magneticvar = 2.0		; magnetic variance; east = positive (used to rotate lat/long coordinates if defined below)


beacons =
	vor,	0,	-3,	0,	main v-o-r
	bco,	18.6,	6.8,	090,	beacon two
	trd,	N50.0, E2.1,	-090,	the third one
## name, position, <holdingheading>, <pronunciation>
# the first given beacon will be the default beacon for arrivals inbound the main airport
# when holdingheading is 0 or omitted, planes will hold there using the plane's current heading
# when a holdingheading is given, planes will fly that heading (or magnetic course) on the inbound leg when holding
# when holdingheading is negative, planes will make left-hand turns instead of right-hand


line1 = 
	10, 10
	10, 40
	40, 40
	40, 10
	10, 10
## positions
# pointlist of optional green (coast)line.

line2 = 
	-15, 0
	-22, 0
	-22, -12.23
	-15, -14
	-15, 0


##############################################################
[airport1]
##############################################################

name = Example Airport		; name of the main airport
#code = EXAM			; four letter code, displayed in airport menu (required)

runways = 
	rwy1,	36,	-4.3,	3.23,	360.0,	11400,	0,	0,	100,	3,	360.0,	3,	180.0,	YY,	8.0,	ZZ,	8.5
## identifier, name, position, true_heading, <length>, <displaced>, <displaced2>, <elevation>, <glideslope>, <localizer>, <glideslope2>, <localizer2>, <beaconname, distance>, <beaconname2, distance2>
# where identifier is a unique name used to define a runway usage configuration below
# name is one or two digits, optionally suffixed with an L, R or C character
# position is the location of the beginning of the runway (including displaced threshold)
# length is in feet
# displaced threshold length in feet (for landings), displaced2 is for the other end of the runway
# elevation is in feet, and must be within 1000 feet difference from the airspace ground elevation defined above
# glideslope is the angle in degrees; the default value is 3
# localizer is the true heading in degrees of the ILS until touchdown; by default it's the same as runway true heading, but a small offset is allowed
# beacon is a point on the localizer at a certain distance (NM) from the threshold
# second beacon is a point on the localizer when runway is used in opposite direction (rev)

climbaltitude = 5000 		; maximum initial climb altitude in feet for departures

sids = 
	north,	0,	25,	northbound
	south,	0,	-25,	southbound
	bco
## name, position, <pronunciation>
# you may also give just the name of a beacon from the beacon list

entrypoints = 
	090
	270,	bco
## true_heading, <beacon>
# this is where new arrivals enter at the boundary (approximately), e.g. 090 means planes will enter from the east, heading 270 (westbound)
# inbound beacon is optional; choose a beacon name from the beacon list above; otherwise the first beacon from that list is chosen automatically

airlines =
	air,	3,	a333/e175,	airliner,	w
	air,	2,	dh8d,		airliner,	e
	ph-abc,	1,	c271,		0,		nwe
	n-123ab,1,	f200
## name, amount, planetype, pronunciation, <direction>
# name is the 3 letter airline code, or a private regristration (with a land code, dash(-), and then the format)
# amount determines the relative likelihood of appearance (e.g. 0=never, 1=occasionally, 10=frequently, etc)
# planetype determines plane characteristics, put a dash (/) between multiple types for random type selection
# pronuniation is the callsign, used for airlines
# direction lets the plane arrive/depart in (more or less) the specified direction:
# give the direction as a string containing one or more of the letters nwse, for north west south east,
# but make sure there are actually entrypoints defined at those directions (approximately); w needs an entrypoint near 270

##############################################################
[airport2]
##############################################################

name = Secondary Airport	; name of secondairy airport
code = SC			; two letter code, will be added to the runways and plane tags

runways =
	rwy2,	06,	6.7,	-3.5,	60.0,	1.88,	0,	0,	100,	3,0,3,0,	WL,	8.0
## identifier, name, position, true_heading, <length>, <displaced>, <displaced2>, <elevation>, <glideslope>, <localizer>, <glideslope2>, <localizer2>, <beaconname, distance>, <beaconname2, distance2>
# identifier must be unique to all other runways defined in this file

traffic = 5			; average time between airplanes per active runway, in minutes (but this decreases at higher skill values)
inboundbeacon = bco		; beacon name, for arrivals (choose one from the beacon list above)
entrypoints =
	300
	330
# headings only

airlines =
	jet,		2,	b735,	jetliner
	n-12345,	1,	c271

climbaltitude = 3000	; maximum initial climb altitude in feet for departures

sids =
	north
	south
	west,	-25,	0,	westbound
	bco
## name, position, <pronunciation>
# you may also give just the name of a beacon from the beacon list, or the name of a sid from the airport1 sid list

# You can add more airports sections if needed ([airport3], etc).

##############################################################
[area1]
##############################################################
shape = circle		; circle or polygon
altitude = 3000		; minimum allowed altitude in feet
name = SC		; <name, if omited then only planes inbound the main airport may enter this area>
radius = 6		; radius of circle in NM
position = 7, -3.6	; position of circle center
labelpos = 6, 0		; <position of label>
draw = 0, 5.9		; <start and end angle of visible arc, in radians, omit for a full circle>


##############################################################
[area2]
##############################################################
shape = polygon		; circle or polygon
altitude = 3500		; minimum allowed altitude in feet
#name = X		; <name, if omited then planes inbound the main airport may enter this area>
draw = 1		; <number of invisible lines at the end of the polygon, omit for a full polygon>
labelpos = -3.1, 10.9	; <position of label>
points =
	-8.1,	13.3
	0,	13
	-1,	-4
	-7.6,	-4
	-9.0,	10
## positions
# the last point will be automatically connected to the first point
# note: the polygon must be convex, for example a rectangle, for it to work correctly
# you may need to split up non-convex shapes into simpler convex polygons with some invisible lines
# each polygon must have its own [area] section


##############################################################
[configurations]
##############################################################

config1 =
	0,	rwy1,	landstart
	7,	rwy1,	startland,	020,	nosid
	8,	rwy2,	startlandrev
## score, identifier, use, <offsetheading>, <nosid>
# score is the score (skill) at which the runway will be activated
# identifier is a unique runway name specified earlier
# use is a string (without spaces) that may contain these words: start, land, rev, int, track
# where rev means reversed use (opposite direction), int means intersection departure (takeoffs begin 30% down the rwy), track means backtrack after landing
# offsetheading means planes will fly a specific heading just after takeoff (especially useful for allowing parallel takeoffs with divergent headings)
# nosid option means planes will depart on the given offsetheading, with SID mode disabled
# when rwy configurations are omited, two configs are automatically created, one for each rwy direction, with all runways active

config2 =
	0,	rwy1,	landstartrev
	7,	rwy1,	startlandrev,	200,	nosid
	8,	rwy2,	startland


##############################################################
[transition1]
##############################################################

runway = rwy1,	rev					; runway identifier, <reversed use>
beacon = lima,	1,	18,	0,	lima		; selectable beacon to enable NAV mode; define a beacon, or choose a name from beacon list above
route1 = 
	100
	-3,	22,	5500,	210
	1,	22
	1,	18,	4000
	-3,	18, 	0,	180
	10.5,	3000,	200
# first item of the route is the bearing from the plane towards the beacon; if there are multiple routes defined, the closest bearing defines which route is selected.
# next lines are optional waypoints: ## location, <maximum altitude>, <maximum speed>
# last line is the interception point on the ILS: ## distance (NM) from the threshold, <maximum altitude>, <maximum speed>

route2 = 
	240
	1,	18,	4000
	-3,	18, 	0,	180
	10.5,	3000,	200

route3 = 
	020
	1,	10
	1,	18,	4000
	-3,	18, 	0,	180
	10.5,	3000,	200

# multiple [transition] sections can be used for the same runway


##############################################################
[planetypes]
##############################################################
types = 
	f200, 5, 140, 230, 2.9, 3.2, 1400, 1600, 115, 125, 1.1, 1.2, big jet
	c271, 6, 90, 120, 2.9, 3.2, 1400, 1600, 90, 105, 1.1, 1.2, singleprop
## type, category, minspeed, maxspeed, minturnrate, maxturnrate, mindescendrate, maxdescendrate, minaccelrate, maxaccelrate, <manufacturer>
# custom plane types, useful when specified custom types in the airline lists above, or to override default type properties
# category is the weight category: 1 to 6, meaning superheavy=1, upperheavy, lowerheavy, uppermedium, lowermedium, light=6
# turnrate is in degrees per second
# descendrate is in feet per minute
# accelrate is in knots per second
# manufacturer name is optional, only used for private callsign pronunciation in usa mode


##############################################################
[scenario]
##############################################################
finish = 2		; amount of planes to land to finish the scenario

events = 
	0,	config,	1
	0,	score,	6
	0,	wind,	180,	10
	0,	cloud,	-1,	25
	0,	cloud,	-2,	24
	0,	cloud,	-4,	24
	0,	dep,	rwy1,	north,	f200
	0,	elapse, 20
	0,	arr,	230,	vor,	f200
	0,	elapse, 100
	5,	arr,	90,	bco,	f200
	40,	dep,	rwy1,	north,	f200
	70,	dep,	rwy1,	south,	a333
	20,	score,	8
	90,	dep,	rwy1,	north
	0,	wind,	200,	8
	0,	cloud,	19,	-26.5
	50,	dep,	rwy1,	west,	f200
	1,	text,	Hello!
	5,	arr,	210,	vor,	a333,	15000,	6000,	300,	0,	0,	1,	air
	10,	arr,	090,	0,	0,	0,	0,	0,	0,	0,	0,	0,	sc
	10,	dep,	rwy2,	north
## elapsed time after previous event in seconds, eventtype, properties
# available eventtypes: arr, dep, score, elapse, wind, cloud, config, text
## arr: entrypoint, <beacon>, <planetype>, <altitude>, <targetaltitude>, <speed>, <delaytimer>, <fuel>, <emergency>, <callsign>, <destination>	; arrival (fuel counts up; lowfuel from 5000+, emergency=1 for medical, 2 for engine, destination is the two letter code of a secondary airport)
## dep: runwayidentifier, sid, <planetype>, <emergency>, <callsign>								; departure
## score: score			; set higher score/skill to open more runways, or lower to close runways
## elapse: seconds		; elapse simulation time between events (only use this to build traffic before the start, so at time 0)
## wind: heading, speed		; set wind (preferably in small steps when changing the wind)
## cloud: position		; add cloud with radius of 1 NM (preferably just outside the airspace boundary, to avoid incidents, unless time is 0)
## config: entry		; change to different runway config, as specified in the rwy configurations section
## text: message		; display yellow text at the top of screen