This is a terse reference for the FS20 (MSFS) BGL file format.
Much of the original BGL File Format information still applies in terms of BGL format and a number of the mathematical transformations used to decode certain data types.
This page should be used in conjunction with that page for a more full understanding of the FS20 BGL format, in particular everything in BGL Common Format still holds.
Note that BGL section IDs are encoded in FSSectType, which are largely identical to FSX with a couple of additions.
Airport
| Offset
|
Byte length
|
Value type
|
Name
|
Notes
|
| 0x0
|
2
|
ushort
|
recType
|
(FSDataType) 0x0056
|
| 0x2
|
4
|
uint
|
recSz
|
|
| 0x6
|
1
|
byte
|
runwayCt
|
|
| 0x7
|
1
|
byte
|
comCt
|
|
| 0x8
|
1
|
byte
|
startCt
|
|
| 0x9
|
1
|
byte
|
appCt
|
|
| 0xa
|
1
|
byte
|
legacyApronCt
|
|
| 0xb
|
1
|
byte
|
helipadCt
|
|
| 0xc
|
4
|
LongitudeInt32
|
lon
|
|
| 0x10
|
4
|
LatitudeInt32
|
lat
|
|
| 0x14
|
4
|
AltitudeInt32
|
alt
|
|
| 0x18
|
4
|
LongitudeInt32
|
towerLon
|
|
| 0x1c
|
4
|
LatitudeInt32
|
towerLat
|
|
| 0x20
|
4
|
AltitudeInt32
|
towerAlt
|
|
| 0x24
|
4
|
float
|
magvar
|
|
| 0x28
|
4
|
Icao
|
ident
|
|
| 0x2c bits 0 to 10
|
4
|
Icao
|
region
|
|
| 0x30
|
4
|
Services
|
fuelService
|
|
| 0x35
|
1
|
byte
|
trafficScalar
|
Used as a float - ratio of the byte value over 255
|
| 0x36 bit 0
|
1
|
bool
|
starAirport
|
|
| 0x36 bit 1
|
1
|
bool
|
isOnTIN
|
|
| 0x36 bit 2
|
1
|
bool
|
closed
|
|
| 0x37
|
1
|
byte
|
departureCt
|
|
| 0x38
|
1
|
bool
|
onlyAddIfReplace
|
|
| 0x39
|
1
|
byte
|
arrivalCt
|
|
| 0x3a
|
1
|
byte
|
unknown
|
|
| 0x3b bit 0
|
1
|
bool
|
applyFlatten
|
|
| 0x3c
|
2
|
ushort
|
apronCt
|
|
| 0x3e
|
2
|
ushort
|
paintedLineCt
|
|
| 0x40
|
2
|
ushort
|
paintedPolygonCt
|
|
| 0x42
|
2
|
ushort
|
paintedHatchedAreaCt
|
|
It has the following child records, which appear immediately afterwards:
Airport.Name
| Offset
|
Byte length
|
Value type
|
Name
|
Notes
|
| 0x0
|
2
|
ushort
|
childType
|
(FSAirportChildType) 0x0019
|
| 0x2
|
4
|
uint
|
recSz
|
|
| 0x6
|
recSz - 6
|
string
|
name
|
|
Airport.GroundMergingTransfer
| Offset
|
Byte length
|
Value type
|
Name
|
Notes
|
| 0x0
|
2
|
ushort
|
childType
|
(FSAirportChildType) 0x00e9
|
| 0x2
|
4
|
uint
|
recSz
|
|
| 0x6
|
2
|
ushort
|
unknown
|
|
| 0x8
|
4
|
float
|
groundMergingTransfertBright
|
|
| 0xc
|
4
|
float
|
groundMergingTransfertDark
|
|
Airport.Approach
| Offset
|
Byte length
|
Value type
|
Name
|
Notes
|
| 0x0
|
2
|
ushort
|
childType
|
(FSAirportChildType) 0x0024
|
| 0x2
|
4
|
uint
|
recSz
|
|
| 0x6
|
1
|
char
|
suffix
|
|
| 0x7
|
1
|
byte
|
runway
|
(RunwayNumber)
|
| 0x8 bits 0 to 3
|
1
|
partialbyte
|
type
|
(ApproachType)
|
| 0x8 bits 4 to 6
|
1
|
partialbyte
|
designator
|
(Designator)
|
| 0x8 bit 7
|
1
|
bool
|
gpsOverlay
|
|
| 0x9
|
1
|
byte
|
transitionCt
|
|
| 0xa
|
1
|
byte
|
legCt
|
|
| 0xb
|
1
|
byte
|
missedApproachLegCt
|
|
| 0xc bits 0 to 4
|
4
|
partialuint
|
fixType
|
(FixType)
|
| 0xc
|
4
|
Icao
|
fixIdent
|
|
| 0x10 bits 0 to 10
|
4
|
Icao
|
fixRegion
|
|
| 0x10 bits 11 to 31
|
4
|
Icao
|
airportIdent
|
|
| 0x14
|
4
|
AltitudeFloat
|
altitude
|
|
| 0x18
|
4
|
float
|
heading
|
|
| 0x1c
|
4
|
AltitudeFloat
|
missedAltitude
|
|
It has the following child records, which appear immediately afterwards:
Airport.Apron
| Offset
|
Byte length
|
Value type
|
Name
|
Notes
|
| 0x0
|
2
|
ushort
|
childType
|
(FSAirportChildType) 0x00d3
|
| 0x2
|
4
|
uint
|
recSz
|
|
| 0x6 bit 0
|
1
|
bool
|
drawSurface
|
|
| 0x6 bit 1
|
1
|
bool
|
drawDetail
|
|
| 0x6 bit 2
|
1
|
bool
|
localUV
|
|
| 0x6 bit 3
|
1
|
bool
|
stretchUV
|
|
| 0x6 bit 4
|
1
|
boolFalse
|
groundMerging
|
|
| 0x6 bit 5
|
1
|
boolFalse
|
excludeVegetationAround
|
|
| 0x6 bit 6
|
1
|
boolFalse
|
excludeVegetationInside
|
|
| 0x7
|
1
|
byte
|
opacity
|
|
| 0x8
|
4
|
ColorationRGBA
|
coloration
|
|
| 0xc
|
16
|
Guid
|
surface
|
|
| 0x1c
|
4
|
float
|
tiling
|
|
| 0x20
|
4
|
float
|
heading
|
in radians
|
| 0x24
|
4
|
float
|
falloff
|
|
| 0x28
|
4
|
int
|
priority
|
|
| 0x2c
|
2
|
ushort
|
vertexCt
|
|
| 0x2e
|
2
|
ushort
|
triangleCt
|
|
Then: vertexCt x vertices:
Then: triangleCt x triangles:
| Offset
|
Byte length
|
Value type
|
Name
|
Notes
|
| pos
|
2
|
ushort
|
vertex1
|
|
| pos + 0x2
|
2
|
ushort
|
vertex2
|
|
| pos + 0x4
|
2
|
ushort
|
vertex3
|
|
Airport.ApronEdgeLights
| Offset
|
Byte length
|
Value type
|
Name
|
Notes
|
| 0x0
|
2
|
ushort
|
childType
|
(FSAirportChildType) 0x0031
|
| 0x2
|
4
|
uint
|
recSz
|
|
| 0x6
|
2
|
ushort
|
unknown
|
|
| 0x8
|
2
|
ushort
|
vertexCt
|
|
| 0xa
|
2
|
ushort
|
edgeCt
|
|
| 0xc
|
4
|
ColorationRGBA
|
coloration
|
|
| 0x10
|
4
|
float
|
scale
|
|
| 0x14
|
4
|
float
|
falloff
|
|
Then: vertexCt x vertices:
Then: edgeCt x edges:
| Offset
|
Byte length
|
Value type
|
Name
|
Notes
|
| pos
|
4
|
float
|
radius
|
|
| pos + 0x4
|
2
|
ushort
|
vertex1
|
|
| pos + 0x6
|
2
|
ushort
|
vertex2
|
|
Airport.Com
| Offset
|
Byte length
|
Value type
|
Name
|
Notes
|
| 0x0
|
2
|
ushort
|
childType
|
(FSAirportChildType) 0x0012
|
| 0x2
|
4
|
uint
|
recSz
|
|
| 0x6
|
2
|
ushort
|
type
|
(ComType)
|
| 0x8
|
4
|
FrequencyMHz
|
frequency
|
|
| 0xc
|
recSz - 0xc
|
string
|
name
|
|
Airport.DeleteAirport
| Offset
|
Byte length
|
Value type
|
Name
|
Notes
|
| 0x0
|
2
|
ushort
|
childType
|
(FSAirportChildType) 0x0033
|
| 0x2
|
4
|
uint
|
recSz
|
|
| 0x6 bit 0
|
2
|
bool
|
allApproaches
|
|
| 0x6 bit 1
|
2
|
bool
|
allApronLights
|
|
| 0x6 bit 2
|
2
|
bool
|
allAprons
|
|
| 0x6 bit 3
|
2
|
bool
|
allFrequencies
|
|
| 0x6 bit 4
|
2
|
bool
|
allHelipads
|
|
| 0x6 bit 5
|
2
|
bool
|
allRunways
|
|
| 0x6 bit 6
|
2
|
bool
|
allStarts
|
|
| 0x6 bit 7
|
2
|
bool
|
allTaxiways
|
|
| 0x6 bit 8
|
2
|
bool
|
allBlastFences
|
|
| 0x6 bit 9
|
2
|
bool
|
allBoundaryFences
|
|
| 0x6 bits 10 to 11
|
2
|
bool
|
allJetways
|
|
| 0x6 bit 11
|
2
|
bool
|
allControlTowers
|
|
| 0x8
|
1
|
byte
|
runwayCt
|
|
| 0x9
|
1
|
byte
|
startCt
|
|
| 0xa
|
1
|
byte
|
freqCt
|
|
| 0xb bit 0
|
1
|
bool
|
allDepartures
|
|
| 0xb bit 1
|
1
|
bool
|
allArrivals
|
|
| 0xb bit 2
|
1
|
bool
|
allPaintedElements
|
|
| 0xb bit 3
|
1
|
bool
|
allLightSupports
|
|
| 0xb bit 4
|
1
|
bool
|
allTaxiwaySigns
|
|
| 0xb bit 5
|
1
|
bool
|
allILSs
|
|
| 0xb bit 6
|
1
|
bool
|
allTerminalWaypoints
|
|
| 0xb bit 7
|
1
|
bool
|
allTerminalNDBs
|
|
Then: followed potentially by individual runways / starts / frequencies, but no examples of that yet
Airport.FsProcedure
| Offset
|
Byte length
|
Value type
|
Name
|
Notes
|
| 0x0
|
2
|
ushort
|
childType
|
(FSAirportChildType) as per particular procedure type
|
| 0x2
|
4
|
uint
|
recSz
|
|
| 0x6
|
2
|
byte[]
|
unknown
|
|
| 0x8
|
1
|
byte
|
runwayTransitionCt
|
|
| 0x9
|
1
|
byte
|
commonRouteLegCt
|
|
| 0xa
|
1
|
byte
|
enrouteTransitionCt
|
|
| 0xb
|
1
|
byte
|
unknown
|
|
| 0xc
|
8
|
string
|
name
|
|
It has the following child records which appear immediately afterwards:
Airport.Helipad
| Offset
|
Byte length
|
Value type
|
Name
|
Notes
|
| 0x0
|
2
|
ushort
|
childType
|
(FSAirportChildType) 0x0026
|
| 0x2
|
4
|
uint
|
recSz
|
|
| 0x6
|
1
|
byte
|
surface
|
(Surface)
|
| 0x7 bits 0 to 3
|
1
|
partialbyte
|
type
|
(Helipad)
|
| 0x7 bit 4
|
1
|
bool
|
transparent
|
|
| 0x7 bit 5
|
1
|
bool
|
closed
|
|
| 0x8
|
4
|
Color
|
color
|
|
| 0xc
|
4
|
LongitudeInt32
|
lon
|
|
| 0x10
|
4
|
LatitudeInt32
|
lat
|
|
| 0x14
|
4
|
AltitudeInt32
|
alt
|
|
| 0x18
|
4
|
Distance
|
length
|
|
| 0x1c
|
4
|
Distance
|
width
|
|
| 0x20
|
4
|
float
|
heading
|
|
Airport.Jetway
| Offset
|
Byte length
|
Value type
|
Name
|
Notes
|
| 0x0
|
2
|
ushort
|
childType
|
(FSAirportChildType) 0x00de
|
| 0x2
|
4
|
uint
|
recSz
|
|
| 0x6
|
2
|
ushort
|
parkingNumber
|
|
| 0x8
|
2
|
ushort
|
gateName
|
(ParkingName)
|
| 0xa
|
2
|
ushort
|
suffix
|
(ParkingName)
|
| 0xc
|
2
|
ushort
|
unknown
|
|
| 0xe
|
2
|
ushort
|
scenObjLen1
|
|
| 0x10
|
2
|
ushort
|
scenObjLen2
|
|
Then: up to 2 SceneryObjects (dependant on if respective scenObjLen is nonzero)
Airport.LegContainer.Leg
| Offset
|
Byte length
|
Value type
|
Name
|
Notes
|
| 0x0
|
1
|
byte
|
type
|
(LegType)
|
| 0x1
|
1
|
byte
|
altitudeDescriptor
|
(AltitudeDescriptor)
|
| 0x2 bits 0 to 1
|
2
|
partialushort
|
turnDirection
|
(TurnDirection)
|
| 0x2 bit 8
|
2
|
bool
|
courseIsTrue
|
|
| 0x2 bit 9
|
2
|
bool
|
timeIsSpecified
|
|
| 0x2 bit 10
|
2
|
bool
|
flyOver
|
|
| 0x4 bits 0 to 4
|
4
|
partialuint
|
fixType
|
(FixType)
|
| 0x4
|
4
|
Icao
|
fixIdent
|
|
| 0x8 bits 0 to 10
|
4
|
Icao
|
fixRegion
|
|
| 0x8 bits 11 to 31
|
4
|
Icao
|
fixAirport
|
|
| 0xc bits 0 to 4
|
4
|
partialuint
|
recommendedType
|
(FixType)
|
| 0xc
|
4
|
Icao
|
recommendedIdent
|
|
| 0x10 bits 0 to 10
|
4
|
Icao
|
recommendedRegion
|
|
| 0x10 bits 11 to 31
|
4
|
Icao
|
recommendedAirport
|
|
| 0x14
|
4
|
float
|
theta
|
|
| 0x18
|
4
|
DistanceFloat
|
rho
|
|
| IF courseIsTrue
|
| 0x1c
|
4
|
float
|
trueCourse
|
|
| ELSE
|
| 0x1c
|
4
|
float
|
magneticCourse
|
|
| ENDIF
|
| IF timeIsSpecified
|
| 0x20
|
4
|
float
|
time
|
|
| ELSE
|
| 0x20
|
4
|
DistanceFloat
|
distance
|
|
| ENDIF
|
| 0x24
|
4
|
AltitudeFloat
|
altitude1
|
|
| 0x28
|
4
|
AltitudeFloat
|
altitude2
|
|
| 0x2c
|
4
|
float
|
speedLimit
|
|
| 0x30
|
4
|
float
|
verticalAngle
|
|
| 0x34
|
16
|
bytes
|
Unknown
|
|
Airport.LegContainer
| Offset
|
Byte length
|
Value type
|
Name
|
Notes
|
| 0x0
|
2
|
ushort
|
childType
|
0x00e1 for ApproachLegs 0x00e2 for MissedApproachLegs 0x00e3 for TransitionLegs 0x00e4 for RunwayTransitionLegs 0x00e5 for CommonRouteLegs 0x00e6 for EnrouteTransitionLegs
|
| 0x2
|
4
|
uint
|
recSz
|
|
| 0x6
|
2
|
ushort
|
legCt
|
|
Then: legCt x Airport.LegContainer.Leg
Airport.LightSupport
| Offset
|
Byte length
|
Value type
|
Name
|
Notes
|
| 0x0
|
2
|
ushort
|
childType
|
(FSAirportChildType) 0x0057
|
| 0x2
|
4
|
uint
|
recSz
|
|
| 0x6
|
2
|
ushort
|
unknown
|
|
| 0x8
|
8
|
LatitudeDouble
|
latitude
|
|
| 0x10
|
8
|
LongitudeDouble
|
longitude
|
|
| 0x18
|
8
|
AltitudeDouble
|
altitude
|
|
| 0x20
|
8
|
AltitudeDouble
|
altitude2
|
|
| 0x28
|
4
|
float
|
heading
|
|
| 0x2c
|
4
|
float
|
width
|
|
| 0x30
|
4
|
float
|
length
|
|
Airport.PaintedHatchedArea
| Offset
|
Byte length
|
Value type
|
Name
|
Notes
|
| 0x0
|
2
|
ushort
|
childType
|
(FSAirportChildType) 0x00d8
|
| 0x2
|
4
|
uint
|
recSz
|
|
| 0x6
|
4
|
uint
|
type
|
(PaintedLineType)
|
| 0xa
|
2
|
ushort
|
vertexCount
|
|
| 0xc
|
4
|
float
|
heading
|
|
| 0x10
|
4
|
Distance
|
spacing
|
|
Then: vertexCt x vertices:
Airport.PaintedLine
Then: vertexCt x vertices:
Airport.PaintedPolygon
| Offset
|
Byte length
|
Value type
|
Name
|
Notes
|
| 0x0
|
2
|
ushort
|
childType
|
(FSAirportChildType)
|
| 0x2
|
4
|
uint
|
recSz
|
|
| 0x6
|
2
|
ushort
|
vertexCount
|
|
| 0x8
|
4
|
ColorationRGBA
|
color
|
|
Then: vertexCt x vertices:
Airport.ProjectedMesh
| Offset
|
Byte length
|
Value type
|
Name
|
Notes
|
| 0x0
|
2
|
ushort
|
childType
|
(FSAirportChildType) 0x00e8
|
| 0x2
|
4
|
uint
|
recSz
|
|
| 0x6
|
1
|
byte
|
priority
|
|
| 0x7
|
1
|
byte
|
unknown
|
|
| 0x8 bit 0
|
4
|
bool
|
groundMerging
|
|
| 0x8 bits 1 to 31
|
4
|
partialuint
|
unknown
|
|
| 0xc
|
2
|
ushort
|
subRecSz
|
|
Then: a SceneryObject used as the source of the projected mesh
Airport.Runway
| Offset
|
Byte length
|
Value type
|
Name
|
Notes
|
| 0x0
|
2
|
ushort
|
childType
|
(FSAirportChildType) 0x00ce
|
| 0x2
|
4
|
uint
|
recSz
|
|
| 0x6 bit 7
|
1
|
bool
|
transparent
|
|
| 0x8
|
1
|
byte
|
primaryNumber
|
(RunwayNumber)
|
| 0x9
|
1
|
byte
|
primaryDesignator
|
(Designator)
|
| 0xa
|
1
|
byte
|
secondaryNumber
|
(RunwayNumber)
|
| 0xb
|
1
|
byte
|
secondaryDesignator
|
(Designator)
|
| 0xc
|
4
|
Icao
|
primaryILSIdent
|
|
| 0x10
|
4
|
Icao
|
secondaryILSIdent
|
|
| 0x14
|
4
|
LongitudeInt32
|
lon
|
|
| 0x18
|
4
|
LatitudeInt32
|
lat
|
|
| 0x1c
|
4
|
AltitudeInt32
|
alt
|
|
| 0x20
|
4
|
Distance
|
length
|
|
| 0x24
|
4
|
Distance
|
width
|
|
| 0x28
|
4
|
float
|
heading
|
|
| 0x2c
|
4
|
AltitudeFloat
|
patternAltitude
|
|
| 0x30 bit 0
|
2
|
bool
|
markingsEdges
|
|
| 0x30 bit 1
|
2
|
bool
|
markingsThreshold
|
|
| 0x30 bit 2
|
2
|
bool
|
markingsFixedDistance
|
|
| 0x30 bit 3
|
2
|
bool
|
markingsTouchdown
|
|
| 0x30 bit 4
|
2
|
bool
|
markingsDashes
|
|
| 0x30 bit 5
|
2
|
bool
|
markingsIdent
|
|
| 0x30 bit 6
|
2
|
bool
|
markingsPrecision
|
|
| 0x30 bit 7
|
2
|
bool
|
markingsEdgePavement
|
|
| 0x30 bit 8
|
2
|
bool
|
markingsSingleEnd
|
|
| 0x30 bit 9
|
2
|
bool
|
markingsPrimaryClosed
|
|
| 0x30 bit 10
|
2
|
bool
|
markingsSecondaryClosed
|
|
| 0x30 bit 11
|
2
|
bool
|
markingsPrimaryStol
|
|
| 0x30 bit 12
|
2
|
bool
|
markingsSecondaryStol
|
|
| 0x30 bit 13
|
2
|
bool
|
markingsAlternateThreshold
|
|
| 0x30 bit 14
|
2
|
bool
|
markingsAlternateFixedDistance
|
|
| 0x30 bit 15
|
2
|
bool
|
markingsAlternateTouchdown
|
|
| 0x32 bit 5
|
1
|
bool
|
markingsAlternatePrecision
|
|
| 0x32 bit 6
|
1
|
bool
|
markingsLeadingZeroIdent
|
|
| 0x32 bit 7
|
1
|
bool
|
markingsNoThresholdEndArrows
|
|
| 0x32 bits 0 to 1
|
1
|
partialbyte
|
lightsEdge
|
(Lights)
|
| 0x32 bits 2 to 3
|
1
|
partialbyte
|
lightsCenter
|
(Lights)
|
| 0x32 bit 4
|
1
|
bool
|
lightsCenterRed
|
|
| 0x33 bit 0
|
1
|
boolFalse
|
primaryTakeOff
|
|
| 0x33 bit 1
|
1
|
boolFalse
|
primaryLanding
|
|
| 0x33 bit 2
|
1
|
partialbyte
|
primaryPattern
|
(Side)
|
| 0x33 bit 3
|
1
|
boolFalse
|
secondaryTakeOff
|
|
| 0x33 bit 4
|
1
|
boolFalse
|
secondaryLanding
|
|
| 0x33 bit 5
|
1
|
partialbyte
|
secondaryPattern
|
(Side)
|
| 0x33 bit 6
|
1
|
boolFalse
|
groundMerging
|
|
| 0x33 bit 7
|
1
|
boolFalse
|
excludeVegetationAround
|
|
| 0x34
|
0x14
|
byte[]
|
unknown
|
|
| 0x48
|
4
|
float
|
falloff
|
|
| 0x4c
|
16
|
Guid
|
surface
|
|
| 0x5c
|
4
|
ColorationRGBA
|
coloration
|
|
It has the following child records which appear immediately afterwards:
Airport.Runway.ApproachLights
| Offset
|
Byte length
|
Value type
|
Name
|
Notes
|
| 0x0
|
2
|
ushort
|
childType
|
(FSRunwayChildType) 0x00df for Primary, 0x00e0 for Secondary
|
| 0x2
|
4
|
uint
|
recSz
|
|
| 0x6 bits 0 to 4
|
1
|
partialbyte
|
system
|
(ApproachLights)
|
| 0x6 bit 5
|
1
|
bool
|
endLights
|
|
| 0x6 bit 6
|
1
|
bool
|
reil
|
|
| 0x6 bit 7
|
1
|
bool
|
touchdown
|
|
| 0x7
|
1
|
byte
|
strobes
|
|
| 0x8
|
4
|
Distance
|
spacing
|
|
| 0xc
|
4
|
Distance
|
offset
|
|
| 0x10
|
4
|
float
|
slope
|
|
| 0x14
|
4
|
uint
|
unknown
|
|
Airport.Runway.BlastPad
| Offset
|
Byte length
|
Value type
|
Name
|
Notes
|
| 0x0
|
2
|
ushort
|
childType
|
(FSRunwayChildType) 0x0007 for Primary, 0x0008 for Secondary
|
| 0x2
|
4
|
uint
|
recSz
|
|
| 0x6
|
2
|
ushort
|
fsXsurface
|
(Surface)
|
| 0x8
|
16
|
Guid
|
surface
|
|
| 0x18
|
4
|
Distance
|
length
|
|
| 0x1c
|
4
|
Distance
|
width
|
|
Airport.Runway.FacilityMaterial
| Offset
|
Byte length
|
Value type
|
Name
|
Notes
|
| 0x0
|
2
|
ushort
|
childType
|
(FSRunwayChildType) 0x00cb
|
| 0x2
|
4
|
uint
|
recSz
|
|
| 0x6
|
1
|
byte
|
unknown
|
|
| 0x7
|
1
|
byte
|
opacity
|
|
| 0x8
|
16
|
Guid
|
guid
|
|
| 0x18
|
4
|
uint
|
unknown
|
|
| 0x1c
|
4
|
float
|
tilingU
|
|
| 0x20
|
4
|
float
|
tilingV
|
|
| 0x24
|
4
|
Distance
|
width
|
|
| 0x28
|
4
|
float
|
falloff
|
|
Airport.Runway.OffsetThreshold
| Offset
|
Byte length
|
Value type
|
Name
|
Notes
|
| 0x0
|
2
|
ushort
|
childType
|
(FSRunwayChildType) 0x0005 for Primary, 0x0006 for Secondary
|
| 0x2
|
4
|
uint
|
recSz
|
|
| 0x06
|
2
|
ushort
|
fsXsurface
|
(Surface)
|
| 0x08
|
16
|
Guid
|
surface
|
|
| 0x18
|
4
|
Distance
|
length
|
|
| 0x1c
|
4
|
Distance
|
width
|
|
Airport.Runway.Overrun
| Offset
|
Byte length
|
Value type
|
Name
|
Notes
|
| 0x0
|
2
|
ushort
|
childType
|
(FSRunwayChildType) 0x0065 for Primary, 0x0066 for Secondary
|
| 0x2
|
4
|
uint
|
recSz
|
|
| 0x06
|
2
|
ushort
|
fsXsurface
|
(Surface)
|
| 0x8
|
4
|
Distance
|
length
|
|
| 0xc
|
4
|
Distance
|
width
|
|
Airport.Runway.RunwayDeformation
| Offset
|
Byte length
|
Value type
|
Name
|
Notes
|
| 0x0
|
2
|
ushort
|
childType
|
(FSRunwayChildType) 0x003e
|
| 0x2
|
4
|
uint
|
recSz
|
|
| 0x6
|
2
|
ushort
|
unknown
|
|
| 0x8
|
4
|
float
|
ratio
|
|
| 0x0c
|
4
|
AltitudeFloat
|
alt
|
|
| 0x10
|
4
|
float
|
controlPointBefore
|
|
| 0x14
|
4
|
float
|
controlPointAfter
|
|
Airport.Runway.VASI
| Offset
|
Byte length
|
Value type
|
Name
|
Notes
|
| 0x0
|
2
|
ushort
|
childType
|
(FSRunwayChildType) 0x000b for Primary Left, 0x000c for Primary Right 0x000d for Secondary Left, 0x000e for Secondary Right
|
| 0x2
|
4
|
uint
|
recSz
|
|
| 0x6
|
2
|
ushort
|
type
|
(Vasi)
|
| 0x08
|
4
|
Distance
|
biasX
|
|
| 0x0c
|
4
|
Distance
|
biasZ
|
|
| 0x10
|
4
|
Distance
|
spacing
|
|
| 0x14
|
4
|
float
|
pitch
|
|
Airport.Start
Airport.TaxiNameContainer
| Offset
|
Byte length
|
Value type
|
Name
|
Notes
|
| 0x0
|
2
|
ushort
|
childType
|
(FSAirportChildType) 0x001d
|
| 0x2
|
4
|
uint
|
recSz
|
|
| 0x6
|
2
|
ushort
|
subRecCt
|
|
Then: subRecCt x Airport.TaxiNameContainer.TaxiName
Airport.TaxiNameContainer.TaxiName
| Offset
|
Byte length
|
Value type
|
Name
|
Notes
|
| 0x0
|
8
|
string
|
name
|
|
Airport.TaxiwayParkingContainer
| Offset
|
Byte length
|
Value type
|
Name
|
Notes
|
| 0x0
|
2
|
ushort
|
childType
|
(FSAirportChildType) 0x00e7
|
| 0x2
|
4
|
uint
|
recSz
|
|
| 0x6
|
2
|
ushort
|
subRecCt
|
|
Then: subRecCt x Airport.TaxiwayParkingContainer.TaxiwayParking
Airport.TaxiwayParkingContainer.TaxiwayParking
| Offset
|
Byte length
|
Value type
|
Name
|
Notes
|
| 0x0 bits 0 to 5
|
4
|
partialuint
|
name
|
(ParkingName)
|
| 0x0 bits 6 to 7
|
4
|
partialuint
|
pushBack
|
(ParkingPushback)
|
| 0x0 bits 8 to 11
|
4
|
partialuint
|
type
|
(ParkingType)
|
| 0x0 bits 12 to 23
|
4
|
partialuint
|
number
|
|
| 0x0 bits 24 to 31
|
4
|
partialuint
|
airlineCodeCt
|
|
| 0x4
|
4
|
Distance
|
radius
|
|
| 0x8
|
4
|
float
|
heading
|
|
| 0xc
|
4
|
float
|
teeOffset1
|
|
| 0x10
|
4
|
float
|
teeOffset2
|
|
| 0x14
|
4
|
float
|
teeOffset3
|
|
| 0x18
|
4
|
float
|
teeOffset3
|
|
| 0x1c
|
4
|
LongitudeInt32
|
lon
|
|
| 0x20
|
4
|
LatitudeInt32
|
lat
|
|
Then: airlineCodeCt x airlineCodes (fixed 4 char strings)
| Offset
|
Byte length
|
Value type
|
Name
|
Notes
|
| pos
|
4
|
string
|
airlineCode
|
Then, at unknown position pos after that:
| Offset
|
Byte length
|
Value type
|
Name
|
Notes
|
| pos
|
1
|
bool
|
numberMarking
|
|
| pos + 0x1
|
1
|
byte
|
suffix
|
(ParkingName)
|
| pos + 0x2
|
0x5
|
byte[]
|
unknown
|
|
| pos + 0x8
|
4
|
Distance
|
numberBiasX
|
|
| pos + 0xc
|
4
|
Distance
|
numberBiasZ
|
|
| pos + 0x10
|
4
|
float
|
numberHeading
|
|
Airport.TaxiwayPathContainer
| Offset
|
Byte length
|
Value type
|
Name
|
Notes
|
| 0x0
|
2
|
ushort
|
childType
|
(FSAirportChildType) 0x00d4
|
| 0x2
|
4
|
uint
|
recSz
|
|
| 0x6
|
2
|
ushort
|
subRecCt
|
|
Then: subRecCt x Airport.TaxiwayPathContainer.TaxiwayPath
Airport.TaxiwayPathContainer.TaxiwayPath
| Offset
|
Byte length
|
Value type
|
Name
|
Notes
|
| 0x0
|
2
|
ushort
|
start
|
|
| 0x2 bits 0 to 11
|
2
|
partialushort
|
legacyEnd
|
|
| 0x2 bits 12 to 15
|
2
|
partialushort
|
designator
|
(Designator)
|
| 0x4 bits 0 to 3
|
1
|
partialbyte
|
type
|
(TaxiwayPathType)
|
| 0x4 bit 4
|
1
|
bool
|
enhanced
|
|
| 0x4 bit 5
|
1
|
bool
|
drawSurface
|
|
| 0x4 bit 6
|
1
|
bool
|
drawDetail
|
|
| IF type is RUNWAY
|
| 0x5
|
1
|
byte
|
number
|
(RunwayNumber)
|
| ELSE
|
| 0x5
|
1
|
byte
|
name
|
|
| ENDIF
|
| 0x6 bit 0
|
1
|
bool
|
centerLine
|
|
| 0x6 bit 1
|
1
|
bool
|
centerLineLighted
|
|
| 0x6 bits 2 to 3
|
1
|
partialbyte
|
leftEdge
|
(TaxiwayEdgeType)
|
| 0x6 bit 4
|
1
|
bool
|
leftEdgeLighted
|
|
| 0x6 bits 5 to 6
|
1
|
partialbyte
|
rightEdge
|
(TaxiwayEdgeType)
|
| 0x6 bit 7
|
1
|
bool
|
rightEdgeLighted
|
|
| 0x7
|
1
|
byte
|
fsXsurface
|
(Surface)
|
| 0x8
|
4
|
Distance
|
width
|
|
| 0xc
|
4
|
uint
|
weightLimit
|
|
| 0x10
|
4
|
uint
|
unknown
|
|
| 0x14
|
4
|
uint
|
unknown
|
|
| 0x18
|
16
|
Guid
|
surface
|
|
| 0x28
|
4
|
ColorationRGBA
|
coloration
|
|
| 0x2c
|
1
|
byte
|
materialCt
|
|
| 0x2d bit 0
|
1
|
bool
|
groundMerging
|
|
| 0x2d bit 1
|
1
|
boolFalse
|
excludeVegetationAround
|
|
| 0x2d bit 2
|
1
|
boolFalse
|
excludeVegetationInside
|
|
| 0x2e
|
2
|
ushort
|
end
|
|
Then: materialCt x Airport.TaxiwayPathContainer.TaxiwayPath.Material
Airport.TaxiwayPathContainer.TaxiwayPath.Material
| Offset
|
Byte length
|
Value type
|
Name
|
Notes
|
| 0x0
|
2
|
ushort
|
childType
|
(FSAirportChildType) 0x00d5
|
| 0x2
|
4
|
uint
|
recSz
|
| 0x6
|
1
|
byte
|
type
|
| 0x7
|
1
|
byte
|
opacity
|
| 0x8
|
16
|
Guid
|
surface
|
| 0x18
|
4
|
uint
|
type
|
(FSTaxiwayPathMaterialType)
|
| 0x1C
|
4
|
float
|
tilingU
|
| 0x20
|
4
|
float
|
tilingV
|
| 0x24
|
4
|
float
|
width
|
| 0x28
|
4
|
float
|
falloff
|
|
Airport.TaxiwayPointContainer
| Offset
|
Byte length
|
Value type
|
Name
|
Notes
|
| 0x0
|
2
|
ushort
|
childType
|
(FSAirportChildType) 0x001a
|
| 0x2
|
4
|
uint
|
recSz
|
|
| 0x6
|
2
|
ushort
|
subRecCt
|
|
Then: subRecCt x Airport.TaxiwayPointContainer.TaxiwayPoint
Airport.TaxiwayPointContainer.TaxiwayPoint
Airport.TaxiwaySign
| Offset
|
Byte length
|
Value type
|
Name
|
Notes
|
| 0x0
|
2
|
ushort
|
childType
|
(FSAirportChildType) 0x00d9
|
| 0x2
|
4
|
uint
|
recSz
|
|
| 0x6
|
2
|
ushort
|
aptTaxiwaySignCt
|
unused?
|
| 0x8
|
4
|
LongitudeInt32
|
lon
|
|
| 0xc
|
4
|
LatitudeInt32
|
lat
|
|
| 0x10
|
4
|
float
|
heading
|
|
| 0x14
|
1
|
byte
|
size
|
(SignSize)
|
| 0x15
|
1
|
byte
|
justification
|
(Side)
|
| 0x16
|
0x3e
|
string
|
label
|
|
Airport.Tower
| Offset
|
Byte length
|
Value type
|
Name
|
Notes
|
| 0x0
|
2
|
ushort
|
childType
|
(FSAirportChildType) 0x0066
|
| 0x2
|
4
|
uint
|
recSz
|
|
| 0x6
|
2
|
ushort
|
subRecSz
|
|
| 0x8 bit 0
|
1
|
bool
|
defaultTower
|
|
| 0x8 bits 1 to 2
|
1
|
partialbyte
|
overrideSize
|
(OverrideTowerSize)
|
| 0x9
|
1
|
byte
|
overrideLevel
|
|
| IF defaultTower
|
| 0xa
|
8
|
LatitudeDouble
|
lat
|
|
| 0x12
|
8
|
LongitudeDouble
|
lon
|
|
| 0x1a
|
8
|
AltitudeDouble
|
alt
|
|
| ELSE
|
| A SceneryObject is embedded at 0xa
|
| ENDIF
|
Airport.TransitionContainer
| Offset
|
Byte length
|
Value type
|
Name
|
Notes
|
| 0x0
|
2
|
ushort
|
childType
|
(FSProcedureChildType)
|
| 0x2
|
4
|
uint
|
recSz
|
|
| 0x6
|
1
|
byte
|
transitionCt
|
|
| IF childType == RunwayTransitions
|
| 0x7
|
1
|
byte
|
number
|
(RunwayNumber)
|
| 0x8
|
1
|
byte
|
designator
|
(Designator)
|
| 0x9
|
3
|
byte[]
|
unk
|
|
| ENDIF
|
Then: transitionCt x Airport.TransitionContainer.Transition
Airport.TransitionContainer.Transition
| Offset
|
Byte length
|
Value type
|
Name
|
Notes
|
| 0x6
|
1
|
byte
|
transitionType
|
(TransitionType)
|
| 0x7
|
1
|
byte
|
legCt
|
|
| 0x8 bits 0 to 4
|
4
|
partialuint
|
fixType
|
(FixType)
|
| 0x8
|
4
|
Icao
|
fixIdent
|
|
| 0xc bits 0 to 10
|
4
|
Icao
|
fixRegion
|
|
| 0xc bits 11 to 31
|
4
|
Icao
|
fixAirport
|
|
| 0x10
|
4
|
AltitudeFloat
|
altitude
|
|
| IF transitionType == DME
|
| 0x0
|
4
|
Icao
|
dmeIdent
|
|
| 0x4 bits 0 to 10
|
4
|
Icao
|
dmeRegion
|
|
| 0x4 bits 11 to 31
|
4
|
Icao
|
dmeAirport
|
|
| 0x8
|
4
|
int
|
radial
|
|
| 0xc
|
4
|
DistanceFloat
|
distance
|
|
| ENDIF
|
Then: legCt x Airport.Leg
Airport.VectorPlacement
| Offset
|
Byte length
|
Value type
|
Name
|
Notes
|
| 0x0
|
2
|
ushort
|
childType
|
(FSAirportChildType)
|
| 0x2
|
4
|
uint
|
recSz
|
|
| 0x6
|
2
|
ushort
|
vertexCt
|
|
| 0x8
|
16
|
Guid
|
instanceId
|
|
| 0x18
|
16
|
Guid
|
profile
|
|
Then: vertexCt x vertices:
Boundary
It has the following child records which appear immediately afterwards:
Boundary.BoundaryDefContainer
| Offset
|
Byte length
|
Value type
|
Name
|
Notes
|
| 0x0
|
2
|
ushort
|
recType
|
(FSBoundaryChildType) 0x0021
|
| 0x2
|
4
|
uint
|
recSz
|
|
| 0x6
|
2
|
ushort
|
subRecCt
|
|
Then: subRecCt x Boundary.BoundaryDefContainer.BoundaryDef
Boundary.BoundaryDefContainer.BoundaryDef
| Offset
|
Byte length
|
Value type
|
Name
|
Notes
|
| 0x0
|
1
|
byte
|
boundaryDefType
|
(FSBoundaryDefType)
|
| 0x1
|
1
|
byte
|
index
|
|
Then based on the type, choose a subtype:
Boundary.BoundaryDefContainer.BoundaryDef.Com: unknown
Boundary.BoundaryDefContainer.BoundaryDef.Origin
Boundary.BoundaryDefContainer.BoundaryDef.Circle
| Offset
|
Byte length
|
Value type
|
Name
|
Notes
|
| 0x2
|
4
|
uint
|
unknown
|
|
| 0x6
|
4
|
Distance
|
radius
|
|
Boundary.BoundaryDefContainer.BoundaryDef.Line
Boundary.BoundaryDefContainer.BoundaryDef.Arc
Boundary.BoundaryDefContainer.BoundaryDef.Start
DeleteAirportNavigation
| Offset
|
Byte length
|
Value type
|
Name
|
Notes
|
| 0x0
|
2
|
ushort
|
recType
|
(FSDataType) 0x00db
|
| 0x2
|
4
|
uint
|
recSz
|
|
| 0x6
|
2
|
ushort
|
unknown
|
|
| 0x8
|
4
|
Icao
|
ident
|
|
| 0xc bits 0 to 10
|
4
|
Icao
|
region
|
|
| 0xc bits 11 to 31
|
4
|
Icao
|
airportIdent
|
|
DeleteNavigation
| Offset
|
Byte length
|
Value type
|
Name
|
Notes
|
| 0x0
|
2
|
ushort
|
recType
|
(FSDataType) 0x00da
|
| 0x2
|
4
|
uint
|
recSz
|
|
| 0x6 bit 0
|
2
|
bool
|
deleteAllWaypoints
|
|
| 0x6 bit 1
|
2
|
bool
|
deleteAllVORs
|
|
| 0x6 bit 2
|
2
|
bool
|
deleteAllNDBs
|
|
| 0x6 bit 3
|
2
|
bool
|
deleteAllTerminalWaypoints
|
|
| 0x6 bit 4
|
2
|
bool
|
deleteAllTerminalNDBs
|
|
| 0x6 bit 5
|
2
|
bool
|
deleteAllILSs
|
|
| 0x6 bit 6
|
2
|
bool
|
deleteAllApproaches
|
|
| 0x6 bit 7
|
2
|
bool
|
deleteAllDepartures
|
|
| 0x6 bit 8
|
2
|
bool
|
deleteAllArrivals
|
|
| 0x6 bit 9
|
2
|
bool
|
deleteAllFrequencies
|
|
ExclusionRectangle
| Offset
|
Byte length
|
Value type
|
Name
|
Notes
|
| 0x0 bit 3
|
4
|
bool
|
excludeAllObjects
|
|
| 0x0 bit 4
|
4
|
bool
|
excludeBeaconObjects
|
|
| 0x0 bit 5
|
4
|
bool
|
excludeEffectObjects
|
|
| 0x0 bit 6
|
4
|
bool
|
excludeGenericBuildingObjects
|
|
| 0x0 bit 7
|
4
|
bool
|
excludeLibraryObjects
|
|
| 0x0 bit 8
|
4
|
bool
|
excludeTaxiwaySignObjects
|
|
| 0x0 bit 9
|
4
|
bool
|
excludeTriggerObjects
|
|
| 0x0 bit 10
|
4
|
bool
|
excludeWindsockObjects
|
|
| 0x0 bit 11
|
4
|
bool
|
excludeExtrusionBridgeObjects
|
|
| 0x0 bit 12
|
4
|
bool
|
excludeSimObjects
|
|
| 0x0 bit 13
|
4
|
bool
|
excludeWorldScripts
|
|
| 0x0 bit 14
|
4
|
bool
|
excludeCarParking
|
|
| 0x0 bit 15
|
4
|
bool
|
excludeRectangles
|
|
| 0x0 bit 16
|
4
|
bool
|
excludePolygons
|
|
| 0x4
|
4
|
LongitudeInt32
|
longitudeMinimum
|
|
| 0x8
|
4
|
LatitudeInt32
|
latitudeMaximum
|
|
| 0xc
|
4
|
LongitudeInt32
|
longitudeMaximum
|
|
| 0x10
|
4
|
LatitudeInt32
|
latitudeMinimum
|
|
FsAirportSummary
| Offset
|
Byte length
|
Value type
|
Name
|
Notes
|
| 0x0
|
2
|
ushort
|
recType
|
(FSDataType) 0x0032
|
| 0x2
|
4
|
uint
|
recSz
|
|
| 0x6 bits 5 to 15
|
2
|
partialushort
|
approachAvailability
|
|
| 0x8
|
4
|
LongitudeInt32
|
lon
|
|
| 0xc
|
4
|
LatitudeInt32
|
lat
|
|
| 0x10
|
4
|
AltitudeInt32
|
alt
|
|
| 0x14
|
4
|
Icao
|
ident
|
|
| 0x18
|
4
|
uint
|
unknown
|
|
| 0x1c
|
4
|
float
|
magvar
|
|
| 0x20
|
4
|
float
|
longRwyLength
|
|
| 0x24
|
4
|
float
|
longRwyHeading
|
|
| 0x28
|
4
|
Services
|
fuelService
|
|
FsIndexMember
| Offset
|
Byte length
|
Value type
|
Name
|
Notes
|
| 0x0 bits 0 to 4
|
4
|
partialuint
|
rectype
|
|
| 0x0 bits 5 to 31
|
4
|
Icao
|
ident
|
|
| 0x4 bits 0 to 10
|
4
|
Icao
|
region
|
|
| 0x4 bits 11 to 31
|
4
|
Icao
|
airportIcao
|
|
| 0x8
|
2
|
ushort
|
qmidU
|
|
| 0xa
|
2
|
ushort
|
qmidV
|
|
FsNameList
| Offset
|
Byte length
|
Value type
|
Name
|
Notes
|
| 0x0
|
2
|
ushort
|
recType
|
(FSDataType) 0x0027
|
| 0x2
|
4
|
uint
|
recSz
|
always zero
|
| 0x6
|
2
|
ushort
|
regionCt
|
|
| 0x8
|
2
|
ushort
|
countryCt
|
|
| 0xa
|
2
|
ushort
|
stateCt
|
|
| 0xc
|
2
|
ushort
|
cityCt
|
|
| 0xe
|
2
|
ushort
|
airportCt
|
|
| 0x10
|
2
|
ushort
|
identCt
|
|
| 0x12
|
4
|
uint
|
regionOffset
|
|
| 0x16
|
4
|
uint
|
countryOffset
|
|
| 0x1a
|
4
|
uint
|
stateOffset
|
|
| 0x1e
|
4
|
uint
|
cityOffset
|
|
| 0x22
|
4
|
uint
|
airportOffset
|
|
| 0x26
|
4
|
uint
|
identOffset
|
|
Then: identCt x following struct:
| Offset
|
Byte length
|
Value type
|
Name
|
Notes
|
| pos
|
1
|
byte
|
region
|
regionNames[regionIdx]
|
| pos + 0x1
|
1
|
byte
|
country
|
countryNames[countryIdx]
|
| pos + 0x2 bits 4 to 15
|
2
|
partialushort
|
state
|
stateNames[stateIdx]
|
| pos + 0x4
|
2
|
ushort
|
city
|
cityNames[cityIdx]
|
| pos + 0x6
|
2
|
ushort
|
airport
|
airportNames[airportIdx]
|
| pos + 0x8
|
4
|
Icao
|
icao
|
|
| pos + 0x0c
|
4
|
uint
|
regionCode?
|
|
| pos + 0x10
|
2
|
ushort
|
qmidU
|
|
| pos + 0x12
|
2
|
ushort
|
qmidU
|
|
LandmarkLocation
| Offset
|
Byte length
|
Value type
|
Name
|
Notes
|
| 0x0
|
2
|
ushort
|
recType
|
(FSDataType) 0x00ea
|
| 0x2
|
4
|
uint
|
recSz
|
|
| 0x6
|
16
|
Guid
|
instanceId
|
|
| 0x16
|
4
|
LongitudeInt32
|
lon
|
|
| 0x11
|
4
|
LatitudeInt32
|
lat
|
|
| 0x1e
|
4
|
AltitudeInt32
|
alt
|
|
| 0x22
|
1
|
byte
|
nameLen
|
|
| 0x23
|
1
|
byte
|
typeLen
|
|
| 0x24
|
1
|
byte
|
ownerLen
|
|
| 0x26
|
nameLen
|
string
|
name
|
|
| 0x26 + nameLen
|
typeLen
|
string
|
type
|
|
| 0x26 + nameLen + typeLen
|
ownerLen
|
string
|
owner
|
|
Marker
Ndb
| Offset
|
Byte length
|
Value type
|
Name
|
Notes
|
| 0x0
|
2
|
ushort
|
recType
|
(FSDataType) 0x0017
|
| 0x2
|
4
|
uint
|
recSz
|
|
| 0x6
|
2
|
ushort
|
type
|
(NdbType)
|
| 0x8
|
4
|
FrequencyKHz
|
frequency
|
|
| 0xc
|
4
|
LongitudeInt32
|
lon
|
|
| 0x10
|
4
|
LatitudeInt32
|
lat
|
|
| 0x14
|
4
|
AltitudeInt32
|
alt
|
|
| 0x18
|
4
|
Distance
|
range
|
|
| 0x1c
|
4
|
float
|
magvar
|
|
| 0x20
|
4
|
Icao
|
ident
|
|
| 0x24 bits 0 to 10
|
4
|
Icao
|
region
|
|
| 0x24 bits 11 to 31
|
4
|
Icao
|
airportIdent
|
|
It has the following child records which appear immediately afterwards:
Route
| Offset
|
Byte length
|
Value type
|
Name
|
Notes
|
| 0x0
|
1
|
byte
|
routeType
|
(RouteType)
|
| 0x1
|
8
|
string
|
name
|
|
Then: next (offset 0x9) and previous (offset 0x15) route elements as Route.PreviousNext
Route.PreviousNext
| Offset
|
Byte length
|
Value type
|
Name
|
Notes
|
| 0x0 bits 0 to 2
|
4
|
partialuint
|
waypointType
|
(RouteWaypointType)
|
| 0x0 bits 5 to 31
|
4
|
Icao
|
waypointIdent
|
|
| 0x4 bits 0 to 10
|
4
|
Icao
|
waypointRegion
|
|
| 0x8
|
4
|
AltitudeFloat
|
altitudeMinimum
|
|
SceneryObject
| Offset
|
Byte length
|
Value type
|
Name
|
Notes
|
| 0x0
|
2
|
ushort
|
recType
|
(FSDataType) 0x0025
|
| 0x2
|
2
|
ushort
|
recSz
|
|
| 0x4
|
4
|
LongitudeInt32
|
lon
|
|
| 0x8
|
4
|
LatitudeInt32
|
lat
|
|
| 0xc
|
4
|
AltitudeInt32
|
alt
|
|
| 0x10 bit 0
|
1
|
bool
|
altitudeIsAgl
|
|
| 0x10 bit 1
|
1
|
bool
|
noAutogenSuppression
|
|
| 0x10 bit 2
|
1
|
bool
|
noCrash
|
|
| 0x10 bit 3
|
1
|
bool
|
noFog
|
|
| 0x10 bit 4
|
1
|
bool
|
noShadow
|
|
| 0x10 bit 5
|
1
|
bool
|
noZWrite
|
|
| 0x10 bit 6
|
1
|
bool
|
noZTest
|
|
| 0x10 bit 7
|
1
|
bool
|
hideOnTIN
|
|
| 0x12
|
2
|
short
|
pitch
|
Pitch calculation
|
| 0x14
|
2
|
short
|
bank
|
Bank calculation
|
| 0x16
|
2
|
short
|
heading
|
Heading calculation
|
| 0x18
|
2
|
ushort
|
imageComplexity
|
(Complexity)
|
| 0x1a
|
2
|
ushort
|
unknown
|
|
| 0x1c
|
16
|
Guid
|
instanceId
|
|
This record has multiple sub-types:
It has the following child records which appear immediately afterwards:
SceneryObject.LibraryObject
| Offset
|
Byte length
|
Value type
|
Name
|
Notes
|
| 0x2c
|
16
|
Guid
|
name
|
|
| 0x3c
|
4
|
float
|
scale
|
|
SceneryObject.Windsock
| Offset
|
Byte length
|
Value type
|
Name
|
Notes
|
| 0x2c
|
4
|
Distance
|
poleHeight
|
|
| 0x30
|
4
|
Distance
|
sockLength
|
|
| 0x34
|
4
|
Color
|
poleColor
|
|
| 0x38
|
4
|
Color
|
sockColor
|
|
| 0x3c bit 0
|
1
|
bool
|
lighted
|
|
| 0x3e
|
1
|
byte
|
containerTitleLen
|
|
| 0x3f
|
1
|
byte
|
containerPathLen
|
|
| 0x40
|
containerTitleLen
|
string
|
containerTitle
|
|
| 0x40 + containerTitleLen + 1
|
containerPathLen
|
string
|
containerPath
|
|
SceneryObject.WorldScript
| Offset
|
Byte length
|
Value type
|
Name
|
Notes
|
| 0x2c
|
2
|
ushort
|
objectFileLen
|
|
| 0x2e
|
objectFileLen
|
string
|
objectFile
|
|
SceneryObject.SimObject
| Offset
|
Byte length
|
Value type
|
Name
|
Notes
|
| 0x2c
|
4
|
float
|
scale
|
|
| 0x30
|
2
|
ushort
|
containerTitleLen
|
|
| 0x32
|
2
|
ushort
|
containerPathLen
|
|
| 0x34
|
containerTitleLen
|
string
|
containerTitle
|
|
| 0x34 + containerTitleLen + 1
|
containerPathLen
|
string
|
containerPath
|
|
SceneryObject.CarParking
| Offset
|
Byte length
|
Value type
|
Name
|
Notes
|
| 0x2c
|
2
|
ushort
|
vertexCt
|
|
Then: vertexCt x vertices:
| Offset
|
Byte length
|
Value type
|
Name
|
Notes
|
| pos
|
8
|
LatitudeDouble
|
lat
|
|
| pos + 0x8
|
8
|
LongitudeDouble
|
lon
|
|
SceneryObject.AttachedObject
| Offset
|
Byte length
|
Value type
|
Name
|
Notes
|
| 0x0
|
2
|
ushort
|
beginRecTypeRaw
|
|
| 0x2
|
2
|
ushort
|
beginRecSz
|
|
| 0x4
|
2
|
ushort
|
subType
|
|
| 0x6
|
2
|
ushort
|
subRecSz
|
|
| 0x8
|
2
|
ushort
|
attachpointNameOffset
|
|
| 0xa
|
2
|
ushort
|
pitch
|
Pitch calculation
|
| 0xc
|
2
|
ushort
|
bank
|
Bank calculation
|
| 0xe
|
2
|
ushort
|
heading
|
Heading calculation
|
| 0x10
|
4
|
float
|
biasX
|
|
| 0x14
|
4
|
float
|
biasY
|
|
| 0x18
|
4
|
float
|
biasZ
|
|
| 0x1c
|
16
|
Guid
|
instanceId
|
|
| 0x2c
|
2
|
ushort
|
probability
|
Ratio over 0x10000
|
| 0x2e
|
2
|
ushort
|
randomness
|
|
| pos + attachpointNameOffset
|
*** unknown ***
|
string
|
attachpointName
|
|
| pos + attachpointNameOffset + unknown
|
2
|
ushort
|
endRecTypeRaw
|
|
| pos + attachpointNameOffset + unknown + 0x2
|
2
|
ushort
|
endRecSz
|
|
It has the following child records which appear immediately afterwards:
SceneryObject.Beacon
| Offset
|
Byte length
|
Value type
|
Name
|
Notes
|
| 0x0
|
2
|
ushort
|
type
|
thisBeaconType.type
|
| 0x0
|
2
|
ushort
|
baseType
|
thisBeaconType.baseType
|
| 0x2
|
2
|
ushort
|
unknown
|
|
VorIls
| Offset
|
Byte length
|
Value type
|
Name
|
Notes
|
| 0x0
|
2
|
ushort
|
recType
|
(FSDataType) 0x13
|
| 0x2
|
4
|
uint
|
recSz
|
|
| 0x6
|
1
|
byte
|
vorType
|
(VorType)
|
| 0x8
|
4
|
LongitudeInt32
|
lon
|
|
| 0xc
|
4
|
LatitudeInt32
|
lat
|
|
| 0x10
|
4
|
AltitudeInt32
|
alt
|
|
| 0x14
|
4
|
FrequencyMHz
|
frequency
|
|
| 0x18
|
4
|
Distance
|
range
|
|
| 0x1c
|
4
|
float
|
magvar
|
|
| 0x20
|
4
|
Icao
|
ident
|
|
Then, if the type is ILS:
| Offset
|
Byte length
|
Value type
|
Name
|
Notes
|
| 0x7 bit 2
|
1
|
bool
|
backCourse
|
|
| 0x24 bits 11 to 31
|
4
|
Icao
|
airportIdent
|
|
It has the following child records which appear immediately afterwards:
Otherwise, if the type is VOR:
| Offset
|
Byte length
|
Value type
|
Name
|
Notes
|
| 0x6
|
1
|
byte
|
type
|
(VorType)
|
| 0x7 bit 0
|
1
|
boolFalse
|
dmeOnly
|
|
| 0x7 bit 4
|
1
|
bool
|
dme
|
|
| 0x7 bit 5
|
1
|
bool
|
nav
|
|
| 0x24 bits 0 to 10
|
4
|
Icao
|
region
|
|
It has the following child records which appear immediately afterwards:
Ils.Localizer
| Offset
|
Byte length
|
Value type
|
Name
|
Notes
|
| 0x6
|
1
|
byte
|
number
|
(RunwayNumber)
|
| 0x7
|
1
|
byte
|
designator
|
(Designator)
|
| 0x8
|
4
|
float
|
heading
|
|
| 0xc
|
4
|
float
|
width
|
|
VorIls.Dme
| Offset
|
Byte length
|
Value type
|
Name
|
Notes
|
| 0x2
|
4
|
uint
|
recSz
|
|
| 0x8
|
4
|
LongitudeInt32
|
lon
|
|
| 0xc
|
4
|
LatitudeInt32
|
lat
|
|
| 0x10
|
4
|
AltitudeInt32
|
alt
|
|
| 0x14
|
4
|
Distance
|
range
|
|
Ils.GlideSlope
| Offset
|
Byte length
|
Value type
|
Name
|
Notes
|
| 0x2
|
4
|
uint
|
recSz
|
|
| 0x8
|
4
|
LongitudeInt32
|
lon
|
|
| 0xc
|
4
|
LatitudeInt32
|
lat
|
|
| 0x10
|
4
|
AltitudeInt32
|
alt
|
|
| 0x14
|
4
|
Distance
|
range
|
|
| 0x18
|
4
|
float
|
pitch
|
|
Waypoint
| Offset
|
Byte length
|
Value type
|
Name
|
Notes
|
| 0x0
|
2
|
ushort
|
recType
|
(FSDataType) 0x22
|
| 0x2
|
4
|
uint
|
recSz
|
|
| 0x6
|
1
|
byte
|
waypointType
|
(WaypointType)
|
| 0x7
|
1
|
byte
|
routeCt
|
|
| 0x8
|
4
|
LongitudeInt32
|
lon
|
|
| 0xc
|
4
|
LatitudeInt32
|
lat
|
|
| 0x10
|
4
|
float
|
magvar
|
|
| 0x14
|
4
|
Icao
|
waypointIdent
|
|
| 0x18 bits 0 to 10
|
4
|
Icao
|
waypointRegion
|
|
| 0x18 bits 11 to 31
|
4
|
Icao
|
waypointAirport
|
|
Then: routeCt x Route
Enumerated Types
Naming convention:
- Names beginning with "FS" are enumerated types which are not defined within the bglcomp.xsd format.
- All other names correspond with bglcomp.xsd.
AltitudeDescriptor
| Name
|
Value
|
| EMPTY
|
0x0
|
| A
|
0x1
|
| +
|
0x2
|
| -
|
0x3
|
| B
|
0x4
|
| C
|
0x5
|
| G
|
0x6
|
| H
|
0x7
|
| I
|
0x8
|
| J
|
0x9
|
| V
|
0xa
|
AltitudeType
| Name
|
Value
|
| UNKNOWN
|
0x0
|
| MEAN_SEA_LEVEL
|
0x1
|
| ABOVE_GROUND_LEVEL
|
0x2
|
| UNLIMITED
|
0x3
|
ApproachLights
| Name
|
Value
|
| NONE
|
0x0
|
| ODALS
|
0x1
|
| MALSF
|
0x2
|
| MALSR
|
0x3
|
| SSALF
|
0x4
|
| SSALR
|
0x5
|
| ALSF1
|
0x6
|
| ALSF2
|
0x7
|
| RAIL
|
0x8
|
| CALVERT
|
0x9
|
| CALVERT2
|
0xa
|
| MALS
|
0xb
|
| SALS
|
0xc
|
| SALSF
|
0xd
|
| SSALS
|
0xe
|
ApproachType
| Name
|
Value
|
| UNKNOWN
|
0x0
|
| GPS
|
0x1
|
| VOR
|
0x2
|
| NDB
|
0x3
|
| ILS
|
0x4
|
| LOCALIZER
|
0x5
|
| SDF
|
0x6
|
| LDA
|
0x7
|
| VORDME
|
0x8
|
| NDBDME
|
0x9
|
| RNAV
|
0xA
|
| LOCALIZER_BACKCOURSE
|
0xB
|
ArcDirection
| Name
|
Value
|
| CLOCKWISE
|
0x1
|
| COUNTER_CLOCKWISE
|
0x2
|
BoundaryType
| Name
|
Value
|
| NONE
|
0x0
|
| CENTER
|
0x1
|
| CLASS_A
|
0x2
|
| CLASS_B
|
0x3
|
| CLASS_C
|
0x4
|
| CLASS_D
|
0x5
|
| CLASS_E
|
0x6
|
| CLASS_F
|
0x7
|
| CLASS_G
|
0x8
|
| TOWER
|
0x9
|
| CLEARANCE
|
0xa
|
| GROUND
|
0xb
|
| DEPARTURE
|
0xc
|
| APPROACH
|
0xd
|
| MOA
|
0xe
|
| RESTRICTED
|
0xf
|
| PROHIBITED
|
0x10
|
| WARNING
|
0x11
|
| ALERT
|
0x12
|
| DANGER
|
0x13
|
| NATIONAL_PARK
|
0x14
|
| MODEC
|
0x15
|
| RADAR
|
0x16
|
| TRAINING
|
0x17
|
Complexity
| Name
|
Value
|
| VERY_SPARSE
|
0x0
|
| SPARSE
|
0x1
|
| NORMAL
|
0x2
|
| DENSE
|
0x3
|
| VERY_DENSE
|
0x4
|
| EXTREMELY_DENSE
|
0x5
|
ComType
| Name
|
Value
|
| ATIS
|
0x0001
|
| MULTICOM
|
0x0002
|
| UNICOM
|
0x0003
|
| CTAF
|
0x0004
|
| GROUND
|
0x0005
|
| TOWER
|
0x0006
|
| CLEARANCE
|
0x0007
|
| APPROACH
|
0x0008
|
| DEPARTURE
|
0x0009
|
| CENTER
|
0x000A
|
| FSS
|
0x000B
|
| AWOS
|
0x000C
|
| ASOS
|
0x000D
|
| CLEARANCE_PRE_TAXI
|
0x000E
|
| REMOTE_CLEARANCE_DELIVERY
|
0x000F
|
Designator
| Name
|
Value
|
| NONE
|
0x00
|
| LEFT
|
0x01
|
| RIGHT
|
0x02
|
| CENTER
|
0x03
|
| WATER
|
0x04
|
| A
|
0x05
|
| B
|
0x06
|
End
| Name
|
Value
|
| PRIMARY
|
| SECONDARY
|
| BASE
|
| RECIP
|
FixType
| Name
|
Value
|
| UNKNOWN
|
0x0
|
| AIRPORT
|
0x1
|
| VOR
|
0x2
|
| NDB
|
0x3
|
| TERMINAL_NDB
|
0x4
|
| WAYPOINT
|
0x5
|
| TERMINAL_WAYPOINT
|
0x6
|
| LOCALIZER
|
0x8
|
| RUNWAY
|
0x9
|
FSAirportChildType
| Name
|
Value
|
| Null
|
0x0000
|
| Start
|
0x0011
|
| Com
|
0x0012
|
| Name
|
0x0019
|
| TaxiwayPoint
|
0x001a
|
| TaxiName
|
0x001d
|
| Waypoint
|
0x0022
|
| Approach
|
0x0024
|
| Helipad
|
0x0026
|
| ApronEdgeLights
|
0x0031
|
| DeleteAirport
|
0x0033
|
| BlastFence
|
0x0038
|
| BoundaryFence
|
0x0039
|
| Departure
|
0x0042
|
| Arrival
|
0x0048
|
| LightSupport
|
0x0057
|
| Tower
|
0x0066
|
| Runway
|
0x00ce
|
| PaintedLine
|
0x00cf
|
| Apron
|
0x00d3
|
| TaxiwayPath
|
0x00d4
|
| PaintedHatchedArea
|
0x00d8
|
| TaxiwaySign
|
0x00d9
|
| TaxiwayParkingMfgrName
|
0x00dd
|
| Jetway
|
0x00de
|
| TaxiwayParking
|
0x00e7
|
| ProjectedMesh
|
0x00e8
|
| GroundMergingTransfer
|
0x00e9
|
FSAttachedObjectType
| Name
|
Value
|
| Null
|
0x0
|
| Beacon
|
0x11
|
FSBoundaryChildType
| Name
|
Value
|
| Null
|
0x0000
|
| Com
|
0x0012
|
| Name
|
0x0019
|
| BoundaryDef
|
0x0021
|
FSBoundaryDefType
| Name
|
Value
|
| START
|
0x1
|
| LINE
|
0x2
|
| ORIGIN
|
0x3
|
| ARC_CW
|
0x4
|
| ARC_CCW
|
0x5
|
| CIRCLE
|
0x6
|
FSDataType
| Name
|
Value
|
| Undefined
|
0x00
|
| Airport
|
0x56
|
| GenericBuilding
|
0x0A
|
| LibraryObject
|
0x0B
|
| Windsock
|
0x0C
|
| Effect
|
0x0D
|
| TaxiwaySign
|
0x0E
|
| Trigger
|
0x10
|
| ExtrusionBridge
|
0x12
|
| VorIls
|
0x13
|
| WorldScript
|
0x15
|
| CarParking
|
0x16
|
| Ndb
|
0x17
|
| Marker
|
0x18
|
| SimObject
|
0x19
|
| Boundary
|
0x20
|
| Waypoint
|
0x22
|
| Geopol
|
0x23
|
| SceneryObject
|
0x25
|
| NameList
|
0x27
|
| VorIcaoIndex
|
0x28
|
| NdbIcaoIndex
|
0x29
|
| WaypointIcaoIndex
|
0x2a
|
| ModelData
|
0x2b
|
| AirportSummary
|
0x2c
|
| ExclusionRectangle
|
0x2e
|
| TimeZone
|
0x2f
|
| AirportSummary
|
0x32
|
| CVX
|
0x65
|
| DEM
|
0x67
|
| Landclass
|
0x68
|
| Waterclass
|
0x69
|
| Regions
|
0x6a
|
| Population
|
0x6c
|
| LCLookup
|
0x6f
|
| Seasons
|
0x78
|
| DeleteNavigation
|
0xDA
|
| DeleteAirportNavigation
|
0xDB
|
| LandmarkLocation
|
0xEA
|
FSProcedureChildType
| Name
|
Value
|
| Null
|
0x0000
|
| Transition
|
0x002c
|
| RunwayTransitions
|
0x0046
|
| EnrouteTransitions
|
0x0047
|
| EnrouteTransitions (new)
|
0x004a
|
| ApproachLegs
|
0x00e1
|
| MissedApproachLegs
|
0x00e2
|
| TransitionLegs
|
0x00e3
|
| RunwayTransitionLegs
|
0x00e4
|
| CommonRouteLegs
|
0x00e5
|
| EnrouteTransitionLegs
|
0x00e6
|
| CommonRouteLegs (new)
|
0x00f0
|
FSRunwayChildType
| Name
|
Value
|
| Null
|
0x0000
|
| OffsetThresholdPri
|
0x0005
|
| OffsetThresholdSec
|
0x0006
|
| BlastPadPri
|
0x0007
|
| BlastPadSec
|
0x0008
|
| VASIPriL
|
0x000b
|
| VASIPriR
|
0x000c
|
| VASISecL
|
0x000d
|
| VASISecR
|
0x000e
|
| RunwayDeformation
|
0x003e
|
| OverrunPri
|
0x0065
|
| OverrunSec
|
0x0066
|
| FacilityMaterial
|
0x00cb
|
| ApproachLightsPri
|
0x00df
|
| ApproachLightsSec
|
0x00e0
|
FSSceneryChildType
| Name
|
Value
|
| Null
|
0x0000
|
| GenericBuilding
|
0x000A
|
| LibraryObject
|
0x000B
|
| Effect
|
0x000D
|
| TaxiwaySign
|
0x000E
|
| Trigger
|
0x0010
|
| ExtrusionBridge
|
0x0012
|
| WorldScript
|
0x0015
|
| CarParking
|
0x0016
|
| Windsock
|
0x0018
|
| SimObject
|
0x0019
|
| AttachedObject
|
0x1002
|
FSSectType
| Name
|
Value
|
| Undefined
|
0x0
|
| Airport
|
0x3
|
| VorIls
|
0x13
|
| Ndb
|
0x17
|
| Marker
|
0x18
|
| Boundary
|
0x20
|
| Waypoint
|
0x22
|
| Geopol
|
0x23
|
| SceneryObject
|
0x25
|
| NameList
|
0x27
|
| VorIcaoIndex
|
0x28
|
| NdbIcaoIndex
|
0x29
|
| WaypointIcaoIndex
|
0x2a
|
| ModelData
|
0x2b
|
| AirportSummary
|
0x2c
|
| ExclusionRectangle
|
0x2e
|
| TimeZone
|
0x2f
|
| ModelIndex
|
0x30
|
| LandmarkLocation
|
0x31
|
| CVX
|
0x65
|
| DEM
|
0x67
|
| Landclass
|
0x68
|
| Waterclass
|
0x69
|
| Regions
|
0x6a
|
| Population
|
0x6c
|
| LCLookup
|
0x6f
|
| Seasons
|
0x78
|
FSTaxiwayPathMaterialType
| Name
|
Value
|
| Base Tiled
|
0x0000
|
| Border
|
0x0003
|
| Center
|
0x0004
|
FSVorIlsNdbChildType
| Name
|
Value
|
| Null
|
0x0
|
| Localizer
|
0x14
|
| GlideSlope
|
0x15
|
| DME
|
0x16
|
| Name
|
0x19
|
| SceneryObject
|
0x25
|
FuelAvail
| Name
|
Value
|
| NO
|
0x0
|
| UNKNOWN
|
0x1
|
| PRIOR_REQUEST
|
0x2
|
| YES
|
0x3
|
FuelType
| Name
|
Value
|
| 73
|
|
| 87
|
|
| 100
|
|
| 130
|
|
| 145
|
|
| MOGAS
|
|
| JET
|
|
| JETA
|
|
| JETA1
|
|
| JETAP
|
|
| JETB
|
|
| JET4
|
|
| JET5
|
|
| UNKNOWN
|
|
Helipad
| Name
|
Value
|
| NONE
|
0x0
|
| H
|
0x1
|
| SQUARE
|
0x2
|
| CIRCLE
|
0x3
|
| MEDICAL
|
0x4
|
LegType
| Name
|
Value
|
| AF
|
0x1
|
| CA
|
0x2
|
| CD
|
0x3
|
| CF
|
0x4
|
| CI
|
0x5
|
| CR
|
0x6
|
| DF
|
0x7
|
| FA
|
0x8
|
| FC
|
0x9
|
| FD
|
0xa
|
| FM
|
0xb
|
| HA
|
0xc
|
| HF
|
0xd
|
| HM
|
0xe
|
| IF
|
0xf
|
| PI
|
0x10
|
| RF
|
0x11
|
| TF
|
0x12
|
| VA
|
0x13
|
| VD
|
0x14
|
| VI
|
0x15
|
| VM
|
0x16
|
| VR
|
0x17
|
Lights
| Name
|
Value
|
| NONE
|
0x0
|
| LOW
|
0x1
|
| MEDIUM
|
0x2
|
| HIGH
|
0x3
|
MarkerType
| Name
|
Value
|
| INNER
|
0x0
|
| MIDDLE
|
0x1
|
| OUTER
|
0x2
|
| BACKCOURSE
|
0x3
|
NdbType
| Name
|
Value
|
| COMPASS_POINT
|
0x0
|
| MH
|
0x1
|
| H
|
0x2
|
| HH
|
0x3
|
OverrideTowerSize
| Name
|
Value
|
| NONE
|
0x0
|
| SMALL
|
0x1
|
| MEDIUM
|
0x2
|
| LARGE
|
0x3
|
PaintedLineTrueAngle
| Name
|
Value
|
| NONE
|
0x0
|
| BEGIN
|
0x1
|
| END
|
0x2
|
| BOTH_ENDS
|
0x3
|
| ALL_POINTS
|
0x4
|
PaintedLineType
| Name
|
Value
|
| DEFAULT
|
| HOLD_SHORT_FORWARD
|
| HOLD_SHORT_BACKWARD
|
| HOLD_SHORT_FORWARD_MARKED
|
| HOLD_SHORT_BACKWARD_MARKED
|
| ILS_HOLD_SHORT
|
| EDGE_LINE_SOLID
|
| EDGE_LINE_DASHED
|
| HOLD_SHORT_TAXIWAY
|
| SERVICE_DASHED
|
| EDGE_SERVICE_SOLID
|
| EDGE_SERVICE_DASHED
|
| WIDE_YELLOW
|
| WIDE_WHITE
|
| WIDE_RED
|
| SLIM_RED
|
| EDGE_SOLID_ORTHO
|
| EDGE_SOLID_ORTHO_BACK
|
| NON_MOVEMENT
|
| NON_MOVEMENT_BACK
|
| ENHANCED_CENTER
|
| DEFAULT_LIGHTED
|
| HOLD_SHORT_FORWARD_MARKED_L
|
| HOLD_SHORT_BACKWARD_MARKED_L
|
| HOLD_SHORT_FORWARD_LIGHTED
|
| HOLD_SHORT_BACKWARD_LIGHTED
|
| ILS_HOLD_SHORT_LIGHTED
|
| EDGE_LINE_SOLID_LIGHTED
|
| EDGE_LINE_DASHED_LIGHTED
|
| HOLD_SHORT_TAXIWAY_LIGHTED
|
| SERVICE_DASHED_LIGHTED
|
| EDGE_SERVICE_SOLID_LIGHTED
|
| EDGE_SERVICE_DASHED_LIGHTED
|
| WIDE_YELLOW_LIGHTED
|
| WIDE_WHITE_LIGHTED
|
| WIDE_RED_LIGHTED
|
| SLIM_RED_LIGHTED
|
| EDGE_SOLID_ORTHO_LIGHTED
|
| EDGE_SOLID_ORTHO_BACK_LIGHT
|
| NON_MOVEMENT_LIGHTED
|
| NON_MOVEMENT_BACK_LIGHTED
|
| ENHANCED_CENTER_LIGHTED
|
ParkingName
| Name
|
Value
|
| NONE
|
0x00
|
| PARKING
|
0x01
|
| N_PARKING
|
0x02
|
| NE_PARKING
|
0x03
|
| E_PARKING
|
0x04
|
| SE_PARKING
|
0x05
|
| S_PARKING
|
0x06
|
| SW_PARKING
|
0x07
|
| W_PARKING
|
0x08
|
| NW_PARKING
|
0x09
|
| GATE
|
0x0a
|
| DOCK
|
0x0b
|
| GATE_A
|
0x0c
|
| GATE_B
|
0x0d
|
| GATE_C
|
0x0e
|
| GATE_D
|
0x0f
|
| GATE_E
|
0x10
|
| GATE_F
|
0x11
|
| GATE_G
|
0x12
|
| GATE_H
|
0x13
|
| GATE_I
|
0x14
|
| GATE_J
|
0x15
|
| GATE_K
|
0x16
|
| GATE_L
|
0x17
|
| GATE_M
|
0x18
|
| GATE_N
|
0x19
|
| GATE_O
|
0x1a
|
| GATE_P
|
0x1b
|
| GATE_Q
|
0x1c
|
| GATE_R
|
0x1d
|
| GATE_S
|
0x1e
|
| GATE_T
|
0x1f
|
| GATE_U
|
0x20
|
| GATE_V
|
0x21
|
| GATE_W
|
0x22
|
| GATE_X
|
0x23
|
| GATE_Y
|
0x24
|
| GATE_Z
|
0x25
|
ParkingPushback
| Name
|
Value
|
| NONE
|
0x00
|
| LEFT
|
0x01
|
| RIGHT
|
0x02
|
| BOTH
|
0x03
|
ParkingSuffix
| Name
|
Value
|
| NONE
|
0x00
|
| GATE_A
|
0x01
|
| GATE_B
|
0x02
|
| GATE_C
|
0x03
|
| GATE_D
|
0x04
|
| GATE_E
|
0x05
|
| GATE_F
|
0x06
|
| GATE_G
|
0x07
|
| GATE_H
|
0x08
|
| GATE_I
|
0x09
|
| GATE_J
|
0x0a
|
| GATE_K
|
0x0b
|
| GATE_L
|
0x0c
|
| GATE_M
|
0x0d
|
| GATE_N
|
0x0e
|
| GATE_O
|
0x0f
|
| GATE_P
|
0x10
|
| GATE_Q
|
0x11
|
| GATE_R
|
0x12
|
| GATE_S
|
0x13
|
| GATE_T
|
0x14
|
| GATE_U
|
0x15
|
| GATE_V
|
0x16
|
| GATE_W
|
0x17
|
| GATE_X
|
0x18
|
| GATE_Y
|
0x19
|
| GATE_Z
|
0x1a
|
ParkingType
| Name
|
Value
|
| NONE
|
0x00
|
| RAMP_GA
|
0x01
|
| RAMP_GA_SMALL
|
0x02
|
| RAMP_GA_MEDIUM
|
0x03
|
| RAMP_GA_LARGE
|
0x04
|
| RAMP_CARGO
|
0x05
|
| RAMP_MIL_CARGO
|
0x06
|
| RAMP_MIL_COMBAT
|
0x07
|
| GATE_SMALL
|
0x08
|
| GATE_MEDIUM
|
0x09
|
| GATE_HEAVY
|
0x0a
|
| DOCK_GA
|
0x0b
|
| FUEL
|
0x0c
|
| VEHICLE
|
0x0d
|
| RAMP_GA_EXTRA
|
0x0e
|
| GATE_EXTRA
|
0x0f
|
Randomness
| Name
|
Value
|
| ALWAYS_DISPLAY
|
0x0
|
| LOCATION_RANDOM
|
0x1
|
| PURE_RANDOM
|
0x2
|
RouteType
| Name
|
Value
|
| VICTOR
|
0x1
|
| JET
|
0x2
|
| BOTH
|
0x3
|
RouteWaypointType
| Name
|
Value
|
| VOR
|
0x2
|
| NDB
|
0x3
|
| NAMED
|
0x5
|
RunwayNumber
| Name
|
Value
|
| 00
|
0x00
|
| 01
|
0x01
|
| 02
|
0x02
|
| 03
|
0x03
|
| 04
|
0x04
|
| 05
|
0x05
|
| 06
|
0x06
|
| 07
|
0x07
|
| 08
|
0x08
|
| 09
|
0x09
|
| 10
|
0x0a
|
| 11
|
0x0b
|
| 12
|
0x0c
|
| 13
|
0x0d
|
| 14
|
0x0e
|
| 15
|
0x0f
|
| 16
|
0x10
|
| 17
|
0x11
|
| 18
|
0x12
|
| 19
|
0x13
|
| 20
|
0x14
|
| 21
|
0x15
|
| 22
|
0x16
|
| 23
|
0x17
|
| 24
|
0x18
|
| 25
|
0x19
|
| 26
|
0x1a
|
| 27
|
0x1b
|
| 28
|
0x1c
|
| 29
|
0x1d
|
| 30
|
0x1e
|
| 31
|
0x1f
|
| 32
|
0x20
|
| 33
|
0x21
|
| 34
|
0x22
|
| 35
|
0x23
|
| 36
|
0x24
|
| NORTH
|
0x25
|
| NORTHEAST
|
0x26
|
| EAST
|
0x27
|
| SOUTHEAST
|
0x28
|
| SOUTH
|
0x29
|
| SOUTHWEST
|
0x2a
|
| WEST
|
0x2b
|
| NORTHWEST
|
0x2c
|
Side
| Name
|
Value
|
| LEFT
|
0x0
|
| RIGHT
|
0x1
|
SignSize
| Name
|
Value
|
| SIZE1
|
0x0
|
| SIZE2
|
0x1
|
| SIZE3
|
0x2
|
| SIZE4
|
0x3
|
| SIZE5
|
0x4
|
Start
| Name
|
Value
|
| UNKNOWN
|
0x00
|
| RUNWAY
|
0x01
|
| WATER
|
0x02
|
| HELIPAD
|
0x03
|
| TRACK
|
0x04
|
Surface
| Name
|
Value
|
| CONCRETE
|
0x0000
|
| GRASS
|
0x0001
|
| WATER
|
0x0002
|
| CEMENT
|
0x0003
|
| ASPHALT
|
0x0004
|
| CLAY
|
0x0007
|
| SNOW
|
0x0008
|
| ICE
|
0x0009
|
| DIRT
|
0x000c
|
| CORAL
|
0x000d
|
| GRAVEL
|
0x000e
|
| OIL_TREATED
|
0x000f
|
| STEEL_MATS
|
0x0010
|
| BITUMINOUS
|
0x0011
|
| BRICK
|
0x0012
|
| MACADAM
|
0x0013
|
| PLANKS
|
0x0014
|
| SAND
|
0x0015
|
| SHALE
|
0x0016
|
| TARMAC
|
0x0017
|
| UNKNOWN
|
0x00fe
|
| USE_FS20_MATERIAL
|
0x0200
|
| USE_FS20_APRON_MATERIAL
|
0xff03
|
TaxiPointOrientation
| Name
|
Value
|
| FORWARD
|
0x00
|
| REVERSE
|
0x01
|
TaxiPointType
| Name
|
Value
|
| UNKNOWN
|
0x00
|
| NORMAL
|
0x01
|
| HOLD_SHORT
|
0x02
|
| ILS_HOLD_SHORT
|
0x04
|
| HOLD_SHORT_NO_DRAW
|
0x05
|
| ILS_HOLD_SHORT_NO_DRAW
|
0x06
|
TaxiwayEdgeType
| Name
|
Value
|
| NONE
|
0x0
|
| SOLID
|
0x1
|
| DASHED
|
0x2
|
| SOLID_DASHED
|
0x3
|
TaxiwayPathType
| Name
|
Value
|
| UNKNOWN
|
0x0
|
| TAXI
|
0x1
|
| RUNWAY
|
0x2
|
| PARKING
|
0x3
|
| PATH
|
0x4
|
| CLOSED
|
0x5
|
| VEHICLE
|
0x6
|
| ROAD
|
0x7
|
TransitionType
| Name
|
Value
|
| FULL
|
0x1
|
| DME
|
0x2
|
| NDB
|
0x3
|
| VOR
|
0x4
|
| GPS
|
0x5
|
| AIRWAY
|
0x6
|
| ILS
|
0x7
|
TurnDirection
| Name
|
Value
|
| NULL
|
0x0
|
| L
|
0x1
|
| R
|
0x2
|
| E
|
0x3
|
Vasi
| Name
|
Value
|
| VASI21
|
0x01
|
| VASI31
|
0x02
|
| VASI22
|
0x03
|
| VASI32
|
0x04
|
| VASI23
|
0x05
|
| VASI33
|
0x06
|
| PAPI2
|
0x07
|
| PAPI4
|
0x08
|
| TRICOLOR
|
0x09
|
| PVASI
|
0x0a
|
| TVASI
|
0x0b
|
| BALL
|
0x0c
|
| APAP
|
0x0d
|
| PANELS
|
0x0e
|
VorType
| Name
|
Value
|
| TERMINAL
|
0x1
|
| LOW
|
0x2
|
| HIGH
|
0x3
|
| ILS
|
0x4
|
| VOT
|
0x5
|
WaypointType
| Name
|
Value
|
| NAMED
|
0x1
|
| UNNAMED
|
0x2
|
| VOR
|
0x3
|
| NDB
|
0x4
|
| OFF_ROUTE
|
0x5
|
| IAF
|
0x6
|
| FAF
|
0x7
|
| RNAV
|
0x8
|
| VFR
|
0x9
|