aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Physics/OdePlugin/ODECharacter.cs (follow)
Commit message (Collapse)AuthorAgeFilesLines
* remove some mono compiler warningsJustin Clark-Casey (justincc)2011-11-251-3/+3
|
* slightly simplify OdeScene.Simulate() by removing bool processtaints, since ↵Justin Clark-Casey (justincc)2011-11-221-117/+117
| | | | | | we can inspect count of taint lists instead. also groups OdeCharacter.CreateOdeStructures() and DestroyOdeStructures() together
* Restore defects list. In hindsight, the reason for this is becuase we can't ↵Justin Clark-Casey (justincc)2011-11-211-12/+15
| | | | | | remove the character whilst iterating over the list. This commit also removes locking on OdeScene._characters since code is single threaded
* rename ODECharacter.AvatarGeomAndBodyCreation() -> CreateOdeStructures() to ↵Justin Clark-Casey (justincc)2011-11-211-8/+10
| | | | match existing DestroyOdeStructures()
* refactor: Eliminate one line ODECharacter.doForce() method for code clarityJustin Clark-Casey (justincc)2011-11-211-15/+3
|
* Comment out calls to OdeScene.waitForSpaceUnlock() since that method does ↵Justin Clark-Casey (justincc)2011-11-211-2/+2
| | | | nothing right now
* Reduce complexity of OdeScene.Simulate() by fully removing bad characters at ↵Justin Clark-Casey (justincc)2011-11-211-29/+28
| | | | point of detection rather than later on.
* move geom/actor map maintenance into ↵Justin Clark-Casey (justincc)2011-11-211-8/+9
| | | | | | DestroyODEStructures()/AvatarGeomAndBodyCreation(). This saves us having to do it separately when a character capsule size is changed
* When changing avatar size in ODE, remove the old actor from the name and ↵Justin Clark-Casey (justincc)2011-11-211-7/+11
| | | | actor maps
* When an ODECharacter is removed (e.g. when an avatar leaves a scene), remove ↵Justin Clark-Casey (justincc)2011-11-211-9/+2
| | | | | | the actor reference in OdeScene.actor_name_map rather than leaving it dangling. This also largely centralizes adds/removes in OdeScene.AddCharacter()/RemoveCharacter()
* Have ODECharacter and ODEPrim both use PhysicsActor.Name instead of ↵Justin Clark-Casey (justincc)2011-11-211-8/+5
| | | | maintaining their own properties
* Stop OdePrim and OdeCharacter insanely overriding set LocalID to set their ↵Justin Clark-Casey (justincc)2011-11-161-6/+0
| | | | | | | own private m_localID property but leaving get to return the then unset PhysicsActor.LocalId! Instead, just have both subclasses use the PhysicsActor.LocalID property. This restores collision functionality that fell away in 45c7789 yesterday
* Add comment for experimental effect of removing the Thread.Sleep(20) in ↵Justin Clark-Casey (justincc)2011-11-041-1/+1
| | | | ODEPrim.changevelocity()
* Stop llPushObject() from causing problems by adding force via a taint rather ↵Justin Clark-Casey (justincc)2011-11-041-2/+25
| | | | | | | than directly. This isn't a perfect solution since there can be a race between the taint processing and taint setting, as force needs to be reset after processing. Needs careful locking in the future.
* Add taint target velocity for ODECharacters as is already done for ↵Justin Clark-Casey (justincc)2011-10-291-7/+12
| | | | | | | ODECharacter position and position and velocity for ODEPrims. This is to help stop surprises if the velocity is set in the middle of physics calculations, though this probably isn't a huge problem. It's more for consistency and for the next step of removing some scene locks
* tidy up OdeCharacter so that we just use OpenMetaverse.Vector3 assignment ↵Justin Clark-Casey (justincc)2011-10-291-51/+39
| | | | | | directly where possible, instead of transferring X, Y and Z components separately some of this is probably a hold over from using ODE.Vector3, which is still necessary in some places.
* Move position set from taint to logically better position at top of ↵Justin Clark-Casey (justincc)2011-10-291-12/+12
| | | | ODECharacter.ProcessTaints() though this makes no practical difference
* Stop setting _position as well as m_taint_position in ODECharacter.PositionJustin Clark-Casey (justincc)2011-10-291-4/+1
| | | | | setting position at the same time as taint appears to undermine the whole purpose of taint testing doesn't reveal any obvious regressions in doing this
* Clear OdeCharacter CollisionEventUpdate when we subscribe or unsubscribe ↵Justin Clark-Casey (justincc)2011-10-251-0/+2
| | | | from collision events
* Remove unused fields from CollisionEventUpdateJustin Clark-Casey (justincc)2011-10-251-1/+1
|
* For ScenePresence collision events, instead of creating a new ↵Justin Clark-Casey (justincc)2011-10-251-5/+3
| | | | | | CollisionEventsThisFrame every time we need to send some new ones, reuse the existing one instead. This assumes that the listener is using the data synchronously, which is currently the case.
* For now, stop passing timeStep into methods where it's not actually used.Justin Clark-Casey (justincc)2011-10-201-3/+2
|
* Remove the unused CollisionLocker from ODEJustin Clark-Casey (justincc)2011-10-181-1/+4
| | | | Despite its name, this wasn't actually being used in any collision checking
* reduce access to ODECharacter methods to make code analysis easier. ↵Justin Clark-Casey (justincc)2011-10-151-53/+35
| | | | Eliminate redundant argument on ProcessTaints()
* More method doc and formatting changes. Makes DestroyOdeStructures() privateJustin Clark-Casey (justincc)2011-10-131-6/+10
|
* refactor: move 3x copy/pasted ode structure removal code in ODECharacter ↵Justin Clark-Casey (justincc)2011-10-131-90/+57
| | | | | | into a DestroyOdeStructures() method also adds some method doc
* Stop the avatar stalling on its first boarder cross when using the ODE pluginJustin Clark-Casey (justincc)2011-09-161-6/+13
| | | | | | When upgrading the previously child agent to a root, the code was setting the Size parameter on the ODECharacter PhysicsActor. This in turn reset Velocity, which cause the border stall. I'm fixing this by commenting out the Velocity = Vector3.Zero lines since they don't appear to play a useful purpose
* If SP.MoveToTarget has been called with a force walk, begin by landing the ↵Justin Clark-Casey (justincc)2011-08-111-1/+5
| | | | | | avatar. There is a bug here - once an avatar has landed it glides to its new position instead of performing a walk animation
* Add a OS_NPC_LAND_AT_TARGET option to osMoveToTarget()Justin Clark-Casey (justincc)2011-08-101-0/+2
| | | | | | | Default for this function is now not to automatically land. This allows better control by scripts when an avatar is going to be landing on a prim rather than the ground. Stopping the avatar involves faking a collision, to avoid the pid controller making it overshoot. A better approach would be to gradually slow the avatar as we near the target
* minor: remove mono compiler warnings, some code spacing adjustmentsJustin Clark-Casey (justincc)2011-07-301-1/+4
|
* minor: Add method doc to collision subscription methods. Change method case ↵Justin Clark-Casey (justincc)2011-07-301-2/+5
| | | | to reflect OpenSim standards.
* This fixes mantis #5198 and related. Physics is not my expertise, so I'm not ↵Diva Canto2010-12-241-0/+5
| | | | 100% sure of what all the consequences of this change are. Pushing up, so others can take a look.
* Revolution is on the roll again! :)Revolution2010-02-141-0/+5
| | | | | | | | 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>
* Glue code for a couple of new LSL function implementationsMelanie2009-12-221-0/+9
|
* * Fixes mantis 4416. Animator is dereferenced on logoutTeravus Ovares (Dan Olivares)2009-12-051-1/+4
|
* * Log progress messages when loading OAR files with a lot of assetsJohn Hurliman2009-10-291-2/+2
| | | | | * 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
* Experimental change of PhysicsVector to Vector3. UntestedJohn Hurliman2009-10-261-61/+52
|
* * Removing ODEPrim and ODECharacter GetHashCode() overrides since they were ↵John Hurliman2009-10-201-5/+0
| | | | | | based on something that could change * Tweaked a few other GetHashCode() overrides to bring them in line with MSDN recommendations
* A bit of instrumentation to figure out what's going on with physics actors.Diva Canto2009-10-181-1/+8
|
* * One more attempt at the NullRef In The OdePlugin. This might fix it, but ↵Teravus Ovares (Dan Olivares)2009-10-161-1/+1
| | | | it will definitely get us closer to the root cause.
* * Added a message for when the null reference exception occurs to make ↵Teravus Ovares (Dan Olivares)2009-10-161-3/+4
| | | | debugging easier. Without this, from the user's perspective.. they cannot move, fly or otherwise do anything physical and without a message on the console, it would be hard to tell that this is what is occurring.
* * A hacky attempt at resolving mantis #4260. I think ODE was unable to ↵Teravus Ovares (Dan Olivares)2009-10-161-2/+22
| | | | | | allocate memory, and therefore the unmanaged wrapper call fails or worse.. there's some unmanaged resource accounting in the ODEPlugin for ODECharacter that isn't being done properly now. * The broken avatar may not be able to move, but it won't stop simulate from pressing on now. And, the simulator will try to destroy the avatar's physics proxy and recreate it again... but if this is what I think it is, it may not help.
* * comment out the velocity test, using updates every 500 ms as set in ↵Teravus Ovares (Dan Olivares)2009-10-101-0/+3
| | | | | | | ScenePresence.AddToPhysicalScene. * This causes time to be counted in ODECharacter and, when a collision occurs, the physics scene will report the collisions only if the the difference of last time it reported the collisions from now was more then the set ms. * This is cool because the time accrues while collisions are not taking place and when they do take place again, you get an immediate update.
* * Make ODECharacter respect the scene's requested collision update timeTeravus Ovares (Dan Olivares)2009-10-101-2/+13
| | | | * Set the Scene collision update time to 500 ms
* Alternate algorithm for fixing avatar capsule tilt (Mantis #2905)nlin2009-09-181-60/+72
| | | | | | | | | | | | | Eliminate dynamic capsule wobble. Instead introduce a small, fixed tilt, and allow the tilt to rotate with the avatar while moving; the tilt always faces away from the direction of avatar movement. The rotation while moving should eliminate direction-dependent behavior (e.g. only being able to climb on top of prims from certain directions). Falling animation is still too frequently invoked. Ideally the tilt should be completely eliminated, but doing so currently causes the avatar to fall through the terrain.
* Thank you, dslake, for a set of patches to improve OpenSim startupMelanie2009-09-021-0/+5
| | | | and idle performance.
* Merge branch 'master' of ssh://MyConnection/var/git/opensimTeravus Ovares (Dan Olivares)2009-08-261-4/+0
|\
| * Formatting cleanup, minor refactoring.Jeff Ames2009-08-261-4/+0
| |
* | * Some Physics Scene Changes to prepare for larger regionsTeravus Ovares (Dan Olivares)2009-08-181-3/+3
|/
* This is the second part of the 'not crash on regionsize changes'. This ↵Teravus Ovares (Dan Olivares)2009-08-071-1/+1
| | | | 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.