aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/PhysicsModules/ubOde/ODEScene.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/PhysicsModules/ubOde/ODEScene.cs')
-rw-r--r--OpenSim/Region/PhysicsModules/ubOde/ODEScene.cs18
1 files changed, 14 insertions, 4 deletions
diff --git a/OpenSim/Region/PhysicsModules/ubOde/ODEScene.cs b/OpenSim/Region/PhysicsModules/ubOde/ODEScene.cs
index 6279d6a..4a82f77 100644
--- a/OpenSim/Region/PhysicsModules/ubOde/ODEScene.cs
+++ b/OpenSim/Region/PhysicsModules/ubOde/ODEScene.cs
@@ -186,7 +186,7 @@ namespace OpenSim.Region.PhysicsModule.ubOde
186 186
187 float frictionMovementMult = 0.8f; 187 float frictionMovementMult = 0.8f;
188 188
189 float TerrainBounce = 0.1f; 189 float TerrainBounce = 0.001f;
190 float TerrainFriction = 0.3f; 190 float TerrainFriction = 0.3f;
191 191
192 public float AvatarFriction = 0;// 0.9f * 0.5f; 192 public float AvatarFriction = 0;// 0.9f * 0.5f;
@@ -1083,9 +1083,12 @@ namespace OpenSim.Region.PhysicsModule.ubOde
1083 case ActorTypes.Prim: 1083 case ActorTypes.Prim:
1084 if (p2events) 1084 if (p2events)
1085 { 1085 {
1086 AddCollisionEventReporting(p2); 1086 //AddCollisionEventReporting(p2);
1087 p2.AddCollisionEvent(p1.ParentActor.LocalID, contact); 1087 p2.AddCollisionEvent(p1.ParentActor.LocalID, contact);
1088 } 1088 }
1089 else if(p1.IsVolumeDtc)
1090 p2.AddVDTCCollisionEvent(p1.ParentActor.LocalID, contact);
1091
1089 obj2LocalID = p2.ParentActor.LocalID; 1092 obj2LocalID = p2.ParentActor.LocalID;
1090 break; 1093 break;
1091 1094
@@ -1099,9 +1102,16 @@ namespace OpenSim.Region.PhysicsModule.ubOde
1099 { 1102 {
1100 contact.SurfaceNormal = -contact.SurfaceNormal; 1103 contact.SurfaceNormal = -contact.SurfaceNormal;
1101 contact.RelativeSpeed = -contact.RelativeSpeed; 1104 contact.RelativeSpeed = -contact.RelativeSpeed;
1102 AddCollisionEventReporting(p1); 1105 //AddCollisionEventReporting(p1);
1103 p1.AddCollisionEvent(obj2LocalID, contact); 1106 p1.AddCollisionEvent(obj2LocalID, contact);
1104 } 1107 }
1108 else if(p2.IsVolumeDtc)
1109 {
1110 contact.SurfaceNormal = -contact.SurfaceNormal;
1111 contact.RelativeSpeed = -contact.RelativeSpeed;
1112 //AddCollisionEventReporting(p1);
1113 p1.AddVDTCCollisionEvent(obj2LocalID, contact);
1114 }
1105 break; 1115 break;
1106 } 1116 }
1107 case ActorTypes.Ground: 1117 case ActorTypes.Ground:
@@ -1110,7 +1120,7 @@ namespace OpenSim.Region.PhysicsModule.ubOde
1110 { 1120 {
1111 if (p2events && !p2.IsVolumeDtc) 1121 if (p2events && !p2.IsVolumeDtc)
1112 { 1122 {
1113 AddCollisionEventReporting(p2); 1123 //AddCollisionEventReporting(p2);
1114 p2.AddCollisionEvent(0, contact); 1124 p2.AddCollisionEvent(0, contact);
1115 } 1125 }
1116 break; 1126 break;