Hi fellow wiki editors!
I have tried to keep the template short, but meaningful. /Johan G
User:Callahanp/Flightgear and Simgear Code
Flightgear and Simgear Code
This is my attempt to describe aspects of the Flightgear and Simgear Codebase as I learn how to do maintenenance, bug fixes and eventually, (one hopes!) new contributions to the project. Caveat: I'm doing this not as a software beginner, but as someone new to Flightgear's codebase. Any specific statements about flightgear's code may not have been checked for accuracy by others. While its unlikely that what I write will be totally off base, there may be specifics that I get wrong.
I learned C++ in the 1990's, but never got a chance to apply it in my work. I'm retired and now's the time.
First, I got encouragement from the core developers. Then I read a lot of stuff on the wiki about how the project actually works. Then I got to work. Detailed work. I'm not about to ask the core developers to hold my hand and walk me through it all. But of course advice is always welcome and I'll be asking a few questions on the developer's mailing list.
Here's what I've explored so far:
- Tools for a Flightgear Developer (see also Tools of the Trade)
- From Command Line to Holding Short. A look at what gets called when you start Flightgear
What's in progress:
- A look at where and how extensively particular Language Features are used in Flightgear.]]
Maybe separate pages for:
- What's Happening in The Event Loop. Just a few calls in a loop
- Terms and Abbreviations - Familiar and Unfamiliar
- What Happens after Selected Events
At this point I think the following topics are now open for further exploration:
- A Closer Look at Manager Modules Code that affects what other code does in some way, and Subsystems.
- The Property Tree
- Stepping through Code for Chosen Scenarios
- "Code Patterns" Found in Flightgear and Simgear
- More About Events and Event Handling.
- Visiting the Boundaries of Flightgear and Simgear. a look at things flightgear calls or customizes.
- The Immediate Future of Flightgear - A look at where Flightgear' codebase is heading. What people are working on now, and plan to work on for the immediate future, a version or two out. Moving more code to simgear, RTI etc.
At some point while exploring the topics above, I'll be taking a closer look at some of these:
- Any Method to Set or Get a Property
- The Property Tree
- Why Properties are Tied and why you can't subscribe to them through telnet. See: Howto:Use Property Tree Objects (the background here being that tied properties don't use the listener interface, but are basically raw pointers (references actually) - thus, listeners never "see" values being changed, because that would require using the public SGPropertyNode API to change the value, whereas tied properties access the raw memory directly - they were a performance hack introduced over a decade ago).