A few small changes and hopefully fixed the nant build problem (OpenSim.Framework came before OpenSim.Framework.Console, so was causing a problem as OpenSim.Framework references OpenSim.Framework.Console).

Sugilite
MW 2007-06-11 16:13:52 +00:00
parent ed80c7ae32
commit 2f2ec10172
6 changed files with 77 additions and 26 deletions

View File

@ -103,6 +103,7 @@ namespace OpenSim.Framework.Interfaces
AgentCircuitData RequestClientInfo();
void AttachObject(uint localID, LLQuaternion rotation, byte attachPoint);
void SendPrimitiveToClient(ulong regionHandle, ushort timeDilation, uint localID, PrimData primData, LLVector3 pos, LLQuaternion rotation, LLUUID textureID);
void SendPrimitiveToClient(ulong regionHandle, ushort timeDilation, uint localID, PrimData primData, LLVector3 pos, LLUUID textureID);
void SendPrimTerseUpdate(ulong regionHandle, ushort timeDilation, uint localID, LLVector3 position, LLQuaternion rotation);
}

View File

@ -70,8 +70,8 @@
<target name="build" depends="init" description="">
<nant buildfile="Common/XmlRpcCS/XMLRPC.dll.build" target="build" />
<nant buildfile="Common/OpenSim.Framework/OpenSim.Framework.dll.build" target="build" />
<nant buildfile="Common/OpenSim.Framework.Console/OpenSim.Framework.Console.dll.build" target="build" />
<nant buildfile="Common/OpenSim.Framework/OpenSim.Framework.dll.build" target="build" />
<nant buildfile="Common/OpenSim.Servers/OpenSim.Servers.dll.build" target="build" />
<nant buildfile="Common/OpenGrid.Framework.Communications/OpenGrid.Framework.Communications.dll.build" target="build" />
<nant buildfile="OpenSim/OpenSim.Storage/LocalStorageDb4o/OpenSim.Storage.LocalStorageDb4o.dll.build" target="build" />

View File

@ -440,7 +440,7 @@ namespace OpenSim.Region
PData.PathTwistBegin = addPacket.ObjectData.PathTwistBegin;
LLVector3 pos1 = addPacket.ObjectData.RayEnd;
this.primData.FullID = this.uuid = LLUUID.Random();
this.localid = (uint)(localID);
this.primData.LocalID = this.localid = (uint)(localID);
this.primData.Position = this.Pos = pos1;
this.updateFlag = 1;

View File

@ -20,6 +20,8 @@ using OpenSim.Region.Estate;
namespace OpenSim.Region
{
public delegate bool FilterAvatarList(Avatar avatar);
public partial class World : WorldBase, ILocalStorageReceiver, IScriptAPI
{
protected System.Timers.Timer m_heartbeatTimer = new System.Timers.Timer();
@ -592,6 +594,25 @@ namespace OpenSim.Region
return result;
}
/// <summary>
/// Request a filtered list of Avatars in this World
/// </summary>
/// <returns></returns>
public List<Avatar> RequestAvatarList(FilterAvatarList filter)
{
List<Avatar> result = new List<Avatar>();
foreach (Avatar avatar in Avatars.Values)
{
if (filter(avatar))
{
result.Add(avatar);
}
}
return result;
}
public Avatar RequestAvatar(LLUUID avatarID)
{
if (this.Avatars.ContainsKey(avatarID))

View File

@ -448,6 +448,34 @@ namespace OpenSim
/// Sends a full ObjectUpdatePacket to a client to inform it of a new primitive
/// or big changes to a existing primitive.
/// </summary>
/// <param name="regionHandle"></param>
/// <param name="timeDilation"></param>
/// <param name="localID"></param>
/// <param name="primData"></param>
/// <param name="pos"></param>
/// <param name="rotation"></param>
/// <param name="textureID"></param>
public void SendPrimitiveToClient(ulong regionHandle, ushort timeDilation, uint localID, PrimData primData, LLVector3 pos, LLQuaternion rotation, LLUUID textureID)
{
ObjectUpdatePacket outPacket = new ObjectUpdatePacket();
outPacket.RegionData.RegionHandle = regionHandle;
outPacket.RegionData.TimeDilation = timeDilation;
outPacket.ObjectData = new ObjectUpdatePacket.ObjectDataBlock[1];
outPacket.ObjectData[0] = this.CreatePrimUpdateBlock(primData, textureID);
outPacket.ObjectData[0].ID = localID;
outPacket.ObjectData[0].FullID = primData.FullID;
byte[] pb = pos.GetBytes();
Array.Copy(pb, 0, outPacket.ObjectData[0].ObjectData, 0, pb.Length);
byte[] rot = rotation.GetBytes();
Array.Copy(rot, 0, outPacket.ObjectData[0].ObjectData, 48, rot.Length);
OutPacket(outPacket);
}
/// <summary>
/// Sends a full ObjectUpdatePacket to a client to inform it of a new primitive
/// or big changes to a existing primitive.
/// uses default rotation
/// </summary>
/// <param name="primData"></param>
/// <param name="pos"></param>
public void SendPrimitiveToClient(ulong regionHandle, ushort timeDilation, uint localID, PrimData primData, LLVector3 pos, LLUUID textureID)
@ -473,9 +501,9 @@ namespace OpenSim
protected ObjectUpdatePacket.ObjectDataBlock CreatePrimUpdateBlock(PrimData primData, LLUUID textureID)
{
ObjectUpdatePacket.ObjectDataBlock objupdate = new ObjectUpdatePacket.ObjectDataBlock();
this.SetDefaultPrimPacketValues(objupdate, textureID);
this.SetDefaultPrimPacketValues(objupdate);
objupdate.UpdateFlags = 32 + 65536 + 131072 + 256 + 4 + 8 + 2048 + 524288 + 268435456;
this.SetPrimPacketShapeData(objupdate, primData);
this.SetPrimPacketShapeData(objupdate, primData, textureID);
return objupdate;
}
@ -484,7 +512,7 @@ namespace OpenSim
/// Set some default values in a ObjectUpdatePacket
/// </summary>
/// <param name="objdata"></param>
protected void SetDefaultPrimPacketValues(ObjectUpdatePacket.ObjectDataBlock objdata, LLUUID textureID)
protected void SetDefaultPrimPacketValues(ObjectUpdatePacket.ObjectDataBlock objdata)
{
objdata.PSBlock = new byte[0];
objdata.ExtraParams = new byte[1];
@ -497,8 +525,6 @@ namespace OpenSim
objdata.Material = 3;
objdata.TextureAnim = new byte[0];
objdata.Sound = LLUUID.Zero;
LLObject.TextureEntry ntex = new LLObject.TextureEntry(textureID);
objdata.TextureEntry = ntex.ToBytes();
objdata.State = 0;
objdata.Data = new byte[0];
@ -512,8 +538,10 @@ namespace OpenSim
/// </summary>
/// <param name="objectData"></param>
/// <param name="primData"></param>
protected void SetPrimPacketShapeData(ObjectUpdatePacket.ObjectDataBlock objectData, PrimData primData)
protected void SetPrimPacketShapeData(ObjectUpdatePacket.ObjectDataBlock objectData, PrimData primData, LLUUID textureID)
{
LLObject.TextureEntry ntex = new LLObject.TextureEntry(textureID);
objectData.TextureEntry = ntex.ToBytes();
objectData.OwnerID = primData.OwnerID;
objectData.PCode = primData.PCode;
objectData.PathBegin =primData.PathBegin;

View File

@ -56,6 +56,25 @@
<!-- Core OpenSim Projects -->
<Project name="OpenSim.Framework.Console" path="Common/OpenSim.Framework.Console" type="Library">
<Configuration name="Debug">
<Options>
<OutputPath>../../bin/</OutputPath>
</Options>
</Configuration>
<Configuration name="Release">
<Options>
<OutputPath>../../bin/</OutputPath>
</Options>
</Configuration>
<ReferencePath>../../bin/</ReferencePath>
<Reference name="System" localCopy="false"/>
<Files>
<Match pattern="*.cs" recurse="true"/>
</Files>
</Project>
<Project name="OpenSim.Framework" path="Common/OpenSim.Framework" type="Library">
<Configuration name="Debug">
<Options>
@ -80,24 +99,6 @@
</Files>
</Project>
<Project name="OpenSim.Framework.Console" path="Common/OpenSim.Framework.Console" type="Library">
<Configuration name="Debug">
<Options>
<OutputPath>../../bin/</OutputPath>
</Options>
</Configuration>
<Configuration name="Release">
<Options>
<OutputPath>../../bin/</OutputPath>
</Options>
</Configuration>
<ReferencePath>../../bin/</ReferencePath>
<Reference name="System" localCopy="false"/>
<Files>
<Match pattern="*.cs" recurse="true"/>
</Files>
</Project>
<Project name="OpenSim.Servers" path="Common/OpenSim.Servers" type="Library">
<Configuration name="Debug">