* Rezzing items from Inventory on top of other prim rezzes them 0.5 meters above the 'hit' prim instead of buried in the ground somewhere.
* Various Refactoringsafrisby
parent
5b720b4b39
commit
f64d94f8ca
|
@ -226,7 +226,23 @@ namespace OpenSim.Framework
|
||||||
public delegate void ImprovedInstantMessage(
|
public delegate void ImprovedInstantMessage(
|
||||||
LLUUID fromAgentID, LLUUID fromAgentSession, LLUUID toAgentID, LLUUID imSessionID, uint timestamp,
|
LLUUID fromAgentID, LLUUID fromAgentSession, LLUUID toAgentID, LLUUID imSessionID, uint timestamp,
|
||||||
string fromAgentName, string message, byte dialog); // Cut down from full list
|
string fromAgentName, string message, byte dialog); // Cut down from full list
|
||||||
public delegate void RezObject(IClientAPI remoteClient, LLUUID itemID, LLVector3 pos);
|
|
||||||
|
//rezPacket.RezData.BypassRaycast;
|
||||||
|
//rezPacket.RezData.RayEnd;
|
||||||
|
//rezPacket.RezData.RayEndIsIntersection;
|
||||||
|
//rezPacket.RezData.RayStart;
|
||||||
|
//rezPacket.RezData.RayTargetID;
|
||||||
|
//rezPacket.RezData.RemoveItem;
|
||||||
|
//rezPacket.RezData.RezSelected;
|
||||||
|
//rezPacket.RezData.FromTaskID;
|
||||||
|
//rezPacket.RezData.FromTaskID;
|
||||||
|
//rezPacket.RezData.EveryoneMask;
|
||||||
|
//rezPacket.RezData.GroupMask;
|
||||||
|
//rezPacket.RezData.NextOwnerMask;
|
||||||
|
public delegate void RezObject(IClientAPI remoteClient, LLUUID itemID, LLVector3 RayEnd, LLVector3 RayStart,
|
||||||
|
LLUUID RayTargetID, byte BypassRayCast, bool RayEndIsIntersection,
|
||||||
|
uint EveryoneMask, uint GroupMask, uint NextOwnerMask, uint ItemFlags,
|
||||||
|
bool RezSelected, bool RemoveItem, LLUUID fromTaskID );
|
||||||
|
|
||||||
public delegate void ModifyTerrain(
|
public delegate void ModifyTerrain(
|
||||||
float height, float seconds, byte size, byte action, float north, float west, float south, float east,
|
float height, float seconds, byte size, byte action, float north, float west, float south, float east,
|
||||||
|
|
|
@ -2560,8 +2560,19 @@ namespace OpenSim.Region.ClientStack
|
||||||
//rezPacket.RezData.RemoveItem;
|
//rezPacket.RezData.RemoveItem;
|
||||||
//rezPacket.RezData.RezSelected;
|
//rezPacket.RezData.RezSelected;
|
||||||
//rezPacket.RezData.FromTaskID;
|
//rezPacket.RezData.FromTaskID;
|
||||||
|
//rezPacket.RezData.FromTaskID;
|
||||||
|
//rezPacket.RezData.EveryoneMask;
|
||||||
|
//rezPacket.RezData.GroupMask;
|
||||||
|
//rezPacket.RezData.NextOwnerMask;
|
||||||
|
|
||||||
//MainLog.Instance.Verbose("REZData", rezPacket.ToString());
|
//MainLog.Instance.Verbose("REZData", rezPacket.ToString());
|
||||||
OnRezObject(this, rezPacket.InventoryData.ItemID, rezPacket.RezData.RayEnd);
|
OnRezObject(this, rezPacket.InventoryData.ItemID, rezPacket.RezData.RayEnd,
|
||||||
|
rezPacket.RezData.RayStart,rezPacket.RezData.RayTargetID,
|
||||||
|
rezPacket.RezData.BypassRaycast,rezPacket.RezData.RayEndIsIntersection,
|
||||||
|
rezPacket.RezData.EveryoneMask,rezPacket.RezData.GroupMask,
|
||||||
|
rezPacket.RezData.NextOwnerMask,rezPacket.RezData.ItemFlags,
|
||||||
|
rezPacket.RezData.RezSelected,rezPacket.RezData.RemoveItem,
|
||||||
|
rezPacket.RezData.FromTaskID);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case PacketType.DeRezObject:
|
case PacketType.DeRezObject:
|
||||||
|
@ -2740,12 +2751,6 @@ namespace OpenSim.Region.ClientStack
|
||||||
{
|
{
|
||||||
ObjectAddPacket addPacket = (ObjectAddPacket) Pack;
|
ObjectAddPacket addPacket = (ObjectAddPacket) Pack;
|
||||||
PrimitiveBaseShape shape = GetShapeFromAddPacket(addPacket);
|
PrimitiveBaseShape shape = GetShapeFromAddPacket(addPacket);
|
||||||
MainLog.Instance.Verbose("REZData", addPacket.ToString());
|
|
||||||
//BypassRaycast: 1
|
|
||||||
//RayStart: <69.79469, 158.2652, 98.40343>
|
|
||||||
//RayEnd: <61.97724, 141.995, 92.58341>
|
|
||||||
//RayTargetID: 00000000-0000-0000-0000-000000000000
|
|
||||||
|
|
||||||
OnAddPrim(AgentId, addPacket.ObjectData.RayEnd, addPacket.ObjectData.Rotation, shape,addPacket.ObjectData.BypassRaycast,addPacket.ObjectData.RayStart,addPacket.ObjectData.RayTargetID,addPacket.ObjectData.RayEndIsIntersection);
|
OnAddPrim(AgentId, addPacket.ObjectData.RayEnd, addPacket.ObjectData.Rotation, shape,addPacket.ObjectData.BypassRaycast,addPacket.ObjectData.RayStart,addPacket.ObjectData.RayTargetID,addPacket.ObjectData.RayEndIsIntersection);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -699,8 +699,23 @@ namespace OpenSim.Region.Environment.Scenes
|
||||||
group.DeleteParts();
|
group.DeleteParts();
|
||||||
}
|
}
|
||||||
|
|
||||||
public virtual void RezObject(IClientAPI remoteClient, LLUUID itemID, LLVector3 pos)
|
public virtual void RezObject(IClientAPI remoteClient, LLUUID itemID, LLVector3 RayEnd, LLVector3 RayStart,
|
||||||
|
LLUUID RayTargetID, byte BypassRayCast, bool RayEndIsIntersection,
|
||||||
|
uint EveryoneMask, uint GroupMask, uint NextOwnerMask, uint ItemFlags,
|
||||||
|
bool RezSelected, bool RemoveItem, LLUUID fromTaskID)
|
||||||
{
|
{
|
||||||
|
byte bRayEndIsIntersection = (byte)0;
|
||||||
|
|
||||||
|
if (RayEndIsIntersection)
|
||||||
|
{
|
||||||
|
bRayEndIsIntersection = (byte)1;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
bRayEndIsIntersection = (byte)0;
|
||||||
|
}
|
||||||
|
|
||||||
|
LLVector3 pos = GetNewRezLocation(RayStart, RayEnd, RayTargetID, new LLQuaternion(0, 0, 0, 1), BypassRayCast, bRayEndIsIntersection);
|
||||||
CachedUserInfo userInfo = CommsManager.UserProfileCacheService.GetUserDetails(remoteClient.AgentId);
|
CachedUserInfo userInfo = CommsManager.UserProfileCacheService.GetUserDetails(remoteClient.AgentId);
|
||||||
if (userInfo != null)
|
if (userInfo != null)
|
||||||
{
|
{
|
||||||
|
|
|
@ -931,6 +931,7 @@ namespace OpenSim.Region.Environment.Scenes
|
||||||
if (RayEndIsIntersection == (byte)1)
|
if (RayEndIsIntersection == (byte)1)
|
||||||
{
|
{
|
||||||
pos = RayEnd;
|
pos = RayEnd;
|
||||||
|
pos.Z += 0.25F;
|
||||||
return pos;
|
return pos;
|
||||||
}
|
}
|
||||||
if (RayTargetID != LLUUID.Zero)
|
if (RayTargetID != LLUUID.Zero)
|
||||||
|
@ -986,13 +987,14 @@ namespace OpenSim.Region.Environment.Scenes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
pos.Z += 0.25F;
|
||||||
return pos;
|
return pos;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// fall back to our stupid functionality
|
// fall back to our stupid functionality
|
||||||
pos = RayEnd;
|
pos = RayEnd;
|
||||||
|
pos.Z += 0.25F;
|
||||||
return pos;
|
return pos;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1000,6 +1002,7 @@ namespace OpenSim.Region.Environment.Scenes
|
||||||
{
|
{
|
||||||
// fall back to our stupid functionality
|
// fall back to our stupid functionality
|
||||||
pos = RayEnd;
|
pos = RayEnd;
|
||||||
|
pos.Z += 0.25F;
|
||||||
return pos;
|
return pos;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1018,7 +1021,7 @@ namespace OpenSim.Region.Environment.Scenes
|
||||||
if (PermissionsMngr.CanRezObject(ownerID, pos))
|
if (PermissionsMngr.CanRezObject(ownerID, pos))
|
||||||
{
|
{
|
||||||
// rez ON the ground, not IN the ground
|
// rez ON the ground, not IN the ground
|
||||||
pos.Z += 0.25F;
|
|
||||||
|
|
||||||
|
|
||||||
AddNewPrim(ownerID, pos, rot, shape);
|
AddNewPrim(ownerID, pos, rot, shape);
|
||||||
|
|
Loading…
Reference in New Issue