1
0
Fork 0

Updates from Michael Basler.

This commit is contained in:
curt 1999-06-29 02:06:48 +00:00
parent 9d15b886cf
commit 12f56a6aa5
18 changed files with 15262 additions and 15079 deletions

File diff suppressed because it is too large Load diff

Binary file not shown.

File diff suppressed because it is too large Load diff

View file

@ -1,348 +1,404 @@
%%
%% getstart.tex -- Flight Gear documentation: Installation and Getting Started
%% Chapter file
%%
%% Written by Michael Basler % Bernhard Buckel, starting September 1998.
%%
%% Copyright (C) 1999 Michael Basler (pmb@knUUt.de)
%% & Bernhard Buckel (buckel@wmad95.mathematik.uni-wuerzburg.de)
%%
%% This program is free software; you can redistribute it and/or
%% modify it under the terms of the GNU General Public License as
%% published by the Free Software Foundation; either version 2 of the
%% License, or (at your option) any later version.
%%
%% This program is distributed in the hope that it will be useful, but
%% WITHOUT ANY WARRANTY; without even the implied warranty of
%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
%% General Public License for more details.
%%
%% You should have received a copy of the GNU General Public License
%% along with this program; if not, write to the Free Software
%% Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
%%
%% $Id: getstart.tex,v 0.20 1999/06/04 michael
%% (Log is kept at end of this file)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\chapter{Building the plane: Compiling\index{compiling} the program\label{building}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\markboth{\thechapter.\hspace*{1mm} BUILDING THE
PLANE}{\thesection\hspace*{1mm} COMPILING UNDER LINUX}
This central Chapter describes how to build \FlightGear on several systems. In case you
are on a Win32 (i.\,e. Windows 98 or Windows NT) platform you may not want to go though
that potentially troublesome process but instead skip that Chapter and straightly go to
the next one. (Not everyone wants to build his or her plane himself or herself, right?)
However, there may be good reason at least to try building the simulator:
\begin{itemize}
\item In case you are on a \Index{UNIX}/\Index{Linux} platform there are supposedly no
pre-compiled binaries\index{binaries, pre-compiled} available for your system. We do not
see any reason why the distribution of pre-compiled binaries (with statically linked
libraries) should not be possible for \Index{UNIX} systems in principle as well, but in
practice it is common to install programs like this one on \Index{UNIX} systems by
recompiling them.
\item There are several options you can set only during
compile time. One such option is the decision to compile with
hardware or software \Index{OpenGL} rendering enabled. A more
complete list goes beyond this \textit{Installation and Getting
Started} and should be included in a future
\textit{\Index{\FlightGear Programmer's Guide}}.
\item You may be proud you did.
\end{itemize}
On the other hand, compiling \FlightGear is not a task for novice users. Thus, if you're
a beginner (we all were once) we recommend postponing this and just starting with the
binary distribution to get you flying.
As you will note, this Chapter is far from being complete. Basically, we describe
compiling for two operating systems only, \Index{Windows 98/NT} and \Index{Linux}. There
is a simple explanation for this: These are just the systems we are working on. We hope
to be able to provide descriptions for more systems based on contributions written by
others.
\section{Compiling\index{compiling!Linux} under \Index{Linux}}
If you are running Linux you probably have to build your own
\Index{binaries}. The following is one way to do so.
\begin{enumerate}
\item Get the file \texttt{FlightGear-x.xx.tar.gz} from the
\texttt{source} subdirectory under
\web{ftp://ftp.flightgear.org/pub/fgfs/Source/}
\noindent
\item Unpack it using :
\texttt{tar xvfz FlightGear-x.xx.tar.gz}.
\item \texttt{cd} into \texttt{FlightGear-x.xx}. Run:
\texttt{./configure}
\noindent
and wait a few minutes. \Index{configure} knows about a lot of
options. Have a look at the file \texttt{INSTALL} in the
\FlightGear source directory to learn about them. If run without
options, configure assumes that you will install the data files
under \texttt{/usr/local/lib/FlightGear}.
\item Assuming configure finished successfully, simply run
\texttt{make}
\noindent
and wait for the make process to finish.
\item Now become root (for example by using the su command) and
type
\texttt{make install}.
\noindent
This will install the \Index{binaries} in \texttt{/usr/local/bin}.
There is a problem concerning permissions under Linux/Glide. All
programs accessing the accelerator board need root permissions.
The solution is either to play as root or make the
\texttt{/usr/local/bin/fgfs} binary \texttt{setuid root}, i.e.
when this binary is run root privileges are given. Do this by
issuing (as root)
\texttt{chmod +s /usr/local/bin/fgfs}.
\noindent
A solution for this problem is upcoming, keep an eye on the 3Dfx
website if you run a 3Dfx board.
\end{enumerate}
\section{Compiling\index{compiling!Windows 98/NT} under \Index{Windows 98/NT}}
\begin{enumerate}
\item Windows, contrary to Linux which brings its own compiler, comes
not equipped with developmental tools. Several compilers have been shown to work for
compiling {\FlightGear}, including the \Index{Cygnus Win32 port of GNU C}++ and the
\Index{MS Visual C} compiler. Given that the project will be a free one we prefer the
Cygnus Compiler as it provides a free development environment. However, we will be happy
to include a proper description in case those who worked out how to compile with MSVC or
other Compilers provide one.
\item Install and configure the \Index{Cygnus} Gnu-Win32 development
environment. The latest version is Beta 20. The main
Cygnus Gnu-Win32 page is at:
\web{http://sourceware.cygnus.com/cygwin/}.
\noindent
You can download the complete Cygnus Gnu-Win32 compiler from:
\web{ftp://go.cygnus.com/pub/sourceware.cygnus.com/cygwin/latest/full.exe}.
Be sure to read this package's README files to be found under the main page, first.
\noindent
To install the compiler, just run \texttt{full.exe} by double-clicking in
Windows explorer. After doing so you'll find a program group called
\texttt{Cygnus Solutions} in your Start menu. Do not forget making a copy of the
shell under c:/bin, as detailed in the docs.
\item Open the Cygnus shell via its entry in the Start menu.
Mount the drive where you want to build \FlightGear as follows
(assuming your \FlightGear drive is \texttt{d:}):
\texttt{mkdir /mnt}\\
\texttt{mount d: /mnt}
\noindent
You only have to do this once. The drive stays mounted (until you
umount it) even through reboots and switching off the machine.
\item Before actually being able to compile \FlightGear you have to install a hand full
of support libraries required for building the simulator itself. Those go usually into
\texttt{c:/usr/local} and it is highly recommended to choose just that place.
First, you have to install the free \Index{win32 api library} (the latest
version being 0.1.5). Get the package \texttt{win32api-0.1.5.tar.gz} from:
\web{http://www.acc.umu.se/~anorland/gnu-win32/w32api.html}
Conveniently you may unpack the package just onto you \FlightGear drive. Copy the file to
the named drive, open the Cygnus shell via the Start menu entry and change to the
previously mounted drive with
\texttt{cd /mnt}
Now, you can unpack the distribution with
\texttt{gzip -d win32api-0.1.5.tar.gz}\\
\texttt{tar xvf win32api-0.1.5.tar}
This provides you with a directory containing the named libraries. For installing them,
change to that directory with
\texttt{cd win32api-0.1.5}
and type
\texttt{make}\\
\texttt{make install}
This installs the libraries to their default locations under \texttt{c:/usr/local}
\item To proceed, you need the \Index{glut libraries}. Get these from the same site named
above
\web{http://www.acc.umu.se/~anorland/gnu-win32/w32api.html}
as \texttt{glutlibs-3.7beta.tar.gz}. Just copy the package to your \FlightGear drive and
unpack it in the same way as describes above. There is no need to run \texttt{make} here.
Instead, just copy the two libraries \texttt{libglut.a} and \texttt{libglut32.a} to
\texttt{c:/usr/local/lib}. There is no need for the two accompanying \texttt{*.def} files
here.
\item Next, get the \Index{Glut header files}, for instance, from
\web{ftp:://ftp.flightgear.org/pub/fgfs/Win32/Mesa-3.0-includes.zip}
Unpack these as usual with \texttt{unzip -d} and copy the contents of the resulting
directory \texttt{/gl} to \texttt{c:/usr/local/include/gl}
\item Finally, you need Steve Backer's \Index{PLIB} being one of the key libraries for \FlightGear\hspace{-1mm}.
Get the most recent version \texttt{plib-X.X.tar.gz} from
\web{http://www.woodsoup.org/projs/plib/}
(There are mirrors, but make sure they contain the most recent version!). Copy it to your
\FlightGear drive, open the Cygnus shell and unpack the library as described above.
Next, change into \Index{PLIB}'s directory. It is recommended to configure \Index{PLIB}
with the following command line (you can make a script as I did if it hurts)
\begin{ttfamily}
CFLAGS="-O2 -Wall" CXXFLAGS="-O2 -Wall"\\ CPPFLAGS=-I/usr/local/include
LDFLAGS=-L/usr/local/lib ./configure
--prefix=/usr/local\\
--includedir=/usr/local/include/plib
\end{ttfamily}
You must write all this \textbf{on one line} without any line breaks in between!
Finally, build \Index{PLIB} with
\texttt{make}\\
\texttt{make install}
\item Now, you're finally prepared to build \FlightGear itself.
Fetch the \FlightGear code and special \Index{Win32 libraries}. These
can be found at:
\web{ftp://ftp.flightgear.org/pub/fgfs/Source/}
\noindent
Grab the latest \texttt{FlightGear-X.XX.zip} and
\texttt{win32-libs-X.XX.zip} files.
(It you're really into adventures, you can try one of the recent snapshots instead.)
\item Unpack the \FlightGear source code via
\texttt{pkunzip -d FlightGear-X.XX.zip}.
\noindent
\item Change to the newly created \texttt{FlightGear-X.XX directory} with e.\,g.
\texttt{cd //D/FlightGear-X.XX}
and unpack the Win32 libraries there:
\texttt{pkunzip -d win32-libs-X.XX.zip}.
\item You will find a file called \texttt{install.exe} in the Win32
directory after unzipping \texttt{win32-libs-X.XX.zip}. This
version of \texttt{install.exe} should replace the one in your
$\backslash$\texttt{H-i386-cygwin32$\backslash$bin} directory --
it's sole claim to fame is that it understands that when many
calls to it say \texttt{install foo} they mean \texttt{install
foo.exe}. If you skip this step and attempt an install with the
older version present \texttt{make install} will fail.
Side Note: We need to make a distinction between the
\texttt{\Index{build tree}} and the \texttt{\Index{install tree}}.
The \texttt{build tree} is what we've been talking about up until
this point. This is where the source code lives and all the
compiling takes place. Once the executables are built, they need
to be installed someplace. We shall call this install location
the \texttt{install tree}. This is where the executables, the
scenery, the textures, and any other run-time files will be
located.
\item \Index{Configure} the make system for your environment and your
\texttt{install tree}. Tell the configure script where you would like to install the
\Index{binaries} and all the \Index{scenery} and \Index{textures} by using the
\texttt{-$\!$-prefix} option. In the following example the base of the \texttt{install
tree} is \texttt{FlightGear}. Make sure you are within \FlightGear's \texttt{build tree}
root directory.
\item Run:\index{configure}
\texttt{./configure -$\!$-prefix=/mnt/FlightGear}.
\noindent
Side note: The make procedure is designed to link against opengl32.dll, glu32.dll, and
glut32.dll which most accelerated boards require. If this does not apply to yours or if
you installed SGI's \Index{software rendering} as mentioned in Subsection \ref{softrend}
you may have to change these to opengl.dll, glu.dll, and glut.dll. (In case you're in
doubt check your \texttt{$\backslash$windows$\backslash$system} directory what you've
got.)
If this is the case for your \Index{video card}, you can edit
\texttt{.../Simulator/Main/ Makefile} and rename these three libraries to
their "non-32" counterparts. There is only one place in this
\texttt{Makefile} where these files are listed.
\item Build the executable. Run:
\texttt{make}.
Assuming you have installed the updated version of \texttt{install.exe} (see earlier
instructions) you can now create and populate the \texttt{install tree}. Run:
\texttt{make install}.
You can save a significant amount of space by stripping all the
debugging symbols off of the executable. To do this, change to the
directory in the \texttt{install tree} where your binary lives and run:
\texttt{strip fgfs.exe} resp. \texttt{strip fgfs-sgi.exe}.
\end{enumerate}
%% Revision 0.00 1998/09/08 michael
%% Initial revision for version 0.53.
%% employing redame.win32/readame.linux
%% by c. olson , b. buckel
%% Revision 0.01 1998/09/20 michael
%% several extensions and corrections
%% revision 0.10 1998/10/01 michael
%% final proofreading for release
%% revision 0.11 1998/11/01 michael
%% deleted some obsolete stuff from the Linux Section
%% revision 0.12 1999/03/07 michael
%% changed Windows to Cygnus b20
%% revision 0.20 1999/06/04 michael
%% complete rewrite of the windows build Section exploiting Curt's README.win32
%%
%% getstart.tex -- Flight Gear documentation: Installation and Getting Started
%% Chapter file
%%
%% Written by Michael Basler % Bernhard Buckel, starting September 1998.
%%
%% Copyright (C) 1999 Michael Basler (pmb@knUUt.de)
%% & Bernhard Buckel (buckel@wmad95.mathematik.uni-wuerzburg.de)
%%
%% This program is free software; you can redistribute it and/or
%% modify it under the terms of the GNU General Public License as
%% published by the Free Software Foundation; either version 2 of the
%% License, or (at your option) any later version.
%%
%% This program is distributed in the hope that it will be useful, but
%% WITHOUT ANY WARRANTY; without even the implied warranty of
%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
%% General Public License for more details.
%%
%% You should have received a copy of the GNU General Public License
%% along with this program; if not, write to the Free Software
%% Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
%%
%% $Id: getstart.tex,v 0.20 1999/06/04 michael
%% (Log is kept at end of this file)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\chapter{Building the plane: Compiling\index{compiling} the program\label{building}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\markboth{\thechapter.\hspace*{1mm} BUILDING THE
PLANE}{\thesection\hspace*{1mm} COMPILING UNDER LINUX}
This central Chapter describes how to build \FlightGear on several systems. In case you
are on a Win32 (i.\,e. Windows 98 or Windows NT) platform you may not want to go though
that potentially troublesome process but instead skip that Chapter and straightly go to
the next one. (Not everyone wants to build his or her plane himself or herself, right?)
However, there may be good reason at least to try building the simulator:
\begin{itemize}
\item In case you are on a \Index{UNIX}/\Index{Linux} platform there are supposedly no
pre-compiled binaries\index{binaries, pre-compiled} available for your system. We do not
see any reason why the distribution of pre-compiled binaries (with statically linked
libraries) should not be possible for \Index{UNIX} systems in principle as well, but in
practice it is common to install programs like this one on \Index{UNIX} systems by
recompiling them.
\item There are several options you can set only during
compile time. One such option is the decision to compile with
hardware or software \Index{OpenGL} rendering enabled. A more
complete list goes beyond this \textit{Installation and Getting
Started} and should be included in a future
\textit{\Index{\FlightGear Programmer's Guide}}.
\item You may be proud you did.
\end{itemize}
On the other hand, compiling \FlightGear is not a task for novice users. Thus, if you're
a beginner (we all were once) we recommend postponing this and just starting with the
binary distribution to get you flying.
Besides, there have been two branches of code starting from version 0.6. For more
details, see Section \ref{branches}. This description generally refers to the stable,
even-numbered branch. It is almost certain, that odd-numbered versions require
modifications to that.
As you will note, this Chapter is far from being complete. Basically, we describe
compiling for two operating systems only, \Index{Windows 98/NT} and \Index{Linux}. There
is a simple explanation for this: These are just the systems we are working on. We hope
to be able to provide descriptions for more systems based on contributions written by
others.
\section{Compiling\index{compiling!Linux} under \Index{Linux}}
If you are running Linux you probably have to build your own
\Index{binaries}. The following is one way to do so.
\begin{enumerate}
%%Bernhard 25.06.1999
\item \FlightGear needs some supplementary libraries which are usually
not contained in any distribution we know of. These are:
\begin{itemize}
\item{{\em plib}} which is absolutely essential for the building
process. Get the latest version of {\em plib} at
\web{http://www.woodsoup.org/projs/plib/} and follow the
instructions contained in README.plib.
\item{{\em gfc}} is only needed if you want to build the scenery
generation tools but it doesn't hurt to have it installed. It can
be found along with the building instructions at
\web{http://www.geog.psu.edu/~qian/gfc/index.html}.
\item{{\em gpc}} which is also needed for the scenery generation
tools. Get it from
\web{http://www.cs.man.ac.uk/aig/staff/alan/software/}, building
instructions can be found in README.gpc in your \FlightGear source
directory.
\end{itemize}
Now you are ready to proceed to the task of getting, compiling and installing \FlightGear itself:
\item Get the file \texttt{FlightGear-x.xx.tar.gz} from the
\texttt{source} subdirectory under
\web{ftp://ftp.flightgear.org/pub/fgfs/Source/}
\noindent
\item Unpack it using :
\texttt{tar xvfz FlightGear-x.xx.tar.gz}.
\item \texttt{cd} into \texttt{FlightGear-x.xx}. Run:
\texttt{./configure}
\noindent
and wait a few minutes. \Index{configure} knows about a lot of
options. Have a look at the file \texttt{INSTALL} in the
\FlightGear source directory to learn about them. If run without
options, configure assumes that you will install the data files
under \texttt{/usr/local/lib/FlightGear}.
\item Assuming configure finished successfully, simply run
\texttt{make}
\noindent
and wait for the make process to finish.
\item Now become root (for example by using the su command) and
type
\texttt{make install}.
\noindent
This will install the \Index{binaries} in \texttt{/usr/local/bin}.
There is a problem concerning permissions under Linux/Glide. All programs accessing the
accelerator board need root permissions. The solution is either to play as root (this is
{\em bad} practice and not always possible) or make the \texttt{/usr/local/bin/fgfs}
binary \texttt{setuid root}, i.e. when this binary is run root privileges are given. Do
this by issuing (as root)
\texttt{chmod +s /usr/local/bin/fgfs}.
\noindent
Again, this is a quick and dirty hack. The perfect solution for this
problem is using a kernel module called {\em 3dfx.o}. It is available
along with documentation at \web{http://www.xs4all.nl/~carlo17/3dfx/index.html}
and it might be a good idea to read some of the Quake-related links there!
To install this kernel module, just download it, become root and
issue the following commands:
\texttt{mkdir dev3dfx}
\texttt{cd dev3dfx}
\texttt{tar xvfz ../Dev3Dfx-2.7.tar.gz}
\texttt{make}
\texttt{cp 3dfx.o /lib/modules/`uname -r`/misc}
\texttt{mknod /dev/3dfx c 107 0}
\texttt{insmod 3dfx}
It is a good idea to put the last line into one of your bootup scripts! After having
installed this module, you can even go ahead and remove the S-bit from {\em all} programs
that need access to your 3D hardware.
\end{enumerate}
\section{Compiling\index{compiling!Windows 98/NT} under \Index{Windows 98/NT}}
\begin{enumerate}
\item Windows, contrary to Linux which brings its own compiler, comes
not equipped with developmental tools. Several compilers have been shown to work for
compiling {\FlightGear}, including the \Index{Cygnus Win32 port of GNU C}++ and the
\Index{MS Visual C} compiler. Given that the project will be a free one we prefer the
Cygnus Compiler as it provides a free development environment. However, we will be happy
to include a proper description in case those who worked out how to compile with MSVC or
other Compilers provide one.
\item Install and configure the \Index{Cygnus} Gnu-Win32 development
environment. The latest version is Beta 20. The main
Cygnus Gnu-Win32 page is at:
\web{http://sourceware.cygnus.com/cygwin/}.
\noindent
You can download the complete Cygnus Gnu-Win32 compiler from:
\web{ftp://go.cygnus.com/pub/sourceware.cygnus.com/cygwin/latest/full.exe}.
Be sure to read this package's README files to be found under the main page, first.
\noindent
To install the compiler, just run \texttt{full.exe} by double-clicking in
Windows explorer. After doing so you'll find a program group called
\texttt{Cygnus Solutions} in your Start menu. Do not forget making a copy of the
shell under c:/bin, as detailed in the docs.
\item Open the Cygnus shell via its entry in the Start menu.
Mount the drive where you want to build \FlightGear as follows
(assuming your \FlightGear drive is \texttt{d:}):
\texttt{mkdir /mnt}\\
\texttt{mount d: /mnt}
\noindent
You only have to do this once. The drive stays mounted (until you
umount it) even through reboots and switching off the machine.
\item Before actually being able to compile \FlightGear you have to install a hand full
of support libraries required for building the simulator itself. Those go usually into
\texttt{c:/usr/local} and it is highly recommended to choose just that place.
First, you have to install the free \Index{win32 api library} (the latest
version being 0.1.5). Get the package \texttt{win32api-0.1.5.tar.gz} from:
\web{http://www.acc.umu.se/~anorland/gnu-win32/w32api.html}
Conveniently you may unpack the package just onto you \FlightGear drive. Copy the file to
the named drive, open the Cygnus shell via the Start menu entry and change to the
previously mounted drive with
\texttt{cd /mnt}
Now, you can unpack the distribution with
\texttt{gzip -d win32api-0.1.5.tar.gz}\\
\texttt{tar xvf win32api-0.1.5.tar}
This provides you with a directory containing the named libraries. For installing them,
change to that directory with
\texttt{cd win32api-0.1.5}
and type
\texttt{make}\\
\texttt{make install}
This installs the libraries to their default locations under \texttt{c:/usr/local}
\item To proceed, you need the \Index{glut libraries}. Get these from the same site named
above
\web{http://www.acc.umu.se/~anorland/gnu-win32/w32api.html}
as \texttt{glutlibs-3.7beta.tar.gz}. Just copy the package to your \FlightGear drive and
unpack it in the same way as describes above. There is no need to run \texttt{make} here.
Instead, just copy the two libraries \texttt{libglut.a} and \texttt{libglut32.a} to
\texttt{c:/usr/local/lib}. There is no need for the two accompanying \texttt{*.def} files
here.
\item Next, get the \Index{Glut header files}, for instance, from
\web{ftp:://ftp.flightgear.org/pub/fgfs/Win32/Mesa-3.0-includes.zip}
Unpack these as usual with \texttt{unzip -d} and copy the contents of the resulting
directory \texttt{/gl} to \texttt{c:/usr/local/include/gl}
\item Finally, you need Steve Backer's \Index{PLIB} being one of the key libraries for \FlightGear\hspace{-1mm}.
Get the most recent version \texttt{plib-X.X.tar.gz} from
\web{http://www.woodsoup.org/projs/plib/}
(There are mirrors, but make sure they contain the most recent version!). Copy it to your
\FlightGear drive, open the Cygnus shell and unpack the library as described above.
Next, change into \Index{PLIB}'s directory. It is recommended to configure \Index{PLIB}
with the following command line (you can make a script as I did if it hurts)
\begin{ttfamily}
CFLAGS="-O2 -Wall" CXXFLAGS="-O2 -Wall"\\ CPPFLAGS=-I/usr/local/include
LDFLAGS=-L/usr/local/lib ./configure
--prefix=/usr/local\\
--includedir=/usr/local/include/plib
\end{ttfamily}
You must write all this \textbf{on one line} without any line breaks in between!
Finally, build \Index{PLIB} with
\texttt{make}\\
\texttt{make install}
\item Now, you're finally prepared to build \FlightGear itself.
Fetch the \FlightGear code and special \Index{Win32 libraries}. These
can be found at:
\web{ftp://ftp.flightgear.org/pub/fgfs/Source/}
\noindent
Grab the latest \texttt{FlightGear-X.XX.zip} and
\texttt{win32-libs-X.XX.zip} files.
(It you're really into adventures, you can try one of the recent snapshots instead.)
\item Unpack the \FlightGear source code via
\texttt{pkunzip -d FlightGear-X.XX.zip}.
\noindent
\item Change to the newly created \texttt{FlightGear-X.XX directory} with e.\,g.
\texttt{cd //D/FlightGear-X.XX}
and unpack the Win32 libraries there:
\texttt{pkunzip -d win32-libs-X.XX.zip}.
\item You will find a file called \texttt{install.exe} in the Win32
directory after unzipping \texttt{win32-libs-X.XX.zip}. This
version of \texttt{install.exe} should replace the one in your
$\backslash$\texttt{H-i386-cygwin32$\backslash$bin} directory --
it's sole claim to fame is that it understands that when many
calls to it say \texttt{install foo} they mean \texttt{install
foo.exe}. If you skip this step and attempt an install with the
older version present \texttt{make install} will fail.
Side Note: We need to make a distinction between the
\texttt{\Index{build tree}} and the \texttt{\Index{install tree}}.
The \texttt{build tree} is what we've been talking about up until
this point. This is where the source code lives and all the
compiling takes place. Once the executables are built, they need
to be installed someplace. We shall call this install location
the \texttt{install tree}. This is where the executables, the
scenery, the textures, and any other run-time files will be
located.
\item \Index{Configure} the make system for your environment and your
\texttt{install tree}. Tell the configure script where you would like to install the
\Index{binaries} and all the \Index{scenery} and \Index{textures} by using the
\texttt{-$\!$-prefix} option. In the following example the base of the \texttt{install
tree} is \texttt{FlightGear}. Make sure you are within \FlightGear's \texttt{build tree}
root directory.
\item Run:\index{configure}
\texttt{./configure -$\!$-prefix=/mnt/FlightGear}.
\noindent
Side note: The make procedure is designed to link against opengl32.dll, glu32.dll, and
glut32.dll which most accelerated boards require. If this does not apply to yours or if
you installed SGI's \Index{software rendering} as mentioned in Subsection \ref{softrend}
you may have to change these to opengl.dll, glu.dll, and glut.dll. (In case you're in
doubt check your \texttt{$\backslash$windows$\backslash$system} directory what you've
got.)
If this is the case for your \Index{video card}, you can edit
\texttt{.../Simulator/Main/ Makefile} and rename these three libraries to
their "non-32" counterparts. There is only one place in this
\texttt{Makefile} where these files are listed.
\item Build the executable. Run:
\texttt{make}.
Assuming you have installed the updated version of \texttt{install.exe} (see earlier
instructions) you can now create and populate the \texttt{install tree}. Run:
\texttt{make install}.
You can save a significant amount of space by stripping all the
debugging symbols off of the executable. To do this, change to the
directory in the \texttt{install tree} where your binary lives and run:
\texttt{strip fgfs.exe} resp. \texttt{strip fgfs-sgi.exe}.
\end{enumerate}
%% Revision 0.00 1998/09/08 michael
%% Initial revision for version 0.53.
%% employing redame.win32/readame.linux
%% by c. olson , b. buckel
%% Revision 0.01 1998/09/20 michael
%% several extensions and corrections
%% revision 0.10 1998/10/01 michael
%% final proofreading for release
%% revision 0.11 1998/11/01 michael
%% deleted some obsolete stuff from the Linux Section
%% revision 0.12 1999/03/07 michael
%% changed Windows to Cygnus b20
%% revision 0.20 1999/06/04 michael
%% complete rewrite of the windows build Section exploiting Curt's README.win32
%% revision 0.21 1999/06/30 bernhard
%% complete rewrite of Linux build Section

View file

@ -1,332 +1,332 @@
%%
%% getstart.tex -- Flight Gear documentation: Installation and Getting Started
%% Chapter file
%%
%% Written by Michael Basler, started September 1998.
%%
%% Copyright (C) 1999 Michael Basler (pmb@knUUt.de)
%%
%%
%% This program is free software; you can redistribute it and/or
%% modify it under the terms of the GNU General Public License as
%% published by the Free Software Foundation; either version 2 of the
%% License, or (at your option) any later version.
%%
%% This program is distributed in the hope that it will be useful, but
%% WITHOUT ANY WARRANTY; without even the implied warranty of
%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
%% General Public License for more details.
%%
%% You should have received a copy of the GNU General Public License
%% along with this program; if not, write to the Free Software
%% Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
%%
%% $Id: getstart.tex,v 0.20 1999/06/04 michael
%% (Log is kept at end of this file)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\chapter{Flight: All about instruments, keystrokes and menus\label{flight}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\markboth{\thechapter.\hspace*{1mm} FLIGHT}{\thesection\hspace*{1mm} KEYBOARD COMMANDS}
This is a description of the main systems for controlling the program and piloting the
plane: Historically, keyboard controls were developed first, and you can still control
most of the simulator via the keyboard alone. Recently, they are becoming supplemented by
several menu entries, making the interface more accessible, particularly for beginners,
and providing additional functionality. A joysticks provides a more realistic alternative
for actual piloting of the plane. Concerning instruments, there are again two
alternatives: You can use the rather advanced HUD or the emerging panel.
\section{Keyboard commands}
While \Index{joystick}s or \Index{yoke}s are supported as are rudder pedals, you can fly
\FlightGear using the keyboard alone. For proper controlling via keyboard (i) the
\texttt{\Index{NumLock}} key must be switched on (ii) the \FlightGear window must have
focus (if not, click with the mouse on the graphics window). Some of the keyboard
controls might be helpful even in case you use a joystick.
After activating \texttt{NumLock} the following \Index{keyboard commands} should work:
\eject
\noindent
Tab.\,1: \textit{Main \Index{keyboard commands} for \FlightGear}.
\medskip
\centerline{
\begin{tabular}{|l|l|}\hline
Key & Action\\\hline
Pg Up/Pg Dn & Throttle\\
Left Arrow/Right Arrow & Aileron\\
Up Arrow/Down Arrow & Elevator\\
Ins/Enter & Rudder\\
5 & Center aileron/elevator/rudder\\
Home/End & Elevator trim\\\hline
\end{tabular}
}
\vskip5mm
For changing views you have to de-activate \texttt{NumLock}. Now
\texttt{Shift} + $<$\texttt{Numeric Keypad Key}$>$ changes the
view as follows:
\noindent
Tab.\,2: \textit{View directions\index{view directions}
accessible after de-activating \texttt{NumLock}.}
\medskip
\centerline{
\begin{tabular}{|c|l|}\hline
Numeric Key & View direction\\\hline
Shift-8 & forward\\
Shift-7 & left/forward\\
Shift-4 & left\\
Shift-1 & left/back\\
Shift-2 & back\\
Shift-3 & right/back\\
Shift-6 & right\\
Shift-9 & right/forward\\\hline
\end{tabular}
}
\vskip5mm
The \Index{autopilot} is controlled via the following controls:
\medskip
\noindent
Tab.\,3: \textit{Autopilot controls.\index{autopilot controls}}
\medskip
\centerline{
\begin{tabular}{|l|l|}\hline
Key & Action\\\hline
Ctrl + A & Altitude hold toggle on/off\\
Ctrl + H & Heading hold toggle on/off\\
Ctrl + S & Autothrottle toggle on/off\\
Ctrl + T & Terrain follow toggle on/off\\
F11 & Set target altitude\\
F12 & Set target heading\\ \hline
\end{tabular}
}
\medskip
The last one is especially interesting as it makes your \Index{Navion} behave like a
cruise missile.
Besides these basic keys there are some more special ones; most of these you'll probably
not want to try during your first flight: \eject
\noindent Tab.\,4: \textit{More control commands.}
\medskip
\centerline{
\begin{tabular}{|l|l|}\hline
Key & Action\\\hline
H/h & Change color of HUD/toggle HUD off forward/backward \\
i/I & Minimize/maximize HUD \\
m/M & Change time offset (warp) used by t/T forward/backward \\
P & Toggles panel on/off \\
t/T & Time speed up/slow down forward/backward \\
x/X & Zoom in/out\\
z/Z & Change visibility (fog) forward/backward \\
b & Toggle brakes on/off\\
p & Toggle pause on/off\\
W & Toggle fullscreen mode on/off (Mesa/3dfx/Glide only)\\
F2& Refresh Scenery tile cache\\
F8 & Toggle fog on/off\\
F9 & Toggle texturing on/off\\
F10 & Toggle menu on/off\\
F11 & Sets heading in autopilot\\
F12 & Sets altitude in autopilot\\
ESC & Exit program\\\hline
\end{tabular}
}
\section{\Index{Menu entries}}
Albeit the menu being not yet fully operational it provides several useful functions. At
present, the following ones are implemented.
\begin{itemize}
\item \textbf{File}
\begin{itemize}
\item \textbf{Reset} Resets you to the selected starting position. Comes handy in case you got
lost or something went wrong.
\item \textbf{Save} Not yet operational.
\item \textbf{Print} Not yet operational.
\item \textbf{Close} Removes the menu. (Can be re-activated by hitting F10.)
\item \textbf{Exit} Exits the program.
\end{itemize}
\item \textbf{Edit}
\begin{itemize}
\item \textbf{Edit text} Not yet operational.
\end{itemize}
\item \textbf{View}
\begin{itemize}
\item \textbf{Toggle Panel} Toggles \Index{panel} on/off.
\item \textbf{View} Not yet operational.
\item \textbf{Cockpit View} Not yet operational.
\end{itemize}
\item \textbf{Aircraft}
\begin{itemize}
\item \textbf{Communication} Not yet operational.
\item \textbf{Navigation} Not yet operational.
\item \textbf{Altitude} Not yet operational.
\item \textbf{Autopilot} Sliders for setting limiting values for the autopilot.
\end{itemize}
\item \textbf{Environment}
\begin{itemize}
\item \textbf{Weather} Not yet operational.
\item \textbf{Terrain} Not yet operational.
\item \textbf{Airport} Typing in an \Index{airport id} beams you to that airport's position.
\FlightGear comes with an extended list of airport ids to be found under
/FlightGear/Aircraft/apt\underline{~}full.gz which you can unpack with gzip -d.
\end{itemize}
\item \textbf{Options}
\begin{itemize}
\item \textbf{Realism \& Reliability} Not yet operational.
\item \textbf{Preferences} Not yet operational.
\end{itemize}
\item \textbf{Help}
\begin{itemize}
\item \textbf{Help} Should bring up this \Index{Getting Started Guide}. At present not yet fully
implemented. Under windows you can get it working by placing a file called \textbf{webrun.bat}
like
\begin{texttt}
c:$\backslash$programme$\backslash$netscape$\backslash$communicator$\backslash$program$\backslash$netscape.exe\\
d:$\backslash$Flightgear$\backslash$docs$\backslash$installguide$\backslash$html$\backslash$getstart.html
\end{texttt}
(you may have to substitute your path/browser) somewhere in your path. Under UNIX a
comparable shell script might do. Requires \texttt{fgfs-manual-X.XX.exe} being properly
installed.
\item \textbf{About...} Not yet operational.
\end{itemize}
\end{itemize}
\section{The head up display\index{head up display}}
At current, you have two options for reading off the main flight parameters of the plane:
The \Index{HUD} (\textbf{H}ead \textbf{U}p \textbf{D}isplay \index{head up display} and
the panel. Neither are \Index{HUD}s used in usual general aviation planes nor in civilian
ones. Rather they belong to the equipment of modern military jets. However, in view of
the fact that the \Index{panel} despite recent progress is not yet complete the
\Index{HUD} may well serve as a main instrument for controlling the plane. Besides, it
might be easier to fly using this one than exploiting the \Index{panel} and several of
the real pilots might prefer it because of combining the readouts of critical parameters
with an outside view onto the real world. (Several \Index{Cessna} pilots might love to
have one, but technology is simply too expensive for implementing HUDs in general
aviation aircrafts.)
\medskip
\centerline{
\includegraphics[clip,width=12.5cm]{hud.eps}
}
\smallskip
\noindent
Fig.\,3: \textit{The HUD, or head up display.}
\medskip
The \Index{HUD} shown in Fig.\,3 displays all main flight parameters of the plane. In
the center you find the \Index{pitch indicator} (in degrees) with the \Index{aileron
indicator} above and the \Index{rudder indicator} below. A corresponding scale for the
elevation\index{elevation indicator} can be found to the left of the pitch scale. On the
bottom there is a simple \Index{turn indicator}.
There are two scales at the extreme left: The inner one displays the \Index{speed} (in
kts) while the outer one indicates position of the \Index{throttle}. You may recall the
\Index{Navion} taking off at a speed of 100 kts. The two scales on the extreme r.h.s
display your \Index{height}, i.\,e. the left one shows the height above ground while the
right of it gives that above zero, both being displayed in feet.
Besides this, the \Index{HUD} displays some additions information. On the upper right you
find date and time. Below, you see \Index{latitude} and \Index{longitude} of your current
position on the l.h.s and r.h.s, resp. In the lower left corner there is a number
indicating the \Index{frame rate}, i.e. the number of times the picture being re-drawn
each second.
You can change color of the \textbf{HUD} using the ''H'' key. Pressing it several times
minimizes the HUD.
\section{The Panel\index{panel}}
Besides the \Index{HUD}, \FlightGear has a \Index{panel} which can be activated by
pressing the ''P'' key. (It is recommended disabling the HUD then by pressing ''H''
several times.) While the panel is not yet fully complete the basic five \Index{flight
instruments} to scan are present and working.
\medskip
\centerline{
\includegraphics[clip,width=12.5cm]{panel.eps}
}
\smallskip
\noindent
Fig.\,4: \textit{The panel.}
\medskip
In the center you find the \Index{artificial horizon} (attitude indicator) displaying
pitch and bank of your plane. It has pitch marks (hard to be seen in this version) as
well as bank marks at 10, 20, 30, 60, and 90 degrees.
Left to the artificial horizon, you'll see the \Index{airspeed indicator}. Not only does
it have a speed indication in knots (recall: The Navion takes off at 100 kts) but also
several arcs showing characteristic \Index{velocity rages} you have to consider. At
first, there is a green arc indicating the normal operating range of speed with the flaps
(net yet being implemented in \FlightGear) fully retracted. The white arc indicates the
range of speed with flaps in action. The tiny yellow arc shows a range, which should only
be used in smooth air. The upper end of it has a red radial indicating the speed never to
be exceeded.
Below the airspeed indicator you can find the \Index{turn indicator}. The airplane in the
middle indicates the roll of your plane. If the left or right wing of the plane is
aligned with one of the marks this indicates a standard turn, in which you make a full
360 degrees turn in exactly two minutes.
Below the plane, still in the turn indicator, is another instrument, called
\Index{inclinometer}. It indicates if \Index{rudder} and \Index{ailerons} are
coordinated. During turns, you always have to operate aileron and rudder in such a way
that the ball in the tube remains centered; otherwise the plane is skidding.
To the right of the artificial horizon you find the \Index{altimeter} showing the height
above sea level (not ground!). At present it is not yet working in
\FlightGear\hspace{-1mm}. Below the altimeter is the \Index{vertical speed indicator}
which, on the other hand, is operational. It indicates the rate of climbing or sinking of
your plane in hundreds of feet per minute.
There is one more instrument working in the panel, i.e. the second one in the column on
the r.h.s. indicating position of \Index{throttle}.
This completes description of the present main \FlightGear instruments. If you are
looking for some interesting places to discover with \FlightGear (which may or may not
require downloading additional scenery) you may want to check
\web{http://www.flightgear.org/Downloads/Places}.
There is now a menu entry for entering directly the \Index{airport code} of the airport
you want to start from.
Finally, if you're done and are about to leave the plane, just hit the ESC key or use the
corresponding menu entry to exit the program.
%% Revision 0.00 1998/09/08 michael
%% Initial revision for version 0.53.
%% Revision 0.01 1998/09/20 michael
%% several extensions and corrections, added Fig.1.
%% revision 0.10 1998/10/01 michael
%% final proofreading for release
%% revision 0.11 1998/11/01 michael
%% Complete revision of keyborad controls, interesting places
%% revision 0.12 1999/03/07 michael
%% Corrected rudder key
%% revision 0.20 1999/06/04 michael
%% HUD completely rewritten, added panel section with picture, and menu section
%% updated keystrokes
%%
%% getstart.tex -- Flight Gear documentation: Installation and Getting Started
%% Chapter file
%%
%% Written by Michael Basler, started September 1998.
%%
%% Copyright (C) 1999 Michael Basler (pmb@knUUt.de)
%%
%%
%% This program is free software; you can redistribute it and/or
%% modify it under the terms of the GNU General Public License as
%% published by the Free Software Foundation; either version 2 of the
%% License, or (at your option) any later version.
%%
%% This program is distributed in the hope that it will be useful, but
%% WITHOUT ANY WARRANTY; without even the implied warranty of
%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
%% General Public License for more details.
%%
%% You should have received a copy of the GNU General Public License
%% along with this program; if not, write to the Free Software
%% Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
%%
%% $Id: getstart.tex,v 0.20 1999/06/04 michael
%% (Log is kept at end of this file)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\chapter{Flight: All about instruments, keystrokes and menus\label{flight}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\markboth{\thechapter.\hspace*{1mm} FLIGHT}{\thesection\hspace*{1mm} KEYBOARD COMMANDS}
This is a description of the main systems for controlling the program and piloting the
plane: Historically, keyboard controls were developed first, and you can still control
most of the simulator via the keyboard alone. Recently, they are becoming supplemented by
several menu entries, making the interface more accessible, particularly for beginners,
and providing additional functionality. A joysticks provides a more realistic alternative
for actual piloting of the plane. Concerning instruments, there are again two
alternatives: You can use the rather advanced HUD or the emerging panel.
\section{Keyboard commands}
While \Index{joystick}s or \Index{yoke}s are supported as are rudder pedals, you can fly
\FlightGear using the keyboard alone. For proper controlling via keyboard (i) the
\texttt{\Index{NumLock}} key must be switched on (ii) the \FlightGear window must have
focus (if not, click with the mouse on the graphics window). Some of the keyboard
controls might be helpful even in case you use a joystick.
After activating \texttt{NumLock} the following \Index{keyboard commands} should work:
\eject
\noindent
Tab.\,1: \textit{Main \Index{keyboard commands} for \FlightGear}.
\medskip
\centerline{
\begin{tabular}{|l|l|}\hline
Key & Action\\\hline
Pg Up/Pg Dn & Throttle\\
Left Arrow/Right Arrow & Aileron\\
Up Arrow/Down Arrow & Elevator\\
Ins/Enter & Rudder\\
5 & Center aileron/elevator/rudder\\
Home/End & Elevator trim\\\hline
\end{tabular}
}
\vskip5mm
For changing views you have to de-activate \texttt{NumLock}. Now
\texttt{Shift} + $<$\texttt{Numeric Keypad Key}$>$ changes the
view as follows:
\noindent
Tab.\,2: \textit{View directions\index{view directions}
accessible after de-activating \texttt{NumLock}.}
\medskip
\centerline{
\begin{tabular}{|c|l|}\hline
Numeric Key & View direction\\\hline
Shift-8 & forward\\
Shift-7 & left/forward\\
Shift-4 & left\\
Shift-1 & left/back\\
Shift-2 & back\\
Shift-3 & right/back\\
Shift-6 & right\\
Shift-9 & right/forward\\\hline
\end{tabular}
}
\vskip5mm
The \Index{autopilot} is controlled via the following controls:
\medskip
\noindent
Tab.\,3: \textit{Autopilot controls.\index{autopilot controls}}
\medskip
\centerline{
\begin{tabular}{|l|l|}\hline
Key & Action\\\hline
Ctrl + A & Altitude hold toggle on/off\\
Ctrl + H & Heading hold toggle on/off\\
Ctrl + S & Autothrottle toggle on/off\\
Ctrl + T & Terrain follow toggle on/off\\
F11 & Set target altitude\\
F12 & Set target heading\\ \hline
\end{tabular}
}
\medskip
The last one is especially interesting as it makes your \Index{Navion} behave like a
cruise missile.
Besides these basic keys there are some more special ones; most of these you'll probably
not want to try during your first flight: \eject
\noindent Tab.\,4: \textit{More control commands.}
\medskip
\centerline{
\begin{tabular}{|l|l|}\hline
Key & Action\\\hline
H/h & Change color of HUD/toggle HUD off forward/backward \\
i/I & Minimize/maximize HUD \\
m/M & Change time offset (warp) used by t/T forward/backward \\
P & Toggles panel on/off \\
t/T & Time speed up/slow down forward/backward \\
x/X & Zoom in/out\\
z/Z & Change visibility (fog) forward/backward \\
b & Toggle brakes on/off\\
p & Toggle pause on/off\\
W & Toggle fullscreen mode on/off (Mesa/3dfx/Glide only)\\
F2& Refresh Scenery tile cache\\
F8 & Toggle fog on/off\\
F9 & Toggle texturing on/off\\
F10 & Toggle menu on/off\\
F11 & Sets heading in autopilot\\
F12 & Sets altitude in autopilot\\
ESC & Exit program\\\hline
\end{tabular}
}
\section{\Index{Menu entries}}
Albeit the menu being not yet fully operational it provides several useful functions. At
present, the following ones are implemented.
\begin{itemize}
\item \textbf{File}
\begin{itemize}
\item \textbf{Reset} Resets you to the selected starting position. Comes handy in case you got
lost or something went wrong.
\item \textbf{Save} Not yet operational.
\item \textbf{Print} Not yet operational.
\item \textbf{Close} Removes the menu. (Can be re-activated by hitting F10.)
\item \textbf{Exit} Exits the program.
\end{itemize}
\item \textbf{Edit}
\begin{itemize}
\item \textbf{Edit text} Not yet operational.
\end{itemize}
\item \textbf{View}
\begin{itemize}
\item \textbf{Toggle Panel} Toggles \Index{panel} on/off.
\item \textbf{View} Not yet operational.
\item \textbf{Cockpit View} Not yet operational.
\end{itemize}
\item \textbf{Aircraft}
\begin{itemize}
\item \textbf{Communication} Not yet operational.
\item \textbf{Navigation} Not yet operational.
\item \textbf{Altitude} Not yet operational.
\item \textbf{Autopilot} Sliders for setting limiting values for the autopilot.
\end{itemize}
\item \textbf{Environment}
\begin{itemize}
\item \textbf{Weather} Not yet operational.
\item \textbf{Terrain} Not yet operational.
\item \textbf{Airport} Typing in an \Index{airport id} beams you to that airport's position.
\FlightGear comes with an extended list of airport ids to be found under
/FlightGear/Aircraft/apt\underline{~}full.gz which you can unpack with gzip -d.
\end{itemize}
\item \textbf{Options}
\begin{itemize}
\item \textbf{Realism \& Reliability} Not yet operational.
\item \textbf{Preferences} Not yet operational.
\end{itemize}
\item \textbf{Help}
\begin{itemize}
\item \textbf{Help} Should bring up this \Index{Getting Started Guide}. At present not yet fully
implemented. Under windows you can get it working by placing a file called \textbf{webrun.bat}
like
\begin{texttt}
c:$\backslash$programme$\backslash$netscape$\backslash$communicator$\backslash$program$\backslash$netscape.exe\\
d:$\backslash$Flightgear$\backslash$docs$\backslash$installguide$\backslash$html$\backslash$getstart.html
\end{texttt}
(you may have to substitute your path/browser) somewhere in your path. Under UNIX a
comparable shell script might do. Requires \texttt{fgfs-manual-X.XX.exe} being properly
installed.
\item \textbf{About...} Not yet operational.
\end{itemize}
\end{itemize}
\section{The head up display\index{head up display}}
At current, you have two options for reading off the main flight parameters of the plane:
The \Index{HUD} (\textbf{H}ead \textbf{U}p \textbf{D}isplay \index{head up display} and
the panel. Neither are \Index{HUD}s used in usual general aviation planes nor in civilian
ones. Rather they belong to the equipment of modern military jets. However, in view of
the fact that the \Index{panel} despite recent progress is not yet complete the
\Index{HUD} may well serve as a main instrument for controlling the plane. Besides, it
might be easier to fly using this one than exploiting the \Index{panel} and several of
the real pilots might prefer it because of combining the readouts of critical parameters
with an outside view onto the real world. (Several \Index{Cessna} pilots might love to
have one, but technology is simply too expensive for implementing HUDs in general
aviation aircrafts.)
\medskip
\centerline{
\includegraphics[clip,width=12.5cm]{hud.eps}
}
\smallskip
\noindent
Fig.\,3: \textit{The HUD, or head up display.}
\medskip
The \Index{HUD} shown in Fig.\,3 displays all main flight parameters of the plane. In
the center you find the \Index{pitch indicator} (in degrees) with the \Index{aileron
indicator} above and the \Index{rudder indicator} below. A corresponding scale for the
elevation\index{elevation indicator} can be found to the left of the pitch scale. On the
bottom there is a simple \Index{turn indicator}.
There are two scales at the extreme left: The inner one displays the \Index{speed} (in
kts) while the outer one indicates position of the \Index{throttle}. You may recall the
\Index{Navion} taking off at a speed of 100 kts. The two scales on the extreme r.h.s
display your \Index{height}, i.\,e. the left one shows the height above ground while the
right of it gives that above zero, both being displayed in feet.
Besides this, the \Index{HUD} displays some additions information. On the upper right you
find date and time. Below, you see \Index{latitude} and \Index{longitude} of your current
position on the l.h.s and r.h.s, resp. In the lower left corner there is a number
indicating the \Index{frame rate}, i.e. the number of times the picture being re-drawn
each second.
You can change color of the \textbf{HUD} using the ''H'' key. Pressing it several times
minimizes the HUD.
\section{The Panel\index{panel}}
Besides the \Index{HUD}, \FlightGear has a \Index{panel} which can be activated by
pressing the ''P'' key. (It is recommended disabling the HUD then by pressing ''H''
several times.) While the panel is not yet fully complete the basic five \Index{flight
instruments} to scan are present and working.
\medskip
\centerline{
\includegraphics[clip,width=12.5cm]{panel.eps}
}
\smallskip
\noindent
Fig.\,4: \textit{The panel.}
\medskip
In the center you find the \Index{artificial horizon} (attitude indicator) displaying
pitch and bank of your plane. It has pitch marks (hard to be seen in this version) as
well as bank marks at 10, 20, 30, 60, and 90 degrees.
Left to the artificial horizon, you'll see the \Index{airspeed indicator}. Not only does
it have a speed indication in knots (recall: The Navion takes off at 100 kts) but also
several arcs showing characteristic \Index{velocity rages} you have to consider. At
first, there is a green arc indicating the normal operating range of speed with the flaps
(net yet being implemented in \FlightGear) fully retracted. The white arc indicates the
range of speed with flaps in action. The tiny yellow arc shows a range, which should only
be used in smooth air. The upper end of it has a red radial indicating the speed never to
be exceeded.
Below the airspeed indicator you can find the \Index{turn indicator}. The airplane in the
middle indicates the roll of your plane. If the left or right wing of the plane is
aligned with one of the marks this indicates a standard turn, in which you make a full
360 degrees turn in exactly two minutes.
Below the plane, still in the turn indicator, is another instrument, called
\Index{inclinometer}. It indicates if \Index{rudder} and \Index{ailerons} are
coordinated. During turns, you always have to operate aileron and rudder in such a way
that the ball in the tube remains centered; otherwise the plane is skidding.
To the right of the artificial horizon you find the \Index{altimeter} showing the height
above sea level (not ground!). At present it is not yet working in
\FlightGear\hspace{-1mm}. Below the altimeter is the \Index{vertical speed indicator}
which, on the other hand, is operational. It indicates the rate of climbing or sinking of
your plane in hundreds of feet per minute.
There is one more instrument working in the panel, i.e. the second one in the column on
the r.h.s. indicating position of \Index{throttle}.
This completes description of the present main \FlightGear instruments. If you are
looking for some interesting places to discover with \FlightGear (which may or may not
require downloading additional scenery) you may want to check
\web{http://www.flightgear.org/Downloads/Places}.
There is now a menu entry for entering directly the \Index{airport code} of the airport
you want to start from.
Finally, if you're done and are about to leave the plane, just hit the ESC key or use the
corresponding menu entry to exit the program.
%% Revision 0.00 1998/09/08 michael
%% Initial revision for version 0.53.
%% Revision 0.01 1998/09/20 michael
%% several extensions and corrections, added Fig.1.
%% revision 0.10 1998/10/01 michael
%% final proofreading for release
%% revision 0.11 1998/11/01 michael
%% Complete revision of keyborad controls, interesting places
%% revision 0.12 1999/03/07 michael
%% Corrected rudder key
%% revision 0.20 1999/06/04 michael
%% HUD completely rewritten, added panel section with picture, and menu section
%% updated keystrokes

View file

@ -1,448 +1,456 @@
%%
%% getstart.tex -- Flight Gear documentation: Installation and Getting Started
%% Chapter file
%%
%% Written by Michael Basler, started September 1998.
%%
%% Copyright (C) 1999 Michael Basler (pmb@knUUt.de)
%%
%%
%% This program is free software; you can redistribute it and/or
%% modify it under the terms of the GNU General Public License as
%% published by the Free Software Foundation; either version 2 of the
%% License, or (at your option) any later version.
%%
%% This program is distributed in the hope that it will be useful, but
%% WITHOUT ANY WARRANTY; without even the implied warranty of
%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
%% General Public License for more details.
%%
%% You should have received a copy of the GNU General Public License
%% along with this program; if not, write to the Free Software
%% Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
%%
%% $Id: getstart.tex,v 0.20 1999/06/04 michael
%% (Log is kept at end of this file)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\chapter{Want to have a free flight? Take {\FlightGear}!\label{free}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Yet another Flight Simulator?}
\markboth{\thechapter.\hspace*{1mm} WANT TO HAVE A FREE
FLIGHT?}{\thesection\hspace*{1mm} YET ANOTHER FLIGHT SIMULATOR?}
Did you ever want to fly a plane yourself, but lacked the money or
skills to do so? Do you belong to those real pilots, who want to
improve their skills without having to take off? Do you want to
try some dangerous maneuvers without risking your life? Or do you
just want to have fun with a more serious game not killing any
people? If any of these questions applies, PC flight simulators
are just for you.
If you are reading this you might have got already some experience either using
\Index{Microsoft}'s {\copyright} \Index{FS98}, \Index{Looking Glass}' {\copyright}
\Index{Flight Unlimited II} or any other of the commercially available PC flight
simulators. As the price tag of those is usually within the 50\$ range buying one of them
should not be a serious problem given the fact, that running any serious PC flight
simulator requires a hardware within the 1500\$ range, despite dropping prices, at least.
Why then that effort of spending hundreds or thousands of hours of
programming to build a free simulator? Obviously there must be
good reason to do so:
\begin{itemize}
\item All of the commercial programs have a serious drawback: They are made
by a small group of developers defining their properties - often
quite inert and not listening too much to the customer.
Anyone ever trying to contact \Index{Microsoft} will
immediately agree.
\item Commercial PC flight simulators usually try to cover a market
segment as broad as possible. For obvious reason, most of them want
to serve the serious pilot as well as the beginner and the gamer.
The result are compromises. As \FlightGear is free, there is no need
for such compromises; it just can be given the properties its users
want. It defines itself via building.
\item Building a flight simulator is a challenge to the art of
programming. Contributing to that project makes you belong to
those being able to contribute to serious, ambitious and
advanced software projects.
\item It is fun. Not only is it fun to write the code (\ldots or
documentation\ldots) but also to belong to that -- temporarily changing
-- club of clever people on the net having discussed, struggled and finally
succeeded in creating that project. Even reading the \FlightGear
mailing lists is informative and fun for itself.
\end{itemize}
The above-mentioned points make \FlightGear different from its competitors in several
respect. \FlightGear aims to be a civilian,\index{Flight simulator!civilian}
multi-platform,\index{Flight simulator!multi-platform} open,\index{Flight simulator!open}
user-supported,\index{Flight simulator!user-sported} user-extensible\index{Flight
simulator!user-extensible} simulator.
\begin{itemize}
\item \textbf{Civilian:}\index{Flight simulator!civilian} The
project is primarily aimed to civilian flight simulation.
It should be appropriate for simulating
general aviation as well as civilian aircraft. However, according to
the open concept of development that sure does not exclude someone
taking the code and integrating \Index{military components}.
\item\textbf{Multi-platform:}\index{Flight simulator!multi-platform} The
developers are attempting to keep the code as platform-independent
as possible. This is based on their observation that
people interested in flight simulations run quite
a variety of computer hardware and operating systems. The present code
supports the following \Index{Operating Systems}:
\begin{itemize}
\item\Index{Linux} (any platform),
\item\Index{Windows NT} (i86 platform),
\item\Index{Windows 98(95)},
\item\Index{BSD UNIX},
\item\Index{SGI IRIX},
\item\Index{SunOS},
\item{MacIntosh (experimental).}
\end{itemize}
There is no known flight simulator, neither commercially nor free, supporting such a
broad range of platforms.
\item\textbf{Open:}\index{Flight simulator!open} The project is not
restricted to a closed club of developers. Anyone who feels he or she
being able to contribute is highly welcome.
The code (including documentation) is copyrighted under the
terms of the \Index{Gnu Public License}.
The Gnu Public License is often misunderstood. In simple terms it
states that you can copy and freely distribute the program(s) licensed
to it. You can modify them, if you like. You are even allowed to charge
as much money for the distribution of the modified or original program as you want.
However, you must distribute it complete with the entire source code
and it must retain the original copyrights. In short:
\medskip
\centerline{\textit{''You can do anything with the software except
making it non-free''}.}
The full text of the \Index{Gnu Public License} can be obtained from
\web{http://www.gnu.org/copyleft/gpl.html}.
\item\textbf{User-supported, user-extensible:}\index{Flight simulator!user-supported}
\index{Flight simulator!user-extensible} Contrary to various
commercial simulators available, scenery and aircraft format,
internal variables, etc. are user accessible and documented
from the beginning. Even without an explicit developmental \Index{documentation},
which sure has to be written at some point, this is guaranteed by supplying the
\Index{source code}. It is the goal of the developers to build a basic
engine to which scenery designers, panel engineers, maybe adventure
or ATC routine writers, sound capturers and others can (and are asked to)
add. It is our hope, that the project will finally gain from the creativeness
and ideas of the hundreds of talented simmers across the world.
\end{itemize}
Without doubt, the success of the \Index{Linux} project initiated by Linus
Torvalds\index{Torvalds, Linus} inspired several of the developers.
Not only has it shown that distributed development of even highly sophisticated
software projects over the Internet is possible. It led to a product which,
in several respect, is better than its commercial competitors.
\section{A short \Index{history} of \FlightGear}
This project goes back to a discussion of a group of net-citizens in 1996 resulting in a
proposal written by David Murr\index{Murr, David} who, unfortunately, dropped out from
the project (as well as the net) later. The original \Index{proposal} is still available
from the \FlightGear web site and can be found under
\web{http://www.flightgear.org/proposal-3.0.1}
Although the names of the people and several of the details
naturally changed in time, the spirit of that proposal was clearly
retained up to the present status of the project.
Actual coding started in summer 1996 and by the end of that year essential graphics
routines were completed. At that time, programming was mainly done and coordinated by
Eric Korpela\index{Korpela, Eric} from Berkeley University
(\mail{korpela@ssl.Berkeley.EDU}). Early code was running under \Index{Linux} as well as
under \Index{DOS}, \Index{OS/2}, \Index{Windows 95/NT}, and \Index{Sun-OS}. This was
quite an ambitious project, as it involved, among others, writing all the \Index{graphics
routines} in a system-independent way just from scratch.
Development slowed down and finally stopped at the beginning of 1997 when Eric had to
complete his thesis. At this point, the project seemed to be dead and traffic on the
mailing list went down to nearly nothing.
It was Curt Olson\index{Olson, Curt} from the University of Minnesota
(\mail{curt@flightgear.org}) who re-started the project in the middle of 1997. His idea
was as simple as successful: Why invent the wheel a second time? There have been several
free flight simulators\index{Flight simulator!free} available running on
\Index{workstation}s under different flavors of \Index{UNIX}. One of these,
\Index{LaRCsim}, having been developed by Bruce Jackson\index{Jackson, Bruce} from NASA
(\mail{jackson@larc.nasa.gov}) seemed to be well-adapted for the present approach. Curt
took this one apart and re-wrote several of the routines in a way making them build-able
as well as run-able on the intended target platforms. The key idea in doing so was
selecting a system-independent graphics platform, i.\,e. \Index{OpenGL}, for the basic
\Index{graphics routines}.
\medskip
\centerline{
\includegraphics[clip,width=12.5cm]{navion.eps}
}
\smallskip
\noindent
Fig.\,1: \textit{The \Index{Navion} flight model is one of the features \FlightGear
inherited from \Index{LaRCsim}. Until now it is the only one plane being fully realized
in \FlightGear\hspace{-1mm}.}
\medskip
In addition, a clever decision on the selection of the basic \Index{scenery} data was
already made in this very first version. \FlightGear Scenery is created based on
satellite data published by the \Index{U.\,S. Geological Survey}. These terrain data are
available for the whole world over the Internet for free from
\web{http://edcwww.cr.usgs.gov/doc/edchome/ndcdb/ndcdb.html}
\noindent
for the US resp.
\web{http://edcwww.cr.usgs.gov/landdaac/gtopo30/gtopo30.html}
\noindent
for other countries. Those freely accessible scenery data in
conjunction with scenery building tools provided with
\FlightGear are an important prerequisite enabling anyone to
create his or her own scenery, at least in principle.
This new \FlightGear code - still largely being based on original \Index{LaRCsim} code -
was released in July 1997. From that moment the project gained momentum again. Here are
some milestones from the more recent history of development:
\begin{itemize}
\item Sun, moon and stars are a field where PC flight simulators
have been notoriously weak for ages. It is one of the great
achievements of \FlightGear that it includes accurate sun (watch, Microsoft!),
moon, and planets, being moreover placed on their proper positions.
The corresponding \Index{astronomy code} was implemented in fall 1997 by Durk
Talsma\index{Talsma, Durk}
(\href{mailto:pn_talsma@macmail.psy.uva.nl}{pn\_talsma@macmail.psy.uva.nl}).
\item Texture support\index{textures} was added by Curt
Olson\index{Olson, Curt}
(\mail{curt@flightgear.org}) in spring 1998. This marked a
significant improvement in terms of reality. You may recall: MSFS had
untextured scenery up to version 4.0. For this purpose, some high-quality
textures were submitted by Eric Mitchell\index{Mitchell, Eric}
(\href{mailto:mitchell@mars.ark.com}{mitchell@mars. ark.com}.
\item A \Index{HUD} (\Index{head up display}) was added based on code
provided by Michele America\index{America, Michele}
(\mail{nomimarketing@mail.telepac.pt}) and
Charlie Hotch\-kiss\index{Hotchkiss, Charlie}
(\href{mailto:chotchkiss@namg.us.anritsu.com}{chotch kiss@namg.us.anritsu.com})
in fall 1997 and continuously improved later, mainly by Norman Vine
(\mail{nhv@laserplot.com}).
While being probably not a substitute for a \Index{panel} and moreover
possibly being a bit odd in that tiny \Index{Navion}, this \Index{HUD} has proven
extremely useful in navigation until now.
\item After improving scenery\index{scenery} and
texture\index{textures} support and adding some more
features there was a disappointing side-effect in spring 1998: Frame
rates\index{frame rate} dropped down to a point where \FlightGear became inflyable. There
were two main achievements overcoming this problem. First, with the advent
of hardware \Index{OpenGL} support and corresponding drivers for most of
the graphics cards these features could be exploited in
\FlightGear as well, leading to a \Index{frame rate} boost by a
factor up to 10. Second, Curt Olson\index{Olson, Curt} (\mail{curt@flightgear.org})
implemented so-called \Index{view frustrum culling} (a procedure to except part of
the scenery not required from rendering) which gave another 20\% or so of
frame rate boost in May 1998.
With these two achievements \FlightGear became flyable again even on weaker
machines as long as they included a 3D graphics board with
hardware \Index{OpenGL} support. With respect to this point one should keep in mind that code
at present is in no way optimized leaving a lot of room for further
improvements of frame rate.
\item A rudimentary \Index{autopilot} implementing heading hold was
contributed by Jeff Goeke-Smith\index{Goeke-Smith, Jeff} (\mail{jgoeke@voyager.net}) in
April 1998. The autopilot was improved, included adding an altitude hold and a terrain
follow switch, in October 1998.
\item The basics for selectable \Index{menu}s were laid based on Steve Baker's\index{Baker, Steve}
(\mail{sjbaker@ hti.com}) portable library \Index{PLIB} in June 1998. After having been idle for a
long time, first working menu entries came to life in spring 1999.
\item Friedemann Reinhard \index{Reinhard, Friedemann}
(\mail{mpt218@faupt212.physik.uni-erlangen.de})
developed early \Index{panel code}, including a working \Index{airspeed
indicator}, which was added in June 1998 and has been considerably improved until today.
\item There was basic \Index{audio support}, i.\,e. an audio library and some basic background engine sound, contributed by Steve
Baker (\mail{sjbaker@hti.com})\index{Baker, Steve} in Summer 1998. Today, the audio
library is part of Steves's above-mentioned portable library \Index{PLIB}. This same
library was extended to support joystick /yoke/rudder later which brought \FlightGear
joystick support in October 1989, again marking a huge improvement in terms of realism.
\item In September 1998 Curt Olson\index{Olson, Curt}
(\mail{curt@flightgear.org}) succeeded in creating first complete terrain Scenery for the
USA, which is available for download from
\web{ftp://ftp.kingmont.com/pub/kingmont/}
Scenery was further improved by Curt via adding features like lakes, rivers, coastlines
and the like in spring 1999.
\end{itemize}
\longpage
This is by no way a complete history and a lot of people making even important
contributions were left out here. Besides the named achievements being more on the
surface there was a lot of work done concerning the internal structure, by Steve
Baker\index{Baker, Steve} (\mail{sjbaker@hti.com})\index{Baker, Steve}, Norman
Vine\index{Vine, Norman} (\mail{nhv@laserplot.com}), Gary R. Van Sickle\index{Van Sickle,
Gary, R.} (\mail{tiberius@braemarinc.com}), and others. A more complete list of
contributors to the project can be found in \textit{Landing: Some further thoughts before
leaving the plane}, Chapter \ref{landing}, as well as in the file \texttt{Thanks}
provided with the code. Moreover, the \Index{\FlightGear Website} contains a detailed
history of all of the development under
\web{http://www.flightgear.org/News/}
\section{System requirements}\index{system requirements}
Compared to other recent flight simulators the system requirements
for \FlightGear are rather decent. A P100 is already sufficient,
given you have a proper 3D graphics card, but of course for
getting good performance we recommend a P200 or better, if you run
it on a PC. On the other hand, any not too ancient \Index{UNIX}
\Index{workstation} will run \FlightGear as well.
While in principle you can run \FlightGear on 3D boards without OpenGL support or even on
systems without 3D graphics hardware at all, missing hardware OpenGL support can force
even the fastest PIII to its knees (\Index{frame rate}s typically below 1 fps). Any cheap
3D graphics card will do as long as it features hardware \Index{OpenGL} support. For
\Index{Windows 98/NT} drivers, you may contact the home page of the manufacturer.
Moreover, you should have in mind that several OpenGL drivers\index{OpenGL!drivers} are
still marked as beta and moreover, and sometimes these drivers are provided by the makers
of the graphics chip instead of the makers of the board. More detail on OpenGL drivers
can be found under
\web{http://www.x-plane.com/v4ibm.html}
\noindent
as well as under
\web{http://www.flightgear.org/Hardware}.
Next, you need around 16MB of free disk space for installing the executable including
basic scenery. In case you want to compile the program yourself you need around 50MB for
the source code and for temporary files created during compilation, independent of the
operating system.
If you want to hear the \Index{sound effects} any decent \Index{sound card} should serve.
Besides, \FlightGear supports a \Index{joystick} or \Index{yoke} as well as \Index{rudder
pedals} under \Index{Linux} as well as under \Index{Windows}.
With respect to operating systems, \FlightGear is being primarily developed under
\Index{Linux}, a free UNIX clone developed cooperatively over the net in much the same
way as the \FlightGear project itself. Moreover, \FlightGear runs under \Index{Windows
95}, \Index{Windows 98} and \Index{Windows NT} and given you have a proper
\Index{compiler} installed can be build under all of these platforms as well. The primary
compiler for all platforms is the free \Index{GNU C++} (i.\,e. the \Index{Cygnus}
compiler under Win32), however there is some support for \Index{MSVC} as well. Moreover,
\FlightGear runs and can be build on several \Index{UNIX}/X11 platforms with GNU C++
installed.
\section{Whom this guide is addressed to and how it is organized}
At first: There is not much of the material in this Guide being originally invented by
ourself. You could even say with Montaigne that we ''merely gathered here a big bunch of
other men's flowers, having furnished nothing of my own but the strip to hold them
together''. Most (but fortunately not all) of the information can as well be grabbed from
the \Index{\FlightGear home page} being situated at
\web{http://www.flightgear.org/}
\noindent
and its various sub pages. However, there still seems to
be a small group of people preferring neatly printed manuals over
loosely scattered Readmes and those may acknowledge our effort.
This \textit{Installation and Getting Started} is intended as being a first step towards
a more complete \Index{\FlightGear documentation} (with the other parts, supposedly, to
be written by others). Its main addressee is the end-user who is not interested in the
internal workings of \Index{OpenGL} or in building his or her own scenery, for instance.
It is our hope, that sometime there will be an accompanying \textit{\Index{\FlightGear
Programmer's Guide}}, which could be based on some of the documentation under
\web{http://www.flightgear.org/Docs},
\noindent
a \textit{\Index{\FlightGear Scenery Design Guide}}, and a
\textit{\Index{\FlightGear Flight School}}, at least.
This \textit{Installation and Getting Started} is organized as
follows:
The first Chapter \ref{opengl}, \textit{Getting the engine: Installing OpenGL graphics
drivers}, describes how to prepare the computer for handling \FlightGear's graphics
routines. \FlightGear is based on a graphics library called OpenGL, thus you must install
either hardware or software OpenGL support for your graphics board (except, you did so
before).
Chapter \ref{building}, \textit{Building the plane: Compiling the program}, explains how
to build, i.\,e. compile the simulator. Depending on your platform this may or may not be
required for you. There will at least be binaries available for those working on a Win32
(i.\,e. Windows 98 {\copyright} or Windows NT {\copyright}) platform. For those on such
systems, who want to take off immediately without going through the potentially
troublesome process of compiling, we recommend just skipping that Chapter and going
directly to the next one.
In Chapter \ref{prefligh}, \textit{Preflight: Installing \FlightGear}, you find
instructions for installing the binaries in case you did not so by building them in the
previous Chapter. Moreover, you'll have to install scenery and texture files, which will
be described there, too.
The following Chapter \ref{takeoff}, \textit{Takeoff: How to start the program},
describes how to start the program including an overview on the command line options.
Chapter \ref{flight}, \textit{Flight: All about instruments, keystrokes and menus},
describes how to operate the program, i.\,e. to actually fly with
\FlightGear\hspace{-1mm}. This includes a (hopefully) complete list of key strokes, an
overview on the menu entries, as well as a detailed description of the HUD (head up
display) and the panel.
In Chapter \ref{landing}, \textit{Landing: Some further thoughts before leaving the
plane}, we would like to give credits to those who did the hard work, and give an outlook
on what remains to be done.
Finally: \textbf{We kindly ask others to help us improving this document by submitting
corrections, improvements, and more. Notably, we invite others to contribute descriptions
referring to alternative setups (graphics cards, operating systems, and compilers etc.).
We will be more than happy to include those into forthcoming versions of this
\textit{Installation and Getting Started} (of course not without giving credit to the
authors).}
We hope to continuously maintain this document at least for a foreseeable future, but
probably will not be able to produce a new one for any single release of {\FlightGear}.
While we are both watching the mailing lists, it might help, if developers adding new
functionality could send us a short note.
%% Revision 0.00 1998/09/08 michael
%% Initial revision for version 0.53.
%% Revision 0.01 1998/09/20 michael
%% several extensions and corrections
%% revision 0.10 1998/10/01 michael
%% final proofreading for release
%% revision 0.11 1998/11/01 michael
%% minor corrections on platforms, satellite data, OpenGL (S. Baker)
%% added Navion pic
%% revision 0.12 1999/03/07 michael
%% update on recent development
%% revision 0.20 1999/06/04 michael
%% updates on recent development, corrections of links
%%
%% getstart.tex -- Flight Gear documentation: Installation and Getting Started
%% Chapter file
%%
%% Written by Michael Basler, started September 1998.
%%
%% Copyright (C) 1999 Michael Basler (pmb@knUUt.de)
%%
%%
%% This program is free software; you can redistribute it and/or
%% modify it under the terms of the GNU General Public License as
%% published by the Free Software Foundation; either version 2 of the
%% License, or (at your option) any later version.
%%
%% This program is distributed in the hope that it will be useful, but
%% WITHOUT ANY WARRANTY; without even the implied warranty of
%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
%% General Public License for more details.
%%
%% You should have received a copy of the GNU General Public License
%% along with this program; if not, write to the Free Software
%% Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
%%
%% $Id: getstart.tex,v 0.20 1999/06/04 michael
%% (Log is kept at end of this file)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\chapter{Want to have a free flight? Take {\FlightGear}!\label{free}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Yet another Flight Simulator?}
\markboth{\thechapter.\hspace*{1mm} WANT TO HAVE A FREE
FLIGHT?}{\thesection\hspace*{1mm} YET ANOTHER FLIGHT SIMULATOR?}
Did you ever want to fly a plane yourself, but lacked the money or
skills to do so? Do you belong to those real pilots, who want to
improve their skills without having to take off? Do you want to
try some dangerous maneuvers without risking your life? Or do you
just want to have fun with a more serious game not killing any
people? If any of these questions applies, PC flight simulators
are just for you.
If you are reading this you might have got already some experience either using
\Index{Microsoft}'s {\copyright} \Index{FS98}, \Index{Looking Glass}' {\copyright}
\Index{Flight Unlimited II} or any other of the commercially available PC flight
simulators. As the price tag of those is usually within the 50\$ range buying one of them
should not be a serious problem given the fact, that running any serious PC flight
simulator requires a hardware within the 1500\$ range, despite dropping prices, at least.
Why then that effort of spending hundreds or thousands of hours of
programming to build a free simulator? Obviously there must be
good reason to do so:
\begin{itemize}
\item All of the commercial programs have a serious drawback: They are made
by a small group of developers defining their properties - often
quite inert and not listening too much to the customer.
Anyone ever trying to contact \Index{Microsoft} will
immediately agree.
\item Commercial PC flight simulators usually try to cover a market
segment as broad as possible. For obvious reason, most of them want
to serve the serious pilot as well as the beginner and the gamer.
The result are compromises. As \FlightGear is free, there is no need
for such compromises; it just can be given the properties its users
want. It defines itself via building.
\item Building a flight simulator is a challenge to the art of
programming. Contributing to that project makes you belong to
those being able to contribute to serious, ambitious and
advanced software projects.
\item It is fun. Not only is it fun to write the code (\ldots or
documentation\ldots) but also to belong to that -- temporarily changing
-- club of clever people on the net having discussed, struggled and finally
succeeded in creating that project. Even reading the \FlightGear
mailing lists is informative and fun for itself.
\end{itemize}
The above-mentioned points make \FlightGear different from its competitors in several
respect. \FlightGear aims to be a civilian,\index{Flight simulator!civilian}
multi-platform,\index{Flight simulator!multi-platform} open,\index{Flight simulator!open}
user-supported,\index{Flight simulator!user-sported} user-extensible\index{Flight
simulator!user-extensible} simulator.
\begin{itemize}
\item \textbf{Civilian:}\index{Flight simulator!civilian} The
project is primarily aimed to civilian flight simulation.
It should be appropriate for simulating
general aviation as well as civilian aircraft. However, according to
the open concept of development that sure does not exclude someone
taking the code and integrating \Index{military components}.
\item\textbf{Multi-platform:}\index{Flight simulator!multi-platform} The
developers are attempting to keep the code as platform-independent
as possible. This is based on their observation that
people interested in flight simulations run quite
a variety of computer hardware and operating systems. The present code
supports the following \Index{Operating Systems}:
\begin{itemize}
\item\Index{Linux} (any platform),
\item\Index{Windows NT} (i86 platform),
\item\Index{Windows 98(95)},
\item\Index{BSD UNIX},
\item\Index{SGI IRIX},
\item\Index{SunOS},
\item{MacIntosh (experimental).}
\end{itemize}
There is no known flight simulator, neither commercially nor free, supporting such a
broad range of platforms.
\item\textbf{Open:}\index{Flight simulator!open} The project is not
restricted to a closed club of developers. Anyone who feels he or she
being able to contribute is highly welcome.
The code (including documentation) is copyrighted under the
terms of the \Index{Gnu Public License}.
The Gnu Public License is often misunderstood. In simple terms it
states that you can copy and freely distribute the program(s) licensed
to it. You can modify them, if you like. You are even allowed to charge
as much money for the distribution of the modified or original program as you want.
However, you must distribute it complete with the entire source code
and it must retain the original copyrights. In short:
\medskip
\centerline{\textit{''You can do anything with the software except
making it non-free''}.}
The full text of the \Index{Gnu Public License} can be obtained from
\web{http://www.gnu.org/copyleft/gpl.html}.
\item\textbf{User-supported, user-extensible:}\index{Flight simulator!user-supported}
\index{Flight simulator!user-extensible} Contrary to various
commercial simulators available, scenery and aircraft format,
internal variables, etc. are user accessible and documented
from the beginning. Even without an explicit developmental \Index{documentation},
which sure has to be written at some point, this is guaranteed by supplying the
\Index{source code}. It is the goal of the developers to build a basic
engine to which scenery designers, panel engineers, maybe adventure
or ATC routine writers, sound capturers and others can (and are asked to)
add. It is our hope, that the project will finally gain from the creativeness
and ideas of the hundreds of talented simmers across the world.
\end{itemize}
Without doubt, the success of the \Index{Linux} project initiated by Linus
Torvalds\index{Torvalds, Linus} inspired several of the developers.
Not only has it shown that distributed development of even highly sophisticated
software projects over the Internet is possible. It led to a product which,
in several respect, is better than its commercial competitors.
\section{A short \Index{history} of \FlightGear}
This project goes back to a discussion of a group of net-citizens in 1996 resulting in a
proposal written by David Murr\index{Murr, David} who, unfortunately, dropped out from
the project (as well as the net) later. The original \Index{proposal} is still available
from the \FlightGear web site and can be found under
\web{http://www.flightgear.org/proposal-3.0.1}
Although the names of the people and several of the details
naturally changed in time, the spirit of that proposal was clearly
retained up to the present status of the project.
Actual coding started in summer 1996 and by the end of that year essential graphics
routines were completed. At that time, programming was mainly done and coordinated by
Eric Korpela\index{Korpela, Eric} from Berkeley University
(\mail{korpela@ssl.Berkeley.EDU}). Early code was running under \Index{Linux} as well as
under \Index{DOS}, \Index{OS/2}, \Index{Windows 95/NT}, and \Index{Sun-OS}. This was
quite an ambitious project, as it involved, among others, writing all the \Index{graphics
routines} in a system-independent way just from scratch.
Development slowed down and finally stopped at the beginning of 1997 when Eric had to
complete his thesis. At this point, the project seemed to be dead and traffic on the
mailing list went down to nearly nothing.
It was Curt Olson\index{Olson, Curt} from the University of Minnesota
(\mail{curt@flightgear.org}) who re-started the project in the middle of 1997. His idea
was as simple as successful: Why invent the wheel a second time? There have been several
free flight simulators\index{Flight simulator!free} available running on
\Index{workstation}s under different flavors of \Index{UNIX}. One of these,
\Index{LaRCsim}, having been developed by Bruce Jackson\index{Jackson, Bruce} from NASA
(\mail{jackson@larc.nasa.gov}) seemed to be well-adapted for the present approach. Curt
took this one apart and re-wrote several of the routines in a way making them build-able
as well as run-able on the intended target platforms. The key idea in doing so was
selecting a system-independent graphics platform, i.\,e. \Index{OpenGL}, for the basic
\Index{graphics routines}.
\medskip
\centerline{
\includegraphics[clip,width=12.5cm]{navion.eps}
}
\smallskip
\noindent
Fig.\,1: \textit{The \Index{Navion} flight model is one of the features \FlightGear
inherited from \Index{LaRCsim}. Until now it is the only one plane being fully realized
in \FlightGear\hspace{-1mm}.}
\medskip
In addition, a clever decision on the selection of the basic \Index{scenery} data was
already made in this very first version. \FlightGear Scenery is created based on
satellite data published by the \Index{U.\,S. Geological Survey}. These terrain data are
available for the whole world over the Internet for free from
\web{http://edcwww.cr.usgs.gov/doc/edchome/ndcdb/ndcdb.html}
\noindent
for the US resp.
\web{http://edcwww.cr.usgs.gov/landdaac/gtopo30/gtopo30.html}
\noindent
for other countries. Those freely accessible scenery data in
conjunction with scenery building tools provided with
\FlightGear are an important prerequisite enabling anyone to
create his or her own scenery, at least in principle.
This new \FlightGear code - still largely being based on original \Index{LaRCsim} code -
was released in July 1997. From that moment the project gained momentum again. Here are
some milestones from the more recent history of development:
\begin{itemize}
\item Sun, moon and stars are a field where PC flight simulators
have been notoriously weak for ages. It is one of the great
achievements of \FlightGear that it includes accurate sun (watch, Microsoft!),
moon, and planets, being moreover placed on their proper positions.
The corresponding \Index{astronomy code} was implemented in fall 1997 by Durk
Talsma\index{Talsma, Durk}
(\href{mailto:pn_talsma@macmail.psy.uva.nl}{pn\_talsma@macmail.psy.uva.nl}).
\item Texture support\index{textures} was added by Curt
Olson\index{Olson, Curt}
(\mail{curt@flightgear.org}) in spring 1998. This marked a
significant improvement in terms of reality. You may recall: MSFS had
untextured scenery up to version 4.0. For this purpose, some high-quality
textures were submitted by Eric Mitchell\index{Mitchell, Eric}
(\href{mailto:mitchell@mars.ark.com}{mitchell@mars. ark.com}.
\item A \Index{HUD} (\Index{head up display}) was added based on code
provided by Michele America\index{America, Michele}
(\mail{nomimarketing@mail.telepac.pt}) and
Charlie Hotch\-kiss\index{Hotchkiss, Charlie}
(\href{mailto:chotchkiss@namg.us.anritsu.com}{chotch kiss@namg.us.anritsu.com})
in fall 1997 and continuously improved later, mainly by Norman Vine
(\mail{nhv@laserplot.com}).
While being probably not a substitute for a \Index{panel} and moreover
possibly being a bit odd in that tiny \Index{Navion}, this \Index{HUD} has proven
extremely useful in navigation until now.
\item After improving scenery\index{scenery} and
texture\index{textures} support and adding some more
features there was a disappointing side-effect in spring 1998: Frame
rates\index{frame rate} dropped down to a point where \FlightGear became inflyable. There
were two main achievements overcoming this problem. First, with the advent
of hardware \Index{OpenGL} support and corresponding drivers for most of
the graphics cards these features could be exploited in
\FlightGear as well, leading to a \Index{frame rate} boost by a
factor up to 10. Second, Curt Olson\index{Olson, Curt} (\mail{curt@flightgear.org})
implemented so-called \Index{view frustrum culling} (a procedure to except part of
the scenery not required from rendering) which gave another 20\% or so of
frame rate boost in May 1998.
With these two achievements \FlightGear became flyable again even on weaker
machines as long as they included a 3D graphics board with
hardware \Index{OpenGL} support. With respect to this point one should keep in mind that code
at present is in no way optimized leaving a lot of room for further
improvements of frame rate.
\item A rudimentary \Index{autopilot} implementing heading hold was
contributed by Jeff Goeke-Smith\index{Goeke-Smith, Jeff} (\mail{jgoeke@voyager.net}) in
April 1998. The autopilot was improved, included adding an altitude hold and a terrain
follow switch, in October 1998.
\item The basics for selectable \Index{menu}s were laid based on Steve Baker's\index{Baker, Steve}
(\mail{sjbaker@ hti.com}) portable library \Index{PLIB} in June 1998. After having been idle for a
long time, first working menu entries came to life in spring 1999.
\item Friedemann Reinhard \index{Reinhard, Friedemann}
(\mail{mpt218@faupt212.physik.uni-erlangen.de})
developed early \Index{panel code}, including a working \Index{airspeed
indicator}, which was added in June 1998 and has been considerably improved until today.
\item There was basic \Index{audio support}, i.\,e. an audio library and some basic background engine sound, contributed by Steve
Baker (\mail{sjbaker@hti.com})\index{Baker, Steve} in Summer 1998. Today, the audio
library is part of Steves's above-mentioned portable library \Index{PLIB}. This same
library was extended to support joystick /yoke/rudder later which brought \FlightGear
joystick support in October 1989, again marking a huge improvement in terms of realism.
\item In September 1998 Curt Olson\index{Olson, Curt}
(\mail{curt@flightgear.org}) succeeded in creating first complete terrain Scenery for the
USA, which is available for download from
\web{ftp://ftp.kingmont.com/pub/kingmont/}
Scenery was further improved by Curt via adding features like lakes, rivers, coastlines
and the like in spring 1999.
\item In June 1999 there was a split of the source tree into a stable and a developmental
branch. Even version numbers as 0.6, 0.8, and (hopefully) 1.0 refer to stable versions
being intended for general use while odd versions as 0.7 and so on refer to developmental
versions. Policy is to do only bug fixes in the even versions, while new features are
generally added to odd-numbered versions, which finally after things stabilized will turn
into the next stable version by adding 0.1. At present (and probably in the future), this
guide refers to the stable branch. \label{branches}
\end{itemize}
\longpage
This is by no way a complete history and a lot of people making even important
contributions were left out here. Besides the named achievements being more on the
surface there was a lot of work done concerning the internal structure, by Steve
Baker\index{Baker, Steve} (\mail{sjbaker@hti.com})\index{Baker, Steve}, Norman
Vine\index{Vine, Norman} (\mail{nhv@laserplot.com}), Gary R. Van Sickle\index{Van Sickle,
Gary, R.} (\mail{tiberius@braemarinc.com}), and others. A more complete list of
contributors to the project can be found in \textit{Landing: Some further thoughts before
leaving the plane}, Chapter \ref{landing}, as well as in the file \texttt{Thanks}
provided with the code. Moreover, the \Index{\FlightGear Website} contains a detailed
history of all of the development under
\web{http://www.flightgear.org/News/}
\section{System requirements}\index{system requirements}
Compared to other recent flight simulators the system requirements
for \FlightGear are rather decent. A P100 is already sufficient,
given you have a proper 3D graphics card, but of course for
getting good performance we recommend a P200 or better, if you run
it on a PC. On the other hand, any not too ancient \Index{UNIX}
\Index{workstation} will run \FlightGear as well.
While in principle you can run \FlightGear on 3D boards without OpenGL support or even on
systems without 3D graphics hardware at all, missing hardware OpenGL support can force
even the fastest PIII to its knees (\Index{frame rate}s typically below 1 fps). Any cheap
3D graphics card will do as long as it features hardware \Index{OpenGL} support. For
\Index{Windows 98/NT} drivers, you may contact the home page of the manufacturer.
Moreover, you should have in mind that several OpenGL drivers\index{OpenGL!drivers} are
still marked as beta and moreover, and sometimes these drivers are provided by the makers
of the graphics chip instead of the makers of the board. More detail on OpenGL drivers
can be found under
\web{http://www.x-plane.com/v4ibm.html}
\noindent
as well as under
\web{http://www.flightgear.org/Hardware}.
Next, you need around 16MB of free disk space for installing the executable including
basic scenery. In case you want to compile the program yourself you need around 50MB for
the source code and for temporary files created during compilation, independent of the
operating system.
If you want to hear the \Index{sound effects} any decent \Index{sound card} should serve.
Besides, \FlightGear supports a \Index{joystick} or \Index{yoke} as well as \Index{rudder
pedals} under \Index{Linux} as well as under \Index{Windows}.
With respect to operating systems, \FlightGear is being primarily developed under
\Index{Linux}, a free UNIX clone developed cooperatively over the net in much the same
way as the \FlightGear project itself. Moreover, \FlightGear runs under \Index{Windows
95}, \Index{Windows 98} and \Index{Windows NT} and given you have a proper
\Index{compiler} installed can be build under all of these platforms as well. The primary
compiler for all platforms is the free \Index{GNU C++} (i.\,e. the \Index{Cygnus}
compiler under Win32), however there is some support for \Index{MSVC} as well. Moreover,
\FlightGear runs and can be build on several \Index{UNIX}/X11 platforms with GNU C++
installed.
\section{Whom this guide is addressed to and how it is organized}
At first: There is not much of the material in this Guide being originally invented by
ourself. You could even say with Montaigne that we ''merely gathered here a big bunch of
other men's flowers, having furnished nothing of my own but the strip to hold them
together''. Most (but fortunately not all) of the information can as well be grabbed from
the \Index{\FlightGear home page} being situated at
\web{http://www.flightgear.org/}
\noindent
and its various sub pages. However, there still seems to
be a small group of people preferring neatly printed manuals over
loosely scattered Readmes and those may acknowledge our effort.
This \textit{Installation and Getting Started} is intended as being a first step towards
a more complete \Index{\FlightGear documentation} (with the other parts, supposedly, to
be written by others). Its main addressee is the end-user who is not interested in the
internal workings of \Index{OpenGL} or in building his or her own scenery, for instance.
It is our hope, that sometime there will be an accompanying \textit{\Index{\FlightGear
Programmer's Guide}}, which could be based on some of the documentation under
\web{http://www.flightgear.org/Docs},
\noindent
a \textit{\Index{\FlightGear Scenery Design Guide}}, and a
\textit{\Index{\FlightGear Flight School}}, at least.
This \textit{Installation and Getting Started} is organized as
follows:
The first Chapter \ref{opengl}, \textit{Getting the engine: Installing OpenGL graphics
drivers}, describes how to prepare the computer for handling \FlightGear's graphics
routines. \FlightGear is based on a graphics library called OpenGL, thus you must install
either hardware or software OpenGL support for your graphics board (except, you did so
before).
Chapter \ref{building}, \textit{Building the plane: Compiling the program}, explains how
to build, i.\,e. compile the simulator. Depending on your platform this may or may not be
required for you. There will at least be binaries available for those working on a Win32
(i.\,e. Windows 98 {\copyright} or Windows NT {\copyright}) platform. For those on such
systems, who want to take off immediately without going through the potentially
troublesome process of compiling, we recommend just skipping that Chapter and going
directly to the next one.
In Chapter \ref{prefligh}, \textit{Preflight: Installing \FlightGear}, you find
instructions for installing the binaries in case you did not so by building them in the
previous Chapter. Moreover, you'll have to install scenery and texture files, which will
be described there, too.
The following Chapter \ref{takeoff}, \textit{Takeoff: How to start the program},
describes how to start the program including an overview on the command line options.
Chapter \ref{flight}, \textit{Flight: All about instruments, keystrokes and menus},
describes how to operate the program, i.\,e. to actually fly with
\FlightGear\hspace{-1mm}. This includes a (hopefully) complete list of key strokes, an
overview on the menu entries, as well as a detailed description of the HUD (head up
display) and the panel.
In Chapter \ref{landing}, \textit{Landing: Some further thoughts before leaving the
plane}, we would like to give credits to those who did the hard work, and give an outlook
on what remains to be done.
Finally: \textbf{We kindly ask others to help us improving this document by submitting
corrections, improvements, and more. Notably, we invite others to contribute descriptions
referring to alternative setups (graphics cards, operating systems, and compilers etc.).
We will be more than happy to include those into forthcoming versions of this
\textit{Installation and Getting Started} (of course not without giving credit to the
authors).}
We hope to continuously maintain this document at least for a foreseeable future, but
probably will not be able to produce a new one for any single release of {\FlightGear}.
While we are both watching the mailing lists, it might help, if developers adding new
functionality could send us a short note.
%% Revision 0.00 1998/09/08 michael
%% Initial revision for version 0.53.
%% Revision 0.01 1998/09/20 michael
%% several extensions and corrections
%% revision 0.10 1998/10/01 michael
%% final proofreading for release
%% revision 0.11 1998/11/01 michael
%% minor corrections on platforms, satellite data, OpenGL (S. Baker)
%% added Navion pic
%% revision 0.12 1999/03/07 michael
%% update on recent development
%% revision 0.20 1999/06/04 michael
%% updates on recent development, corrections of links

View file

@ -1,81 +1,83 @@
%%
%% getstart.tex -- Flight Gear documentation: Installation and Getting Started
%% Master file
%%
%% Written by Michael Basler % Bernhard Buckel, starting September 1998.
%%
%% Copyright (C) 1999 Michael Basler (pmb@knUUt.de)
%% & Bernhard Buckel (buckel@wmad95.mathematik.uni-wuerzburg.de)
%%
%% This program is free software; you can redistribute it and/or
%% modify it under the terms of the GNU General Public License as
%% published by the Free Software Foundation; either version 2 of the
%% License, or (at your option) any later version.
%%
%% This program is distributed in the hope that it will be useful, but
%% WITHOUT ANY WARRANTY; without even the implied warranty of
%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
%% General Public License for more details.
%%
%% You should have received a copy of the GNU General Public License
%% along with this program; if not, write to the Free Software
%% Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
%%
%% $Id: getstart.tex,v 0.20 1999/06/04 michael
%% (Log is kept at end of this file)
\documentclass[11pt,openany]{book}
\usepackage{makeidx}
\usepackage[dvips]{graphicx}
\usepackage{times}
\usepackage{hyperref}
\newcommand{\Index}[1]{#1\index{#1}}
\newcommand{\FlightGear}{{\itshape FlightGear }}
\newcommand{\web}[1]{\href{#1}{#1}}
\newcommand{\mail}[1]{\href{mailto:#1}{#1}}
\newcommand{\longpage}{\enlargethispage{\baselineskip}}
\newcommand{\shortpage}{\enlargethispage{-\baselineskip}}
\makeindex
\begin{document}
\include{title}
\include{free}
\include{opengl}
\include{building}
\include{prefligh}
\include{takeoff}
\include{flight}
\include{landing}
\include{missed}
\include{index}
\end{document}
%% Revision 0.00 1998/09/08 michael
%% Initial revision for version 0.53.
%% incl. Linux stuff from b buckel
%% Revision 0.01 1998/09/20 michael
%% several extensions and corrections, added Fig.1.
%% Revision 0.02 1998/09/29 michael
%% added Chapter takeoff from b buckel
%% revision 0.10 1998/10/01 michael
%% added Chapter missed approach from b buckel
%% inclusion file splitting
%% final proofreading for release
%% revision 0.11 1998/11/01 michael
%% corrected ~, _ ind URLs
%% revision 0.12 1999/03/07 michael
%% changed Font to Times in print version
%% dropped .ps file
%% working URLs in .html version
%% corrected misspellings
%% revision 0.20 1999/06/04 michael
%% updated for fgfs 0.6
%% added sections on menu and panel
%% smaller and updated pix for faster download
%%
%% getstart.tex -- Flight Gear documentation: Installation and Getting Started
%% Master file
%%
%% Written by Michael Basler % Bernhard Buckel, starting September 1998.
%%
%% Copyright (C) 1999 Michael Basler (pmb@knUUt.de)
%% & Bernhard Buckel (buckel@wmad95.mathematik.uni-wuerzburg.de)
%%
%% This program is free software; you can redistribute it and/or
%% modify it under the terms of the GNU General Public License as
%% published by the Free Software Foundation; either version 2 of the
%% License, or (at your option) any later version.
%%
%% This program is distributed in the hope that it will be useful, but
%% WITHOUT ANY WARRANTY; without even the implied warranty of
%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
%% General Public License for more details.
%%
%% You should have received a copy of the GNU General Public License
%% along with this program; if not, write to the Free Software
%% Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
%%
%% $Id: getstart.tex,v 0.20 1999/06/04 michael
%% (Log is kept at end of this file)
\documentclass[11pt,openany]{book}
\usepackage{makeidx}
\usepackage[dvips]{graphicx}
\usepackage{times}
\usepackage{hyperref}
\newcommand{\Index}[1]{#1\index{#1}}
\newcommand{\FlightGear}{{\itshape FlightGear }}
\newcommand{\web}[1]{\href{#1}{#1}}
\newcommand{\mail}[1]{\href{mailto:#1}{#1}}
\newcommand{\longpage}{\enlargethispage{\baselineskip}}
\newcommand{\shortpage}{\enlargethispage{-\baselineskip}}
\makeindex
\begin{document}
\include{title}
\include{free}
\include{opengl}
\include{building}
\include{prefligh}
\include{takeoff}
\include{flight}
\include{landing}
\include{missed}
\include{index}
\end{document}
%% Revision 0.00 1998/09/08 michael
%% Initial revision for version 0.53.
%% incl. Linux stuff from b buckel
%% Revision 0.01 1998/09/20 michael
%% several extensions and corrections, added Fig.1.
%% Revision 0.02 1998/09/29 michael
%% added Chapter takeoff from b buckel
%% revision 0.10 1998/10/01 michael
%% added Chapter missed approach from b buckel
%% inclusion file splitting
%% final proofreading for release
%% revision 0.11 1998/11/01 michael
%% corrected ~, _ ind URLs
%% revision 0.12 1999/03/07 michael
%% changed Font to Times in print version
%% dropped .ps file
%% working URLs in .html version
%% corrected misspellings
%% revision 0.20 1999/06/04 michael
%% updated for fgfs 0.6
%% added sections on menu and panel
%% smaller and updated pix for faster download
%% revision 0.21 1999/06/30 michael
%% Linux update by Bernhard

File diff suppressed because it is too large Load diff

View file

@ -1,37 +1,37 @@
%%
%% getstart.tex -- Flight Gear documentation: Installation and Getting Started
%% Chapter file
%%
%% Written by Michael Basler, started September 1998.
%%
%% Copyright (C) 1999 Michael Basler (pmb@knUUt.de)
%%
%%
%% This program is free software; you can redistribute it and/or
%% modify it under the terms of the GNU General Public License as
%% published by the Free Software Foundation; either version 2 of the
%% License, or (at your option) any later version.
%%
%% This program is distributed in the hope that it will be useful, but
%% WITHOUT ANY WARRANTY; without even the implied warranty of
%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
%% General Public License for more details.
%%
%% You should have received a copy of the GNU General Public License
%% along with this program; if not, write to the Free Software
%% Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
%%
%% $Id: getstart.tex,v 0.20 1999/06/04 michael
%% (Log is kept at end of this file)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\eject
\addcontentsline{toc}{chapter}{\protect Index}
{\footnotesize
\printindex
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Revision 0.00 1998/09/08 michael
%% Initial revision for version 0.53.
%%
%% getstart.tex -- Flight Gear documentation: Installation and Getting Started
%% Chapter file
%%
%% Written by Michael Basler, started September 1998.
%%
%% Copyright (C) 1999 Michael Basler (pmb@knUUt.de)
%%
%%
%% This program is free software; you can redistribute it and/or
%% modify it under the terms of the GNU General Public License as
%% published by the Free Software Foundation; either version 2 of the
%% License, or (at your option) any later version.
%%
%% This program is distributed in the hope that it will be useful, but
%% WITHOUT ANY WARRANTY; without even the implied warranty of
%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
%% General Public License for more details.
%%
%% You should have received a copy of the GNU General Public License
%% along with this program; if not, write to the Free Software
%% Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
%%
%% $Id: getstart.tex,v 0.20 1999/06/04 michael
%% (Log is kept at end of this file)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\eject
\addcontentsline{toc}{chapter}{\protect Index}
{\footnotesize
\printindex
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Revision 0.00 1998/09/08 michael
%% Initial revision for version 0.53.

View file

@ -1,390 +1,390 @@
%%
%% getstart.tex -- Flight Gear documentation: Installation and Getting Started
%% Chapter file
%%
%% Written by Michael Basler, started September 1998.
%%
%% Copyright (C) 1999 Michael Basler (pmb@knUUt.de)
%%
%%
%% This program is free software; you can redistribute it and/or
%% modify it under the terms of the GNU General Public License as
%% published by the Free Software Foundation; either version 2 of the
%% License, or (at your option) any later version.
%%
%% This program is distributed in the hope that it will be useful, but
%% WITHOUT ANY WARRANTY; without even the implied warranty of
%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
%% General Public License for more details.
%%
%% You should have received a copy of the GNU General Public License
%% along with this program; if not, write to the Free Software
%% Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
%%
%% $Id: getstart.tex,v 0.20 1999/06/04 michael
%% (Log is kept at end of this file)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\chapter{Landing: Some further thoughts before leaving the plane\label{landing}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\markboth{\thechapter.\hspace*{1mm}
LANDING}{\thesection\hspace*{1mm} THOSE, WHO DID THE WORK}
\section{Those, who did the work}
Did you enjoy the flight? In case you did, don't forget those who devoted hundreds of
hours to that project. All of this work is done on a voluntary basis within spare time,
thus bare with the \Index{programmers} in case something does not work the way you want
it to. Instead, sit down and write them a kind (!) letter proposing what to change.
Alternatively, you can subscribe to the \FlightGear \Index{mailing lists} and contribute
your thoughts there. Instructions to do so can be found under
\web{http://www.flightgear.org/mail.html}.
Essentially there are two lists, one of which being mainly for the developers and the
other one for end users.
\medskip
\noindent
These are the people who did the job (This information was
essentially taken from the file \texttt{Thanks} accompanying the
code):
\medskip
\noindent Raul Alonzo\index{Alonzo, Raul} (\mail{amil@las.es})\\ Author of Ssystem and
moon texture.
\medskip
\noindent Michele America\index{America, Michele}
(\mail{nomimarketing@mail.telepac.pt})\\
Contributed to the \Index{HUD} code.
\medskip
\noindent Steve Baker\index{Baker, Steve} (\mail{sjbaker@hti.com})\\
Author of \Index{PLIB}, a graphics/audio/joystick interface written entirely on top of
\Index{OpenGL}/\-\Index{GLUT} used in \FlightGear. An immense amount of coaching and tutelage,
both on the subjects of flight simulation and \Index{OpenGL}. It has been
his comments and thoughts that have prompted the implementation of
most of the more sophisticated features of \FlightGear{\hspace{-2mm}}.
\medskip
\noindent Michael Basler\index{Basler, Michael} (\mail{pmb@knUUt.de})\\
Coauthor of Installation and Getting Started (together with Bernhard
Buckel).
\medskip
\noindent John S. Berndt\index{Berndt, John, S.} (\mail{jsb@hal-pc.org})\\
Working on a complete C++rewrite/reimplimentation of the core FDM.
Initially he is using X15 data to test his code, but once things are
all in place we should be able to simulator arbitrary aircraft.
\medskip
\noindent Paul Bleisch\index{Bleisch, Paul} (\mail{pbleisch@acm.org})\\
Redid the debug system so that it would be much more
flexible, so it could be easily disabled for production system, and
so that messages for certain subsystems could be selectively
enabled.
Also contributed a first stab at a config file/command line parsing
system.
\medskip
\noindent Jim Brennan\index{Brennan, Jim} (\mail{jjb@foothill.net})\\
Provided a big chunk of online space to store USA scenery for Flight Gear.
\medskip
\noindent Bernie Bright\index{Bright, Bernie} (\mail{bbright@c031.aone.net.au})\\
Many C++ style, usage, and implementation improvements, STL
portability and much, much more.
\medskip
\noindent Bernhard H. Buckel\index{Buckel, Bernhard H.}
(\mail{buckel@wmad95.mathematik.uni-wuerzburg.de})\\
Contributed the README.Linux. Coauthor of Installation
and Getting Started (together with Michael Basler).
\medskip
\noindent Gene Buckle\index{Buckle, Gene} (\mail{geneb@nwlink.com})\\
A lot of work getting \FlightGear to compile with the \Index{MSVC}++
compiler. Numerous hints on detailed improvements.
\medskip
\noindent Oliver Delise \index{Delise, Oliver} (\mail{delise@rp-plus.de})\\
FAQ Maintainer.
\medskip
\noindent Didier Chauveau\index{Chauveau, Didier} (\mail{chauveau@math.univ-mlv.fr})\\
Provided some initial code to parse the 30 arcsec DEM files found at:
\web{http://edcwww.cr.usgs.gov/landdaac/gtopo30/gtopo30.html}.
\medskip
\noindent Jean-Francois Doue\index{Doue, Jean-Francois}\\
Vector 2D, 3D, 4D and Matrix 3D and 4D inlined C++ classes. (Based on
Graphics Gems IV ed. Paul S. Heckbert)
\href{http://www.animats.com/simpleppp/ftp/public_html/topics/developers.html}{http://www.animats.com/simpleppp/ftp/public\_html/topics/developers.html}.
\medskip
\noindent Francine Evans\index{Evans, Francine} (\mail{evans@cs.sunysb.edu})
\href{http://www.cs.sunysb.edu/~evans/stripe.html}{http://www.cs.sunysb.edu/\~{}evans/stripe.html}
\noindent
Wrote the GPL'd tri-striper.
\medskip
\noindent Oscar Everitt\index{Everitt, Oscar} (\mail{bigoc@premier.net})\\
Created single engine piston engine sounds as part of an F4U package
for \Index{FS98}. They are pretty cool and Oscar was happy to contribute
them to our little project.
\medskip
\noindent Jean-loup Gailly\index{Gailly, Jean-loup} and Mark Adler\index{Adler, Mark}
(\mail{zlib@quest.jpl.nasa.gov})\\
Authors of the \Index{zlib library}. Used for on-the-fly compression and
decompression routines,
\web{http://www.cdrom.com/pub/infozip/zlib/}.
\medskip
\noindent Thomas Gellekum\index{Gellekum, Thomas} (\mail{tg@ihf.rwth-aachen.de})\\
Changes and updates for compiling on \Index{FreeBSD}.
\medskip
\noindent Jeff Goeke-Smith\index{Goeke-Smith, Jeff} (\mail{jgoeke@voyager.net})\\
Contributed our first \Index{autopilot} (Heading Hold).
Better autoconf check for external timezone/daylight variables.
\medskip
\noindent Michael I. Gold\index{Gold, Michael, I.} (\mail{gold@puck.asd.sgi.com})\\
Patiently answered questions on \Index{OpenGL}.
\medskip
\noindent Charlie Hotchkiss\index{Hotchkiss, Charlie}
(\mail{chotchkiss@namg.us.anritsu.com})\\ Worked on improving and enhancing the
\Index{HUD} code. Lots of code style tips and code tweaks\ldots
\medskip
\noindent Bruce Jackson\index{Jackson, Bruce} (NASA) (\mail{e.b.jackson@larc.nasa.gov})
\web{http://agcbwww.larc.nasa.gov/People/ebj.html}
\noindent
Developed the \Index{LaRCsim} code under funding by NASA which we use to provide the
flight model. Bruce has patiently answered many, many questions.
\medskip
\noindent Tom Knienieder\index{Knienieder, Tom} (\mail{knienieder@ms.netwing.at})\\
Ported Steve Bakers's audio library\index{audio library} to Win32.
\medskip
\noindent Reto Koradi\index{Koradi, Reto} (\mail{kor@mol.biol.ethz.ch})
\href{\web{http://www.mol.biol.ethz.ch/~kor}}{\web{http://www.mol.biol.ethz.ch/\~{}kor}}
\noindent
Helped with setting up \Index{fog effects}.
\medskip
\noindent Bob Kuehne\index{Kuehne, Bob} (\mail{rpk@sgi.com})\\
Redid the Makefile system so it is simpler and more robust.
\medskip
\noindent Vasily Lewis\index{Lewis, Vasily} (\mail{vlewis@woodsoup.org})
\web{http://www.woodsoup.org}
\noindent
Provided computing resources and services so that the Flight Gear
project could have real home. This includes web services, ftp
services, shell accounts, email lists, dns services, etc.
\medskip
\noindent Christian Mayer\index{Mayer, Christian} (\mail{Vader@t-online.de})\\
Working on multi-lingual conversion tools for fgfs.\\
Contributed code to read msfs scenery textures.
\medskip
\noindent Eric Mitchell\index{Mitchell, Eric} (\mail{mitchell@mars.ark.com})\\
Contributed some topnotch scenery \Index{textures}.
\medskip
\noindent Anders Morken\index{Morken, Anders} (\mail{amrken@online.no})\\
Maintains the European mirror of the \FlightGear web pages.
\medskip
\noindent Alan Murta\index{Murta, Alan} (\mail{amurta@cs.man.ac.uk})
\web{http://www.cs.man.ac.uk/aig/staff/alan/software/}
\noindent
Created the Generic Polygon Clipping library.
\medskip
\noindent Curt Olson\index{Olson, Curt} (\mail{curt@flightgear.org})\\
Primary organization of the project. First implementation
and modifications based on \Index{LaRCsim}. Besides putting together all
the pieces provided by others mainly concentrating on the \Index{scenery
engine} as well as the graphics stuff.
\medskip
\noindent Robin Peel\index{Peel, Robin} (\mail{robinp@mindspring.com})\\
Maintains worldwide airport and runway database for \FlightGear as we as X-Plane.
\medskip
\noindent Friedemann Reinhard\index{Reinhard, Friedemann}
(\mail{mpt218@faupt212.physik.uni-erlangen.de})\\
Development of textured instrument \Index{panel}.
\medskip
\noindent Petter Reinholdtsen\index{Reinholdtsen, Petter} (\mail{pere@games.no})\\
Incorporated the Gnu automake/autoconf system (with libtool).
This should streamline and standardize the build process for all
UNIX-like platforms. It should have little effect on IDE type
environments since they don't use the UNIX make system.
\medskip
\noindent William Riley\index{Riley, William} (\mail{riley@technologist.com})\\
Contributed code to add ''brakes''.
\medskip
\noindent Paul Schlyter\index{Schlyter, Paul} (\mail{pausch@saaf.se})\\
Provided Durk Talsma with all the information he needed to write the astro code.
\medskip
\noindent Chris Schoeneman\index{Schoenemann, Chris} (\mail{crs@millpond.engr.sgi.com})\\
Contributed ideas on audio support.
\medskip
\noindent Jonathan R Shewchuk\index{Shewchuk, Jonathan}
(\mail{Jonathan\_R\_Shewchuk@ux4.sp.cs.cmu.edu})\\
Author of the Triangle\index{triangle program} program. Triangle
is used to calculate the Delauney triangulation of our irregular terrain.
\medskip
\noindent Gordan Sikic\index{Sikic, Gordan} (\mail{gsikic@public.srce.hr})\\
Contributed a \Index{Cherokee flight model} for \Index{LaRCsim}. Currently is not
working and needs to be debugged. Use configure
\texttt{-$\!$-with-flight-model=cherokee}
to build the cherokee instead of the \Index{Navion}.
\medskip
\noindent Michael Smith\index{Smith, Michael} (\mail{msmith99@flash.net})\\
Contributed cockpit graphics, 3d models, logos, and other images.
Project Bonanza
\web{http://members.xoom.com/ConceptSim/index.html}.
\medskip
\noindent
\Index{U.\,S. Geological Survey}
\web{http://edcwww.cr.usgs.gov/doc/edchome/ndcdb/ndcdb.html}
\noindent
Provided geographic data used by this project.
\medskip
\noindent Durk Talsma\index{Talsma, Durk} (\mail{pn\_talsma@macmail.psy.uva.nl})\\
Accurate Sun, Moon, and Planets. Sun changes color based on
position in sky. Moon has correct phase and blends well into the
sky. Planets are correctly positioned and have proper magnitude. help with time
functions, GUI, and other things.
\medskip
\noindent Gary R. Van Sickle\index{van Sickle, Gary R.}
(\mail{tiberius@braemarinc.com})\\
Contributed some initial \Index{GameGLUT} support and other fixes.
\medskip
\noindent Norman Vine\index{Vine, Norman} (\mail{nhv@laserplot.com})\\
Many performance optimizations throughout the code. Many contributions
and much advice for the scenery generation section. Lots of Windows
related contributions. Improved \Index{HUD}.
\medskip
\noindent Roland Voegtli\index{Voegtli, Roland} (\mail{webmaster@sanw.unibe.ch})\\
Contributed great photorealistic textures.
\medskip
\noindent Carmelo Volpe\index{Volpe, Carmelo} (\mail{carmelo.volpe@csb.ki.se})\\
Porting \FlightGear to the \Index{Metro Works} development environment
(PC/Mac).
\medskip
\noindent Darrell Walisser\index{Walisser, Darrell} (\mail{dwaliss1@purdue.edu})\\
Contributed a large number of changes to porting \FlightGear to the Metro Works
development environment (PC/Mac). Finally produced the first MacIntosh port.
\medskip
\noindent Robert Allan Zeh\index{Zeh, Allan} (\mail{raz@cmg.FCNBD.COM})\\
Helped tremendously in figuring out the \Index{Cygnus} Win32 compiler and
how to link with .dll's. Without him the first run-able Win32
version of \FlightGear would have been impossible.
\section{What remains to be done}
At first: If you read (and, maybe, followed) this guide until this
point you may probably agree that \FlightGear\hspace{-2mm}, even
in its present state, is not at all for the birds. It is already a
flight simulator which has a flight model, a plane, terrain
scenery, texturing and simple controls.
Despite, \FlightGear needs -- and gets -- further development. Except internal tweakings,
there are several fields where \FlightGear needs basics improvement and development.
A first direction is adding \Index{airports}, streets, and more things bringing Scenery
to real life.
Second, the \Index{panel} needs further improvement including more working gauges.
Besides, there should be support for adding more \Index{planes} and for implementing
corresponding flight models differing from the \Index{Navion}.
Another task is further implementation of the \Index{menu system}, which should not be
too hard with the basics being working now.
A main stream of active development concerns weather. At present there is simply none: no
clouds, no rain, no wind. But there sure will be.
There are already people working in all of these directions. If you're a programmer and
think you can contribute, you are invited to do so.
\subsection*{Achnowledgements}
Obviously this document could not have been written without all
those contributors mentioned above making \FlightGear a reality.
Beyond this we would like to say special thanks to Curt
Olson,\index{Olson, Curt} whose numerous scattered Readmes,
Thanks, Webpages, and personal eMails were of special help to us
and were freely exploited in the making of this booklet.
Next, we gained a lot of help and support from Steve Baker \index{Baker, Steve} and
Norman Vine\index{Vine, Norman}. Moreover, we would like to thank Steve
Baker\index{Baker, Steve} for a careful reading and for numerous hints on the first draft
of this guide.
Further, we would like to thank Kai Troester\index{Troester, Kai} for donating the
solution of some of his compile problems to Chapter \ref{missed}.
%% Revision 0.00 1998/09/08 michael
%% Initial revision for version 0.53.
%% Revision 0.01 1998/09/20 michael
%% several extensions and corrections
%% revision 0.10 1998/10/01 michael
%% final proofreading for release
%% revision 0.11 1998/11/01 michael
%% corrections on audio library, getting started
%% revision 0.12 1999/03/07 michael
%% Updated Credits
%% revision 0.20 1999/06/04 michael
%% added O. Delise, Ch. Mayer, R. Peel, R. Voegtli, several updates
%%
%% getstart.tex -- Flight Gear documentation: Installation and Getting Started
%% Chapter file
%%
%% Written by Michael Basler, started September 1998.
%%
%% Copyright (C) 1999 Michael Basler (pmb@knUUt.de)
%%
%%
%% This program is free software; you can redistribute it and/or
%% modify it under the terms of the GNU General Public License as
%% published by the Free Software Foundation; either version 2 of the
%% License, or (at your option) any later version.
%%
%% This program is distributed in the hope that it will be useful, but
%% WITHOUT ANY WARRANTY; without even the implied warranty of
%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
%% General Public License for more details.
%%
%% You should have received a copy of the GNU General Public License
%% along with this program; if not, write to the Free Software
%% Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
%%
%% $Id: getstart.tex,v 0.20 1999/06/04 michael
%% (Log is kept at end of this file)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\chapter{Landing: Some further thoughts before leaving the plane\label{landing}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\markboth{\thechapter.\hspace*{1mm}
LANDING}{\thesection\hspace*{1mm} THOSE, WHO DID THE WORK}
\section{Those, who did the work}
Did you enjoy the flight? In case you did, don't forget those who devoted hundreds of
hours to that project. All of this work is done on a voluntary basis within spare time,
thus bare with the \Index{programmers} in case something does not work the way you want
it to. Instead, sit down and write them a kind (!) letter proposing what to change.
Alternatively, you can subscribe to the \FlightGear \Index{mailing lists} and contribute
your thoughts there. Instructions to do so can be found under
\web{http://www.flightgear.org/mail.html}.
Essentially there are two lists, one of which being mainly for the developers and the
other one for end users.
\medskip
\noindent
These are the people who did the job (This information was
essentially taken from the file \texttt{Thanks} accompanying the
code):
\medskip
\noindent Raul Alonzo\index{Alonzo, Raul} (\mail{amil@las.es})\\ Author of Ssystem and
moon texture.
\medskip
\noindent Michele America\index{America, Michele}
(\mail{nomimarketing@mail.telepac.pt})\\
Contributed to the \Index{HUD} code.
\medskip
\noindent Steve Baker\index{Baker, Steve} (\mail{sjbaker@hti.com})\\
Author of \Index{PLIB}, a graphics/audio/joystick interface written entirely on top of
\Index{OpenGL}/\-\Index{GLUT} used in \FlightGear. An immense amount of coaching and tutelage,
both on the subjects of flight simulation and \Index{OpenGL}. It has been
his comments and thoughts that have prompted the implementation of
most of the more sophisticated features of \FlightGear{\hspace{-2mm}}.
\medskip
\noindent Michael Basler\index{Basler, Michael} (\mail{pmb@knUUt.de})\\
Coauthor of Installation and Getting Started (together with Bernhard
Buckel).
\medskip
\noindent John S. Berndt\index{Berndt, John, S.} (\mail{jsb@hal-pc.org})\\
Working on a complete C++rewrite/reimplimentation of the core FDM.
Initially he is using X15 data to test his code, but once things are
all in place we should be able to simulator arbitrary aircraft.
\medskip
\noindent Paul Bleisch\index{Bleisch, Paul} (\mail{pbleisch@acm.org})\\
Redid the debug system so that it would be much more
flexible, so it could be easily disabled for production system, and
so that messages for certain subsystems could be selectively
enabled.
Also contributed a first stab at a config file/command line parsing
system.
\medskip
\noindent Jim Brennan\index{Brennan, Jim} (\mail{jjb@foothill.net})\\
Provided a big chunk of online space to store USA scenery for Flight Gear.
\medskip
\noindent Bernie Bright\index{Bright, Bernie} (\mail{bbright@c031.aone.net.au})\\
Many C++ style, usage, and implementation improvements, STL
portability and much, much more.
\medskip
\noindent Bernhard H. Buckel\index{Buckel, Bernhard H.}
(\mail{buckel@wmad95.mathematik.uni-wuerzburg.de})\\
Contributed the README.Linux. Coauthor of Installation
and Getting Started (together with Michael Basler).
\medskip
\noindent Gene Buckle\index{Buckle, Gene} (\mail{geneb@nwlink.com})\\
A lot of work getting \FlightGear to compile with the \Index{MSVC}++
compiler. Numerous hints on detailed improvements.
\medskip
\noindent Oliver Delise \index{Delise, Oliver} (\mail{delise@rp-plus.de})\\
FAQ Maintainer.
\medskip
\noindent Didier Chauveau\index{Chauveau, Didier} (\mail{chauveau@math.univ-mlv.fr})\\
Provided some initial code to parse the 30 arcsec DEM files found at:
\web{http://edcwww.cr.usgs.gov/landdaac/gtopo30/gtopo30.html}.
\medskip
\noindent Jean-Francois Doue\index{Doue, Jean-Francois}\\
Vector 2D, 3D, 4D and Matrix 3D and 4D inlined C++ classes. (Based on
Graphics Gems IV ed. Paul S. Heckbert)
\href{http://www.animats.com/simpleppp/ftp/public_html/topics/developers.html}{http://www.animats.com/simpleppp/ftp/public\_html/topics/developers.html}.
\medskip
\noindent Francine Evans\index{Evans, Francine} (\mail{evans@cs.sunysb.edu})
\href{http://www.cs.sunysb.edu/~evans/stripe.html}{http://www.cs.sunysb.edu/\~{}evans/stripe.html}
\noindent
Wrote the GPL'd tri-striper.
\medskip
\noindent Oscar Everitt\index{Everitt, Oscar} (\mail{bigoc@premier.net})\\
Created single engine piston engine sounds as part of an F4U package
for \Index{FS98}. They are pretty cool and Oscar was happy to contribute
them to our little project.
\medskip
\noindent Jean-loup Gailly\index{Gailly, Jean-loup} and Mark Adler\index{Adler, Mark}
(\mail{zlib@quest.jpl.nasa.gov})\\
Authors of the \Index{zlib library}. Used for on-the-fly compression and
decompression routines,
\web{http://www.cdrom.com/pub/infozip/zlib/}.
\medskip
\noindent Thomas Gellekum\index{Gellekum, Thomas} (\mail{tg@ihf.rwth-aachen.de})\\
Changes and updates for compiling on \Index{FreeBSD}.
\medskip
\noindent Jeff Goeke-Smith\index{Goeke-Smith, Jeff} (\mail{jgoeke@voyager.net})\\
Contributed our first \Index{autopilot} (Heading Hold).
Better autoconf check for external timezone/daylight variables.
\medskip
\noindent Michael I. Gold\index{Gold, Michael, I.} (\mail{gold@puck.asd.sgi.com})\\
Patiently answered questions on \Index{OpenGL}.
\medskip
\noindent Charlie Hotchkiss\index{Hotchkiss, Charlie}
(\mail{chotchkiss@namg.us.anritsu.com})\\ Worked on improving and enhancing the
\Index{HUD} code. Lots of code style tips and code tweaks\ldots
\medskip
\noindent Bruce Jackson\index{Jackson, Bruce} (NASA) (\mail{e.b.jackson@larc.nasa.gov})
\web{http://agcbwww.larc.nasa.gov/People/ebj.html}
\noindent
Developed the \Index{LaRCsim} code under funding by NASA which we use to provide the
flight model. Bruce has patiently answered many, many questions.
\medskip
\noindent Tom Knienieder\index{Knienieder, Tom} (\mail{knienieder@ms.netwing.at})\\
Ported Steve Bakers's audio library\index{audio library} to Win32.
\medskip
\noindent Reto Koradi\index{Koradi, Reto} (\mail{kor@mol.biol.ethz.ch})
\href{\web{http://www.mol.biol.ethz.ch/~kor}}{\web{http://www.mol.biol.ethz.ch/\~{}kor}}
\noindent
Helped with setting up \Index{fog effects}.
\medskip
\noindent Bob Kuehne\index{Kuehne, Bob} (\mail{rpk@sgi.com})\\
Redid the Makefile system so it is simpler and more robust.
\medskip
\noindent Vasily Lewis\index{Lewis, Vasily} (\mail{vlewis@woodsoup.org})
\web{http://www.woodsoup.org}
\noindent
Provided computing resources and services so that the Flight Gear
project could have real home. This includes web services, ftp
services, shell accounts, email lists, dns services, etc.
\medskip
\noindent Christian Mayer\index{Mayer, Christian} (\mail{Vader@t-online.de})\\
Working on multi-lingual conversion tools for fgfs.\\
Contributed code to read msfs scenery textures.
\medskip
\noindent Eric Mitchell\index{Mitchell, Eric} (\mail{mitchell@mars.ark.com})\\
Contributed some topnotch scenery \Index{textures}.
\medskip
\noindent Anders Morken\index{Morken, Anders} (\mail{amrken@online.no})\\
Maintains the European mirror of the \FlightGear web pages.
\medskip
\noindent Alan Murta\index{Murta, Alan} (\mail{amurta@cs.man.ac.uk})
\web{http://www.cs.man.ac.uk/aig/staff/alan/software/}
\noindent
Created the Generic Polygon Clipping library.
\medskip
\noindent Curt Olson\index{Olson, Curt} (\mail{curt@flightgear.org})\\
Primary organization of the project. First implementation
and modifications based on \Index{LaRCsim}. Besides putting together all
the pieces provided by others mainly concentrating on the \Index{scenery
engine} as well as the graphics stuff.
\medskip
\noindent Robin Peel\index{Peel, Robin} (\mail{robinp@mindspring.com})\\
Maintains worldwide airport and runway database for \FlightGear as we as X-Plane.
\medskip
\noindent Friedemann Reinhard\index{Reinhard, Friedemann}
(\mail{mpt218@faupt212.physik.uni-erlangen.de})\\
Development of textured instrument \Index{panel}.
\medskip
\noindent Petter Reinholdtsen\index{Reinholdtsen, Petter} (\mail{pere@games.no})\\
Incorporated the Gnu automake/autoconf system (with libtool).
This should streamline and standardize the build process for all
UNIX-like platforms. It should have little effect on IDE type
environments since they don't use the UNIX make system.
\medskip
\noindent William Riley\index{Riley, William} (\mail{riley@technologist.com})\\
Contributed code to add ''brakes''.
\medskip
\noindent Paul Schlyter\index{Schlyter, Paul} (\mail{pausch@saaf.se})\\
Provided Durk Talsma with all the information he needed to write the astro code.
\medskip
\noindent Chris Schoeneman\index{Schoenemann, Chris} (\mail{crs@millpond.engr.sgi.com})\\
Contributed ideas on audio support.
\medskip
\noindent Jonathan R Shewchuk\index{Shewchuk, Jonathan}
(\mail{Jonathan\_R\_Shewchuk@ux4.sp.cs.cmu.edu})\\
Author of the Triangle\index{triangle program} program. Triangle
is used to calculate the Delauney triangulation of our irregular terrain.
\medskip
\noindent Gordan Sikic\index{Sikic, Gordan} (\mail{gsikic@public.srce.hr})\\
Contributed a \Index{Cherokee flight model} for \Index{LaRCsim}. Currently is not
working and needs to be debugged. Use configure
\texttt{-$\!$-with-flight-model=cherokee}
to build the cherokee instead of the \Index{Navion}.
\medskip
\noindent Michael Smith\index{Smith, Michael} (\mail{msmith99@flash.net})\\
Contributed cockpit graphics, 3d models, logos, and other images.
Project Bonanza
\web{http://members.xoom.com/ConceptSim/index.html}.
\medskip
\noindent
\Index{U.\,S. Geological Survey}
\web{http://edcwww.cr.usgs.gov/doc/edchome/ndcdb/ndcdb.html}
\noindent
Provided geographic data used by this project.
\medskip
\noindent Durk Talsma\index{Talsma, Durk} (\mail{pn\_talsma@macmail.psy.uva.nl})\\
Accurate Sun, Moon, and Planets. Sun changes color based on
position in sky. Moon has correct phase and blends well into the
sky. Planets are correctly positioned and have proper magnitude. help with time
functions, GUI, and other things.
\medskip
\noindent Gary R. Van Sickle\index{van Sickle, Gary R.}
(\mail{tiberius@braemarinc.com})\\
Contributed some initial \Index{GameGLUT} support and other fixes.
\medskip
\noindent Norman Vine\index{Vine, Norman} (\mail{nhv@laserplot.com})\\
Many performance optimizations throughout the code. Many contributions
and much advice for the scenery generation section. Lots of Windows
related contributions. Improved \Index{HUD}.
\medskip
\noindent Roland Voegtli\index{Voegtli, Roland} (\mail{webmaster@sanw.unibe.ch})\\
Contributed great photorealistic textures.
\medskip
\noindent Carmelo Volpe\index{Volpe, Carmelo} (\mail{carmelo.volpe@csb.ki.se})\\
Porting \FlightGear to the \Index{Metro Works} development environment
(PC/Mac).
\medskip
\noindent Darrell Walisser\index{Walisser, Darrell} (\mail{dwaliss1@purdue.edu})\\
Contributed a large number of changes to porting \FlightGear to the Metro Works
development environment (PC/Mac). Finally produced the first MacIntosh port.
\medskip
\noindent Robert Allan Zeh\index{Zeh, Allan} (\mail{raz@cmg.FCNBD.COM})\\
Helped tremendously in figuring out the \Index{Cygnus} Win32 compiler and
how to link with .dll's. Without him the first run-able Win32
version of \FlightGear would have been impossible.
\section{What remains to be done}
At first: If you read (and, maybe, followed) this guide until this
point you may probably agree that \FlightGear\hspace{-2mm}, even
in its present state, is not at all for the birds. It is already a
flight simulator which has a flight model, a plane, terrain
scenery, texturing and simple controls.
Despite, \FlightGear needs -- and gets -- further development. Except internal tweakings,
there are several fields where \FlightGear needs basics improvement and development.
A first direction is adding \Index{airports}, streets, and more things bringing Scenery
to real life.
Second, the \Index{panel} needs further improvement including more working gauges.
Besides, there should be support for adding more \Index{planes} and for implementing
corresponding flight models differing from the \Index{Navion}.
Another task is further implementation of the \Index{menu system}, which should not be
too hard with the basics being working now.
A main stream of active development concerns weather. At present there is simply none: no
clouds, no rain, no wind. But there sure will be.
There are already people working in all of these directions. If you're a programmer and
think you can contribute, you are invited to do so.
\subsection*{Achnowledgements}
Obviously this document could not have been written without all
those contributors mentioned above making \FlightGear a reality.
Beyond this we would like to say special thanks to Curt
Olson,\index{Olson, Curt} whose numerous scattered Readmes,
Thanks, Webpages, and personal eMails were of special help to us
and were freely exploited in the making of this booklet.
Next, we gained a lot of help and support from Steve Baker \index{Baker, Steve} and
Norman Vine\index{Vine, Norman}. Moreover, we would like to thank Steve
Baker\index{Baker, Steve} for a careful reading and for numerous hints on the first draft
of this guide.
Further, we would like to thank Kai Troester\index{Troester, Kai} for donating the
solution of some of his compile problems to Chapter \ref{missed}.
%% Revision 0.00 1998/09/08 michael
%% Initial revision for version 0.53.
%% Revision 0.01 1998/09/20 michael
%% several extensions and corrections
%% revision 0.10 1998/10/01 michael
%% final proofreading for release
%% revision 0.11 1998/11/01 michael
%% corrections on audio library, getting started
%% revision 0.12 1999/03/07 michael
%% Updated Credits
%% revision 0.20 1999/06/04 michael
%% added O. Delise, Ch. Mayer, R. Peel, R. Voegtli, several updates

View file

@ -1,225 +1,234 @@
%%
%% getstart.tex -- Flight Gear documentation: Installation and Getting Started
%% Chapter file
%%
%% Written by Michael Basler % Bernhard Buckel, starting September 1998.
%%
%% Copyright (C) 1999 Michael Basler (pmb@knUUt.de)
%% & Bernhard Buckel (buckel@wmad95.mathematik.uni-wuerzburg.de)
%%
%% This program is free software; you can redistribute it and/or
%% modify it under the terms of the GNU General Public License as
%% published by the Free Software Foundation; either version 2 of the
%% License, or (at your option) any later version.
%%
%% This program is distributed in the hope that it will be useful, but
%% WITHOUT ANY WARRANTY; without even the implied warranty of
%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
%% General Public License for more details.
%%
%% You should have received a copy of the GNU General Public License
%% along with this program; if not, write to the Free Software
%% Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
%%
%% $Id: getstart.tex,v 0.20 1999/06/04 michael
%% (Log is kept at end of this file)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\chapter{Missed approach: If anything refuses to work\label{missed}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\markboth{\thechapter.\hspace*{1mm} MISSED APPROACH
}{\thesection\hspace*{1mm} ???}
We tried to sort \Index{problems} according to operating system to a certain extent , but
if you encounter a problem it may be a wise idea to look beyond ''your'' operating system
-- just in case. Besides, if anything fails, it is definitely a good idea to check
the FAQ maintained by Oliver Delise (\mail{delise@rp-plus.de}) being distributed
along with the source code.
\section{General problems}
\begin{itemize}
\item{\FlightGear runs SOOO slow}\\
If the \Index{HUD} indicates you are getting something like 1\,fps
(frame per second) or below you typically don't have working hardware
\Index{OpenGL} support. There may be several reasons for this. First,
there may be no OpenGL hardware drivers available for older
cards. In this case it is highly recommended to get a new board.
Second, check if your drivers are properly installed. Several
cards need additional OpenGL support drivers besides the
''native'' windows ones. For more detail check Chapter
\ref{opengl}.
Third, check if your hardware driver is called \texttt{opengl32.dll}
or just merely \texttt{opengl.dll}. By the default compilation, binaries are linked against
\texttt{open} \texttt{gl32.dll}. If you require the non-32 version,
consider rebuilding \FlightGear with the libraries \texttt{opengl32.dll},
\texttt{glut32.dll}, and \texttt{glu32.dll} replaced by their
non-32 counterparts. For more details check Chapter
\ref{building}.
If you installed the pre-compiled binaries \texttt{runfgfs.bat} invokes
\texttt{fgfs.exe} while \texttt{runfgfs.sgi.bat} invokes
\texttt{fgfs.sgi.exe} with the first ones being linked against the 32-versions.
Usually, hardware accelerated drivers use the 32-libraries.
\end{itemize}
\section{Potential problems under Linux}
Since we don't have access to all possible flavors of Linux distributions, here are some
thoughts on possible causes of problems. (This Section includes contributions by Kai
Troester \mail{Kai.Troester@rz.tu-ilmenau.de}.)
\begin{itemize}
\item{Wrong library versions}\\
This is a rather common cause of grief especially when you prefer to
install the libraries needed by \FlightGear by hand. Be sure that
especially the Mesa library contains support for the \Index{3DFX board} and
that \Index{Glide} libraries are installed and can be found. If a
\texttt{ldd `which fgfs`} complains about missing libraries you are in trouble.
\item{Missing \Index{permissions}}\\
\FlightGear needs to be setuid root in order to be capable of
accessing the accelerator board. Be sure to issue a
\texttt{chown root.root /usr/local/bin/fgfs ;}\\
\texttt{chmod 4755 /usr/local/bin/fgfs}
to give the \FlightGear binary the proper rights. There is development
of a device named \texttt{/dev/3dfx} underway, so this probably
being remedied in the near future.
\item{Non-default install options}\\
\FlightGear will display a lot of diagnostics when being started up.
If it complains about bad looking or missing files, check that you
installed them in the way they are supposed to be, i.e. latest
version and proper location. The canonical location \FlightGear
wants its data files under \texttt{/usr/local/lib}. Be sure to
grab the latest versions of everything that might be needed!
\item{Compile problems}\\
Check as far as you can, as a last resort (and a great information
source, too) there are mailing lists for which information can be
gotten at
\web{http://www.flightgear.org/mail.html}.
This will give you direct contact to the developers.
\item{Configure could not find Mesa and Glut though they are
installed}
If the configure script could not find your Mesa and Glut libraries you should add the
Mesa library-path (i.e. \texttt{/usr/local/Mesa}) to the EXTRA\_DIRS variable in the file
configure.in (i.e. \texttt{EXTRA\_DIRS=''/usr/local/usr/}
\texttt{X11R6/usr/local/Mesa''}). After this you have to run autoconf. (Please read
README.autoconf for running autoconf )
\item{SuSE Distribution}
\begin{itemize}
\item If you have a SuSE distribution use the egcs compiler instead
of the compiler delivered with SuSE. Grab it at
\web{http://egcs.cygnus.com}
\item SuSE 6.0 users should also use the Glide,
Mesa and Glut Libraries delivered with the distribution
\item A known problem of Flight Gear until version Version 0.57 with SuSE concerns
\texttt{acconfig.h}. If 'make' stops and reports an error in relation with acconfig.h
insert the following lines to \texttt{/usr/share/autoconf/} \texttt{acconfig.h}:
\texttt{/* needed to compile fgfs properly*/}\\
\texttt{{\#}undef FG\_NDEBUG}\\
\texttt{{\#}undef PACKAGE}\\
\texttt{{\#}undef VERSION}\\
\texttt{{\#}undef WIN32a}
(a solution for this problem is coming soon )
\end{itemize}
%%B.B. 21.2.99
Additionally there are two versions of the GNU C compiler around:
egcs and gcc (the classic one). gcc seems to have its own notion of
some C++ constructs, so updating to egcs won't hurt and maybe help
to compile the program.
%%
\end{itemize}
\section{Potential problems under Windows 98/NT}
\begin{itemize}
\item{The executable refuses to run.}\\
You may have tried to start the executable directly either by
double-clicking \texttt{fgfs.exe} in Windows explorer or by invoking it
in a MS-DOS shell. Double-clicking via explorer does never work
(except you set the environment variable \texttt{FG\_ROOT}
in the autoexec.bat or otherwise). Rather double-click \texttt{runfgfs.bat} or
\texttt{runfgfs-sgi.bat} For more detail, check Chapter \ref{takeoff}.
Another potential problem might be you did not download the
most recent versions of scenery and textures required by \FlightGear, or
you did not load any scenery or texture at all. Have a close look
at this, as the scenery/texture format is still under development and may
change frequently. For more detail, check Chapter \ref{prefligh}.
A further potential source of trouble are so-called
\Index{mini-OpenGL} drivers provided by some manufacturers. In this case,
{\FlightGear}'s typically hangs while opening the graphics window.
In this case, either replace the \Index{mini-OpenGL} driver by a
full OpenGL driver or or in case such is not available install
software OpenGL support (see Section \ref{softrend}).
\item{\FlightGear ignores the command line parameters.}\\
There is a problem with passing command line options containing a
''='' to windows batch files. Instead, include the options into
\texttt{runfgfs.bat}.
\item{While compiling with the Cygnus Compiler \texttt{Configure}
complains not to find \texttt{glu32.dll}}.
Make sure you change to the Main FlightGear directory, e.\,g. with
\texttt{cd //D/FlightGear-X.XX}
before running \texttt{Configure} and \texttt{Make}. Do not forget the win32 library
package.
\item{I am unable to build \FlightGear under \Index{MSVC}/\Index{MS DevStudio}}\\
By default, \FlightGear is build with GNU C++, i.\,e. the
\Index{Cygnus} compiler for Win32. For hints or Makefiles
required for MSVC for MSC DevStudio have a look into
\web{http://www.flightgear.org/Downloads/Source}.
In principle, \FlightGear should be buildable with the project files provided.
\item{Compilation of \FlightGear dies not finding \texttt{gfc}}.
The library \texttt{gfc} cannot be build with the Cygnus compiler at present. It us
supposed to be substituted by something else in the future.
As the simulator is already built at this point, you simply can forget about that problem
as long as you don't intend to build the \Index{scenery creation tools}. Just go on with
\texttt{make install}.
\end{itemize}
%% revision 0.10 1998/10/01 bernhard
%% added win stuff michael
%% final proofreading for release
%% revision 0.11 1998/11/01 michael
%% Remark on mini-OpenGL drivers, new general Section
%% Access violation error under win32 added
%% Command line problem in win32 added
%% revision 0.12 1999/03/07 bernhard
%% Remark on EGCS compiler
%% revision 0.12 1999/03/07 michael
%% Added Contribution by Kai Troester
%% Reworked Win32 Stuff
%% revision 0.20 1999/06/04 michael
%% added hint to FAQ, gfc problem
%%
%% getstart.tex -- Flight Gear documentation: Installation and Getting Started
%% Chapter file
%%
%% Written by Michael Basler % Bernhard Buckel, starting September 1998.
%%
%% Copyright (C) 1999 Michael Basler (pmb@knUUt.de)
%% & Bernhard Buckel (buckel@wmad95.mathematik.uni-wuerzburg.de)
%%
%% This program is free software; you can redistribute it and/or
%% modify it under the terms of the GNU General Public License as
%% published by the Free Software Foundation; either version 2 of the
%% License, or (at your option) any later version.
%%
%% This program is distributed in the hope that it will be useful, but
%% WITHOUT ANY WARRANTY; without even the implied warranty of
%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
%% General Public License for more details.
%%
%% You should have received a copy of the GNU General Public License
%% along with this program; if not, write to the Free Software
%% Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
%%
%% $Id: getstart.tex,v 0.20 1999/06/04 michael
%% (Log is kept at end of this file)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\chapter{Missed approach: If anything refuses to work\label{missed}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\markboth{\thechapter.\hspace*{1mm} MISSED APPROACH
}{\thesection\hspace*{1mm} ???}
We tried to sort \Index{problems} according to operating system to a certain extent , but
if you encounter a problem it may be a wise idea to look beyond ''your'' operating system
-- just in case. Besides, if anything fails, it is definitely a good idea to check
the FAQ maintained by Oliver Delise (\mail{delise@rp-plus.de}) being distributed
along with the source code.
\section{General problems}
\begin{itemize}
\item{\FlightGear runs SOOO slow}\\
If the \Index{HUD} indicates you are getting something like 1\,fps
(frame per second) or below you typically don't have working hardware
\Index{OpenGL} support. There may be several reasons for this. First,
there may be no OpenGL hardware drivers available for older
cards. In this case it is highly recommended to get a new board.
Second, check if your drivers are properly installed. Several
cards need additional OpenGL support drivers besides the
''native'' windows ones. For more detail check Chapter
\ref{opengl}.
Third, check if your hardware driver is called \texttt{opengl32.dll}
or just merely \texttt{opengl.dll}. By the default compilation, binaries are linked against
\texttt{open} \texttt{gl32.dll}. If you require the non-32 version,
consider rebuilding \FlightGear with the libraries \texttt{opengl32.dll},
\texttt{glut32.dll}, and \texttt{glu32.dll} replaced by their
non-32 counterparts. For more details check Chapter
\ref{building}.
If you installed the pre-compiled binaries \texttt{runfgfs.bat} invokes
\texttt{fgfs.exe} while \texttt{runfgfs.sgi.bat} invokes
\texttt{fgfs.sgi.exe} with the first ones being linked against the 32-versions.
Usually, hardware accelerated drivers use the 32-libraries.
\end{itemize}
\section{Potential problems under Linux}
Since we don't have access to all possible flavors of Linux distributions, here are some
thoughts on possible causes of problems. (This Section includes contributions by Kai
Troester \mail{Kai.Troester@rz.tu-ilmenau.de}.)
\begin{itemize}
\item{Wrong library versions}\\
This is a rather common cause of grief especially when you prefer to
install the libraries needed by \FlightGear by hand. Be sure that
especially the Mesa library contains support for the \Index{3DFX
board} and that \Index{Glide} libraries are installed and can be
found. If a \texttt{ldd `which fgfs`} complains about missing
libraries you are in trouble.
You should also be sure to keep \em{always} the \em{latest} version
of Steve's plib on your system. Lots of people (including me) have
failed miserably to compile \FlightGear just because of an outdated
plib.
\item{Missing \Index{permissions}}\\
\FlightGear needs to be setuid root in order to be capable of
accessing the accelerator board (or a special kernel module as
described earlier in this document). So you can either issue a
\texttt{chown root.root /usr/local/bin/fgfs ;}\\
\texttt{chmod 4755 /usr/local/bin/fgfs}
to give the \FlightGear binary the proper rights or install the 3DFX module. The latter is the ``clean''
solution and strongly recommended!
\item{Non-default install options}\\
\FlightGear will display a lot of diagnostics when being started up.
If it complains about bad looking or missing files, check that you
installed them in the way they are supposed to be, i.e. latest
version and proper location. The canonical location \FlightGear
wants its data files under \texttt{/usr/local/lib}. Be sure to
grab the latest versions of everything that might be needed!
\item{Compile problems}\\
Check as far as you can, as a last resort (and a great information
source, too) there are mailing lists for which information can be
gotten at
\web{http://www.flightgear.org/mail.html}.
This will give you direct contact to the developers.
\item{Configure could not find Mesa and Glut though they are
installed}
If the configure script could not find your Mesa and Glut libraries you should add the
Mesa library-path (i.e. \texttt{/usr/local/Mesa}) to the EXTRA\_DIRS variable in the file
configure.in (i.e. \texttt{EXTRA\_DIRS=''/usr/local/usr/}
\texttt{X11R6/usr/local/Mesa''}). After this you have to run autoconf. (Please read
README.autoconf for running autoconf )
\item{SuSE Distribution}
\begin{itemize}
\item If you have a SuSE distribution use the egcs compiler instead
of the compiler delivered with SuSE. Grab it at
\web{http://egcs.cygnus.com}
\item SuSE 6.0 users should also use the Glide,
Mesa and Glut Libraries delivered with the distribution
\item A known problem of Flight Gear until version Version 0.57 with SuSE concerns
\texttt{acconfig.h}. If 'make' stops and reports an error in relation with acconfig.h
insert the following lines to \texttt{/usr/share/autoconf/} \texttt{acconfig.h}:
\texttt{/* needed to compile fgfs properly*/}\\
\texttt{{\#}undef FG\_NDEBUG}\\
\texttt{{\#}undef PACKAGE}\\
\texttt{{\#}undef VERSION}\\
\texttt{{\#}undef WIN32a}
(a solution for this problem is coming soon )
\end{itemize}
%%B.B. 21.2.99
Additionally there are two versions of the GNU C compiler around:
egcs and gcc (the classic one). gcc seems to have its own notion of
some C++ constructs, so updating to egcs won't hurt and maybe help
to compile the program.
%%
\end{itemize}
\section{Potential problems under Windows 98/NT}
\begin{itemize}
\item{The executable refuses to run.}\\
You may have tried to start the executable directly either by
double-clicking \texttt{fgfs.exe} in Windows explorer or by invoking it
in a MS-DOS shell. Double-clicking via explorer does never work
(except you set the environment variable \texttt{FG\_ROOT}
in the autoexec.bat or otherwise). Rather double-click \texttt{runfgfs.bat} or
\texttt{runfgfs-sgi.bat} For more detail, check Chapter \ref{takeoff}.
Another potential problem might be you did not download the
most recent versions of scenery and textures required by \FlightGear, or
you did not load any scenery or texture at all. Have a close look
at this, as the scenery/texture format is still under development and may
change frequently. For more detail, check Chapter \ref{prefligh}.
A further potential source of trouble are so-called
\Index{mini-OpenGL} drivers provided by some manufacturers. In this case,
{\FlightGear}'s typically hangs while opening the graphics window.
In this case, either replace the \Index{mini-OpenGL} driver by a
full OpenGL driver or or in case such is not available install
software OpenGL support (see Section \ref{softrend}).
\item{\FlightGear ignores the command line parameters.}\\
There is a problem with passing command line options containing a
''='' to windows batch files. Instead, include the options into
\texttt{runfgfs.bat}.
\item{While compiling with the Cygnus Compiler \texttt{Configure}
complains not to find \texttt{glu32.dll}}.
Make sure you change to the Main FlightGear directory, e.\,g. with
\texttt{cd //D/FlightGear-X.XX}
before running \texttt{Configure} and \texttt{Make}. Do not forget the win32 library
package.
\item{I am unable to build \FlightGear under \Index{MSVC}/\Index{MS DevStudio}}\\
By default, \FlightGear is build with GNU C++, i.\,e. the
\Index{Cygnus} compiler for Win32. For hints or Makefiles
required for MSVC for MSC DevStudio have a look into
\web{http://www.flightgear.org/Downloads/Source}.
In principle, \FlightGear should be buildable with the project files provided.
\item{Compilation of \FlightGear dies not finding \texttt{gfc}}.
The library \texttt{gfc} cannot be build with the Cygnus compiler at present. It us
supposed to be substituted by something else in the future.
As the simulator is already built at this point, you simply can forget about that problem
as long as you don't intend to build the \Index{scenery creation tools}. Just go on with
\texttt{make install}.
\end{itemize}
%% revision 0.10 1998/10/01 bernhard
%% added win stuff michael
%% final proofreading for release
%% revision 0.11 1998/11/01 michael
%% Remark on mini-OpenGL drivers, new general Section
%% Access violation error under win32 added
%% Command line problem in win32 added
%% revision 0.12 1999/03/07 bernhard
%% Remark on EGCS compiler
%% revision 0.12 1999/03/07 michael
%% Added Contribution by Kai Troester
%% Reworked Win32 Stuff
%% revision 0.20 1999/06/04 michael
%% added hint to FAQ, gfc problem

File diff suppressed because it is too large Load diff

View file

@ -1,243 +1,250 @@
%%
%% getstart.tex -- Flight Gear documentation: Installation and Getting Started
%% Chapter file
%%
%% Written by Michael Basler % Bernhard Buckel, starting September 1998.
%%
%% Copyright (C) 1999 Michael Basler (pmb@knUUt.de)
%% & Bernhard Buckel (buckel@wmad95.mathematik.uni-wuerzburg.de)
%%
%% This program is free software; you can redistribute it and/or
%% modify it under the terms of the GNU General Public License as
%% published by the Free Software Foundation; either version 2 of the
%% License, or (at your option) any later version.
%%
%% This program is distributed in the hope that it will be useful, but
%% WITHOUT ANY WARRANTY; without even the implied warranty of
%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
%% General Public License for more details.
%%
%% You should have received a copy of the GNU General Public License
%% along with this program; if not, write to the Free Software
%% Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
%%
%% $Id: getstart.tex,v 0.20 1999/06/04 michael
%% (Log is kept at end of this file)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\chapter{Getting the engine: Installing \Index{OpenGL} \Index{graphics drivers}\label{opengl}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\markboth{\thechapter.\hspace*{1mm} GETTING THE
ENGINE}{\thesection\hspace*{1mm} 3DFX UNDER LINUX}
\FlightGear's graphics engine is based on a \Index{graphics library} called
\Index{OpenGL}. Its primary advantage is it's platform independence, i.\,e., programs
written with \Index{OpenGL} support can be compiled and executed on several platforms,
given the proper drivers having been installed in advance. Thus, independent of if you
want to run the binaries only or if you want to compile the program yourself you must
install some sort of \Index{OpenGL} support for your \Index{video card}. Naturally, you
can skip this Chapter in case you already did (maybe for Quake or some other game).
Unfortunately, there are so many graphics boards, graphics chips and drivers that we are
unable to provide a complete description for all systems. To give beginners a hand, we
just describe what we did to install drivers on our systems, which might be not too
exotic.
By any means, try getting hardware \Index{OpenGL} drivers for your system, which is
exemplary described in Sections \ref{3dfxlinux} to \ref{3DFXwin98}, resp. If you are
unable to locate any such drivers you can try software support\index{OpenGL!software
support} as detailed under \ref{softrend}.
\section{\Index{3DFX} under \Index{Linux}\label{3dfxlinux}}
%%Bernhard, 21.02.1999
An excellent place to search for documentation about Linux and 3D
accelerators is the {\it Linux 3Dfx HOWTO} at
\web{http://www.gamers.org/dEngine/xf3D/howto/3Dfx-HOWTO.html}.
It describes all the following steps in an in-depth fashion and
should be your first aid in case something goes wrong with your 3D
setup.
%%
The \Index{3DFX} graphics card is a quite popular one (We tested
the \Index{Voodoo}1 to work). At first, you need the \Index{GLIDE}
library installed. Grab it at:
\href{http://www.3dfx.com/software/download_glidel.html}{http://www.3dfx.com/software/download\_glidel.html}
\noindent
and install it.
%%Bernhard 21.02.1999%%
Be careful, you need different Glide libraries for the different types of VooDoos (I, II, Banshee).
%%
There is even an install script included that will do things for you. The canonical place
for \Index{GLIDE} is \texttt{/usr/local/glide}, if you prefer another location, you'll
have to edit the Makefile for \FlightGear by hand. Be sure to read and understand the
file \texttt{/usr/local/glide/README}. Next, you need to install the \Index{MESA} library
version 3.0 (or later). Grab it at
\web{ftp://iris.ssec.wisc.edu/pub/Mesa},
\noindent
unpack it and run
\texttt{make linux-glide}
\noindent
in the Mesa directory. Follow the instructions in the \texttt{README}
file, take a close look at \texttt{README.3DFX} and play with the demo
programs.
Besides these, you need the \Index{GLUT} library version 3.7 (or
greater, aka GameGLUT) installed. Grab it at:
\web{http://reality.sgi.com/opengl/glut3/glut3.html}.
\noindent
Note: Glut-3.7 is included with Mesa 3.0 so if you've already grabbed
the latest version of mesa, you should have everything you need.
Finally, some more notes on the behavior of \Index{Voodoo} boards:
Your card comes packaged with a \Index{loop-through-cable}. If you
have only one monitor, then the Voodoo will take it over when
used. This means that all the applications on your desktop will
continue running but you'll only see the \FlightGear screen. If
your window manager uses a focus-follows-mouse policy, don't move
the mouse. If you lose the focus, there's no way to shut down
\FlightGear graciously! Better solution: Use two monitors, one for
your desktop, connect the other one to your accelerator. You'll
then get a window on your desktop which manages all keyboard
events and you're still able to see your desktop.
Running \FlightGear under Linux using a 3DFX accelerator board is
somewhat tricky. Most of the boards behavior is controlled by
environment variables.\index{environment variable} The two most
important are:
\begin{itemize}
\item{\texttt{MESA\_GLX\_FX}}: When set to \texttt{f} rendering will be in
fullscreen mode,
%%Bernhard 21.2.99
\texttt{w} will perform rendering in a window at a significant speed penalty.
%%
\item {\texttt{FX\_GLIDE\_NO\_SPLASH}}:
When set to \texttt{1} the rotating 3DFX logo
won't appear. For a description of all environment
variables\index{environment variable} for VooDooI/II have a look at
\href{http://www.bahnhof.se/~engstrom/e_3dfxvars.htm}{http://www.bahnhof.se/\~{}engstrom/e\_3dfxvars.htm}.
\end{itemize}
This completes preparing your \Index{3DFX} equipped Linux PC for running
\FlightGear\hspace{-1mm}.
%%B.B 21.2.99
Now proceed and install the support files as described later in this document.
%%
\section{Rendition Chipset\index{Rendition chipset} under
\Index{Windows 98/NT}\label{renditionwin}}
This Section serves as an example for installing \Index{OpenGL} drivers under
\Index{Windows 98/NT}. The \Index{Rendition 2100 chipset} is, for instance, included in
the \Index{Diamond Stealth II} card performing especially well in somewhat weaker
machines.
Diamond itself does not provide any \Index{OpenGL} driver support for that board.
However, Rendition, who make the graphics chip, do. Go to their Web site and grab the
latest \Index{OpenGL} \Index{Windows drivers} from
\web{http://www.rendition.com/download.html}
\noindent
Follow the description in \texttt{readme.txt}. We recommend making
the drivers the default ones by copying them to
\texttt{$\backslash$windows$\backslash$system} (which avoids the
hassle of not being sure which driver actually runs).
With this step you're already done.
According to our experience, so-called \Index{mini-OpenGL} drivers
provided by some manufacturers for making Quake playable do not
provide the level of OpenGL support required by {\FlightGear}. At
least, Rendition's \Index{mini-OpenGL} driver definitely does not.
\section{RIVA TNT Chipset\index{RIVA TNT chipset} under
\Index{Windows 98/NT}\label{rivatnt}}
Because of its high performance, the RIVA TNT is one of the most popular chipsets today.
The \Index{Diamond Viper 550}, ELSA Erazor-2, \Index{Creative Graphics Blaster}, and
more cards come equipped with this chip. At least the default Viper 550 drivers are known
to us having native built-in OpenGL support making any add-on OpenGL drivers obsolete.
Similar things should apply to the other RIVA TNT based boards. In any case, NVIDIA's
reference drivers being available from
\web{http://www.nvidia.com/}
\noindent
do the job as well.
\section{3DFX chip based boards\index{3DFX chip} under
\Index{Windows 98/NT}\label{3DFXwin98}}
The \Index{3DXF} based 3D add-on or 2D/3D boards are perhaps the
most popular ones today at all. \Index{3DFX} made Beta OpenGL
Windows 98 drivers available on their Website at
\web{http://www.3dfx.com}.
\noindent
From the main page go to \texttt{Develop 3DFX} and further to \texttt{SDKs and
Demos} and grab them there.
First, make sure you have the file \texttt{glu32.dll} either under
\texttt{$\backslash$Windows$\backslash$System} or elsewhere in your path. If not, install
the MS OpenGL kit \texttt{opengl95} available from Microsoft or elsewhere on the net
(which by itself only provides software rendering).
Next, locate the file \texttt{3dfxopengl.dll}. in the 3DFX driver package, rename it to
\texttt{opengl32.dll} and copy it into \texttt{$\backslash$Windows$\backslash$System}
overwriting the file with the same name installed from the MS kit. This should get you
going.
\section{\Index{OpenGL} software rendering\index{OpenGL!software rendering}
under Windows 98/NT\label{softrend}}
If you have an accelerated 3D card, it is highly recommended you
install hardware \Index{OpenGL} drivers for your specific card.
However, in case you are really unable to find such drivers and
want to try \FlightGear despite this you can install SGI software
\Index{OpenGL} rendering. For this purpose, get the file
\texttt{sgi-opengl2.exe} from
\web{ftp://ftp.flightgear.org/pub/fgfs/Misc/}.
\noindent
This is a \Index{Windows 98/NT} self extracting installation
program. Install it by double-clicking in Windows explorer. The
package includes some demo games you may wish to try by invoking
them from the Start menu.
%% Revision 0.00 1998/09/08 michael
%% Initial revision for version 0.53.
%% incl. Linux stuff from b buckel
%% Revision 0.01 1998/09/20 michael
%% several extensions and corrections
%% revision 0.10 1998/10/01 michael
%% added 3dfx stuff from b. buckel
%% final proofreading for release
%% revision 0.11 1998/11/01 michael
%% Remark on mini-OpenGL drivers
%% revision 0.12 1999/03/07 bernhard
%% Complete rewrite of 3DFX/Linux part
%% revision 0.12 1999/03/07 michael
%% Added Riva TNT Win95
%% Added 3DFX Win95
%% revision 0.20 1999/06/04 michael
%% corrections of links
%%
%% getstart.tex -- Flight Gear documentation: Installation and Getting Started
%% Chapter file
%%
%% Written by Michael Basler % Bernhard Buckel, starting September 1998.
%%
%% Copyright (C) 1999 Michael Basler (pmb@knUUt.de)
%% & Bernhard Buckel (buckel@wmad95.mathematik.uni-wuerzburg.de)
%%
%% This program is free software; you can redistribute it and/or
%% modify it under the terms of the GNU General Public License as
%% published by the Free Software Foundation; either version 2 of the
%% License, or (at your option) any later version.
%%
%% This program is distributed in the hope that it will be useful, but
%% WITHOUT ANY WARRANTY; without even the implied warranty of
%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
%% General Public License for more details.
%%
%% You should have received a copy of the GNU General Public License
%% along with this program; if not, write to the Free Software
%% Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
%%
%% $Id: getstart.tex,v 0.20 1999/06/04 michael
%% (Log is kept at end of this file)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\chapter{Getting the engine: Installing \Index{OpenGL} \Index{graphics drivers}\label{opengl}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\markboth{\thechapter.\hspace*{1mm} GETTING THE
ENGINE}{\thesection\hspace*{1mm} 3DFX UNDER LINUX}
\FlightGear's graphics engine is based on a \Index{graphics library} called
\Index{OpenGL}. Its primary advantage is it's platform independence, i.\,e., programs
written with \Index{OpenGL} support can be compiled and executed on several platforms,
given the proper drivers having been installed in advance. Thus, independent of if you
want to run the binaries only or if you want to compile the program yourself you must
install some sort of \Index{OpenGL} support for your \Index{video card}. Naturally, you
can skip this Chapter in case you already did (maybe for Quake or some other game).
Unfortunately, there are so many graphics boards, graphics chips and drivers that we are
unable to provide a complete description for all systems. To give beginners a hand, we
just describe what we did to install drivers on our systems, which might be not too
exotic.
By any means, try getting hardware \Index{OpenGL} drivers for your system, which is
exemplary described in Sections \ref{3dfxlinux} to \ref{3DFXwin98}, resp. If you are
unable to locate any such drivers you can try software support\index{OpenGL!software
support} as detailed under \ref{softrend}.
\section{\Index{3DFX} under \Index{Linux}\label{3dfxlinux}}
%%Bernhard, 21.02.1999,25.06.1999
An excellent place to search for documentation about Linux and 3D accelerators is the
{\it Linux \Index{Quake} HOWTO} at
\web{http://www.linuxquake.com}.
It describes all the following steps in an in-depth fashion and
should be your first aid in case something goes wrong with your 3D
setup.
%%
The \Index{3DFX} graphics card is a quite popular one (We tested
the \Index{Voodoo}1 to work). At first, you need the \Index{GLIDE}
library installed. Grab it at:
\href{http://www.3dfx.com/software/download_glidel.html}{http://www.3dfx.com/software/download\_glidel.html}
\noindent
and install it.
%%Bernhard 21.02.1999%%
Be careful, you need different Glide libraries for the different types of VooDoos (I, II, III Banshee).
%%
There is even an install script included that will do things for you. The canonical place
for \Index{GLIDE} is \texttt{/usr/local/glide}, if you prefer another location, you'll
have to edit the Makefile for \FlightGear by hand. Be sure to read and understand the
file \texttt{/usr/local/glide/README}. Next, you need to install the \Index{MESA} library
version 3.0 (or later). Grab it at
\web{ftp://iris.ssec.wisc.edu/pub/Mesa},
\noindent
unpack it and run
\texttt{make linux-glide}
\noindent
in the \Index{Mesa} directory. Follow the instructions in the \texttt{README} file, take
a close look at \texttt{README.3DFX} and play with the demo programs.
Besides these, you need the \Index{GLUT} library version 3.7 (or
greater, aka GameGLUT) installed. Grab it at:
\web{http://reality.sgi.com/opengl/glut3/glut3.html}.
\noindent
Note: Glut-3.7 is included with \Index{Mesa} 3.0 so if you've already grabbed the latest
version of mesa, you should have everything you need.
%%Bernhard 25.06.1999
For the lazy of you, there is of course the possibility to install the 3D stuff included
in your distribution. At least \Index{RedHat} 6.0 and \Index{SuSE} 6.1 are known to
contain all the necessary stuff.
Finally, some more notes on the behavior of \Index{Voodoo} boards:
Your card comes packaged with a \Index{loop-through-cable}. If you
have only one monitor, then the Voodoo will take it over when
used. This means that all the applications on your desktop will
continue running but you'll only see the \FlightGear screen. If
your window manager uses a focus-follows-mouse policy, don't move
the mouse. If you lose the focus, there's no way to shut down
\FlightGear graciously! Better solution: Use two monitors, one for
your desktop, connect the other one to your accelerator. You'll
then get a window on your desktop which manages all keyboard
events and you're still able to see your desktop.
Running \FlightGear under Linux using a 3DFX accelerator board is
somewhat tricky. Most of the boards behavior is controlled by
environment variables.\index{environment variable} The two most
important are:
\begin{itemize}
\item{\texttt{MESA\_GLX\_FX}}: When set to \texttt{f} rendering will be in
fullscreen mode,
%%Bernhard 21.2.99
\texttt{w} will perform rendering in a window at a significant speed penalty.
%%
\item {\texttt{FX\_GLIDE\_NO\_SPLASH}}:
When set to \texttt{1} the rotating 3DFX logo
won't appear. For a description of all environment
variables\index{environment variable} for VooDooI/II have a look at
\href{http://www.bahnhof.se/~engstrom/e_3dfxvars.htm}{http://www.bahnhof.se/\~{}engstrom/e\_3dfxvars.htm}.
\end{itemize}
This completes preparing your \Index{3DFX} equipped Linux PC for running
\FlightGear\hspace{-1mm}.
%%B.B 21.2.99
Now proceed and install the support files as described later in this document.
%%
\section{Rendition Chipset\index{Rendition chipset} under
\Index{Windows 98/NT}\label{renditionwin}}
This Section serves as an example for installing \Index{OpenGL} drivers under
\Index{Windows 98/NT}. The \Index{Rendition 2100 chipset} is, for instance, included in
the \Index{Diamond Stealth II} card performing especially well in somewhat weaker
machines.
Diamond itself does not provide any \Index{OpenGL} driver support for that board.
However, Rendition, who make the graphics chip, do. Go to their Web site and grab the
latest \Index{OpenGL} \Index{Windows drivers} from
\web{http://www.rendition.com/download.html}
\noindent
Follow the description in \texttt{readme.txt}. We recommend making
the drivers the default ones by copying them to
\texttt{$\backslash$windows$\backslash$system} (which avoids the
hassle of not being sure which driver actually runs).
With this step you're already done.
According to our experience, so-called \Index{mini-OpenGL} drivers
provided by some manufacturers for making Quake playable do not
provide the level of OpenGL support required by {\FlightGear}. At
least, Rendition's \Index{mini-OpenGL} driver definitely does not.
\section{RIVA TNT Chipset\index{RIVA TNT chipset} under
\Index{Windows 98/NT}\label{rivatnt}}
Because of its high performance, the RIVA TNT is one of the most popular chipsets today.
The \Index{Diamond Viper 550}, ELSA Erazor-2, \Index{Creative Graphics Blaster}, and
more cards come equipped with this chip. At least the default Viper 550 drivers are known
to us having native built-in OpenGL support making any add-on OpenGL drivers obsolete.
Similar things should apply to the other RIVA TNT based boards. In any case, NVIDIA's
reference drivers being available from
\web{http://www.nvidia.com/}
\noindent
do the job as well.
\section{3DFX chip based boards\index{3DFX chip} under
\Index{Windows 98/NT}\label{3DFXwin98}}
The \Index{3DXF} based 3D add-on or 2D/3D boards are perhaps the
most popular ones today at all. \Index{3DFX} made Beta OpenGL
Windows 98 drivers available on their Website at
\web{http://www.3dfx.com}.
\noindent
From the main page go to \texttt{Develop 3DFX} and further to \texttt{SDKs and
Demos} and grab them there.
First, make sure you have the file \texttt{glu32.dll} either under
\texttt{$\backslash$Windows$\backslash$System} or elsewhere in your path. If not, install
the MS OpenGL kit \texttt{opengl95} available from Microsoft or elsewhere on the net
(which by itself only provides software rendering).
Next, locate the file \texttt{3dfxopengl.dll}. in the 3DFX driver package, rename it to
\texttt{opengl32.dll} and copy it into \texttt{$\backslash$Windows$\backslash$System}
overwriting the file with the same name installed from the MS kit. This should get you
going.
\section{\Index{OpenGL} software rendering\index{OpenGL!software rendering}
under Windows 98/NT\label{softrend}}
If you have an accelerated 3D card, it is highly recommended you
install hardware \Index{OpenGL} drivers for your specific card.
However, in case you are really unable to find such drivers and
want to try \FlightGear despite this you can install SGI software
\Index{OpenGL} rendering. For this purpose, get the file
\texttt{sgi-opengl2.exe} from
\web{ftp://ftp.flightgear.org/pub/fgfs/Misc/}.
\noindent
This is a \Index{Windows 98/NT} self extracting installation
program. Install it by double-clicking in Windows explorer. The
package includes some demo games you may wish to try by invoking
them from the Start menu.
%% Revision 0.00 1998/09/08 michael
%% Initial revision for version 0.53.
%% incl. Linux stuff from b buckel
%% Revision 0.01 1998/09/20 michael
%% several extensions and corrections
%% revision 0.10 1998/10/01 michael
%% added 3dfx stuff from b. buckel
%% final proofreading for release
%% revision 0.11 1998/11/01 michael
%% Remark on mini-OpenGL drivers
%% revision 0.12 1999/03/07 bernhard
%% Complete rewrite of 3DFX/Linux part
%% revision 0.12 1999/03/07 michael
%% Added Riva TNT Win95
%% Added 3DFX Win95
%% revision 0.20 1999/06/04 michael
%% corrections of links
%% revision 0.21 1999/06/30 bernhard
%% updated and expanded 3DFX/Linux

File diff suppressed because it is too large Load diff

View file

@ -1,126 +1,126 @@
%%
%% getstart.tex -- Flight Gear documentation: Installation and Getting Started
%% Chapter file
%%
%% Written by Michael Basler, started September 1998.
%%
%% Copyright (C) 1999 Michael Basler (pmb@knUUt.de)
%%
%%
%% This program is free software; you can redistribute it and/or
%% modify it under the terms of the GNU General Public License as
%% published by the Free Software Foundation; either version 2 of the
%% License, or (at your option) any later version.
%%
%% This program is distributed in the hope that it will be useful, but
%% WITHOUT ANY WARRANTY; without even the implied warranty of
%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
%% General Public License for more details.
%%
%% You should have received a copy of the GNU General Public License
%% along with this program; if not, write to the Free Software
%% Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
%%
%% $Id: getstart.tex,v 0.20 1999/06/04 michael
%% (Log is kept at end of this file)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\chapter{Preflight: Installing \FlightGear \label{prefligh}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\markboth{\thechapter.\hspace*{1mm}
PREFLIGHT}{\thesection\hspace*{1mm} INSTALLING THE BINARIES}
\section{Installing the Binaries on a Windows system}\index{binaries!installation}
You can skip this Section and go to the installation of scenery in case you built
\FlightGear along the lines describes during the previous Chapter. If you did not and
you're jumping in here your first step consists in installing the binaries. At present,
there are only pre-compiled \Index{binaries} available for \Index{Windows 98/NT} while in
principle it might be possible to create (statically linked) binaries for \Index{Linux}
as well.
The following supposes you are on a Windows 98 or Windows NT\index{Windows 98/NT} system.
Installing the binaries is quite simple. Go to
\web{ftp://ftp.flightgear.org/pub/fgfs/Win32/}
\noindent
get the latest binaries from that subdirectory named
\texttt{fgfs-win32-bin-X.XX.exe}
\noindent
and unpack them via double clicking. This will create a directory \texttt{FlightGear}
with several subdirectories. You are done.
\section{Installing \Index{Support files}}
Independent on your operating system and independent on if you built the binaries
yourself or installed the precompiled ones as described above you will need
\Index{scenery}, \Index{texture}, \Index{sound}, and some more support files. A basic
package of all these is contained in the binaries directory mentioned above as
\texttt{fgfs-base-X.XX}.
\noindent
Preferably, you may want to download the \texttt{.tar.gz} version
if you are working under \Index{Linux}/\Index{UNIX} and the \texttt{.exe} version if you
are under \Index{Windows 98/NT}. Make sure you get the \textbf{most recent} version.
If you're working under \Index{Linux} or \Index{UNIX}, unpack the
previously downloaded file with
\texttt{tar xvfz fgfs-base-X.XX.tar.gz}
\noindent
while under \Index{Windows 98/NT} just double click on the file (being situated in the
root of your \FlightGear drive.).
This already completes installing \FlightGear and should you enable to invoke the
program.
Some more scenery which, however, is not a substitute for the
package mentioned above but rather is based on it can be found in
the scenery subdirectory under
\web{http://www.flightgear.org/Downloads/}
\noindent
These may be older versions which may or may not work with the
most recent binaries.
In addition, there is a complete set of \Index{USA Scenery files}
available created by Curt Olson\index{Olson, Curt} which can be
downloaded from
\web{ftp://ftp.kingmont.com/pub/kingmont/}
\noindent
The complete set covers several 100's of MBytes. Thus, Curt
provides the complete set on CD-ROM for those who really would
like to fly over all of the USA. For more detail, check the
remarks in the downloads page above.
Finally, the binaries directory mentioned contains the complete \FlightGear documentation
as
\texttt{fgfs-manual-X.XX.exe}.
It includes a .pdf version of this \textit{Installation and Getting Started} guide
intended for pretty printing using Adobe's Acrobat reader being available from
\web{http://www.adobe.com/acrobat}
Moreover, if properly installed the .html version can be accessed via \FlightGear's
\texttt{help} menu entry.
%% Revision 0.00 1998/09/08 michael
%% Initial revision for version 0.53.
%% Revision 0.01 1998/09/20 michael
%% several extensions and corrections
%% revision 0.10 1998/10/01 michael
%% final proofreading for release
%% revision 0.11 1998/11/01 michael
%% support files Section completely re-written
%% revision 0.20 1999/06/04 michael
%% some updates and corrections, corrected links
%%
%% getstart.tex -- Flight Gear documentation: Installation and Getting Started
%% Chapter file
%%
%% Written by Michael Basler, started September 1998.
%%
%% Copyright (C) 1999 Michael Basler (pmb@knUUt.de)
%%
%%
%% This program is free software; you can redistribute it and/or
%% modify it under the terms of the GNU General Public License as
%% published by the Free Software Foundation; either version 2 of the
%% License, or (at your option) any later version.
%%
%% This program is distributed in the hope that it will be useful, but
%% WITHOUT ANY WARRANTY; without even the implied warranty of
%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
%% General Public License for more details.
%%
%% You should have received a copy of the GNU General Public License
%% along with this program; if not, write to the Free Software
%% Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
%%
%% $Id: getstart.tex,v 0.20 1999/06/04 michael
%% (Log is kept at end of this file)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\chapter{Preflight: Installing \FlightGear \label{prefligh}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\markboth{\thechapter.\hspace*{1mm}
PREFLIGHT}{\thesection\hspace*{1mm} INSTALLING THE BINARIES}
\section{Installing the Binaries on a Windows system}\index{binaries!installation}
You can skip this Section and go to the installation of scenery in case you built
\FlightGear along the lines describes during the previous Chapter. If you did not and
you're jumping in here your first step consists in installing the binaries. At present,
there are only pre-compiled \Index{binaries} available for \Index{Windows 98/NT} while in
principle it might be possible to create (statically linked) binaries for \Index{Linux}
as well.
The following supposes you are on a Windows 98 or Windows NT\index{Windows 98/NT} system.
Installing the binaries is quite simple. Go to
\web{ftp://ftp.flightgear.org/pub/fgfs/Win32/}
\noindent
get the latest binaries from that subdirectory named
\texttt{fgfs-win32-bin-X.XX.exe}
\noindent
and unpack them via double clicking. This will create a directory \texttt{FlightGear}
with several subdirectories. You are done.
\section{Installing \Index{Support files}}
Independent on your operating system and independent on if you built the binaries
yourself or installed the precompiled ones as described above you will need
\Index{scenery}, \Index{texture}, \Index{sound}, and some more support files. A basic
package of all these is contained in the binaries directory mentioned above as
\texttt{fgfs-base-X.XX}.
\noindent
Preferably, you may want to download the \texttt{.tar.gz} version
if you are working under \Index{Linux}/\Index{UNIX} and the \texttt{.exe} version if you
are under \Index{Windows 98/NT}. Make sure you get the \textbf{most recent} version.
If you're working under \Index{Linux} or \Index{UNIX}, unpack the
previously downloaded file with
\texttt{tar xvfz fgfs-base-X.XX.tar.gz}
\noindent
while under \Index{Windows 98/NT} just double click on the file (being situated in the
root of your \FlightGear drive.).
This already completes installing \FlightGear and should you enable to invoke the
program.
Some more scenery which, however, is not a substitute for the
package mentioned above but rather is based on it can be found in
the scenery subdirectory under
\web{http://www.flightgear.org/Downloads/}
\noindent
These may be older versions which may or may not work with the
most recent binaries.
In addition, there is a complete set of \Index{USA Scenery files}
available created by Curt Olson\index{Olson, Curt} which can be
downloaded from
\web{ftp://ftp.kingmont.com/pub/kingmont/}
\noindent
The complete set covers several 100's of MBytes. Thus, Curt
provides the complete set on CD-ROM for those who really would
like to fly over all of the USA. For more detail, check the
remarks in the downloads page above.
Finally, the binaries directory mentioned contains the complete \FlightGear documentation
as
\texttt{fgfs-manual-X.XX.exe}.
It includes a .pdf version of this \textit{Installation and Getting Started} guide
intended for pretty printing using Adobe's Acrobat reader being available from
\web{http://www.adobe.com/acrobat}
Moreover, if properly installed the .html version can be accessed via \FlightGear's
\texttt{help} menu entry.
%% Revision 0.00 1998/09/08 michael
%% Initial revision for version 0.53.
%% Revision 0.01 1998/09/20 michael
%% several extensions and corrections
%% revision 0.10 1998/10/01 michael
%% final proofreading for release
%% revision 0.11 1998/11/01 michael
%% support files Section completely re-written
%% revision 0.20 1999/06/04 michael
%% some updates and corrections, corrected links

File diff suppressed because it is too large Load diff

View file

@ -1,267 +1,267 @@
%%
%% getstart.tex -- Flight Gear documentation: Installation and Getting Started
%% Chapter file
%%
%% Written by Bernhard Buckel, starting September 1998.
%%
%% Copyright (C) 1999 Bernhard Buckel (buckel@wmad95.mathematik.uni-wuerzburg.de)
%%
%% This program is free software; you can redistribute it and/or
%% modify it under the terms of the GNU General Public License as
%% published by the Free Software Foundation; either version 2 of the
%% License, or (at your option) any later version.
%%
%% This program is distributed in the hope that it will be useful, but
%% WITHOUT ANY WARRANTY; without even the implied warranty of
%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
%% General Public License for more details.
%%
%% You should have received a copy of the GNU General Public License
%% along with this program; if not, write to the Free Software
%% Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
%%
%% $Id: getstart.tex,v 0.20 1999/06/04 michael
%% (Log is kept at end of this file)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\chapter{Takeoff: How to start the program\label{takeoff}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\markboth{\thechapter.\hspace*{1mm}
TAKEOFF}{\thesection\hspace*{1mm} Command line parameters}
\section{Starting under Linux}
Under Linux, \FlightGear is invoked by
\texttt{fgfs -$\!$-option1 -$\!$-option2\dots},
\noindent
where the options are described in Section \ref{options} below.
\section{Starting under \Index{Windows 98/NT}}
In Windows explorer, change to the \texttt{$\backslash$FlightGear$\backslash$} directory.
Call \texttt{runfgfs.bat} by double-clicking if you want to invoke the hardware
accelerated version of \FlightGear \texttt{fgfs.exe}, or \texttt{runfgfs-sgi.bat} if you
installed SGI's software \Index{OpenGL} support.
Alternatively, if for one or the other reason the batch does not work, you can open an
MS-DOS shell, change to the directory where your binary resides (typically something like
\texttt{d:$\backslash$FlightGear$\backslash$bin} where you might have to substitute
\texttt{d:} in favor of your \FlightGear directory), set the environment variable with
\texttt{SET FG\_ROOT=d:$\backslash$FlightGear$\backslash$bin}
\noindent
and invoke \FlightGear (within the same shell -- Windows environment
settings are only valid locally within the same shell) via
\texttt{fgfs -$\!$-option1 -$\!$-option2\dots}.
For getting maximum performance it is highly recommended to
minimize (iconize) the non-graphics window while running
{\FlightGear}$\!$.
\medskip
\centerline{
\includegraphics[clip,width=12.5cm]{arizona.eps}
}
\smallskip
\noindent
Fig.\,2: \textit{Ready for takeoff. We are at the default startup
position in Arizona.}
\medskip
\section{Command line parameters\label{options}}
\index{command line options}
Following is a list and short description of the command line options available. In case
of Windows 98/NT it is recommended to include these in \texttt{runfgfs.bat}.
\subsection{General Options}
\begin{itemize}
\item{\texttt{-$\!$-help}}: gives a small help text, kind of a short version of this Section.
\item{\texttt{-$\!$-fg-root={\it path}}}: tells \FlightGear where to look for its data
files if you didn't compile it with the default settings.
\item{\texttt{-$\!$-disable-game-mode}}: Disables \Index{fullscreen display}.
\item{\texttt{-$\!$-enable-game-mode}}: Enables fullscreen rendering.
\item{\texttt{-$\!$-disable-splash-screen}}: Turns off the rotating \Index{3DFX
logo} when the accelerator board gets initialized.
\item{\texttt{-$\!$-enable-splash-screen}}: If you like advertising, set this!
\item{\texttt{-$\!$-disable-intro-music}}: No MP3-sample is being played when
\FlightGear starts up.
\item{\texttt{-$\!$-enable-intro-music}}: If your machine is powerful enough, enjoy
this setting.
\item{\texttt{-$\!$-disable-mouse-pointer}}: In the future, \FlightGear will
feature a mouse interface so that options can be set at runtime. As
this feature is not implemented yet it seems wise to disable the
mouse interface.
\item{\texttt{-$\!$-enable-mouse-pointer}}: Enables another mouse pointer in the
\FlightGear window. This is useful when running \FlightGear in full
screen mode and will allow access to the - yet to be implemented -
mouse interface of \FlightGear\hspace{-2mm}.
\item{\texttt{-$\!$-disable-pause}}: This will put you into \FlightGear with the
engine running, ready for Take-Off.
\item{\texttt{-$\!$-enable-pause}}: Starts \FlightGear in pause mode.
\end{itemize}
\subsection{Features}
\begin{itemize}
\item{\texttt{-$\!$-disable-hud}}: Switches off the \Index{HUD} (\textbf{H}ead \textbf{U}p
\textbf{D}isplay).
\item{\texttt{-$\!$-enable-hud}}: Turns the \Index{HUD} on. This is the default.
\item{\texttt{-$\!$-disable-panel}}: Turns off the \Index{instrument panel}. This is the
default, as the instrument panel is not yet complete -- but in our opinion
should be given at least a try.
\item{\texttt{-$\!$-enable-panel}}: This will give you the look of a real \Index{cockpit}.
\item{\texttt{-$\!$-disable-sound}}: Pretty self explaining, isn't it?
\item{\texttt{-$\!$-enable-sound}}:
\end{itemize}
\subsection{Flight model\index{flight model}}
\begin{itemize}
\item{\texttt{-$\!$-fdm=abcd}} There are four allowed values for abcd: \texttt{slew, jsb, larcsim,
external}, which you might want to try. Default value is \texttt{larcsim}.
\end{itemize}
\subsection{Initial Position and Orientation\index{orientation}}
\begin{itemize}
\item{\texttt{-$\!$-airport-id=ABCD}}: If you want to start directly at an airport,
enter its international code, i.e. KJFK for JFK airport in New York.
A long/short list of the IDs of the airports being implemented can
be found in \texttt{/Flight Gear/Airports}. You only have to unpack
one of the files with gnuzip. Keep in mind, you need the
terrain data for the relevant region!\index{airport code}
\item{\texttt{-$\!$-lon=degrees}}: This is the starting longitude in degrees (west = -)
\item{\texttt{-$\!$-lat=degrees}}: This is the starting latitude in degrees (south = -)
\item{\texttt{-$\!$-altitude=meters}}: You may start in free flight at the given
altitude. Watch for the next options to insert the plane with a
given heading etc.
\item{\texttt{-$\!$-heading=degrees}}: Sets the \Index{initial heading}.
\item{\texttt{-$\!$-roll=degrees}}: Initial roll angle.\index{initial roll angle}
\item{\texttt{-$\!$-pitch=degrees}}: Initial pitch angle.\index{initial pitch angle}
\end{itemize}
\subsection{Rendering Options\index{rendering options}}
\begin{itemize}
\item{\texttt{-$\!$-fog-disable}}: To cut down the rendering efforts, distant
regions are vanishing in \Index{fog} by default. If you disable fogging,
you'll see farther but your frame rates will drop.
\item{\texttt{-$\!$-fog-fastest}}: The scenery will not look very nice but
frame rates will increase.
\item{\texttt{-$\!$-fog-nicest}}: This option will give you a fairly realistic
view of flying on a hazy day.
\item{\texttt{-$\!$-fov=xx.x}}: Sets the \Index{field of view} in degrees.
The value is displayed on the HUD. Default is 55.0.
\item{\texttt{-$\!$-disable-fullscreen}}: Self explaining, isn't it?
\item{\texttt{-$\!$-enable-fullscreen}}:
\item{\texttt{-$\!$-shading-flat}}: This is the fastest mode but the terrain will look ugly! This option might help if your video accelerator is really slow.
\item{\texttt{-$\!$-shading-smooth}}: This is the recommended (and default) setting - things will look really nice.
\item{\texttt{-$\!$-disable-skyblend}}: No fogging or \Index{haze}, sky will be displayed
using just one color. Fast but ugly!
\item{\texttt{-$\!$-enable-skyblend}}: Fogging/haze is enabled, sky and \Index{terrain} look realistic. This is the default and recommended setting.
\item{\texttt{-$\!$-disable-textures}}: Terrain details will be disabled. Looks ugly, but might help if your video board is slow.
\item{\texttt{-$\!$-enable-textures}}: Default and recommended.
\item{\texttt{-$\!$-enable-wireframe}}: If you want to know how the world of \FlightGear internally looks like, try this!
\item{\texttt{-$\!$-geometry=WWWxHHH}}: Defines the size of the window used, i.e.
\texttt{WWWxHHH} can be \texttt{640x480}, \texttt{800x600}, or \texttt{1024x768}.
\end{itemize}
\subsection{Scenery Options Options\index{scenery options}}
\begin{itemize}
\item{\texttt{-$\!$-tile-radius=n}}: Specifies the tiles radius; allowed values for
\texttt{n} are 1 -- 4.
\end{itemize}
\subsection{HUD Options\index{HUD}}
\begin{itemize}
\item{\texttt{-$\!$-units-feed}}: HUD displays units in feet.
\item{\texttt{-$\!$-units-meters}}: HUD displays units in meters.
\item{\texttt{-$\!$-hud-tris}}: HUD displays the number of triangles rendered.
\item{\texttt{-$\!$-hud-culled}}: HUD displays percentage of triangles culled.
\end{itemize}
\subsection{Time options\index{time options}}
\begin{itemize}
\item{\texttt{-$\!$-time-offset=[+-]hh:mm:ss}}: Offset local time by this amount.
\item{\texttt{-$\!$-start-date-gmt=yyyy:mm:dd:hh:mm:ss}}: Specify a starting time and
date. Time is Greenwich Mean Time.
\item{\texttt{-$\!$-start-date-lst=yyyy:mm:dd:hh:mm:ss}}: Specify a starting time and
date. Uses local sidereal time.
\end{itemize}
%% Revision 0.02 1998/09/29 bernhard
%% revision 0.10 1998/10/01 michael
%% final proofreading for release
%% revision 0.11 1998/11/01 michael
%% Added pic from Arizona takeoff
%% revision 0.20 1999/06/04 michael
%% added new options
%%
%% getstart.tex -- Flight Gear documentation: Installation and Getting Started
%% Chapter file
%%
%% Written by Bernhard Buckel, starting September 1998.
%%
%% Copyright (C) 1999 Bernhard Buckel (buckel@wmad95.mathematik.uni-wuerzburg.de)
%%
%% This program is free software; you can redistribute it and/or
%% modify it under the terms of the GNU General Public License as
%% published by the Free Software Foundation; either version 2 of the
%% License, or (at your option) any later version.
%%
%% This program is distributed in the hope that it will be useful, but
%% WITHOUT ANY WARRANTY; without even the implied warranty of
%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
%% General Public License for more details.
%%
%% You should have received a copy of the GNU General Public License
%% along with this program; if not, write to the Free Software
%% Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
%%
%% $Id: getstart.tex,v 0.20 1999/06/04 michael
%% (Log is kept at end of this file)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\chapter{Takeoff: How to start the program\label{takeoff}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\markboth{\thechapter.\hspace*{1mm}
TAKEOFF}{\thesection\hspace*{1mm} Command line parameters}
\section{Starting under Linux}
Under Linux, \FlightGear is invoked by
\texttt{fgfs -$\!$-option1 -$\!$-option2\dots},
\noindent
where the options are described in Section \ref{options} below.
\section{Starting under \Index{Windows 98/NT}}
In Windows explorer, change to the \texttt{$\backslash$FlightGear$\backslash$} directory.
Call \texttt{runfgfs.bat} by double-clicking if you want to invoke the hardware
accelerated version of \FlightGear \texttt{fgfs.exe}, or \texttt{runfgfs-sgi.bat} if you
installed SGI's software \Index{OpenGL} support.
Alternatively, if for one or the other reason the batch does not work, you can open an
MS-DOS shell, change to the directory where your binary resides (typically something like
\texttt{d:$\backslash$FlightGear$\backslash$bin} where you might have to substitute
\texttt{d:} in favor of your \FlightGear directory), set the environment variable with
\texttt{SET FG\_ROOT=d:$\backslash$FlightGear$\backslash$bin}
\noindent
and invoke \FlightGear (within the same shell -- Windows environment
settings are only valid locally within the same shell) via
\texttt{fgfs -$\!$-option1 -$\!$-option2\dots}.
For getting maximum performance it is highly recommended to
minimize (iconize) the non-graphics window while running
{\FlightGear}$\!$.
\medskip
\centerline{
\includegraphics[clip,width=12.5cm]{arizona.eps}
}
\smallskip
\noindent
Fig.\,2: \textit{Ready for takeoff. We are at the default startup
position in Arizona.}
\medskip
\section{Command line parameters\label{options}}
\index{command line options}
Following is a list and short description of the command line options available. In case
of Windows 98/NT it is recommended to include these in \texttt{runfgfs.bat}.
\subsection{General Options}
\begin{itemize}
\item{\texttt{-$\!$-help}}: gives a small help text, kind of a short version of this Section.
\item{\texttt{-$\!$-fg-root={\it path}}}: tells \FlightGear where to look for its data
files if you didn't compile it with the default settings.
\item{\texttt{-$\!$-disable-game-mode}}: Disables \Index{fullscreen display}.
\item{\texttt{-$\!$-enable-game-mode}}: Enables fullscreen rendering.
\item{\texttt{-$\!$-disable-splash-screen}}: Turns off the rotating \Index{3DFX
logo} when the accelerator board gets initialized.
\item{\texttt{-$\!$-enable-splash-screen}}: If you like advertising, set this!
\item{\texttt{-$\!$-disable-intro-music}}: No MP3-sample is being played when
\FlightGear starts up.
\item{\texttt{-$\!$-enable-intro-music}}: If your machine is powerful enough, enjoy
this setting.
\item{\texttt{-$\!$-disable-mouse-pointer}}: In the future, \FlightGear will
feature a mouse interface so that options can be set at runtime. As
this feature is not implemented yet it seems wise to disable the
mouse interface.
\item{\texttt{-$\!$-enable-mouse-pointer}}: Enables another mouse pointer in the
\FlightGear window. This is useful when running \FlightGear in full
screen mode and will allow access to the - yet to be implemented -
mouse interface of \FlightGear\hspace{-2mm}.
\item{\texttt{-$\!$-disable-pause}}: This will put you into \FlightGear with the
engine running, ready for Take-Off.
\item{\texttt{-$\!$-enable-pause}}: Starts \FlightGear in pause mode.
\end{itemize}
\subsection{Features}
\begin{itemize}
\item{\texttt{-$\!$-disable-hud}}: Switches off the \Index{HUD} (\textbf{H}ead \textbf{U}p
\textbf{D}isplay).
\item{\texttt{-$\!$-enable-hud}}: Turns the \Index{HUD} on. This is the default.
\item{\texttt{-$\!$-disable-panel}}: Turns off the \Index{instrument panel}. This is the
default, as the instrument panel is not yet complete -- but in our opinion
should be given at least a try.
\item{\texttt{-$\!$-enable-panel}}: This will give you the look of a real \Index{cockpit}.
\item{\texttt{-$\!$-disable-sound}}: Pretty self explaining, isn't it?
\item{\texttt{-$\!$-enable-sound}}:
\end{itemize}
\subsection{Flight model\index{flight model}}
\begin{itemize}
\item{\texttt{-$\!$-fdm=abcd}} There are four allowed values for abcd: \texttt{slew, jsb, larcsim,
external}, which you might want to try. Default value is \texttt{larcsim}.
\end{itemize}
\subsection{Initial Position and Orientation\index{orientation}}
\begin{itemize}
\item{\texttt{-$\!$-airport-id=ABCD}}: If you want to start directly at an airport,
enter its international code, i.e. KJFK for JFK airport in New York.
A long/short list of the IDs of the airports being implemented can
be found in \texttt{/Flight Gear/Airports}. You only have to unpack
one of the files with gnuzip. Keep in mind, you need the
terrain data for the relevant region!\index{airport code}
\item{\texttt{-$\!$-lon=degrees}}: This is the starting longitude in degrees (west = -)
\item{\texttt{-$\!$-lat=degrees}}: This is the starting latitude in degrees (south = -)
\item{\texttt{-$\!$-altitude=meters}}: You may start in free flight at the given
altitude. Watch for the next options to insert the plane with a
given heading etc.
\item{\texttt{-$\!$-heading=degrees}}: Sets the \Index{initial heading}.
\item{\texttt{-$\!$-roll=degrees}}: Initial roll angle.\index{initial roll angle}
\item{\texttt{-$\!$-pitch=degrees}}: Initial pitch angle.\index{initial pitch angle}
\end{itemize}
\subsection{Rendering Options\index{rendering options}}
\begin{itemize}
\item{\texttt{-$\!$-fog-disable}}: To cut down the rendering efforts, distant
regions are vanishing in \Index{fog} by default. If you disable fogging,
you'll see farther but your frame rates will drop.
\item{\texttt{-$\!$-fog-fastest}}: The scenery will not look very nice but
frame rates will increase.
\item{\texttt{-$\!$-fog-nicest}}: This option will give you a fairly realistic
view of flying on a hazy day.
\item{\texttt{-$\!$-fov=xx.x}}: Sets the \Index{field of view} in degrees.
The value is displayed on the HUD. Default is 55.0.
\item{\texttt{-$\!$-disable-fullscreen}}: Self explaining, isn't it?
\item{\texttt{-$\!$-enable-fullscreen}}:
\item{\texttt{-$\!$-shading-flat}}: This is the fastest mode but the terrain will look ugly! This option might help if your video accelerator is really slow.
\item{\texttt{-$\!$-shading-smooth}}: This is the recommended (and default) setting - things will look really nice.
\item{\texttt{-$\!$-disable-skyblend}}: No fogging or \Index{haze}, sky will be displayed
using just one color. Fast but ugly!
\item{\texttt{-$\!$-enable-skyblend}}: Fogging/haze is enabled, sky and \Index{terrain} look realistic. This is the default and recommended setting.
\item{\texttt{-$\!$-disable-textures}}: Terrain details will be disabled. Looks ugly, but might help if your video board is slow.
\item{\texttt{-$\!$-enable-textures}}: Default and recommended.
\item{\texttt{-$\!$-enable-wireframe}}: If you want to know how the world of \FlightGear internally looks like, try this!
\item{\texttt{-$\!$-geometry=WWWxHHH}}: Defines the size of the window used, i.e.
\texttt{WWWxHHH} can be \texttt{640x480}, \texttt{800x600}, or \texttt{1024x768}.
\end{itemize}
\subsection{Scenery Options Options\index{scenery options}}
\begin{itemize}
\item{\texttt{-$\!$-tile-radius=n}}: Specifies the tiles radius; allowed values for
\texttt{n} are 1 -- 4.
\end{itemize}
\subsection{HUD Options\index{HUD}}
\begin{itemize}
\item{\texttt{-$\!$-units-feed}}: HUD displays units in feet.
\item{\texttt{-$\!$-units-meters}}: HUD displays units in meters.
\item{\texttt{-$\!$-hud-tris}}: HUD displays the number of triangles rendered.
\item{\texttt{-$\!$-hud-culled}}: HUD displays percentage of triangles culled.
\end{itemize}
\subsection{Time options\index{time options}}
\begin{itemize}
\item{\texttt{-$\!$-time-offset=[+-]hh:mm:ss}}: Offset local time by this amount.
\item{\texttt{-$\!$-start-date-gmt=yyyy:mm:dd:hh:mm:ss}}: Specify a starting time and
date. Time is Greenwich Mean Time.
\item{\texttt{-$\!$-start-date-lst=yyyy:mm:dd:hh:mm:ss}}: Specify a starting time and
date. Uses local sidereal time.
\end{itemize}
%% Revision 0.02 1998/09/29 bernhard
%% revision 0.10 1998/10/01 michael
%% final proofreading for release
%% revision 0.11 1998/11/01 michael
%% Added pic from Arizona takeoff
%% revision 0.20 1999/06/04 michael
%% added new options

View file

@ -1,53 +1,53 @@
%%
%% getstart.tex -- Flight Gear documentation: Installation and Getting Started
%% Title file
%%
%% Written by Michael Basler, started September 1998.
%%
%% Copyright (C) 1999 Michael Basler (pmb@knUUt.de)
%%
%%
%% This program is free software; you can redistribute it and/or
%% modify it under the terms of the GNU General Public License as
%% published by the Free Software Foundation; either version 2 of the
%% License, or (at your option) any later version.
%%
%% This program is distributed in the hope that it will be useful, but
%% WITHOUT ANY WARRANTY; without even the implied warranty of
%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
%% General Public License for more details.
%%
%% You should have received a copy of the GNU General Public License
%% along with this program; if not, write to the Free Software
%% Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
%%
%% $Id: getstart.tex,v 0.20 1999/06/04 michael
%% (Log is kept at end of this file)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\title{FlightGear Flight Simulator -- Installation and Getting Started}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\author{
Michael Basler (\mail{pmb@knUUt.de})\\
Bernhard Buckel
(\mail{buckel@wmad95.mathematik.uni-wuerzburg.de})\\
{ \setlength{\fboxsep}{12mm}\setlength{\fboxrule}{0pt}
\fbox{
\includegraphics[clip,width=10.0cm]{start.eps}
}}}
\date{June 4, 1999}
\maketitle
\tableofcontents
%% Revision 0.00 1998/09/08 michael
%% Initial revision for version 0.53.
%% revision 0.10 1998/10/01 michael
%% final proofreading for release
%% revision 0.11 1998/11/01 michael
%% added title pic
%%
%% getstart.tex -- Flight Gear documentation: Installation and Getting Started
%% Title file
%%
%% Written by Michael Basler, started September 1998.
%%
%% Copyright (C) 1999 Michael Basler (pmb@knUUt.de)
%%
%%
%% This program is free software; you can redistribute it and/or
%% modify it under the terms of the GNU General Public License as
%% published by the Free Software Foundation; either version 2 of the
%% License, or (at your option) any later version.
%%
%% This program is distributed in the hope that it will be useful, but
%% WITHOUT ANY WARRANTY; without even the implied warranty of
%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
%% General Public License for more details.
%%
%% You should have received a copy of the GNU General Public License
%% along with this program; if not, write to the Free Software
%% Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
%%
%% $Id: getstart.tex,v 0.20 1999/06/04 michael
%% (Log is kept at end of this file)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\title{FlightGear Flight Simulator -- Installation and Getting Started}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\author{
Michael Basler (\mail{pmb@knUUt.de})\\
Bernhard Buckel
(\mail{buckel@wmad95.mathematik.uni-wuerzburg.de})\\
{ \setlength{\fboxsep}{12mm}\setlength{\fboxrule}{0pt}
\fbox{
\includegraphics[clip,width=10.0cm]{start.eps}
}}}
\date{June 30, 1999}
\maketitle
\tableofcontents
%% Revision 0.00 1998/09/08 michael
%% Initial revision for version 0.53.
%% revision 0.10 1998/10/01 michael
%% final proofreading for release
%% revision 0.11 1998/11/01 michael
%% added title pic