Jump to content
  • 0
Sign in to follow this  
deltafan

Some Questions

Question

  • 0
Guest hfitz

>I'm still not getting quite all of this compiling, binary,>CVS stuff. I haven't had time to read the documents, but I>will have time over the weekend, perhaps I will understand it>better then. Thanks for your help though. :DActually, it's quite simple: FlightGear is written in a language called C++, this language is NOT natively executed on a computer, rather it needs to be compiled into machine code for each supported platform.So whenever the C++ source code is modified, the FlightGear executable/binary needs to be recompiled, so that it is up to date with the latest source code. And the latest source code itself is always available via CVS, which is a central source code repository publicly accessible by anybody (read-only), access instructions can be found at www.flightgear.org ("CVS Resources").If you want to recompile FlightGear's source code, you need a so called compiler which will translate C++ source code into its machine code equivalents, so that the final executable can be built.So, whenever someone is speaking of new *source code* modifications, there is NO way to make use of these without an updated binary, which you can create yourself by getting a free compiler and using it to build FlightGear (and its dependencies). So, you do not really "install" a source code modification, rather you would download/update the (local) source code and re-compile it.

Share this post


Link to post
Share on other sites

14 answers to this question

Recommended Posts

  • 0
Guest hfitz

>I am new to Flightgear and would like to know a few things:>>Are their other sites that host more aircraft, such as A340s,>737-800s, etc?Well, there are indeed some other sites, often privately maintained by FlightGear users and/or developers. However, if you are looking for aircraft such as the 738 or A340 you will probably be disappointed quite a bit. Simply because FlightGear has currently not really any sort of advanced glass cockpit support integrated, that is all instruments (and thereby cockpit panels) are basically based on various layers of grouped textures, using this approach to design an entire glass cockpit can be pretty complex and tiresome. So, as far as I know there are currently not any modern glass cockpit aircraft modelled that feature a realistic flight deck. The general recommendation for anybody who would like to make use of glass cockpit panels for FlightGear aircraft, is to use a separate project named OpenGC (Open Glass Cockpit: http://www.opengc.org). Apart from that it is theoretically indeed possible to create fully realistic glass cockpits, including advanced systems such as a FMC, CDU, MCP etc.However, this can certainly be considered to be non-trivial and would require a huge amount of work. Nevertheless, it should be quite possible to come up with such a cockpit without any C/C++ coding, basically all the required hooks are available, and logics can be implemented using FlightGear's integrated scripting language "Nasal".>What programs can be used to create aircraft, scenery, etc?Basically, you'll be able to use any 3D modelling software that supports exporting to formats that are supported by FlightGear's loaders (based on PLIB: http://plib.sf.net), the best free recommendation would probably be to use Blender3D: http://www.blender.org .There is also fgsd, the "FlightGear Scenery Designer", a tool that is supposed to enable people to make customizations to their local scenery (http://fgsd.sourceforge.net).However, apart from that there is currently not any comprehensive standalone tool that will allow you to create FlightGear extensions or -modifications (such as instruments, panels, aircraft, scenery etc.) in a GUI-like environment. Regardless of that, pretty much all files in FlightGear are in XML format or some other easily editable (and non-proprietary) format, make sure to actually take a look at some of the folders and files in FlightGear's base package (i.e. the 737). Generally, you can easily create whole aircraft without any specific tools, except maybe a good 3D modeller (blender) for the aircraft or 3D cockpit model, a graphical editor (GIMP) for textures and a simple XML/plaintext editor (possibly even as simple as notepad).The documentation for the file formats themselves is available in the Docs subdirectory of $FG_ROOT (the data directory). There are also some simple tutorials available at flightgear.org for this very purpose.>What kind of features can be implemented on aircraft?Pretty much anything you can imagine, it's mainly a matter of the spare time you are willing to dedicate to FlightGear. However, some of the more complex ideas may indeed require minor source code modifications and a recent version from CVS. On the other hand, a lot of things can already be achieved without even taking a look at the C++ source code. In particular, the combination of XML files and Nasal scripting is pretty powerful and allows anybody with some basic programming background to come up with very convincing system simulations.But you may get a more comprehensive impression by checking out some of the currently more advanced aircraft such as the b1900d. But basically it will be a lot easier for us to answer a specific question, rather than writing down everything that's currently being done successfully. So, what exactly do you hope to be able to do in FlightGear?Also, please note that this forum is NOT officially supported by the FlightGear developers, if you intend to do any development for FlightGear you may want to consider subscribing to their mailing list which is way better for any sort of support.

Share this post


Link to post
Share on other sites
  • 0

So I could theoretically move an FS9 model to FGFS and still make it work, as it says it supports .MDL?Then I take it GMAX could be used for modelling?And what are the links of some of these other websites?

Share this post


Link to post
Share on other sites
  • 0
Guest Hardraade

>So I could theoretically move an FS9 model to FGFS and still>make it work, as it says it supports .MDL?Theoretically, yes.>Then I take it GMAX could be used for modelling?Theoretically, yes.>And what are the links of some of these other websites?There are none. People want to put their work on to the FlightGear's download page, because it is the only known location for uploading and downloading aircrafts.Some words about contributing:FlightGear will only accept contributions that are licensed under the GNU General Public License. This is different from MSFS, or other games (which FlightGear isn't), where author of mods can draft up whatever license they want. You can read more about the license here:http://en.wikipedia.org/wiki/GNU_General_Public_LicenseIf you want FlightGear to distribute your work, you must license your work under GPL. Otherwise, you will have to find another location to host your work.

Share this post


Link to post
Share on other sites
  • 0
Guest hfitz

>So I could theoretically move an FS9 model to FGFS and still>make it work, as it says it supports .MDL?Yes, but generally you will want to concentrate on using only models that are maximally well supported by FlightGear itself, which can currently be considered to be mainly the case for *.ac models.>Then I take it GMAX could be used for modelling?I am not at all familiar with GMAX, but the best recommendation would certainly be to use something that will allow you work with *.ac files or that at least allows you to export to this format. >And what are the links of some of these other websites?For example:http://www.ae.uiuc.edu/m-selig/apasim/fgfs-models.htmlhttp://www.ae.uiuc.edu/m-selig/apasim/Aircraft-uiuc.htmlThere are some others, too-however, generally it is true that you will want to make your work compliant with the GPL so that it can directly be included with FlightGear itself. On the other hand, in some cases aircraft developers cannot release their work under the GPL, for example because the 3D models are exported from MSFS aircraft, so that they will only privately distribute their files.That's why it is a really good idea to try to create genuine work where you will be the copyright holder, so that you can eventually make your work available to the FlightGear community (under the GPL), ensuring that other aircraft developers may ultimately be able to continue development of your work.

Share this post


Link to post
Share on other sites
  • 0
Guest hfitz

>Are their other sites that host more aircraft, such as A340s,>737-800s, etc?If you are particularly interested in modern glass cockpit aircraft and would like to have a realistic flight deck, your best bet would probably be to try to interface any of the free/open source glass cockpit software packages, if you check out www.openGC.org you will also find some links to similar projects, also the FlightGear wiki has some related projects like http://a340gc.iradis.org/about/ listed. While I am pretty sure that the latter does not yet feature any support for FlightGear, it would certainly be extremely worthwhile to be interfaced with FlightGear, if you check out their screenshots section at http://a340gc.iradis.org/gallery/index.en.html you'll notice that this package is probably comparable to some of the more advanced MSFS extensions. Also, if you do have a programming background you are likely to find it much easier and probably also more rewarding to add corresponding interface support for FlightGear to it, rather than trying to manually re-do the whole thing from scratch with FlightGear means.On the other hand, it is entirely possible to do most of this in FlightGear natively, using a combination of XML encoded texture layers and conditions and some additional scripting-however, in that case you will probably also require access to an AOM to be able to model everything realistically.

Share this post


Link to post
Share on other sites
  • 0

Thanks guys! Your help has been most appreciated. The GPL license is not a problem, as I figure other people could probably make my original work better. :)As I have no C++ or XML skills, or anything of the sort, I've found some great documents on getting started with this on the FlightGear website. However, are there other ones, perhaps more general ones you guys suggest looking at? I am interested in helping improve and develop FlightGear and would most appreciate any tutorials or links you may have on programing these sort of things.Thanks. :)

Share this post


Link to post
Share on other sites
  • 0
Guest hfitz

Generally you will want to make sure that you have studied the FlightGear webpage and the Docs folder under $FG_ROOT before going any further, many of these files have non-standard file extensions that may not even show up properly on Win32 systems, so make sure that all file types are displayed in windows explorer, filenames that start with README* can usually be simply opened with a text editor.Then, depending on how exactly you would like to contribute, you will probably want to get a development environment up and running. For C/C++ programming this will be an IDE such as MSVC++, KDevelop, DevC++ etc. and a corresponding compiler such as gcc or MingW32/gcc for Win32 based platforms, so that you are able to compile FlightGear's source code using your IDE.However, if you are just starting to learn C/C++ and do not have any previous experience with programming in general, it can probably be considered unrealistic to learn the language on the one hand, and do any serious development (i.e. for FlightGear) on the other hand. So, for someone who is entirely new to programming it is probably a much better idea to start out simple, for example by doing development that is strictly restricted to FlightGear's base package. FlightGear's base package offers many possibilities for development that will usually not require any core source code modifications or recompilations. As I said already, pretty much all aircraft, aircraft panels and aircraft instruments are defined within the base package, defined in plaintext or XML files that can be modified with any simple text editor, so that you can see the effect of your changes immediatley in FlightGear, without having to use compiler.Likewise, the majority of files in the base package can be easily modified with easily and freely available tools such as Blender3D or GIMP.If you thorougly check out the $FG_ROOT/Docs folder you will also find various short introductions or tutorials about FlightGear's architecture and features. In the long run you will probably also find it much easier to start contributing by doing base package related development, rather than trying to learn 1) C/C++, 2) the STL and 3) OpenGL all from scratch-which each in itself can be very frustrating and often even requires some previous programming background. Also, you need to take into account that contributions to the core's source code will need to be reviewed and approved by the core developers to be eligible for inclusion into CVS, and as someone who is just starting to learn programming you are unlikely to really conform to the required standards for code quality in the beginning. Nevertheless I am sure you agree that this is an important control mechanism to ensure stability.However, if you did intend to learn C/C++ programming anyway, there are certainly thousands of great resources available on the internet and it is mainly matter of running a clever google search to come up with some excellent tutorials:C++:http://www.cppreference.com/http://www.cplusplus.com/http://www.cprogramming.comhttp://www.cpp-home.com/print_t.pl?16Collections of C++ resources:http://www.programmershelp.co.uk/c++tutorials.phphttp://cplus.about.com/library/bltutorials.htmhttp://oopweb.com/CPP/Files/CPP.htmlhttp://ma.rtij.nl/acllc-c++.FAQ.htmlhttp://www.robertnz.net/cpp_site.htmlhttp://www.codebox.8m.com/c&c++.htmSTL:http://www.sgi.com/tech/stl/table_of_contents.htmlOpenGL Tutorials:http://nehe.gamedev.net/http://www.gamedev.netGame programming:http://www.flipcode.com/http://www.gametutorials.com/http://www.ultimategameprogramming.comXML:http://oopweb.com/XML/Files/XML.htmlMisc:http://stommel.tamu.edu/~baum/programming.htmlhttp://www.cs.utk.edu/~shi/link_prog.htmBasically, any good programming forum will have an FAQ section with such collections of references.However, in general you will want to avoid learning platform specific programming if you intend to do multi-platform development (which would be the case for FlightGear)-for example, if you start programming by learning Win32 specific programming you may soon find that hardly any of the acquired skills may be useful for multi-platform development. Also, for the same reasons it is a good idea to first check the available documentation, as FlightGear may not necessarily use technologies such as XML the way you might expect it to do, e.g. rather than using XML attributes, FlightGear XML files will usually use extra tags, simply because of the underlying property tree mechanism which does not generally export tag attributes to the property tree.

Share this post


Link to post
Share on other sites
  • 0

Another question. Projects like the OV-10 Bronco have links on the FlightGear page, and yet when you try to search their page, you can't find their modified version of FlightGear to integrate with the rest of your FlightGear sim. How can I find these modified versions? Or are they just not available for download?Can other mods, be it one you've made, or one you've found, be integrated into the base FG without screwing up other mods or features?

Share this post


Link to post
Share on other sites
  • 0
Guest hfitz

>Another question. Projects like the OV-10 Bronco have links>on the FlightGear page, and yet when you try to search their>page, you can't find their modified version of FlightGear to>integrate with the rest of your FlightGear sim. How can I find>these modified versions? Or are they just not available for>download?I am not sure what exactly you mean here, however if you are referring to the development versions of the various FlightGear aircraft, you are most likely referring to "CVS", which is basically a source code repository and -versioning system that is used by many opensource projects such as FlightGear, all development stuff goes into the CVS and only mature things are released, that is also why FlightGear's CVS has many aircraft that are not officially part of the FlightGear base package. If you want to download files from the CVS you can either directly use the browser based viewcvs frontend available at www.flightgear.org or simply get, install and use a CVS client such as WinCVS, TortoiseCVS etc.Such CVS clients will allow you to download the latest CVS code from an opensource project such as FlightGear-basically enabling you to use the latest development version of the source code.>Can other mods, be it one you've made, or one you've found, be>integrated into the base FG without screwing up other mods or>features?Generally, yes-however this depends on the type of "MOD"ification you are referring to, if you are referring to aircraft, the easiest way is to simply clone (copy) an existing aircraft folder and apply any customizations to the cloned folder, rather than the original folder.Likewise for instruments. That way, you can avoid problems where you might break dependencies and can keep everything self-contained.In some cases it may also be absolutely sufficient to simply provide additional *-set.xml files and/or additional aircraft panels, such files can co-exist with related files in the same folder-which is actually also often the case for several popular FlightGear aircraft that may feature different FDMs, configurations, features and panels (i.e. VFR vs. IFR).

Share this post


Link to post
Share on other sites
  • 0

Sorry I have not been here for a few days.What I mean about the OV-10 Bronco thing is this: They say they've made modifications to FlightGear to better suit the OV-10. Where would I download this modification? In the CVS thing you are reffering to?And what I mean by other mods would be like revisions to something big, not neccesarily aircraft. Or would I be better off installing major modifications into their own FlightGear folder?

Share this post


Link to post
Share on other sites
  • 0
Guest hfitz

>Sorry I have not been here for a few days.>>What I mean about the OV-10 Bronco thing is this: They say>they've made modifications to FlightGear to better suit the>OV-10. Where would I download this modification? In the CVS>thing you are reffering to?I am still not sure if I am getting you right, however generally any (C/C++) source code modifications will require a recompilation of the FlightGear binary itself. So, you can either use official releases only, or you can also use development code from CVS, the latter would require a sufficient build system, though (mainly a compiler for your platform). So, any such source code modifications will require a re-compiled version of FlightGear, whereas base package modifications can often be used without updating FlightGear itself, even though this is not necessarily the case, some complex modifications may indeed require an updated binary, too. Usually, you will want to take a look at the CVS commit messages in order to get a basic understanding of what needs to be done in order to make use of new features.>And what I mean by other mods would be like revisions to>something big, not neccesarily aircraft. Or would I be better>off installing major modifications into their own FlightGear>folder?Yes, if you intend to keep around multiple different versions of FlightGear it is indeed an excellent idea to use different directories for all related files.

Share this post


Link to post
Share on other sites
  • 0

I'm still not getting quite all of this compiling, binary, CVS stuff. I haven't had time to read the documents, but I will have time over the weekend, perhaps I will understand it better then. Thanks for your help though. :D

Share this post


Link to post
Share on other sites
  • 0
Guest hfitz

>I'm still not getting quite all of this compiling, binary,>CVS stuff. I haven't had time to read the documents, but I>will have time over the weekend, perhaps I will understand it>better then. Thanks for your help though. :DActually, it's quite simple: FlightGear is written in a language called C++, this language is NOT natively executed on a computer, rather it needs to be compiled into machine code for each supported platform.So whenever the C++ source code is modified, the FlightGear executable/binary needs to be recompiled, so that it is up to date with the latest source code. And the latest source code itself is always available via CVS, which is a central source code repository publicly accessible by anybody (read-only), access instructions can be found at www.flightgear.org ("CVS Resources").If you want to recompile FlightGear's source code, you need a so called compiler which will translate C++ source code into its machine code equivalents, so that the final executable can be built.So, whenever someone is speaking of new *source code* modifications, there is NO way to make use of these without an updated binary, which you can create yourself by getting a free compiler and using it to build FlightGear (and its dependencies). So, you do not really "install" a source code modification, rather you would download/update the (local) source code and re-compile it.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Tom Allensworth,
    Founder of AVSIM Online


  • Flight Simulation's Premier Resource!

    AVSIM is a free service to the flight simulation community. AVSIM is staffed completely by volunteers and all funds donated to AVSIM go directly back to supporting the community. Your donation here helps to pay our bandwidth costs, emergency funding, and other general costs that crop up from time to time. Thank you for your support!

    Click here for more information and to see all donations year to date.
×
×
  • Create New...