diff --git a/example.txt b/example.txt index e4f8dfb..1371dd7 100644 --- a/example.txt +++ b/example.txt @@ -1,8 +1,9 @@ # Custom airport file # Save a copy of example.txt before editing it, to keep this file as a guide. # On Windows, place the txt file in the /locations/ folder of the game. -# On android, place the txt file in /Android/data/com.dirgtrats.endlessatc/files/. -# Copy, edit and use and share airport files at your own risk! +# On android, place the txt file via USB in the /Android/data/com.dirgtrats.endlessatc/files/locations/ folder. +# For more information, visit https://startgrid.itch.io/custom-airports +# Copy, edit, 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. @@ -17,20 +18,22 @@ # [approach1]: optional runway approach routes # [planetypes]: optional custom plane types # [scenario]: optional nonrandom traffic +# [background]: optional lines drawn on the background # 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 are optional properties (do not include the brackets themselves). -# If the game fails to load a property, or you omit, #comment or zero a property, the game may automatically use a default value 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 be a comma separated pair, starting or ending with NWSE characters; two examples: -# N51.47176, W0.457859 -# 51°28'18.336''N, 0°27'28.2924''W +# If the game fails to load a property, or you omit or #comment or zero a property, the game may automatically use a default value instead. +# Coordinates can be given as a latitude longitude pair. +# Lat/Long formatting examples (all pointing to the same location): +# N51.47176, W0.457859 +# 51°28'18.336''N, 0°27'28.2924''W +# 51°28'18N, 0°27'28W +# And when setting 'decimaldegrees' to true, then N/S/W/E letters are not required so you can simply use decimal degrees: +# 51.47176, -0.457859 # 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, # to make a heading of 360 degrees appear as a vertical line on the radar screen. -# X, y coordinates are simple 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. +# When decimaldegrees = false, decimal coordinates are interpreted as x, y (in nautical miles), with 0, 0 being the center of the screen. # Press the left Ctrl key in the sim to display the coordinates of the mouse position. These values are also copied into the Windows clipboard, to be easily pasted into a file. @@ -41,20 +44,24 @@ 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 -above = 12000 ; maximum departure altitude when SID is enabled (must be above ceiling) -transitionaltitude = 18000 ; highest altitude displayed in feet instead of flight level +floor = 1500 ; minimum selectable altitude (1100 to 2500 above elevation) +descentaltitude = 7000 ; minimum initial altitude for arrivals (1000+ above floor) +ceiling = 9000 ; maximum selectable altitude (1000+ above descentaltitude) +above = 12000 ; maximum departure altitude when SID is enabled (2000+ above ceiling) speedrestriction = 15, 220, 10000, 250 ; radius in NM, speed in knots within radius, localizerspeed = 30, 200 ; distance to touchdown in NM, speed restriction in knots on localizers +diversionaltitude = 7000 ; maximum altitude at which departures will be a diversion at the boundary (defaults to ceiling altitude) +transitionaltitude = 18000 ; highest altitude displayed in feet instead of flight level (for simplicity QNH is always 1013hPa) usa = true ; American-style callsign pronunciation and runway names metric = false ; display altitudes in metres instead of feet +letters = 2 ; occurrence of letters in callsigns (defaults at one in 2, or one in 50 for usa; 0=never; 100=rarely) separation = 3 ; minimum allowed distance between aircraft in NM automatic = false ; entering arrivals will follow an approach route when flying inbound an approach beacon +strictspawn = false ; arrivals will spawn precisely at the entrypoints (no random deviation) name = approach, departure ; atc callsign pronunciation for arrivals, atc callsign pronunciation for departures -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 used elsewhere in this file) +decimaldegrees = false ; interpret decimal coordinates as lat/long instead of x, y +center = N50.1234, E2.0060 ; lat/long location of center of radar display +magneticvar = 2.0 ; magnetic variance; east = positive (used to rotate lat/long coordinates and true headings) beacons = @@ -68,10 +75,10 @@ beacons = # when holdingheading is negative, planes will make left-hand turns instead of right-hand turns boundary = - -25, -22 - 25, -22 - 25, 22 - -25, 22 + -25, -23 + 25, -23 + 25, 24 + -25, 24 ## positions # pointlist of optional airspace boundary polygon; this will override the default (circular) airspace radius. # last point is automatically connected to first point @@ -83,6 +90,19 @@ handoff = # optional handoff readbacks for departures; only used when sound mode 3 is enabled in-game # heading determines which atc station will be selected by a plane: the closest to the heading from the center of the screen towards the plane's (last) SID point +wake = + 3/0, 4/100, 5/120, 5/140, 6/160, 8/180 + 0/0, 3/0, 4/0, 4/100, 5/120, 7/140 + 0/0, 0/0, 3/0, 3/80, 4/100, 6/120 + 0/0, 0/0, 0/0, 0/0, 0/0, 5/120 + 0/0, 0/0, 0/0, 0/0, 0/0, 4/100 + 0/0, 0/0, 0/0, 0/0, 0/0, 3/80 +## distance in NM on the localizer / time in seconds between departures +# 6x6 table of wake turbulance minimum distance/time between planetypes of category 1 to 6 +# category meaning superheavy=1, upperheavy, lowerheavy, uppermedium, lowermedium, light=6 +# the first line applies to a category 1 leader versus a follower of category 1 to 6, second line for a category 2 leader, and so forth +# this table can be used to override the default 'recat-eu' table which is used in all default airports + line1 = 10, 10 10, 40 @@ -90,16 +110,7 @@ line1 = 40, 10 10, 10 ## positions -# pointlist of optional green (coast)line. - -line2 = - -15, 0 - -22, 0 - -22, -12.23 - -15, -14 - -15, 0 - -# all items in this section are optional unless stated otherwise +# pointlist of optional line drawn on the background (coastline color) ############################################################## @@ -107,22 +118,22 @@ line2 = ############################################################## name = Example Airport, example ; name of the main airport, -#code = EXAM ; four letter code, displayed in airport menu (required; remove the #) +#code = EXAM ; four letter code, which will be displayed in airport menu (remove the # to make this airport visible in the airport menu) 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, 119.23 -## identifier, name, position, true_heading, , , , , , , , , , , + rwy1, 36, -4.3, 3.23, 360.0, 11400, 0, 0, 100, 3, 360.0, 3, 180.0, YY, 8.0, ZZ/zeezee, 8.5, 119.23, tower +## identifier, name, position, true_heading, , , , , , , , , , , , # identifier is a unique name used to define a runway usage configuration later in this file # 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, 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 +# elevation is in feet, and must be within 1000 feet difference from 'elevation' defined above # glideslope is the angle in degrees; the default value is 3.0 # 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 an optional point on the localizer at a certain distance (NM) from the (displaced) threshold +# beacon is a point on the localizer at a certain distance (NM) from the (displaced) threshold (optional pronunciation after a '/') # second beacon is a point on the localizer when runway is used in opposite direction (rev) -# tower frequency is used for handoff readbacks +# tower frequency is used for handoff readbacks (optionally separate two frequencies with a '/') climbaltitude = 5000 ; maximum initial climb altitude in feet for departures @@ -139,23 +150,24 @@ entrypoints = ## true_heading, , # 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 -# optional descendaltitude for this entrypoint; otherwise the default descendaltitude is used +# optional descentaltitude for this entrypoint; otherwise the default descentaltitude is used airlines = air, 3, e175, airliner, w air, 2, a333, airliner - air, 1, dh8d/f200, airliner, e - ph-abc, 1, c271, 0, nwe + air, 1, dh8d/f200, airliner, 090/070 + ph-abc, 0.5, c271, 0, nwe n-123ab,1, f200 ## name, amount, planetype, pronunciation, # 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) +# amount determines the relative likelihood of appearance (e.g. 0=never, 0.1=rarely, 1=occasionally, 10=frequently, etc) # planetype determines the plane characteristics (optionally put a dash (/) between multiple types) -# pronuniation is the callsign, used for airlines -# direction lets the plane arrive/depart in (roughly) a preferred 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 -# note that you can add the same airline multiple times, for example with different planetypes, in order to get different likelihoods per planetype +# pronuniation is the (airline) callsign +# direction lets the plane arrive/depart in a preferred direction: +# either use a string containing one or more of the letters 'nwse', for (roughly) north west south east, +# or for more precision use true headings separated by dashes ('270/350'), +# but make sure there are actually entrypoints/sids defined at those directions (approximately); w needs an entrypoint near 270 +# tip: you can add the same airline multiple times, for example with different planetypes, in order to get different likelihoods per planetype ############################################################## [airport2] @@ -165,11 +177,11 @@ name = Secondary Airport, secondary airport ; name of secondary airport, , , , , , , , , , , + rwy2, 06, 6.7, -3.5, 60.0, 11423, 0, 0, 100, 3,0,3,0, WL, 8.0, 0, 0, 118.105, secondary tower +## identifier, name, position, true_heading, , , , , , , , , , , , # 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) +flow = 10 ; traffic flow per active runway, in planes per hour (approximately; it slightly increases at higher scores) inboundbeacon = bco ; beacon name; the default initial beacon for arrivals (choose one from the beacon list above) entrypoints = 300 @@ -193,6 +205,7 @@ sids = # You can add more airports sections if needed ([airport3], etc). + ############################################################## [area1] ############################################################## @@ -202,8 +215,7 @@ name = SC ; -draw = 0, 5.9 ; - +drawdegrees = 360, 090 ; ############################################################## [area2] @@ -232,12 +244,13 @@ config1 = 7, rwy1, startland, 020, nosid 8, rwy2, startlandrev ## score, identifier, usage, , -# score is the score (skill) at which the runway will be activated +# score is the score at which the runway will become active # identifier is a unique runway name specified earlier # usage 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 climbout headings) +# offsetheading means planes will fly a specific heading just after takeoff (especially useful for allowing parallel takeoffs which may require divergent climbout headings) # nosid option means planes will depart on the given offsetheading, with SID mode disabled +# the list must be ordered with increasing score values (as in this example 0, 7, 8), or only zeros if you want all runways available at once # when rwy configurations are omited, two configs are automatically created, one for each rwy direction, with all runways active config2 = @@ -257,7 +270,7 @@ route1 = 18.6, 0 18.6, 6.8 25, 16.5 -# first line of the route is the sid name (up to 5 characters will be displayed), and optional of the sid name +# first line of the route is the sid name (up to 7 characters will be displayed), and optional of the sid name # next lines are one or more waypoint positions # first waypoint may have an optional altitude value; this will override the default climbaltitude @@ -267,6 +280,10 @@ route2 = 15.3, -4.7 0, -16.6 0, -25 +## name, +## waypoint1 position, +## waypoint position +## waypoint position # the optional [departure] section adds routes to a specific runway direction # this overrides the default (single waypoint) SIDs with more detailed routes, and applies the routes to the specified runway only @@ -284,23 +301,27 @@ route2 = runway = rwy1, rev ; runway identifier, beacon = lima, 1, 18, 0, lima ; selectable beacon to enable APP mode; define a beacon, or choose a name from beacon list above route1 = - 060 + 060, lima1a, lima one alpha -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 for this beacon, the closest bearing defines which route is selected; but if only one route is defined then the bearing can just be a random number +# first item of the route is the bearing from the plane towards the beacon; if there are multiple routes defined in this section, the closest bearing determines which route is selected; but if only one route is defined then the bearing can just be a random number; optionally add a name and pronunciation for the route # next lines are optional waypoints: ## position, , # last line is the interception point on the ILS: ## distance (NM) from the (displaced) threshold, , # alternatively the last line can be used to end the route before it reaches the ILS (requiring vectors), using the word end: ## end, # or, to hold at the last waypoint, use: ## end, hold route2 = - 310 + 310, lima2b, lima two bravo 1, 18, 4000 -3, 18, 0, 180 10.5, 3000, 200 +## bearing, , +## waypoint position, , +## waypoint position, , +## interception distance, , route3 = 010 @@ -312,37 +333,42 @@ route3 = # the optional [approach] section adds route(s) to a specific runway # multiple [approach] sections can be used for the same runway, to allow for multiple app beacons # for easier creation of routes, use left Ctrl key to display current mouse coordinates, and left click while holding down Ctrl places temporary visual markers -# Longpress the airport name button in the menu to display all routes at once -# [approach] routes are not used in the built-in airports as the game is focussed on vectors for simplicity +# Longpress the custom airport button in the airport menu to display all routes at once +# Planes make anticipated turns by default. To make them 'fly over' a waypoint, you can duplicate that waypoint, to avoid anticipation. +# [approach] routes are not used in the built-in airports, as the game is focussed on vectors for simplicity ############################################################## [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, minfinalapproachspeed, maxfinalapproachspeed, minaccelrate, maxaccelrate, -# custom [planetypes] are only needed when using unknown custom types in the airlinelists above (game will show warnings on startup for missing types), or to override default type properties + f200, 5, 140, 230, 2.9, 3.1, 1400, 1600, 115, 125, 1.1, 1.2, big jet, 25, 30, 3, 5, 4000, 5000 + c271, 6, 90, 120, 2.9, 3.1, 1400, 1600, 90, 105, 1.1, 1.2, singleprop, 25, 30, 5, 7, 2000, 2200 +## type, category, minspeed, maxspeed, minturnrate, maxturnrate, mindescentrate, maxdescentrate, minfinalapproachspeed, maxfinalapproachspeed, minaccel, maxaccel, , , , , , , +# custom [planetypes] are only needed when using unknown planetypes in the airlinelists above (game will show warnings when using unknown planetypes), or to override default planetype properties # category is the weight category: 1 to 6, meaning superheavy=1, upperheavy, lowerheavy, uppermedium, lowermedium, light=6 -# speeds in knots -# turnrate is in degrees per second -# descendrate is in feet per minute -# approachspeeds in knots, may be below minspeed -# accelrate is in knots per second -# manufacturer name is optional, and only used for private callsign pronunciation in usa mode -# example of default values for b737, 4, 160, 250, 2.6, 3.0, 1440, 1560, 131, 144, 1.2, 1.3 +# speed is in knots +# turnrate is in degrees per second, but at high speeds this rate will be limited by the maximum rollangle +# descentrate is in feet per minute (rate of climb will be about twice the descentrate, unless climbrate is specified) +# approachspeeds in knots; will be used for the last 4 miles, and may be set lower than minspeed +# accel is the acceleration in knots per second^2 +# manufacturer name is optional; defaults to 0, only used for private callsign pronunciation in usa mode +# rollangle is the maximum bank angle in degrees; defaults to 25 to 30 +# rollrate is the change in banking in degrees per second; defaults to 3 to 5 +# climbrate is in feet per minute (it reduces a bit when the altitude increases) +# example of default values: b737, 4, 160, 250, 2.9, 3.1, 1440, 1560, 131, 144, 1.2, 1.3, 0, 25, 30, 3, 5, 3900, 4200 ############################################################## [scenario] ############################################################## -finish = 2 ; amount of planes to land to finish the scenario +finish = 2, 1200 ; amount of planes to land to finish the scenario,