aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Physics/OdePlugin (unfollow)
Commit message (Collapse)AuthorFilesLines
2010-01-04Formatting cleanup. Add copyright headers.Jeff Ames4-515/+509
2009-12-22Glue code for a couple of new LSL function implementationsMelanie2-0/+18
2009-12-08* Commit some sit code that's commented out for now.Teravus Ovares (Dan Olivares)1-1/+8
2009-12-05* Adds Normal to the fields returned by the Physics RaycasterTeravus Ovares (Dan Olivares)1-2/+8
* Fixes recognizing when a sit target is and isn't set. * * 1. Vector3.Zero. * * 2. Orientation: x:0, y:0, z:0, w:1 - ZERO_ROTATION * * (or) Orientation: x:0, y:0, z:0, w:0 - Invalid Quaternion * * (or) Orientation: x:0, y:0, z:1, w:0 - Invalid mapping, some older objects still exist with it
2009-12-05* Fixes mantis 4416. Animator is dereferenced on logoutTeravus Ovares (Dan Olivares)1-1/+4
2009-12-03* Fixes the 10x10x10 hard physics limitation. (wierdly, you have to set ↵Teravus Ovares (Dan Olivares)2-0/+5
this for each region in your Regions.ini[PhysicalPrimMax = 10(default)]) * Adds a configurable maximum object mass before the mass is clamped. Default is 10000.01. Configurable by changing maximum_mass_object in the [ODEPhysicsSettings] section. * Clamping the mass is important for limiting the amount of CPU an object can consume in physics calculations. Too high, and the object overcomes restitution forces by gravity alone. This generates more collisions potentially leading to 'deep think'.
2009-11-26* Fixes a case of d.BodyEnable with IntPtr.Zero passed as the parameter in ↵Teravus Ovares (Dan Olivares)1-1/+4
linkset where EnableBody was called and the body is immediately disabled. The previous functionality assumed that a body was received in EnableBody but.. in some cases, it wasn't.
2009-11-23* Resolves mantis 4390 http://opensimulator.org/mantis/view.php?id=4390Teravus Ovares (Dan Olivares)1-1/+1
2009-11-22* Adds a test for if the collision is at the bottom of the capsule on ↵Teravus Ovares (Dan Olivares)1-1/+12
avatar. This prevents the 'double jump' capability that's been occurring for ages when avatar collide with prim on the side.
2009-11-22* Added missing lock to m_forcelist when AddForce is called. When a user ↵Teravus Ovares (Dan Olivares)1-3/+26
dragged a prim, in some cases, it would corrupt the datatype in memory and throw spurious IndexOutOfRangeExceptions. * Physics a situation that causes physics to spew redline messages to the console forever.
2009-11-21* Fixes the second of two terse update issues. Physical objects should react ↵Teravus Ovares (Dan Olivares)1-0/+3
normally again.
2009-11-21* Fixes one of two terse update issues. There's still one left, but this ↵Teravus Ovares (Dan Olivares)1-1/+9
one fixes the situation where the object on the server is moving but no updates are being sent.
2009-11-09Following various discussions on irc and in the OpenSim dev OSGrid meeting ↵Justin Clark-Casey (justincc)1-1/+1
last week, change av_capsule_tilted to false by default This appears to now give better ODE physics response (less sinking into the ground, etc.) Please change it back if this is actually a bad idea for some reason
2009-11-03minor: remove some mono compiler warningsJustin Clark-Casey (justincc)3-17/+17
2009-10-29* Log progress messages when loading OAR files with a lot of assetsJohn Hurliman3-64/+71
* Change the PhysicsCollision callback for objects to send full contact point information. This will be used to calculate the collision plane for avatars * Send the physics engine velocity in terse updates, not the current force being applied to the avatar. This should fix several issues including crouching through the floor and walking through walls
2009-10-28Always send a time dilation of 1.0 while we debug rubberbanding issuesJohn Hurliman1-1/+2
2009-10-28Limit physics time dilation to 1.0John Hurliman1-1/+1
2009-10-28* Reduce the velocity tolerance on sending terse updates to avoid slowly ↵John Hurliman1-3/+10
drifting prims/avatars * Added contacts_per_collision to the ODE config section. This allows you to reduce the maximum number of contact points ODE will generate per collision and reduce the size of the array that stores contact structures
2009-10-28Fixed a bad check on velocity in the ODE near() callback (it was only ↵John Hurliman1-3/+3
checking for velocity in certain directions, and was calling the get_Velocity() function three times)
2009-10-27Move the calculation of time dilation from the scene to the physics engine. ↵John Hurliman1-2/+9
The scene is still the one reporting dilation so this does not break the API or remove flexibility, but it gets the calculation happening in the right place for the normal OpenSim usage. The actual calculation of physics time dilation probably needs tweaking
2009-10-26Experimental change of PhysicsVector to Vector3. UntestedJohn Hurliman5-229/+209
2009-10-26No need to create dupe TriMeshData for ODE. A previous patch created a ↵Dan Lake1-6/+14
dictionary to store unique meshes in Meshmerizer based on creation params. This patch contains a dictionary to map each of those unique meshes to its ODE TriMeshData. This eliminated hundreds of megabytes of memory consumption in the unmanaged heap when there are lots of the same prim (roof tiles, bricks, siding, decks, chairs, etc). The objects do not need to be physical to benefit from this patch.
2009-10-26Do case-insensitive comparisons on region names in LLStandaloneLoginModuleJohn Hurliman1-2/+2
2009-10-26* Changed the watchdog timer to improve the speed of UpdateThread(), only ↵John Hurliman1-2/+6
track threads once the first call to UpdateThread() has been made, and allow re-tracking of threads that timed out but revived later * Added a commented out call to Watchdog.UpdateThread() in OdeScene. If it turns out that loading a large OAR file or some other operation is timing out the heartbeat thread, we'll need to uncomment it
2009-10-23Patch from dslake http://opensimulator.org/mantis/view.php?id=4291 0004291: ↵dslake1-2/+3
Inconsistent locking of ODE tainted prims
2009-10-22* Moved Copyrights above the comments in ODEPrim and ODEDynamics so they're ↵Teravus Ovares (Dan Olivares)2-26/+28
consistent with the rest (and so chi11ken's auto copyright adding script doesn't duplicate the copyright.
2009-10-22Commented out instrumentation in ODEPrim.csKittoFlora1-0/+8
2009-10-22Commented out instrumentation in ODEPrim.csKittoFlora1-0/+8
2009-10-20* Removing ODEPrim and ODECharacter GetHashCode() overrides since they were ↵John Hurliman2-10/+0
based on something that could change * Tweaked a few other GetHashCode() overrides to bring them in line with MSDN recommendations
2009-10-19Forgot {} on last commit.Diva Canto1-0/+2
2009-10-19More instrumentation in physics.Diva Canto1-0/+2
2009-10-19Formatting cleanup.Jeff Ames2-3/+3
2009-10-18A bit of instrumentation to figure out what's going on with physics actors.Diva Canto2-1/+14
2009-10-16* One more tweak to inform the user that they may not be able to move until ↵Teravus Ovares (Dan Olivares)1-1/+1
relogging.
2009-10-16* After seeing it repeat over and over again.. again, We won't inform the ↵Teravus Ovares (Dan Olivares)1-1/+1
scenepresence that there was an issue so it doesn't try to make the capsule again. I have a feeling that this is some kind of object leak. We'll know for sure.. soon.
2009-10-16* One more attempt at the NullRef In The OdePlugin. This might fix it, but ↵Teravus Ovares (Dan Olivares)2-1/+22
it will definitely get us closer to the root cause.
2009-10-16* Added a message for when the null reference exception occurs to make ↵Teravus Ovares (Dan Olivares)1-3/+4
debugging easier. Without this, from the user's perspective.. they cannot move, fly or otherwise do anything physical and without a message on the console, it would be hard to tell that this is what is occurring.
2009-10-16* A hacky attempt at resolving mantis #4260. I think ODE was unable to ↵Teravus Ovares (Dan Olivares)1-2/+22
allocate memory, and therefore the unmanaged wrapper call fails or worse.. there's some unmanaged resource accounting in the ODEPlugin for ODECharacter that isn't being done properly now. * The broken avatar may not be able to move, but it won't stop simulate from pressing on now. And, the simulator will try to destroy the avatar's physics proxy and recreate it again... but if this is what I think it is, it may not help.
2009-10-12Optimize ODE mesh by removing sleep. On a region with 100,000 prims and ODE ↵unknown1-1/+1
enabled, the first Heartbeat loop call to UpdatePhysics takes 20 minutes. 75% of that time is spent in this sleep. (100k prims * 10ms)
2009-10-10* comment out the velocity test, using updates every 500 ms as set in ↵Teravus Ovares (Dan Olivares)1-0/+3
ScenePresence.AddToPhysicalScene. * This causes time to be counted in ODECharacter and, when a collision occurs, the physics scene will report the collisions only if the the difference of last time it reported the collisions from now was more then the set ms. * This is cool because the time accrues while collisions are not taking place and when they do take place again, you get an immediate update.
2009-10-10* Make ODECharacter respect the scene's requested collision update timeTeravus Ovares (Dan Olivares)2-2/+14
* Set the Scene collision update time to 500 ms
2009-10-07Correct a build break caused by an optimization in trunkMelanie1-1/+1
2009-10-05minor: remove mono compile warningJustin Clark-Casey (justincc)1-5/+2
2009-10-05Eliminate pinned Mesh data on managed heap by using IntPtrs to memory ↵Dan Lake1-7/+6
allocated on the unmanaged heap. This prevents fragmentation of the managed heap and the resulting stress on GC. A region with ~150,000 prims using ODE and Meshmerizer saw memory remain flat around 1.2GB as opposed to 1.5GB and continually growing due to pinned memory. This patch complements the unique mesh dictionary patch applied to Meshmerizer but is independent. The net effect is a 60-75% reduction in memory for our largest regions.
2009-09-30Commit initial version of KittoFlora's vehicle changesopensim4-564/+1300
2009-10-01Formatting cleanup.Jeff Ames2-6/+6
2009-09-24Meshmerizer stores dictionary of unique Meshes keyed on construction ↵Dan Lake1-14/+3
parameters. CreateMesh() returns a Mesh from the dictionary or creates a new Mesh if it has not been created before. Meshes are never purged from the dictionary. The raw Mesh data is discarded once the memory is pinned for ODE use. All copies of the same prim/mesh use the same pinned memory. ONLY IMPLEMENTED AND TESTED WITH MESHMERIZER AND ODE Signed-off-by: dahlia <dahliaTrimble@gmailDotCom>
2009-09-18Alternate algorithm for fixing avatar capsule tilt (Mantis #2905)nlin1-60/+72
Eliminate dynamic capsule wobble. Instead introduce a small, fixed tilt, and allow the tilt to rotate with the avatar while moving; the tilt always faces away from the direction of avatar movement. The rotation while moving should eliminate direction-dependent behavior (e.g. only being able to climb on top of prims from certain directions). Falling animation is still too frequently invoked. Ideally the tilt should be completely eliminated, but doing so currently causes the avatar to fall through the terrain.
2009-09-09Add test to check behaviour if an iar is loaded where no user profile exists ↵Justin Clark-Casey (justincc)1-16/+6
for the creators Disable generation of temporary profiles for now, instead record loading user as creator
2009-09-04* Fix for GetTerrainHeightAtXY to make it compatible when ↵Teravus Ovares (Dan Olivares)1-3/+4
Constants.RegionSize isn't 256