Merge branch 'master' of git://opensimulator.org/git/opensim
						commit
						7432ca6daf
					
				| 
						 | 
				
			
			@ -180,12 +180,17 @@ namespace OpenSim.Region.Framework.Scenes.Animation
 | 
			
		|||
            bool heldBack = ((controlFlags & AgentManager.ControlFlags.AGENT_CONTROL_AT_NEG) == AgentManager.ControlFlags.AGENT_CONTROL_AT_NEG || (controlFlags & AgentManager.ControlFlags.AGENT_CONTROL_NUDGE_AT_NEG) == AgentManager.ControlFlags.AGENT_CONTROL_NUDGE_AT_NEG);
 | 
			
		||||
            bool heldLeft = ((controlFlags & AgentManager.ControlFlags.AGENT_CONTROL_LEFT_POS) == AgentManager.ControlFlags.AGENT_CONTROL_LEFT_POS || (controlFlags & AgentManager.ControlFlags.AGENT_CONTROL_NUDGE_LEFT_POS) == AgentManager.ControlFlags.AGENT_CONTROL_NUDGE_LEFT_POS);
 | 
			
		||||
            bool heldRight = ((controlFlags & AgentManager.ControlFlags.AGENT_CONTROL_LEFT_NEG) == AgentManager.ControlFlags.AGENT_CONTROL_LEFT_NEG || (controlFlags & AgentManager.ControlFlags.AGENT_CONTROL_NUDGE_LEFT_NEG) == AgentManager.ControlFlags.AGENT_CONTROL_NUDGE_LEFT_NEG);
 | 
			
		||||
            //bool heldTurnLeft = (controlFlags & AgentManager.ControlFlags.AGENT_CONTROL_TURN_LEFT) == AgentManager.ControlFlags.AGENT_CONTROL_TURN_LEFT;
 | 
			
		||||
            //bool heldTurnRight = (controlFlags & AgentManager.ControlFlags.AGENT_CONTROL_TURN_RIGHT) == AgentManager.ControlFlags.AGENT_CONTROL_TURN_RIGHT;
 | 
			
		||||
            bool heldTurnLeft = (controlFlags & AgentManager.ControlFlags.AGENT_CONTROL_TURN_LEFT) == AgentManager.ControlFlags.AGENT_CONTROL_TURN_LEFT;
 | 
			
		||||
            bool heldTurnRight = (controlFlags & AgentManager.ControlFlags.AGENT_CONTROL_TURN_RIGHT) == AgentManager.ControlFlags.AGENT_CONTROL_TURN_RIGHT;
 | 
			
		||||
            bool heldUp = (controlFlags & AgentManager.ControlFlags.AGENT_CONTROL_UP_POS) == AgentManager.ControlFlags.AGENT_CONTROL_UP_POS;
 | 
			
		||||
            bool heldDown = (controlFlags & AgentManager.ControlFlags.AGENT_CONTROL_UP_NEG) == AgentManager.ControlFlags.AGENT_CONTROL_UP_NEG;
 | 
			
		||||
            //bool flying = (controlFlags & AgentManager.ControlFlags.AGENT_CONTROL_FLY) == AgentManager.ControlFlags.AGENT_CONTROL_FLY;
 | 
			
		||||
            //bool mouselook = (controlFlags & AgentManager.ControlFlags.AGENT_CONTROL_MOUSELOOK) == AgentManager.ControlFlags.AGENT_CONTROL_MOUSELOOK;
 | 
			
		||||
            if (heldForward || heldBack || heldLeft || heldRight || heldUp || heldDown)
 | 
			
		||||
            {
 | 
			
		||||
                heldTurnLeft = false;
 | 
			
		||||
                heldTurnRight = false;
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            // Direction in which the avatar is trying to move
 | 
			
		||||
            Vector3 move = Vector3.Zero;
 | 
			
		||||
| 
						 | 
				
			
			@ -363,10 +368,10 @@ namespace OpenSim.Region.Framework.Scenes.Animation
 | 
			
		|||
                // Not walking
 | 
			
		||||
                if (move.Z < 0)
 | 
			
		||||
                    return "CROUCH";
 | 
			
		||||
//                else if (heldTurnLeft)
 | 
			
		||||
//                    return "TURNLEFT";
 | 
			
		||||
//                else if (heldTurnRight)
 | 
			
		||||
//                    return "TURNRIGHT";
 | 
			
		||||
                else if (heldTurnLeft)
 | 
			
		||||
                    return "TURNLEFT";
 | 
			
		||||
                else if (heldTurnRight)
 | 
			
		||||
                    return "TURNRIGHT";
 | 
			
		||||
                else
 | 
			
		||||
                    return "STAND";
 | 
			
		||||
            }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1661,6 +1661,13 @@ namespace OpenSim.Region.Framework.Scenes
 | 
			
		|||
        /// <param name="childPrims"></param>
 | 
			
		||||
        protected internal void LinkObjects(SceneObjectPart root, List<SceneObjectPart> children)
 | 
			
		||||
        {
 | 
			
		||||
            SceneObjectGroup parentGroup = root.ParentGroup;
 | 
			
		||||
            if (parentGroup == null) return;
 | 
			
		||||
 | 
			
		||||
            // Cowardly refuse to link to a group owned root
 | 
			
		||||
            if (parentGroup.OwnerID == parentGroup.GroupID)
 | 
			
		||||
                return;
 | 
			
		||||
 | 
			
		||||
            Monitor.Enter(m_updateLock);
 | 
			
		||||
            try
 | 
			
		||||
            {
 | 
			
		||||
| 
						 | 
				
			
			@ -1683,11 +1690,14 @@ namespace OpenSim.Region.Framework.Scenes
 | 
			
		|||
 | 
			
		||||
                foreach (SceneObjectGroup child in childGroups)
 | 
			
		||||
                {
 | 
			
		||||
                    parentGroup.LinkToGroup(child);
 | 
			
		||||
                    if (parentGroup.OwnerID == child.OwnerID)
 | 
			
		||||
                    {
 | 
			
		||||
                        parentGroup.LinkToGroup(child);
 | 
			
		||||
 | 
			
		||||
                    // this is here so physics gets updated!
 | 
			
		||||
                    // Don't remove!  Bad juju!  Stay away! or fix physics!
 | 
			
		||||
                    child.AbsolutePosition = child.AbsolutePosition;
 | 
			
		||||
                        // this is here so physics gets updated!
 | 
			
		||||
                        // Don't remove!  Bad juju!  Stay away! or fix physics!
 | 
			
		||||
                        child.AbsolutePosition = child.AbsolutePosition;
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
                // We need to explicitly resend the newly link prim's object properties since no other actions
 | 
			
		||||
| 
						 | 
				
			
			@ -1725,9 +1735,14 @@ namespace OpenSim.Region.Framework.Scenes
 | 
			
		|||
                        if (part.ParentGroup.PrimCount != 1) // Skip single
 | 
			
		||||
                        {
 | 
			
		||||
                            if (part.LinkNum < 2) // Root
 | 
			
		||||
                            {
 | 
			
		||||
                                rootParts.Add(part);
 | 
			
		||||
                            }
 | 
			
		||||
                            else
 | 
			
		||||
                            {
 | 
			
		||||
                                part.LastOwnerID = part.ParentGroup.RootPart.LastOwnerID;
 | 
			
		||||
                                childParts.Add(part);
 | 
			
		||||
                            }
 | 
			
		||||
 | 
			
		||||
                            SceneObjectGroup group = part.ParentGroup;
 | 
			
		||||
                            if (!affectedGroups.Contains(group))
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1387,6 +1387,11 @@ namespace OpenSim.Region.Framework.Scenes
 | 
			
		|||
            if ((flags & AgentManager.ControlFlags.AGENT_CONTROL_AT_POS) != 0)
 | 
			
		||||
                m_updateCount = UPDATE_COUNT;
 | 
			
		||||
 | 
			
		||||
            // Make turning in place work
 | 
			
		||||
            if ((flags & AgentManager.ControlFlags.AGENT_CONTROL_YAW_POS) != 0 ||
 | 
			
		||||
                (flags & AgentManager.ControlFlags.AGENT_CONTROL_YAW_NEG) != 0)
 | 
			
		||||
                m_updateCount = UPDATE_COUNT;
 | 
			
		||||
 | 
			
		||||
            if ((flags & AgentManager.ControlFlags.AGENT_CONTROL_STAND_UP) != 0)
 | 
			
		||||
            {
 | 
			
		||||
                StandUp();
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue