Resolve merge failure

avinationmerge
meta7 2010-08-10 09:11:55 -07:00
commit 9fba4b66bb
10 changed files with 4456 additions and 4411 deletions

View File

@ -407,9 +407,8 @@ scan_old_style:
} }
if (migrations.Count < 1) if (migrations.Count < 1)
{ m_log.DebugFormat("[MIGRATIONS]: {0} data tables already up to date at revision {1}", _type, after);
m_log.InfoFormat("[MIGRATIONS]: {0} up to date, no migrations to apply", _type);
}
return migrations; return migrations;
} }
} }

View File

@ -210,6 +210,9 @@ namespace OpenSim.Data.MySQL
if (data.Data.ContainsKey("locY")) if (data.Data.ContainsKey("locY"))
data.Data.Remove("locY"); data.Data.Remove("locY");
if (data.RegionName.Length > 32)
data.RegionName = data.RegionName.Substring(0, 32);
string[] fields = new List<string>(data.Data.Keys).ToArray(); string[] fields = new List<string>(data.Data.Keys).ToArray();
using (MySqlCommand cmd = new MySqlCommand()) using (MySqlCommand cmd = new MySqlCommand())

View File

@ -4634,6 +4634,10 @@ namespace OpenSim.Region.ClientStack.LindenUDP
} }
} }
// m_log.DebugFormat(
// "[LLCLIENTVIEW]: Constructing client update for part {0} {1} with flags {2}, localId {3}",
// data.Name, update.FullID, flags, update.ID);
update.UpdateFlags = (uint)flags; update.UpdateFlags = (uint)flags;
#endregion PrimFlags #endregion PrimFlags
@ -4766,7 +4770,11 @@ namespace OpenSim.Region.ClientStack.LindenUDP
AddLocalPacketHandler(PacketType.ObjectScale, HandleObjectScale); AddLocalPacketHandler(PacketType.ObjectScale, HandleObjectScale);
AddLocalPacketHandler(PacketType.ObjectRotation, HandleObjectRotation); AddLocalPacketHandler(PacketType.ObjectRotation, HandleObjectRotation);
AddLocalPacketHandler(PacketType.ObjectFlagUpdate, HandleObjectFlagUpdate); AddLocalPacketHandler(PacketType.ObjectFlagUpdate, HandleObjectFlagUpdate);
AddLocalPacketHandler(PacketType.ObjectImage, HandleObjectImage);
// Handle ObjectImage (TextureEntry) updates synchronously, since when updating multiple prim faces at once,
// some clients will send out a separate ObjectImage packet for each face
AddLocalPacketHandler(PacketType.ObjectImage, HandleObjectImage, false);
AddLocalPacketHandler(PacketType.ObjectGrab, HandleObjectGrab, false); AddLocalPacketHandler(PacketType.ObjectGrab, HandleObjectGrab, false);
AddLocalPacketHandler(PacketType.ObjectGrabUpdate, HandleObjectGrabUpdate, false); AddLocalPacketHandler(PacketType.ObjectGrabUpdate, HandleObjectGrabUpdate, false);
AddLocalPacketHandler(PacketType.ObjectDeGrab, HandleObjectDeGrab); AddLocalPacketHandler(PacketType.ObjectDeGrab, HandleObjectDeGrab);

View File

@ -130,8 +130,6 @@ namespace OpenSim.Region.Framework.Scenes
{ {
return (EntityBase) MemberwiseClone(); return (EntityBase) MemberwiseClone();
} }
public abstract void SetText(string text, Vector3 color, double alpha);
} }
//Nested Classes //Nested Classes

View File

@ -1363,7 +1363,7 @@ namespace OpenSim.Region.Framework.Scenes
m_regInfo.EstateSettings.Save(); m_regInfo.EstateSettings.Save();
} }
else else
m_log.ErrorFormat("[SCENE]: Unable to store account. If this simulator is connected to a grid,\n you must create the estate owner account first."); m_log.ErrorFormat("[SCENE]: Unable to store account. If this simulator is connected to a grid, you must create the estate owner account first.");
} }
else else
{ {

View File

@ -1629,7 +1629,7 @@ namespace OpenSim.Region.Framework.Scenes
ScheduleGroupForFullUpdate(); ScheduleGroupForFullUpdate();
} }
public override void SetText(string text, Vector3 color, double alpha) public void SetText(string text, Vector3 color, double alpha)
{ {
Color = Color.FromArgb(0xff - (int) (alpha * 0xff), Color = Color.FromArgb(0xff - (int) (alpha * 0xff),
(int) (color.X * 0xff), (int) (color.X * 0xff),
@ -1868,10 +1868,10 @@ namespace OpenSim.Region.Framework.Scenes
dupe.RootPart.DoPhysicsPropertyUpdate(dupe.RootPart.PhysActor.IsPhysical, true); dupe.RootPart.DoPhysicsPropertyUpdate(dupe.RootPart.PhysActor.IsPhysical, true);
} }
List<SceneObjectPart> partList;
lockPartsForRead(true); lockPartsForRead(true);
List<SceneObjectPart> partList;
partList = new List<SceneObjectPart>(m_parts.Values); partList = new List<SceneObjectPart>(m_parts.Values);
lockPartsForRead(false); lockPartsForRead(false);
@ -1890,8 +1890,26 @@ namespace OpenSim.Region.Framework.Scenes
newPart.LinkNum = part.LinkNum; newPart.LinkNum = part.LinkNum;
} }
}
// Need to duplicate the physics actor as well
if (part.PhysActor != null && userExposed)
{
PrimitiveBaseShape pbs = part.Shape;
part.PhysActor
= m_scene.PhysicsScene.AddPrimShape(
part.Name,
pbs,
part.AbsolutePosition,
part.Scale,
part.RotationOffset,
part.PhysActor.IsPhysical);
part.PhysActor.LocalID = part.LocalId;
part.DoPhysicsPropertyUpdate(part.PhysActor.IsPhysical, true);
}
}
if (userExposed) if (userExposed)
{ {
dupe.UpdateParentIDs(); dupe.UpdateParentIDs();
@ -1900,6 +1918,7 @@ namespace OpenSim.Region.Framework.Scenes
ScheduleGroupForFullUpdate(); ScheduleGroupForFullUpdate();
} }
} }
finally finally
{ {

View File

@ -151,8 +151,17 @@ namespace OpenSim.Region.Framework.Scenes
// TODO: This needs to be persisted in next XML version update! // TODO: This needs to be persisted in next XML version update!
[XmlIgnore] [XmlIgnore]
public int[] PayPrice = {-2,-2,-2,-2,-2}; public int[] PayPrice = {-2,-2,-2,-2,-2};
[XmlIgnore] [XmlIgnore]
public PhysicsActor PhysActor; public PhysicsActor PhysActor
{
get { return m_physActor; }
set
{
// m_log.DebugFormat("[SOP]: PhysActor set to {0} for {1} {2}", value, Name, UUID);
m_physActor = value;
}
}
//Xantor 20080528 Sound stuff: //Xantor 20080528 Sound stuff:
// Note: This isn't persisted in the database right now, as the fields for that aren't just there yet. // Note: This isn't persisted in the database right now, as the fields for that aren't just there yet.
@ -307,6 +316,7 @@ namespace OpenSim.Region.Framework.Scenes
/// </summary> /// </summary>
private byte m_updateFlag; private byte m_updateFlag;
private PhysicsActor m_physActor;
protected Vector3 m_acceleration; protected Vector3 m_acceleration;
protected Vector3 m_angularVelocity; protected Vector3 m_angularVelocity;
@ -406,7 +416,7 @@ namespace OpenSim.Region.Framework.Scenes
// this appears to have the same UUID (!) as the prim. If this isn't the case, one can't drag items from // this appears to have the same UUID (!) as the prim. If this isn't the case, one can't drag items from
// the prim into an agent inventory (Linden client reports that the "Object not found for drop" in its log // the prim into an agent inventory (Linden client reports that the "Object not found for drop" in its log
_flags = 0; Flags = 0;
CreateSelected = true; CreateSelected = true;
TrimPermissions(); TrimPermissions();
@ -434,7 +444,7 @@ namespace OpenSim.Region.Framework.Scenes
private uint _groupMask = (uint)PermissionMask.None; private uint _groupMask = (uint)PermissionMask.None;
private uint _everyoneMask = (uint)PermissionMask.None; private uint _everyoneMask = (uint)PermissionMask.None;
private uint _nextOwnerMask = (uint)PermissionMask.All; private uint _nextOwnerMask = (uint)PermissionMask.All;
private PrimFlags _flags = 0; private PrimFlags _flags = PrimFlags.None;
private DateTime m_expires; private DateTime m_expires;
private DateTime m_rezzed; private DateTime m_rezzed;
private bool m_createSelected = false; private bool m_createSelected = false;
@ -485,10 +495,14 @@ namespace OpenSim.Region.Framework.Scenes
} }
} }
/// <summary>
/// This is idential to the Flags property, except that the returned value is uint rather than PrimFlags
/// </summary>
[Obsolete("Use Flags property instead")]
public uint ObjectFlags public uint ObjectFlags
{ {
get { return (uint)_flags; } get { return (uint)Flags; }
set { _flags = (PrimFlags)value; } set { Flags = (PrimFlags)value; }
} }
public UUID UUID public UUID UUID
@ -1026,7 +1040,11 @@ namespace OpenSim.Region.Framework.Scenes
public bool CreateSelected public bool CreateSelected
{ {
get { return m_createSelected; } get { return m_createSelected; }
set { m_createSelected = value; } set
{
// m_log.DebugFormat("[SOP]: Setting CreateSelected to {0} for {1} {2}", value, Name, UUID);
m_createSelected = value;
}
} }
#endregion #endregion
@ -1194,7 +1212,11 @@ namespace OpenSim.Region.Framework.Scenes
public PrimFlags Flags public PrimFlags Flags
{ {
get { return _flags; } get { return _flags; }
set { _flags = value; } set
{
// m_log.DebugFormat("[SOP]: Setting flags for {0} {1} to {2}", UUID, Name, value);
_flags = value;
}
} }
[XmlIgnore] [XmlIgnore]
@ -1329,7 +1351,7 @@ namespace OpenSim.Region.Framework.Scenes
if ((ObjectFlags & (uint) flag) == 0) if ((ObjectFlags & (uint) flag) == 0)
{ {
//m_log.Debug("Adding flag: " + ((PrimFlags) flag).ToString()); //m_log.Debug("Adding flag: " + ((PrimFlags) flag).ToString());
_flags |= flag; Flags |= flag;
if (flag == PrimFlags.TemporaryOnRez) if (flag == PrimFlags.TemporaryOnRez)
ResetExpire(); ResetExpire();
@ -1554,7 +1576,7 @@ namespace OpenSim.Region.Framework.Scenes
} }
else else
{ {
m_log.DebugFormat("[SPEW]: physics actor is null for {0} with parent {1}", UUID, this.ParentGroup.UUID); m_log.DebugFormat("[SOP]: physics actor is null for {0} with parent {1}", UUID, this.ParentGroup.UUID);
} }
} }
} }
@ -1824,7 +1846,7 @@ namespace OpenSim.Region.Framework.Scenes
/// that's not wholesome. Had to make Scene public /// that's not wholesome. Had to make Scene public
//PhysActor = null; //PhysActor = null;
if ((ObjectFlags & (uint)PrimFlags.Phantom) == 0) if ((Flags & PrimFlags.Phantom) == 0)
{ {
if (UsePhysics) if (UsePhysics)
{ {
@ -1972,11 +1994,13 @@ namespace OpenSim.Region.Framework.Scenes
public uint GetEffectiveObjectFlags() public uint GetEffectiveObjectFlags()
{ {
PrimFlags f = _flags; // Commenting this section of code out since it doesn't actually do anything, as enums are handled by
if (m_parentGroup == null || m_parentGroup.RootPart == this) // value rather than reference
f &= ~(PrimFlags.Touch | PrimFlags.Money); // PrimFlags f = _flags;
// if (m_parentGroup == null || m_parentGroup.RootPart == this)
// f &= ~(PrimFlags.Touch | PrimFlags.Money);
return (uint)_flags | (uint)LocalFlags; return (uint)Flags | (uint)LocalFlags;
} }
public Vector3 GetGeometricCenter() public Vector3 GetGeometricCenter()
@ -2733,10 +2757,10 @@ namespace OpenSim.Region.Framework.Scenes
public void RemFlag(PrimFlags flag) public void RemFlag(PrimFlags flag)
{ {
// PrimFlags prevflag = Flags; // PrimFlags prevflag = Flags;
if ((ObjectFlags & (uint) flag) != 0) if ((Flags & flag) != 0)
{ {
//m_log.Debug("Removing flag: " + ((PrimFlags)flag).ToString()); //m_log.Debug("Removing flag: " + ((PrimFlags)flag).ToString());
_flags &= ~flag; Flags &= ~flag;
} }
//m_log.Debug("prev: " + prevflag.ToString() + " curr: " + Flags.ToString()); //m_log.Debug("prev: " + prevflag.ToString() + " curr: " + Flags.ToString());
//ScheduleFullUpdate(); //ScheduleFullUpdate();
@ -2999,10 +3023,10 @@ namespace OpenSim.Region.Framework.Scenes
if (remoteClient.AgentId == _ownerID) if (remoteClient.AgentId == _ownerID)
{ {
if ((uint) (_flags & PrimFlags.CreateSelected) != 0) if ((Flags & PrimFlags.CreateSelected) != 0)
{ {
clientFlags |= (uint) PrimFlags.CreateSelected; clientFlags |= (uint) PrimFlags.CreateSelected;
_flags &= ~PrimFlags.CreateSelected; Flags &= ~PrimFlags.CreateSelected;
} }
} }
//bool isattachment = IsAttachment; //bool isattachment = IsAttachment;
@ -3308,6 +3332,7 @@ namespace OpenSim.Region.Framework.Scenes
texcolor.B = Util.Clip((float)color.Z, 0.0f, 1.0f); texcolor.B = Util.Clip((float)color.Z, 0.0f, 1.0f);
tex.FaceTextures[face].RGBA = texcolor; tex.FaceTextures[face].RGBA = texcolor;
UpdateTexture(tex); UpdateTexture(tex);
TriggerScriptChangedEvent(Changed.COLOR);
return; return;
} }
else if (face == ALL_SIDES) else if (face == ALL_SIDES)
@ -3329,6 +3354,7 @@ namespace OpenSim.Region.Framework.Scenes
tex.DefaultTexture.RGBA = texcolor; tex.DefaultTexture.RGBA = texcolor;
} }
UpdateTexture(tex); UpdateTexture(tex);
TriggerScriptChangedEvent(Changed.COLOR);
return; return;
} }
} }

View File

@ -3560,11 +3560,6 @@ namespace OpenSim.Region.Framework.Scenes
} }
} }
public override void SetText(string text, Vector3 color, double alpha)
{
throw new Exception("Can't set Text on avatar.");
}
/// <summary> /// <summary>
/// Adds a physical representation of the avatar to the Physics plugin /// Adds a physical representation of the avatar to the Physics plugin
/// </summary> /// </summary>

View File

@ -48,24 +48,42 @@ namespace OpenSim.Region.Framework.Scenes.Tests
TestHelper.InMethod(); TestHelper.InMethod();
Scene scene = SceneSetupHelpers.SetupScene(); Scene scene = SceneSetupHelpers.SetupScene();
UUID ownerUuid = new UUID("00000000-0000-0000-0000-000000000010"); UUID ownerId = new UUID("00000000-0000-0000-0000-000000000010");
string objName = "obj1"; string part1Name = "part1";
UUID objUuid = new UUID("00000000-0000-0000-0000-000000000001"); UUID part1Id = new UUID("00000000-0000-0000-0000-000000000001");
string part2Name = "part2";
UUID part2Id = new UUID("00000000-0000-0000-0000-000000000002");
SceneObjectPart part SceneObjectPart part1
= new SceneObjectPart(ownerUuid, PrimitiveBaseShape.Default, Vector3.Zero, Quaternion.Identity, Vector3.Zero) = new SceneObjectPart(ownerId, PrimitiveBaseShape.Default, Vector3.Zero, Quaternion.Identity, Vector3.Zero)
{ Name = objName, UUID = objUuid }; { Name = part1Name, UUID = part1Id };
SceneObjectGroup so = new SceneObjectGroup(part1);
SceneObjectPart part2
= new SceneObjectPart(ownerId, PrimitiveBaseShape.Default, Vector3.Zero, Quaternion.Identity, Vector3.Zero)
{ Name = part2Name, UUID = part2Id };
so.AddPart(part2);
scene.AddNewSceneObject(new SceneObjectGroup(part), false); scene.AddNewSceneObject(so, false);
SceneObjectGroup duplicatedSo SceneObjectGroup dupeSo
= scene.SceneGraph.DuplicateObject( = scene.SceneGraph.DuplicateObject(
part.LocalId, new Vector3(10, 0, 0), 0, ownerUuid, UUID.Zero, Quaternion.Identity); part1.LocalId, new Vector3(10, 0, 0), 0, ownerId, UUID.Zero, Quaternion.Identity);
Assert.That(dupeSo.Children.Count, Is.EqualTo(2));
Assert.That(duplicatedSo.Children.Count, Is.EqualTo(1)); SceneObjectPart dupePart1 = dupeSo.GetLinkNumPart(1);
Assert.That(duplicatedSo.RootPart.LocalId, Is.Not.EqualTo(part.LocalId)); SceneObjectPart dupePart2 = dupeSo.GetLinkNumPart(2);
Assert.That(dupePart1.LocalId, Is.Not.EqualTo(part1.LocalId));
Assert.That(dupePart2.LocalId, Is.Not.EqualTo(part2.LocalId));
//SceneObjectPart retrievedPart = scene.GetSceneObjectPart(objUuid); Assert.That(dupePart1.Flags, Is.EqualTo(part1.Flags));
Assert.That(dupePart2.Flags, Is.EqualTo(part2.Flags));
/*
Assert.That(part1.PhysActor, Is.Not.Null);
Assert.That(part2.PhysActor, Is.Not.Null);
Assert.That(dupePart1.PhysActor, Is.Not.Null);
Assert.That(dupePart2.PhysActor, Is.Not.Null);
*/
} }
} }
} }

View File

@ -247,21 +247,8 @@ namespace OpenSim.Services.GridService
} }
regInfo.RegionID = regionID; regInfo.RegionID = regionID;
Uri uri = null; if (regInfo.RegionName == string.Empty)
try regInfo.RegionName = regInfo.ExternalHostName;
{
uri = new Uri(externalName);
regInfo.ExternalHostName = uri.Host;
regInfo.HttpPort = (uint)uri.Port;
}
catch
{
m_log.WarnFormat("[HYPERGRID LINKER]: Remote Gatekeeper at {0} provided malformed ExternalName {1}", regInfo.ExternalHostName, externalName);
}
string name = regInfo.RegionName;
regInfo.RegionName = regInfo.ExternalHostName + ":" + regInfo.HttpPort;
if (name != string.Empty)
regInfo.RegionName += ":" + name;
// Try get the map image // Try get the map image
//regInfo.TerrainImage = m_GatekeeperConnector.GetMapImage(regionID, imageURL); //regInfo.TerrainImage = m_GatekeeperConnector.GetMapImage(regionID, imageURL);
@ -384,8 +371,6 @@ namespace OpenSim.Services.GridService
private void AddHyperlinkRegion(GridRegion regionInfo, ulong regionHandle) private void AddHyperlinkRegion(GridRegion regionInfo, ulong regionHandle)
{ {
//m_HyperlinkRegions[regionInfo.RegionID] = regionInfo;
//m_HyperlinkHandles[regionInfo.RegionID] = regionHandle;
RegionData rdata = m_GridService.RegionInfo2RegionData(regionInfo); RegionData rdata = m_GridService.RegionInfo2RegionData(regionInfo);
int flags = (int)OpenSim.Data.RegionFlags.Hyperlink + (int)OpenSim.Data.RegionFlags.NoDirectLogin + (int)OpenSim.Data.RegionFlags.RegionOnline; int flags = (int)OpenSim.Data.RegionFlags.Hyperlink + (int)OpenSim.Data.RegionFlags.NoDirectLogin + (int)OpenSim.Data.RegionFlags.RegionOnline;
@ -397,12 +382,6 @@ namespace OpenSim.Services.GridService
private void RemoveHyperlinkRegion(UUID regionID) private void RemoveHyperlinkRegion(UUID regionID)
{ {
//// Try the hyperlink collection
//if (m_HyperlinkRegions.ContainsKey(regionID))
//{
// m_HyperlinkRegions.Remove(regionID);
// m_HyperlinkHandles.Remove(regionID);
//}
m_Database.Delete(regionID); m_Database.Delete(regionID);
} }