1
0
Fork 0
Commit graph

253 commits

Author SHA1 Message Date
Richard Harrison
2c8aad12ba Model relative property tree root binding.
Change fgcommand to take an optional property tree root element.

This fixes the animation bindings to use the defined property tree root - to support multiplayer (or other) model that can bind to the correct part of the property tree.

Requires a corresponding fix in sg to allow the command methods to take an optional root parameter.

What this means is that when inside someone else's multiplayer model (e.g. backseat, or co-pilot), the multipalyer (AI) model will correctly modify properties inside the correct part of the property tree inside (/ai), rather than modifying the properties inside the same part of the tree as the non-ai model.

This means that a properly setup model will operate within it's own space in the property tree; and permit more generic multiplayer code to be written.

This is probably responsible for some of the pollution of the root property tree with MP aircraft properties.
2017-07-05 11:37:17 +02:00
Edward d'Auvergne
74622d9a04 Time: Calculation and exposure of the moon vector from the local position.
The new FGLight::updateObjects() function is now being passed into the global
events manager as a task rather than FGLight::updateSunPos().  The
updateSunPos() function has been renamed to updateBodyPos() and generalised for
any solar system body and is called twice by updateObjects(), once for the sun
and once for the moon.  The local position of the moon is then exposed at
"/ephemeris/moon/local/".
2016-11-08 11:16:24 +01:00
Edward d'Auvergne
6e62228c1d Time: The sun solver has been generalised to to handle any solar system body.
The functions fgSunPositionGST() and fgTimeSecondsUntilSunAngle() have been
renamed to fgBodyPositionGST() and fgBodyPositionGST() respectively, and both
require a new char argument specifying the body of interest.  This allows the
position of all solar system bodies to be calculated from the aircraft frame of
reference.
2016-11-08 11:16:24 +01:00
Edward d'Auvergne
0ba2e8708e Time: Renamed the sunsolver.cxx to bodysolver.cxx.
This is in preparation for generalising the code for handling all solar system bodies.
2016-11-08 11:16:24 +01:00
James Turner
6d0c2070fd Use future-proof SGPath APIs.
Remove uses of .str(), .c_str() and some other methods of SGPath.
Pass SGPath directly where possible, or explicitly convert to the
appropriate 8-bit encoding.
2016-06-28 10:08:38 +01:00
Erik Hofman
94f6db5857 Prevent rf2 from becoming inf 2016-05-25 10:30:34 +02:00
James Turner
de959a14f3 Rename Viewer/viewer.cxx to view
- keep class and file names in sync.
2016-02-17 21:25:39 +00:00
James Turner
f2bf30bcc7 Current time of day (warp) fixes:
- sim-speed-up (a/A keys) offsets warp correctly. This means at 4x speed
  up the warp will increase by 3 seconds for one elapsed real second.
  In practice this means simulation elements timed using sim ‘current time’
  will be correctly synchronised with those using simulated elapsed time.

  (AI traffic being a prime example of this)

- warp-delta (t/T keys) is independent of frame rate, and works when
  paused. The warp-delta values in the keybindings / GUI dialog
  will need to be updated since warp-delta in now seconds-per-second,
  as opposed to seconds-per-frame.
2016-01-10 22:10:10 -06:00
James Turner
52f39abc6b Apply /sim/speed-up to general subsystem dt
- consistent with pause (freeze), /sim/speed-up is now applied to the
  dt value for all subsystems, not just the FDM and some instruments.
  For example AI traffic can now be sped-up or slowed down.
- requires both an FGData and Simgear update.
2016-01-05 23:19:28 -06:00
Erik Hofman
2496bdecfa Tie the sun vector to the property tree 2015-06-26 09:53:03 +02:00
Torsten Dreyer
6f54ffc947 Allow easing of setting the time-offset
Configurable with properties:

/sim/time/warp-easing == false ? jump to new time offset (orig. behaviour)
/sim/time/warp-easing == true ? use easing parameter to adjust warp

/sim/time/warp-easing-duration-secs: time in seconds to reach the new value
/sim/time/warp-easing-method: easing method to apply. default: swing
2014-12-17 09:52:09 +01:00
James Turner
c6541e9c8f Remove some debug log calls.
All places which continuously log messages (either every frame or at
least every second) tending to swamp other log output.
2014-01-23 13:49:58 +00:00
James Turner
4dcd96c4af Remove dependency on command-mgr singleton
Use explicit instance (from globals)
2013-11-25 09:14:46 +00:00
James Turner
2455d86d8b Fix a propObj -> node conversion bug.
Thanks to Bertrand Coconnier for spotting this.
2013-11-18 08:40:34 +00:00
James Turner
9a77efacd9 Reset: drop FGLight prop refs on unbind() 2013-11-12 22:49:48 +00:00
James Turner
069a098909 Reset: use simple properties for TimeManager 2013-11-12 22:47:45 +00:00
James Turner
ad7a3e854d Reset: TimeManager can be unbound. 2013-10-29 23:01:58 +00:00
James Turner
52e5a9abe8 Reduce amount of log output at level=debug. 2013-09-28 14:47:20 +01:00
James Turner
df4f574951 Fix horizon sunrise/sunset effect position.
Fix sun position in default renderer. (Committing fix
provided after discussion on IRC + forum, no bug ID)
2013-08-07 16:30:20 +01:00
James Turner
0f26267647 Reduce a message severity. 2013-03-16 12:43:25 +00:00
ThorstenB
a784443a24 Remove static property dependencies
preventing us from wiping properties on reset/reinit/subsystem recreate.
(more work required for "native_gui" and "ATC-Outputs" protocols)
2012-11-18 16:35:54 +01:00
James Turner
649d579124 Helpers to access view position.
Avoid direct use of FGViewer in various places, by providing property-based accessors to the current view position.
2012-09-25 10:06:56 +01:00
James Turner
6c6452c62b Adapt to revised SGTime API
Convert SGTime users to pass SGGeod/SGPath instead of raw values.
2012-09-24 00:03:23 +01:00
ThorstenB
06170ddaae Handle scenery-override in a single place only. 2012-09-17 13:45:31 +02: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
ThorstenB
e24004b17b #589: 2D panels transparent at night. May also fix #591.
Since d91a617423 (vectory color calculations)
all 4 elements of a color were scaled with the respective brightness.
The caused some panels to be transparent at night etc.
Before the change, only the 3 RGB elements of the colors were scaled,
while the 4th element (alpha channel?) remained unaltered.
Commit restores the alpha elements to their original behaviour.
=> "Quick hack" for 2.6.0. Need s.o. to double check the initial changes
and commit something clean to "next".
2012-03-07 20:49:13 +01:00
ThorstenB
ba257eeecf More spring-cleaning fun.
Use tiedPropertyLists, instead of manual tie/unties.
2012-03-07 20:48:00 +01:00
ThorstenB
db098593be #591: Fix sky flickering at certain sun/view angles
Commit 5f0066c resulted in an incorrect angle calculation. At certain view/sun
angles "hor_rotation" and "rf1" would skip from the minimum to the maximum
value).
Also, an offset angle of 90 degrees (PI/2) is added, which seems to align
the sky effect with the sun position. Calculation is probably still wrong,
but seems less wrong than before - and the flickering is gone...
2012-03-07 20:43:52 +01:00
ThorstenB
0b049c877a #591: night-time rendering issues, avoid negative color values
Fog color became negative at certain sun angles (around midnight), which
resulted in weird sky dome coloring issues.
Hack: simply clamp the value for now.
2012-02-05 15:14:30 +01:00
Erik Hofman
699f4eeb38 fix a typo 2012-01-09 08:14:46 +01:00
Erik Hofman
5f0066c4c2 Fix the sun position and fog/ambient coloring misalignment 2012-01-08 16:28:43 +01:00
Erik Hofman
3abf0b5df1 remove some ugly while loops 2012-01-08 13:51:38 +01:00
Erik Hofman
d91a617423 vecotry color calculations 2012-01-08 12:09:46 +01:00
ThorstenB
dac00efbc7 Fix some compiler warnings.
Comment out unused code.
2012-01-02 23:16:17 +01:00
Erik Hofman
1fb790eb60 comment out unused variables and function and properly initialize variables 2011-12-19 16:50:21 +01:00
Erik Hofman
e6e09a8161 Also expose the true sun color in the property tree. 2011-12-17 10:57:08 +01:00
Erik Hofman
ff4c771759 Expose the cloud color in the property tree 2011-12-16 15:37:16 +01:00
James Turner
029226f8d4 Use property objects to avoid property look-ups during TimeManager updates. 2011-11-20 18:30:31 +00:00
ThorstenB
4b2506d709 Add new performance monitoring subsystem.
Rename some subsystems for naming consistency.
2011-11-19 15:37:49 +01:00
Durk Talsma
6fa2b1cbe6 Equate sun angle for morning and afternoon. This is a temporary solution, but should give more consistent results for locations that are relatively close to the poles. 2011-11-14 17:22:02 +01:00
James Turner
e89699acef Fix for http://code.google.com/p/flightgear-bugs/issues/detail?id=478 , ensure sun-angle has a valid (default) value at init. 2011-11-10 14:47:57 +00: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
70b4f38ebc Goodbye automake. 2011-11-01 11:15:53 +00:00
ThorstenB
acdf0dc469 Clean-up date/time option parser.
Add range checks and provide error messages.
Extend time offset to 64bit - so we're safe for 2038-01-19 (and the next
couple of millions years beyond...).
Support partial date/time strings, such as --start-date-gmt=2011 or
--start-date-gmt=:::12:00:00
2011-10-30 14:48:53 +01:00
Mathias Froehlich
81cab66c2c Make use of SGTimeStamp::sleepUntil for accurate sleeping.
For use with frame rate throtteling make use of
SGTimeStamp::sleepUntil. This function should cover the
system dependent parts of accurate sleeps and should
move the system dependent code out of the time manager.
2011-10-28 17:43:47 +02:00
James Turner
b1b4b7ecf4 Fix (nearly) all the std:: namespace violations in headers, in preparation for fixing SGsmplstat.hxx to *not* do a 'using namespace std'. 2011-10-17 17:41:59 +01:00
James Turner
8986c3488d Make sun-angle a plain property, so observers fire. 2011-10-12 09:17:58 +01:00
James Turner
1c8d8e7908 More CMake headers support 2011-07-19 07:58:03 +01:00
Erik Hofman
afca14c372 add a sanity check for the overcast property 2011-06-05 10:26:55 +02:00
Erik Hofman
8f3cdc9404 Add a /rendering/scene/overcast option to color the skydome gray in case of overcast 2011-06-05 10:20:16 +02:00