]> git.mxchange.org Git - flightgear.git/blob - docs-mini/FlightGear-FAQ.html
18d44e58bd9a7f2a0c3e57f9f2c4495f1cd2afdb
[flightgear.git] / docs-mini / FlightGear-FAQ.html
1 <html lang="en">
2   <!-- $Id$ -->
3   <head>
4     <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
5     <title>FlightGear FAQ</title>
6     <style type="text/css">
7         .indent { margin-left: 2em; margin-right: 1em; }
8       </style>
9   </head>
10   <body>
11   
12     <h1 align="center">FlightGear FAQ</h1>
13     <p align="center">
14       <small>Cameron Moore<br>
15         <a href="mailto:cameron@unbeatenpath.net?subject=FlightGear%20FAQ">cameron@unbeatenpath.net</a>
16       </small>
17     </p>
18     <hr noshade>
19     
20     
21     <h2>Introduction</h2>
22       <p>Welcome to the FlightGear FAQ.  Here you will find the answers to
23       some questions that are frequently asked on our mailing lists.  If
24       you have a question that is not answered here, feel free to ask
25       us on our mailing lists.  Enjoy</p>
26     
27   <hr noshade>
28     <h2>
29       <a name="toc">Table of Contents</a>
30     </h2>
31     <h4>1 -
32     <a href="#1">The FAQ</a>
33     </h4>
34     <div class="indent">1.1 -
35       <a href="#1.1">Where can I get the latest version of this FAQ?</a>
36     </div>
37     <div class="indent">1.2 -
38       <a href="#1.2">Who do I contact if I have comments about this FAQ?</a>
39     </div>
40     <div class="indent">1.3 -
41       <a href="#1.3">How old is this document?</a>
42     </div>
43     <div class="indent">1.4 -
44       <a href="#1.4">What other important documentation should I read?</a>
45     </div>
46     <br>
47     <h4>2 -
48     <a href="#2">Distribution</a>
49     </h4>
50     <div class="indent">2.1 -
51       <a href="#2.1">Where can I get FlightGear?</a>
52     </div>
53     <div class="indent">2.2 -
54       <a href="#2.2">Where can I find the latest development source code?</a>
55     </div>
56     <div class="indent">2.3 -
57       <a href="#2.3">What is SimGear, and why do I need it?</a>
58     </div>
59     <div class="indent">2.4 -
60       <a href="#2.4">Where can I fly and where do I get the scenery?</a>
61     </div>
62     <div class="indent">2.5 -
63       <a href="#2.5">Where can I get different 3D models for my plane?</a>
64     </div>
65     <div class="indent">2.6 -
66       <a href="#2.6">How current is the data in FlightGear compared to the real world?</a>
67     </div>
68     <div class="indent">2.7 -
69       <a href="#2.7">Where is the moving map?</a>
70     </div>
71     <div class="indent">2.8 -
72       <a href="#2.8">Why don't you charge money for this?</a>
73     </div>
74     <br>
75     <h4>3 -
76     <a href="#3">Compiling</a>
77     </h4>
78     <div class="indent">3.1 -
79       <a href="#3.1">Why won't FlightGear compile?</a>
80     </div>
81     <div class="indent">3.2 -
82       <a href="#3.2">I'm using RedHat 7, and ...?</a>
83     </div>
84     <br>
85     <h4>4 -
86     <a href="#4">Configuring</a>
87     </h4>
88     <div class="indent">4.1 -
89       <a href="#4.1">How do I install new scenery?</a>
90     </div>
91     <div class="indent">4.2 -
92       <a href="#4.2">How do I setup my joystick(s)?</a>
93     </div>
94     <div class="indent">4.3 -
95       <a href="#4.3">What format should my personal .fgfsrc file be in?</a>
96     </div>
97     <br>
98     <h4>5 -
99     <a href="#5">Running</a>
100     </h4>
101     <div class="indent">5.1 -
102       <a href="#5.1">Why do I get an error loading libmk4.so.0?</a>
103     </div>
104     <div class="indent">5.2 -
105       <a href="#5.2">Why do I get "ssgInit called without a valid OpenGL context"?</a>
106     </div>
107     <div class="indent">5.3 -
108       <a href="#5.3">What happened to the panel, keyboard, etc?</a>
109     </div>
110     <div class="indent">5.4 -
111       <a href="#5.4">Why doesn't audio work properly under Irix?</a>
112     </div>
113     <div class="indent">5.5 -
114       <a href="#5.5">Why is FlightGear so slow?</a>
115     </div>
116     <div class="indent">5.6 -
117       <a href="#5.6">Why is my SGI machine so slow?</a>
118     </div>
119     <div class="indent">5.7 -
120       <a href="#5.7">How do I see the frame rate?</a>
121     </div>
122     <div class="indent">5.8 -
123       <a href="#5.8">Stuck upside down after "crash"?</a>
124     </div>
125     <div class="indent">5.9 -
126       <a href="#5.9">Why does FlightGear die on startup saying "time zone reading failed"?</a>
127     </div>
128     <br>
129     <h4>6 -
130     <a href="#6">Hacking</a>
131     </h4>
132     <div class="indent">6.1 -
133       <a href="#6.1">What language is FlightGear written in?</a>
134     </div>
135     <div class="indent">6.2 -
136       <a href="#6.2">How do I design a flight dynamics model for a new aircraft?</a>
137     </div>
138     <div class="indent">6.3 -
139       <a href="#6.3">How do I import planes from Microsoft Flight Simulator?</a>
140     </div>
141     <div class="indent">6.4 -
142       <a href="#6.4">How do I import BGL scenery from Microsoft Flight Simulator?</a>
143     </div>
144     <div class="indent">6.5 -
145       <a href="#6.5">How do I design or modify a panel?</a>
146     </div>
147     <div class="indent">6.6 -
148       <a href="#6.6">How do I place objects, like buildings, into FlightGear?</a>
149     </div>
150     <div class="indent">6.7 -
151       <a href="#6.7">Where can I learn 3D programming and how do I get involved?</a>
152     </div>
153     <div class="indent">6.8 -
154       <a href="#6.8">How do I add an airport?</a>
155     </div>
156     <div class="indent">6.9 -
157       <a href="#6.9">How do I generate my own scenery?</a>
158     </div>
159     <br>
160     <h4>7 -
161     <a href="#7">Flying</a>
162     </h4>
163     <div class="indent">7.1 -
164       <a href="#7.1">Where can I learn about instrument flying and navigation?</a>
165     </div>
166     <div class="indent">7.2 -
167       <a href="#7.2">What is the difference between Aileron and Rudder?</a>
168     </div>
169     <div class="indent">7.3 -
170       <a href="#7.3">Is there support for multi-player flying?</a>
171     </div>
172     <div class="indent">7.4 -
173       <a href="#7.4">Is there support for any military scenarios like dog fighting or bomb dropping?</a>
174     </div>
175     <br>
176     <h4>8 -
177     <a href="#8">FlightGear v0.7.6</a>
178     </h4>
179     <div class="indent">8.1 -
180       <a href="#8.1">Why do I get an error in viewer.cxx about `exit' being undeclared?</a>
181     </div>
182     <br>
183
184   
185     <hr>
186     <h2>
187       <a name="1">1 -
188     The FAQ</a>
189     </h2>
190         <b>
191       <a name="1.1">1.1 -
192     <u>Where can I get the latest version of this FAQ?</u>
193       </a>
194     </b>
195         <div class="indent">
196           <p>
197           <a href="http://flightgear.org/Docs/FlightGear-FAQ.html">http://flightgear.org/Docs/FlightGear-FAQ.html</a>
198           </p>
199         </div>
200       
201         <b>
202       <a name="1.2">1.2 -
203     <u>Who do I contact if I have comments about this FAQ?</u>
204       </a>
205     </b>
206         <div class="indent">
207           <p>First contact the author.  If you get no response, send your
208           comments to the FlightGear-Users mailing list.</p>
209         </div>
210       
211         <b>
212       <a name="1.3">1.3 -
213     <u>How old is this document?</u>
214       </a>
215     </b>
216         <div class="indent">
217           <p>See the <i>About This Document</i> section at the end of the FAQ.</p>
218         </div>
219       
220         <b>
221       <a name="1.4">1.4 -
222     <u>What other important documentation should I read?</u>
223       </a>
224     </b>
225         <div class="indent">
226           <p>Most FlightGear documentation is linked to from
227           <a href="http://flightgear.org/Docs/">http://flightgear.org/Docs/</a>.
228           Definitely check out the <i>FlightGear Installation and Getting
229           Started</i> document available from the aforementioned location.</p>
230           <p>Also see the <code>FlightGear/docs-mini/</code> directory in the
231           source distribution for various other helpful documents.</p>
232         </div>
233       
234
235     <hr>
236     <h2>
237       <a name="2">2 -
238     Distribution</a>
239     </h2>
240         <b>
241       <a name="2.1">2.1 -
242     <u>Where can I get FlightGear?</u>
243       </a>
244     </b>
245         <div class="indent">
246           <p>The official download page is 
247           <a href="http://flightgear.org/Downloads/">http://flightgear.org/Downloads/</a>.
248           Source code is our primary form of distribution, but precompiled
249           binaries are available for Windows and SGI IRIX.</p>
250           <p>Alternatively, FlightGear is packaged for Linux by SuSE, Debian
251           (sid), and Mandrake (Cooker) and can be directly installed through
252           those distributions.</p>
253         </div>
254       
255         <b>
256       <a name="2.2">2.2 -
257     <u>Where can I find the latest development source code?</u>
258       </a>
259     </b>
260         <div class="indent">
261           <p>The latest development code is available for everyone through our
262           CVS repository.  See
263           <a href="http://flightgear.org/cvsResources/">http://flightgear.org/cvsResources/</a> for details.
264           </p>
265           <p>Otherwise, you can get relatively up-to-date snapshots of the
266           development tree at
267           <a href="ftp://flightgear.sourceforge.net/pub/flightgear/Devel/Snapshots/">ftp://flightgear.sourceforge.net/pub/flightgear/Devel/Snapshots/</a>.
268           </p>
269         </div>
270       
271         <b>
272       <a name="2.3">2.3 -
273     <u>What is SimGear, and why do I need it?</u>
274       </a>
275     </b>
276         <div class="indent">
277           <p>SimGear is a library of supporting code.  SimGear is only needed
278           if you plan on compiling FlightGear -- it is not needed to run
279           precompiled binaries.  For more information see
280           <a href="http://www.simgear.org/">http://www.simgear.org/</a>.</p>
281         </div>
282       
283         <b>
284       <a name="2.4">2.4 -
285     <u>Where can I fly and where do I get the scenery?</u>
286       </a>
287     </b>
288         <div class="indent">
289           <p>While the base package only comes with scenery for the San Francisco
290           Bay area, you can currently fly just about anywhere in the world.
291           See the <i>"Additional Scenery"</i> section of
292           <a href="http://flightgear.org/Downloads/">http://flightgear.org/Downloads/</a>
293           for more information or go directly to our graphical downloader at
294           <a href="http://flightgear.org/Downloads/world-scenery.html">http://flightgear.org/Downloads/world-scenery.html</a>.
295           </p>
296           <p>Also visit our <i>"Places to Fly"</i> section of the website
297           (<a href="http://flightgear.org/Places/">http://flightgear.org/Places/</a>)
298           for some help navigating to some awesome locations.</p>
299         </div>
300       
301         <b>
302       <a name="2.5">2.5 -
303     <u>Where can I get different 3D models for my plane?</u>
304       </a>
305     </b>
306         <div class="indent">
307           <p>While we are working toward building our own 3D models, we have
308           been given permission by several people to convert their models (which
309           where originally intended for use with <i>Microsoft Flight
310           Simulator</i>) to use with FlightGear.  See Wolfram's Hangar
311           (<a href="http://home.t-online.de/home/Wolfram.Kuss/">http://home.t-online.de/home/Wolfram.Kuss/</a>)
312           for a list of what we currently have available as well as
313           information on how to convert models yourself.</p>
314         </div>
315       
316         <b>
317       <a name="2.6">2.6 -
318     <u>How current is the data in FlightGear compared to the real world?</u>
319       </a>
320     </b>
321         <div class="indent">
322           <p>We use the same navaid and airport dataset that <i>X-Plane</i> uses.  The
323           current dataset can be found in the <code>$FGROOT/Navaids/</code> and
324           <code>$FGROOT/Airports/</code> directories.  If you have updates or
325           corrections to the dataset, see
326           <a href="http://flightgear.org/Docs/AirNav/AptNavFAQ.FlightGear.html">http://flightgear.org/Docs/AirNav/AptNavFAQ.FlightGear.html</a>
327           for instructions on contacting the database maintainer.</p>
328         </div>
329       
330         <b>
331       <a name="2.7">2.7 -
332     <u>Where is the moving map?</u>
333       </a>
334     </b>
335         <div class="indent">
336           <p>A popular moving map display is avaliable under a separate
337           project called <i>Atlas</i>.  See
338           <a href="http://atlas.sf.net/">http://atlas.sf.net/</a>.</p>
339         </div>
340       
341         <b>
342       <a name="2.8">2.8 -
343     <u>Why don't you charge money for this?</u>
344       </a>
345     </b>
346         <div class="indent">
347           <p>We could do that, since the initial download is about 25
348           megabytes.  Especially for people who have to pay per-minute charges
349           for internet access, buying a CD is a convenient and possibly
350           cheaper option.  Although we offer that service (see the website), we
351           encourage other groups to redistribute it for their users, especially
352           within an operating system distribution which makes installation even
353           faster and easier for new users.</p>
354         </div>
355       
356
357     <hr>
358     <h2>
359       <a name="3">3 -
360     Compiling</a>
361     </h2>
362         <b>
363       <a name="3.1">3.1 -
364     <u>Why won't FlightGear compile?</u>
365       </a>
366     </b>
367         <div class="indent">
368           <p>Well, that depends.  First make sure you are using the appropriate
369           versions of FlightGear, SimGear, plib, zlib, and metakit.  If any of
370           the packages are out of sync with the others, compilation may fail.</p>
371           <p>The FlightGear <i>Downloads</i> page
372           (<a href="http://flightgear.org/Downloads/">http://flightgear.org/Downloads/</a>)
373           should tell you what versions you need if you are trying to compile
374           the latest stable release.  If you are using a development snapshot,
375           make sure all three packages are up-to-date.</p>
376           <p>Also ensure that you have some implementation of OpenGL with glut
377           support with the appropriate header files.  Linux users with nVidia
378           cards should make sure you have the latest drivers from nVidia.  Other
379           Linux users make sure you have Mesa3D
380           (<a href="http://mesa3d.org/">http://mesa3d.org/</a>)
381           and your X server installed correctly.  Windows users see
382           <a href="http://www.x-plane.com/SYSREQ/v5ibm.html">http://www.x-plane.com/SYSREQ/v5ibm.html</a>,
383           and Mac users see
384           <a href="http://www.x-plane.com/SYSREQ/v5mac.html">http://www.x-plane.com/SYSREQ/v5mac.html</a>.
385           </p>
386           <p>If your problems persist, subscribe to our FlightGear-Users mailing
387           list and let us know what problem you're having.  See
388           <a href="http://flightgear.org/mail.html">http://flightgear.org/mail.html</a> for help with this.
389           </p>
390         </div>
391       
392         <b>
393       <a name="3.2">3.2 -
394     <u>I'm using RedHat 7, and ...?</u>
395       </a>
396     </b>
397         <div class="indent">
398           <p>Update your gcc packages.  See
399           <a href="http://redhat.com/errata/">http://redhat.com/errata/</a>
400           to fix it and
401           <a href="http://www.gnu.org/software/gcc/gcc-2.96.html">http://www.gnu.org/software/gcc/gcc-2.96.html</a>
402           for an explanation why.</p>
403         </div>
404       
405
406     <hr>
407     <h2>
408       <a name="4">4 -
409     Configuring</a>
410     </h2>
411         <b>
412       <a name="4.1">4.1 -
413     <u>How do I install new scenery?</u>
414       </a>
415     </b>
416         <div class="indent">
417           <p>The scenery archive files (ie. w100n30.tar.gz) should be untarred
418           into the <code>Scenery/</code> directory in your
419           <code>$FG_ROOT</code>.</p>
420         </div>
421       
422         <b>
423       <a name="4.2">4.2 -
424     <u>How do I setup my joystick(s)?</u>
425       </a>
426     </b>
427         <div class="indent">
428           <p>FlightGear should come with a helpful program called <i>`fgjs`</i>
429           that can help configure your joystick.  Run <i>`fgjs`</i> and then
430           copy the dot file it created into your home directory or add its
431           contents to your existing rc file.</p>
432           <p>Also, see the README.Joystick file located in the
433           <code>FlightGear/docs-mini/</code> directory of the source
434           distribution.  This document is mirrored at
435           <a href="http://rockfish.net/fg/README.Joystick">http://rockfish.net/fg/README.Joystick</a>.
436           </p>
437         </div>
438       
439         <b>
440       <a name="4.3">4.3 -
441     <u>What format should my personal .fgfsrc file be in?</u>
442       </a>
443     </b>
444         <div class="indent">
445           <p>Your <code>.fgfsrc</code> file should simply be a list of
446           command-line options with one option per line.  The file is <b>not</b>
447           an XML file.</p>
448           <p>If you would rather use an XML configuration file, you can add
449           something like the following in your <code>.fgfsrc</code>
450       </p>
451           <p>
452         <code>--config=/path/to/my/config.xml</code>
453       </p>
454           <p>Almost every option corresponds to a property, so you can choose
455           to use whichever method best suits your needs.</p>
456         </div>
457       
458
459     <hr>
460     <h2>
461       <a name="5">5 -
462     Running</a>
463     </h2>
464         <b>
465       <a name="5.1">5.1 -
466     <u>Why do I get an error loading libmk4.so.0?</u>
467       </a>
468     </b>
469         <div class="indent">
470           <p>With the default installation, libmk4.so.0 is installed into
471           <code>/usr/local/lib</code>.  You need to ensure that that path is
472           listed in <code>/etc/ld.so.conf</code>, then run <i>`ldconfig`</i>as
473           root.</p>
474         </div>
475       
476         <b>
477       <a name="5.2">5.2 -
478     <u>Why do I get "ssgInit called without a valid OpenGL context"?</u>
479       </a>
480     </b>
481         <div class="indent">
482           <p>In short, your GL libraries are broken.  So far only Red Hat 7.x
483           users have experienced this (see
484           <a href="http://www.redhat.com/bugzilla/show_bug.cgi?id=18867">http://www.redhat.com/bugzilla/show_bug.cgi?id=18867</a>).
485           The only solutions are possibly complicated ones: you can either
486           change distributions (most of us prefer Debian) or upgrade/downgrade
487           your Mesa libs.</p>
488           <p>
489         <i>
490           <u>Why do some other GL applications work though?</u>
491         </i>  Well,
492           Steve Baker (Mr. PLIB) has explained this on the plib-users list
493           (<a href="http://www.geocrawler.com/lists/3/SourceForge/1867/0/6470648/">http://www.geocrawler.com/lists/3/SourceForge/1867/0/6470648/</a>).
494           </p>
495         </div>
496       
497         <b>
498       <a name="5.3">5.3 -
499     <u>What happened to the panel, keyboard, etc?</u>
500       </a>
501     </b>
502         <div class="indent">
503           <p>The problem is almost certainly that your base package is out of
504           sync with FlightGear.  Many configurable parts of FlightGear are
505           defined in XML files contained in the base package.</p>
506         </div>
507       
508         <b>
509       <a name="5.4">5.4 -
510     <u>Why doesn't audio work properly under Irix?</u>
511       </a>
512     </b>
513         <div class="indent">
514           <p>FlightGear (as of June 2001) uses the Portable Libraries (PLIB)
515           for playing audio. The audio queue implementation of PLIB is far from
516           optimal (in fact it's just wrong).  This seems to work on other
517           platforms quite well, but Irix expects things to be programmed
518           properly.</p>
519           <p>There has been discussion about using OpenAL
520           (<a href="http://www.openal.org/">http://www.openal.org/</a>)
521           for the next release of both PLIB and FlightGear.  Tests show that
522           the OpenAL audio implementation does the job right, meaning that
523           these audio problems should be gone by then. In the mean time it is
524           best to disable audio on Irix completely (by adding --disable-sound
525           either on the command line or to your <code>$HOME/.fgfsrc</code>
526           file).</p>
527         </div>
528       
529         <b>
530       <a name="5.5">5.5 -
531     <u>Why is FlightGear so slow?</u>
532       </a>
533     </b>
534         <div class="indent">
535           <p>FlightGear supports hardware acceleration, but it seems not to be
536           activated.  Make sure you have OpenGL libraries installed and
537           configured properly and make sure you have the latest drivers for your
538           video card.</p>
539           <p>
540         <b>Linux users</b>:  If you are an nVidia user, follow their
541           directions on getting your card working.  For most other users, make
542           sure Mesa is installed property and ensure that you have the
543           appropriate kernel device drivers for your card.  Most people (and
544           distributions) use modules for their video card device drivers; run
545           <i>`lsmod`</i> as root to see what modules are loaded.  You should also
546           make sure that you are loading the appropriate modules in your
547           XF86Config and that your video device section is correct.  Now try
548           running an OpenGL application (other than FlightGear) to see how it
549           performs.  You can try the <i>gears</i> demo from Mesa or something
550           like <i>Quake3</i>.</p>
551         </div>
552       
553         <b>
554       <a name="5.6">5.6 -
555     <u>Why is my SGI machine so slow?</u>
556       </a>
557     </b>
558         <div class="indent">
559           <p>First of all, one of the most common mistakes on SGI hardware is to
560           forget to specify --fog-fastest. On most SGI machines the EXP2 shading
561           model isn't hardware supported resulting in frame rates below 1 frame
562           per second (fps).</p>
563           <p>FlightGear makes extensive use of the OpenGL z-buffer feature,which
564           on most older SGI hardware is only supported in software. This means
565           that the CPU has to do all the z-buffer calculations in addition to the
566           other tasks FlightGear involves (flight dynamics, scenery tracking,
567           pushing commands into the graphics queue, etc).  The following features
568           are software rendered on low-end SGI machines (like Indy and
569           Indigo):</p>
570           <ul>
571             <li>stencil and accumulation buffer</li>
572             <li>depth queuing and depth buffering</li>
573             <li>fogging, lighting, clipping and transforms</li>
574             <li>texturing</li>
575           </ul>
576           <p>This means that running FlightGear with the following options may not
577           even get the desired result:</p>
578           <p>
579         <code>./runfgfs --fog-disable --shading-flat --disable-skyblend \</code>
580         <br>
581           <code>--disable-textures --disable-clouds --disable-sound \</code>
582         <br>
583           <code>--disable-panel --enable-hud --disable-anti-alias-hud</code>
584       </p>
585           <p>I could even imagine that adding --enable-wireframe doesn't work on
586           these machines (I would be happy to be proven wrong though).</p>
587           <p>On a machine like O2 the following options give an acceptable
588           result:</p>
589           <code>./runfgfs --fog-fastest --disable-sound</code>
590           <p>Since I don't have access to other SGI hardware I can't tell which
591           options would be appropriate for your situation.</p>
592         </div>
593       
594         <b>
595       <a name="5.7">5.7 -
596     <u>How do I see the frame rate?</u>
597       </a>
598     </b>
599         <div class="indent">
600           <p>There are two ways.  One way is to hide the panel without the HUD
601           showing.  To hide the panel, use <i>Shift+P</i>; To make the HUD
602           disappear, use <i>H</i>.  The second way is to use the alternative
603           HUD by <i>Shift+I</i> (Use <i>I</i> to switch back).</p>
604         </div>
605       
606         <b>
607       <a name="5.8">5.8 -
608     <u>Stuck upside down after "crash"?</u>
609       </a>
610     </b>
611         <div class="indent">
612           <p>In his infinite wisdom the FlightGear Grand Master decided that
613           planes were to valuable to allow them to be destroyed by novice pilots
614           who seemed to crash a lot.  The fact that nobody has bothered to model
615           crashes may have something to do with it too.  :-)</p>
616           <p>The result of this as you have noticed is that with a little
617           practice an ingenuity you can trim the ship to fly inverted along the
618           ground.</p>
619           <p>The quick answer is to hit Ctrl+U (with the default key bindings)
620           to warp the plane up 1000ft.</p>
621           <p>For the stubborn people out there:  The trick to learn is to roll
622           back to normal (non inverted) do this by nursing the elevator to get
623           to about 500 feet or so and use the ailerons to snap roll 180*.
624           This is all good avionics except for the plane not destroying
625           itself.  Remember the controls work in reverse when you are inverted
626           and keep that airspeed up!!!</p>
627         </div>
628       
629         <b>
630       <a name="5.9">5.9 -
631     <u>Why does FlightGear die on startup saying "time zone reading failed"?</u>
632       </a>
633     </b>
634         <div class="indent">
635           <p>This is probably caused by a line-ending problem in the timezone
636           files.  Win32 users can resolve the problem by downloading a DOS to
637           UNIX conversion utility available at
638           <a href="http://www.nottingham.ac.uk/~eazdluf/d2u.zip">http://www.nottingham.ac.uk/~eazdluf/d2u.zip</a>.
639           Run as `<i>d2u *.tab</i>` from within the timezone directory to fix
640           your timezone files.</p>
641         </div>
642       
643
644     <hr>
645     <h2>
646       <a name="6">6 -
647     Hacking</a>
648     </h2>
649         <b>
650       <a name="6.1">6.1 -
651     <u>What language is FlightGear written in?</u>
652       </a>
653     </b>
654         <div class="indent">
655           <p>Mostly C++ with some supporting C code that's primary contained
656           within SimGear.</p>
657         </div>
658       
659         <b>
660       <a name="6.2">6.2 -
661     <u>How do I design a flight dynamics model for a new aircraft?</u>
662       </a>
663     </b>
664         <div class="indent">
665           <p>To define an aircraft for FlightGear's primary FDM (JSBSIM),
666           see <a href="http://jsbsim.sf.net/">http://jsbsim.sf.net/</a>.</p>
667           <p>If you want a simpler FDM to work with, try your hand at YASim,
668           an alternative FDM.  For an guide on creating a YASim aircraft,
669           look in the FlightGear base package for
670           <code>Aircraft-yasim/README.yasim</code>.</p>
671         </div>
672       
673         <b>
674       <a name="6.3">6.3 -
675     <u>How do I import planes from Microsoft Flight Simulator?</u>
676       </a>
677     </b>
678         <div class="indent">
679           <p>You can import the 3D model and textures, but the flight dynamics
680           (the .AIR file) must be completely redone for FlightGear.  See
681           <a href="http://home.t-online.de/home/Wolfram.Kuss/">http://home.t-online.de/home/Wolfram.Kuss/</a>
682           for help importing .MDL files and textures.</p>
683           <p>If you wish to import a model made with gmax, you will need to
684           convert it to .MDL format using <i>Microsoft's MakeMDL SDK</i> which
685           is available at
686           <a href="http://zone.msn.com/flightsim/FS02DevDeskSDK08.asp">http://zone.msn.com/flightsim/FS02DevDeskSDK08.asp</a>.
687           </p>
688         </div>
689       
690         <b>
691       <a name="6.4">6.4 -
692     <u>How do I import BGL scenery from Microsoft Flight Simulator?</u>
693       </a>
694     </b>
695         <div class="indent">
696           <p>See
697           <a href="http://chiangt.virtualave.net/BGL/bgl_index.html">http://chiangt.virtualave.net/BGL/bgl_index.html</a>.
698           </p>
699         </div>
700       
701         <b>
702       <a name="6.5">6.5 -
703     <u>How do I design or modify a panel?</u>
704       </a>
705     </b>
706         <div class="indent">
707           <p>See the README.xmlpanel file located in the
708           <code>FlightGear/docs-mini/</code> directory of the source
709           distribution.  This document is mirrored at
710           <a href="http://rockfish.net/fg/README.xmlpanel">http://rockfish.net/fg/README.xmlpanel</a>.
711           </p>
712         </div>
713       
714         <b>
715       <a name="6.6">6.6 -
716     <u>How do I place objects, like buildings, into FlightGear?</u>
717       </a>
718     </b>
719         <div class="indent">
720           <p>First, ensure that you have v0.7.7 or later, the scenery files
721           where you plan to place the object, the actual model, and the
722           longitude and latitude where you plan to place the object.</p>
723           <p>Now get the altitude for your point.  If you don't want to
724           calculate this yourself, start FlightGear at your location and take
725           note of the altitude.  Here's an example command:</p>
726           <p>
727         <code>fgfs --lat=45.50 --lon=-75.73 2&gt;&amp;1 | tee fgfs.log</code>
728       </p>
729           <p>The altitude is probably in feet, so divide the starting altitude
730           by 3.28.</p>
731           <p>Search the output log file for the first occurrence of the string
732           "Loading tile" and take note of the filename.  In the above example,
733           the output line looks like:</p>
734           <p>
735         <code>Loading tile /usr/local/Scenery/w080n40/w076n45/1712601</code>
736       </p>
737           <p>Copy a 3D model in a format that Plib understands to the same
738           directory as the tile file.  Edit the text file in that directory
739           consisting of the tile name with the extension ".stg".  The file will
740           already exist if there is an airport on the tile; otherwise, you can
741           create it from scratch.  In our example, the filename is:</p>
742           <p>
743         <code>/usr/local/Scenery/w080n40/w076n45/1712601.stg</code>
744       </p>
745           <p>At the end of the file, add a new entry for your object,
746           consisting of the word "OBJECT_STATIC" followed by the model name,
747           the longitude in degrees, the latitude in degrees, the altitude in
748           meters, and the heading in degrees.  In our example the line looks
749           like:</p>
750           <p>
751         <code>OBJECT_STATIC Towerax.ac -75.73 45.40 60 0</code>
752       </p>
753           <p>Save the changes to the .stg file, restart FlightGear, and
754           enjoy.</p>
755           <p>NOTE: The above information was taken from the following mailing
756           list post:
757           <a href="http://www.geocrawler.com/archives/3/11854/2001/6/0/5991409/">http://www.geocrawler.com/archives/3/11854/2001/6/0/5991409/</a>.
758           See that page if this one doesn't make sense.</p>
759           <p>An alternative approach using PPE is described at
760           <a href="http://mail.flightgear.org/pipermail/flightgear-devel/2001-December/002239.html">http://mail.flightgear.org/pipermail/flightgear-devel/2001-December/002239.html</a>
761           by Norman Vine.</p>
762         </div>
763       
764         <b>
765       <a name="6.7">6.7 -
766     <u>Where can I learn 3D programming and how do I get involved?</u>
767       </a>
768     </b>
769         <div class="indent">
770           <p>Contributing to the 2D panel doesn't require any coding at all,
771           just a minimal knowledge of XML syntax (i.e. five minutes' worth)
772           and good skills with drawing and/or paint programs.  Every instrument
773           on the current panel, with the partial exception of the magnetic
774           compass, is defined entirely in XML with no custom C++  code.  If
775           you want to get started, take a look at John Check's excellent intro
776           (<a href="http://rockfish.net/fg/README.xmlpanel">http://rockfish.net/fg/README.xmlpanel</a>).
777           </p>
778           <p>Likewise, if you want to create a 3D cockpit for FlightGear, or to
779           create buildings, external aircraft models, etc., your help is
780           *desperately* needed.  The only rule is to go easy on the triangles
781           -- a model with 50,000 triangles probably won't be usable in
782           FlightGear, and one with 5,000 triangles, only marginally.  If you
783           can design a nice 3D cockpit interior for a Cessna 172 (for example)
784           in a 3D design program such as ac3D or ppe, we have coders who will
785           be happy to add the support code in the C++.</p>
786           <p>If, on the other hand, you really want to get your hands dirty
787           with C++ coding, you'll have to buy a good OpenGL book eventually.
788           However, FlightGear uses a high-level library, plib, that hides most 
789           of the details of OpenGL.  To get started with 3D C++ coding, you
790           can take a look at the plib documentation and learn only as much
791           OpenGL as you need, when you need it.</p>
792         </div>
793       
794         <b>
795       <a name="6.8">6.8 -
796     <u>How do I add an airport?</u>
797       </a>
798     </b>
799         <div class="indent">
800           <p>You can add your airport to the
801           <code>$FGROOT/Airports/default.apt.gz</code> file, but to get the
802           airport to show up visually, you will have to rebuild the scenery
803           around the airport.  The format of the default.apt file is
804           documented at
805           <a href="http://flightgear.org/Docs/AirNav/AptNavFAQ.FlightGear.html">http://flightgear.org/Docs/AirNav/AptNavFAQ.FlightGear.html</a>.</p>
806         </div>
807       
808         <b>
809       <a name="6.9">6.9 -
810     <u>How do I generate my own scenery?</u>
811       </a>
812     </b>
813         <div class="indent">
814           <p>Yes, though it can be a difficult task.  FlightGear's scenery
815           generation is handled by a sister project, TerraGear.  For more
816           details, see
817           <a href="http://terragear.org/">http://terragear.org/</a>.</p>
818         </div>
819       
820
821     <hr>
822     <h2>
823       <a name="7">7 -
824     Flying</a>
825     </h2>
826         <b>
827       <a name="7.1">7.1 -
828     <u>Where can I learn about instrument flying and navigation?</u>
829       </a>
830     </b>
831         <div class="indent">
832           <p>
833           <a href="http://www.navfltsm.addr.com/">http://www.navfltsm.addr.com/</a>
834           is a very good site for learning techniques for navigation.  Also see
835           <a href="http://www.monmouth.com/~jsd/how/">http://www.monmouth.com/~jsd/how/</a>.
836           </p>
837         </div>
838       
839         <b>
840       <a name="7.2">7.2 -
841     <u>What is the difference between Aileron and Rudder?</u>
842       </a>
843     </b>
844         <div class="indent">
845           <p>There is a bit of info on aileron vs. rudder here:
846           <a href="http://www.monmouth.com/~jsd/how/">http://www.monmouth.com/~jsd/how/</a>.
847           </p>
848         </div>
849       
850         <b>
851       <a name="7.3">7.3 -
852     <u>Is there support for multi-player flying?</u>
853       </a>
854     </b>
855         <div class="indent">
856           <p>We have an initial stab at this that is incomplete and only seems
857           to work under Linux.  We'd love to find someone to pick up the
858           slack here and develop this further.  Specifically, plib now has
859           some low level networking support for mult-player games.  It would
860           also be nice to develop support for the DIS protocol.</p>
861         </div>
862       
863         <b>
864       <a name="7.4">7.4 -
865     <u>Is there support for any military scenarios like dog fighting or bomb dropping?</u>
866       </a>
867     </b>
868         <div class="indent">
869           <p>No, not at this time.  Most of our developers are primarily
870           interested and focused on civilian aviation.  We aren't explicitly
871           excluding these features -- we just haven't had anyone who seriously
872           wanted to develop these areas.</p>
873         </div>
874       
875
876     <hr>
877     <h2>
878       <a name="8">8 -
879     FlightGear v0.7.6</a>
880     </h2>
881         <b>
882       <a name="8.1">8.1 -
883     <u>Why do I get an error in viewer.cxx about `exit' being undeclared?</u>
884       </a>
885     </b>
886         <div class="indent">
887           <p>This error cropped up after the release of v0.7.6.  To fix the
888           problem, add "<code>#include &lt;stdlib.h&gt;</code>" to the top of viewer.cxx.</p>
889         </div>
890       
891
892   
893 <hr noshade>
894     <a name="about">
895       <h2>About This Document</h2>
896     </a>
897     <b>FlightGear FAQ</b>
898     <br>$Revision$<br>$Date$<br>
899     <p>
900       <small>
901         This document generated from XML using
902         <a href="http://gingerall.com/charlie/ga/xml/p_sab.xml">Sablotron</a>.
903       </small>
904     </p>
905     <address>Cameron Moore<br>cameron@unbeatenpath.net<br>
906     </address>
907   </body>
908   <!-- vim: set ts=2 et nowrap: -->
909 </html>