diff --git a/OpenSim/Framework/ChildAgentDataUpdate.cs b/OpenSim/Framework/ChildAgentDataUpdate.cs
index ef40d94e25..0515aebda8 100644
--- a/OpenSim/Framework/ChildAgentDataUpdate.cs
+++ b/OpenSim/Framework/ChildAgentDataUpdate.cs
@@ -26,7 +26,7 @@
*/
using System;
-using OpenMetaverse;
+using OpenSim.Framework;
namespace OpenSim.Framework
{
@@ -37,14 +37,14 @@ namespace OpenSim.Framework
public Guid AgentID;
public bool alwaysrun;
public float AVHeight;
- public Vector3 cameraPosition;
+ public sLLVector3 cameraPosition;
public float drawdistance;
public float godlevel;
public uint GroupAccess;
- public Vector3 Position;
+ public sLLVector3 Position;
public ulong regionHandle;
public byte[] throttles;
- public Vector3 Velocity;
+ public sLLVector3 Velocity;
public ChildAgentDataUpdate()
{
diff --git a/OpenSim/Framework/sLLVector3.cs b/OpenSim/Framework/sLLVector3.cs
index e69de29bb2..b93661b29b 100644
--- a/OpenSim/Framework/sLLVector3.cs
+++ b/OpenSim/Framework/sLLVector3.cs
@@ -0,0 +1,51 @@
+/*
+ * Copyright (c) Contributors, http://opensimulator.org/
+ * See CONTRIBUTORS.TXT for a full list of copyright holders.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * * Neither the name of the OpenSim Project nor the
+ * names of its contributors may be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+using System;
+using OpenMetaverse;
+
+namespace OpenSim.Framework
+{
+ [Serializable]
+ public class sLLVector3
+ {
+ public float x = 0;
+ public float y = 0;
+ public float z = 0;
+
+ public sLLVector3()
+ {
+ }
+
+ public sLLVector3(Vector3 v)
+ {
+ x = v.X;
+ y = v.Y;
+ z = v.Z;
+ }
+ }
+}
\ No newline at end of file
diff --git a/OpenSim/Region/Communications/OGS1/OGS1GridServices.cs b/OpenSim/Region/Communications/OGS1/OGS1GridServices.cs
index 1dd421978a..a3bcc26d80 100644
--- a/OpenSim/Region/Communications/OGS1/OGS1GridServices.cs
+++ b/OpenSim/Region/Communications/OGS1/OGS1GridServices.cs
@@ -1212,7 +1212,7 @@ namespace OpenSim.Region.Communications.OGS1
if (remObject != null)
{
retValue =
- remObject.ExpectAvatarCrossing(regionHandle, agentID.Guid, position,
+ remObject.ExpectAvatarCrossing(regionHandle, agentID.Guid, new sLLVector3(position),
isFlying);
}
else
@@ -1269,7 +1269,7 @@ namespace OpenSim.Region.Communications.OGS1
if (remObject != null)
{
retValue =
- remObject.ExpectAvatarCrossing(regionHandle, agentID.Guid, position,
+ remObject.ExpectAvatarCrossing(regionHandle, agentID.Guid, new sLLVector3(position),
isPhysical);
}
else
@@ -1739,7 +1739,7 @@ namespace OpenSim.Region.Communications.OGS1
if (landData != null)
{
// for now, only push out the data we need for answering a ParcelInfoReqeust
- // FIXME: these Replace calls are necessary as Vector3.Parse can't parse vectors with spaces in them. Can be removed as soon as we switch to a newer version
+ // FIXME: these Replace calls are necessary as LLVector3.Parse can't parse vectors with spaces in them. Can be removed as soon as we switch to a newer version
hash["AABBMax"] = landData.AABBMax.ToString().Replace(" ", "");
hash["AABBMin"] = landData.AABBMin.ToString().Replace(" ", "");
hash["Area"] = landData.Area.ToString();
diff --git a/OpenSim/Region/Communications/OGS1/OGS1InterSimComms.cs b/OpenSim/Region/Communications/OGS1/OGS1InterSimComms.cs
index 1f0c0675ce..0195a5807a 100644
--- a/OpenSim/Region/Communications/OGS1/OGS1InterSimComms.cs
+++ b/OpenSim/Region/Communications/OGS1/OGS1InterSimComms.cs
@@ -202,13 +202,13 @@ namespace OpenSim.Region.Communications.OGS1
}
- public bool ExpectAvatarCrossing(ulong regionHandle, Guid agentID, Vector3 position, bool isFlying)
+ public bool ExpectAvatarCrossing(ulong regionHandle, Guid agentID, sLLVector3 position, bool isFlying)
{
try
{
return
InterRegionSingleton.Instance.ExpectAvatarCrossing(regionHandle, new UUID(agentID),
- position,
+ new Vector3(position.x, position.y, position.z),
isFlying);
}
catch (RemotingException e)
@@ -218,13 +218,13 @@ namespace OpenSim.Region.Communications.OGS1
}
}
- public bool InformRegionPrim(ulong regionHandle, Guid SceneObjectGroupID, Vector3 position, bool isPhysical)
+ public bool InformRegionPrim(ulong regionHandle, Guid SceneObjectGroupID, sLLVector3 position, bool isPhysical)
{
try
{
return
InterRegionSingleton.Instance.InformRegionPrim(regionHandle, new UUID(SceneObjectGroupID),
- position,
+ new Vector3(position.x, position.y, position.z),
isPhysical);
}
catch (RemotingException e)
diff --git a/OpenSim/Region/Communications/OGS1/OGS1UserServices.cs b/OpenSim/Region/Communications/OGS1/OGS1UserServices.cs
index 317be1381b..36a82a855f 100644
--- a/OpenSim/Region/Communications/OGS1/OGS1UserServices.cs
+++ b/OpenSim/Region/Communications/OGS1/OGS1UserServices.cs
@@ -242,8 +242,8 @@ namespace OpenSim.Region.Communications.OGS1
public void LogOffUser(UUID userid, UUID regionid, ulong regionhandle, float posx, float posy, float posz)
{
Hashtable param = new Hashtable();
- param["avatar_uuid"] = userid.ToString();
- param["region_uuid"] = regionid.ToString();
+ param["avatar_uuid"] = userid.Guid.ToString();
+ param["region_uuid"] = regionid.Guid.ToString();
param["region_handle"] = regionhandle.ToString();
param["region_pos_x"] = posx.ToString();
param["region_pos_y"] = posy.ToString();
@@ -528,8 +528,8 @@ namespace OpenSim.Region.Communications.OGS1
try
{
Hashtable param = new Hashtable();
- param["ownerID"] = friendlistowner.ToString();
- param["friendID"] = friend.ToString();
+ param["ownerID"] = friendlistowner.Guid.ToString();
+ param["friendID"] = friend.Guid.ToString();
param["friendPerms"] = perms.ToString();
IList parameters = new ArrayList();
parameters.Add(param);
@@ -580,8 +580,8 @@ namespace OpenSim.Region.Communications.OGS1
try
{
Hashtable param = new Hashtable();
- param["ownerID"] = friendlistowner.ToString();
- param["friendID"] = friend.ToString();
+ param["ownerID"] = friendlistowner.Guid.ToString();
+ param["friendID"] = friend.Guid.ToString();
IList parameters = new ArrayList();
parameters.Add(param);
@@ -632,8 +632,8 @@ namespace OpenSim.Region.Communications.OGS1
try
{
Hashtable param = new Hashtable();
- param["ownerID"] = friendlistowner.ToString();
- param["friendID"] = friend.ToString();
+ param["ownerID"] = friendlistowner.Guid.ToString();
+ param["friendID"] = friend.Guid.ToString();
param["friendPerms"] = perms.ToString();
IList parameters = new ArrayList();
parameters.Add(param);
@@ -672,7 +672,7 @@ namespace OpenSim.Region.Communications.OGS1
}
}
///
- /// Returns a list of FriendsListItems that describe the friends and permissions in the friend relationship for UUID friendslistowner
+ /// Returns a list of FriendsListItems that describe the friends and permissions in the friend relationship for LLUUID friendslistowner
///
/// The agent that we're retreiving the friends Data.
public List GetUserFriendList(UUID friendlistowner)
@@ -682,7 +682,7 @@ namespace OpenSim.Region.Communications.OGS1
try
{
Hashtable param = new Hashtable();
- param["ownerID"] = friendlistowner.ToString();
+ param["ownerID"] = friendlistowner.Guid.ToString();
IList parameters = new ArrayList();
parameters.Add(param);
diff --git a/OpenSim/Region/Environment/Scenes/ScenePresence.cs b/OpenSim/Region/Environment/Scenes/ScenePresence.cs
index e51f1be318..1a4b0c9925 100644
--- a/OpenSim/Region/Environment/Scenes/ScenePresence.cs
+++ b/OpenSim/Region/Environment/Scenes/ScenePresence.cs
@@ -1862,12 +1862,12 @@ namespace OpenSim.Region.Environment.Scenes
cadu.AgentID = UUID.Guid;
cadu.alwaysrun = m_setAlwaysRun;
cadu.AVHeight = m_avHeight;
- Vector3 tempCameraCenter = new Vector3(m_CameraCenter.X, m_CameraCenter.Y, m_CameraCenter.Z);
+ sLLVector3 tempCameraCenter = new sLLVector3(new Vector3(m_CameraCenter.X, m_CameraCenter.Y, m_CameraCenter.Z));
cadu.cameraPosition = tempCameraCenter;
cadu.drawdistance = m_DrawDistance;
cadu.godlevel = m_godlevel;
cadu.GroupAccess = 0;
- cadu.Position = AbsolutePosition;
+ cadu.Position = new sLLVector3(AbsolutePosition);
cadu.regionHandle = m_scene.RegionInfo.RegionHandle;
float multiplier = 1;
int innacurateNeighbors = m_scene.GetInaccurateNeighborCount();
@@ -1887,7 +1887,7 @@ namespace OpenSim.Region.Environment.Scenes
- cadu.Velocity = Velocity;
+ cadu.Velocity = new sLLVector3(Velocity);
m_scene.SendOutChildAgentUpdates(cadu,this);
m_LastChildAgentUpdatePosition.X = AbsolutePosition.X;
m_LastChildAgentUpdatePosition.Y = AbsolutePosition.Y;
@@ -2070,11 +2070,11 @@ namespace OpenSim.Region.Environment.Scenes
int shifty = ((int)rRegionY - (int)tRegionY) * (int)Constants.RegionSize;
m_DrawDistance = cAgentData.drawdistance;
- m_pos = new Vector3(cAgentData.Position.X + shiftx, cAgentData.Position.Y + shifty, cAgentData.Position.Z);
+ m_pos = new Vector3(cAgentData.Position.x + shiftx, cAgentData.Position.y + shifty, cAgentData.Position.z);
// It's hard to say here.. We can't really tell where the camera position is unless it's in world cordinates from the sending region
m_CameraCenter =
- new Vector3(cAgentData.cameraPosition.X, cAgentData.cameraPosition.Y, cAgentData.cameraPosition.Z);
+ new Vector3(cAgentData.cameraPosition.x, cAgentData.cameraPosition.y, cAgentData.cameraPosition.z);
m_godlevel = cAgentData.godlevel;