ACS-GPS gauges family for FS98/FS2000/FS2002
By Alain Capt / acapt@worldcom.ch / Switzerland
URL: http://www.acsoft.ch ("Produits" chapter)
-----------------------------------------------



PRELIMINARY REMARKS
-------------------

Like mentionned in the title here after, this tutorial is based on FS98
version, but will work also for FS2000 and "should" work for FS2002.

Of course, all numeric values typed in this tutorial are only valid for FS98.
In the case of FS200X, you will have to read correct values, directly from
the implementation examples of FS200X version.

If you have both versions, I really recommend to start with FS98, because
"panel.cfg" structure is more simple and this tutorial will be more straight
forward.



TUTORIAL: HOW TO IMPLEMENT ACS-GPS GAUGES INTO FS98 PANELS
----------------------------------------------------------

Let say we want to install GPS on every FSFSConv Jet.Heavy.1,2,3,4 and
Jet.Light.1,2,3,4 panels (these panels are located in Aircraft\FSFSConv).

First, we will take both GPS version installation examples on 737-400 as a
reference of what to do.

Look into 737-400 directory of ACS-GPS installation. You will found two
sub-directories called "panel.gpsv1" & "panel gpsv2". In both sub-directory,
you will found a bitmap file ".BMP" and a "panel.cfg" file.

"panel.cfg" file is just a text file. In fact, all file with extension ".cfg"
in FS are text files and can be therefore easily viewed and modified with a
simple text file editor like the NotePad.

To create or modify bitmap files, you will need a paint program. Microsoft
"Paint" can be used for not to difficult work, but a more powerful program
will soon be necessary for important panel graphic modifications. For our
tutorial, we will just have to copy bitmap files already prepared for you,
therefore no need of paint program now.

OK, implementation of V1 will be suitable for "panel.Jet.Heavy.1,2,3,4". Lets
take it as our first exercise:


Compare now original Microsoft "panel.cfg" located into "Aicraft\737_400\panel"
directory, with my modified version which is in "panel.gpsv1". You should
remark that section [Window Titles] has on more "window" line equal to
"ACS-GPS98 V1". You will also found one more [WindowNN] section which is
the definition of this new added window.

This is exactly what we should do for all "panel.Jet.Heavy.1,2,3,4". into their
own "panel.cfg" files.

First task: You must copy "ACSGPSV1.bmp" you have found into "panel.gpsv1"
into every "panel.Jet.Heavy.1,2,3,4" directories. This is the bitmap which
will be used to build our additional GPS window.

Panels are built with several layers of windows, all materialized with a bitmap,
each window (undersand bitmap) may carry one or more gauges. It may happen
that a window is just a bitmap with no gauge. If I say layer before, it is
because you have priority between windows. First [window00] might be covered
by [window01] etc... You can easily verify that in a panel with several windows.


Then you must add the new window for the GPS into each "panel.cfg" inside all
"panel.Jet.Heavy.1,2,3,4" directories. Use your Notepad to do this.

This consist to add the line: "window06=ACS-GPS98 V1" into section [Window Titles].
Remark, in this case, we had to call it "06", which is the next free number for
a window (in 737-400 was called 05).

Now we can add the new section [windowNN] which will define our new GPS window.
As this panel is the same as for 737-400, we can simply copy the section defined
into "panel.cfg" of "panel.gpsv1" into our "panel.cfg" from each
"panel.Jet.Heavy.1,2,3,4" directories. DON'T FORGET to change the window
number from 05 to 06 like this:

[Window06]   ;<- ATTENTION we must just change the number !!!
file=ACSGPSV1.bmp
size_mm=610
position=6
visible=1
ident=100

gauge00=ACS.GPS98-V1, 338, 30, 266

When you have finished this task, you should now have GPS implemented into each
FSFSConv Heavy default aircraft panels. You should certainly have some custom
aircrafts installed which use one of these panels, to verify all your work is
correct.

No ? You don't ? Great, this will allow me to teach you something new! In this case,
let say we will do the following silly thing: We will allocate "panel.Jet.Heavy.1"
to "SopCamel" aircraft.

Open "panel" directory of "SopCamel" aircraft and rename the "panel.cfg" file to
something like "panel_sav.cfg". Now, with your NotePad, create a new "panel.cfg"
with just the following two lines inside:

[fltsim]
alias=FSFSConv\panel.Jet.heavy.1

Try now your SopCamel and you will see you get a 737-400 panel with this good old
chap !!!

This is called "alliasing" redirection technique. This allow that not every aircraft
must have his own panel fully defined, but can use instead any already defined
panels. Almost all custom aircrafts you can found on Internet will use this
technique.


For this first work, we where lucky "panel.Jet.Heavy.1,2,3,4" are similar to
737-400. Therefore all parameters settings defined for the [windowNN] section
we added where suitable (I do the job for you).

Other panels would have requested, most probably, to design a new bitmap with our
paint program. To modify "size_mm=" (size factor for the bitmap of our GPS window),
to modify numeric parameters of our "gaugeNN=" line (first is X position on bitmap,
second is Y position on bitmap, last is magnification factor). This will happen now
for "panel.Jet.Light.1,2,3,4" which is a different panel (Lear Jet).

In this tutorial we can avoid creating a new bitmap by trying to implement V2
version of the GPS in the same way the example for V2 is done. This is what
I call a "floating window" implementation, which have the advantage to be fully
independant of the panel itself.

Therefore I recommend you to try now to implement the floating window version V2
for these set of panels. You must do the same procedure using V2 as a reference,
but this time, you will have to deal with parameters settings !!!

You can found all explanations about all these parameters into Microsoft FS98 SDK
help file. In any cases, the best method to understand what are doing all these
parameters is to try, to try, to try and try again !!!

Let say, for example, you will know what is doing "size_mm=". I assume you have your
"panel.cfg" into the NotePad editor and your FS running with an aircraft using this
panel.

Change the value of this parameter of about 20% approximatively. Now save to disk
and switch to FS. Nothing happen for now, because panel is not already using our
modification.

What you should do, is to change aircraft to change the panel. This mean obviously
you must avoid an aircraft having the same panel. When this is done, you come back
to previous aircraft, which will reload our panel with the modification. Now you
can see and hopefully understand what is doing "size_mm=" parameter.

If you apply this method to almost all parameters, you should discover what to do
with them to tune perfectly your panel. Don't forget SDK help file which is also
a precious reference to understand.

Good luck and be patient !!!


A last few words, it should be now obvious for you, that you might have added your
GPS gauge on an existing window. In fact, not any window, but precisely the main
one. This is because this window is normally always open. Both implementation we
have done have the major disadvantage to loose the GPS when window is closed. This
mean GPS is not anymore able to control the aircraft.

Implementing GPS on an already existing bitmap can seem to be more simple (it just
require to add a further "gaugexx=" line into concerned window definition, but most
of the time, it will imply a lot a redraw work, plus gauges displacement, to make
room for the GPS and this is not a small work !!!

If you want a last exercise, you can try doing the following:

Let's come back to first exercise done on FSFS Jet.Heavy1,2,3,4. Like I explain,
GPS will not work if we are looking HSI gauge. But imagine now if both HSI and
GPS gauges where crossed together. Even if we look the HSI gauge, GPS will still
work, because, this time, it is implemented on main window which remain open. The
fact our "overlay" window will cover it fully, will not affect it.

Try to do this !!! 

if you succeed, for sure, you are now almost graduate in panel working !!!



AUTHOR
------

Alain Capt
35 ch. des Passiaux
CH-1008 PRILLY
SWITZERLAND
Tel + Fax: 41-21/ 648 38 37
E-Mail: acapt@worldcom.ch
URL: http://www.acsoft.ch  (look on "Produits" chapter to found FS98 pages)


Have nice GPS flight with ACS-GPS !!!
