diff options
Merge branch 'master' into careminster
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Region/Physics/OdePlugin/OdeScene.cs | 27 |
1 files changed, 25 insertions, 2 deletions
diff --git a/OpenSim/Region/Physics/OdePlugin/OdeScene.cs b/OpenSim/Region/Physics/OdePlugin/OdeScene.cs index a6c2eca..f716687 100644 --- a/OpenSim/Region/Physics/OdePlugin/OdeScene.cs +++ b/OpenSim/Region/Physics/OdePlugin/OdeScene.cs | |||
@@ -1699,7 +1699,10 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
1699 | 1699 | ||
1700 | public override void RemoveAvatar(PhysicsActor actor) | 1700 | public override void RemoveAvatar(PhysicsActor actor) |
1701 | { | 1701 | { |
1702 | //m_log.Debug("[PHYSICS]:ODELOCK"); | 1702 | // m_log.DebugFormat( |
1703 | // "[ODE SCENE]: Removing physics character {0} {1} from physics scene {2}", | ||
1704 | // actor.Name, actor.LocalID, Name); | ||
1705 | |||
1703 | ((OdeCharacter) actor).Destroy(); | 1706 | ((OdeCharacter) actor).Destroy(); |
1704 | } | 1707 | } |
1705 | 1708 | ||
@@ -1709,6 +1712,10 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
1709 | { | 1712 | { |
1710 | _characters.Add(chr); | 1713 | _characters.Add(chr); |
1711 | 1714 | ||
1715 | // m_log.DebugFormat( | ||
1716 | // "[ODE SCENE]: Adding physics character {0} {1} to physics scene {2}. Count now {3}", | ||
1717 | // chr.Name, chr.LocalID, Name, _characters.Count); | ||
1718 | |||
1712 | if (chr.bad) | 1719 | if (chr.bad) |
1713 | m_log.ErrorFormat("[ODE SCENE]: Added BAD actor {0} to characters list", chr.m_uuid); | 1720 | m_log.ErrorFormat("[ODE SCENE]: Added BAD actor {0} to characters list", chr.m_uuid); |
1714 | } | 1721 | } |
@@ -1723,11 +1730,19 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
1723 | internal void RemoveCharacter(OdeCharacter chr) | 1730 | internal void RemoveCharacter(OdeCharacter chr) |
1724 | { | 1731 | { |
1725 | if (_characters.Contains(chr)) | 1732 | if (_characters.Contains(chr)) |
1733 | { | ||
1726 | _characters.Remove(chr); | 1734 | _characters.Remove(chr); |
1735 | |||
1736 | // m_log.DebugFormat( | ||
1737 | // "[ODE SCENE]: Removing physics character {0} {1} from physics scene {2}. Count now {3}", | ||
1738 | // chr.Name, chr.LocalID, Name, _characters.Count); | ||
1739 | } | ||
1727 | else | 1740 | else |
1741 | { | ||
1728 | m_log.ErrorFormat( | 1742 | m_log.ErrorFormat( |
1729 | "[ODE SCENE]: Tried to remove character {0} {1} but they are not in the list!", | 1743 | "[ODE SCENE]: Tried to remove character {0} {1} but they are not in the list!", |
1730 | chr.Name, chr.LocalID); | 1744 | chr.Name, chr.LocalID); |
1745 | } | ||
1731 | } | 1746 | } |
1732 | 1747 | ||
1733 | private PhysicsActor AddPrim(String name, Vector3 position, Vector3 size, Quaternion rotation, | 1748 | private PhysicsActor AddPrim(String name, Vector3 position, Vector3 size, Quaternion rotation, |
@@ -1765,7 +1780,7 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
1765 | public override PhysicsActor AddPrimShape(string primName, PrimitiveBaseShape pbs, Vector3 position, | 1780 | public override PhysicsActor AddPrimShape(string primName, PrimitiveBaseShape pbs, Vector3 position, |
1766 | Vector3 size, Quaternion rotation, bool isPhysical, uint localid) | 1781 | Vector3 size, Quaternion rotation, bool isPhysical, uint localid) |
1767 | { | 1782 | { |
1768 | // m_log.DebugFormat("[ODE SCENE]: Adding physics actor to {0} {1}", primName, localid); | 1783 | // m_log.DebugFormat("[ODE SCENE]: Adding physics prim {0} {1} to physics scene {2}", primName, localid, Name); |
1769 | 1784 | ||
1770 | return AddPrim(primName, position, size, rotation, pbs, isPhysical, localid); | 1785 | return AddPrim(primName, position, size, rotation, pbs, isPhysical, localid); |
1771 | } | 1786 | } |
@@ -2755,6 +2770,10 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
2755 | { | 2770 | { |
2756 | foreach (OdeCharacter actor in defects) | 2771 | foreach (OdeCharacter actor in defects) |
2757 | { | 2772 | { |
2773 | m_log.ErrorFormat( | ||
2774 | "[ODE SCENE]: Removing physics character {0} {1} from physics scene {2} due to defect found when moving", | ||
2775 | actor.Name, actor.LocalID, Name); | ||
2776 | |||
2758 | RemoveCharacter(actor); | 2777 | RemoveCharacter(actor); |
2759 | actor.DestroyOdeStructures(); | 2778 | actor.DestroyOdeStructures(); |
2760 | } | 2779 | } |
@@ -2825,6 +2844,10 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
2825 | { | 2844 | { |
2826 | foreach (OdeCharacter actor in defects) | 2845 | foreach (OdeCharacter actor in defects) |
2827 | { | 2846 | { |
2847 | m_log.ErrorFormat( | ||
2848 | "[ODE SCENE]: Removing physics character {0} {1} from physics scene {2} due to defect found when updating position and velocity", | ||
2849 | actor.Name, actor.LocalID, Name); | ||
2850 | |||
2828 | RemoveCharacter(actor); | 2851 | RemoveCharacter(actor); |
2829 | actor.DestroyOdeStructures(); | 2852 | actor.DestroyOdeStructures(); |
2830 | } | 2853 | } |