Commit Graph

206 Commits (85c0c0557e317b252bcbdf98439a9ec33db17d0c)

Author SHA1 Message Date
Teravus Ovares 85c0c0557e * Tweaks some locks when modifying an ODECharacter. This actually allows a user to log-in while the physics scene and the scripts are starting up. This also seems to smooth out the jerks on teleport/connect/disconnect a little bit.
* If you log-in while the simulator is starting up, you won't be able to move and the sim stats will say 0 FPS, and 0 Physics Frames and you may see only terrain.  Once the sim finishes starting up, it'll all resume as normal.
2009-01-31 16:49:32 +00:00
nlin bfdf2479fb Improve parsing of joint parameters for NINJA physics (Mantis #2966).
Multiple spaces or leading/trailing spaces when specifying the prims 
to connect should no longer cause problems.
2009-01-14 04:59:57 +00:00
Homer Horwitz a72d3522ff Slight optimisation: Don't check for duplication if we won't use the result anyway. 2008-12-31 20:09:17 +00:00
Jeff Ames 2be0f7a6f0 Update svn properties, minor formatting cleanup. 2008-12-30 01:08:07 +00:00
Teravus Ovares ec2dc354b4 * Applying Nlin's NINJA Joint patch. v2. Mantis# 2874
* Thanks nlin!
* To try it out, set ninja joints active in the ODEPhysicsSettings
and use the example at:
* http://forge.opensimulator.org/gf/download/frsrelease/142/304/demo-playground.tgz.
* Don't forget to change the .tgz to .oar and load it with load-oar.
2008-12-26 12:58:02 +00:00
Charles Krinke 62dd67b8b8 Mantis#2796. Thank you kindly, Gerhard for a patch that addresses:
On a call of llVolumeDetect(1) (or any other number !=0) volume 
detection is enabled. Together with VD, the phantom flag is set to the GUI.
On a call of llVolumeDetect(0), vd detection is switched of again, 
also the phantom state is removed. On a call to llSetState(STATE_PHANTOM, 
false) while VD is active, also VD is switched off. The same is true for 
unchecking the phantom flag via GUI. This allows to take back VD without 
the need to script just by removing the phantom flag.
Things missing in this patch: persistance of the volume-detection flag. 
This needs more discussion and will be included in another patch soon.
2008-12-20 21:36:42 +00:00
Dahlia Trimble 2537a4098a Enabled complex meshing for simple box prims with non-zero shear 2008-12-18 17:53:38 +00:00
Justin Clarke Casey 3b0db66b92 * Apply http://opensimulator.org/mantis/view.php?id=2775 with small tweaks
* This pushes an identifier for the OpenSim scene to the physics scene.  This allows log messages from the physics scene to identify which OpenSim scene they relate to.
* Thanks Gerhard
2008-12-15 18:39:54 +00:00
Teravus Ovares 7f80eff067 * Committing a slightly distilled version of nlin's ODECharacter race condition eliminator.
* The modifications that I made were only so that it didn't require changes to the public physics api.
2008-12-10 23:46:20 +00:00
Teravus Ovares 3844e73d27 * Gerhard's patch m2781. Does some initial work for setting up llVolumeDetect.
* Warning! Physics API change. This means that the NBodySimulation needs to be updated!
* PhysicsActor -> void SetVolumeDetect(int) needs to go into classes that use PhysicsActor as their base class.
2008-12-09 11:11:16 +00:00
Teravus Ovares e61dacb928 * Adds some rudimentary error handling to the physics debug drawstuff tool. 2008-12-08 07:19:26 +00:00
Teravus Ovares 76e1462dff * Tweaks physics so that linked prim are a single body. This will make linked prim more stable and probably the last obstacle to vehicles physics wise.
* Fixed a bug that caused physics proxies to be scattered when you link an object.
* Single physical prim work exactly the same as before, just linked physical prim will have changed.
2008-12-07 04:03:09 +00:00
Justin Clarke Casey b4db3a550a * Apply http://opensimulator.org/mantis/view.php?id=2750 with a small tweak.
* Initializes ODE only when a scene is grabbed rather than on plugin load.  This means we don't initialize ode if that physics engine is not used, and it allows other ode use 
plugins to be used instead.
2008-12-04 20:29:34 +00:00
Melanie Thielker 6f0e068cf1 Guard against a strange nullref in ODE 2008-11-19 20:04:41 +00:00
Charles Krinke 087d2f9147 Enabled SoftERP for the contact structure but not SoftCFM.
A tube on a pole is a bit less "flubbery" so maybe this is
the right direction.
2008-11-09 20:20:20 +00:00
Charles Krinke c6ed72b4fa Clean up a few comments. 2008-11-09 18:43:46 +00:00
Charles Krinke 9299be0080 Revert last checkin. Avatars fall through non-physical prims now.
There is more to the solution then just enabling soft_erp and 
soft_cfm for all d.Contact cases.
2008-11-01 17:58:34 +00:00
Charles Krinke 1e376deedd Added soft_cfm and soft_erp to the general "contact" initialization
for physical prim interactions. They were not previously enabled
for prim-prim interactions.
2008-11-01 17:30:06 +00:00
Teravus Ovares dfc12d591c * Add a config option for filtering collisions. Sometimes, under load, this seems to cause bouncing on really thin flat prim. 2008-10-22 01:52:12 +00:00
Teravus Ovares 11fd935038 * Changed the dupe collision depth limiter to be slightly more restrictive. (less chance for a dupe) 2008-10-18 16:20:02 +00:00
Teravus Ovares 0916b38b83 * Fix an over compensation for bounciness on flat Primitive
* Implement the linear impulse portion of llPushObject.  We should have a lsl compatible implementation of that portion of the push.  Angular..   well.  still have yet to implement a torque accumulator.
* llPushObject respects the region and parcel settings for Restrict Push, it also respects GodMode as is defined in the LSL spec.
2008-10-17 23:19:00 +00:00
Teravus Ovares a6df2011f7 * Adds a lot of stability and performance to the physics engine. The avatar bounces less and things are a bit less explosive.
* Additionally, you can probably get more physical prim now together..  though, I think this puts us back on par with where we were in the beginning of the year on number of physical objects.   Experiment.  Make videos.  Send Feedback.  Enjoy.
2008-10-17 05:09:23 +00:00
Justin Clarke Casey 82b7374ed2 * minor: get rid of pointless ipeSender 2008-10-16 19:50:12 +00:00
Teravus Ovares 68d85497ad * Releases the inter-region thread synchronization between physics in ODE on the same instance.
* If you are hosting many regions on a single instance, you will probably notice a decrease in region startup time and maybe a slight increase in performance.
* Single regions won't notice anything different
2008-10-16 12:57:29 +00:00
Teravus Ovares 180e3de50f * Cleaned up tons of code duplication in ODEPrim
* Re-enabled the native ODE prim types when possible
* Fixed several invalid assumptions in the prim recycle process.
* Added better message for 'reused a disposed physicsactor'
* Added a way to recover from errors during collision_optimized
* Added a way to recover from an error condition where prim_geom wasn't reset properly
2008-10-14 02:48:30 +00:00
Teravus Ovares f344f26bd8 * Based on user reports, it looks like the OS specific settings have been unified as far as tuning (thank heavens).
* If you're experiencing knee bendiness try the windows settings, as the *nix settings seem to now be incorrect.  (this update does that, but you may have your own opensim.ini settings active.
2008-10-13 01:54:13 +00:00
Teravus Ovares 2ede1a3ce7 * This updates ODE to the most up-to-date version as of today. 1558
* Mac users, pray to chi11ken to make you a .dylib version
* This is semi-tuned and post teravus hack.   (Though I didn't apply the terrain pitting fix hack.   I'm still deciding if it's necessary as there was a lot of work over the past several months on the heightfield collider.
* Please use '--enable-shared --disable-demos --disable-asserts' if you are building your own libode in the configure step.   Asserts are pretty much useless for use with .NET
* This also updates ODE.NET as, there were some API changes in May that were just added to ODE.NET today.
2008-10-12 23:47:39 +00:00
Dahlia Trimble 232aa783ad Disabled use of ODE internal geometry to see if it affects the "waves finger" error 2008-09-22 02:33:48 +00:00
Dahlia Trimble 52af9b3fd7 ODE was using a box collision shape for some spheres - changed those cases to now use a mesh instead. 2008-09-21 08:12:52 +00:00
Dahlia Trimble e6afb28355 re-enabled some ODE internal proxies for some simple prim types to try to save some more memory 2008-09-19 09:13:27 +00:00
Justin Clarke Casey 8ff1bc5b03 * Make the ode simulation update loop print out the stack if an exception occurs (at least, this is what will happen on linux) 2008-09-18 18:54:42 +00:00
Teravus Ovares 7d89e12293 * This is the fabled LibOMV update with all of the libOMV types from JHurliman
* This is a HUGE OMG update and will definitely have unknown side effects.. so this is really only for the strong hearted at this point.  Regular people should let the dust settle.
* This has been tested to work with most basic functions. However..   make sure you back up 'everything' before using this.  It's that big!  
* Essentially we're back at square 1 in the testing phase..  so lets identify things that broke.
2008-09-06 07:52:41 +00:00
Jeff Ames 6ef9d4da90 Formatting cleanup. 2008-08-18 00:39:10 +00:00
Dahlia Trimble 3035f5cb64 Re-enables testing for config option mesh_sculpted_prim which was inadvertently disabled in a prior modification (oops) :) 2008-07-25 20:29:37 +00:00
Dahlia Trimble 49adb6e09f refactor - commenting out needsMeshing() and all references as createMesh() has the same logic and obsoletes the need for it. 2008-07-18 00:03:28 +00:00
Dahlia Trimble 13399ff439 Passes prim physical status to mesher from physics plugins
Small prims now get a full mesh if they are physical
Fixed a logic bug that was preventing many prim meshes from having excess memory cleaned up
Switched to more conservative method of vertex and triangle list trimming to prevent possible crash
2008-07-12 01:58:20 +00:00
Dr Scofield 7d55dfba8a dr scofield's warnings safari:
* commenting out unused variables
2008-06-27 17:25:03 +00:00
Jeff Ames a2b1a1787d Minor formatting cleanup. 2008-06-25 14:30:28 +00:00
Dahlia Trimble 7b4991430b Changes selection criteria to allow meshing of more sphere prim configurations.
Adds comments to some functions in Meshmerizer.cs.
2008-06-21 08:50:56 +00:00
Teravus Ovares e02a2e31e0 * Patch from nlin to enable DIF state file writing from the ODEPlugin
* Rebuilt libode.so, ode.dll
* If you roll your own ODE library, make sure to update your opensim-libs.
2008-06-20 04:57:32 +00:00
Teravus Ovares 11246c284f * Added a check for a non-finite heightfield array value passed to the ODEPlugin. This may, or may not fix anything. 2008-06-04 16:27:35 +00:00
Teravus Ovares 918f887c0c * Applying Dahlia's interim path curve patch. it adds initial support for some tori/ring parameters. Thanks Dahlia!
* Some situations do not match the client's render of the tori, we know and are working on it.   This is an initial support patch, so expect it to not be exact.
* Some tapers are acting slightly odd.  Will fix.
2008-05-29 20:20:50 +00:00
Teravus Ovares 042c9ed4d8 * Adds Top Colliders when using ODE. Access it from the estate tools/debug tab. 2008-05-25 11:22:05 +00:00
Jeff Ames 6ec680918b Formatting cleanup, minor refactoring. Fixed some comparisons of value types and null. 2008-05-18 23:06:50 +00:00
Teravus Ovares 00a1f0bab0 * This finishes the ODE options section of the OpenSim.ini.example. I've added 44 configurable options!
* This includes if you want to mesh sculpties and the Level of detail on the sculptie meshing for non physical and a separate LOD on physical sculpties.
* The options range from gravity..  to avatar movement speed, to friction management..  to object density.. to update throttling.
2008-05-16 20:16:33 +00:00
Jeff Ames 65c5efe43b Formatting cleanup. 2008-05-16 01:22:11 +00:00
Teravus Ovares afd5da6851 * Adds various tweakable avatar control options to the OpenSim.ini.example. 2008-05-15 23:11:31 +00:00
Teravus Ovares 173d13b0a4 * Added about half of the planned ODE physics options to OpenSim.ini.example.
* Some will do cool things, some will make your scene explode dramatically if you're not careful.
2008-05-15 06:35:01 +00:00
Teravus Ovares 66e6711f3e * Got rid of an old crufty sleep that was being called. Thanks for your support in load testing Adam's simulator was what pointed this old crufty sleep out.
* Please, we need more load tests with profilers running. :D
2008-05-15 02:48:32 +00:00
Teravus Ovares 2a988f187e * Refactored IConfigSource into Physics plug-ins and Scene. We can get rid of some of the parameters we pass to it's constructor now like, 'm_allowPhysicalPrim', 'seeIntoOtherRegions', etc.. so on
* The main purpose of this is to provide configuration options for ODE and other physics plug-ins that are advanced enough to be able to be configured.
2008-05-14 23:15:25 +00:00