User:Callahanp: Difference between revisions

Jump to navigation Jump to search
Line 19: Line 19:


I'm beginning to look through various parts of the Flightgear code-base to understand how the parts fit together and how supporting libraries are used in the project.  I'd like to learn how aircraft data and graphics are integrated into the working program, and how, why and where Nasal scripting is used.  To this end, I have  
I'm beginning to look through various parts of the Flightgear code-base to understand how the parts fit together and how supporting libraries are used in the project.  I'd like to learn how aircraft data and graphics are integrated into the working program, and how, why and where Nasal scripting is used.  To this end, I have  
* Cloned the flightgear  simgear project
  * Built a full debug version of the next branch
  * Built a full debug version of the next branch
  * Installed  
  * Installed  
Line 27: Line 26:
Later I'll try QtCreator
Later I'll try QtCreator


Here's my directory structure
Here's my directory structure for building


*$HOME  
*$HOME  
Line 43: Line 42:
** Each of these directories contains clones for flightgear, simgear and other projects like OSG and OpenRTI as needed.
** Each of these directories contains clones for flightgear, simgear and other projects like OSG and OpenRTI as needed.


Rather than use excessive bandwidth, when I need a fresh copy, I just run download_and_compile.sh in a folder that already has a copy of the sources. Then I copy the folder over to the one I want to refresh and remove the build folder within the new one.  Then run the script again to produce the executable version I want.
Rather than use excessive bandwidth, when I need a fresh copy, I just run download_and_compile.sh in a folder that already has a copy of the sources. Then I copy the folder over to the one I want to refresh and remove the build folder within the new one.  Then run the script again to produce the executable version I want. As currently structured, download_and_compile.sh requires a separate set of sources for each different version built.


Here's the atom/run/debug script I use for debugging
Here's the atom/run/debug script I use for debugging
Line 71: Line 70:


====The Path to "Holding Short"====
====The Path to "Holding Short"====
{| class="wikitable"
|-
! Module !! Description !! Steps
|-
| src/Main/bootstrap || Bootstrap provides the top level of the stack for executing either fgviewerMain or fgMainInit.
|
* Enable Floating Point features with InitFPE
* Set locale settings specific to using C or C++
* Uninstall if requested
* Initialize logging
* Initialize some static objects in OSG to prevent crashes on exit
* set the std:: terminate function
* set the atexit function
* pass control to the viewer with fgViewerMain or initialize using fgMainInit
* catch throwables and other fatal error conditions, providing appropriate error messages
|-
| src/Main/Main || Example || Example
|-
| Example || Example || Example
|}
====Modules on the Path to Holding Short====
====Modules on the Path to Holding Short====


980

edits

Navigation menu