aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Physics/OdePlugin/OdeScene.cs (unfollow)
Commit message (Collapse)AuthorFilesLines
2011-11-21Instead of generating a new list for bad characters on every physics pass, ↵Justin Clark-Casey (justincc)1-3/+12
keep reusing the same list.
2011-11-16Stop OdePrim and OdeCharacter insanely overriding set LocalID to set their ↵Justin Clark-Casey (justincc)1-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
2011-11-15Instead of having scene add/remove collision events directly to the OdeScene ↵Justin Clark-Casey (justincc)1-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.
2011-11-15use a more efficient dictionary in OdeScene._collisionEventPrim rather than ↵Justin Clark-Casey (justincc)1-7/+4
a list
2011-10-25Fix bug where collision event listeners were not removed once the listener ↵Justin Clark-Casey (justincc)1-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.
2011-10-25minor: rename a parameter in OdeScene.Simulate() from actor -> prim since ↵Justin Clark-Casey (justincc)1-4/+4
it's an OdePrim
2011-10-21very minor removal of old commented out line of code in OdeSceneJustin Clark-Casey (justincc)1-5/+3
2011-10-20remove unnecessary null check on _collisionEventPrimJustin Clark-Casey (justincc)1-3/+0
2011-10-20Get OdeScene to use passed in time step rather than hard-coded 0.089Justin Clark-Casey (justincc)1-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
2011-10-20For now, stop passing timeStep into methods where it's not actually used.Justin Clark-Casey (justincc)1-10/+3
2011-10-18Temporarily put in log lines to record time taken to set terrain in OdeScene.Justin Clark-Casey (justincc)1-0/+6
2011-10-18Store scene identifier passed in to OdeScene for later debug messagesJustin Clark-Casey (justincc)1-2/+5
2011-10-18Don't bother taking OdeLock during OdeScene construction, since there can be ↵Justin Clark-Casey (justincc)1-16/+13
no contention until the object is constructed.
2011-10-18minor: method doc to explain a lock of OdeLockJustin Clark-Casey (justincc)1-1/+1
2011-10-18Remove the unused CollisionLocker from ODEJustin Clark-Casey (justincc)1-80/+72
Despite its name, this wasn't actually being used in any collision checking
2011-10-17Implement osNpcSit(). This is still in development so don't trust itJustin Clark-Casey (justincc)1-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 :)
2011-10-15reduce access to ODECharacter methods to make code analysis easier. ↵Justin Clark-Casey (justincc)1-1/+1
Eliminate redundant argument on ProcessTaints()
2011-10-15refactor: make methods that do not need to be public in ODE private or ↵Justin Clark-Casey (justincc)1-52/+81
internal to aid code reading/analysis. Remove some unused method arguments
2011-10-14Change hardcoded ODE total frame time to match the default total frame time ↵Justin Clark-Casey (justincc)1-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).
2011-10-05Remove unused local variable i from OdeScene.Simulate()Justin Clark-Casey (justincc)1-3/+0
2011-08-01comment out unused code in OdeScene.TriCallback()Justin Clark-Casey (justincc)1-12/+12
2011-08-01refactor: centralize prim geom removal code from four places to oneJustin Clark-Casey (justincc)1-17/+7
2011-08-01minor: add note to RemovePrimThreadLocked() to the effect that it contrary ↵Justin Clark-Casey (justincc)1-0/+3
to the summary, it is being called from within Simulate() lock (OdeLock)
2011-08-01minor: indentation correctionJustin Clark-Casey (justincc)1-17/+13
2011-07-31refactor: Remove argument to pass in an initial mesh to OdePrim since this ↵Justin Clark-Casey (justincc)1-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.
2011-07-31minor: method docJustin Clark-Casey (justincc)1-1/+0
2011-07-30minor: remove mono compiler warnings, some code spacing adjustmentsJustin Clark-Casey (justincc)1-5/+3
2011-07-30minor: Add method doc to collision subscription methods. Change method case ↵Justin Clark-Casey (justincc)1-3/+19
to reflect OpenSim standards.
2011-07-29fix extremely minor Ode bug where the _taintedPrimL list would always be ↵Justin Clark-Casey (justincc)1-3/+14
cleared on every OdeScene.Simulate() even if it was already empty.
2011-07-29refactor: Move another chunk of ninja code out of the OdeScene.Simulate() ↵Justin Clark-Casey (justincc)1-28/+36
loop for consistency and readability.
2011-07-29refactor: Simplify reading OdeScene.Simulate() loop by shunting all the ↵Justin Clark-Casey (justincc)1-182/+191
NINJA joints stuff into its own method. Now if ninja joints isn't active (which is the default) don't have to wade through a lot of massively indented irrelevant code.
2011-07-29refactor: unindent the OdeScene.Simulate() loop to ignore the long commented ↵Justin Clark-Casey (justincc)1-270/+274
out ifs and locks This is to make it more readable.
2011-07-19Apply the localID to the Physics actor to prevent null calls laterCareminster Team1-3/+3
2011-07-15Fix some local id issues in physics glueroot1-7/+1
2011-07-12Port implementation of llCastRay() from Aurora.Justin Clark-Casey (justincc)1-0/+28
I haven't been able to test this since the viewer won't parse the llCastRay() function. Maybe some activation cap is missing. Could wait until it is activated by default in the viewer.
2011-07-12When a mesh object is added to a scene, delay adding the physics actor until ↵Justin Clark-Casey (justincc)1-15/+18
the sculpt data has been added to the shape (possibly via an async asset service request) This prevents spurious 'no asset data' for meshes added on startup.
2011-07-11When a sculpt/mesh texture is received by a part on a callback request, ↵Justin Clark-Casey (justincc)1-1/+1
don't do the unnecessary work of copying the base shape. Just setting the new base shape is enough to reinsert the sculpt data and set the taint. Also cleans up a few more left-in debugging messages.
2011-07-09minor: code tidy and inserted log lines for future use.Justin Clark-Casey (justincc)1-4/+1
Unable to get to the bottom of why resizing a mesh fails to properly reset the physics proxy, when toggling phantom does After a mesh is generated, the existing sculptdata is set to zero in PrimitiveBaseShape to save memory When phantom is toggled, the sculptdata is regenerated before remeshing. But on resize, the sculptdata is not regenerated. So clearly, resetting sculptdata is possible, but haven't quite been able to pin down how this is being done when phantom is toggled.
2011-07-08refactor: Factor out AddSubMesh() method from long ↵Justin Clark-Casey (justincc)1-5/+5
CraeteMeshFromPrimMesher() method Also remove some of the logging spam left in from the last commit.
2011-07-08minor: code tidy up - remove a couple of Console.WriteLine() accidentally ↵Justin Clark-Casey (justincc)1-6/+8
added in the last commit
2011-07-08refactor: Separate the OdeScene class into its own file from OdePlugin.cs, ↵Justin Clark-Casey (justincc)1-79/+41
to improve code readability
2011-07-08minor: commented out log lines for future use and very small code tidyJustin Clark-Casey (justincc)1-0/+2
2011-06-29Allow physics proxy generation for meshes using new asset format.dahlia1-1/+4
Fix an invalid cast exception while decoding new mesh asset format.
2011-04-12force mesh proxy for simple box prims with path cutdahlia1-0/+3
2010-12-23* Re-Adding Scene TimeDilation to Object Update Packets.Teravus Ovares (Dan Olivares)1-0/+19
* Added Calculating Time Dilation in the OdePlubin * When multiple object updates are stuffed into one packet, average the time dilation between them as a compromise. * Time Dilation on the update is calculated when the EntityUpdate object is created. The pre-calc-ed TD is stored in the Entity update and used when it goes out on the wire. Previously, it was 1.0 all the time. The time dilation is tied to when the update is created, not when the update is sent.
2010-06-19Hunting for the problem in #4777Diva Canto1-0/+1
2010-06-19Reverting my last two commits, putting back Melanie's exception handler. ↵Diva Canto1-1/+10
Doesn't solve #4777.
2010-06-19Reinstated the behavior of AddPrimShape *exactly* as it was as of December. ↵Diva Canto1-10/+1
Trying to fix mantis #4777
2010-06-19Reinstated the behavior of AddPrimShape as it was as of December. Trying to ↵Diva Canto1-0/+1
fix mantis #4777
2010-06-18Remove an error in meshing error reporting. Now doesn't double-bombMelanie1-1/+1
anymore on a bad sculpt