Commit Graph

67 Commits

Author SHA1 Message Date
Revolution
9821c4f566 Revolution is on the roll again! :)
Fixes: Undo, T-pose of others on login, modifiedBulletX works again, feet now stand on the ground instead of in the ground, adds checks to CombatModule. Adds: Redo, Land Undo, checks to agentUpdate (so one can not fall off of a region), more vehicle parts. Finishes almost all of LSL (1 function left, 2 events).

Direct flames and kudos to Revolution, please

Signed-off-by: Melanie <melanie@t-data.com>
2010-02-14 22:18:46 +00:00
Jeff Ames
70d5b1c34c Formatting cleanup. Add copyright headers. 2010-01-04 06:17:30 +09:00
Melanie
e530180c1e Glue code for a couple of new LSL function implementations 2009-12-22 00:26:12 +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
d199767e69 Experimental change of PhysicsVector to Vector3. Untested 2009-10-26 18:23:43 -07:00
Jeff Ames
840de6c036 Minor: Change OpenSim to OpenSimulator in older copyright headers and LICENSE.txt. 2009-06-01 06:37:14 +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
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
26ca3e26bf Reverts patch from tuco/mikkopa/sempuki mantis #3072 2009-02-08 17:25:02 +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
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
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
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
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
Teravus Ovares
7d89e12293 * This is the fabled LibOMV update with all of the libOMV types from JHurliman
* This is a HUGE OMG update and will definitely have unknown side effects.. so this is really only for the strong hearted at this point.  Regular people should let the dust settle.
* This has been tested to work with most basic functions. However..   make sure you back up 'everything' before using this.  It's that big!  
* Essentially we're back at square 1 in the testing phase..  so lets identify things that broke.
2008-09-06 07:52:41 +00:00
Jeff Ames
6ef9d4da90 Formatting cleanup. 2008-08-18 00:39:10 +00:00
Dahlia Trimble
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
Dr Scofield
313f7f60fd properly explaining each #pragma warning disable
massaging OSHttpRequestPump to not abort on exceptions...
2008-06-30 11:57:47 +00:00
Teravus Ovares
042c9ed4d8 * Adds Top Colliders when using ODE. Access it from the estate tools/debug tab. 2008-05-25 11:22:05 +00:00
Jeff Ames
65c5efe43b Formatting cleanup. 2008-05-16 01:22:11 +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
07167c9a3f * Committing some collision stuffs that I'm working on.
* Nothing user facing yet.
2008-05-03 04:33:17 +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
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
Jeff Ames
bf8b5844f2 Formatting cleanup. Minor refactoring. 2008-03-18 14:51:42 +00:00
Justin Clarke Casey
0b7626b630 * Remove unused (and somewhat nonsensical) method in PhysicsActor
* Thanks for DrScofld for drawing attention to this
2008-03-18 11:37:34 +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
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
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
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
Teravus Ovares
740ce20d9d * Found the land bug, yay 2008-02-20 20:07:12 +00:00
Teravus Ovares
07774473af * Fixed a long standing race condition in physics events. Could this be the source of the null on multicast_void: error? 2008-02-20 17:50:19 +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
3588d89b2c * Bigish ODE stability Update. Run Prebuild 2008-02-13 23:14:41 +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
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
lbsa71
efd90b56b7 * Optimized usings
* shortened references
* Removed redundant 'this'
* Normalized EOF
2007-12-27 21:41:48 +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
af6eb67999 saved OpenSim source code from the giant rampaging unterminated copyright notice of doom 2007-12-10 05:25:16 +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
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