Commit Graph

625 Commits (e506341fdb9f3b6996d3c97de007f2b142fcddd3)

Author SHA1 Message Date
Teravus Ovares 8a7a0190e6 * Remove some super experimental stuff in BulletDotNETPlugin since it was causing issues.
* Tweak the ODEPrim PID a bit more.
2009-04-16 08:11:05 +00:00
Teravus Ovares eac5d4015d * Committing more BulletDotNETPlugin work
* Tweak the LLSetStatus results in the ODEPlugin.  Hopefully it's a little less unstable.
* ODEPlugin is using experimental math for LLSetStatus, use with caution! :)
2009-04-16 07:31:48 +00:00
Teravus Ovares d34d5eb3f7 * Adding some organization of vehicle type stuff in the ODEPlugin.
* Vehicles do NOT work.  This is just organization and a bit of logical code to make doing vehicles easier
2009-04-14 09:03:18 +00:00
Teravus Ovares c2e75aecd1 * Commit a variety of fixes to bugs discovered while trying to fix the NaN singularity.
* WebStatsModule doesn't crash on restart.   GodsModule doesn't crash when there is no Dialog Module.  LLUDPServer doesn't crash when the Operation was Aborted.  
* ODEPlugin does 'Almost NaN' sanity checks.
* ODEPlugin sacrifices NaN avatars to the NaN black hole to appease it and keep it from sucking the rest of the world in.
2009-04-14 01:57:35 +00:00
Teravus Ovares b326b55bcd * Added finite testing to the character and object constructor 2009-04-07 16:41:07 +00:00
Teravus Ovares 9bbc7e8bf6 * Added a routine to check if a PhysicsVector and Quaternion is finite
* Now validating input to the Physics scene and warning when something is awry.
* This should help nail down that Non Finite Avatar Position Detected issue.
2009-04-07 16:13:17 +00:00
lbsa71 958d764172 * Upped trunk version number to 0.6.4 as we just tagged 0.6.4-release 2009-04-01 19:44:46 +00:00
Dr Scofield aecb4fb72a From: Alan M Webb <alan_webb@us.ibm.com>
Add sanity check to fly-height calculation so that it does
  not attempt to retrieve information from non-existent
  regions.
2009-03-31 12:45:34 +00:00
Teravus Ovares 0318e824ae * Remove a debug line of localIDs 2009-03-30 14:13:56 +00:00
Teravus Ovares 6522b4f5d4 * Fixing thread safety of avatar adding and removing from the Physics Scene in the ODEPlugin
* This may help one of the symptoms or mantis 3363 , however it probably won't solve the occasional NonFinite Avatar Position detected..  issues that some people see.    That is probably an entirely different issue(NaN).
2009-03-30 14:10:24 +00:00
idb aab38c2cb2 Ensure the remembered velocity is zero when physical is turned off on a prim. Without this the velocity gets sent to the client and the prim appears to move.
Fixes Mantis #3303
2009-03-20 15:59:11 +00:00
Justin Clarke Casey acad0328b2 * Make all coded defaults match settings in OpenSim.ini.example
* In most cases, the setting in OpenSim.ini.example is taken as the canonical one since this is the file virtually everyone ends up using
* OpenSim will start up with a blank OpenSim.ini, in which case sqlite is the default database (as before)
2009-03-11 18:02:22 +00:00
Teravus Ovares f9ebdee1d2 * Tweak llMoveToTarget per mantis 3265
* Add some comments to the Wind Module
* Add the BinBVH decoder/encoder as a scene object (to encode/decode animations programmatically).
* Add m_sitState for upcoming code to improve sit results.
2009-03-09 04:33:53 +00:00
idb 93a697b24d Correct a typo, purely cosmetic.
FixesMantis #3263
2009-03-07 14:39:42 +00:00
Teravus Ovares 5a49c772ca * Making the minimum ground offset for flying a configurable offset in the OpenSim.ini. This is the code that causes you to rise off the ground when you press the fly button and attempts to keep you above ground automatically when flying in a simulator.
* minimum_ground_flight_offset, by default is 3 meters, as per Kitto Flora  See OpenSim.ini.example for an example.
2009-03-07 07:17:43 +00:00
Teravus Ovares 6c7151109b * fixes mantis 3259
* I'm concerned however that the 'minimum fly height' should really be implemented in ScenePresence and not in the specific physics plugin so that all of the physics plugins can take advantage of it and if desired, a person could swap out the 'minimum fly height' functionality with other functionality.
2009-03-07 06:51:27 +00:00
Teravus Ovares 3a93bb992f * Added some limits to the maximum force applied per second by llMoveToTarget. Currently, it's 350 times the mass in newtons applied per second, maximum. 2009-03-07 00:27:56 +00:00
Charles Krinke b637a11b58 Fixes Mantis #3260. Thank you kindly, MCortez for a patch that:
llSetHoverHeight() should not clamp the x/y position of an object the way MoveTo does, 
and it should recalculate the absolute height to hover at as an object moves to reflect 
the current ground/water height under it.
Correctly implementing required adjusting the Physics interfaces and implementing at 
the physics plug-in level. The attached is a patch that correctly implements 
llSetHoverHeight() including updates to the ODE physics plug-in.
2009-03-06 23:01:35 +00:00
Teravus Ovares ac84d3d26b * Fixing a few mass calculation errors suggested by jhurliman 2009-03-05 21:59:27 +00:00
Charles Krinke 8f55b9d735 Mantis#3218. Thank you kindly, TLaukkan (Tommil) for a patch that:
* Added log4net dependency to physxplugin in prebuild.xml.
* Added missing m_log fields to classes.
* Replaced Console.WriteLine with appropriate m_log.Xxxx
* Tested that nant test target runs succesfully.
* Tested that local opensim sandbox starts up without errors.
2009-02-22 20:52:55 +00:00
lbsa71 2e095f5727 * Upped VersionInfo to 0.6.3 and in the process, changed assemblyinfo to 0.6.3.* to better track down dll ref and overwrite problems. 2009-02-20 16:47:31 +00:00
lbsa71 5af465a364 * Changed all AssemblyInfo to explicit version 1.0.0.0 to not confuse poor poor Nant. We probably should take the opportunity to let the non-module bins reside in their /bin/Debug dirs later. 2009-02-19 14:51:33 +00:00
diva 3d5a9e6748 This started as way to correct Mantis #3158, which I believe should be fixed now. The flying status was temporarily being ignored, which caused the avie to drop sometimes -- there was a race condition. In the process it also fixes that annoying bug in basic physics where the avie would drop half-way to the ground upon region crossings (SetAppearance was missing). Additionally, a lot of child-agent-related code has been cleaned up; namely child agents are now consistently not added to physical scenes, and they also don't have appearances. All of that happens in MakeRoot, consistently. 2009-02-15 05:00:58 +00:00
Jeff Ames 95d53d48d4 Add copyright headers. Minor formatting cleanup. Fix some compiler warnings. Fix some m_log declarations. 2009-02-13 02:06:28 +00:00
Dahlia Trimble d21601d497 Thanks Kitto Flora for a patch that adds automatic min fly height to ODE - Mantis #3134 2009-02-12 07:58:10 +00:00
Teravus Ovares c0c330988f * Some minor cleanup
* sealed OdeScene
2009-02-08 17:41:15 +00:00
Teravus Ovares 26ca3e26bf Reverts patch from tuco/mikkopa/sempuki mantis #3072 2009-02-08 17:25:02 +00:00
Teravus Ovares b60931b686 * Limit the total number of joints created per frame to the maximum possible without causing a stack collision.
* This fixes crashing on large sets of physical prims because of stack collisions (assuming you follow the directions on linux for starting ode with ulimit).   After the maximum joints are created, objects will start to fall through the ground and be disabled.   Not the best solution, but it's better then a crash caused by a stack collision with the process exceeding the maximum available memory/recursions per thread.
* Make a clean region, make a stack of 5000 prim, 20 layers high.  Make them physical, *SLOW*, but no crash.
2009-02-08 03:02:43 +00:00
Teravus Ovares 08a9a85376 * Fixes colliding with the terrain lower then 0 and higher then 256m
* The actual AABB of the heightfield on the Z is now determined by the minimum and maximum heightfield value in the terrain array (assuming it's a reasonable number).  This might optimize collisions in simulators that have a small difference between minimum and maximum heightfield values.
2009-02-08 01:05:09 +00:00
Mike Mazur 949ae6136e Change access levels from private to protected to facilitate
subclassing; also add new method signatures. Thanks tuco and mikkopa.
Fix Mantis #3072.
2009-02-03 08:31:08 +00:00
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
Homer Horwitz 4b760bba79 - Added the fixed Ode.NET.dll
- Adapted code to match the corrected signatures
- Fixes Mantis #2934. Hopefully.
Note: Physics on linked objects still don't work correctly:
It doesn't crash the region anymore, but the example object in
the mentioned mantis now falls through the ground.
2008-12-31 19:35:46 +00:00
Homer Horwitz 067a9f3d5f Added a missing setMass for initializing the mass of prims 2008-12-31 19:35:33 +00:00
Justin Clarke Casey e4c7bdc730 * Remove mono compiler warnings
* Leaving the 23 warnings in ChildAgentDataUpdate.cs for Diva to look at
2008-12-30 20:48:31 +00:00
Jeff Ames 2be0f7a6f0 Update svn properties, minor formatting cleanup. 2008-12-30 01:08:07 +00:00
Teravus Ovares 6eed7fcd1e * More NINJA Joint physics fixes from nlin.
fixes mantis #2874
2008-12-28 16:30:00 +00:00
Teravus Ovares b378bd33ad * Fixes mantis #2922
* Converts some C# 3.0 syntax into it's 2.0 equivalent so that Visual Studio 2005 can compile it successfully.
2008-12-27 00:17:08 +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 8ad6f575eb * Implements the torque/Rotational Impulse methods in the PhysicsAPI and the ODEPlugin and pipes them to their respective LSL method.
* NBody will need to be updated, this is an API change.   Torque property and AddAngularForce
2008-12-14 14:30:28 +00:00
Teravus Ovares b5dec9a37f * Added Avatar minimum size in the ODEPlugin and a stern warning about setting the capsule size too low in OpenSim.ini 2008-12-14 07:29:40 +00:00
Teravus Ovares 6f7a560c04 * A Few physical prim + linkset fixes. Prevent some crashes 2008-12-14 06:34:05 +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 cb73cf1a92 * Fixes a few instances of llSetStatus with Axis lock gone wrong.
* Sums up the masses of the objects within a physical linkset
2008-12-09 16:27:07 +00:00
Jeff Ames 3ba0bc8f44 Minor formatting cleanup. 2008-12-09 12:15:02 +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
Justin Clarke Casey a760586f26 * minor: remove mono compiler warnings 2008-11-14 20:15:22 +00:00
Melanie Thielker ce37b80c68 Thank you, idb, for a patch that fixes avatar height calculation
Our feet will now be above ground
2008-11-10 01:28:37 +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 8ed4821c47 Clean up the mass < 0 logic a tiny bit when
calculating mass.
2008-11-09 18:22:36 +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
Justin Clarke Casey 4df08aed30 * Apply http://opensimulator.org/mantis/view.php?id=2401
* Removes spacers that are also separators in llParseString2List
* Thanks idb
2008-10-16 17:14:02 +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
Charles Krinke 6758ecc403 Implement the plumbing for llSetVehicleType from the LSL
subroutine down through the physics modules through PhysActor
and SceneObjectPart. No connection to the physics simulators.
2008-09-28 22:38:59 +00:00
Charles Krinke ebbbd37605 Added the plumbing for llSetVehicleRotationParam
in the classes between the LSL implementation and the
underlying physics engines.
2008-09-28 21:53:56 +00:00
Charles Krinke 3747862999 Plumb the connection though from llSetVehicleVectorParam
to the various physics engines. No connection to the 
underlying physics simulator yet, just plumbing through
the various classes.
2008-09-28 20:20:32 +00:00
Charles Krinke 3397236c6c Plumb the connection through from llSetVehicleFloatParam
to the various physics engines. No connection to the 
underlying physics simulator yet, just plumbing through
the various classes.
2008-09-28 18:36:30 +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
Jeff Ames c8349e21c4 Update svn properties, minor formatting cleanup. 2008-09-21 02:41:22 +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
Melanie Thielker 903fbd1f06 XEngine: fix collisions, add event coalescing for collision events.
Fix a nasty concurrency issue that could cause a high event frequency
to start more than one thread pool job for a single script.
2008-09-18 18:50:39 +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
Dahlia Trimble 2c842652c1 ODEPlugin now frees source mesh data after conversion to pinned lists to save memory 2008-08-27 23:39:50 +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
Teravus Ovares 1e7c9e4810 * Fix the ODEPlugin unit test 2008-07-25 05:23:10 +00:00
Dahlia Trimble c67198299e Changed application of constant forces to after PID force is applied. llSetForce() should behave identical to the Linden implementation now. 2008-07-24 21:05:30 +00:00
Dahlia Trimble f74a9bcdc7 Implements llSetForce() and llGetForce(). These are experimental and the units may not match the Linden implementation. 2008-07-24 07:45:58 +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
Dahlia Trimble f6c7f167b9 Overloads CreateMesh method of interface IMesher to pass prim physical status to mesher 2008-07-12 01:02:41 +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 c0f631dbdb * While I couldn't reproduce it, I was able to see how it *might* happen, so therefore; fix to: 0001058: Physics crash when changing Type of Prim intersecting with ground. 2008-06-02 08:13:13 +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
Teravus Ovares d3b013be1c * Releases Pinned vertex/index list in ODE on next mesh request. 2008-05-25 02:39:58 +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
Jeff Ames a5f08b430d Formatting cleanup. 2008-05-17 00:06:35 +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
Jeff Ames 6a1b787436 More formatting cleanup. 2008-05-14 05:33:32 +00:00
Jeff Ames c995d60d37 Formatting cleanup. 2008-05-14 05:11:23 +00:00
Teravus Ovares 08ec34e4d3 * Removed ODELock message since it wasn't telling us anything important and people seemed to think it was the cause of their issues rather then a message to help locate a situation where physics stalls for a second and then kicks.
* This was simply a message added when an avatar was added/removed from the scene.
2008-05-08 16:07:41 +00:00
Adam Frisby ba8ff761c0 * Reduced sleep durations in a number of files. 2008-05-08 04:47:38 +00:00
Teravus Ovares 240e8646da * If you llApplyImpulse on an attachment, it applies impulse on the avatar, not the attachment. 2008-05-06 00:23:19 +00:00
Teravus Ovares e8acb49fef * For your fragging desire, damage enabled land works, but watch out!, life does not regenerate until you're dead! 2008-05-03 15:39:40 +00:00
Teravus Ovares 07167c9a3f * Committing some collision stuffs that I'm working on.
* Nothing user facing yet.
2008-05-03 04:33:17 +00:00
Jeff Ames d51ce47b2d Update svn properties. Minor formatting cleanup. 2008-05-01 14:31:30 +00:00
Teravus Ovares 1d9c68969e * ODE Tweak. See if this helps. 2008-05-01 00:54:21 +00:00
Teravus Ovares 911e63765c * Single Attachments now work from inventory. You can attach from inventory and detach from inventory.
* Detaching from right clicking in world, detaches to your inventory.
* If you go up to a prim and attach it from in world, it appears in your inventory.
* Attachment placement is saved when you detach them. 
* Choosing wear remembers your last attachment point from inventory.
* Wrote a method to update an inventory item's asset and sends the updated inventory item to the Client
* Wrote a recursive method to find the folder of a known existing inventory item.
* Removed a block on physics object position on creation.  This might crash a region or two, let us know via Mantis if your region crashes because of a physics out of bounds error.
* Drop doesn't work.  The menu item doesn't even come up.  Don't know why :P.
2008-04-27 20:10:28 +00:00
Teravus Ovares d023c331f8 * Tuned the llMove2Target PID controller to be more reasonable and not overshoot the target. 2008-04-24 22:26:26 +00:00
Teravus Ovares aa8aee90a3 * Adds much better support for attachments that you right click on in world.
* Your friends can see your attachments now.  People who appear in the sim after you've attached something can also see your attachments.
* You can position & rotate your attachments now.  Positions do *not* save.
* You can detach attachments now the regular way.
* Attachments do not cross into other regions with you..(this isn't too far off)
* Updated ODE to not request terse updates on child prim.
2008-04-24 11:32:41 +00:00
Teravus Ovares 2a3bdde0fa * Adds llSetStatus(STATUS_ROTATE_X | STATUS_ROTATE_Y | STATUS_ROTATE_Z,TF)
* Currently if you apply that to only one or two axis you get unpredictable and sometimes explosive results.
* Three axis works well enough to play with it anyway.   More work is needed here.
* Fixed an incorrectly named method in ODE.NET
2008-04-23 15:32:19 +00:00
Adam Frisby fef3b36894 * Optimised using statements and namespace references across entire project (this took a while to run). 2008-04-21 07:09:17 +00:00
Teravus Ovares 9fec575b3e * Made it safe again to use the restart button from the estate tools and the restart console command.
* It looks ugly on the console..   but it's really safe..  and restores some memory.
2008-04-10 10:27:03 +00:00
Teravus Ovares b85624db18 * Adds twist support for Cubes, Cylinders, and Prisms in the Meshmerizer
* A tweak of the SimStatsReporter so it would report the prim capacity to be 45000.
2008-04-10 00:31:44 +00:00
Teravus Ovares d0f7784101 * Adds poor support for ellipsis in the Meshmerizer. This will get better.. notice the huge nasty facets! Regular spheres still work as they did. 2008-04-08 01:29:45 +00:00
Teravus Ovares 899f00b83d * Fixed up some documentation
* Should help the sinking feeling when new avatar arrive in the scene.
2008-04-06 06:42:54 +00:00
Teravus Ovares 2d33bf854f * ODEPlugin: put a limit on the minimum size a prim can be ( scale <=0 ). 2008-04-03 04:02:46 +00:00
Teravus Ovares b790a16e98 * Updating the version of the ODE library. (big update). The Mac library needs to be updated still.
* Adding some XMPP stuff that's incomplete.
2008-04-02 01:03:31 +00:00
Teravus Ovares 8aa4308097 * Minor cleanup 2008-03-30 19:58:14 +00:00
Jeff Ames 9d1b42c39a Comment out unused private methods. 2008-03-25 03:49:08 +00:00
Teravus Ovares a21112ccee * Adds llMoveToTarget and llStopMoveToTarget support to the ODEPlugin.
* It doesn't generate at_target events, because they don't exist yet in the script engine.
* The Tau is different, however, compatible with scripts I tested.
* Not perfect...  but pretty good.
2008-03-25 03:36:31 +00:00
Charles Krinke 21e5e65bb7 Comment out "m_randomizeWater" and "ms" until we use them later. 2008-03-21 16:52:55 +00:00
Jeff Ames 47180080f0 Formatting cleanup. 2008-03-18 05:16:43 +00:00
Teravus Ovares abacfba287 * Preliminary work with the ODEPlugin to collect collision data. 2008-03-14 05:22:52 +00:00
Teravus Ovares f46fcbb9d2 * Added Linear Acceleration reporting to the ODEPlugin.
* Added support for LSL llGetOmega (Rotational/Angular Velocity)- ODEPlugin is the only physics plugin that reports it.
2008-03-10 14:14:44 +00:00
Teravus Ovares d0123a796b ODEPlugin
* Added osSetPrimFloatOnWater(BOOL) to make Physical prim float at the water level.   
* osSetPrimFloatOnWater(TRUE); or osSetPrimFloatOnWater(FALSE);
* By default, prim do not float at the water level.
* More work is needed on the floating, but it's a start.
2008-03-10 05:56:58 +00:00
Teravus Ovares 8bea3dbdb9 * Added ODEPlugin Support for llSetBuoyancy. Set Buoyancy to 1 for space prim.
* Added WaterLevel support to the ODEPlugin.   More on this later.
2008-03-10 05:23:43 +00:00
Teravus Ovares 8bba8e232c * Fixed a few things and enabling Physical Prim border crossings again.
* Everyone try to push a physical prim across a region border now.
2008-03-09 20:29:59 +00:00
Teravus Ovares 7cae577094 ODE Plugin
* More cleanup
* Less noise
2008-03-09 17:50:24 +00:00
Teravus Ovares 5b6eba968b * Fixed the Link + Duplicate + Unlink both = 'ODE Invalid Argument in Collision Space Crash'
* Added: Console comment: [PHYSICS]: The scene reused a disposed PhysActor! *waves finger*, Don't be evil.
2008-03-09 16:32:44 +00:00
Teravus Ovares 081b2ac34e * Cleaned up some locking on the ODEPlugin to make it more developer friendly
* Expect the occasional deadlock?
2008-03-09 15:43:01 +00:00
Teravus Ovares 0cb4e401ad * Killed 4 more warnings (at 16 now) 2008-03-06 09:41:34 +00:00
Adam Frisby 1410210b84 * Four more warnings, etc etc. 2008-03-05 22:00:41 +00:00
Adam Frisby 810d2126ea * Three more warnings are a-gone. 2008-03-05 21:56:14 +00:00
Jeff Ames cd6f4a57e7 Added copyright heaaders. Minor cleanup. 2008-03-04 04:11:37 +00:00
Teravus Ovares d015356902 * Applied patch 708 from devalnor. Thanks devalnor!
* ODE: Added support for larger box stacks. (they're slow, but they work)
* ODEPlugin no longer tries to 'catch up' with the simulator frame rate if it gets behind.  Catching up was causing a lot of problems with larger box stacks and other things that stall the simulator (like saving prim in the datastore)
2008-03-03 16:52:25 +00:00
Teravus Ovares 0a5c48b1c8 * This is a very icky implementation of physical linkset prim using fixed joints. This will change quite drastically, however it's fun to play with.
* To play with this you must link your prim before setting it physical, otherwise they won't link in the physics engine properly.  This will also be fixed.
* Currently the linked prim are extremely unstable because I have yet to implement combining of forces with the same normal. This will also be fixed.   In fact, the whole PhysicsActor, ODEPrim relationship will be reworked to consider groups from the get-go.
* This implementation is better then it crashing your sim, so I'm commiting it for now.
2008-03-02 09:31:39 +00:00
Teravus Ovares fa7322eac9 * Fixed Cylinder mass formula using diameter instead of radius. 2008-02-29 06:55:31 +00:00
Teravus Ovares fe1f15f4ec * killed a 'new mass' debug line. 2008-02-29 05:50:40 +00:00
Teravus Ovares e333eaf4b6 * ODEPlugin
** Added more realistic calculations of mass for the rest of the supported prim shapes+holes+cuts+tapers.  Previously they were the generic height * width * length. Spheres roll (Angular velocity) more realistically, etc.
2008-02-29 05:46:24 +00:00
Teravus Ovares 95def8c636 * Adds unit test glue to the OdePlugin.
* Adds one unit test. CreateAndDropPhysicalCube.
* More unit tests will be done
* Let me know if this breaks Linux build..
2008-02-24 04:06:01 +00:00
Teravus Ovares bbb8b66908 * Made Physics updates a teensy bit more responsive. A previous CPU optimization of mine slowed the speed of updates using the 'poll' method in certain circumstances. 2008-02-23 12:46:23 +00:00
Teravus Ovares db264013d4 * One more fix to the selected feature
* Don't act immediately on a physical prim unless it's moving.
* This helps when you're trying to make a box stack and you select the bottom most box.
2008-02-23 12:26:37 +00:00
Teravus Ovares 27508c1ad8 * Added Support within the ODEPlugin for Selected. Which means that;
* When you select a physical prim, it stops while you've got it selected.
* When you move or alter a prim in some manner, it doesn't become collidable until you de-select it
* When you select a prim, it doesn't become temporarily 'phantom' until you make some change to it while it's selected. (this prevents accidental selections in prim floor from causing it to go phantom on you(but don't move it or you'll fall))
* There's one major difference, and that's a physical object won't stop if you don't have permission to edit it.  This prevents people who don't have edit permissions on a prim from stopping it while it's moving.
2008-02-23 11:42:55 +00:00
Teravus Ovares 640ad259d4 * A few additional null checks in the Physics Scene and PhysicsActor so we don't try to enumerate dead null ODECharacter objects when things get *really* slow. 2008-02-21 14:51:39 +00:00
Jeff Ames a8cfbbe963 Minor cleanup. 2008-02-20 18:38:20 +00:00
Teravus Ovares e789a6bc9b * This patch adds Prism support to the Meshmerizer. Prism is one of the object types in the drop down on the object tab. Positive tapers are slightly incorrect(prim sinks into ground a tiny bit). Everything else that's supported works as expected. Hollow, cut, negative tapers, top shear. 2008-02-19 08:49:38 +00:00
Teravus Ovares 8edaada1d3 ODE: Tired of floating above the ground after crossing a border? Boy have I got a solution for you! For a limited time, you can be the right height after border crossings automatically. Just three easy payments of $9.95 and make sure your neighbor is sending child agent updates! 2008-02-18 01:52:25 +00:00
Teravus Ovares c2d7beb617 * Last bit of cleanup now. As long as you keep physical prim off, you should have a reasonably stable experience with ODE again.
* Physical prim at the simulator edge still seems to have the occasional issue.
2008-02-17 20:40:21 +00:00
Teravus Ovares f80a534eb0 * Various ODE Cleanups 2008-02-17 20:04:28 +00:00
Teravus Ovares 89349a3810 * Disabling physical prim crossings until they get a bit more stable. 2008-02-17 12:10:47 +00:00
Teravus Ovares e33a0c5fc0 * Fixed the Ghost physical hull on deleting a physical Prim
* Fixed a deadlock when there is an exception in the collision and stepping parts of Simulate.
2008-02-17 11:50:15 +00:00
Teravus Ovares 19e0ada93a * Located and destroyed the weird velocity and rotation transfers. It turned out to be that the Static PhysicsVector.Zero was transferring velocities between all non fixed objects. Not so static after all :(. Finding it was cruel and unusual punishment from the CLR.
* Therefore, when you run through a pile of prim you won't see things rotate when they're not supposed to anymore.
* Avatars don't float off either.
2008-02-17 10:41:08 +00:00
Teravus Ovares be6edefcfb * ODE Stability update 4 :D
* Changed the way meshing requests get sent to the ODEPlugin
* Numerous other fixes
2008-02-15 21:35:52 +00:00
Adam Frisby f3afa68a2a * Made new Framework.Constants class, added RegionSize member.
* Converted all instances of "256" spotted to use RegionSize instead. Some approximations used for border crossings (ie 255.9f) are still using that value, but should be updated to use something based on RegionSize.
* Moving Terrain to a RegionModule, implemented ITerrainChannel and TerrainModule - nonfunctional, but will be soon.
2008-02-14 12:16:33 +00:00
Teravus Ovares 135a72d6ca * Removed the noise from the console. The last commit seems to have resolved the recent reports of 'argument not a space' on linux. Though, there were about 50 changes :D 2008-02-14 10:07:15 +00:00
Teravus Ovares bd880f9178 * Another ODE Stability update. This might fix the recent Linux issues with the ODEPlugin. 2008-02-14 09:31:22 +00:00
Teravus Ovares e3a711536b * ODE - This fixes a few things and breaks a few more. 2008-02-14 01:57:19 +00:00
Jeff Ames 4e005fc225 Cleaned up some typos. 2008-02-14 00:44:21 +00:00
Teravus Ovares 0d14c47c28 * Bigisn ODE Stability update 2 2008-02-14 00:39:08 +00:00
Teravus Ovares 3588d89b2c * Bigish ODE stability Update. Run Prebuild 2008-02-13 23:14:41 +00:00
Teravus Ovares 2e89c01851 * This fixes mantis 553 (It appears that the exception is thrown when there is a collision with a cylinder that is both hollowed and either tapered or cut. The sequence of actions that reproduce the problem for me are: create a cylinder, hollow to 95%, taper X/Y, then collide it with another object or avatar. Note that the cylinder itself is not marked physical. ) 2008-02-13 19:06:35 +00:00
Teravus Ovares c1044039d4 * Removed a debug line that got called every frame. 2008-02-13 08:37:50 +00:00
Teravus Ovares d773ca5147 * Made physical prim stable enough for the general population to turn on. (though I still don't recommend it for welcome regions unless object build is off.
* Updated the ode.dll for windows with a more reasonable stack space reserve.  Linux users will need to type ulimit -s 262144 before starting up OpenSimulator if using Physical Prim to protect against stack collisions. or run the included ./bin/opensim-ode.sh to start up OpenSimulator in ODE mode.
* Added internal collision score and am keeping track of 'high usage' prim.
* Tweaked collisions some more
* Tested up to 460 physical prim in extremely close quarters (which was previously impossible in OpenSim).  After 460 in tight quarters, physics slows down enough to make it hard to do any moving, however..  non physics things still work, such as logging on to the simulator, etc.
2008-02-13 07:50:15 +00:00
Teravus Ovares e5ede36f0c * Physical prim cross borders and continue from where the left off on the other side now, assuming the region on the other side has physical prim enabled. 2008-02-12 07:32:32 +00:00
Teravus Ovares 6e01769bcf * A bunch of updates to make things more smooth.
** Sending the actual TimeDilation to the client now instead of the 62455 constant.  The client is *supposed* to use that value to sync with the simulator.    (actually sending ushort.maxvalue * TimeDilation)
** Disabling prim that inter-penetrate instead of just not attaching a joint
** Reduced prim spin a 'little' bit, but not *enough* 
** Tweaked the TimeDilation algorithm to be closer to 1.0 by default and various changes to the sim stats reporter 
** Created a .SetValues method to PhysicsVector so we can simply call the setvalues function instead of .x, .y, .z sets.
** Experimented with a .GetBytes Method on PhysicsActor to be able to use the LLVector3.FromBytes() method.   
** Upped the Inter-penetration depth to 0.25 instead of .08.
2008-02-12 04:27:20 +00:00
Teravus Ovares c926962862 * This resolves the null exceptions when a script is manipulating a physical object in ODE and you delete the object. The script is still running and trying to add force, but the object reference is null. 2008-02-12 00:01:55 +00:00
Teravus Ovares f603e57e9a * Added PhysicsScene.Dispose()
* In ODE, disposing of all of the ODE objects and the ODE World to reclaim memory when the simulator restarts.
2008-02-11 22:54:51 +00:00
Teravus Ovares a56664cf59 * um, Prim crossings? Experimental.
* Backup your database just in case.
2008-02-11 01:43:54 +00:00
Teravus Ovares c9b5516ca8 * Adds Top Shear support to the Meshmerizer for the Cube prim and the Cylinder prim. 2008-02-09 05:18:52 +00:00
Teravus Ovares fec65b3c69 * Tweaked timing of rapid mesh requests. Helps a race condition. 2008-02-09 04:08:26 +00:00
Teravus Ovares bb5b88d161 * Fixed a situation in ODE where it didn't call the mesher on a cube when you tapered if you didn't have a cut or a hollow. 2008-02-08 23:48:27 +00:00
Teravus Ovares 50acb8e634 * This update adds limited support for Cylinder meshed prim in the Meshmerizer plugin. (Limited because path cut is wrongly offset and while Hollowing works, you can walk through the inside wall.) 2008-02-08 11:32:56 +00:00
Jeff Ames 6ed5283bc0 Converted logging to use log4net.
Changed LogBase to ConsoleBase, which handles console I/O.
This is mostly an in-place conversion, so lots of refactoring can still be done.
2008-02-05 19:44:27 +00:00
Teravus Ovares 96f6add4ad * ODE:Fix copy and paste bug in space calculation limits 2008-02-01 14:05:22 +00:00
MW 5099be8072 Temporary try catch around calculateSpaceForGeom() , to see if it gets past mantis issue #435 (for now) 2008-02-01 13:10:40 +00:00
Teravus Ovares bec71977ab * Added more supported feature to particlesystems. While this appears to have a libsl update... it's really a fix to the libsl version we're already using because of a bug in the particlesystem implementation
* Added two new simstat counters in the simstat enum for the RCCS.  (I'll find something cool to put in them)
* fixed a time waster in ODEPlugin.cs
2008-02-01 04:22:20 +00:00
Teravus Ovares 9722b6ad53 Updating ODE.NET as the version I used possibly caused the slowness. 2008-01-30 08:58:44 +00:00
Teravus Ovares 02d672de36 * See if this helps Nebadon. 2008-01-30 08:30:22 +00:00
Teravus Ovares cb05b76b83 * This update restores *nix support
* This stability optimization is disabled on Apple Computers until the .dylib library is updated.
2008-01-30 07:46:48 +00:00
Teravus Ovares fc9b3ec5a8 * Experimental ODE Update to make ODE more stable
* WARNING: This update will break *nix support. Will be restored in the next revision
2008-01-30 07:09:58 +00:00
Teravus Ovares c4687116ad * Implemented grab and throw in ODE. It's a little strong still so toss gently at first to test the waters or you'll lose prim to the pit at the edge of the sim. Make sure the object is physical before trying to toss it or it'll just move to the new location. 2008-01-29 15:10:18 +00:00
Teravus Ovares 4742a172e2 * This fixes the stair issue that Sdague reported on *nix. Be aware that if you cross a border into a region, the new region doesn't know your height and therefore you're about a meter off the ground. If the region doesn't know your height, you won't be able to climb steps. If you're in that state, edit your appearance and the region will learn your height and you will again be able to climb steps. 2008-01-29 01:20:43 +00:00
Teravus Ovares 035d807847 * ODE Going to Time Step 0.020 = (1000\20) - ((1000\20) * .09) = ~45 pfps 2008-01-28 04:31:40 +00:00
Teravus Ovares 5e36feada2 * Mostly ODE update. Things are a bit more behaved then the last experimental update. 2008-01-28 03:25:02 +00:00
Teravus Ovares 205001ab8d * Highly experimental ODE_STEPSIZE = 0.025f - 1000 / 25 = 40fps - 10 substeps with fallback to 5 substeps when things get slow
* Just to give you an idea of the difference ..    previous ODE_STEPSIZE was 0.005f - 1000/5 = 200fps - 10 substeps with fallback to 5 substeps when things get slow
* *nix avatar may fall over again, *sorry*
2008-01-27 03:18:10 +00:00
Teravus Ovares 254e047dad * Shifted strategy of detecting specific *nix distributions to detecting *nix.
* Let me know if all your avatar are standup.
2008-01-26 17:38:30 +00:00
Justin Clarke Casey 75d91c387a * Changing && to || as suggested by dirk and ChrisD, also looks sensible to me
* Please revert if this is wrong, Teravus
2008-01-25 16:36:00 +00:00
Teravus Ovares a2f11a000a * Added Ubuntu to the OS detection routine. This seems to have helped on Debian. 2008-01-24 22:49:35 +00:00
Teravus Ovares f0811e4800 * This update updates ODE to again use the AMotor to keep the avatar upright instead of the 'avatar wobble' This also uses a hack to detect debian and change the force applied by the AMotor to a different value for Debian. The intent of this all is to get the avatar to stand up in Debian with the AMotor. 2008-01-23 23:57:54 +00:00
Teravus Ovares 6874beff52 * When Scene loads, added a platform string print out for testing purposes. Anyone on Debian want to run this revision and send me back the two platform lines? It would be helpful. 2008-01-23 22:07:48 +00:00
Teravus Ovares af43349294 Giving Mantis 393 a shot (not enough info to really know for sure though). 2008-01-22 09:06:44 +00:00
Teravus Ovares 4f9c7288cd * Announcing the alternative prim early adoption program.. Adding regular spheres to the physical prim mix.
* Be advised..   these are not ellipsoids..  these are spheres.
2008-01-19 22:51:16 +00:00
Teravus Ovares 741d136f8c * Return of the avatar wobble. 2008-01-18 21:38:47 +00:00
Teravus Ovares b7ab6d705a * Physics update to perhaps help people who have capsules that have capsized 2008-01-18 19:01:35 +00:00
Teravus Ovares dc5ab8b6c3 * Friction reduction update.
* It's a known fact that the greater the friction the more computationally intensive a physics simulation with it is....
2008-01-18 02:32:34 +00:00
Teravus Ovares ecd6c1110a * ODE Physics update. fixed weird rotation of the avatar surrogate.
* Set the avatar's radius to 0.37m, I think this gives the *best* balance between spaces the avatar can fit, and the ability to climb steps
* Fixed a few things
* Tweaked some more
* Played with gravity (-9.8m/s)
2008-01-18 02:26:43 +00:00
Teravus Ovares 18c959df12 * Added llApplyImpulse in the global frame. The object must be physical before this'll do anything. Be careful with this function as it's easy to loose prim. 2008-01-17 14:59:05 +00:00
Adam Frisby b25f9f322c * Mother of all commits:
* Cleaned up copyright notices in AssemblyInfo.cs's
* Added Copyright headers to a bunch of files missing them
* Replaced several common string instances with a static constant to prevent reallocation of the same strings thousands of times. "" -> String.Empty is the first such candidate.
2008-01-15 02:09:55 +00:00
Teravus Ovares a522d7844b * First pass at collidable linksets
* There will be bugs, you can count on that. To avoid them, set the linksets phantom
* After region restart, the linksets restore in a non collidable state.
* Linksets can but shouldn't be made physical with the physical checkbox or when you unlink them, they tend to explode.
* After creating a linkset, you have to move the linkset or set it phantom and not phantom for it to become collidable.   
* There's a few ParentGroup references that need to be refactored.
2008-01-14 18:29:04 +00:00
Teravus Ovares 30714c044e * HeightField handling update in ODE. Should improve the terrain pits. So far, only windows lib updated. Need to do the Linux version.
* Update also checked into opensim-libs
2008-01-13 22:11:49 +00:00
Teravus Ovares 4f39df42ae * Removed a debug message that I left in there.... 2008-01-13 08:07:45 +00:00
Teravus Ovares d9e4533202 * Fixed an overflow in the land manager
* Did some goofy math undoing in the Sim Stats Reporter
* More reduction to the amount of calls per second to UnManaged ODE code
* Added a significant amount of comments to ODE
2008-01-13 07:14:54 +00:00
Teravus Ovares 7e81841f0e *ech one thing didn't save from the last commit 2008-01-12 04:14:06 +00:00
Teravus Ovares 786da7847b * Fixed a waste of resources in ODE. Possibly a cause of thread leak.
* Border crossings within the same opensim instance seem better.
2008-01-05 02:19:08 +00:00
Teravus Ovares 32438ab1b9 * This update rolls back the packetpool and LibSL changes. Please retest and then patch these changes back in. Currently it's not quite ready for 0.5. The down side to this action, is that we loose some performance to the garbage collector for now. Given that the target date for 0.5 is *Two days* from now, I'm taking the initiative to work towards a real stable version.
* This update also fixes scripting and some weird physics reactions
2007-12-30 06:18:17 +00:00
Teravus Ovares 67bbed8202 * Added ability to create new prim on existing prim (rezzing prim from inventory on other prim coming soon). No more new prim buried in the ground by accident.
* The prim are at the absolute position of the prim you rezzed it on top of + (0,0,0.5) for now.
2007-12-28 05:25:21 +00:00
Teravus Ovares 776e83941a * Fixed Physical prim, various issues, viewer freezes, sim crashes, ODE errors, etc. 2007-12-27 23:19:00 +00:00
lbsa71 efd90b56b7 * Optimized usings
* shortened references
* Removed redundant 'this'
* Normalized EOF
2007-12-27 21:41:48 +00:00
Teravus Ovares f852b64555 * This update includes a wide range of changes to the ODEPlugin for avatar movement, including:
** - avatar can navigate stairs better now
** - avatar can land without shooting into the air
** - excessive collisions with the ground are tempered somewhat and should only shoot the avatar up 20m instead of 200m
** - Try Catched a TextureDownloadModule.cs array out of bounds error with a report that causes it not to crash the sim, however it reports a few important items for tracking it down.
2007-12-26 17:16:47 +00:00
Teravus Ovares 0e460a81cc * Coded around another Null packet sent by the packet pool
* Condensed 8 calls to unmanaged code in ODE down to 1
2007-12-26 04:23:36 +00:00
Teravus Ovares 2259bc8ebf * Added a -val heightfield value limiter so giant pits of death don't cause avatar to go into an endless plunge to the middle of the earth. 2007-12-26 01:53:08 +00:00
Teravus Ovares e008c3e4a9 * Added the ability to land automatically on prim by pressing the page down button when over them and colliding
* Reverted the avatar portion of the inter-penetration physics scene explosion management, it needs more work.
2007-12-26 00:57:37 +00:00
Teravus Ovares de43f7e858 * ODE: now using the 10.00000638 density value on prim. 2007-12-24 05:48:16 +00:00
Teravus Ovares 9f886083ab * Fixed general avatar bounciness in ODE
* Craggy terrain mishandling by ODE still occasionally causes point bounciness
2007-12-22 07:23:02 +00:00
Teravus Ovares de32006f9a * Added smoother handling of interpenetrating physical objects.
* Fixes:
* -- duplicating Active physical object causes objects to explode in opposite directions
* -- Rezzing objects too close to you avatar causes avatar to shoot around in odd directions
* Vanity
2007-12-22 05:43:34 +00:00
Teravus Ovares 27e0287526 * Re-did the mass calculations in ODE for Prim
* Exposed the mass as a PhysicsActor read only property (so scripts can get at it - hint hint -)
* Hollow and Path Cuts affect the prim mass (all Hollow Types are supported in this calculation (sphere,square,triangle))
* Prim no longer sink into the ground.
2007-12-19 22:42:06 +00:00
Jeff Ames 6702b03733 Misc. cleanup:
* added Util.Clip(value, min, max)
* modified asset cache's numPackets calculation to use max packet size (600) instead of 1000
* removed a few magic numbers
2007-12-19 08:44:25 +00:00
Teravus Ovares 81828c9b14 * Added an Avatar control tweak that disables the PID controller in certain circumstances.
* This allows collisions with other avatar and prim with a velocity greater then 0 to push avatar around.
2007-12-15 05:08:08 +00:00
Teravus Ovares 081f4403ea * Added some simstats to fill the simulator pane of the Statistics monitor.
* I stress, this is an initial implementation and the Agents(Child and Root) are definately obviously incorrect.
2007-12-12 06:58:55 +00:00
Jeff Ames 712efda9b9 added copyright notices 2007-12-11 01:26:06 +00:00
Jeff Ames af6eb67999 saved OpenSim source code from the giant rampaging unterminated copyright notice of doom 2007-12-10 05:25:16 +00:00
Jeff Ames f195725db4 keeping opensim safe for children -- made some namespace references less explicit 2007-12-04 22:14:53 +00:00
Teravus Ovares 90b66f8509 * Flying with ODE and got that sinking feeling? This should help 2007-12-04 05:31:47 +00:00
Jeff Ames 21c35d5703 set svn:eol-style 2007-12-04 04:59:27 +00:00
Teravus Ovares 4f05347246 * Split out the ODEPlugin Nested classes. 2007-12-04 02:51:09 +00:00
Teravus Ovares 5061808afc * Now using interpolation to expand the 256x256 heightfield data to 512x512 before it's passed to ODE. 2007-12-03 19:21:26 +00:00
Teravus Ovares 0ec208a200 * Resize terrain heightmap info going to ODE to double the resolution.
* Using the nearest neighbor method, interpolation coming soon.
2007-12-03 13:11:15 +00:00
Teravus Ovares b7d596a6af * Restaring the sim works fine in grid mode now. Sims announce themselves to their neighbors when they start up. Neighbors get this message and tell their agents that there's a new sim up.
* Certain unrecoverable physics based crashes in ODE are now hooked up to the 'restart the sim' routine.
2007-11-28 06:18:07 +00:00
Teravus Ovares 7cb38712d5 * Did some initial work for prim crossing. Just glue so far.
* Added the child_get_tasks OpenSim.ini flag for testing the UDP packet sending code and packet throttler.   This flag gets purposely disabled in grid mode.  This flag also has the consequence that you can see the prim in neighboring regions without going into them.  Be warned, this causes tons of dropped packets.
2007-11-21 02:17:24 +00:00
Teravus Ovares 5a71d03b7a *Huge* structural changes in ODE/OdePrim to get all of the calls in threadlocked code. ODEPrim was almost completely re-written.
Copy/Space test needed.
2007-11-20 04:38:08 +00:00
Teravus Ovares 79e9d4faf9 Tweaked for a possibility of 10 elements. 2007-11-19 16:12:53 +00:00
Teravus Ovares 4eb4082e27 * Added noisy debug information on the Verbose console to help debugging oddly placed prim. 2007-11-19 15:59:05 +00:00
Teravus Ovares 4afe393ce4 * Space allocation fix for prim outside region. >256 & <0. 2007-11-19 15:37:50 +00:00
Teravus Ovares 2910f1b949 Fixed - outside of bounds error. 2007-11-19 12:28:00 +00:00
Teravus Ovares aaab1448f7 * Split space array structure into a two dimentional array instead of a single one. Once again. Should help debugging space/copy issues. 2007-11-19 04:15:18 +00:00
Teravus Ovares 72525d3015 Added medium debug information to Verbose mode of the console about Prim/space movements. Should help make sense of the copy prim bug. Use for Pastebin. :D 2007-11-19 03:06:17 +00:00
Teravus Ovares 694bab9513 * Copy/SpaceBorder Fix attempt number 3, hopefully the last 2007-11-18 20:45:47 +00:00
Teravus Ovares 3bb4cd51fd * 2nd attempt to fix the Spaceborder/copy bug 2007-11-18 20:24:51 +00:00
Teravus Ovares 7672237bcd * Tentative Bug fix for OptikSL's intermittant Copy prim error. 2007-11-18 17:25:12 +00:00
Teravus Ovares 54df1a57d7 * Fix Null comparison for Mono 2007-11-17 21:00:35 +00:00
Teravus Ovares 8a57dd207f * Fixed space related SimCrasher ODE error when a prim disables itself because it's out of bounds and user moves it back into the space. 2007-11-17 20:34:56 +00:00
dan miller d71b28c731 Out of a fog of alcohol and adenovirus, I present - POS!
EXTREMELY basic collision detection; walk on prims
don't rotate anything
do not feed or annoy POS
YMMV
2007-11-17 09:59:07 +00:00
Teravus Ovares df507605cd * ODEPlugin Thinned the avatar out to average SL thin-ness. There's more work to be done on this, however, avatar will have a lot less difficulty getting into tight spaces/prim cuts 2007-11-17 05:16:36 +00:00
Teravus Ovares 3041747bcd * ODEPlugin - fixed issue where resizing prim causes the prim's collision box to no longer be matching the client's view of where it should be. 2007-11-17 03:48:13 +00:00
Teravus Ovares 5fd2fa687e * Resolved the situation where prim is loaded from storage and when pushed never stops. 2007-11-16 22:13:13 +00:00
Teravus Ovares b2243079ea * Trying a space/collision optimization technique in ODE. Let me know if you see a difference. 2007-11-16 18:30:25 +00:00
Jeff Ames 76a67f45c6 fixed some AssemblyInfo files 2007-11-16 10:35:52 +00:00
Teravus Ovares b63076c303 * ODE step two on the way to separate dynamic space allocation ( One more to go ) 2007-11-16 08:53:37 +00:00
Teravus Ovares 91b0c44563 * ODE - Started the refactoring process to allow breaking up the scene into smaller spaces
* ODE - No new visible speed improvements yet.  From the coding side, the beginnings of dynamic space calculation..
2007-11-15 18:37:20 +00:00
Teravus Ovares d8fde94843 * ODE removes an unnecessary lock. 2007-11-14 16:24:19 +00:00
Teravus Ovares cb6ec3d0f7 * Removes the console enumeration errors on sim start. 2007-11-14 16:12:59 +00:00
Teravus Ovares 52fbc67100 * Should help avatar climb steps better
* Reduced ground friction when an avatar is moving
* Followed Dan's advice and moved the walk/run movement controller to target_velocity instead of on the total movement
* Reduced PID_D power by 1/5th (80)
* More avatar movement tweaks.
2007-11-14 02:41:15 +00:00
Teravus Ovares 10b41ba455 * Fixed the walk vs fall animation.
* Tweaked a few things
2007-11-13 05:10:14 +00:00
Teravus Ovares 57b646b7ae * Added AV Height Glue & Avatar Height stored on m_AVHeight in ScenePresence
* Added glue to send it to the Physics Engines (in meters)
* ODE Initial implementation of Avatar Height :D Change your height and not get all knee bendy
2007-11-13 03:18:54 +00:00
Teravus Ovares d9d35f9fd7 * Implemented Walk Vs Run in ODE. Also helps make the walk look smoother.
* All thanks to unimplemented packet listing :D
2007-11-12 23:46:26 +00:00
Teravus Ovares 5952441fcc * Added a lot of Glue to help with reporting proper collisions.
* ODE - Fixed the iscolliding property to report a static true when colliding.
* Added reporting of collisions to call UpdateMovementAnimations
* Added Jump - air animation (with arms outstretched).
* Added Fall Animations
* ODE - Added a small amount of X, Y motion control while jumping or Falling
* ODE - Avatar movement animations are still a bit odd sometimes, and had to get this up there.
2007-11-12 21:45:49 +00:00
Sean Dague b9e971cda9 fix compile issue on mono 2007-11-12 20:35:25 +00:00
Teravus Ovares 9b6e747d78 * Sets ZeroMesher as default. (If you want to cut and hollow, you'll need to uncomment the Meshmerizer in OpenSim.ini)
* Fixes a geometry issue in ODE when using ZeroMesher
2007-11-12 16:22:23 +00:00
Jeff Ames 9a4b4dae5e removed OdePlugin/Meshing directory 2007-11-10 21:20:55 +00:00
Teravus Ovares cb07ba0d68 * Moves the Meshmerizer to a separate plugin
* Experimental.   Linux Prebuild needs testing.
* One more update after this to remove the ODEMeshing directory....
2007-11-10 19:13:52 +00:00
Teravus Ovares 43ea37b5a0 * ODE Fixed annoying bug where resizing causes there to be a 'ghost' prim left that blocks your way. 2007-11-10 17:23:36 +00:00
Teravus Ovares e9e72fe907 * Added an internal throttle on ODE physics updates
* Added a ThrottleUpdates member to PhysicsActor to expose 'throttle' ability to the Scene.
* Updated the ode.dll file with a fix to invalid data passed to ODE's heightfield collision calculator.
2007-11-09 21:01:55 +00:00
Teravus Ovares 90274434c6 * Moved BulletX off of the 'constant terse update' method. It now only sends terse updates when needed.
* Removed the 'constant poll method' from SceneObjectPart.cs - It was bad :P
* Updated some Masses in ODE to help large prim slow down by friction easier.
2007-11-09 13:45:42 +00:00
Teravus Ovares b74983328c * Stopped printing the prim's X cordinate difference from the last movement on the Console. 2007-11-08 18:17:48 +00:00
Teravus Ovares fcc276a68d * Fixed occasional character drift caused by sim not sending the avatar's final resting velocity.
* Added Smooth moving prim
* Added event to PhysicsActor RequestPhysicsterseUpdate to allow physics plugins to be able to schedule a terse update.
2007-11-08 15:22:36 +00:00
Teravus Ovares 9e9dad1cde * Added Rotational Velocity reporting for Client Interpolation to Terse Updates
* Added Angular Velocity reporting for smooth-ish rotations on object collisions
2007-11-08 00:10:40 +00:00
Teravus Ovares 919118f0ef * fix for Bug 563
* fix for ODE geoms not getting disposed of properly when resizing.
2007-11-06 17:19:10 +00:00
dan miller 62a43affe4 physical prims 2007-11-05 22:18:12 +00:00
dan miller c1d05740e5 adding missing ODE files for mesh 2007-11-05 18:05:21 +00:00
dan miller fdb57b28b1 prim cuts in ODE
Much thanks to Gerhard!
Merged with Darok's recent changes re: physical prims
2007-11-05 12:25:53 +00:00
darok f8e0cf0f1d Changes in BulletXPlugin: Added new class BulletXActor class inherits from PhysicsActor and it's the ancestor for BulletXCharacter and BulletXPrim.Physical modifications: Changes for pass the value of Physical flag in the SceneObjectPart class to the Physics engines. New call for AddPrimShape so it has a new parameter called "isPhysical". The old call will be obselete soon (i believe). PhysActor and its descendants have a new property called IsPhysical. By the way no new special funcionallity added. It's more like preparing the way for new modifications. 2007-11-03 10:25:43 +00:00
Jeff Ames 7f0d836d35 made illogical bitwise operations logical 2007-10-31 05:29:51 +00:00
Charles Krinke 33d6222e8d Thank you Teravus, very much, for a 'jump', 'crouch' and 'inertia' patch for all three physics plugins. 2007-10-31 04:18:34 +00:00
Jeff Ames ecb2305a04 temporary fix for sitting collisions in ODE 2007-10-30 09:56:29 +00:00
lbsa71 67e12b95ea * Optimized usings
* Shortened type references
* Removed redundant 'this' qualifier
2007-10-30 09:05:31 +00:00
MW 3d8219f6c7 as per the "Filesystem cleanup for OpenSim repository" mailing list thread. Have flattened the OpenSim.Framework project/namespace. The problem is that the namespace is still wrong as its "OpenSim.Framework" while the directory is "OpenSim\Framework\General" , so we need to decide if we change the directory or correct the namespace.
Note this has lead to a big flat project, but I think a lot of the files we most likely don't even use any longer. And others belong in other projects/namespaces anyway.
2007-10-29 21:46:25 +00:00
dan miller c29f8b3873 should help with ODE bounce on region cross 2007-10-29 06:15:06 +00:00
dan miller 7415eb7355 this might help with ODE errors. Or maybe not. YMMV 2007-10-17 05:43:35 +00:00
lbsa71 b48390213b * Applied Chillken patch #418: copyright-r2094.patch updating copyright messages. Thanks Chillken! 2007-10-15 07:25:32 +00:00
Tleiades Hax 1232eb1c58 Asset server implementation. Again one of these "plumbing" releases, where no real functionality has been introduced, but ground work has been made, enabling the asset server, and preparing the sim server to query the asset server.
Introduced an "IPlugin" interface, which plugins can inherit from.
2007-10-13 07:26:21 +00:00
dan miller 23eeeaae03 fixes for nebadon"s terrain bugs; includes patched 0.9 ode.dll, libode.so 2007-10-11 05:54:56 +00:00
Sean Dague c3d8f1f425 getting all our line endings consistant again 2007-10-05 15:45:45 +00:00
dan miller d36316e1c9 Droppin da fyzyx bomb on ya
seriously, this is quite the update.  Fixes a number of nagging physics problems, including avatar shell size/shape
The internal logic is quite different, and CPU usage may be affected.
Also some work remains wrt flying.  Please test this rev out before you deploy widely
2007-10-03 01:59:43 +00:00
dan miller 625164d3e2 removed debug statements 2007-10-01 16:26:15 +00:00
dan miller 034f0b4bb7 fixing odeplugin debug bug 2007-10-01 16:18:34 +00:00
dan miller d644b1f440 this should fix mantis 452 and related -- hollow prims work in Linux! (I hope) 2007-10-01 16:01:42 +00:00
Dalien Talbot d20d621ab1 Corrected the typo in the folder name. 2007-09-30 08:50:49 +00:00
dan miller c1d3e93fbb Hollow prims (box only), thanks Gerard! Enjoy 2007-09-29 04:08:33 +00:00
dan miller a0265300aa Hollow prims (box only), thanks Gerard! Enjoy 2007-09-29 03:56:36 +00:00
dan miller d3050724d8 physics-related fixes; should stabilize border crossings 2007-09-21 02:31:36 +00:00
dan miller 04e7fcd0e9 RemoveAvatar called from scene.cs; implemented in ODE. Still issues with multi-region; see bug 410 2007-09-18 02:38:10 +00:00
dan miller b31fc4980f ODE: no more slippin' & slidin' 2007-09-13 21:53:13 +00:00
Sean Dague ffe9c9374a mass update of urls in source code to new website 2007-09-10 08:14:38 +00:00
dan miller 588ab9f090 ODE fix: avatar/avatar collision enabled. Needs client update fix to be seen correctly. In the right repository this time.. 2007-09-09 13:24:18 +00:00
dan miller 825a2208c6 ODE bugfix: multiple avatars now supported properly 2007-09-01 21:30:51 +00:00
dan miller 00d4d5a21b once more, without the debug statements (ODE multi-region fixes, various debugging) 2007-09-01 11:06:48 +00:00
dan miller 0901dfded1 umm, nevermind all that -- this is the real ODE region fix. I'll get subversion someday 2007-09-01 11:01:11 +00:00
dan miller e158a45b09 danx0r (first checkin!) fixes OdePlugin.cs RemovePrim() lock bug 2007-08-30 23:23:44 +00:00
MW 3a97f3f597 Applied danx0r's ODE patch [mantis number 340].
Corrected a few out dated things in the ExtensionsScriptModule.
2007-08-28 19:55:42 +00:00
MW 7915adc6c5 Corrected the namespace in OpenSim.Region.Physics.Manager, so now namespace should equal project and directory. 2007-08-28 18:40:40 +00:00
Tedd Hansen 87711c5869 Danxors patch for >30prims with ODE 2007-08-26 15:56:42 +00:00
MW 0d5311e49b Added RemovePrim method to the physics plugins interface.
Implemented that method in ODE plugin.
Hooked it up so when deleting/taking prims into your inventory they will be removed from physics engine.
Enabled the other physics hook ups in Scene.cs (and also added registering prims with physics plugin when they are rezzed from Inventory.)
So now to get the avatar to prim collision testing working, just change to use the ODE plugin (in the OpenSim.ini file, physics = OpenDynamicsEngine). Remember though ODE only really works (without problems) when running with a single region.
2007-08-23 17:21:08 +00:00
MW edd50f2e8e Implemented Resize Method in OdePrim.
attached the links to that from SceneObject, so now resizing works (as much as resizing currently works in opensim, fixing resizing in general is on my todo list for today).
Rotation of a root prim also now updates the physics engine.
So think there really is only deleteprim left, then it should be usable (Different shapes (other than boxes that it currently uses) can wait a little bit longer).
[of course there are still the other issues of ODE not really working when there is more than one region in a instance of opensim].
2007-08-23 11:38:50 +00:00
MW 9a8742e838 Added danx0r's physics patch, although for now have disabled the lines in Scene.cs, as any changes to prims (like size or position changes) are only updated to the physics engine when you restart opensim. Also prims aren't deleted from the physics engine. These shouldn't be hard to fix. 2007-08-23 10:53:42 +00:00
Brian McBee 75f6c3d364 More prep work for adding prims to ODE physics 2007-08-19 06:14:36 +00:00
Brian McBee 318376707d starting to add bits and pieces to physics prims that we will eventually need for collisions. not hooked in yet. 2007-08-18 23:05:02 +00:00
MW 3520e9e3ee Applied danx0r 's ODE patch [mantis issue 263] 2007-08-11 17:54:46 +00:00
Sean Dague 2a3c79df83 changed to native line ending encoding 2007-07-16 15:40:11 +00:00
lbsa71 5f8de1e704 * By popular demand, all generated build files are now deleted. Somebody should make sure the wiki is updated. 2007-07-08 19:27:04 +00:00
MW beb3073bec A bit more work on Building tools/support.
updated Axiom.MathLib.dll.
2007-07-04 19:07:27 +00:00
lbsa71 9b6b6d05d4 * Optimized usings (the 'LL ate my scripts' commit)
* added some licensing info
2007-07-03 14:37:29 +00:00
MW 3456d951d8 Imported the scripting changes, so now should be up to date with sugilite. 2007-06-28 13:13:17 +00:00
mingchen fe120533ef *Updated prebuild.xml and ran prebuild again
*Removed .user, .suo, and unneccessary files in /bin/Physics/
*OpenSim.sln should compile with nant and on windows now
2007-06-27 17:12:32 +00:00
MW 646bbbc84b Some work on restructuring the namespaces / project names. Note this doesn't compile yet as not all the code has been changed to use the new namespaces. Am committing it now for feedback on the namespaces. 2007-06-27 15:28:52 +00:00