| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
assets behave like phantom by Nebadon request
|
|
|
|
| |
Signed-off-by: Melanie <melanie@t-data.com>
|
|
|
|
|
| |
This introduces expected contact point hints to the ODE Collider to better determine when to throttle updates as excessive. This /should/ smooth physics objects out again, however, I cannot know every configuration of OpenSimulator, so I'm requesting that testers please examine this change on their build.
Thanks!
|
|
|
|
| |
to control the reporting of a new angular velocity. I think that this could be here for one of two reasons, 1. vehicles and llMoveToTarget with axis lock, or 2. To attempt to make things look more stable in the physics scene then they really are, however, this also really affects the angular velocity reporting negatively causing things to spin wildly and jump back into place repeatedly. To compromise, if the prim is a vehicle or is being used as a motor target, the original functionality is still applied. If that's not the case, angular velocity is reported with a linear velocity of 0.02m/step. To be clear on the effect of the physical world... When you push things, there's still a lag time where you walk into the object but once the object is in motion, it begins to move as you would expect so results in slightly more realistic motion.
|
| |
|
|
|
|
|
|
|
|
| |
from ODEPrim.SetGeom.
This occurred in 7a574be3fd from Sat 21 Apr 2012.
This should fix collision detection.
Mnay thanks to tglion for the spot and the fix in http://opensimulator.org/mantis/view.php?id=5988
|
|
|
|
| |
disableBody() sets Body == IntPtr.Zero on all code paths.
|
| |
|
|
|
|
|
|
| |
prim_geom == IntPtr.Zero only before a new add prim taint is processed (which is the first taint) or in operations such as scale change which are done in taint or under lock.
Therefore, we can remove these checks which were not consistently applied anyway.
If there is a genuine problem, better to see it quickly in a NullReferenceException than hide the bug.
|
|
|
|
|
|
|
| |
position as well as the body position
This is necessary to stop the moved prim snapping back to the original position on deselection if moved only once
This resolves http://opensimulator.org/mantis/view.php?id=5966
|
|
|
|
|
|
| |
the same time.
Have to lock m_MeshToTriMeshMap as property is static and with more than one region two scene loops could try to manipulate at the same time.
|
|
|
|
|
|
|
|
| |
On the first frame, all startup scene objects are added to the physics scene.
This can cause a considerable delay, so we don't start raising the alarm on scene loop timeouts until the second frame.
This commit also slightly changes the behaviour of timeout reporting.
Previously, a report was made for the very first timed out thread, ignoring all others until the next watchdog check.
Instead, we now report every timed out thread, though we still only do this once no matter how long the timeout.
|
| |
|
|
|
|
|
|
| |
we can inspect count of taint lists instead.
also groups OdeCharacter.CreateOdeStructures() and DestroyOdeStructures() together
|
|
|
|
| |
nothing right now
|
|
|
|
| |
maintaining their own properties
|
|
|
|
|
|
|
| |
own private m_localID property but leaving get to return the then unset PhysicsActor.LocalId!
Instead, just have both subclasses use the PhysicsActor.LocalID property.
This restores collision functionality that fell away in 45c7789 yesterday
|
|
|
|
| |
ODEPrim.changevelocity()
|
|
|
|
| |
only receive the very first collision.
|
| |
|
|
|
|
| |
CollisionEventUpdate() if the number of collisions falls to zero. Reuse the existing one instead.
|
|
|
|
| |
This taint can only ever be processed from the OdeScene.Simulate() loop, which already locks OdeLock.
|
| |
|
|
|
|
| |
Despite its name, this wasn't actually being used in any collision checking
|
| |
|
|
|
|
| |
internal to aid code reading/analysis. Remove some unused method arguments
|
|
|
|
| |
was just a glitch
|
|
|
|
| |
Fix build break.
|
|
|
|
|
|
| |
the Name property instead.
This is equivalent since the prim 'name' is never changed. In fact, this propery is never used for prims
|
| |
|
| |
|
|
|
|
|
|
| |
or shape changed, also remove the OdeScene.actor_name_map entry pointing to the phys actor
This is to stop a small memory leak over time when prims are deleted or phantom-toggled
|
| |
|
|
|
|
| |
to the summary, it is being called from within Simulate() lock (OdeLock)
|
|
|
|
|
|
|
|
| |
with new prim_geom key, as the old one becomes invalid.
This resolves http://opensimulator.org/mantis/view.php?id=5603 where changing size or shape would stop collision_start being fired in a running script.
In both this and existing code we are not removing old actors from actor_name_map when the existing prim_geom is removed, which leads to a small memory leak over time.
This needs to be fixed.
|
|
|
|
|
|
| |
it's initially used.
This may improve memory usage for regions using mesh and sculpts, though I suspect that it doesn't address the current memory leak.
|
|
|
|
|
|
| |
is no longer required and it prevents removal of the _mesh field (which is only used temporarily)
If passing in a mesh becomes important again in the future then this can be reinstated.
|
| |
|
|
|
|
| |
this with the pre-existing _mesh field
|
| |
|
|
|
|
|
|
| |
some code reference the private var and other the public var without any functionality difference.
Add some method doc to IsPhysical
|
| |
|
| |
|
|
|
|
| |
to reflect OpenSim standards.
|
|
|
|
| |
Addresses http://opensimulator.org/mantis/view.php?id=5584
|
| |
|
|
|
|
|
|
| |
the sculpt data has been added to the shape (possibly via an async asset service request)
This prevents spurious 'no asset data' for meshes added on startup.
|
|
|
|
|
|
|
| |
don't do the unnecessary work of copying the base shape.
Just setting the new base shape is enough to reinsert the sculpt data and set the taint.
Also cleans up a few more left-in debugging messages.
|
| |
|
|
|
|
|
|
|
|
| |
Unable to get to the bottom of why resizing a mesh fails to properly reset the physics proxy, when toggling phantom does
After a mesh is generated, the existing sculptdata is set to zero in PrimitiveBaseShape to save memory
When phantom is toggled, the sculptdata is regenerated before remeshing.
But on resize, the sculptdata is not regenerated.
So clearly, resetting sculptdata is possible, but haven't quite been able to pin down how this is being done when phantom is toggled.
|