aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Physics/UbitOdePlugin/ODECharacter.cs
diff options
context:
space:
mode:
authorUbitUmarov2012-12-04 02:46:40 +0000
committerUbitUmarov2012-12-04 02:46:40 +0000
commitb6d29aa124cf1ec1c1dbe6874720e6cc39faf06f (patch)
treee71a0e511e0b070d4ab28f4012c82860fe99cd48 /OpenSim/Region/Physics/UbitOdePlugin/ODECharacter.cs
parentraise standing avatar a bit to reduce knees bending on some collisions. (diff)
downloadopensim-SC-b6d29aa124cf1ec1c1dbe6874720e6cc39faf06f.zip
opensim-SC-b6d29aa124cf1ec1c1dbe6874720e6cc39faf06f.tar.gz
opensim-SC-b6d29aa124cf1ec1c1dbe6874720e6cc39faf06f.tar.bz2
opensim-SC-b6d29aa124cf1ec1c1dbe6874720e6cc39faf06f.tar.xz
move characters (avatars) to own collision space, also fixing a problem
with previus code that was still assuming the avatar is g2
Diffstat (limited to 'OpenSim/Region/Physics/UbitOdePlugin/ODECharacter.cs')
-rw-r--r--OpenSim/Region/Physics/UbitOdePlugin/ODECharacter.cs18
1 files changed, 9 insertions, 9 deletions
diff --git a/OpenSim/Region/Physics/UbitOdePlugin/ODECharacter.cs b/OpenSim/Region/Physics/UbitOdePlugin/ODECharacter.cs
index f33fdb4..925900f 100644
--- a/OpenSim/Region/Physics/UbitOdePlugin/ODECharacter.cs
+++ b/OpenSim/Region/Physics/UbitOdePlugin/ODECharacter.cs
@@ -708,21 +708,21 @@ namespace OpenSim.Region.Physics.OdePlugin
708 bot += midsz; 708 bot += midsz;
709 float topz = bot + topsz * 0.5f; 709 float topz = bot + topsz * 0.5f;
710 710
711 _parent_scene.waitForSpaceUnlock(_parent_scene.ActiveSpace); 711 _parent_scene.waitForSpaceUnlock(_parent_scene.CharsSpace);
712 712
713 feetbox = d.CreateBox(_parent_scene.ActiveSpace, feetsx, feetsy, feetsz); 713 feetbox = d.CreateBox(_parent_scene.CharsSpace, feetsx, feetsy, feetsz);
714 d.GeomSetCategoryBits(feetbox, (uint)m_collisionCategories); 714 d.GeomSetCategoryBits(feetbox, (uint)m_collisionCategories);
715 d.GeomSetCollideBits(feetbox, (uint)m_collisionFlags); 715 d.GeomSetCollideBits(feetbox, (uint)m_collisionFlags);
716 716
717 midbox = d.CreateBox(_parent_scene.ActiveSpace, midsx, midsy, midsz); 717 midbox = d.CreateBox(_parent_scene.CharsSpace, midsx, midsy, midsz);
718 d.GeomSetCategoryBits(midbox, (uint)m_collisionCategories); 718 d.GeomSetCategoryBits(midbox, (uint)m_collisionCategories);
719 d.GeomSetCollideBits(midbox, (uint)m_collisionFlags); 719 d.GeomSetCollideBits(midbox, (uint)m_collisionFlags);
720 720
721 topbox = d.CreateBox(_parent_scene.ActiveSpace, topsx, topsy, topsz); 721 topbox = d.CreateBox(_parent_scene.CharsSpace, topsx, topsy, topsz);
722 d.GeomSetCategoryBits(topbox, (uint)m_collisionCategories); 722 d.GeomSetCategoryBits(topbox, (uint)m_collisionCategories);
723 d.GeomSetCollideBits(topbox, (uint)m_collisionFlags); 723 d.GeomSetCollideBits(topbox, (uint)m_collisionFlags);
724 724
725 bonebox = d.CreateBox(_parent_scene.ActiveSpace, bonesx, bonesy, bonesz); 725 bonebox = d.CreateBox(_parent_scene.CharsSpace, bonesx, bonesy, bonesz);
726 d.GeomSetCategoryBits(bonebox, (uint)m_collisionCategories); 726 d.GeomSetCategoryBits(bonebox, (uint)m_collisionCategories);
727 d.GeomSetCollideBits(bonebox, (uint)m_collisionFlags); 727 d.GeomSetCollideBits(bonebox, (uint)m_collisionFlags);
728 728
@@ -828,21 +828,21 @@ namespace OpenSim.Region.Physics.OdePlugin
828 if (topbox != IntPtr.Zero) 828 if (topbox != IntPtr.Zero)
829 { 829 {
830 _parent_scene.actor_name_map.Remove(topbox); 830 _parent_scene.actor_name_map.Remove(topbox);
831 _parent_scene.waitForSpaceUnlock(_parent_scene.ActiveSpace); 831 _parent_scene.waitForSpaceUnlock(_parent_scene.CharsSpace);
832 d.GeomDestroy(topbox); 832 d.GeomDestroy(topbox);
833 topbox = IntPtr.Zero; 833 topbox = IntPtr.Zero;
834 } 834 }
835 if (midbox != IntPtr.Zero) 835 if (midbox != IntPtr.Zero)
836 { 836 {
837 _parent_scene.actor_name_map.Remove(midbox); 837 _parent_scene.actor_name_map.Remove(midbox);
838 _parent_scene.waitForSpaceUnlock(_parent_scene.ActiveSpace); 838 _parent_scene.waitForSpaceUnlock(_parent_scene.CharsSpace);
839 d.GeomDestroy(midbox); 839 d.GeomDestroy(midbox);
840 midbox = IntPtr.Zero; 840 midbox = IntPtr.Zero;
841 } 841 }
842 if (feetbox != IntPtr.Zero) 842 if (feetbox != IntPtr.Zero)
843 { 843 {
844 _parent_scene.actor_name_map.Remove(feetbox); 844 _parent_scene.actor_name_map.Remove(feetbox);
845 _parent_scene.waitForSpaceUnlock(_parent_scene.ActiveSpace); 845 _parent_scene.waitForSpaceUnlock(_parent_scene.CharsSpace);
846 d.GeomDestroy(feetbox); 846 d.GeomDestroy(feetbox);
847 feetbox = IntPtr.Zero; 847 feetbox = IntPtr.Zero;
848 } 848 }
@@ -850,7 +850,7 @@ namespace OpenSim.Region.Physics.OdePlugin
850 if (bonebox != IntPtr.Zero) 850 if (bonebox != IntPtr.Zero)
851 { 851 {
852 _parent_scene.actor_name_map.Remove(bonebox); 852 _parent_scene.actor_name_map.Remove(bonebox);
853 _parent_scene.waitForSpaceUnlock(_parent_scene.ActiveSpace); 853 _parent_scene.waitForSpaceUnlock(_parent_scene.CharsSpace);
854 d.GeomDestroy(bonebox); 854 d.GeomDestroy(bonebox);
855 bonebox = IntPtr.Zero; 855 bonebox = IntPtr.Zero;
856 } 856 }