aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Physics (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Align default ODE_STEPSIZE with that already used through OpenSimDefaults.iniJustin Clark-Casey (justincc)2011-12-221-2/+2
|
* Remove unused SetAcceleration and add set on Acceleration parameterDan Lake2011-12-2010-34/+13
|
* Merge branch 'master' of ssh://opensimulator.org/var/git/opensimDiva Canto2011-12-201-1/+1
|\
| * Comment out accidentally left in "Adding physics prim" log messageJustin Clark-Casey (justincc)2011-12-161-1/+1
| |
* | Fixed bug of avie going under the terrain when crossing regions in certain ↵Diva Canto2011-12-201-2/+2
|/ | | | directions. This was a 1-off bug: the terrain was being placed in 127, 127 resulting in a bounding box if -2, 256. I placed it in 128, 128 resulting in a bounding box of -1, 257.
* Stop pointlessly setting the m_colliderarr[] to false in the ODECharacter ↵Justin Clark-Casey (justincc)2011-12-151-5/+0
| | | | constructor
* Stop having to call SetHeight again in ScenePresence.AddToPhysicalScene() ↵Justin Clark-Casey (justincc)2011-12-153-18/+25
| | | | | | when we've already passed size information to the avatar at PhysicsScene.AddAvatar() Eliminate some copypasta for height setting in OdeCharacter
* Code cleanup related to ScenePresence.PhysicsActor and OdeScene/OdeCharacterJustin Clark-Casey (justincc)2011-12-152-8/+24
| | | | | | 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
* minor: add some currently commented log lines for use in debuggingJustin Clark-Casey (justincc)2011-12-141-1/+8
|
* Simplify some manipulation of _taintedActors in OdeSceneJustin Clark-Casey (justincc)2011-12-141-13/+6
|
* Eliminate _taintedPrimsH and _taintedPrimsL (and _taintedPrimLock) in favour ↵Justin Clark-Casey (justincc)2011-12-141-45/+14
| | | | | | of just a _taintedPrims HashSet. There's no point maintaining a list because any pending taint operations are all carried out in the same call anyway.
* minor: remove pointless comment from OdeScene.csJustin Clark-Casey (justincc)2011-12-121-2/+1
|
* minor: remove mono compile warning, a Vector3 can never be null since it's a ↵Justin Clark-Casey (justincc)2011-11-291-9/+6
| | | | struct
* remove some mono compiler warningsJustin Clark-Casey (justincc)2011-11-253-8/+8
|
* Log error if we attempt to add/remove an OdeCharacter from the _characters ↵Justin Clark-Casey (justincc)2011-11-221-23/+33
| | | | list inappropriately
* Stop removing actor from the hash maps in OdeScene.RemoveCharacter() since ↵Justin Clark-Casey (justincc)2011-11-221-6/+1
| | | | this is now being down in OdeCharacter.DestroyOdeStructures()
* Comment out uncalled OdeScene.UnCombine()Justin Clark-Casey (justincc)2011-11-222-66/+60
|
* slightly simplify OdeScene.Simulate() by removing bool processtaints, since ↵Justin Clark-Casey (justincc)2011-11-223-141/+128
| | | | | | we can inspect count of taint lists instead. also groups OdeCharacter.CreateOdeStructures() and DestroyOdeStructures() together
* Slightly improve "Unable to space collide" logging message, though I don't ↵Justin Clark-Casey (justincc)2011-11-211-1/+2
| | | | think I've ever seen this.
* Get rid of OdeCharacter != null checks since OdeScene._characters can never ↵Justin Clark-Casey (justincc)2011-11-211-17/+4
| | | | | | contain a null character. Ignoring the ancient code glyphs not to do this....
* remove unnecessary OdeScene._activeprims locking. Code is single-threadedJustin Clark-Casey (justincc)2011-11-211-53/+46
|
* Restore defects list. In hindsight, the reason for this is becuase we can't ↵Justin Clark-Casey (justincc)2011-11-212-92/+112
| | | | | | remove the character whilst iterating over the list. This commit also removes locking on OdeScene._characters since code is single threaded
* simplify operation of OdeScene._perloopContactJustin Clark-Casey (justincc)2011-11-211-45/+51
|
* don't bother locking OdeScene._perloopContact in single threaded codeJustin Clark-Casey (justincc)2011-11-211-47/+42
|
* don't lock OdeScene.contacts since only ever accessed by a single threadJustin Clark-Casey (justincc)2011-11-211-10/+24
|
* 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-213-23/+24
| | | | nothing right now
* Reduce complexity of OdeScene.Simulate() by fully removing bad characters at ↵Justin Clark-Casey (justincc)2011-11-212-70/+29
| | | | point of detection rather than later on.
* move geom/actor map maintenance into ↵Justin Clark-Casey (justincc)2011-11-212-10/+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-212-8/+14
| | | | actor maps
* When an ODECharacter is removed (e.g. when an avatar leaves a scene), remove ↵Justin Clark-Casey (justincc)2011-11-212-10/+23
| | | | | | 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-213-9/+14
| | | | maintaining their own properties
* Actually remove PhysicsActor.SOPDescription this timeJustin Clark-Casey (justincc)2011-11-211-1/+3
|
* Instead of generating a new list for bad characters on every physics pass, ↵Justin Clark-Casey (justincc)2011-11-211-3/+12
| | | | keep reusing the same list.
* Stop OdePrim and OdeCharacter insanely overriding set LocalID to set their ↵Justin Clark-Casey (justincc)2011-11-166-41/+29
| | | | | | | 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
* Instead of having scene add/remove collision events directly to the OdeScene ↵Justin Clark-Casey (justincc)2011-11-151-20/+38
| | | | | | | | | collision event dictionary, marshall them via a change dictionary first. This is to avoid a complicated tri-thread deadlock on region crossing for avatars with attachments, where 1) XEngine starting up scripts can lock XEngine.m_Scripts and then try to lock OdeScene._collisionEventPrim while starting up a script due to avatar border crossing 2) An existing collision event will lock OdeScene._collisionEventPrim and then try to lock SP.m_attachments while trying to send the collision event to attachments 3) The avatar still entering the region will lock SP.m_attachments and then try to lock m_Scripts to start more attachment scripts.
* use a more efficient dictionary in OdeScene._collisionEventPrim rather than ↵Justin Clark-Casey (justincc)2011-11-151-7/+4
| | | | a list
* Add comment for experimental effect of removing the Thread.Sleep(20) in ↵Justin Clark-Casey (justincc)2011-11-042-1/+4
| | | | 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
* Fix a bug I introduced yesterday in ODE physics where prim scripts would ↵Justin Clark-Casey (justincc)2011-10-272-1/+24
| | | | only receive the very first collision.
* 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-255-28/+10
|
* Get rid of the pointless null checks on collision listeners. Add warning ↵Justin Clark-Casey (justincc)2011-10-251-0/+6
| | | | about synchronicity for PhysicsActor.OnCollisionUpdate event doc
* When sending object collision updates, don't null out and recreate the ↵Justin Clark-Casey (justincc)2011-10-252-13/+8
| | | | CollisionEventUpdate() if the number of collisions falls to zero. Reuse the existing one instead.
* For ScenePresence collision events, instead of creating a new ↵Justin Clark-Casey (justincc)2011-10-252-5/+11
| | | | | | 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.