                            
                                BGLVIEWER
                               version 4.0
                               February 1995                           
          
                           (c) Sascha W. Felix
                                Ahornweg 16
                           94121 Salzweg/Germany
                         felix@phil.uni-passau.de

BGLVIEWER is a program which runs under Windows 3.1 (or higher) and  which
allows you to look at the VORs, NDBs, ILS's and airports of a *.bgl file 
in a variety of ways. You can furthermore generate (either automatically
or manually) a flight plan which can also be edited.

There are a number of major changes (as well as a few minor ones) compared
to earlier versions of this program: 

a) Most importantly, I have completely revised the map structure. The maps
   that come with this version cover (almost) the whole world. They are no 
   longer *.wmf files, but rather compiled real-world coordinate files. The
   advantage is that navaids and airports are now placed more accurately on 
   the map(s). The disadvantage is that in some cases the maps are not as
   detailed as before and that loading a map takes a little longer than be-
   fore. 

b) BGLVIEWER has now the standard Windows Help Menu (press F1 or Help)

c) (Almost) full configurability. You can change the colors of the navaids
   information and set various parameters that BGLVIEWER uses for flight
   plan generation. You can also increase the maximum number of loadable
   files.

d) In addition to navaids also airports are displayed on the map(s)

e) Improved flight plan algorithm, zoom function, and print function. 

f) Additional status report functions.


IMPORTANT: You also need the file VBRUN300.DLL to run this program. 
If you don't already have it, you can download it from ftp.iup.edu from 
the FlightSim directory. Users of previous versions have told me that
the resolution in the Windows setup should be at least 800x600, other-
wise you don't see the scrollbars.  

Everyone is free to use and distribute this program; however, it may neither
be sold nor be used for commercial purposes. In plain language: nobody may 
use it to make money. It's public domain.

BGLVIEW.ZIP contains the following files:
     BGLVIEW.EXE   -    the program file
     EUROPE.MAP    -    the map of Europe
     USA.MAP       -    the map of the USA
     AFRICA.MAP    -    the map of Africa
     CANADA.MAP    -    the map of Canada
     AUSTRAL.MAP   -    the map of Australia and New Zealand
     CENTRAM.MAP   -    the map of Central America
     SOUTHAM.MAP   -    the map of South America 
     EASTAS.MAP    -    the map of East Asia
     SOUTHAS.MAP   -    the map of South Asia
     MIDEAST.MAP   -    the map of the Middle East
     PACIFIC.MAP   -    the map of the Pacific (Hawaii, West Coast USA,etc.)           
     BGLVIEW.HLP   -    the help file 
     BGLVIEW.TXT   _    what you're reading right now
     BGLVIEW.INI   -    Parameter specifications (ASCII file)
     GRID.VBX      -    Visual Basic grid file
     CMDIALOG.VBX  -    Visual Basic dialog file

You may copy BGLVIEW.EXE into any directory you wish, but it is ABSOLUTELY
CRUCIAL that the *.MAP map files, BGLVIEW.HLP, and BGLVIEW.INI be placed 
in the same directory. If the program doesn't find the map files, the help
file or the ini-file, an error occurs. The two *.VBX files need to be copied 
into your windows\system directory. They are necessary for internal reasons 
(grid.vbx is necessary for the tables, cmdialog.vbx for dialog boxes). 

The following is a short description of the main functions of the program.
You find further information in the help-file. If you find anything that looks
like a bug or error, consult the section <bugs and errors> in the help file.

1. THE MAP WINDOW

            This is the main window that you will see after you have loaded
            the program and have passed the intro window.
    
Menu Structure

FILE:
 -LOAD BGL  When you click on this menu item, a window opens and you select 
            a *.bgl file of your choice. If you choose a file that doesn't 
            contain any navaids or ATIS, the program will tell you so.
 -PRINT BMP With this option you can send the map and the navaids on it to
            a standard printer.
 -RESET     This option resets the the program to its initial state, i.e.
            all arrays and variables are emptied or reset to their default
            values. Pressing RESET is thus like starting the program again.
            WHEN YOU LOAD A NEW MAP, RESET IS AUTOMATICALLY CALLED. This im-
            plies that you may have to reload a file after you've changed 
            maps. Suppose you have looked at the navaids in world3.bgl on 
            the USA map and now you want to look at the European navaids in
            world3.bgl. After you have loaded the European map, you won't 
            see anything at all, so you have to reload world3.bgl.
 -RESET LAST
            This allows you to free memory from the last file you have loaded.
            Since BGLVIEWER standardly allows you to only load five files at the
            same time, this option may be useful in case you have loaded a file
            which doesn't contain any navaid data. Suppose you have the Carri-
            bean add-on scenery and have loaded Carrib11.bgl which doesn't con-
            tain any navaids. By choosing RESET LAST you will free memory from
            this file and the number of files laoded will be decremented by one.
            You can increase the maximum number of loadable files in the Con-
            figuration Window.       
 -STATUS    When you load a file, BGLVIEWER will read the following information
            and store it in memory:
            VOR - ILS - NDB - ATIS - AIRPORT
            Unfortunately there is so far no standard on which file contains 
            what. As far as I can see, in commercial sceneries *3.bgl files
            (e.g. world3.bgl) contain VORs, ILS's, and NDBs while *4.bgl files
            contain ATIS and AIRPORT information. When you load a file which 
            does not contain one of this information you will be told so by a
            little message box (e.g. "no NDBs in this file"). When you work with
            several files, there might be a point where you have forgotten which
            files you have currently loaded and which information each file con-
            tains. STATUS opens a little window with a list of loaded files and
            the information each contains. There is also a hotkey for STATUS:
            Crtl-S. There is a further table at the bottom of the window which 
            you have to MAKE. When you press MAKE, BGLVIEWER will scan your 
            hard disk and will list all those *.bgl files in the table that con-
            tain any of the BGLVIEWER-relevant information (i.e. VORs, NDBs, ILS's,
            ATIS, or airport). Prior to pressing MAKE, you have to tell BGL-
            VIEWER the drive and directory of FS5. You type this information
            into the text box above the table. You can also add \SCENERY, but
            if you don't, BGLVIEWER will add it automatically.  
 -CONFIG    This item opens the Configuration Window where you can set various
            parameters. I will explain these parameters later. See also the
            Configuration Window in the help menu.

MAP:        In this menu you choose the map of the area that your *.bgl file 
            belongs to. A MAP MUST BE CHOSEN BEFORE YOU CAN LOAD A FILE.
 -EUROPE    choose the map of Europe
 -USA       choose the map of the USA
 etc.

TYPE:       In this menu you choose the objects you want to see: VORs, NDBs, 
            ILS's, and airports. You can choose any one of them or any com-
            bination of the three. The default value is VOR; i.e. if you 
            don't choose an object type, you will automatically see only the 
            VORs. You can choose the type of object either before or after 
            you've loaded a file. E.g.if you've loaded a file with the default 
            option (VOR), you will only see the VORs, if you then click on 
            TYPE-NDB, the NDBs will be added to the map. If you then click 
            on TYPE-VOR (thereby unselecting VOR), the map will be redrawn 
            displaying this time only the NDBs. There are also hotkeys
            for these three options: Crtl-V for VOR, Crtl-N for NDB, and 
            Crtl-I for ILS, Crtl-A for airport.
            There is a fifth option, i.e. ROUTE, which you can choose only
            AFTER you have made a flight plan. If you choose this option, 
            only your departure airport, destination airport, and your way-
            points will be displayed on the map. Nothing else. The waypoints
            appear as black dots followed by the VOR's/NDB's code and fre-
            quency.

REDRAW:     This is somewhat complicated to explain, so you have to try it out.
            In general, when the screen changes, the graphic objects are auto-
            matically redrawn (=updated). So when you load a file, the graphic
            objects are automatically drawn. The same when you zoom or unzoom
            the screen. There's one exception. When you've zoomed in on a map, 
            and then use the scrollbars the map will move, but the VORs/NDBs
            /ILS's will disappear, as the map moves. To see your navaids again
            you have to click on REDRAW. This is admittedly inconvenient, but 
            the reason I did it this way is the following: The program is 
            written in Visual Basic for Windows and VB is slooooooow! If I had 
            included an automatic redraw-routine into the scrollbar-routines, 
            it would have taken you ages to get to the point where you want 
            to go. If you've ever tried to scroll a picture in CorelDraw, you 
            know what I mean. So you first scroll and then manually (by 
            clicking REDRAW) redraw the graphic objects. However, if you don't
            like this manual redrawing, you can change this parameter in the
            Configuration Window by choosing AutoRedraw=True.

ZOOM:       I guess that's self-explanatory. There is a limit on how large
            you can zoom the map. You can simultaneously zoom and move to a
            specific area by Crtl-Mouse Button-Left. The position where you 
            click will be the center of the screen.  
UNZOOM:     same as above. You cannot unzoom a map to a smaller scale than it
            has when initially loaded. 

OPTIONS:    As a default the navaids are displayed on the map as dots. Red for
            VORs, blue for NDBs, and green for ILS's. If you also want to see
            the code and/or frequency of your navaids on the map, you choose 
            the OPTIONS menu. E.g. if you click on VOR Code, each VOR will 
            appear on the map as a dot followed by the VOR's Code. Similarly
            for VOR Freq, NDB Code, etc. I guess, the rest is self-explanatory.
            There is not much sense in using these options unless you've zoomed
            in on a particular area of the map. If you use these options while
            looking at the entire map of Europe or the USA, then the result 
            will be a more or less beautiful painting rather than a readable 
            map. This is because the navaids are so close together that the 
            codes and freqs will be written on top of each other.

LIST:       This menu item opens the List Window. We'll come to that later in
            section 2. The List Window

PLANNER:    This menu item opens the Flight Plan Window. We'll come to that
            later in section 3. The Flight Plan Window.  

QUIT   -    self-explanatory

General Use:

After you've loaded the program, you have to observe a fixed order, i.e. you
have to FIRST select the map and THEN select a *.bgl file. If you don't 
observe this order, the program will complain and tell you what to do first.

After you've loaded the map and the appropriate *.bgl file you will see 
the map filling with little dots. The red ones represent VORs, the blue  
ones NDBs, the green ones ILS's, circles for airports. The total number 
of VORs/NDBs/ILS's/airports is shown in the grey-shaded section with the
information boxes.You will notice that the mouse pointer changes to a 
cross as soon as you move over the area of the map. You can then click 
on any of the dots/circles and will get the relevant information on this 
VOR/NDB/ILS/airport in the information boxes, namely the name, code, 
frequency, altitude, latitude/longitude coordinates for VORs and 
NDBs plus course for ILS's as well as the name of the file the navaid 
comes from. As you click on the dot, it will change its color to black 
so that you know which navaid/airport you have selected.

At this point you might want to take a closer look at a particular area. 
Obviously you have to press ZOOM. If you want to go back to the original
scale you press UNZOOM. You use the horizontal and vertical scrollbars to 
get to the area which you want to look at. Instead of using the scrollbars 
you can also scroll the map with the arrow keys. In fact, there is a slight 
difference between using the mouse/scrollbars and the arrow keys. The 
arrow keys trigger smaller steps of movement. So you might want to use the 
scrollbars first and then "fine-tune" the position of the map with the 
arrow keys. There is an alternative way of combining zoom and movement. If
you use Ctrl-Mouse-Left, the position of the mouse pointer will be at the
center of the zoomed area.

Some users of previous versions people have "complained" about 
not seeing any scrollbars. Apparently the horizontal scrollbar fails to 
appear when you use a 14" monitor, because the screen is too "small". 
One user reported that he didn't get the vertical scrollbar either. Frankly,
I have no explanation for this, since the scrollbars are "hard-wired" into 
the program. Furthermore, a resolution of at least 800x600 seems to be 
necessary. Anyway, those who have problems with the scrollbars can use 
the arrow keys.


2. The List Window

            You reach the List Window by pressing LIST in the Map Window. 
            When you choose LIST, a new window opens. This window contains a
            text window, two option buttons (which I will explain in a moment)
            and two tables a) a navaid table and b) a search table. The basic
            idea of the List Window is to list navaids of your choice in a
            table.

Menu Structure:
   
 -MAKE      This is (in general) the first thing that you click on in this 
            window. MAKE lists the navaids of your *.bgl file in the navaid 
            table. Which navaids are displayed depends on your choice in the 
            TYPE menu (Map Window). E.g. if you've chosen the default (=VOR), 
            then then navaid table will only display the VORs, if you have 
            chosen NDB and ILS, then the navaid table will show the NDBs and 
            ILS's of your *.bgl file. The entries in the navaid table are, 
            I guess, self-explanatory.
 -SEARCH    This item allows you to search for specific navaids within the
            navaid table. You can search by name (=default) or by code. If
            you want to search by code, click on the "code" option button.
            Move the mouse pointer to the text window and type in a string.
            Now click on SEARCH. All the navaids whose code or name matches
            the string you've typed in will now appear in the search table.
            Example: suppose you've loaded eurnw.bgl (my standard test file)
            MAKE the navaid table. Now click on the option button name and
            type "london" into the text window. All the navaids which have
            "london" in their name will appear in the search table.
            NOTE: SEARCH works with a relatively primitive InString function
            which simply compares your string with the names of the navaids.
            So if you had typed "londo" or "ondo", (presumably) the same would 
            occur.
            NOTE: SEARCH references the navaid table, not the array containing
            the bgl-file's navaids. So whatever appears in the search table is
            always a subset of what appears in the navaid table. Suppose you
            want to select ALL navaids for London. In this case you first have
            to choose VOR and NDB and ILS in the TYPE menu, then MAKE the 
            navaid table, and then SEARCH for "london".
 -PRINT     You can also print the tables you have created. 
  -NAVAID   prints the navaid table.
  -SEARCH   prints the search table.        


 -FILTER    There may be times when you don't want to list *all* navaids, but
            rather only a certain subset. This is when you choose a filter.
   -ALL     This is the default value which is always set when you load the 
            List Window. It simply means that all navaids will be displayed.
   -AREA    If you click AREA you want to list only a the navaids of a certain
            area. You create the area in the Map Window (not the List Window)
            The basic idea of selecting an area is to place a rectangular box
            on the map. You create this box by specifying its top left corner
            and its bottom right corner and you do this with SHIFT-LEFT MOUSE
            BUTTON. Suppose you want to fly in Germany (this is where I live)
            and you only want to list the navaids in this area. So you move
            the mouse pointer to somewhere in the North Sea and click SHIFT-
            LEFT MOUSE BUTTON. At this point you will only see a tiny dot where
            you clicked. Then you move the mouse pointer to somewhere in Austria
            and click there (SHIFT-LEFT). As soon as you make this second click
            the box appears and all the navaids within this box have been se-
            lected. Don't ask me why I'm not using a "rubber band". I can't for
            reasons that are a bit difficult to explain. You can create as many
            boxes as you like, but only the last box counts. That is, every new
            box deletes the selection of the previous box. If your map gets 
            filled with too many boxes, just press REDRAW. This will delete all
            boxes. 
            Now you go to the List Window and choose FILTER-AREA. Then you
            press MAKE. The navaid table will now contain only those navaids
            that are within the box. Again you can SEARCH within this table as
            explained before.
   -SINGLE  Obviously you can select with AREA only navaids that are located
            within a coherent and continuous area. Suppose you want to select
            some navaids in California, some in Kansas, and a few more near
            New York. This is when you use the SINGLE option. The selection it-
            self takes place in the Map Window again and you use the RIGHT
            MOUSE BUTTON clicking on each navaid you want to select. At first
            glance there doesn't seem to be much difference between using the
            left mouse button for simply displaying the navaid information in
            the info boxes and using the RIGHT MOUSE BUTTON for selecting 
            navaids for the List Window. In either case the dot will turn
            black and the information associated with this navaid appears in
            the info box(es). But the difference is this: When you use the
            left button, only one dot will be black at a time. When you click
            on the next dot, the previous one will turn red/blue/green again.
            In contrast, when you use the RIGHT BUTTON, the dots you select
            will stay black. So after a while the map will be filled with 
            many black dots and those are the ones you have selected.
            After you've finished you go to the List Window (press LIST),
            there you choose FILTER-SINGLE and then MAKE. Now the navaid
            will contain only those navaids you selected.
            Is this complicated enough? Go ahead and try!      

CLOSE  -    closes the List Window and takes you back to the Map Window.
            Since CLOSE triggers a number of actions, you should always
            use it, if you want to go back to the Map Window. (CLOSE was
            QUIT in previous versions, but some people thought it meant 
            quitting the entire program so I renamed it).
            

3. The Flight Plan Window

You reach the Flight Plan Window by choosing PLANNER in the Map Window. In
the Flight Plan Window you can generate a flight plan in one of two ways.

Before we get to the details, a few words of warning are necessary, because
there are a number of limitations. First, BGLVIEW's flight plan generator
relies strictly on the information contained in a *.bgl file. There is no
additional data base. Consequently, whatever is not in the *.bgl file the
flight plan generator doesn't know. In particular, it doesn't distinguish
between "major" and "minor" VORs and it doesn't know which VORs are con-
nected by official airways. Consequently, the flight plan you get, is "fly-
able", but if old Jeppesen or a commercial pilot saw it, they would pro-
bably drop dead.
You can influence the way BGLVIEWER determines your waypoints by changing
two parameters in the Configuration Window. I'll explain how in the section
on the configuration Window.

The Flight Plan Window contains 3 tables, called "departure", "enroute", 
and "destination", and several text windows. I guess that much of what 
you see in this window is self-explanatory.

The first thing you have to do is to type in the name of the departure
airport. Then you press <Enter>. Now one of two things will happen. Either
the coordinates of the airport appear in the lat and long boxes and/or you 
get a message "no ILS data available for this airport". What's happening? 
To determine the geographical location of your departure airport, BGLVIEW 
relies on two types of data. ILS and AIRPORT (the latter is the data used
when you select World-Airport in FS5). The program first scans the ILS data
to see if there is an ILS whose name matches your input string. If the 
search is unsuccessful, you get the aforementioned message. Next the pro-
gram scans the airport data. Consequently, the coordinates you see in
the lat/long boxes are not strictly speaking the coordinates of your air-
port(ARP), but rather either the coordinates of an ILS at this airport or
the coordinates where you aircraft is placed when you select from the
world-airport menu in FS5. In other words, if your airport doesn't have ILS 
and/or is not listed in the airport section of the *.bgl file you have 
chosen), BGLVIEW can't locate its geographical location.
Some airports have names totally different from the city where they are
located. San Juan/Puerto Rico is a case in point. Its airport is called
Luis Munoz (if I remember correctly). Now, if you type in "San Juan", you
get the message "no ILS available for this airport", even though this is
not true. However, in the name field of the ILS record for San Juan (in
Carrib3.bgl), only the airport name is mentioned, not the city. Dear 
scenery designers, please, add city names to the airport!!
In case BGLVIEWER doesn't find any information related to your airport, 
you have to enter the coordinates manually in the lat/long boxes. You 
don't have to be very accurate with the coordinates - just look at some 
geographical map, but it is ABSOLUTELY CRUCIAL that you observe the
correct format.
(IMPORTANT CHANGE to previous versions 0.9-2.0)
What I used is the format standardly used in pocket calculators that convert
the decimal notation into the standard notation and vice versa.
Here is an example:
Your coordinates are W12445'23"
you enter            w124:4523

More generally:
The first character of the string has to be a letter: "n" or "s" for latitude
and "w" or "e" for longitude (guess why?). Then WITHOUT SPACE you enter the
degress which are followed by a COLON (NOT A PERIOD as in previous versions). 
Then the minutes and then the seconds.
IMPORTANT: minutes and second have to have leading and/or following zeros. The
seconds are optional. So

if you have          N529'20"
you enter            n52:0920

After you have entered your coordinates, you press <Enter> and your coordi-
nates will re-appear in the same box in standard notation.

Here are a few examples of incorrect entries and their correct form:

a)       123:2452
         the first character has to be a letter, so either e123:2452
         or w123:2452

b)       n116:3145
         no comment. You should quit flying FS5. Your geography is lousy.

c)       e13:543
         that's ambiguous. Is it E1354'30" or E135'43"
         in general, you should never have 3 digits after the period. Make
         it either two or four. For example, you may either enter e13:23
         or e13:2300

d)       e13:54321743
         The program will not complain, but will simply ignore the sequence
         "1743". So this entry will be interpreted as E1354'32"

After you have finished the specification of your departure airport, you do
exactly the same thing for the destination airport.

At the bottom you see a box containing a combo list with the aircraft, a 
speed box and a flight level box. You can chose any of the three aircraft 
and you can edit the speed and FL box. The entries in the speed box are in
KN, those in the FL box observe the general standard of omitting the final
two zeros. So 6000ft are FL 60 or FL 145 is 14500 ft. There is also a plau-
sibility check. So if you're trying to fly 250KN at FL 270 with the Cessna,
you can't. The information in these three boxes are used exclusively for
calculating the flight time and has no other effects on the flight plan. The
aircraft, speed and FL information is read from the BGLVIEW.INI file which 
is a plain ASCII file. You can edit the aircraft specification, add or remove
aircraft in the Configuration Window.

After you've made all your entries, you press MAKE and your flight plan will be
generated. This may take a while, in fact it may take quite a while (e.g. if
you have loaded world3.bgl). So be patient! Depending on the size of the *.bgl 
file and the length of your route BGLVIEWER has a lot of computing to do.

In the departure and destination grid you will get two types of runway
information: ILS runways and "pure" runways. (provided your file contains
both records). You can identify the ILS runways, because they have a three-
letter or four-letter code. The frequency list in the freq-column is the
the ILS frequency for ILS runways and the Nav1 frequency for the others;
i.e. it is the Nav1 frequency that you get when you are placed on a specific
runway in the world-airport menu in FS5.  

In the destination table you will find entries for <heading>, <course>, and
<distance>. <heading> refers to the heading of the runway. <course> and 
<distance> are best explained by giving an example:

Code    Name              Freq     Heading   Distance      Course 
XYZ     FANTASY Airport   110.5    278       15NM          343

Suppose you want to land at Fantasy Airport on runway 28 which has an ILS
frequency of 110.5 and a heading of 278 degrees. Now think of an imaginary
line extending southeastward from the runway. At a distance of 11NM (20km, to
be exact) there is an (imaginary) point on this line, a kind of final
approach fix. If you fly a course of 343 FROM your final waypoint, you will
hit this imaginary point after 15NM.  That is, after 15NM you will hit the
localizer of runway 28 so that you have to make a turn towards 278 to line
up with the runway. At this point you will be 11NM away from the runway 
threshold. 11NM is a default value which may be too much for a Cessna, but
to little for a commercial airplane. You can change this value in the Con-
figuration Window in the <distance from runway> box.

After your flight plan has been generated, you can, of course, print it out.
Choose PRINT.

When you return to the Map Window you will see your route on the map. It is
this violet line going from your point of departure to your destination. Of
course, you can print the map with your route on it (Choose FILE-PRINT BMP).

If you like, you can go back to the Flight Plan Window. Your flight plan is
saved until you make a new one. 

By default BGLVIEWER considers only VORs in generating a flight plan. If you
want to change this, you select TYPE in the Flight Plan Window. If you select
NDB and unselect VOR, you resulting flight plan will have only NDB waypoints.
If you select both VOR and NDB, your flight plan may or may not contain NDB.
BGLVIEWER assigns priority to VORs and will generate an NDB waypoint only if
no appropriate VOR is found.

The menubar in the Flight Plan Window has an item called MODE. Here you have
a choice on how to generate a flight plan.

  - AUTO  This is what we just discussed, i.e. automatic flight plan gene-
          ration. AUTO is the default value, so if you don't make any choice, 
          this is what you get.
  -MANUAL You can also make your flight plan manually including both VORs
          and/or NDBs. The procedure is exactly the same as in the case 
          of selecting individual navaids for the List Window. That is, 
          you go back to the Map Window and click on the navaids for your 
          flight plan by using the RIGHT MOUSE BUTTON. Since VORs and NDBs
          are frequently so close together, so clicking on a particular dot
          may activiate both a VOR and NDB. Therefore you have to tell 
          BGLVIEWER whether you want a VOR or NDB. You do this by clicking
          on the navaid's name in the info box which will then turn black.
          In other words selecting a navaid for a manual flight plan involves
          two actions:
          a) click on the approapriate dot with the RIGHT mouse button
          b) click on the navaid's name either in the VOR or NDB info box.

          Note that ORDER IS IMPORTANT!! That is, the navaids will appear 
          in the enroute table in the same order in which you selected them.

          After you have selected your waypoints, you go back to the Flight
          Plan Window, select MODE-MANUAL and then MAKE. After a while you
          get your flight plan as usual.
          As before, when you go back to the Map Window you will see a vio-
          let line representing your route.     
  
  -EDIT   Suppose BGLVIEW has generated a flight plan with a navaid that 
          is located right next to the house of your mother-in-law. The 
          problem is: you just hate her, and when you got married, you 
          promised yourself never ever to get anywhere near that place. 
          (If you're not married, make it Granny or your beloved boss). So 
          you just have to get rid of that navaid. This is when you use EDIT.
          EDIT allows two operations: deletion and insertion.
          
          DELETION:
          First, you choose EDIT from the MODE menu. Then you click on the
          row which contains the navaid you want to delete. This row now turns
          red, so you know you have selected it. Finally you press - guess
          what? right! - the Del key on your keyboard. Again it may take a
          while, because BGLVIEW has to recalculate distances and times, but
          then you see a new flight plan with one navaid less.   

          INSERTION:
          You select the navaid (VOR or NDB) to be inserted in the Map Window 
          using the LEFT MOUSE BUTTON. That is, you use the same procedure as 
          when you just want to look at the information associated with a 
          navaid in the info box. Quite frequently VORs and NDBs are so close
          together that when you click on a certain dot, both a VOR and an 
          NDB information will appear in the corresponding info boxes. There-
          fore you have to tell BGLVIEWER whether you want to select a VOR or
          an NDB. You do this by clicking on the navaid's name in the corres-
          ponding info box. The navaid's name will turn black, so you know what
          you have selected. If you want to select a VOR, you click on the VOR
          name in the VOR info box. If you want to select an NDB, you click on
          the NDB's name in the NDB info box. So selecting a navaid for insertion
          involves two actions:
          a) click on the approapriate dot with the LEFT mouse button
          b) click on the navaid's name either in the VOR or NDB info box.
          
          You can click on as many VORs or NDBs as you want to, but only your 
          last choice counts. In other words, what you have selected is the VOR 
          or NDB whose dot is black and whose specification appears in the info 
          box with the name in black.
          Then you return to the Flight Plan Window and choose EDIT from the 
          MODE menu. Then you click on a row which again turns red. Insertion 
          always takes place above the row you have clicked on. Suppose you 
          have clicked on WP 03. Then after insertion the newly inserted VOR 
          will be WP03 and the old WP03 will become WP04. How do you trigger 
          insertion? Right! By pressing the <insert> key on your keyboard.

          You can repeat DELETION and INSERTION as many times as you want to.
          If you want to replace navaid(x) by navaid(y), you first delete 
          navaid(x) and then insert navaid(y) in its place.  

CLOSE     closes the Flight Plan Window and takes you back to the Map Window.
          Since CLOSE triggers a number of actions, you should always use it, 
          if you want to go back to the Map Window. (CLOSE was QUIT in pre-
          vious versions, but some people thought it meant quitting the entire 
          program so I renamed it).


4. The Configuration Window

You reach the Configuration Window by selecting FILE-CONFIG in the Map Window
or by pressing Crtl-C.
The Configuration Window allows you to change certain parameters in BGLVIEWER.

Color:
      You can change the color in which navaids and airports are displayed.
      I guess how you do that is self-explanatory. The currently valid color
      can be read from the color of the letters of the relevant word. So if
      the word VOR appears red, then red is the color of VOR information.

Aircraft:
      You can edit the aircraft specification in bglview.ini. Click on the 
      row in which the aircraft whose specification you want to change is
      located. As soon as you do this, the aircraft's values will be dupli-
      cated in the text boxes above the table. You enter the new values in
      these text boxes.
      If you want to remove an aircraft from the list, you click on it and
      then press the <remove> button.
      If you want to add an aircraft to the list, you first click on the first
      empty row in the table and enter the values in the text boxes. Then you
      press the <add> button. The new aircraft will be appended to the end of 
      the list, and the first row will be empty again.
      The values you have to enter refer to the following parameter:
      a) NAME  (self-explanatory)
      b) MAXSPEED=maximum IAS in KN
      c) CRUISESPEED=this is a default value (in KN) which appears in the 
         speed box. This value affects the time indicated in the enroute
         table and the total flight time
      d) MAXFL=maximum flight level (service ceiling)
      e) FL=default flight level which appears in the flight level box
      f) CLIMB=rate of climb in feet/min

Maximum number of loadable files:
      By default BGLVIEWER can load a maximum of five files at the same time.
      If you need more, you can change this number here. BUT A WORD OF WARNING!
      Increasing this number may slow down the program considerably. DO NOT
      INCREASE THIS NUMBER BEYOND WHAT YOU REALLY NEED.

Distance from runway:
      The default value is 11NM (or rather 20km). This is the distance of your
      final approach fix from the runway threshold. For details see the Flight
      Plan Window either in this text or in the help menu.

AutoRedraw:
      When you move the map by means of the scrollbars or arrow keys, you
      have to manually REDRAW the map (by pressing REDRAW in the Map Window).
      If you prefer automatic redrawing you change the AutoRedraw value to
      TRUE by clicking on the text box. WARNING: if you choose TRUE, moving
      from one point of the map to another will become very slow, because
      after each click on the scrollbar, the map will be redrawn.

Printer: I tested the program using a HPLaserjet 4 with a resolution of 300dpi.
      If you use a printer with a higher resolution, you might find that the
      lines are too thin. In this case you choose <medium> or <thick>. The
      default value is <thin>. 
 
Sector Length and Sector Width: 
      These two values affect the way in which BGLVIEWER generates the flight
      plan. Here is how BGLVIEWER determines a waypoint on your route:
      a) first, BGLVIEWER calculates the direct course from the current way-
         point to the destination.
      b) next, a sector is defined which extends +- 35 degrees from the
         direct course. This is the sector width. The length of this sector
         is 120km (not NM) from the current waypoint. This is the sector
         length.
      c) BGLVIEWER collects all navaids contained in this sector
      d) BGLVIEWER uses an evaluation procedure to determine that navaid
         that is closest to the direct course at a reasonable distance.
      If you find that the routes you get are zigzagging too much, you may
      want to decrease the default value of 35 degrees. If you get an error
      message <possibly incomplete flight plan>, then BGLVIEWER has not been
      able to find a route. In this case you may want to increase the value.
      If you want longer distances between your waypoints, you increase the
      sector length.
      I found the default values of 35 degrees for sector width and 120km for
      sector length by trial and error. As far as I can tell, these values
      give you reasonable results (in most cases).


5. Limitations:

Apart from the fact that this program is guaranteed to have errors in it, you
can load maximally five *.bgl files at a time by default. If you select the 
sixth *.bgl file, it replaces the fifth file you have chosen so that you 
no longer have access to the information of this file (in other words, 
you can click on the dots of the fifth file, till you're dead - no informa-
tion). Use RESET LAST to free memory from a file you no longer need. You can 
change this value in the Configuration Window, but note that increasing this
number may slow down the program considerably

There is a very ugly limitation on the tables. Visual Basic permits only 
tables of maximally 2000 rows. World3.bgl, however, contains more than 2000 
NDBs. So you can't get all these NDBs into the table. The only way to over-
come this restriction is to use the FILTER-AREA option in the List Window.
So you first create a box covering, say, the Eastern part of the USA, get
the table, print it, or whatever you like and then you do the same thing
with the Western part. There are other ways of crashing the table. 
Suppose you load all four *.bgl files of Schiratti's and van Wyhe's 
EUROPE.ZIP and you choose all three TYPE options - i.e. VOR and NDB and 
ILS -, then presumably you'll be over 2000 entries. BTW: the search table 
currently permits only 100 entries. If that is not enough, please
let me know.

For some islands in the Carribean you will get a VOR altitude of -32802ft.
This is not a bug in BGLVIEWER, but rather what appears in the records in
world3.bgl (hexD8F1). I have no idea why they entered this value.

When you load certain commercial add-ons, you will get an error message
<error in reading ATIS>, e.g. in world4.bgl, japan4.bgl, carrib4.bgl. You
can ignore this error message, since it doesn't affect the flight plan
module. The reason for this error message is that I don't fully understand
the data structure in the ATIS section.

In principle, the placement of navaids/airports on the map should be 
accurate, since I used real-world coordinates.However, in testing the 
program I found some inaccuracies (e.g. Laredo). Furthermore, VORs that
are close to the coastline (e.g. the east coast of Florida) look like
they are in the water. The reason is that I used 2-byte integers in the
*.map files, while navaids are placed through a 3-byte single value. Using
3-bytes in the map files would have increased their size by 1.5 and I thought
that the map files already take a lot of disk space.

Finally, the program has become so big and complex (at least by my stan-
dards) that I haven't been able to test all functions in all their possible
combinations. Almost all procedures and modules contain an error-handling
routine, so hopefully the program won't crash too often. However, if you're
trying to be mean to my little program and do all kinds of irrational things,
I'm sure you'll be able to crash it.

This program was made possible only because I could rely on the work and
ideas of others, in particular I would like to thank
 
Maurizio Gavioli for his FS5STRUCT.TXT    
Bob Wittick for numerous suggestions
H.G.Mielke for his superb sceneries
Enno Borgsteede for his encouragement and moral support
Mathijs Kok for letting me show the program at the 6th Interstate Race
Rafael Sanchez for various suggestions and VB tricks
Fred Hoorn for a detailed bug list on version 1.0
Adi Palm and Karl-Michael Schneider for their mathematical help.
numerous other people who sent me comments and suggestions.

This program is dedicated to my wife Dagmar who during the past months has
patiently tolerated my frequent absent-mindedness, and to our two cats Sir
Geoffrey and Shira who more than once had to wait for an additional half hour
to be fed.

I hope you enjoy this little program; it was fun writing it. Unless some-
body discovers some real ugly bugs, version 4.0 will be the last version.

Any comments and suggestions for improvements will be appreciated.
Send me a letter or e-mail to the above address.
  
Sascha W. Felix     