andy [Fri, 30 Mar 2007 16:42:22 +0000 (16:42 +0000)]
Melchior points out that NaN/Inf behavior is not platform-independent.
So toss a runtime error ("floating point error") when any of the math
library functions produce a non-finite value. Note that these are not
the only locations that can do that (simply dividing by zero will
produce an Inf), but it's still proper behavior.
andy [Thu, 29 Mar 2007 18:50:12 +0000 (18:50 +0000)]
Sync with Nasal CVS (soon to become Nasal 1.1). Notable new features:
Nasal now supports calls to "subcontexts" and errors can be thrown
across them, leading to complete stack traces when call() is used,
instead of the truncated ones we now see.
Vectors can now be concatenated using the ~ operator that used to work
only for strings.
Better runtime error messages in general due to a fancier
naRuntimeError() implementation
A big data size shrink on 64 bit systems; the size of a naRef dropped
by a factor of two.
"Braceless code blocks" have been added to the parser, so you can
write expressions like "if(a) b();" just like in C. Note that there's
still a parser bug in there that fails when you nest a braced block
within a braceless one.
Character constants that appear in Nasal source code can now be
literal multibyte UTF8 characters (this was always supported for
string literals, but character constants were forced to be a single
byte).
New modules: "bits", "thread", "utf8" and (gulp...) "io". The bits
library might be useful to FlightGear, the utf8 one probably not as
Plib does not support wide character text rendering. The thread
library will work fine for spawning threads to do Nasal stuff, but
obviously contact with the rest of FlightGear must be
hand-synchronized as FlightGear isn't threadsafe. The io library is
no doubt the most useful, as it exposes all the basic stdio.h
facilities; it's also frighteningly dangerous when combined with
networked code...
mfranz [Fri, 16 Feb 2007 15:32:21 +0000 (15:32 +0000)]
- don't leak node in both hash_table::bucket::erase()
- remove bad code from hash_table::bucket::erase(const char *) that was
introduced with the last patch. (This function isn't used anywhere and
is scheduled for removal. Leaving it in for now as a reference.)
- remove leaves first in remove_from_path_caches()
- cosmetics: indentation, one trailing space, variable name change, comment
(Sorrry for mixing that with actual code, but I think it's easy to see.)
mfranz [Sun, 11 Feb 2007 11:05:23 +0000 (11:05 +0000)]
Maik JUSTUS:
"""
- make every node maintain list of properties that link to it
- add functions to erase node by address from hash bucket/entry in their
path caches, so that all references can be removed
- if a node is removed, it (and all children, grandchildren, ...) calls
all linked properties to remove them from their path-cache
This fixes problems with the aerotow over multiplayer and maybe some
other problems, where nodes are queried by name.
"""
frohlich [Fri, 2 Feb 2007 18:16:42 +0000 (18:16 +0000)]
Modified Files:
ephemeris.cxx ephemeris.hxx stardata.cxx:
one must not do changes just before checkin,
one most not do changes just before checkin,
[ last message repeated 100 times ]
frohlich [Sun, 7 Jan 2007 11:52:19 +0000 (11:52 +0000)]
Modified Files:
SGSceneUserData.hxx SGPickCallback.hxx Makefile.am
Added Files:
SGSceneUserData.cxx: Cleanup and replace the pick callback with
such a list.
frohlich [Wed, 27 Dec 2006 09:23:39 +0000 (09:23 +0000)]
Modified Files:
Makefile.am SGMathTest.cxx SGQuat.hxx SGVec3.hxx
Added Files:
SGBox.hxx SGGeometry.hxx SGGeometryFwd.hxx SGGeometryTest.cxx
SGIntersect.hxx SGLineSegment.hxx SGPlane.hxx SGRay.hxx
SGSphere.hxx SGTriangle.hxx:
Small updates to the vector code, new geometry and collision
classes for use with a bv tree to speed up collission tests.
Also included is a rought unit test for the collissions.
frohlich [Fri, 10 Nov 2006 05:30:37 +0000 (05:30 +0000)]
Modified Files:
simgear/scene/material/mat.cxx
simgear/scene/material/matlib.cxx simgear/scene/sky/cloud.cxx
simgear/scene/sky/dome.cxx simgear/scene/sky/moon.cxx
simgear/scene/sky/oursun.cxx simgear/scene/sky/sphere.cxx
simgear/scene/sky/stars.cxx simgear/scene/tgdb/apt_signs.cxx
simgear/scene/tgdb/leaf.cxx simgear/scene/tgdb/leaf.hxx
simgear/scene/tgdb/obj.cxx simgear/scene/tgdb/pt_lights.cxx
simgear/scene/util/SGDebugDrawCallback.hxx
simgear/screen/Makefile.am: Use color arrays for every geode.
Just use osg::Material instead of osg::Material and the associated
mode.
frohlich [Tue, 7 Nov 2006 17:49:36 +0000 (17:49 +0000)]
Modified Files:
simgear/screen/extensions.cxx simgear/screen/extensions.hxx: Avoid
the assumption that with glx-1.4 glXGetProcAddress is available -
use dlsym to get that function.
frohlich [Tue, 31 Oct 2006 06:26:50 +0000 (06:26 +0000)]
Modified Files:
simgear/scene/model/Makefile.am
simgear/scene/model/animation.cxx
simgear/scene/model/animation.hxx
simgear/scene/model/modellib.cxx
simgear/scene/model/modellib.hxx
Removed Files:
simgear/scene/model/personality.cxx
simgear/scene/model/personality.hxx:
Updates to the animation system.
Personality can be implemented easier now