FGRadar: Difference between revisions
(→TODO) |
|||
Line 65: | Line 65: | ||
* cmake support {{done}} | * cmake support {{done}} | ||
* main loop cleanup to prepare scripting support {{done}} | * main loop cleanup to prepare scripting support {{done}} | ||
* improved cross-platform support, so that FGRadar also works on Windows {{Progressbar| | * improved cross-platform support, so that FGRadar also works on Windows {{Progressbar|50}} | ||
* implement an SGSubsystem-based main loop {{Progressbar|80}} | * implement an SGSubsystem-based main loop {{Progressbar|80}} | ||
* Nasal scripting support {{Progressbar|80}} | * Nasal scripting support {{Progressbar|80}} | ||
Line 71: | Line 71: | ||
* absorb useful stuff (gtk/cairo bindings) from "Nasal standalone" into scripting module, and use SimGear's Nasal {{Done}} | * absorb useful stuff (gtk/cairo bindings) from "Nasal standalone" into scripting module, and use SimGear's Nasal {{Done}} | ||
* start using the SimGear-based logging facilities (SG_LOG) {{pending}} | * start using the SimGear-based logging facilities (SG_LOG) {{pending}} | ||
* implement an '''SGApplication''' framework for SGSubsystem-based CLI/GUI apps {{Progressbar| | * implement an '''SGApplication''' framework for SGSubsystem-based CLI/GUI apps {{Progressbar|80}} | ||
* add a '''SG_OSGApplication''' inherited from SGApplication to support Canvas {{Progressbar|20}} | |||
* improved Nasal GTK wrapper (port from GTK 2.0 to 3.x) {{pending}} | * improved Nasal GTK wrapper (port from GTK 2.0 to 3.x) {{pending}} | ||
* An XML configurable GUI using Gtk (glade) {{pending}} | * An XML configurable GUI using Gtk (glade) {{pending}} |
Revision as of 09:14, 18 October 2012
Developed by | Fernando García (Icecode GL) |
---|---|
Written in | C++ |
OS | Cross platform |
Development status | Active (as of 10/2012) |
Development progress | |
License | GNU General Public License v3 |
Website |
FGRadar is a free, open-source, multi-platform and stand-alone air traffic control (ATC) client for FlightGear currently under development (10/2012). It makes use of the SimGear library and the Nasal scripting language.
On the scripting side, it uses the GTK+ and Cairo wrappers for Nasal in order to perform GUI rendering and drawing operations, respectively.
Status (10/2012)
Under development as of October 2012 (no public release yet).
Contributing
Contributors are welcome to join the project. Developers should preferably have some experience with:
- C++
- GIT
- CMAKE
- MULTI-PLATFORM development
In addition, a little familarity with the SimGear/FlightGear code bases is a plus, because FGRadar re-uses some code from those.
If someone wants to join the project, give ideas, requests or opinions, feel free to do so. The repository is here: https://gitorious.org/fgradar
To get commit privileges, please get in touch with Icecode GL via the forum or directly via gitorious.
Design
- Written in C++
- Uses Doxygen for developer documentation
- Multi-Platform support
- Uses cmake as the build system
- uses the SimGear library
- uses GTK 2.0
- uses CAIRO
- scripting support via Nasal
- Implements an SGSubsystem-based main loop, to re-use existing SG/FG code
- Uses the FlightGear/SimGear Property Tree as its internal main data structure
- Uses the FlightGear/FGMS networking stack (based on SGSocket)
Planned Features
- multiplayer support by sending/recieving packages from the MP servers
- reading shapefiles in order to create terrain maps (OpenRadar style)
- FGCom protocol support
- Flight Planning support (might include support in fgms too)
- Nasal command line to execute extension functions easily without scripts
TODO
- the CMAKE build system should probably be re-structured such that each source directory gets its own CMakeList? Done
- add a new SGSubsystem that connects to fgms and gets a list of aircraft, i.e. via http://mpserver01.flightgear.org:5001/
- add a "data" folder for scripts etc (fg-root), needs to be installed via CMake
- use simgear::ResourceManager::instance()->addBasePath(fg_root, simgear::ResourceManager::PRIORITY_DEFAULT) for data folder access
- apt.dat version 850 parsing (currently only 810 is supported)
- more map projections (only the Mercator projection is available right now)
Work in Progress
- cmake support Done
- main loop cleanup to prepare scripting support Done
- improved cross-platform support, so that FGRadar also works on Windows
- implement an SGSubsystem-based main loop
- Nasal scripting support
- re-add and port submodule support for scripting, so that multiple files can be loaded into the same namespace Pending
- absorb useful stuff (gtk/cairo bindings) from "Nasal standalone" into scripting module, and use SimGear's Nasal Done
- start using the SimGear-based logging facilities (SG_LOG) Pending
- implement an SGApplication framework for SGSubsystem-based CLI/GUI apps
- add a SG_OSGApplication inherited from SGApplication to support Canvas
- improved Nasal GTK wrapper (port from GTK 2.0 to 3.x) Pending
- An XML configurable GUI using Gtk (glade) Pending