Up and free flying in ONE HOUR!
FlightGear 0.9.9, released on 17 November, 2005, has many new features since the last 0.9.8 release ... As usual I downloaded the prerequisites, PLIB, and SimGear, and FlightGear source and data using CVS, and timed my building of it using MSVC7.1 (Microsoft Visual Studio .NET 2003) ... I choose to ONLY compile and link the Release configuration of each ... note I had previously downloaded and installed the OpenAL 1.1 SDK, and a long time back, GLUT32.dll ...
The Timed Build
1:44: CVS update of PLIB, SimGear, FlightGear/data and FlightGear/source. It takes a little time to set up CVS, and do the initial downloads, but after that it is plain flying - cvs up -dP - and only the changed files are downloaded.
1:49: Copy PLIB from my CVS update folder to a new work folder FG099\PLIB ...
2:00: Building PLIB - Load FG099/PLIB/PLIB.dsw into MSVC7.1, and check that EACH project is set to Multi-threaded (/MT)
2:02: Start PLIB compile. Quite quickly MSVC exits with a fatal error. I remove the file puAuxList.cxx from the puAux library, and continue ...
2:07: Compile, link, and post copy step done - 13 successful - PLIB is ready!
2:08: Building SimGear - Copy SimGear from my CVS to a new work folder, FG099\SimGear ...
2:10: Extract zlib-1.1.4.tar.gz into the src-libs folder, creating zlib-1.1.4 folder ...
2:11: Load SimGear.dsw into MSVC7.1 ... delete the existing mklib and zlib prejects, whihc fail to load, and add back the zlib.dsp project in the src-libs folder ... check the runtime is set to /MT ... copy simgear_config.h-vc5 in source/simgear to simgear_config.h ...
2:12: Start SimGear compile ... but get errors almost immediately ... can not find certain include files ... I correct the C/C++, General, Additional Include Directories for the paths to PLIB, zlib, and AL/al.h ...
2:16: Re-start SimGear compile and link, but still need another small correction of the path to zlib-1.1.4 ...
2:19: Compile and link of SimGear done.
2:20: Building FlightGear - Copy FlightGear from my CVS to a new work folder, FG099\FlightGear ... this copies both the base data and source ... it is big, so ensure you have the disk space ;=))
2:25: In the FlightGear/source/src/Include folder, copy config.h-msvc6-in to config.h ...
2:26: Load FlightGear.dsw into MSVC7.1 ... check the runtime is set to /MT ... From a previous project, I copy the C/C++; General; Additional Include Directories, Linker; General; Additional Library Directories, and Input; Additional Dependencies into to this current project ...
2:30: Start FlightGear compile and link ...
2:39: End compile, and link ... I ignore the some 250 warning messages emitted ...
2:40: Write a simple batch file to run my Release configuration of FlightGear ... FlightGear is a CONSOLE application that accepts lots of command line parameters ... rather than typing this each time, I usually prepare a batch file ...
2:44: Up and FLYING free ;=)) in just one hour ...
The First View
This is a 'Chase View' - use the 'v' key a few times - of the UFO, 1000 feet over KSFO 28R runway ... magnificent stuff ;=)) - Click on the image to see it at its full upload size ...
In the lower right, you can see I only get a measly 2 frame per second in my Windows XP, with Hyundai Imagequest L72S 21" flat screen on RADION 9600 PRO ... UGH!
Quick Start
If you want a quick start, then you can download the base
scenery, and the following binary executable, FlightGear.exe, placed
in a zip file - fgfs-0.9.9.zip - Be warned about
downloading, and running EXE files from internet ... for those who are safety
conscience here are the digests sums for this file -
MD5 (fgfs-0.9.9.zip) = 5cbb6e0a42903ddd36fe1b763c1187f7
SHA1 (fgfs-0.9.9.zip) = BA82B496F4CFF96F9A25431FE1F903735753250C
The Batch File Method
As mentioned, I sometimes run FlightGear using a BATCH file ...
the many commands that can be used on the command line are hard to remember, and
accurately type ;=)) each time, so I put them in a batch file, in this case
called rfg.bat - note this MUST be all one line, not split like you browser may
be showing it, and NOT including the 'contents' elements ...
<contents file="rfg.bat">
source\Release\FlightGear.exe --fg-root=data --aircraft=ufo --fdm=ufo --enable-hud
--altitude=1000 --timeofday=noon --prop:/sim/hud/draw-fps=true
</contents>
Obviously this will only work for you, if everything is in the SAME relative directories ... directory structure given below ... the batch file, rfg.bat, is in FG099\FlightGear folder ... as you can see, the executable MUST be in the sub-directory source\Release, which is where MSVC7.1 created it, AND the base data, MUST be in the FG099\FlightGear\data folder ...
To get some HELP on the MANY commands FlightGear supports try running the FlightGear.exe with --fg-root=<your/data/folder> -h -v ... You should get a nice, long, listing output to the console ... ;=))
FlightGear MSVC7.1 Properties
Since these MAY help, provided you have the SAME directory structure I have, here are the three main properties -
C/C++, General, Additional Include Directories:
..\..,.\src,.\src\Include,..\..\SimGear\source,..\..\SimGear\source\src-libs\zlib-1.1.4,C:\Program
Files\OpenAL 1.1 SDK,C:\Program Files\OpenAL 1.1 SDK\AL
Linker, General, Additional Library Directories:
..\..\SimGear\source\Release; ..\..\PLIB;..\..\Simgear\source\src-libs\zlib-1.1.4\Release;C:\Program
Files\OpenAL 1.1 SDK\libs\Win32
Linker, Input, Additional Dependencies:
ws2_32.lib SimGear.lib fnt.lib js.lib net.lib psl.lib puAux.lib pui.lib pw.lib
sg.lib sl.lib ssgAux.lib ssg.lib ul.lib zlib.lib openal32.lib alut.lib
Here is my DIRECTORY arrangement -
As previously mentioned, 'OpenAL 1.1 SDK' was a binary download,
and installed in -
C:\Program Files\OpenAL 1.1 SDK
and a NEW folder, called AL, was created in there, and the three header files in
the 'include' folder, namely al.h, alc.h, alut.h, copied into that new AL
folder ... the binary libraries are in the folder libs\Win32, namely ALut.lib,
which is a static library, and OpenAl32.lib, which is only a link library to the
DLL, OpenAL32.DLL, installed in Windows\System32 folder ...
Happy sim flying to all ...