aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/PhysicsModules/Ode/ODECharacter.cs (unfollow)
Commit message (Collapse)AuthorFilesLines
2018-01-14make old Ode PInvoke follow ms coding rulesUbitUmarov1-64/+64
2017-01-05Massive tab and trailing space cleanupMelanie Thielker1-10/+10
2015-11-28let old ODE trigger collision sounds like ubOdeUbitUmarov1-1/+1
2015-11-21 remove some compile warnings increasing total number by 2UbitUmarov1-1/+1
2015-11-20 remove the hard to maintain Ode.Net wrapper only in use by old odeUbitUmarov1-3/+2
2015-10-20 stop using a vector3 to store axis locks 3bit flags also in odeUbitUmarov1-1/+1
2015-09-30 add get method on physics actors PIDHoverActiveUbitUmarov1-1/+1
2015-08-31All physics plugins are now region modules. Compiles but doesn't run.Diva Canto1-1/+1
2015-08-30More namespace and dll name changes. Still no functional changes.Diva Canto1-1/+1
2015-08-30Renamed the namespaces tooDiva Canto1-2/+2
2015-08-30Major renaming of Physics dlls / folders. No functional changes, just renames.Diva Canto1-0/+0
2015-08-20 make it compatible with avn, no point making avn compatible with itUbitUmarov1-1/+2
2015-08-20 update old git to os core versionUbitUmarov1-30/+28
2014-11-29Somewhat improve avatar region crossings by properly preserving velocity ↵Justin Clark-Casey (justincc)1-1/+5
when avatar enters the new region. This commit addresses the following issues were causing velocity to be set to 0 on the new region, disrupting flight in particular * Full avatar updates contained no velocity information, which does appear to have some effect in testing. * BulletSim was always setting the velocity to 0 for the new BSCharacter. Now, physics engines take a velocity parameter when setting up characters so we can avoid this. This patch applies to both Bullet and ODE.
2014-11-19If calling llStopMoveToTarget() on an in-world prim, don't send an ↵Justin Clark-Casey1-1/+5
unnecessary object update if the prim was not moving to target. This involves making PhysicsActor.PIDActive get as well as set. On physics components that don't implement this (all characters and some phys engines) we return false.
2014-07-21Fixed avatar hovering above the ground. The avatar physics capsule was too tall.Oren Hurvitz1-2/+4
This is related to http://opensimulator.org/mantis/view.php?id=7067 . But that bug complains about BulletSim, and this fix is for ODE.
2014-07-18refactor: slightly adjust some code in ODECharacter.Move() to eliminate a ↵Justin Clark-Casey (justincc)1-18/+19
condition check without changing the logic
2014-07-18With ODE physics, fix an issue where the avatar couldn't jump and then move ↵Justin Clark-Casey (justincc)1-18/+5
forward when moving south or west. Addresses http://opensimulator.org/mantis/view.php?id=5003 Thanks to UbitUmarov for this fix.
2014-07-18reduce avatar hover in basic ode pluginUbitUmarov1-1/+1
2012-11-15Revert "Merge master into teravuswork", it should have been avination, not ↵teravus1-2/+2
master. This reverts commit dfac269032300872c4d0dc507f4f9062d102b0f4, reversing changes made to 619c39e5144f15aca129d6d999bcc5c34133ee64.
2012-11-08ODECharacter overrides TargetVelocity. No change to existing behaviorDan Lake1-1/+15
2012-10-09Add config option to plant avatar where they are reducing avatar avatar ↵teravus1-2/+2
'pushability' av_planted see OpenSimDefaults.ini. Use when you have unruly visitors that rudely push each other around. Still allows a small amount of movement based on the avatar movement PID controller settings. You can increase the spring tension in the PID controller and really prevent any movement if you would like.
2012-06-29Fix a regression where we stopped removing avatars from collision event ↵Justin Clark-Casey (justincc)1-1/+1
reporting on logout, rather than stopping clearing their collision events. This occurred in b18c8c8 (Thu May 17 2012). This was a cause of very occasional race conditions and likely memory leakage as clients came and went from the region.
2012-05-18refactor: move EventQueueGet path generation into common method. Rename ↵Justin Clark-Casey (justincc)1-1/+1
some local variables in line with code conventions. Add commented out EQG log lines for future use.
2012-05-17Don't eagerly clear frame collision events when physics actors subscribe and ↵Justin Clark-Casey (justincc)1-2/+8
unsubscribe from collisions, in order to avoid a race condition. Since this is done directly from ScenePresence, it can lead to a race condition with the simulator loop. There's no real point doing it anyway since the clear will be done very shortly afterwards by the simulate loop and either there are no events (for a new avatar) or events don't matter (for a departing avatar). This matches existing behaviour in OdePrim
2012-03-20refactor: precalculate the fixed movement factor for avatar tilting ↵Justin Clark-Casey (justincc)1-8/+13
(sqrt(2)) rather than doing it multiple times on every move.
2012-02-11Clamp ODE character velocity. Make ODE falling character 54m/s by default.Justin Clark-Casey (justincc)1-1/+42
If velocity reaches 256 in any vector then bad things happen with ODE, so we now clamp this value. In addition, a falling avatar is clamped by default at 54 m/s, which is the same as a falling skydiver. This also appears to be the value used on the linden lab grid. This should resolve http://opensimulator.org/mantis/view.php?id=5882
2012-01-25Serialize calls to ODE Collide() function across OdeScene instances to ↵Justin Clark-Casey (justincc)1-0/+3
prevent ODE crashes on simulators running more than one region. It turns out that calls to Collide() are not thread-safe even for objects in different ODE physics worlds due to ODE static caches. For simulators running multiple regions, not serializing calls from different scene loops will sooner or later cause OpenSim to crash with a native stack trace referencing OBBCollider. This affects the default OPCODE collider but not GIMPACT. However, GIMPACT fails for other reasons under some current simulator loads. ODE provides a thread local storage option, but as of ODE r1755 (and r1840) DLLs compiled with this crash OpenSim immediately.
2012-01-24Restrict accessible of ODECharacter Shell and Body. Add method doc and some ↵Justin Clark-Casey (justincc)1-11/+26
error log lines.
2011-12-20Remove unused SetAcceleration and add set on Acceleration parameterDan Lake1-6/+1
2011-12-20Remove unused SetAcceleration and add set on Acceleration parameterDan Lake1-6/+1
2011-12-15Stop pointlessly setting the m_colliderarr[] to false in the ODECharacter ↵Justin Clark-Casey (justincc)1-5/+0
constructor
2011-12-15Stop having to call SetHeight again in ScenePresence.AddToPhysicalScene() ↵Justin Clark-Casey (justincc)1-16/+22
when we've already passed size information to the avatar at PhysicsScene.AddAvatar() Eliminate some copypasta for height setting in OdeCharacter
2011-12-15Code cleanup related to ScenePresence.PhysicsActor and OdeScene/OdeCharacterJustin Clark-Casey (justincc)1-3/+3
Stop hiding RemoveAvatar failure, add log messages when characters are removed through defects or re-added unexpectedly. Add commented out log lines for future use. Use automatic property for PhysicsActor for better code readability and simplicity
2011-11-25remove some mono compiler warningsJustin Clark-Casey (justincc)1-3/+3
2011-11-22slightly simplify OdeScene.Simulate() by removing bool processtaints, since ↵Justin Clark-Casey (justincc)1-117/+117
we can inspect count of taint lists instead. also groups OdeCharacter.CreateOdeStructures() and DestroyOdeStructures() together
2011-11-21Restore defects list. In hindsight, the reason for this is becuase we can't ↵Justin Clark-Casey (justincc)1-12/+15
remove the character whilst iterating over the list. This commit also removes locking on OdeScene._characters since code is single threaded
2011-11-21rename ODECharacter.AvatarGeomAndBodyCreation() -> CreateOdeStructures() to ↵Justin Clark-Casey (justincc)1-8/+10
match existing DestroyOdeStructures()
2011-11-21refactor: Eliminate one line ODECharacter.doForce() method for code clarityJustin Clark-Casey (justincc)1-15/+3
2011-11-21Comment out calls to OdeScene.waitForSpaceUnlock() since that method does ↵Justin Clark-Casey (justincc)1-2/+2
nothing right now
2011-11-21Reduce complexity of OdeScene.Simulate() by fully removing bad characters at ↵Justin Clark-Casey (justincc)1-29/+28
point of detection rather than later on.
2011-11-21move geom/actor map maintenance into ↵Justin Clark-Casey (justincc)1-8/+9
DestroyODEStructures()/AvatarGeomAndBodyCreation(). This saves us having to do it separately when a character capsule size is changed
2011-11-21When changing avatar size in ODE, remove the old actor from the name and ↵Justin Clark-Casey (justincc)1-7/+11
actor maps
2011-11-21When an ODECharacter is removed (e.g. when an avatar leaves a scene), remove ↵Justin Clark-Casey (justincc)1-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()
2011-11-21Have ODECharacter and ODEPrim both use PhysicsActor.Name instead of ↵Justin Clark-Casey (justincc)1-8/+5
maintaining their own properties
2011-11-16Stop OdePrim and OdeCharacter insanely overriding set LocalID to set their ↵Justin Clark-Casey (justincc)1-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
2011-11-04Add comment for experimental effect of removing the Thread.Sleep(20) in ↵Justin Clark-Casey (justincc)1-1/+1
ODEPrim.changevelocity()
2011-11-04Stop llPushObject() from causing problems by adding force via a taint rather ↵Justin Clark-Casey (justincc)1-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.
2011-10-29Add taint target velocity for ODECharacters as is already done for ↵Justin Clark-Casey (justincc)1-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
2011-10-29tidy up OdeCharacter so that we just use OpenMetaverse.Vector3 assignment ↵Justin Clark-Casey (justincc)1-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.