aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/PhysicsModules/ubOde/ODEScene.cs
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/PhysicsModules/ubOde/ODEScene.cs34
1 files changed, 19 insertions, 15 deletions
diff --git a/OpenSim/Region/PhysicsModules/ubOde/ODEScene.cs b/OpenSim/Region/PhysicsModules/ubOde/ODEScene.cs
index 97dcb69..dc65a2c 100644
--- a/OpenSim/Region/PhysicsModules/ubOde/ODEScene.cs
+++ b/OpenSim/Region/PhysicsModules/ubOde/ODEScene.cs
@@ -1558,33 +1558,36 @@ namespace OpenSim.Region.PhysicsModule.ubOde
1558 1558
1559 // tmpTime = Util.GetTimeStampMS(); 1559 // tmpTime = Util.GetTimeStampMS();
1560 1560
1561 lock (SimulationLock) 1561 // Move characters
1562 lock (_characters)
1562 { 1563 {
1563 // Move characters 1564 foreach (OdeCharacter actor in _characters)
1564 lock (_characters)
1565 { 1565 {
1566 foreach (OdeCharacter actor in _characters) 1566 lock (SimulationLock)
1567 {
1568 actor.Move(); 1567 actor.Move();
1569 }
1570 } 1568 }
1569 }
1571 1570
1572 // Move other active objects 1571 // Move other active objects
1573 lock (_activegroups) 1572 lock (_activegroups)
1573 {
1574 foreach (OdePrim aprim in _activegroups)
1574 { 1575 {
1575 foreach (OdePrim aprim in _activegroups) 1576 lock (SimulationLock)
1576 {
1577 aprim.Move(); 1577 aprim.Move();
1578 }
1579 } 1578 }
1579 }
1580 // moveTime += Util.GetTimeStampMS() - tmpTime; 1580 // moveTime += Util.GetTimeStampMS() - tmpTime;
1581 // tmpTime = Util.GetTimeStampMS(); 1581 // tmpTime = Util.GetTimeStampMS();
1582 lock (SimulationLock)
1583 {
1582 m_rayCastManager.ProcessQueuedRequests(); 1584 m_rayCastManager.ProcessQueuedRequests();
1583 // rayTime += Util.GetTimeStampMS() - tmpTime; 1585 // rayTime += Util.GetTimeStampMS() - tmpTime;
1584 1586
1585 // tmpTime = Util.GetTimeStampMS(); 1587 // tmpTime = Util.GetTimeStampMS();
1586 collision_optimized(); 1588 collision_optimized();
1587 } 1589 }
1590
1588 // collisionTime += Util.GetTimeStampMS() - tmpTime; 1591 // collisionTime += Util.GetTimeStampMS() - tmpTime;
1589 1592
1590 // tmpTime = Util.GetTimeStampMS(); 1593 // tmpTime = Util.GetTimeStampMS();
@@ -1655,7 +1658,7 @@ namespace OpenSim.Region.PhysicsModule.ubOde
1655 } 1658 }
1656 */ 1659 */
1657 // tmpTime = Util.GetTimeStampMS(); 1660 // tmpTime = Util.GetTimeStampMS();
1658 lock (SimulationLock) 1661 //lock (SimulationLock)
1659 { 1662 {
1660 lock (_activegroups) 1663 lock (_activegroups)
1661 { 1664 {
@@ -1664,7 +1667,8 @@ namespace OpenSim.Region.PhysicsModule.ubOde
1664 { 1667 {
1665 if (actor.IsPhysical) 1668 if (actor.IsPhysical)
1666 { 1669 {
1667 actor.UpdatePositionAndVelocity(framecount); 1670 lock (SimulationLock)
1671 actor.UpdatePositionAndVelocity(framecount);
1668 } 1672 }
1669 } 1673 }
1670 } 1674 }