1
0
Fork 0
Commit graph

710 commits

Author SHA1 Message Date
ThorstenB
a2922e2e23 ATCDCL cleanup, part II.
Remove/comment out obsolete code.
Refactor ATCmgr(-old) into ATISmgr(-new), only keeping the COM radio / ATIS
support.
2012-05-12 23:53:30 +02:00
James Turner
2d267a5782 Remove PositionedBinding (which no one ever used), Nasal is better for this jobs. 2012-04-26 00:37:47 +01:00
ThorstenB
89b41395d8 Move viewer-related sources to separate folder.
Simple source directory clean-up, so "Main" folder contains fewer stuff
and the list of files in the editors a lot shorter.
2012-04-25 23:28:00 +02:00
James Turner
fb66aeade1 More search functions exposed to Nasal, also airport parking. 2012-04-24 22:12:56 +01:00
ThorstenB
470552fab1 Move locale code to separate module.
Introduce convenience methods to handle localized string resources
and obtain strings.
2012-04-21 20:17:42 +02:00
ThorstenB
201d9d7852 Be more tolerant about locale name when detecting the default language,
i.e. consider the German resource provided for "de_DE" or "de" when
locale name is "de_DE.utf8".
2012-04-18 15:43:42 +02:00
Torsten Dreyer
68e1a8c4cb Autopilot: save loads of CPU cycles
Not every xml-autopilot filter needs to run at the update rate
of the FDM. This only makes sense for the autpilot filters. Those,
who update instrument needles or environment properties for example
may run at frame rate.
This patch (thanks to ThorstenB, who is the author) forces those
filters defined in /sim/systems/autopilot into the FDM loop and those
defined in /sim/systems/property-rule into the default loop. They
show up as xml-autopilot and xml-proprules in the performance monitor
2012-04-05 20:40:07 +02:00
ThorstenB
3e08e5ecfe Minor clean-up. 2012-01-29 10:34:11 +01:00
ThorstenB
90ce4ec93d Clean-up: move autosave.xml loading code to proper method 2012-01-17 23:49:25 +01:00
James Turner
a0bfa25aa7 Tweak the app-data path on Mac, after discussion with Tat. 2012-01-05 22:10:19 +00:00
ThorstenB
229d9273d7 #545 related: User settings not saved when window was closed
via the window buttons instead of pressing ESC or using menu exit.
(More code should be moved after the 2.6 release)
2011-12-30 00:39:31 +01:00
ThorstenB
e1c1a28288 Introduce some structure in fgMainLoop.
- Move some code to sub functions.
- Make sound manager a subsystem-manager member (and make sure it's
still processed last).
2011-11-20 16:21:15 +01:00
ThorstenB
339c57e0b2 Adapt path of performance-monitor properties. 2011-11-19 22:37:13 +01:00
ThorstenB
4b2506d709 Add new performance monitoring subsystem.
Rename some subsystems for naming consistency.
2011-11-19 15:37:49 +01:00
James Turner
c1eca1ff6b Refactor SGSky handling and ownership - sink into Renderer, remove global variable 'the sky', and hence clean up main loop and subsystem creation a little more. 2011-11-05 17:11:52 +00:00
James Turner
e50ff87300 Relocate appData fgfsrc loading prior to init of fg-root, so we can specify --fg-root that way. 2011-10-21 16:49:15 +01:00
James Turner
0f5d27c10e Detect and read a config file in FG_HOME - allows nicer tweaking of settings on Mac/Windows for people with Terminal/cmd.exe phobia :) 2011-10-16 21:54:47 +01:00
James Turner
3d0254f6ec Allow aircraft-dir option to override aircraft search logic completely. 2011-10-16 21:15:54 +01:00
James Turner
ccb21d4c0c And keep platforms other than my beloved OS-X working too ;) 2011-10-16 19:58:22 +01:00
James Turner
6adb42078e Refactor fg-home computation, use Library/Application Support on Mac. 2011-10-16 19:55:04 +01:00
James Turner
b1c7495fec Restructure option/config handling code, to avoid multiple scans & parses for special options (fg-root/fg-aircraft/aircraft). Push most of the code into a new Options class, inside options.cxx, and clean up various call-sites as a result. 2011-10-16 18:35:40 +01:00
Durk Talsma
b482188848 Whoops, lazy copy/paste job. 2011-09-22 22:08:20 +02:00
Durk Talsma
5ae207c2fc Prefetch a previously saved aircraft settings configuration file to retrieve aircraft usage and livery information. Fallback to default settings in aircraft-set.xml file if not found. 2011-09-22 19:06:26 +02:00
Durk Talsma
db816deb90 Added a new startup option. By giving the command line option --parkpos=AVAILABLE you can -in principle- let FlightGear decide what the most optimal parking location is. This option does require a few properties to be set that are also needed for future ATC use. Hence, they are listed under /sim/ATC, but could move to a different location if desired.
/sim/ATC/radius should be a nummeric estimate of the size of your aircraft. A small aircraft fits into a large parking, but a large aircraft does not fit into a small parking space. Because the AI part of radius is also used for slightly different purposes (prioritizing gate assignmments, the given valuem may deviate slightly from the real aircraft size. See http:/wiki.flightgear.org/Aircraft.radii for an overview of currently used values for the redius property.
/sim/ATC/flight-type can be any one of "ga", "cargo", "gate", "mil-fighter", "mil-cargo", or "vtol". See http://wiki.flightgear.org/Interactive_traffic#A_technical_perspective for more information.
optionally, the property /sim/ATC/airline can be set set to a three letter icao airline code. By way of illustration, I will commit a number of startup preset files setting these properties shortly.

Also did some more finetuning to the traffic mananger routing algorithm can be any one of "ga", "cargo", "gate", "mil-fighter", "mil-cargo", or "vtol". See http://wiki.flightgear.org/Interactive_traffic#A_technical_perspective for more information.
optionally, the property /sim/ATC/airline can be set set to a three letter icao airline code. By way of illustration, I will commit a number of startup preset files setting these properties shortly.

Also did some more finetuning to the traffic mananger routing algorithm.
2011-09-17 16:51:00 +02:00
Anders Gidenstam
a2972051a9 Added an --materials-file option to select the materials file to use at startup.
The property /sim/rendering/materials-file can also be used for this purpose.
2011-09-03 21:48:50 +02:00
James Turner
6c52a5ac85 Fixes for include-file flattening - condition.hxx no longer pulls in props or props_io 2011-07-30 10:47:28 +01:00
Durk Talsma
5228053f7f Merge branch 'next' into durk-atc 2011-07-24 08:44:22 +02:00
Torsten Dreyer
c6d5b6ebdb Partial fix for #228: ambiguous navaid-names
This fixes at least the startup process.
If an ambigous fix name was presented with --vor=ID or --ndb=ID
present a list of matching records along with frequency and
position in the console to give the user the chance to pick
the correct one by adding the frequency with --vor-frequency=nnn.nn

It does not yes solve the issue when the user relocates using the
GUI dialog. This requires some GUI and Nasal hacking along with a
new Nasal helper function "navaidinfo".
2011-07-18 11:09:43 +02:00
Durk Talsma
f9a5f921a4 Merge branch 'next' into durk-atc
Resolving merge conflicts indicated below.
Conflicts:
	src/ATC/CMakeLists.txt
	src/ATC/Makefile.am
	src/Main/fg_init.cxx
2011-06-01 20:46:34 +02:00
James Turner
2b967608a0 Expose FGPositioned data via property tree, and make comm-stations a real FGPositioned subclass. 2011-06-01 17:45:22 +01:00
ThorstenB
e42a8f597c Automatic tower positioning
New "auto-position" switch to always use closest tower for tower-view.
Exposes new "/sim/airport/closest-airport-id" property.
Display closest airport on groundradar by default.
2011-04-18 22:54:33 +02:00
Durk Talsma
960f6881c9 Merge branch 'next' into durk-atc 2011-04-19 18:02:30 +02:00
Durk Talsma
52b0baace1 adding changed files for previous commit. 2011-04-03 17:58:16 +02:00
ThorstenB
4141b80b0c fix #296: FDMshell+TankProperties not bound after sim reset
Well, when we need to unbind something temporarily, it's wise to really
bind it again...
2011-03-29 23:31:59 +02:00
ThorstenB
5ace4e9632 Fix reset during replay issue
Need to properly reset the replay manager's states on sim reset.
Also remove obsolete method.
2011-03-22 21:02:57 +01:00
ThorstenB
b6d70d2c71 Replay improvements
Clear replay buffers on sim reset.
Allow instant replay to be activated properly when sim is paused.
2011-03-20 15:03:47 +01:00
ThorstenB
7bc9749d91 Support scenery reloading (needs simgear update).
TileMgr subsystem reinit: remove all scenery tiles from scenegraph and
clear cache (simgear update required).
"normal" sim resets: no TileMgr reset is needed (avoid reloading scenery).
2011-02-13 19:26:55 +01:00
Dave Luff
07d430c129 More fixes to the ATCDCL & ATC compilation
Rename ATC/atis.[ch]xx to ATC/atis_mgr.[ch]xx, to avoid confusingly
having 2 atis.cxx and 2 atis.hxx in the source tree.  Also fix a copy
and paste error in src/ATCDCL/CMakeLists.txt.
2010-12-29 18:52:39 +00:00
Dave Luff
d6fceb3fbc Remove conditional compilation of ATCDCL
This patch removes the conditional compilation of ATCDCL, compiling both
the old and new ATC systems.  The old system only provides ATIS, AWOS and
some dialog lookups, and hence should not conflict with the new system.
2010-12-28 18:23:40 +00:00
ThorstenB
79094e8c36 Fix bug #187: check if path cache matches fg-aircraft dirs
Check if any fg-aircraft dir changed - sequence also matters.
2010-11-29 22:48:37 +01:00
Torsten Dreyer
9242f3a083 Make startup.nas obsolete
This is an ugly hack for automatic runway selection on startup based on
metar data. It's main intention is to make startup.nas obsolete and
to guarantee the same runway selection logic as used for AI traffic.

Calling presets-commit from startup.nas during the initialization
sequence caused occasional trouble and sometimes, the AI traffic
operated on the opposite runway.
2010-11-10 22:19:25 +01:00
James Turner
c053de6b4c If preset-commit occurs during init, skip most re-init logic. 2010-11-02 23:19:09 +00:00
James Turner
eeaf4b13e6 Unify reset/reposition code-paths, and ensure initial state is preserved by a reset. 2010-11-02 22:45:43 +00:00
James Turner
d1a4590721 Goodbye old HUD - and the archeology it depended upon in cockpit.cxx 2010-10-29 08:47:58 +01:00
James Turner
e9f4106bc1 Remove confusing default (missing) path from 2D panel code. 2010-10-28 13:54:45 +01:00
James Turner
d573cb43a0 Move three more subsystems into the init + update scheme - fixes some crashes found by papillion. 2010-10-22 16:44:37 +01:00
James Turner
f5c2c630eb Remove references to old (unused) airways code 2010-10-20 17:54:16 +01:00
James Turner
dd2eec7bd8 Airways/procedures code - add new data structures to store waypoints and
procedures, and routing algorithms, and modify the GPS, route manager and
WaypointList to use the new objects.
2010-10-20 09:02:02 +01:00
James Turner
0c342308eb Make MultiPlayer a well-behaved subsystem. 2010-10-05 23:17:32 +01:00
James Turner
d39841d2df Make FGAircraftModel behave like a standarrd subsystem. 2010-10-05 23:17:32 +01:00
James Turner
0beab94cb5 Make the tile-manager a well-behaved SGSubsystem 2010-10-01 19:09:19 +01:00
James Turner
1afd4e602e Get rid of FGGeneral; expose equivlanet values via properties. 2010-10-01 09:33:31 +01:00
Torsten Dreyer
54e6757211 Autopilot is more than just an autopilot: Introducing: "property rule"
The autopilot has grown beyond being just an autopilot. It's
components, filters and controllers could be used to set property
values based on complex rules and driven from other property values.
That's why I chose to give it the name "property-rule".
This patch allows to define an arbitrary number of property rules under
a/sim/property-rule[n]/path
using the same syntax as autopilot configurations.
2010-08-18 18:50:07 +02:00
Torsten Dreyer
60f7d0f16c Downgrade the ridgelift to a subsystem of environment 2010-08-15 20:33:29 +02:00
Torsten Dreyer
bb2d1f55e9 Interpret environment variables and hostname on Windows
- Point the homedir variable to %APPDATA%/flightgear.org. This
enables .fgfsrc in this path for windows users.
- Evaluate the returncode of gethostname() to not strdup() bogus
characters on failure. Also mainly on windows.
2010-08-06 09:06:32 +02:00
James Turner
7f36caede6 Create TimeManager subsystem, and collect the time related code out of main.cxx and fg_init.cxx into it.
Remove the unfortunately named 'tmp.[cxx|hxx]', pushing the remaining code in FGLight.
(second try, with init bug fixed)
2010-08-04 09:16:37 +01:00
David Luff
53358a55bf Remove old AI system 2010-08-03 00:21:56 +01:00
James Turner
47fd8a8a2a Revert "Create TimeManager subsystem" - not quite ready for prime-time yet!
This reverts commit 50eb95dcad.
2010-08-02 00:23:36 +01:00
James Turner
50eb95dcad Create TimeManager subsystem, and collect the time related code out of main.cxx and fg_init.cxx into it.
Remove the unfortunately named 'tmp.[cxx|hxx]', pushing the remaining code in FGLight.
2010-08-01 20:33:11 +01:00
James Turner
388a0a5b6a Make saveInitialProperties smarter, and hence simplify the reset code path. 2010-08-01 19:04:20 +01:00
Durk Talsma
7c73c7d3e5 Added some stubs in the flightgear main code to eventually add a full, FGSubsystems based ATIS system that will serve as a replacement for the ATCDCL code. 2010-08-01 16:16:33 +02:00
James Turner
ab495d1370 Add --fg-aircraft option, and aircraft dir path list. Partial support in places that load files, for respecting the setting.
Add helper to look for an aircraft branch path in multiple candidate locations.
Update the main subsystems to use the helper, and hence load from any aircraft dir.
2010-07-28 22:03:10 +01:00
James Turner
bf52c378a4 Clean up names in --show-aircraft; avoid -set.xml suffixes. 2010-07-22 01:36:32 +01:00
James Turner
c95a5db23d Rewrite --show-aircraft and --aircraft handling to share directory search code.
As a bonus, sort the --show-aircraft list case-insensitively.
2010-07-17 14:12:52 +01:00
James Turner
c47d4f2f30 Fix bug 141, by ensuring certain subsystems are assigned to the 'post FDM' group (which is new) 2010-07-08 23:24:39 +01:00
James Turner
18d42ec1af Rename reInit() method to 'resetSimulator', and document that it's hooked up to the 'reset' command. 2010-07-01 22:50:11 +01:00
James Turner
01e0156b5d Remove current_aircraft global, fgAIRCRAFT struct, and dead code for reading aircraft dirs. 2010-07-01 22:33:51 +01:00
James Turner
85be9be1e0 Initial work on FDM shell, and removal of cur_fdm_state 2010-06-26 10:31:22 +01:00
Torsten Dreyer
d558b52cb6 New autopilot subsystem implementation.
Split the former single-file-implementation in xmlauto.?xx into multiple
files and use some OO techniques. Started with documentation to be used
with doxygen.
2010-06-24 17:09:33 +02:00
James Turner
ad19acf1c6 Remove C++ autobrake code - this can all be done easier in XML now! 2010-05-29 10:36:23 +01:00
Tim Moore
988a6771aa Merge branch 'durk/atcdcl-cond'
Conflicts:
	src/ATC/trafficcontrol.cxx
	src/Main/Makefile.am
2010-02-10 00:45:06 +01:00
Tim Moore
3e0489bd91 Merge branch 'torsten/auto' 2010-02-10 00:41:44 +01:00
durk
e54798a8e2 A couple of last-minute patched / bugfixes to mitigate the probability of collisions between user controlled aircraft and AI traffic.
* AI aircraft distance to user proximity detection works again (lat/lon were inverted).
  * The parking uses by the user aircraft is marked as such to prevent it being reused by an AI aicraft
  * AI aircraft won't receive permission for pushback until the user aircraft is at a fair distance.
2010-01-31 17:52:43 +01:00
fredb
00e9ad3055 MINGW patch from Benot Laniel 2010-01-25 17:12:04 +01:00
Tim Moore
98d8a98ef2 Merge branch 'ehofman/sound' 2010-01-13 07:30:52 +01:00
ehofman
8e4d979aca Don't initialize the soundmanager wehn defining --disable-sound. Sound can still be enabled at runtime by setting /sim/sound/working to 'true' 2010-01-10 23:33:57 +01:00
durk
d8ae90801a Some additional changes to ensure that FlightGear at least compiles after configuring with --disable-atcdcl. Some substitution code is added in ATC/atcutils.cxx and ATC/atcutils.hxx. Note that the new code doesn't run properly yet. Instead, it is just meant to identify which parts need replacement. Getting that to work will be the next step. 2010-01-05 22:21:49 +01:00
durk
8114d1d899 Conditional compilation of ATCDCL module. Use --disable-atcdcl to try building flightgear without ATCDCL code. 2009-12-30 17:44:06 +01:00
Tim Moore
d2c7179cd0 Merge branches 'jmt/aircraft-name' and 'jmt/runway' 2009-12-22 00:16:38 +01:00
Tim Moore
b5c46a8d59 Merge branch 'ehofman/sound' 2009-12-20 11:11:16 +01:00
jmt
106aa02b76 Case-insensitive aircraft names, for the startup arg, so 'C172', 'F16', etc work. 2009-12-07 07:00:01 +01:00
Tim Moore
6324d5a03d Change int to unsigned in sound device traversal 2009-12-07 06:59:04 +01:00
ehofman
3abb7afa45 List all available playback devices under '/sim/sound/devcies' 2009-11-29 15:57:17 +01:00
ehofman
ef4814599d * Fix --disable-sound
* Add a new command line option: --sound-device=""
  This makes OpenAL use the sepcified audio device instead of the default
  output device. (Look for playback devices when calling openal-info of alcinfo)
2009-11-29 15:57:02 +01:00
torsten
179a799333 - fix the <condition> element which was no longer working due to an invalid property root
- allow multiple <autopilot> elements within an aircraft. All autopilot live in an individual FGXMLAutopilot subsystem which run within a subsystem group now.
2009-11-29 15:56:13 +01:00
Tim Moore
ad9366ed99 Merge branch 'ehofman/jsbsim' 2009-11-26 23:31:59 +01:00
Tim Moore
ef152ee411 Merge branches 'durk/scenery' and 'ehofman/fog' 2009-11-06 23:39:17 +01:00
ehofman
290bef5749 MSVC fix 2009-10-26 22:12:10 +01:00
durk
904a99714e Two patches:
1) Fix for the "use custom scenery airport data" property.
2) Make it a little harder for stupid people to make money behind our backs.
2009-10-24 19:53:03 +02:00
ehofman
f9445874a0 Don't make the SoundManager a memebr of the subsystem manager; It needs to be initialized very early and destroyed as late as possible. That doesn't work as a subsystem meber onless some sort of priority scheme gets implemented. Get rid of auto_ptr which doesn work for the samples either. 2009-10-24 19:51:39 +02:00
Tim Moore
21122fa03e Merge branches 'jmt/brakes' and 'jmt/dump' 2009-10-12 11:05:36 +02:00
ehofman
b64259b295 allow disabling sound completely (note: openal gets initialized but shuts down a bit later leaving the soundmanager to handle only very specific commands). At this time by specifying '--prop:/sim/sound/enabled=false', not sure why '--disable-sound' doesn't work properly 2009-10-06 10:23:15 +02:00
ehofman
446b200edc Add the Sound Manager before any other subsystem that uses it. This makes sure the SoundMgr is available at construction time which makes the code much cleaner. Call the update_last() after any other class 2009-10-06 10:23:03 +02:00
ehofman
86f462933d Initial commit of the new sound system, expect more updates to follow 2009-10-06 10:22:09 +02:00
jmt
4d67c69462 A generic, configurable autobrake system. Not fully features yet, but works quite nicely in the 777, including RTO modes and auto-disengage on pilot input. 2009-09-21 22:51:40 +02:00
jmt
14a09673b9 ATIS overhaul by John Denker, adapted to trunk by me.
8:: AWOS is available at AWOS locations.  (Previously only ATIS was
   implemented.)

 9:: ATIS phraseology now more nearly conforms to international
   standard METAR pattern, and therefore to usual FAA practice.(*)

Items marked with a (*) are fully implemented in the /text/ of the
ATIS message, but the voiced version of the message is degraded by
limitations of the FGFS built-in text-to-speech system.

 10:: ATIS now reports sky condition.(*)

 11:: ATIS now reports multiple layers of clouds, not just the lowest
 layer.(*)

 12:: ATIS now takes field elevation into account when calculating
   sky condition and ceiling.

 13:: ATIS now reports dewpoint.(*)

 14:: ATIS now can handle negative quantities (temperature and dewpoint).(*)

 15:: ATIS can now report report fractional-mile visibility.(*)

 16:: ATIS now uses magnetic (not true) wind directions, as it should.

 17:: ATIS generates correct runway number and suffix (nine right,
   one one left).

 18:: ATIS can be received on nav frequencies, not just comm.

 19:: Nothing bad happens if the same ATIS is tuned up on more than
   one receiver.

 20:: ATIS can be updated at times other than at the top of the hour.

 21:: ATIS listens for an "attention" signal, and responds to changes
   in the weather by issuing a new ATIS message (somewhat like a
   "special observation").

 22:: ATIS volume now responds to radio volume setting.

 23:: Area-related services (i.e. approach radar) are handled
   more-nearly consistently with radio-frequency related services.

 24:: ATIS sequence-letter generation has been fixed.

 25:: ATIS messages are now in the property tree, so they can be read
   e.g. via the http interface.
2009-09-18 20:18:54 +02:00
ehofman
ea4a3ee1df Make FGIO a proper subsystem and add a reinit method for the generic protocol. This should allow for easy runtime reloading of the configuration file. 2009-09-09 08:56:31 +02:00
Tim Moore
b588a92b7f adapt to changes in sg_exception interface
sg_location now uses C strings. Also, change uses of sg_throwable to more
specific exceptions like sg_io_exception.
2009-06-16 11:46:47 +02:00
frohlich
28996902a1 Adapt to simgears changes.
The season is already checked by the properties.

Modified Files:
	src/Main/fg_init.cxx
2009-06-03 00:18:54 +02:00
mfranz
095c710c0e leak fixes 2009-05-18 12:24:16 +02:00
torsten
7e3531ef5c Implementation of ridge lift from Patrice Poly based on an algorithm of Ian Forster-Lewis 2009-05-02 00:44:20 +02:00
frohlich
a99ea1c7b5 Port over remaining Point3D usage to the more type and unit safe SG* classes.
Remove leftover headers from plib/sg.

Modified Files:
 	src/AIModel/AIBase.cxx
 	src/AIModel/AIFlightPlanCreateCruise.cxx
 	src/ATCDCL/AIEntity.cxx src/ATCDCL/AIEntity.hxx
 	src/ATCDCL/AIGAVFRTraffic.cxx src/ATCDCL/AIGAVFRTraffic.hxx
 	src/ATCDCL/AILocalTraffic.cxx src/ATCDCL/AILocalTraffic.hxx
 	src/ATCDCL/AIMgr.cxx src/ATCDCL/ATC.hxx
 	src/ATCDCL/ATCDialog.cxx src/ATCDCL/ATCProjection.cxx
 	src/ATCDCL/ATCProjection.hxx src/ATCDCL/ATCutils.cxx
 	src/ATCDCL/ATCutils.hxx src/ATCDCL/approach.cxx
 	src/ATCDCL/commlist.cxx src/ATCDCL/ground.cxx
	src/ATCDCL/ground.hxx src/ATCDCL/tower.cxx
 	src/ATCDCL/tower.hxx src/Airports/calc_loc.cxx
 	src/Airports/dynamics.cxx src/Airports/groundnetwork.cxx
 	src/Airports/parking.cxx src/Airports/runwayprefs.cxx
 	src/Airports/simple.cxx src/Cockpit/cockpit.cxx
 	src/Cockpit/hud.hxx src/Cockpit/hud_card.cxx
 	src/Cockpit/hud_rwy.cxx src/Environment/environment.cxx
 	src/FDM/UFO.cxx src/FDM/SP/MagicCarpet.cxx src/GUI/dialog.hxx
 	src/Instrumentation/HUD/HUD.hxx
 	src/Instrumentation/HUD/HUD_runway.cxx
 	src/Instrumentation/KLN89/kln89.cxx src/Main/fg_init.cxx
 	src/Main/viewer.cxx src/Main/viewmgr.cxx
 	src/Model/panelnode.cxx src/MultiPlayer/mpmessages.hxx
 	src/Scenery/tilemgr.cxx src/Traffic/SchedFlight.cxx
 	src/Traffic/TrafficMgr.cxx
2009-03-18 08:00:08 +01:00
mfranz
79ad3d44b8 create $FG_HOME/Export/ 2009-01-12 13:03:40 +01:00
jmt
f1b10eddfa FGAirportList is gone. Everything should work as before, especially the
AirportList dialog. (It would now be possible to trivially implement a
VOR or NDB named search, if anyone wants such a thing).
2008-12-27 13:20:08 +00:00
jmt
0f4f044a94 Kill off many Point3D includes, and a couple of uses in the HUD code.
Requires a SimGear update to get some new SGGeodesy helpers.
2008-12-26 12:28:05 +00:00
jmt
988de9dbca Remove all name and spatial queries from FGNavList. All remaining queries are
by frequency (which makes sense), and use the FGPositioned spatial data if
required. As a result, the marker beacon list is gone (since beacons are only
searched spatially). In the process, clean up various minor things - most
notably, all the 'airport-related' navaids (ILS, GS, LOC, and the beacons) now
store a FGRunway* instead of an airport id string. This is more precise, and
saves string allocations.
2008-12-25 23:11:43 +00:00
jmt
059f2e6a8e Convert the only remaining user of FGFixList to use an FGPositioned query,
and hence remove the query code from fix-list. The only remaining code deals
with parsing fix.dat.
2008-12-23 14:41:58 +00:00
timoore
5f7441f778 Restore camera properties on reInit
From Tatsuhiro Nishioka
2008-11-25 22:50:20 +00:00
mfranz
76b609738f set /sim/rendering/particles as global particle switch 2008-10-17 21:25:03 +00:00
mfranz
b6a354980d make isatty() available for stdout/stderr (hope it works on MS Windows) 2008-10-01 15:03:53 +00:00
fredb
9ebb9128c8 MINGW patch by Csaba Halasz, reworked by me to avoid breaking MSVC or Cygwin build 2008-09-28 08:27:32 +00:00
ehofman
fe020badf0 James Turner:
By way of example, here's a patch to make the position init code (in fg_init.cxx) cleaner, partly thanks to the FGPositioned changes. It reduces the file size by 200 lines - virtually all of which was copy-and-paste. Once the remaining class (FGAirport) is converted to inherit FGPositioned, all the future patches should be like this - touching one or a few files at most.

This factors the start-offset logic out into a helper, which also does the final property setting (which has to happen on both the /preset and 'real' values). Using the accessors in FGPositioned, and the offset helper, a couple of cases become trivial (fix and nav) and others become much simpler.
2008-09-13 08:06:15 +00:00
ehofman
bb2b03c7e3 James Turner:
Convert FGNavRecord to inherit FGPositioned. This is much more self-contained than the FGRunway change, since FGNavRecord already had good encapsulation of its state. However, it's a large diff due to moving around two nasty pieces of code - the 'align navaid with extended runway centerline' logic and the 'penalise transmitters at the opposite runway end' logic.

In general things are more readable because I've replaced the Navaid type enum, and the use of Robin's integer type codes, with   switches on the FGPositioned::Type code - no more trying to recall that '6' is an outer marker in Robin's data. The creation code path is also pushed down from navdb into navrecord itself.
2008-09-12 08:46:15 +00:00
ehofman
aa78341698 James Turner:
Convert FGRunway to be heap-based, and inherit FGPositioned. This is a large, ugly change, since FGRunway was essentially a plain struct, with no accessors or abstraction. This change adds various helpers and accessors to FGRunway, but doesn't change many places to use them - that will be a follow up series of patches. It's still a large patch, but outside of FGAirport and FGRunway, mostly mechanical search-and-replace.

An interesting part of this change is that reciprocal runways now exist as independent objects, rather than being created on the fly by the search methods. This simplifies some pieces of code that search for and iterate runways. For users who only want one 'end' of a runway, the new 'isReciprocal' predicate allows them to ignore the 'other' end. Current the only user of this is the 'ground-radar' ATC feature. If we had data on which runways are truly 'single-ended', it would now be trivial to use this in the airport loader to *not* create the reciprocal.
2008-09-11 08:38:09 +00:00
ehofman
3b486e1aee James Turner:
Here's part 2 - converting FGFix (the simplest one) to be both heap-based and inherit FGPositioned. One minor benefit from this is replacing some dangerous code in FGFixList which used to return the address of an iterator member ('&it->second'). To keep the diff a sensible size, I'm not updating the callers to use the richer FGPositioned types - i.e replacing separate lat/lon handling with SGGeod. I will make those cleanups, but in future patches.
2008-09-10 08:54:49 +00:00
durk
301054204e James Turner: Improved runway management code:
- Runways are now part of an airport, instead of a separate list
 - Runways are no longer represented as a boring struct, but as a class
   of their own.
 -Improved runway access to unify various runway access methods.
2008-08-14 18:13:39 +00:00
ehofman
429f2530de James Turner:
* experimental clean-up / reduction on two of the FG headers:
   (I'm going to await feedback on the developers list before doing more of
    these, to avoiding going over files multiple times, but in principle it
    seems pretty straightforward.)

 * final fixes for SG_USING_STD removal
2008-07-29 08:27:48 +00:00
ehofman
667e64e1eb - remove the SG_GLxxxx_H #defines, since OSG provides its own versions
- this exposed a bizarre issue on Mac where dragging in <AGL/agl.h> in
   extensions.hxx was pulling in all of Carbon to the global namespace
   - very scary. As a result, I now need to explicitly include CoreFoundation
   in fg_init.cxx.
 - change SG_USING_STD(x) to using std::x
2008-07-27 16:25:13 +00:00
fredb
41f7fc256c Remove unused variables 2008-07-27 09:45:33 +00:00
ehofman
46ae218672 remove all the FX and XMESA cruft relating to Glide support. 2008-07-27 07:54:13 +00:00
fredb
25bda87015 Balloon and MagicCarpet already moved to SP_FDM 2008-07-25 21:56:49 +00:00
ehofman
d9bfd5a425 This should apply, and everything should build cleanly, in isolation from the
SimGear change. It changes all the SG_xxxx to be the 'real' includes, and gets
rid of many #ifdef SG_HAVE_STD_INCLUDES. As an added bonus, rather than
replacing 'SG_USING_NAMESPACE(std)' with 'using namespace std', I just fixed
the small number of places to use std:: explicitly. So we're no longer polluting
the global namespace with the entire contents of std, in many cases.

There is one more 'mechanical' change to come - getting rid of SG_USING_STD(X),
but I want to keep that separate from everything else. (There's another
mechnical change, replacing <math.h> with <cmath> and so on *everywhere*, but
one step at a time)
2008-07-25 18:38:29 +00:00
ehofman
eccddb3dfd Attached patches remove BORLANDC, and hence SG_MATH_EXCEPTION_CLASH and SG_INCOM
PLETE_FUNCTIONAL from SimGear and FlightGear.

As a result, SG_HAVE_STD_INCLUDES is now *always* set, so I will get the boring
fixes for that done, but separately. I'm still auditing the other things in comp
ilers.h - there's a lot that can die now BORLAND is gone.
2008-07-25 10:39:53 +00:00
ehofman
c8a9fd2bd4 Some Mac / __APPLE___ cleanups:
- remove the OSX_BUNDLE crap *I* introduced years ago - we're always a a bun
dle on Mac now.

    - fix up the default fg-root on Mac to be FlightGear.app/Contents/Resources/
data - i.e the location used by the macflightgear.org distro, and indeed the obv
ious 'correct' location. Not sure why I didn't use that in the first place, back
 in the day.

    - remove the CPSForegroundEnable hack. For one thing, we're a bundle and don
't need it, and for another, osgViewer on Mac does the same logic using a newer,
 public API rather than a hack into the OS.

    - remove the strange logic for doing fgOSInit 'early' (in bootstrap rather t
han main) when running from the command line on Mac; again this is obsolete, and
 no one seems to know why it was ever necessary. I guess it was an interaction w
ith SDL when running without a bundle.

    - (not Mac related) remove obsolete code bracketed by ENABLE_PLIB_JOYSTICK a
nd USE_GLIDE (neither of which are ever set, even from config.h that I can see)
in main.cxx
2008-07-25 08:39:28 +00:00
ehofman
6c4061bdc5 Remove the remaining macintosh (not MacOS-X) and MWERKS workarounds. 2008-07-25 07:29:20 +00:00
mfranz
1ace68e836 don't run the help browser from a property that a user could have
changed to something evil, but rather make sure that the browser
string can be trusted. (TODO: change system() to vfork()/execvp() ?)
2008-07-09 19:35:53 +00:00
mfranz
9f571a0f00 remove depreciated gui_local.[ch]xx:
- drop unused parts (MouseQuat/GuiQuat)
- move "old-reinit-dialog" fgcommand to fg_command.cxx under new name
  "reset" for now. (May later get merged with fgcommand "reinit".)
- move reInit() to fg_init.cxx: This was used by Shift-Esc and
  Menu->File-Reset (via fgcommand "old-reinit-dialog"). We have already
  a similar function fgReInitSubsystems() in fg_init.cxx, so these two
  functions will probably get merged later.)
2008-07-09 12:22:33 +00:00
mfranz
889f3926f2 - make sure /sim/fg-current can't get preset and write protected, so
it's reliable at Nasal init time.
- make sure the cwd buffer is terminated
2008-06-22 11:29:32 +00:00
mfranz
afc5225272 - allow users to set fg-home dir via FG_HOME environment variable, but
- don't allow to do that from any XML file. This is to prevent malign
  code from writing a new fg-home in ~/.fgfs/autosave.xml or other files
  in ~/.fgfs/.
2008-06-13 10:52:47 +00:00
timoore
32e9505eed Clean up header file use of iostream and "using" declarations
Replace include <iostream> with istream, ostream and/or iosfwd as
appropriate.

Remove using namespace std and using std::foo from header files.
2008-06-02 21:09:51 +00:00
durk
4e24fba0d5 Merging David Luff's AI/ATC code with AIModels. Part 1:
- Move Dave's original code to a new directory (ATCDCL) so we can recycle
    the original ATC directory for generic ATC functions.
2008-05-12 10:38:04 +00:00
mfranz
ff06e015c9 read runway start offset from /sim/airport/runways/start-offset-m
(Defaults to 5.0, which was hard-coded before. /sim/airport/runways/
does already exist and contains the runway search parameters.)
2008-05-02 21:31:30 +00:00
mfranz
ad2788bf74 add unit suffixes -nm and -deg to /sim/presets/offset-{distance,azimuth} 2008-05-01 21:14:02 +00:00
fredb
482f1db990 Csaba Halsz :
Makes it possible to start at a parking location defined in the AI/Airports/*/parking.xml files, using the parkpos command line option.
Note that the name to pass is the concatenation of the "name" and "number" fields in the xml.
2008-02-28 21:39:25 +00:00
mfranz
b99a5465b0 Csaba HALASZ: implement conditional (e.g. seasonal) texture loading at startup 2008-02-15 17:54:23 +00:00
timoore
bb90bb4466 Call particle initialization code in simgear namespace 2008-02-15 06:45:38 +00:00
timoore
113be9d8be particles from Tiago_G 2008-02-15 06:45:19 +00:00
timoore
616b2bf4f6 Use the OSG DatabasePager instead of FGTileLoader
Make an OSG file reader for .stg files.

New class flightgear::SceneryPager, which is a subclass
osg::DatabasePager to handle explicit delete requests.

Modify FGNewCache, FGTileEntry, and FGTileManager to use
SceneryPager. Mostly this involved removing the queues that talked to
FGTileLoader.

Calculate accurate tile timestamps from the time they are traversed in
the cull stage (which means that they are visible) instead of updating
them periodically.

Replace tile entry transform and range node with one LOD node
2007-12-14 22:51:56 +00:00
mfranz
5d8e5f29e0 Csaba HALASZ: fix IVSI instrument problem
"I have been investigating the Concorde IVSI problem. I came to the
conclusion that the trouble is that the environment altitude and thus
the pressure (which is calculated from that) is lagging by 1 frame.
Normally that wouldn't be a problem, but the IVSI calculates rate of
change and it will use the new dt with the old value difference,
thereby arriving at bad results if dt changes (and it does)."
2007-11-03 21:02:28 +00:00
curt
0ddb883451 Add a --vehicle= option which is a synonym for --aircraft= but is more
natural when selecting ground vehicles like a jeep or a snowplow.
2007-11-02 18:39:10 +00:00
mfranz
79fec97f9f save some startup parameters under /sim/startup/options/. options.cxx puts
them under /sim/presets/ but they aren't save there, and as fgInitPosition
and its subroutines overwrite them, we lose the information about what the
user really wanted. This is a temporary solution -- it really belongs into
options.cxx.
2007-10-07 19:27:05 +00:00
mfranz
516ef6bc4b fix another victim of the new runway search method 2007-10-05 14:34:04 +00:00
mfranz
7c3f46e82f - if no heading preset was given (>=9999), use wind-from direction
- write chosen runway to /sim/atc/runway, so that ATC can give a hint
- minor cleanup
2007-10-04 17:13:41 +00:00
timoore
78228d2734 Change tower location to an SGGeod. Include taxiways too.
This has been split from Csaba's ATC ground radar contribution.
2007-09-09 23:21:48 +00:00
mfranz
49a89950a8 256 Bytes ought to be enough for anybody ... hmm, better 512.
Why /sim/fg-current at all? Because we have a file selector dialog
(still unfinished), and one might like to start it from the current
directory, to find saved flights/screenshots/whatever.
2007-06-17 08:14:02 +00:00
mfranz
0c6ecd1271 set /sim/fg-current to current working directory; getcwd() is defined in
unistd.h (which was already included), and should be available in direct.h
under name _getcwd on MS Windows.
2007-06-16 21:35:16 +00:00
mfranz
b502cef066 Don't catch a (potentially) meaningful exception only to replace it with
a meaningless one. bootstrap.cxx/main() will catch it, anyway.
2007-06-16 16:25:40 +00:00
frohlich
16a2bb0118 Modified Files:
src/ATC/AIPlane.cxx src/ATC/ATC.cxx src/ATC/ATCDialog.cxx
	src/ATC/ATCmgr.cxx src/ATC/Makefile.am src/ATC/approach.cxx
	src/ATC/atis.cxx src/ATC/ground.cxx src/ATC/tower.cxx
	src/GUI/mouse.cxx src/Main/Makefile.am src/Main/fg_init.cxx
	src/Main/fg_props.cxx src/Main/globals.cxx
	src/Main/globals.hxx src/Main/main.cxx src/Main/renderer.cxx
	src/Model/acmodel.cxx src/Scenery/scenery.cxx
	src/Scenery/scenery.hxx src/Scenery/tilemgr.cxx
	src/Scenery/tilemgr.hxx
Removed Files:
	src/ATC/ATCdisplay.cxx src/ATC/ATCdisplay.hxx:
	Remove unused functions and the disabled ATC display.
2007-05-09 20:41:08 +00:00
mfranz
1f07903cd6 move the "interpolator" subsystem into the INIT group (same as "nasal"),
because nasal's f_interpolate() may be called in Nasal at times when the
GENERAL subsystem group is being deconstructed; access it by addressing
the group directly, as using globals->get_subsystem() does then not
work any more then; yeah, it's all for a rare border case ...  :-)
2007-05-01 18:06:48 +00:00
mfranz
235b35ef9a set tower position at startup 2007-04-26 20:27:25 +00:00
mfranz
df4f1aa248 - save pairs of <file>/<path> for each *-set.xml file in autosave.xml
- loop up file name in the cache at startup. If it's found, check if the
  file exists and use it, otherwise scan $FG_ROOT/Aircraft/ as usual,
  and create a new cache while doing that. Rebuild cache on FG_ROOT change.
2007-04-05 19:59:44 +00:00
mfranz
d996d27121 - move fgInitTowerLocationListener() from fgInitPosition() to the init
part of fgIdleFunction() in main.cxx. fgInitPosition() is called again
  at every reset, which would every time attach another listener.
2007-04-04 19:05:59 +00:00
mfranz
1eb5de245b fgFindAircraftPath(): put the MAX_DEPTH check at a place where it makes sense 2007-04-02 23:19:36 +00:00
mfranz
caa83238b8 fix spectacularly useless error messages 2007-03-29 21:26:33 +00:00
mfranz
b7a7de4f30 don't search *-set.xml files in the the *complete* $FG_ROOT/Aircraft/ tree
(including all subdirs and with max depth!), but only the outmost level.
There are no *-set.xml files in deeper nested dirs, and with an ever growing
number of aircraft the search just lasts too long.
2007-01-15 20:58:20 +00:00
durk
0547e72d17 Modified (cleaner) traffic manager initialization procedure, corresponding
to the new data/AI/Aircraft directory scan code that will be committed
in a minute.
2006-12-27 11:50:13 +00:00
frohlich
6e370ce895 Modified Files:
fg_init.cxx: Oops, forgot to commit that chunk
2006-11-01 22:26:57 +00:00
mfranz
ad0921f3e0 print the whole autosave.xml path, not just the filename. Unfortunately,
in the case of fg_init.cxx we'll only see that if the log-level is set
in preferences.xml, because command line options weren't even processed
at that time.  :-/
2006-08-10 11:21:15 +00:00
mfranz
6ce68a226a remove confusing error message that leads first-time users on the wrong
track and is a PITA for support staff. It's this message:

Error reading properties:
Failed to open file
 at /home/newbie/.fgfs/autosave.xml
 (reported by SimGear XML Parser)
2006-08-03 09:37:31 +00:00
durk
943b1b8e79 Enable the airway database parsing. 2006-07-27 14:49:41 +00:00
ehofman
a4265a3b0a Use one standard define for enableing of the Special Purpose FDM code. 2006-07-17 17:58:53 +00:00
durk
d68723f3da Time initialization fixes. 1) Offset types "system-offset", "gmt-offset",
and "latitude-offset" should not use a precalculated value of warp.
2) Since the values of cur_time and crrGMT are identical in the current
version of the SGTime class, the calculations of the "system", "gmt", and
"latitude" are re-evaluated and updated where necessary.
2006-07-09 08:02:47 +00:00
mfranz
8de07e024e make clear that "Failed to find runway ..." doesn't have fatal consequences 2006-07-01 16:00:27 +00:00
curt
98c03f95e1 Vivian Meazza:
I attach 2 new files and a diff file for the associated changes to add a
“fluxgate compass” to the instrument inventory. Whist this outputs
essentially the same data as /orientation/heading-magnetic-deg, it has to
be powered, and can be made to fail. I also followed Roy’s suggestion to
generate the error properties for this instrument here rather than in
xmlauto.xml.

When this instrument is included in cvs, I intend to use it in the Hunter,
A4F Seahawk and KC135. After a bit more research, it might be appropriate
for the Spitfire and Hurricane as well. AJ would also like to use it for his
Lightning model.
2006-06-24 03:42:30 +00:00
mfranz
c4463b311c make sure the "nasal" subsystem is one of the last to be removed. That
way it can still process listener code during shutdown.
2006-06-10 22:24:05 +00:00
fredb
35a8d66415 Mask error message 'Failed to find runway 28R at ...' when no runway is requested in the command line 2006-05-31 07:20:10 +00:00
mfranz
f9959b7f2c - move auto_gui's addWaypoint to routemgr.cxx
- add command interface property (monitored by listener)
- remove all traces of auto_gui.[ch]xx
- remove some trailing spaces, fix indentation
2006-05-08 14:35:29 +00:00
mfranz
3b4e532372 working on the termination of the last hardcoded dialogs in Autopilot/auto_gui.cxx:
- move fg_init/parseWaypoints() to route_mgr/postinit()
- don't delete initial string list to keep it available for subsystem reinit
2006-04-27 15:30:42 +00:00
fredb
23e2efd5e3 Revert last change 2006-04-02 08:42:36 +00:00
fredb
e126e12fbc Under Windows, set fg-home to My Documents, or whatever localized name this folder has. 2006-04-01 11:07:45 +00:00
mfranz
6b501169a5 add missing break :-) 2006-03-14 15:30:35 +00:00
mfranz
f82a8fba52 close Aircraft/ dir after scanning for *-set.xml files 2006-03-14 15:28:29 +00:00
mfranz
c9813d1b5d new FSF address 2006-02-21 01:16:04 +00:00
ehofman
5fe860750e Mathias Frhlich:
This patch makes use of the vectors now available in simgear with that past
patch. And using that it simplyfies the carrier code somehow.

- Small additional factory's to the quaternion code are done in the simgear
  part. Also more explicit unit names in the factory functions.
- The flightgear part makes use of them and simplyfies some computations
  especially in the carrier code.
- The data part fixes the coordinate frames I used for the park positions in
  the carrier to match the usual ones. I believed that I had done so, but it
  was definitly different. Also there are more parking positions avaliable now.
2006-02-19 17:28:31 +00:00
ehofman
da6568ad50 Mathias Frhlich:
The new multiplayer patch with an extension to transmit some properties with
the base package. The properties are transmitted in a way that will not
immediately brake the packet format if we need new ones.
Even if the maxmimum number needs to be limited somehow, that format might
work well until we have an improoved packet format which is even more compact
and that does not require to retransmit redundant information with each
packet.

That part is relatively fresh and based on that what Oliver provides on his
multiplayer server web page.

The properties are transferred to the client and I have modified the seahawks
rudder animation property to use a relative property path to verify that it
works appart from the fact that you can see it changing in the property
browser.

The movement is still a bit jerky, but that can be fixed/tuned later without
again braking the packet format.
2006-02-17 09:43:33 +00:00
mfranz
3a2148828e screenPrint() is obsolete. Use screen.log.write() for the same purpose,
or write to the color properties in /sim/screen/. If this Nasal/GUI
implementation turns out to be too slow, we'll write a generic OpenGL/plib
version simliar to the ATCdisplay code.  (OK'ed by Andy and Stuart)
2006-02-13 19:46:03 +00:00
mfranz
3b047b1831 set /sim/fg-home in analogy to /sim/fg-root. This is useful for various
scripts that load/write user specific data that shouldn't go to PWD, and
can't go to $FG_ROOT (due to permissions and clean separation of 'official'
data and local modifications)
2006-02-13 16:49:18 +00:00
mfranz
13c923fcc5 start "voice" subsystem 2006-02-11 12:02:40 +00:00
mfranz
4010611300 rename user preferences.xml' to autosave.xml'. The former name lead to
problems because a lot of people already have their *real* preferences
set in ~/.fgfs/preferences.xml (and don't want fgfs to stomp over them),
because the name doesn't tell people that their data aren't save there
(comments!), and because this is inconsistent with the global preferences.xml
file, where user changes *are* respected.
2006-02-11 11:51:20 +00:00
ehofman
bd1f711b51 Durk Talsma:
- Feet to meter conversion mistake (in AI getGround elev)
- Improved ground following code (not yet perfect, but for now no one will
  notice it within the marginal altitiude differences at the taxitrack or
  runway)
- Exclusion of the "AI" directory witihin data/Aircraft in
  main/init/fgSearchAircraft, to prevent AI aircraft to be picked up by the
  aircraft search function
2006-01-30 13:29:49 +00:00
ehofman
0e16419f0d Stuart Buchanan:
- Provide a Nasal interface to display simple text messages on the screen
  like the ATC display. In fact, I copied the code from the ATCDisplay.cxx
  and simply shifted it further down the screen.


Erik:

TODO: Integrate the two pieces of code.
2006-01-06 09:50:58 +00:00
ehofman
4be621fbe9 Durk Talsma, Olaf Flebbe & Mathias Frhlich:
Split up simple.cxx
2005-12-29 13:58:21 +00:00
ehofman
d11df8fcc8 Remove a debugging cout. 2005-12-27 14:30:56 +00:00
ehofman
7b1f1d73e6 Detect the hostname as early as possible to prevent a segmentation fault (and an unknown exception in the main loop situation. 2005-12-27 14:02:38 +00:00
ehofman
62c6063fa1 Only test for --fg-root and --aircraft in ~/.fgfsrc et all if it wasn't specified at the command line. 2005-12-22 14:14:08 +00:00
ehofman
ffa92dfe4b Put the user configuration file sequence into it's own function. This will slightly tidy up the code but more importantly will make it consistant across the program. 2005-12-22 10:25:07 +00:00
fredb
653f063bcf Fix a typo and an unitialized variable 2005-12-22 06:42:00 +00:00
ehofman
49ba607726 Get the environment variables HOME and HOSTNAME only once. 2005-12-21 13:36:04 +00:00
ehofman
3986347f37 MSVC fix. 2005-12-18 09:35:01 +00:00
ehofman
f6174d2bf0 Stefan Seifert: implement persistent dialog options, so changes in rendering, static LOD and sound settings dialogs are made permanent. 2005-12-17 15:34:37 +00:00
david
fbd53e772e Correct conditional so that FlightGear will compile without
special-purpose FDMs.
2005-11-29 03:12:24 +00:00
mfranz
432fbd7f23 sunpos.hxx is no more 2005-11-11 15:08:18 +00:00
andy
14c3bc5932 Architectural fix allowing the "tip" popups (FOV, view name, etc...)
to pop themselves down while the simulator is paused.

The problem was with the "real time" queue in the event manager,
causing the third argument of Nasal's settimer() (a flag for "sim
time") to be ignored.  Inverts the default sense of the argument, as
there are lots of uses of settimer() in the current code, almost none
of which want to use real time.

Note this fix introduces a header file incompatibility in SimGear --
be sure to update.
2005-11-09 20:34:46 +00:00
ehofman
029dda3297 In the process of changing, adding and removing files the last few years
there was the situation where four directories contained jst two files,
of which three directories were aircraft related, and one directory contained
test code from Curt that might be better of in SimGear anyhow.

This is just a patch to move a bunch of files to new locations. In case of
local changes to any of them you can do the following:

move replay.[ch]xx from src/Replay to src/Aircraft
move control.[ch]xx from src/Control to src/Aircraft
move ssgEntityArray.[ch]xx from src/Objects to simgear/screen

In addition it has been decided only to use .[ch]xx files in all directories
unless it's contained within an FDM specific directory, in which case the
author is free to do whatever (s)he wants.

In this repspect the following files have been renamed in src/Multiplayer:

tiny_xdr.[ch]pp has become tiny_xdr.[ch]xx
multiplaymgr.[ch]pp has become multiplaymgr.[ch]xx
2005-11-01 13:41:49 +00:00
ehofman
eed55b48b7 Oliver Schroeder:
This is mainly an intermediate patch. I've restructured the network code.
2005-10-30 18:01:51 +00:00
ehofman
e6e618332f Add support for seasonal textures: --prop:/sim/startup/season=winter for now. 2005-10-23 13:48:36 +00:00
andy
ecd0f2306e Feature addition from Vassilii allows the user to set the tower
location with an airport ID by watching the property with a listener.
Moderately rewritten from the original patch for style.
2005-10-19 19:21:45 +00:00
ehofman
e769f42f3b Mathias Frhlich:
I stumbled across two memory errors with two wrong const references to
std::string.

As I fixed that, I also moved aircraft_dir which is only used from UIUC into
UIUC. With that uiuc_aircraftdir.h is empty and can be removed.
2005-10-12 08:55:58 +00:00
mfranz
bb55e4122f Al MacLeod: fix typo 2005-10-04 20:36:38 +00:00
ehofman
1c3e2d4942 Vivian Meazza:
This adds a TACAN instrument to the inventory. Range and bearing are calculated
to the TACAN or VORTAC beacon selected by means of the Channel Selector in the E
quipment/Radio pull-down menu.

A TACAN beacon has also been added to the aircraft carrier Nimitz (channel #029Y
).
2005-10-01 09:56:53 +00:00
curt
0bb1494452 David Luff:
Attached is a patch to the airport data storage that I would like committed
after review if acceptable.  Currently the storage of airports mapped by ID
is by locally created objects - about 12 Meg or so created on the stack if
I am not mistaken.  I've changed this to creating the airports on the heap,
and storing pointers to them - see FGAirportList.add(...) in
src/Airports/simple.cxx.  I believe that this is probably better practice,
and it's certainly cured some strange problems I was seeing when accessing
the airport data with some gps unit code.  Changes resulting from this have
cascaded through a few files which access the data - 11 files are modified
in all.  Melchior and Durk - you might want to test this and shout if there
are problems since the metar and traffic code are probably the biggest
users of the airport data.  I've also added a fuzzy search function that
returns the next matching airport code in ASCII sequence in order to
support gps units that have autocompletion of partially entered codes.

More generally, the simple airport class seems to have grown a lot with the
fairly recent addition of the parking, runway preference and schedule time
code.  It is no longer just an encapsulation of the global airport data
file, and has grown to 552 bytes in size when unpopulated (about 1/2 a K!).
 My personal opinion is that we should look to just store the basic data in
apt.dat for all global airports in a simple airport class, plus globally
needed data (metar available?), and then have the traffic, AI and ATC
subsystems create more advanced airports for themselves as needed in the
area of interest.  Once a significant number of airports worldwide have
ground networks and parking defined, it will be impractical and unnecessary
to store them all in memory.  That's just a thought for the future though.
2005-09-20 20:26:57 +00:00
ehofman
7b824755ee Mathias Frhlich:
I have prepared a patch that:
- Introduces a FGTileMgr::scenery_available method which asks the tilemanager
  if scenery for a given range around a lat/lon pair is already loaded and make
  use of that method at some -9999 meter checks.
- Introduces a FGScenery::get_elevation_m method which queries the altitude at
  a given position. In constrast to the groundcache functions this is the best
  choice if you ask for one *single* altitude value. Make use of that thing in
  AI/ATC classes and for the current views ground level. At the current views
  part the groundcache is reused if possible.
- The computation of the 'current groundlevel' is no longer done on the
  tilemanagers update since the required functions are now better seperated.

Alltogether it eliminates somehow redundant terrain level computations which
are now superseeded by that more finegrained functions and the existence of
the groundcache. Additionally it introduces an api to commonly required
functions which was very complex to do prevously.
2005-08-14 12:57:12 +00:00
ehofman
d4a3872f78 Remove a stale reference. 2005-07-26 16:57:56 +00:00
ehofman
1869b30b58 Mathias Frhlich:
I have traced that reset on carrier problem down to several problems. One of
them is the fact that on reset the carrier is updated while the aircraft is
not. That made the aircraft drop down an elevator sometimes. Depending on the
passed realtime while loading some parts of the scenery.
2005-07-13 12:25:16 +00:00
mfranz
2f2d14a41f better error message to help users and support staff 2005-07-03 10:27:35 +00:00
ehofman
4df7a3e9f8 Mathias Frhlich:
I have introduced the posibility to start directly on the carrier.

With that patch you will have a --carrrier=id argument where id can either be
the pennant number configured in the nimitz scenario or the carriers name
also configured in the carriers scenario.
Additionaly you can use --parkpos=id to select different positions on the
carrier. They are also configured in the scenario file.

That includes the switch of the whole FGInterface class to make use of the
groundcache.
That means that an aircraft no longer uses the current elevation value from
the scenery class. It rather has its own local cache of the aircrafts
environment which is setup in the common_init method of FGInterface and
updated either manually by calling
 FGInterface::get_groundlevel_m(lat, lon, alt_m);
or implicitly by calling the above method in the
 FGInterface::_updateGeo*Position(lat, lon, alt);
methods.
A call get_groundlevel_m rebuilds the groundcache if the request is outside
the range of the cache.

Note that for the real usage of the groundcache including the correct
information about the movement of objects and the velocity information, you
still need to set up the groundcache in the usual way like YASim and JSBSim
currently does.
If you use the native interface, you will get only static objects correctly.
But for FDM's only using one single ground level for a whole step this is IMO
sufficient.

The AIManager gets a way to return the location of a object which is placed
wrt an AI Object. At the moment it only honours AICarriers for that.
That method is a static one, which loads the scenario file for that reason and
throws it away afterwards. This looked like the aprioriate way, because the
AIManager is initialized much later in flightgears bootstrap, and I did not
find an easy way to reorder that for my needs. Since this additional load is
very small and does only happen if such a relative location is required, I
think that this is ok.

Note that moving on the carrier will only work correctly for JSBSim and YASim,
but you should now be able to start and move on every not itself moving
object with any FDM.
2005-07-03 09:39:14 +00:00
ehofman
8e5eed90d5 Remove the 'old' 3D clouds code. 2005-06-25 11:21:18 +00:00
mfranz
57aa9274d7 call the subsystems' postinit() methods after all of them are initialized 2005-06-11 09:13:44 +00:00
mfranz
d80b718039 - implement progress information (enabled by default; can be turned off via
/sim/startup/splash-progress)
- a string in /sim/startup/splash-title is displayed on top of the screen
  and by default empty
- the splash image is scaled down if 512x512 is too big
- code cleanup
2005-05-06 09:08:44 +00:00
mfranz
99f4b7e66e - open window as soon as possible
- move most of the initialization in chunks into the idle loop
- remove unused first fgSplashUpdate() parameter
2005-05-04 21:28:42 +00:00
curt
86249209b9 This is a work in progress. I am extending the "ExternalPipe" protocol to
have a "property" mode as well as the original "binary" mode.  The property mode
will allow the remote module to request any set of properties, and it will send
those properties each frame.  The remote module can reply with a list of arbitrary
property name/value pairs to update on the FlightGear side.

This is a first stab, so it's not the cleanest, most well concieved code, but it
allows an external module (communicating via a pipe) to have a huge amount of
flexibility in the data in can access and update.
2005-04-19 01:44:56 +00:00
ehofman
5bc15d7a69 Durk Talsma:
I just heard from John Wojnaroski that you and he are going to work on getting
a flightgear demo machine up for the linux expo thursday and Friday. John
indicated that he would very much like to get a CVS version with the new
traffic code up and running before the expo.
2005-02-10 09:01:51 +00:00
ehofman
394fe84351 Put the code at the proper place. 2005-01-29 13:12:34 +00:00
ehofman
9c743fc4c9 Geoff Air:
RE: --aircraft=ufo in system.fgfsrc is ignored

To change a 'feature', one that has been mentioned here many
times, and again recently, place the following code block
into fgInitFGAircraft.

In its favour, I would argue this means FG can be run without
a command line, provided FG_ROOT has been set in the
environment, and that seems to me, as it should be ... ;=))

Perhaps the only counter, is that system.fgfsrc is read twice,
but so are others, like .fgfsrc, for other (local) options ...
or system.fgfsrc should .nt. be used for 'aircraft' ?
2005-01-29 10:22:44 +00:00
ehofman
a7139a816c Durk Talsma:
Fix a couple of places that were not yet using SGPath
2004-12-27 17:35:22 +00:00
curt
222446df29 Replace the data/Airports/basic.dat.gz and data/Airports/runways.dat.gz with
a single apt.dat.gz file which is in the native X-Plane format.

To do this I wrote a front end loader than builds the airport and runway
list.  Some of the changes I needed to make had a cascading effect, so there
are minor naming changes scattered throughout the code.
2004-12-22 23:57:07 +00:00
ehofman
800dad8273 Make sound audiable not until after the scenery is loaded. 2004-12-16 13:19:01 +00:00
curt
634e79353f Roy Vegard Ovesen:
I've finished the emigration of the radiostack, and I've also removed it
completely. It turned out that the comm radio is completely implemented in
the ATC subsystem. I've changed the affected ATC files to point
to /instrumentation/com, but I guess that the maintainer of the ATC code
should decide wether to make it configureable, and how.

I also had to change some files in Network and Main. The changes in network
should be obvious, but the changes in Main were a bit suspect. The files
included radiostack.hxx, but they weren't directly depending on
radiostack-hxx. They were depending on other files that were included by
radiostack.hxx. I got it to compile, but I'm not sure if I included the
correct directly depending file.

For the data directory I changed every occurrence of /radios/
with /instrumentation/ with this simple one-liner that I found on the net:

find -name '*.xml' -type f | xargs perl -pi -e
's/\/radios\//\/instrumentation\//g'

Instead of me sending all the files that got changed by this I suggest that
you execute the one-liner yourself. Of course I can not guarantee that this
will work perfectly, but I considered hand editing to be not an option (I'm
lazy). I don't want to test every aircraft to see if everything still works,
I think it's better to wait and see if anyone complaints about broken nav
radios/instruments.
2004-12-03 21:21:16 +00:00
curt
d05121ef46 Fix my mailing address by replacing it with my web page. 2004-11-19 22:10:41 +00:00
curt
11548e9e7e Minor white space fix. 2004-11-18 05:00:44 +00:00
ehofman
29b5147478 Move the submodels code from the Systems manager into it's own Subsystem manager. 2004-10-22 09:58:24 +00:00
ehofman
96e24a3e8d Melchior:
Don't overwrite user settings from config files.

fgfs had in any case set bump-mapping to false, no matter if this
node did already exist (because it was defined in a config file).
2004-10-20 08:18:29 +00:00
ehofman
8b53b86aa0 A first stab at an ACMS (Aircraft Condition Monitoring System) Special Purpose support FDM. Move the ADA FDM into the Special Purpose directory and make the SP FDM's a configure option. 2004-10-19 11:10:20 +00:00
curt
7ec5cbff7b Default bump mapped clouds to off for the official release. They can still
be turned back on via the rendering options dialog box.
2004-07-27 20:40:33 +00:00
ehofman
9d972d86bf Jim Wilson: This patch prevents FDM execution until intial scenery load completes making
midair starts in the KSFO area possible again.
2004-07-22 16:42:14 +00:00
curt
225298a09e Often, the elevation of an ILS component is not listed in our nav database.
A good elevation is critical for proper glide slope modeling.  This patch
assigns the average field elevation to any ILS component that doesn't have
a valid elevation.

Also, for an ILS approach, use the GS transmitter elevation for glide slope
calculations rather than the localizer elevation, in some cases this can
make a big difference.
2004-06-09 03:13:13 +00:00
ehofman
b3e9697262 Add the AIModel based air traffic subsystem from Durk Talsma. 2004-06-03 17:59:14 +00:00
curt
a08f4c084b Allow a "threshold" value to determine which localizers to snap to the
runway heading or not.
2004-05-28 20:57:05 +00:00
curt
a3cde21637 Curt Olson:
These change add some code that at initialization time will snap all
localizers into perfect alignment with their runways.  It's my experience
that the DAFIF/FAA data reports runway and localizer headings to a level
of precision that is great for making charts, or adjusting your OBS, etc.
But the level of precision of this data can be far enough off to make you
visibly *un*aligned with the runway when the CDI needle is centered.

There are probably cases where the localizer isn't really perfectly
aligned with the runway, or intentionally misaligned to avoid obstacles
or terrain.  So I have made this configurable for those that trust the
data more than I do.  Just set "/sim/navdb/auto-align-localizers" to
true/false in the preferences file to turn this feature on or off in the
code.
2004-05-28 16:24:43 +00:00
curt
b2b33f7582 This set of changes impliments the following:
- FG now directly supports Robin's native nav database file format.
- His latest data now separates out dme, gs, loc, and marker beacon
  transmitters rather than lumping them all into a single "ILS" record.
- These new data structure changes prompted me to do some code restructuring
  so that internally these different types of navaids are all kept as
  separate lists and searched and handled separately.
- This structural change had a cascading affect on any code that
  references or uses the nav databases.  I've gone and "touched" a lot of
  nav related code in a lot of places.
- As an added bonus, the new data (and code) adds DME bias so these will
  all now read as they do in real life.

- Added Navaids/navdb.cxx and Navaids/navdb.hxx which provide a front
  end loaders for the nav data.
- Added Navaids/navrecord.hxx which is a new "generic" nav data record.
- Removed Navaids/ils.hxx, Navaids/ilslist.cxx, Navaids/ilslist.hxx,
  Navaids/mkrbeacons.cxx, and Navaids/mkrbeacons.hxx which are all now
  depricated.
2004-05-28 05:24:54 +00:00
curt
78e6d35998 Move navaids and fixes out of "global" name space into the FGGlobals
structure.
2004-05-26 18:15:19 +00:00
curt
d777d035a9 Update fix management code to read Robin's native fix.dat format. 2004-05-26 16:40:27 +00:00
ehofman
e7795093e7 Initialize the bump-mapped 3d clouds to true. 2004-05-20 14:13:36 +00:00
ehofman
14d28907dd Add a property to be able to turn the bump-mapped cloud code on and off at runtime. 2004-05-20 13:27:40 +00:00
ehofman
8db96e10fb Add /sim/initialised which is set to true when we're ready to go. 2004-05-05 09:01:21 +00:00
curt
df472fe0f5 Changes to go along with small interface changes in simgear/sound/libsgsound
(which is now written on top of OpenAL.)
2004-04-24 19:28:12 +00:00
curt
bded088de1 Fix an MSVC compile error. 2004-04-19 02:24:22 +00:00
curt
be7e5e4990 Small rewrite of waypoints parsing fix to move global list to the globals.hxx
file.
2004-04-18 18:01:10 +00:00
curt
3db9dc5a23 Durk Talsma:
Enclosed you find a tar ball of the two files I changed to get the
--waypoint and --flight-plan command line option to work again.
2004-04-15 22:09:46 +00:00
curt
2acdd02879 Clean up various compiler warnings that have crept into the code. This
by no means get's them all, but it's a start.
2004-04-01 15:27:53 +00:00
david
25290c4467 Remove the old WeatherCM module. 2004-03-16 20:19:07 +00:00
david
d535c7c6b1 Reverted recent changes -- the dependencies are badly (and
unnecessarily) tangled.
2004-02-27 16:48:27 +00:00
david
721e9f469d Add the aircraft model, model manager, view manager, and scenery
manager to the standard subsystem collection manager, rather than
using extra code to initialize and update them.
2004-02-27 15:16:23 +00:00
curt
31e563c2a4 A first stab at limiting the noaa.gov query to only valid stations. There
are many recognized limitations and inefficiencies with this entire approach,
however, it's a quick and dirty way to get something working, where before
we didn't.
2004-02-23 18:25:29 +00:00
david
9409d5e35e Change fg_props.[ch]xx into a proper subsystem, under the control of
the subsystem manager.

Add properties for the individual parts of the time and date.
2004-02-20 17:35:33 +00:00
curt
da5ea10d5d Curt Olson:
Autopilot overhaul.
2004-01-31 19:47:45 +00:00
ehofman
46877af1a7 Make sure FlightGear quits when a specified aircraft configuration file was not found 2004-01-07 13:03:44 +00:00
ehofman
02623bedbc Reset /sim/crashed upon reset 2003-12-29 10:10:35 +00:00
andy
85b5210022 Initialize the SGInterpolator subsystem. Also remove some PSL code, since the include file is no longer there 2003-12-05 01:52:34 +00:00
ehofman
cd0c447b43 Add David Culp's AI model manager code which is derived from David Luff's AI/ATC code. 2003-11-28 15:48:05 +00:00