�TEST MESS* reduce animation packets send. Added onchangeanim event with parameters to define if to add or remove, and if to send anims pack on that evocation, etc
parent
cf8b7c8aff
commit
7461fe4554
OpenSim
Framework
Region
ClientStack/Linden/UDP
Framework/Scenes
OptionalModules
Agent/InternetRelayClientView/Server
World/NPC
Tests/Common/Mock
|
@ -70,6 +70,8 @@ namespace OpenSim.Framework
|
||||||
|
|
||||||
public delegate void StopAnim(IClientAPI remoteClient, UUID animID);
|
public delegate void StopAnim(IClientAPI remoteClient, UUID animID);
|
||||||
|
|
||||||
|
public delegate void ChangeAnim(UUID animID, bool addOrRemove, bool sendPack);
|
||||||
|
|
||||||
public delegate void LinkObjects(IClientAPI remoteClient, uint parent, List<uint> children);
|
public delegate void LinkObjects(IClientAPI remoteClient, uint parent, List<uint> children);
|
||||||
|
|
||||||
public delegate void DelinkObjects(List<uint> primIds, IClientAPI client);
|
public delegate void DelinkObjects(List<uint> primIds, IClientAPI client);
|
||||||
|
@ -791,6 +793,7 @@ namespace OpenSim.Framework
|
||||||
event ObjectDrop OnObjectDrop;
|
event ObjectDrop OnObjectDrop;
|
||||||
event StartAnim OnStartAnim;
|
event StartAnim OnStartAnim;
|
||||||
event StopAnim OnStopAnim;
|
event StopAnim OnStopAnim;
|
||||||
|
event ChangeAnim OnChangeAnim;
|
||||||
event LinkObjects OnLinkObjects;
|
event LinkObjects OnLinkObjects;
|
||||||
event DelinkObjects OnDelinkObjects;
|
event DelinkObjects OnDelinkObjects;
|
||||||
event RequestMapBlocks OnRequestMapBlocks;
|
event RequestMapBlocks OnRequestMapBlocks;
|
||||||
|
|
|
@ -98,6 +98,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
public event AvatarPickerRequest OnAvatarPickerRequest;
|
public event AvatarPickerRequest OnAvatarPickerRequest;
|
||||||
public event StartAnim OnStartAnim;
|
public event StartAnim OnStartAnim;
|
||||||
public event StopAnim OnStopAnim;
|
public event StopAnim OnStopAnim;
|
||||||
|
public event ChangeAnim OnChangeAnim;
|
||||||
public event Action<IClientAPI> OnRequestAvatarsData;
|
public event Action<IClientAPI> OnRequestAvatarsData;
|
||||||
public event LinkObjects OnLinkObjects;
|
public event LinkObjects OnLinkObjects;
|
||||||
public event DelinkObjects OnDelinkObjects;
|
public event DelinkObjects OnDelinkObjects;
|
||||||
|
@ -6386,7 +6387,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
/*
|
||||||
StartAnim handlerStartAnim = null;
|
StartAnim handlerStartAnim = null;
|
||||||
StopAnim handlerStopAnim = null;
|
StopAnim handlerStopAnim = null;
|
||||||
|
|
||||||
|
@ -6409,6 +6410,25 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
return true;
|
||||||
|
*/
|
||||||
|
ChangeAnim handlerChangeAnim = null;
|
||||||
|
|
||||||
|
for (int i = 0; i < AgentAni.AnimationList.Length; i++)
|
||||||
|
{
|
||||||
|
handlerChangeAnim = OnChangeAnim;
|
||||||
|
if (handlerChangeAnim != null)
|
||||||
|
{
|
||||||
|
handlerChangeAnim(AgentAni.AnimationList[i].AnimID, AgentAni.AnimationList[i].StartAnim, false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
handlerChangeAnim = OnChangeAnim;
|
||||||
|
if (handlerChangeAnim != null)
|
||||||
|
{
|
||||||
|
handlerChangeAnim(UUID.Zero, false, true);
|
||||||
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -85,7 +85,7 @@ namespace OpenSim.Region.Framework.Scenes.Animation
|
||||||
if (m_scenePresence.IsChildAgent)
|
if (m_scenePresence.IsChildAgent)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
// m_log.DebugFormat("[SCENE PRESENCE ANIMATOR]: Adding animation {0} for {1}", animID, m_scenePresence.Name);
|
// m_log.DebugFormat("[SCENE PRESENCE ANIMATOR]: Adding animation {0} for {1}", animID, m_scenePresence.Name);
|
||||||
|
|
||||||
if (m_animations.Add(animID, m_scenePresence.ControllingClient.NextAnimationSequenceNumber, objectID))
|
if (m_animations.Add(animID, m_scenePresence.ControllingClient.NextAnimationSequenceNumber, objectID))
|
||||||
SendAnimPack();
|
SendAnimPack();
|
||||||
|
@ -117,6 +117,22 @@ namespace OpenSim.Region.Framework.Scenes.Animation
|
||||||
SendAnimPack();
|
SendAnimPack();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void avnChangeAnim(UUID animID, bool addRemove, bool sendPack)
|
||||||
|
{
|
||||||
|
if (m_scenePresence.IsChildAgent)
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (animID != UUID.Zero)
|
||||||
|
{
|
||||||
|
if (addRemove)
|
||||||
|
m_animations.Add(animID, m_scenePresence.ControllingClient.NextAnimationSequenceNumber, UUID.Zero);
|
||||||
|
else
|
||||||
|
m_animations.Remove(animID);
|
||||||
|
}
|
||||||
|
if(sendPack)
|
||||||
|
SendAnimPack();
|
||||||
|
}
|
||||||
|
|
||||||
// Called from scripts
|
// Called from scripts
|
||||||
public void RemoveAnimation(string name)
|
public void RemoveAnimation(string name)
|
||||||
{
|
{
|
||||||
|
|
|
@ -781,6 +781,7 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
ControllingClient.OnSetAlwaysRun += HandleSetAlwaysRun;
|
ControllingClient.OnSetAlwaysRun += HandleSetAlwaysRun;
|
||||||
ControllingClient.OnStartAnim += HandleStartAnim;
|
ControllingClient.OnStartAnim += HandleStartAnim;
|
||||||
ControllingClient.OnStopAnim += HandleStopAnim;
|
ControllingClient.OnStopAnim += HandleStopAnim;
|
||||||
|
ControllingClient.OnChangeAnim += avnHandleChangeAnim;
|
||||||
ControllingClient.OnForceReleaseControls += HandleForceReleaseControls;
|
ControllingClient.OnForceReleaseControls += HandleForceReleaseControls;
|
||||||
ControllingClient.OnAutoPilotGo += MoveToTarget;
|
ControllingClient.OnAutoPilotGo += MoveToTarget;
|
||||||
|
|
||||||
|
@ -2432,6 +2433,13 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
Animator.RemoveAnimation(animID);
|
Animator.RemoveAnimation(animID);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void avnHandleChangeAnim(UUID animID, bool addRemove,bool sendPack)
|
||||||
|
{
|
||||||
|
Animator.avnChangeAnim(animID, addRemove, sendPack);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Rotate the avatar to the given rotation and apply a movement in the given relative vector
|
/// Rotate the avatar to the given rotation and apply a movement in the given relative vector
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
|
@ -669,6 +669,7 @@ namespace OpenSim.Region.OptionalModules.Agent.InternetRelayClientView.Server
|
||||||
public event ObjectDrop OnObjectDrop;
|
public event ObjectDrop OnObjectDrop;
|
||||||
public event StartAnim OnStartAnim;
|
public event StartAnim OnStartAnim;
|
||||||
public event StopAnim OnStopAnim;
|
public event StopAnim OnStopAnim;
|
||||||
|
public event ChangeAnim OnChangeAnim;
|
||||||
public event LinkObjects OnLinkObjects;
|
public event LinkObjects OnLinkObjects;
|
||||||
public event DelinkObjects OnDelinkObjects;
|
public event DelinkObjects OnDelinkObjects;
|
||||||
public event RequestMapBlocks OnRequestMapBlocks;
|
public event RequestMapBlocks OnRequestMapBlocks;
|
||||||
|
|
|
@ -189,6 +189,7 @@ namespace OpenSim.Region.OptionalModules.World.NPC
|
||||||
public event ObjectDrop OnObjectDrop;
|
public event ObjectDrop OnObjectDrop;
|
||||||
public event StartAnim OnStartAnim;
|
public event StartAnim OnStartAnim;
|
||||||
public event StopAnim OnStopAnim;
|
public event StopAnim OnStopAnim;
|
||||||
|
public event ChangeAnim OnChangeAnim;
|
||||||
public event LinkObjects OnLinkObjects;
|
public event LinkObjects OnLinkObjects;
|
||||||
public event DelinkObjects OnDelinkObjects;
|
public event DelinkObjects OnDelinkObjects;
|
||||||
public event RequestMapBlocks OnRequestMapBlocks;
|
public event RequestMapBlocks OnRequestMapBlocks;
|
||||||
|
|
|
@ -88,6 +88,7 @@ namespace OpenSim.Tests.Common.Mock
|
||||||
public event ObjectDrop OnObjectDrop;
|
public event ObjectDrop OnObjectDrop;
|
||||||
public event StartAnim OnStartAnim;
|
public event StartAnim OnStartAnim;
|
||||||
public event StopAnim OnStopAnim;
|
public event StopAnim OnStopAnim;
|
||||||
|
public event ChangeAnim OnChangeAnim;
|
||||||
public event LinkObjects OnLinkObjects;
|
public event LinkObjects OnLinkObjects;
|
||||||
public event DelinkObjects OnDelinkObjects;
|
public event DelinkObjects OnDelinkObjects;
|
||||||
public event RequestMapBlocks OnRequestMapBlocks;
|
public event RequestMapBlocks OnRequestMapBlocks;
|
||||||
|
|
Loading…
Reference in New Issue