SCASM 2.88 |
section 16 (11, 13) commands |
BGL section 16 collects various data structures. This document also contains some instructions from other BGL sections.
FS5 - FS2002 |
IM( Lat Long Elev [o] )
MM( Lat Long Elev [o] )
OM( Lat Long Elev [o] ) |
|
Marker beacons:
IM |
inner marker |
MM |
middle marker |
OM |
outer marker |
Lat |
Latitude |
Lon |
Longitude |
Elev |
elevation in meters (MSL, integer) |
o |
SCASM 2.41 and later orientation (heading to the runway) in
degrees. Precision abt. 1.4 degrees.
This value is used because the radiation diagram of a marker beacon is a flat ellipse
oriented across approach course. |
|
FS5 - FS2002 |
TimeZone( TopLat BottomLat RightLon LeftLon minutes pri dst ) |
|
Defines a rectangular time zone. Make sure the date line (180th meridian) is not
crossed by the defined area.
minutes |
time difference in minutes to UTC (GMT/zulu time) |
pri |
priority of this record (higer number is higher priority) |
dst |
daylight saving time flag |
|
FS5 - ? |
GenExcl( |
name.BGL mask
TopLat1 BottomLat1 RightLon1 LeftLon1
TopLat2 BottomLat2 RightLon2 LeftLon2
) |
|
|
Generates a small BGL file for suppressing specified scenery areas. Exclude files have
only effects to other scenery files which are located in FS scenery folders of lower
scenery levels.
You can define more than one exclude file for the same scenerie but be very carefull when
defining the boundaries. Move these file(s) to the same subdirectory as your other BGL
files.
Note 1: you cannot disable any synthetic scenery tiles (including mountains) with these
file(s). Note 2: The original version of FS6/FS95 has some problems with these files
(The ABOUT MENU for this version shows Version 6.00 Build 117). Microsoft ™
released a patch to solve this problem. The file name is FEPATCH.EXE.
Note3: Exclude files do not work in FS2K without the first patch.
name |
name of the generated *.BGL file (ie. MY_INCL.BGL) |
LL1 |
Lat/Lon boundaries for the BGL file header of the exclude file.
same as -> Header() |
LL2 |
Lat/Lon boundaries for the scenery area to be excluded.
(usually equal or larger to LL1) |
mask |
16 bit hex value to indicate the scenery data to be suppressed. Any
combination of the below bits allowed.
01 |
no visual scenery, runways |
02 |
no VOR, ILS |
04 |
no NDB |
08 |
no ATIS (COM), not supported in FS2K and later. |
to exclude all foreign scenery simply enter
F for the mask. |
|
|
Older FS versions only can handle one exclude data record per BGL file. If your scenery needs many exclude areas, this results in a large number of small files. Since FS2K can handle more exclude records per file I implemented new commands to generate exclude and exception data. It is not recommendet to mix these data with other sections. So your source file should only contain Header(), Exclude() and Exception() commands.
2.52 / FS5 - ? |
Exclude( msk TopLat BottomLat RightLon LeftLon ) |
|
same as GenExcl() but in the current BGL file.
|
FS2000 |
Exception( Lat Lon type sn sf snf ) |
|
This instruction is used to exclude a single object in lower scenery levels from being
displayed. Please see the MS FS2K scenery SDK for more information about this command.
In the moment is is not known if more than one object can be knocked out with one
command or if only one of the sn/sf/snf filds can be used in one command. The example in
the SDK uses only one type and sets the not corresponding size fields to 0.
Unfortunately there is no tool available to tell the user the exact position and size data
for the unwanted object. This is the reason why this command currently has not been
tested.
Lat/Lon |
Position of the object |
type |
Type of the object 1 near 2 far 4 near-far
From the SDK it is not clear what this means. Maybe these types correspond to
the Area types (5 B 8) of the object(s). |
sn |
near size (hex) |
sf |
far size (hex) |
snf |
near-far size (hex)
The obove 3 fields are the last significant byte of the specified object.
This byte is only used to ensure the right object is suppressed.
Set the unused fields to 0. |
|
FS5 - FS98 |
Area16( TopLat BottomLat RightLong LeftLong )
Area16( a Lat Lon ns-dist ew-dist )
Area16( g ns-dist ew-dist ) |
|
Defines an rectangular area around your elevated surface. Make sure that all used points
are within this rectangular area.
Attention: Due to the binary format of this command the total length of one Area16()...End16 is limited to 255 Bytes. Also the precision is limited, so it
does not make much sense to enter seconds in the Lat/Long format.
In SCASM 2.07 2 aditional formats for more flexible macro processing are added.
a |
automatic, the bounadaries are calculated by using the given Lat/Lon
values and adding the ns/ew distances to this point.
example for a macro:
Area16( a %1 %2 5.5 5.5 )
If %1 and %2 are the Lat/Lon parameters in this macro this defines an rectangle area of
totally 11 * 11 kilometers around this location. |
g |
the same automatic as above, but no Lat/Lon values are expected. These
are taken from the stored "general" reference point ( GRP() ).
Area16( g 5.5 5.5 ) |
ns-dist |
distance in kilometers. The north and south boundaries are calculated
by adding this distance to both directions of the reference point. |
ew-dist |
distance in kilometers. The east and west boundaries are calculated
by adding this distance to both directions of the reference point. |
The following instructions can be used in an Area16():
SetElevation( elev )
SenseBorder( :Label ptx0 pty0 ... ptxn ptyn )
RefPoint( abs ... E= 0 )
RotatedCall( ... )
Return
Jump( :Label )
IfVarRange[n]( :Label var minval maxval )
IfVarAnd( :Label Var Mask )
dbx, dwx, dlx, dbd, dwd, dld
|
|
marks the end of this area16 instruction block.
|
Example for an elevated surface:
|
Area16( 54:43 54:41:30 7:12 7:07 )
Refpoint( abs : 1 54:42:06 07:10:00 )
SenseBorder( :
-40 40 ; top left
40 40 ; top right
40 -40 ; bottom right
-40 -40 ; bottom left
)
; remember to enter the points in clockwise order
;
SetElevation( 30 )
End16 |
With FS2000 there came a complete new set of section 16 commands for manipulating the ground elevation. Until now I have not much information about them.
Most names of these commands do not have a meaningfull name. They will be renamed later.
When this happens you will be able to use both the old and new names but the old names will then be dropped from the documents.
All commands flatten the area to the altitude value(s) in it and overwrite the default
altitude level. The altitude values are in floating point format and its unit is in meters. Texture codes are decimal integer numbers. A texture code table is not available at this moment. Often found texture codes are 100, 123, 256 (always water). The texture codes from 123 and above seem to be contained in the texture names in the ...scenedb\world\texture folder.
See also the file "a16n_cod.txt"
In the FS2K scenery SDK it is anounced that most of these new commands are not supported in future FS versions. Therefore you should only use the Flatten() command for new sceneries.
|
New type of Area16 command This one has no parameters and should only contain one BGL
instruction. The end is marked with the already known End16 command.
|
FS2000 |
E61( tex alt Lat Lon ... Lat Lon ) |
|
Used for the water side of coast lines Executed if [MiscData]/UsePolyCoastData=1 in FS2000.CFG
tex |
texture code (decimal) typical values:
100(water,dark blue), 123, 124(water, light blue) |
alt |
mostly found 0.0 |
|
FS2000 |
E62( tex alt Lat Lon ... Lat Lon ) |
|
Typical amount of Lat/Lon combinations are 3 to 5. Mostly used for lakes.
tex |
texture code (decimal) Typical values: 123 (water, light blue),
125 (water/dirt - summer/winter) |
|
FS2000 |
E63( tex alt1 alt2 width Lat Lon ... Lat Lon ) |
|
It seems that this instruction is used to cut an river valey into terrain.
Do not use sharp bents within one sequence since this can cause texture distortion.
tex |
texture code (decimal) Typical value: 123(water, light blue) |
alt1 |
altitude of first point |
alt2 |
altitude of last point |
width |
mostly 25.0 |
|
FS2000 |
E65( alt Lat Lon ... Lat Lon ) |
|
same as Elevation() or Flatten()
|
FS2000 - FS2002 |
Flatten ( elevation <list of LAT/LON values> )
Elevation ( elevation <list of LAT/LON values> ) |
|
This command defines an elevated surface. It seems that FS2K uses at least one
Area16N - Elevation - End16 sequence for every airport. In adition to this the
SurfaceType() command is used in section 9 to make the surface smooth. The elevation is
wanted in meters. In FS2000 I often found 3 to 9 Lat/Lon values, mostly in anti clockwise
order and often even for concave areas.
Example:
Area16N
Elevation ( 488.29 ; elevation in meters
33:22 -118:28
33:22 -118:22
33:27 -118:22
33:27 -118:28
)
End16 |
|
FS2000 |
E67( tex Lat Lon alt ... Lat Lon alt ) |
|
Typical amount of Lat/Lon/Alt combinations is 3 to 5. The values seem to be in
clockwise order. Mostly used for big swamp areas from rivers.
tex |
texture code (decimal) Typical value: 256 (water) |
|
FS5 - FS98 |
ATIS( Rng Lat Lon Frq RW1 RW2 RW3 RW4 Text ) |
|
Defines an Automatic Terminal Information System. Do not use this command
for FS2000 and later!
Rng |
range in km (int) |
LAT/Lon |
ATIS position |
Frq |
frequency in mc like 123.45 freq. range COM 118.0 ... 137.0 mc |
RW1 |
runway to use for wind directions 0...89deg |
RW2 |
runway to use for wind directions 90...179deg |
RW3 |
runway to use for wind directions 180...269deg |
RW4 |
runway to use for wind directions 270...359deg |
Text |
Any ATIS text you want. The following special text characters triggers
FS5 to send the following strings:
%A |
" weather -", |
%B |
" observation ", |
%C |
" ##:## zulu ", |
%D |
--- |
%E |
" Temperature ## F -", |
%F |
" Information ", |
%G |
" Landing and departing runway # -", |
%H |
" Advise controler ", |
%I |
" Altimeter ##.## -", |
%J |
" Visibility ## -", |
%K |
" winds $$$$ -", |
%L |
" Measured ceiling ##### $$$$,", |
%M |
" on initial contact ", |
Note: If you have very long messages you can split them up into several lines. SCASM
converts all <CR/LF> sequences within the opening and closing brackets of this
instruction into a single space character. The input line buffer size is
about 4000 characters but it seems the current version of FS5.0 can only handle 255
characters. If you need the
'(' & ')' replace them by '{' & '}'. Also the underscores '_' and the NewLine
charactersare converted to spaces.
|
|
FS5 - FS98 |
LandMe( |
Lat1 Long1 Elev1 ID1 Lat2 Long2 Elev2 ID2
Airport name Rwy ) |
|
|
Do not use this command for FS2000 and later!
This is the data record needed for the 'Land Me' option in FS5. This option is only available with the default Cessna.
Lat#/Lon# |
Defines the positions of the touchdown points for each end of
a runway. |
Elev |
elevation of the touchdown points in meters (MSL). |
ID# |
runway ID of this touchdown point |
|
Instructions for building the "Goto Airport Menu" in FS versions 5.0 to FS95. FS98 and FS2K do not fully support these instructions. For FS2000 menus see
sca_afd.htm.
FS5 - FS95 |
Menu( Scenery Title String ) |
|
Do not use this command for FS98 and later! If you want to define some
start positions which can be chosen from the Airport menu use this command. Length is
limited to 20 characters now. Use the '{' brackets instead of '(' if part of Title
String. Only one Menue() command allowed in this version.
To see this 'old fashioned' menus click the FS6 and before button in
the FS setup. Also FS98 does not set the navaid frequencies.
|
FS5 - FS95 |
MenuEntry( | Lat | Lon | alt | hdg | COMfrq |
| NAV1frq | OBI1 | NAV2frq | OBI2 |
|
| Text Info String, max 40 characters | ) |
|
|
Do not use this command for FS98 and later!
Data for a startsituation. There MUST be a Menu(...) command in the file BEFORE you enter a
MenuEntry(...) command, otherwise you got an sequence error from SCASM. The info string is
limited to 40 characters.
Note: Unlike previous versions FS98/CFS do not support the settings of the radios from
this menu.
Lat |
Latitude |
Lon |
Longitude |
alt |
Altitude in meter. If set to 0 FS5 will automatically adjust to ground
level. Floating point numbers accepted. |
hdg |
Heading (magnetic) in degrees |
COMfrq |
Frequecny of the COM radio -> 123.40 |
NAV#frq |
Frequency of the NAV# radio. -> 116.30 |
OBI# |
OBI# settings in degrees (integer) |
|
TOP |
© Manfred Moldenhauer |
|