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)0.6.0-stable
							parent
							
								
									e6d3f7c39d
								
							
						
					
					
						commit
						bdec1aea92
					
				| 
						 | 
					@ -98,6 +98,14 @@ namespace OpenSim.Region.Environment.Scenes
 | 
				
			||||||
        private LLVector3 m_LastFinitePos = new LLVector3();
 | 
					        private LLVector3 m_LastFinitePos = new LLVector3();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        private float m_sitAvatarHeight = 2.0f;
 | 
					        private float m_sitAvatarHeight = 2.0f;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        // experimentally determined "fudge factor" to make sit-target positions
 | 
				
			||||||
 | 
					        // the same as in SecondLife. Fudge factor was tested for 36 different
 | 
				
			||||||
 | 
					        // test cases including prims of type box, sphere, cylinder, and torus,
 | 
				
			||||||
 | 
					        // with varying parameters for sit target location, prim size, prim
 | 
				
			||||||
 | 
					        // rotation, prim cut, prim twist, prim taper, and prim shear. See mantis
 | 
				
			||||||
 | 
					        // issue #1716
 | 
				
			||||||
 | 
					        private static readonly LLVector3 m_sitTargetCorrectionOffset = new LLVector3(0.1f, 0.0f, 0.3f);
 | 
				
			||||||
        private float m_godlevel = 0;
 | 
					        private float m_godlevel = 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        private bool m_attachmentsTransported = false;
 | 
					        private bool m_attachmentsTransported = false;
 | 
				
			||||||
| 
						 | 
					@ -1231,6 +1239,7 @@ namespace OpenSim.Region.Environment.Scenes
 | 
				
			||||||
                        //Quaternion result = (sitTargetOrient * vq) * nq;
 | 
					                        //Quaternion result = (sitTargetOrient * vq) * nq;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                        m_pos = new LLVector3(sitTargetPos.x, sitTargetPos.y, sitTargetPos.z);
 | 
					                        m_pos = new LLVector3(sitTargetPos.x, sitTargetPos.y, sitTargetPos.z);
 | 
				
			||||||
 | 
					                        m_pos += m_sitTargetCorrectionOffset;
 | 
				
			||||||
                        m_bodyRot = sitTargetOrient;
 | 
					                        m_bodyRot = sitTargetOrient;
 | 
				
			||||||
                        //Rotation = sitTargetOrient;
 | 
					                        //Rotation = sitTargetOrient;
 | 
				
			||||||
                        m_parentPosition = part.AbsolutePosition;
 | 
					                        m_parentPosition = part.AbsolutePosition;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue