1
0
Fork 0
Commit graph

406 commits

Author SHA1 Message Date
Florent Rougon
d6f0bc6fb5 apt.dat parser: separately handle the first two lines; fix line counting
- The first two lines of apt.dat have their own special syntax -> handle
  them separately. Before this commit, the test "is the first character
  an 'I' or an 'A'?" was done for *every* line of apt.dat, while it is
  only relevant for the first one.

- Fix counting of the current line number (it was most of the time
  0-based so far, which could be seen in error messages, because the
  second line of apt.dat was absorbed without going through the common
  code path where lines are normally read at the top of the while loop).
  With this commit, line numbers in apt.dat are consistently counted
  starting from 1.
2016-04-27 10:39:21 +02:00
Florent Rougon
85653f04d4 apt.dat parser: remove useless code
Remove useless code before parsing the "row code" (terminology from the
apt.dat v1000 spec). The row code is parsed with atoi(), which will
automatically stop at the first space found if it saw at least one
digit, thus there is no need to replace it with '\0', AFAICS.

One could replace the existing atoi() call with things that do better
checking, but my tests showed that would be a bit slower, so I let it
this way (tried with std::istringstream and strtol()).
2016-04-27 10:39:21 +02:00
Florent Rougon
a43786f8dd apt.dat parser: clearer log and exception messages
- the 'apt_dat' variable introduced here will be used in further
  commits;
- use two spaces for indentation, as seen in most of the file.
2016-04-27 10:39:21 +02:00
Erik Hofman
6e1b5e9f2e Fix a singed/unsigned warning 2016-01-12 19:05:51 +01:00
James Turner
4396c035df Linux build fix. 2016-01-10 22:11:32 -06:00
James Turner
d10d279064 Launcher finds parking positions from scenery
- change launcher to examine the scenery paths and hence load
  ground-net files for airports to populate parking data.

- refactor ground-net XML parsing to use FGGroundNetwork only, not
  AirportDynamics. 

- change parenting  of GroundNetwork to Airport, since it contains
  immutable data now.
2016-01-10 16:38:01 -06:00
James Turner
a1b88d77ab Fallback for runway assignment logic
- when no runway use preferences XML exists, be smarter about using
  available runways. Makes the common case of using two parallel
  runways for arrivals and departures work, greatly improving AI
  traffic behaviour.
2016-01-09 13:48:00 -06:00
Erik Hofman
d6c5dc647d Do not call setIsPushback, it causes a segmentation fault after about 10 minutes. I did commit this change in 6b9a28a568 to fix a warning, but it night not have been the wisest thing to do. 2015-12-24 13:44:34 +01:00
James Turner
0e71a9593b Quiet down Traffic error logging. 2015-12-18 21:59:28 -08:00
James Turner
865bb365ed Trying to bullet-proof the traffic code. 2015-12-18 21:42:22 -08:00
James Turner
ff33aa038e Fix a startup issue Vic Mar reported
- accept invalid/missing airport IDs when starting ATC
2015-12-14 14:59:33 -06:00
Erik Hofman
6b9a28a568 Fix warning: variable ‘isPushBackRoute’ set but not used 2015-12-11 11:39:29 +01:00
James Turner
43fcbd2246 Progress towards testing
- remove route-manager from global variables
2015-12-10 16:40:22 -06:00
James Turner
6446d67431 Split GroundNetwork class down the middle
- ATC functions move to GroundController, which layers above
  remaining GroundNetwork functionality
- dynamics owns both the groundNetwork and the ground controller.
2015-12-10 15:53:05 -06:00
James Turner
2af076e6cb Add airport dynamics manager
- decouple dynamic airport data from the static (nav-db) data.
2015-12-05 00:25:29 +00:00
James Turner
fc887b106b Checkpoint - ground-net skips the cache 2015-12-01 14:01:32 +00:00
James Turner
b15e5f559f Remove long-obsolete fields 2015-11-24 21:46:14 +00:00
James Turner
eb06aeba97 Closed airport support. 2015-11-23 00:48:20 +00:00
James Turner
aa58d5c761 Fix for determining towered vs untowered airports. 2015-11-23 00:47:01 +00:00
James Turner
e5df6e6d4a Allow distinguishing un-towered airports. 2015-11-23 00:47:01 +00:00
James Turner
a39df48772 Navaid diagram for launcher
- work in progress, needs labels
2015-11-23 00:47:01 +00:00
Durk Talsma
e76a6df909 Temporary fix: ground networks are not loaded when a navcache is present. But, the AI/ATC code relies on radio frequencies listed in the groundnet files. Since these are not imported into the nav cache, they remain 0.
By forcing the loading of the ground networks, I have the frequencies back. We should find a proper solution later.
2015-05-15 21:42:10 +02:00
Durk Talsma
cbdb8a884f A second init() is necessary to start the ATCController. There's probably a better way to do is, but for now let's just stick to how I had it set up in early 2012. 2015-05-15 18:25:16 +02:00
Durk Talsma
8e2d0d2a76 Reinstate the backbone of the "I" part of the Interactive traffic system. 2015-05-15 13:30:16 +02:00
Durk Talsma
dbde1f2232 Some preparatory work for reinstating a missing piece of code in the routing algorithm for the AI system. 2015-05-14 18:22:42 +02:00
James Turner
c8c2da9448 Fix a clang warning. 2015-04-11 21:59:01 +01:00
Torsten Dreyer
32f4fdfaf7 Add simple getter for all runways to FGAirport 2015-03-28 00:33:26 +01:00
James Turner
f2d6b76b13 Portability: Fix compile errors on MSVC (cmath)
From Scott (xDraconian)
2015-03-24 11:11:42 -05:00
James Turner
e0274af493 Percentage feedback during nav-cache build.
- also used by the GUI launcher for the same.
2015-03-19 12:01:38 -05:00
Stuart Buchanan
b654477794 New materials.xml format 2014-08-09 20:43:34 +01:00
James Turner
5002814554 FreeBSD fixes
From Ganael Laplanche.
2014-04-04 15:33:27 +01:00
Torsten Dreyer
e7dec994b8 httpd: provide more airport information in geojson
- provide runways as polygon geometry
- provide longest runway lenght, heading and surface type
- some code cleanup
2014-03-23 21:19:04 +01:00
James Turner
c00ab21fad ICAO.ils.xml data works read-only. 2014-03-12 18:56:18 +00:00
James Turner
ffa7854ed9 ICAO.threshold.xml works read-only. 2014-03-12 18:56:18 +00:00
James Turner
5f9c17bd69 ICAO.twr.xml works in read-only mode. 2014-03-12 09:50:39 +00:00
Thomas Geymayer
234e2bdf09 TACAN/mobile navaid cleanup and improvements. 2014-03-01 20:19:06 +01:00
Torsten Dreyer
dd6cccdda1 A new comm radio and atis implementation 2014-02-28 11:45:49 +01:00
James Turner
d8a3f160ef Bugfix: guard against corrupted airport XML. 2014-01-14 13:42:11 +00:00
James Turner
5cf8157a66 Security: more conservative dir permission masks.
Use 0755 instead of 077 everywhere we create a directory.
2013-12-19 14:53:39 +00:00
James Turner
c3c0f68f76 NavData: can refresh some in-place.
(Hacking to support faster scenery-path switching)
2013-11-22 22:52:33 +00:00
James Turner
8b4b49cad2 Read-only mode fixes. 2013-11-18 15:40:14 +00:00
James Turner
0cda3cbfb2 Multiple-instance support.
Write PID file to FG_HOME, use this to detect multiple launches.
When this situation is detected, set a marker property and place various
objects into read-only mode, such as the NavCache and TerraSync.

PID file is created using open+unlink semantics on POSIX, and 
DELETE_ON_CLOSE on Windows, so it will be removed when fgfs exits,
even if killed or crashes.
2013-11-15 21:04:15 +00:00
bcoconni
139af0026f Synchronized FG with the removal of 'using std::*' in simgear's easyxml 2013-11-14 22:07:50 +00:00
James Turner
c72ac27098 Experimental sorter for airports.
Sort by size (cumulative runway length).
2013-10-27 13:03:01 +00:00
James Turner
386d87e098 Cleanup exit handling.
Replace many lingering calls to exit() from the code,
replacing most with exception throws, which can be
caught by the existing mechanisms.

Update the option-parsing code to return an explicit
value indicating what to do (e.g., exit status to return
to the shell).
2013-10-15 22:16:50 +01:00
Tom Paoletti
81cd33e2fa Performance optimization: empty() instead of size()>0
empty() is guaranteed to be constant complexity for both vectors and lists, while size() has linear complexity for lists.
2013-08-19 09:01:59 +01:00
James Turner
ebfe2ee6f5 Bug 1137, handle single-digit runways.
rwyprefs.xml sometimes specify runways without a leading '0', which
confuses the ident lookup. Print a message, and fix up such idents at
load time, so '8' -> '08', '3L' -> '03L' which matches our internal
scheme.
2013-07-04 10:30:04 +01:00
James Turner
05572cbb3e Speculative fix for bug 1149, AI traffic on helipads.
Avoid helipads when doing runway choice fallback.
http://code.google.com/p/flightgear-bugs/issues/detail?id=1149
2013-06-30 16:48:14 +01:00
James Turner
2ec4b6ecc2 Fix warnings identified by updated XCode.
Mostly unused private vars, for various reasons.
2013-06-21 18:39:24 +01:00
Christian Schmitt
461d89cb22 Fix some uninitialized variables (found by valgrind) 2013-03-10 01:24:57 +01:00