Revolution is on the roll again! :)

Fixes: Undo, T-pose of others on login, modifiedBulletX works again, feet now stand on the ground instead of in the ground, adds checks to CombatModule. Adds: Redo, Land Undo, checks to agentUpdate (so one can not fall off of a region), more vehicle parts. Finishes almost all of LSL (1 function left, 2 events).

Direct flames and kudos to Revolution, please

Signed-off-by: Melanie <melanie@t-data.com>
This commit is contained in:
Revolution
2010-02-14 15:41:57 -06:00
committed by Melanie
parent 45493171b0
commit 9821c4f566
39 changed files with 1430 additions and 226 deletions

View File

@@ -233,6 +233,8 @@ namespace OpenSim.Region.ClientStack.LindenUDP
public event ObjectBuy OnObjectBuy;
public event BuyObjectInventory OnBuyObjectInventory;
public event AgentSit OnUndo;
public event AgentSit OnRedo;
public event LandUndo OnLandUndo;
public event ForceReleaseControls OnForceReleaseControls;
public event GodLandStatRequest OnLandStatRequest;
public event RequestObjectPropertiesFamily OnObjectGroupRequest;
@@ -4667,6 +4669,8 @@ namespace OpenSim.Region.ClientStack.LindenUDP
AddLocalPacketHandler(PacketType.ObjectName, HandleObjectName, false);
AddLocalPacketHandler(PacketType.ObjectPermissions, HandleObjectPermissions, false);
AddLocalPacketHandler(PacketType.Undo, HandleUndo, false);
AddLocalPacketHandler(PacketType.UndoLand, HandleLandUndo, false);
AddLocalPacketHandler(PacketType.Redo, HandleRedo, false);
AddLocalPacketHandler(PacketType.ObjectDuplicateOnRay, HandleObjectDuplicateOnRay);
AddLocalPacketHandler(PacketType.RequestObjectPropertiesFamily, HandleRequestObjectPropertiesFamily, false);
AddLocalPacketHandler(PacketType.ObjectIncludeInSearch, HandleObjectIncludeInSearch);
@@ -5836,7 +5840,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
handlerSoundTrigger(soundTriggerPacket.SoundData.SoundID, soundTriggerPacket.SoundData.OwnerID,
soundTriggerPacket.SoundData.ObjectID, soundTriggerPacket.SoundData.ParentID,
soundTriggerPacket.SoundData.Gain, soundTriggerPacket.SoundData.Position,
soundTriggerPacket.SoundData.Handle);
soundTriggerPacket.SoundData.Handle, 0);
}
return true;
@@ -6734,6 +6738,56 @@ namespace OpenSim.Region.ClientStack.LindenUDP
return true;
}
private bool HandleLandUndo(IClientAPI sender, Packet Pack)
{
UndoLandPacket undolanditem = (UndoLandPacket)Pack;
#region Packet Session and User Check
if (m_checkPackets)
{
if (undolanditem.AgentData.SessionID != SessionId ||
undolanditem.AgentData.AgentID != AgentId)
return true;
}
#endregion
LandUndo handlerOnUndo = OnLandUndo;
if (handlerOnUndo != null)
{
handlerOnUndo(this);
}
return true;
}
private bool HandleRedo(IClientAPI sender, Packet Pack)
{
RedoPacket redoitem = (RedoPacket)Pack;
#region Packet Session and User Check
if (m_checkPackets)
{
if (redoitem.AgentData.SessionID != SessionId ||
redoitem.AgentData.AgentID != AgentId)
return true;
}
#endregion
if (redoitem.ObjectData.Length > 0)
{
for (int i = 0; i < redoitem.ObjectData.Length; i++)
{
UUID objiD = redoitem.ObjectData[i].ObjectID;
AgentSit handlerOnRedo = OnRedo;
if (handlerOnRedo != null)
{
handlerOnRedo(this, objiD);
}
}
}
return true;
}
private bool HandleObjectDuplicateOnRay(IClientAPI sender, Packet Pack)
{
ObjectDuplicateOnRayPacket dupeOnRay = (ObjectDuplicateOnRayPacket)Pack;