diff options
author | Charles Krinke | 2008-07-12 17:08:34 +0000 |
---|---|---|
committer | Charles Krinke | 2008-07-12 17:08:34 +0000 |
commit | bdec1aea92ad5a385a3f9bd38f37f24cdb54e121 (patch) | |
tree | 5fcde8e4a10439b4cc9677bc9cfd32f34c11e581 /OpenSim | |
parent | Mantis#1691. Thank you kindly, Phrearch for a pactch that: (diff) | |
download | opensim-SC_OLD-bdec1aea92ad5a385a3f9bd38f37f24cdb54e121.zip opensim-SC_OLD-bdec1aea92ad5a385a3f9bd38f37f24cdb54e121.tar.gz opensim-SC_OLD-bdec1aea92ad5a385a3f9bd38f37f24cdb54e121.tar.bz2 opensim-SC_OLD-bdec1aea92ad5a385a3f9bd38f37f24cdb54e121.tar.xz |
Mantis#1716. Thank you kindly, Nlin for a patch that:
Addresses the Gap when sitting on single prims with
a sit target (discrepancy with SL)
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Region/Environment/Scenes/ScenePresence.cs | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/OpenSim/Region/Environment/Scenes/ScenePresence.cs b/OpenSim/Region/Environment/Scenes/ScenePresence.cs index a0a76cf..cfda41e 100644 --- a/OpenSim/Region/Environment/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Environment/Scenes/ScenePresence.cs | |||
@@ -98,6 +98,14 @@ namespace OpenSim.Region.Environment.Scenes | |||
98 | private LLVector3 m_LastFinitePos = new LLVector3(); | 98 | private LLVector3 m_LastFinitePos = new LLVector3(); |
99 | 99 | ||
100 | private float m_sitAvatarHeight = 2.0f; | 100 | private float m_sitAvatarHeight = 2.0f; |
101 | |||
102 | // experimentally determined "fudge factor" to make sit-target positions | ||
103 | // the same as in SecondLife. Fudge factor was tested for 36 different | ||
104 | // test cases including prims of type box, sphere, cylinder, and torus, | ||
105 | // with varying parameters for sit target location, prim size, prim | ||
106 | // rotation, prim cut, prim twist, prim taper, and prim shear. See mantis | ||
107 | // issue #1716 | ||
108 | private static readonly LLVector3 m_sitTargetCorrectionOffset = new LLVector3(0.1f, 0.0f, 0.3f); | ||
101 | private float m_godlevel = 0; | 109 | private float m_godlevel = 0; |
102 | 110 | ||
103 | private bool m_attachmentsTransported = false; | 111 | private bool m_attachmentsTransported = false; |
@@ -1231,6 +1239,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
1231 | //Quaternion result = (sitTargetOrient * vq) * nq; | 1239 | //Quaternion result = (sitTargetOrient * vq) * nq; |
1232 | 1240 | ||
1233 | m_pos = new LLVector3(sitTargetPos.x, sitTargetPos.y, sitTargetPos.z); | 1241 | m_pos = new LLVector3(sitTargetPos.x, sitTargetPos.y, sitTargetPos.z); |
1242 | m_pos += m_sitTargetCorrectionOffset; | ||
1234 | m_bodyRot = sitTargetOrient; | 1243 | m_bodyRot = sitTargetOrient; |
1235 | //Rotation = sitTargetOrient; | 1244 | //Rotation = sitTargetOrient; |
1236 | m_parentPosition = part.AbsolutePosition; | 1245 | m_parentPosition = part.AbsolutePosition; |