MAKERWYS README version 5.
13
by Pete Dowson © 2022
INSTRUCTIONS
First, please note that this version of MakeRunways is not suitable for use on
Win7 based systems or earlier. It is also not intended for use with FS2004 (FS9)
or earlier (but see below about that).
It is aimed primarily at P3D and MSFS, though will work with FSX and FSX-SE, with
Win10.
For older system setups please use MakeRunways version 4.70, available in
Download Links – Useful Additional Programs, on the FSUIPC support Forum.
For: Microsoft Flight Simulator (“MSFS”)
Create a folder for MakeRunways, wherever you like on your PC. Place MakeRunways.exe into
that folder, then right-click on it, select Properties – Compatibiliy – Run as administrator. (That
way you won’t need to specify “run as administrator” each time you run it).
You do not need the Lorby-Si program LorbySceneryExport for MSFS operation.
Then all you need to do is run the EXE (i.e. double click on it, or make a shortcut for your
desktop). For MS-Store and Steam installs of MSFS, it will find your scenery files and extract the
data for its files. Hopefully, it will also do this for DVD installations, though this has not been
tested at time of writing.
Note that it will take over10 minutes to complete – there is a lot of data to scan! All the files
with be generated in the MakeRunways folder you run the program from. One of the files it
generates (for MSFS only) is SceneryList.txt, which simply lists the scenery folders being
scanned in the order they will be scanned in (with a layer number), along with a note as to
whether each is Active or disabled.
The pathnames for the sceneries there are partial – the owning folder is shown only once, in the
first lines. Concatenating that with the individual path with give the complete path, but this
may be too long for Windows to accept. In the generated Runways.xml file the path given is the
full one, preceded by \\?\ which is supposed to make Windows accept it as a long path – but
note that this doesn’t seem to work for all Windows functions.
NOTE that many third-party airports installed via the MS Store are encrypted, and may be
hidden so that MakeRwys cannot even see the BGL files which contain the data it normally
extracts. Therefore the data provided by MakeRwys will, in these cases tend to be that of the
default (“fs-base”) scenery. This problem does not seem to apply to Community add-ons.
Thanks go to Matt Johnson on fsDeveloper.com for his invaluable help in sussing out the many
changes in the BGL format and encoding since FSX days. This version of my program would still
be months away from being released without that help.
For: FSX, FSX-SE, Prepar3D v1 to Prepar3D v5 inclusive
Place the EXE into the relevant main FS folder. For FSX Steam Edition this will be in the
Steam folder, under "steamapps\common".
For Prepar3D versions 3 -- 5 see the additional notes just below, before:
Double click on the MakeRwys.exe file to execute it. The data files will be extracted and
placed in that folder. A full log of its actions will be created, called “runways.txt”.
MakeRunways will find the correct Scenery.CFG file automatically, based on the EXE name it
finds there and its version number.
NOTE for Prepar3D versions 3, 4 and 5
Those Prepar3D version 3, 4 and 5 scenery installs abiding by the new L-M system for
addons will NOT be seen by MakeRunways unless you copy the LorbySceneryExport
program from the ZIP into the Prepar3D folder, to sit beside MakeRwys.exe.
MakeRunways will then automatically use the Lorby program to create a file called
MakeRwys_Scenery.cfg in your P3D3 or P3D4 folder. This then lists it ALL of the scenery
layers with correct layering. MakeRunways will use that file instead of the original.
NOTE that you should run MakeRunways “as administrator”. This is especially true on
Win10. The best way is to mark it needing admin privileges in its (or its shortcut) “Properties
– Compatibility” settings (right click on the EXE or the shortcut).
The special CFG file will be left in the main P3D folder for your own reference to the priority
ordering of your scenery, something difficult to do from all the XML files.
For P3Dv4, if you want to use the other excellent facilities provided, get the full
AddonOrganizer for P3Dv4 from http://lorby-SI.weebly.com/downloads.html. But only the
included program is used by MakeRwys.
Thanks go to Lorby-SI for the use of these programs, and for making them Freeware!
For: FS2000, FS2002, FS2004
Please see the note at the start of this document: you may need to use MakeRunways
version 4.70 for these versions of Flight Sim. The current version may be okay but you
would need to be running on Windows 10.
Place the EXE into your main FS folder where the SCENERY.CFG file is located.
Double click on it to execute it. The data files will be extracted and placed in that folder. A
full log of its actions will be created, called “runways.txt”.
LIST OF FILES PRODUCED
The files produced by MakeRwys.exe are:
Runways.txt
This is a text file showing the data analysed by the program in readable format. Use this to
check on things when something odd seems to happen. you can find conflicting or overriding
sceneries and so on this way. However, be warned. The file will typically grow to over 10
megabytes. You need to view it with a text editor capable of dealing easily with large files.
Runways.xml
An XML file providing a database of airports and their runways. (For MSFS lease see the
note above regarding the filepaths provided in this file).
FStarRC.rws
This is a binary runways database used by my FStarRC program.
Airports.fsm
This is a binary airports database used by FS_Meteo, at present after re-naming to
"Runways.rws".
Runways.csv
This is a comma-separated text database of all the runways, sorted, and it is in the particular
format used by Radar Contact (all versionsup until the change to the following: R4.csv
This is the same as the previous CSV file, but includes additional runway data added at the
end of each line. This is used in Radar Contact 4 (before RC4.3) for more precise ATC
operations.
R5.csv
This is the same as R4.csv but with runway closure indicators in an extra two fields - CL
closed for landing and/or CT closed for take-off. This file is used by RCV4.3 and RC5. R5.bin
This is a binary version of the R5.csv file, with some extra fields. Details of the format are
given below.
G5.csv
This contains information about Gates, Ramps, Parking places, along with airline lists where
specified. It is used by later versions of Radar contact. T5.csv
This contains details of all taxi paths. It is used by later versions of Radar contact. T5.bin
This is a binary version of the T5.csv file. Details of the format are given below.
F5.csv and F5x.csv
These both list all COM frequencies and associated names, including the airport name.
The F5 file contains 25kHz frequencies, converted from 8.33 ones where necessary. F5x
contains the full xxx.xxx frequency including any 8.33 specific frequencies.
F4.csv and F4x.csv
These both list all COM frequencies and associated names, including the airport name. Note
that if you want to use this with RC4 you must copy it to the Radar Contact 'data' subfolder.
Make a safe copy of your original F4.CSV file first (I usually just rename it "f4orig.csv").
The F4 file contains 25kHz frequencies, converted from 8.33 ones where necessary. F4x
contains the full xxx.xxx frequency including any 8.33 specific frequencies.
Note that MakeRwys matches frequencies as best it can, with the following extra "fiddles" to
ensure a good range of frequencies:
1. Clearance Delivery is preferably met by FS type 14 "CD", but else is met by type 7
"CLEARANCE".
2. Multicom is met by FS type 2 "MULTICOM", but failing that by type 4 "CTAF".
3. Approach is from FS type 8 "APPROACH", but failing that from a second Type 9
"DEPARTURE" if there are more than one of the latter.
4. Departure is from FS type 9 "DEPARTURE", but failing that from a second Type 8
"ARRIVAL" if there are more than one of the latter.
Centre, FSS, AWOS and ASOS frequencies aren't used for this file.
Helipads.csv
This is a list of all the Helipads found, sorted into ascending ICAO order. Details of the fields
are given below.
IMPORTANT NOTES ABOUT RUNWAY INCLUSION
RUNWAYS MUST HAVE “Start Positions”
Runways are only included in any of the files (except for being logged in the Runways.txt file)
if they are equipped with defined thresholds, or "start positions". Without those they may as
well be omitted because the files then won't serve their purpose of assisting programs
locateand land aircraft.
The whole data structure within MakeRunways, from which it produces these files, is
predicated on this assumption.
MINIMUM RUNWAY LENGTH
By default MakeRunways imposes a minimum runway length of 1500 feet, otherwise
runways are omitted from the data files. This is to eliminate so-called "ghost" runways being
included -- very small runways provided only to allow AI Traffic to be directed better for
landings and takeoffs.
If necessary you can override this value. Just use a command line parameter in the form:
/>n where n gives the number of feet to be considered the maximum for
exclusion. Take care not to make this too small for fear of including those "ghosts", but if
you really do want to see all, you can set />0.
WATER RUNWAYS
The runway lists will normally not contain any water runways. If you need these included
just add this command line parameter:
/Water
If you want files containing ONLY water runways use
/WaterOnly
FLAGGING JETWAYS
Since version 4.85 there is an option to flag those gates with Jetways defined in Airport
Facilities Data bgl files. The flag is simply “Jetway” in an extra field in the G5.csv file. See the
format details below. Enable this option by:
/Jetway
on the command line.
UPDATING RADAR CONTACT's TRANSITION ALTITUDES FILE
If you are a user of Aivlasoft's EFB program for FSX/P3D, then part of the updated data you
will have is a file with the correct Transition Altitudes for most airports in the world.
MakeRunways can now automatically use that file to update Radar Contact's list too.
In order to do this, you must copy RC's "M4.CSV" file into the root FS folder, next to
MakeRunways. Don't worry about EFB -- if that is correctly installed then MakeRunways will
find it.
To tell MakeRunways to update M4.CSV add a command line parameter: /+T
(It is “T” for “Transition Altitude”).
When MakeRunways has finished simply copy the M4.CSV file back into RC's Data folder.
GATES FOR AIRLINE FILE
There is also an optional file, listing all the Gates for a specifically selected airline. To obtain
this for your preferred airline, run MakeRwys.exe with a command line parameter such as
(e.g.) /BAW
for the airline code BAW (British Airways).
If you are also using the />n and/or /+T parameters, those must come first.
The gates are listed in sorted order of Airport, but not of Gate name or number -- the Gates
are in their scenery file order. The file produced will be an ordinary text file named <airline
code> Gates.txt. e.g.
BAW Gates.txt
in the above case.
ASSUME “MakeRwys_Scenery.cfg” FILE ALREADY GENERATED
Programs other than AddonOrganizer may pre-generate this CFG file (SimStarterNG for example). To
prevent AddonOrganizer being called upon to do it again, or to simply assume it isn’t needed, use this
command line option:
/SSNG
VALUES PROVIDED IN EACH CSV FILE
Note: Values marked with * have extra formatting detail described in the Notes below.
RUNWAYS.CSV (ORIGINAL RUNWAYS FILE -- for very old versions of RC): ICAO,
Rwy*, Latitude*, Longitude*, Altitude*, HeadingMag, Length*, ILSfreq* R4.CSV
(RUNWAYS FILE for RCV4, until 4.3):
ICAO, Rwy*, Latitude*, Longitude*, Altitude*, HeadingMag, Length*, ILSfreq*, Width*,
MagVar, CentreLatitude, CentreLongitude, ThresholdOffset* R5.CSV (RUNWAYS FILE
for RCV5):
ICAO, Rwy*, Latitude*, Longitude*, Altitude*, HeadingMag, Length*, ILSfreqFlags*, Width*,
MagVar, CentreLatitude, CentreLongitude, ThresholdOffset*,Status*
R5.BIN see below
RUNWAYS.XML (Airports and runways for "It's Your Plane")
For each Airport:
ICAO id, ICAOName, City, Longitude, Latitude, Altitude (feet), MagVar, Source BGL
filepath, Scenery layer title.
And, within each Airport section, for each runway, all this, as available:
Runway id, Len (feet), Hdg (Magnetic: add MagVar for True), Def (surface), ILSFreq
(nnn.nn), ILSHdg (Mag), ILSid, ILSslope, Lat and Lon of threshold/start, Lat and Lon of
FS's "Start" point (which may be to the side of the runway), ClosedLanding (TRUE or
FALSE) and ClosedTakeoff (TRUE or FALSE), EndLights (NONE, LOW, MEDIUM or
HIGH), CenterLights (NONE, LOW, MEDIUM or HIGH), CenterRed (TRUE or FALSE),
Threshold offset, ILS name (first 31 chars only), VASI lights, VASI values
(X/Z/Spacing/Pitch), Approach lights, Pattern direction and altitude.
G5.CSV (GATES for RCV5):
Without the /Jetway command line option:
ICAO, GateName*, GateNumber, Latitude, Longitude, Radius*, HeadingTrue,
GateType*, AirlineCodeList ...
With the /Jetway command line option there is an extra field between the GateType and the
AirlineCodeList (if one is present). The field is either empty, or contains the word “Jetway”.
F5.CSV and F5x.CSV (COMMS FREQUENCIES)
ICAO, CommsType*, Frequency, "name of facility"
(if possible, also with an entry for Airport Name with CommsType=0 and Frequency=0)
F4. CSV and F4x.CSV (COMMS FREQUENCIES)
ICAO, Airport Name, ATISfreq, CDfreq, GroundFreq, TowerFreq, UnicomFreq, MulticomFreq,
ApproachFreq, DepartureFreq
T5.CSV (TAXIWAYS for RCV5):
ICAO,TaxiwayName,MinimumWidthMetres,PointList ...
where PointList is a sequence of: Latitude,Longitude,TaxiType*,WidthMetres
T5.BIN see below
HELIPADS.CSV
ICAO, Latitude, Longitude, Altitude(ft), HeadingTrue, Length(ft), Width(ft), SurfaceType*,
Flags*
DEFINITION OF VALUE FORMATS
Surface type is a number 0-23, see list below.
Concrete 0 Dirt 12
Grass 1 Coral 13
Water 2 Gravel 14
(Unknown) 3 Oil-treated 15
Asphalt 4 Mats 16
(Unknown) 5 Bituminous 17
(Unknown) 6 Brick 18
Clay 7 Macadam 19
Snow 8 Planks 20
Ice 9 Sand 21
(Unknown) 10 Shale 22
(Unknown) 11 Tarmac 23
Flags is a numerical value made up of one of these "types":
NONE 0
H 1
SQUARE 2
CIRCLE 3
MEDICAL 4
plus optionally 16 for "Transparent" and/or 32 for "Closed".
Rwy is nnn for runway number, then 0, 1=L, 2=R, 3=C, 4=W (water)
Runways designated N, NE, etc are denoted by runway numbers over 36, as follows:
37 = N-S
38 = E-W
39 = NW-SE
40 = SW-NE
41 = S-N
42 = W-E
43 = SE-NW
44 = NE-SW
45 = N
46 = W
47 = NW
48 = SW
49 = S
50 = E
51 = SE
52 = NE
Latitude is of the threshold, or AFCAD's "runway start"
Longitude is of the threshold, or AFCAD's "runway start"
Altitude is in feet
Length is in feet
ILSFreq is given as nnnnn for nnn.nn, or just 0 when no ILS
ILSFreqFlags are ILSFreq then optional B (backcourse), D (DME) G (Glideslope) equipped
Width is in feet
ThresholdOffset is in feet
Status is CT for Closed for Takeoff and/or ,CL for Closed for Landing
Radius is in metres
TaxiType is
0 = unknown
1 = Normal
2 = Hold short
3 = unknown
4 = ILS hold short
5 = Gate/Park (set by MakeRwys to denote arrival at a parking place)
6 = ILS hold short no draw 7 = Hold short no draw GateName is either omitted or one of
Dock PkSE
Park PkS
PkN PkSW
PkNE PkW
PkE PkNW
GateType is:
0 = none 6 = Ramp Military Cargo
1 = Ramp GA 7 = Ramp Military Combat
2 = Ramp GA Small 8 = Gate Small
3 = Ramp GA Medium 9 = Gate Medium
4 = Ramp GA Large 10 = Gate Large
5 = Ramp Cargo 11 = Dock GA
CommsType is:
0 = Special entry with airport name, zero 8 = APPROACH
frequency 9 = DEPARTURE
1 = ATIS 10 = CENTRE
2 = MULTICOM 11 = FSS
3 = UNICOM 12 = AWOS
4 = CTAF 13 = ASOS
5 = GROUND 14 = CLEARANCE PRE-TAXI
6 = TOWER 15 = REMOTE CLEARANCE DELIVERY
7 = CLEARANCE
BINARY FILE FORMATS
R5.BIN: binary format Runways file
Record format:
struct {
char chICAO[4];
unsigned short wRwyNum;
char chDesig; // L, C, R or space
char chStatus[3]; // CT, CL, CTL or all zero
unsigned short wSurface; // 0-23 as in New BGL format
float fLatThresh;
float fLongThresh;
float fLatCentre;
float fLongCentre;
float fAltitude; // feet
float fThrOffset; // feet
float fHdgMag;
float fMagVar;
float fLength; // feet
float fWidth; // feet
float fILSfreq; // zero if none char
chILSflags[4];
float fILShdg;
char chILSid[8];
float fILSslope;
} rbin;
T5.BIN: binary format Taxiways file
Record format:
struct {
DWORD dwNumPts;
char chICAO[4];
char chName[8]; // zero if not named
float fMinWidth;
} tbin;
followed by dwNumPts x struct
{ float fLat;
float fLon;
float fType;
float fWidth; // to next point, =0 for last point
} tpt;
Commented [PD1]:
RUNNING MAKERUNWAYS SILENTLY
If an application wishes MakeRunways to run without any progress dialogue then it can start it
with the command line parameter /+Q
Peter L Dowson, 21st February 2022