ThorstenB [Thu, 12 Jan 2012 21:06:40 +0000 (22:06 +0100)]
#199: fix issue with relative paths
Relative paths don't work with FG. Since we Linux users just love
command-lines and often do use relative paths, make sure to convert them
before use.
adrian [Mon, 9 Jan 2012 17:47:25 +0000 (19:47 +0200)]
ITM radio calculations are only considered valid
between 40 MHz and 20 GHz.
Fix for bug which assigns a frequency of 0 MHz to
AI aircraft, thus resulting in infinite values.
ThorstenB [Sun, 8 Jan 2012 12:31:49 +0000 (13:31 +0100)]
Temporarily disable Nasal callbacks in lazily loaded scenery models
to avoid segfaults due to multi-threading issues. Will need to be replaced
by proper fix, if this proves Nasal related segfaults to be fixed.
ThorstenB [Sun, 8 Jan 2012 12:28:49 +0000 (13:28 +0100)]
#553: MP-model-loading related segfault
MP aircraft are loaded by a separate OSG thread (introduced after FG2.4.0).
The OSG thread also calls the "modelLoaded" callback. However, we mustn't
allow the OSG thread to call FGNasalModelData::modelLoaded directly:
FGNasalModelData isn't thread-safe. There are obvious issues (_callCount++;),
tricky issues like calling the Nasal _parser_ or creating hashes and
modifying the global Nasal namespace. It doesn't use locks to protect
against another thread executing a Nasal context or running garbage
collection. It also executes Nasal code itself (the model's "load" hook),
which we also cannot allow in a separate thread...
This patch returns all Nasal parts of MP-aircraft loading (parsing,
module creation, execution) to the main thread, while keeping the
multi-threaded OSG part (loading of MP-aircraft model files itself).
The same issue exists with scenery models (see other commit).
ThorstenB [Sun, 8 Jan 2012 11:31:18 +0000 (12:31 +0100)]
Potential fixes for #548, #572, groundnetwork related segfaults
Add some pointer checks - so we at least get some error message naming the
airport with the broken network.
Curtis L. Olson [Thu, 5 Jan 2012 01:17:32 +0000 (19:17 -0600)]
Fix YASim's /accelerations/pilot/{x,y,z}-accel-fps_sec computations. These
are the accelerations (forces) as felt from the pilot's perspective. This
combines the accelerations due to change in velocity vector and gravity.
Previosly the gravity part was right, but the body accelerations were being
transformed incorrectly. The error was very subtle and basically amounted to
the fact that inverting an axis of a vector before transforming it is not
equivalent to transforming the vector and then inverting that axis.
After this fix, pilot accelerations + gyro + gps can be fed into an external
kalman filter and it will converge properly (extra confirmation that there
was a problem and this fix corrects it.)
ThorstenB [Tue, 3 Jan 2012 21:02:48 +0000 (22:02 +0100)]
cmake: Fix Xinerama and Xft dependency issue.
Don't try to add Xinerama/Xft libraries, unless these are installed.
It seems these libraries are also not required on all systems (not required
over here...).
Durk Talsma [Mon, 2 Jan 2012 21:23:24 +0000 (22:23 +0100)]
Bugfixes and some finetuning:
* Pregenerating taxiroutes could interfere with runway assignments by ATC, when conditions changed, resulting in a taxi to one runway and a takeoff from another
* A simpler solution for the "Error in Traffic record bug". This still needs some more testing, but I haven't seen any error message anymore, since changing to the current code.
* Initialize AI traffic at speed zero, this should prevent some weirdness observed under boundary conditions.
* Don't activate groundnetwork proximity detection for pushback traffic until the "ready for startup message is transmitted. this should allow sufficient time for them to reserve a route, but a little more testing still needs to be done.
ThorstenB [Thu, 29 Dec 2011 23:39:08 +0000 (00:39 +0100)]
#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)
ThorstenB [Tue, 27 Dec 2011 12:04:09 +0000 (13:04 +0100)]
#545: Fix ATC chatter sound settings being ignored
FGSampleQueue is initialized at run-time, long after preferences are
loaded from the persistent files - so it should not reset anything.
ThorstenB [Sun, 18 Dec 2011 11:40:34 +0000 (12:40 +0100)]
#525 related: add compiler search path for every library
Consider search path for every single library as reported/found by CMake.
Most includes sit in the same directory (so the same directory is reported
for almost all libraries), however this may not be the case for every
system or library.
ThorstenB [Sun, 11 Dec 2011 12:55:56 +0000 (13:55 +0100)]
Add --log-class option, improve logging classes.
Replace SG_GENERAL by more specific log classes in many places.
Allow "," to separate logging classes (using "|" is odd on the
command-line).
Also add new option to make logging more useful for developers.
You can use:
--log-level=debug --log-class=environment
to only get environment debug messages, or
--log-level=debug --log-class=sound,ai
to only get debug messages related to the sound or AI subsystem.
ThorstenB [Fri, 9 Dec 2011 18:01:15 +0000 (19:01 +0100)]
#513: netgui alignment mismatching on 32bit/64bit machines
netgui data structure now is identical for all platforms. Manually aligned
the fields, so compilers do not add (CPU architecture-specific) padding.
ThorstenB [Fri, 9 Dec 2011 16:19:45 +0000 (17:19 +0100)]
Avoid useless warnings during FG startup.
Do not warn about missing scenery manager, unless it is really needed.
Also raise warn level for multiple init calls.
ThorstenB [Fri, 9 Dec 2011 16:06:19 +0000 (17:06 +0100)]
#510: Fix disappearing AIShips.
Untangle AI reinit and init methods. Some code in init hooks expects to be
called once only. Derived classes should not redirect their reinit to init,
even if this seems fine for the methods of the derived class itself. This
also triggers the init methods of all base classes, which may not expect
multiple calls to their init methods (or to "init" on "reinit").