From b6d83e9c0f4bd1d450e36270278285be50d5ace8 Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Wed, 16 Nov 2011 23:01:59 +0000 Subject: Stop OdePrim and OdeCharacter insanely overriding set LocalID to set their 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 --- OpenSim/Region/Physics/OdePlugin/ODERayCastRequestManager.cs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'OpenSim/Region/Physics/OdePlugin/ODERayCastRequestManager.cs') diff --git a/OpenSim/Region/Physics/OdePlugin/ODERayCastRequestManager.cs b/OpenSim/Region/Physics/OdePlugin/ODERayCastRequestManager.cs index 6c2bdde..8d7d3b3 100644 --- a/OpenSim/Region/Physics/OdePlugin/ODERayCastRequestManager.cs +++ b/OpenSim/Region/Physics/OdePlugin/ODERayCastRequestManager.cs @@ -371,12 +371,13 @@ namespace OpenSim.Region.Physics.OdePlugin // Loop over contacts, build results. for (int i = 0; i < count; i++) { - if (p1 != null) { + if (p1 != null) + { if (p1 is OdePrim) { ContactResult collisionresult = new ContactResult(); - collisionresult.ConsumerID = ((OdePrim)p1).m_localID; + collisionresult.ConsumerID = p1.LocalID; collisionresult.Pos = new Vector3(contacts[i].pos.X, contacts[i].pos.Y, contacts[i].pos.Z); collisionresult.Depth = contacts[i].depth; collisionresult.Normal = new Vector3(contacts[i].normal.X, contacts[i].normal.Y, @@ -392,7 +393,7 @@ namespace OpenSim.Region.Physics.OdePlugin { ContactResult collisionresult = new ContactResult(); - collisionresult.ConsumerID = ((OdePrim)p2).m_localID; + collisionresult.ConsumerID = p2.LocalID; collisionresult.Pos = new Vector3(contacts[i].pos.X, contacts[i].pos.Y, contacts[i].pos.Z); collisionresult.Depth = contacts[i].depth; collisionresult.Normal = new Vector3(contacts[i].normal.X, contacts[i].normal.Y, -- cgit v1.1