Commit Graph

625 Commits (e506341fdb9f3b6996d3c97de007f2b142fcddd3)

Author SHA1 Message Date
Teravus Ovares (Dan Olivares) 9ba10af6b2 * Added missing lock to m_forcelist when AddForce is called. When a user 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-22 21:08:54 -05:00
Teravus Ovares (Dan Olivares) 7760da1a4c * Fixes the second of two terse update issues. Physical objects should react normally again. 2009-11-21 04:39:41 -05:00
Teravus Ovares (Dan Olivares) 0ffda7128e * Fixes one of two terse update issues. There's still one left, but this one fixes the situation where the object on the server is moving but no updates are being sent. 2009-11-21 04:33:34 -05:00
Justin Clark-Casey (justincc) a88a463b50 Following various discussions on irc and in the OpenSim dev OSGrid meeting 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-09 19:26:42 +00:00
Justin Clark-Casey (justincc) af0e5d0974 Merge branch 'master' of ssh://justincc@opensimulator.org/var/git/opensim 2009-11-03 19:11:09 +00:00
Justin Clark-Casey (justincc) 1d737b010c minor: remove some mono compiler warnings 2009-11-03 18:52:20 +00:00
John Hurliman 7132877075 * Log progress messages when loading OAR files with a lot of assets
* 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-29 01:46:58 -07:00
John Hurliman 1c9696a9d2 Always send a time dilation of 1.0 while we debug rubberbanding issues 2009-10-28 15:11:01 -07:00
John Hurliman a069a1ee68 Limit physics time dilation to 1.0 2009-10-28 14:44:05 -07:00
John Hurliman a65c8cdc38 * Reduce the velocity tolerance on sending terse updates to avoid slowly 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-28 12:45:40 -07:00
John Hurliman ee0f7e10c8 Fixed a bad check on velocity in the ODE near() callback (it was only checking for velocity in certain directions, and was calling the get_Velocity() function three times) 2009-10-28 12:20:34 -07:00
John Hurliman 0c466b28bb Move the calculation of time dilation from the scene to the physics engine. 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-27 16:24:43 -07:00
John Hurliman d199767e69 Experimental change of PhysicsVector to Vector3. Untested 2009-10-26 18:23:43 -07:00
Dan Lake 428bd7a74b No need to create dupe TriMeshData for ODE. A previous patch created a 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-26 15:14:19 -07:00
John Hurliman ff4b45a1e3 Do case-insensitive comparisons on region names in LLStandaloneLoginModule 2009-10-26 15:12:43 -07:00
John Hurliman ac7ccdf7d7 * Changed the watchdog timer to improve the speed of UpdateThread(), only 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-26 14:41:27 -07:00
dslake 8ba3afb59b Patch from dslake http://opensimulator.org/mantis/view.php?id=4291 0004291: Inconsistent locking of ODE tainted prims 2009-10-23 12:14:05 -04:00
Teravus Ovares (Dan Olivares) f34e8adffb * Moved Copyrights above the comments in ODEPrim and ODEDynamics so they're consistent with the rest (and so chi11ken's auto copyright adding script doesn't duplicate the copyright. 2009-10-22 18:28:42 -04:00
KittoFlora 227c832d3b Commented out instrumentation in ODEPrim.cs 2009-10-22 19:15:35 +01:00
Melanie c4969d47d9 Merge branch 'master' into vehicles 2009-10-22 07:12:10 +01:00
John Hurliman 8151190a45 * Removing ODEPrim and ODECharacter GetHashCode() overrides since they were based on something that could change
* Tweaked a few other GetHashCode() overrides to bring them in line with MSDN recommendations
2009-10-20 10:56:15 -07:00
John Hurliman 72078195c2 Merge branch 'prioritization' of ssh://opensimulator.org/var/git/opensim into prioritization 2009-10-19 15:20:38 -07:00
John Hurliman bd03cbd815 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim into prioritization 2009-10-19 15:19:37 -07:00
Diva Canto 590d91e572 Forgot {} on last commit. 2009-10-19 15:03:55 -07:00
Diva Canto 2dd8a6beac More instrumentation in physics. 2009-10-19 14:48:17 -07:00
Melanie ffd59868f5 Merge branch 'master' into vehicles 2009-10-19 21:58:51 +01:00
Jeff Ames 0d29614ca1 Formatting cleanup. 2009-10-19 08:58:03 +09:00
Diva Canto baed19d068 A bit of instrumentation to figure out what's going on with physics actors. 2009-10-18 16:48:44 -07:00
Teravus Ovares (Dan Olivares) 01051daaab * One more tweak to inform the user that they may not be able to move until relogging. 2009-10-16 21:24:08 -04:00
Teravus Ovares (Dan Olivares) d49424c421 * After seeing it repeat over and over again.. again, We won't inform the 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 21:20:55 -04:00
Teravus Ovares (Dan Olivares) 0079d0a7c4 * One more attempt at the NullRef In The OdePlugin. This might fix it, but it will definitely get us closer to the root cause. 2009-10-16 14:30:55 -04:00
Teravus Ovares (Dan Olivares) 1f28c6208b * Added a message for when the null reference exception occurs to make 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 03:40:44 -04:00
Teravus Ovares (Dan Olivares) ac2f98b846 * A hacky attempt at resolving mantis #4260. I think ODE was unable to 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-16 03:32:30 -04:00
Melanie 70553a979e Merge branch 'master' into vehicles 2009-10-12 15:12:15 +01:00
Melanie 50f509d600 Merge branch 'master' into vehicles 2009-10-12 15:11:01 +01:00
unknown fe0940a22f Optimize ODE mesh by removing sleep. On a region with 100,000 prims and ODE 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-12 01:53:57 -07:00
Teravus Ovares (Dan Olivares) 8271528b1f * comment out the velocity test, using updates every 500 ms as set in 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 04:01:36 -04:00
Teravus Ovares (Dan Olivares) 4ffe936ba8 * Make ODECharacter respect the scene's requested collision update time
* Set the Scene collision update time to 500 ms
2009-10-10 03:53:53 -04:00
Melanie d06c7d90a1 Correct a build break caused by an optimization in trunk 2009-10-07 06:56:00 +01:00
Melanie 0374f1b144 Merge branch 'master' into vehicles 2009-10-06 17:44:59 +01:00
Justin Clark-Casey (justincc) 10c4b88ccf minor: remove mono compile warning 2009-10-05 18:20:37 +01:00
Melanie 8d5a40aad0 Merge branch 'master' into vehicles 2009-10-05 12:58:52 +01:00
Dan Lake 6d52974c5f Eliminate pinned Mesh data on managed heap by using IntPtrs to memory 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-10-05 12:45:41 +01:00
Melanie 41ff39414b Merge branch 'master' into vehicles 2009-10-01 14:08:15 +01:00
Kitto Flora 07df0e0ab0 Merge branch '0.6.7-post-fixes' into vehicles 2009-09-30 19:07:18 +02:00
opensim 827b0fb199 Commit initial version of KittoFlora's vehicle changes 2009-09-30 18:51:02 +02:00
Jeff Ames ee205e7e81 Formatting cleanup. 2009-10-01 01:17:47 +09:00
Dan Lake 1b2828f5d8 Meshmerizer stores dictionary of unique Meshes keyed on construction 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-24 18:20:59 -07:00
nlin 56edbe9b60 Alternate algorithm for fixing avatar capsule tilt (Mantis #2905)
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-18 11:39:08 +09:00
Justin Clark-Casey (justincc) 0683cf6e0d Add test to check behaviour if an iar is loaded where no user profile exists for the creators
Disable generation of temporary profiles for now, instead record loading user as creator
2009-09-09 18:03:49 +01:00
Teravus Ovares (Dan Olivares) b93f512433 * Fix for GetTerrainHeightAtXY to make it compatible when Constants.RegionSize isn't 256 2009-09-04 02:48:07 -04:00
Teravus Ovares (Dan Olivares) bb5857c4bb * Fixes the function 'GetTerrainHeightAtXY' 2009-09-04 00:03:54 -04:00
Teravus Ovares (Dan Olivares) 9505297fb1 * One last attempt to get the bordercrossing/primcrossing/attachmentcrossing right in the new border framework.
* This also contains some inactive preliminary code for disconnecting combined regions that will be used to make one root region a virtual region of a new root region.
2009-09-02 04:39:00 -04:00
Melanie f32de6fe88 Thank you, dslake, for a set of patches to improve OpenSim startup
and idle performance.
2009-09-02 03:33:31 +01:00
Teravus Ovares (Dan Olivares) 54e05a083d Merge branch 'master' of ssh://MyConnection/var/git/opensim 2009-08-26 11:48:05 -04:00
Jeff Ames 256624566f Formatting cleanup, minor refactoring. 2009-08-26 14:02:01 +09:00
Teravus Ovares (Dan Olivares) e1b38ff001 * It turns out that Physics heightmap values were being stored in managed memory in _heightmap and using multiple heightmaps caused them all to overwrite each other and the last one was the heightmap for all of the regions. This fixes that. It also reduces the terrain resolution to half. 2009-08-21 13:22:49 -04:00
Teravus Ovares (Dan Olivares) 64dcb71c14 * Fixes Terrain issues with combined regions. 2009-08-20 23:26:40 -04:00
Teravus Ovares (Dan Olivares) 311b51a184 *remove conflicts 2009-08-18 11:09:43 -04:00
Teravus Ovares (Dan Olivares) c54cb59a71 * Some Physics Scene Changes to prepare for larger regions 2009-08-18 11:05:07 -04:00
Melanie 9ad3e72ae1 Did I say that i don't like git? Remove some stuff that shouldn't have
gone in.
2009-08-17 22:06:51 +01:00
Melanie 644db1e540 Add System.Xml reference to the console project 2009-08-17 09:40:38 +01:00
Jeff Ames 9d9fcac038 Misc cleanup. 2009-08-16 17:14:21 +09:00
Teravus Ovares (Dan Olivares) 30ce56e721 Merge branch 'master' of ssh://MyConnection/var/git/opensim 2009-08-15 13:10:21 -04:00
Teravus Ovares (Dan Olivares) 8000812700 * part one of adding physics combining 2009-08-15 13:10:10 -04:00
Jeff Ames 1123a326ab Formatting cleanup. Fix some compiler warnings. 2009-08-13 15:43:24 +09:00
Teravus Ovares (Dan Olivares) e88903f481 * Fix one physics crash for regions larger then 512mx512m 2009-08-08 10:38:53 -04:00
Teravus Ovares (Dan Olivares) 2b990a61bf This is the second part of the 'not crash on regionsize changes'. This lets you configure region sizes to be smaller without crashing the region. I remind you that regions are still square, must be a multiple of 4, and the Linden client doesn't like anything other then 256. If you set it bigger or smaller, the terrain doesn't load in the client, the map has issues, and god forbid you connect it to a grid that expects 256m regions. 2009-08-07 20:31:48 -04:00
Teravus Ovares (Dan Olivares) c8a68fb3fb * Remove hard coded 256 limitations from various places. There's no more 256m limitation within the OpenSimulator framework, however, the LLClient ClientView does not support regions larger then 256 meters so, if you try and make your region larger by setting Constants.RegionSize = 512; in OpenSim.Framework.Constants.cs, the terrain will not display on clients using the LLUDP protocol 2009-08-07 18:40:56 -04:00
Justin Clark-Casey 190bdc8a2e * Remove some mono compiler warnings 2009-08-05 17:33:23 +01:00
Jeff Ames a133e83f3a Formatting cleanup. 2009-07-23 15:32:11 +00:00
Teravus Ovares e2e43f1ab7 * Whoops, forgot the water heightfield. 2009-07-22 04:11:51 +00:00
Teravus Ovares 9f4b8260c2 * Exclude heightfield geom from the raycast test.
* Fixes mantis #3922
2009-07-22 04:04:30 +00:00
Teravus Ovares 156c393a44 * nothing in this commit, re-triggering panda.. which crashed while testing. 2009-07-21 03:28:12 +00:00
Teravus Ovares 5c8fe5c01c * Fixed a case where a prim was a NullPhysicsActor instead of an OdePrim
* Commented logic that wasn't being used.
* This should fix the errors in OdeScene.near
2009-07-21 03:18:19 +00:00
Teravus Ovares 08819bcbea * Created a way that the OpenSimulator scene can ask the physics scene to do a raycast test safely.
* Test for prim obstructions between the avatar and camera.  If there are obstructions, inform the client to move the camera closer.  This makes it so that walls and objects don't obstruct your view while you're moving around.   Try walking inside a hollowed tori.   You'll see how much easier it is now because your camera automatically moves closer so you can still see.
* Created a way to know if the user's camera is alt + cammed or just following the avatar.
* Changes IClientAPI interface by adding SendCameraConstraint(Vector4 CameraConstraint)
2009-07-19 02:32:02 +00:00
Melanie Thielker 01446074b1 Revert the nonessential part of r10033 to restore sanity to trampolines 2009-07-16 19:09:03 +00:00
Teravus Ovares 8e1ab33ed3 * Tweaking collision reporting a little more in ScenePresence to not check if the collisions will affect health if the avatar is invulnerable. (saves 3 loops) 2009-07-16 04:50:49 +00:00
nlin 56d295cfb5 Fix for avatar falling through terrain when av_capsule_tilted=false, Mantis #2905
This fix re-introduces a small tilt into the capsule to prevent
avatar falling through terrain. Re-introduction of the tilt means
that some direction-dependent behavior when walking over prims, but
I have tried to minimize this.

Additionally this commit allows the capsule to wobble slightly when
being pushed around the terrain. This should make walking over prims
easier, as the capsule can wobble and glide diagonally over the prim's
edge, instead of rigidly being stopped vertically against the prim's
face.
2009-07-15 10:09:37 +00:00
Melanie Thielker 750f75c514 Thank you, Twitch, for a patch to restore mayhem and murder to OpenSim
Fixes Mantis #3888
2009-07-14 23:20:59 +00:00
nlin 0ec6dfb1a1 Experimental fix for tilted avatar capsule, Mantis #2905
Set av_capsule_tilted to false in opensim.ini. Default is true, so there is
no change in avatar behavior (and no breaking of existing content which
relies on the tilted capsule).

This commit straightens up the avatar capsule so it behaves consistently
(e.g. same collision behavior against prims regardless of which direction
the avatar is coming from; ability to fit through narrow doorways).

Please note this introduces other side effects which have not been fixed.
In particular:

* The avatar frequently falls through the terrain if it is not flat, though
the avatar behaves pretty well on flat terrain. This requires investigation
of the ode terrain collider.
* The apparent foot position of the avatar with respect to the ground
is changed. This requires investigation of the avatar height/capsule height.

Please consider this as work in progress.
2009-07-08 01:41:05 +00:00
Dr Scofield 652bcf91d5 - fixes a "collection out of sync" exception in the ODE physics
engine, caused by an "avatar infinite position" occurring under
  heavy load.
- fixes "value too small" exception in ChatModule
2009-06-25 07:39:48 +00:00
Melanie Thielker 034de5ecd6 Properly reset a vehicle's status to VEHICLE_TYPE_NONE when requested 2009-06-19 22:32:02 +00:00
Dr Scofield 8045ed28ec From: Alan Webb <alan_webb@us.ibm.com>
Eat collision errors --- NOTE: this fix might be naive, it seems to
  have helped us getting to 81 avatars (whereas we'd crash with 20
  before), but it sure would benefit from some check-over by a person
  skilled in the art of ODE physics.
2009-06-10 11:48:13 +00:00
Jeff Ames a23d64dec1 Formatting cleanup. 2009-06-10 04:28:56 +00:00
lbsa71 6f37fd8399 * Pried apart the ODE tests. This fixes mantis #3212 2009-06-02 18:12:34 +00:00
Jeff Ames 840de6c036 Minor: Change OpenSim to OpenSimulator in older copyright headers and LICENSE.txt. 2009-06-01 06:37:14 +00:00
Sean Dague 85e91ddb67 Revert "* Added IntegrationTest Attribute and tagged the ODETestClass"
This reverts commit 8f0096cc7b112fea8f69f391224911f624482747.

To get us back to compiling on fresh checkouts.
2009-05-27 12:53:29 +00:00
lbsa71 17f0a4be53 * Added IntegrationTest Attribute and tagged the ODETestClass 2009-05-27 12:36:58 +00:00
lbsa71 ba360ede8b * Upped version number to 0.6.5 2009-05-25 11:43:56 +00:00
Dr Scofield 1d02636c27 cleaning out warnings.
NOTE: we currently have a gazillion warnings caused stuff flagged as
"obsolete" (OGS1 stuff) --- what's up with that?
2009-05-22 14:57:00 +00:00
Teravus Ovares c5a3ff231f * It turns out vehicle Angular Motor direction is always in global space. 2009-04-20 17:46:37 +00:00
Teravus Ovares b98f93212b * Prevent a vehicle crash 2009-04-20 06:56:53 +00:00
Teravus Ovares 21d4423030 * Allow passing of material type to physics engine
* Define low friction and medium bounce for Glass
2009-04-20 03:07:53 +00:00
Teravus Ovares 03901c8c0d * Rudimentary angular motor implementation for the LSL Vehicle API 2009-04-19 08:12:10 +00:00
Dahlia Trimble 5f1fa0d3d7 Added a "force_simple_prim_meshing" option to the ODE settings in OpenSim.ini which will use meshes for collisions with simple prim shapes rather than internal ODE algorithms. This may help with Mantis #2905 and Mantis #3487 for those experimenting with capsule settings.
Note that this will increase memory usage and region startup time.
2009-04-19 01:21:38 +00:00
Teravus Ovares 68190617b4 * A few fixes to the Linear Motor 2009-04-17 23:04:33 +00:00
Teravus Ovares 07c113a766 * Add Implementation of Linear Motor and Linear friction from the LSL Vehicle API in Physics 2009-04-17 21:10:54 +00:00
Teravus Ovares e95fe66dd5 * Set some minimum values to avoid divide by zero errors. 2009-04-17 04:38:31 +00:00
Teravus Ovares 0d00a767bc * Commit a few fixes to the Vehicle settings
* Vertical Attractor servo
2009-04-17 04:34:52 +00:00
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