I received many e-mails from SCASM users having problems with some sceneries.
Now I will start to collect some types of problems and show a way how they
can be solved.


How to install the generated scenery
==============================================================================
FS5.0(a) (all versions)
-----------------------
In FS5.0 you have only to deal with 2 subdirectories of your FS5 main
directory. Asuming you have installed FS5 on drive C: with the default name
you have the following directory structure:

	C:\FLTSIM5\SCENERY	all *.BGL files (there is a maximum of 128 !)
	          |
	          \TEXTURE	all texture files, ie. *.R8, *.CAR, *.EU1

FS5.1
-----
In FS5.1 the structure is more complicated. All aditional comercial sceneries
are installed in their own subdirectories. This lets you enable or disable the
sceneries by using the FS5.1 scenery manager menu. Of course you still can
copy your scenery files to the \FLTSIM5\SCENERY directory as long as you do
not exceed the 128 file limit. All bigger sceneries should be installed in its
own subdirectory.

	C:\FLTSIM5\SCENERY	main BGL's
	          |
	          \TEXTURE	main (global) texture files
	          |
	          |
	          \HAWAII\SCENERY	all *.bgl for Hawaii scenery
	          |      \TEXTURE	all textures for Hawaii
	          |
	          |
	          \MY_SCEN\SCENERY	all BGL's for your scenery
	                  |
	                  \TEXTURE	All texture files for your scenery
	                                If you use your own color palette the
	                                palette (*.PAL) and haze file (*.HAZ)
	                                must also copied into this directory.

To use the scenery you have to do a scenery search in you scenery manager
menu. After the manager has found your directory make the scenery ACTIVE and
LOCAL. In FS5.1 you can also create sceneriy subdirectory on other drives.

WARNING! Sometimes it happens that the scenery manager produces an corrupted
WORLD.VIS file in your C:\FSTSIM5 directory. The result of this bug is an
empty World-Airports menu. It is asumed this bug is related to the length of
the MenuEntry info string. So you should make a backup of WORLD.VIS file
before installing any 3rd party scenery.

------------------------------------------------------------------------------

Problem: I cannot add polygons to BAO/EUROPE1 scenery
==============================================================================
In the EUROPE1 scenery the instruction RunwayCall() is used to draw ground
polygons and ground bitmaps. I'm asuming the 2nd parameter of this instruction
is a priority or a layer number (1 below, 64 on top). It seems surfaces drawn
with this instruction are sorted according this numbers and that ones with the
highest numbers are drawn last. You should use RunwayCall only for flat (2D)
objects and NOT for 3D objects. (for 3D objects always use PerspectiveCall)

In EUROPE1 the following numbers are used: (source:Hermann Lange)
	 4	lowest ground textures, covering the synth blocks
	 8	ground textures overlays, villages
	12	RoadLine2, rivers
	16	RoadLine, TaxiLine
	20	?
	24	runways (in all sceneries)
	60	shadows (->ShadowCall() )

To make your scenery visible you need a number at least 1 higher than the
object which covers your object.

If your flat polygons routine looks like this:
	Area( 5 ... )
	    RefPoint( 7 :end ... )
	    Points( ... )
	    SurfaceColor( . )
	    Poly()
	    ...

	:end
	EndA

you should change it to:
	Area( 5 ... )
	    RunwayCall( :polygons layer# )
	    Jump( :end )

	:polygons
	    ; polygon drawing is now done in a subroutine
	    RefPoint( 7 :end_poly ... )	; please note this label !
	    Points( ... )
	    SurfaceColor( . )
	    Poly()
	    ...

	:end_poly
	    Return	; do not forget !

	:end
	EndA

If there is only the lowest ground texture you can use layer# = 5 for your
polygons.

------------------------------------------------------------------------------

DATABASE ERRORS
==============================================================================
Database errors are caused by several facts. One of them are duplicated navaid
frequencies. But unfortunately some people do not accept the fact that these
errors can also be caused by misplaced jump targets. These form of errors will
mostly occure with RefPoint() instructions. Unfortunately these errors are
sometimes disappearing when changing the position (in the BGL file) of the
area or when changing the scale factor. This form of database error always
occures when you are entering or leaving the range of visibility of this
object. Since the scaling factor has some effect on the range parameter in the
Area() instruction you are actually moving the 'crash distance'. Please keep
in mind that all instructions accessed via an instruction with a __CALL__ in
its name are subroutines. Subroutines MUST always be closed with a RETURN. As
a result all jump labels from RefPoints() in a subroutine must be directed to
a RETURN, but this is only true for RefPoint()s in subroutines !
Examples:

	; this is ok
	Area( 5 54:55:25  8:20:19  10 )
	    RefPoint( 7 :end  1  54:55:25  8:20:19 )
	    Points( 0	-10 0 10   10 0 10   10 0 -10   -10 0 -10 )
	    SurfaceColor( 5 F0 )
	    Poly( z  0 1 2 3 )
	:end
	EndA


	; this is not ok because of the missing Return !
	Area( 5 54:55:25  8:20:19  10 )
	    RefPoint( 7 :end  1  54:55:25  8:20:19 )
	    RotatedCall( :subroutine  0  0  45 )
	    Jump( :end )
	    ;
	:subroutine
	    Points( 0	-10 0 10   10 0 10   10 0 -10   -10 0 -10 )
	    SurfaceColor( 5 F0 )
	    Poly( z  0 1 2 3 )
	:end
	EndA


	; this is ok !
	Area( 5 54:55:25  8:20:19  10 )
	    RefPoint( 7 :end  1  54:55:25  8:20:19 )
	    RotatedCall( :subroutine  0  0  45 )
	    Jump( :end )
	    ;
	:subroutine
	    Points( 0	-10 0 10   10 0 10   10 0 -10   -10 0 -10 )
	    SurfaceColor( 5 F0 )
	    Poly( z  0 1 2 3 )
	    Return		; DO NOT FORGET THIS RETURN
	:end
	EndA


	; this is not ok because of the wrong directed refpoint label !
	Area( 5 54:55:25  8:20:19  10 )
	    PerspectiveCall( :subroutine )
	    Jump( :end )
	    ;
	:subroutine
	    Perspective
	    RefPoint( 7 :end  1  54:55:25  8:20:19 )	; <<- ERROR
	    Building( 0 0 0  4  20 20  0  1F )
	    Return
	    ;
	:end
	EndA


	; this is ok
	Area( 5 54:55:25  8:20:19  10 )
	    PerspectiveCall( :subroutine )
	    Jump( :end )
	    ;
	:subroutine
	    Perspective
	    RefPoint( 7 :end_of_sub  1  54:55:25  8:20:19 )
	    Building( 0 0 0  4  20 20  0  1F )
	:end_of_sub
	    Return    ; this instruction is the only exit from the subroutine!
	    ;
	:end
	EndA


------------------------------------------------------------------------------

Problem: When using FS5 internal buildings and when I am far away of them I
can only see them as poles.
==============================================================================
You cannot increase the screen visibility range of buildings drawn with the
Building() command. The only thing you can do is to try to suppress these
poles. To do this you have to experiment with the V1= parameter in
the RefPoint() command. Assuming the reference point scaling factor is one
then V1= 1300 means that the following objects are only drawn if you are
within these 1300 meter range. I did not found out how to calculate this
distance but as a rule of thumb you can start your experiment with a value
of 20 times the buildings x- or y- dimensions (take the larger one).

------------------------------------------------------------------------------

Large Areas
==============================================================================
If your scenery covers a large area I think it is a good idea to split it up
into several overlapping latitude stripes (one stripe per file). You can link
these files together with SCLINK, the scenery linker. -> SCLINK.TXT
In many original BGL-files I found latitude ranges of about
2 degrees. Be carefull when selecting these ranges. You should avoid putting
large range visible objects at that border because FS5 will show this object
only if the border is crossed.

------------------------------------------------------------------------------

Correct altitude
==============================================================================
Your homebrewed scenery has to fit into the default scenery. In particular
your runway altitude must be the same as defined in the default scenery. In
some cases it is possible to define an own Synth 6 tile with the correct
altitude but sometimes this is not possible. If so you have to put your
runway on the default ground altitude regardles what airport diagramms says.
The easiest way to get the altitude is to chose the Cessna and position it
where you want to put the runway. Go into the positioning menu again and read
the shown altitude. Now you have to subtract 3ft (the height of the altimeter)
and convert the result to meters. This methode is accurat enough in most
cases.
But there is another problem. For some geographic areas there might be an
altitude difference between the FS5.1-disk and the FS5.1-CD version. You can
test this by disableling the CD-default area in the FS5 scenery manager (FS5.1).
If there is an altitude difference you should support the user with an
aditional BGL file containing the "missing" synth tiles for the disk version.

------------------------------------------------------------------------------

How to make objects which are shown only if high scenery complexity is enabled
==============================================================================
This is very easy. You only have to insert an 'IfVarRange' instruction and the
following commands are only executed if the scenery complexity is within the
limits you want.
	Area( 5 ... )
	    ;
	    IfVarRange( :low_comp 346  2 4 )
	    ;
	    ; place your 'high complexity' object here
	    ; shown if conplexity is 2, 3, or 4 (very high).
	    ...
	    ;
	:low_comp
	EndA

------------------------------------------------------------------------------

How to make textured objects
==============================================================================
I will include an article about this topic in the next version. In the moment
I can only recommend the study of the "house03.scm" macro file in my
SCXMPL.ZIP example collection.

------------------------------------------------------------------------------

I will try to expand these list. Please let me know if you have an other
problem (and the solution?) which you want to be added to this list.

