aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Physics/OdePlugin/OdeScene.cs (follow)
Commit message (Collapse)AuthorAgeFilesLines
* 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.
* Code cleanup related to ScenePresence.PhysicsActor and OdeScene/OdeCharacterJustin Clark-Casey (justincc)2011-12-151-5/+21
| | | | | | 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
|
* remove some mono compiler warningsJustin Clark-Casey (justincc)2011-11-251-4/+4
|
* 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-221-58/+58
|
* slightly simplify OdeScene.Simulate() by removing bool processtaints, since ↵Justin Clark-Casey (justincc)2011-11-221-23/+11
| | | | | | 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-211-80/+97
| | | | | | 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
|
* Comment out calls to OdeScene.waitForSpaceUnlock() since that method does ↵Justin Clark-Casey (justincc)2011-11-211-12/+13
| | | | nothing right now
* Reduce complexity of OdeScene.Simulate() by fully removing bad characters at ↵Justin Clark-Casey (justincc)2011-11-211-41/+1
| | | | point of detection rather than later on.
* move geom/actor map maintenance into ↵Justin Clark-Casey (justincc)2011-11-211-2/+0
| | | | | | 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-1/+3
| | | | actor maps
* When an ODECharacter is removed (e.g. when an avatar leaves a scene), remove ↵Justin Clark-Casey (justincc)2011-11-211-1/+21
| | | | | | the actor reference in OdeScene.actor_name_map rather than leaving it dangling. This also largely centralizes adds/removes in OdeScene.AddCharacter()/RemoveCharacter()
* 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-161-15/+13
| | | | | | | 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
* Fix bug where collision event listeners were not removed once the listener ↵Justin Clark-Casey (justincc)2011-10-251-4/+5
| | | | | | | had gone away. This was causing continuous use of temporary memory even when all avatars had left the scene. Memory does leak but it does cause more calls to the garbage collector, which would pause the scene thread for a very short while during collection.
* minor: rename a parameter in OdeScene.Simulate() from actor -> prim since ↵Justin Clark-Casey (justincc)2011-10-251-4/+4
| | | | it's an OdePrim
* very minor removal of old commented out line of code in OdeSceneJustin Clark-Casey (justincc)2011-10-211-5/+3
|
* remove unnecessary null check on _collisionEventPrimJustin Clark-Casey (justincc)2011-10-201-3/+0
|
* Get OdeScene to use passed in time step rather than hard-coded 0.089Justin Clark-Casey (justincc)2011-10-201-22/+23
| | | | However, I still don't recommend changing MinFrameTime from 0.089, high values do not work well and lower values don't seem to make much difference
* For now, stop passing timeStep into methods where it's not actually used.Justin Clark-Casey (justincc)2011-10-201-10/+3
|
* Temporarily put in log lines to record time taken to set terrain in OdeScene.Justin Clark-Casey (justincc)2011-10-181-0/+6
|
* Store scene identifier passed in to OdeScene for later debug messagesJustin Clark-Casey (justincc)2011-10-181-2/+5
|
* Don't bother taking OdeLock during OdeScene construction, since there can be ↵Justin Clark-Casey (justincc)2011-10-181-16/+13
| | | | no contention until the object is constructed.
* minor: method doc to explain a lock of OdeLockJustin Clark-Casey (justincc)2011-10-181-1/+1
|
* Remove the unused CollisionLocker from ODEJustin Clark-Casey (justincc)2011-10-181-80/+72
| | | | Despite its name, this wasn't actually being used in any collision checking
* Implement osNpcSit(). This is still in development so don't trust itJustin Clark-Casey (justincc)2011-10-171-0/+1
| | | | | | | | | Format is osNpcSit(<npc-uuid>, <target-uuid>, OS_NPC_SIT_IMMEDIATE) e.g. osNpcSit(npc, llGetKey(), OS_NPC_SIT_IMMEDIATE); At the moment, sit only succeeds if the part has a sit target set. NPC immediately sits on the target even if miles away - they do not walk up to it. This method is in development - it may change so please don't trust it yet. Standing will follow shortly since that's kind of important once you're sitting :)
* reduce access to ODECharacter methods to make code analysis easier. ↵Justin Clark-Casey (justincc)2011-10-151-1/+1
| | | | Eliminate redundant argument on ProcessTaints()
* refactor: make methods that do not need to be public in ODE private or ↵Justin Clark-Casey (justincc)2011-10-151-52/+81
| | | | internal to aid code reading/analysis. Remove some unused method arguments
* Change hardcoded ODE total frame time to match the default total frame time ↵Justin Clark-Casey (justincc)2011-10-141-1/+1
| | | | | | | (0.09375 -> 0.089). No apparant ill effects - because the default stepsize is 0.2, there are still 5 physics steps per physics frame. This is a precursor to using the elapsed value passed in (and now changeable in config).
* Remove unused local variable i from OdeScene.Simulate()Justin Clark-Casey (justincc)2011-10-051-3/+0
|
* comment out unused code in OdeScene.TriCallback()Justin Clark-Casey (justincc)2011-08-011-12/+12
|
* refactor: centralize prim geom removal code from four places to oneJustin Clark-Casey (justincc)2011-08-011-17/+7
|
* minor: add note to RemovePrimThreadLocked() to the effect that it contrary ↵Justin Clark-Casey (justincc)2011-08-011-0/+3
| | | | to the summary, it is being called from within Simulate() lock (OdeLock)
* minor: indentation correctionJustin Clark-Casey (justincc)2011-08-011-17/+13
|
* refactor: Remove argument to pass in an initial mesh to OdePrim since this ↵Justin Clark-Casey (justincc)2011-07-311-25/+4
| | | | | | is no longer required and it prevents removal of the _mesh field (which is only used temporarily) If passing in a mesh becomes important again in the future then this can be reinstated.