Add the PhysActor to the correct SOP when duplicating a physical
prim. Thanks, MisterBluebulletsim
							parent
							
								
									289c8fe1bc
								
							
						
					
					
						commit
						29da57e380
					
				| 
						 | 
				
			
			@ -1449,18 +1449,23 @@ namespace OpenSim.Region.Framework.Scenes
 | 
			
		|||
 | 
			
		||||
            foreach (SceneObjectPart part in partList)
 | 
			
		||||
            {
 | 
			
		||||
                SceneObjectPart newPart;
 | 
			
		||||
                if (part.UUID != m_rootPart.UUID)
 | 
			
		||||
                {
 | 
			
		||||
                    SceneObjectPart newPart = dupe.CopyPart(part, OwnerID, GroupID, userExposed);
 | 
			
		||||
                    newPart = dupe.CopyPart(part, OwnerID, GroupID, userExposed);
 | 
			
		||||
                    newPart.LinkNum = part.LinkNum;
 | 
			
		||||
                }
 | 
			
		||||
                else
 | 
			
		||||
                {
 | 
			
		||||
                    newPart = dupe.m_rootPart;
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
                // Need to duplicate the physics actor as well
 | 
			
		||||
                if (part.PhysActor != null && userExposed)
 | 
			
		||||
                {
 | 
			
		||||
                    PrimitiveBaseShape pbs = part.Shape;
 | 
			
		||||
    
 | 
			
		||||
                    part.PhysActor 
 | 
			
		||||
                    newPart.PhysActor
 | 
			
		||||
                        = m_scene.PhysicsScene.AddPrimShape(
 | 
			
		||||
                            string.Format("{0}/{1}", part.Name, part.UUID),
 | 
			
		||||
                            pbs,
 | 
			
		||||
| 
						 | 
				
			
			@ -1469,8 +1474,8 @@ namespace OpenSim.Region.Framework.Scenes
 | 
			
		|||
                            part.RotationOffset,
 | 
			
		||||
                            part.PhysActor.IsPhysical);
 | 
			
		||||
    
 | 
			
		||||
                    part.PhysActor.LocalID = part.LocalId;
 | 
			
		||||
                    part.DoPhysicsPropertyUpdate(part.PhysActor.IsPhysical, true);
 | 
			
		||||
                    newPart.PhysActor.LocalID = part.LocalId;
 | 
			
		||||
                    newPart.DoPhysicsPropertyUpdate(part.PhysActor.IsPhysical, true);
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
            
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue