andy [Fri, 26 Sep 2008 18:22:12 +0000 (18:22 +0000)]
Sync with Nasal upstream (Melchior already had a chance to test this,
so hopefully not too much breaks). New syntax features:
1. Call-by-name function arguments. You can specify a hash literal in
place of ordered function arguments, and it will become the local
variable namespace for the called function, making functions with many
arguments more readable. Ex:
view_manager.lookat(heading:180, pitch:20, roll:0, x:X0, y:Y0, z:Z0,
time:now, fov:55);
Declared arguments are checked and defaulted as would be expected:
it's an error if you fail to pass a value for an undefaulted argument,
missing default arguments get assigned, and any rest parameter
(e.g. "func(a,b=2,rest...){}") will be assigned with an empty vector.
2. Vector slicing. Vectors (lists) can now be created from others
using an ordered list of indexes and ranges. For example:
var v1 = ["a","b","c","d","e"]
var v2 = v1[3,2]; # == ["d","c"];
var v3 = v1[1:3]; # i.e. range from 1 to 3: ["b","c","d"];
var v4 = v1[1:]; # no value means "to the end": ["b","c","d","e"]
var i = 2;
var v5 = v1[i]; # runtime expressions are fine: ["c"]
var v6 = v1[-2,-1]; # negative indexes are relative to end: ["d","e"]
The range values can be computed at runtime (e.g. i=1; v5=v1[i:]).
Negative indices work the same way the do with the vector functions
(-1 is the last element, -2 is 2nd to last, etc...).
3. Multi-assignment expressions. You can assign more than one
variable (or lvalue) at a time by putting them in a parenthesized
list:
(var a, var b) = (1, 2);
var (a, b) = (1, 2); # Shorthand for (var a, var b)
(var a, v[0], obj.field) = (1,2,3) # Any assignable lvalue works
var color = [1, 1, 0.5];
var (r, g, b) = color; # works with runtime vectors too
timoore [Thu, 11 Sep 2008 10:19:05 +0000 (10:19 +0000)]
Keep non-local particles in a Z-up frame that is periodically moved.
This eliminates jitter and other rendering problems.
For the moment this is dependent on an osg fix.
Also, don't read wind properties from FlightGear; provide a mechanism
for fg to set the wind.
ehofman [Thu, 4 Sep 2008 08:52:47 +0000 (08:52 +0000)]
Make sure the compiler is aware that SGModelData a child of osg::Referenced, now gcc-3.3 will compile.
fredb [Sun, 31 Aug 2008 18:39:49 +0000 (18:39 +0000)]
Use a more relevant library name
fredb [Sun, 31 Aug 2008 18:35:02 +0000 (18:35 +0000)]
Update version
timoore [Fri, 29 Aug 2008 07:39:05 +0000 (07:39 +0000)]
Don't use osgDB::SharedStateManager::share in SGLoadTexture2D
It is not safe to call this function from the database pager thread;
in any event, state sets and textures created in the database pager
will get passed through the SharedStateManager anyway.
curt [Thu, 28 Aug 2008 17:52:43 +0000 (17:52 +0000)]
- Update SimGear.dsp
- Assign an arbitrary prerelease version number
- Fix a "make dist" problem.
andy [Mon, 25 Aug 2008 16:53:34 +0000 (16:53 +0000)]
Fix typing error with fgetc in readln(). On most boxes, this would
cause a spurious EOF when there was a 0xff in the stream. But on PPC,
char is unsigned (for reasons known only to IBM) and it would loop
forever.
timoore [Mon, 11 Aug 2008 08:32:13 +0000 (08:32 +0000)]
pointers in Particles object should be ref_ptr
timoore [Thu, 7 Aug 2008 22:24:01 +0000 (22:24 +0000)]
Return eof after a number of reptetitions of file input.
fredb [Sat, 2 Aug 2008 11:31:47 +0000 (11:31 +0000)]
Update MSVC 7.1 projects - Adapt to OSG 2.6.0-rc1 : location of header files should now be searched in the install directory, here ..\..\..\install\msvc71\OpenSceneGraph\include
ehofman [Tue, 29 Jul 2008 08:25:17 +0000 (08:25 +0000)]
final fixes for SG_USING_STD removal
timoore [Tue, 29 Jul 2008 02:54:48 +0000 (02:54 +0000)]
forward declare osg::DrawElementsUShort for real
ehofman [Mon, 28 Jul 2008 07:52:13 +0000 (07:52 +0000)]
Replace SG_USE_STD() by using std::
fredb [Sun, 27 Jul 2008 18:04:13 +0000 (18:04 +0000)]
GL/wgl.h never existed, and a glx equivalent is not needed
ehofman [Sun, 27 Jul 2008 16:10:36 +0000 (16:10 +0000)]
- 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
Issues:
- the logic for X11 and Win32 in RenderTexture and extensions is tortured,
please see if you agree I got all the ifdefs correct.
fredb [Sun, 27 Jul 2008 15:15:33 +0000 (15:15 +0000)]
Remove unneeded inclusions of windows.h, GL.h and GLU.H
fredb [Fri, 25 Jul 2008 21:33:54 +0000 (21:33 +0000)]
Maybe a more portable way to do it
fredb [Fri, 25 Jul 2008 21:27:46 +0000 (21:27 +0000)]
Compile again with MSVC
ehofman [Fri, 25 Jul 2008 18:35:40 +0000 (18:35 +0000)]
Reduce compiler.h to almost nothing (but it's worth keeping around I think, for
the MSVC and MipsPro warning stuff).
As a result of this patch, simgear/sg_traits.h can be deleted. So can SGCMath.h,
but I'll do that separately.
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 mechnica
l change, replacing <math.h> with <cmath> and so on *everywhere*, but one step a
t a time)
ehofman [Fri, 25 Jul 2008 10:39:20 +0000 (10:39 +0000)]
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.
ehofman [Fri, 25 Jul 2008 08:34:15 +0000 (08:34 +0000)]
remove a workaround for the C++ / stdlibary bug which existed aeons ago on Mac.
ehofman [Thu, 24 Jul 2008 19:16:50 +0000 (19:16 +0000)]
Patch to remove macintosh and MWERKS from Simgear.
timoore [Sat, 19 Jul 2008 16:01:20 +0000 (16:01 +0000)]
Add repeat option to SGFile.
This supports auto-looping over a playback file, for demos and such.
timoore [Sat, 19 Jul 2008 16:00:58 +0000 (16:00 +0000)]
Eliminate empty default constructor for SGReaderWriterBTGOptions
mfranz [Sat, 12 Jul 2008 15:31:29 +0000 (15:31 +0000)]
s/getChild/getNode/ (otherwise "start/size" wouldn't work)
mfranz [Sat, 12 Jul 2008 14:06:11 +0000 (14:06 +0000)]
- XML interface changes:
* condition at top level
* <start|end>/<color|size> hierarchy
* wind/gravity -> bool
* rename some properties (rotspeed -> rotation-speed, etc.)
* unit suffixes
- remove redundant code
- warnings--
mfranz [Thu, 10 Jul 2008 10:33:32 +0000 (10:33 +0000)]
fix SGPropertyNode::LAST_USED_ATTRIBUTE
mfranz [Wed, 9 Jul 2008 17:31:55 +0000 (17:31 +0000)]
write-protection warning: use simplified path
mfranz [Wed, 9 Jul 2008 16:17:52 +0000 (16:17 +0000)]
let readProperties() refuse to overwrite write-proteced properties
mfranz [Sun, 22 Jun 2008 18:07:50 +0000 (18:07 +0000)]
remove redundant #defines (they are already in compiler.h)
timoore [Thu, 12 Jun 2008 08:14:40 +0000 (08:14 +0000)]
From Benoit Laniel: replace SG threading constructs with those from OpenThreads
Also, move any static local mutexes up to global level.
fredb [Sun, 8 Jun 2008 16:45:13 +0000 (16:45 +0000)]
Update MSVC 7.1 projects
mfranz [Sat, 7 Jun 2008 14:45:22 +0000 (14:45 +0000)]
warnings--
timoore [Mon, 2 Jun 2008 20:26:07 +0000 (20:26 +0000)]
add OSGVersion.hxx to VC7.1 project file
timoore [Mon, 2 Jun 2008 20:22:16 +0000 (20:22 +0000)]
OSG DatabasePager interface change in 2.5.1
Move OSG version macro from FlightGear to simgear
timoore [Mon, 2 Jun 2008 20:21:50 +0000 (20:21 +0000)]
Replace header files istream and ostream with iosfwd
timoore [Mon, 2 Jun 2008 20:21:27 +0000 (20:21 +0000)]
Don't include <iostream> and "using" declarations in header files
<iostream> sucks in expensive initialization of the standard streams
and isn't appropriate in a header file. Use <istream> and <ostream>
instead.
using declarations should never appear at global scope in a header
file; source files get to decide what they want to use in their
namespace.
fredb [Sun, 1 Jun 2008 17:25:05 +0000 (17:25 +0000)]
Fix non threadsafe code
fredb [Sat, 31 May 2008 12:08:17 +0000 (12:08 +0000)]
Report abnormal condition
fredb [Sat, 31 May 2008 12:06:30 +0000 (12:06 +0000)]
Update MSVC 7.1 projects
fredb [Sat, 31 May 2008 12:05:11 +0000 (12:05 +0000)]
Fix a problem in loading models with paged LOD in some circunstances ( debug with MSVC for instance )
fredb [Sat, 31 May 2008 10:02:43 +0000 (10:02 +0000)]
Use bool instead of int to represent boolean values
mfranz [Wed, 21 May 2008 14:51:39 +0000 (14:51 +0000)]
xmlsound: warning--
mfranz [Wed, 21 May 2008 14:47:06 +0000 (14:47 +0000)]
add <delay-sec> parameter that defines how many seconds after triggering
the sound should be played (default: 0)
mfranz [Mon, 19 May 2008 15:17:55 +0000 (15:17 +0000)]
update library version requirements
fredb [Thu, 15 May 2008 06:19:15 +0000 (06:19 +0000)]
Win32 fix
timoore [Wed, 14 May 2008 22:07:50 +0000 (22:07 +0000)]
sg: move most scenery-related code to simgear
From Till Busch
mfranz [Thu, 1 May 2008 12:21:52 +0000 (12:21 +0000)]
Till BUSCH: enable HOT intersection tests on random buildings
mfranz [Sat, 26 Apr 2008 15:25:29 +0000 (15:25 +0000)]
Nicolas: let SGPath::create_dir() return success/failure (for screenshot)
mfranz [Fri, 25 Apr 2008 08:41:29 +0000 (08:41 +0000)]
Till BUSCH:
"tim recently noticed the database pager was repeatedly loading and unloading
the same objects. he also tracked down the problem to missing bounding sphere
information in osgDB::PagedLOD. this is a simplicistic approach to fix this:
SGPagedLOD will now remember whatever value it sees for getBound() after
loading a child. this patch will make database pager run much calmer."
timoore [Thu, 24 Apr 2008 22:06:06 +0000 (22:06 +0000)]
Fix new livery code
It turns out that the database pager causes the texture image to be
unloaded after it is applied, so the image and its file name may not
be available for doing the livery substitution. Ask a work around we
set the name of the texture to its file name.
fredb [Wed, 23 Apr 2008 22:09:23 +0000 (22:09 +0000)]
Update MSVC 7.1 projects
timoore [Wed, 23 Apr 2008 18:13:50 +0000 (18:13 +0000)]
Rewrite livery texture replacement to copy StateSet objects
Also, add a NodeAndDrawableVisitor that descends into osg::Drawable.
That motivation for this is that it's a bad idea to modify state sets
that the osgDB::SharedStateManager might be keeping.
mfranz [Wed, 23 Apr 2008 12:28:45 +0000 (12:28 +0000)]
Till BUSCH:
this is a small (-1/+3) patch to fix pick animations on scenery objects.
since picking apparently doesn't care for polygon offsets, the objects
got into the picklist in the wrong way. now, no matter if the "highlight
group" or the "normal group" gets hit first, the callback will fire.
timoore [Mon, 14 Apr 2008 21:44:21 +0000 (21:44 +0000)]
rewrite of sky dome code
Add more points to the dome, giving it a dome shape rather than a
dunce cap shape.
Represent as OpenGL DrawElements instead of as triangle strips.
Only calculate have the sky colors and reflect those across the dome.
fredb [Mon, 14 Apr 2008 06:27:26 +0000 (06:27 +0000)]
Update MSVC 7.1 projects
timoore [Sun, 13 Apr 2008 21:11:44 +0000 (21:11 +0000)]
Fixes for compiling with gcc 4.3
Include standard header files and qualify with std:: where needed.
Add "const" to various char parameters and variables.
fredb [Wed, 2 Apr 2008 22:25:12 +0000 (22:25 +0000)]
Allows to load submodels with path relative to current model path.
Submodel path must be prefixed by ./ otherwise path is relative to fg_root ( current behavior )
timoore [Mon, 24 Mar 2008 21:41:30 +0000 (21:41 +0000)]
Change the tile light group node mask to traverse VASI lights too.
The change to set the light group node mask to LIGHTS_BITS caused
VASI/PAPI lights to not be displayed during the day. This patch fixes
that and optimizes VASI creation a bit.
fredb [Sat, 22 Mar 2008 11:39:01 +0000 (11:39 +0000)]
Update MSVC 7.1 projects
fredb [Sat, 22 Mar 2008 11:38:50 +0000 (11:38 +0000)]
Win32 fix
timoore [Sat, 22 Mar 2008 09:30:26 +0000 (09:30 +0000)]
model paging patch from Till Busch
Comments from Till:
I started the project at the end of february with a simple idea: move all
3d-model loading to the DatabasePager-thread. my first attempts looked
promising, though they were a little too optimistic (or naive?). the patch
has evolved a lot since.
currently it does the following things:
1. revive SGModelLib, move functions for xml-model-loading there
2. replace all calls to sgLoad3dModel with calls to either
SGModelLib::loadModel() or SGModelLib::loadPagedModel()
almost all models will be loaded by the DatabasePager. the few exceptions are:
your own plane, shared models in scenery, random objects, AIBallistic models.
3. simplify mode-loading functions (avoid passing around fg_root)
4. avoid supurious MatrixTransform nodes in loaded models
5. fix some memory leaks
mfranz [Thu, 20 Mar 2008 17:20:54 +0000 (17:20 +0000)]
- warnings--
- make one-shot sounds subject to volume and pitch control (To get
constant volume/pitch during the whole lifetime, just *configure*
the sound that way.)
timoore [Mon, 17 Mar 2008 08:46:23 +0000 (08:46 +0000)]
rationalize node masks a bit
curt [Sat, 15 Mar 2008 16:33:49 +0000 (16:33 +0000)]
argh, missed 1.8.4 in one spot.
curt [Sat, 15 Mar 2008 16:32:36 +0000 (16:32 +0000)]
Simgear also enforces plib-1.8.5 in order to build.
timoore [Tue, 11 Mar 2008 13:44:43 +0000 (13:44 +0000)]
From Till Busch: use install -p if possible
fredb [Sun, 9 Mar 2008 22:09:52 +0000 (22:09 +0000)]
Update MSVC 7.1 projects
mfranz [Tue, 4 Mar 2008 11:48:51 +0000 (11:48 +0000)]
use new arrow shortcuts for compatibility reasons (will be removed later)
timoore [Tue, 4 Mar 2008 08:58:33 +0000 (08:58 +0000)]
cleanup of precipitation contribution
Reindent everything to Stroustrup style and make member variable style
consistent.
Remove unused header files.
SGPrecipitation is now a subclass of osg::Referenced.
Initialize snow and ice intensity to 0 directly. The methods that set
the intensities change the value slowly and so don't work when the
initial value is garbage.
timoore [Tue, 4 Mar 2008 08:54:00 +0000 (08:54 +0000)]
precipitation effects from Nicolas Vivien
timoore [Tue, 4 Mar 2008 08:53:27 +0000 (08:53 +0000)]
Add methods to SGGeod to return OSG Matrix objects for local frames.
Methods have been added for Z down (simulation) and Z up frames.
fredb [Sun, 2 Mar 2008 16:49:07 +0000 (16:49 +0000)]
Initialize variables before using them
durk [Sun, 2 Mar 2008 16:09:57 +0000 (16:09 +0000)]
Olaf Flebbe: Micro update to the MSVC8 Project files.
fredb [Thu, 28 Feb 2008 21:25:44 +0000 (21:25 +0000)]
Update MSVC 7.1 projects
mfranz [Wed, 20 Feb 2008 23:36:27 +0000 (23:36 +0000)]
don't reset visibility modifier in the M5SM case
mfranz [Sat, 16 Feb 2008 22:09:40 +0000 (22:09 +0000)]
Syd ADAMS: remove season suffix, this is now done via <condition>s
mfranz [Sat, 16 Feb 2008 17:01:01 +0000 (17:01 +0000)]
remove getRootNode(), as this resets the model root
mfranz [Fri, 15 Feb 2008 17:54:01 +0000 (17:54 +0000)]
Csaba HALASZ: implement conditional (e.g. seasonal) texture loading at startup
timoore [Fri, 15 Feb 2008 06:44:24 +0000 (06:44 +0000)]
Cleanup of particles contribution
Put particles classes inside simgear namespace
Refactored some redundant code
Reworked local frame math to use OSG math classes as much as possible
timoore [Fri, 15 Feb 2008 06:44:05 +0000 (06:44 +0000)]
particles from Tiago_G
timoore [Thu, 7 Feb 2008 23:01:32 +0000 (23:01 +0000)]
Small cleanup of tree shader
timoore [Thu, 7 Feb 2008 23:01:16 +0000 (23:01 +0000)]
Minor cleanup of Stuart Buchanan's tree patch.
Separate random objects and random trees for real.
timoore [Thu, 7 Feb 2008 23:00:23 +0000 (23:00 +0000)]
Second trees patch from Stuart Buchanan
Adds random variation of tree texture maps
timoore [Sat, 2 Feb 2008 23:01:27 +0000 (23:01 +0000)]
Cleanup and performance tuning of the random trees code.
The QuadTreeBuilder class was completely revamped as a templated class
to support flexible creation of scene graph quad trees, and a major
bug was fixed as well. Now it actually generates quadtrees instead of
some weird striped thing.
One StateSet is shared among all the "forests." The trees are drawn
after normal terrain objects to minimize some of the transparency
related artifacts.
Lighting was implemented in the ShaderGeometry shader (for both
polygon sides). Ambient-diffuse values for trees are hard-coded in
TreeBin.cxx.
DotOsg wrappers were added for ShaderGeometry so it can be output in
the scene graph dump.
timoore [Sat, 2 Feb 2008 23:01:05 +0000 (23:01 +0000)]
Random trees from Stuart Buchanan
Stuart's new file SGTreeBin.hxx has been split into 4 files:
TreeBin.[ch]xx and ShaderGeometry.[ch]xx.
timoore [Thu, 24 Jan 2008 23:05:18 +0000 (23:05 +0000)]
Memory leak fixes from Till Busch
fredb [Thu, 17 Jan 2008 21:41:48 +0000 (21:41 +0000)]
Update MSVC 7.1 projects
timoore [Thu, 17 Jan 2008 08:28:15 +0000 (08:28 +0000)]
fix memory leaks in random object code
Don't allocate mt structures (for the random number generator) on the heap.
fredb [Sat, 12 Jan 2008 08:50:21 +0000 (08:50 +0000)]
Avoid spitting gazillion 'Cannot find image file "" ' message on the console while loading random objects
frohlich [Mon, 7 Jan 2008 22:05:48 +0000 (22:05 +0000)]
Modified Files:
simgear/scene/model/animation.cxx:
Change factor/offset order for texture animations.
Fixes remaining bug with texture animations.
timoore [Sun, 6 Jan 2008 15:04:43 +0000 (15:04 +0000)]
Random object support from Stuart Buchanan
In addition to Stuart's changes, there's an independent quad tree
builder class for constructing loose quad trees from scene graph nodes.
Stuart also implemented changes to the random number generator suggested by
Andy Ross.
fredb [Fri, 4 Jan 2008 21:45:41 +0000 (21:45 +0000)]
Update MSVC 7.1 projects
fredb [Fri, 4 Jan 2008 21:45:14 +0000 (21:45 +0000)]
Remove warnings
timoore [Fri, 4 Jan 2008 07:33:42 +0000 (07:33 +0000)]
Give the sky a BACKGROUND_BIT nodemask
Add a MODEL_BIT and tag clouds with that.
Remove vestigial post_root from sky code.
timoore [Fri, 4 Jan 2008 07:33:23 +0000 (07:33 +0000)]
background node mask
frohlich [Mon, 31 Dec 2007 15:49:01 +0000 (15:49 +0000)]
Modified Files:
simgear/scene/model/SGClipGroup.cxx
simgear/scene/model/SGClipGroup.hxx Update the clip group.
frohlich [Mon, 31 Dec 2007 15:48:02 +0000 (15:48 +0000)]
Modified Files:
simgear/scene/model/animation.cxx: Create animation inputs if not
already there. Fixes broken texture animations from past checkin.
frohlich [Wed, 26 Dec 2007 19:19:51 +0000 (19:19 +0000)]
Modified Files:
Makefile.am SGPickCallback.hxx: add proirities for pick callbacks.