Stuart Buchanan [Mon, 2 Jan 2012 23:10:20 +0000 (23:10 +0000)]
Adjust LoD ranges for 3D clouds so that they become visible at maximum range, taking into account the current cloud visibility range, and the possible size of the clouds themselves.
ThorstenB [Sun, 18 Dec 2011 16:04:31 +0000 (17:04 +0100)]
#479: avoid issues due to trailing path separators
Cut trailing separators when converting from string to sgpath.
Also, SGPath::fix does NOT replace ":". It only replaces "\" with "/",
so the "i!=1" check for Windows made no sense (rule #9: never believe
a source code comment).
Return ReadResult::FILE_NOT_HANDLED for unknown extensions.
This fixes a problem with fonts no longer being correctly
loaded as a side effect of the spt meta object loader.
The readObject slot is obviously being called for several
unrelated file extensions. To make sure the search continues,
osgDB::ReaderWriter::ReadResult::FILE_NOT_HANDLED needs to
be returned in this case.
ThorstenB [Sun, 4 Dec 2011 19:16:36 +0000 (20:16 +0100)]
sound: fix "source" resource leak
Sound resources were eaten up when a sample could not be loaded.
Restores sound for aircraft attempting to use stereo files for sound effects.
However, when loading fails, sound code still tries to load the same file
again and again (always resulting in the same "stereo files not supported"
error), which slows down simulation.
ThorstenB [Fri, 25 Nov 2011 11:06:54 +0000 (12:06 +0100)]
CMake: Proper support for lib vs lib64 installation
Determine name of library installation directory, i.e. "lib" vs "lib64",
which differs between all Debian-based vs all other Linux distros.
See cmake bug #11964, http://cmake.org/gitweb?p=cmake.git;a=commit;h=126c993d
Also provide a script for older (<=2.8.4) cmake
Erik Hofman [Wed, 23 Nov 2011 08:41:13 +0000 (09:41 +0100)]
Slightly rearrange the buffer removing code. This should make sure the source is always stopped (required by the OpenAL spec) before a buffer is removed and added to the free source list.
ThorstenB [Sat, 19 Nov 2011 14:24:43 +0000 (15:24 +0100)]
Separate module to monitor (subsystem-)performance.
Move some code from the subsystem manager to a separate module.
Add module to evaluate performance and expose statistics to properties.
Add method that schedules a ProxyNode to do
just deferred model loading instead of full scenery paging.
Add support for ProxyNodes to CheckSceneryVisitor.
Use PagedLOD instead of our own derived method.
ThorstenB [Sat, 29 Oct 2011 19:20:46 +0000 (21:20 +0200)]
#453: Using = as Nasal function argument crashes FG
Keep Nasal parser from crashing when "=" function misses a left-hand
element, i.e. when parsing "sin(=)".
(Or do people writing such terrible syntax deserve a crash? ;-) ).
ThorstenB [Sat, 29 Oct 2011 19:15:29 +0000 (21:15 +0200)]
terrasync improvements
Detach from console to make "Ctrl-C" work for fgfs on Linux.
Immediately start synchronization of current position when
starting at run-time.
Implement sleeping to an absolute timestamp
as well as sleeping for a relative time in
SGtimeStamp.
The reason for including this into SGTimeStamp
is that the timestamps internals are required to
do accurate sleeps to and absolute timestamp
for the posix timer implementation.
James Turner [Wed, 26 Oct 2011 18:57:57 +0000 (19:57 +0100)]
Change (revert!) behaviour of SGPath::base, which broke TerraGear, when used with multiple file suffixes (hgt.zip, for example). Test cases updated to match TG-required behaviour.
Stuart Buchanan [Sat, 22 Oct 2011 20:28:09 +0000 (21:28 +0100)]
Fixes to 3D clouds
- Wrap 3D clouds (e.g. Global Weather) on the surface of a sphere rather than on a plane. Cloud altitude no-longer increases with distance from the start position
- Fix altitude of individual clouds, which where being places approx 1/2 the sprite height too high. Note that this means sprite positions in the cloud are the center of the cloud rather than the bottom.
- Improve LOD radii, which were far too large.