Quick Start - FlightGear

INDEX

*** NOTE: ALWAYS A WORK-IN-PROGRESS - January, 2005 ***

If you are running Microsoft Windows (WIN32), and you just want to 'fly' FlightGear, then you will need a few things ...

1. Decompression Tool(s) - If you download base scenery source file, you will need a 'decompression' tool, that can handle tar.bz2 files ... at about 50 bucks each, my WinZip (c) 9.0 SR-1 (6224) does not, ;=(( but my Stuffit (c) 8.5.0.137 does ;=)) 

If you 'prefer' open source, then bzip2 [http://sources.redhat.com/bzip2/] is a good place to start ... or [PC, Windows 95/98/ME/NT/2000/XP] ... I tried bzip2-102-x86-win32.exe, and it worked fine ... once you get used to *nix command line format ... and the -d action, which creates abc.tar, and deletes abc.tar.bz2 ... -k will 'keep' the source, if you want ... then gzip [http://www.gzip.org/], binary [http://gnuwin32.sourceforge.net/packages/gzip.htm], to -de-tar it, which creates an abc folder, and deletes abc.tar ...

2. Base Scenery Source [http://flightgear.org/Downloads/source.shtml] - This is a biggie, 70MB plus, 45+ minutes on 'minimum' broadband, 'hours' on a dial-up. For my first 'download', I ordered the CD-ROM ;=)) On the current FlightGear home page, select 'Downloads' on the left menu, and in the body, click 'Download Source Code' ... and on the 'Download Source Code' page, find the line - Download the latest base package release (71Mb). (Includes Textures, models, data, aircraft, sample scenery, and config files.) [Mirror-1] [Mirror-2] [Mirror-3] - click on one of these mirrors ... and sit back ...

3. Binary, runtime executable - Warning: Running binaries can compromise your system!

You can choose to download, and install :-.
(a)  With Installation [http://flightgear.org/Downloads/binary.shtml#windows] - Another 'biggie', 69MB, since it includes a windows installer ... this makes 'installation' and 'running' easy, since I understand it includes a 'launch control' ... where you can 'select' the airport, and other things, in a GUI, and it constructs the 'command line' for the CONSOLE executable ...
(b) Runtime binary [fg/fg098-rel.zip] - This zip is just 1.4MB, since it only contains the runtime CONSOLE WIN32 EXE file, FlightGear.exe ... do not expect to just unzip it, and 'run' it ... ;=(( as a bare minimum, you must 'tell' the CONSOLE application where you put the 'Base Scenery Source' ... either -
 (i) run the flightgear.exe with a command line > FlightGear --fg-root=<path_of_base_data> or -
 (ii) establish an environment variable, call FG_ROOT, and point it to a valid path, where you 'put' the 'Base Scenery Source'.
If it 'runs', you have already 'dealt' with item 4 - skip it ...

4. GLUT (glib32.dll) [http://www.opengl.org/] - If you have not previously run an 'application' using this 'Graphic Library', GL, you must 'install' this Dynamic Link Library ... at [http://www.opengl.org/resources/libraries/glut/glut_downloads.html#windows] you can download glutdlls37beta.zip file (149 KB) ... In September 2004 I downloaded a, 4,992,913 byte, glut-3.7.6-src.zip, and compiled my own, Debug configuration, which is what I use ... so I can 'trace' into it, and 'see' the source code ...

In essence, GLUT comes down to three (3) files - the first, is essential to 'run' FlightGear.exe, the other two (2), only if you wish to build FlightGear from source -
1. glut32.dll - in an 'executable' path, like c:\windows\system32 ...
2. glut.h - in your MSVC 'include' path, the one with a GL sub-directory, in that GL folder ...
3. glut32.lib - in your MSVC 'library' path ...

GLUT 'window' samples abound ... the API starts with glutInit, which seems sort of self explanatory ... a 'simple' GLUT window can be established with -

glutInit( &argc, argv );
glutInitDisplayMode( GLUT_DBLorSGL | GLUT_RGBA | GLUT_DEPTH );
glutInitWindowSize( myx_Size(), myy_Size() );
glutCreateWindow( "GLapp - Please wait while drawing" );
glutReshapeFunc( Do_WM_SIZE );
glutDisplayFunc( Do_WM_PREPAINT_RENDER );
... to name a few call-backs that can be established ...
glutMainLoop();

The CONSOLE thread NEVER returns from glutMainLoop() ... GLUT creates a window, and sets up a forever loop, PEEKing, and processing the window messages, and doing the CALL-BACKS, as set up, requested, by the application ... for 'tidy' exits, one of your own supplied glut[?action?]Func functions must do the exit(int), when it is 'ready' ... GLUT also handles 'exit' requests, like - Alt+F4, or a click on the big top-right red X ... by doing an exit() ...

Anyway, enjoy, flying FlightGear ...

I use CVS to regularly update a 'Base Scenery Source' to c:\FGCVS\FlightGear\data, and, after checking 'differences', copy it to my work, c:\FG098\FlightGear\data ... it is possible to put a file called system.fgfsrc in this folder, to control any, or all the options available in FlightGear ... lines beginning with '#' are comments ... try a simple -
# set aircraft, and FDM
--aircraft=ufo
--fdm=ufo
--enable-hud
to get another 'perspective' of what FlightGear does, shows, displays ...

 

And the 'Base Scenery Source' only includes, in Scenery\Terrain,  w130n30 (10x10 degree 'chunk'), and you will surely want to 'fly' over your own known land mass ... for example, I added e140s40, e150s30, e150s40 to get Sydney International, and some of the coast and 'inland' ... this allows me to add the following to my system.fgfsrc -
--airport-id=YSSY

 

As stated, a page like this is ALWAYS a work-in-progress, due to the sometimes 'dynamic' open sources involved ;=)) Geoff, January, 2005.

INDEX